实验九 单周期MIPS CPU设计实验(基于Logisim)

news/2024/11/17 22:17:09/

一、实验目的
学生掌握控制器设计的基本原理,能利用硬布线控制器的设计原理在Logisim平台中设计实现MIPS单周期CPU。

二、实验内容
利用运算器实验,存储系统实验中构建的运算器、寄存器文件、存储系统等部件以及Logisim中其它功能部件构建一个32位MIPS CPU单周期处理器。数据通路如下图所示:
,

要求支持8条MIPS核心指令,最终设计实现的MIPS处理器能运行实验包中的冒泡排序测试程序sort.asm,该程序自动在数据存储器0~15号字单元中写入16个数据,然后利用冒泡排序将数据升序排序,要求统计指令条数并与MARS中的指令统计数目进行对比。
,

####电路引脚

信号输入/输出位宽功能描述
CLK输入1时钟信号
PC输出32程序寄存器的值
IR输出32当前指令字
RegWrite输出1寄存器文件写使能控制信号
RDin输出32寄存器文件写入端口的数据
MemWrite输出1存储器写使能控制信号
MDin输出32存储器写入端口的数据

三、方案设计
1)单周期MIPS控制器设计
,

2)单周期MIPS数据通路:
,

3)单周期MIPS(硬布线)总体电路
,

4)单周期硬布线控制器
1、指令译码逻辑的设计,该实验只涉及8条核心的MIPS指令。而这8条MIPS指令的指令字段已经在附件中给出,并且电路底部文字也给出了关于SYSCALL的提示,因此,这部分只需根据相应的OP和FUNC字段进行简单地逻辑比较就可实现。
2、ALU控制逻辑的设计,由于该MIPS CPU设计中有关的8条核心MIPS指令中,对于ALU运算逻辑单元中只涉及到加法和比较,因此这一部分可以大大简化。只有运行STL指令时,需要选择比较运算,其余都是加法运算。
3、对于控制器输出信号的设计,则要根据硬布线控制器中所包含的9中控制信号进行分析,如下图。主要考虑每种控制信号的产生条件。这里更高的要求是掌握8条核心指令集在执行时全部周期中所设计的控制信号,已经使用相应控制信号的作用
,

四、测试结果
,

五、故障与调试
问题:在平台提交的时候提示 cannot find Jar library cs3410.jar。
,

出现以上故障可能有两种原因:
一是没有在中国大学mocc上下载cs3410.jar扩展包。
二是本地 cs3410.jar 和测试平台中的 cs3410.jar 路径不一样。一般建议本地的 jar 文件和 cpu.circ 文件在同一目录下,如果出现这个问题,可以调整将本地 cs3410.jar 先移动到 cpu.circ 同目录下后,打开 cpu.circ,logisim 会提示找不到 cs3410.jar,重新指向同目录 cs3410.jar,存盘退出,再重新上传电路文本内容,即可解决这个问题。

六、实验总结与心得体会
本次实验主要完成了以下工作:设计实现了单周期MIPS CPU
数据通路、单周期MIPS CPU 硬布线控制器指令译码逻辑、单周期MIPS CPU硬布线控制器ALU控制逻辑、单周期MIPS CPU 硬布线控制器控制信号逻辑。并且最终设计实现的MIPS处理器能运行实验包中的冒泡排序测试程序sort.asm。本次实验我学会了单周期MIPS CPU的设计方法,感到收获颇丰、受益匪浅。


http://www.ppmy.cn/news/580824.html

相关文章

上海交通大学计算机系非全日制,关于上海交通大学非全日制研究生中最便宜的专业...

大家选择在职研究生的方式参加学习的时候都知道不同的方式报考不同学费缴纳也是不同的,非全日制研究生的方式在我们参加报考的时候需要以专业硕士的方式参加报考,需要考生缴纳的费用也是根据不同学校和专业选择不同的,那么关于上海交通大学非…

爱奇艺会员哪里买便宜,什么时候最便宜

很多同学不知道爱奇艺会员哪里买便宜,什么时候最便宜。喜欢追剧看影视的朋友都会选择开通影视网站的会员,其中爱奇艺是选择比较多的一个,下面就和大家分享爱奇艺会员哪里买便宜,什么时候买最便宜。 1.购买爱奇艺会员不建议直接官方…

购买水果最便宜的方案算法题-C++实现

前言 本文记录4月27日晚7点一场软件开发岗笔试的题目,思路以及代码实现。 一、题目简介 题目: 购买水果最便宜的方案 具体描述: m个水果超市在1~n个小时的不同时间段提供不同价格的打折水果,如果某餐厅在每个小时都要采购一种水…

在linux/Ubuntu下调试最便宜的双目摄像头(含Linux版本上位机)CAM5031/CHUSEI 3D WEBCAM 解决只能开单目的问题

在淘宝上买了一个非常便宜的双目摄像头 价格好像只有20来着,测试和学习的首选啊 为了配合ubuntu上的ros使用需要把代码放在ubuntu上运行,卖家也提供了关于linux调试摄像头的资料。 但是摄像头默认的模式是单目,要切换为双目只能使用卖家提供的…

LeetCode K站中转内最便宜的航班(回溯法、动态规划)

有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果没有这样的路线,则输…

画个板子玩一玩STM32F030F4P6,也许是最便宜的32bit MCU

前言,什么是STM32F030F4P6 STM32目前最便宜的芯片之一应该就是这一块,STM32F030F4P6,这一个芯片没有USB,但是其他都有,引脚少,价格低廉,如果找不到原厂,可以买替代的国产芯片&#…

Java实现 LeetCode 787 K 站中转内最便宜的航班(两种DP)

787. K 站中转内最便宜的航班 有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果…

全网最便宜的OpenHarmony开发板和模组Neptune问世(基于联盛德W800的SoC),9.9元带蓝牙和wifi功能还包邮

这是我见过的全网最便宜的开发板。功能一点儿也不弱,带蓝牙和wifi功能,竟只要9.9元还包邮,果断的买了块儿研究研究。它还支持HarmonyOS和freeRTOS嵌入式操作系统,也可以接入鸿蒙生态。 不得不说这么亲民的价格 ,没理由…