苹果换CPU手机CPU换了。 什么是叫移板

畅销书《PPT高手之路》作者,链接:…
Mac上有哪些冷门但却逆天的软件?

说逆天似乎有些标题党了,但确实Mac上有很多小众但却让人无法自拔的工具,自己平时用的多,整理了一些,希望有帮助:)这次只分四…

知乎用户 你若盛开,清风自来。心若浮沉,浅笑安然。

喜欢这类介绍软件的帖子,我也来推荐点吧!不知道冷门不冷门,好像不是太多人关注以下这些: (以下软件界面均对Retina支持良好,都有Yosemite版本) ——————————————————————————————————————————

五月天主唱 怎么可能…
全栈产品经理,INTP

我是一个非常非常懒惰的人,但由于我擅长寻找并使用优秀的工具、擅长找到省劲的工作方法,这两点让我足以懒懒地用一天时间完成普通产品经理一星期的工作量,没错,工作效率五倍以上。 就按照产品经理的工作流程来罗列我所使用的工具和相应的诀窍吧。 1,首…

}

本文原发:新智元(微信号:AI_era),巴比特资讯经授权转载。以下为原文:

【新智元导读】为什么中国做了30年芯片都没有出现英特尔、ARM这样的巨头?关键在于国产CPU缺少强大的生态系统。有着十余年芯片行业经验的torvaldsing投书新智元,把x86生态系统和ARM生态系统的艰难发展历程和残酷的市场竞争大起底。最后呼吁马化腾:请借助腾讯的强大生态,把CPU和OS这两个老大难问题给OTT掉!

这几天中兴事件持续发酵以来,各种议论纷纷扰扰。

上周,新智元推送了一文,引起了无数从业者热议。

有十余年芯片从业经验的水木网友torvaldsing告诉新智元,这几天对他触动最大的,还是碧树西风写的这句话:

一碗牛肉面,真的要用牛肉,真的要用面,真的要炖很久,这么简单的道理,偌大一个国家,这么多精英,过去这么多年了,咋就不能懂呢?

做芯片很难,做核心芯片更难,做需要生态系统的CPU芯片,比大家想象得都要难。

因此,torvaldsing投书新智元,尝试谈一谈x86生态系统和ARM生态系统的艰难发展历程和残酷的市场竞争,向大家介绍一下做CPU的各种困难,以及眼下能看到的一线希望。

我尽量写得轻松一些,因为其实这个话题很有趣,仔细探究起来,很多看似爆炸性的新闻,其实草蛇灰线伏脉千里,在很早之前就发端了,这其中的故事,真的像演义小说一样好玩。

本文会罗列很多的往事和参考资料,保证有诚意。一些地方没忍住加上了一些三脚猫的分析,欢迎拍砖打脸。

同一个VM上跑的语言相互调用很容易,跨VM很难互操作。由于虚拟机实在太多了,它们反而成了新的CPU架构的拦路虎:80年代只需要搞定C语言编译器就能卖Unix工作站,如今ARM服务器要想挑战Intel,必须把所有这些基于VM的编程语言都支持得很好,JIT编译器的效率都要做得比较高才行。

第三个挑战,来自Transmeta公司对x86指令集的Emulation(Emulation这个词很难翻译,索性不翻了)。简单地说,Emulation就是把x86指令集看成一个虚拟机的指令集,然后用类似JIT编译器的技术,在非x86的CPU上跑x86的程序。未经许可用别人的ISA做CPU是违法的,但用Emulation的方式实现ISA则不违法(Intel和Transmeta只打过专利的官司没打过ISA的官司,Intel还输了)。

如今最广为人知的Emulator是Qemu,上文提到的x86、MIPS、PowerPC、Sparc、MC68000它都可以支持。一般而言,Emulation会导致性能下降一个甚至若干个数量级,根本不足为虑。

1995年,Transmeta公司成立,经过艰苦的秘密研发,于2000年推出了Crusoe处理器,用Emulation的方式,在一款VLIW(超长指令字)风格的CPU上执行x86的程序,这样就规避了没有x86指令集授权的问题。Transmeta的牛X在于,虽然是Emulation,但实现了接近Intel处理器的性能,同时功耗低很多。2000年年底Transmeta的IPO大获成功,其风光程度,直到后来谷歌IPO的时候才被超过。

