ARM处理器:开放者的逆袭
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载。
1981年,英国BBC电视台策划了一系列关于计算机的电视节目。但导演发现一个问题:怎么给没见过电脑的观众画饼?

节目之一"Micro Live"
此时,大洋彼岸的苹果公司已经推出适于个人使用的微型电脑。Apple-II电脑在70年代末创造出销售神话,从而开发出个人电脑这个新市场。个人电脑在美国风靡,温吞吞的英国人节奏却慢了一拍。对于英国人来说,计算机还是限于科研、国防、制造领域的高科技设备,和自己的生活没有太大关系。美国舶来的个人电脑都售价不菲。英国人可不想用一年的下午茶来换一台用途不明的机器。这种情况下,无论BBC主持人怎样能说会道,只能凭空想象的电视观众估计也熬不过5分钟。幸好,BBC是英国传媒业的龙头,不会轻易地放弃。BBC公开招标,想要资助一家公司开发便宜的微型计算机。

BBC Micro
中标的是一家叫艾康的电脑公司(Acorn Computer Company)。按照现在的标准看,艾康电脑很不靠谱。这家公司才成立了两年,规模也很小。艾康的起家业务是给赌博机生产控制器。这些控制器拥有运算和存储组件,勉强算是电脑。但控制器执行的是固定的程序,距离多功能的个人电脑还有相当的距离。就连这家公司的名字都充满山寨气。起“Acorn”这个名字的原因,是因为电话目录的“Acorn”和“Apple”在同一页,又能排在“Apple”的前面。就这样,艾康电脑在电话目录上击败了苹果电脑,赢得不费吹灰之力。就在BBC招标时,艾康电脑正在开发一款个人电脑的原型机,成本也符合BBC的预期。于是,这款原型机被重新命名为BBC Micro。借着电视节目,BBC Micro成为英国最流行的个人电脑。

索菲·威尔森
虽然赚到了钱,艾康的危机感并没有消除。与英国其他的个人电脑相比,BBC Micro的性能没有太大优势。为了在未来的竞争中胜出,艾康公司想给BBC Micro升级成Intel处理器。但这样做的话,电脑的成本大增,偏离了廉价电脑的定位。最终,公司委任索菲·威尔森领导研发自己的处理器。研发处理区器可不是随便说说的小事。正如威尔森后来回忆,她必须“事先非常仔细地考虑好所有的细节”,才能在苛刻的成本限制下实现处理器性能大提升。1985年,艾康公司给BBC Micro换上了廉价且性能优良的ARM处理器。
ARM是“Acorn RISC Machine”的简称。名字中的“RISC”,指的是ARM处理器对精简指令集的支持。这一点上,威尔森站在了Intel的反面。RISC处理器只支持基本的汇编指令,而复杂动作只能通过这些基本指令组合而成。因此,“RISC”的汇编程序需要占用更多的空间,编译起来也比较耗时。但RISC处理器结构简单,制造成本低,运行起来也比较省电。与“RISC”相对应的是“CISC”,即复杂指令集。“CISC”是Intel选择的道路。CISC处理器有很多高级功能,结构也相应复杂很多。打一个比方,RISC处理器就像经济型轿车,便宜、性能一般、只有基础功能。而CISC处理器则是一辆超级跑车,昂贵、性能卓越、有很多附加功能。其实在威尔森之前,大型服务器已经开始使用RISC处理器。这些大型电脑配备有数目众多的处理器。就好像拥有大量汽车的出租车公司,更愿意选择经济型轿车。ARM处理器独到之处,是把RISC处理器引入了低成本的小型设备。

选择超跑
凭着ARM处理器,艾康电脑守住了教育电脑市场。BBC Micro销量达到上百万台,直到1994年才彻底停产。但在更广阔的个人电脑市场上,Intel的CISC处理器才是赢家。毕竟,个人电脑逐渐成为家庭娱乐和个人办公的中心。一台个人电脑往往会使用5到7年,而电脑上的软件也会越来越多、越来越耗费资源。为了应对漫长的试用期,用户当然希望自己拥有的是一辆超级跑车。因此,Intel长期霸占个人电脑的市场,只留给竞争对手一点边角料。艾康想扩大份额,只能靠个人电脑之外的应用场景。

