ARM的那些事儿

前言


比起那些耳熟能详的半导体巨头公司, 对于大多数人来说, ARM 公司就显得较为陌生了,但我相信你所使用的手机中必定有 ARM 的痕迹。


自从进入21世纪, 智能手机开始崛起。NoKia (诺基亚)退出手机市场, iPhone(苹果)和Android(安卓)手机强势抢占市场。 智能手机的浪潮成就了ARM公司, 令其生存于众巨头半导体公司构成生态圈下的核心位置。 当然ARM独特的生存方式和优秀的设计也成为了市场的巨大推动力。 不得不说, 当下移动互联网的发展迅速得益于ARM公司。 那么ARM到底是怎么样的一家公司? 希望本篇博文能或多或少给你一点启示。


ARM历史


1978 年 12 月 5 日, 物理学家 Hermann Hauser 和工程师 Chris Curry 在英国剑桥创办了 CPU 公司(Cambridge Processing Unit, 剑桥处理器), 当时的主要业务是为当地市场供应一些电子设备。 


1979 年 CPU 公司更名为 Acorn(橡果, 音译为艾康), 这时候 Acorn 还没有属于自己的 CPU(Central Processing Unit, 中央处理器)设计。 由于嫌弃当时使用的  Motorola(摩托罗拉) 的芯片性能不佳且价格昂贵,Acorn 向当时的另外一家公司 — Intel, 即现在的 PC 机市场巨头讨要 1982 年其推出的 80286 芯片设计,但是遭到了拒绝。于是乎,Acorn 开始设计自家的 CPU。


1985 年,ARM 设计出了第一代处理器,并用其开发了一台计算机,命名为 Acorn RISC Machine,缩写就是 ARM, 这是 ARM 名字最早的由来。 1990 年 11 月 27 日, Acorn 公司正式改组为 ARM 计算机公司。ARM 的全称改为 Advanced RISC Machine, 就是我们今天知道的 ARM 公司了。


这里有必要简单解释一下 RISC, RISC 的全称是 Reduced Instruction Set Computer(精简指令集计算机), 它支持的汇编指令比较简单, 功耗小。 与之相对的就是 CISC,  即 Complex Instruction Set Computer(复杂指令集计算机), 它所支持的指令便较为复杂了。 在 PC 机领域最具代表性的就是 Intel 和 AMD。


ARM授权方式


说回 ARM, ARM 公司在成立之初, 它的业务并不景气。 它没有能力拥有像 Intel 一样从 CPU 的设计到芯片的生产和售卖这样完整的生产链。 于是 ARM 公司作了一个重大的决定: 只做处理器的设计, 而不自主生产芯片。 通过IP(Intellectual Property, 知识产权) 授权方式把方案卖给其他公司。 这一冒险的方式却令 ARM 公司获得了巨大的成功。 到现在, 使用 ARM 公司方案的公司有 IBM(国际商业机器公司)、 Apple(苹果)、 Qualcomm(高通)、 Samsung(三星)、 TI(德州仪器)、 ST(意法半导体)、 Sony(索尼)、 HP(惠普)等一些著名的公司。 中国授权有华为海思、 全志、 台积电、 联发科等。


针对公司的具体情况, 可以从ARM公司购买不同的授权方式。 最主要的授权方式可以根据用户的选择余地从低到高分为三种: 处理器优化包 / 物理 IP 包授权(POP)、 处理器授权、 以及架构 / 指令集授权。


  • 处理器优化包 / 物理 IP 包授权(POP)是三种授权方式中等级最低的, 但适用于快速开发。 用户可以直接使用 ARM 优化过的处理器方案。 处理器类型、 代工厂、 工艺都是规定好的。 用户可以快速地开发出产品, 使用的代价也较低, 当然供用户自己发挥的余地是几乎没有的。
  • 拥有处理器授权的用户可以购买已经设计好的 ARM 处理器图纸, 但用户只能照着图纸实现, 能发挥的地方不多。 用户能决定的是设计成什么规格的芯片。 比如配置哪些模块、 增加那些外设、 使用几个核心、 设计多少缓存、 多高的频率、 使用什么工艺、 谁来代工等等。
  • 第三种授权方式就是架构 / 指令集授权了, 这种授权方式等级是最高的, 用户可以仅购买 ARM 的架构 / 指令集(ARMv7、ARMv8), 然后设计自己的 SoC (System on a Chip,片上系统)。 在全球拥有 ARM 这种授权方式的为数不多, 我们较为熟知的有Apple、 Qualcomm。 中国华为海思在 2013 年获得这种授权方式, 2016 年上海华芯通也获得了 ARM 架构授权。


