经过农企的疯狂堆核,这几年CPU的核心仿佛遍地开花一样,比如英特尔新推出的I9系列,10核起步,最高36核,那么多核心的确能提升性能吗?现在性能过剩的情况下,多核CPU之后的道路、CPU的走向是什么?
多核的概念,其实很早就应用在Dsp芯片组中,所以多核并不是CPU技术高明的代表。核心数也代表不了CPU的能力,而且核心数更绝不是CPU的发展方向。
无论挤牙膏的英特尔也好,还是农企著称的AMD也好,不管到了哪一代,多核都只是一个解决方案——也就是说,可能未来很长一段时期,这些U厂,都会采用这种多核模式。
不过今后的多核,可能不会和当前的多核模式一样,每个核心的分工会更加细化,从big.little的出现就可见一斑。
对于多核体系,关注更多的是NoC,属于芯片设计/算法的范畴,该领域会不断优化核与核之间的通信,通过异步的高速通信链接各个处理单元。因此,communication及netwoer领域正在向芯片尺度进一步入侵,学好微机理论对于各个方向都十分重要。
多个核心应用在CPU中,其实是在技术和晶片,最接近当前物理的极限下、功耗/散热/延迟/设计复杂度/响应/体验等问题遇到瓶颈时,为了满足摩尔定律的无奈之举。
而摩尔定律本身也只是一个经验公式,在摩尔提出以后,业界为了满足这个共识而不断压榨,以符合摩尔定律。
而当特征尺寸不断缩小,以至于半导体物理基本假设失效,现有科技无法再有效地缩小晶体管尺寸,不得已才扩大芯片本身的数目。
CPU 不会消失,只是独立售卖 CPU 芯片的情况会逐渐减少。于是会有 Intel 和 AMD 的卖 CPU 送 GPU,高通的卖基带送 CPU,老黄的卖 GPU 送 CPU,TI 的卖 DSP 送 CPU。
CPU 的设计能力,特别是设计大规模量产 CPU 的能力仍然掌握在少数公司手里,即 Intel, ARM 等。而国内最近兴起的各种 SoC (海思,瑞星微)不过是集成 ARM 提供的 IP 而已,与设计 CPU 没有任何关系。
那么 CPU 的发展趋势是什么呢?我的答案是异构计算。
什么是异构计算?异构计算类似于当前的 SoC,即在同一块芯片上集成各种专有处理单元,可以是通用的标量、向量计算单元,也可以是专用电路,DSP,甚至是 FPGA。那么异构和现在的 SoC 又有什么区别呢?主要区别在于 1)统一寻址,芯片上的所有部件共享同一地址空间,并实现完全的缓存一致性(Full Coherence);2)NoC,片上网络,芯片上所有模块按照标准的协议进行通信,由专门的部件实现路由,类似于常见的网络拓扑。3)更多的专用 IP,也就是更多的专用部件,可以是处理图像的,可以是处理文字的,甚至是用来做 Deep Learning 的。