华中科技大学 计算机组成原理 educoder Logisim平台 MIPS CPU设计

实验目的:

  1. 理解计算机中的重要部件存储器和CPU。
  2. 能利用所学理论知识进行设计 MIPS 寄存器堆、MIPS RAM。
  3. 存储器扩展,利用所学习的 cache 的基本原理设计硬件 cache。
  4. 能利用硬布线控制器的设计原理在 Logisim平台中设计实现支持五条指令的 MIPS 单周期 CPU。
  5. 能利用硬布线控制器以及微程序控制器的原理设计实现 MIPS 多周期CPU。

第1关:单周期MIPS CPU设计

1.1原理

(1)构建MIPS主机通路
参考慕课给出的实验电路图,可以连接得到通路如下面的硬件设计图。主要利用一个硬布线控制器,指令寄存器,PC计数器、寄存器堆(之前实验中的MIPS寄存器文件),ALU加法器(已经封装好的),数据存储器来实现。这里的连接就按照给出的框图进行连接就可以了。
停机是靠位于左上方的计数器,计算周期数。在计数器中设置最大值为224,当周期达到224时即可停机。
(2)设计单周期MIPS控制器
首先是指令译码逻辑的设计,该实验只涉及8条核心的MIPS指令。而这8条MIPS指令的指令字段已经在附件中给出,并且电路底部文字也给出了关于SYSCALL的提示,因此,这部分只需根据相应的OP和FUNC字段进行简单地逻辑比较就可实现。
其次,是ALU控制逻辑的设计,由于该MIPS CPU设计中有关的8条核心MIPS指令中,对于ALU运算逻辑单元中只涉及到加法和比较,因此这一部分可以大大简化。只有运行STL指令时,需要选择比较运算,其余都是加法运算。
最后,对于控制器输出信号的设计,则要根据硬布线控制器中所包含的9中控制信号进行分析,如下图。主要考虑每种控制信号的产生条件。这里更高的要求是掌握8条核心指令集在执行时全部周期中所设计的控制信号,已经使用相应控制信号的作用。
在这里插入图片描述

1.2设计硬件布线图

(1)构建MIPS主机通路
在这里插入图片描述

(2)设计单周期MIPS控制器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试结果如下:
在这里插入图片描述

第2关:微程序地址转移逻辑设计

2.1原理

主要根据的下面这个指令状态变换图,这个状态图是整个微程序CPU设计的核心。根据这个图,在微程序地址转移逻辑自动生成Excel表中可以自动生成地址转移逻辑。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210405182540659.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80ODM4MzU4MA==,size_16,color_FFFFFF,t_70)

在相应的EXCEL表中进行填写,主要是关于机器指令信号及其相关的微程序入口地址的填写。填写完毕后,利用Logisim的自生成功能,就可以实现电路要求的功能了。

2.2设计硬件布线图

在这里插入图片描述
在相应的EXCEL表中进行填写机器指令信号及其相关的微程序入口地址的填写。填写完毕后,利用Logisim的自生成功能,就可以实现电路要求的功能。

第3关.MIPS微程序CPU设计

3.1原理

(1).构建多周期MIPS CPU数据通路
参考慕课给出的实验电路图,可以连接得到通路如下面的硬件设计图。主要利用一个多周期微程序控制器,指令寄存器,数据寄存器,PC计数器、寄存器堆MPIS Regifile,ALU运算器,三个寄存器来实现。按照给出的框图进行连接。
(2).设计微程序控制器
首先是指令译码逻辑的设计,该实验只涉及8条核心的MIPS指令。而这8条MIPS指令的指令字段已经在附件中给出,并且电路底部文字也给出了关于SYSCALL的提示,因此,这部分只需根据相应的OP和FUNC字段进行简单地逻辑比较就可实现。
其次就是ALU控制逻辑的设计,由于该MIPS CPU设计中有关的8条核心MIPS指令中,对于ALU运算逻辑单元中只涉及到加法和比较。只有运行STL指令时,需要选择比较运算,其余都是加法运算。
最后就是对控制器输出信号的设计了,根据硬布线控制器中所包含的9中控制信号进行分析,主要考虑每种控制信号的产生条件。这里更高的要求是掌握8条核心指令集在执行时全部周期中所设计的控制信号,已经使用相应控制信号的作用。

3.2设计硬件布线图

(1).构建多周期MIPS CPU数据通路
在这里插入图片描述

(2).设计微程序控制器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
完成二,三的设计之后,需要进行最后一步CPU测试,在数据通路的指令存储器中加载sort镜像文件,在经过891个时钟周期后会正确停机,并可以看到数据存储器中有降序排列数,放到测试平台也测试通过了。

第4关.硬布线控制器状态机设计

4.1原理

状态机的主要功能是将状态转换为信号组合逻辑,实验中已经给出了引脚,非门以及一些必要的连接,完成这个实验的工作量可以说是很小的。按照如下图的状态图,可以参考电路的框架,只需要按照这个框架,继续通过与门和或门来连接N0-N3即可。

在这里插入图片描述

4.2设计硬件布线图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

第5关.多周期MIPS硬布线控制器CPU设计(排序程序)

5.1原理

(1)构建多周期MIPS CPU数据通路
参考慕课给出的实验电路图,可以连接得到通路如下面的硬件设计图。主要利用一个硬布线控制器,指令寄存器,PC计数器、寄存器堆,ALU运算器,数据存储器来实现。按照给出的框图进行连接就可以了。
(2)设计硬布线控制器
首先是指令译码逻辑的设计,该实验只涉及8条核心的MIPS指令。而这8条MIPS指令的指令字段已经在附件中给出,并且电路底部文字也给出了关于SYSCALL的提示,因此,这部分只需根据相应的OP和FUNC字段进行简单地逻辑比较就可实现。
其次就是ALU控制逻辑的设计,由于该MIPS CPU设计中有关的8条核心MIPS指令中,对于ALU运算逻辑单元中只涉及到加法和比较。只有运行STL指令时,需要选择比较运算,其余都是加法运算。
接着就是对控制器输出信号的设计了,根据硬布线控制器中所包含的9中控制信号进行分析,主要考虑每种控制信号的产生条件。这里更高的要求是掌握8条核心指令集在执行时全部周期中所设计的控制信号,已经使用相应控制信号的作用。
最后,根据的指令状态变换图,在微程序逻辑自动生成Excel表中输入现态,指令译码信号,就可以自动生成次态逻辑表达式了。

5.2设计硬件布线图

(1)构建多周期MIPS CPU数据通路
在这里插入图片描述

(2)设计硬布线控制器
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
完成四,五的设计之后,需要进行最后一步CPU测试,在数据通路的指令存储器中加载sort镜像文件,在经过891个时钟周期后会正确停机,并可以看到数据存储器中有降序排列数,放到测试平台也测试通过了。

测试结果

在这里插入图片描述

  • 62
    点赞
  • 506
    收藏
    觉得还不错? 一键收藏
  • 119
    评论
评论 119
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值