ARM到底是一家什么样的公司?


戳蓝字“CSDN云计算”关注我们哦!

640?wx_fmt=jpeg

技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!


作者:小枣君

转自:鲜枣课堂


这两天,一家叫做ARM的公司刷了屏,不管基于什么原因,我想我们还是有必要对ARM进行一下了解的。


1978年,一家名字叫“CPU”的公司,悄悄在英国剑桥诞生。


不要惊讶,这个CPU,和我们经常所说的电脑里那个CPU是两回事。


这家CPU公司的全称,是Cambridge Processor Unit,字面意思是“剑桥处理器单元”。


CPU公司的创始人,是一个名叫Hermann Hauser的奥地利籍物理学博士,还有他的朋友,一个名叫Chris Curry的英国工程师。


640?wx_fmt=jpeg

Hermann Hauser和Chris Curry


CPU公司成立之后,主要从事电子设备设计和制造的业务。他们接到的第一份订单,是制造赌博机的微控制器系统。


这个微控制器系统被开发出来后,称之为Acorn System 1。


640?wx_fmt=png

Acorn System 1


1979年,在经营逐渐进入轨道之后,这家公司给自己换了个名字,叫做Acorn Computer Ltd


Acorn是什么意思?橡子。对,就是冰河世纪里面,那只松鼠一直在追的那个东东。


640?wx_fmt=jpeg


Acorn Computer Ltd公司的商标,里面就有一个橡子。


640?wx_fmt=jpeg


之所以叫Acorn,还有一个有趣的说法,就是因为他们想在电话黄页里排在Apple(苹果)公司的前面。。。


在Acorn System 1之后,他们又陆续开发了System 2、3、4,还有面向消费者的盒式计算机——Acorn Atom。


640?wx_fmt=png

Acorn Atom


到了1981年,公司迎来了一个难得的机遇——英国广播公司BBC打算在整个英国播放一套提高电脑普及水平的节目,他们希望Acorn能生产一款与之配套的电脑。


这个计划非常宏大,英国政府也参与其中(购机费的一半将由政府资助),电脑一旦采购,将进入英国的每一间教室。


接下这个任务之后,Acorn就开始干了起来。结果,很快他们就发现,自己产品的硬件设计并不能满足需求。当时,中央处理器的发展潮流,正在从8位变成16位。Acorn并没有合适的芯片可以用。


一开始,他们打算使用美国国家半导体和摩托罗拉公司的16位芯片。但是,经过评估后,他们发现了两个缺陷:


第一,芯片的执行速度有点慢,中断的响应时间太长。

第二,售价太贵,一台500英镑的电脑,处理器芯片就占到100英镑。


于是,他们打算去找当时如日中天的英特尔(Intel),希望对方提供一些80286处理器的设计资料和样品。然而,英特尔冰冷地拒绝了他们。



640?wx_fmt=jpeg


