没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
设计题目 多周期 CPU 的设计
学生姓名
学 号
专业班级 物联网 16-1 班
指导教师 陈田、安鑫、丁贤庆
完成日期 2019 年 7 月 8 号
系统硬件综合设计报告
目录
1. 课程设计任务、要求、目的 .............................................................................................................3
1.1 课程设计任务 ...........................................................................................................................3
1.2 课程设计目的和要求 ...............................................................................................................3
2. 开发环境..............................................................................................................................................3
3. 设计内容..............................................................................................................................................3
3.1 指令设计 ...................................................................................................................................3
3.2 总体设计原理 ...........................................................................................................................6
3.3 相信设计原理 ...........................................................................................................................7
4. 实验分析与设计 ...............................................................................................................................12
4.1 ALU ...........................................................................................................................................12
4.2 CU .............................................................................................................................................13
4.3 PC 实现几种情况 ....................................................................................................................16
4.4 两种选择器 .............................................................................................................................18
4.4 延时寄存器 .............................................................................................................................18
4.6 其他模块实现 .........................................................................................................................19
4.7 顶层模块与仿真文件设计实现 .............................................................................................20
5. 实验结果分析 ...................................................................................................................................23
6. 总结和感想体会 ...............................................................................................................................26
参考文献..................................................................................................................................................27
1. 课程设计任务、要求、目的
1.1 课程设计任务
(1)设计一个CPU,可以是单周期、多周期、流水线等;
(2)实现至少十条以上的指令的设计;
(3)本次设计的主要是多周期CPU。
1.2 课程设计目的和要求
(1) 掌握多周期CPU数据通路图的构成、原理及其设计方法;
(2) 掌握多周期CPU的实现方法,代码实现方法;
(3) 认识和掌握指令与CPU的关系;
(4) 掌握测试多周期 CPU 的方法。
2. 开发环境
编译仿真环境 modelsim
3. 设计内容
3.1 指令设计
设计一个多周期CPU,该CPU实现了以下指令功能操作。需设计的指令与格式如下:(说
明:操作码按照以下规定使用,都给每类指令预留扩展空间,以便后续修改。)
①算术运算指令
(1)add rd, rs, rt
000000
rs(5 bit)
rt(5bit)
rd(5 bit)
reserved
功能:rd<-rs + rt
(2)sub rd, rs, rt
000001
rs(5 bit)
rt(5bit)
rd(5 bit)
reserved
功能:rd<-rs - rt
(3)addi rt, rs, immediate
000010
rs(5 bit)
rt(5 bit)
immediate(16 bit)
功能:rt<-rs + (sign-extend)immediate
②逻辑运算指令
(4)or rd, rs, rt
010000
rs(5 bit)
rt(5 bit)
rd(5 bit)
reserved
功能:rd<-rs | rt
(5)and rd, rs, rt
010001
rs(5 bit)
rt(5 bit)
rd(5 bit)
reserved
功能:rd<-rs & rt
(6)ori rt, rs, immediate
010010
rs(5 bit)
rt(5 bit)
immediate(16 bit)
功能:rt<-rs | (zero-extend)immediate
③移位指令
(7)sll rd, rt,sa
011000
未用
rt(5 bit)
rd(5 bit)
sa
reserved
功能:rd<-rt<<(zero-extend)sa,左移sa位 ,(zero-extend)sa
④比较指令
(8) slt rd, rs, rt 带符号
100110
rs(5 bit)
rt(5 bit)
rd(5 bit)
reserved
功能:if (rs<rt) rd =1 else rd=0, 具体请看表2 ALU运算功能表,带符号
slti rt, rs,immediate 带符号
100111
rs(5 bit)
rt(5 bit)
immediate(16位)
功能:if (rs <(sign-extend)immediate) rt =1 else rt=0, 具体请看表2 ALU
运算功能表,带符号
⑤存储器读写指令
(10)sw rt, immediate(rs)
110000
rs(5 bit)
rt(5 bit)
immediate(16位)
功能:memory[rs+ (sign-extend)immediate]<-rt。即将rt寄存器的内容保存到rs
寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中。
(11)lw rt, immediate(rs)
110001
rs(5 bit)
rt(5 bit)
immediate(16位)
功能:rt <- memory[rs + (sign-extend)immediate]。即读取rs寄存器内容和立即数
符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。
⑥分支指令
(12)beq rs,rt, immediate (说明:immediate从pc+4开始和转移到的指令之间
间隔条数)
110100
rs(5 bit)
rt(5 bit)
immediate(16位)
功能:if(rs=rt) pc <-pc + 4 + (sign-extend)immediate <<2 else pc <-pc + 4
⑦跳转指令
(13)j addr
111000
addr[27..2]
功能:pc <-{(pc+4)[31..28],addr[27..2],0,0},跳转。
说明:由于MIPS32的指令代码长度占4个字节,所以指令地址二进制数最低2位均为0,
将指令地址放进指令代码中时,可省掉!这样,除了最高6位操作码外,还有26位可用
于存放地址,事实上,可存放28位地址,剩下最高4位由pc+4最高4位拼接上。
(14)jr rs
111001
rs(5 bit)
未用
未用
reserved
功能:pc <- rs,跳转。
⑧调用子程序指令
(15)jal addr
111010
addr[27..2]
功能:调用子程序,pc <- {(pc+4)[31..28],addr[27..2],0,0};$31<-pc+4,返回地
址设置;子程序返回,需用指令 jr $31。跳转地址的形成同 j addr 指令。
⑨停机指令
(16)halt (停机指令)
111111
00000000000000000000000000(26 bit)
不改变pc的值,pc保持不变。
3.2 总体设计原理
本次设计用到的原理和知识点主要分以下几块:
剩余26页未读,继续阅读
资源评论
Changcc_
- 粉丝: 36
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功