ステップ名 |
R 形式命令 |
メモリ参照命令 (lw/sw) |
分岐命令 |
ジャンプ命令 (j) |
命令フェッチ |
IR = メモリ[PC] PC=PC+4 |
命令デコードと レジスタのフェッチ |
A = レジスタ[IR[25-21]] B = レジスタ[IR[20-16]] ALUOut = PC + (符号拡張 (IR[15-0]) 2) (j 命令用。2 ビットシフトは 4 倍) |
実行、 メモリアドレス計算 分岐/ジャンプ完了 |
ALUOut = A 演算子 B |
ALUOut = A + 符号拡張 (IR[15-0]) |
if(A==B) then PC = ALUOut |
PC= PC[31-28] (IR[25-0]2) |
メモリアクセス または R 形式命令完了 |
レジスタ[IR[15-11]]=ALUOut |
ロード:MDR=メモリ[ALUOut]、 ストア:メモリ[ALUOut]= B |
|
|
メモリ読み出し完了 |
|
レジスタ[IR[20-16]]= MDR (lw のみ) |
|
|