レジスターリネーム

ASCII.jpデジタル用語辞典 「レジスターリネーム」の解説

レジスターリネーム

パイプラインアーキテクチャーを持つマイクロプロセッサーにおける高速化技法の1つ。レジスタ数が十分にないマイクロプロセッサーでは、1つのレジスタを駆使してメモリーからレジスタへ、逆にレジスタからメモリーへのデータ転送を頻繁に行なわなければならない。たとえば次のようなコードがあるとする。MOV memory1[memory2[memory2]1行目のコードは、レジスタAXの内容を[[アドレス[memory2]1行目のコードは、レジスタAXの内容を[[アドレス][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム]]して、別のレジスタを割り当てることで、コードの[[依存関係[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム]]して、別のレジスタを割り当てることで、コードの[[依存関係][memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム]]して、別のレジスタを割り当てることで、コードの[[依存関係]]を解消し、[[パイプライン[memory2]1行目のコードは、レジスタAXの内容を[[アドレス]]memory1のメモリーへのデータ転送、2行目のコードは、アドレスmemory2のメモリーからAXレジスタへのデータ転送である。パイプラインアーキテクチャーを持つマイクロプロセッサーでは、複数の[[命令]]を同時に[[ラン|実行]]できるが、上の例のように、同一のレジスタに対するデータ[[書き込み]]、データ読み出しが連続しているような場合は、コードの順序どおりに[[プログラム]]を実行しないと誤動作してしまう可能性がある。このような場合は、レジスタを[[リネーム]]して、別のレジスタを割り当てることで、コードの[[依存関係]]を解消し、[[パイプライン]

出典 ASCII.jpデジタル用語辞典ASCII.jpデジタル用語辞典について 情報