网站大量收购独家精品文档,联系QQ:2885784924

白中英组成原理第四版课件ch.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

10.4指令级并行机制3、推断执行的实现例2考察下面的一个典型的if-then-else结构:

If(x=0)thenm=m+1elsem=m-1在传统的超标量流水线体系结构中,完成上述判断通常要首先安排一条比较语句,将x与0进行比较。得到比较结果后,再选择执行then分支或else分支。相应的汇编语句大致如下所示:

cmpx,0;比较x和0

jeL1;若相等则转移至标号L1

subm,1;m=m-1

jmpL2;无条件转移至标号L2

L1:addm,1;m=m+l

L2:10.4指令级并行机制例2续而安腾处理机可以通过编译优化消除条件语句中的分支指令,将该结构转化成顺序的推测执行结构:

①cmpeqP1,P2=0,x;//无条件执行:将r4寄存器的值与0比较,若相等则置推断寄存器P1为1,P2为0,否则置推断寄存器P1为0,P2为1②(P1)addm=1,m//若P1为1,则m+1送m

③(P2)addm=-1,m//若P2为1,则m-1送m

从判定流程上,似乎上面的三条语句并没有从逻辑上改变if-then-else结构的执行过程。但如果我们能够把这个例子和安腾体系结构结合起来,还是可以从这个简单的例子中体会到安腾处理机的设计思想。首先,安腾指令系统中的每条指令都能够支持推断执行,所以第二条指令和第三条指令中的条件判断并不需要使用专门的判断指令。虽然后面两条指令是条件执行的,但整体条件判断结构不再需要分支指令。其次,指令中的推断操作的安排是由编译器在编译过程中完成的,不需要处理机在执行指令的非常短的时间内动态安排各条指令的条件执行。最后,每条指令中虽然可以指定推断寄存器,但取指令、指令译码和执行操作并不需要等到推断寄存器的取值确定后再进行。下面可以看一下传统流水线与安腾处理机比较。安腾处理机设计思想10.4指令级并行机制传统流水线与安腾处理机比较10.4指令级并行机制推测技术存储器访问延迟与指令级并行在现代计算机体系结构中,多级存储体系能够有效提高存储系统的性能价格比。但是,在多个功能单元实现并行处理的处理机中,执行指令的速度仍然受到存储器访问速度的制约。现代RISC处理机用专用指令访问内存,取数指令往往成为影响处理机性能的瓶颈。见下图看一下取数指令对处理机并行执行指令的影响。取数指令对处理机并行执行指令的影响给出的实例显示了取数指令对处理机并行执行指令的影响。现利用具有四个并行执行单元的超标量处理机完成如下的指令序列:

①load(a)//从内存单元取数至寄存器a

②k=k+1

③i=i-1

④n=n+3

⑤q=q+a

假设所有的算术运算指令可以在一个时钟周期中完成,而访存指令需要三个时钟周期。前四条指令可以分别安排在四个执行单元中并行执行。如果load指令所要访问的内存单元并没有被调入cache,那么load指令直接访问内存需要三个时钟周期才能执行完毕。而第五条指令依赖于load指令取得的操作数,所以在执行第五条指令之前需要等待两个时钟周期,从而所有的执行单元都必须闲置两个时钟周期,这就大大降低了执行效率。解决处理机访存延迟的办法就是将访存操作尽可能提前执行。在安腾处理机中,控制推测技术用于解决上述与取数指令有关的控制相关问题。0102控制推测10.4指令级并行机制数据推测01控制推测技术能够解决分支和取数操作中的控制相关,但在指令优化过程中还可能存在数据相关。0210.4指令级并行机制【例3】考察下面包含分支与取数指令的程序段:if(r3=0)

thenr2=r2+1elser1=[r3]

其功能是判断指针寄存器r3的值是否为零:若是则将寄存器r2加1;否则将r3指向的内存单元的内容加载到寄存器r1中。其原始汇编代码如下:

①cmp.eqP1,P2=0,r3;//无条件执行:将r3寄存器的值与0比较,若相等则置推断寄存器P1为1,P2为0,否则置推断寄存器P1为0,P2为1

②(P1)addr2=1,r2//若P1为1,则r2+1送r2③(P2)ld8r1=[r3]//若P2为1,则以r3的内容为地址访存.,8字节操作数被加载至寄存器r1.为了减少访存延迟,希望将第3条取数指令提前至第1条指令的前面,或是更早的位置。但第3条指令是推断执行的,其实际结果只有在P2为真的情况下才会被真正存储。如果第3条指令固执行错误而引起异常处理,但最后发现该取数指令实际上并不需要执行,那么将浪费大量时间。

安腾体系结构采用的控制推测技

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档