命令登録とは何ですか?
コンピューターハードウェアの観点から、命令レジスタは、CPUの他の部分によって決定される次のクロックサイクルの開始時に実行されるプログラミング命令を保持するコンピューターまたは他のデバイスの中央処理ユニット(CPU)の要素です。命令デコーダーなどのCPUの他の要素は、命令レジスタに依存して、この情報を保持して、解決し、最終的に実行できるようにします。いくつかのタイプのマイクロプロセッサアーキテクチャを使用すると、複数の命令レジスタがあるため、複数の命令を同時に処理でき、パイプラインとして知られるロジックのアセンブリラインスタイルを形成できます。一般に、プログラムカウンターとして知られるCPUの別の部分を介して命令登録簿に新しい指示が与えられます。これは非常に類似した目的を果たしますが、命令レジスタが保持されている情報が実行されている間、次の命令に進むことができます。
レジスタは、マイクロプロセッサまたは回路基板の一連の物理スイッチで、オンまたはオフにすることができ、各スイッチを少し等しくすることができます。ラッチとも呼ばれるいくつかのスイッチがリンクされている場合、数値などのバイナリデータを保存することができます。 CPU内では、命令レジスタは、実行されている命令のコンピューターメモリにアドレスを保持するか、効率のために命令自体を保持することができます。この情報は、プログラムカウンターとして知られる別のレジスタを介してレジスタに渡されます。これは、ほとんどの場合、現在の命令を渡した後に実行される次の命令にジャンプします。
レジスタによって処理される命令のタイプは、一般に低レベルのアセンブリ言語コマンドであり、最終的にマシンコードまたはバイトコードに変換されます。これらは、指示とは明らかに異なりますアセンブリの指示は非常に小さく直接的なスケールで動作するため、高レベルのプログラミング言語。 1つの例は、2つの数値を一緒に追加し、結果を変数に保存する高レベルのコードの行です。コードがコンパイルされると、タスクを完了するために12個以上の命令を生成することができます。各命令は、コンピューターランダムアクセスメモリ(RAM)とユーティリティレジスタの間の値をシャッフルするなどの簡単なものです。
命令が命令レジスタで参照されると、命令デコーダーに渡され、命令をマシンコードに変換できます。変数やその他の情報を保持する可能性のあるメモリロケーションへの参照が解決され、その情報は他のレジスタに配置されることがあります。最後に、実際の命令が実行されます。この間、プログラムカウンターはCPUによって増加し、Hになる次の命令を指しますプログラム全体が実行されるまでプロセスを繰り返すことができるように、命令登録簿による分解。