【事件の表示】
　特願２００７−１８０３１５「特殊機能を提供する高性能投機的実行プロセッサの構造及び方法」拒絶査定不服審判事件〔平成１９年１１月　１日出願公開、特開２００７−２８７１７６〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
　第１．手続の経緯
　本願は、パリ条約による１０件の優先権主張（うち、最先のものは１９９５年２月１４日（以下、「最先優先日」という。）、米国）を伴う、１９９６年２月１３日（外国庁受理、米国）を国際出願日とする特願平８−５２５０８５号の一部を平成１６年９月１３日に新たな特許出願とした特願２００４−２６５７１６号の一部を更に平成１８年１月１３日に新たな特許出願とした特願２００６−６３１５号の一部を更に平成１９年７月９日に新たな特許出願としたものであって、平成２０年５月８日付けで拒絶理由通知がなされ、同年７月１４日付けで手続補正がなされるとともに同日付けで意見書が提出されたが、平成２０年８月６日付けで拒絶査定がなされ、これに対し同年９月１１日付けで審判請求がなされるとともに同年１０月１４日付けで手続補正がなされ、同年１０月３１日付けで審査官から前置報告がなされ、平成２１年１月１９日付けで当審より審尋がなされ、平成２１年３月２３日付けで回答書が提出されたものである。
　
　第２．平成２０年１０月１４日付けの手続補正についての補正却下の決定
　［補正却下の決定の結論］
　平成２０年１０月１４日付けの手続補正を却下する。
　
　［補正却下の決定の理由］
　１．補正の内容
　平成２０年１０月１４日付けの手続補正（以下「本件補正」という。）は、平成２０年７月１４日付けの手続補正により補正された特許請求の範囲（以下、「補正前の特許請求の範囲」という。）の記載
　
「【請求項１】
　命令を格納する命令記憶手段と、
　プログラムの順序に従って前記命令記憶手段に格納された命令を発行する命令発行手段と、
　前記発行された命令の実行を行う命令実行手段と、
　前記プログラム上で定義される論理レジスタと、
　前記命令実行手段が前記発行された命令を実行する場合に使用する物理レジスタと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報を格納するリネームマップ記憶手段と、
　前記論理レジスタと前記リネームマップ記憶手段の内容を記憶するチェックポイント実行が必要なチェックポイント命令と、中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令をデコードする命令デコード手段と、
　前記命令発行手段が発行した命令が前記命令デコード手段により、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うチェックポイント実行手段と、
　前記例外処理発生命令の実行により、前記例外処理が発生したことを検出する例外処理検出手段と、
　前記チェックポイント命令の実行後に、前記命令デコード手段又は前記例外処理検出手段により例外処理が検出された場合に、前記リネームマップ記憶手段に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するバックアップ手段を有することを特徴とする中央処理ユニット。
　
　【請求項２】
　前記論理レジスタは、前記命令の実行対象が格納される論理ソースレジスタと前記命令の実行結果が格納される論理宛先レジスタを含むことを特徴とする請求項１記載の中央処理ユニット。
　
　【請求項３】
　前記論理レジスタは、前記論理レジスタを識別するための互いに固有の論理レジスタタグを有し、
　前記物理レジスタは、前記物理レジスタを識別するための互いに固有の物理レジスタタグを有することを特徴とする請求項１又は２記載の中央処理ユニット。
　
　【請求項４】
　前記中央処理ユニットはさらに、
　前記チェックポイント命令の実行後に、前記命令デコード手段又は前記例外処理検出手段により例外処理が検出された場合に、前記チェックポイント命令のアドレスと前記例外処理を発生させた命令の直前の命令のアドレスの差分であるバックステップ量をプログラムカウンタからデクリメントさせるバックステップ実行手段を有することを特徴とする請求項１〜３のいずれか一項に記載の中央処理ユニット。
　
　【請求項５】
　前記例外処理発生命令は、自命令の次に実行する命令のアドレスが自命令のアドレスとは不連続である制御転送命令、条件付命令が実行に際して参照する制御レジスタの値を変更する制御レジスタ値変更命令、及び、トラップを発生させるトラップ命令のいずれかであることを特徴とする請求項１〜４のいずれか一項に記載の中央処理ユニット。
　
　【請求項６】
　命令を格納する命令記憶手段と、
　プログラムの順序に従って前記命令記憶手段に格納された命令を発行する命令発行手段と、
　前記発行された命令の実行を行う命令実行手段と、
　前記プログラム上で定義される論理レジスタと、
　前記命令実行手段が前記発行された命令を実行する場合に使用する物理レジスタと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報を格納するリネームマップ記憶手段と、
　前記論理レジスタと前記リネームマップ記憶手段の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードする命令デコード手段と、
　前記命令発行手段が発行した命令が前記命令デコード手段により、チェックポイント命令であると識別された場合に、前記チェックポイント実行の代わりに、中央処理ユニットの内部状態の同期を行う同期化実行手段と、
　前記チェックポイント命令の実行後に、中央処理ユニットの通常動作を停止させる例外処理が発生した場合に、前記リネームマップ記憶手段に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するバックアップ手段を有することを特徴とする中央処理ユニット。
　
　【請求項７】
　命令を格納する命令記憶部と前記命令を発行する命令発行部と前記命令を実行する命令実行部とプログラム上で定義される論理レジスタに対応する物理レジスタとを有する中央処理ユニットの命令制御方法において、
　前記命令記憶部が、命令を格納するステップと、
　前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップと、
　前記命令実行部が、前記発行された命令を実行するステップと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップと、
　前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードするステップと、
　前記命令発行部が発行した命令が、前記デコードするステップにおいて、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うステップと、
　中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令の実行により、前記例外処理が発生したことを検出するステップと、
　前記チェックポイント命令の実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップを有することを特徴とする命令制御方法。
　
　【請求項８】
　前記論理レジスタは、前記命令の実行対象が格納される論理ソースレジスタと前記命令の実行結果が格納される論理宛先レジスタを含むことを特徴とする請求項７記載の命令制御方法。
　
　【請求項９】
　前記論理レジスタは、前記論理レジスタを識別するための互いに固有の論理レジスタタグを有し、
　前記物理レジスタは、前記物理レジスタを識別するための互いに固有の物理レジスタタグを有することを特徴とする請求項７又は８記載の命令制御方法。
　
　【請求項１０】
　前記中央処理ユニットの命令制御方法はさらに、
　前記チェックポイント命令の実行後に、例外処理が検出された場合に、前記チェックポイント命令のアドレスと前記例外処理を発生させた命令の直前の命令のアドレスの差分であるバックステップ量をプログラムカウンタからデクリメントさせるステップを有することを特徴とする請求項７〜９のいずれか一項に記載の命令制御方法。
　
　【請求項１１】
　前記例外処理発生命令は、自命令の次に実行する命令のアドレスが自命令のアドレスとは不連続である制御転送命令、条件付命令が実行に際して参照する制御レジスタの値を変更する制御レジスタ値変更命令、及び、トラップを発生させるトラップ命令のいずれかであることを特徴とする請求項７〜１０のいずれか一項に記載の命令制御方法。
　
　【請求項１２】
　命令を格納する命令記憶部と前記命令を発行する命令発行部と前記命令を実行する命令実行部とプログラム上で定義される論理レジスタに対応する物理レジスタとを有する中央処理ユニットの命令制御方法において、
　前記命令記憶部が、命令を格納するステップと、
　前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップと、
　前記命令実行部が、前記発行された命令を実行するステップと、
　前記論理レジスタに対して前記物理レジスタを対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップと、
　前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードするステップと、
　前記命令発行部が発行した命令が、前記デコードするステップにおいて、チェックポイント命令であると識別された場合に、前記チェックポイント実行の代わりに、中央処理ユニットの内部状態の同期を行うステップと、
　前記チェックポイント命令の実行後に、中央処理ユニットの通常動作を停止させる例外処理が発生した場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップを有することを特徴とする命令制御方法。」
　
を、
　
「【請求項１】
　命令を格納する命令記憶手段と、
　プログラムの順序に従って前記命令記憶手段に格納された命令を発行する命令発行手段と、
　前記発行された命令の実行を行う命令実行手段と、
　前記プログラム上で定義される論理レジスタと、
　前記命令実行手段が前記発行された命令を実行する場合に使用する物理レジスタと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報を格納するリネームマップ記憶手段と、
　チェックポイント命令をデコードする命令デコード手段と、
　前記命令発行手段が発行した命令が前記命令デコード手段により、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うチェックポイント実行手段と、
　中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令の実行により、前記例外処理が発生したことを検出する例外処理検出手段と、
　前記例外処理検出手段により例外処理が検出された場合に、前記例外処理を発生させた命令より後続の前記チェックポイント命令の実行により前記リネームマップ記憶手段に格納された情報を用いて、前記チェックポイント命令を実行した状態に前記論理レジスタの内容を復元するバックアップ手段を有することを特徴とする中央処理ユニット。
　
　【請求項２】
　前記論理レジスタは、前記命令の実行対象が格納される論理ソースレジスタと前記命令の実行結果が格納される論理宛先レジスタを含むことを特徴とする請求項１記載の中央処理ユニット。
　
　【請求項３】
　前記論理レジスタは、前記論理レジスタを識別するための互いに固有の論理レジスタタグを有し、
　前記物理レジスタは、前記物理レジスタを識別するための互いに固有の物理レジスタタグを有することを特徴とする請求項１又は２記載の中央処理ユニット。
　
　【請求項４】
　命令を格納する命令記憶部と前記命令を発行する命令発行部と前記命令を実行する命令実行部とプログラム上で定義される論理レジスタに対応する物理レジスタとを有する中央処理ユニットの命令制御方法において、
　前記命令記憶部が、命令を格納するステップと、
　前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップと、
　前記命令実行部が、前記発行された命令を実行するステップと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップと、
　チェックポイント命令をデコードするステップと、
　中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令の実行により、前記例外処理が発生したことを検出するステップと、
　前記例外処理が検出された場合に、前記例外処理を発生させた命令より後続の前記チェックポイント命令の実行により前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップを有することを特徴とする命令制御方法。
　
　【請求項５】
　前記論理レジスタは、前記命令の実行対象が格納される論理ソースレジスタと前記命令の実行結果が格納される論理宛先レジスタを含むことを特徴とする請求項４記載の命令制御方法。
　
　【請求項６】
　前記論理レジスタは、前記論理レジスタを識別するための互いに固有の論理レジスタタグを有し、
　前記物理レジスタは、前記物理レジスタを識別するための互いに固有の物理レジスタタグを有することを特徴とする請求項４又は５記載の命令制御方法。」（以下、「補正後の特許請求の範囲」という。）
　
に補正するものである（なお、以下では、補正前の特許請求の範囲に記載されている請求項を「補正前の請求項」といい、補正後の特許請求の範囲に記載されている請求項を「補正後の請求項」という。）。
　
　２．補正の目的要件について
　（2-1）着目する補正箇所
　本件補正は、以下の（Ａ）、（Ｂ）の補正を含む。
　
　（Ａ）補正前の請求項４〜６、１０〜１２を削除する補正。
　
　（Ｂ）補正前の請求項７を補正後の請求項４へと請求項の番号を変更するとともに、補正前の請求項７の記載に対し更に以下の（B-1）〜（B-3）の補正を行って、補正後の請求項４の記載とする補正。
　　（B-1）補正前の請求項７の「前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードするステップ」という記載に含まれていた「前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要な」という発明特定事項を削除し、補正後の請求項４の「チェックポイント命令をデコードするステップ」という記載に変更する補正。
　　（B-2）補正前の請求項７に記載されていた「前記命令発行部が発行した命令が、前記デコードするステップにおいて、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うステップ」という発明特定事項を削除する補正。
　　（B-3）補正前の請求項７の「前記チェックポイント命令の実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップ」という記載を、補正後の請求項４において「前記例外処理が検出された場合に、前記例外処理を発生させた命令より
後続の
　
　（2-2）上記（Ａ）の補正についての判断
　上記（Ａ）の補正は、特許法第１７条の２第４項第１号（請求項の削除）を目的とする補正である。
　
　（2-3）上記（B-1）、（B-2）の補正についての判断
　上記（B-1）、（B-2）の補正は、補正前の請求項に記載されていた発明特定事項を、対応する補正後の請求項において削除する補正であるから、特許法第１７条の２第４項第１号乃至第４号のいずれを目的とする補正でもないことは明白である。
　
　（2-4）上記（B-3）の補正についての判断
　次に、上記（B-3）の補正は、以下に（2-4-1）〜（2-4-3）として分けて検討するように、特許法第１７条の２第４項第１号乃至第４号のいずれを目的とする補正でもない。
　
　（2-4-1）まず、上記（B-3）の補正は、特許法第１７条の２第４項第１号（請求項の削除）を目的とする補正ではない。
　（2-4-2）また、上記（B-3）の補正は、以下の（イ）、（ロ）の点において、特許法第１７条の２第４項第２号を目的とする補正であるとは認められない。
　（イ）補正前の請求項７では、「前記チェックポイント命令の実行後に、例外処理が検出された
場合
場合
場合
場合
　（ロ）上記（B-3）によって補正された補正後の請求項４は、「前記例外処理を発生させた命令より
後続の
　
「前述のように、請求項１に係る発明では、例外処理が検出された場合に、例外処理を発生させた命令より
後続の
バックステップによる状態復元を可能にしています
　
と主張するように、「バックステップによる状態復元を可能にする」という新たな課題を解決するものとなるが、そのような課題は、補正前の請求項７に記載されている構成では解決できていなかった（補正前の請求項７では、「チェックポイント命令の実行
後に
前に
　
　（2-4-3）また、上記（B-3）の補正は、特許法第１７条の２第４項第３号、第４号を目的とする補正でもない。
　
　（2-5）補正の目的要件についてのまとめ
　以上検討したように、上記（Ｂ）の補正に含まれる上記（B-1）〜（B-3）の補正は、特許法第１７条の２第４項第１号乃至第４号のいずれを目的とする補正でもないので、本件補正は特許法第１７条の２第４項に規定されている要件を満たしていない。
　
　３．独立特許要件について
　上述の如く、本件補正は特許法第１７条の２第４項に規定されている要件を満たしていないが、仮に、本件補正が特許法第１７条の２第４項第２号の特許請求の範囲の減縮を目的とする補正であると仮定した場合に、補正後の特許請求の範囲に記載された発明が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合するか）を、以下に検討する。
　
　（3-1）特許法第３６条第６項第２号の要件について
　補正後の請求項４には「中央処理ユニットの
通常
停止
例外処理
　一方、補正後の請求項４に存在する「前記例外処理が検出された場合に、前記例外処理を発生させた命令より
後続の
　
　（3-2）特許法第３６条第４項の要件について
　上記（3-1）で指摘したように、補正後の請求項４の記載は技術的に矛盾しており、そのような技術的に矛盾した事項の具体的な実現手法は、当業者が実施できる程度に明確かつ十分に発明の詳細な説明の記載において開示されていない。
　また、補正後の請求項４の前記記載Ｂのように、「前記例外処理が検出された場合に、前記例外処理を発生させた命令より
後続の
　すなわち、明細書の段落【０３４２】、【０３４４】、【０３４９】には、
　
「【０３４２】
　バックステップ中に於けるＣＰＵ５１の状態回復には、
マシンレジスタ資源を更新すること
プログラムカウンタをバックステップ量だけ減分することだけ
　
「【０３４４】
　レジスタリクレームフォーマットユニット３０２は、バックステップをアサートした信号（ＤＯ  ＢＡＣＫＳＴＥＰ）に応答し、リクレームされて回復されるＲＲＦアイテムの数は、ＤＯ  ＢＡＣＫＵＰ信号内のバックアップステップカウント数に等しい。ＲＲＦは、ロジカル−ツウ−オールド−フィジカルマップ、即ちソース又は行き先データ値を保持するロジカル−ツウ−オールド−フィジカルレジスタの割当を含んでいる。ＲＲＦ３０２の命令に割り当てられたレジスタ資源、又はレジスタマップの何れもＣＳＮ又はＲＲＰを進めることによってフリーリスト７００へは自由に戻れないから、レジスタの実際のデータは妨害されない。ＲＲＦは、バックステップした命令をもと実行したきと同じ関係で、フィジカルレジスタ（オールドフィジカルレジスタ）をロジカルレジスタを再度組み合わせる。
レジスタマッピングを一つずつ回復する
　
「【０３４９】
　図４３は２つのバックステップを伴うマシンバックアップの例を示す図である。
バックステップは一度の幾つかの命令を、単一ステップ又は多重ステップとして実行できる
に関わる全ての資源を再生する
に関わる全ての資源を再生する
　
と記載されているが、これらの段落における「バックステップ中に於けるＣＰＵ５１の状態回復には、
マシンレジスタ資源を更新すること
プログラムカウンタをバックステップ量だけ減分することだけ
レジスタマッピングを一つずつ回復する
に関わる全ての資源を再生する
に関わる全ての資源を再生する
　したがって、発明の詳細な説明の記載は、補正後の請求項４に記載された発明を当業者が実施できる程度に明確かつ十分に記載されているものとはならなくなり、特許法第３６条第４項に規定されている要件を満たさないこととなる。
　
　上記（3-1）、（3-2）において検討したように、補正後の特許請求の範囲に請求項４として記載された発明は、特許出願の際独立して特許を受けることができるものではないので、本件補正は特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合しない。
　
　４．本件補正についてのまとめ
　上記「２．補正の目的要件について」で述べたように、本件補正は平成１４年法律第２４号改正附則第２条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第４項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。 
　また、仮に、本件補正が特許法第１７条の２第４項の規定に適合するものと仮定しても、上記「３．独立特許要件について」で述べたように、本件補正は平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。 
　したがって、上記［補正却下の決定の結論］のとおり決定する。
　
　第３．本願発明について
　１．本願発明
　平成２０年１０月１４日付けの手続補正は上記のとおり却下されたので、本願の請求項７に係る発明（以下、同項記載の発明を「本願発明」という。）は、平成２０年７月１４日付け手続補正書の特許請求の範囲の請求項７に記載された事項により特定される、以下のとおりのものである。
　
「命令を格納する命令記憶部と前記命令を発行する命令発行部と前記命令を実行する命令実行部とプログラム上で定義される論理レジスタに対応する物理レジスタとを有する中央処理ユニットの命令制御方法において、
　前記命令記憶部が、命令を格納するステップと、
　前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップと、
　前記命令実行部が、前記発行された命令を実行するステップと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップと、
　前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードするステップと、
　前記命令発行部が発行した命令が、前記デコードするステップにおいて、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うステップと、
　中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令の実行により、前記例外処理が発生したことを検出するステップと、
　前記チェックポイント命令の実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップを有することを特徴とする命令制御方法。」
　
　２．引用発明
　原審の拒絶の理由において引用文献１として挙げられている特開平６−２３０９６１号公報（以下、「引用文献１」という。）は、本願の最先優先日よりも前に頒布された文献であるが、この引用文献１には、図面とともに以下の記載が存在している（なお、下線部は便宜的に当審において付与したもの。以下同じ。）。
　
「【０００１】
【産業上の利用分野】本発明は一般に
データ・プロセッサ
データ・プロセッサ
【０００２】
【従来の技術】推論的に命令（例：分岐）を実行するデータ・プロセッサは、誤った分岐予測の場合のように、「推論的」な命令をデータ・プロセッサが完全に実行できない場合に、データ・プロセッサの
状態
【０００３】既知の高性能データ・プロセッサは通常、物理レジスタの使用を介して、高速データ記憶を処理しており、この方法によってプログラムは、必要なデータ・オペランドが格納されている指定の物理レジスタを指定する。一般に、命令を符号化すると、プログラムが使用できる物理レジスタの数が制限される。たとえば、２個のソース・レジスタと１個の宛先物理レジスタを扱う32ビット符号化機能では、物理レジスタの最大数は３２である（この場合、符号化された各フィールドは５ビットの命令符号化を用いる）。高度なパイプライン方式のコンピュータ・アーキテクチャでは、レジスタ内のデータ記憶期間が長くなっており、多くのプログラムがより多くの物理レジスタを利用できるというメリットを受けることができる。命令の符号化を確保しながら、より多くの物理（ハードウェア）レジスタを提供するために、
データ処理システムが採用する１つの機構がレジスタ再命名である。この再命名機構は、命令の符号化フィールドにある元の論理（プログラム）レジスタ番号を、物理レジスタのプール内に割り当てることによって動作する。この論理レジスタは、命令の実行中にプログラムが操作するものである
【０００４】
【発明が解決しようとする課題】レジスタ割当は、プログラムによって決定される。最初、すべての論理レジスタは、再命名機構によって、一意の物理レジスタ
番号
【０００５】
【課題を解決するための手段】データ処理システムにおいて、バックアップ機能を備えてレジスタ再命名を実行する方法が提供される。このデータ処理システムは、
所定数の実行装置に対する命令パケットのデコードと発行を制御するために、命令順序付け・発行論理を備えている
　（中略）
【００１０】
【実施例】本発明は、多岐にわたるコンピュータ・システム環境で実現できる。したがって、図１の
データ処理システム１０
命令キャッシュ１４は要求された命令の位置を突きとめ、命令もしくは命令パケットを命令デコード／発行論理１６に送る
【００１１】このマッピング・プロセスと同時に、命令デコード／発行論理１６は、各命令を検査して、各命令が値を送出するか否かを判断する。命令が値を送出する場合には、再命名ハードウェア１８内のレジスタ・マップは本発明に従って更新される。命令デコード／発行論理１６が再命名ハードウェア１８に送出した（書き込むための）論理レジスタ名は、特定の順序（スロット情報）を有しており、この情報によって、再命名ハードウェア１８は当該命令に物理レジスタ名を割り当てることができる。物理レジスタ・ファイル２０は、この物理レジスタ名またはこれに相当するなんらかの機能（例：「ＴＡＧ」）を用いて、結果を書き込むべき正しい物理レジスタを、実行装置２４に指示する。
シーケンサ１２は各命令群（「ＰＡＣＫＥＴ」）を追跡して、再命名ハードウェア１８および予約ステーション２２に、各命令パケットの識別子（「発行ポイント」）を送出する
またシーケンサ１２は各命令パケットを追跡して、実行装置２４の１つが命令の実行を完了したことによって
【００１２】図２に示すように、レジスタ再命名ハードウェア１８は、
論理・物理（ＬＰ）マップ３０
ＬＰマップ３０は、Ｍ行およびＸ列を有するマップ・セル４０〜５５のマトリックスによって構成され、ここでＭはデータ処理システム１０のアーキテクチャ・モデル内の論理レジスタの数に等しい整数であり、Ｘは発行ポイントの数に等しい整数である
図２に示すＬＰマップ３０およびフリー・リスト３２は、４×４のマトリックス配列になっている。したがってＬＰマップ３０は、４個の論理レジスタＲ０〜Ｒ３をマッピング（割当）するための１６個のマップ・セル４０〜５５によって構成され
【００１３】
命令（または命令群）が命令デコード／発行論理１６によってデコードされるたびに、読み取り対象となる論理レジスタは、それらの値が見つかる物理レジスタ「名」を探すための索引を、再命名ハードウェア（１８）内の論理・物理（ＬＰ）マップ３０に付ける。この「名前」は予約ステーション２２に送られる。本発明に基づき、書き込み対象となる論理レジスタは、フリー・リスト３２から物理レジスタ名を取り出し、物理レジスタ・スワップ・バス９０を介して、当該物理レジスタ名をＬＰマップ３０内に入れる。この時点でＬＰマップ３０は、ＬＰマップ３０内のマッピング配列の一部である１個のマップ・セル、たとえばマップ・セル４０内に、新しいレジスタ・マッピングが格納されることになる。したがってＬＰマップ３０は、命令デコード／発行論理１６が命令もしくは命令群をデコードされるたびに発生する異なるレジスタ・マッピング（論理・物理間) を格納する
【００１４】
図３〜図９
４個の論理レジスタ（Ｒ０〜Ｒ３）と４個の発行ポイント
【００１５】
【数１ー１】      Ｐ＝Ｒ＊（ＩＷ＋１）
このため、図３〜図９に示す一連の例では、レジスタ再命名動作をサポートするのに必要な物理レジスタの数は２０となる。
【００１６】図３に、初期化（Ｉ０）の間に発生するレジスタ・マッピングを示す。初期化の間に、物理レジスタＰ０〜Ｐ３がフリー・リスト３２から取り出されて、物理レジスタ・スワップ・バス９０を介して、ＬＰマップ３０に転送される。このため図に示すように、論理レジスタＲ０〜Ｒ３はＬＰマップ３０内の物理レジスタＰ０〜Ｐ３にそれぞれ割り当てられる。黒く塗られた領域は、ＬＰマップ３０およびフリー・リスト・セル３２内の割り当てられていないセルを示している。このため、初期化時に、論理レジスタＲ０〜Ｒ３はそれぞれ物理レジスタＰＯ〜Ｐ３に割り当てられ、物理レジスタＰ４〜Ｐ１９はフリー・リスト３２の中に格納される。この初期化の結果、物理レジスタＰ０〜Ｐ３が「可視」になる。実質的には、可視の物理レジスタは、ＬＰマップ３０内の、これに対応する論理レジスタによる索引が付けられている位置に見つかる。
【００１７】図４に、レジスタ再命名シーケンスにおける第１発行ポイント（Ｉ１）を示す。第１発行ポイントでは、命令デコード／発行論理１６は、以下の表に示すような
４つのＡＤＤ命令によって構成される第１命令パケット（ＰＡＣＫＥＴ１）
【００１８】
【表１】
ＳＬＯＴ０     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ０
ＳＬＯＴ１     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ２     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ２
ＳＬＯＴ３     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ３
前述のように、フリー・リスト３２は命令スロット（ＳＬＯＴ０〜３）によって索引が付けられており、そのため第１ＡＤＤ命令はＳＬＯＴ０に割り当てられ、最後のＡＤＤ命令はＳＬＯＴ３に割当られる。そのため、命令ＳＬＯＴ０内ではＰ４がフリー物理レジスタなので、宛先論理レジスタＲ０は物理レジスタＰ４に割り当てられる。同様に、命令ＳＬＯＴ１内ではＰ５がフリー物理レジスタなので、宛先論理レジスタＲ１は物理レジスタＰ５に割り当てられる（以下同様）。発行ポイントＩ１では、物理レジスタＰ４〜Ｐ７がフリー・リスト３２から取り出されて、ＬＰマップ３０のマップ・セル１０４〜１０７内にそれぞれ入れられる。そのため
第１発行ポイント（Ｉ１）におけるＲ０〜Ｒ３のレジスタ・マッピングはそれぞれＰ４〜Ｐ７となる
【００１９】図１１に示すように、本発明に基づくフリー・リスト・セル６０〜７９はそれぞれ、２つの物理レジスタ名（すなわちＬＡＳＴとＣＵＲＲＥＮＴ）、およびどの物理レジスタ名がＣＵＲＲＥＮＴであるかを指定する１個のポインタ８０〜８３（図２）を含んでいる。データ処理システム１０が書き込み動作を実行するたびに、ＣＵＲＲＥＮＴ物理レジスタ名が、前記のようにＬＰマップ３０に転送され、ＬＰマップ３０からの物理レジスタ名は、フリー・リスト３２内の、ＬＡＳＴの位置に入れられる。ついでポインタ（例：ポインタ８０）が切り替わって、ＬＡＳＴがＣＵＲＲＥＮＴになる。これにより前記のように、物理レジスタＰ４がフリー・リスト３２から取り出されて、スワップ・バス９０を介してＬＰマップ３０に転送される。その結果、Ｐ４が宛先論理レジスタＲ０に割当られ、可視となる。
ＬＰマップ３０内でＲ０に以前割り当てられていた物理レジスタ名（Ｐ０）は、対応するフリー・リスト・セルのファースト(first) 名ラッチ１１６（図１１）の中に格納され、これによって「不可視」となる。不可視レジスタとは、論理的な意味で上書きされたものであるが、分岐の予測誤りまたは例外によって、シーケンサ１２が「バックアップ動作」を実行する必要があれば、可視にできるものをいう
【００２０】図５に示す第２発行ポイント（Ｉ２）では、命令デコード／発行論理１６は、表ＩＩに示すように３つのＡＤＤ命令を含んでいる命令ＰＡＣＫＥＴ２をデコードする。
【００２１】
【表２】
ＳＬＯＴ０     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ３
ＳＬＯＴ１     ＡＤＤ（Ｒ３＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ２     ＮＯＰ
ＳＬＯＴ３     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ２
前述のように、フリー・リスト３２は命令スロットによって索引付けされている。したがって、第１ＡＤＤ命令はＳＬＯＴ０に割り当てられる。そのため、フリー・リスト３２の命令ＳＬＯＴ０内では、Ｐ８がフリー物理レジスタであるので、宛先論理レジスタＲ３は物理レジスタＰ８に割り当てられる。同様に、宛先論理レジスタＲ１は、フリー・リスト３２の命令ＳＬＯＴ１内ではＰ９がフリー物理レジスタであるので、物理レジスタＰ９に割り当てられる。ＳＬＯＴ２内でデコードされるＮＯＰ命令はレジスタ・マッピングに影響を及ぼさない。そのためフリー物理レジスタＰ１０は、図５の矢印が示すように、ＳＬＯＴ２のために、隣接するフリー・リスト・セルにコピーされる。同様に、
ＰＡＣＫＥＴ２でデコードされる命令はいずれも、論理レジスタＲ０のマッピングに影響を及ぼさないので
第２発行ポイントにおけるＲ０〜Ｒ３のレジスタ・マッピングは、図５に示すようにそれぞれＰ４，Ｐ９，Ｐ１１，Ｐ８となる
【００２２】図６に示す第３発行ポイントでは、命令デコード／発行論理１６は、以下の表ＩＩＩに示すように、
２つのＡＤＤ命令と２つのＮＯＰ命令によって構成される命令ＰＡＣＫＥＴ３
【００２３】
【表３】
ＳＬＯＴ０     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ０
ＳＬＯＴ１     ＮＯＰ
ＳＬＯＴ２     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ３     ＮＯＰ
ＳＬＯＴ０でデコードされる第１のＡＤＤ命令によって、論理宛先レジスタＲ０は、ＳＬＯＴ０内のフリー物理レジスタＰ１２に再割当される。一方第２のＡＤＤ命令によって、レジスタＲ１は、ＳＬＯＴ２内のフリー物理レジスタＰ１４に再割当される。ＰＡＣＫＥＴ２でデコードされる命令は論理レジスタＲ２，Ｒ３のマッピングに影響を及ぼさないので、以前Ｒ２，Ｒ３にそれぞれ割り当てられていた物理レジスタＰ１１，Ｐ１８は、矢印が示すように、ＬＰマップ３０内の隣接するマップ・セル内にコピーされる。同様に、割り当てられなかったＳＬＯＴ１およびＳＬＯＴ３のフリー物理レジスタは、図７の矢印が示すように、フリー・リスト３２内の隣接するフリー・リスト・セル内にコピーされる。このため第３命令発行ポイント（Ｉ３）におけるＲ０〜Ｒ３のレジスタ・マッピングはそれぞれＰ１２，Ｐ１４，Ｐ１１，Ｐ８となる。前述のように、以前割り当てられていた物理レジスタ（Ｐ４，Ｐ９）はラスト名ラッチ内に入れられ、ポインタはラスト名がカレント名になるように切り替わる。
【００２４】図７に示すレジスタ再命名シーケンスの第４発行ポイント（Ｉ３）では、命令デコード／発行論理１６は、以下の表ＩＶに示すように３つのＡＤＤ命令と１つのＮＯＰ命令によって構成される命令ＰＡＣＫＥＴ４をデコードする。
【００２５】
【表４】
ＳＬＯＴ０     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ０
ＳＬＯＴ１     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ２     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ３     ＮＯＰ
ＳＬＯＴ０内でデコードされる第１ＡＤＤ命令によって、レジスタＲ０は、フリー・リスト３２のＳＬＯＴ０内のフリー物理レジスタであるＰ１６に再割当される。ＳＬＯＴ１内でデコードされる第２ＡＤＤ命令によって、Ｒ１は、ＳＬＯＴ１内のフリー物理レジスタであるＰ１７に再割当される。第３ＡＤＤ命令によって、Ｒ１は、フリー・リスト３２のＳＬＯＴ２内のフリー物理レジスタであるＰ１８に再割当される。前述のように、ＮＯＰ命令は、ＬＰマップ３０内のレジスタ・マッピングには影響を及ぼさない。パケット３内でデコードされる命令は論理レジスタＲ２，Ｒ３のマッピングには影響を及ぼさないので、図７に示すように、命令発行ポイントＩ４では、それらの以前の物理レジスタ・マッピングＰ１１，Ｐ８はそれぞれ、隣接するマップ・セル内にコピーされる。このため、第４命令発行ポイントにおけるＲ０〜Ｒ４のレジスタ・マッピングはそれぞれＰ１６，Ｐ１８，Ｐ１１，Ｐ８となる。以前割り当てられていた物理レジスタ（Ｐ１２，Ｐ１４）は、矢印が示すように、フリー・リスト３２内の対応するフリー・リスト・セルのラスト名ラッチ内に入れられる。ポインタが切り替わり、ラスト名の物理レジスタが、カレント名の物理レジスタになる。
【００２６】本発明に基づくレジスタ再命名シーケンス中、最終的には、ＬＰマップ３０およびフリー・リスト３２は共にラップアラウンドして、古い物理レジスタ名の上に上書きされる。実行装置２４が、「バックアップ」発生の機会がなく、上書きされた発行ポイント内のすべての命令の実行を完了する限り、これは問題を生じない。したがって図８に示す第５命令発行チェックポイント（Ｉ５）では、命令発行論理が、以下の表Ｖに示すような４つのＡＤＤ命令によって構成される命令ＰＡＣＫＥＴ５をデコードする。
【００２７】
【表５】
ＳＬＯＴ０     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ３
ＳＬＯＴ１     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ１
ＳＬＯＴ２     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ０
ＳＬＯＴ３     ＡＤＤ（Ｒ１＋Ｒ２）−＞  Ｒ２
図８に示すように、フリー・リスト３２はラップアラウンドしており、そのため、使用可能な第１のフリー物理レジスタはＰ０〜Ｐ３となる。ＰＡＣＫＥＴ５が発行された結果発生するレジスタ・マッピング（論理・物理間）は、前述のようにＬＰマップ３０の中に格納される。このため、第５命令発行ポインにおいて、論理レジスタＲ０〜Ｒ３に対して発生するレジスタ・マッピングはそれぞれＰ２，Ｐ１，Ｐ３，Ｐ０となる。以前割り当てられていた物理レジスタ（Ｐ１６，Ｐ１８，Ｐ１１，Ｐ８）は、矢印が示すように、フリー・リスト３２内の対応するフリー・リスト・セルのラスト名ラッチの中に入れられる。ここでも、ポインタが切り替わり、ラスト名の物理レジスタ（Ｐ８，Ｐ１８，Ｐ１６，Ｐ１１）が、カレント名の物理レジスタとなる。
【００２８】
例外
状態
命令デコード／発行論理１６が各命令パケットを発行すると
例外状況
最新の良好な発行ポイント
物理レジスタ・マッピングを発行ポイントＩ２に存在するレジスタ・マッピングに復元する
【００２９】図１０はＬＰマップ３０のマップ・セル４０（図２）をブロック図に示したものである。好適実施例では、ＬＰマップ３０は所定のマップ・セル４０〜５５によって構成されており、各マップ・セルは、マップ・セル４０と同一の構造を有している。図１１（図１０？）に示すように、初期化されると直ちに、シーケンサ１２が提供する第１制御信号（ＣＯＮＴＲＯＬ１）に応答して、初期物理レジスタ名が、マルチプレクサ１１０を介してラッチ１１２の中に格納される。このため論理レジスタＲ０〜Ｒ３は前述のように、最初は物理レジスタＰ０〜Ｐ３に割り当てられる。命令デコード／発行論理１６が、論理宛先レジスタに対するレジスタ割当を変更する命令もしくは命令群をデコードするたびに、物理レジスタ名（ＰＲ）がＳＬＯＴ番号によってフリー・リスト３２から検索されて、ＬＰマップ３０内のマップ・セルの中に格納される。パケット内（例：ＰＡＣＫＥＴ２）でデコードされる命令がいずれも、特定の論理レジスタ
番号
　（中略）
【００３２】図１２は、本発明に基づくバックアップ機能を備えたレジスタ再命名順序付けの流れ図２００である。図１２に示すように、ステップ２０２では、シーケンサ１２によって、再命名ハードウェア１８はＬＰマップ３０を初期化し、これによって物理レジスタの第１セット（例：Ｐ０〜Ｐ３）を、前述のように論理レジスタＲ０〜Ｒ３に割り当てる。ステップ２０４では、シーケンサ１２は再命名ハードウェア１８に対して、命令デコード／発行論理１６によってデコードされる各命令パケットの命令ポイント番号を提供する。
【００３３】ステップ２０６の間に、再命名ハードウェア１８は、パケット内の各命令が、ＬＰマップ３０に問い合わせて、ソース論理レジスタの物理レジスタ名の位置を突きとめられるようにし、新しい物理レジスタ名を宛先論理レジスタに割り当てられるようにする。したがって宛先論理レジスタに対する物理レジスタ名が取り入れられて、前記宛先論理レジスタに以前割り当てられていた物理レジスタは、（前述のように）ＬＰマップ３０から外されて、フリー・リスト３２の中に入れられ、「不可視」となる。当該宛先論理レジスタに対応する論理レジスタに、命令が書き込みを行うと、可視の物理レジスタは不可視になる。そのため以前割り当てられていた可視の物理レジスタ（例：Ｐ０）が不可視となるのは、再命名ハードウェア１８がＰ０を、新しく割り当てられたレジスタ（例：Ｐ４）が以前占めていたフリー・リスト３２内の命令スロット（例：ＳＬＯＴ０）に入れる場合である。ついで、この新しく割り当てられたレジスタＰ４はＬＰマップ３０内に入れられて可視となる。
【００３４】ステップ２０８に示すように、例外状況または分岐予測誤りが発生する場合には、シーケンサ１２は、レジスタ再命名ハードウェア１８に対して、「バックアップ」動作が必要であることを知らせる。「バックアップ」を必要としない場合には、ステップ２１０で、
実行装置２４が、以前デコードされた命令の実行を完了したか否か
命令デコード／発行論理１６が新しい命令パケットをデコードし、シーケンサ１２は、レジスタ再命名ハードウェア１８に対して新しい発行ポイントを発行する
　
　引用文献１の上記段落【０００１】の「本発明は一般に
データ・プロセッサ
データ・プロセッサ
データ処理システム１０
　引用文献１の上記段落【００１０】の「命令キャッシュ１４は要求された命令の位置を突きとめ、命令もしくは命令パケットを命令デコード／発行論理１６に送る」という記載から、引用文献１においては、命令キャッシュに格納されている命令が読み出されて「命令デコード／発行論理１６」に渡されるものと解される。なお、命令キャッシュから命令を読み出す際に、プログラムの順序に従って読み出されることは当然のことである。
　引用文献１の上記段落【００１３】の「命令（または命令群）が
命令デコード／発行論理１６によってデコードされる
　引用文献１の上記段落【００１７】の「図４に、レジスタ再命名シーケンスにおける第１
発行
発行
命令デコード／発行論理１６
デコード
実行装置
デコードと発行を制御
実行装置２４の１つが命令の実行
命令デコード／発行論理１６が
発行
実行装置２４が
以前デコードされた命令の実行
　引用文献１の上記段落【０００３】の「データ処理システムが採用する１つの機構がレジスタ再命名である。この再命名機構は、
命令の符号化フィールドにある元の論理（プログラム）レジスタ番号を、物理レジスタのプール内に割り当てる
論理レジスタは、命令の実行中にプログラムが操作するものである
読み取り対象となる論理レジスタは
論理・物理（ＬＰ）マップ３０に付ける
書き込み対象となる論理レジスタは
当該物理レジスタ名をＬＰマップ３０内に入れる
ＬＰマップ３０は、命令デコード／発行論理１６が命令もしくは命令群をデコードされるたびに発生する異なるレジスタ・マッピング（論理・物理間) を格納する
　引用文献１の上記段落【００１２】の「図２に示す
ＬＰマップ３０
ＬＰマップ３０
４個の論理レジスタＲ０〜Ｒ３をマッピング（割当）する
論理レジスタ
物理レジスタ「名」を探す
論理・物理（ＬＰ）マップ３０
論理レジスタ
物理レジスタ名
当該物理レジスタ名をＬＰマップ３０内に入れる
ＬＰマップ３０
新しいレジスタ・マッピング
ＬＰマップ３０
レジスタ・マッピング（論理・物理間) 
番号
番号
　引用文献１の上記段落【００１１】の「シーケンサ１２は各命令群（「
ＰＡＣＫＥＴ
追跡
発行ポイント
送出
　引用文献１の上記段落【００１２】の「
ＬＰマップ３０
Ｍ行およびＸ列を有するマップ・セル４０〜５５のマトリックス
Ｍは
論理レジスタの数
Ｘは発行ポイントの数
ＬＰマップ３０
４×４のマトリックス配列
ＬＰマップ３０
４個の論理レジスタＲ０〜Ｒ３
１６個のマップ・セル４０〜５５
図３〜図９
４個の論理レジスタ（Ｒ０〜Ｒ３）と４個の発行ポイント
　また、引用文献１において発行ポイントが送出されて、上述の如く使用するマップ・セル群の行が切り替えられる際には、上記段落【００１９】に「
ＬＰマップ３０内でＲ０に以前割り当てられていた物理レジスタ名（Ｐ０）は
不可視
　引用文献１の上記段落【００２８】の「
例外
状態
例外状況
最新の良好な発行ポイント（たとえばチェックポイントＩ２
物理レジスタ・マッピングを発行ポイントＩ２に存在するレジスタ・マッピングに復元する
例外
可視にできる
　引用文献１の上記段落【００２８】の「
例外
状態
復元
物理レジスタ・マッピングを発行ポイントＩ２に存在するレジスタ・マッピングに復元する
　また、引用文献１には、データ・プロセッサにおいて命令実行を制御する方法が記載されていると言える。
　
　したがって、引用文献１には次の発明（以下、「引用発明」という。）が記載されている。
　
　命令を格納する命令キャッシュと、前記命令を発行する命令デコード／発行論理１６と、前記命令を実行する実行装置２４と、プログラムが操作する論理レジスタに対応付けられる物理レジスタとを有するデータ・プロセッサの命令実行制御方法において、
　前記命令キャッシュが、命令を格納するステップと、
　前記命令デコード／発行論理１６が、前記命令キャッシュに格納された命令をプログラムの順序に従って受け取って、該命令デコード／発行論理１６の内部に存在する命令デコード手段がデコードした命令を前記実行装置２４に発行するステップと、
　前記実行装置２４が、前記発行された命令を実行するステップと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表すレジスタ・マッピングをＬＰマップ３０に格納するステップと、
　前記論理レジスタに過去の発行ポイントにおける過去のレジスタ・マッピングによって割り当てられていた物理レジスタの内容が書き換えられないように保存するとともに、前記ＬＰマップ３０に記憶されている前記過去の発行ポイントにおける前記過去のレジスタ・マッピングを保存するように保存動作を行うことが必要となる発行ポイントを送出するステップであって、前記発行ポイントは４個の命令から成る１つのパケットが検出される毎に送出されるものであり、かつ、前記レジスタ・マッピングは前記データ・プロセッサの状態の一種であるステップと、
　前記発行ポイントが送出された場合に、前記保存動作を実行するステップと、
　データ・プロセッサの通常動作を停止させる例外が発生したことを検出するステップと、
　発行ポイントが送出されて前記保存動作が実行された後に、例外が検出された場合に、前記ＬＰマップ３０に保存されている前記過去の発行ポイントにおける前記過去のレジスタマッピングを使用し、前記通常動作の実行に必要な前記過去のレジスタ・マッピングにおいて前記論理レジスタに割り当てられていた物理レジスタが可視になり、当該物理レジスタに記憶されている内容を利用可能にするステップを有することを特徴とする命令実行制御方法。
　
　３．対比
　次に、引用発明と本願発明とを対比する。
　引用発明の「命令を格納する命令キャッシュ」を上位概念化して把握すると、本願発明の「命令を格納する命令記憶部」に相当する。
　引用発明の「前記命令を発行する命令デコード／発行論理１６」は命令を発行する処理を行っているから、本願発明の「前記命令を発行する命令発行部」に相当する。
　引用発明の「前記命令を実行する実行装置２４」は、本願発明の「前記命令を実行する命令実行部」に相当する。
　プログラムが或る論理レジスタを操作するようにされているということは、そのような操作を行うように論理レジスタがそのプログラム上で定義されていることに他ならないから、引用発明の「プログラムが操作する論理レジスタに対応付けられる物理レジスタ」は、本願発明の「プログラム上で定義される論理レジスタに対応する物理レジスタ」に相当する。
　引用発明の「データ・プロセッサ」は、本願発明の「中央処理ユニット」に相当する。
　引用発明の「命令実行制御方法」は、本願発明の「命令制御方法」に相当する。
　引用発明の「前記命令キャッシュが、命令を格納するステップ」は、本願発明の「前記命令記憶部が、命令を格納するステップ」に相当する。
　引用発明の「前記命令デコード／発行論理１６が、前記命令キャッシュに格納された命令をプログラムの順序に従って受け取って、該命令デコード／発行論理１６の内部に存在する命令デコード手段がデコードした命令を前記実行装置２４に発行するステップ」を上位概念化して把握すると、本願発明の「前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップ」に相当する。
　引用発明の「前記実行装置２４が、前記発行された命令を実行するステップ」は、本願発明の「前記命令実行部が、前記発行された命令を実行するステップ」に相当する。
　引用発明の「前記論理レジスタと前記物理レジスタとの対応関係を表すレジスタ・マッピング」及び「ＬＰマップ３０」は、それぞれ本願発明の「前記論理レジスタと前記物理レジスタとの対応関係を表す情報」及び「リネームマップ記憶部」に相当するから、引用発明の「前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表すレジスタ・マッピングをＬＰマップ３０に格納するステップ」は、本願発明の「前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップ」に相当する。
　引用発明の「前記論理レジスタに過去の発行ポイントにおける過去のレジスタ・マッピングによって割り当てられていた物理レジスタの内容が書き換えられないように保存するとともに、前記ＬＰマップ３０に記憶されている前記過去の発行ポイントにおける前記過去のレジスタ・マッピングを保存するように保存動作を行うことが必要」を上位概念化して把握すると、本願発明の「前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要」に相当する。したがって、引用発明の「前記論理レジスタに過去の発行ポイントにおける過去のレジスタ・マッピングによって割り当てられていた物理レジスタの内容が書き換えられないように保存するとともに、前記ＬＰマップ３０に記憶されている前記過去の発行ポイントにおける前記過去のレジスタ・マッピングを保存するように保存動作を行うことが必要となる発行ポイントを送出するステップであって、前記発行ポイントは４個の命令から成る１つのパケットが検出される毎に送出されるものであり、かつ、前記レジスタ・マッピングは前記データ・プロセッサの状態の一種であるステップと、前記発行ポイントが送出された場合に、前記保存動作を実行するステップ」と、本願発明の「前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要なチェックポイント命令をデコードするステップと、前記命令発行部が発行した命令が、前記デコードするステップにおいて、チェックポイント命令であると識別された場合に、前記チェックポイント実行を行うステップ」とは、ともに、「前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要となる現象を発生させるステップと、前記現象を発生させるステップにおいてチェックポイント実行が必要となる現象が発生した場合に、前記チェックポイント実行を行うステップ」である点において共通する。
　引用発明の「データ・プロセッサの通常動作を停止させる例外が発生したことを検出するステップ」と、本願発明の「中央処理ユニットの通常動作を停止させる例外処理を発生させる例外処理発生命令の実行により、前記例外処理が発生したことを検出するステップ」とは、ともに、「中央処理ユニットの通常動作を停止させる例外処理が発生したことを検出するステップ」である点において共通する。
　引用発明の「発行ポイントが送出されて前記保存動作が実行された後」と、本願発明の「前記チェックポイント命令の実行後」とは、ともに、「前記チェックポイント実行後」である点において共通し、また、引用発明の「前記ＬＰマップ３０に保存されている前記過去の発行ポイントにおける前記過去のレジスタマッピングを使用し、前記通常動作の実行に必要な前記過去のレジスタ・マッピングにおいて前記論理レジスタに割り当てられていた物理レジスタが可視になり、当該物理レジスタに記憶されている内容を利用可能にする」を上位概念化して把握すると、本願発明の「前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元する」に相当するから、引用発明の「発行ポイントが送出されて前記保存動作が実行された後に、例外が検出された場合に、前記ＬＰマップ３０に保存されている前記過去の発行ポイントにおける前記過去のレジスタマッピングを使用し、前記通常動作の実行に必要な前記過去のレジスタ・マッピングにおいて前記論理レジスタに割り当てられていた物理レジスタが可視になり、当該物理レジスタに記憶されている内容を利用可能にするステップ」と、本願発明の「前記チェックポイント命令の実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップ」とは、ともに、「前記チェックポイント実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップ」である点において共通する。
　
　したがって、引用発明と本願発明とは、以下の点において一致し、また、相違する。
　
　（一致点）
　命令を格納する命令記憶部と前記命令を発行する命令発行部と前記命令を実行する命令実行部とプログラム上で定義される論理レジスタに対応する物理レジスタとを有する中央処理ユニットの命令制御方法において、
　前記命令記憶部が、命令を格納するステップと、
　前記命令発行部が、プログラムの順序に従って前記命令記憶部に格納された命令を前記命令実行部に発行するステップと、
　前記命令実行部が、前記発行された命令を実行するステップと、
　前記論理レジスタを指定する論理レジスタ番号に対して前記物理レジスタを指定する物理レジスタ番号を対応付けることにより、前記論理レジスタと前記物理レジスタとの対応関係を表す情報をリネームマップ記憶部に格納するステップと、
　前記論理レジスタと前記リネームマップ記憶部の内容を記憶するチェックポイント実行が必要となる現象を発生させるステップと、
　前記現象を発生させるステップにおいてチェックポイント実行が必要となる現象が発生した場合に、前記チェックポイント実行を行うステップと、
　中央処理ユニットの通常動作を停止させる例外処理が発生したことを検出するステップと、
　前記チェックポイント実行後に、例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップを有することを特徴とする命令制御方法。
　
　（相違点１）
　チェックポイント実行が必要となる現象が、本願発明では、命令発行部が発行した命令が、チェックポイント命令をデコードするステップにおいてチェックポイント命令であると識別されることによって発生するのに対し、引用発明では、４個の命令から成る１つのパケットが検出される毎に送出される発行ポイントの送出によって発生するものである点。
　
　（相違点２）
　例外処理の発生の検出が、本願発明では例外処理を発生させる例外処理発生命令の実行により検出されるのに対し、引用発明ではどのように検出するのか明記されていない点。
　
　（相違点３）
　例外処理が検出された場合に、前記リネームマップ記憶部に格納された情報を用いて、前記通常動作の実行に必要な前記論理レジスタの内容を復元するステップが、本願発明では前記チェックポイント命令の実行後に行われるのに対し、引用発明では、発行ポイントが送出されて前記保存動作が実行された後に行われるものである点。
　
　４．判断
　上記相違点の各々について検討する。
　まず、上記相違点１及び３について検討する。
　原審の拒絶理由において引用文献２として挙げられている国際公開第９３／２２７２２号（以下、「引用文献２」という。）は、本願の最先優先日よりも前に頒布された文献であって、「BACKGROUND OF THE INVENTION（発明の背景）」という表題を付けて従来技術の説明を行っている記載箇所において、以下の（2-1）、（2-2）の記載が存在している。
　
　（2-1）「In a second scenario, out-of-order completion makes it difficult to deal with exceptions. 
Exceptions are created by instructions
exceptions
handled by interrupts
routine
the routine is completed
so it can continue as before the exception
　Processors contains 
information
restored for execution to continue
information
state
例外
その命令によって作られる
例外
処理され
完了すれば
例外が起きる以前のごとくプログラムの実行を続ける
　プログラムを一時停止するために保存され、
実行を継続するために復元されるべき情報
この情報
状態
　
　（2-2）「One method used in conventional systems to 
recover from
exceptions
checkpoint
architectural state
　To minimize the amount of required overhead, 
checkpoints are not made at every instruction
restarting is accomplished
state
checkpoints are made at every branch
state
to restart
例外から回復
チェックポイント修復
状態
チェックポイント
　要求されるオーバヘッドの量を最小にするため、
チェックポイントは個々の命令ごとには作成されない
例外発生時点に先行するチェックポイントされた状態
リスタートは達成される
各々の分岐に対してチェックポイントが作成され
リスタートするための正確な状態
　
　引用文献２に上述の如く従来技術として記載されているように、プロセッサの「状態」をチェックポイントとして保存し、例外が発生すると前記保存されている状態を用いてリスタートを行うものにおいて、チェックポイントとして前記状態を保存する処理を個々の命令ごとには行わず、分岐が発生するたびにチェックポイントとしてリスタートのための前記状態を保存するようにすることは、周知技術である。
　引用発明において保存されている「レジスタ・マッピング」は「状態」の一種であるから、引用発明において前記保存を行うタイミングとして、４個の命令から成る１つのパケットが検出される毎に送出される発行ポイントに代えて、前記周知技術を採用して、分岐が発生するごとに前記保存を行うようにすることは、当業者が容易に想到し得た事項に過ぎない。また、前記周知技術を採用するためには、分岐が発生したことを検出する必要があることは当然であるが、分岐の発生を検出するために分岐命令を命令デコーダで検出することは当該技術分野において慣用的に使用されている慣用技術に過ぎず、引用発明において命令を発行する命令デコード／発行論理１６はその内部に命令デコード手段を有しているから、前記周知技術を採用する際に、引用発明の前記命令デコード手段を用いて分岐命令（本願発明の「チェックポイント命令」に相当）を検出するようにすることは、前記周知技術を採用することに合わせて当然行うべき設計変更に過ぎない。
　このように、引用発明において前記周知技術を採用し、その際に上述の慣用技術を用いた設計変更を行うと、引用発明の「保存動作を行うことが必要となる発行ポイントを送出するステップであって、前記発行ポイントは４個の命令から成る１つのパケットが検出される毎に送出されるものであり、かつ、前記レジスタ・マッピングは前記データ・プロセッサの状態の一種であるステップと、前記発行ポイントが送出された場合に、前記保存動作を実行するステップ」は、「保存動作を行うことが必要となる分岐命令を前記命令デコード手段でデコードするステップであって、前記レジスタ・マッピングは前記データ・プロセッサの状態の一種であるステップと、前記命令デコード／発行論理１６が発行した命令が、前記命令デコード手段でデコードするステップにおいて、分岐命令であると識別された場合に、前記保存動作を実行するステップ」となり、引用発明の「発行ポイントが送出されて前記保存動作が実行された後に」は、「前記分岐命令が識別され実行されて前記保存動作が実行された後に」となる（なお、命令デコード手段で識別された分岐命令が実行されるのは当然である。）から、したがって、上記相違点１及び３は、格別のものではない。
　
　次に、上記相違点２について検討する。
　例外処理を発生させる原因となる命令を実行することによって例外処理が発生すると、その例外処理が検出されることは、例えば上記引用文献２の上記（2-1）に記載されているように周知技術に過ぎず、この周知技術を用いて引用発明の「データ・プロセッサの通常動作を停止させる例外が発生したことを検出するステップ」において、例外処理を発生させる例外処理発生命令の実行により例外処理が発生したことを検出するようにすることは、当業者が容易に想到し得た事項に過ぎない。
　したがって、上記相違点２は、格別のものではない。
　
　以上のように、相違点１乃至３は、いずれも格別のものではなく、本願発明の構成は引用文献１記載の引用発明、引用文献２記載の周知技術、並びに上述の慣用技術に基づいて当業者が容易に想到し得たものである。
　そして、当該構成の採用によって奏される作用効果も、当業者であれば当然に予測し得る程度のものであって、格別顕著なものではない。
　よって、本願発明は、引用文献１記載の引用発明に基づいて当業者が容易に発明をすることができたものである。
　
　５．結び
　以上述べたように、本願発明は引用文献１記載の引用発明に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　したがって、結論のとおり審決する。