单周期MIPS CPU设计

一、实验内容

单周期MIPS CPU设计_第1张图片

实验过程

1.设计的24条指令

单周期MIPS CPU设计_第2张图片
R型指令详细:
单周期MIPS CPU设计_第3张图片
I型指令详细
单周期MIPS CPU设计_第4张图片
J型指令详细
在这里插入图片描述
分析每条指令的控制信号
逻辑左移指令 SLL rd, Rt,shamt
通过指令译码器,解析出Func字段(0:5位,000000)得知为SLL指令,同时得到源寄存器Rt(20:16位)和目的寄存器Rd(15:11位)以及shamt值(10:6位);然后根据shamt值将Rt中的值做逻辑左移运算,AluOP=0,并存入目的寄存器Rd中。
因此,SLL指令需要寄存器写回信号RegWrite=1,多路选择信号RegDst=1,AluOP=0.
相等跳转指令 BEQ Rs、Rt、Imm
通过指令译码器,解析出OP字段(0:5位,000100)得知为BEQ指令,同时得到源寄存器Rs(25:21位)和Rt(20:16位)和立即数Imm(15:0位);然后比较Rs和Rt的值,如果相等,则修改PC的值,即PC+4,立即数经过符号扩展器左移两位。将PC+4的值和立即数左移两位的值相加返回PC中。
一共有24条指令,在这里就写两条指令啦!

可以得到控制信号真值表,如下图:
单周期MIPS CPU设计_第5张图片

2.生成ALU与控制信号的逻辑电路

单周期MIPS CPU设计_第6张图片
单周期MIPS CPU设计_第7张图片

3.构建MIPS CPU数据通路

取指令
单周期MIPS CPU设计_第8张图片
分析指令
单周期MIPS CPU设计_第9张图片
取指令部分
单周期MIPS CPU设计_第10张图片
单周期硬布线控制器
单周期MIPS CPU设计_第11张图片
寄存器
单周期MIPS CPU设计_第12张图片
立即数扩展通路
单周期MIPS CPU设计_第13张图片
运算器与存储器
单周期MIPS CPU设计_第14张图片
Syscall指令通路
单周期MIPS CPU设计_第15张图片
存储led数据寄存器
单周期MIPS CPU设计_第16张图片
跳转指令通路
在这里插入图片描述
完整的单周期MIPS数据通路

单周期MIPS CPU设计_第17张图片

4.测试结果

单周期MIPS CPU设计_第18张图片
内容挺多的,就写这些吧,实验报告我写了一万字,做完这个实验,命丢了一大半。有需要的请留言或私信我都可以,有时候不看这边的消息,没有回复的请直接加我微信。
单周期MIPS CPU设计_第19张图片

你可能感兴趣的:(控制器,编程语言,cpu,mips)