制御装置(コンピュータCPU)
CPU内で命令を解読し、ALU、レジスタ、メモリ、入出力を協調させるタイミング信号と制御信号を発行する構成要素。ハードワイヤード方式またはマイクロプログラム方式で実装される。
制御装置は、プログラム命令を解釈し、コンピュータの他の部分の動作を統括する中央処理装置(CPU)の一部である。通常はCPU内部のデジタル回路として実装され、演算の順序付け、タイミング信号の生成、算術論理演算装置、レジスタ、メモリ、および周辺機器インターフェース間のデータフローの指示を担う。
画像ギャラリー
1 画像構造と主要構成要素
実装には違いがあるものの、典型的な制御装置には、いくつかの識別可能な要素が含まれる。
- 命令フェッチおよびバッファの論理回路(プログラムカウンタを含む)。
- 符号化された命令を制御動作へ変換する命令レジスタとデコーダ。
- 命令サイクルにおける段階的な制御パルスを生成するタイミング回路およびシーケンス回路。
- ALU、レジスタ、バスで用いられる低水準の制御信号を出力する制御論理(固定論理ゲートまたはマイクロコード記憶装置)。
動作の仕組み
基本的には、制御装置はフェッチ・デコード・実行サイクルを実現する。メモリから命令を取り出し、操作とオペランドをデコードした後、ALUや他の構成要素が操作を実行して結果を格納するための信号を発行する。また、プログラムカウンタのインクリメントまたは変更によるプログラムの順序制御、割り込みの処理、メモリおよび入出力アクセスの調整も行い、データがシステムバス上を正しく移動するようにする。
設計方式と発展
代表的な設計方式には、高速で固定的な動作のために組合せ論理と順序論理から構成されるハードワイヤード制御と、上位レベルの機械語命令を実装するマイクロ命令を小規模な制御メモリに格納するマイクロプログラム制御がある。マイクロプログラミングは、命令セットを柔軟に定義する方法として初期のコンピュータで導入され、現在も多くの複雑なプロセッサで使用されている。現代のCPUでは、パイプライン処理、アウト・オブ・オーダー実行、分岐予測、複数発行パイプラインによってさらに複雑さが加わり、ハザード、同期、資源割り当てを管理する制御論理への要求が高まっている。
用途と実用上の重要性
制御装置は、プログラムを正確かつ効率的に実行するうえで中心的な役割を果たす。基本的な命令の順序制御に加え、特権レベルを強制し、割り込みおよび例外に応答し、現代のシステムでは電力管理機能や熱管理機能と協調する。組込み機器では、制御装置が周辺機器用の専用コントローラと統合される場合がある。一方、高性能プロセッサでは、複数の実行ユニットとコアを調整しなければならない。
命令形式とマイクロアーキテクチャ上の制御についてさらに技術的に参照するには、プロセッサ設計およびプログラミングモデルに関する一般的な資料、またはプログラムがCPUによって実行される仕組みを扱う入門資料を参照されたい。
関連項目
著者
AlegsaOnline.com 制御装置(コンピュータCPU) Leandro Alegsa
URL: https://ja.alegsaonline.com/art/22806