デコードと発行の分離によって、順序通りでない発行が可能になった
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/12 14:15 UTC 版)
「アウト・オブ・オーダー実行」の記事における「デコードと発行の分離によって、順序通りでない発行が可能になった」の解説
OoOパラダイムによってもたらされた違いの一つに、待ち行列を用意することによって、命令をデコードし実行ユニットに割り振るステップ(dispatch step)と実際に命令を発行するステップ(issue step)とを分離することができ、同時に、卒業ステージと実行ステージとを分離することができる点がある。インオーダー時代のプロセッサではこれらはパイプラインによって完全に一体化していた。OoOではこれらを分離することができ、このパラダイムは以前は「分離アーキテクチャ」(decoupled architecture)と呼ばれていた。 偽のオペランド依存性(本当は必要でないのに、特定のオペランドが要求されているように見えること)は順序通りでない命令の発行をさまたげ得る。これを避けるために、レジスタ・リネーミングという技法が用いられる。このスキームでは、アーキテクチャ上のレジスタ数より実際の(物理的)レジスタ数の方が多い。複数の物理的なレジスタに同一の(アーキテクチャ上の)レジスタ名を割り当てることで、同じ名前で異なったヴァージョンのレジスタが複数個同時に存在するようにみせかけることができる。
※この「デコードと発行の分離によって、順序通りでない発行が可能になった」の解説は、「アウト・オブ・オーダー実行」の解説の一部です。
「デコードと発行の分離によって、順序通りでない発行が可能になった」を含む「アウト・オブ・オーダー実行」の記事については、「アウト・オブ・オーダー実行」の概要を参照ください。
- デコードと発行の分離によって、順序通りでない発行が可能になったのページへのリンク