没有合适的资源?快使用搜索试试~ 我知道了~
Lab05报告1
需积分: 0 0 下载量 58 浏览量
2022-08-04
14:14:23
上传
评论
收藏 388KB PDF 举报
温馨提示
试读
19页
摘要基于实验 3、实验 4 的实验结果,本实验对部分已有模块进行修改,并且新实现了指令内存模块、数据选择器模块、PC 寄存器模块。然后将各个模块连接在一起,实现
资源详情
资源评论
资源推荐
计算机系统结构实验报告
实验 5
2021 年 6 月 23 日
摘要
基于实验 3、实验 4 的实验结果,本实验对部分已有模块进行修改,并且新实现了指令内存模块、数据
选择器模块、PC 寄存器模块。然后将各个模块连接在一起,实现了类 MIPS 单周期处理器。该类 MIPS 单
周期处理器支持 16 条 MIPS 指令(包括 R 型指令中的 add、sub、and、or、slt、sll、srl、jr;I 型指令中的
lw、sw、addi、ori、beq;J 型指令中的 j、jal)。本实验将通过软件仿真的形式让处理器运行指令,以此进行
实验结果的验证。
目录
1 实验目的 3
2 原理分析 3
2.1 主控制器模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 ALU
控制器模块
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 ALU 模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 寄存器模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 内存单元模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 带符号扩展模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.7 数据选择器模块 (Mux/RegMux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.8 指令内存模块 (InstMem) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.9 PC 寄存器模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.10 顶层模块 (top) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 功能实现 8
3.1 主控制器模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 ALU 控制器模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 ALU 模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 寄存器模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 内存单元模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.6 带符号扩展模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7 数据选择器模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
目录 2
3.8 指令内存模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.9 PC 寄存器模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.10 顶层模块的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 结果验证 17
5 总结与反思 19
1 实验目的 3
1 实验目的
1. 设计并实现类
MIPS
单周期处理器
2. 功能仿真
2 原理分析
2.1 主控制器模块
主控制器 (Ctr) 的输入为指令的操作码 (opCode) 字段,主控制器模块对操作码进行译码,向 ALU
控制器、寄存器、数据选择器等部件输出正确的控制信号。
本实验中,主控制器模块可以识别 R 型指令、立即数运算、lw、sw、beq、jump、jr、jal 指令并输
出对应的控制信号。
主控制器模块产生的控制信号及说明如表1所示。
信号 内部寄存器 具体说明
regDst RegDst 目标寄存器的选择信号;低电平:rt 寄存器;高电平:rd 寄存器
aluSrc ALUSrc ALU 第二个操作数来源选择信号;低电平:rt 寄存器值,高电平:立即数拓展结果
memToReg MemToReg 写寄存器的数据来源选择信号;低电平:ALU 运算结果,高电平:内存读取结果
regWrite RegWrite 寄存器写使能信号,高电平说明当前指令需要进行寄存器写入
memRead MemRead 内存读使能信号,高电平有效
memWrite MemWrite 内存写使能信号,高电平有效
aluOp ALUOp 3 位信号,发送给运算单元控制器 (ALUCtr) 用来进一步解析运算类型的控制信号
branch Branch 条件跳转信号,高电平说明当前指令是条件跳转指令
jump Jump 无条件跳转信号,高电平说明当前指令是无条件跳转指令
jalSign JalSign 跳转并链接指令 (JAL) 信号,高电平说明当前指令是 JAL 指令
extSign ExtSign 带符号扩展信号,高电平将对立即数进行带符号扩展
表 1: 主控制器产生的控制信号
其中 aluOp 信号代表的含义如表2所示。
aluOp 的信号内容 指令 具体说明
101 R ALUCtr 结合指令 Funct 段决定最终操作
000 lw,sw,addi,addiu ALU 执行加法
001 beq ALU 执行减法
011 andi ALU 执行逻辑与
100 ori ALU
执行逻辑或
111 xori ALU 执行逻辑异或
010 slti ALU 执行带符号数大小比较
110 sltiu ALU 执行无符号数大小比较
表 2: aluOp 信号的具体含义以及解析方式
主控制器 (Ctr) 产生的各种控制信号与指令 OpCode 段的对应方式如表 3 所示。
剩余18页未读,继续阅读
爱设计的唐老鸭
- 粉丝: 19
- 资源: 291
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0