Transmeta最后还是失败了,Intel在渠道上打压它是次要原因,性能不足是主要原因。虽然VLIW在90年代中后期被广为推崇,但事实证明,它的性能比起乱序执行的超标量架构,还是差一截。另外Transmeta的芯片是在台积电制造的,那个时候不比现在,台积电的工艺水平比起Intel还差很多。2000年的时候,PC还远没有性能过剩,性能还是比功耗重要。等到2010年,Intel的Atom处理器慢得一塌糊涂,依然靠着低功耗,点燃了上网本的大火。

K1芯片,其中的Denver处理器,利用Emulation技术,在底层的7路超标量架构上,实现了ARM64指令集。值得注意的是,NVidia拥有ARM64的指令集的授权,它不是用Emulation技术来规避什么,而是用Emulation来提升性能,实现比硬件直接执行还要高的性能。根据评测结果,Denver超过了当时苹果最好的手机CPU。近期推出的Denver2处理器的,性能更是秒杀苹果的A9X和华为的麒麟950。

Emulation技术如果真的发展到了比直接执行还要快,Intel的麻烦才刚刚开始。微软联合高通,推出基于SnapDragon835处理器的笔记本,运行Windows 10操作系统,上面可以安装x86的软件。Intel虽然很不爽,但Emulation并不需要指令集授权,所以他只能警告说,在实现Emulator时,不许侵犯Intel的专利,而这一点,微软和高通肯定早已考虑到了。

x86生态系统曾经面对过一次最严重的、近乎灭顶之灾的挑战。这次挑战来自于谁?就来自于它的缔造者Intel。

Intel心不甘情不愿地把自己的x86指令级授权给了AMD等一众供应商,眼睁睁看着他们分享自己的利润,很不爽,于是想在x86之外另起炉灶,建设自己独享的生态系统。正巧在90年代初期,升级64位计算成为一个风潮,1991年有MIPS R4000,1992年有DEC Alpha,1995年有SUN

x86架构兼容老旧应用程序的能力是出了名的。8086把8位的8080升级为16位的时候,80386升级到32位的时候,都完全兼容旧有的程序。直到今天,Intel的处理器依然支持虚拟8086模式,在此模式下,可以运行30多年前的8086程序。升级到64bit的时候,Intel居然要放弃所有之前的8位、16位、32位应用了!可想而知当时在业界会引起怎样的轩然大波。Linux的缔造者Linus Torvalds公开对此表示反对。

IA64进展得并不顺利,EPIC本质上就是一种VLIW,如前所述,VLIW的性能比乱序超标量要差。而且EPIC的编译器非常难以开发。原定1997年就会推出产品,但直到1999年才发布IA64指令集,2001年才推出产品。另外Intel也不敢完全放弃之前的32位x86应用,它给出的解决方案是Emulation,但EPIC不像Transmeta为Emulation做了很多专门优化,跑32位x86应用的性能很差。

这个时候,千年老二AMD站了出来,为x86续命。2000年,它推出了AMD64指令集,延续了x86架构兼容老旧应用程序的优良传统,可以原生执行8位、16位、32位的老程序。2003年,AMD推出Opteron服务器CPU和Athlon64桌面CPU。

AMD64从技术上和生态上都压了IA64一头,Opteron在服务器市场上为AMD赢得了前所未有的成功。2004年,Intel推出了代号为Nocona的至强服务器CPU,它支持一种称为EM64T的技术,EM64T就是AMD64的马甲。江湖有传言说,Intel曾想提出另外一套不同于AMD64的x86升级64位的方案,但微软为了避免x86生态的分裂,极力阻止了。2012年,Intel推出了最后一代IA64的CPU,关闭了这个不赚钱的产品线。

回顾这段历史,有几点特别令人感慨。

首先,即使是看似无比强大不可战胜的Intel,不顾生态系统中其它伙伴的利益,一意孤行也是会撞南墙的。

其次,幸好由于历史的原因,x86生态中,AMD和Intel是交叉授权的关系,AMD有权加入3DNow这种多媒体扩展指令,也有权加入64位指令,如果是像如今ARM的架构级授权方式,被授权的企业不能自行加以扩展,那可能还真没有办法阻止Intel了。

最后,Intel的执行力还真是超强,掉头极快,EM64T的CPU只比AMD64的CPU晚出了一年(当然不能排除Intel早就有备份方案)。

虽然在IA64上栽了跟头,但Intel靠着自己的技术实力,持续不断地推出性能和功耗表现更好的产品,AMD在64位战役中所取得的优势,慢慢也被消磨掉了。

