当前位置: 华文问答 > 数码

为什么 CPU 主频很难超过 4GHz?

2015-09-01数码

题主眼光非常独到。为什么CPU没能变得更快?题主是在阐述一个计算机架构里的现象。主流中央处理器的确在05年之后就很少超过4GHz的频率。登纳德定律说单核上晶体管数量每两年能翻一倍,然而05年之后碰到了瓶颈,之后就很少提登纳德定律,只能依靠并行运算来为摩尔定律续命。我们可以看到上图的绿线指示的是主流中央处理器的频率,不但没能上升,近来还有下降的趋势。工程师们天生是要为整个系统做权衡的。而在登纳德定律和摩尔定律都生效的年代,电子工程师不需要权衡,只要做一件事:把晶体管做小。无需权衡,只要做小,那简直是电子工程师的黄金年代。然而五十年过去了,黄金时代已经过去,工程师们必须做权衡。

需要权衡的瓶颈包括是内存读取瓶颈,指令行并行处理瓶颈,和散热瓶颈。而散热瓶颈被认为是最难以跨越的。[1]

先说内存读取。中央处理器和内存是分离的两个区域,之间依靠信道连接,而信道是有带宽的。处理器的晶体管数量每两年翻一倍,然而带宽的增长达不到它的速度,所以内存读写所占的时间逐渐超过处理器计算的时间,削弱了创新的动力。

再说指令行并行处理。CPU主频每翻一倍,只要所有元件都能完成运算,整个系统的运行速度就能上升一倍。然而每个元件和电线都是有物理属性的;电信号传过元件后会有延迟,受元件电阻和电容影响;电信号在电线中也只能以介质中的光速传播,小于3亿米每秒,大约2亿米每秒。4GHz时是每秒40亿下时钟,电信号只能前进6厘米。工业界近20年来为了加快主频,在其他方式都到极限后采用了流水线式设计,把一条指令拆成多个时钟来完成,以此在一条指令完成时间不变的情况下,增加单位时间的吞吐量。上图是我学架构时设计的五级流水线式处理器构架,把一条机械语言拆成取指令,解码指令,处理,写回内存,和写回寄存器五级。而英特尔i7现在的技术把整个指令拆到了二十四级[2],如此细致的拆分令人发指,同时也很难再想象如何再改进。

而温度是最可怕的权衡。超过4GHz后,温度上升造成的性能损失超过了指令行处理加速获得的性能提升。如果说前两个瓶颈还能依靠设计解决,那这个瓶颈就只能靠新材料或是工艺来解决了。而现代计算机所依赖的物理元件,MOSFET,全称金属氧化物半导体场效应管,从登纳德定律出现到05年四十年时间内都没有更好的替代产品。最新出了一批新的场效应管,然而没能在根本上解决散热的问题。