CPUの仕組み
CPUはコンピュータの頭脳で、命令を読み取り、演算を行い、結果を出力します。
CPU内部には複数のレジスタが存在し、プログラムカウンタ(PC)、命令レジスタ(IR)、アキュムレーター(ACC)、
アドレスレジスタ(MAR)、メモリデータレジスタ(MDR)などが含まれます。
レジスタとメモリの連携
- PC → 次に実行する命令のアドレス
- IR → 現在実行中の命令
- ACC → 演算結果の一時保持
- MAR → メモリ上のアドレス指定
- MDR → メモリからのデータ取得・書き込み
マイクロコードによるデータパス制御
CPU内部ではレジスタやALUを結ぶバスがあり、マイクロコードで各ゲートの開閉を制御します。
- メモリ読み込み: PC → MAR → Memory → MDR → 汎用レジスタ
- メモリ書き込み: アドレス → MAR → 汎用レジスタ → MDR → Memory
- 演算: レジスタA/レジスタB → ALU → ACC → フラグ更新
- 分岐: Zero/Carry/Overflowフラグを参照してPCを更新
Q&A:専門用語解説
- Q1: レジスタとは?
- CPU内部の高速記憶装置で、命令やデータを一時的に保持する。
- Q2: プログラムカウンタ(PC)とは?
- 次に実行する命令のアドレスを保持するレジスタ。
- Q3: 命令レジスタ(IR)とは?
- 現在実行中の命令を保持するレジスタ。
- Q4: アキュムレーター(ACC)とは?
- 算術論理演算の結果を一時的に保持するレジスタ。
- Q5: メモリアドレスレジスタ(MAR)とは?
- メモリ上の読み書き対象アドレスを保持するレジスタ。
- Q6: メモリデータレジスタ(MDR)とは?
- メモリから読み込んだデータや書き込むデータを一時保持する。
- Q7: ALUとは?
- 算術・論理演算装置。加算・減算・論理演算・シフト演算を行う。
- Q8: フラグレジスタとは?
- 演算結果の状態(ゼロ、キャリー、オーバーフローなど)を保持するレジスタ。
- Q9: マイクロコードとは?
- CPU内部の制御信号の組み合わせで、命令実行の最小単位を定義する。