coursera课件控制冒险的处理_第1页
coursera课件控制冒险的处理_第2页
coursera课件控制冒险的处理_第3页
coursera课件控制冒险的处理_第4页
coursera课件控制冒险的处理_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制的处理 慕课计算机组成制作人:本节转移指令对流水线的影响流水线的最终性能目标:最大的指令吞吐率T1T2T3T4T5T6T7T8T9这段循环执行期间50%的性能被浪费addsub取指译码执行访存回写beq取指译码执行访存回写lwadd Next:subbeq lw sw ori取指译码执行访存回写$s3,$s3,1$s4,$s4,1$s3,$s4,Next$s0,16($s1)$s5,20($s6)$s7,$s7,4swsub转移指令:sw改变指令流向,破坏流水模式取指译码执行访存beq取指译码执行lw取指译码取指取指译码执行访存回写取指译码执行访存回写转移指令对性能的影响Pipeline

2、stall cycles from branches= Branch Frequency Branch Penalty转移指令所占比例(Branch Frequency)每隔4到7条指令就会有一条转移指令转移指令所占比例大约为15%25%转移指令损失(Branch Penalty)Alpha 21264:转移损失平均为7个周期Pentium III:转移损失平均为1015个周期AMD Athlon K7:转移损失10个周期以上量处理器实例流水线越深,量数越多,转移指令带来的影响越大ARM Cortex-A15 3发射15级流水el Core i7 4发射16级流水转移开销当执行了转移指令,并确

3、实发生转移时,产生如下的开销,称为“转移开销”将按顺序预取的指令(即“排空流水线”)从转移目标地址重新取指令转移开销的“要不要转移?”:转移条件判定引起的开销“转移到哪里?”:生成目标地址引起的开销转移指令的分类无条件转移条件转移x86示例:JMPCALLx86示例:JZLOOP直接转移MIPS示例: jjalMIPS示例: beq $t0, $t1,bgez$t0,x86示例:JMP JMPDWORD EAXPTR30H间接转移CALLEAXMIPS示例: jr$t0无条件转移直接转移j目标地址计算方法NewPC =(PC+4)31.28,address,006-bit26-bitJ3126

4、250opcodeaddress无条件 直接 转移(j)执行取指译码访存写回Instruction Word32rd515rt50rs5rt5bA32busW3232所需信息在取指0bB0阶段即可获得32(流水线不停顿)32Data In11imm1621632 Extender PCALUPC updateWrEnAdrData MemoryRwRa RbRegFile32-bit32InstructionMemoryAddress3uu32无条件转移间接转移jrrs目标地址计算方法NewPC=Rrs6-bit5-bit5-bit5-bit5-bit6-bitR3126252120opcod

5、ersrtrdshamtfunct无条件 间接 转移(jrrs) 取指 译码 执行 访存 写回 Instruction Word32rd515rt50rs5rt5译码阶段才能获得转移目标地址(流水线停顿 周期32bA32busW320bB03232Data In11imm1621632 Extender PCALUPC updateWrEnAdrData MemoryRwRa RbRegFile32-bit32InstructionMemoryAddress3uu32条件转移直接转移beqrs,rt,imm16目标地址计算方法if(Rrs-Rrt=0)thenelse6-bitNewNewPC

6、PC=PCPC+44+;SignExtimm16*4;5-bit5-bit16-bitI312625212016150opcodersrtimmediate条件转移(beq 取指 rs,rt,imm16) 译码 执行 访存 写回 Instruction Word32rd515rt50rs5rt5译码阶段才能获得待比较的寄存器内容(流水线停顿 周期32bu A32busW320busB3203232Data In11imm162执行阶段才能完成转移条件的判定(流水线停顿2周期)1632 Extender PCALPC updateWrEnAdrData MemoryRwRa RbRegFile3

7、2-bit32InstructionMemoryAddress3条件转移(beq 取指 rs,rt,imm16) 译码 执行 访存 写回 Instruction Word32rd515rt50rs5rt5在寄存器堆的输出端增加额外的比较电路(流水线停顿1周期)32bA32busW320bB03232Data In11imm1621632 Extender PCALUPC updateWrEnAdrData MemoryRwRa RbRegFile32-bit32InstructionMemoryAddress3uu32控制的影响无条件直接转移:流水线无停顿j无条件间接转移:流水线停顿1个周期jrrs条件转移:beq rs,rt,imm16流水线停顿1个周期延迟转移技术流水线不停顿!xor addi subi beq slt$s1,$t1,$t2,$t1,$s4,$s2,$t3,$t4,$t2,$s5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论