CPUアーキテクチャについて語れ 9at JISAKU
CPUアーキテクチャについて語れ 9 - 暇つぶし2ch192:Socket774
08/03/09 02:58:25 H29jm950
ROBの説明です。
ROBはかなり異なった実装があるので、一番シンプルなものの説明をします。

ディスパッチステージ以前のどこかで、リオーダバッファ(=ROB)のエントリの確保が行われます。
ROBは、分岐予測ミスやメモリアクセス例外などのイベントが発生した場合に、
プロセッサ状態をインオーダ状態に、つまりイベントが発生したプログラム地点まで巻き戻すために存在します。

ROBの各エントリは、一命令や一物理レジスタに対応することが多いのですが、実装によって異なります。

ROBの各エントリは、出力先レジスタやストアバッファエントリ、例外情報など、
インオーダ状態の更新に必要な情報を保持しています。

ROBのエントリは、プログラム順に確保され、解放されます。
ROBのエントリが解放され、プロセッサ状態が更新されることを、
命令がリタイアする、といいます。コミットする、も同じ意味です。

OoO実行で後続の命令が先に実行が終わっていても、先行の命令がリタイアしていなければ、
後続の命令はリタイアが待たされます。

分岐ミスや例外が発生すると、ROBエントリは無効化され、OoO状態が破棄されます。
ページフォールトなどが起きた場合、ただちに例外を起すのではなく、いったん対応するROBエントリに例外情報が書きこまれます。
そのエントリが解放される時に、例外処理が発生します。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch