计算机组成原理(四)

穿越功耗墙,从哪些方面提升“性能”?

功耗:CPU 的“人体极限”

  • CPU 一般都被叫作超大规模集成电路(Very-Large-Scale Integration,VLSI)。
    • 这些电路,实际上都是一个个晶体管组合而成的。
    • CPU 在计算,其实就是让晶体管里面的“开关”不断地去“打开”和“关闭”,来组合完成各种运算和功能。
    • 想要计算得快,一方面,我们要在 CPU 里,同样的面积里面,多放一些晶体管,也就是增加密度。
    • 另一方面,我们要让晶体管“打开”和“关闭”得更快一点,也就是提升主频。
    • 而这两者,都会增加功耗,带来耗电和散热的问题。
  • 在 CPU 里面,能够放下的晶体管数量和晶体管的“开关”频率也都是有限的。
    • 一个 CPU 的功率,可以用这样一个公式来表示:功耗 ~= 1/2 ×负载电容×电压的平方×开关频率×晶体管数量
    • 那么,为了要提升性能,我们需要不断地增加晶体管数量。
    • 同样的面积下,我们想要多放一点晶体管,就要把晶体管造得小一点。
    • 这个就是平时我们所说的提升“制程”。
    • 但是,功耗增加太多,就会导致 CPU 散热跟不上,这时,我们就需要降低电压。
    • 这里有一点非常关键,在整个功耗的公式里面,功耗和电压的平方是成正比的。

并行优化:阿姆达尔定律

  • 阿姆达尔定律(Amdahl’s Law):
    • 这个定律说的就是,对于一个程序进行优化之后,处理器并行运算之后效率提升的情况。
    • 优化后的执行时间 = 受优化影响的执行时间/加速倍数+不受影响的执行时间。
  • 阿姆达尔定律(Amdahl’s Law)的前提:
    • 第一,需要进行的计算,本身可以分解成几个可以并行的任务。
    • 第二,需要能够分解好问题,并确保几个人的结果能够汇总到一起。
    • 第三,在“汇总”这个阶段,是没有办法并行进行的,还是得顺序执行,一步一步来。

原则性的性能提升方法

  • 加速大概率事件。
    • 最典型的就是,过去几年流行的深度学习,整个计算过程中,99% 都是向量和矩阵计算,通过用 GPU 替代 CPU,大幅度提升了深度学习的模型训练过程。
  • 通过流水线提高性能。
    • 我们把 CPU 指令执行的过程进行拆分,细化运行,也是现代 CPU 在主频没有办法提升那么多的情况下,性能仍然可以得到提升的重要原因之一。
  • 通过预测提高性能。
    • 通过预先猜测下一步该干什么,而不是等上一步运行的结果,提前进行运算,也是让程序跑得更快一点的办法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值