命令の実行過程
1.メインメモリ上の命令をプロセッサに読み込む
2.読み込んだ命令の解釈
3.オペランドに記されたデータの読み込み
4.命令を演算回路で実行
5.演算結果の書き込み
命令サイクルとマシンサイクル
命令サイクルは、複数のマシンサイクルに細分化される
1.フェッチサイクル
1-1.命令フェッチサイクル
1-2.デコードサイクル
2.実行サイクル
2-1.オペランドフェッチサイクル
2-2.演算サイクル
2-3.書き込みサイクル
※ オペランドフェッチサイクルや書き込みサイクルは不要であれば適宜省略される。
1.フェッチサイクル
フェッチサイクルには「命令フェッチ」と「デコードサイクル」がある。
1-1.命令フェッチサイクル
メインメモリから命令を読み込み、デコーダユニットに渡す。
1-2.デコードサイクル
命令フェッチサイクルでデコーダユニットから渡されたオペレーションコードを命令デコーダに渡す。
命令デコーダ
入力・・・オペレーションコードとキャリーフラグを命令デコーダに渡す。
出力・・・「値の読み込み先を選択する信号」と「値の書き込み先や演算回路を選択する信号」を出力する。
2.実行サイクル
2-1.オペランドフェッチサイクル
命令デコーダの出力により装置(レジスタなど)や演算回路が選択される。また、イミディエイトデータがメインメモリから読み出される。
2-2.演算サイクル
使用される装置、演算回路、イミディエイトデータが ALU に入力され、演算を行う。
2-3.書き込みサイクル
演算結果がレジスタやメインメモリなどの記憶装置に書き込まれる。