加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • ARM 公司
    • ARM 内核与架构
    • ARM 内核
    • ARM 指令集架构
    • ARM11 之后处理器和指令集架构
    • 什么是 SOC?
    • 举例:Exynos 4412 SCP
    • ARM 授权
    • 总结
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】

2020/10/19
366
阅读需 20 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

有粉丝问我到底什么是 ARM,搞不清楚 Cortex、arm 内核、arm 架构、ARM 指令集、soc 这些概念都是什么关系,下面一口君给大家整理一下关于 ARM 相关的一些概念。

1、ARM 既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。2、ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,而是转让设计许可,由合作公司生产各具特色的芯片。3、ARM 处理器的内核是统一的,由 ARM 公司提供,而片内部件则是多样的,由各大半导体公司设计,这使得 ARM 设计嵌入式系统的时候,可以基于同样的核心,使用不同的片内外设,从而具有很大的优势。

下面我们针对这些概念,给大家逐一介绍。

ARM 公司

ARM 首先是一个公司,即 Advanced RISC Machines 的缩写。但是他本来并不叫这个名字,来看看 ARM 公司的成长历史。

1978 年,一个名叫 Hermann Hauser 的奥地利籍物理学博士,还有他的朋友,一个名叫 Chris Curry 的英国工程师成立了一家名字叫“CPU”的公司。这家 CPU 公司的全称,是 Cambridge Processor Unit,字面意思是“剑桥处理器单元”。

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

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

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

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

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

但是他们就发现,自己产品的硬件设计并不能满足需求。当时,中央处理器的发展潮流,正在从 8 位变成 16 位。Acorn 并没有合适的芯片可以用。

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

备受打击的 Acorn 公司,一气之下决定自己干,自己造芯片。(多么熟悉的桥段!)

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

在此基础上,经过多年的艰苦奋斗,来自剑桥大学的计算机科学家 Sophie Wilson 和 Steve Furber 最终完成了微处理器的设计。前者负责指令集开发,后者负责芯片设计。

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

这就是**“ARM”**三个字母的由来。

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

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

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

前面的芯片名称:Acorn RISC Machine 现在的公司名称:Advanced RISC Machines

20 世纪 90 年代,ARM 32 位 RISC(Reduced lnstruction Set Computer)处理器扩展到国际范围,占有了低功耗、低成本和高功能的嵌入式体系运用领域的领先地位。

ARM 公司既不出产芯片也不出售芯片,它只出售芯片技能授权。

正式这个政策的制定,让 ARM 公司摆脱了现金流的困扰,可以全身心都入到芯片研发上。

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

2007 年,划时代产品 -iPhone 问世。而第一代 iPhone,正是使用了 ARM 设计、三星制造的芯片。

2008 年,谷歌推出了 Android(安卓)系统,也是基于 ARM 指令集。至此,智能手机进入了飞速发展阶段,ARM 也因此奠定了在智能手机市场的霸主地位。

2016 年 7 月 18 日消息,日本软银以 234 亿英镑(约合 310 亿美元)的价格收购英国芯片设计公司 ARM。

2020 年 9 月 14 日,英伟达正式宣布将以 400 亿美元的价格从软银手中收购 ARM 公司。根据协议,英伟达将向软银公司支付价值 215 亿美元的英伟达股票,以及 120 亿美元现金。

目前这桩收购案遭到了包括英特尔、高通特斯拉等多家硅谷科技巨头的反对,他们认为这笔交易对行业不利,此外中国和欧盟的监管机构也可能会反对该收购案。

静观其变吧!

ARM 内核与架构

任何一款 ARM 芯片都由两大部分组成:ARM 内核,外设。

ARM 内核

ARM 内核:包括了寄存器组、指令集、总线存储器映射规则、中断逻辑和调试组件等。内核是由 ARM 公司设计并以销售方式授权给个芯片厂商使用的(ARM 公司本身不做芯片)。比如为高速度设计的 Cortex A8、A9 都是 ARMv7a 架构;Cortex M3、M4 是 ARMv7m 架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。

外设部分包括计时器、A/D 转换器、存储器、i2c、UARTSPIROM... 等等,则完全由各芯片厂商自己设计并与 ARM 内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数量和规格庞大的 ARM 芯片产业

ARM 指令集架构

指令集的设计是处理器结构中最重要的一个部分,用 ARM 的术语称之为 ISA(Instruction Set Architecture)。

