ARM处理器:开放者的逆袭
1980年,英国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,担心收不回投资成本。又一次,ARM的开放战胜了Intel式的封闭。随后,谷歌加入,推出安卓操作系统,刺激出一众安卓手机厂商。寻求快速迭代的安卓厂商很自然地选用开放的ARM处理器。手机市场的狂飙让Intel人心不稳。苹果又一次补刀,在平板电脑iPad上再次跳过Intel,使用了ARM处理器。业界议论纷纷,既然ARM处理器能满足平板电脑的性能需求,为什么不能用于Intel坐镇的高端个人电脑呢?Intel的霸主地位日渐动摇。
树莓派
如今,ARM处理器的出货量已经远远超过Intel,并占据了90%以上的手机处理器市场。在手机市场之外,ARM处理器大量应用于树莓派。树莓派是一款旨在复兴BBC Micro教育理念的廉价微型电脑。市场给了ARM无数磨难之后,终于让它再一次遇到初恋。
参考:
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
- 不被未来折叠掉:AI时代下的思考
- Google 分析的基准化测试
- WebFont 三宗罪之一:WebFont 与 FOUT
- 探究基于声明的身份标识
- 深化“互联网+先进制造业”发展工业互联网的系列解读二:打造平台体系
- WebFont 三宗罪之二:吹毛求疵的WebFont 渲染差异
- IDC发布IT转型报告,现代化、自动化、转型三要素必不可少
- 存储过程和触发器的应用
- 两部委印发车联网产业标准体系建设指南 提到了自动驾驶
- 状态开关按钮ToggleButton
- 微软开放 .NET 框架源代码
- Angularjs基础(十二)
- 妙趣横生的HTML5 Page Visibility API
- 禁止/移除 WordPress 4.2 中前台自动加载的 emjo 脚本
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- nmap常用命令检查主机在线与在线主机端口开放情况
- 想做测试工程师的可以看看
- nginx 实现Web应用程序的负载均衡
- 线上遇到nginx Cors跨域请求OPTIONS方法405 Method Not Allowed问题
- 常见Linux命令的正确打开姿势 实践笔记 更新中
- 用gogs轻松搭建个人的git服务器
- Centos7 activemq启动失败 解决 的正确姿势 实践笔记
- 所谓并发编程,所谓有其三
- Redis 中的 3 种特殊数据类型
- 关于 “栈” 的那点破事
- 【为宏正名】for的妙用你想不到
- Centos 7 下 docker 导入导出镜像 实践笔记
- linux(centos)搭建.net core 运行环境
- 11g RAC 在线存储迁移实现 OCR 磁盘组完美替换
- MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记