[华中科技计组实验]logisim完成单周期5级流水MIPS CPU
自己动手画cpu系列 建设中ing 仅供参考!
在这首推华中科技大学计算机组成原理实验课mooc连接
初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。
- 数字逻辑基础
- 数据表示实验
- 运算器设计
- 存储器设计
- MIPS CPU
- MIPS CPU必备基础知识
- 8指令单周期MIPS32 CPU
- 8指令多周期(微指令)MIPS32 CPU
- 8指令多周期(硬布线)MIPS32 CPU
- 24条指令5级流水MIPS32 CPU
hu~,终于完成了,真是费劲呐
支持24条指令,5级流水线,可以对分支指令处理,寄存器冲突处理,指令ROM为1K,数据RAM为1M,32位MIPS指令集CPU
但是…
大量使用比较器造成硬件开销巨大,测试一下发现这尼玛真是个老爷车还没单周期跑的快,自己电脑cpu占百分之八九十只能跑到20多赫兹,一个走马灯跑了半天,可优化空间太大了,写了那么多天造成这个破样,有点悲剧。。。
先放个图大伙参考就行了,要是有人想听思路的话接下来再更
更新:
说实在的虽然自己很烂,但是做完成就感爆棚有木有
跑马灯gif:
在这停留几秒才会显示,前面多录了几帧
这个是最终版本,建议先不要一上来就写流水线这个,有时间的最好把前面的实验都做做,最起码也要把前面单周期,多周期的做一下,要不然确实有些困难。
按我的步骤是硬布线控制器设计->流水接口设计->cpu框架设计->分支指令处理->寄存器冲突处理
一、 硬布线控制器的设计:
参照前面单周期的控制器,只不过这个是24指令的,如图:
①运算器控制信号设计:
按照老师给excel表填写完整,运算器部分需把ALU_OP那一列填写完整,运算器规格如下:
按照不同信号填写不同运算功能就行了
②控制信号生成:
就是ALU_OP后那几列控制信号,如上表填写,这个参照单周期24指令的控制信号,是一样的。
最后把逻辑表达式填入logisim中自动生成电路
ps:关于指令控制信号如何填写,首先把大体框架搭好就是按照取码、译码、执行、访存、写回每部分的逻辑器件先搭好,控制信号基本上控制的多路选择器,老师mooc上也有给出大体框架图,参照这些写出,还是最好把单周期的先做了
[华中科技计组实验]logisim完成单周期5级流水MIPS CPU相关推荐
- [华中科技计组实验]logisim完成运动码表
自己动手画cpu系列 建设中ing 仅供参考! 在这首推华中科技大学计算机组成原理实验课mooc连接 初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有 ...
- 计组课设:单周期31条MIPS指令CPU设计(含代码)
多周期54条CPU:计组课设:多周期54条MIPS指令CPU设计(含代码)_孔艺菲的博客-CSDN博客 单周期CPU源码:while-TuRe/Single-cycle-CPU31 (github.c ...
- 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器
北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院实 验 报 告实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩: ...
- 计算机组成原理实验心得2000字,计组实验报告(共10篇).doc
计组实验报告(共10篇) 计组实验报告(共10篇) 计组实验报告 计算机组成原理实验报告一 一.算术逻辑运算器 1. 实验目的与要求: 目的:① 掌握算术逻辑运算器单元ALU(74LS181)的工作原 ...
- 计算机组成实验六MIPS汇编器,杭电计组实验6-MIPS汇编器与模拟器实验.doc
<杭电计组实验6-MIPS汇编器与模拟器实验.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<杭电计组实验6-MIPS汇编器与模拟器实验.doc> ...
- 【计组实验】P3 Verilog多周期处理器开发 MIPS指令集
全部代码+测试指令: 链接:CPUMultiCycle p3正确运行_百度网盘 提取码:gmzb (实验P1P2)Logisim电路图以及Verilog单周期处理器设计,见以下博客: [计算机组成原理 ...
- 西电计组实验一 存储器实验
FPGA中LPM_ROM定制与读出实验 一.实验目的 1.掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法: 2.用文本编辑器编辑mif文件配置ROM,学习将程序代 ...
- 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器.doc
北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院 实 验 报 告 实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩 ...
- 使用logisim搭建单周期CPU与添加指令
使用logisim搭建单周期CPU与添加指令 搭建 总设计 借用高老板的图,我们只需要分别做出PC.NPC.IM.RF.EXT.ALU.DM.Controller模块即可,再按图连线,最后进行控制信号 ...
最新文章
- 2016 年Adobe设计成就奖作品征集
- python语言format用法_python格式化输出之format用法
- 虚拟网站禁用php,虚拟主机php程序fsockopen函数被禁用
- “饮水机”:形象比喻 深入浅出理解RAID
- 【有内鬼,终止交易】风靡朋友圈的壁纸,实现代码竟如此简单 | 原力计划
- swift编程语言和c,Swift与Objective C对比:选择更快的开发语言
- Python打印2018年的日历(【问题描述】 打印2018年的日历 【输入形式】 【输出形式】 【样例输入】 【样例输出】)
- 电脑的脉搏---时钟频率的来龙去脉
- 加推与多家上市企业合作,智能名片小程序为企业销售赋能
- 解题:POI 2008 Plot purchase
- B. Boboniu Plays Chess(手速)
- Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
- Linux 挂载nas盘
- SAP中采购收货控制中的配置问题分析
- Freshman的插入排序实现
- 宜家将首次参与天猫618购物节;3M启动上海结构胶国产化二期扩产项目 | 美通企业日报...
- 算法与程序设计相关知识
- android 调用搜狗地图api,sogou地图API用法实例教程
- 汇编实验1 两个多位十进制数相加的实验
- Python编程错误:参数错误([_ctypes.COMError: (-2147024809, ‘参数错误。‘, (None, None, None, 0, ...