有趣的是, ARM 公司在这样的生存方式下成为了半导体界的「地产开发商」, 有实力的公司购买「地皮」, 自行设计建筑; 还有一些则购买「毛坯房」, 自行「装修」; 想要最快「入住」的则直接购买「精装房」。


ARM产品


说完授权方式,重点来说下ARM公司有哪些设计产品:

(下面部分有转载内容,详细见参考资料 [2]。)

  • 1985 年, ARMv1 架构诞生, 该版本架构只在原型机 ARM1 出现过,也就是上文提到的 ARM 首台自主研发的计算机, 只有 26 位的寻址空间(64MB), 没有用于商业产品, 但是却具有里程碑意义。
  • 1986 年, ARMv2 架构诞生, 首颗量产的 ARM 处理器 ARM2 就是基于该架构, 包含了对 32 位乘法指令和协处理器指令的支持, 但同样只有 26 位的寻址空间。 其后还出现了变种 ARMv2a架构, ARM3 即采用了 ARMv2a, 是第一片采用 On-Chip Cache(片上高速缓存)的 ARM 处理器。
  • 1990 年, ARMv3 架构诞生,第一个采用 ARMv3 架构的微处理器是 ARM6 以及 ARM7 ,其拥有On-Chip Cache、 MMU(Memory Management Unit, 存储器管理单元)和 Write Cache(写缓冲), 寻址空间从原来的 26 位增大到 32位(4 GB 的寻址大小)。
  • 1993 年, ARMv4 架构诞生, 这个架构被广泛使用, ARM7TDMI、 ARM8、 ARM9TDMI 和StrongARM 采用了该架构。 ARM 在这个系列中引入了 T 变种指令集, 即处理器可工作在 Thumb 状态,增加了 16 位的 Thumb 指令集。
  • 1998 年, ARMv5 架构诞生,ARM7EJ、 ARM9E、 ARM10E 和 Xscale 采用了该架构。 这版的架构改进了 ARM / Thumb 状态之间的切换效率。 此外还引入了 DSP 指令和支持 Java 的功能 。
  • 2001年, ARMv6 架构诞生, ARM11 采用的是该架构, 这版架构强化了图形处理性能。 此外 ARM 在这个系列中引入了混合 16 位 / 32 位的 Thumb-2 指令集。
  • 2004年,ARMv7 架构诞生, 从这个时候开始 ARM 以 Cortex 来重新命名处理器, Cortex-M3 / 4/ 7,Cortex-R4 / 5 /6 / 7,Cortex-A8 / 9 / 5/ 7/ 15 /17都是基于该架构。这三种系列面向的对象不同:「A(Applicational )系列面向尖端的基于虚拟内存的操作系统和用户应用; 「R」(Real-time)系列针对实时系统;「M」(Micro-)系列针对微控制器。
  • 2006 年, ARM 宣布收购 Falanx。 这是 ARM 进军 GPU 处理器的标志。
  • 2007 年,在 ARMv6 基础上衍生了 ARMv6-M 架构, 该架构是专门为低成本、 高性能设备而设计, 向以前由 8 位设备占主导地位的市场提供 32 位功能强大的解决方案。 Cortex-M0 / 1 /0+ 采用了该架构。 同时 ARM 首次以 ARM 品牌推出了 Mali-200 GPU, 然后是 Mali-400 GPU, 均基于 Utgard 架构
  • 2010年, ARM Mail 推出 Midgard 架构,产品包括 Mali-T604、 Mali-T700、 Mali-T800, 最多可以做到 16 核心。
  • 2011 年, ARMv8 架构诞生, 这是 ARM 公司首款能支持 64 位指令集的处理器架构。
  • 2016年, 刚刚过去的一年里 ARM 公司也推出了一系列的处理器, 同时推出了全新的 GPU 架构 Bifrost 架构, 并在此架构上推出了 Mail-G71。 与 Mail-DP、 Mail-V 系列构成了 Mali Multimedia Suite(Mali多媒体套件)。
  • ……


这里谈一下个人对架构和核心的概念理解。有些人也喜欢将核心等同于架构,个人喜欢分开来讲,这样比较容易搞清楚 ARM7 和 ARMv7 的区别:

  • 架构: 指令集体系结构。 ARM 公司从成立到现在一共发布了 8 种指令集体系结构,即  ARMv1~ARMv8架构。
  • 核心:基于架构开发出的处理器核心,比如ARM7、ARM9、ARM11、Cortex-A9等等。

 

