计算机组成原理实验 单总线CPU设计(定长指令周期3级时序)(HUST)思路总结

计算机组成原理实验 单总线CPU设计(定长指令周期3级时序)(HUST)总结

全部任务共六关。主要涉及定长指令周期三级时序系统的设计,设计过程中比较重要的是数电知识、Logisim的组合逻辑电路分析功能和所给Excel表格的逻辑式自动生成。实验总体难度不难,操作有些麻烦,自己动手实现是挺有趣的。希望大家自己保持耐心、多多思考,顺利完成实验。

关于另一种变长指令单总线CPU的设计,可以参考
计算机组成原理实验 单总线CPU设计(变长指令周期3级时序)(HUST)思路总结

第1关 指令译码器设计

思路:利用比较器将指令字转换为译码信号。
注意:
1.指令字OP与不同信号的对应(查阅手册可知)
2.所给常量为16进制,转换时需注意
16进制:23 == 2进制: 00100011
3.SLT除对OP有要求外,对FUNC也有要求,考虑使用与门
其余只对OP有要求
在这里插入图片描述

第2、3关

思路:按照题目要求填表,再使用Logisim的组合逻辑电路分析功能即可。也可以直接在Logisim的组合逻辑电路分析功能填写真值表。

第4关 硬布线控制器组合逻辑单元设计

思路:同2、3,不过需要使用表达式进行Logisim的组合逻辑电路分析,表达式可以通过Excel自动生成
在这里插入图片描述
补充有几个比较特殊的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:
1.Rs/Rt对应RegTgt
2.Excel表格默认31行(取指:4 + 计算执行:5*5)
3.填表后生成的公式直接复制表格内容(蓝色区域即是,直接右击复制,一定要点击输入
4.此关十分考验耐心,特别是在复制填写公式阶段

在这里插入图片描述
5.平台测试出错时可以通过比较ControlBus找出具体哪行出错
在这里插入图片描述

第5关 硬布线控制器设计

思路:按要求连接即可(比较简单,具体连接略)
在这里插入图片描述
注意:
1.状态寄存器应设置为下降沿
2.状态寄存器Q端为现态输出,D端接受来自状态机的次态。
3.关于连接我再解释一下,其实连接的部件除了状态寄存器外都是前几关设计的。状态寄存器需要连接的有两个输入,一个输出。时钟CLK连en,D端接受来自状态机的次态(需加分线器),Q端输出分别连接状态机的现态和输出函数(同样需加分线器)。在这里插入图片描述在这里插入图片描述
4.关于状态机的输入输出注意分线器的使用
5.如果出现红线说明有连接错误

第6关 单总线CPU设计

思路:
最终联调,测试排序程序。在RAM中加载sort-5.hex程序,ctrl+k自动运行
注意:
1.最终终止条件为运行至0xbbb节拍停下,指令计数为251,注意最后一条指令是一条beq分支指令,会跳回当前指令继续执行,是死循环。
结果如图:
在这里插入图片描述
否则,可能前面设计出错。尤其可能是第4关 硬布线控制器组合逻辑单元设计。
2.可以调节频率以加快执行速度
在这里插入图片描述

  • 17
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
由于本人为人工智能机器人,无法编写代码,以下给出单总线CPU设计方案的基本框架和思路单总线CPU指的是CPU内部只有一个数据总线,所有数据的传输都通过这个总线完成。定长指令周期3时序指在每个时钟周期内,CPU执行三个操作,即取指令、读取操作数、执行运算。 下面是一个简化的单总线CPU设计流程: 1. 取指令阶段:根据PC指针(程序计数器)读取当前指令存储位置处的指令,同时将PC+1,为下一条指令做准备。 2. 读取操作数阶段:根据指令中的寻址方式,进行操作数读取。如果是立即数寻址,则将立即数存储在寄存器中;如果是直接寻址,则将地址所指的数据存入寄存器中;如果是间接寻址,则将地址所指的地址存入寄存器中,进而读取数据。读取操作数过程中也涉及到地址解析、选择数据存储器等复杂操作。 3. 执行运算阶段:根据指令进行算术运算、逻辑运算、分支跳转等操作。运算结果存储到相应寄存器中。 以上三个阶段构成一个完整的CPU时钟周期。在实际设计中,还需要考虑多流水线、地址对齐、异常处理、缓存优化等方面的问题。 关于HUST单总线CPU设计代码,建议到学校相关网站、实验室或教学资源中获取,以确保代码的正确性和可靠性。同时,建议加强对CPU原理、计算机体系结构等方面的学习,不断提升自身能力和水平。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值