- 1
- 0
- 约1.85千字
- 约 21页
- 2026-02-03 发布于北京
- 举报
指令调度:找出不相关的指令序列,让它们在流水线上重叠并行执行。
制约编译器指令调度的因素
程序固有的指令级并行
流水线功能部件的延迟;表6.1本节使用的浮点流水线的延迟
;;6.1基本指令调度及循环展开;6.1基本指令调度及循环展开;6.1基本指令调度及循环展开;循环展开
把循环体的代码复制多次并按顺序排放,然后相应调整循环的结束条件。
开发循环级并行的有效方法
例6.2将例6.1中的循环展开3次得到4个循环体,然后对展开后的指令序列在不调度和调度两种情况下,分析代码的性能。假定R1的初值为32的倍数,即循环次数为4的倍数。消除冗余的指令,并且不要重复使用寄存器。;展开后没有调度的代码如下(需要分配寄存器);
调度后的代码如下:;6.1基本指令调度及循环展开;VLIWvs.超标量
在动态调度的超标量处理器中,相关检测和指令调度基本都由硬件完成。
在静态调度的超标量处理器中,部分相关检测和指令调度工作交由编译器完成。
在VLIW处理器中,相关检测和指令调度工作全部由编译器完成,它需要更“智能”的编译器。;实例分析;6.3静态多指令流出——VLIW技术;VLIW性能分析
VLIW目标代码编码效率低
为消除流水线“空转”需要增加循环展开的次数
很难从应用程序中找到足够多的并行指令填满VLIW指
令中的每一个slot
VLIW流水线的互锁机制
VLIW处理器中没有实现任何相关检测逻辑,而是靠互
锁机制保证执行结果的正确
这种简单的互锁机制将造成较大的开销
目标代码兼容性差
二进制翻译;循环携带相关
循环携带相关是指一个循环的某个叠代中的指令与其他叠代中的指令之间的数据相关。
例6.7在下面的循环中,
for(i=1;i=100;i=i+1){
A[i+1]=A[i]+C[i]; /*S1*/
B[i+1]=B[i]+A[i+1];/*S2*/
}
假设数组A、B和C中所有元素的存储地址都互不相同,请问语句
S1与S2之间存在哪些数据相关?;解S1和S2之间存在两种不同类型的数据相关:
循环携带RAW数据相关:相邻连词叠代的语句S1之间,相邻
两次叠代中的语句S2之间。
RAW数据相关:同一叠代内的语句S2与S1之间。
分析:
循环携带相关迫使指令只能按照所在叠代的先后顺序依
次执行。
限制了同一叠代内存在数据相关的各语句之间的相对顺序。;怎样消除循环携带数据相关?
例6.8在下面的循环中,语句S1和S2之间存在哪些数据相关?
该循环的各次叠代是否可以并行执行?如果不能,请修改其代码,
使之可以并行。
for(i=1;i=100;i=i+1){
A[i]=A[i]+B[i]; /*S1*/
B[i+1]=C[i]+D[i]; /*S2*/
};解第i次叠代中语句S1与第i-1次叠代中语句S2之间存在RAW类型
的循环携带数据相关,但它们之间没有形成环(S2与上次叠代的S1不
相关)。修改后代码
A[1]=A[1]+B[1];
for(i=1;i=99;i=i+1){
B[i+1]=C[i]+D[i];/*原S2*/
A[i+1]=A[i+1]+B[i+1];/*原S1*/
}
B[101]=C[100]+D[100];;复杂循环携带数据相关的处理
for(i=6;i=100;i=i+1)
Y[i]=Y[i-5]+Y[i];//相关距离为5
for(i=2;i=100;i=i+1)
Y[i]=Y[i-1]+Y[i];//相关距离为1;存储别名分析
什么是存储别名
一个元素可能同时拥有多个合法的地址表达式
A[i+5]、A[j*2-6]、A[k]
数组是仿射的
如果一个一维数组A[m:n]的下标可以被表示为形如
a×i+b的形式,那么就称该数组是仿射的(affine)。
一个多维数组,如果它每一维的下标都是仿射的,那
么它就是仿射的。;谢谢大家!
您可能关注的文档
- 出生缺陷及干预课件.ppt
- 一年级数学比大小2课件.ppt
- 12月住院医师规范化培训《重症医学》模拟习题及答案(附解析).docx
- 2025年8月住院医师规范化培训《神经外科》试题库及参考答案.docx
- 住院医师规范化培训《核医学科》习题.docx
- 4月住院医师规范化培训《耳鼻咽喉科》模拟练习题(含参考答案).docx
- 2025年11月住院医师规范化培训《口腔全科》练习题含参考答案.docx
- 2024年住院医师规范化培训《中医全科》考试题与参考答案.docx
- 住院医师规范化培训《口腔颌面外科》练习题及答案.docx
- 住院医师规范化培训《口腔科》模拟练习题及答案.docx
- 住院医师规范化培训《康复医学》习题(含参考答案)解析.docx
- 2025年5月住院医师规范化培训《耳鼻咽喉科》复习题(含参考答案).docx
- 2025年9月住院医师规范化培训《骨科》试题库(含答案).docx
- 2025年住院医师规范化培训《口腔修复科》模拟考试题+答案.docx
- 8月住院医师规范化培训《外科》测试题(附答案解析).docx
- 2025年6月住院医师规范化培训《预防医学科》练习题(附参考答案).docx
- 2025年7月住院医师规范化培训《放射科》习题(含参考答案).docx
- 2024年住院医师规范化培训《医学影像科》模拟试题(含答案).docx
- 住院医师规范化培训《神经外科》模考试题与参考答案.docx
- 3月住院医师规范化培训《康复医学》测试题+参考答案解析.docx
最近下载
- 电梯应急演练方案.doc VIP
- 四年级奥数测试题.doc VIP
- 2021晋升副主任医师述职报告范文五篇.doc VIP
- 平行线的证明100道经典习题练习(含答案) .pdf VIP
- 2025年度专题民主生活会对照检查材料八篇.docx VIP
- 硕远-2025中国二次元文化行业市场研究报告.pdf
- 长江经济带的发展战略课件2023-2024学年高中地理鲁教版(2019)必修二.pptx VIP
- 4.2长江经济带发展战略课件 高中地理鲁教版(2019)必修二.pptx VIP
- 2026年棉籽深加工及棉籽油项目投资计划书.docx
- 四川省绵阳市高中2024-2025学年高一上学期期末教学质量测试英语试卷含答案.pdf VIP
原创力文档

文档评论(0)