16 位单时钟周期 CPU 设计
(一)指令分析
nop # 地址为 0000,机器码为 0000,第一个时钟不作操作;
lw $r1,$r2(1) # 地址为 0001,机器码为 6901,r1=5;
lw $r0,$r2(3) # 地址为 0002,机器码为 6803,r0=5;
beq $r0,$r1,5 # 地 址 为 0003 , 机 器 码 为 9105 , 相 等 , 下 一 条指 令 地 址 为
3+1+5=9;
nop 0000 # 地址为 0004;
nop 0000 # 地址为 0005;
nop 0000 # 地址为 0006;
nop 0000 # 地址为 0007;
nop 0000 # 地址为 0008;
lw $r1,$r0(2) # 地址为 0009,机器码为 6102,r1=3;
add $r3,$r1,$r2 # 地址为 000a;机器码为 06c2,r3=8;
ori $r2,$r0,5 # 地址为 000b;机器码为 3205,r2=5;
addi $r1,$r0(1) #地址为 000c,机器码为 4101,r1=1;
bne $r1,$r2,6 # 地 址 为 000d ; 机 器 码 为 a606 , 不 相 等 , 下 一 条 地 址 为
c+1+6=0x13;
nop 0000 # 地址为 000e;
nop 0000 # 地址为 000f;
nop 0000 # 地址为 0010;
nop 0000 # 地址为 0011;
nop 0000 # 地址为 0012;
nop 0000 # 地址为 00013;
jump 1 # 地址为 0014,机器码为 8001,跳回第一条;
注:nop 是指该地址没有指令,其目的在于满足跳转指令的下一条地址。
(二)每步显示
复位:
- 1
- 2
- 3
前往页