【事件の表示】
　特願２００６−５０７３６５「分岐ターゲットに基づいて分岐予測をするための方法および装置」拒絶査定不服審判事件〔平成１６年１０月　７日国際公開、ＷＯ２００４／０８６２１９、平成１８年　９月１４日国内公表、特表２００６−５２０９６４〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、
　２００４年３月１９日（パリ条約による優先権主張外国庁受理２００３年３月２１日、アメリカ合衆国）を国際出願日とする出願であって、
　平成１７年９月２１日付けで国際出願日における明細書、請求の範囲、図面（図面の中の説明に限る。）及び要約の翻訳文が提出され、
　平成１９年３月１６日付けで手続補正がなされ、
　平成２１年６月２９日付けで最初の拒絶理由通知（同年７月７日発送）がなされ、
　平成２２年１月７日付けで意見書が提出されるとともに、手続補正がなされ、
　同年９月３０日付けで拒絶査定（同年１０月１２日発送）がなされ、
　平成２３年２月１４日付けで審判請求がなされ、
　同年４月７日付けで審判請求書における請求の理由を補充をする手続補正書が提出されたものである。
　なお、平成２４年１月１８日付けで上申書が提出されている。
　
第２．本願発明の認定
　本願の請求項１に係る発明（以下、「本願発明」という。）は、平成２２年１月７日付けの手続補正により補正された、本願の特許請求の範囲の請求項１に記載された次のものと認められる。
　
「デジタルプロセッサにおける分岐予測のための方法であって：
タグアレイとデータアレイとを有し、タグアレイにおける各エントリー（entry）はデータアレイにおける対応するエントリーを印付け（ｉｎｄｅｘ）するものである、分岐ターゲットバッファ（ＢＴＢ：Ｂｒａｎｃｈ　Ｔａｒｇｅｔ　Ｂｕｆｆｅｒ）を用意し；
タグアレイにおける一つの選択したエントリーには現在の分岐命令の分岐タ−ゲットを表す情報を格納し；
データアレイにおける対応するエントリーには次の分岐命令の分岐ターゲットを表す情報を格納し；
入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して次の分岐命令の分岐ターゲットを表す情報を提供することを含む分岐予測のための方法。」
　
第３．先行技術文献に記載されている技術的事項と先行技術文献に記載されている発明の認定
　
１．引用例１に記載されている技術的事項
　原審が拒絶理由通知において引用したTse-Yu Yeh, Yale N. Patt, A Comprehensive Instruction Fetch Mechanism for a Processor Supporting Speculative Execution, Proceedings of the 25th Annual International Symposium on Microarchitecture (MICRO 25), U.S.A., IEEE, 4 December 1992, Pages:129-139（以下、「引用例１」という。）には、図面とともに以下の技術的事項が記載されている。なお、仮訳は当審が訳出したものである。
　
（１の１）
「The importance of instruction fetch becomes vital as deeply-pipelined superscalar machines become prevalent due to the correspondingly larger loss of work caused by both branch mispredictions and the inordinate latency to fetch a new instruction stream. Higher prediction accuracy means less speculative work needs to be thrown away, resulting in increased machine performance. Decreased latency means the newly directed instruction stream can begin execution faster.
 In this paper we propose a comprehensive instruction fetch mechanism for a superscalar processor supporting speculative execution.」
（第１２９頁左欄下から１８行目〜同頁同欄下から７行目。
　仮訳：分岐の誤った予測及び新しい命令ストリームのフェッチに伴う過度のレイテンシの両方により生じる、仕事の相当大きな損失のため、深くパイプライン化されたスーパスケーラマシンが一般的に用いられるようになるにつれ、命令フェッチの重要性は極めて重大なものとなっている。予測の正確性が高いことは、投機的な仕事を破棄することが少なくなることを意味し、マシンのパフォーマンスが増す結果となる。レイテンシが減ることは、新たに指示された命令ストリームの実行が早くなることを意味する。
　この論文で我々は、投機実行をサポートするスーパスケーラプロセッサのための包括的な命令フェッチメカニズムを提案する。）
　
（１の２）
「Thus, an effective comprehensive instruction fetch mechanism must deal with rapid prediction of branch target addresses.」
（第１３０頁左欄第３行目〜同頁同欄第５行目。
　仮訳：それゆえ、効果的である包括的な命令フェッチメカニズムは分岐ターゲットアドレスの迅速な予測を取り扱うべきである。）
　
（１の３）
「The branch target buffer reduces the delay in providing instruction fetch addresses. Each branch target buffer entry stores both the branch target address and the starting address of the fall-through basic block. A basic block is a sequence of consecutive instructions having exactly one entry point and exactly one exit point.」
（第１３０頁左欄第２１行目〜同頁同欄第２７行目。
　仮訳：分岐ターゲットバッファは、命令フェッチアドレスを提供する際の遅れを削減する。分岐ターゲットバッファのエントリのそれぞれは、分岐ターゲットアドレスと直下の基本ブロックの先頭アドレスの両方を保持する。基本ブロックは、連続する命令のシーケンスであり、入り口となるポイントを正確に１つ持ち、出口となるポイントを正確に１つ持つ。）
　
（１の４）
「Figure 1 shows the comprehensive design of the instruction fetch mechanism. The branch history table(BHT) used in the Two-Level Adaptive branch predictor is merged with the branch target buffer(BTB). Conditional branches, unconditional branches, and return instructions all access the branch target buffer by using the starting addresses of the basic blocks in which they occur. Each entry of the merged branch target buffer (shown in Figure 1) contains a valid bit, address tag, target address, fall-through basic block address, branch path prediction bit, branch history bits, and branch-type bits.
 The address used to access the I-cache is also used to access the merged branch target buffer. These accesses are done at the same time, allowing the instruction fetch mechanism to fetch (up to) one basic block each cycle. Since there is at most one branch instruction in each basic block, the accessing address is used to index into the branch target buffer.
 When an accessing address hits in the branch target buffer, the information stored in the entry is known right after the access. The branch-type bits can be used to choose the prediction source before the branch is decoded. If the branch is conditional, the next instruction fetch address is either the fall-through address or the target address depending on the branch path prediction bit. If the branch is a return instruction, the next address is obtained from the top of the return address stack. If the branch is unconditional, the next address is the target address.
 When an accessing address misses in the branch target buffer, we continue fetching instructions sequentially. If a branch instruction is discovered after being decoded an entry in the branch target buffer is allocated for that branch, indexed by the accessing address. If the branch is conditional, a default static branch predictor is used to predict the branch path by using static information.」
