控制器设计:MIPS单周期CPU

时间:2024-11-10 11:36:59

一、实验要求

利用运算器实验,存储系统实验中构建的运算器、寄存器文件、存储系统等部件以及 Logisim 中其它功能部件,构建一个32位 MIPS CPU 单周期处理器。完成设计后,加载 程序,测试排序功能。

二、实验原理(实验准备)

1.电路1

一:单周期MIPS

(1)CPU组成
在这里插入图片描述
(2)控制器:产生控制信号序列的逻辑电路。
控制器取指令数据通路:
在这里插入图片描述
控制器执行指令的过程:指令字——>控制信号序列——>数据通路;
(3)操作控制器:
在这里插入图片描述
(4)单周期MIPS控制器设计:
在这里插入图片描述
(5)单周期MIPS数据通路:
在这里插入图片描述
(6)参考电路:
在这里插入图片描述

二:单周期硬布线控制器

(1)指令译码逻辑:
syscall:系统调用,这里用于停机。
指令手册查得
单周期MIPS CPU 指令格式:
在这里插入图片描述
R型:== op字段始终为0==。在此实验中add、slt为R型。
注意:由func决定。如add的func是10 0000,表示20。在logisim中用常量20来连接。
在这里插入图片描述
在这里插入图片描述

I型:看Op字段

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)ALU控制器逻辑:
如ADD的运算操作码为0101,即十进制的5。在logisim中接常量5。
注意:只有运行STL指令时,需要选择比较运算,其余都是加法运算。所以比较器那里接slt的func字段。
在这里插入图片描述
(3)指令译码信号:

在这里插入图片描述

三、实验设计

1.电路1
在这里插入图片描述
2.电路2
在这里插入图片描述

四、实验总结

问题:在平台提交的时候提示 cannot find Jar library 。
体会:出现以上故障,是因为本地 和测试平台中的 路径不一 样导致的。一般建议本地的 jar 文件和 文件在同一目录下,如果出现这个问题,可以调整将本地 先移动到 同目录下后,打开 ,logisim 会提示找不到 ,重新指向同目录 ,存盘退出,再重新上传电路文本内容,即可解决这个问题。