11号凌晨,苹果发布了M1芯片,发布了Macbook Air、Macbook PRO 13吋和Mac mini的这三个机器的M1版本,或者叫做Arm版本。苹果把M1芯片叫做Apple Silicon,也就是苹果自己的硅片,Silicon就是硅的意思。
实际上作为开发者,我们在更早之前,就知道这件事情。
然后我们也拿到了DTK来测试arm CPU的Mac和Mac操作系统以及自己开发的Mac软件的兼容性到底好不好。
DTK这么一个工具实际上就是Arm芯片的Mac mini,但是那个是A12Z芯片,它和M1还不是完全一样的,从11号的发布会来看,M1比A12Z要更好,而且它集成了CPU、GPU和内存,还有一个安全芯片。但是,从指令集的角度上,它跟DTK是一样的。
苹果为什么要做这个东西,我主要讲几个方面:
摆脱英特尔对苹果的控制,或者说对苹果的影响
首先,普及一点点历史,就是说苹果在1976年就造了Apple I。实际上大多数人都没有见过,见到的也往往都是从网上的照片。
我去硅谷的计算机历史博物馆的时候,特意去看了一下Apple I,实际上它卖的就是一个电路板,它是没有键盘,没有鼠标,也没有显示器的。
硅谷计算机博物馆馆藏的Apple I,有苹果联合创始人Steve Wozniak的签名
那个时代叫做有一个组织叫做家酿计算机俱乐部。
很多人现在可能理解不了那个时代,其实那时候是有大型计算机的,就是政府企大企业,石油企业之类的,它有那种像个房子那么大的计算机。但是普通人不能拥有计算机,太昂贵买不起。出现了一些爱好者组织,就像家酿计算机俱乐部,他们也想有计算机,但是计算机很贵,他们就用廉价的芯片,用廉价的这种电路自己去打造一个性能很差的计算机。
Apple I是当时的这种最火的其中一个,当时其实有好多,但Apple I之前还有一个叫阿朗星的,那是最早流行起来的所谓的个人电脑,就是你自己也买得起,你也拼得出来的那么个电脑。
Apple I实际上就是苹果的第一个产品,但苹果最有名的实际上是Apple II。Apple I和Apple II使用的芯片都是6502芯片,6502芯片芯片很有意思,如果你玩过早期的任天堂的FC,也就是红白机,那东西用也是6502芯片。
最近不是据说有个新闻说小霸王破产了吗?现在据说辟谣了。不过,那个小霸王其实就是红白机,就是把红白机上加个键盘或加一点学习软件,而小霸王用的也是6502。6502在中国很多地方都用,我以前是金远见公司,我们的产品当年风靡一时叫做文曲星,用的也是6502。
这就是为什么文曲星一个黑白的电子词典软件。我们有个开发者叫Lee是我的同事,他能够把红白机的游戏移植到文曲星上去,因为它芯片是一样的。
在1984年的时候,苹果推出来了全世界第一个带图形界面的个人电脑Mac,到今天Mac还是很流行的一个产品。
Mac和Apple II芯片是不一样的,用了摩托罗拉的68000芯片。后来,苹果、摩托拉和IBM为了应对英特尔和微软形成的Wintel联盟,他们的PC机很便宜,性能很好,但是摩托罗拉的68000后面做得不够好了,不行了。于是,他们联合在一起做了一个东西,叫PowerPC芯片。
也就是说在那个时代,苹果经历过一次从68000迁移到PowerPC的过程,然后到了大概应该是我记得乔布斯回到苹果以后几年以后,,苹果又做了一次PowerPC到Intel的迁移,这次苹果要做一次Intel到ARM迁移。
这件事听起来好像跟普通用户是没有关系的,确实关系也不大。但是为什么要聊这件事,就是苹果经历过这三次迁移。68000到PowerPC,从PowerPC到Intel,从Intel再到Arm这三次。
苹果基本上没有把用户抛弃,苹果做的方案都是说我怎么做一个平滑的迁移,尤其是上一次。我是亲历者。
我买的第一台Mac就是是PowerPC的Mac,在这个时候苹果出了两大的功能,一个叫
Fat binary
,就是一个二进制可执行文件,里头包含两种CPU的代码,既有PowerPC的机器代码也有Intel的机器代码。
所以你写一个Mac程序,用这种格式,这个程序既可以在PowerPC上跑,也是在Intel上跑。
但是有一些开发者已经不继续开发了,这种老软件怎么办?这种老软件就只有老的PowerPC指令的程序文件。
苹果做了一个东西,叫做罗塞塔,简单的说,罗塞塔可以让老的PowerPC指令的程序跑在Intel芯片上的Mac,它帮你模拟了一个PowerPC的环境。
这样用户迁移的压力就很小,首先老程序可以跑,但是开发者熟悉了新平台,编译了Fat binary的新程序,跑起来比以前还快,用户开发者都皆大欢喜。
这次苹果从英特尔迁移到arm,他也做了同样的事情,所以他做了个罗塞塔2,他干的是让Arm芯片上可以跑一个虚拟的intel环境,这样的话,你的程序就算没有Arm版本也能跑得很快。据说罗塞塔2的性能比罗塞塔1好多得多,也就是说很多人发现跑非原生arm的,老的Mac软件,跑得动的,跑得很快的。
讲这段历史的问题在哪里,就是说有很多人在质疑说微软当年不是也做过一次桌面Arm化吗?
S
urface RT基本上失败了,为什么他会失败?
苹果这次会不会也失败?
我认为是不会的。
我在Surface RT刚发布,我了解到它的
方案的时候,我就知道它一定会失败。
当然我们也不是把说微软说得很落后,微软从Windows2000以后,微软其实是可以让操作系统装在不同的CPU上,但是微软的老的操作系统,比方说Dos,Windows95,Window3.2些东西其实只能装在Intel上的,但到了WindNT和Win2000这个时代,微软把架底层架构进行了大面积更新。
现在我们用的微软的操作系统Windows其实都是2000系列的后代,它其实是可以装在不同的CPU上,所以微软就做了一件事情,他做了一个裁剪版的WindowsRT,它装在arm上,但是它没有像苹果搞建立一个兼容层罗塞塔,他没有硬推Fat binary类似的格式。结果很多人买了,因为Surface RT和Surface Pro看着很像,他觉得我买一个Pro很贵,我买个RT吧。
但是买了RT,他发现很多软件不能跑,Pro什么软件都能跑,老Window软件都可以跑,但是RT什么都跑不了,只有专门给RT做的程序,才能跑。这样Surface RT当然就失败了。
苹果的Arm化和微软的截然不同,苹果基于Arm的新Mac,可以跑老Mac上的任何软件,这样用户当然就乐意买新的机器了。
这前面讲的是我认为苹果是能做成功的,因为他不是做了一次两次,而且之前的做的结果都是很好的,我们现在讲他为什么要做这件事情,这其实是有原因的,因为很多人把Intel叫做牙膏厂,为什么把它叫做牙膏厂?因为大家都觉得Intel的性能一点儿一点儿地放,每一代升级的产品性能提升看起来都不够明显。
这中间可能有英特尔是奸商的问题。
中国人就喜欢说你Intel是奸商,你喜欢一点点地放性能,然后多赚我的钱。
但其实还有一个很大的原因是什么,英特尔它有非常大的负担,他一直兼容到它们家族最老的最老的CPU,所以它就有巨大无比的负担。
其实你可以理解成英特尔现在的CPU,它里头摞了一堆小CPU,当然我不是说他就真的是完全一样是这个意思,但是我就说,因为它要兼容那么多老产品,他有无数的负担,无数的原来的这些东西。
也就是说你现在拿到一个新的Intel
CPU,它有很多东西,它架构可以革新,但是有些老的它不能去掉,也就造成它里头有很多的冗余,那么复杂度非常之高。Arm相当于是从头做了一套东西,而且Arm的指令集它是RISC,Intel是CISC,这两个本来就有一定的差异,后头还会聊到这个问题,
但是一句话就是说Intel它有很大的负担,有非常大的负担。
另外就是Intel垄断了太久,尤其是苹果当时从PowerPC到Intel的时候,这事儿做完了以后,Intel在整个计算机市场完全没有竞争对手,服务器市场基本上也都是英特尔的服务器市场,PC市场,Mac市场都是它的。
在这个时候,Intel的压力确实变得太小了,怎么卖都是卖,这就造成了英特尔的进步没有那么快。
当然我们中国最近不是一直在聊
掐芯片喉咙的事儿
,所以大家都知道,英特尔还有一个在制程上出了问题。就是英特尔本来想象的制程和台积电的制程不一样,台积电走五纳米,英特尔本来有一套自己的方案,结果自己的方案没做出来,而台积电的五纳米做出来了。
也就是说现在苹果可以用五纳米
的方案,但英特尔的CPU暂时还用不了五纳米的方案。
英特尔现在已经跟台积电签了合同,也准备要用它们接来做,但是他原来就做了好多准备,一些研发的前期投入就等于作废了,至少是暂时作废了,暂时用不上。
这是第一个大的问题,英特尔是一个牙膏厂,不管是因为它奸商也好,垄断也好,技术问题也好,在芯片制程上踩了个大坑也好,这几大原因的话,实际结果就是英特尔是个牙膏厂,它给你的性能提升看起来没有,它该有那么快。
第二个问题就是苹果是一个非常准时的一年更新一次产品的公司,iPhone、iPad一直是这样的,Mac也差不多是这样的。
Apple各种产品都是一年出一个大的更新,我们之前讲过操作系统也是这样的,苹果有自己的节奏,它喜欢在WWDC发布一些东西,然后再来一个发布会发布一些东西。每年他哪天发开发布会,咱们大家都大概知道,前后差不了几天。
这么做有非常大的好处,就是苹果可以把所有的营销力量聚集在这个时间点,然后苹果的粉丝也很喜欢在这个时间去看,然后反正每年都有更新对吧,大家会想着说我现在要不要买电脑,因为再过一个月它要更新了,当然这造成就是苹果临近更新的时候的销量会下降。
但是总的来说,这对苹果来说是一件至少不坏的事情,包括竞争对手都知道,一定会喜欢在苹果之后开发布会,比如苹果开了发布会以后,苹果的东西定死在这儿了,然后竞争对手说我们换了一个更牛逼的芯片对吧,直接吊打苹果。
因为你用英特尔,我也用英特尔,你用了英特尔这款,我晚一个月发布,拿到新芯片,那不就直接吊打吗?苹果已经发布了,也没法去改。就是说它这个产品已经发出去了,就算它做升级了,它也没法再开个发布会。
iPhone也是经常遇到这种情况,比如iPhone用高通的一个芯片,然后另一家等到苹果发布会开完了,等到高通又出了一款新的芯片,马上用上,然后吊打苹果。
竞争对手最喜欢玩儿这种把戏,因为你的产品发布节奏总是这样的。
苹果的这种节奏就受制于Intel很严重,Intel不是按照苹果的周期走的,因为苹果不是Intel唯一的一个客户,所以Intel有自己的研发流程。
也就是说苹果的用户期待每年你做一次大更新,比方说Macbook,今年的版本应该比去年快对吧?快得多发布会就很好看,可是如果你正好要发Macbook的时候,Intel没出新产品,你这个性能怎么提升?因为你的CPU不是从天上掉下来的,你必须得买Intel的,所以如果Intel做了猪队友,苹果只能承担后果,历史上苹果承担过好多次这种后果。,其实包括N卡对吧,大家都觉得N卡会比A卡好,然后N卡现在性能什么都很牛逼。
Intel的节奏跟苹果不一样,这对苹果来说其实是一件挺烦人的事情,就是说苹果要把这个问题解决了,对苹果是有很大好处。
但是现在既然CPU是我做的。
我每年CPU和电脑一块儿同步发布行不行?
我自然而然我的电脑今年发布的电脑一定是比上一年的电脑好多少倍,我可以去设计,因为芯片是我的。
那么核心问题就是,就是说制程也是个大的问题,Intel的芯片更没有更多的改进的空间,也是个问题。
因为Arm的话你控制权更多,英特尔它给你啥就是啥,你没法让它定制,因为英特尔那么大的一家公司,英特尔能给你定制的都是小事情,它不能整芯片给你定制,一定要有它自己的节奏。
但是Arm实际上它只提供一个架构,你想怎么封装,怎么定制你都可以自己搞。
以前苹果电脑的硬件架构是这样的:
CPU、雷电控制器、安全芯片,I/O芯片,内存都是独立的封装,大家通过系统总线连接。
而M1最大的区别就是这次他说他把内存放到芯片里去了。
这样做的好处是访问内存就变快了,因为本来你需要通过系统总线来访问内存,因为内存跟CPU不在一起,得先通过总线去访问内存。内存和CPU在一起,它访问的速度就比以前快多了,不管是从寻址上,带宽上,它都可以快很多。因为CPU有一个速度,GPU自己有一个速度,但是总线有一个速度。CPU和GPU都需要通过系统总线来访问内存的话,访问速度和带宽实际就由总线来决定了。
但是内存直接放到CPU里头,那么也就是说想多快就多快,能达到最快的榨干内存的这么个能力。苹果这次没有给出一个具体的数字,但是可以想象能快很多,对特别耗费内存的任务加速效果会非常明显,比如处理大图片,处理视频,等等。
但是Intel没法给你苹果定制一个带16G内存,8G内存的CPU,因为英特尔要提供很多种客户,大多数的客户他定制的需求很严重。攒机,各种不同的品牌,它给不同档位的产品配的内存是不一样的,所以这事儿很复杂,而且是涉及到一个非常复杂的供应链的问题。
库克是玩供应链的高手,说难听点的,这么这些年,自从乔布斯死了以后,很多人说苹果这不行那不行,但苹果的利润一直在往上走,为什么?因为库克是榨干供应链的高手。CPU里头集成内存其实是一件挺危险的事情,就是说如果用户对内存有不同的需求,那就只能换CPU了,或者说只能造出来更好的CP,不同款式的CPU。
但是,好在库克是个供应链高手,他应该是能解决这个问题。什么叫供应链高手,就是说比方市场需求,8万个8G的内存,16万个16G的内存,如果你生产多了,你卖不出去就砸在手里,一旦砸在手里,生产成本就全白费。
普通人可能理解不了所谓的供应链管理,里头包括库存管理,库存管理的意思,不是说这东西迟早能卖出去就没问题,实际上现在大企业大到一定程度以后,库存更新速度是一个非常重要的指标。你这个东西生产出来三天卖出去和生产出来一个月卖出去,对你整个的现金流的影响巨大无比。
如果CPU和内存是分着的,那一定是对库存最友好的。比如说我有3款CPU,6种内存规格,我可以拼出来3×16,48种组合,但如果我CPU和内存放在一起了,我想提供给用户不同的性能和内存,我得做多少款CPU,我做48种?做48种的话,哪一种做多,哪种做少就变得非常难了,就是说一旦合在一起,它的组合便利性就下降了。
如果你对高配低配的就是生产的预测做的不准的话,你就会有大量的库存积压的问题,所以这是个问题。这也就是行业里面一半不把CPU和内存放在一起,实际上它不仅仅是个技术问题,它是个经济学问题。
这个东西好还是坏,最后我们还是要看结果,因为举个最简单的例子,以前所有的手机都是可以换电池的,iP
hone出现了以后就开始流行不能换电池了,到底是好还是坏,我觉得现在大家都适应了,都觉得说不能换电池就不能换电池了,活得也挺好的。
这是第一个大问题,就是说苹果一定要摆脱英特尔的控制,或者摆脱英特尔的拖累,要把猪队友踢掉。
节能和续航时间
这个也是来自于英特尔架构的问题,事实上英特尔也做Arm芯片,但是一直做得都不太好,英特尔一直以来都控制了PC和服务器的市场。尤其是我们讲了就是说尤其是苹果,从PowerPC到英特尔转移做完了以后,英特尔实际上已经占领了全部的PC市场和大量的服务器市场。但是英特尔一直也想做嵌入式。
他一直做不好的原因是什么?就是英特尔在节能降耗上做不好,你在一台PC机,一台服务器里头,塔式机箱的那种大型台式机里面,你多耗电都没关系,你搞个一千瓦的电源可以吧?然后你还有足够的电量去搞一些灯的花里胡哨转,搞个液冷在那循环都可以。
问题是笔记本手机它不能随时随地的充电对吧?所以它对性能的要对和节能方面的要求就很高。
Arm阵营一直做得比较好,其实虽然人们都说说Arm是个嵌入芯片。但是,最早Arm实际上是给BBC Mirco这么一个电脑设计的。这是BBC以前做的一个普及计算机的项目,它就是这个计算机的芯片的。
其实,PC芯片,还是服务器芯片,还是嵌入式芯片,没有绝对的定义。无非是如果你芯片性能不够,没法做服务器,我们就说你是消费级的芯片,或者是嵌入芯片,或者翻过来说,就说Arm这种,它可能在很长一段时间内,它的性能确实没法跟英特尔比,那么他就只能做消费类的,或者说做嵌入类的。但是,英特尔的性能虽然很强,但是他没法放到手机里去,因为你耗能太严重,那么你就没办法做好嵌入式的需求。
从基因上讲,英特尔做节能不如它做性能好。从基因上讲,arm做性能和做节能都做得不错,能耗比较低,所以Arm就特别流行在嵌入式系统里头去。
那么这一次苹果来干这件事就有意义了,因为其实你可以从苹果的笔记本市场来看,包括它的MacMini来看,甚至iMac来看。
苹果对轻薄和降耗的需求是很高的。好像也有人会质疑,说说你要做那么薄干什么,对吧,大家还是要加壳儿的。同时你因为做的太薄,电池不就不行了么?
但苹果对轻薄一直是有追求的。它有追求的原因是什么?我觉得还是消费者还是在乎这件事情。笔记本轻一点不会改变什么,但是有可能会好卖。但是笔记本轻了还得能用的时间更长,那就相当厉害了。
这一次发布会上的数据是Macbook air最长能跑18个小时,这是在使用的状态下。比如给的时间就是看Apple TV的视频,而MacbookPro 13吋则可以跑20个小时,这就比以前同系列产品标注的大概10个小时,8个小时的时间翻了一倍左右,非常之强大。
当然苹果标了10个小时也不见得是真的能用10小时,但是,翻了一倍的使用时间对很多用户来说就是质的改变。
以前用Intel就很难提高使用时间,现在用了Arm就可以大幅度的提升。
尤其是这次发布会,苹果一直在提一个概念,就是耗能和性能之比,就说他不是说简单的我比你快,因为他给的数据是说Air比上一代产品好像快两倍还是三倍,13寸的MacbookPro比上一代产品快三倍。
而且我头两天看了一个评测,据说Macbook Pro的13吋版本比上一代的也就是刚发布没多久的Macbook的旗舰16寸的版本的跑分还要高。
有人说跑分不见得准,但是你大概的感觉是有了,特别是同一家的产品,跑分差异还是能说明问题的。
还有今天看到一个用户的体验,他发现Macbook Pro的13吋比他的高配的iMac pro压缩视频还要快。
我自己也做大量的视频,这是绝对的刚需,我本来想着等16吋的Arm CPU Mac出来再买。因为我眼睛不好,大屏幕是我选择的很重要的指标。但是这个数据出来以后,我都想干脆先买个13吋玩着,等到16吋高性能版本出来以后再出二手算了。