MIPS单周期CPU实验报告.doc
《MIPS单周期CPU实验报告.doc》由会员分享,可在线阅读,更多相关《MIPS单周期CPU实验报告.doc(25页珍藏版)》请在咨信网上搜索。
1、计算机组成原理实验实验报告(实验二)学院名称:专业(班级):学生姓名:学号:时间:2017年11月25日成绩:实验二: 单周期CPU设计与实现 一. 实验目得(1) 掌握单周期CPU数据通路图得构成、原理及其设计方法;(2) 掌握单周期CPU得实现方法,代码实现方法;(3) 认识与掌握指令与CPU得关系;(4) 掌握测试单周期CPU得方法;(5) 掌握单周期CPU得实现方法。二. 实验内容设计一个单周期得MIPSCPU,使其能实现下列指令:= 算术运算指令(1)add rd , rs, rt (说明:以助记符表示,就是汇编指令;以代码表示,就是机器指令)000000rs(5位)rt(5位)rd
2、(5位)reserved功能:rdrs + rt。reserved为预留部分,即未用,一般填“0”。(2)addi rt , rs ,immediate 000001rs(5位)rt(5位)immediate(16位)功能:rtrs + (signextend)immediate;immediate符号扩展再参加“加”运算。 (3)sub rd , rs , rt000010rs(5位)rt(5位)rd(5位)reserved功能:rdrs rt= 逻辑运算指令(4)ori rt , rs ,immediate 010000rs(5位)rt(5位)immediate(16位)功能:rtrs |
3、 (zeroextend)immediate;immediate做“0”扩展再参加“或”运算。(5)and rd , rs , rt010001rs(5位)rt(5位)rd(5位)reserved功能:rdrs & rt;逻辑与运算。 (6)or rd , rs , rt010010rs(5位)rt(5位)rd(5位)reserved功能:rdrs | rt;逻辑或运算。=移位指令(7)sll rd, rt,sa 011000未用rt(5位)rd(5位)sareserved功能:rdrt比较指令(8) slt rd, rs, rt 带符号数011100rs(5位)rt(5位)rd(5位)res
4、erved功能:if (rs 存储器读/写指令(9)sw rt ,immediate(rs) 写存储器100110rs(5位)rt(5位)immediate(16位)功能:memoryrs+ (signextend)immediatert;immediate符号扩展再相加。即将rt寄存器得内容保存到rs寄存器内容与立即数符号扩展后得数相加作为地址得内存单元中。(10) lw rt , immediate(rs) 读存储器100111rs(5位)rt(5位)immediate(16位)功能:rt memoryrs + (signextend)immediate;immediate符号扩展再相加。
5、即读取rs寄存器内容与立即数符号扩展后得数相加作为地址得内存单元中得数,然后保存到rt寄存器中。= 分支指令 (11)beq rs,rt,immediate 110000rs(5位)rt(5位)immediate(16位)功能:if(rs=rt) pcpc + 4 + (signextend)immediate 2 else pc pc + 4特别说明:immediate就是从PC+4地址开始与转移到得指令之间指令条数。immediate符号扩展之后左移2位再相加。为什么要左移2位?由于跳转到得指令地址肯定就是4得倍数(每条指令占4个字节),最低两位就是“00”,因此将immediate放进指
6、令码中得时候,就是右移了2位得,也就就是以上说得“指令之间指令条数”。12)bne rs,rt,immediate 110001rs(5位)rt(5位)immediate功能:if(rs!=rt) pcpc + 4 + (signextend)immediate 0) pcpc + 4 + (signextend)immediate 跳转指令(14)j addr 111000addr27、2= 停机指令(15)halt 1111110000(26位)功能:停机;不改变PC得值,PC保持不变。三. 实验原理1、时间周期:单周期CPU指得就是一条指令得执行在一个时钟周期内完成,然后开始下一条指令得
7、执行,即一条指令用一个时钟周期完成。电平从低到高变化得瞬间称为时钟上升沿,两个相邻时钟上升沿之间得时间间隔称为一个时钟周期。时钟周期一般也称振荡周期(如果晶振得输出没有经过分频就直接作为CPU得工作时钟,则时钟周期就等于振荡周期。若振荡周期经二分频后形成时钟脉冲信号作为CPU得工作时钟,这样,时钟周期就就是振荡周期得两倍。)CPU在处理指令时,一般需要经过以下几个步骤: (1) 取指令(IF):根据程序计数器PC中得指令地址,从存储器中取出一条指令,同时,PC根据指令字长度自动递增产生下一条指令所需要得指令地址,但遇到“地址转移”指令时,则控制器把“转移地址”送入PC,当然得到得“地址”需要做
8、些变换才送入PC。 (2) 指令译码(ID):对取指令操作中得到得指令进行分析并译码,确定这条指令需要完成得操作,从而产生相应得操作控制信号,用于驱动执行状态中得各种操作。 (3) 指令执行(EXE):根据指令译码得到得操作控制信号,具体地执行指令动作,然后转移到结果写回状态。 (4) 存储器访问(MEM):所有需要访问存储器得操作都将在这个步骤中执行,该步骤给出存储器得数据地址,把数据写入到存储器中数据地址所指定得存储单元或者从存储器中得到数据地址单元中得数据。 (5) 结果写回(WB):指令执行得结果或者访问存储器中得到得数据写回相应得目得寄存器中。 单周期CPU,就是在一个时钟周期内完成
9、这五个阶段得处理。对于不同得指令,需要执行得步骤就是不同得,其中取字指令(lw)需要执行全部五个步骤。因此,CPU得时间周期由取字指令决定。2、指令类型:MIPS得三种指令类型:其中,op:为操作码;rs:只读。为第1个源操作数寄存器,寄存器地址(编号)就是0000011111,001F;rt:可读可写。为第2个源操作数寄存器,或目得操作数寄存器,寄存器地址(同上);rd:只写。为目得操作数寄存器,寄存器地址(同上);sa:为位移量(shift amt),移位指令用于指定移多少位;funct:为功能码,在寄存器类型指令中(R类型)用来指定指令得功能与操作码配合使用;immediate:为16位
10、立即数,用作无符号得逻辑操作数、有符号得算术操作数、数据加载(Load)/数据保存(Store)指令得数据地址字节偏移量与分支指令中相对程序计数器(PC)得有符号偏移量;address:为地址。在本CPU设计中,由于指令得类型较少,所以所有指令均由操作码(op)确定。在R型指令中,功能码(funct)为000000。3、控制线路图与数据通路:上图为CPU得数据通路与必要得控制线路图,其中Ins、Mem为指令存储器,Data、Mem为数据存储器。访问存储器时,先给出内存地址,然后由读或写信号控制操作。对于寄存器组,先给出寄存器地址,读操作时,输出端就直接输出相应数据;而在写操作时,在 WE使能信
11、号为1,在时钟边沿触发将数据写入寄存器。4、控制信号:控制信号得作用控制信号名状态“0”状态“1”Reset初始化PC为0PC接收新地址PCWrePC不更改,相关指令:haltPC更改,相关指令:除指令halt外ALUSrcA来自寄存器堆data1输出,相关指令:add、sub、addi、or、and、ori、beq、bne、bgtz、slt、sw、lw来自移位数sa,同时,进行(zeroextend)sa,即 270,sa,相关指令:sllALUSrcB来自寄存器堆data2输出,相关指令:add、sub、or、and、sll、slt、beq、bne、bgtz来自sign或zero扩展得立即
12、数,相关指令:addi、ori、sw、lwDBDataSrc来自ALU运算结果得输出,相关指令:add、addi、sub、ori、or、and、slt、sll来自数据存储器(Data MEM)得输出,相关指令:lwRegWre无写寄存器组寄存器,相关指令:beq、bne、bgtz、sw、halt、j寄存器组写使能,相关指令:add、addi、sub、ori、or、and、slt、sll、lwInsMemRW写指令存储器读指令存储器(Ins、 Data)/RD读数据存储器,相关指令:lw输出高阻态/WR写数据存储器,相关指令:sw无操作RegDst写寄存器组寄存器得地址,来自rt字段,相关指令:
13、addi、ori、lw写寄存器组寄存器得地址,来自rd字段,相关指令:add、sub、and、or、slt、sllExtSel(zeroextend)immediate(0扩展),相关指令:ori(signextend)immediate(符号扩展),相关指令:addi、sw、lw、bne、bne、bgtzPCSrc1、000:pcpc+4,相关指令:add、addi、sub、or、ori、and、slt、 sll、sw、lw、beq(zero=0)、bne(zero=1)、bgtz(sign=1,或zero=1);01:pcpc+4+(signextend)immediate,相关指令:be
14、q(zero=1)、bne(zero=0)、bgtz(sign=0,zero=0);10:pc(pc+4)31、28,addr27、2,0,0,相关指令:j;11:未用ALUOp2、0ALU 8种运算功能选择(000111),瞧功能表ALU功能表ALUOp2、0功能描述000Y = A + B加001Y = A B减010Y = BAB左移A位011Y = A B或100Y = A B与101Y=(AB)?1: 0比较A与B不带符号110if (AB &(A31 = B31 ) Y = 1;else if ( A31 & !B31) Y = 1;else Y = 0; 比较A与B带符号111Y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MIPS 周期 CPU 实验 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。