- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                */31 */34 4.1	指令级并行的概念 当指令之间不存在相关时,它们在流水线中是可以重叠起来并行执行的。这种指令序列中存在的潜在并行性称为指令级并行。 (Instruction-Level Parallelism,简记为ILP) 本章研究:如何通过各种可能的技术,获得更多的指令级并行性。           (硬件技术和软件技术) 必须要硬件技术和软件技术互相配合,才能够最大限度地挖掘出程序中存在的指令级并行。 第四章 指令级并行 1.流水线处理器的实际CPI CPI流水线 = CPI理想 + 各类停顿周期数的总和  流水线的理想CPI是流水线的最大流量。  各类停顿包括: 结构相关停顿:是由于两条指令使用同一个功能部件而导致的停顿。 控制相关停顿:是由于指令流的改变(如分支指令)而导致的停顿。 RAW、WAR和WAW停顿:由数据相关造成的。 减少其中的任何一种停顿,都可以有效地减少CPI,从而提高流水线的性能。 4.1 指令级并行的概念 2. 本章要研究的技术以及它们所克服的停顿 4.4 提高理想CPI 多指令流出(超标量和超长指令字) 4.3 所有数据/控制相关停顿 前瞻(Speculation) 4.3 控制相关停顿 动态分支预测 4.2 各种数据相关停顿	 指令动态调度(记分牌和Tomasulo算法) 4.1 数据写后写相关和先读后写相关停顿 寄存器换名 4.1 控制相关停顿 循环展开 4.1 数据先写后读相关停顿 基本流水线调度 章节 主要克服的停顿 技术 4.1 指令级并行的概念 3.几个概念 基本程序块 一段除了入口和出口以外不包含其它分支的线性代码段。 程序平均每6~7条指令就会有一个分支。 循环体中指令之间的并行性称为循环级并行性。 开发循环体中存在的并行性。          最常见、最基本 是指令级并行研究的重点之一。 4.1 指令级并行的概念 最基本的开发循环级并行的技术 指令调度(scheduling)技术 循环展开(loop unrolling)技术 换名(renaming)技术  4.1 指令级并行的概念 4.1.1	循环展开调度的基本方法 1. 指令调度     通过改变指令在程序中的位置,将相关指 令之间的距离加大到不小于指令执行延迟,将 相关指令转化为无关指令。     指令调度是循环展开的技术基础。 2. 编译器在完成这种指令调度时,受限于以下两    个特性:   程序固有的指令级并行性  流水线功能部件的执行延迟 4.1 指令级并行的概念 3. 本章使用的浮点流水线的延迟 0 浮点数据存操作(SD) 浮点数据取操作(LD) 1 浮点计算 浮点数据取操作(LD) 2 浮点数据存操作(SD) 浮点计算 3 另外的浮点计算 浮点计算 延迟时钟周期数 使用结果指令 产生结果指令 4.1 指令级并行的概念 例4.1       对于下面的源代码,转换成DLX汇编语言,在不进行指令调度和进行指令调度两种情况下,分析代码一次循环的执行时间。     for (i=1; i=1000; i++) 	       x[i] = x[i] + s; 4.1 指令级并行的概念 解:(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	 4.1 指令级并行的概念 (3) 程序执行的实际时钟 根据表4-2中给出的的延迟,实际时钟如下: 				      指令流出时钟    Loop:   LD	     F0 , 0(R1)	  1 		         (空转)		  2 		     ADDD   F4 , F0 , F2	  3 		        (空转)		  4 		        (空转)		  5 		        SD	     0(R1) , F4	  6 		     SUBI	     R1 , R1 , #8	  7 		         (空转)		  8 		     BNEZ    R1 , Loop	  9 		        (空转)		  10 每个元素的操作需要10个时钟周期,其中5个是空转周期。 4.1 指令级并行的概念 (4) 指令调度以后,程序的执行情况 SD放在分支指令的分支延迟槽中 对存储器地址偏移量进行调整 				
                您可能关注的文档
最近下载
- 动量守恒定律(一)动量守恒定律(一).ppt VIP
- 黄精趁鲜切制技术规程.docx VIP
- 基于SpringBoot的医院预约挂号系统的设计与实现.docx VIP
- -基于java web的酒店管理系统设计与实现.doc VIP
- 《中药材产地趁鲜切制技术规程 苍术》DB14T 3309-2025.pdf VIP
- 人教版九年级全一册英语单词表 (2025).pdf VIP
- 外墙修缮工程措施方案(3篇).docx VIP
- 《中学思想政治学科课程标准与教材分析》课程教学大纲.docx VIP
- Unit 7 What’s the highest mountain in the world教学设计-教案.docx VIP
- 《高中思想政治》(必修1)课程纲要.doc VIP
 原创力文档
原创力文档 
                        

文档评论(0)