版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Lab2指令集流水化实验报告学号:12281166姓名:崔雪莹Exercise1:WhatishexcodeforNOPorSLLRO,RO,RO00000000H.Exercise2:Bylookingatthebinarycodeoftheinstruction,discoverthefollowingfields:Rs:00100,Rt:00011,Rd00101,16-bitImm(Imm16)0010100000100000,Shiftamount00000,FunctionCode100000,WriteMemWrite0andRegWrite1forthisinstruction
2、.Whatisuseof16-bitImmediatefieldinthisinstruction?16位立即数是对branch指令来说的跳转目的地址的偏移地址,add指令没有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwouldhaverepresentedaBranchOffset.WhatisthepotentialTargetAddress43092立即数十进制表示为10272,目的地址为10272*4+2004=43092Exercise3:LWInstructionRs:01000,Rt00111,R
3、d32(00000),16-bitImm(Imm16)1111111100111000,Shiftamount29(11101),FunctionCode100011,WriteMemWrite0andRegWrite1forthisinstruction.WhatisuseofFunctionfiledandShiftAmountinthisinstruction?操作数表明操作为LW读操作,是指令操作的唯一标记,移位量是相对与移位指令来说移几位,在LW指令没有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwou
4、ldhaverepresentedaBranchOffset.WhatisthepotentialTargetAddress1204,(-200*4)+2004=1204。Exercise4:BranchTargetFoundAdress1204,IsItsameasEX.3是?BinputtoALU-200,Why?因为对于I型指令只有rs,rt和立即数,没有rd,是rs和立即数Imm运算的结果进行操作,所以B最终送ALU的是立即数而不是rt,ALUOut800,ALUOP=ADD,Why因为立即数是偏移量,所以运算器是对R8和-200求和,得到的为目的地址.LMD525252,Rdest7
5、whythis?因为没有rd,但是是取800地址的内容,回送到R7里。RegWrite1,MemWrite0,WhataretwovaluesattheinputofverylastMUXintheWBstage525252,800,Whichvalueisselected525252,why因为最终写回的是525252的值,而不是ALU运算的结果800.FinalRegisterFileValues.R7,525252,R8,1000Exercise5:SWinstructionRs:01000,Rt00111,Rd32(00000),16-bitImm(Imm16)111111110011
6、1000”Shiftamount28(11100),FunctionCode101011,WriteMemWrite1andRegWrite0forthisinstruction.WhatisuseofFunctionfiledandShiftAmountinthisinstruction?操作数表明操作为SW读操作,是指令操作的唯一标记,移位量是相对与移位指令来说移几位,在SW指令没有作用。IfthesameinstructionwereaBranchinstruction,theimmediatefieldwouldhaverepresentedaBranchOffset.Whatisth
7、epotentialTargetAddress1204,(-200*4)+2004=1204。Exercise6:BranchTargetFoundAdress1204,IsItsameasEX.3是?BinputtoALU-200,Why?因为对于I型指令只有rs,rt和立即数,没有rd,是rs和立即数Imm运算的结果进行操作,所以B最终送ALU的是立即数而不是rt,ALUOut800,ALUOP=ADD,Why因为SW是想把R7里的内容存到目的地址,立即数是偏移量,所以运算器是对R8和-200求和,得到的为目的地址.LMD7777,Rdest7whythis?因为没有rd,但是是把R7里的
8、内容存到目的地址800里。RegWrite0,MemWrite1,Why因为现在是存数,存到memory里,不是register里,所以MemWrite置1,RegWrite置7777,800,Whatisselected800,WhataretwovaluesattheinputofverylastMUXintheWBstagewhy因为写回memory地址为800(不太懂).FinalRegisterFileValues.R7,7777,R8,1000Exercise7:SignalNameValueWhyID.A22222ID正在分析SWR1,200(R2)Rs=Reg2=22222ID
9、.B11111Rt=Reg1=11111ALUOUTinEXE9000EXE正在执行SLTIR9,R10,-1000运算结果为10000-1000=9000ALUOUTinMEM88988MEM正在进行LWR7,100(R8)运算结果为100+88888=88988ALUOUTINWB122221WB正在与回ADDR4,R5,R6结果为55555+66666=122221RDESTinID0ID正在分析SWR1,200(R2)没有涉及到RdRDESTinEXE9EXE正在执行SLTIR9,R10,-1000R9作为Rt,在选择时被选为RdRDESTinMEM7同理,R7被选为RdRDESTin
10、WB4对于ADDR4,R5,R6R4为RdLMDinMEM77777从memory地址88988读到的数据为77777LMDinWB999上一个NOP的LMD为999没有被选择FinalValuesofRegisterFileR1=11111,R2=22222,R3=0,R4=122221,R5=55555,R6=66666,R7=77777,R8=88888,R9=0,R10=10000,R11=-1000,R12=12000,R13=13000NliifedlPiidlkl同NTfikuMJiDPa.R5.Pt11-TH111R2-22222R4-122221R5-55565RWe&SCR
11、7-?77?眄抽硼眄驹硼RW-lOOOQRiIliiRl.Rlln-Npc-NGIHu匚TIn-NILE:疋口MIPSRegistersJanOSEwrt339LMDAJLUnulMEMDR一11ZZS211U1JU_Ud2ftM:NOPZCG4阪尸30H:NOP2002rjcip20:NOP;D40NOPZD+4MQF32049NOPZOK阪尸3C6GNOP2DBQryciR2iNOP2DE3N0F2072NOF;U7GNOP2DSawapLWiNOP2DS8凶口尸2C62NOP2D3SryciR21W:NOP21CM:NOP21DE::NQP2112:NOP2116:NOP2120NOP2
12、12R1tR19R20R21R22ROiBah/vsszero.Checked8siist日sareihoseihai日8Inlllalltecusedilnthecurrentprogram.Clickonaregistertoassignavalue.This卜时te口r$Mspshows-allEurn口ryreFeren匚玉/addc匚tuallyused(readorwrrittento)inthe口o口rm.Allotherrn&rnoiyiccetioriassumerandomvali_i&inarealbutforpads口口icalreasonsIhaysassumedth
13、emtohave999.Exercise8:ExpectedValuesofRegisterFileADDR1,R2,R3R2=22222,R3=33333,所以R1=55555SUBR5,R6,R1R6=66666,R1=55555,所以R5=11111ADDR4,R1,R5R1=55555,R5=11111,所以R4=66666SWR1,200(R4)R4=66666,所以memory地址为66866值为55555LWR4,100(R1)R1=55555,令55655地址内容为77777,所以R4=77777综上,R1=55555,R2=22222,R3=33333,R4=77777,R5
14、=11111,R6=66666ActualValuesofRegisterFile实际上,R1=55555,R2=22222,R3=33333,R4=77777,R5=55555,R6=66666Reasonondifference发现期望值与实际实验的值不一样,我仔细观察指令的流水化过程,比如ADDR1,R2,R3R2=22222,R3=33333,所以R1=55555SUBR5,R6,R1R6=66666,R1=55555,所以R5=11111这是我期望的结果和过程,但实际上第一条指令走到WB阶段,R1值55555还没写回时,第二条指令已经取到了原始的没有写回R1的值11111,计算得到的
15、R5为55555,当第一条指令写回后第二条指令走到了WB,结果没改变,造成错误,同理,接下来的计算类似,只是因为赋值特殊,所以看不出来变化,实际实现机制不一样的。所以上述结果出现错误。Exercise9:InstructionClockCycle123456789101112ADDR1,R2,R3IFIDEXEMEMWBNOPIFIDEXEMEMWBNOPIFIDEXEMEMWBSUBR5,R6,R1IFIDEXEMEMWBExercise10:InstructionClockCycleADDR1,R2,R3SUBR5,R6,R1ADDR4,R1,R5SWR1,200(R4)LWR4,100(R1)1011121314151617IFIDEXEMEMWBIFIDIDIDEXEMEMWBIFIFIFIDIDIDEXEMEMWBIFIFIFIDIDIDEXEMEMWBIFIFIFIDIDIDEXEMEMWB这次实验是关于指令流水化的内容,课上关于流水化只讲解了一些概念,并没有一个相对直观的感受,实验使用软件模拟化直观的看出指令的流水,印象十分深刻。实验过程中,我发现流水化的一些疑问,比如说上一条指令的结果是下一条指令的源,这样在流水化过程中就会出现错误,这个问题在,可以直观的看到,并且通过引入了,很好的实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 师德安全双重建设
- (2026)二级建造师继续教育考试题库带有参考答案
- 2026统计学大专面试题及答案
- 2026投资评价面试题及答案
- 工作犯错思想报告2026(3篇)
- 职工思想动态调查报告2026(3篇)
- 2026玩具员工面试题及答案
- 2026网络电商面试题库及答案
- 2026文创新媒体面试题及答案
- 2026无锡研究院面试题及答案
- 山西建设投资集团有限公司招聘员工考试考啥了
- 2026年建筑施工企业主要负责人A证考试试题及答案(完整版)
- 2026年陕西省西安市八年级地理生物会考真题试卷+答案
- 2026年山西省太原市初二地理生物会考试题题库(答案+解析)
- 2026 《突发事件应对法》考试试题(150题)-含答案
- 2026年质量管理体系注册审核员考试题库(附答案)
- 2025年陕西有色金属控股集团有限责任公司招聘(18人)笔试历年常考点试题专练附带答案详解
- 矿山机械设备购销合同模板
- 知联会介绍教学课件
- 警用装备培训制度
- 水处理班组安全培训
评论
0/150
提交评论