




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lab2 指令集流水化实验报告学号:12281166 姓名:崔雪莹Exercise 1: What is hex code for NOP or SLL R0, R0, R0 00 00 00 00 H .Exercise 2: By looking at the binary code of the instruction, discover the following fields: Rs: 00100 , Rt: 00011 , Rd 00101 , 16-bit Imm (Imm16) 0010 1000 0010 0000 , Shift amount 00000 , Function Code 100000 , Write MemWrite 0 and RegWrite 1 for this instruction. What is use of 16-bit Immediate field in this instruction? 16位立即数是对branch指令来说的跳转目的地址的偏移地址,add指令没有作用 。 If the same instruction were a Branch instruction, the immediate field would have represented a Branch Offset. What is the potential Target Address 43092 立即数十进制表示为10272,目的地址为10272*4+2004=43092 Exercise 3: LW Instruction Rs: 01000 , Rt 00111 , Rd 32(00000) , 16-bit Imm (Imm16) 1111 1111 0011 1000 , Shift amount 29(11101) , Function Code 100011 , Write MemWrite 0 and RegWrite 1 for this instruction. What is use of Function filed and Shift Amount in this instruction? 操作数表明操作为LW读操作,是指令操作的唯一标记,移位量是相对与移位指令来说移几位,在LW指令没有作用 。If the same instruction were a Branch instruction, the immediate field would have represented a Branch Offset. What is the potential Target Address 1204 ,(-200*4)+2004=1204 。Exercise 4: Branch Target Found Adress 1204 , Is It same as EX.3 是 ? B input to ALU -200 , Why? 因为对于I型指令只有rs,rt和立即数,没有rd,是rs和立即数Imm运算的结果进行操作,所以B最终送ALU的是立即数而不是rt , ALUOut 800 , ALUOP = ADD , Why 因为立即数是偏移量,所以运算器是对R8和-200求和,得到的为目的地址 . LMD 525252 , Rdest 7 why this? 因为没有rd,但是是取800地址的内容,回送到R7里 。 RegWrite 1 , MemWrite 0 , What are two values at the input of very last MUX in the WB stage 525252 , 800 , Which value is selected 525252 , why 因为最终写回的是525252的值,而不是ALU运算的结果800 . Final Register File Values. R7 , 525252 , R8 , 1000 .Exercise 5: SW instruction Rs: 01000 , Rt 00111 , Rd 32(00000) , 16-bit Imm (Imm16) 1111 1111 0011 1000 , Shift amount 28(11100) , Function Code 101011 , Write MemWrite 1 and RegWrite 0 for this instruction. What is use of Function filed and Shift Amount in this instruction? 操作数表明操作为SW读操作,是指令操作的唯一标记,移位量是相对与移位指令来说移几位,在SW指令没有作用 。If the same instruction were a Branch instruction, the immediate field would have represented a Branch Offset. What is the potential Target Address 1204 ,(-200*4)+2004=1204 。Exercise 6: Branch Target Found Adress 1204 , Is It same as EX.3 是 ? B input to ALU -200 , Why? 因为对于I 型指令只有rs,rt和立即数,没有rd,是rs和立即数Imm运算的结果进行操作,所以B最终送ALU的是立即数而不是rt , ALUOut 800 , ALUOP = ADD , Why 因为SW是想把R7里的内容存到目的地址,立即数是偏移量,所以运算器是对R8和-200求和,得到的为目的地址 . LMD 7777 , Rdest 7 why this? 因为没有rd,但是是把R7里的内容存到目的地址800里。 RegWrite 0 , MemWrite 1 , Why 因为现在是存数,存到memory里,不是register里,所以MemWrite置1,RegWrite置0 , What are two values at the input of very last MUX in the WB stage 7777 , 800 , What is selected 800 why 因为写回memory地址为800(不太懂) . Final Register File Values. R7 , 7777 , R8 , 1000 .Exercise 7:Signal NameValueWhyID.A22222ID正在分析SW R1, 200(R2)Rs=Reg2=22222ID.B11111Rt=Reg1=11111ALUOUT in EXE9000EXE正在执行SLTI R9, R10, -1000运算结果为10000-1000=9000ALUOUT in MEM88988MEM正在进行LW R7, 100(R8)运算结果为100+88888=88988ALUOUT IN WB122221WB正在写回ADD R4, R5, R6结果为55555+66666=122221RDEST in ID0ID正在分析SW R1, 200(R2)没有涉及到RdRDEST in EXE9EXE正在执行SLTI R9, R10, -1000R9作为Rt,在选择时被选为RdRDEST in MEM7同理,R7被选为RdRDEST in WB4对于ADD R4, R5, R6R4为RdLMD in MEM77777从memory地址88988读到的数据为77777LMD in WB999上一个NOP的LMD为999没有被选择Final Values of Register FileR1=11111,R2=22222,R3=0,R4=122221,R5=55555,R6=66666,R7=77777,R8=88888,R9=0,R10=10000,R11=-1000,R12=12000,R13=13000 Exercise 8: Expected Values of Register File ADD R1,R2,R3 R2=22222,R3=33333,所以R1=55555SUB R5,R6,R1 R6=66666,R1=55555,所以R5=11111ADD R4,R1,R5 R1=55555,R5=11111,所以R4=66666SW R1,200( R4 ) R4=66666, 所以memory地址为66866值为55555LW R4,100( R1 ) R1=55555, 令55655地址内容为77777,所以R4=77777综上,R1=55555,R2=22222,R3=33333,R4=77777,R5=11111,R6=66666Actual Values of Register File 实际上,R1=55555,R2=22222,R3=33333,R4=77777,R5=55555,R6=66666Reason on difference发现期望值与实际实验的值不一样,我仔细观察指令的流水化过程,比如ADD R1,R2,R3 R2=22222,R3=33333,所以R1=55555SUB R5,R6,R1 R6=66666,R1=55555,所以R5=11111这是我期望的结果和过程,但实际上第一条指令走到WB阶段,R1值55555还没写回时,第二条指令已经取到了原始的没有写回R1的值11111,计算得到的R5为55555,当第一条指令写回后第二条指令走到了WB,结果没改变,造成错误,同理,接下来的计算类似,只是因为赋值特殊,所以看不出来变化,实际实现机制是不一样的。所以上述结果出现错误。Exercise 9:InstructionClock Cycle123456789101112ADD R1, R2, R3IFIDEXEMEMWBNOPIFIDEXEMEMWBNOPIFIDEXEMEMWBSUB R5, R6, R1IFIDEXEMEMWBExercise 10:InstructionClock Cycle1234567891011121314151617ADD R1, R2, R3IFIDEXEMEMWBSUB R5, R6, R1IFIDIDIDEXEMEMWBADD R4, R1, R5IFIFIFIDIDIDEXEMEMWBSW R1, 200(R4)IFIFIFIDIDIDEXEMEMWBLW R4, 100(R1)IFIFIFIDIDIDEXEMEMWB实验体会与心得:这次实验是关于指令流水化的内容,课上关于流水化只讲解了一些概念,并没有一个相对直观的感受,实验使用软件模拟化直观的看出指令的流水,印象十分深刻。实验过程中,我发现流水化的一些疑问,比如说上一条指令的结果是下一条指令的源,这样在流水化过程中就会出现错误,这个问题在exercise8,exercise10,可以直观的看到,并且exercise10通过引入了NOP,很好的实现了等待,结果不会出现错误。另外一个疑问就是关于指令格式,上一次实验我们学习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行塔城地区额敏县2025秋招结构化面试15问及话术
- 农发行南阳市邓州市2025秋招无领导小组面试案例库
- 农发行郑州市荥阳市2025秋招笔试热点题型专练及答案
- 农发行白山市江源区2025秋招笔试英语题专练及答案
- 农发行泸州市合江县2025秋招无领导模拟题角色攻略
- 农发行天津市北辰区2025秋招笔试性格测试题专练及答案
- 桂林资源县中储粮2025秋招笔试模拟题及答案
- 国家能源贵港市港北区2025秋招心理测评常考题型与答题技巧
- 内部员工入股协议书
- 国家能源信阳市2025秋招笔试逻辑推理题专练及答案
- (正式版)JBT 14581-2024 阀门用弹簧蓄能密封圈
- (高清版)DZT 0334-2020 石油天然气探明储量报告编写规范
- 2024年浙江卷1月读后续写(路痴的自我救赎)讲义-高考英语作文复习专项2
- 幼儿园-消毒工作流程图
- 电缆修理工安全生产责任制
- 拼音拼读音节带声调完全版
- 2024被动式超低能耗(居住)绿色建筑节能设计标准
- 某桥梁箱涵、箱通工程监理细则
- 中铝中州矿业有限公司禹州市方山铝土矿矿山地质环境保护和土地复垦方案
- 【教案】圆锥曲线光学性质的数学原理及应用教学设计人教A版(2019)选择性必修第一册
- 2021年12月12日河北省直机关遴选公务员笔试真题及答案解析
评论
0/150
提交评论