资源描述:
《计算机组成原理实验实验报告-多周期cpu设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机组成原理实验《计算机组成原理实验》实验报告(实验三)学院名称:学生姓名:学号:专业(班级):时间:2017年6月1日计算机组成原理实验成绩:实验三:多周期CPU设计一.实验目的(1)认识和掌握多周期数据通路原理及其设计方法;(2)掌握多周期CPU的实现方法,代码实现方法;(3)编写一个编译器,将MIPS汇编程序编译为二进制机器码;(4)掌握多周期CPU的测试方法。二.实验内容设计一个多周期CPU,该CPU至少能实现以下指令功能操作。需设计的指令与格式如下:(说明:操作码按照以下规定使用,都给每类指令预留扩展空间,后续实验相同。
2、)==>算术运算指令(1)addrd,rs,rtrs(5位)rt(5位)rd(5位)reserved功能:rd<-rs+rt(2)subrd,rs,rtrs(5位)rt(5位)rd(5位)reserved完成功能:rd<-rs-rt(3)addirt,rs,immediaters(5位)rt(5位)immediate(16位)功能:rt<-rs+(sign-extend)immediate==>逻辑运算指令(4)orrd,rs,rtrs(5位)rt(5位)rd(5位)reserved功能:rd<-rs
3、rt(5)andrd,rs,r
4、trs(5位)rt(5位)rd(5位)reserved功能:rd<-rs&rt(6)orirt,rs,immediaters(5位)rt(5位)immediate功能:rt<-rs
5、(zero-extend)immediate==>移位指令(7)sllrd,rt,sa未用rt(5位)rd(5位)sareserved功能:rd<-rt<<(zero-extend)sa,左移sa位,(zero-extend)sa计算机组成原理实验==>比较指令(8)sltrd,rs,rt带符号数rs(5位)rt(5位)rd(5位)reserved功能:
6、if(rs
7、单元中。(11)lwrt,immediate(rs)rs(5位)rt(5位)immediate(16位)功能:rt<-memory[rs+(sign-extend)immediate]。即读取rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。==>分支指令(12)beqrs,rt,immediate(说明:immediate从pc+4开始和转移到的指令之间间隔条数)rs(5位)rt(5位)immediate(16位)功能:if(rs=rt)pc<-pc+4+(sign-extend)immed
8、iate<<2elsepc<-pc+4(13)bners,rt,immediate(说明:immediate从pc+4开始和转移到的指令之间间隔条数)rs(5位)rt(5位)immediate(16位)功能:if(rs!=rt)pc<-pc+4+(sign-extend)immediate<<2elsepc<-pc+4==>跳转指令(14)jaddraddr[27..2]功能:pc<-{(pc+4)[31..28],addr[27..2],0,0},跳转。说明:由于MIPS32的指令代码长度占4个字节,所以指令地址二进制数最低2位均
9、为0,将指令地址放进指令代码中时,可省掉!这样,除了最高6位操作码外,还有26位可用于存放地址,事实上,可存放28位地址,剩下最高4位由pc+4最高4位拼接上。(15)jrrsrs(5位)未用未用reserved功能:pc<-rs,跳转。==>调用子程序指令(16)jaladdraddr[27..2]计算机组成原理实验功能:调用子程序,pc<-{(pc+4)[31..28],addr[27..2],0,0};$31<-pc+4,返回地址设置;子程序返回,需用指令jr$31。跳转地址的形成同jaddr指令。==>停机指令(17)hal
10、t(停机指令)0000(26位)不改变pc的值,pc保持不变。一.实验原理多周期CPU指的是将整个CPU的执行过程分成几个阶段,每个阶段用一个时钟去完成,然后开始下一条指令的执行,而每种指令执行时所用的时钟数不尽相同,这就是所谓的多周