计算机组成与体系结构.pptx

  1. 1、本文档共123页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成与体系结构第7章 流水线技术与指令级并行7.5 指令流水线的性能提高结构相关数据相关控制相关7.6 指令级并行概念7.7 提高指令级并行的技术乱序执行、寄存器重命名推测执行7.8 多发射处理器超标量处理器超长指令字处理器7.9 指令级并行的限制计算机组成与体系结构第7章 流水线技术与指令级并行7.5 指令流水线的性能提高7.5.1 流水线的基本性能问题限制指令流水线性能提高的因素:流水线的深度受限于流水线的延迟、流水线段的时间不均衡和流水线的额外开销。指令执行时可能存在的相关(dependence)或“冒险(hazard)”问题。相关:相邻或相近的两条指令因存在某种关联,后一条指令不能在原指定的时钟周期开始执行。相关或冒险有3类:结构(structural)相关:资源冲突数据(data)相关:一条指令需要用到前面某条指令的结果控制(control)相关:分支等转移类指令/其他能够改变PC值的指令局部性相关全局性相关7.5.1 流水线的基本性能问题有停顿的流水线的CPI为: CPI = 理想流水线CPI+(结构相关停顿 + 数据相关停顿 + 控制相关停顿) / 指令数 有停顿的流水线的加速比为:消除相关、减少停顿是提高已有流水线性能最重要的手段。7.5.2 结构相关有两种情形会导致结构相关:部分功能单元没有充分流水。解决办法:将流水线设计的更合理。资源冲突(resource conflicts):当两个以上流水线段需要同时使用同一个硬件资源时,发生冲突。解决方法:增加资源副本:存储器冲突:哈佛结构两个ALU:取指令-地址加法器改变资源以便它们能并发的使用。不相关的数据尽量使用不同的寄存器寄存器重命名通过延迟(或暂停)流水线的冲突段或在冲突段插入流水线气泡(气泡在流水线中只占资源不做实际操作),使各段“轮流”使用资源。7.5.3 数据相关指令在流水线中的重叠执行有可能改变指令读/写操作数的顺序。当一条指令的结果还未有效生成,该结果就被作为后续指令的操作数时,数据相关出现。7.5.3 数据相关相关类型:先写后读(Read After Write)先读后写(Write After Read)写-写(Write After Write)异步流水线带来的问题。【例】 4级指令流水线,各级分别为取指IF、读数RD、执行EX和写结果WB。简单指令(第1、2、4、6条指令)在EX1段执行,需1个时钟周期;复杂指令(第3、5条指令)在EX2段执行,需3个时钟周期。7.5.3 数据相关图7.21 典型的数据相关类型 指令12345678910相关类型1. R1+R2→R0IFRDEX1WBRAW2. R0-R3→R4IFRDEX1WB3. R0→10H(R5)IFRDEX2-1EX2-2EX2-3WBWAR4. R6→R0IFRDEX1WB5. R1×R2→R0IFRDEX2-1EX2-2EX2-3WBWAW6. R1+R2→R0IFRDEXWB相关造成指令2、3和6的结果错误。 7.5.3 数据相关解决办法:采用直通(forwarding)技术(相关直接通路)将运算结果经相关直接通路直接送入所需部件。增加专用硬件(推后法) 增加流水线互锁(pipeline interlock)硬件。互锁硬件先要检测流水线中指令的数据相关性,当互锁硬件发现数据相关时,使流水线工作停顿下来,直到相关消失为止。利用编译器流水线调度/指令调度:编译器可以对指令重新排序或插入空操作指令,使得加载任何冲突数据的操作被延迟,但对程序逻辑或输出不受影响。7.5.3 数据相关解决办法:采用直通(forwarding)技术(相关直接通路)指令储存器数据储存器寄存器组IMRRDMALU寄存器组注:虚线为直通专用通路,IM为指令储存器,R为寄存器组,ALU为运算器,DM为数据储存器图7.22 采用直通技术的流水线7.5.3 数据相关解决办法:采用直通(forwarding)技术(相关直接通路)读写S1S2S3S4S5S6输入输出k: R0←(R1)k+1: ……k+2: R2←(R0)+(R3)k+3: ……k+4: ……k+5: …… ……寄存器R0时钟周期 tti+4k+4k+3k+2空闲空闲空闲ti+3k+3k+2空闲空闲空闲k+1ti+2k+3k+2空闲空闲k+1kti+1k+3k+2空闲k+1kk-1tik+3k+2k+1kk-1k-2正常流动k+5k+4k+3k+2k+1k功能段S功能段S1S2S3S4S5S6时钟周期 tti+3k+5k+4k+2空闲k+1k+3ti+2k+4k+3k+2空闲k+1kti+1k+3k+2空闲k+1kk-1tik+3k+2k+1kk-1k-2功能段S功能段S1S2S3S4S5S67.5.3 数据相关解决办法:采用直通(forw

文档评论(0)

183****7931 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档