- 1、本文档共147页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap4-指令级并行的
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.;4.1 指令级并行的概念
4.2 指令的动态调度
4.3 控制相关的动态解决技术
4.4 多指令流出技术;4.1 指令级并行的概念;1.流水线处理器的实际CPI;2. 本章要研究的技术以及它们所克服的停顿;3.几个概念;最基本的开发循环级并行的技术
指令调度(scheduling)技术
循环展开(loop unrolling)技术
换名(renaming)技术
;4.1.1 循环展开调度的基本方法;3. 本章使用的浮点流水线的延迟;例4.1
对于下面的源代码,转换成DLX汇编语言,在不进行指令调度和进行指令调度两种情况下,分析代码一次循环的执行时间。
for (i=1; i=1000; i++)
x[i] = x[i] + s;;解:(1) 变量分配寄存器
整数寄存器R1:循环计数器,初值为向量
中最高端地址元素的地址。
浮点寄存器F2:保存常数S。
假定最低端元素的地址为8。
(2) DLX汇编语言后的程序
Loop: LD F0,0(R1)
ADDD F4,F0,F2
SD 0(R1),F4
SUBI R1,R1,#8
BNEZ R1,Loop ;(3) 程序执行的实际时钟;(4) 指令调度以后,程序的执行情况;(5) 例子中的问题及解决方案;例4.2 体现循环展开技术的特点;解:;(1) 展开后没有调度的代码;结果分析:;(2) 对指令序列进行优化调度;结果分析:;4. 循环展开和指令调度时要注意的问题;4.1.2 相关性;1. 数据相关(data dependence);指令的相关距离(distance)
两条指令之间的指令条数。
分析数据相关的主要工作:
(1) 确定指令的相关性,找到所有可能产生停
顿的地方。
(2) 确定必须严格遵守的数据的计算顺序。
(3) 确定指令的最大相关距离,确定程序中可 能的最大并行性。;2. 名相关(name dependence); 消除名相关;例:我们对例4.2编译过程进行分析,来仔细考察 换名的过程。 (1) 首先,仅仅去除4遍循环体中的分支指令, 得到以下由17条指令构成的指令序列:;;(2) 编译器可以通过对相关链上存储器访问偏移 量的直接调整,将前3条SUBI指令消除掉,从而得到下面一个14条指令构成的指令序列: ;Loop: LD F0 , 0(R1)
ADDD F4 , F0 , F2
SD 0(R1) , F4
LD F0 , -8(R1)
ADDD F4 , F0 , F2
SD -8(R1) , F4
LD F0 , -16(R1)
ADDD F4 , F0 , F2
SD -16(R1) , F4
LD F0 , -24(R1)
ADDD F4 , F0 , F2
SD -24(R1) , F4
SUBI R1 , R1 , #32
BNEZ R1 , Loop
;(3) 通过寄存器换名,消除名相关。
得到右边的指令序列: ;3.控制相关(control dependence); 处理控制相关的两个原则:
(1) 与控制相关的指令不能移到分支指令之
前,即控制有关的指令不能调度到分支
指令控制范围以外;
(2) 与控制无关的指令不能移到分支指令之
后,即控制无关的指令不能调度到分支
指令控制范围以内。
;再考察例4.2:
假设循环展开时,循环控制分支指令没有去除,
则指令序列如下: ;Loop: LD F0 , 0(R1)
ADDD F4 , F0 , F2
SD 0(R1) , F4
SUBI R1 , R1 , #8
BEQZ R1 , Exit
LD F0 , 0(R1)
ADDD F4 , F0 , F2
SD 0(R1) , F4
SUBI R1 , R1 , #8
BEQZ R1 ,
文档评论(0)