当前位置:   article > 正文

ARM官方资料学习_arm官方手册

arm官方手册

1.ARM官方文档分类

ARM是即是一家公司名,也是一种芯片,ARM的文档是比较全的。
学习ARM除了其他的资料外,官网公布的资料也是一种较好的选择,具有权威性与准确性,不过缺点是资料是英文的。
https://developer.arm.com/architectures#aq=%40navigationhierarchiescategories%3D%3D%22Architecture%20products%22%20AND%20%40navigationhierarchiescontenttype%3D%3D%22Product%20Information%22&numberOfResults=48
主要可以分为:涵盖了从ARM指令集、ARM内核、ARM的IP技术文档等等。

分类属性
System Architectures系统架构GIC、SMMU等
CPU ArchitecturesCPU架构 A-Profile、R-Profile、M-Profile
Advanced Microcontroller Bus Architecture (AMBA)片内总线 AHB、APB、AXI等
Architecture Extensions架构扩展
Compression Technologies压缩技术
CoreSight ArchitecturesCoreSight架构
GPU ArchitecturesGPU架构
Instruction Set Architectures指令集架构,包括A32、A64、NEON指令集等

2.System Architectures 系统架构

系统架构主要包括各种IP,MMU、GIC等;
在这里插入图片描述

2.1GIC中断控制器

GIC中断控制器相关:
IHI0069H_gic_architecture_specification.pdf
IHI0048B_b_gic_architecture_specification.pdf

2.2SMMU内存管理相关:

3.CPU Architectures 处理器架构

主要包括ARM的A、R、M系统处理器架构的介绍等;

在这里插入图片描述

3.1A-Profile Archutecture

Arm的A系列面向高性能市场,如PC、移动、游戏和企业。有关a-profile架构的明确描述,请阅读a-profile架构的Arm架构参考手册。这包括AArch32和AArch64执行状态的指令集、异常模型和调试体系结构。

DDI0406C_d_armv7ar_arm
armv8_a_address_translation

3.2R-Profile Architecture

Arm的R系列(R-profile)体系架构提供了标准的指令集和程序员模型,并具有一定程度的向后兼容性。R-profile主打实时性与安全性。

3.3M-Profile Architecture

Arm的M系列(M-profile)体系节后提供了标准的指令集和程序员模型,这些微处理器针对深度嵌入式系统的最低功耗、低延迟和高确定性操作进行了优化,最常见的应用为意法半导体的ST系列处理器。

3.AMBA总线

高级微控制器总线架构 (AMBA) 是一个免费提供的开放标准,用于连接和管理片上系统 (SoC) 中的功能块。 该架构有助于多处理器设计的首次开发,具有大量控制器和外围设备。 AMBA 规范是免版税的、独立于平台的,并且可以与任何处理器架构一起使用。 由于广泛采用,AMBA 拥有强大的合作伙伴生态系统,可确保来自不同设计团队和供应商的 IP 组件之间的兼容性和可扩展性。
在这里插入图片描述
IHI0011_AMBA Specification (Rev 2.0).pdf

4.Architecture Extensions

在这里插入图片描述

5.Compression Technologies

在这里插入图片描述

6.CoreSight Architectures

CoreSight 架构提供了一组标准接口和程序员模型视图,使合作伙伴能够定义 CoreSight 组件并将它们集成到 CoreSight 基础架构中。

在这里插入图片描述

7.GPU Architectures GPU架构

在这里插入图片描述

8.Instruction Set Architectures 指令集

在这里插入图片描述

8.1 A32 Instruction Set Architecture

A32 指令(在 Armv8 之前的架构中称为 Arm 指令)为 32 位宽,并在 4 字节边界上对齐。 A-profile 和 R-profile 架构都支持 A32 指令。
A32 传统上用于需要最高性能的应用程序,或用于处理硬件异常,例如中断和处理器启动。 随着 Thumb-2 技术的引入,它的大部分功能都包含在 T32 中。

8.2 T32 Instruction Set Architecture

T32指令集,在 armv8 之前的架构中被称为 Thumb 指令集。
最初,ARM 指令集的长度固定为 32 位,为了改善用户代码的代码密度,Thumb 指令集被设计为 16 位指令集,开发者可以同时使用ARM指令集和Thumb指令集来降低代码大小。但这是两套指令集,两个运行状态,需要在ARM状态和Thumb状态之间来回切换,非常麻烦。
随着时间的推移和Thumb-2技术的引入,作为Thumb指令集的补充,ARM指令集的大部分功能都被纳入到了Thumb指令,Thumb指令集演化为16位和32位混合长度指令集,称为Thumb-2指令集。
Thumb-2指令集的诞生,使得编译器可以在单个指令集中平衡性能和代码的大小,提供了极好的代码密度,最小化系统内存大小和成本。

8.3 A64 Instruction Set Architecture

A64是AArch64中使用的指令集,受Armv8-A、Armv8-R AArch64和Armv9-A体系结构支持。A64的主要特性包括:
基于5位寄存器说明符的解码表。
指令语义与A32和T32大致相似。
31个可访问的通用64位寄存器。

8.4 Neon

Arm Neon技术是针对A-profile和R-profile处理器的高级单指令多数据(SIMD)体系结构扩展。Neon technology是一种打包的SIMD体系结构。Neon寄存器被视为相同数据类型元素的向量,Neon指令同时在多个元素上运行。该技术支持多种数据类型,包括浮点和整数运算。
Neon技术旨在通过加速音频和视频编码和解码、用户界面、2D和3D图形以及游戏来改善多媒体用户体验。Neon还可以加速信号处理算法和功能,以加速音频和视频处理、语音和面部识别、计算机视觉和深度学习等应用。
introducing_neon_for_armv8-a_102474_0100_02_en

8.5 SVE

可伸缩向量扩展(SVE)是Armv8-a体系结构的A64指令集的向量扩展。Armv9-A构建在带有SVE2扩展的SVE之上。与其他SIMD体系结构不同,SVE和SVE2不定义向量寄存器的大小,但将其限制在一个可能的值范围内,从最小128位到最大2048位(以128位为单位)。因此,任何CPU供应商都可以通过选择更适合CPU目标工作负载的向量寄存器大小来实现扩展。SVE和SVE2的设计保证了相同的程序可以在指令集体系结构的不同实现上运行,而无需重新编译代码。
introduction_to_sve_102476_0100_01_en.pdf

8.6 DSP

带有数字信号处理(DSP)扩展的Arm Cortex处理器为语音、音频、传感器集线器和机器学习应用程序提供高性能信号处理,并具有灵活、易于使用的编程。这些扩展提供了计算可伸缩性、能效、确定性和接口选项的独特组合,以便执行不需要专用DSP硬件的多传感器设备所需的信号处理。Cortex处理器中DSP扩展的好处包括:
1.利用Arm处理器在单一体系结构上的DSP和ML功能,简化设计,降低材料清单,减少功耗和面积。
2.通过消除对共享内存和DSP通信、复杂的多处理器总线体系结构以及处理器和DSP之间的其他自定义“粘合”逻辑的需求,降低系统级复杂性。
3.降低软件开发成本,因为整个项目可以使用单个编译器、调试器或IDE来支持,并且可以用高级编程语言(如C或C++)编程。

8.7 Helium

Arm的Helium技术用于Arm Cortex-M处理器系列,也称为M-Profile向量扩展(MVE)。是Armv8.1-M体系结构中的可选扩展,为小型低功耗嵌入式设备的机器学习(ML)和数字信号处理(DSP)应用提供了显著的性能提升。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/712811
推荐阅读
相关标签
  

闽ICP备14008679号