• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1332946
審判番号 不服2016-13546  
総通号数 215 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2017-11-24 
種別 拒絶査定不服の審決 
審判請求日 2016-09-09 
確定日 2017-10-23 
事件の表示 特願2014-150573「階層型の超長命令パケットを処理するシステムおよび方法」拒絶査定不服審判事件〔平成26年12月18日出願公開,特開2014-238859,請求項の数(20)〕について,次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は,特許すべきものとする。 
理由 第1 手続の経緯
本願は,平成23年3月2日(パリ条約による優先権主張外国庁受理2010年3月3日(以下,「優先日」という。),US)を国際出願日とする特願2012-556202号の一部を,特許法第44条第1項の規定により,平成26年7月24日に新たな特許出願としたものであって,平成27年5月29日付けで拒絶理由が通知され,平成27年12月4日付けで意見書が提出されると共に手続補正がなされ,平成28年4月22日付けで拒絶査定(原査定)がなされ,これに対し,平成28年9月9日付けで拒絶査定不服審判が請求されると同時に手続補正がなされ,平成28年12月8日付けで審査官により特許法第164条第3項の規定に基づく報告がされたものである。

第2 原査定の概要
原査定(平成28年4月22日付け拒絶査定)の概要は次のとおりである。
『1.(進歩性)この出願の下記の請求項に係る発明は,その出願前に日本国内又は外国において,頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない。
2.(明確性)この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第2号に規定する要件を満たしていない。
3.(サポート要件)この出願は,特許請求の範囲の記載が下記の点で,特許法第36条第6項第1号に規定する要件を満たしていない。

・請求項 1-11,13-20,22
・引用文献等 1,2,4,5

引用文献等一覧
1.米国特許出願公開第2006/0259740号明細書
2.特開平10-222368号公報
3.特表2009-536769号公報
4.特表2002-533815号公報
5.特開平3-147021号公報』

第3 審判請求時の補正について
審判請求時の補正は,原査定において理由2(明確性)および理由3(サポート要件)の指摘を受けた請求項12および請求項21を削除するものであり,特許請求の範囲の削除を目的とするものである。
したがって,特許法第17条の2第3項から第6項までの要件に違反しているとはいえない。

第4 本願発明
本願の請求項1-20に係る発明(以下,それぞれ「本願発明1」-「本願発明20」という。)は,平成28年9月9日付けの手続補正により補正された特許請求の範囲の請求項1-20に記載された事項により特定される発明であり,本願発明1は以下のとおりの発明である。

「命令を処理する方法であって,
前記方法が,
命令を含むパケットを受信するステップと,
前記命令に含まれる解析インジケータに基づいて,前記命令が第1のサブパケットを含むかどうかを決定するために前記命令を復号するステップとを含み,前記第1のサブパケットが複数のサブ命令を含み,前記命令が前記第1のサブパケットを含む場合,前記命令が第1のサブ命令および第2のサブ命令を含み,前記第1のサブ命令が第1のサブ・サブパケットを含む場合,前記第1のサブ・サブパケットが複数のサブ・サブ命令を含み,
前記方法が,
前記命令が前記サブパケットを含むとの決定に応答して,前記サブ命令の各々を実行するステップを含む方法。」

なお,
本願発明2-10は,本願発明1を減縮した発明である。
本願発明11は,本願発明1の「受信するステップ」「復号するステップ」「実行するステップ」をそれぞれ「転送するステップ」「識別するステップ」「転送するステップ」に置き換えた発明である。
本願発明12-14は,本願発明11を減縮した発明である。
本願発明15は,本願発明1に対応するプロセッサの発明である。
本願発明16-20は,本願発明15を減縮した発明である。

第4 引用文献,引用発明等
1.引用文献1
本願の優先日前に既に頒布又は電気通信回線を通じて公衆に利用可能となり,原審拒絶理由で引用された文献である,米国特許出願公開第2006/0259740号明細書(以下,「引用文献1」という。)には,関連する図面と共に次の事項が記載されている。(当審注:下線は,参考のため当審が付与した。以下同様。)

