【知識:コンピュータ構成要素】CPUの心臓部!「命令実行の6ステップ」
CPUがプログラムを実行する際、内部では「取り出す・解釈する・実行する」というサイクルを高速で繰り返しています。この基本フローを正確に把握しましょう。
■ 命令実行サイクルの全体像
命令の実行は、大きく分けて「命令の取り出し(フェッチ)」と「命令の実行」の2つのフェーズで進行します。
| ステップ | 動作の内容とポイント |
|---|---|
| 1. 命令フェッチ (Instruction Fetch) | プログラムカウンタ(PC)が指し示す主記憶上のアドレスから命令を読み出し、CPU内部の命令レジスタ(IR)に格納します。 |
| 2. 命令デコード (Decode) | 命令レジスタ内の命令コードを命令デコーダで解釈し、演算器や各装置へ送るための制御信号を生成します。 |
| 3. アドレス計算 (Address Calculation) | 操作対象となるデータ(オペランド)がどこにあるか、または結果をどこに書くか、主記憶やレジスタの有効アドレスを求めます。 |
| 4. オペランドフェッチ (Operand Fetch) | ステップ3で求めたアドレスから、実際の演算対象となるデー タ(数値など)を主記憶から読み出し、レジスタに格納します。 |
| 5. 命令の実行 (Execute) | 制御信号に従って、ALU(算術論理演算装置)などが実際の計算処理やデータ移動を行います。 |
| 6. 結果の格納 (Write Back) | 実行して得られた演算結果を、指定されたレジスタや主記憶上のアドレスに書き込みます。 |
試験対策の重要キーワード
- プログラムカウンタ (PC):次に実行すべき命令のアドレスを保持する。命令を取り出すと自動的にカウントアップされる。
- 命令レジスタ (IR):取り出された命令そのものを一時的に保持する。
- オペランド:命令の対象となるデータや、その場所を示す情報のこと。
※この一連の動作を1命令ごとに繰り返します。複数の命令を「ずらして」並行実行することで高速化する手法をパイプライン処理と呼びます。
PR