- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 指令级并行
课堂练习 一、有A、B、C、D4个存储器操作数,要求完成(A*B)+(C+D)的运算,原来使用的程序如下: 1 LOAD R1,M(A) 2 LOAD R2,M(B) 3 MUL R5,R1,R2 4 LOAD R3,M(C) 5 LOAD R4,M(D) 6 ADD R2,R3,R4 7 ADD R2,R2,R5 现采用静态指令调度方法,请写出改程序调度后的指令序列。 课堂练习 二、假定有多个加法器,不存在加法器的资源冲突。有3条连续指令组成的程序代码如下: I1 ADD R1,R2,R4 I2 ADD R2,R1,1 I3 SUB R1,R4,R5 (1)分析程序代码段中的数据相关; (2)采用何种硬件技术可解决这些数据相关? 指令级并行(ILP) :指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。 开发ILP的途径有两种 资源重复,重复设置多个处理部件,让它们同时执行相邻或相近的多条指令; 采用流水线技术,使指令重叠并行执行。 本章研究:如何利用各种技术来开发更多的指令级并行 (硬件的方法) 开发ILP的方法可以分为两大类 主要基于硬件的动态开发方法 基于软件的静态开发方法 流水线处理机的实际CPI 理想流水线的CPI加上各类停顿的时钟周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突 理想CPI是衡量流水线最高性能的一个指标。 IPC:Instructions Per Cycle (每个时钟周期完成的指令条数) 5.1 指令级并行的概念 基本程序块 基本程序块:一串连续的代码除了入口和出口以外,没有其他的分支指令和转入点 。 程序平均每4~7条指令就会有一个分支。 循环级并行:使一个循环中的不同循环体并行执行。 开发循环的不同叠代之间存在的并行性 最常见、最基本 是指令级并行研究的重点之一 5.1 指令级并行的概念 例如,考虑下述语句: for (i=1; i=500; i=i+1) a[i]=a[i]+s; 每一次循环都可以与其它的循环重叠并行执行; 在每一次循环的内部,却没有任何的并行性。 最基本的开发循环级并行的技术 循环展开(loop unrolling)技术 采用向量指令和向量数据表示 相关与流水线冲突 相关有三种类型: 数据相关、名相关、控制相关 流水线冲突是指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。 流水线冲突有三种类型:结构冲突、数据冲突、控制冲突 5.2 相关与指令级并行 相关是程序固有的一种属性,它反映了程序中指令之间的相互依赖关系。 具体的一次相关是否会导致实际冲突的发生以及该冲突会带来多长的停顿,则是流水线的属性。 可以从两个方面来解决相关问题: 保持相关,但避免发生冲突。 指令调度 通过代码变换,消除相关。 程序顺序:由原来程序确定的在完全串行方式下指令的执行顺序。 只有在可能会导致错误的情况下,才保持程序顺序。 5.2 相关与指令级并行 控制相关并不是一个必须严格保持的关键属性。 对于正确地执行程序来说,必须保持的最关键的两个属性是:数据流和异常行为。 保持异常行为是指:无论怎么改变指令的执行顺序,都不能改变程序中异常的发生情况。 即原来程序中是怎么发生的,改变执行顺序后还是怎么发生。 弱化为:指令执行顺序的改变不能导致程序中发生新的异常。 数据流:指数据值从其产生者指令到其消费者指令的实际流动。 5.2 相关与指令级并行 分支指令使得数据流具有动态性,因为一条指令有可能数据相关于多条先前的指令。 分支指令的执行结果决定了哪条指令真正是所需数据的产生者。 有时,不遵守控制相关既不影响异常行为,也不改变数据流。 可以大胆地进行指令调度,把失败分支中的指令调度到分支指令之前。 5.2 相关与指令级并行 举例: DADDU R1,R2,R3 BEQZ R12,Skipnext DSUBU R4,R5,R6 DADDU R5,R4,R9 Skipnext:OR R7,R8,R9 静态调度 依靠编译器对代码进行静态调度,以减少相关和冲突。 它不是在程序执行的过程中、而是
您可能关注的文档
- 第1课第二章驾驶证和机动车管理1.ppt
- 第1章 生物材料学绪论.ppt
- 第1章~ 信息与微电子技术.ppt
- 第20单元.ppt
- 第1章绪论 第2章样品采集与处理.ppt
- 第25章补充例题.ppt
- 第21单元.ppt
- 第2章 TCPIP协议基础1.ppt
- 第2章 MATLAB矩阵及其运算 副本.ppt
- 第21课 明清时期的文化一课件.ppt
- 2025年哈尔滨城市职业学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年哈尔滨北方航空职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年哈尔滨城市职业学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- [精编]电气工程施工合同9篇.docx
- 2025年哈尔滨传媒职业学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年哈尔滨城市职业学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年哈尔滨北方航空职业技术学院单招(数学)历年真题考点含答案解析.docx
- 2025年哈尔滨幼儿师范高等专科学校单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 混凝土原材料采购合同范本与混凝土地泵租赁合同7篇.docx
- 2025年哈尔滨幼儿师范高等专科学校单招职业技能测试近5年真题考点含答案解析.docx
文档评论(0)