CPU 的本质

CPU 一般被叫做超大规模集成电路,这些电路,实际上都是一个个晶体管组合而成的。CPU 在计算,其实就是让晶体管里面的“开关”不断地去“打开”和“关闭”,来组合完成各种运算和功能。

如何提高性能

要想计算得快,一方面,我们要在 CPU 里,同样的面积里面,多放一些晶体管,也就是增加密度

另一方面,我们要让晶体管“打开”和“关闭”得更快一点,也就是提升主频

性能提升带来的问题

能耗、散热

为什么制程精度越高功率越低、运算速度越快

制成精度越低,晶体管之间的间距就会变大,电信号传输的时间就会变长,运算速度自然就慢了。

CPU 功率公式

$$ \frac{负载电容电压^2开关频率*晶体管数量} {2} $$

制程

同样的面积下,我们想要多放一点晶体管,就要把晶体管造得小一点。这就是平时我们所说的提升“制程”。

从 28nm 到 7nm,相当于晶体管本身变成了原来的 1/4 大小。

降低电压

功耗和电压的平方是成正比的。这意味着电压下降到原来的 1/5,整个功耗会变成原来的 1/25。

事实上,从 5MHz 主频的 8086 到 5GHz 主频的 Intel i9,CPU 的电压已经从 5V 左右下降到了 1V 左右。这也是为什么我们 CPU 的主频提升了 1000 倍,但功耗只增长了 40 倍。

但是有个问题:电压要达到一定的水平才能保证运行时不出错。

摩尔定律消失

写程序不考虑性能,等明年 CPU 性能提升一倍,到时候性能自然不成问题。这种想法已经不可行了。

并行

从奔腾 4 开始,Intel 意识到通过提升主频比较难去实现性能提升,便开始推出 Core Duo 这样的多核 CPU,通过提升“吞吐量”而不是“响应时间”,来达到目的。

限制:有些计算是没有办法并行进行的,需要顺序执行,一步一步来。

硬件不行软件来凑

  1. 加速大概率事件:缓存
  2. 流水线:并行
  3. 预测:小说的下一页预加载