岁月如梭。进入移动互联网和云计算时代之后,服务器的需求量上升。这时RISC架构的服务器CPU几乎快被消灭干净了,只剩下IBM Power奄奄一息。于是Intel几乎独享了服务器市场扩大所带来的红利。但它却高兴不起来,因为移动市场形成了ARM一家独大的局面,移动终端CPU这个市场,Intel怎么也挤不进去。

正巧Intel在刚刚火过一把的上网本市场里设计了一种低功耗的x86核心,即Atom。Intel以Atom为武器,杀入了手机芯片市场。2012年,Intel的老伙计联想,推出了第一款Intel芯片的手机K800。紧接着还有Motorola的XT890。2013年,中兴、华硕也有产品问世。但三星、小米、华为、OPPO、VIVO等出货量大的厂商,都没有采用Intel的芯片。这些手机大厂,看看x86生态中做整机的联想如何艰难度日,估计心里也是一万个不乐意让Intel到移动领域来继续称王。

到2014年,Intel芯的手机还是没有打开局面,市场唱衰之声一片。但Intel并不想放弃。手机攻不下,那就攻平板!大厂攻不下,那就攻白牌!嫌我的芯片贵,我就给补贴!又过了两年,平板也没有攻下来。在移动市场赔了上百亿美金的Intel,黯然离场。

Intel失利的原因众说纷纭,我觉得根本原因还是竞争力不足:

首先,这个时候的台积电已经不是Transmeta家Crusoe芯片诞生时的吴下阿蒙,它生产的手机芯片的功耗和性能并不输给Intel;

其次,这次Intel并无生态系统的优势,要靠名为houdini的Emulator来执行ARM指令集的程序,性能打了折扣。试想,Intel芯的手机如果性能和待机时间都是iPhone的两倍,谁能抵挡得住这种诱惑?

几乎在进攻移动市场的同时,Intel也在推出产品试水物联网市场,只不过没有大举宣传。2013年10月,Intel推出一款叫做伽利略的Arduino开发板,上面的CPU叫做Quark(夸克)。Quark是比Atom(原子)还小的基本粒子,这个名字暗含着轻巧、低功耗的意思。接着,Intel在2014年的CES大会和2016年的IDF大会上,先后推出了升级的爱迪生和焦耳开发板。

Intel的大名和Arduino联系在一起多少有些奇怪。Arduino是一套可以跑在低端MCU上的C语言函数库,是电子创客们的最爱。淘宝上Arduino开发板才几十块钱。焦耳开发板上的处理器是4核心、、、、腾讯文档);而WebGL已经能支持Unity3D这种大型游戏框架。

照此趋势发展下去,独立应用程序仅仅会作为一个包装而存在,开发者写一套H5,加上不同的包装,就成了PC、Mac、Android、iOS上的独立应用程序,不加包装,就是网站。微软去年开源的ReactXP,就是为了实现这一目标。

这意味着什么?不但底层的CPU被OTT了,操作系统也被OTT了。因为移植一个应用程序到各个平台上,几乎没有什么难度。谁将是生态系统的掌控者?若干个超级App,像微信、QQ、支付宝这样的。它们不但包装自家的应用,其它开发者也可以把自己的应用放在这个包装里面,借重超级App的广泛覆盖度,抵达最终用户。前文提到了,如果微信小程序获得成功,腾讯必然会重拾Q+的野心,把QQ变成桌面上各种H5应用的App

如果真的会这样,微软岂不是会比Intel还着急?拜托,微软已经不是二十年前主要靠卖Windows和Office的光盘赚钱的那家公司了,未来它会专注于云计算。但Intel还和二十年前一样在卖芯片。

第二是编译技术尤其是虚拟机的发展。如今的编程语言太多了,80年代那种搞定C语言编译器就OK的好日子早已过去。任何一个新CPU架构要想在移动、桌面、服务器市场站稳脚跟,都得搞定无数的编译器(包括虚拟机用的JIT编译器),这是个坏消息。但好消息是,搞定这些编译器基本就差不多了,不用劝说开发者重写汇编代码。

老一代程序员对x86处理器架构和汇编都非常熟悉。求伯君当年开发WPS时,手写几十万行汇编;雷军读本科时,是系里20多年来拿过《汇编语言程序设计》满分成绩的两个学生之一;梁肇新开发超级解霸时,把MMX汇编玩得出神入化。感兴趣的读者可以看看梁的《编程高手箴言》,那里面,描绘了一个对现在的程序员而言,完全陌生的世界。在那个世界里,你开发的PC应用程序想要移植到Mac平台上,几乎要完全重写。

