レジスターリネーミング機能
読み:レジスターリネーミングきのう
外語:register renaming

 同時に実行できる命令数を増やすため、論理的なレジスター名と物理的なレジスター名を付け替える機能。
目次

概要
 リネーミングのためには、論理レジスターの数よりも多い物理レジスターが必要となる。
 とはいえ物理レジスターを増やすことは高コストとなり闇雲に増やすことはできないことから、どの程度多めにするかはコストと性能とのトレードオフとなる。一般には、RISCアーキテクチャーを想定した場合、32個の論理レジスターに対して2〜2.5倍の物理レジスター、つまり64個〜80個程度を用意するのが一般的のようである。

特徴
 投機実行をするプロセッサーには必ずある機構で、この機能によってデータ依存性ストールを防止する。
 例えば、x86などにはeax、ebx、ecx、edx、esi、edi、ebp、espという8個の論理的なレジスターがあり(64ビット環境では倍の16個)、プログラムからはこれを用いる。プロセッサー内にはこれより多くの物理レジスターが存在し、投機実行中にレジスターの依存関係の問題(ハザード)が起きる場合、レジスターの対応付けを適時変更することによって、互いの依存性を断ち切る。

再検索