指令集可以说是 cpu 设计的灵魂,是打开 CPU 这个潘多拉魔盒的咒语,要想使用 cpu,我们只能通过这些指令来操作 cpu。

对于 32 位的 cpu,这些指令就是一个个 32 位的 01 的序列,不同的值就代表了不同的机器指令,cpu 的硬件能完美的解析并执行这些指令,比如寻址、运算、异常处理等等。

当我们用手机玩着王者荣耀的时候,要知道我们的每发的一招,其实最终都是被翻译成了一系列机器指令。

从 1985 年 ARMv1 架构诞生起,到 2011 年,ARM 架构已经发展到了第八代 ARMv8。

Cortex-A32/35/53/57/72/73/77/78 采用的都是 ARMv8 架构,这是 ARM 公司的首款支持 64 位指令集的处理器架构。

ARM11 之前的处理器和指令集架构

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

ARM11 之后处理器和指令集架构

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

新的处理器家族,改以 Cortex 命名,并分为三个系列,分别是 Cortex-A,Cortex-R,Cortex-M。

很巧合,又是这三个字母A、R、M

在这里插入图片描述

Cortex-A 系列(A:Application)

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

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

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

Cortex-M 系列(M:Microcontroller)

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

Cortex-SC 系列(SC:SecurCore)

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

ARM 的产品天梯

ARM11 系列包括了 ARM11MPCore 处理器、ARM1176 处理器、ARM1156 处理器、ARM1136 处理器,它们是基于 ARMv6 架构。

ARM Cortex-A5 处理器、Cortex-A7 处理器、Cortex-A8 处理器、Cortex-A9 处理器、Cortex-A15 处理器隶属于 Cortex-A 系列,基于 ARMv7-A 架构。

Cortex-A53、Cortex-A57 两款处理器属于 Cortex-A50 系列,首次采用 64 位 ARMv8 架构。

2020 年 ARM 最近发布了一款全新的 CPU 架构 Cortex-A78,是基于 ARMv8.2 指令集。

什么是 SOC?

SoC 的全称叫做:System-on-a-Chip,中文的的意思就是“把系统都做在一个芯片上”。

SoC 上集成了很多手机上最关键的部件,比如 CPU、GPU、内存、也就说虽然它在主板上的存在是一个芯片,但是它里边可是由很多部件封装组成的。

比如通常我们所说的高通 801,麒麟 950. 三星的 exynos 4412,A6 等等都只是系统部件打包封装(SoC)后的总称。然而各家的打包封装的内容则不尽相同,原因也不尽相同。

经典的 ARM 系统级芯片或所谓的 Soc 包含许多组件,其中只有一些直接源自 ARM。首先,核心本身通常深度嵌入在设备内部,在设备范畴内通常不直接可见,而调试端口通常是唯一和核心本身相连的外露部分,有一些粘合逻辑,如时钟和复位集成电路

由于 ARM 核心只有两个中断输入,最常见的外设就是某种中断控制器,在外设内部,各组件通过芯片上互联总线架构相互连接,对于极大多数基于 ARM 的设备而言,这就是标准的 AMBA 互联。

AMBA 指定了两个总线,称为 AXI 的高性能系统总线,和称为 APB 的低功耗外设总线,APB 通常用于连接所有外设,AXI 则用于存储器和其他发高速设备,大多数设备都有一定数量的芯片上存储以及连接外设存储器设备的接口,但是注意,与设备的外部连接并不是 AMBA 总线,这仅在设备内部使用,并不外露。

举例:Exynos 4412 SCP

下面我们以 三星的 Exynos(猎户座) 4412 SCP 为例,来讲解这几个概念。

  1. 三星的 Exynos 4412 SCP 是一款基于 Cortex-A9 的 SOC;

  2. 如下图所示,Exynos 4412 包含了 4 个 Cortex-A9 的处理器(核);

  3. Cortex-A9 是基于 ARMv7-A 架构(指令集)的。

由上图可知,exynos 4412 出了包含 4 个 Cortex-A9 核,还包括大量的外设控制器:DRAM Controller、SROM Controller、Camera IF、JPEG、GPS/GLONASS、Power Management、USB Host、I2C、UART、SPI 等。