（第１３０頁右欄第３３行目〜第１３１頁左欄下から１１行目。
　仮訳：図１は、命令フェッチメカニズムの包括的デザインを示す。２レベルアダプティブ分岐予測機構に用いられる分岐履歴テーブル（ＢＨＴ）は、分岐ターゲットバッファ（ＢＴＢ）に統合される。条件分岐命令、無条件分岐命令、リターン命令はすべて、分岐ターゲットバッファにアクセスする際に、それらが生じる基本ブロックの先頭アドレスを用いる。（図１に示された）統合された分岐ターゲットバッファのエントリのそれぞれは、有効ビット、アドレスタグ、ターゲットアドレス、直下基本ブロックアドレス、分岐パス予測ビット、分岐履歴ビット、分岐タイプビットを有する。
　命令キャッシュをアクセスするために用いられるアドレスは統合された分岐ターゲットバッファをアクセスするためにも用いられる。これらのアクセスは同時に行われ、このことにより、命令フェッチメカニズムは各サイクル毎に一つの基本ブロック分（に至るまで）フェッチすることができるようになる。それぞれの基本ブロックには高々１つの分岐命令があるだけであるため、そのアクセスアドレスを分岐ターゲットバッファへの索引付けに用いる。
　アクセスアドレスが分岐ターゲットバッファでヒットする場合は、そのエントリに格納されている情報は、アクセスの後に正当であると判明することになる。分岐命令がデコードされる前に予測するためのソースを選択するために、分岐タイプビットは用いられる。分岐命令が条件分岐命令である場合、次の命令フェッチアドレスは、直下のアドレスか、ターゲットアドレスのいずれかであり、そのいずれであるかは、分岐パス予測ビットに基づく。分岐命令がリターン命令である場合、次のアドレスは、リターンアドレススタックのトップから得られる。分岐命令が無条件分岐命令である場合、次のアドレスはターゲットアドレスである。
　アクセスアドレスが分岐ターゲットバッファでミスする場合は、我々は、命令フェッチをシーケンシャルに続ける。デコード後に分岐命令が発見された場合、その分岐命令のために、分岐ターゲットバッファのひとつのエントリが割り当てられる。そのエントリは、そのアクセスアドレスで索引付けされる。分岐命令が条件分岐命令である場合、静的情報を用いることにより、デフォルトの静的分岐予測機構により、分岐パスを予測する。）
　　
（１の５）
　引用例１の第１３１頁の左欄の上部にFigure1（図１）が示されている。このFigure1（図１）には、Instruction Fetch Address（命令フェッチアドレス）でIndex（索引付け）されるMerged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）の一つのエントリに、Valid Bit（有効ビット）、Address Tag（アドレスタグ）、Target Address（ターゲットアドレス）、Fall-through BB Starting Address（直下基本ブロック先頭アドレス）、Prediction Bit（予測ビット）、Branch Type（分岐タイプ）を格納するフィールドがあることが示されている。また、このFigure1（図１）には、一つのエントリから出力されたTarget Address（ターゲットアドレス）とFall-through BB Starting Address（直下基本ブロック先頭アドレス）のうちの一方を、同じく一つのエントリから出力されたPrediction Bit（予測ビット）に基づいて選択して出力するMUX（マルチプレクサ）が示されている。さらに、このFigure1（図１）には、当該MUX（マルチプレクサ）の出力が、一つのエントリから出力されたBranch Type（分岐タイプ）により制御される別のMUX（マルチプレクサ）とBTB Hit（分岐ターゲットバッファがヒットしたか否かを示す信号）により制御されるさらなる別のMUX（マルチプレクサ）を介して、Next Instruction Fetch Address（次の命令フェッチアドレス）として出力されることが示されている。
　
　上記（１の４）において、「条件分岐命令、無条件分岐命令、リターン命令はすべて、分岐ターゲットバッファにアクセスする際に、それらが生じる基本ブロックの先頭アドレスを用いる。」と記載されているが、ここでいう「それら」が「条件分岐命令、無条件分岐命令、リターン命令」を指し示すことは明らかである。
　
　上記（１の４）において、「命令キャッシュをアクセスするために用いられるアドレスは統合された分岐ターゲットバッファをアクセスするためにも用いられる。これらのアクセスは同時に行われ、このことにより、命令フェッチメカニズムは各サイクル毎に一つの基本ブロック分（に至るまで）フェッチすることができるようになる。」と記載されているが、ここでいう「これらのアクセス」が「命令キャッシュ」へのアクセスと「統合された分岐ターゲットバッファ」へのアクセスであることは明らかである。
　
　上記（１の４）において、「それぞれの基本ブロックには高々１つの分岐命令があるだけであるため、そのアクセスアドレスを分岐ターゲットバッファへの索引付けに用いる。」と記載されている。この記載における「そのアクセスアドレス」という語は、同じく（１の４）における「条件分岐命令、無条件分岐命令、リターン命令はすべて、分岐ターゲットバッファにアクセスする際に、それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレスを用いる。」、「これらのアクセス（命令キャッシュへのアクセスと統合された分岐ターゲットバッファへのアクセス）は同時に行われ、このことにより、命令フェッチメカニズムは各サイクル毎に一つの基本ブロック分（に至るまで）フェッチすることができるようになる。」という記載を受けてのものなので、「そのアクセスアドレス」が「それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス」であることは明らかである。
　同様にして、上記（１の４）における「デコード後に分岐命令が発見された場合、その分岐命令のために、分岐ターゲットバッファのひとつのエントリが割り当てられる。そのエントリは、そのアクセスアドレスで索引付けされる。」という記載における「そのアクセスアドレス」も「それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス」であることは明らかである。
　
　上記（１の４）において、「アクセスアドレスが分岐ターゲットバッファでヒットする場合は、そのエントリに格納されている情報は、アクセスの後に正当であると判明することになる。」と記載されているが、ここでいう「そのエントリ」とは「ヒット」した「エントリ」を指し示すことは明らかである。
　
　上記（１の３）に「分岐ターゲットバッファのエントリのそれぞれは、分岐ターゲットアドレスと直下の基本ブロックの先頭アドレスの両方を保持する。」と記載されていることを考慮すれば、上記（１の４）における「分岐命令が条件分岐命令である場合、次の命令フェッチアドレスは、直下のアドレスか、ターゲットアドレスのいずれかであり、そのいずれであるかは、分岐パス予測ビットに基づく。」という記載でいう「直下のアドレス」とは「直下の基本ブロックの先頭アドレス」であることは明らかである。
　
　上記（１の４）に「分岐命令がリターン命令である場合、次のアドレスは、リターンアドレススタックのトップから得られる。分岐命令が無条件分岐命令である場合、次のアドレスはターゲットアドレスである。」と記載されているが、ここでいう「次のアドレス」が次の命令フェッチアドレスであることは明らかである。
　
　以上で検討したことを考慮して、引用例１の上記（１の４）の記載に、必要に応じて語句の解釈を追記すれば下記のとおりとなる。
　
（１の４）’　
「図１は、命令フェッチメカニズムの包括的デザインを示す。２レベルアダプティブ分岐予測機構に用いられる分岐履歴テーブル（ＢＨＴ）は、分岐ターゲットバッファ（ＢＴＢ）に統合される。条件分岐命令、無条件分岐命令、リターン命令はすべて、分岐ターゲットバッファにアクセスする際に、それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレスを用いる。（図１に示された）統合された分岐ターゲットバッファのエントリのそれぞれは、有効ビット、アドレスタグ、ターゲットアドレス、直下基本ブロックアドレス、分岐パス予測ビット、分岐履歴ビット、分岐タイプビットを有する。
　命令キャッシュをアクセスするために用いられるアドレスは統合された分岐ターゲットバッファをアクセスするためにも用いられる。これらのアクセス（命令キャッシュへのアクセスと統合された分岐ターゲットバッファへのアクセス）は同時に行われ、このことにより、命令フェッチメカニズムは各サイクル毎に一つの基本ブロック分（に至るまで）フェッチすることができるようになる。それぞれの基本ブロックには高々１つの分岐命令があるだけであるため、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）を分岐ターゲットバッファへの索引付けに用いる。
　アクセスアドレスが分岐ターゲットバッファでヒットする場合は、そのエントリ（ヒットしたエントリ）に格納されている情報は、アクセスの後に正当であると判明することになる。分岐命令がデコードされる前に予測するためのソースを選択するために、分岐タイプビットは用いられる。分岐命令が条件分岐命令である場合、次の命令フェッチアドレスは、直下の（基本ブロックの先頭）アドレスか、ターゲットアドレスのいずれかであり、そのいずれであるかは、分岐パス予測ビットに基づく。分岐命令がリターン命令である場合、次の（命令フェッチ）アドレスは、リターンアドレススタックのトップから得られる。分岐命令が無条件分岐命令である場合、次の（命令フェッチ）アドレスはターゲットアドレスである。
　アクセスアドレスが分岐ターゲットバッファでミスする場合は、我々は、命令フェッチをシーケンシャルに続ける。デコード後に分岐命令が発見された場合、その分岐命令のために、分岐ターゲットバッファのひとつのエントリが割り当てられる。そのエントリは、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）で索引付けされる。分岐命令が条件分岐命令である場合、静的情報を用いることにより、デフォルトの静的分岐予測機構により、分岐パスを予測する。」　
　
２．引用発明の認定
　上記（１の１）に「分岐の誤った予測…（中略）…により生じる、仕事の相当大きな損失のため、深くパイプライン化されたスーパスケーラマシンが一般的に用いられるようになるにつれ、命令フェッチの重要性は極めて重大なものとなっている。予測の正確性が高いことは、投機的な仕事を破棄することが少なくなることを意味し、マシンのパフォーマンスが増す結果となる。…（中略）…この論文で我々は、投機実行をサポートするスーパスケーラプロセッサのための包括的な命令フェッチメカニズムを提案する。」と記載され、上記（１の２）に「命令フェッチメカニズムは分岐ターゲットアドレスの迅速な予測を取り扱う」と記載されていることから明らかなように、引用例１は、スーパスケーラプロセッサにおける分岐予測のための方法に関するものである。
　
　上記（１の４）’に「分岐履歴テーブル（ＢＨＴ）は、分岐ターゲットバッファ（ＢＴＢ）に統合される。」と記載されていることから明らかなように、引用例１では、分岐履歴テーブルに統合された分岐ターゲットバッファが用意されている。
　上記（１の４）’に「統合された分岐ターゲットバッファのエントリのそれぞれは、有効ビット、アドレスタグ、ターゲットアドレス、直下基本ブロックアドレス、分岐パス予測ビット、…（中略）…分岐タイプビットを有する。」と記載され、上記（１の５）に示したように、引用例１のFigure1（図１）には、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）の一つのエントリに、Valid Bit（有効ビット）、Address Tag（アドレスタグ）、Target Address（ターゲットアドレス）、Fall-through BB Starting Address（直下基本ブロック先頭アドレス）、Prediction Bit（予測ビット）、Branch Type（分岐タイプ）を格納するフィールドがあることが記載されていることから明らかなように、分岐履歴テーブルに統合された分岐ターゲットバッファは複数のエントリを備えるものであり、各エントリは、アドレスタグを格納するフィールドと、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドとからなるものである。
　また、アドレスタグが、対応するエントリの各情報を索引付けするためのものであることは自明のことであるから、引用例１における、アドレスタグを格納するフィールドは、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドを索引付けするためのものであることは自明である。
　以上のことから、引用例１においては、アドレスタグを格納するフィールドと、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドとからなるエントリを複数備え、アドレスタグを格納するフィールドは、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドを索引付けするためのものである、分岐履歴テーブルに統合された分岐ターゲットバッファを用意しているものと認められる。
　
　上記（１の４）’に、「条件分岐命令、無条件分岐命令、リターン命令はすべて、分岐ターゲットバッファにアクセスする際に、それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレスを用いる。」、「命令フェッチメカニズムは各サイクル毎に一つの基本ブロック分（に至るまで）フェッチすることができるようになる。それぞれの基本ブロックには高々１つの分岐命令があるだけであるため、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）を分岐ターゲットバッファへの索引付けに用いる。」、「分岐命令が発見された場合、その分岐命令のために、分岐ターゲットバッファのひとつのエントリが割り当てられる。そのエントリは、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）で索引付けされる。」と記載されていることから、引用例１では、基本ブロックの先頭アドレスを用いて分岐ターゲットバッファへのアクセスを行うものである。そして、上記（１の４）’に「アクセスアドレスが分岐ターゲットバッファでヒットする場合」及び「アクセスアドレスが分岐ターゲットバッファでミスする場合」が示されていることから明らかなように、分岐ターゲットバッファにアクセスする際に用いている基本ブロックの先頭アドレスと、分岐ターゲットバッファのエントリに格納されているアドレスタグとを比較してヒットかミスかを判定している。そのため、引用例１では、分岐ターゲットバッファのエントリ内のアドレスタグを格納するフィールドには基本ブロックの先頭アドレスを格納するものである。
　さらに、上記（１の４）’に「分岐命令が発見された場合、その分岐命令のために、分岐ターゲットバッファのひとつのエントリが割り当てられる。そのエントリは、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）で索引付けされる。」と記載されていることから明らかなように、引用例１では、分岐ターゲットバッファのエントリのうち選択したものが、基本ブロックの先頭アドレスに索引付けされる。
　以上のことから、引用例１においては、アドレスタグを格納するフィールドのうち選択したものには、基本ブロックの先頭アドレスを格納するものである。
　
　上記（１の４）’に「（図１に示された）統合された分岐ターゲットバッファのエントリのそれぞれは、有効ビット、アドレスタグ、ターゲットアドレス、直下基本ブロックアドレス、分岐パス予測ビット、…（中略）…分岐タイプビットを有する。」と記載され、既に示したように、アドレスタグを格納するフィールドには、基本ブロックの先頭アドレスを格納するものであり、上記（１の４）’に「それぞれの基本ブロックには高々１つの分岐命令があるだけであるため、そのアクセスアドレス（それら（条件分岐命令、無条件分岐命令、リターン命令）が生じる基本ブロックの先頭アドレス）を分岐ターゲットバッファへの索引付けに用いる。」と記載されているから、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドには、アドレスタグに格納された先頭アドレスに係る基本ブロック内の分岐命令のターゲットアドレスと、当該基本ブロックの直下の基本ブロックのアドレスと、当該分岐命令の分岐パス予測ビットを格納することは明らかである。
　
　上記（１の４）’に「アクセスアドレスが分岐ターゲットバッファでヒットする場合は、そのエントリ（ヒットしたエントリ）に格納されている情報は、アクセスの後に正当であると判明することになる。分岐命令がデコードされる前に予測するためのソースを選択するために、分岐タイプビットは用いられる。分岐命令が条件分岐命令である場合、次の命令フェッチアドレスは、直下の（基本ブロックの先頭）アドレスか、ターゲットアドレスのいずれかであり、そのいずれであるかは、分岐パス予測ビットに基づく。」と記載され、上記（１の５）に示したように、引用例１のFigure1（図１）には、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）の一つのエントリから出力されたTarget Address（ターゲットアドレス）とFall-through BB Starting Address（直下基本ブロック先頭アドレス）のうちの一方を、同じく一つのエントリから出力されたPrediction Bit（予測ビット）に基づいて選択して出力するMUX（マルチプレクサ）が示され、さらに、このFigure1（図１）には、当該MUX（マルチプレクサ）の出力が、一つのエントリから出力されたBranch Type（分岐タイプ）により制御される別のMUX（マルチプレクサ）とBTB Hit（分岐ターゲットバッファがヒットしたか否かを示す信号）により制御されるさらなる別のMUX（マルチプレクサ）を介して、Next Instruction Fetch Address（次の命令フェッチアドレス）として出力されることが示されていることから明らかなように、引用例１においては、命令フェッチアドレスが、アドレスタグを格納するフィールドに格納された基本ブロックの先頭アドレスと一致したことに応答して、分岐パス予測ビットの値に応じて、当該基本ブロック内の分岐命令のターゲットアドレスと、当該基本ブロックの直下の基本ブロックの先頭アドレスのいずれかを提供するものである。
　
　上記引用例１の記載事項及び図面を総合勘案すると、引用例１には、次の発明（以下、「引用発明」という。）が記載されていると認められる。
　
　スーパスケーラプロセッサにおける分岐予測のための方法であって：
　アドレスタグを格納するフィールドと、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドとからなるエントリを複数備え、アドレスタグを格納するフィールドは、ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドを索引付けするためのものである、分岐履歴テーブルに統合された分岐ターゲットバッファを用意し；
　アドレスタグを格納するフィールドのうち選択したものには、基本ブロックの先頭アドレスを格納し；
　ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールドには、当該基本ブロック内の分岐命令のターゲットアドレスと、当該基本ブロックの直下の基本ブロックの先頭アドレスと、当該分岐命令の分岐パス予測ビットを格納し；
　命令フェッチアドレスが、アドレスタグを格納するフィールドに格納された基本ブロックの先頭アドレスと一致したことに応答して、分岐パス予測ビットの値に応じて、当該基本ブロック内の分岐命令のターゲットアドレスと、当該基本ブロックの直下の基本ブロックの先頭アドレスのいずれかを提供することを含む、分岐予測のための方法。
　
３．周知例１に記載されている技術的事項
　本願の優先日前に頒布された刊行物である米国特許第６１８５６７５号明細書（２００１年２月６日公開。以下、「周知例１」という。）には、以下の技術事項が記載されている。なお、仮訳は当審が訳出したものである。
　
「Basic blocks are natural divisions in instruction streams resulting from branch instructions. The start of a basic block is a target of a branch, and the end is another branch instruction.」
（公報第１頁のABSTRACT（要約）における第２行目〜第５行目。
　仮訳：基本ブロックは分岐命令により生じる命令ストリームの自然な分割物である。基本ブロックの先頭は分岐のターゲットであり、末尾は別の分岐命令である。）
　
４．基本ブロックと分岐命令の関係に関する技術常識の認定
　上記周知例１に「基本ブロックは分岐命令により生じる命令ストリームの自然な分割物である。基本ブロックの先頭は分岐のターゲットであり、末尾は別の分岐命令である。」と記載されているような、通常の態様の基本ブロックにおいては、基本ブロックの先頭アドレスは分岐命令のターゲットアドレスとなることは、当業者にとっての技術常識である（以下、この技術常識を「技術常識１」という。）。
　
第４．対比
　本願発明と引用発明とを比較する。
　
　引用発明における「スーパスケーラプロセッサ」は本願発明における「デジタルプロセッサ」に相当する。
　引用発明における「アドレスタグを格納するフィールド」に格納される「基本ブロックの先頭アドレス」と、本願発明における「タグアレイにおける各エントリー（entry）」または「タグアレイにおける一つの選択したエントリー」に格納される「現在の分岐命令の分岐タ−ゲットを表す情報」は、アドレスタグである点で一致する。
　引用発明における「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」に格納される「当該基本ブロック内の分岐命令のターゲットアドレス」及び「当該基本ブロックの直下の基本ブロックの先頭アドレス」はいずれも、本願発明における「データアレイにおける対応するエントリー」に格納される「次の分岐命令の分岐ターゲットを表す情報」に相当する。
　引用発明における「アドレスタグを格納するフィールド」と本願発明における「タグアレイにおける各エントリー（entry）」は、アドレスタグを格納するエントリーである点で一致する。
　引用発明における「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」と本願発明における「データアレイにおける対応するエントリー」は、次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーである点で一致する。
　引用発明における「索引付けする」ことは本願発明における「印付け（ｉｎｄｅｘ）する」ことに相当する。
　引用発明における「分岐履歴テーブルに統合された分岐ターゲットバッファ」と本願発明における「分岐ターゲットバッファ（ＢＴＢ：Ｂｒａｎｃｈ　Ｔａｒｇｅｔ　Ｂｕｆｆｅｒ）」は、分岐ターゲットバッファ（ＢＴＢ：Ｂｒａｎｃｈ　Ｔａｒｇｅｔ　Ｂｕｆｆｅｒ）である点で一致する。
　引用発明における「命令フェッチアドレス」は本願発明における「入力命令アドレス」に相当する。
　
　すると、本願発明と引用発明とは、少なくとも次の点で一致する。
　
＜一致点＞
　デジタルプロセッサにおける分岐予測のための方法であって：
　アドレスタグを格納する各エントリー（entry）は次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーを印付け（ｉｎｄｅｘ）するものである、分岐ターゲットバッファ（ＢＴＢ：Ｂｒａｎｃｈ　Ｔａｒｇｅｔ　Ｂｕｆｆｅｒ）を用意し；
　アドレスタグを格納する一つの選択したエントリーにはアドレスタグを格納し；
　次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーには次の分岐命令の分岐ターゲットを表す情報を格納し；
　入力命令アドレスが、アドレスタグを格納するエントリーと一致したことに応答して次の分岐命令の分岐ターゲットを表す情報を提供することを含む分岐予測のための方法。
　
　一方で、両者は、一見して次の点で一応相違する。
　
＜相違点１＞
　アドレスタグを格納するエントリーと次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーに関して、本願発明では「タグアレイとデータアレイとを有」するものであり、「タグアレイ」における各エントリー（entry）がアドレスタグを格納するエントリーであり、「データアレイ」における対応するエントリーが次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーであるのに対し、引用発明では「アドレスタグを格納するフィールド」がアドレスタグを格納するエントリーであり、「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」が次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーであるものの、引用発明に対応する引用例１には、「アドレスタグを格納するフィールド」の集合がタグアレイを構成し、「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」の集合がデータアレイを構成することにより、タグアレイとデータアレイを有するとは明記されていない点。
　
＜相違点２＞
　アドレスタグに関して、本願発明では「現在の分岐命令の分岐タ−ゲットを表す情報」であるのに対し、引用発明では「基本ブロックの先頭アドレス」である点。
　
第５．新規性の判断
　上記した一応の相違点１及び２について検討する。
　
１．相違点１について
　引用発明における「アドレスタグを格納するフィールド」と「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」はともに複数存在し、「アドレスタグを格納するフィールド」の個数と「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」の個数は同数である。いわば、複数個存在する「アドレスタグを格納するフィールド」はアドレスタグを格納するエントリーが配列（アレイ）をなしているものであり、複数個存在する「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」はデータを格納するエントリーが配列（アレイ）をなしているものであるのだから、引用発明に対応する引用例１に「タグアレイ」及び「データアレイ」という用語は用いられていないものの、引用発明においても、「タグアレイ」及び「データアレイ」が構成されており、「タグアレイ」と「データアレイ」を有しているといえる。つまり、引用発明はタグアレイとデータアレイを有するものであり、タグアレイにおけるエントリーが、アドレスタグを格納するエントリーである「アドレスタグを格納するフィールド」であり、データアレイにおけるエントリーが、次の分岐命令の分岐ターゲットを表す情報を格納する対応するエントリーである「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」である。
　よって、上記した相違点１は、実質的には本願発明と引用発明の相違点ではない。
　
２．相違点２について
　上記（１の３）に「基本ブロックは、連続する命令のシーケンスであり、入り口となるポイントを正確に１つ持ち、出口となるポイントを正確に１つ持つ。」と記載されているように、基本ブロックは、入り口となるポイントはただひとつ持つものであることは技術常識である。そして、特殊な性格付けをされた基本ブロックでない限り、通常の基本ブロックの入り口となるポイントは基本ブロックの先頭アドレスである。そして、命令のシーケンスの先頭の基本ブロックである等の特殊な性格付けをされた基本ブロックでない限り、命令のシーケンス上、一つの基本ブロックに入る契機となるものは、当該一つの基本ブロック以外の他の基本ブロック内にある何らかの種類の分岐命令において分岐が成立して（または無条件に分岐が成立して）命令フェッチアドレスが当該分岐命令の分岐成立時のターゲットアドレスとなる場合か、当該分岐命令において分岐が成立せずに命令フェッチアドレスが当該分岐命令の分岐不成立時のターゲットアドレス（当該一つの基本ブロックの直下の基本ブロックの先頭アドレス）となる場合である。つまりは、特殊な事情がない限り、基本ブロックの先頭アドレスは、分岐命令の（分岐成立時または分岐不成立時の）ターゲットアドレスである。
　既に示したように、周知例１にも技術常識１として、通常の態様の基本ブロックにおいては、基本ブロックの先頭アドレスは分岐命令のターゲットアドレスとなるという技術常識が例示されている。
（念のため、基本ブロックがループになっているケースについて言及すると、ループ制御による後方分岐については、当該基本ブロックの末尾の分岐命令のターゲットアドレスが当該基本ブロックの先頭アドレスとなる。このケースについて、ループ制御により基本ブロックの先頭アドレスに命令フェッチアドレスが戻ることについても、仮に”基本ブロックに入る”と表現するとしても、やはり、基本ブロックの先頭アドレスは、分岐命令のターゲットアドレスである。）
　このことは、引用例１においても同様である。具体的には、上記（１の５）に示したように、引用例１のFigure1（図１）には、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）の一つのエントリから出力されたTarget Address（ターゲットアドレス）とFall-through BB Starting Address（直下基本ブロック先頭アドレス）のうちの一方が、Next Instruction Fetch Address（次の命令フェッチアドレス）として出力されることが示されるとともに、Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）はInstruction Fetch Address（命令フェッチアドレス）でIndex（索引付け）されることが示されている。つまりは、分岐命令の（分岐成立時または分岐不成立時の）ターゲットアドレスであるTarget Address（ターゲットアドレス）とFall-through BB Starting Address（直下基本ブロック先頭アドレス）が、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）を次にアクセスする際においては、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合）をIndex（索引付け）するInstruction Fetch Address（命令フェッチアドレス）となる。既に引用発明の認定において示したように、Merged Branch Target Buffer and Branch History Table（分岐ターゲットバッファと分岐履歴テーブルの統合。引用発明における「分岐履歴テーブルに統合された分岐ターゲットバッファ」。）の各エントリのAddress Tag（アドレスタグ）には基本ブロックの先頭アドレスが格納されるものであるのだから、結局のところ、引用発明においても、基本ブロックの先頭アドレスは、分岐命令の（分岐成立時または分岐不成立時の）ターゲットアドレス、すなわち、「分岐命令の分岐タ−ゲットを表す情報」である。
　
　そして、引用発明における「アドレスタグを格納するフィールド」に格納される「基本ブロックの先頭アドレス」を（分岐成立時または分岐不成立時に）ターゲットとする分岐命令のほうが、引用発明における「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」に格納される「当該基本ブロック内の分岐命令のターゲットアドレス」や「当該基本ブロックの直下の基本ブロックの先頭アドレス」をターゲットとする分岐命令よりも、時系列的には前の時間にアクセスされるものであることは自明である。言い換えれば、引用発明における「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」に格納される「当該基本ブロック内の分岐命令のターゲットアドレス」や「当該基本ブロックの直下の基本ブロックの先頭アドレス」をターゲットとする分岐命令を「次の分岐命令」と呼ぶならば、引用発明における「アドレスタグを格納するフィールド」に格納される「基本ブロックの先頭アドレス」を（分岐成立時または分岐不成立時に）ターゲットとする分岐命令は「現在の分岐命令」と呼ぶべきものである。
　そのため、引用発明における「アドレスタグを格納するフィールド」に格納される「基本ブロックの先頭アドレス」は本願発明における「現在の分岐命令の分岐タ−ゲットを表す情報」に相当する。
　よって、上記した相違点２は、実質的には本願発明と引用発明の相違点ではない。
　　
３．新規性の判断の小括
　上記１．及び２．にて示したように、上記した相違点１及び２は、実質的には本願発明と引用発明の相違点ではなく、本願発明は引用例１に記載された発明である。
　
第６．進歩性の判断に関する予備的検討
　
１．相違点１について
　仮に、「第４．対比」で示した相違点１が本願発明と引用発明の実質的な相違点であるとしても、アドレスタグを格納するエントリとデータを格納するエントリの対が複数存在する場合に、アドレスタグを格納するエントリの集合によりタグアレイを構成し、データを格納するエントリの集合によりデータアレイを構成すること自体は、キャッシュメモリやキャッシュメモリと同様の構造を用いる各種のバッファ（その一種として、分岐ターゲットバッファも含まれる。）の技術分野では周知である。そのため、引用発明において、「アドレスタグを格納するフィールド」の集合によりタグアレイを構成し、「ターゲットアドレス、直下基本ブロック先頭アドレス、及び、分岐パス予測ビットを格納するフィールド」の集合によりデータアレイを構成することにより、タグアレイとデータアレイを有するようにすることに何ら困難性はない。よって、この相違点１は格別のものではない。
　　
２．相違点２について
　仮に、「第４．対比」で示した相違点２が本願発明と引用発明の実質的な相違点であるとしても（例えば、引用発明における基本ブロックに関して、分岐命令により区切られる、入り口となるポイントと出口となるポイントを一つずつ有する通常の態様の基本ブロック（つまりは、周知例１で指摘されているような基本ブロック）を、さらに人為的に分断することを敢えて想定することや、特殊な性格付けをされた基本ブロックを想定することなどにより、いわば人為的な相違点を想定するとしても）、少なくとも、通常の態様の基本ブロックの先頭アドレスが分岐命令の（分岐成立時または分岐不成立時の）ターゲットアドレスとなりうることは疑いのないところであるから、引用発明におけるアドレスタグである「基本ブロックの先頭アドレス」を、当該基本ブロック内の分岐命令よりも時系列的に前にアクセスされる分岐命令の（分岐成立時または分岐不成立時の）ターゲットアドレス、すなわち、「現在の分岐命令の分岐タ−ゲットを表す情報」とすることに何ら困難性はない。よって、この相違点２は格別のものではない。
　　
３．進歩性の判断に関する予備的検討の小括
　上記１．及び２．にて示したように、仮に、「第４．対比」で示した相違点１または２が本願発明と引用発明の実質的な相違点であるとしても、これらの相違点１または２は格別のものではない。
　また、本願発明が有する作用効果は、（引用例１に記載された）引用発明から当業者が予測できた範囲内のものである。
　よって、仮に、「第４．対比」で示した相違点１または２が本願発明と引用発明の実質的な相違点であるとしても、本願発明は、（引用例１に記載された）引用発明に基いて、当業者が容易に発明をすることができたものである。
　　
第７．上申書について
　請求人は平成２４年１月１８日付けで上申書を提出しているので、上申書における請求人の主張について言及する。　
　
１．分岐ターゲットバッファに格納されるタグについて
　請求人は上申書において、分岐ターゲットバッファに格納されるタグに関して、下記のような主張をしている。
　
「本願発明の、ＢＴＢのタグアレイは「現在の分岐命令の分岐ターゲットを表わす情報」であって、「次の分岐命令のベーシックブロックの先頭アドレスを表わす情報」ではありません。」
　
「段落番号０００６：「タグアレイの入力に対する適合に応答して」：
　「タグアレイの入力」は、本願発明においては「現在の分岐命令の分岐ターゲットを表わす情報」（０００６）でありまして、現在の分岐命令に由来して定まる、ターゲットであります。次の分岐命令に由来して定まるものではありません。
　引例１でいえば、分岐命令が含まれるベーシックブロックの先頭アドレスは、その分岐命令に由来して定まる事項であり、引例１のＢＴＢのタグアレイとデータアレイは、該先頭アドレスと、その分岐のターゲットアドレスが記憶されているにすぎませんから、あくまでもひとつの分岐命令に由来する事項であります。」
　
「段落番号００２０：「タグ入力は、後述（「口述」は誤記であります）する予測情報に基づいて、現在の分岐命令のターゲット命令のアドレスを含むタグアドレスフィールドを含んでいてもよい。」：
　ここにおいても、「現在の分岐命令のターゲット命令」という限定をおこなっており、現在の分岐命令の次の分岐命令の属するベーシックブロックの先頭アドレス、という意味はもたせようとしていないのであります。すなわち、「現在の分岐命令のターゲット」として得られるアドレスなのであります。」
　
　上記で指摘した箇所は、分岐ターゲットバッファに格納されるタグが、本願発明では「現在の分岐命令の分岐タ−ゲットを表す情報」であるのに対し、引用発明における「基本ブロックの先頭アドレス」である点で相違すると主張しているものである。
　
　しかしながら、既に「第５．新規性の判断」の「２．相違点２について」で示したように、請求人が上申書で主張する上記した点は本願発明と引用発明の実質的な相違点ではない。また、仮に、その点が本願発明と引用発明の実質的な相違点であるとしても、既に「第６．進歩性の判断に関する予備的検討」で示したように、その相違点は格別のものではない。
　よって、分岐ターゲットバッファに格納されるタグに関して本願発明の新規性及び進歩性を肯定する請求人の上申書での上記した主張は採用することができない。
　
２．分岐ターゲットバッファへのアクセスアドレス及びアクセスタイミングについて
　請求人は上申書において、分岐ターゲットバッファへのアクセスアドレス及びアクセスタイミングに関して、下記のような主張をしている。
　
「本願発明の…（中略）…BTBをｌｏｏｋ　ｕｐする際にタグアレイと比較するアドレスは、分岐命令について予測された分岐ターゲットのアドレスであります。」
　
「引例１のＢＴＢと本願発明のＢＴＢとは、ＢＴＢがヒットするかどうかｌｏｏｋ　ｕｐする動作が、いつ行われるかに違いがあり、」
　
「引例１のBTBは、すべてのフェッチアドレスをBTBのタグアレイと比較するｌｏｏｋ　ｕｐ動作を行います。」
　
「これに対して、本願発明のBTBは、すべてのフェッチアドレスについてはＢＴＢのタグアレイのｌｏｏｋ　ｕｐを行いません。分岐命令Aがフェッチされデコードされて分岐命令と判明し分岐予測機能によって分岐先アドレスが決められたら、その決められた分岐先アドレスについて、ＢＴＢのｌｏｏｋ　ｕｐを行うのであります。」
　
「引例１のものは、…（中略）…命令フェッチがベーシックブロックの命令をフェッチすると常にＢＴＢのヒットがおきるかどうかを調べます。」
　
「これに対して、本願発明のＢＴＢは、…（中略）…ある分岐命令の分岐先が予測されたときに、ＢＴＢのヒットの有無をｌｏｏｋ　ｕｐするのであります。」
　
「段落番号００３０：…（中略）…このことも、現在の分岐命令のターゲットアドレスでＢＴＢをｌｏｏｋ　ｕｐすることを示しております。」
　
「図５：
　図のステージ２において「BTBからの予測されたフェッチアドレス」がBTBに供給されます。これは、予測された分岐ターゲットのアドレスがBTBにおいてｌｏｏｋ　ｕｐされることに対応しております。すなわち、予測されたターゲットのアドレスであって、フェッチされたアドレスではありません。」
　
　上記で指摘した箇所は、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングに関して、本願発明では、分岐命令のターゲットアドレスが判明したときに限られ、当該ターゲットアドレスでのみ分岐ターゲットバッファにアクセスするのに対し、引用発明では分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングの制限はない点で相違すると主張しているものである。
　
　しかしながら、この主張は本願発明に対応する本願の請求項１の記載に根拠のあるものではない。本願の請求項１における「タグアレイにおける一つの選択したエントリーには現在の分岐命令の分岐タ−ゲットを表す情報を格納し」と「データアレイにおける対応するエントリーには次の分岐命令の分岐ターゲットを表す情報を格納し」の部分は、分岐ターゲットバッファのエントリーに格納される情報の性質を示すものであり、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングを請求人の主張のように限定するものではない。同じく本願の請求項１における「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して次の分岐命令の分岐ターゲットを表す情報を提供する」の部分、特に「入力命令アドレス」の部分は、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングについて請求人の主張のような限定はしていないものである。
　
　また、本願の請求項１における「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して」という記載自体は明確であり、かつ、この「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して」の部分を、本願明細書等に開示された実施例における、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングを限定する態様に限定して解釈すべき事情もない。
　より詳細に言及すれば、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングが限定されない独立請求項（例えば、出願当初における請求項１と平成２２年１月７日付け手続補正後の請求項１）と、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングが限定されることを示すか示唆している従属請求項（例えば、出願当初における請求項６と平成２２年１月７日付け手続補正後の請求項４）が、出願当初から請求項の記載として併存しており、しかも、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングが限定されなくても、依然として、本願明細書等に開示された実施例における分岐ターゲットバッファは一応動作するものであることは自明であるから、本願においては出願当初から、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングが限定されるもののみならず、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングが限定されないものも、本願明細書等において開示し、かつ、特許請求しようとしていたと解するのが自然である。よって、本願の請求項１の「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して」という記載が、本願明細書等の他の記載と対応しないということはできず、本願の請求項１における「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して」の部分を、本願明細書等に開示された実施例における、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングを限定する態様に限定して解釈すべき事情はない。
　
　よって、分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングについて、本願発明では、分岐命令のターゲットアドレスが判明したときに限られ、当該ターゲットアドレスでのみ分岐ターゲットバッファにアクセスするのに対し、引用発明では分岐ターゲットバッファへのアクセスアドレスやアクセスタイミングの制限はない点で相違する旨の請求人の上申書の上記した主張には、本願発明に対応する本願の請求項１の記載上の根拠がなく、当該主張を採用することができない。
　
３．分岐ターゲットバッファへのアクセスアドレスとしての、分岐命令のターゲットアドレスと基本ブロックの先頭アドレスの関係について
　請求人は上申書において、分岐ターゲットバッファへのアクセスアドレスとしての、分岐命令のターゲットアドレスと基本ブロックの先頭アドレスの関係について、下記のような主張をしている。
　
「分岐命令の属するベーシックブロックの先頭アドレスの命令をフェッチした時ではなく、分岐命令のターゲットを予測してアドレスが判明した時点で次の分岐命令のターゲットをフェッチすることが可能となる点で、引例１の動作とは動作が異なります。」
　
「引例１のBTBは、…（中略）…分岐命令Aが所属しているベーシックブロックの先頭アドレスがフェッチされたときには、ヒットが発生するので、BTBのデータアレイにあるその分岐命令Aのターゲットアドレスを、分岐命令Aの次のフェッチアドレスとして提供しますが、その分岐命令Aのそのまた次の分岐命令Bのターゲットアドレスは提供しません。」
　
「本願発明のBTBは、…（中略）…分岐先アドレスについて、ＢＴＢのｌｏｏｋ　ｕｐを行うのであります。そして、ヒットするとＢＴＢが与えるフェッチアドレスは、次の分岐命令Ｂの分岐先アドレスですから、本願発明は、分岐命令Ａの分岐先が判明した段階であって、次の分岐命令Ｂのベーシックブロックの先頭アドレスをフェッチする前であっても、ＢＴＢのｌｏｏｋ　ｕｐを行い次の分岐命令Ｂのターゲットを提供してしまいます。
　したがって、分岐命令Ｂのターゲットと、それに続くアドレスの命令のフェッチが先読みできるのであります。」
　
「引例１の場合、次の分岐命令Ｂのベーシックブロックの先頭アドレスのフェッチを行わない限り分岐命令Ｂのターゲットアドレスの提供はなされません。」
　
「タグアレイがｌｏｏｋ　ｕｐされるアドレスは、現在の分岐命令の分岐ターゲットのアドレスであって、そのアドレスは現在の分岐命令のデコードの結果分岐命令であることの判明およびその分岐命令についておこなわれる分岐先予測…（中略）…の結果に基づいて定まるのであって、次の命令のＢＴＢ先頭アドレスがフェッチされたかどうかとは関係が無いのであります。」 
　
「引例１は分岐命令を含むベーシックブロックの先頭アドレスの命令のフェッチ時点でBTBをｌｏｏｋ　ｕｐしてデータアレイのアドレスを得ますが、本願発明は命令フェッチ時点ではなく、分岐命令ターゲット予測時点でＢＴＢをｌｏｏｋ　ｕｐします。そしてＢＴＢが返してくるアドレスは、引例１の場合フェッチしたアドレスが含まれるベーシックブロックの分岐命令のターゲットであるのに対し、本願発明では、ターゲットを予測した分岐命令の、その次の分岐命令のターゲットであります。」
　
　上記で指摘した箇所は、分岐ターゲットバッファへのアクセスアドレスが、本願発明では分岐命令のターゲットアドレスであるのに対し、引用発明では基本ブロックの先頭アドレスであり、ここでいう、分岐命令のターゲットアドレスと基本ブロックの先頭アドレスは異なるものであると主張しているものである。
　
　しかしながら、上記「２．分岐ターゲットバッファへのアクセスアドレス及びアクセスタイミングについて」で示したことと同様に、請求人の上記した主張は本願発明に対応する本願の請求項１の記載に根拠のあるものではない。
　
　また、分岐ターゲットバッファのタグに関するものであるものの、本願発明の「現在の分岐命令の分岐ターゲットを示す情報」と引用発明の「基本ブロックの先頭アドレス」に関しては、本願発明と引用発明の実質的な相違点にはならないことは、既に「第５．新規性の判断」の「２．相違点２について」で示したとおりであり、仮に、その点が本願発明と引用発明の実質的な相違点であるとしても、その相違点は格別のものではないことも、既に「第６．進歩性の判断に関する予備的検討」で示したとおりである。このことは、分岐ターゲットバッファへのアクセスアドレスに関しても同様である。
　
　よって、分岐ターゲットバッファへのアクセスアドレスが、本願発明では分岐命令のターゲットアドレスであるのに対し、引用発明では基本ブロックの先頭アドレスであり、ここでいう、分岐命令のターゲットアドレスと基本ブロックの先頭アドレスは異なるものである旨の請求人の上申書での上記した主張は、採用することができない。
　
４．その他の主張
　請求人は上申書にて、上記１．乃至３．で既に指摘した点以外には、下記のような主張をしている。
　
「本願明細書において、一貫して「現在の分岐命令」の分岐ターゲットアドレスである、と表現している「現在の」の意味は、データアレイにそのターゲットアドレスが格納されている「次の分岐命令」を未だフェッチしていない時点である、現在の時点において、フェッチしてデコードして、分岐予測した命令である「現在の」分岐命令である、ということであります。」 
　
「そして、本願発明は、通常のＢＴＢ／分岐先予測機能の使用を除外するものではありません。本願発明のＢＴＢは、あくまでも、ある分岐命令の分岐先予測の結果に基づいて、次の分岐命令の分岐先を提供するＢＴＢであることが特徴であります。従って、本願発明のＢＴＢは、現在の分岐命令の分岐先を提供するものではありません。 
　本願発明は、従来のＢＴＢのような、現在の分岐命令に関して、分岐先情報を提供することに関しては、サイレントであります。あくまでも、現在の分岐命令の分岐先を与える機能ではなく、ＢＴＢを構築したときに得られた次の分岐命令とその分岐先の情報を、その直前の分岐命令の分岐先アドレスであるタグと関連づけて記憶してあるものであって、現在の分岐命令の分岐先予測の結果に基づいて、次の分岐命令の分岐先情報を提供するという点に特徴があるのであります。」 
　
「このように、本願発明と引例１とでは、ヒットそのものの意味が引例１とは異なりますから、本願発明のＢＴＢが返してくるアドレスは、次の分岐命令をフェッチするよりも前に得られる、予測を行った分岐命令の次の分岐命令としてＢＴＢ構築時に設定された次の分岐命令、（この分岐命令は、まだフェッチもされていないものであります）のターゲットであります。
　従いまして、ＢＴＢが返してくる次の分岐命令のターゲットアドレスは、更に先の命令の先読みを許容しますから、分岐予測が正しい状況が続くかぎり、次の分岐命令に続く命令をいち早く先読みすることができます。」
　
　しかしながら、既に「第３．先行技術文献に記載されている技術的事項と先行技術文献に記載されている発明の認定」、「第４．対比」、「第５．新規性の判断」及び「第６．進歩性の判断に関する予備的検討」で示したように、分岐命令のアドレスをタグとし、当該分岐命令のターゲットアドレスをデータとする、当業者には周知な分岐ターゲットバッファではなくて、ある分岐命令のターゲットアドレスに相当するアドレスをタグとし、当該ある分岐命令よりは後にある別の分岐命令のターゲットアドレスをデータとする分岐ターゲットバッファに関するものである点で、本願発明と引用発明は同様のものであるから、請求人の上申書での上記した主張は採用することはできない。
　
５．付言
　請求人は上申書の末尾にて「出願当初の明細書および図面の意図する本願発明は、上記のものでありますので、現請求項の記載との整合性を含め、ご検討の程をお願いします。」と述べている。
　
　しかしながら、既に「第５．新規性の判断」及び「第６．進歩性の判断に関する予備的検討」にて示したように、特許法第２９条第１項第３項の規定と同法同条第２項の規定に依拠する原審の拒絶査定の理由は維持されるものであるから、本願明細書等の記載と本願の請求項１の記載との整合性に関する拒絶理由通知を、改めて当審がなす特許法上の根拠はない。
　また、上記「２．分岐ターゲットバッファへのアクセスアドレス及びアクセスタイミングについて」で示したように、本願発明に対応する本願の請求項１の「入力命令アドレスが、タグアレイにおけるエントリーと一致したことに応答して」という記載が、本願明細書等の他の箇所の記載と対応していないとまではいえないので、本願明細書等の記載と本願発明に対応する本願の請求項１の記載との間に整合性に関して疑義があるとまではいえない。その意味でも、本願明細書等の記載と本願の請求項１の記載との整合性に関する拒絶理由通知を当審がなす事情はない。
　
第８．むすび
　したがって、本願の請求項１に係る発明は、その優先日前に日本国内又は外国において頒布された刊行物に記載された発明であるから、特許法第２９条第１項第３号に該当し、他の請求項について検討をするまでもなく、本願は特許を受けることができない。 
　また、仮に本願の請求項１に係る発明と前記刊行物に記載された発明に実質的な相違点が存在するとしても、本願の請求項１に係る発明は、その優先日前に日本国内又は外国において頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、他の請求項について検討をするまでもなく、本願は特許法第２９条第２項の規定により特許を受けることができない。 
 　 
　よって、結論のとおり審決する。