0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arm架构科普解读 Arm架构的底层逻辑和Arm架构的顶层设计

jf_43863548 来源:书香度年华 作者: 书香度年华 2023-02-06 05:33 次阅读
原文作者书香度年华 在此特别鸣谢!

前言

一、架构概述

1.1 冯诺依曼架构

1.2 哈佛架构

1.3 Arm 架构

二、架构图谱

2.1 三驾马车

2.2 六代传承

2.3 最新成员

2.3.1 大师兄 Cortex-A710

2.3.2 二师弟 Cortex-R82

2.3.3 小师妹 Cortex-M85

2.4 架构宗亲

2.4.1 图形处理器单元 GPU

2.4.2 神经网络处理器单元 NPU

三、架构魔法

3.1 派系

3.1.1 Cortex-A 魔法

3.1.2 Cortex-R 魔法

3.1.3 Cortex-M 魔法

3.2 魔法发展史

3.3 微魔法

四、架构演练

4.1 大集结

4.2 排兵布阵

4.3 运筹帷幄,决胜千里之外

4.3.1 上传下达-控制台输出

4.3.2 烽火通信-LED 跑马灯

4.3.3 密令签发-加密

4.3.4 粮草先行-启动代码

4.3.5 整装待发-链接脚本

五、总结

参考

术语

摘要:本文主要探讨了 Arm 架构的底层逻辑,介绍了Arm 架构的顶层设计;以处理器核心架构为基础,以系统架构为核心,以A系列和M系列架构为典型,对关键系统组件进行的通俗易懂的描述;本文提到的 Arm 架构不包含 GPU、NPU 架构;
关键词 :Arm架构、微架构、Cortex-A、Cortex-R、Cortex-M、Armv7、Armv8、Armv9、ISA、指令集、AMBA总线、Debug、Trustzone、虚拟化、EL-2、S-EL2、EL-1、S-EL1、操作系统RISC-V
一、架构概述
1.1 冯诺依曼架构
​冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。​
1.2 哈佛架构
哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。 与两个存储器相对应的是系统的4条总线:程序和数据的数据总线与地址总线。
1.3 Arm 架构
Arm 架构指的是 Arm 处理器的体系结构,包含中央处理单元(CPU)微架构、系统微架构、总线微架构、监控微架构、安全微架构、虚拟化微架构。
CPU微架构是指令集架构ISA的实现,包括 A32/T32、A64、NEON、VFP 等;
系统架构集包括中断控制器 GIC /系统内存管理器 SMMU /电源管理 PSCA/APCI 等;
总线微架构指的是 AMBA 微架构,包括 AHB、APB、AXI、CHI 等;
监控微架构包括调试 debug, 跟踪 trace ;
安全微架构包括 Trustzone、Realm、Crypto Cell、Crypto Island 等;
虚拟化微架构包括 VMSA、LPAE、EL-2、S-EL2 等。

图2 Arm 处理器顶层架构
通常 指令集架构 ISA 的实现就叫做微架构,比如 Armv8.0-M 是 ISA, cortex-M33 是微架构
关于 ISA 和微架构,我在 RISC-V 架构科普解读 中写的比较清楚

二、架构图谱

2.1 三驾马车

Arm 架构根据应用场景不同分为 Cortex-A、Cortex-M、Cortex-R 三个架构家族;

Arm A-Profile 架构主要包括用于移动、 PC 端的 Cortex-A 系列处理器、用于云计算机器学习的高性能 Neoverse 处理器以及和客户合作开发的高效能 Cortex-X 系列处理器,后面两个系列可能形成独立系列;

Arm M-Profile 架构主要包括 Armv6 的 M0,Armv7 的 Cortex-M3、 Cortex-M4 ,Armv8 的 Cortex-M23、 Cortex-M33 、 Cortex-M35 、Cortex-M55 、Cortex-M85,用于通用 MCUIoT 物联网领域;

Arm R-Profile 架构主要包括 Armv7 的Cortex- R4、 Cortex-R5、 Cortex-R7、 Cortex-R8,Armv8 的 Cortex-R52 、Cortex-R82,用于实时控制领域。

每个架构家族演进既有独立性又有关联性。目前 A 系列已经演化到 Armv9 版本、M 系列演化到 Armv8 版本、R系列演化到 Armv8 版本,下面是每个家族代表性处理器的架构。

2.2 六代传承

Arm 架构从 Armv4 到 Armv9 已经经历了六个版本;

目前市面活跃的是 Armv7、Armv8、Armv9 三个版本;

各个版本引进/废弃了不同的功能特性,比如 Armv6 的 Trustzone、 Armv7 的虚拟化,Armv8 的向量扩展 SVE、Armv9 的矩阵扩展 SME 等。


2.3 最新成员

2.3.1 大师兄 Cortex-A710

Cortex-A710 是 Cortex-A78 的增强版,Armv9-A 架构的大核架构,使用起来和上一代基本相同,新的微架构能获得更好的性能和更低的功耗;增强版的向量计算扩展架构 SVE2 支持;高级 SIMD&DSP 的 NEON 架构支持;兼容 VFPv3 向量浮点的 FPU 浮点架构。

2.3.2 二师弟 Cortex-R82

