欢迎来到天天文库
浏览记录
ID:39175467
大小:145.34 KB
页数:29页
时间:2019-06-26
《微机原理-14PipelineHardwareFix》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、流水线竞争问题的硬件解决途径Goahead,makemyday!MechRabbit2004-11-14Lipingzhang,TsinghuaUnversity1•继续阅读第6章•硬件设计上解决流水线竞争的方法2004-11-14Lipingzhang,TsinghuaUnversity2复习:5级流水•事实是:处理器总是比存储器速度来得快!–是否我们应该增加时钟周期?–或者:更多级的流水•更多级的流水:–增加“MemoryWait”级(在开始读取数据级到回写级之间).–设计流水工作的存储器模块,使存储器访问的
2、多个步骤可以同时开展.•读取时间:–4-Stagepipeline:1clock–5-Stagepipeline:2clocks2004-11-14Lipingzhang,TsinghuaUnversity3XAdrILLJT4-StageβPipelineOPPCSEL43210InstructionAMemoryPCIF00DIF+4PCRFIRRFra<20:16>rb<15:11>rc<25:21>+01RA2SELC<15:0>RA1RA2Register<<2RD1FileRD2Z+4JT+4
3、CRFC<15:0>ASEL1010BSELPCALUIRALUABDALUABALUALUFNALUPCWBIRWBYDWBAWDrc<25:21>XPDataRDMemoryWBWASEL01012R/WWDSELWAWDWERFWrRegisterFile2004-11-14Lipingzhang,TsinghuaUnversity45-StageβPipelineILLXAdrJT•忽略了一些细节OP•没有加旁路逻辑43210PCSELInstructionAMemoryPCIF00DIF+4PCRFIR
4、RFra<20:16>rb<15:11>rc<25:21>+01RA2SELC<15:0>RA1RA2Register+4<<2ZRD1FileRD2+4CRFJTC<15:0>ASEL1010BSELPCALUIRALUABDALUALUAALUBALUFNPCMEMIRMEMYMEMDMEMWrMEMAWDR/WPCWBIRWBYWBXPRDrc<25:21>DataMemoryWBWASEL01012WDSELWAWDWERFRegister2004-11-14Lipingzhang,Tsinghu
5、aUnversityFile5延迟槽:一些“规则”•Write-Back延迟槽–有数据关联的指令之间必须有X条指令的间隔–4-stage流水线:X=______write-backdelayslot(s)2–5-stage流水线:X=______write-backdelayslots3–延迟取决于1whenvaluesareread(duringRFstage)and2whenvaluesbecomeavailable(afterWBstage)的时间差•分支延迟槽–Y条指令在JMP或者BEQ指令之后但是在新的
6、地址被确定之前执行–BEQ,BNE,andJMP:•4-stagepipeline:Y=_____branchdelayslot(s)1•5-stagepipeline:Y=_____branchdelayslots(s)1–Y决定于whentargetPCbecomesdecidedandavailable(duringRFstage)2004-11-14Lipingzhang,TsinghuaUnversity65-StageβPipelineILLXAdrJT•忽略了一些细节OP•没有加旁路逻辑43210P
7、CSELInstructionAMemoryPCIF00DIF+4PCRFIRRFra<20:16>rb<15:11>rc<25:21>+01RA2SELC<15:0>RA1RA2Register+4<<2ZRD1FileRD2+4CRFJTC<15:0>ASEL1010BSELPCALUIRALUABDALUALUAALUBALUFNPCMEMIRMEMYMEMDMEMWrMEMAWDR/WPCWBIRWBYWBXPRDrc<25:21>DataMemoryWBWASEL01012WDSELWAWDWE
8、RFRegister2004-11-14Lipingzhang,TsinghuaUnversityFile7软件解决方案的问题•软件变得与硬件耦合紧密–需要特别的编译器–一个软件版本只适合于一个特定的流水线结构–如果我们增加流水线级别呢?–如果我们不能采用流水线呢?–需要编译不同的版本–无前向/后向的软件兼容性•性能约束–不是总能重新调整指令执行顺序以消除NOP–有更好的
此文档下载收益归作者所有