キャンペーン()とは、企業、団体、あるいは芸能人などの個人が社会に対する宣伝活動を行うことである。
スコット郡 (アイオワ州)
地理.
人口動勢.
レジスタ・リネーミング
解決すべき問題.
プログラムは、何らかの値に何らかの操作をする命令が並んだものである。
命令がそれらの値を区別するために、それぞれの値に名前をつける。
命令をコンパクトにまとめるため、多くのプロセッサの命令セットでは直接名前を指定でき、かつ高速に読み書きできる特別な場所を少しだけ用意している。これをレジスタと呼ぶ。
小さなプロセッサでは、これらの場所の名前は直接レジスタファイルの中の場所に対応している。
一方、命令の種類が違えば、その処理にかかる時間も異なる。
たとえばプロセッサはメモリからロードしようとしている間に何百という命令を実行できるかもしれない。
短い命令を時間のかかるロードを待っている間に行うと、命令がプログラムが本来指定している順番とは違った順番で進行していることになる。
このようなアウト・オブ・オーダー実行は性能向上のために最近の高性能CPUでよく行われている。
上述を踏まえ、以下のようなコードをアウト・オブ・オーダー実行CPUで動作させることを考える。
これは、レジスタの名前を変えるだけで解決可能である。
可能ならば、コンパイラはこの種のリネーミングを行う工夫を行う。しかしレジスタ数はどのプロセッサでも少ないため、コンパイラ(ソフトウェア)でできることは限られる。
多くの高性能CPUは、公開されている仕様より多くの実レジスタを持っていて、レジスタをいわば仮想化し 命令が示すレジスタと実レジスタの対応をハードウェアで動的に切り替えて( レジスタ リネーミングして )いる。このようなリネーミングにより並列性を高めている。
ハザードとリネーミング.
複数の命令がオペランドとしてある特定の場所を（入力、出力に関わらず）参照しているとき、それらの命令を本来のプログラムとは異なる順番で実行しようとすると、ハザードと呼ばれる三種類の問題が発生する。