🕺作者: 主页
我的专栏 C语言从0到1 探秘C++ 数据结构从0到1 探秘Linux 😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言
文章目录
- 一、课程设计目的
- 二、课程设计内容
- 三、课程设计步骤
- 四、课程设计总结
一、课程设计目的
掌握 CPU 控制器设计的基本原理,能利用硬布线控制器的设计原理在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU,该处理器能运行简单的内存冒泡排序程序。能利用硬布线控制器以及微程序控制器的原理设计实现 MIPS 多周期 CPU。
二、课程设计内容
- MIPS CPU设计(HUST)
- 单周期MIPS CPU设计
- 实验目的
掌握控制器设计的基本原理,能利用硬布线控制器的设计原理,在 Logisim 平台中设计实现 MIPS 单周期 CPU。
- 微程序地址转移逻辑设计
- 实验目的
了解微程序控制器中微程序分支的基本原理,要求能设计微地址转移逻辑。
- MIPS微程序CPU设计
- 实验目的
掌握微程序控制器设计的基本原理,能利用微程序控制器的设计原理,设计实现多周期 MIPS 处理器。
- 硬布线控制器状态机设计
- 实验目的
了解硬布线控制器中有限状态机 FSM 的基本原理,要求能设计控制器状态机逻辑。
- 多周期MIPS硬布线控制器CPU设计(排序程序)
- 实验目的
理解 MIPS 多周期处理器的基本原理,能利用硬布线控制器的设计原理,设计实现 MIPS 多周期 CPU。
- 自己动手画CPU
本次课程设计的内容在其它实验中都出现了,这里不再赘述。
三、课程设计步骤
- MIPS CPU设计(HUST)
- 单周期MIPS CPU设计
- 原理
当CPU接收到一条指令时,首先将指令中的操作码(op)传递到控制器中。控制器根据操作码(op)的值来判断当前指令的类型,然后根据指令类型来控制数据通路中各个组件的操作,比如将源操作数从寄存器中读取到ALU中进行计算,或者将计算结果存储回寄存器或存储器中。同时,控制器还需要对PC计数器进行控制,以便在执行指令后正确地更新PC计数器的值。
格式如下:
- 接线图
- 微程序地址转移逻辑设计
- 原理
根据给出的状态值对应的微指令地址,需要去填写execl表格
然后在地址逻辑自动生成中可以看到表达式,将其复制到分析组合逻辑电路中。
然后再按照下图顺序生成电路
- 接线图
- MIPS微程序CPU设计
- 原理
据视频中给出的多周期MIPS的数据通路的参考图就可以很容易的设计出多周期MIPS的数据通路电路图。
- 接线图
- 硬布线控制器状态机设计
- 原理
使用EXCEL表自动生成后放到LOGISIM中自动生成
- 接线图
指令译码逻辑和运算器控制逻辑和微指令多周期的MIPS控制器中的类
- 多周期MIPS硬布线控制器CPU设计(排序程序)
- 原理
和实验三类似,据视频中给出的多周期MIPS的数据通路的参考图就可以很容易的设计出多周期MIPS的数据通路电路图。
- 接线图
(二)自己动手画CPU
本次课程设计的内容在其它实验中都出现了,这里不再赘述。
四、课程设计总结
本次课程设计主要围绕着 MIPS CPU 设计展开,包括单周期 MIPS CPU 设计、微程序地址转移逻辑设计、MIPS 微程序 CPU 设计、硬布线控制器状态机设计以及多周期 MIPS 硬布线控制器 CPU 设计等内容。
通过实验,我们掌握了 CPU 控制器设计的基本原理,能够利用硬布线控制器和微程序控制器的设计原理,在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU 和多周期 MIPS 处理器。同时还学习了硬布线控制器中有限状态机 FSM 和微程序控制器中微程序分支的基本原理,能够设计控制器状态机逻辑和微地址转移逻辑。
最后,我们利用所学知识设计了一个能够运行简单的内存冒泡排序程序的多周期 MIPS CPU。这些实验让我们更深入地理解了 CPU 的工作原理,加深了对计算机体系结构的理解和认识。