大家好,我是小黄鸭,又来更新了,这个实验了一天,也过了,文章下面有我的联系方式,有问题请私聊。
这个实验线路比较复杂,尤其是在数据通路部分,再者,对于指令的运行方式和微程序的转换逻辑要求很高
单周期MIPS CPU设计&单周期硬布线控制器
- 数据通路如下,主要利用一个硬布线控制器,指令寄存器,PC计数器、寄存器堆(之前实验中的MIPS寄存器文件),ALU加法器(已经封装好的),数据存储器来实现。这里的连接就按照给出的框图进行连接就可以了,注意细节不要出现小错误
- 单周期硬布线控制器的设计
- 首先是指令译码逻辑的设计,该实验只涉及8条核心的MIPS指令。而这8条MIPS指令的指令字段已经在附件中给出(关于MIPS指令字段可参考我另一篇关于单总线定长&变长的博客biubiu传送门),并且电路底部文字也给出了关于SYSCALL的提示,因此,这部分只需根据相应的OP和FUNC字段进行简单地逻辑比较就可实现。
- ALU控制逻辑的设计,由于该MIPS CPU设计中有关的8条核心MIPS指令中,对于ALU运算逻辑单元中只涉及到加法和比较,因此这一部分可以大大简化。只有运行STL指令时,需要选择比较运算,其余都是加法运算。
- 对于控制器输出信号的设计,则要根据硬布线控制器中所包含的9中控制信号进行分析,如下图。主要考虑每种控制信号的产生条件。这里更高的要求是掌握8条核心指令集在执行时全部周期中所设计的控制信号,已经使用相应控制信号的作用
- 当你上面两部分设计完成后,再次打开该电路文件时,你的整个数据通路中就只存在绿线和黑线了。这时候就要进行最后一步测试,在数据通路的指令存储器中加载sort文件。最终,会在相应的周期数停机,并呈现一个升序排列。
微程序地址转移逻辑设计
- 实验目的是了解微程序控制器中微程序分支的基本原理,这里的话建议去听一下中国大学有关多周期微程序CPU那一节的相关知识,能够帮助你更好的理解。而首先是要求设计微地址转移逻辑,也是最简单的一部分。
- 主要根据的下面这个指令状态变换图,这个状态图可谓是整个微程序CPU设计的核心,从开始的地址转移逻辑的设计到中间的微程序控制器设计以及最后的整个CPU数据通路的设计都有一定的帮助。
- 在相应的EXCEL表中进行填写,这个表格相对简单,主要是关于机器指令信号及其相关的微程序入口地址的填写。填写完毕后,利用Logisim的自生成功能,就可以实现电路要求的功能了。
有问题可在下方评论或者私信q453682174.