- 13
- 0
- 约1.89万字
- 约 26页
- 2018-12-16 发布于湖北
- 举报
mips单周期cpu实验报告新
计算机组成原理实验
《计算机组成原理实验》
实验报告
(实验二)
学院名称
:
专业(班级)
:
学生姓名
:
学号
:
时间
:
2017
年
11
月
25
日
成绩
:
实验二
:
单周期CPU设计与实现
实验目的
(1) 掌握单周期CPU数据通路图的构成、原理及其设计方法;
(2) 掌握单周期CPU的实现方法,代码实现方法;
(3) 认识和掌握指令与CPU的关系;
(4) 掌握测试单周期CPU的方法;
(5) 掌握单周期CPU的实现方法。
实验内容
设计一个单周期的MIPSCPU,使其能实现下列指令:
== 算术运算指令
(1)add rd , rs, rt (说明:以助记符表示,是汇编指令;以代码表示,是机器指令)
000000
rs(5位)
rt(5位)
rd(5位)
reserved
功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。
(2)addi rt , rs ,immediate
000001
rs(5位)
rt(5位)
immediate(16位)
功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。
(3)sub rd , rs , rt
000010
rs(5位)
rt(5位)
rd(5位)
reserved
功能:rd←rs - rt
== 逻辑运算指令
(4)ori rt , rs ,immediate
010000
rs(5位)
rt(5位)
immediate(16位)
功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。
(5)and rd , rs , rt
010001
rs(5位)
rt(5位)
rd(5位)
reserved
功能:rd←rs rt;逻辑与运算。
(6)or rd , rs , rt
010010
rs(5位)
rt(5位)
rd(5位)
reserved
功能:rd←rs | rt;逻辑或运算。
==移位指令
(7)sll rd, rt,sa
011000
未用
rt(5位)
rd(5位)
sa
reserved
功能:rd-rt(zero-extend)sa,左移sa位 ,(zero-extend)sa
==比较指令
(8) slt rd, rs, rt 带符号数
011100
rs(5位)
rt(5位)
rd(5位)
reserved
功能:if (rsrt) rd =1 else rd=0, 具体请看表2 ALU运算功能表,带符号
== 存储器读/写指令
(9)sw rt ,immediate(rs) 写存储器
100110
rs(5位)
rt(5位)
immediate(16位)
功能:memory[rs+ (sign-extend)immediate]←rt;immediate符号扩展再相加。即将rt寄存器的内容保存到rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中。
(10) lw rt , immediate(rs) 读存储器
100111
rs(5位)
rt(5位)
immediate(16位)
功能:rt ← memory[rs + (sign-extend)immediate];immediate符号扩展再相加。
即读取rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。
== 分支指令
(11)beq rs,rt,immediate
110000
rs(5位)
rt(5位)
immediate(16位)
功能:if(rs=rt) pc←pc + 4 + (sign-extend)immediate 2 else pc ←pc + 4
特别说明:immediate是从PC+4地址开始和转移到的指令之间指令条数。immediate符号扩展之后左移2位再相加。为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“00”,因此将immediate放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。
12)bne rs,rt,immediate
110001
rs(5位)
rt(5位)
immediate
功能:if(rs!=rt) pc←pc + 4 + (sign-extend)immediate 2 else pc ←pc + 4
特别说明:与beq不同点是,不等时转移,相等时顺序执行。
(13)bgtz rs,immediate
110
原创力文档

文档评论(0)