【手続補正書】
【提出日】平成29年3月9日(2017.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
命令語をマイクロ命令語にデコーディングするデコーダーと、
前記マイクロ命令語を実行する実行ユニットと、
前記マイクロ命令語にしたがって再命名データを生成する再命名器（ｒｅｎａｍｅｒ）と、
前記再命名データを格納し、前記再命名データがフラッシュ（ｆｌｕｓｈ）される再命名テーブルと、
再構成再命名データを含む前記マイクロ命令語から生成されたリオーダーバッファデータ（Ｒｅ−ｏｒｄｅｒ  ｂｕｆｆｅｒ  ｄａｔａ）を格納するリオーダーバッファエントリ及び前記リオーダーバッファエントリの中の可変な１つを示すリタイアポインター（Ｒｅｔｉｒｅ  Ｐｏｉｎｔｅｒ）を含むリオーダーバッファと、
チェックポイントエントリを含むチェックポイントテーブルと、を有し、
前記チェックポイントエントリの各々は、前記再命名データのチェックポイントされたバーションを格納し、前記リオーダーバッファ中の連続的なシークェンス内の各々のリオーダーバッファエントリ数に動的に関連し、
前記チェックポイントテーブルは、チェックポイントイベントが発生すると、前記リタイアポインターによって示されるリオーダーバッファエントリ数に基づいて動的に決定され、
前記チェックポイントイベントでの前記リタイアポインター及び前記チェックポイントテーブルの大きさは、リオーダーバッファチェックポイントウインドウを定義し、
前記再命名テーブルに格納された再命名データが前記再命名テーブルからフラッシュされると、前記フラッシュされた再命名データは、リオーダーバッファ再構成ウインドウが前記リオーダーバッファチェックポイントウインドウの終了を含む場合に前記再命名データの前記チェックポイントされたバーションが前記チェックポイントテーブルから前記再命名テーブルにコピーされることによって、及び前記リオーダーバッファ再構成ウインドウが前記リオーダーバッファチェックポイントウインドウよりも大きい場合に前記リオーダーバッファ再構成ウインドウの再構成再命名データの少なくとも一部が前記リオーダーバッファから前記再命名テーブルにコピーされることによって、前記再命名テーブルに再格納されることを特徴とするマイクロプロセッサ。
【請求項２】
前記マイクロ命令語を前記実行ユニットにディスパッチング（ｄｉｓｐａｔｃｈｉｎｇ）するディスパッチャーをさらに有し、
前記チェックポイントテーブルは、前記ディスパッチャーから前記再命名データの前記チェックポイントされたバーションを受信することを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項３】
前記マイクロ命令語の実行中に予測ミス（ｍｉｓｐｒｅｄｉｃｔｉｏｎ）を感知するブランチ実行ロジックをさらに有し、
前記再命名データは、前記予測ミスが感知されたことに応答して、前記再命名テーブルからフラッシュされることを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項４】
クロックサイクルを定義するパルスを出力するクロックをさらに有し、
前記再命名データの前記チェックポイントされたバーションは、前記クロックサイクルの中の１つのサイクル内に前記チェックポイントテーブルから前記再命名テーブルにコピーされることを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項５】
前記リオーダーバッファは、フラッシュポインターに関連するリオーダーバッファエントリでの終了として定義される前記リオーダーバッファ再構成ウインドウを含むことを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項６】
前記チェックポイントテーブルは、前記リオーダーバッファに含まれるリオーダーバッファエントリ数の半分の数のチェックポイントエントリを含むことを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項７】
マイクロ命令語にしたがって再命名データを生成する再命名器（ｒｅｎａｍｅｒ）と、
前記再命名データを格納する再命名テーブルと、
前記マイクロ命令語から生成され、リオーダーバッファエントリ内に格納された再構成再命名データ含むリオーダーバッファデータを格納するリオーダーバッファと、
複数のチェックポイントエントリに前記再命名データのチェックポイントされたバージョンを格納するチェックポイントテーブルと、を有し、
前記チェックポイントエントリの各々は、前記リオーダーバッファ中の連続的なシークェンス内の各々のリオーダーバッファエントリ数に動的に関連し、
前記チェックポイントテーブルは、チェックポイントイベントが発生すると、リタイアポインターによって示されるリオーダーバッファエントリ数に基づいて動的に決定され、
前記再命名テーブルに格納された再命名データが前記再命名テーブルからフラッシュされると、前記フラッシュされた再命名データは、前記動的な関連によって許諾された場合に前記再命名データの前記チェックポイントされたバージョンが前記チェックポイントテーブルから前記再命名テーブルにコピーされるが、前記フラッシュされたデータが前記チェックポイントテーブルによって全て再格納された場合に前記再構成再命名データのいずれの部分も前記リオーダーバッファから前記再命名テーブルにコピーされないことによって、再格納されることを特徴とするマイクロプロセッサ。
【請求項８】
前記マイクロ命令語を実行ユニットにディスパッチング（ｄｉｓｐａｔｃｈｉｎｇ）するディスパッチャーをさらに有し、
前記チェックポイントテーブルは、前記ディスパッチャーから前記再命名データの前記チェックポイントされたバージョンを受信することを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項９】
前記マイクロ命令語の実行中に予測ミスを感知するブランチ実行ロジックをさらに有し、
前記再命名テーブルは、前記予測ミスが感知されたことに応答して再構成されることを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項１０】
クロックサイクルを定義するパルスを出力するクロックをさらに有し、
前記再命名データの前記チェックポイントされたバージョンは、前記クロックサイクルの中の１つのサイクル内に前記チェックポイントテーブルから前記再命名テーブルにコピーされることを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項１１】
前記リオーダーバッファは、少なくとも１つのリオーダーバッファエントリを含むリオーダーバッファ再構成ウインドウを含み、
前記チェックポイントテーブルの前記再命名データのチェックポイントされたバーションは、前記チェックポイントテーブルの最後のチェックポイントエントリが前記リオーダーバッファ再構成ウインドウ内に含まれるリオーダーバッファエントリに関連する場合に前記再命名テーブルにコピーされることが許諾されることを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項１２】
前記フラッシュされた再命名データは、前記フラッシュされたデータが前記チェックポイントテーブルによって全て再格納されない場合に前記再構成再命名データの一部分を前記リオーダーバッファから再格納することによって、再格納されることを特徴とする請求項７に記載のマイクロプロセッサ。
【請求項１３】
複数の再命名されたレジスターに関連する再命名データを格納する再命名テーブルと、
リオーダーバッファと、
チェックポイントテーブルと、を有し、
前記リオーダーバッファは、
各々がリオーダーデータの少なくとも一部を格納する複数のリオーダーバッファエントリと、
リオーダーバッファチェックポイントウインドウを部分的に定義してマイクロ命令語リタイアとして新しいリオーダーバッファエントリを示すリタイアポインターと、を含み、
前記チェックポイントテーブルは、チェックポイントエントリを含んで、前記再命名データのチェックポイントされたバーションを格納し、
前記チェックポイントエントリの各々は、前記リオーダーバッファエントリの一部分の対応する１つに動的に関連し、
前記チェックポイントエントリは、前記リオーダーバッファ中の連続的なシークェンス内の各々のリオーダーバッファエントリ数に動的に関連し、
前記チェックポイントテーブルは、チェックポイントイベントが発生すると、前記リタイアポインターによって示されるリオーダーバッファエントリ数に基づいて動的に決定され、
前記再命名テーブルに格納された再命名データが前記再命名テーブルからフラッシュされると、前記フラッシュされた再命名データは、リオーダーバッファ再構成ウインドウが前記リオーダーバッファチェックポイントウインドウの終了を含む場合に前記再命名データの前記チェックポイントされたバーションが前記チェックポイントテーブルから前記再命名テーブルにコピーされることによって、及び前記リオーダーバッファ再構成ウインドウが前記リオーダーバッファチェックポイントウインドウよりも大きい場合に前記リオーダーバッファ再構成ウインドウの再構成再命名データの少なくとも一部が前記リオーダーバッファから前記再命名テーブルにコピーされることによって、前記再命名テーブルに再格納されることを特徴とする装置。
【請求項１４】
前記リオーダーバッファは、少なくとも１つのリオーダーバッファエントリを含んで、フラッシュポインターに関連するリオーダーバッファエントリでの終了として定義されるリオーダーバッファ再構成ウインドウを含み、
前記チェックポイントテーブルの前記再命名データの前記チェックポイントされたバーションは、前記チェックポイントテーブルの最後のチェックポイントエントリが前記リオーダーバッファ再構成ウインドウ内に含まれるリオーダーバッファエントリに関連する場合に前記再命名テーブルにコピーされることが許諾されることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記再命名データの前記チェックポイントされたバーションを前記チェックポイントテーブルから前記再命名テーブルにコピーすることは、１つのクロックサイクル内で実行され、
前記再命名データの少なくとも一部を前記リオーダーバッファから前記再命名テーブルにコピーすることは、複数のクロックサイクル内で実行されることを特徴とする請求項１３に記載の装置。
【請求項１６】
前記フラッシュされた再命名データが再格納される時にリタイアポインターによって示される現在のリオーダーバッファエントリは、チェックポイントイベントが発生する時に前記リタイアポインターによって示される前のリオーダーバッファエントリと同一でないことを特徴とする請求項１３に記載の装置。
【請求項１７】
前記チェックポイントテーブルの前記再命名データの前記チェックポイントされたバーションが前記再命名テーブルにコピーされることは、前記リオーダーバッファチェックポイントウインドウの終了がリオーダーバッファ再構成ウインドウの終了と同一であるか又は超過する場合、前記リオーダーバッファチェックポイントウインドウの開始が前記リオーダーバッファ再構成ウインドウの開始を超過するか否かに拘らず、許諾され、
前記リオーダーバッファチェックポイントウインドウは、各チェックポイントエントリと対応する１つのリオーダーバッファエントリとの間の前記動的な関連の現在のバーションによって定義されることを特徴とする請求項１３に記載の装置。
【請求項１８】
前記チェックポイントテーブルは、前記リオーダーバッファに含まれるリオーダーバッファエントリ数より少ないチェックポイントエントリを含むことを特徴とする請求項１３に記載の装置。
【請求項１９】
前記チェックポイントテーブルは、前記リオーダーバッファに含まれるリオーダーバッファエントリ数の半分の数のチェックポイントエントリを含むことを特徴とする請求項１８に記載の装置。
【請求項２０】
前記再命名データの前記チェックポイントされたバーションを前記チェックポイントテーブルから前記再命名テーブルにコピーすることは、固定された回数の１つ以上のクロックサイクル内で実行され、
前記リオーダーバッファから前記再命名データの少なくとも一部を再構成することは、クロックサイクルの可変な回数内で実行されることを特徴とする請求項１３に記載の装置。