A.「[0053] FIG. 10 illustrates another example fetch packet according to this invention. The fetch packet of FIG. 10 includes header 1001 and seven instruction slots 1010 , 1020 , 1030 , 1040 , 1050 , 1060 and 1070 . Four of these instruction slots are divided into two instructions each. Instruction slot 1010 includes instructions I 0 1011 and I 1 1012 . Instruction slot 1020 includes instruction I 2 . Instruction slot 1030 includes instructions I 3 1031 and I 4 1032 . Instruction slot 1040 includes instruction I 5 . Instruction slot 1050 includes instructions I 6 1051 and I 7 1052 . Instruction slot 1060 includes instructions I 8 1061 and I 9 1062 . Instruction slot 1070 includes instruction I 10 .
[0054] FIG. 11 illustrates header 1001 illustrated in FIG. 10 . Header 1001 includes head code 1110 , which must permit header 1001 to be uniquely identified. Header 1001 includes d bits field 1120 . The d bit field 1120 includes seven bits 6 to 0 . Each bit within the d bit field 1120 indicates whether the corresponding instruction slot 1010 , 1020 , 1030 , 1040 , 1050 and 1060 is decoded as one normal length instruction or as a pair of half-length instructions. In the preferred embodiment a "0" in corresponding d bit indicates a single normal length instruction, while a "1" indicates a pair of half-length instructions. Thus to encode the instructions illustrated in FIG. 10 , d bit field 1120 is "1010110". This technique permits mixing normal length and reduced length instructions in the same fetch packet. This mixing does not require any mode switching overhead as required by the prior art. 」
(当審訳:[0053]図10はこの発明によるもう一つのフェッチパケットを説明する。図10のフェッチパケットはヘッダ1001と7つの命令スロット1010,1020,1030,1040,1050,1060と1070を含みます。これら命令スロットの4つはそれぞれ2つの命令に分けられます。命令スロット1010は命令I01011とI11012を含みます。命令スロット1020は命令I2を含みます。命令スロット1030は命令I31031とI41032を含みます。命令スロット1040は命令I5を含みます。命令スロット1050は命令I61051とI71052を含みます。命令スロット1060は命令I81061とI91062を含みます。命令スロット1070は命令I10を含みます。
[0054]図11は図10で説明したヘッダ1001を説明する。ヘッダ1001はヘッダ1001が独自に識別されるのを許さなくてはならないヘッドコード1110を含みます。ヘッダ1001はdビットフィールド1120を含みます。dビットフィールド1120は7ビットの6から0を含みます。dビットフィールドの中のそれぞれのビットは対応する命令スロット1010,1020,1030,1040,1050と1060が一対の半分の長さの命令としてか,又は,一つの通常の長さの命令として復号されたかどうかを示している。望ましい具体化として“0”と一致するdビットは一つの通常の長さの命令を示す,と同時に“1”は1対の半分の長さの命令を示します。このように図10で説明した符号にするために,dビットフィールドは“1010110”となります。この技術は通常の長さと減少した長さの命令を同じフェッチパケットに混ぜることを許します。この混合は従来技術によって必要とされるようにオーバーヘッドを切り換える形態を必要としません。)

B.「[0055]These half-length instructions must be coded to determine execute packets and the data path to execute the instruction. In one embodiment, half-length instructions also include the p and s bits like normal length instructions as described in conjunction with FIG. 4. These bits are decoded in the same manner as previously described except that the p and s bits of the first instruction in a pair of half-length instructions in an instruction slot are located in a different position within the instruction slot. In the preferred embodiment normal length instructions are 32 bits and half-length instructions are 16 bits. Including p bits and s bits within these instructions reduces the number of bits available for operand selection and instruction encoding. FIG. 11 illustrates an alternative embodiment that removes these bits from half-length instructions. FIG. 11 illustrates p bits field 1130 and s bits field 1140 . The p bits field 1130 includes seven bits 13 to 7. Each bit corresponds to one of instruction slots 1010 to 1060. If the corresponding bit within d bit field 1120 indicates half-length instructions, then a corresponding bit within p bit field 1130 indicates the execute packet for the pair of instructions within the instruction slot. Similarly, s bit field 1140 includes seven bits 20 to 14. If the corresponding bit within d bit field 1120 indicates half-length instructions, then a corresponding bit within s bit field 1140 indicates the data path for the pair of instructions within the instruction slot. This alternative coding requires that the two half-length instructions within a single instruction slot be included in the same execute packet and execute in the same data path. Thus this alternative trades compiler scheduling flexibility for opcode bits.
(当審訳:[0055]半分の長さの命令は命令を実行するためのパケットやデータパスを決定するために符号化されているに違いない。一つの具体例では,図4と関連して記述されるように通常の長さの命令のようにpやsビットをもまた含みます。これらのビットは命令スロットの中の異なる位置に備えられた命令スロットにある一対の半分の長さの命令にある最初の命令のpとsビットを除いて,以前に記述されたのと同じ方法で復号化される。望ましい具体例では通常の長さの命令は32ビットである,そして半分の長さの命令は16ビットである。これらの命令の中にpビットやsビットを含めることはオペランド選択や命令符号化のための利用可能なビット数を減らします。図11は半分の長さの命令からこれらのビットを取り除く他の具体例を例証します。図11はpビットフィールド1130とsビットフィールド1140を例証します。pビットフィールドは7つのビット13から7を含みます。それぞれのビットは命令スロット1010から1060に対応します。もしdビットフィールド1120の中にある対応するビットが半分の長さの命令を示すなら,pビットフィールド1130の中にある対応するビットは命令スロットの中にある一対の命令のための実行パケットを示します。同様に,sビットフィールド1140は7つのビット20から14を含みます。もしdビットフィールド1120の中にある対応するビットが半分の長さの命令を示すなら,sビット1140の中にある対応するビットは命令スロットの中にある一つの命令のデータパスを示します。この代わりの符号化は単一の命令スロットの中にある2つの半分の長さの命令は同じ実行パケットに含まれて同じデータパスで実行する。そこでこの選択肢はコンパイラスケジューリングの柔軟性をオペコードと交換します。)」

