标量流水线技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

4.2.4流水线中的主要障碍在实际应用中,往往有这样或者那样的原因使流水线不能畅通,概括起来有三种:资源相关、数据相关和控制相关。仍设流水线有五个功能段S1~S5(IF、ID、EXE、MEM、WB)。但不同指令在流过时对流水线的使用不同。下面以ALU、LOAD和STORE、BRANCH指令为例,予以说明。(1)ALU类指令在S1取出,S2译码,S3执行,S4不进行任何操作,在S5把执行结果写回目标寄存器堆。(2)传送类指令LOAD和STORE在S1取出,S2译码及读寄存器堆,S3计算有效地址,S4访问存储器:LOAD指令在S4读存储器,并送数据寄存器,在S5把读出的数据写回寄存器堆;STORE指令仅在S4把数据寄存器中的数据写入目标存储器单元。第30页,共87页,星期日,2025年,2月5日(3)分支转移类BRANCH在S1取出,S2译码并读寄存器堆,S3生成转移目标地址,并形成条件码,S4判断条件,若成立,则将转移地址送入程序计数器PC;S5不进行任何操作。三类指令对各功能段的占用如表4.1所示。表4.1三类指令对流水线的使用指令功能段)ALU指令LOAD/STOREBRANCHIf(S1)取指取指取指ID(S2)译码读寄存器堆译码读寄存器堆译码读寄存器堆EX(S3)执行计算有效地址计算转移目标地址设置条件码MEM(S4)-访存(读或写)若条件成立转移目标地址送PCWB(S5)结果写回寄存器堆读出数据写入寄存器堆-第31页,共87页,星期日,2025年,2月5日1.资源相关也称为资源或结构冲突。如图4.16所示,有5条指令相继进入流水线,其中第1条指令是存储器读LOAD。在时钟周期T4第1条指令执行到MEM段,和第i+3条指令的IF段发生冲突,即资源相关。图4.16两条指令同时访问存储器冲突第32页,共87页,星期日,2025年,2月5日图4.17用停顿的方法解决存储器冲突为了解决冲突,故在取第i+3条指令时暂停一拍,如图4.17所示。第33页,共87页,星期日,2025年,2月5日2.数据相关(1)数据相关往往发生在两条指令执行中,后一条指令所需要的操作数正好是前一条指令执行的结果。如有以下两条指令,其执行过程如图4.18所示。ADDR1,R2,R3;R2+R3→R1SUBR4,R1,R5;R1-R5→R4SUB指令需要在第3拍使用前一条ADD的执行结果,而ADD指令的结果要在第5拍时才能写入寄存器R1中。即读超前于写(RAW)。图4.18数据相关冲突第34页,共87页,星期日,2025年,2月5日图4.19加法运算结果定向传送(2)解决办法可采用“定向传送”技术,也称为旁路技术或相关专用通路技术。如图4.19所示,第一条指令ADD需在WB段才能把结果写回到R1中,而后继指令中除了XOR之外都要在此之前使用。若采用停顿法,需停顿3拍。而ADD指令则是在EX段就已产生了运算结果,因此可直接传送给后续的SUB、AND和OR指令的EX段。第35页,共87页,星期日,2025年,2月5日定向传送示意如图4.20(a)所示,定向传送的实现如图4.20(b)所示,即增加旁路,实现运算结果的定向传送。当然,这种方式将增加电路的复杂性。图4.20旁路定向传送第36页,共87页,星期日,2025年,2月5日图4.19加法运算结果定向传送在有些计算机中把时钟周期分为前半周期和后半周期。读操作一般在后半周期进行,写操作一般在前半周期进行。这样,对于图4.19所示的指令OR的定向传送可以取消,如图4.21所示。第37页,共87页,星期日,2025年,2月5日图4.21减少定向传送措施第38页,共87页,星期日,2025年,2月5日(3)数据相关类型数据相关有三种类型,即RAW、WAR、WAW:①RAW:是指令j试图在指令i写入寄存器之前读取寄存器中的数据,这样指令j读出的就是其原来的内容,简称为读超前于写。②WAR:是指令j试图在指令i读出寄存器中的数据之前写入寄存器,这样指令i读出的就是寄存器中的新内容,简称为写超前于读。③WAW:是指令j试图在指令i写入寄存器之前写入寄存器,这样两条指令的写入过程颠倒,简称为j写超前于i写。(4)装入延迟在RISC机中,执行指令LOAD存在一定的延迟,称为装

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档