备受打击的Acorn公司,一气之下决定自己干,自己造芯片。(这个桥段是不是很熟悉?2_02.png


当时,Acorn公司的研发人员从美国加州大学伯克利分校找到了一个关于新型处理器的研究——简化指令集,恰好可以满足他们的设计要求。


在此基础上,经过多年的艰苦奋斗,来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber最终完成了微处理器的设计。


640?wx_fmt=png

Sophie Wilson和Steve Furber

前者负责指令集开发,后者负责芯片设计。


对于这块芯片,Acorn给它命名为Acorn RISC Machine


嗯,这就是大名鼎鼎的“ARM”三个字母的由来。


Acorn是公司名称,Machine是机器,那RISC是什么意思呢?


前面说过,他们是基于“简化指令集”技术做出的芯片。RISC的意思,就是简化指令集计算机,Reduced Instruction Set Computer。


注意!前方灰色字体高能预警,非技术控请直接跳过。。。


这里解释一下,到底“简化指令集”有什么意义。


它是相对于“复杂指令集(CISC,complex instruction set computer)”的一个概念。


早期的处理器都是CISC架构(包括英特尔的处理器),随著时间推移,有越来越多的指令集加入。由于当时编译器的技术并不纯熟,程序都会直接以机器码或是组合语言写成,为了减少程序的设计时间,逐渐开发出单一指令,复杂操作的程序代码。设计师只需写下简单的指令,再交给CPU去执行。


但是后来有人发现,整个指令集中,只有约20%的指令常常会被使用到,大约占了整个程序的80%;剩余80%的指令,只占了整个程序的20%。(典型的二八原则)


于是,1979年美国加州大学伯克利分校的David Patterson教授提出了RISC的想法,主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。


简单来说,CISC任务处理能力强, 适合桌面电脑和服务器。RISC通过精简CISC指令种类,格式,简化寻址方式,达到省电高效的效果,适合手机、平板、数码相机等便携式电子产品。


640?wx_fmt=png


当时研发出来的第一款处理器芯片的型号,被定为 ARM1


我们来对比一下ARM1和当时Intel的80286处理器(也就是常说的286):


640?wx_fmt=png


可以看出来,ARM1和80286各有所长。


但是,就在同一年,1985年10月,英特尔发布了80386。在80386面前,ARM1就只有被吊打的份了。



640?wx_fmt=jpeg

Intel 80386

32位,27.5万个晶体管,频率为12.5MHz,后提高到33MHz


让ARM直接在性能上和x86系列硬杠,显然是不现实的。ARM有意无意地选择了与Intel不同的设计路线——Intel持续迈向x86高效能设计,ARM则专注于低成本、低功耗的研发方向。


扯远了,继续回来说BBC要的那款电脑。


前面说了,BBC在1981年就提出需求,如果等到1985年ARM1出来,那岂不是黄花菜都凉了?


所以,在ARM1问世之前,Acorn其实已经提供了解决方案给BBC。


当时,Acorn的电脑,临时采用了MOS 6502处理器(由MOS科技研发的8位微处理器)。


640?wx_fmt=jpeg

MOS 6502处理器


这款电脑一开始取名Proton,后来被改名为BBC Micro


640?wx_fmt=jpeg

BBC Micro


到了 1984 年,大约80%的英国学校都配有这款电脑。Acorn公司彻底在大英帝国老百姓面前刷了一把存在感。


后来,ARM处理器被研发出来之后,用在了BBC Micro的后续型号中。


640?wx_fmt=jpeg

BBC Micro电脑里面的ARM芯片


在ARM1之后,Acorn陆续推出了好几个系列,例如ARM2,ARM3。



时间又继续往前推移。


1990年,Acorn为了和苹果合作,专门成立了一家公司,名叫ARM



640?wx_fmt=jpeg


LOGO可以说是相当简洁了


注意,这里的ARM是公司名称,不是芯片名称。这个ARM的完全拼写也不一样,是Advanced RISC Machines。


前面的芯片名称:Acorn RISC Machine

现在的公司名称:Advanced RISC Machines


ARM是一家合资公司,苹果投了150万英镑,芯片厂商VLSI投了25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。


尽管如此,ARM的起步还是比较寒酸。他们最开始的办公地点,是一个谷仓。。。


640?wx_fmt=png


不过,谷仓的内部环境还算不错。


640?wx_fmt=png


在成立后的那几年,ARM业绩平平,工程师们也人心惶惶,害怕随时都会失业。


在这个情况下,ARM决定改变他们的产品策略——他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司,即“Partnership”开放模式。


没想到正是这种模式,开创了属于ARM的全新时代。


注意!下面这段是重点!


ARM所采取的是IP(Intellectual Property,知识产权)授权的商业模式,收取一次性技术授权费用和版税提成。

 

具体来说,ARM有三种授权方式:处理器POP以及架构授权

 

处理器授权是指授权合作厂商使用ARM设计好的处理器,对方不能改变原有设计,但可以根据自己的需要调整产品的频率、功耗等。

 

POP(processor optimization pack,处理器优化包)授权是处理器授权的高级形式, ARM出售优化后的处理器给授权合作厂商,方便其在特定工艺下设计、生产出性能有保证的处理器。

 

架构授权是ARM会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器(例如后来高通的Krait架构和苹果的Swift架构,就是在取得ARM的授权后设计完成的)。


640?wx_fmt=png


所以,授权费和版税就成了ARM的主要收入来源。除此之外,就是软件工具和技术支持服务的收入。


对于半导体公司来说,授权费和版税到底有多少呢?一次性技术授权费用在100万-1000万美元之间,版税提成比例一般在1%-2%之间。


正是ARM的这种授权模式,极大地降低了自身的研发成本和研发风险。它以风险共担、利益共享的模式,形成了一个以ARM为核心的生态圈,使得低成本创新成为可能。


当ARM提出这种合作模式之后,开始了尝试——


1991年,ARM将产品授权给英国GEC Plessey半导体公司。


1993年,ARM将产品授权给Cirrus Logic和德州仪器(Texas Instruments,TI)。


与德州仪器的合作,给ARM公司带来了重要的突破。而且,也给ARM公司树立了声誉,证实了授权模式的可行性。


此后,越来越多的公司参与到这种授权模式中,与ARM建立了合作关系。其中就包括三星、夏普等公司。


在此基础上,ARM坚定了授权模式的决心,并着手设计更多性价比高的产品。


1993年,苹果公司推出了一款新型掌上电脑产品——Newton。ARM公司开发的ARM6芯片被用于该产品之中。


640?wx_fmt=jpeg

Apple Newton Message Pad

现在被认为是PDA和智能手机的鼻祖


但是很遗憾,因为Newton技术过于超前,加上一些用户体验上的缺陷,所以未能被市场接受,后来以失败告终。


但ARM积累了经验,继续改良技术。没过多久,ARM迎来了自己的黄金机遇——移动电话时代来临了。


ARM首先迎来了一个大客户——诺基亚Nokia。


当时,诺基亚被建议在即将推出的GSM手机上使用德州仪器的系统设计,而这个设计是基于ARM芯片的。


因为内存空间的问题,诺基亚一开始对ARM是拒绝的。


为此,ARM专门开发出16位的定制指令集,缩减了占用的内存空间。


就这样,诺基亚6110成为了第一部采用ARM处理器的GSM手机,上市后获得了极大的成功。


640?wx_fmt=png

Nokia 6110,相信有不少人用过或见过


ARM后来又跟着推出了ARM7等一系列芯片,授权给超过165家公司。随着移动手机的井喷式普及,ARM赚得盆满钵满,不亦乐乎。


1998年4月17日,业务飞速发展的ARM控股公司,同时在伦敦证交所和纳斯达克上市。


640?wx_fmt=jpeg

ARM在纳斯达克上市


在ARM公司上市之后,处于后乔布斯时代的苹果公司,逐步卖掉了所持有的ARM股票,把资金投入到ipod产品的开发上。


鉴于苹果研究人员对ARM芯片架构非常熟悉,ipod也继续使用了ARM芯片。



640?wx_fmt=jpeg

Apple ipod


众所周知,在乔帮主的带领下,ipod取得了巨大的商业成功。


这还没完,2007年,真正的划时代产品出现了。


那就是iPhone。


苹果iPhone的出现,彻底颠覆了移动电话的设计,开启了全新的时代。


640?wx_fmt=jpeg

第一代iPhone,使用了ARM设计、三星制造的芯片。


Iphone的热销,App Store的迅速崛起,让全球移动应用彻底绑定在ARM指令集上。


紧接着,2008年,谷歌推出了Android(安卓)系统,也是基于ARM指令集。



640?wx_fmt=jpeg


至此,智能手机进入了飞速发展阶段,ARM也因此奠定了在智能手机市场的霸主地位。


同年,ARM芯片的出货量达到了一百亿颗。


2011年,就连传统Wintel联盟(windows+intel)的微软,也宣布Windows8平台将支援ARM架构。



640?wx_fmt=jpeg


想必英特尔一定是连肠子都悔青了。


其实,正是英特尔一步一步将ARM送上了如今无法取代的位置。90年代,高通想和英特尔合作,英特尔认为手机市场太小,拒绝了合作。后来,苹果的第一代iPhone一开始也想和英特尔合作,英特尔还是以相同的理由拒绝了。结果,移动设备市场被英特尔拱手让人,现在想追也追不回来了。


2010年6月中,苹果公司向ARM董事会表示有意以85亿美元的价格收购ARM公司,但遭到ARM董事会的拒绝。


2016年7月18日,曾经投资阿里巴巴的孙正义和他的日本软银集团,以243亿英镑(约309亿美元)收购了ARM集团。



640?wx_fmt=jpeg

孙正义


至此,ARM成为软银集团旗下的全资子公司。不过,软银集团表示,不会干预或影响ARM未来的商业计划和决策。


最后,小枣君觉得有必要和大家简单介绍一下ARM的产品体系。这一块确实有点乱,很多业内人士都容易混淆。


ARM11芯片之前,每一个芯片对应的架构关系如下:


640?wx_fmt=png

实际的芯片型号并不止这些


ARM11芯片之后,也就是从ARMv7架构开始,ARM的命名方式有所改变。


新的处理器家族,改以Cortex命名,并分为三个系列,分别是Cortex-A,Cortex-R,Cortex-M。呵呵,发现了没,三个字母又是A、R、M。


  • Cortex-A系列(A:Application)

针对日益增长的消费娱乐和无线产品设计,用于具有高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域,如智能手机、平板电脑、汽车娱乐系统、数字电视等。


640?wx_fmt=jpeg

Cortex-A系列


  • Cortex-R系列 (R:Real-time)

针对需要运行实时操作的系统应用,面向如汽车制动系统、动力传动解决方案、大容量存储控制器等深层嵌入式实时应用。


640?wx_fmt=jpeg

Cortex-R系列


  • Cortex-M系列(M:Microcontroller) 

该系列面向微控制器领域,主要针对成本和功耗敏感的应用,如智能测量、人机接口设备、汽车和工业控制系统、家用电器、消费性产品和医疗器械等。


640?wx_fmt=jpeg

Cortex-M系列



其实,除了上述三大系列之外,还有一个主打安全的Cortex-SC系列(SC:SecurCore),主要用于政府安全芯片。



好啦,讲了那么多,来做个总结!


总之,ARM之所以能有今天的地位,既有外部的机遇因素,也有内部的战略因素。


他们选择了一条和英特尔截然相反的道路。英特尔一直以来坚持的是重资产的、封闭的全产业链商业模式,而ARM是轻资产的、开放的合作共赢模式。


对ARM来说,合作伙伴的成功就意味着自己的成功。与ARM开展业务往来的每家公司均与ARM建立了“双赢”的共生关系。


640?wx_fmt=png

ARM 合作社区包含 1200 多位伙伴


ARM在低功耗方面的DNA,刚好赶上了移动设备爆发式发展的时代,最终造就了它的辉煌。


在即将到来的万物互联时代,可以预见,ARM极有可能取得更大的成功。


不知道大家从ARM的故事里学到了什么,我有几点体会如下:

1 人被逼急了,什么都干得出来。

2 你一直自以为的弱点,很可能是你的优点。

3 如果你干不过你的对手,就想办法团结更多的朋友。


640?wx_fmt=png


640?wx_fmt=jpeg

福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 图解分布式架构的发展和演进 | 技术干货

  • Docker 系列学习文章 | 什么是容器云?

  • 任正非:华为海思芯片不是“备胎”!

  • 揭秘清华 AI 学堂班:姚期智担任首席教授,2019 年首批招收 30 人

  • Google Android 向华为“闭源”!华为手机迎来至暗时刻!

  • "两年前我对区块链的了解为零, 两年后我成了工程师" 我是如何得到第一份工作的?

  • 《使女的故事》大火,AI是背后最大推手?


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio中输入英文会在字母之间自动增加空格

现象 不小心按了什么键之后字母之间增加了空格,如下面: ![在这里插入图片描述](https://img-blog.csdnimg.cn/b211b973b9c8470fae4402161ddb3935.png 解决办法 针对上面图片中显示的这种英文字母之间出现空格,是输入法出现了问题。恢复的…

C中指针与成员变量生命周期的示例

引言 本文针对于碰到的指针做一些记录。详见下面的示例。 示例一 返回char类型指针&#xff0c;使用局部静态数组。 #include <stdlib.h>char * GetTestMemory(void) {static char p[] "hello world";printf("src%x\n",p);//数组首地址printf(&…

从Spark Streaming到Apache Flink: 实时数据流在爱奇艺的演进 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;陈越晨转自&#xff1a;高可用架构本文将为大家介绍Apache Flink在爱…

Storm精华问答 | Storm的配置需要注意什么问题?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架&#xff0c;具有最高的摄取率。今天&#xff0c;我们就挑一些Storm的安装配置问题来看看吧。1Q&#xff1a;…

这可能是把策略模式讲的最通俗易懂得文章了!

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;周末无事&#xff0c;窝在家里面看《权力的游戏第八季》&#xff0c;看的很是津津有味…

C++中动态数组实现

实现动态数组动态数组示例代码运行环境运行效果动态数组 动态数组Vector可以动态扩展内存&#xff0c;其采用连续的内存空间&#xff0c;当内存空间不足&#xff0c;便以原来的容量的2倍或者1.5倍成倍的扩展&#xff0c;将原有的数组元素拷贝到新分配的内存空间中&#xff0c;…

华为面试改革,我们该怎么跟进?

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;近日&#xff0c;华为轮值董事长徐直军撰写了《关于公司高端精英类、软件类人才面试方…

C++中单链表的实现

单链表的实现单链表示例代码开发环境运行结果单链表 链表内存空间不一定连续&#xff0c;其扩展性较好。多余的不多说了。该文主要记录单链表的实现&#xff0c;该单链表含有一个非空的头节点。链表的操作实际上是对其指针域与数据域的操作。 示例代码 直接上代码&#xff1…

使用说明_预拌混凝土使用说明

尊敬的客户感谢您使用我公司的混凝土。为保证您的工程质量&#xff0c;我公司根据配制的混凝土性能&#xff0c;参与《预拌混凝土》GB/T14902-2003、混凝土施工有关标准以及工程施工过程中常见问题制定出本说明书和技术交底。敬请认真阅读并按本说明书和技术交底等规定的有关操…

【算法精讲】分享一道很不错的算法题

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;帅地转自&#xff1a;苦逼的码农分享一道leetcode上的题&#xff0c;…

C++中实现Stack

栈的实现栈示例代码开发环境运行结果栈 栈本着先进后出的原则&#xff0c;来存取数据。作为数据结构中的一种&#xff0c;这里不多介绍相关栈。仅以此文记录C中栈的实现&#xff0c;可帮助提升编程能力与对栈的理解。 示例代码 直接上代码。 SeqStack.h #pragma once#defin…

使用码云

使用GitHub时&#xff0c;国内的用户经常遇到的问题是访问速度太慢&#xff0c;有时候还会出现无法连接的情况&#xff08;原因你懂的&#xff09;。 如果我们希望体验Git飞一般的速度&#xff0c;可以使用国内的Git托管服务——码云&#xff08;gitee.com&#xff09;。 和G…

vstar为什么登录不了_一手的闲鱼号,为什么现在闲鱼号一号难求

现在随着闲鱼不断被众人发现是一个新的发财之地&#xff0c;之后便各种有关闲鱼项目的方案是层出不穷&#xff0c;比如闲鱼店群啊&#xff0c;那么一个人顶多只能够拥有几个闲鱼号&#xff0c;那么对于一些想要在闲鱼里面赚取一笔的人是远远不够的&#xff0c;那么自然也就造成…

游戏直播行业真的如你想象般暴利? | Alfred数据室

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;AlfredWu转自&#xff1a;Alfred数据室最近几年游戏直播行业火了&…

C++使用模板实现元素的反序

实现任意类型序列中元素的反序所涉知识点示例代码开发环境运行结果注意所涉知识点 阅读此文需要掌握的知识点&#xff1a;回调函数&#xff0c;模板类&#xff0c;类模板&#xff0c;栈。 示例代码 这里直接上代码。 #pragma once #include <Stack> using namespace …

Maven配置、使用

一、Maven安装与配置 1.1 下载maven安装包&#xff0c;解压即可使用 官网&#xff1a;http://maven.apache.org/download.cgi 1.2 配置maven环境变量 1.2.1 此电脑-【属性】-【高级系统设置】-【环境变量】-【建系统变量】 第一处&#xff1a;M_HOME 解压路径&#xff1a…

5G精华问答 | 5G的关键无线技术是啥?

5G的概念虽然很早就已经提出&#xff0c;但是对于大多数用户来说&#xff0c;真正听到并且对5G有了初步的了解还是在今年。今天就让我们来看看关于5G的精华问答吧。1Q&#xff1a;5G能干什么&#xff1f;A&#xff1a;5G将带来光纤般的“零”时延接入速率&#xff0c;同时将给网…

C++中实现链栈

链栈链栈简述示例代码开发环境运行结果注意链栈简述 链栈从概念上看是链表和栈的结合&#xff0c;含有栈先进后出的特性&#xff0c;也具有链表的动态增加节点的特性&#xff0c;这里相当于在链表的基础上增加只能从一端操作&#xff0c;且保持先进后出的特性。将头节点所在的…

Intellij IDEA中Mybatis Mapper自动注入警告的6种解决方案

相信使用Mybaits的小伙伴们一定会经常编写类似如下的代码&#xff1a; 可以看到 userMapper 下有个红色警告。虽然代码本身并没有问题&#xff0c;能正常运行&#xff0c;但有个警告总归有点恶心。本文分析原因&#xff0c;并列出解决该警告的几种方案。 原因 众所周知&…

强封锁之后,华为正寻求10亿美元贷款;苹果发布iOS 12.3.1正式版,出击垃圾短信;联想CFO为“联想搬出中国”言论道歉;...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 中芯国际宣布从美国退…