体系结构复习资料(1-2章).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机体系结构复习资料;计算机体系结构相关公式;计算机体系结构相关公式;第一章 计算机设计基本原理;集成电路成本;可靠性;Amdahl定律;处理器性能公式;例题;第二章指令级并行及其开发;;;;;;;;;;;;;;MIPS五段流水线;;;;;;;;;;;;;;1. 流水线的性能受限于流水线中指令之间的相关性: 结构相关 数据相关(写后读RAW,读后写WAR,写后写WAW) 控制相关 CPI流水线= CPI理想+停顿结构相关+停顿写后读+停顿读后写 +停顿写后写+停顿控制相关 本章研究的内容:如何消除这些停顿,使得进入流水线的指令序列运行时能有更好的并行性;2. 本章所研究的提高指令级并行的技术 (1)循环展开: 控制相关停顿 (2)基本流水线调度: 数据写后读停顿 (3)指令动态调度: 各种数据相关停顿 (4)分支预测: 控制相关停顿 (5)推断: 所有数据/控制相关停顿 (6)多指令流出: 提高理想CPI 其他技术: 如向量计算机(不???本章讨论) 研究范围: 一个基本程序块,如一个循环体;4.1.1 循环展开调度的基本方法 提高指令级并行的最基本方法: (1)指令调度 (2)循环展开 一般由编译器来完成。 指令调度:通过改变指令在程序中的位置,将相关指令 之间的距离加大到不小于指令执行延迟的时 钟数,使相关指令成为实际上的无关指令。;操作意义分析: 每次循环一共使用了五个操作 三个操作为实际操作( LD, ADDD, SD ) 两个操作为循环控制( SUBI, BENZ ) 事实上,循环控制所需要的指令数一般是恒定的,不会因每次循环所含的操作个数的多少而变化,但它所花费的时间显然与循环次数有关---通过增加每次循环完成的操作来降低循环次数,从而降低循环控制所花费的时间。 循环展开:通过多次复制循环体(并改变循环结束条件)来减少循环控制对性能的影响(循环控制指令以及控制相关引起的停顿)。 ;循环展开+指令调度要注意这几方面问题: (1)正确性(主要是循环控制和操作数偏移量修改) (2)有效性(主要是不同循环次之间的无关性) (3)使用不同的寄存器(避免冲突) (4)尽可能减少循环控制中的测试和分支 (5)注意对存储器数据的相关性分析 (6)注意新的相关性 关键:要分析清指令之间存在怎样的相关性以及在这种相关性下指令应该如何被修改和调度。;4.1.2 相关性 相关性指的是一条指令的运行如何依赖于另一条指令的运行。 研究相关性,不但可作为是否可指令调度的依据,而且可了解程序固有的并行性以及可以获得的并行性。 相关 意味指令的运行、结果产生的顺序有要求, 意味指令的并行运行和改变顺序可能会产生问题, 不意味指令的流水线运行一定会产生停顿。 ;相关类型 数据相关(data dependence) 名相关(name dependence) 控制相关(control dependence) 1. 数据相关 对指令i和j,如果 (1)指令j使用指令i产生的结果,或 (2)指令j与指令k数据相关,指令k与指令i数据相 关(传递性) ;分析数据相关的主要工作: (1)确定指令的相关性 (2)确定数据的计算顺序 (3)确定最大并行性 数据相关是程序相关性中最本质的相关性之一。 2.名相关 两条指令使用相同的寄存器或内存单元(称为名),但它们之间没有数据流。;指令j和指令i之间的名相关有以下两种: (1)反相关: 指令i先执行,指令j写的名是指令i读 的名(读后写相关)。 (2)输出相关:指令i和指令j写的是同一个寄存器或内 存单元(写后写相关)。 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 ......;名相关不能改变指令顺序,但由于没有数据流,但可以通过改变操作数名来消除名相关,称为重命名(renaming)技术: LOOP: LD F0,0(R1) ADDD F4,F0,F2 SD 0(R1),F4 LD F8,-8(R1) ADDD F12,F8,F2 SD -8(R1),F12 ......;3. 控制相关 分支指令引起的相关,如果一条指令是否执行的情况依赖于一条分支指

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档