数据库

四次刮骨疗毒,苹果是无可争议的卷王!

时间:2010-12-5 17:23:32  作者:网络安全   来源:网络安全  查看:  评论:0
内容摘要:一个做系统软件的公司,一旦选定了CPU架构,轻易是不敢更改的。因为每次换架构,软件生态的迁移,无异于一次刮骨疗毒。但是有一家公司,成立以来,光是CPU架构就换了4次,真是无可争议的CPU卷王。1984

一个做系统软件的次刮公司 ,一旦选定了CPU架构 ,骨疗果无轻易是毒苹不敢更改的。

因为每次换架构,可争软件生态的卷王迁移,无异于一次刮骨疗毒。次刮

但是骨疗果无有一家公司,成立以来,毒苹光是可争CPU架构就换了4次,真是卷王无可争议的源码下载CPU卷王。

1984年:摩托罗拉 68k

1994年:PowerPC

2006年 :Intel x86

2020年  :自研芯片

这家公司就是次刮Apple 。

1984年 摩托罗拉68k

20世纪70年代末  ,骨疗果无Apple II(用的毒苹是MOS Technology 6502处理器)是最受欢迎的计算机之一,尤其是可争在教育领域 。

1981年 ,卷王IBM推出PC以后 ,销量迅速超越Apple II 。

为了扳回劣势,苹果于1983年推出Apple Lisa,云计算尽管Lisa支持革命性的图形用户界面,但是高达1万美元的售价和可用软件的缺乏 ,Lisa在商业上并不成功 。

图片

在开发Lisa的同时 ,苹果的另外一个团队也在开发一个叫做Macintosh的项目,目标是面向消费者的,易于使用的免费模板计算机。

在乔布斯接管Macintosh项目以后,Mac变得越来越像Lisa,配备鼠标和图形用户界面 ,价格仅为Lisa的四分之一 。

在选择CPU时,团队面临三个选择:

Intel 8088 :

8位数据总线 ,支持640K内存,价格便宜(35美元),IBM PC也用它 ,生态系统很好

Zilog Z8000

图片

16位数据总线,支持8M 内存 ,价格中等(55美元),用的人少,源码库生态系统不完善

摩托罗拉68000(68K)

图片

16位数据总线,支持16M内存,价格较贵(70美元),生态系统一般

在1983年这个时间点,苹果选择了摩托罗拉68K ,  主要是为了和IBM PC做出差异化。

另外摩托罗拉68K支持高达16M的内存 ,这实在太香了。

1984年 ,伴随着经典的《1984》广告 ,Mac发布,引发轰动 ,被《纽约时报》誉为“革命性的产品” 。香港云服务器

从此,苹果的产品就和摩托罗拉68K结下了姻缘。

1994年 PowerPC

在过去的10年 ,Intel和微软结成了WinTel同盟,它们密切合作  ,竞相推出新品,新软件与新芯片唱和有致 ,完全垄断了PC产业链的高端。

不但是苹果,就连PC的发明人IBM  ,也被这一套组合拳打得晕头转向,模板下载根本无法招架 。

于是IBM转头也和摩托罗拉,苹果也组成了一个联盟 :AIM ,准备和Wintel抗衡 。

AIM瞄准了x86架构的一个关键弱点:使用复杂指令集(CICS),准备狠狠地打击。

此时精简指令集(RISC)发展成熟,正是街上最靓的仔  。一批RISC CPU展示出了卓越的性能 :Sun SPARC, DEC Alpha, MIPS ,HP 的PA RISC 。

所以AIM也推出了一个RISC CPU: PowerPC。

图片

PowerPC用流水线的方式提升了性能 ,并且能耗更低 。

但是PowerPC的指令集和摩托罗拉68K指令集完全不同,苹果需要迁移生态系统中的所有软件。

不仅所有软件都得编译 ,有些情况下还需要重写 。

这是一个非常艰巨的任务,苹果想了两个招数 :

1.模拟器

模仿摩托罗拉的CPU ,相当于一个“软CPU”,让之前的软件可以在其中运行  。

“软CPU”会带来巨大的性能损失  ,但是PowerPC性能强大 ,软件勉强可用

2.胖二进制文件

在过渡期间,对软件进行增肥,同时包含针对 68k 和 PowerPC 架构编译的代码 ,这样一个软件就可以在多种CPU上运行。

但是当时的硬盘普遍只有80M,胖二进制占有的空间非常烦人 ,市面上甚至出现了专门的“生意”:剥离胖二进制文件的,把在当前平台上不需要的二进制代码剥离 。

总体而言 ,苹果向PowerPC的迁移是成功的 。

