处理器对程序性能的影响

处理器可以进行指令级的并行,及多条指令同时进行运算,且是乱序的,即指令执行的顺序不一定与机器代码的顺序一致。主要由指令控制单元与执行单元构成,前者是对指令进行译码,并将指令传到执行单元与按顺序通过队列传到退役单元,在执行单元,指令的运算式乱序的,可同时处理大量指令,但不同数据间的数据相关限制了执行顺序,这种限制形成了关键路径。我们可以根据这个特征来提高程序的表现。
循环展开,可以在每次循环中,增加迭代的数量。
提高并行性也是提高程序性能的较好途径,它通过将运算分解位两个互不影响的运算组合从而减少主要路径上的运算。重新结合交换也是通过减少主要路径上的运算来提高程序性能,但这两个方法都要考虑到浮点运算并不支持结合律。
另外还存在一些限制因素,比如寄存器溢出,并行计算所需寄存器超出处理器所能提供的时候,会将数据保存到内存中,大大降低了程序性能。分支预测错误及其惩罚,虽然对有规律的模式与长期的趋势具有分辨能力,但对与分支不具规律时处理器使用投机猜测前往哪个分支,若猜测错误就会清楚所有已经计算的数据,重新在需求的分支上执行指令,这对处理器性能影响较大,所以最好用条件控制转移,可以提高程序表现。
存储器也有数据相关,load指令会读取store中的表项,若有与load指令相匹配的地址,则load指令需等store指令完成才能进行,这会使程序性能降低。所以要考虑到储存的数据相关

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值