新浪微博 Github

为什么CPU要从单核发展到多核?

前言

这里首先直接给出结论:CPU从单核发展到多核的原因是如果维持单核,则为了提高CPU性能只能不断提高时钟频率,从而会导致CPU功耗急速上升,导致机箱过热,来不及散热。

历史

2004年,Intel CEO 贝瑞特曾为奔腾4处理器的时钟频率无法突破4GHZ而下跪道歉,并承认“兆赫神话”是错误的,即时钟频率并不是CPU性能的全部。

 

CPU性能公式

CPU的性能是每秒执行的指令数。公式如下:

CPU性能 = 时钟频率 × IPC

 其中:

  • 时钟频率=1/时钟周期,时钟频率为每秒执行的时钟周期数,单位了Hz
  • 时钟周期是计算机中最小的工作单位,为一个振荡需要的秒数
  • IPC(Instruction Per Cycle): 一个时钟周期完成的指令数,单位为"指令/时钟周期"

从中我们可以看出:

  • 主频并不是CPU性能的全部,我们还能够通过提高IPC来提高CPU性能,比如流水线、超标量等技术就是提高IPC的典型技术。
  • 两个不同厂商的CPU不能仅通过比较时钟频率来决定性能好坏,因为不同厂商CPU的架构不同,导致IPC不同。

CPU功耗

首先给出已知条件:

CPU功耗正比于"电流 × 电压 × 电压 × 主频"

主频正比于"电压"

IPC正比于"电流"

我们可以看出:

CPU功耗正比于 "主频的三次方"

CPU功耗正比于 "IPC"

因此:

  • 增加主频会以三次方的速度增加功耗,因此这就证明了只提高主频并不是个好主意。
  • 增加IPC只会以线性的速度增加功耗。
  • 如果我们增加一倍IPC,减少一倍时钟频率,则根据CPU性能公式得:CPU性能不变,但CPU功耗减少了。

下图为一个笑话,即主板太热都可以在上面煮鸡蛋。

为什么多核是必然的发展趋势?

原因有两点:

  1. 根据Moore定律,集成电路上可容纳的晶体管数量每18个月翻一番,因此CPU上的晶体管数量会越来越多。
  2. 多核能够使得在减少时钟频率的同时增加性能(多核能增加IPC),但事实上目前程序员写的软件几乎都不是针对多核环境写的。

目前,世界上最快的计算机是中国的"天河2号",CPU核数为3120000,根据沙行勉教授的观点,这种计算机一般只是为了争排名,根本不会实际使用,因为功耗太大。

虽然多核CPU是发展趋势,但是程序员们的程序还是依旧还是老样子,因此并行计算的学习是解决这个问题的方法。

参考文献

[1] http://tech.sina.com.cn/roll/2007-06-04/1054327912.shtml

[2] http://en.wikipedia.org/wiki/Clock_speed

[3] http://en.wikipedia.org/wiki/Instructions_Per_Cycle

posted @ 2014-05-31 09:41  xiazdong  阅读(4903)  评论(1编辑  收藏  举报