市场上基于ARM的SoC


说完了这些,我想你可能对 ARM 公司有了一定的了解, 我们再来说说市场上一些流行手机搭载的 SoC ,我想你就会明白  ARM  在其中扮演了一个怎么样的角色。


首先是 Apple , Apple 是 ARM 架构授权的拥有者。 它所推出的 iPhone 不直接使用 ARM 设计的处理器核心。 而是自行设计 CPU, 一年设计一款 CPU。 iPhone7 系列手机于 2016 年刚刚推出, 它搭载的 A10 Fusion 处理器便是基于 ARMv8-A 架构。还有之前的 Apple A8 Typhoon、 Apple A9 Twister 也是基于 ARMv8-A 架构的。 Apple自行设计出的这一款 A10 处理器可谓之为现存最强 SoC。


然后是庞大的 Android 阵营,对应的 SoC 厂商就比较多了, 首先是 Qualcomm(高通), 它设计的 SnapDragon(骁龙)系列 SoC 在 Android 市场上占据的份额着实不小。拿几款这几年比较热门的 SnapDragon 处理器来说:

  • SnapDragon 800 Krait,基于 ARMv7-A 架构;
  • SnapDragon 810,基于 ARMv8-A 架构,但不是自主设计核心, 而是使用了 Cortex-A57 (大核心 Cortex-A15 的升级版)和 Cortex-A53(小核心 Cortex-A7 的升级版)大小核心, 即很有名的 Big.Little 模式;
  • SnapDragon 820 Kryo 放弃了这种大小核心模式,而是基于 ARMv8 架构,参照部分 Cortex-A72 核心设计了SoC。


除次之外还有 Samsung 设计的 Exynos 系列处理器, 华为自主设计的 Kirin 系列处理等等, 它们所设计的 SoC 都是基于 ARM 架构。当然了, 纵使使用了同一种架构或者核心, 不同厂商设计出的 SoC 性能必然是不同的,所以我们选择手机时会更关注是哪个公司设计的 SoC, 而不会更关注使用了 ARM 的哪种架构或者核心。


后记


虽然 2016 年 ARM 被日本软银收购,但是这并不意味着 ARM 没落了, ARM 在物联网时代必定会占据很重要的角色,就让我们拭目以待吧。ARM 的那些事儿就说到这了,虽然感觉还是有很多没说完, 不过再说下去就真的说不完了,还是留点空白给未来的 ARM 吧。


-----------------------------------------------------潇洒的分割线-------------------------------------------------------


写在后面的话:

       写这篇博文的时候萌生出一个想法, 干脆写一个系列吧, 把那些著名公司的事儿讲个遍。 冷静下来想想, 这还是一个挺漫长的过程, 希望慢慢完成它吧。 这是我在 CSDN 上写的第一篇博文, 写得不好之处, 敬请谅解, 欢迎指正。 之所以萌生了写博文的想法, 无非是想要对得起自己所学罢了。 一直有在电脑上写笔记的习惯, 不过往往都是写完了就丢在硬盘的某个角落里了, 如果把它们整理出来想必也是一笔不小的「财富」, 整理到博客上倒是一个不错的选择, 在写博文当中也算是再次学习吧。 只不过碍于工作和学习时间的问题, 也不知道自己能做到多少,恩, 努力吧……


2017 年 1 月 16 日

Kilento
附:2016年ARM公司产品

  • Mali-DP650
  • Cortex-R8: 基于 ARMv7-R 架构
  • Cortex-A32: 基于 ARMv8-A 32bit 架构
  • Cortex-A73:基于 ARMv8-A 32bit / 64bit架构
  • Mali-G71:  基于全新 Bifrost 架构
  • Cortex-R52:基于 ARMv8-R 架构的嵌入式处理器
  • Cortex-M23:基于 ARMv8-M 架构的嵌入式处理器
  • Cortex-M33:基于 ARMv8-M 架构的嵌入式处理器
  • Mali-G51
  • Mali-V61



参考资料


[1]ARM架构https://zh.wikipedia.org/wiki/ARM%E6%9E%B6%E6%A7%8B

[2]文中ARM架构历史部分转载(有修改)自http://blog.csdn.net/henjay724/article/details/52664350

[3]ARM发展史:http://www.veryarm.com/tag/arm%E5%8F%91%E5%B1%95%E5%8F%B2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值