没有合适的资源?快使用搜索试试~ 我知道了~
硬件综合设计报告1
需积分: 0 1 下载量 161 浏览量
2022-08-03
11:17:47
上传
评论
收藏 5.2MB PDF 举报
温馨提示
试读
27页
设计简介本小组将《组成原理》实验 4(小组内成员的实验四代码,没有采用助教提供的)实现的简易五级流水线 CPU,由十条指令扩展为 57 条指令,并实现异常处理模
资源详情
资源评论
资源推荐
重庆大学课程设计报告
课程设计题目: MIPS SOC 设计与性能优化
学 院: 计算机学院
专 业 班 级: 计算机科学与技术 03 班
年 级: 2019
学 生: 代韵涛 蒙家鑫
学 号: 20195335 20194128
完 成 时 间: 2022 年 1 月 9 日
成 绩: 90
指 导 教 师: 冯永
重庆大学教务处制
项目 分值
优秀 良好 中等 及格 不及格
评分100 > 𝑥 ≥ 90 90 > 𝑥 ≥ 70 80 > 𝑥 ≥ 70 70 > 𝑥 ≥ 60 𝑥 < 60
参考标准
学 习
态度
15 学习态度认真,
科学作风严谨,
严格保证设计
时间并按任务
书中规定的进
度开展各项工
作
学习态度比较
认真, 科学作
风良好, 能按
期圆满完成任
务书规定的任
务
学 习 态 度 尚
好,遵守组织
纪律,基本保
证设计时间,
按 期 完 成 各
项工作
学习态度尚
可,能遵守
组 织 纪 律,
能按期完成
任务
学 习 马 虎,
纪 律 涣 散,
工作作风不
严谨, 不能
保证设计时
间和进度
技 术
水 平
与 实
际 能
力
25 设计合理、理论
分析与计算正
确,实验数据准
确,有很强的实
际动手能力、经
济分析能力和
计算机应用能
力, 文献查阅
能力强、引用合
理、调查调研非
常合理、可信
设计合理、 理
论分析与计算
正确, 实验数
据 比 较 准 确,
有较强的实际
动手能力、 经
济分析能力和
计算机应用能
力,文献引用、
调查调研比较
合理、可信
设计合理,理
论 分 析 与 计
算基本正确,
实 验 数 据 比
较准确,有一
定 的 实 际 动
手能力,主要
文献引用、调
查 调 研 比 较
可信
设计基本合
理,理论分
析与计算无
大错,实验
数据无大错
设 计 不 合
理,理论分
析与计算有
原 则 错 误,
实验数据不
可靠,实际
动 手 能 力
差,文献引
用、调查调
研有较大的
问题
创新 10 有重大改进或
独特见解,有一
定实用价值
有较大改进或
新 颖 的 见 解,
实用性尚可
有 一 定 改 进
或新的见解
有一定见解 观念陈旧
论 文
(计 算
书、图
纸) 撰
写 质
量
50 结构严谨, 逻
辑性强, 层次
清晰, 语言准
确, 文字流
畅,完全符合规
范化要求,书写
工整或用计算
机打印成文;图
纸非常工整、清
晰
结构合理, 符
合逻辑, 文章
层次分明, 语
言准确, 文字
流畅, 符合规
范化要求, 书
写工整或用计
算 机 打 印 成
文;图纸工整、
清晰
结构合理,层
次较为分明,
文理通顺,基
本 达 到 规 范
化要求,书写
比较工整;图
纸比较工整、
清晰
结构基本合
理,逻辑基
本清楚,文
字 尚 通 顺,
勉强达到规
范 化 要 求;
图纸比较工
整
内 容 空 泛,
结 构 混 乱,
文字表达不
清,错别字
较多,达不
到规范化要
求;图纸不
工整或不清
晰
指导教师评定成绩:
指导教师签名:
MIPS SOC 设计报告
代韵涛、蒙家鑫
1 设计简介
本小组将《组成原理》实验 4(小组内成员的实验四代码,没有采用助教提供的)实现
的简易五级流水线 CPU,由十条指令扩展为 57 条指令,并实现异常处理模块。
其中包括所有非浮点 MIPS I 指令 (除去 LWL、LWR、SWL、SWR) 以及 MIPS 32 中的
ERET 指令,有 14 条算术运算指令、8 条逻辑运算指令、6 条移位指令、12 条分支指令、4
条数据移动指令、2 条自陷指令、8 条访存指令、3 条特权指令,总计 57 条指令。
实现方式上,根据已有的五级流水线结构,依次分析不同类型指令在数据通路中的
路径,并修改控制器及数据通路。完成一个类型指令即进行一次仿真,调试完毕后进行
下一类型的实现。全部仿真结束后,基于构造类 SRAM 接口的 SOC 连接,成功通过了完
整版指令的 Trace 测试。
实现效果上,将设计及实现的 CPU 连接外设,完成上板操作,成功通过 89 个测试点。
1.1 小组分工说明
代韵涛:主要负责跳转与分支、数据移位、特权和内陷指令的设计与功能实现,乘、除
法单元、hilo 寄存器的设计,负责数据冒险模块的设计,组合各个子模块,修改数据
通路,连接 SRAM 接口进行功能测试。参与上板操作。编写实验报告。
蒙家鑫:主要负责算术、逻辑、移位、访存指令模块的设计与功能实现,对 57 条指令
进行功能仿真测试,负责上板操作,参与异常处理模块的设计、数据通路的连接和功
能测试。编写实验报告。
2 设计方案
2.1 总体设计思路
总体思路是:五级流水复用了实验四的实现,在不改变各个阶段间接口的情况下通
过 mulx 和相应控制信号选择接口的输入数据,尽可能的不破坏原有数据通路;用暂停流
水线的方式实现多周期乘法和除法以避免 critical path 过长影响主频(实现了单独的乘除
法控制单元).
在 EX 阶段实现 hilo 寄存器,EX 阶段可以读出 hilo 寄存器,但实际上是在 MEM 阶
段写;在 MEM 阶段实现分支跳转,保证延迟槽的执行,由于在 MEM 阶段时已经对延迟
1
槽下一条指令进行取值,所以如果需要跳转的话,需要对延迟槽的下一条指令进行 flush
(即我们的 cpu 实现采取了默认分支跳转指令不跳转的策略).
cp0 寄存器采用了和 hilo 寄存器相同的的数据通路行为,即在 EX 阶段读出在 MEM
阶段写入,在 MEM 阶段实现异常和终端的触发,所以在数据通路中增加了寄存器以传
递每个阶段指令的异常情况.
冒险控制部分沿用实验四的实现,减少了由 ID 阶段判断分支预测的暂停,添加了由
多周期乘除法导致的暂停.
数据前推部分相较于实验四进行了简化,只需要将 MEM 阶段和 WB 阶段的数据前
推到 EX 阶段.
在给出的实验环境中,我们实现了 mycpu 模块以接入 sram 接口。接下来我们对重
要子模块进行描述。
2.2 IF 模块设计
2.2.1 功能描述
根据控制信号更新 PC 寄存器并输出指令地址;检测 PC 地址异常
2.2.2 接口定义
表 1: IF 接口定义
信号名 方向 位宽 功能描述
clk Input 1-bit 时钟
rst Input 1-bit 外部重置信号
stall Input 1-bit 暂停信号;PC 暂停更新
branch Input 1-bit 跳转信号,1 代表进行分支跳转
jump Input 1-bit 跳转信号,1 代表进行无条件跳转
exp-handle Input 1-bit 异常信号,1 代表进行异常处理,此时 PC
值更新为异常处理程序的入口地址
ERET Input 1-bit 为 1 代表执行 ERET 指令,从 epc 取出
地址作为新 PC 值
jumpAddr Input 32-bit 无条件跳转地址
branchAddr Input 32-bit 分支跳转地址
epc Input 32-bit epc 寄存器值,代表异常处理程序的返回
地址
PCout Output 32-bit PC 寄存器值
PC-EXP Output 1-bit PC 地址异常信号
2.2.3 IF 模块具体实现
(1) 根据控制信号选择下一周期 PC 值,异常处理拥有最高的优先级,默认下一周期 PC
值为 PC+4.
2
图 1: 下一周期 PC
(2) 当 IF 阶段需要暂停时,PC 使能信号置 0,此处异常处理信号作为例外处理,使能端
或上异常处理信号可以使 IF 阶段即使在暂停时依旧响应异常处理程序.
图 2: PC 模块
2.3 ID 模块设计
2.3.1 功能描述
负责指令译码,输出控制信号、原操作数地址、寄存器写回地址;计算分支跳转地址
和无条件跳转地址;寄存器读写;检测系统调用异常、中断异常、保留指令异常;在 ID 阶
段暂停时译码控制信号输出置 0
2.3.2 接口定义
如表 2 所示
2.3.3 ID 模块具体实现
(1) 计算跳转地址和立即数.
图 3: 计算跳转地址和立即数
(2) 通过 controller 进行译码,通过 mux 实现控制信号置 0,有以下情况需要将控制信号
置 0:ID 阶段暂停时不译码;nop 指令不译码;被 flush 的指令进行充值信号清零以
实现 flush 功能,比如在本实现中为了延迟槽的执行,跳转指令 PC+8 的指令会被取
值,应由 EX-MEM 寄存器中 branch-tacken 的值控制清零. 如图 4 所示.
3
剩余26页未读,继续阅读
傅融
- 粉丝: 26
- 资源: 333
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0