- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例6.1 对于下面的源代码,转换成MIPS汇编语言,在不进行指令调度和进行指令调度两种情况下,分析其代码一次循环所需的执行时间。 for (i=1000; i0; i--) x[i] = x[i] + s; 解: 先把该程序翻译成MIPS汇编语言代码 Loop: L.D F0, 0(R1) ADD.D F4, F0, F2 S.D F4, 0(R1) DADDIU R1, R1, #-8 BNE R1, R2, Loop 6.1 基本指令调度及循环展开 在用编译器对上述程序进行指令调度以后,程序的执行情况如下: 指令流出时钟 Loop: L.D F0, 0(R1) 1 DADDIU R1, R1, #-8 2 ADD.D F4, F0, F2 3 (空转) 4 BNE R1, R2, Loop 5 S.D F4, 8(R1) 6 6.2 跨越基本块的静态指令调度 实例分析 由于分支条件为true(转移)的概率大,全局指令调度时会将语句1、2、3、5合并为一个更大的基本块。 6.2 跨越基本块的静态指令调度 将上图中的代码转换为下面的MIPS汇编指令 6.2 跨越基本块的静态指令调度 调度指令I1 直接将I1移到BEQZ前是否会产生错误结果? 向基本块elsepart中增加补偿代码 补偿代码有可能带来额外时间开销 调度指令I2 将I2移动到基本块thenpart中,同时复制到elsepart中。 若不影响执行结果,将I2调度到BEQZ前,同时删除elsepart中的副本。 6.2 跨越基本块的静态指令调度 全局指令调度是一个很复杂的问题 以I1的调度为例: 需要确定分支中基本块thenpart和elsepart的执行频率各是多少? 在分支语句前完成I1所需的开销是多大? 调度I1是否能够缩短thenpart块的执行时间? I1是否是最佳的被调度对象? 是否需要向elsepart块中增加补偿代码,补偿代码开销如何?怎样生成补偿代码? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 存储别名分析 什么是存储别名 一个元素可能同时拥有多个合法的地址表达式 A[i+5]、A[j*2-6]、A[k] 数组是仿射的 如果一个一维数组A[m:n]的下标可以被表示为形如 a×i+b的形式,那么就称该数组是仿射的(affine)。 一个多维数组,如果它每一维的下标都是仿射的,那 么它就是仿射的。 6.5 开发更多的指令级并行 GCD测试法 算法描述 如果GCD(c, a)可以整除(d-b),那么有可能存在存储别名。 如果GCD测试的结果为假(不能整除),那么一定没有存储别名存在。 例6.9 使用GCD测试方法判断下面的循环中是否存在存储别名。 for(i=1;i=100;i=i+1) x[2*i+3] = x[2*i] * 5.0; 解 在这个循环中,a=2,b=3,c=2,d=0, 那么GCD(a, c)=2,而d-b=-3。 由于2不能整除-3,因此没有存储别名,即无论i取何值,x[2*i+3] 与x[2*i]都将表示数组x的不同元素。 6.5 开发更多的指令级并行 数据相关分析 除了检测指令之间是否存在数据相关外,编译器还会将识别出的数据相关进一步细分为真数据相关、输出相关和反相关等不同类型,以便利用不同的优化技术消除这些相关。 常用的优化有重命名、值传播、高度消减等。 6.5 开发更多的指令级并行 重命名优化实例 例6.10 找出下面循环中的所有数据相关,指出它们究竟是真数据 相关、输出相关、还是反相关,并利用重命名技术消除其中的输出 相关和反相关。 for(i=1;i=100;i=i+1){ Y[i] = X[i] / a; /* S1 */ X[i] = X[i] + a; /* S2 */ Z[i]
您可能关注的文档
- 挤出成型-挤出过程说课.ppt
- 初中物理串并联电路全攻略介绍.doc
- 初中物理电与磁介绍.doc
- 初中物理各章中考考点题型分值介绍.doc
- 初中物理画电路图专题训练---完全免费介绍.doc
- 初中物理教师招聘及介绍.doc
- 初中物理——欧姆定律介绍.doc
- 初中物理实验大全介绍.doc
- 初中物理压强1234介绍.doc
- 初中物理压强复习题.介绍.doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- 广东梅州市嘉城建设集团有限公司招聘笔试题库2025.pdf
- 危险化学品的分类和品种目录.docx VIP
- 2024辽宁农业科学院所属事业单位招聘30人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 《电子CAD技术》教学课件:第4章 印制电路板设计基础.ppt VIP
- 老年患者临床营养管理服务规范--公布版2022.5.2.(1).pdf VIP
- 2019人教版小学六年级数学上册全册教案.docx VIP
- 高维之境:图模型与多变点检测的统计推断新探.docx
- 广东嘉城建设集团有限公司及其下属公司招聘笔试题库2025.pdf
- 河北省生产经营单位安全培训教育档案(最新版-冀应急人(2019)50号).docx VIP
- 加强医德医风建设的重要性.docx
文档评论(0)