北京时间11月11日凌晨2点,苹果举行了线上新品发布会,亮相的MacBookAir和13.3英寸MacBookPro的电脑,搭载了苹果自研的ARM架构M1芯片,至此苹果正式开启MacOS生态从X86架构向ARM架构转换旅程,整个苹果生态将更为封闭。
众所周知,不同架构平台的生态大转移是不折不扣的冒险,在IT发展史上,不乏架构转换案例,但鲜有成功者,从IBM到微软,无一不扑倒在地。掐指算来,苹果这次架构平台搬家,已经是第四次了,它为何没有步IBM、微软后尘?
架构平台搬家,搬乱了多少人家
不同架构平台之间的转换(搬家),在IT史上不算稀罕事。除苹果外,还有DEC从VAX转Alpha,惠普(HP)从PA-RISC转IA-64(64位指令集),英特尔从x86转IA-64,SGI从MIPS转IA-64,IBM从x86/Linux搬到Power系统(PowerVMLx86)。
其中,IBM的动静较大,不仅让x86/Linux应用程序搬到Power系统(PowerVMLx86)见下图,还曾传出打算推“eCLipz”计划,将诞生于1964年的S/360大型主机家族全数转换到Power平台。
考虑到IBM的平台搬家并不算成功,“eCLipz”计划落地的话,不知全球有多少家银行会后背汗流成河。幸亏,这只是传说而已,IBM并没有所谓的“eCLipz”计划。虽然市场虚惊一场,但也足见平台转换的风险与成本之高。
在平台搬家的队伍中,绕不开微软。在2012年Windows8发行版之前,微软就开始了从X86向ARM平台转换的工作,还推出了专为ARM硬件设计的WindowsRT操作系统,除搭载在微软的亲儿子SurfaceRT上外,还授权给华硕、戴尔、三星和联想等传统电脑制造商,以换取进入平板电脑市场的门票。
但现在,市场上已经听不到WindowsRT的声响。不过,微软仍然选择屡败屡战,推出ARM版Windows10,同时找来ARM硬件生态的强势玩家高通公司做CP,定制SQ1处理器,搭载到自家的SurfaceProX平板电脑中。
但到目前为止,微软的X86转ARM平台的动作在市场上仍没有掀起什么水花。前面提到的DEC、SGI、IBM等公司,在平台搬家上也都无一例外失败了。
水陆两用汽车难成功
平台搬家(架构转换)失败的原因多种多样,包括转译效率低、生态建设失败,以及市场定位模糊。
微软几乎就把上面3个错误全犯了一遍。最初,微软的想法不错,强调整合ARM架构WindowsRT系统、x86架构的Windows8系统、手机操作系统WindowsPhone8的整合,打通手机、平板电脑到桌面电脑的联系(正是苹果公司今天在干的事情),因此采用共用系统内核策略,操作系统的API接口也高度一致,使Windows8的开发者,只需要较少的改动或者甚至不需要明显的改动,就可以把Windows8上的基于ModernUI的软件,比较方便地移植到WindowsRT上来。
但系统内核通用带来一大弊端,使得WindowsRT更像是Windows8的精简版,完美继承了微软桌面操作系统操作逻辑复杂、触控体验一般的短板,同时资源消耗高,导致WindowsRT触控电脑性能羸弱、触控体验一般。体验上干不过iPad,但WindowsRT触控电脑又犯了市场定位的错误,价格贵过同档次的iPad,导致市场竞争力不足,最终从市场消失。
在苹果CEO蒂姆·库克(TimCook)看来,搭载WindowsRT系统的微软的亲儿子SurfaceRT也很平庸:“我想你也可以设计一款汽车,能够在路上跑,也能在水上开,但是我并不认为这样的产品能够在两方面都做到成功。”
库克这么说,有他的底气,因为在架构平台转换的众多玩家中,仅有苹果是唯一成功的案例。
苹果的“孟母三迁”
在苹果的历史上,频繁转换架构平台再寻常不过了。1977年,也就是乔布斯和沃兹尼亚克刚创立苹果公司1年,推出了号称“个人计算机革命”的产品APPLEII,这部电脑采用了8位6502处理器。1984年,苹果推出经典的Mac电脑,处理器就从6502换成摩托罗拉的68000,这是苹果公司为追求CPU性能进行的第一次架构平台转换,后来接二连三地转换平台,和中国古代的“孟母三迁”十分神似。
APPLEII
1994年,因为摩托罗拉在处理器上的不给力,英特尔赢得了处理器大战,昔日的丑小鸭X86处理器变成白天鹅,成为市场霸主和性能标杆。苹果于是和IBM、摩托罗拉组成“失败者”联盟“AIM”,力推PowerPC处理器,开始“帝国反击战”,开启“孟母第二迁”。
但PowerPC由于IBM和摩托罗拉拖后腿,宣称的高性能无法从纸面落地,乔布斯渴望的苹果电脑用3GHz的逆天速度吊打Windows电脑的激动人心的场景,变成一场嘴炮。
搭载PowerPC处理器的苹果电脑
对IBM开发PowerPC芯片拖拖拉拉忍无可忍之后,“孟母”乔布斯不得已开始“第三迁”,在2005年的WWWDC上宣布,苹果电脑将从PowerPC平台转换到英特尔的X86平台。
第三迁相比前面两迁,难度已上升几个数量层级,一方面操作系统容量和复杂度大幅增加,另一方面苹果的生态系统初现庞大。结果就是,苹果不仅花了一年时间重写操作系统,还耗上6年时间完成从系统到应用开发的转换。纵使如此,当年苹果也免不了向一些比较重要的客户派出服务人员,以解决平台转换带来的问题。
这就带出一个问题,为何其他公司在平台转换过程中掉进坑里爬不出来,偏偏苹果就能例外?
苹果的武器
转换架构平台最难的事,不是和CPU大厂谈价格,而是保证原来的应用软件依然能够使用,并且顺滑转移到新的架构平台,简单说就是把原来的生态资产搬到新的平台,将开发者和软件用户的资产损失降到最小,乃至不损失。
为此,将原有指令集的二进制代码动态翻译成另一种指令集的二进制代码,就成为平台转换的重要手段之一。苹果早在摩托罗拉68000平台转换PowerPC平台时,就导入了指令集转译技术,在从PowerPC转换X86平台时,苹果又引入了新的转译器Rosetta(罗塞塔),这次从X86平台转换到ARM平台,用的转译器还是Rosetta,不过已经是2.0版本。
苹果的Rosetta技术源于Transitive公司的QuickTransit,而Transitive公司在转译器方面实力不俗,早在2004年,其技术就已应用在SGI的Prism虚拟化平台,让运行Linux操作系统的Itanium2平台可兼容MIPS处理器/IRIX操作系统的应用程序。继苹果之后,IBM也在2006年8月与Transitive合作,让x86/Linux应用程序搬到Power系统(PowerVMLx86)。
别人转换一次架构平台就失败,苹果连转3次都成功,除了运气之外,也有迫不得已的因素。英特尔、IBM和微软等巨头,都有自己的利润大盘,平台转换不过是一次尝试而已,尝试错了可以原路退回。在iPhone发布前,电脑依然是苹果的台柱子,即使iPod已开始成为利润增长极,但依然要靠电脑来管理和同步下载的音乐,所以没有电脑的话,等于苹果既没了灵魂,还失去了一条腿。
正因为没有退路,从PowerPC向X86平台转换时,苹果才异常有耐心,愿意花6年时间来做这件事。
开发者压力如何?
现在,从X86平台转换到ARM平台,Rosetta(罗塞塔)2.0转译器已经成为苹果的重要武器,可以解决将X86平台下的MacOS生态资产搬运到ARM平台问题。当然,因为是软件转译,性能会降低20%,但因为苹果的A系列芯片可以自行设计,外加台积电最先进工艺制程支持,这部分硬件性能提升可以抵消转译的性能损失,使用起来不会有性能降低的感觉。
对于软件开发者来说,苹果已经把平台转换的底层工作做扎实了,加之ARM平台已经有iPhone和iPad的大量生态资产,所以开发者的压力反而不会有想象中的大,一方面,因为新发布的用于MacBook的M1芯片架构与iPhone、iPad的相同,现有的全部iOS、iPadOS的应用程序都能流畅运行在ARM版的Mac上(有媒体试过,ARM版MacBook可以玩《王者荣耀》);另一方面,通过Rosetta(罗塞塔)2.0转译器,新版Mac也能运行X86版应用。
开发者如果只面对ARM架构开发,那么投入和iOS、iPadOS的一样大,不需要改变应用,原来同时面对X86和ARM架构开发的,全面转向ARM架构后,可以通过转译器将原有的X86应用转译为ARM应用,投入会大一些。仍然维持两个架构开发(毕竟X86架构Mac保有量不小)的,投入肯定是最大的,但这部分开发者无疑会越来越少。
考虑到苹果计划在2年内完成Mac产品线从X86架构向ARM架构的转变,仍然为X86开发应用的会越来越少,这对Mac用户来说,搭载英特尔芯片的Mac电脑入手价值无疑降低了。
当然可能更不爽的,是熬夜看这场发布会的英特尔和微软的员工,发布会结束后,大概会感叹:哎,时代变了!
本文独家发布于腾讯新闻,谢绝转载。
——END——