プロセッサパイプラインにおける命令を、長い待ち時間のオペレーションに依存する命令として特定すること、該特定に基づいて、前記命令を実行するのに必要とされる情報の少なくとも一部と共に、前記命令をデータストレージエリアに置くこと、及び前記命令によって割り当てられている物理レジスタを解放することを含む方法。前記命令によって占有されるスケジューラエントリーを解放することをさらに含む、請求項1に記載の方法。前記長い待ち時間のオペレーションが完了した後、前記命令を前記パイプラインに再挿入することをさらに含む、請求項1に記載の方法。前記情報の前記少なくとも一部は、前記命令のソースレジスタの値を含む、請求項1に記載の方法。前記情報の前記少なくとも一部は、前記命令の物理レジスタマッピングを含む、請求項1に記載の方法。前記命令は、長い待ち時間のオペレーションに依存する、前記パイプラインにおける複数の命令の1つであり、該複数の命令は、該複数の命令のスケジューリング順序で前記データストレージエリアに置かれる、請求項1に記載の方法。前記長い待ち時間のオペレーションが完了した後、前記複数の命令を前記スケジューリング順序で前記パイプラインに再挿入することをさらに含む、請求項6に記載の方法。長い待ち時間のオペレーションに依存するものとして特定された命令を記憶するためのデータストレージエリアであって、各命令について、該命令のフィールドと、該命令のソースレジスタの値のフィールドと、該命令のレジスタの物理レジスタマッピングのフィールドとを備える、データストレージエリアを備えるプロセッサ。前記データストレージエリアに接続されて、物理レジスタを、前記データストレージエリアの前記物理レジスタマッピングの物理レジスタ識別子にマッピングするためのリマッパをさらに備える、請求項8に記載のプロセッサ。前記リマッパの、チェックポインティングされた物理レジスタを特定するためのフィルタをさらに備える、請求項8に記載のプロセッサ。命令を記憶するためのメモリと、該メモリに接続されて、前記命令を実行するためのプロセッサであって、該プロセッサは、長い待ち時間のオペレーションに依存するものとして特定された命令を記憶するためのデータストレージエリアを含み、該データストレージエリアは、各命令について、該命令のフィールドと、該命令のソースレジスタの値のフィールドと、該命令のレジスタの物理レジスタマッピングのフィールドとを備える、プロセッサとを備えるシステム。前記プロセッサは、前記データストレージエリアに接続されて、物理レジスタを、前記データストレージエリアの前記物理レジスタマッピングの物理レジスタ識別子にマッピングするためのリマッパをさらに備える、請求項11に記載のシステム。前記プロセッサは、前記リマッパの、チェックポインティングされた物理レジスタを特定するためのフィルタをさらに備える、請求項11に記載のシステム。キャッシュミスを発生するロード命令を実行すること、該ロード命令が長い待ち時間のオペレーションに依存することを示すように、該ロード命令に割り当てられるデスティネーションレジスタの指示子をセットすること、前記ロード命令を実行するのに必要とされる情報の少なくとも一部と共に、前記ロード命令をデータストレージエリアに移動させること、及び前記ロード命令に割り当てられた前記デスティネーションレジスタを解放することを含む方法。前記ロード命令の前記デスティネーションレジスタにセットされた前記指示子に基づいて、別の命令のデスティネーションレジスタの指示子をセットすること、前記他の命令を実行するのに必要とされる情報の少なくとも一部と共に、前記他の命令を前記データストレージエリアに移動させること、及び前記別の命令に割り当てられた物理レジスタを解放することをさらに含む、請求項14に記載の方法。前記ロード命令及び前記他の命令によって割り当てられたスケジューラエントリーを解放することをさらに含む、請求項15に記載の方法。前記情報の前記少なくとも一部は、前記他の命令の物理レジスタマッピングを含む、請求項15に記載の方法。前記長い待ち時間のオペレーションが完了した後、前記ロード命令及び前記他の命令をスケジューリング順序でプロセッサパイプラインに再挿入することをさらに含む、請求項15に記載の方法。本発明の実施の形態は、長い待ち時間のオペレーションに依存する命令をプロセッサパイプラインフローから逸らし、長い待ち時間のオペレーションが完了すると、それらの命令をフローに再び導入することによって、プロセッサのスループット及びメモリ待ち時間の許容範囲を比較的増加させ、スケジューラ及びレジスタファイルに対する圧力を取り除くためのシステム及び方法に関する。このように、これらの命令は資源を拘束せず、パイプラインの全体的な命令スループットは比較的増加する。より具体的には、本発明の実施の形態は、本明細書ではスライス命令と呼ばれる、長い待ち時間のオペレーションに依存する命令を特定し、スライス命令を実行するのに必要とされる情報の少なくとも一部と共にスライス命令をパイプラインからスライスデータバッファへ移動させることに関する。スライス命令のスケジューラエントリー及びデスティネーションレジスタは、その後、他の命令による使用のために再利用することができる。長い待ち時間のオペレーションから独立した命令は、これらの資源を使用することができ、プログラムの実行を継続することができる。スライスデータバッファにおけるスライス命令が依存する長い待ち時間のオペレーションが完了すると、スライス命令をパイプラインに再導入して、実行し、リタイヤさせることができる。本発明の実施の形態は、それによって、妨害されることのない連続フロープロセッサパイプラインを達成する。図1は、本発明の実施の形態によるシステムの一例を示している。このシステムは、本発明の実施の形態によるスライス処理ユニット100を備えることができる。スライス処理ユニット100は、スライスデータバッファ101、スライスリネームフィルタ102、及びスライスリマッパ103を備えることができる。これらの構成要素に関連付けられるオペレーションを以下でさらに詳述する。スライス処理ユニット100は、プロセッサパイプラインに関連付けることができる。パイプラインは、割り当て/レジスタリネームロジック105に接続されている、命令をデコードする命令デコーダ104を備えることができる。既知のように、プロセッサは、命令に物理レジスタを割り当てて、命令の論理レジスタを物理レジスタにマッピングする割り当て/レジスタリネームロジック105等のロジックを含むことができる。本明細書で使用される場合、マッピングは、両者の間の対応を定義又は指定することを意味する概念的に言えば、論理レジスタ識別子が、物理レジスタ識別子にリネームされる。より具体的には、パイプラインにおける命令の短期間の寿命の間、命令のソースオペランド及びデスティネーションオペランドは、プロセッサの一組の論理レジスタアーキテクチャレジスタものレジスタの識別子の点で指定されると、命令をプロセッサで実際に実行できるように物理レジスタを割り当てられる。物理レジスタセットは、通常、論理レジスタセットよりもはるかに多く、したがって、複数の異なる物理レジスタを同じ論理レジスタにマッピングすることができる。割り当て/レジスタリネームロジック105は、実行用の命令をキューに入れるμopマイクロオペレーション、すなわち命令キュー106に接続することができ、μopキュー106は、実行用の命令をスケジューリングするスケジューラ107に接続することができる。割り当て/レジスタリネームロジック105によって実行される、論理レジスタの物理レジスタへのマッピング以下では、物理レジスタマッピングというは、実行を待っている命令用のリオーダバッファROB図示せず又はスケジューラ107に記録することができる。本発明の実施の形態によれば、物理レジスタマッピングは、以下でさらに詳述するように、スライス命令として特定された命令用のスライスデータバッファ101にコピーすることができる。スケジューラ107は、ブロック108のバイパスロジックとともに図1に示される、プロセッサの物理レジスタを含むレジスタファイルに接続することができる。レジスタファイル/バイパスロジック108は、実行用にスケジューリングされた命令を実行するデータキャッシュ/機能ユニットロジック109とインターフェースすることができる。L2キャッシュ110は、データキャッシュ/機能ユニットロジック109とインターフェースして、メモリインターフェース111を介してメモリサブシステム図示せずから取り出されたデータを提供することができる。前述したように、L2キャッシュでミスするロードについてのキャッシュミスの修復は、長い待ち時間のオペレーションとみなすことができる。長い待ち時間のオペレーションの他の例には、浮動小数点演算及び浮動小数点演算の依存チェーンが含まれる。命令がパイプラインによって処理される時、本発明の実施の形態に従って、長い待ち時間のオペレーションに依存する命令をスライス命令として分類して、特別な処置を行い、それによって、それらのスライス命令がパイプラインスループットを妨害又は低速化することを防止することができる。スライス命令は、キャッシュミスを発生するロード等の独立命令、又は、ロード命令によってロードされるレジスタを読み出す命令等、別のスライス命令に依存する命令である場合がある。スライス命令がパイプラインに出現すると、そのスライス命令は、スケジューラ107によって決定されるような命令のスケジューリング順序にする代わりに、スライスデータバッファ101に記憶することができる。スケジューラは、通常、データ依存順序で命令をスケジューリングする。スライス命令は、その命令を実行するのに必要な情報の少なくとも一部と共に、スライスデータバッファに記憶することができる。たとえば、この情報には、利用可能な場合にソースオペランドの値と、命令の物理レジスタマッピングとが含まれ得る。物理レジスタマッピングは、命令に関連付けられているデータ依存情報を保持する。利用可能なあらゆるソース値及び物理レジスタマッピングをスライス命令と共にスライスデータバッファに記憶することによって、たとえスライス命令が完了する前であっても、対応するレジスタを他の命令のために解放して再利用することができる。さらに、スライス命令が、その後、パイプライン内に再導入されてその実行が完了すると、そのソースオペランドの少なくとも1つを再評価することを不要とすることができる一方、物理レジスタマッピングは、命令がスライス命令シーケンスの正しい場所で実行されることを保証する。本発明の実施の形態によれば、スライス命令の特定は、長い待ち時間のオペレーションのレジスタ依存状態及びメモリ依存状態を追跡することによって動的に行うことができる。より具体的には、スライス命令は、物理レジスタ及びストアキューエントリーを介してスライス命令指示子を伝えることによって特定することができる。ストアキューは、メモリに書き込むためにキューに入れられたストア命令を保持するための、プロセッサにおける構造体図1に図示せずである。ロード命令は、ストアキューエントリーのフィールドを読み出すことができ、ストア命令は、ストアキューエントリーのフィールドを書き込むことができる。スライス命令指示子は、各物理レジスタ及び各ストアキューエントリーに関連付けられる、本明細書では非値NotaValueNAVビットと呼ばれるビットとすることができる。このビットは、最初にセットすることができないたとえば、このビットは、論理0の値を有するが、関連付けられている命令が、長い待ち時間のオペレーションに依存する場合には、たとえば、論理1にセットすることができる。このビットは、最初に、独立スライス命令についてセットすることができ、その後、その独立命令に直接的又は間接的に依存する命令に伝えることができる。より具体的には、キャッシュをミスするロード等、スケジューラにおける独立スライス命令のデスティネーションレジスタのNAVビットをセットすることができる。そのデスティネーションレジスタをソースとして有する後続の命令は、それらの命令の各デスティネーションレジスタのNAVビットもセットできるという点で、NAVビットを継承することができる。ストア命令のソースオペランドのNAVビットがセットされている場合、そのストアに対応するストアキューエントリーのNAVビットをセットすることができる。そのストアキューエントリーから読み出しを行う後続のロード命令又はそのストアキューエントリーから今後予測される後続のロード命令について、それらの各デスティネーションのNAVビットをセットすることができる。スケジューラの命令エントリーにも、物理レジスタファイル及びストアキューエントリーのNAVビットに対応する、それらの命令エントリーのソースオペランド及びデスティネーションオペランドについて、NAVビットを設けることができる。スケジューラエントリーにおけるNAVビットは、物理レジスタ及びストアキューエントリーにおける対応するNAVビットがセットされるのと同様にセットされて、スケジューラエントリーを、スライス命令を包含するものとして特定することができる。スライス命令の依存チェーンは、上記プロセスによってスケジューラに形成することができる。パイプラインにおけるオペレーションの通常の過程では、命令は、そのソースレジスタが準備できた時、すなわち、その命令を実行して正当な結果を与えるのに必要とされる値をそのソースレジスタが含む時に、スケジューラを離れて実行することができる。ソースレジスタは、たとえば、ソース命令が実行されて、レジスタに値を書き込んだ時に準備できた状態になることができる。このようなレジスタは、本明細書では、完成ソースレジスタと呼ばれる。本発明の実施の形態によれば、ソースレジスタは、完成ソースレジスタである時又はそのNAVビットがセットされている時のいずれかに準備できたものとみなすことができる。したがって、スライス命令のソースレジスタのいずれかが完成ソースレジスタであり、且つ、完成ソースレジスタでないあらゆるソースレジスタがセットされたNAVビットを有する時に、スライス命令は、スケジューラを離れることができる。スライス命令及び非スライス命令は、したがって、長い待ち時間のオペレーションに対する依存によって遅延が引き起こされることなく、連続フローでパイプラインから排出を行うことができ、それによって、後続の命令は、スケジューラエントリーを獲得することが可能になる。スライス命令がスケジューラを離れる時に実行されるオペレーションは、その命令自体と共に、その命令のあらゆる完成ソースレジスタの値をスライスデータバッファに記録すること、及び、あらゆる完成ソースレジスタを読み出されたものとしてマーキングすることとを含む。これによって、完成ソースレジスタを、他の命令による使用のために再利用することが可能になる。命令の物理レジスタマッピングも、スライスデータバッファに記録することができる。複数のスライス命令スライスを、対応する完成ソースレジスタ値及び物理レジスタマッピングと共に、スライスデータバッファに記録することができる。上記を考慮すると、スライスは、そのスライスが依存する長い待ち時間のオペレーションが完了した時に、パイプライン内に再導入可能な自己完結型のプログラムであって、スライスを実行するのに必要とされる唯一の外部入力はロードからのデータであるので、効率的に実行することができる長い待ち時間のオペレーションが、キャッシュミスの修復であると仮定する自己完結型のプログラム、とみなすことができる。他の入力は、完成ソースレジスタの値としてスライスデータバッファにすでにコピーされているか、又は、スライスの内部で生成される。さらに、前述したように、スライス命令のデスティネーションレジスタは、他の命令による再利用及び使用のために解放することができ、それによって、レジスタファイルに対する圧力が取り除かれる。実施の形態では、スライスデータバッファは、複数のエントリーを備えることができる。各エントリーは、スライス命令自体のフィールドと、完成ソースレジスタ値のフィールドと、スライス命令のソースレジスタ及びデスティネーションレジスタの物理レジスタマッピングのフィールドとを含む、各スライス命令に対応する複数のフィールドを備えることができる。スライスデータバッファエントリーは、スライス命令がスケジューラを離れる時に割り当てることができ、スライス命令は、前述したように、それらのスライス命令がスケジューラにおいて有する順序でスライスデータバッファに記憶することができる。スライス命令は、やがて同じ順序でパイプラインに戻すことができる。たとえば、実施の形態では、μopキュー107を介して命令をパイプラインに再挿入することができるが、他の設定も可能である。実施の形態では、スライスデータバッファは、L2キャッシュと同様に、長い待ち時間で高帯域幅のアレイを実施する高密度SRAMスタティックランダムアクセスメモリとすることができる。次に図1を再び参照する。図1に示し、前述したように、本発明の実施の形態によるスライス処理ユニット100は、スライスリネームフィルタ102とスライスリマッパ103とを備えることができる。スライスリマッパ103は、割り当て/レジスタリネームロジック105が論理レジスタを物理レジスタにマッピングする方法と類似した方法で、新しい物理レジスタを、スライスデータバッファの物理レジスタマッピングの物理レジスタ識別子にマッピングすることができる。このオペレーションは、元の物理レジスタマッピングのレジスタが上述したように解放されていることから必要とされる場合がある。これらのレジスタは、スライスをパイプラインに再導入する準備ができた時に、他の命令によってすでに再利用されている可能性があり、他の命令によって使用中である可能性もある。スライスリネームフィルタ102は、推測式プロセッサでは既知のプロセスであるチェックポインティングに関連付けられるオペレーションに使用することができる。チェックポインティングは、所与のポイントで所与のスレッドのアーキテクチャレジスタの状態を保持するのに実行することができ、その結果、必要に応じて、その状態を容易に回復することができる。たとえば、チェックポインティングは、信頼性の低い分岐で実行することができる。スライス命令が、チェックポインティングされた物理レジスタに書き込む場合、リマッパ103はその命令に新しい物理レジスタを割り当てるべきではない。その代わり、チェックポインティングされた物理レジスタは、割り当て/レジスタリネームロジック105によって最初に割り当てられたのと同じ物理レジスタにマッピングされなければならない。そうでない場合、チェックポイントは、破損/無効になる。スライスリネームフィルタ102は、どの物理レジスタがチェックポインティングされているかに関する情報をスライスリマッパ103に提供し、その結果、スライスリマッパ102は、チェックポインティングされた物理レジスタにそれらの物理レジスタの元のマッピングを割り当てることができる。チェックポインティングされたレジスタに書き込みを行うスライス命令の結果が利用可能である場合、それらの結果は、先に完了した、チェックポインティングされたレジスタに書き込みを行う独立命令の結果と融合又は統合することができる。本発明の実施の形態によれば、スライスリマッパ103は、スライスリマッパ103に利用可能な物理レジスタであって、スライス命令の物理レジスタマッピングに割り当てるための物理レジスタとして、割り当て/レジスタリネームロジック105が有するよりも多くの物理レジスタを有することができる。これは、チェックポインティングによるデッドロックを防止するためのものとすることができる。より具体的には、物理レジスタはチェックポイントによって拘束されるので、スライス命令にリマッピングされる物理レジスタが利用不能になる場合がある。他方、スライス命令が完了する場合にのみ、チェックポイントによって拘束された物理レジスタを解放できる場合もあり得る。この状況は、デッドロックにつながる可能性がある。したがって、上述したように、スライスリマッパは、割り当て/レジスタリネームロジック105に利用可能な範囲を上回る、マッピングに利用可能な物理レジスタの範囲を有することができる。たとえば、プロセッサには、192個の実際の物理レジスタが存在することがある。これらのレジスタの128個は、命令へのマッピングを行うための割り当て/レジスタリネームロジック105に利用可能とすることができる一方、192個の全範囲が、スライスリマッパに利用可能である。このように、この例では、余分の64個の物理レジスタがスライスリマッパに利用可能であり、それによって、レジスタが128個の基本セットで利用不能であることによるデッドロック状況が確実に発生しないようにされる。次に、図1の構成要素を参照して、一例を与える。以下の命令シーケンス1及び2の各命令には、スケジューラ107における対応するスケジューラエントリーが割り当てられているものと仮定する。簡単にするために、さらに、示されたレジスタ識別子は物理レジスタマッピングを表すものと仮定する。すなわち、それらのレジスタ識別子は、命令によって割り当てられた物理レジスタを指し、それらの物理レジスタには、命令の論理レジスタがマッピングされている。このように、対応する論理レジスタは、物理レジスタ識別子のそれぞれには暗黙的である。1R1←MxアドレスがMxであるメモリロケーションの内容を物理レジスタR1にロードする2R2←R1R3物理レジスタR1の内容及びR3の内容を加算し、その結果を物理レジスタR2に置くスケジューラ107では、命令1及び2が実行を待っている。それらの命令のソースオペランドが利用可能になると、命令1及び2は、スケジューラを離れて実行することができ、それによって、スケジューラ107におけるそれらの命令の各エントリーは、他の命令に利用可能になる。ロード命令1のソースオペランドは、メモリロケーションであり、したがって、命令1は、L1キャッシュ図示せず又はL2キャッシュ110に存在するメモリロケーションに正しいデータを要求する。命令2は、正しいデータがレジスタR1に存在するには、命令1の実行が成功する必要があるという点で、命令1に依存する。レジスタR3は、完成ソースレジスタであるものと仮定する。次に、ロード命令である命令1がL2キャッシュ110でミスするものとさらに仮定する。通常、キャッシュミスを修復するには数百サイクルを要する可能性がある。その時間の間、従来のプロセッサでは、命令1及び2によって占有されたスケジューラエントリーは、他の命令に利用不能であり、それによって、スループットが抑制され、性能が低下していた。その上、キャッシュミスが修復されている間、物理レジスタR1、R2、及びR3は、引き続き割り当てられた状態にあり、それによって、レジスタファイルに対する圧力が生み出されていた。これとは対照的に、本発明の実施の形態によれば、命令1及び2をスライス処理ユニット100へ逸らすことができ、それらの命令の対応するスケジューラ及びレジスタファイルの資源を、パイプラインの他の命令による使用のために自由にすることができる。より具体的には、命令1がキャッシュをミスする時に、NAVビットをR1にセットすることができ、次に、命令2がR1を読み出すことに基づいて、R2にもNAVビットをセットすることができる。図示しないが、R1又はR2をソースとして有する後続の命令も、そのNAVビットが、それらの各デスティネーションレジスタにセットされる。それらの命令に対応するスケジューラエントリーのNAVビットもセットされ、それによって、それらの命令はスライス命令として特定される。命令1は、より詳細には、ソースとしてレジスタもストアキューエントリーも有さないので、独立スライス命令である。他方、命令2は、ソースとしてNAVビットがセットされたレジスタを有するので、依存スライス命令である。NAVビットがR1にセットされているので、命令1は、スケジューラ107を出ることができる。命令1は、スケジューラ107を出ることに続いて、或る論理レジスタへのその物理レジスタマッピングR1と共に、スライスデータバッファ101に書き込まれる。同様に、NAVビットがR1にセットされ、且つ、R3が完成ソースレジスタであるので、命令2はスケジューラ107を出ることができ、出る時、命令2、R3の値、並びに或る論理レジスタへの物理レジスタマッピングR1、或る論理レジスタへの物理レジスタマッピングR2、及び或る論理レジスタへの物理レジスタマッピングR3は、スライスデータバッファ101に書き込まれる。命令2は、スケジューラにおける場合と同様に、スライスデータバッファにおいても命令1の後に続く。命令1及び2によってそれまで占有されていたスケジューラエントリー並びにレジスタR1、R2、及びR3は、今やすべて、再利用可能であり、他の命令による使用のために利用可能にすることができる。命令1によって発生したキャッシュミスが修復されると、スライスリマッパ103によって実行された新しい物理レジスタマッピングと共に、命令1及び2をそれらの元のスケジューリング順序でパイプラインに挿入して戻すことができる。完成ソースレジスタ値は、即値オペランドとして命令と共に運ぶことができる。命令はその後実行することができる。上記説明を考慮して、図2は、本発明の実施の形態によるプロセスフローを示している。ブロック200に示すように、プロセスは、プロセッサパイプラインにおける命令を、長い待ち時間のオペレーションに依存するものとして特定することを含むことができる。たとえば、この命令は、キャッシュミスを発生するロード命令とすることができる。ブロック201に示すように、この特定に基づいて、命令を実行することなく、命令にパイプラインを離れさせることができ、命令を実行するのに必要とされる情報の少なくとも一部と共に、命令をスライスデータバッファに置くことができる。情報のこの少なくとも一部は、ソースレジスタの値及び物理レジスタマッピングを含むことができる。この命令によって割り当てられたスケジューラエントリー及び物理レジスタ複数可は、ブロック202に示すように、他の命令による使用のために解放して再利用することができる。長い待ち時間のオペレーションが完了した後、命令は、ブロック203に示すように、パイプラインに再挿入することができる。命令は、長い待ち時間のオペレーションに依存する命令として特定されたことに基づいて、パイプラインからスライスデータバッファへ移動された複数の命令の1つの場合がある。これらの複数の命令は、スケジューリング順序でスライスデータバッファに移動させることができ、その同じ順序でパイプラインに再挿入することができる。その1つの命令は、その後ブロック204に示すように実行することができる。連続フローパイプラインを実施するチェックポイント処理及び回復のアーキテクチャにおける正確な例外処置及び分岐回復を可能にするために、チェックポイントがもはや必要とされなくなるまで、2つのタイプのレジスタは解放されるべきではないことに留意されたい。この2つのタイプのレジスタは、チェックポイントのアーキテクチャ状態に属するレジスタ、及び、アーキテクチャリブアウトに対応するレジスタである。リブアウトレジスタは、既知のように、プログラムの現在の状態を反映する論理レジスタ及び対応する物理レジスタである。より具体的には、リブアウトレジスタは、プロセッサの論理命令セットの所与の論理レジスタに書き込みを行うプログラムの最後の命令又は最も近時の命令に対応する。しかしながら、リブアウトレジスタ及びチェックポインティングされたレジスタは、物理レジスタファイルと比較すると、数が少ない論理レジスタと同程度である。他の物理レジスタは、1それらのレジスタを読み出すすべての後続の命令が、それらのレジスタをすでに読み出しており、且つ、2それらの物理レジスタが、その後すでに再マッピングされている、すなわち上書きされている場合に再利用することができる。本発明の実施の形態による連続フローパイプラインは、条件1を保証する。その理由は、スライス命令が完了する前であっても、スライス命令が完成ソースレジスタの値を読み出した後であれば、それらのスライス命令の完成ソースレジスタは、読み出されたものとしてマーキングされるからである。条件2は、通常処理それ自体の期間中に満たされる。すなわち、L個の論理レジスタの場合、新しい物理レジスタマッピングを必要とするL1番目の命令が、前の物理レジスタマッピングを上書きする。したがって、パイプラインを離れる、デスティネーションレジスタを有するどのN個の命令についても、N-L個の物理レジスタが上書きされ、したがって、条件2は満たされる。このように、完成ソースレジスタの値及び物理レジスタマッピング情報がスライスについて確実に記録されるようにすることによって、命令が物理レジスタを必要とするごとに、このようなレジスタが常に利用可能であるようなペースで、レジスタを再利用することができる。したがって、連続フロー特性が達成される。さらに、スライスデータバッファは、複数の独立したロードによる複数のスライスを含むことができることに留意されたい。前述したように、スライスは、基本的に、実行準備を整えるために、ロードミスのデータ値が復帰することのみを待っている自己完結型のプログラムである。ロードミスのデータ値が利用可能になると、スライスを任意の順序で排出パイプラインに再挿入することができる。ロードミスの修復は、順序どおりに完了しない場合があり、したがって、たとえば、スライスデータバッファにおける後のミスに属するスライスが、スライスデータバッファにおける先のスライスよりも前にパイプラインに再挿入される準備ができる場合がある。この状況を処置するための複数の選択肢が存在する。すなわち、1最も古いスライスの準備ができるまで待ち、先入れ先出し順序でスライスデータバッファの排出を行う、2スライスデータバッファのあらゆるミスが復帰した時に、先入れ先出し順序でスライスデータバッファの排出を行う、及び、3修復されたミスから順次スライスデータバッファの排出を行う必ずしも、最も古いスライスが最初に排出されることになるとは限らない、といった選択肢が存在する。図3は、コンピュータシステムのブロック図である。このコンピュータシステムは、本発明の一実施の形態に従って使用するための1つ又は複数のプロセッサパッケージ及びメモリを含むアーキテクチャ状態を含むことができる。図3では、コンピュータシステム300は、プロセッサバス320に接続される1つ又は複数のプロセッサパッケージ3101~310nを含むことができる。プロセッサバス320は、システムロジック330に接続することができる。1つ又は複数のプロセッサパッケージ3101~310nのそれぞれは、Nビットプロセッサパッケージとすることができ、デコーダ図示せず及び1つ又は複数のNビットレジスタ図示せずを含むことができる。システムロジック330は、バス350を通じてシステムメモリ340に接続することができ、周辺バス360を通じて不揮発性メモリ370及び1つ又は複数の周辺機器3801~380mに接続することができる。周辺バス360は、たとえば、1つ又は複数の、1998年12月18日に公表された周辺コンポーネント相互接続PCIスペシャルインタレストグループSpecialInterestGroupSIGのPCIローカルバス仕様改定第2.2版のPCIバス;業界標準アーキテクチャISAバス;1992年に公表されたBCPRServices社の拡張ISAEISA仕様第3.12版、1992のEISAバス;1998年9月23日に公表されたユニバーサルシリアルバスUSB仕様第1.1版のUSB;及び同等の周辺バスを表すことができる。不揮発性メモリ370は、読み出し専用メモリROM又はフラッシュメモリ等のスタティックメモリデバイスとすることができる。周辺デバイス3801~380mには、たとえば、キーボード;マウス又は他のポインティングデバイス;ハードディスクドライブ、コンパクトディスクCDドライブ、光ディスク、デジタルビデオディスクDVDドライブ等のマスストレージデバイス;ディスプレイ等が含まれ得る。本発明のいくつかの実施の形態が、本明細書で具体的に図示及び/又は説明されている。しかしながら、本発明の変更及び変形が、本発明の精神及び意図した範囲から逸脱することなく、上記教示によってカバーされ、添付の特許請求の範囲の範囲内にあることが理解されよう。