资源描述:
《mips单周期cpu实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《计算机组成原理实验》实验报告(实验二)学院名称:专业(班级):学生姓名:学号:时间:2017年11月25日成绩:实验二:单周期CPU设计与实现一.实验目的(1)掌握单周期CPU数据通路图的构成、原理及其设计方法;(2)掌握单周期CPU的实现方法,代码实现方法;(3)认识和掌握指令与CPU的关系;(4)掌握测试单周期CPU的方法;(5)掌握单周期CPU的实现方法。二.实验内容设计一个单周期的MIPSCPU,使其能实现下列指令:==>算术运算指令(1)addrd,rs,rt(说明:以助记符表示,是汇编指令;以代码表示,是机器指令)000000rs(5位)rt(5位)rd(5位)reserved功
2、能:rd←rs+rt。reserved为预留部分,即未用,一般填“0”。(2)addirt,rs,immediate000001rs(5位)rt(5位)immediate(16位)功能:rt←rs+(sign-extend)immediate;immediate符号扩展再参加“加”运算。(3)subrd,rs,rt000010rs(5位)rt(5位)rd(5位)reserved功能:rd←rs-rt==>逻辑运算指令(4)orirt,rs,immediate010000rs(5位)rt(5位)immediate(16位)功能:rt←rs
3、(zero-extend)immediate;immed
4、iate做“0”扩展再参加“或”运算。(5)andrd,rs,rt010001rs(5位)rt(5位)rd(5位)reserved功能:rd←rs&rt;逻辑与运算。(6)orrd,rs,rt010010rs(5位)rt(5位)rd(5位)reserved功能:rd←rs
5、rt;逻辑或运算。==>移位指令(7)sllrd,rt,sa011000未用rt(5位)rd(5位)sareserved功能:rd<-rt<<(zero-extend)sa,左移sa位,(zero-extend)sa==>比较指令(8)sltrd,rs,rt带符号数011100rs(5位)rt(5位)rd(5位)reserv
6、ed功能:if(rs
7、)immediate];immediate符号扩展再相加。即读取rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。==>分支指令(11)beqrs,rt,immediate110000rs(5位)rt(5位)immediate(16位)功能:if(rs=rt)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4特别说明:immediate是从PC+4地址开始和转移到的指令之间指令条数。immediate符号扩展之后左移2位再相加。为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“0
8、0”,因此将immediate放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。12)bners,rt,immediate110001rs(5位)rt(5位)immediate功能:if(rs!=rt)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4特别说明:与beq不同点是,不等时转移,相等时顺序执行。(13)bgtzrs,immediate110010rs(5位)00000immediate功能:if(rs>0)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4==>跳转指令(14)jadd
9、r111000addr[27..2]==>停机指令(15)halt11111100000000000000000000000000(26位)功能:停机;不改变PC的值,PC保持不变。一.实验原理1.时间周期:单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。电平从低到高变化的瞬间称为时钟上升沿,两个相邻时钟上升沿之间的时间间隔称为一个时钟