计算机系统结构第4章指令级并行及限制.ppt

计算机系统结构第4章指令级并行及限制.ppt

ID:52395460

大小:684.06 KB

页数:105页

时间:2020-04-05

计算机系统结构第4章指令级并行及限制.ppt_第1页
计算机系统结构第4章指令级并行及限制.ppt_第2页
计算机系统结构第4章指令级并行及限制.ppt_第3页
计算机系统结构第4章指令级并行及限制.ppt_第4页
计算机系统结构第4章指令级并行及限制.ppt_第5页
资源描述:

《计算机系统结构第4章指令级并行及限制.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章指令级并行及限制4.1指令级并行的概念4.2指令的动态调度4.3转移预测技术4.4多发射技术4.5向指令级并行的支持与限制4.6IntelPentium4实例分析14.1指令级并行的概念指令级并行的概念几乎所有的处理机都利用流水线来使指令重叠并行执行,以达到提高性能的目的。这种指令之间存在的潜在并行性称为指令级并行。(ILP:Instruction-LevelParallelism)24.1.1指令级并行1、流水线处理机的实际CPI理想流水线的CPI加上各类停顿的时钟周期数:CPI流水线=CPI理想+停顿结构冲突+停顿数据冲突+停顿控制冲突理想CPI是衡量流水线最高性能的一

2、个指标。IPC:InstructionsPerCycle(每个时钟周期完成的指令条数)2、基本程序块基本程序块:一段除了入口和出口以外不包含其他分支的线性代码段。程序平均每5~7条指令就会有一个分支。33、循环级并行:使一个循环中的不同循环体并行执行。开发循环体中存在的并行性最常见、最基本是指令级并行研究的重点之一例如,考虑下述语句:for(i=1;i<=500;i=i+1)a[i]=a[i]+s;每一次循环都可以与其他的循环重叠并行执行;在每一次循环的内部,却没有任何的并行性。44、最基本的开发循环级并行的技术循环展开(loopunrolling)技术采用向量指令和向量数据表示

3、54.1.2相关性对指令级并行的影响本章使用的浮点流水线的延迟产生结果指令使用结果指令延迟时钟周期数浮点计算另外的浮点计算3浮点计算浮点数据存操作(SD)2浮点数据取操作(LD)浮点计算1浮点数据取操作(LD)浮点数据存操作(SD)06例4-1对于下面的源代码,for(i=1;i<=1000;i++)x[i]=x[i]+s;(Ⅰ)转换成DLX汇编语言,在不进行指令调度和进行指令调度两种情况下,分析代码一次循环的执行时间。(Ⅱ)编译过程进行分析,来仔细考察换名的过程。备注:本章使用的浮点流水线的延迟如上表所示7解:(Ⅰ)(1)变量分配寄存器整数寄存器R1:循环计数器,初值为向量中最

4、高端地址元素的地址。浮点寄存器F2:保存常数S。假定最低端元素的地址为8。(2)DLX汇编语言后的程序Loop:LDF0,0(R1)ADDDF4,F0,F2SD0(R1),F4SUBIR1,R1,#8BNEZR1,Loop8(3)程序执行的实际时钟根据上表中给出的的延迟,实际时钟如下:指令流出时钟Loop:LDF0,0(R1)1(空转)2ADDDF4,F0,F23(空转)4(空转)5SD0(R1),F46SUBIR1,R1,#87(空转)8BNEZR1,Loop9(空转)10每个元素的操作需要10个时钟周期,其中5个是空转周期。9(4)指令调度以后,程序的执行情况SD放在分支指令

5、的分支延迟槽中对存储器地址偏移量进行调整指令流出时钟Loop:LDF0,0(R1)1SUBIR1,R1,#82ADDDF4,F0,F23(空转)4BNEZR1,Loop5SD8(R1),F46一个元素的操作时间从10个时钟周期减少到6个5个周期是有指令执行的,1个空转周期。10(Ⅱ)(1)首先,仅仅去除4遍循环体中的分支指令,得到以下由17条指令构成的指令序列,如下所示:Loop:LDF0,0(R1)ADD.DF4,F0,F2SD0(R1),F4SUBIR1,R1,#8LDF0,0(R1)ADD.DF4,F0,F2SD0(R1),F4SUBIR1,R1,#8LDF0,0(R1)A

6、DD.DF4,F0,F2SD0(R1),F4SUBIR1,R1,#8LDF0,0(R1)ADD.DF4,F0,F2SD0(R1),F4SUBIR1,R1,#8BNEZR1,Loop11(2)编译器可以通过对相关链上存储器访问偏移量的直接调整,将前3条SUBI指令消除掉,从而得到下面一个14条指令构成的指令序列,如下所示:Loop:LDF0,0(R1)ADD.DF4,F0,F2SD0(R1),F4LDF0,-8(R1)ADD.DF4,F0,F2SD-8(R1),F4LDF0,-16(R1)ADD.DF4,F0,F2SD-16(R1),F4LDF0,-24(R1)ADD.DF4,F0

7、,F2SD-24(R1),F4SUBIR1,R1,#32BNEZR1,Loop12(3)通过寄存器换名,消除名相关。得到下面的指令序列,如下所示:Loop:LDF0,0(R1)ADD.DF4,F0,F2SD0(R1),F4LDF6,-8(R1)ADD.DF8,F6,F2SD-8(R1),F8LDF10,-16(R1)ADD.DF12,F10,F2SD-16(R1),F12LDF14,-24(R1)ADD.DF16,F14,F2SD-24(R1),F16SUBIR1,R1,#32B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。