如今高层次的编程语言接管了一切,汇编语言从很多学校的本科课程里消失了,入门教材也从C改成了Java,甚至是Javascript或Python。程序员完全不熟悉底层的CPU。即使是真的需要拼性能的场合,编译器也在很大程度上代替了手写汇编。ARM的工程师告诉我说,ARM在开发开源的Compute Library过程中,主要依靠在C源码中加入标注来指导编译器生成SIMD指令,而不是像梁肇新那样手写。

在这种情况下,软件平台厂商就变得非常强势,因为他们知道,应用开发商只需付出重新编译一遍的代价。比如苹果,就要求所有的App都改为64位的。这样,未来苹果在手机CPU里放弃对32位应用的支持时,甚至都不会有人感觉得到。这对于x86生态系统而言,简直是天方夜谭,显然微软对此非常眼馋,并且尝试在Windows 10 S中复制这种掌控力。

至于谷歌,Android把所有应用都跑在虚拟机上的尝试虽然失败了,但如果未来它再针对AR/VR、AI或机器人发布一个什么软件平台的话,就很有可能完全禁止原生程序。

Oracle,正在努力开发可以支持所有编程语言、能把所有CPU给OTT掉的全新VM:GraalVM。我们拭目以待。

RT的二合一平板。如今Denver处理器跑Windows 10绝不会让人意外,那么它会怎么跑呢?肯定是直接在底层硬件上做x86的Emulation,而不是在Emulate出来的ARM指令集上再做一层Eumulation。

Denver处理器前些年没有跳出来抢Intel的饭碗,很大程度上是因为NVidia还在做Intel平台的主板芯片组,另外NVidia还没有那么强大。如今NVidia也不做芯片组生意了,还借AI的东风,股价扶摇直上。说不定哪天,NVidia就会放出Denver处理器的x86 Emulator,做到单线程性能不输Xeon,强攻服务器市场。想想看,在单芯片上集成GPU和x86版的Denver,云计算厂商能不动心?

如果未来Emulation技术进一步发展并且被越来越多的厂商掌握,很可能会出现这种情况:CPU本身是某种外界不了解的指令集,官方发布时,只能Emulate某种开放的指令集,例如RISCV;但是用户可以给它安装不同的Emulator,让它变成x86-64处理器,或者ARM64处理器。在软件定义一切的时代,这并不是多么疯狂的想象。

总之,CPU依然不可或缺,但CPU用谁家的,是什么指令集,会越来越不重要。软件的发展,会在用户和底层的CPU之间加入足够大的缓冲带,CPU的差异,越来越难以被用户察觉到。

此文在最后修改之时,看到了

就像10多年前一样,只要搞定知识产权问题,选择技术路线,找会干的人,投入干,CPU/芯片就能够做出来。搞不定的依然是操作系统。差距大的依然是生态。

当年,绕得过Intel,跨不过微软。如今,绕得过Arm,做不出安卓。

我也曾在北大参与过国产CPU的研发,生态之难体会颇深,真的,

只是烧钱做芯片,无论烧多少都无法挑战Intel和ARM,

何况过去二十年真的没烧多少。

但我并没有梁宁那么悲观,毕竟技术的潮流无法抗拒,借用马化腾的一句名言“可能你什么错都没有,最后就是错在自己太老了”。

Intel和ARM如此强大而且极少犯错,我们如此弱小就算它们犯错也无法利用——但我们可以欺负它们的“老”。

在此借新智元的宝地,向小马哥呼吁一声:

请借助腾讯的强大生态,把CPU和OS这两个老大难问题给OTT掉吧!

做法非常简单,把Q+桌面再重新搞起来,做一款完全使用Javascript&Webassembly编程的操作系统,里面用腾讯文档来替代Office,各种微信小程序都支持起来,适当支持游戏(但要加入家长监控系统)。补贴芯片厂,让它们使用ARM或RISC-V外加国产Imagination gpu做SoC,生产类似Surface这样的二合一平板。底层CPU使用的ISA完全不可见,上层编程完全用H5。这样,就帮祖国把CPU和OS这两个陈年大洞都补上了。

芯片要下苦功,别凡事都指望模式创新。这不假。但偏偏CPU真的面临一个十倍速变革的机会,真的有靠模式创新而胜出的机会,为什么不试试呢?如果腾讯不去尝试一下,谁还有资格呢?促进祖国的微电子发展功德无量,相信这次不会有人说腾讯垄断之类的闲话。

}

我要回帖

更多关于 苹果换CPU 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信