其中Signimm15:0=Instr15:0, Signimm31:16=Instr15
5)存储器地址计算:
6)向寄存器文件写入数据
RegWrite信号被置成1,写入过程在时钟周期最后的时钟上升沿完成。
7)形成PC的下地址 指令占4个字节,字编址。
6.单周期控制器的构建
控制单元基于指令中的opcode字段(31:26)、funct字段(5:0)产生控制信号;主译码的真值表。见下图:
7.完整的单周期MIPS处理器
三.设计过程
1.指令集设计 R型指令 指令序号 指令
译码结果(B)
存储指令
(H)
<0> <1> <2> <3> <4> <5> <6> <13> <14> <17> <18>
add
$s0,$s1,$s2 sub
$t0,$t1,$t2 and
$s3,$s4,$s5 or
$s0,$s6,$s7 xor
$t3,$t4,$t5 slt
$t7,$t5,$t6 nor
$t7,$t5,$t6 srl
$t0,$s1,$t5 sll
$t0,$s1,$t2 inc $t0,$t6 dec $t0,$t5
000000 10001 10010 10000 00000 100000
000000 01001 01010 01000 00000 100010
000000 10100 10101 10011 00000 100100
000000 10110 10111 10000 00000 100101
000000 01100 01101 01011 00000 100110
000000 01101 01110 01111 00000 101010
000000 01101 01110 01111 00000 100111
000000 10001 01101 01000 00000 000010
000000 10001 01010 01000 00000 000000
000000 01110 00000 01000 00000 000011
000000 01101 00000 01000 00000 000100
02328020 012a4022 02959824 02d78025 018d5826 01ae782a 01ae7827 022d4002 022a4000 01c04003 01a04004
I型指令 指令序号 <7> <8> <10>
指令
译码结果(B)
存储指令(H) 8d300001 ad290001 21280001
lw $s0,1($t1) 100011 01001 10000 00000000
00000001 sw $t1,1($t1) 101011 01001 01001 00000000
00000001 addi
$t0,$t1,1
001000 01001 01000 00000000 00000001
<11>
beq $t1,$t1,1 000100 01001 01001 00000000
00000001
11290001
J型指令 指令序号 <15> 指令
译码结果(B)
000010 0000000000000000000 0010001 存储指令(H) 08000011 J 17
2.MIPS 32位单周期处理器结构设计 CPU设计结构图如下:
信号说明:
a1:pc中的指令的地址送往IM去寻找指令 a2:pc产生的下一条指令的地址 a3:pc中指令的地址加4
a4:取pc中指令的地址加4后的高六位 b1:取J型指令的低26位 b2:操作码字段高六位
b3:第一个源操作数的寄存器地址,R型的21-25位,I型的21-25位