殊途同归的技术发展之路

  • 来源:微型计算机
  • 关键字:IT行业,频率,历史
  • 发布时间:2020-09-29 16:32

  對于IT行业来说,8月初是一年里相对平淡的日子。这时候正适合回头看看,研究一下技术发展的轨迹。本期,我就来聊聊这些年CPU的发展情况。大家知道,现在CPU主要是x86和ARM两大架构各领风骚,其架构变化之路既有相同之处,也有各自灵光乍现之时。

  早期CPU的发展有很多相同之处。比如:开始大家都是单核,虽然各家的内部架构也有差异,但主要的竞争通常都会归于频率低向频率高的提升。随后,一方面,制程逐渐成为频率提升的瓶颈,另一方面,CPU内部架构设计思路的不同带来的性能差别也很大。比如,在AMD很困难的那10年里:一方面自家工厂的生产工艺不如对手,另一方面是创新的想法带来了激进的CPU内部架构,浮点性能上不去,频率也上不去。而英特尔的酷睿架构则称霸了10年PC市场。

  再向后发展,频率和功耗的平衡往往成为难题。早期在CPU内部架构通常每8~10年才会有大变化的前提下,日益高涨的性能需求对于单核频率的提升要求会不断提高,但制程的进步速度没那么快,强行提升频率必然带来高功耗,频率终归是有瓶颈的。在PC的历史上,这样的瓶颈不止一次,比如1GHz、2GHz、3GHz、4GHz和5GHz都曾经是数年难以突破的桎梏。在手机端,历史上的情况也差不多,2GHz附近曾经是性能与功耗控制的平衡点,哪怕是现在7nm制程的高通骁龙865+,单核3.1GHz左右基本也是性能与功耗平衡的极限了。

  纵向提升性能遇到壁垒,要想进一步提升综合性能,就只能走并行路线。坦率地说,在很长一段时间里,PC级别的软件对多线程的需求并不高,但CPU厂商要战胜竞争对手,总得有新卖点,所以支持多线程就成了必然选择。早期PC的x86架构核心因为内部架构中有两套寄存器,所以开始选择用两套寄存器来存储两个线程指令,当一个执行线程因等待数据处于停顿时,立即执行另一个线程,避免处理器计算资源闲置,提升效率,这就是“超线程”技术。不过通过减少闲置时间来实现的多线程毕竟性能提升不够高,所以后来更直接的选择就是双核、三核。再往后,核心数量越来越多,大约是以2的倍数增长,而类似“超线程”的技术也没浪费,高端型号就加上它。虽然也闹过所谓“真假多核”的争吵,但AMD和英特尔其实一直在互相学习,谁的选择更好,另一个的选择终归也会靠过去。

  核心数量越多,最远两个核心之间在数据同步时的性能损耗就越大,因为需要同步数据时的延迟越来越高,所以多核心的内部架构设计逐渐成了难题。双核的时候,直接用总线连上,然后再协调一下就好;四核、八核的时候,交叉连上,再MCM封装。但更多核心的时候,当时领先的英特尔就选择了环状总线;再多,用两个环状总线,用CrossBar连接两个环......还要更多核心,上Mesh结构,最大核心数量扩展到28个!而AMD一直通过MCM多芯片封装技术来实现多核处理器,在Zen2架构时更灵机一动:4个核心组成一个CCX,每两个CCX再组成一个CCD,然后每个CCD都连上中间的I/O模块,大大降低延时!不但把一个封装里的最大核心数提升到64颗,在数量上超过了英特尔的56个,较之前Zen架构时32颗核心的性能也大幅提升!

  另一方面,ARM架构主要用在手机上,所以更关心的是功耗控制。更多的核心就意味着更多的耗电,你看苹果之前就很不喜欢加核心。于是ARM阵营的“big.LITTLE”组合创意横空出世:区分大小核心,让性能需求高的任务用大核心,性能需求低的任务用小核心。ARM架构的CPU生产商还进一步区分了“大、中、小”三级核心,进一步提升效率。甚至连英特尔也看到了这种架构的好处,在Lakefield混合处理器上就选择了“1个酷睿+4个凌动”的组合。这对于需要续航能力的超轻薄笔记本来说应该是个很好的解决方案,后续我们很快也会有实际测试。

  综合来看,在CPU的发展前行之路上,除了制程是一个硬桎梏以外,竞争者之间灵光一现的创新往往就会带来领先,但各家公司的选择也很灵活,如果证明是好的思路,很快就会去学习,殊途同归。所以长期来看,终归是各领风骚那么几年。

  袁怡男

关注读览天下微信, 100万篇深度好文, 等你来看……