苹果牛顿
艾康又一次抱住苹果这棵大树。1990年,艾康公司和苹果公司联合设立ARM公司。ARM公司的设立充满实验性质。公司最初只有12个人,只能在一间谷仓里办公。这个小团队负责开发ARM处理器。苹果将ARM处理器用于新产品——牛顿掌上电脑。牛顿极具创意。其大屏显示和手写识别,直接启发了“商务通”等PDA产品,甚至影响到了iPhone的设计。掌上电脑对性能的要求没有个人电脑那么高,但需要节约使用电池。低功耗的ARM处理器正适合。但牛顿没能拯救ARM。由于售价太高,而关键性的手写功能又充满缺陷,牛顿最终在商业市场上折戟沉沙。ARM的路似乎走到了尽头。

ARM的合作伙伴
为了生存,ARM公司放弃了处理器的生产和销售,走起“歪门邪道”。如果ARM公司是一家饭店,选择既不做饭、又不卖饭,估计第二天就要关张。幸好ARM公司是一家电子公司,还可以卖设计图纸。当然,ARM当然不是自暴自弃地清仓甩卖。它收取一定的费用,把相关设计分享给有能力生产和销售的合作伙伴。合作伙伴生产出的每件ARM处理器,又要付给ARM公司一定的授权费。通过这种授权知识产权模式,ARM省去了生产和销售环节的巨额成本。专注于上游的设计,也能让ARM公司快速地迭代开发。当然,这也是没办法中的办法。Intel这样的霸主,就包揽了从设计到销售的全链条,根本不用像ARM这样委曲求全。

诺基亚6110:贪吃蛇!
谁也没想到,ARM开放的合作方式,恰巧弥补了市场上的空缺。很多电子元件厂商都想和Intel竞争处理器市场,但都忌惮Intel的强势,不敢轻易涉入。与ARM公司合作,成了“蜀汉联合、共抗曹魏”的理想策略。反过来,这些厂商上了船,也心甘情愿地为ARM处理器攻城略地。德州仪器公司(Texas Instrument)生产的ARM处理器,就被诺基亚用在红极一时的6110手机上。在低端领域,ARM处理器“够用就好”的原则正好可以控制成本。在专用设备方面,ARM开放的架构允许小型电子厂自由地定制,也因此广受欢迎。不知不觉,ARM处理器收编了诸多细分领域,给自己赢得了生存空间。

iPhone
就在ARM攒足粮草的关键时机,苹果终于发力助攻。乔布斯回归苹果,发布了革命性的iPhone。由于iPhone选用了ARM处理器,所以ARM的市场份额开始狂飙。事实上,Intel曾有机会拿下iPhone。在iPhone诞生之前,苹果就和Intel达成战略合作关系,并把Intel处理器应用于苹果电脑。苹果也有意委托Intel开发iPhone的处理器。只是Intel的内部并不看好iPhone,担心收不回投资成本。又一次,AMD的开放战胜了Intel式的封闭。随后,谷歌加入,推出安卓操作系统,刺激出一众安卓手机厂商。寻求快速迭代的安卓厂商很自然地选用开放的ARM处理器。手机市场的狂飙让Intel人心不稳。苹果又一次补刀,在平板电脑iPad上再次跳过Intel,使用了ARM处理器。业界议论纷纷,既然ARM处理器能满足IPad的高性能需求,为什么不能用于Intel坐镇的高端个人电脑呢?Intel的霸主地位日渐动摇。