和三星相同的其他和 arm 合作的各大厂商通常会把它的 CPU 和各类外围 IP 都放到一起,然后自己拿着图纸去流片,生产出来的也是一个正方形,下面有很多引脚,这个东西不仅包含了 CPU,还包含了其他的控制器,这个东西就叫做 SOC(system on chip)。

如下图所示,就是三星最终生产的 Exynos  4412  ,当然了,光有这个 soc 还无法运行安卓,还需要借助外围大量的外设才能最终形成一个完整的系统,但是大部分最复杂的硬件部分模块都已经集成到了这个 soc 中。

目前各大厂商所做的事情,就是买来 ARM 的授权,得到 ARM 处理器的源代码,而后自己搞一些外围 IP(或者买或者自己设计),组成一个 SOC 后,去流片。不同的 SOC,架构不同(就是 CPU 如何和 IP 联系起来,有的以总线为核心,有的以 DDR 为核心)。

海思是拥有自主产权的 SOC 架构。可是,无论任何厂商,再怎么折腾,都没有怎么动过 CPU,ARM 核心就好好的呆在那里,那就是中央处理器。

ARM 授权

如何来理解 ARM 授权呢?

就比如我们制造汽车,ARM 公司相当于拥有最先进的的'发动机'设计方案,但是他不'生产发动机',而是把设计方案授权给各大'汽车厂商'生产,赚来的钱继续研发更先进的‘发动机’。

ARM 授权分为 ARM 架构授权、IP 核授权、使用层级授权

一个公司若想使用 ARM 的内核来做自己的处理器,比如 ST、苹果、三星、TI、高通、华为等等,必须向 ARM 公司购买其架构下的不同层级授权,根据使用需要购买相应的层级授权。

架构的授权方式有三种:架构层级授权、内核层级授权(ip 核授权)、使用层级授权。

1. 架构层级授权,是指可以对 ARM 架构进行大幅度改造,甚至可以对 ARM 指令集进行扩展或缩减,苹果就是一个很好的例子,在使用 ARMv7-A 架构基础上,扩展出了自己的苹果 swift 架构;

2. 内核层级授权,是指可以以一个内核为基础然后在加上自己的外设,比如 USART、GPIO、SPI、ADC 等等,最后形成了自己的 MCU,这种公司很多,比如三星、TI;

3. 使用层级授权,要想使用一款处理器,得到使用层级的授权是最基本的,这就意味着你只能拿别人提供的定义好的 ip 来嵌入在你的设计中,不能更改人家的 ip,也不能借助人家的 ip 创造自己的基于该 ip 的封装产品。

因此,如果华为分别拿到架构授权和 ip 核授权,那么意味着它可以在 ARM 指令集基础上根据需要创建出自己的内核架构,并可添加各种片内外设比如通信接口显示器控制接口、GPIO 等等,从而生产出自己的“处理器芯片”。

其实就像我写了一篇文章,我告诉甲,你可以拿去修改后使用,便是架构层级授权,我告诉乙,你可以在你的文章中引用我的文章,便是内核级授权,我告诉丙,你只能对我的文章进行转发,不能更改,不能添油加醋,便是使用层级授权。

总结

下面我们总结下这些概念:

  1. ARM 公司的名字,叫 ARM:Advanced RISC Machines;

  2. ARM 前身 Acorn 公司设计的第一款微处理器,叫 ARM:Acorn RISC Machine;

  3. ARM 处理器名字:以前叫 ARM9、ARM11, 新的命名规则改以 Cortex 命名,分别是 Cortex-A,Cortex-R,Cortex-M;这三个字母A、R、M合到一起又是 ARM。

  4. ARM 指令集,就是 ARM 架构,比如 ARMv8,每个处理器都需要依赖一定的 ARM 架构来设计;

  5. SOC:各大厂商买来 ARM 的授权,得到 ARM 处理器的源代码,而后自己搞一些外围设备的 IP(或者买或者自己设计),组成一个 SOC,比如三星的 Exynos 4412,华为的麒麟 990。

Arm

Arm

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相关推荐

电子产业图谱

公众号『一口Linux』号主彭老师,拥有15年嵌入式开发经验和培训经验。曾任职ZTE,某研究所,华清远见教学总监。拥有多篇网络协议相关专利和软件著作。精通计算机网络、Linux系统编程、ARM、Linux驱动、龙芯、物联网。原创内容基本从实际项目出发,保持原理+实践风格,适合Linux驱动新手入门和技术进阶。