[我要考试]计算机体系结构_威斯康星_博士资格考试_Fall2000_Q2_分支预测

原理说明介绍

1、《学习笔记——分支预测入门》

2、《中科大_高性能处理器体系结构_L5_分支预测》



Branches

Branches are one of thebiggest, if not the biggest, performance impediments in modern processors.

(a) How do branchinstructions degrade the performance of a processor?

(b) Describe two architecturalsolutions to overcome the performance impediments of branch instructions.Discuss their pros and cons.

(c) Describe two microarchitecturalsolutions to overcome the performance impediments of branch instructions.Discuss their pros and cons.

 

Answer:

分支是现代处理器设计中最关键的环节,主要是由于现代处理器的流水级比较长,指令窗口也比较大。使得在分支指令出现预测错误后,会导致大量的后续工作暂停,性能损失很大。在2013CES展会上,高通的芯片在性能提升方便,就着重提出了“Krait 300的改进主要集中在三个方面:改进分支预测模块、添加乱序执行引擎”(http://tech.163.com/digi/13/0112/05/8L0E79IM001664LU_4.html)。

回答本道题目:

Q1:

分支指令对处理器的影响表现在:

o       由于存在分支指令,使得分支指令后续的指令执行处在“推测”状态,当预测错误,需要取消后续的指令,出现性能损失;

o       分支指令在进行分支预测时,需要进行各种查表操作,而这会影响时钟周期的设计;

o       现在都是多发射的流水线设计,使得预测分支指令的机会增加,平均每2个周期就要遇到一条分支指令,使得对性能影响很大;

o       分支指令使得编译器在进行指令调度时,只能进行静态的分支预测,但这效率并不高,从而无法让编译器进行充分的编译指令调度;

当然,更进一步,如果分支指令使得跳转比较大,则可能出现cache失效、TLB失效等,这也会影响处理器的性能。

Q2:

从体系结构角度看,解决分支的方法包括:

o       编译器调度——编译器可以利用分支指令槽,将指令调度到其中执行运算;

n        优点:这个方法是几乎全部适用的,因为这个不会有变化;

n        缺点:暂时没有;

o       编译器预测——即进行静态的预测分支指令结果;

n        优点:能在编译阶段就能得到分支结果;

n        缺点:预测准确度不高;

o       阻塞——就不让分支继续执行,而是等待最终分支的执行结果;

n        优点:功耗小啊,降低无谓的执行;

n        缺点:性能不高;

Q3:

从微体系结构角度看,有如下方法:

o       使用动态分支预测方法

n        优点:预测准确率较高;

n        缺点:有性能损失,系统复杂度变大,对时钟周期有影响;

o       利用硬件的动态指令展开

n        优点:简洁

n        缺点:需要更多运行时信息;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值