C.「[0056] FIG. 12 illustrates part of digital signal processor integrated circuit 200 of FIG. 2 showing how the instructions of this invention can be decoded. A fetch packet of 8 consecutive instructions comes from program fetch unit 10 . Two consecutive fetch packets are stored in corresponding instruction buffers 1210 , 1211 , 1212 , 1213 , 1214 , 1215 , 1216 and 1217 for one fetch packet and corresponding instruction buffers 1230 , 1231 , 1232 , 1233 , 1234 , 1235 , 1236 and 1237 for the other fetch packet. According to this example, the header must be in the first instruction slot and thus will always be stored in instruction buffer 1210 or in instruction buffer 1230 if present. Decoder 1220 compares the instruction stored in instruction buffer 1210 to detect a unique head code within this instruction buffer. If decoder 1220 detects a unique head code marking the instruction, then it generates signals on lines 1221 and 1223 to switch 1250 . The signal on lines 1221 are control signals. These may correspond to bits within mode field 902 indicating normal or special decoding of a corresponding instruction. These may correspond to the normal length/half-length indicator of d bit field 1120 . These two types of information will be handled differently as will be explained below in conjunction with the description of switch 1230 . The signals on lines 1223 are the extension bits Ex 0, Ex 1 , Ex 2 , Ex 3 , Ex 4 , Ex 5 and Ex 6 as illustrated in FIGS. 7 to 9 . Decoder 1224 operates similarly in relation to any header stored in instruction buffer 1230 . If decoder 1240 detects a header, then it generates control signals on lines 1241 and data signals on 1243 to switch1230 .」
(当審訳:[0056]図12はこの発明の命令がどのように復号できるかを示した図2のデジタル信号プロセッサ集積回路200を例証します。8連続した命令のフェッチパケットはフェッチユニット10から来ます。2連続したフェッチパケットは一つのフェッチパケットに対応する命令バッファ1210,1211,1212,1213,1214,1215,1216と1217に格納され,そして他のフェッチパケットに命令バッファ1230,1231,1232,1233,1234,1235,1236と1237が対応する。この例によれば,ヘッダは最初の命令スロットにあるに違いなく,もし存在しているなら,命令バッファ1210か命令バッファ1230に常に記録されるであろう。復号器1220はこの命令バッファの中から検出する特有のヘッドコードと命令バッファに格納された命令とを比較する。もし復号器1220が命令にマーキングされている特有のヘッドコードを検出するなら,列1221と1223上にスイッチ1250への信号を生成します。列1221上の信号は制御信号です。これらはモードフィールド902の中にある普通であるか命令に対応する特別の復号化であるかを示すビットと対応しても良い。これらはdビットフィールド1120の通常の長さ/半分の長さの指標と対応させても良い。命令のこれら2つのタイプはスイッチ1230の記述と連結した下で説明されたように異なって処理されるであろう。列1223上の信号は図7?9で例証したように拡張ビットEx0,Ex1,Ex2,Ex3,Ex4,Ex5とEx6です。復号器1223は命令バッファ1230に記録されたヘッダと関連して同様に稼働します。もし復号器1240がヘッダを検知したら,列1241上の制御信号とスイッチ1230への1243上のデータ信号を生成します。」

2.引用文献2
(1)本願の優先日前に既に頒布又は電気通信回線を通じて公衆に利用可能となり,原審拒絶理由で引用された文献である,特開平10-222368号公報(以下,「引用文献2」という。)には,関連する図面と共に次の事項が記載されている。

D.「【0041】命令セットとレジスタ
図2は,図1に示したVLIWマイクロプロセッサで用いられる命令フォーマットを示す説明図であり,図において,101は1つの命令で2つの演算を指示する2副命令のフォーマット,102は1つの命令で1つの演算を指示する1演算命令のフォーマットである。
【0042】2副命令のフォーマット101にはフィールド103とフィールド104からなるフォーマットフィールド,2つの演算フィールド106,107及び各演算フィールドに1つずつ付属する実行条件フィールド105がある。1演算命令のフォーマット102にはフィールド103とフィールド104からなるフォーマットフィールド,フィールド108とフィールド109とフィールド110とからなる演算フィールド及びこの演算フィールドに付属する実行条件フィールド105がある。
【0043】図3は,図2に示したフィールド103と104からなるフォーマットフィールド(FM)の詳細を示す説明図であり,図において,FM=00の場合,この命令は2演算命令であり,演算フィールド106で指示されたoperation_0 の演算と演算フィールド107で指示されたoperation_1 の演算が,デコード直後のクロックサイクルで並列に実行される。
【0044】フォーマットフィールドの値がFM=01の場合,この命令は2演算命令であり,演算フィールド106で指示されたoperation_0 の演算がデコード直後のクロックサイクルに実行され,演算フィールド107で指示されたoperation_1 の演算がoperation_0 の演算に対して1クロックサイクル遅れて実行される。
【0045】フォーマットフィールドの値がFM=10の場合,この命令は2演算命令であり,演算フィールド107で指示されたoperation_1 の演算がデコード直後のクロックサイクルに実行され,演算フィールド106で指示されたoperation_0 の演算がoperation_1 の演算に対して1クロックサイクル遅れて実行される。
【0046】FM=11の場合,この命令は1演算命令であり,フィールド108,109,110からなる演算フィールドで指示された1つの演算がデコード直後のクロックサイクルで実行される。」

(2)引用文献2に記載された事項
上記Dの記載から,引用文献2には以下の技術的事項が記載されているといえる。
「VLIWマイクロプロセッサで用いられる命令フォーマットにおいて,1演算命令か,2演算命令かを示すフォーマットフィールド(103,104)を含み,フォーマットフィールド(FM=00)が2演算命令を示すの場合,2つの演算がデコード直後のクロックサイクルで並列に実行され,フォーマットフィールド(FM=11)が1演算命令を示す場合,複数の演算の1つの演算がデコード直後のクロックサイクルで実行される」

3.引用文献3
本願の優先日前に既に頒布又は電気通信回線を通じて公衆に利用可能となり,原審拒絶理由で引用された文献である,特表2002-533815号公報(以下,「引用文献3」という。)には,関連する図面と共に次の事項が記載されている。

E.「【0011】
図1Bは,本発明によるManArrayスケーラブル命令セット・フォーマット10と,12A及び12Bと,14A,14B,及び14Cと,16A,16B,16C,16D及び16Eとを示す。図1Bにおいて,階層型ビットフィールド11,13.15及び17は,以下の通りである。
【0012】
・16ビット命令(10),1ビットフィールド(11)
・32ビット命令(12A及び12B),2ビットフィールド(13)
・48ビット命令(14A,14B及び14C),3ビットフィールド(15)
・64ビット命令(16A,16B,16C,16D及び16E),4ビットフィールド(17)
階層型ビットフィールドは,命令フォーマット及び命令フォーマットの混合を定義し,命令の機能性に関する追加の情報を搬送する。これらは,単にタグフィールドではなく,各既存フォーマット内の基本命令タイプのオペコードの一部として使用される。例えば,現在のところ好ましい実施の形態では,16ビット命令セットアーキテクチャで使用される,命令フォーマット10中の単一ビットフィールド11は,2つのタイプの命令,即ち,間接超長命令語(iVLIW)及び制御命令を含む第1タイプと,算術及びロード/ストア命令を含む第2タイプとの間の区別を示す。32ビット命令12A及び12Bの好ましい実施の形態では,2ビット階層型ビットフィールド13は,異なるプラグ可能な1群の命令を表すタイプ1命令と,A,B,Cという符号を付けた3つの主要なタイプの命令からなるタイプ2命令との間の区別を示している。プラグ可能な1群の命令の内の1つは,2つの15ビット命令を,32ビット命令12Aによって許される30ビットフィールド中にパックすることを含むことが好ましい。タイプ2-A命令は,iVLIW及び制御オペコードを含むことが好ましく,タイプ2-B命令は,算術オペコードを含むことが好ましく,タイプ2-C命令は,ロード/ストアオペコードを含むことが好ましい。
【0013】
フル・プロセッサ・アーキテクチャは,プラグ可能タイプ1命令を特定のアプリケーション使用のためのプロセッサの機能を改善するために使用することを可能にするタイプ2命令で定義することができる。タイプによって命令を分割する能力は,非常に有利である。
【0014】
図1Bに示す例示的命令12A及び12Bでは,2ビット階層型フィールド13は,2つの命令フォーマット(タイプ1の2つの15ビット命令フォーマット及びタイプ2の30ビット命令フォーマット)を識別し,タイプ2の30ビットフォーマット内の3つの機能グループ化をさらに識別する。命令フォーマット14A,14B及び14Cと,命令フォーマット16A,16B,16C,16D及び16Eとを使用して,8及び16通りのタイプの変化が,階層型ビット15及び17によってそれぞれ可能である。例示的命令フォーマット14Aでは,3つのタイプ1のフォーマット命令が45ビットフィールドにパックされる。命令14Bでは,タイプ2の命令,即ち,A,B,Cという符号をつけた3つのタイプの命令のうちの1つが,タイプ1命令と共に,45ビットフィールドにパックされる。命令14Cでは,A,B,C及びDという符号をつけた4つの機能命令グループで,全ての45ビットを使用してタイプ3命令が定義される。命令のオペレーションの実際の定義は,まず階層ビットに基づき,次いで図1Bに示す15,30,45及び60ビットの減少した命令フィールドに基づいて階層的に指定される。16ビット命令10については,1つの階層ビットが使用され,特定のオペレーションを15ビットフィールド内に定義しなければならない。32ビット命令12A及び12Bについては,2つの階層ビットが使用され,特定のオペレーションが30ビットフィールド内に定義される。より大きい48ビット及び64ビットフォーマットでは,3つ及び4つの階層ビットがそれぞれ使用され,特定のオペレーションが45及び60ビットフィールド内にそれぞれ定義される。
【0015】
1ビット或いは複数ビットがビットフィールド内の特定の配置で示されているが,階層ビットは,特定の実装に最も適する,ビットフィールド内の別の場所に配置されてもよい。3ビットの階層フィールド15の第1ビットが「0」の場合にタイプ1の14A,又はタイプ2-A,B,Cの14Bを表すことになる48ビットフォーマット14A,14B及び14Cのように,階層ビットをビットエンコードすることがさらに可能である。一方,この第1ビットが「1」である場合は,命令タイプ3-A,B,C及びD,即ち,タイプ14Cの命令が指定されることになる。階層フィールドビット内のビットエンコーディングのこの例は,命令を表す48ビットフィールド内の3ビットフィールドの第1ビットが,他の2ビットから分離できることをさらに示している。好ましい実施の形態では,図示する通り,階層ビットがグループで配置される。
【0016】
図1Bでは,追加された単一ビットフィールドであるビット99が,アレイ制御プロセッサ命令と,処理要素(PE)のアレイに対する命令とを区別するために,このアーキテクチャの好ましい実施の形態で使用される。特定の命令,例えば分岐命令をアレイ上で実行することができない場合,そのビットはコントローラの状態に固定される。この制御とPE命令との間のこの区別は,特定の命令だけがアレイ処理にアクセスできるようにする,特定の命令タイプ内の特定のビットエンコーディングによって行うこともできる。この実施形態では,シンプレックス命令が制御プロセッサ上で実行されるとき,シンプレックスPE命令は実行中ではない。シンプレックスPE命令が実行中のとき,制御プロセッサ・シンプレックス命令は実行中ではない。シンプレックス命令は,16ビット,32ビット,48ビット又は64ビットタイプの非iVLIW命令である。アレイ処理要素iVLIW設計を有するマージされたアレイコントローラでは,コントローラ命令は,混合命令を区別するために使用されるビット99を使用して,同じiVLIW中のPE命令と混合することができる。プロセッサ要素のアレイが製品のファミリで使用されない場合,ビット99は必要ではない。例えば,16ビット単一プロセッサは,ビット99なしの図1Bのフォーマット10を使用することができ,全階層内に適合する16ビットiVLIWプロセッサを容易に作成することが可能となるが,それをアレイプロセッサ機能を含むようには決して拡張しない。
(中略)
【0022】
好ましい第1の形式をManArrayアーキテクチャと共に使用するための更なる詳細が,図2A及び図2Bに示されている。図2Aは,どのように32ビット命令語201内の位置で順次実行順序を指定することができるかを示し,図2Bは,形式1のコンパクト化命令の例示的グループ化を示す。同様に,図6は,どのようにして,32ビット命令語601内の位置で順次実行順序を指定することができるかを示し,図6Aは,第2の形式のコンパクト化命令の例示的グループ化を示す。図2Aの201及び図6ではどちらも,それぞれ図示する通り32ビット命令201又は601ごとに,2つの15ビット命令をパックすることができる。これらのコンパクト化命令が命令セット中に階層式に組み込まれるので,命令201及び601のビット30及びビット31に対応する,図1Bに示す命令12Aに対する2つの高位ビット13のために,コンパクト化命令又は任意の他の命令を実行する間にモード変更の必要はない。コンパクト化命令は,プロセッサ中の任意の他の命令とシームレスに混合することができる。この手法により,強力であるが,主にデータ転送及び通信用の1組の共通サポートルーチンと共に,コンパクト化命令からなる非常に小型のオンチップ・プログラム・カーネルが可能となる。」

(2)引用文献3に記載された事項
上記Eの記載から,引用文献3には以下の技術的事項が記載されているといえる。
「32ビット命令は2ビットの階層型ビットフィールドを含み,2つの15ビット命令をパックすることができ,コンパクト化命令が命令セット中に階層式に組み込むことができ,64ビット命令は4ビットの階層型ビットフィールドを含み,階層型ビットは,命令フォーマット,タイプ,機能グループを識別し,特定の実装に最も適する場所に配置することができる」

4.引用文献4
本願の優先日前に既に頒布又は電気通信回線を通じて公衆に利用可能とな
り,原審拒絶理由で引用された文献である,特開平3-147021号公報(以下,「引用文献4」という。)には,関連する図面と共に次の事項が記載されている。

F.「第1図(A)?(D)は本発明方式の命令形式の各実施例を示す。
第1図(A)に示す第1の形式の大命令語は64ビット構成で,ビット0?3のタイプコードTypeと,ビット4?23,24?43,44?63夫々の形式Aの3つの命令語よりなる。ビット4?23の形式Aの命令語は5ビットの命令コードOPaと,オペランド指定部としての5ビットの第1レジスタ指定フィールドRa1,及び5ビットの第2レジスタ指定フィールドRa2,及び5ビットの第3レジスタ指定フィールドRa3とより構成されており,第1レジスタ指定フィールドRa1の指定するレジスタの内容を第2レジスタ指定フィールドRa2の指定するレジスタの内容とを演算して第3レジスタ指定フィールドRa3の指定するレジスタに格納することを指示する。ビット24?43の形式Aの命令語は5ビットの命令コードOPbに対応して,オペランド指定部としての5ビットの第1レジスタ指定フィールドRb1,及び5ビットの第2レジスタ指定フィールドRb2,及び5ビットの第3レジスタ指定フィールドRb3とより構成されており,第1レジスタ指定フィールドRb1の指定するレジスタの内容を第2レジスタ指定フィールドRb2の指定するレジスタの内容とを演算して第3レジスタ指定フィールドRb3の指定するレジスタに格納することを指示する。
ビット44?63の形式Aの命令語は5ビットの命令コードOPcに対応して,オペランド指定部としての5ビットの第1レジスタ指定フィールドRc1,及び5ビットの第2レジスタ指定フィールドRc2,及び5ビットの第3レジスタ指定フィールドRc3とより構成されており,第1レジスタ指定フィールドRc1の指定するレジスタの内容を第2レジスタ指定フィールドRc2の指定するレジスタの内容とを演算して第3レジスタ指定フィールドRc3の指定するレジスタに格納することを指示する。演算の種類は4ビットのタイプコードTypeと5ビットの命令コードOPa,OPb,OPcとの組合せによって指定され,これは後述する形式B,C,Dについても同様である。
第1図(B)に示す第2の形式の大命令語は64ビット構成で,ビット0?3のタイプコードTypeと,ビット4?23の形式Aの命令語と,ビット24?63の形式Bの命令語よりなる。形式Aの命令語はタイプコードTypeと5ビットの命令コードOPaとに応じて5ビットの第1レジスタ指定フィールドRa1の指定するレジスタの内容を5ビットの第2レジスタ指定フィールドRa2の指定するレジスタの内容とを演算して5ビットの第3レジスタ指定フィールドRa3の指定するレジスタに格納することを指示する。形式Bの命令語はビット24?28の命令コードOPbが演算命令の場合にビット29?33の第1レジスタ指定フィールドRb1の指定レジスタの内容とビット34?58の即値データIMM25とを演算してビット59?63の第3レジスタ指定フィールドRb3の指定レジスタに格納し,ロード命令の場合にRb1のレジスタの内容であるアドレスとIMM25として与えられた変位とを加算して得られるメモリ上のアドレスのデータをRb3の指定レジスタに格納することを指示する。
第1図(C)に示す第3の形式の大命令語は64ビット構成で,ビット0?3のタイプコードTypeと,ビット4?23の形式Aの命令語と,ビット24?63の形式Cの命令語とよりなる。形式Aの命令語はタイプコードTypeと5ビットの命令コードOPaとに応じて5ビットの第1レジスタ指定フィールドRa1の指定するレジスタの内容を5ビットの第2レジスタ指定フィールドRa2の指定するレジスタの内容とを演算して5ビットの第3レジスタ指定フィールドRa3の指定するレジスタに格納することを指示する。形式Cの命令語はタイプコードTypeと,ビット24?26の命令コードOPbとに応じてビット27?58の即値データIMM32をビット59?63の第3レジスタ指定フィールドRb3の指定レジスタに格納することを指示する。
第1図(D)に示す第4の形式の大命令語は64ビット構成で,ビット0?3のタイプコードTypeと,ビット4?63の形式Dの60ビットの命令語で構成されている。形式Dの命令語はタイプコードTypeとビット4?8の命令コードOPaに応じてビット9?40の即値データIMM32をビット59?63の第3レジスタ指定フィールドRa3の指定レジスタに格納することを指示している。
上記の形式A?DはタイプコードTypeの値によって区別される。」
(3頁右下4行目?4頁右下15行目)

(2)引用文献4に記載された事項
上記Fの記載から,引用文献4には以下の技術的事項が記載されているといえる。
「64ビットからなる大命令語に,4ビットのタイプコードを含め,タイプコードの値によって,形式A(20ビット)の3つの命令語によりなる第1の形式と,形式A(20ビット)と形式B(40ビット)の命令語からなる第2の形式と,形式A(20ビット)と形式C(40ビット)からなる第3の形式と,形式D(60ビット)の命令からなる第4の形式を区別する。」

5.引用発明
あ.上記Cには「FIG. 12 illustrates part of digital signal processor integrated circuit 200 of FIG. 2 showing how the instructions of this invention can be decoded. (図12はこの発明の命令がどのように復号できるかを示した図2のデジタル信号プロセッサ集積回路200を例証します)」の旨が記載されていることから,引用文献1には,“命令を復号(処理)する方法”について,“デジタル信号プロセッサ集積回路”を例証して記載されているといえる。

い.上記Cには「A fetch packet of 8 consecutive instructions comes from program fetch unit 10(8連続した命令のフェッチパケットはフェッチユニット10から来ます)」の旨が記載されていることから,引用文献1には“フェッチユニットから8連続した命令のフェッチパケットが来るステップ”が記載されているといえる。

う.上記Cには「Two consecutive fetch packets are stored in corresponding instruction buffers 1210 , 1211 , 1212 , 1213 , 1214 , 1215 , 1216 and 1217 for one fetch packet and corresponding instruction buffers 1230 , 1231 , 1232 , 1233 , 1234 , 1235 , 1236 and 1237 for the other fetch packet.(2連続したフェッチパケットは一つのフェッチパケットに対応する命令バッファ1210,1211,1212,1213,1214,1215,1216と1217に格納され,そして他のフェッチパケットに命令バッファ1230,1231,1232,1233,1234,1235,1236と1237が対応する)」の旨が記載されていることから,引用文献1には“フェッチパケットを対応する命令バッファに格納するステップ”が記載されているといえる。

え.上記Cには「Decoder 1220 compares the instruction stored in instruction buffer 1210 to detect a unique head code within this instruction buffer.(復号器1220はこの命令バッファの中から検出する特有のヘッドコードと命令バッファに格納された命令とを比較する。)」の旨が記載され,同じく上記Cには「These may correspond to the normal length/half-length indicator of d bit field 1120 .(これらはdビットフィールドの通常の長さ/半分の長さの指標と対応させても良い。)」の旨が記載されていることから,復号器がヘッドコードと命令を比較し,dビットフィールドの指標と対応させる機能は,復号するステップといえることから,引用文献1には“命令バッファの中から検出するヘッドコードと命令バッファに格納された命令を復号器が比較し,dビットフィールド(通常の長さ/半分の長さ)の指標に対応させて,対応する命令を復号するステップ”が記載されているといえる。

お.上記Aには「Each bit within the d bit field 1120 indicates whether the corresponding instruction slot 1010 , 1020 , 1030 , 1040 , 1050 and 1060 is decoded as one normal length instruction or as a pair of half-length instructions. (dビットフィールドの中のそれぞれのビットは対応する命令スロット1010,1020,1030,1040,1050と1060が一対の半分の長さの命令としてか,又は,一つの通常の長さの命令として復号されたかどうかを示している。)」の旨が記載されていることから,引用文献1には“dビットフィールドのビットに対応する命令スロットが1対の半分の長さの命令として復号されるか,一つの通常の長さの命令として復号されるかを示すステップ”が記載されているといえる。

か.上記Bには「the two half-length instructions within a single instruction slot be included in the same execute packet and execute in the same data path. (単一の命令スロットの中にある2つの半分の長さの命令は同じ実行パケットに含まれて同じデータパスで実行する。)」の旨が記載されていることから,引用文献1には“単一の命令スロットの中にある2つの半分の長さの命令は同じ実行パケットに含まれ同じデータパスで実行するステップ”が記載されているといえる。

き.上記あ.?か.の検討より,引用文献1には以下の発明(以下,「引用発明」という。)が記載されているといえる。

「命令を復号(処理)する方法であって,
フェッチユニットから8連続した命令のフェッチパケットが来るステップと,
フェッチパケットを対応する命令バッファに格納するステップと,
命令バッファの中から検出するヘッドコードと命令バッファに格納された命令を復号器が比較し,dビットフィールド(通常の長さ/半分の長さ)の指標に対応させて,対応する命令を復号するステップと,
dビットフィールドのビットに対応する命令スロットが1対の半分の長さの命令として復号されるか,一つの通常の長さの命令として復号されるかを示すステップと,
単一の命令スロットの中にある2つの半分の長さの命令は同じ実行パケットに含まれ同じデータパスで実行するステップと,
を特徴とするデジタル信号プロセッサ集積回路」

第5 対比・判断
1,本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。
ア 引用発明における「命令を復号(処理)する方法」は,処理する方法を含んでいるので,本願発明1の「命令を処理する方法」に相当する。

イ 引用発明の「フェッチユニットから8連続した命令のフェッチパケットが来るステップ」は,8連続した命令のフェッチパケットを受信しているといえるので,本願発明1の「命令を含むパケットを受信するステップ」に相当する。

ウ 引用発明の「復号器が命令バッファの中から検出するヘッドコードと命令バッファに格納された命令を復号器が比較し,dビットフィールド(普通の長さ/半分の長さ)の指標に対応させて,対応する命令を復号するステップ」と本願発明1の「前記命令に含まれる解析インジケータに基づいて,前記命令が第1のサブパケットを含むかどうかを決定するために前記命令を復号するステップ」とを対比すると,
引用発明の「dビットフィールド」は命令スロットの命令が「一つの通常の長さの命令」であるか「一対の半分の長さの命令」であるかを示す指標となっていることから,本願発明1の「解析インジケータ」に対応している。また,引用発明の「dビットフィールド」が「一対の半分の長さの命令」を示すことは,本願発明1の「第1のサブパケット」を示すことに対応することから,両者は後記する点で相違するものの“解析インジケータに基づいて,前記命令がサブパケットを含むかどうかを決定するために前記命令を復号するステップ”の点で一致する。

エ.引用発明の「dビットフィールドのビットに対応する命令スロットが1対の半分の長さの命令として復号されるか,一つの通常の長さの命令として復号されるかを示すステップ」と本願発明1の「前記第1のサブパケットが複数のサブ命令を含み,前記命令が前記第1のサブパケットを含む場合,前記命令が第1のサブ命令および第2のサブ命令を含み」とを対比すると,
引用発明の「一対の半分の長さの命令」として復号されることは,本願発明1の「命令が第1のサブ命令および第2のサブ命令」を含むことに相当し,「複数のサブ命令を含む」といえるので,両者に実質的な差異はない。

オ.引用発明の「単一の命令スロットの中にある2つの半分の長さの命令は同じ実行パケットに含まれ同じデータパスで実行するステップ」と本願発明1の「前記命令が前記サブパケットを含むとの決定に応答して,前記サブ命令の各々を実行するステップ」とを対比すると,
引用発明の「単一の命令スロットの中にある2つの半分の長さの命令」は本願発明1の「第1のサブ命令および第2のサブ命令」に相当するといえ,dビットフィールドの半分の長さを指標するビットに対応する命令を決定し,それに応答して実行しているといえるので,両者は後記する点で相違するものの“前記命令が前記一対のサブ命令を含むとの決定に応答して,前記サブ命令を実行するステップ”という点で一致する。

カ.上記ア.?オ.の検討より,本願発明1と引用発明とは,以下の点で一致し,また,以下の点で相違する。
<一致点>
「命令を処理する方法であって,
前記方法が,
命令を含むパケットを受信するステップと,
解析インジケータに基づいて,前記命令が第1のサブパケットを含むかどうかを決定するために前記命令を復号するステップとを含み,前記第1のサブパケットは複数のサブ命令を含み,前記命令が前記第1のサブパケットを含む場合,前記命令が第1のサブ命令および第2のサブ命令を含み,
前記方法が,
前記命令が前記第1のサブパケットを含むとの決定に応答して,前記サブ命令を実行するステップを含む方法。」

<相違点1>
「解析インジケータ」に関し,本願発明1では「前記命令に含まれる解析インジケータ」と特定しているのに対し,引用発明の「d bit」(解析インジケータ)は「instruction slot」(命令スロット)に隣接する「header」に含まれるものの,命令に含まれるとは特定されていない点。
<相違点2>
本願発明1では「前記第1のサブ命令が第1のサブ・サブパケットを含む場合,前記第1のサブ・サブパケットが複数のサブ・サブ命令を含み」(以下,この構成を「サブサブパケットの構成」という。)と特定されているのに対し,引用発明ではそのように特定されていない点。
<相違点3>
本願発明1では,サブパケットを含むとの決定に応答して「サブ命令の各々を実行」するのに対して,引用発明の「2つの半分の長さの命令」は「同じ実行パケット」に含まれ「同じデータパス」で実行されていることから,「2つの半分の長さの命令」を一緒に実行(順次実行)しているものの,「各々を実行」していると特定されていない点。

(2)相違点2について当審の判断
引用文献2(上記D参照)には,VLIWマイクロプロセッサで用いられる命令フォーマットにおいて,1演算命令か,2演算命令かを示すフォーマットフィールド(103,104)を含み,フォーマットフィールド(FM=00)が2演算命令を示す場合,2つの演算がデコード直後のクロックサイクルで並列に実行され,フォーマットフィールド(FM=11)が1演算命令を示す場合,複数の演算の1つの演算がデコード直後のクロックサイクルで実行されることが記載されていることから,相違点1に係る構成のように命令フォーマットにフォーマットフィールド(解析インジケータに相当)を含めることや,相違点3に係る構成のようにフォーマットフィールドの値に基づいて,演算命令の各々を実行させることが記載されているものの,相違点2に係る構成のようにサブサブパケットの構成が記載されているとはいえない。
引用文献3(図1B,上記E参照)には,32ビット命令は2ビットの階層型ビットフィールドを含み,2つの15ビット命令をパックすることができ,コンパクト化命令が命令セット中に階層式に組み込むことができ,64ビット命令は4ビットの階層型ビットフィールドを含み,階層型ビットは,命令フォーマット,タイプ,機能グループを識別し,特定の実装に最も適する場所に配置することができることが記載されていることから,64ビット命令は4ビットの階層型ビットにより,当該命令に含まれる命令フォーマット,タイプ,グループを全てを識別していることから,引用文献3の階層型ビットは2階層について記載されているものの,サブサブパケットの構成のように3階層の構成については記載されていない。
仮に,64ビット命令に対して,32ビット命令をサブ命令とし,15ビット命令をパックした命令セットは,サブサブパケットに対応し,15ビット命令はサブサブ命令に対応すると解せるとしても,階層型ビットを3階層に設けることは,復号する段階が階層分増えるだけ処理負担も増えることとなり,引用文献3において3階層とする動機付けがあるとはいえない。
引用文献4(上記F参照)には,64ビットからなる大命令語に,4ビットのタイプコードを含め,タイプコード値によって,形式A(20ビット)の3つの命令語によりなる第1の形式と,形式A(20ビット)と形式B(40ビット)の命令語からなる第2の形式と,形式A(20ビット)と形式C(40ビット)からなる第3の形式と,形式D(60ビット)の命令からなる第4の形式を区別することが記載されているものの,サブサブパケットのように3階層の構成が記載されているとはいえない。
また,引用発明の「header」に引用文献3の階層型ビットフィールドや引用文献4のタイプコードを適用してサブサブパケットの構成のように3階層の命令に構成させる動機付けは認められない。
そうすると,本願発明1は,当業者といえども,引用発明及び引用文献2?4に記載された技術的事項に基づいて容易には発明できたものとはいえない。

2.本願発明2-10
本願発明2-10は,本願発明1を減縮した発明であり,本願発明1におけるサブサブパケットに係る構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2?4に記載された技術的事項に基づいて容易には発明できたものとはいえない。

3.本願発明11
本願発明11は,本願発明1の「受信するステップ」「復号するステップ」「実行するステップ」をそれぞれ「転送するステップ」「識別するステップ」「転送するステップ」に置き換えた発明であるが,本願発明11もサブサブパケットに係る構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2?4に記載された技術的事項に基づいて容易には発明できたものとはいえない。

4.本願発明12-14
本願発明12-14は,本願発明11を減縮した発明であり,本願発明1におけるサブサブパケットに係る構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2?4に記載された技術的事項に基づいて容易には発明できたものとはいえない。

5.本願発明15-20
本願発明15は,本願発明1に対応するプロセッサの発明であり,本願発明16-20は,本願発明15を減縮した発明である。そのため,本願発明1におけるサブサブパケットに係る構成を備えるものであるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2?4に記載された技術的事項に基づいて容易には発明できたものとはいえない。

第6 原査定について
1.理由1(進歩性)について
本願発明1-20は相違点2に係る構成である「サブサブパケットの構成」を有するものとなっており,当業者であっても,拒絶査定において引用された引用文献1?4に基づいて,容易に発明できたものとはいえない。したがって,原査定の理由1を維持することはできない。
2.理由2(明確性)及び理由3(サポート要件)について
審判請求時の補正より,理由2または理由3の対象となった請求項12および請求項21が削除された。これにより,原査定の理由2および理由3を維持することはできない。

第7 むすび
本願発明1-20は,引用発明及び引用文献2?4に記載されて技術的事項に基づいて容易には発明できたものではない。したがって,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2017-10-11 
出願番号 特願2014-150573(P2014-150573)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 清木 泰  
特許庁審判長 辻本 泰隆
特許庁審判官 須田 勝巳
高木 進
発明の名称 階層型の超長命令パケットを処理するシステムおよび方法  
代理人 村山 靖彦  
代理人 黒田 晋平  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