计算机体系结构PPT_ay-(中文版)指令级并行的概念.pdf

计算机体系结构PPT_ay-(中文版)指令级并行的概念.pdf

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令级并行的概念 当指令之间不存在相关时,它们在流水线中是可以 重叠起来并行执行的。这种指令序列中存在的潜在 并行性称为指令级并行。 (Instruction-Level Parallelism,简记为ILP ) 如何通过各种可能的技术,获得更多的指令级并行 性。 (硬件技术和软件技术) 必须要硬件技术和软件技术互相配合,才能够最大 限度地挖掘出程序中存在的指令级并行。 1.流水线处理器的实际CPI CPI流水线 = CPI理想 + 各类停顿周期数的总和 流水线的理想CPI是流水线的最大流量。 各类停顿包括: • 结构相关停顿:是由于两条指令使用同一 个功能部件而导致的停顿。 • 控制相关停顿:是由于指令流的改变(如 分支指令)而导致的停顿。 • RAW、WAR和WAW停顿:由数据相关造成的。 减少其中的任何一种停顿,都可以有效地减少 CPI,从而提高流水线的性能。 2. 本章要研究的技术以及它们所克服的停顿 技术 主要克服的停顿 基本流水线调度 数据先写后读相关停顿 循环展开 控制相关停顿 寄存器换名 数据写后写相关和先读后写相关 停顿 指令动态调度(记分牌和 各种数据相关停顿 Tomasulo算法) 动态分支预测 控制相关停顿 前瞻(Speculation) 所有数据/控制相关停顿 多指令流出(超标量和超长指 提高理想CPI 令字) 3.几个概念 基本程序块 • 一段除了入口和出口以外不包含其它分支的线 性代码段。 • 程序平均每6~7条指令就会有一个分支。 循环体中指令之间的并行性称为循环级并行性。 • 开发循环体中存在的并行性。 最常见、最基本 • 是指令级并行研究的重点之一。 最基本的开发循环级并行的技术 • 指令调度 (scheduling)技术 • 循环展开 (loop unrolling)技术 • 换名 (renaming)技术 相关性 开发指令级并行的关键 • 存在相关的两条指令,不能改变它们的顺 序。 • 相关是否导致流水线的空转,还与流水线的 组织与结构有关。 程序中的相关主要有以下三种 • 数据相关 • 名相关 • 控制相关 1. 数据相关 (data dependence) 对于指令i和指令j,如果 (1) 指令j使用指令i产生的结果,或者 (2) 指令j与指令k数据相关,指令k与指令i数据相 关,则指令j与指令i数据相关。 数据相关具有传递性。 数据相关是两条指令之间存在一个先写后读相关 链。 • 相关链贯穿整个程序,是程序的内在特征。 • 这种相关链是导致流水线停顿的原因之一。 指令的相关距离 (distance ) 两条指令之间的指令条数。 分析数据相关的主要工作: (1) 确定指令的相关性,找到所有可能产生停 顿的地方。 (2) 确定必须严格遵守的数据的计算顺序。

文档评论(0)

asd3366 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档