ARM发展简史
ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。却做到了在手持设备市场上占有90%以上的份额。
软银在2016年耗资320亿美元拿下ARM,使得本来就大红大紫的ARM公司,再一次窜到了业界人士的面前。ARM这家不生产芯片却也能数钱数到手抽筋的公司到底有着怎样的发展史?
1978年,CPU公司悄悄在英国剑桥诞生。
这个CPU指的不是电脑里面的CPU芯片,而是跟它有一样字母的公司,可能很多人并不是很熟悉。
Central Processing Unit,中央处理器
CPU公司的全称:Cambridge Processor Unit,字面意思是“剑桥处理器单元”。
CPU公司的创始人:奥地利籍物理学博士Hermann Hauser和他的朋友,英国工程师Chris Curry。
Hermann Hauser和Chris Curry
发展应该是这样的↓
1978
Hermann Hauser 和 Chris Curry等人创立了Acorn计算机公司。
1982
Acorn计算机公司推出了BBC Micro计算机,这是欧洲第一台畅销的个人计算机。
1985
Acorn与合作伙伴推出了ARM1芯片,以此作为其未来个人计算机的中枢。
1990
苹果公司投资ARM,以保证其Newton手持计算机的芯片供应,这个不切实际的设备以失败而告终。
1998
诺基亚基于ARM设计的畅销帮助它成了全世界最大的手机生产商。
…………
不过~CPU公司成立之后,主要从事电子设备设计和制造的业务。他们接到的第一份订单,是制造赌博机的微控制器系统。。。
这个微控制器系统被开发出来后,称之为Acorn System 1。
Acorn System 1
1979年,这家公司给自己换了个名字——Acorn Computer Ltd。
Acorn是什么意思?橡子。
Acorn Computer Ltd公司的商标里面就有一个橡子。
没错,就是冰河世纪里面,那只松鼠一直在追的那个东东。
关于Acorn,还有一个有趣的说法,就是因为他们想在电话黄页里排在Apple(苹果)公司的前面……
在Acorn System 1之后,他们又陆续开发了System 2、3、4,还有面向消费者的盒式计算机——Acorn Atom。
Acorn Atom
到了1981年,公司迎来了一个难得的机遇 —— 英国广播公司BBC打算在整个英国播放一套提高电脑普及水平的节目,他们希望Acorn能生产一款与之配套的电脑。
这个计划非常宏大,英国政府也参与其中(购机费的一半将由政府资助),电脑一旦采购,将进入英国的每一间教室。
接下这个任务之后,Acorn就开始干了起来。
结果,很快他们就发现,自己产品的硬件设计并不能满足需求。当时,中央处理器的发展潮流,正在从8位变成16位。Acorn并没有合适的芯片可以用。
起初,他们打算使用美国国家半导体和摩托罗拉公司的16位芯片。但是,经过评估后,他们发现了两个缺陷:
第一
芯片的执行速度有点慢,中断的响应时间太长。
第二
售价太贵,一台500英镑的电脑,处理器芯片就占到100英镑。
他们打算去找当时如日中天的英特尔(Intel),希望对方提供一些80286处理器的设计资料和样品。但是,却遭到了拒绝。
备受打击的Acorn公司,一气之下决定自己干,自己造芯片。(嗯,这个桥段好像很熟悉……)
当时,Acorn公司的研发人员从美国加州大学伯克利分校找到了一个关于新型处理器的研究——简化指令集,恰好可以满足他们的设计要求。
在此基础上,经过多年的艰苦奋斗,来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber最终完成了微处理器的设计。
Sophie Wilson和Steve Furber
前者负责指令集开发,后者负责芯片设计。
对于这块芯片,Acorn给它命名为Acorn RISC Machine。
嗯,这就是大名鼎鼎的“ARM”三个字母的由来。
Acorn是公司名称,Machine是机器,那RISC是什么意思呢?
RISC的全称是"精简指令集计算机"(reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别适合移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA。
这里解释一下,到底“简化指令集”有什么意义。
它是相对于“复杂指令集(CISC,complex instruction set computer)”的一个概念。
早期的处理器都是CISC架构(包括英特尔的处理器),随著时间推移,有越来越多的指令集加入。由于当时编译器的技术并不纯熟,程序都会直接以机器码或是组合语言写成,为了减少程序的设计时间,逐渐开发出单一指令,复杂操作的程序代码。设计师只需写下简单的指令,再交给CPU去执行。
但是后来有人发现,整个指令集中,只有约20%的指令常常会被使用到,大约占了整个程序的80%;剩余80%的指令,只占了整个程序的20%。(典型的二八原则)
于是,1979年美国加州大学伯克利分校的David Patterson教授提出了RISC的想法,主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。
1985年10月,英特尔发布了80386。在80386面前,ARM1就只有被吊打的份了。
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位微处理器)。
MOS 6502处理器
这款电脑一开始取名Proton,后来被改名为BBC Micro。
BBC Micro
到了 1984 年,大约80%的英国学校都配有这款电脑。Acorn公司彻底在大英帝国老百姓面前刷了一把存在感。
后来,ARM处理器被研发出来之后,用在了BBC Micro的后续型号中。
BBC Micro电脑里面的ARM芯片
在ARM1之后,Acorn陆续推出了好几个系列,例如ARM2,ARM3。
时间继续往前推移。
1990年11月27日,Acorn公司正式改组为ARM计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。
ARM LOGO
注意:这里的ARM是公司名称,不是芯片名称。这个ARM的完全拼写也不一样,是Advanced RISC Machines。
前面的芯片名称:Acorn RISC Machine
现在的公司名称:Advanced RISC Machines
尽管如此,ARM的起步还是比较寒酸。他们最开始的办公地点,是一个谷仓……
谷仓外景
不过,谷仓的内部环境还算不错。
谷仓内景
在成立后的那几年,ARM业绩平平,工程师们人心惶惶,害怕随时失业。
在这个情况下,ARM决定改变他们的产品策略——他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司,即“Partnership”开放模式。
没想到正是这种模式,开创了属于ARM的全新时代。
ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
重点来啦~
ARM所采取的是IP(Intellectual Property,知识产权)授权的商业模式,收取一次性技术授权费用和版税提成。
具体来说,ARM有三种授权方式:处理器、POP以及架构授权。
处理器授权是指授权合作厂商使用ARM设计好的处理器,对方不能改变原有设计,但可以根据自己的需要调整产品的频率、功耗等。
POP(processor optimization pack,处理器优化包)授权是处理器授权的高级形式, ARM出售优化后的处理器给授权合作厂商,方便其在特定工艺下设计、生产出性能有保证的处理器。
架构授权是ARM会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器(例如后来高通的Krait架构和苹果的Swift架构,就是在取得ARM的授权后设计完成的)。
ARM商业模式
所以,授权费和版税就成了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芯片被用于该产品之中。
Apple Newton Message Pad
现在被认为是PDA和智能手机的鼻祖
但是很遗憾,因为Newton技术过于超前,加上一些用户体验上的缺陷,所以未能被市场接受,后来以失败告终。
但ARM积累了经验,继续改良技术。没过多久,ARM迎来了自己的黄金机遇——移动电话时代来临了。
ARM首先迎来了一个大客户——诺基亚Nokia。
当时,诺基亚被建议在即将推出的GSM手机上使用德州仪器的系统设计,而这个设计是基于ARM芯片的。
因为内存空间的问题,诺基亚一开始对ARM是拒绝的。
为此,ARM专门开发出16位的定制指令集,缩减了占用的内存空间。
就这样,诺基亚6110成为了第一部采用ARM处理器的GSM手机,上市后获得了极大的成功。
Nokia 6110,相信有不少人用过或见过
ARM后来又跟着推出了ARM7等一系列芯片,授权给超过165家公司。随着移动手机的井喷式普及,ARM赚得盆满钵满,不亦乐乎。
1998年4月17日,业务飞速发展的ARM控股公司,同时在伦敦证交所和纳斯达克上市。
ARM在纳斯达克上市
在ARM公司上市之后,处于后乔布斯时代的苹果公司,逐步卖掉了所持有的ARM股票,把资金投入到ipod产品的开发上。
鉴于苹果研究人员对ARM芯片架构非常熟悉,ipod也继续使用了ARM芯片。
Apple ipod
众所周知,在乔帮主的带领下,ipod取得了巨大的商业成功。
这还没完,2007年,真正的划时代产品出现了。
那就是iPhone。
苹果iPhone的出现,彻底颠覆了移动电话的设计,开启了全新的时代。
第一代iPhone,使用了ARM设计、三星制造的芯片。
Iphone的热销,App Store的迅速崛起,让全球移动应用彻底绑定在ARM指令集上。
紧接着,2008年,谷歌推出了Android(安卓)系统,也是基于ARM指令集。
Android(安卓)系统
至此,智能手机进入了飞速发展阶段,ARM也因此奠定了在智能手机市场的霸主地位。
同年,ARM芯片的出货量达到了一百亿颗。
微软公司(2011年)宣布,下一版Windows将正式支持ARM处理器。这是计算机工业发展历史上的一件大事,标识着x86处理器的主导地位发生动摇。
想必英特尔一定是连肠子都悔青了。
其实,正是英特尔一步一步将ARM送上了如今无法取代的位置。90年代,高通想和英特尔合作,英特尔认为手机市场太小,拒绝了合作。后来,苹果的第一代iPhone一开始也想和英特尔合作,英特尔还是以相同的理由拒绝了。结果,移动设备市场被英特尔拱手让人,现在想追也追不回来了。
2010年6月中,苹果公司向ARM董事会表示有意以85亿美元的价格收购ARM公司,但遭到ARM董事会的拒绝。
2016年7月18日,曾经投资阿里巴巴的孙正义和他的日本软银集团,以320亿美元收购了ARM集团。
孙正义
至此,ARM成为软银集团旗下的全资子公司。不过,软银集团表示,不会干预或影响ARM未来的商业计划和决策。
这里要讲一下ARM的技术及产品系列。
ARM公司主要设计ARM系列AISC处理器内核,它不生产芯片,只提供IP核。先以一个例子解释一下架构、核、处理器和芯片:S3C2440,这是一款SoC芯片,注意,它不是cpu,2440和我们熟知的51单片机有点类似,都属于嵌入式,嵌入式的发展到目前经历了三个阶段,分别是SCM、MCU、SoC。51属于SCM或MCU,而2440就属于SoC了,先来看看51单片机的内部结构。
51单片机的内部结构
其内部结构可以简单的分成两部分:cpu和外设。再来看2440的:
2440内部结构
中间的那个arm920t就是它的处理器,处理器和核在我看来在这里是一个概念,只不过一个是硬概念,一个是软概念。这里的920t就既是处理器又是核。而三星做的就是除了这个cpu外其他的东西。
那架构呢?再来看一张图。
ARM处理器家族
其中左侧的就是架构,右侧的是处理器,也可以叫核。arm首个最成功的cpu是ARM7TDMI,是基于ARMv4的。ARM架构包含了下述RISC特性:
1.读取/储存 架构
2.不支援地址不对齐内存存取(ARMv6内核现已支援)
3.正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)
4.大量的16 × 32-bit 寄存器阵列(register file)
5.固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担。
6.大多均为一个CPU周期执行。不同版本的架构会有所调整。
和三星相同的其他和arm合作的各大厂商通常会把它的CPU和各类外围IP都放到一起,然后自己拿着图纸去流片,生产出来的也是一个正方形,下面有很多引脚,这个东西不仅包含了CPU,还包含了其他的控制器,这个东西就叫做SOC(system
on chip)。从英文来看,所谓的四核SOC什么的,本意就不是单指CPU,而是四核系统。
所以目前各大厂商所做的事情,就是买来ARM的授权,得到ARM处理器的源代码,而后自己搞一些外围IP(或者买或者自己设计),组成一个SOC后,去流片。不同的SOC,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心),所以,海思是拥有自主产权的SOC架构。可是,无论任何厂商,再怎么折腾,都没有怎么动过CPU,ARM核心就好好的呆在那里,那就是中央处理器。
目前ARM的产品天梯:
ARM命名规则:
第一个数字:系列名称:eg.ARM7、ARM9
第二个数字:Memory system
2:带有MMU
4:带有MPU
6:无MMU与MPU
第三个数字:Memory size
0:标准Cache(4-128k)
2:减小的Cache
6:可变的Cache
第四个字符:
T:表示支持Thumb指令集
D:表示支持片上调试(Debug)
M:表示内嵌硬件乘法器(Multiplier)
I :支持片上断点和调试点
E:表示支持增强型DSP功能
J :表示支持Jazelle技术,即Java加速器
S:表示全合成式
总之,ARM之所以能有今天的地位,既有外部的机遇因素,也有内部的战略因素。
他们选择了一条和英特尔截然相反的道路。英特尔一直以来坚持的是重资产的、封闭的全产业链商业模式,而ARM是轻资产的、开放的合作共赢模式。
对ARM来说,合作伙伴的成功就意味着自己的成功。与ARM开展业务往来的每家公司均与ARM建立了“双赢”的共生关系。
ARM 合作社区包含 1200 多位伙伴
ARM在低功耗方面的DNA,刚好赶上了移动设备爆发式发展的时代,最终造就了它的辉煌。ARM公司的高性能、低耗能的RISC微处理器目前占据了手机处理器90%的市场份额,平板电脑处理器80%的市场份额,上网本处理器30%的市场份额。
ARM成为主流,恐怕指日可待。难怪有人惊呼,Intel公司将被击败!ARM微处理器核技术广泛应用于便携式通信产品、手持运算、多媒体和嵌入式解决方案等领域,已成为RISC的标准。
转自百问网
ARM发展简史的更多相关文章
- Web前端发展简史
Web前端发展简史 有人说“前端开发”是IT界最容易被误解的岗位,这不是空穴来风.如果你还认为前端只是从美工那里拿到切图, JS和CSS一番乱炖,难搞的功能就去网上信手拈来,CtrlC + Ctrl ...
- Web发展简史(精编故事版,贤来给你讲故事)
Web发展简史 一. Web发展简史之隔壁老王的故事 有一个人叫隔壁老王,老王有一个爱好就是爱看电影.有一天,这个隔壁老王想看一部电影,可是电脑里面存储的电影太多了,他费了老大劲才从里面找到,觉得很不 ...
- 发展简史jQuery时间轴特效
发展简史jQuery时间轴特效.这是一款鼠标滚动到一定的高度动画显示企业发展时间轴特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="wr ...
- AI技术说:人工智能相关概念与发展简史
作为近几年的一大热词,人工智能一直是科技圈不可忽视的一大风口.随着智能硬件的迭代,智能家居产品逐步走进千家万户,语音识别.图像识别等AI相关技术也经历了阶梯式发展.如何看待人工智能的本质?人工智能的飞 ...
- java 发展简史
[0]README 0.1) 本文转自 core java volume 1,仅供了解Java 的发展历史,它的前世今生,所谓知己知彼,百战不殆(just a joke) : [1]java 发展简史 ...
- Kubernetes 入门必备云原生发展简史
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 "未来的软件一定是生长于云上的"这是云原生理念的最核心假设.而所谓"云原生",实际上就是在定义一条能 ...
- HTTP发展简史
HTTP发展简史 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...
- 【转】WEB技术发展简史
[转]WEB技术发展简史 一.Web技术发展的第一阶段——静态文档 第一阶段的Web,主要是用于静态Web页面的浏览.用户使用客户机端的Web浏览器,可以访问Internet上各个Web站点,在每一个 ...
- 【H264】视频编码发展简史
一.常见视频编码格式 编码格式有很多,如下图: 目前比较常用的编码有: H26x系列:由ITU(国际电传视讯联盟)主导,侧重网络传输 MPEG系列:由ISO(国际标准组织机构)下属的MPEG(运动图象 ...
随机推荐
- ftp搭建记录
1.安装vsftpd的rpm包 rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm 使用YUM命令安装 yum install vsftpd -y. 2.ftp命令 s ...
- 使用await写异步优化代码
使用promise: function readMsg(){ return dispatch=>{ axios.post('/msgList').then(res=>{ console.l ...
- OAuth_1
OAuth2.0是一个应用之间彼此访问数据的开源授权协议.比如,一个游戏应用可以 访问Facebook的用户数据.用户访问web游戏应用,该游戏应用要求用户通过Facebook 登录.用户登录到Fac ...
- 一张图告诉你js为什么要加分号
当js代码被压缩或者通过其他方式改变你的编码结构时,分号能够给编译器和解析器提供精准的语句拆分. 如图中m 和 c 的例子就能解释为什么这样做.
- oracle-字符串常用函数
1.拼接字符串 1)可以使用“||”来拼接字符串 -------------------------------------- select '拼接'||'字符串' as str from dual ...
- SCP-Py-001
项目编号:Py-001 项目等级:Euclid 特殊收容措施: Py-001必须被存储于基金会主站的网络硬盘中,并切断一切与互联网的连接. Py-001突破收容在网络上传播后,一旦在一台计算机上被下载 ...
- 高级运维(七):Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包
一.Subversion基本操作 目标: 本案例要求先快速搭建好一台Subversion服务器,并测试该版本控制软件: 1> 创建版本库 2> 导入初始化数据 3> 检出 ...
- win 10 把秘钥清掉之后查不到秘钥怎么办
因工作需要系统要激活,跟这网上说的 使用 slmgr.vbs /upk 命令卸载密钥.但是在第2步的时候 slmgr /ipk ****-****-****-**** 无法安装.. 问题现在 ...
- SQLSERVER 时间日期函数,查询今天日期、昨天、一个星期、半年前的数据
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where D ...
- Kafka启动报错
文章目录 问题 解决 问题 通过 ./kafka-server-start.sh ../config/server.properties 启动kafka 之前在server.properties中修改 ...