树莓派
如今,AMD处理器的出货量已经远远超过Intel,并占据了90%以上的手机处理器市场。在手机市场之外,AMD处理器大量应用于树莓派。树莓派是一款旨在复兴BBC Micro教育理念的廉价微型电脑。市场给了AMD无数磨难之后,终于让它再一次遇到初恋。
参考:
https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-1
https://community.arm.com/processors/b/blog/posts/a-brief-history-of-arm-part-2
https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/risccisc/
http://appleinsider.com/articles/15/01/19/how-intel-lost-the-mobile-chip-business-to-apples-ax-arm-application-processors
http://www.androidauthority.com/arms-secret-recipe-for-power-efficient-processing-409850/
https://www.quora.com/What-makes-ARM-based-chips-relatively-power-efficient
http://ihyperwin.iteye.com/blog/1701132
http://www.techbang.com/posts/10678-fully-understand-arm-processors-cisc-and-risc-are-what-history-structure-a-see-through-the-computer-96-issues-cover-story-the-king
http://www.techradar.com/news/computing/how-arm-took-on-the-world-and-won-1067393
ARM处理器:开放者的逆袭的更多相关文章
- 国产处理器的逆袭机会——RISC-V
前言 今天天气阴沉,刚才又下起了小雨,温度骤降,前几天脱下的秋裤,今天又穿上了,这天气真是变化无常.上周六(4.20)参加了一场关于RSIC-V的技术沙龙,第一次真正了解了RISC-V架构,正好今天不 ...
- 面渣逆袭:Java并发六十问,快来看看你会多少道!
大家好,我是老三,面渣逆袭 继续,这节我们来盘一盘另一个面试必问知识点--Java并发. 这篇文章有点长,四万字,图文详解六十道Java并发面试题.人已经肝麻了,大家可以点赞.收藏慢慢看!扶我起来,我 ...
- [转帖]浪潮openstack的逆袭
扬长补短 浪潮云平台的逆袭 http://blog.itpub.net/11310314/viewspace-2564083/ 浪潮并不是最早加入OpenStack的国内厂商,却实现同比303.1%的 ...
- 从前端到全栈:JavaScript逆袭之路
JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...
- [转帖]Marvell第二代ARM处理器ThunderX2解析
Marvell第二代ARM处理器ThunderX2解析 https://www.cnbeta.com/articles/tech/853137.htm 长久以来,服务器数据中心市场一直被x86 CPU ...
- 面渣逆袭:Java集合连环三十问
大家好,我是老三.上期发布了一篇:面渣逆袭:HashMap追魂二十三问,反响很好! 围观群众纷纷表示 不写,是不可能不写的,只有卷才能维持了生活这样子. 当然,我写的这一系列,不是背诵版,是理解版,很 ...
- 面渣逆袭:JVM经典五十问,这下面试稳了!
大家好,我是老三,"面渣逆袭"系列继续,这节我们来搞定JVM.说真的,JVM调优什么的一个程序员可能整个职业生涯都碰不到两次,但是,一旦用到的时候,那就是救命了,而且最重要的是-- ...
- 面渣逆袭:二十二图、八千字、二十问,彻底搞定MyBatis!
大家好,我是老三,面渣逆袭系列继续,这节我们的主角是MyBatis,作为当前国内最流行的ORM框架,是我们这些crud选手最趁手的工具,赶紧来看看面试都会问哪些问题吧. 基础 1.说说什么是MyBat ...
- 面渣逆袭:Spring三十五问,四万字+五十图详解
大家好,我是老三啊,面渣逆袭 继续,这节我们来搞定另一个面试必问知识点--Spring. 有人说,"Java程序员都是Spring程序员",老三不太赞成这个观点,但是这也可以看出S ...
随机推荐
- Exception和RuntimeException的区别
Exception:在程序中必须使用try...catch进行处理. RuntimeException:可以不使用try...catch进行处理,但是如果有异常产生,则异常将由JVM进行处理.
- iOS开发中在UIWebView中添加Gif动态图
开发是一件很有趣的事,偶尔在程序中添加一些小东西,会给你的应用增色不少.比如,当你的某些功能暂时还不准备上线时,可以先一个放展示Gif动态图的UIWebView上去,既可以告诉用户APP以后会有的功能 ...
- 11.TCP的交互数据流
TCP报文段一般有两类,分别是成块数据和交互数据. 1.交互式输入 Rlogin连接上键入一个交互命令的数据流如下图所示. 每一个交互按键都会产生一个数据分组,每次从客户传 ...
- 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器
http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...
- 利用 Grunt (几乎)无痛地做前端开发 (一)之单元测试
前言 如果你想开发一个js应用,甭管多简单,都要先创建整个宇宙 来看看我们的Javascript小宇宙: 确定如何根据需求.功能划分模块,如何将代码分成多个文件开发,合成一个发布 保证上一条的同时,使 ...
- Shell 基础
1.结构 #!指定执行脚本的shell #!/bin/sh # 注释行 命令和控制结构 2.修改权限 chmod +x ... 3 ...
- jQuery软键盘插件
1.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.or ...
- C++设计模式——抽象工厂模式
问题描述 之前讲到了C++设计模式——工厂方法模式,我们可能会想到,后期产品会越来越多了,建立的工厂也会越来越多,工厂进行了增长,工厂变的凌乱而难于管理:由于工厂方法模式创建的对象都是继承于Produ ...
- JS效果的步骤
一.写JS效果的步骤 1.先实现布局 (XHTML+CSS2) 2.实现原理 (1)希望把某个元素移除你的视线: a. display:none; 显示为无,不占据空间 b. vi ...
- Spring @Aspect切面参数传递
Spring @Aspect切面参数传递: Xml: <?xml version="1.0" encoding="UTF-8"?> <bean ...