CPUの命令実行手順は、一般的に以下の5つのステップに分けられます。
1. 命令フェッチ
プログラムカウンタ(PC)に格納されているアドレスから、主記憶装置から命令を取り出します。
2. 命令デコード
取り出した命令をデコードし、命令の種類やオペランドなどを解釈します。
3. オペランドアドレス計算
命令の種類に応じて、オペランドのアドレスを計算します。
4. オペランドフェッチ
計算されたアドレスから、主記憶装置からオペランドを取り出します。
5. 命令実行
命令の種類に応じて、演算装置や制御装置を使用して、命令を実行します。
これらのステップは、順を追って実行されますが、実際にはパイプライン処理と呼ばれる技術により、複数のステップを同時に実行することで、処理速度を向上させています。
以下は、各ステップの詳細な説明です。
1. 命令フェッチ
- プログラムカウンタ(PC)に格納されているアドレスは、次に実行する命令のアドレスを指しています。
- CPUは、主記憶装置からそのアドレスにある命令を取り出します。
- 取り出した命令は、命令レジスタに格納されます。
2. 命令デコード
3. オペランドアドレス計算
- 命令によっては、オペランドと呼ばれるデータが必要です。
- オペランドアドレス計算装置と呼ばれる回路によって、オペランドのアドレスが計算されます。
- オペランドのアドレスは、レジスタや主記憶装置などに格納されています。
4. オペランドフェッチ
5. 命令実行
- 命令の種類に応じて、演算装置や制御装置を使用して、命令を実行します。
- 演算装置は、加減乗除などの演算を行います。
- 制御装置は、プログラムの分岐やループ処理などを制御します。
命令実行手順は、CPUのアーキテクチャによって多少異なりますが、基本的な流れは上記の通りです。