- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编-并行计算(指令级)
第四章 指令级并行Instruction-Level Parallelism, ILP 第四章 指令集并行 指令的相关 指令之间存在的潜在并行性称为指令级并行(Instruction-Level parallelism, ILP) 思考:是什么阻碍实现指令级并行? CPI流水线 = CPI理想 ? 第四章 指令集并行 指令的相关 程序中指令之间的依赖关系,描述了指令和指令之间的属性 数据相关:指令 i 以后的指令使用 i 产生的结果 名相关:指令使用的寄存器或者存储器称为名 反相关 : 指令 j 写的名是 指令 i 读的名 输出相关:指令 j 写的名是 指令 i 写的名 控制相关 ? 流水线控制冲突(相关) 第四章 指令级并行指令的相关与流水线相关(冲突) 指令的相关是程序的固有属性;流水线的冲突(相关)是由于指令的相关属性导致的。对应关系: 数据相关 ?流水线写后读冲突(相关) 名相关 反相关 ? 流水线写后写冲突(相关) 输出相关 ? 流水线读后写冲突(相关) 控制相关 ? 流水线控制冲突(相关) 第四章 指令集并行 流水线实际CPI 理想流水线的CPI加上各类停顿的时钟周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突+ 停顿控制冲突 理想CPI是衡量流水线最高性能的一个指标。 IPC:Instructions Per Cycle (每个时钟周期完成的指令条数) 第四章 指令级并行 本章所研究的技术 第四章 指令级并行循环级并行性 基本程序块 基本程序块:一段除了入口和出口以外不包含其他分支的线性代码段。 程序平均每5~7条指令就会有一个分支。 第四章 指令级并行循环级并行性 基本程序块 基本程序块:一段除了入口和出口以外不包含其他分支的线性代码段。 程序平均每5~7条指令就会有一个分支。 第四章 指令级并行循环级并行 循环级并行:使一个循环中的不同循环体并行执行。 开发循环体中存在的并行性 最常见、最基本 是指令级并行研究的重点之一 例如,考虑下述语句: for (i=1; i=500; i=i+1) a[i]=a[i]+s; 每一次循环都可以与其他的循环重叠并行执行; 在每一次循环的内部,却没有任何的并行性。 本节中,我们使用的浮点流水线延迟为: 例4.6 对于下面的源代码,转换成MIPS汇编语言,在不进行指令调度和进行指令调度两种情况下,分析其代码一次循环所需的执行时间。 for (i=1; i=1000; i++) x[i] = x[i] + s; 把该程序翻译成MIPS汇编语言代码: Loop:L.D F0,0(R1) // 取一个向量元素放入F0 ADD.D F4,F0,F2 // 加上在F2中的标量 S.D F4, 0(R1) // 保存结果 DADDIU R1,R1,#-8 //指针减8(每个数据占8个字节) BNE R1,R2,Loop // 如果R1不等于R2,未结束,继续 其中: 整数寄存器 R1:指向向量中的当前元素,初值为向量中最高端元素的地址) 整数寄存器 R2:8(R2)指向最后一个元素。 浮点寄存器 F2:用于保存常数 s。 不进行指令调度的情况下,程序的实际执行情况: 指令调度以后,程序的执行情况如下: 把DADDIU指令调度到了L.D指令和ADD.D指令之间的“空转”拍。 把S.D指令放到了分支指令的延迟槽中。 对存储器地址偏移量进行调整。 问题 只有L.D、ADD.D和S.D这3条指令是有效操作。 (取、加、存)占用3个时钟周期。 而DADDIU、空转和BEN这3个时钟周期都是附加的循环控制开销。 如何改进? 循环展开技术 把循环体的代码复制多次并按顺序排列,然后相应调整循环的结束条件。 这给编译器进行指令调度带来了更大的空间。 第四章 指令级并行循环展开调度基本方法 基本思想:把循环展开后,通过重命名和指令调度来开发更多的并行性。 调度: 通过改变指令在程序中的位置,将相关指令之间的距离加大到不小于指令执行延迟的周期数,这样就可以将相关的指令转化为无关指令。 编译器完成这种指令调度的能力受限于两个特性: 程序固有的指令级并行性; 流水线功能部件的执行延迟。 循环展开和指令调度时要注意以下几个方面: 保证正确性。 在循环展开和调度过程中尤其要注意两个地方的正确性:循环控制,操作数偏移量的修改。 注意有效性。 只
您可能关注的文档
- 橱柜店面销售流程培训-也许可以学习到一些东西···.pptx
- 橱柜厂学习报告.ppt
- 橱柜教程.ppt
- 欠条与借条.ppt
- 次贷危 机浅析.ppt
- 模块六-酒店产品及新产品开发.pptx
- 模电讨论题(一).pptx
- 欧洲专利公约下的申请流程EPC-–-processing-of-an-application.ppt
- 欧洲地区知识竞赛.ppt
- 欧盟知 识 产 权跨界禁令制度.ppt
- 2021-2022学年湖南省常德市安乡县四年级上学期期中语文真题及答案.pdf
- 2023-2024学年河南省南阳市社旗县四年级上学期期中数学真题及答案.pdf
- 2022-2023学年云南省曲靖市四年级下学期期末数学真题及答案.pdf
- 2021-2022学年河南省周口市鹿邑县二年级下册月考语文真题及答案.pdf
- 2018年河南焦作解放区教师招聘考试真题及答案.pdf
- 2019年江西公务员行测考试真题及答案-乡镇.pdf
- 2019中国石油报社应届高校毕业生招聘试题及答案解析.pdf
- 光大银行招聘应届毕业生能力素质测试笔试真题及答案.pdf
- 2024年广西百色教师招聘考试模拟题及答案.pdf
- 2021-2022学年浙江绍兴诸暨市五年级上册语文期末试卷及答案.pdf
最近下载
- 重症监护室质量持续改进PDCA案例-降低气管插管意外脱管率.pptx
- 电站机组(DEH)(BMS)(DAS)(SCS)的调试方案.doc VIP
- 心理咨询师面试提问.doc
- 2024年 “诗词大会”真题附参考答案(达标题).docx VIP
- 急性咽炎ppt护理查房.pptx
- 预应力混凝土预制桩产品质量—检验细.doc
- 一种以草酰氯和格氏试剂为原料合成α-酮酸的方法.pdf VIP
- 谐波对感应式电能表影响的分析及对策.pdf VIP
- 统编版小学语文六年级上册第六单元 青山不老 大单元学历案 教学设计附双减作业设计(基于新课标教学评一体化).docx
- 新高考数学二轮复习子数列与增减项问题培优课件.pptx VIP
文档评论(0)