08/03/09 02:17:35 H29jm950
典型的なOoOプロセッサについての説明です。
各実行ユニットのRSをまとめて命令キューや命令ウィンドウといいます。
フェッチした命令を溜めておくものも命令キューといったりしますが、意味的に混同するようなものではないでしょう。
OoOプロセッサでは、各命令はフェッチ、デコード、レジスタリネームのステージを経由して、
ディスパッチステージで、命令の機能に対応した実行ユニットのリザベーションステーション(RS)に送られます。
RS内の命令は、オペランドが揃うまで待たされます。
オペランドが揃った命令は、順次実行ユニットに送られます。これをイシューといいます。
プログラム順で先行する命令が、オペランドが揃わずに待たされ、後続の命令が先にイシューされることがあります。
OoOの由縁です。
イシューされた命令は、ただちにRSから削除されます。
ロードや浮動小数点命令などの長レイテンシ命令であっても、オペランドが揃っていればただちにイシューされます。
長レイテンシ命令に直接あるいは間接的に依存する命令は、オペランドが揃わず待たされることが多いです。
ディスパッチもイシューも発行と訳されることがあるので、読むときはきちんと区別しましょう。