プロセッサレジスタとは何ですか?
コンピューター処理ユニット(CPU)の保存可能なメモリへの最も迅速なアクセスは、プロセッサレジスタです。コンピューターアーキテクチャ設計プロセッサメモリ機能をCPUキャッシュに登録して、コンピュータープロセスが定期的にアクセスする値をそこに保存できます。プロセスは、それらの保存された値に基づいて迅速にアクセスして実行できます。プロセッサレジスタはCPUに保存されるため、それらはストレージメモリ階層の最上位であると見なされ、通常は変数によって決定されます。データが処理されると、キャッシュ、ランダムアクセスメモリ(RAM)、またはハードディスクストレージに復元されます。
コンピュータープロセッサには、それらまたは特定のコンテンツに動作する命令またはテストに従って、異なるタイプのレジスタがあります。データ、アドレス、および汎用レジスタには、メモリストレージの数学的値とアドレスが含まれています。論理操作命令の真理値を持つ条件付きレジスタがあり、読み取り専用値を持つ一定のレジスタがありますh Piおよびゼロとして、およびプログラムカウンター、ステータスレジスタ、スタックメモリ使用のためのスタックポインターを維持する特別な目的が登録されます。制御レジスタには、CPUアーキテクチャに組み込まれた命令セットからの命令が含まれています。また、メモリバッファー、メモリデータ、メモリタイプの範囲、アドレスにアクセスするCPUのRAMと回路から取得するいくつかがあります。プロセッサレジスタに割り当てられていない変数は、RAMに保存され、読み取りおよび書き込み操作のために内外にロードされますが、これらは処理が遅くなります。
レジスタとRAMでの処理の速度の違いを知っていると、コンパイラコンピュータープログラムの開発者は通常、機能の動作のためにプロセッサレジスタストレージでできるだけ操作するようにプログラムを設計します。ジャストインタイムコンパイラプログラムの場合、リニアスキャンアラケーショントラック登録操作とfとして知られるレジスタ割り当て手法Rees Up Register Computation Powerは、プログラムにすばやく戻ります。登録割り当て手法は、レジスタに割り当てられたプログラムの変数の多くを取得しようとします。
多くのプロセッサレジスタは、変数と命令セットの一時的な保存用であるため、プログラム使用のためのすべての操作は、CPUによる操作のために保存できます。操作中、CPUはまず、ハードディスクのRAMおよびセカンダリストレージを検討する前に、読み取り、書き込み、または移動操作で処理されるデータのコピーについて、レジスタのCPUキャッシュに目を向けます。 2011年現在、ほとんどのCPUは3つの個別のキャッシュを保持しています。命令キャッシュは、命令による実行フェッチ、翻訳の見た目のようなバッファーのスピードを上げて、仮想から物理的なアドレスのアドレス翻訳を高速化し、データキャッシュは、プロセッサレジスタ命令セットによって操作されるデータのマルチレベル階層ストレージを保持します。