Cortex-R82 是 R 系列最新的处理器,采用 Armv8 架构,包含 CoreSgiht MDT、GIC、FPU、TCM、SCU、ACP、AXI-S、AXI-M、LLPP、LLRAM 等微架构。

2.3.3 小师妹 Cortex-M85

M85 是 Armv8.1-M 架构,包括 MPU、Helium、PMU、CP、FPU、TCM、AHB、DSP、ETM、PACBTI、APH 等微架构。

2.4 架构宗亲

本文讲述的 Arm 架构指的是通用处理器架构,并不包含专业处理器。除了通用处理器,Arm 还有图形处理器和神经网络处理器。

2.4.1 图形处理器单元 GPU

GPU 架构分为传统的 Mali 架构和最新的 Immortalis 架构两个分支:

Mali目前一共四代,分别是 Utgard,Midgard,Bifrost 和 Valhall

Immortalis 是新推出的架构,以Immortalis-G715 为代表

2.4.2 神经网络处理器单元 NPU

Ethos - NPUs 是Arm推出的基于神经网络的机器学习芯片架构,包括 U55、U65、 N78,

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19275

    浏览量

    229750
  • 单片机
    +关注

    关注

    6036

    文章

    44556

    浏览量

    634978
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9091

    浏览量

    367474
  • 架构
    +关注

    关注

    1

    文章

    513

    浏览量

    25468
  • ARMv8
    +关注

    关注

    1

    文章

    35

    浏览量

    14158
收藏 人收藏

    评论

    相关推荐

    我对ARM架构的理解

    ,和安全仪表系统。图3-Arm架构由ISA、架构和家族组织。图片由Arm提供<span]如果您不熟悉底层
    发表于 09-03 17:56

    ARM架构是什么

    从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM
    发表于 07-01 09:23

    ARMARM的架构ARM架构的区别

    目录文章目录目录ARMARM 的架构x86 架构ARM 架构的区别ARM 的技术实现ARMARM
    发表于 07-16 06:43

    arm架构和cortex架构

    arm架构和cortex架构ARM Cortex内核系列提供非常广泛的具有可扩展性的性能选项,设计人员有机会在多种选项中选择最适合自身应用的内核,而非千篇一律的采用同一方案。Cort
    发表于 07-27 07:02

    ARM芯片架构

    ARM芯片ARM 历史ARM架构 (Advanced RISC Machine)64/32位架构32位
    发表于 07-28 08:16

    解读CPU的组成指令集架构

    文章目录脑图视频解读CPU的组成指令集架构: 复杂指令集 (CISC) VS 精简指令集 (RISC)X86架构ARM架构X86
    发表于 07-30 06:20

    ARM架构

    ARM架构ARM架构如图所示,ARM公司只提供内核技术,而其他外设则为芯片商设计并使用,ARM
    发表于 08-04 06:18

    Arm架构的扩展详解

    Arm架构的补充以版本增量的形式提供,称为扩展。扩展允许我们根据合作伙伴的需求定期发布新功能,而无需制作主要架构的主要变化。 Arm每年都会发布一个新的扩展。Cortex cpu,它
    发表于 08-02 06:08

    ARM架构_-_介绍

    ppt主要介绍了arm架构,通过介绍寄存器、指令集、总线、工作模式等方面来阐释ARM架构
    发表于 05-24 14:14 41次下载

    什么叫arm架构_X86架构ARM架构有什么区别

    本文首先介绍了arm架构的概念,其次介绍了ARM架构图与ARM的技术实现,最后介绍了X86架构
    发表于 04-24 08:45 8.7w次阅读
    什么叫<b class='flag-5'>arm</b><b class='flag-5'>架构</b>_X86<b class='flag-5'>架构</b>与<b class='flag-5'>ARM</b><b class='flag-5'>架构</b>有什么区别

    ARM架构是什么 限制ARM对华为的影响

    目前,ARM架构的处理器几乎占据了所有的手机处理器,高通、苹果、华为的处理器均是基于ARM架构。今天,ARM暂停了与华为的一切业务往来,因为
    的头像 发表于 08-14 15:29 7922次阅读

    为什么要使用Arm架构

    Arm架构依然盘踞着移动设备领域指令集架构市场的龙头位置。随着RISC-V生态的持续扩展,巨头厂商和小公司的不断入局,Arm架构的安稳日子也
    发表于 12-16 09:56 3510次阅读

    arm架构是哪个国家的

     arm架构是英国的。英国ARM公司是全球领先的半导du体知识产权 (IP) 提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构
    发表于 07-21 09:42 1.1w次阅读

    X86架构Arm架构的区别

    X86架构ARM架构是主流的两种CPU架构,X86架构的CPU是PC服务器行业的老大,ARM
    的头像 发表于 06-16 12:50 2.4w次阅读
    X86<b class='flag-5'>架构</b>与<b class='flag-5'>Arm</b><b class='flag-5'>架构</b>的区别

    arm架构和x86架构区别 linux是x86还是arm

    ARM架构和x86架构是两种不同的计算机处理器架构,它们在体系结构、指令集、应用领域等方面有着明显的区别。Linux操作系统则具有广泛的适配性,可以运行在各种
    的头像 发表于 01-30 13:46 1.8w次阅读