2017年我参加过军民融合技术装备博览会——会上听到一个挺有趣的演讲。当时国内的某信息安全企业在空间安全论坛上回顾了早年的电子科技发展方式是“自上而下”的。
所谓的“自上而下”,比如说最早民用领域的无线通信技术——像是大哥大——实际衍生自战场上军事应用的通信技术。也不止于无线通信技术,在电子科技发展的大半个世纪里,大量技术都是首先受到战争军事应用驱动,后续技术才“下放”到民用领域。
但近10年电子科技的发展已经不再遵循这套逻辑,而逐渐朝着“自下而上”的路子“逆流而上”。举两个例子,前些年美军就直接对Xbox手柄做二次开发,应用于不止于军事仿真、也包括实战武器的操控;像《战地(Battlefield)》这种第一人称射击类游戏,对某些国家地区的街道的图形渲染堪称神还原——配合物理引擎,做二次开发就能用作军事仿真和演练,原本只是个3D游戏,其融合多层级民用市场参与者的技术含量甚至是部分国家地区举国之力做单独的军事仿真系统难以达成的;
还有谷歌这类企业,自Android系统智能手机普及以来,完全有能力基于对掌握的全球各地Wi-Fi热点数据,来做细致的布局画像——无论这样的民用企业是否真的这么做,这些数据对于军用而言都具备了相当的价值......咱不评判商业企业是否与政府或军队有关联的问题,这些例子都能够明确表征当代技术自下而上的逆流路径,和早年的技术发展方式是大不相同的。
这种“自上而下”或“自下而上”的发展路径探讨,对于闲话当代某些技术的发展也挺有启示的,即便可能并不具有通用性。似乎以本世纪20年代为界限,大算力、低功耗这两对矛盾体,也正在进行着“自上而下”与“自下而上”的关系转变——如果将“大算力”的“上”位,和“低功耗”的“下”位作为探讨基础。
* 这里的探讨仅限在CPU、GPU之类的芯片大件上,涵盖移动、PC、数据中心、HPC/超算等对算力都有对应需求的应用
苹果芯片当年的“自上而下”
个人感觉,在移动时代将“自上而下”之路的芯片设计思路,推行至巅峰的应该是2004年苹果PowerPC G5个人电脑,以及2006年的索尼PS3家用游戏机。
在这个时间节点之前,有三类代表各自起家之本的企业或类型。一类以IBM为代表,整天在搞各种大件:又是超算,又是航空航天,又是云计算的;二类是以Intel为代表的,自“微处理器”“微型计算机”和PC个人计算机起家的;三类则是Arm这种真正以低功耗起家的企业和市场。从算力来看1-3越来越低,从功耗来看1-3也越来越低。
以智能手机为代表的移动时代尚未正式来临之际,PC相比于mainframe、服务器之类,还属于“下”位。IBM在还有蓝色巨人之称时,甚至都瞧不上个人计算机市场。
至于为什么说PowerPC G5(Mac)和PS3(Cell)有代表性,主要是因为这两者本质上都算IBM这类“上”位企业的思路“下”放;而且从市场表现来看都失败得相当彻底。
PowerPC是苹果当年个人电脑用的一种指令集,早于Intel x86的Mac之前,最早是苹果、IBM、摩托罗拉合作(AIM联盟)的产物。PowerPC在诞生之初其实就是IBM POWER指令集衍生而来。而POWER原本是IBM用来做服务器、工作站和超算的。
“下放”发展至巅峰,是在摩托罗拉承接PowerPC G5项目失败之后,苹果2004年发布的Mac设备所用的PowerPC G5,直接就属于IBM POWER4的下放。只不过PowerPC G5只用到了单核,毕竟适配场景还是有差别的。
PowerPC G5的问世直接让那一代苹果Mac的功耗与发热爆表,甚至在市面上还出现了原装的水冷款Power Mac G5;至于PowerBook这种笔记本,就压根儿不必再考虑用上PowerPC G5这样的神器了。而PowerPC G5的失败,基本也标志着AIM联盟的瓦解;并成为苹果与Intel开启合作的契机。
马后炮地说,PowerPC G5称得上“下放”思路,或自上而下芯片设计思路的正式破产。
有一种超算叫PS3游戏机
或许如此武断和宏观地谈“自上而下”思路“破产”是有失偏颇的。毕竟随着时代和技术的发展,不少技术都有趋同和相互借鉴的行进路线。比如即便是低功耗处理器,实则也在不断引入原属高算力芯片的技术,什么乱序执行、分支预测,现在都能在手机处理器上看到;而后者亦在发展之路上,做各种功耗与能效上的补足。
就微观层面,或许各种细节还有相当的商榷余地,不过起码就大方向和上述一二三类企业的发展动向,大概能有这番总括。
比较凑巧的是2006年问世的索尼PlayStation 3游戏机,其中的Cell处理器也是由三家企业联盟共同开发的,分别是索尼、东芝、IBM(STI联盟)。无论是用现在,还是当时的眼光来看Cell处理器,其内部架构都显得非常奇特。
据说IBM在Cell架构上花了相当多的精力,当然主要都是为了满足索尼这个客户——尤其是久多良木健这位十分任性的索尼电脑娱乐(SCE)总裁。未来有机会我们可以着重聊聊Cell处理器,这是个看起来相当有意思的设计,并不能用单纯的“CPU”来形容,颇有点CPU与GPU融合的意思。
Cell的其中一部分设计,还在于当时看来非常超前的原生多芯片互联。当年久多良木健期望采用Cell芯片的不同家用设备互联就能达成极为强大的算力。所以我们后来还看到大量PS3游戏机组成的超算系统,比如2010年美国空军研究实验室用1760台PS3搞了台500 TFLOPS算力的超算。
要将Cell在PS3游戏机上的失败(索尼因此血亏几十亿美元),完全归结于“下放”思路可能有点牵强。从具体问题层面来看,PS3于索尼的失败原因很复杂,时代的局限性是其一,不过主要在于Cell本身的内部架构奇特,不仅未能达成索尼最初的“宏愿”和IBM许下的诺言,而且还在于对游戏开发者而言极端得不友好——还不能向前兼容。但IBM还真得在这件事情上负不小的责任。
在“家用游戏机”和“个人电脑”这两件事情上,无论索尼还是苹果,最终都乖乖转向了x86架构。抽象一下这其中原因,大概都与以Intel为代表的二类企业,发家之初就不存在从“上”位的HPC,至“下”位的个人计算机“下放”之说,所以能获得这般成功。
“自下而上”的趋势发生
不过可能“自上而下”思路的失败,很大程度并不在于芯片指令集或架构的失败,而与成本、开发生态有着莫大关联。与此同时,从时代趋势来看,也与半导体行业的分工细化相关:即在EDA、IP、芯片设计、制造与封测一步步分开的历史洪流下,“上”位者的历史地位和技术特性,都正被消磨殆尽。
比如x86能够在PC与家用游戏机市场上赢得胜利,关键并不在于指令集本身,以及微架构有多么先进,而在于芯片出货量巨大所致的成本优势,以及市场巨大带来的生态优势。文首提到从民用→军用的这种自下而上的技术逆流,本身也是由成本优势带来的。所以Power体系的昂贵是有原因的。
于是期间还发生了服务器、HPC市场大举向x86迁移的故事——这其实本身就已经算是“自下而上”发展路径的某种典型代表了。
不过当移动时代发展起来,以Intel为代表的二类企业,实则已经由“下”位者角色悄然转为“上”位。而更具代表性的“自下而上”当代故事,大概在于以Arm为代表的三类企业,正在向一类和二类市场发起冲击。或许连这家原本主打低功耗设计的公司本身也没有想到,自己现在能在大算力市场如此吃香。想当年Intel也不大看得上移动市场——犹如历史重演。
或许绝大部分同学了解的Arm,还是手机或者嵌入式设备里的Arm,但有三个挺有说服力的例子,是能说明Arm已经不再只是那个低功耗的Arm了。
英伟达Grace Superchip
其一是英伟达去年发布的Grace CPU——这是一颗完全面向AI HPC高性能计算的处理器,基于Arm Neoverse V2架构,而且是配合Hopper这种超大算力的GPU,且在部分超算设备上发光发热的;其二是亚马逊自己做的数据中心处理器Graviton也是基于Arm Neoverse;其三,富士通2019年发布的A64FX超算芯片是基于Arm——连续3年成为TOP500超算性能第一。
不过这些都不是最紧要的。讨论其中细节会很容易发现,从核心架构层面来看,像亚马逊Graviton2芯片采用的Arm Neoverse N1,本质上属于Arm Cortex-A76的改款——没错,就是手机处理器上那个A76(高通骁龙855);而Graviton3可能基于的Neoverse V1则与Cortex-X1相似。
当然Neoverse与Cortex必然有差别,比如SVE支持、mesh互联等。不过这种“自下而上”,原本是手机里的CPU核心,都用到了数据中心处理器里面,或许在从前是很多人完全不能想象的。事实上直到2015年前后的不少研究paper,都还将大算力和低功耗核心(core)做了泾渭分明的区隔。当然这和Arm Cortex微架构本身的发展也有很大的关系。
这个时代,手机处理器能用在数据中心
去年在知乎上看到个问题,“苹果为什么不把M1芯片用在iPhone上”?这个问题本身是有问题的。实际上从核心层面来看,用在Mac电脑上的苹果M1,和用在iPhone上的A14芯片,这两者的CPU/GPU核心架构几乎就是一样的;只不过从芯片层面来看,M1和A14的规模不同,如核心数、频率、带宽有差别。换句话说,M1芯片已经以另外一种姿态用在了iPhone上。
这个问题倒过来看,应该是原本用于iPhone手机的处理器核心,现在直接用在了MacBook笔记本上,而且在核心微架构保持不变的情况下,直接用到了M1 Ultra这样的大算力工作站处理器上。这是典型的三类企业对二类市场的“染指”,而且现在看来还相当成功。
用个不恰当的说法,单纯从核心层面来看,单线程性能全力发挥时,苹果A14的大核心(Firestorm)可以达成比亚马逊Grativon2服务器处理器更高的性能——一个是手机处理器,一个是数据中心处理器,是不是还挺不可思议的?
今年7月份参加Imagination的技术研讨会,Imagination提到GPU从手机覆盖到数据中心,基于相同的GPU基础架构和单元,藉由更为去耦合的方案,通过“复制粘贴”的方式,比如手机上复制粘贴4份,在电脑上复制粘贴20份,在服务器上复制粘贴N份,则达成算力的弹性扩展。Imagination过去10年的主场都在移动设备上,手机上的GPU这会儿也能用在数据中心了——其实也不只是Imagination,不少GPU、AI芯片企业也都有这样的规划思路。
这便是“自下而上”发展路径的典型代表。像Imagination这样主打TBDR(tile-based deferred rendering)架构的GPU IP,“这种图形渲染管线应用于高性能市场是否真的合理”成为一个问题时,苹果Mac Studio的推出就已经身体力行地在解释,TBDR架构用在高性能图形渲染上一点毛病都没有,还是突破了不少人的认知的。
要深究这种“自下而上”的发展趋势,原因大概是多样的。除了前面已经总结的成本与生态要素,或许和设计与制造分离、定制灵活性、摩尔定律的停滞、系统企业倾向于自己造芯片,甚至地缘政治都有关系。这种时代趋势显得很有趣。马后炮地说,这是否是Intel当年推手机处理器未能获得成功的原因,毕竟那是一种“自上而下”。
- andrei frumusanu级别的编辑