レジスター
レジスターは、CPUに組み込まれた一時的な記憶領域です。レジスターの中には、プロセッサの外部からアクセスできず、内部で使用されるものもあれば、ユーザーがアクセスできるものもあります。現在のほとんどのCPUアーキテクチャには、両方の種類のレジスターが含まれています。
内部レジスターには、命令レジスター(IR)、メモリーバッファーレジスター(MBR)、メモリーデータレジスター(MDR)、メモリーアドレスレジスター(MAR)があります。命令レジスターは、プログラムカウンター(PC)から命令を取得し、プロセッサが各命令を実行する間、その命令を保持します。メモリーレジスターは、メモリーからプロセッサへデータを渡すために使用されます。内部レジスターの保存時間は非常に短く、多くの場合、1ミリ秒未満しかデータを保持しません。
ユーザーがアクセスできるレジスターは内部レジスターより大きく、通常はより長い時間データを保持します。たとえば、データレジスターには、現在実行中のプログラムによって参照される個々の値を保存できます。アドレスレジスターにはメモリーアドレスが格納され、システムのRAM内にあるさまざまなメモリーブロックを参照します。現在、多くのCPUには汎用レジスター(GPR)があり、データとメモリーアドレスの両方を格納できます。
レジスターの数とサイズは、CPUアーキテクチャによって異なります。8個のレジスターを持つプロセッサもあれば、16個、32個、それ以上のレジスターを持つプロセッサもあります。長年、レジスターは32ビットでしたが、現在は多くのレジスターが64ビットです。64ビットプロセッサには64ビットレジスターが必要です。これにより、CPUは64ビットのメモリーアドレスにアクセスできます。64ビットレジスターには64ビットの命令を格納することもできますが、その命令を32ビットレジスターに読み込むことはできません。そのため、32ビットプロセッサ向けに作成されたほとんどのプログラムは64ビットコンピューターで実行できますが、64ビットプログラムには32ビットマシンとの下位互換性がありません。
知識をテストする