殊途同归的技术发展之路

2020-09-26 11:19袁怡男
微型计算机 2020年15期
关键词:单核制程线程

袁怡男

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

猜你喜欢
单核制程线程
台积电又推先进制程增强版本N7P和N5P
焊接式轴流风叶的制程与工艺装备保障
浅谈linux多线程协作
一种简单的分离、培养及鉴定小鼠外周血单核巨噬细胞方法的建立
单核Ru(Ⅲ)-edta类配合物的合成﹑结构及性质研究
苯并咪唑衍生的单核钴(Ⅱ)和单核镍(Ⅱ)配合物与DNA和蛋白质的结合反应性及细胞毒活性研究
两个单核镍含氮配体配合物的合成、晶体结构及荧光性质
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux线程实现技术研究
三星2011年下半推出20nm级制程DRAM