|
|
|
|
|
|
|
|
|
目次
CPU章トップ|誰にでもわかるCPUの仕組み
第1節:CPUとは何か
第2節:命令の実行サイクル
第3節:レジスタの役割
第4節:メモリとCPUの関係
第5節:アドレス指定とメモリマップ
第6節:整数演算とフラグ
第7節:浮動小数点演算
命令実行の流れ(命令実行サイクル)
CPUは、プログラムに書かれた命令を
1つずつ順番に処理します。
この一連の処理手順を
命令実行サイクル(Instruction Cycle)
と呼びます。
どのCPUでも、性能や内部構造が異なっていても、
基本的な考え方は共通しています。
命令実行サイクルの全体像
CPUは次の4つの段階を繰り返しながら動作します。
- 命令の取り出し(フェッチ)
- 命令の解読(デコード)
- 演算の実行(エグゼキュート)
- 結果の書き戻し(ライトバック)
命令実行の概念図
[ プログラムカウンタ PC ] | v [ メモリ ] → 命令読み出し | v [ 命令レジスタ IR ] | v [ 命令の解読(制御回路) ] | v [ 演算装置 ALU ] | v [ レジスタへ結果保存 ]
各段階の詳細
① 命令の取り出し(フェッチ)
プログラムカウンタ(PC)が示すアドレスから、
次に実行する命令をメモリから読み込みます。
読み込まれた命令は命令レジスタ(IR)に格納されます。
② 命令の解読(デコード)
命令レジスタの内容を解析し、
「どの演算を行うのか」
「どのデータを使うのか」
を判断します。
この処理は制御回路によって行われます。
③ 演算の実行(エグゼキュート)
算術演算、論理演算、比較、分岐判定などを
演算装置(ALU)が実行します。
命令によっては、メモリへのアクセスや
入出力装置の制御も行われます。
④ 結果の書き戻し(ライトバック)
演算結果をレジスタやメモリに保存し、
次の命令を実行する準備を行います。
その後、プログラムカウンタが更新され、
次の命令へ進みます。
命令実行サイクルの重要性
このサイクルは、
CPUの電源が入っている限り
毎秒何億回、何十億回と繰り返されています。
CPUの性能差は、
この命令実行サイクルを
どれだけ高速に、効率よく処理できるかによって
大きく左右されます。