Wintel联盟展开了最强烈的反击 ,Intel推出了具有划时代意义的奔腾芯片系列 ,而微软则“珠联璧合”地推出了Windows 95。

Intel和微软还分别展开了对PowerPC的分化瓦解工作,其中微软表现得尤为起劲。

AIM联盟最终分崩离析 ,2004年摩托罗拉退出芯片制造业务  ,将其半导体业务分拆为一家名为飞思卡尔半导体的独立公司。

图片

IBM将PowerPC产品线出售给了AMCC,专注于64位的芯片设计,只给游戏机制造商提供PowerPC芯片,如任天堂的GameCube 、Wii和Wii U,索尼的PlayStation 3和微软的Xbox 360 。

图片

2006 Intel x86

乔布斯回归苹果以后,相继发布了iMac, iPod, iPhone等卓越的产品,苹果再度恢复魔力。

AIM联盟虽然解散 ,但PowerPC还在 ,就是性能差,功耗高,开发速度更是缓慢 ,产品迟迟不能更新 。

在2003年苹果推出第一代Power Mac G5时 ,乔布斯曾信心满满地承诺 ,IBM与Apple将会很快地将G5芯片提速至3.0GHz ,然而IBM失约了 。

反观Intel持 ,它总是能续以高效能、极短的开发周期 ,不断推出新的CPU。

对PowerPC失望的乔布斯决定,迁移到x86。

图片

苹果再次面对软件迁移的问题,这一次,他们把原来的招数也进行了升级:

1. 把“胖二进制文件”,升级为“通用二进制文件” 。

通用二进制文件来源于NeXTStep ,其实和胖二进制文件差不多。

2.动态二进制翻译器Rosetta 

图片

Rosetta 在程序运行时动态地“即时”翻译代码。

原来的应用程序是PowerPC指令集,Rosetta可以在运行时把它们翻译成等效的x86指令集和系统调用。

下面这幅图展示的是一个基于PowerPC微软Office ,运行在x86上的情景 。

图片

ps : 动态二进制翻译也是龙芯为了兼容x86生态所采用的一种方式。

2020  :自研芯片

苹果产品的最大竞争优势就是  :硬件和软件的紧密集成 。

现在硬件的命门捏在Intel手中 ,Intel CPU一旦限制供应或者推迟发布,就会极大地影响苹果的产品路线,这绝对不是长久之计 。

iPhone的热销,让苹果成为这个星球上最有钱的公司  ,每年可以投入200多亿美元研发 ,这么多钱,完全可以砸出一个属于自己的CPU。

实际上,从iPhone4开始 ,苹果已经开始设计自己的A4芯片了。

图片

然后是A5,A6...... Apple不断迭代 ,速度越来越快,性能越来越强。

图片

这种45度的强势走势十分“恐怖”,和挤牙膏的Intel形成了鲜明对比 。

终于,苹果的CPU强大到足以在个人电脑中使用了 。

2020年 ,Apple宣布了Mac CPU的第三次转型 :使用自研的M1芯片。

图片

M1不同于标准的台式机CPU , 它是一个SoC,也就是把CPU  、GPU 、NPU等都集成到了一个芯片上 。

图片

M1的“秘密武器”如统一的内存架构(可以让GPU和CPU共享内存 ,省去了数据复制的开销) ,异构计算 ,乱序执行等让它输出高性能的同时,保持了超低的功耗。

采用M1的MacBook 就像变魔术一样 ,快如闪电,冷却风扇似乎永远不会打开 ,电池一次充电可持续使用一整天。

对于软件的兼容性,Apple驾轻就熟,Rosetta 升级成Rosetta 2 ,可以把Intel x86指令集实时翻译成ARM指令集。

从测试来看,Rosetta 2效果不错 ,虽然“翻译”有20%的性能损失,但是在强悍的M1面前 ,使用体验可以接受。

在苹果强大的吸引力之下,很多软件纷纷支持原生的M1,Apple的这次架构迁移恐怕要比前几次更快 。

结语

国产芯片龙芯用的是自有的指令集LoongArch,花了九牛二虎之力,也无法建立繁荣的软件生态 。为了兼容Intel x86 ,不得不使用类似Rosetta这样的动态翻译程序 。

不仅是龙芯 ,参与者更加广泛的 、开源的RISC-V也有类似的问题 。

可是Apple这家公司,竟然把软件生态在不同架构之间迁移了四次 ,实在是太强悍了 !

仔细想想,这和苹果封闭的生态有很大关系,苹果换了CPU架构,开发者不跟着怎么办?但是话说回来,苹果的生态比较优质 ,跟着苹果就是有肉吃啊 ,大家也乐意跟着走啊 !

copyright © 2025 powered by 益强开源技术社区  滇ICP备2023006006号-14sitemap