控制器设计:MIPS单周期CPU

一、实验要求

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

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

1.电路1

一:单周期MIPS

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

二:单周期硬布线控制器

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

I型:看Op字段

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

控制器设计:MIPS单周期CPU_第12张图片

三、实验设计

1.电路1
控制器设计:MIPS单周期CPU_第13张图片
2.电路2
控制器设计:MIPS单周期CPU_第14张图片

四、实验总结

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

你可能感兴趣的:(计算机组成)