欢迎来到天天文库
浏览记录
ID:34904276
大小:20.62 MB
页数:32页
时间:2019-03-13
《mips单周期cpu实验研究报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理仅供参考学习《计算机组成原理实验》实验报告(实验二)学院名称:专业(班级):学生姓名:学号:32/32个人收集整理仅供参考学习时间:2017年11月25日成绩:实验二:单周期CPU设计与实现一.实验目地(1)掌握单周期CPU数据通路图地构成、原理及其设计方法;(2)掌握单周期CPU地实现方法,代码实现方法;(3)认识和掌握指令与CPU地关系;(4)掌握测试单周期CPU地方法;(5)掌握单周期CPU地实现方法.二.实验内容设计一个单周期地MIPSCPU,使其能实现下列指令:==>算术运算指令(
2、1)addrd,rs,rt(说明:以助记符表示,是汇编指令;以代码表示,是机器指令)000000rs(5位)rt(5位)rd(5位)reserved功能:rd←rs+rt.reserved为预留部分,即未用,一般填“0”.(2)addirt,rs,immediate000001rs(5位)rt(5位)immediate(16位)32/32个人收集整理仅供参考学习功能:rt←rs+(sign-extend)immediate;immediate符号扩展再参加“加”运算.b5E2RGbCAP(3)subrd
3、,rs,rt000010rs(5位)rt(5位)rd(5位)reserved功能:rd←rs-rt==>逻辑运算指令(4)orirt,rs,immediate010000rs(5位)rt(5位)immediate(16位)功能:rt←rs
4、(zero-extend)immediate;immediate做“0”扩展再参加“或”运算.p1EanqFDPw(5)andrd,rs,rt010001rs(5位)rt(5位)rd(5位)reserved功能:rd←rs&rt;逻辑与运算.(6)orrd,rs,rt
5、010010rs(5位)rt(5位)rd(5位)reserved功能:rd←rs
6、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位)reserved32/32个人收集整理仅供参考学习功能:if(rs7、ALU运算功能表,带符号DXDiTa9E3d==>存储器读/写指令(9)swrt,immediate(rs)写存储器100110rs(5位)rt(5位)immediate(16位)功能:memory[rs+(sign-extend)immediate]←rt;immediate符号扩展再相加.即将rt寄存器地内容保存到rs寄存器内容和立即数符号扩展后地数相加作为地址地内存单元中.RTCrpUDGiT(10)lwrt,immediate(rs)读存储器100111rs(5位)rt(5位)immediate8、(16位)功能:rt←memory[rs+(sign-extend)immediate];immediate符号扩展再相加.5PCzVD7HxA即读取rs寄存器内容和立即数符号扩展后地数相加作为地址地内存单元中地数,然后保存到rt寄存器中.==>分支指令(11)beqrs,rt,immediate110000rs(5位)rt(5位)immediate(16位)功能:if(rs=rt)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4jLBHrnAILg特别说明:im9、mediate是从PC+4地址开始和转移到地指令之间指令条数.immediate符号扩展之后左移2位再相加.为什么要左移2位?由于跳转到地指令地址肯定是4地倍数(每条指令占4个字节),最低两位是“00”,因此将immediate32/32个人收集整理仅供参考学习放进指令码中地时候,是右移了2位地,也就是以上说地“指令之间指令条数”.xHAQX74J0X12)bners,rt,immediate110001rs(5位)rt(5位)immediate功能:if(rs!=rt)pc←pc+4+(sign-ex10、tend)immediate<<2elsepc←pc+4LDAYtRyKfE特别说明:与beq不同点是,不等时转移,相等时顺序执行.(13)bgtzrs,immediate110010rs(5位)00000immediate功能:if(rs>0)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4Zzz6ZB2Ltk==>跳转指令(14)jaddr111000addr[27..2]==>停机指令(15)h
7、ALU运算功能表,带符号DXDiTa9E3d==>存储器读/写指令(9)swrt,immediate(rs)写存储器100110rs(5位)rt(5位)immediate(16位)功能:memory[rs+(sign-extend)immediate]←rt;immediate符号扩展再相加.即将rt寄存器地内容保存到rs寄存器内容和立即数符号扩展后地数相加作为地址地内存单元中.RTCrpUDGiT(10)lwrt,immediate(rs)读存储器100111rs(5位)rt(5位)immediate
8、(16位)功能:rt←memory[rs+(sign-extend)immediate];immediate符号扩展再相加.5PCzVD7HxA即读取rs寄存器内容和立即数符号扩展后地数相加作为地址地内存单元中地数,然后保存到rt寄存器中.==>分支指令(11)beqrs,rt,immediate110000rs(5位)rt(5位)immediate(16位)功能:if(rs=rt)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4jLBHrnAILg特别说明:im
9、mediate是从PC+4地址开始和转移到地指令之间指令条数.immediate符号扩展之后左移2位再相加.为什么要左移2位?由于跳转到地指令地址肯定是4地倍数(每条指令占4个字节),最低两位是“00”,因此将immediate32/32个人收集整理仅供参考学习放进指令码中地时候,是右移了2位地,也就是以上说地“指令之间指令条数”.xHAQX74J0X12)bners,rt,immediate110001rs(5位)rt(5位)immediate功能:if(rs!=rt)pc←pc+4+(sign-ex
10、tend)immediate<<2elsepc←pc+4LDAYtRyKfE特别说明:与beq不同点是,不等时转移,相等时顺序执行.(13)bgtzrs,immediate110010rs(5位)00000immediate功能:if(rs>0)pc←pc+4+(sign-extend)immediate<<2elsepc←pc+4Zzz6ZB2Ltk==>跳转指令(14)jaddr111000addr[27..2]==>停机指令(15)h
此文档下载收益归作者所有