赞
踩
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 Architectures | CPU架构 A-Profile、R-Profile、M-Profile |
Advanced Microcontroller Bus Architecture (AMBA) | 片内总线 AHB、APB、AXI等 |
Architecture Extensions | 架构扩展 |
Compression Technologies | 压缩技术 |
CoreSight Architectures | CoreSight架构 |
GPU Architectures | GPU架构 |
Instruction Set Architectures | 指令集架构,包括A32、A64、NEON指令集等 |
系统架构主要包括各种IP,MMU、GIC等;
GIC中断控制器相关:
IHI0069H_gic_architecture_specification.pdf
IHI0048B_b_gic_architecture_specification.pdf
主要包括ARM的A、R、M系统处理器架构的介绍等;
Arm的A系列面向高性能市场,如PC、移动、游戏和企业。有关a-profile架构的明确描述,请阅读a-profile架构的Arm架构参考手册。这包括AArch32和AArch64执行状态的指令集、异常模型和调试体系结构。
DDI0406C_d_armv7ar_arm
armv8_a_address_translation
Arm的R系列(R-profile)体系架构提供了标准的指令集和程序员模型,并具有一定程度的向后兼容性。R-profile主打实时性与安全性。
Arm的M系列(M-profile)体系节后提供了标准的指令集和程序员模型,这些微处理器针对深度嵌入式系统的最低功耗、低延迟和高确定性操作进行了优化,最常见的应用为意法半导体的ST系列处理器。
高级微控制器总线架构 (AMBA) 是一个免费提供的开放标准,用于连接和管理片上系统 (SoC) 中的功能块。 该架构有助于多处理器设计的首次开发,具有大量控制器和外围设备。 AMBA 规范是免版税的、独立于平台的,并且可以与任何处理器架构一起使用。 由于广泛采用,AMBA 拥有强大的合作伙伴生态系统,可确保来自不同设计团队和供应商的 IP 组件之间的兼容性和可扩展性。
IHI0011_AMBA Specification (Rev 2.0).pdf
CoreSight 架构提供了一组标准接口和程序员模型视图,使合作伙伴能够定义 CoreSight 组件并将它们集成到 CoreSight 基础架构中。
A32 指令(在 Armv8 之前的架构中称为 Arm 指令)为 32 位宽,并在 4 字节边界上对齐。 A-profile 和 R-profile 架构都支持 A32 指令。
A32 传统上用于需要最高性能的应用程序,或用于处理硬件异常,例如中断和处理器启动。 随着 Thumb-2 技术的引入,它的大部分功能都包含在 T32 中。
T32指令集,在 armv8 之前的架构中被称为 Thumb 指令集。
最初,ARM 指令集的长度固定为 32 位,为了改善用户代码的代码密度,Thumb 指令集被设计为 16 位指令集,开发者可以同时使用ARM指令集和Thumb指令集来降低代码大小。但这是两套指令集,两个运行状态,需要在ARM状态和Thumb状态之间来回切换,非常麻烦。
随着时间的推移和Thumb-2技术的引入,作为Thumb指令集的补充,ARM指令集的大部分功能都被纳入到了Thumb指令,Thumb指令集演化为16位和32位混合长度指令集,称为Thumb-2指令集。
Thumb-2指令集的诞生,使得编译器可以在单个指令集中平衡性能和代码的大小,提供了极好的代码密度,最小化系统内存大小和成本。
A64是AArch64中使用的指令集,受Armv8-A、Armv8-R AArch64和Armv9-A体系结构支持。A64的主要特性包括:
基于5位寄存器说明符的解码表。
指令语义与A32和T32大致相似。
31个可访问的通用64位寄存器。
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
可伸缩向量扩展(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
带有数字信号处理(DSP)扩展的Arm Cortex处理器为语音、音频、传感器集线器和机器学习应用程序提供高性能信号处理,并具有灵活、易于使用的编程。这些扩展提供了计算可伸缩性、能效、确定性和接口选项的独特组合,以便执行不需要专用DSP硬件的多传感器设备所需的信号处理。Cortex处理器中DSP扩展的好处包括:
1.利用Arm处理器在单一体系结构上的DSP和ML功能,简化设计,降低材料清单,减少功耗和面积。
2.通过消除对共享内存和DSP通信、复杂的多处理器总线体系结构以及处理器和DSP之间的其他自定义“粘合”逻辑的需求,降低系统级复杂性。
3.降低软件开发成本,因为整个项目可以使用单个编译器、调试器或IDE来支持,并且可以用高级编程语言(如C或C++)编程。
Arm的Helium技术用于Arm Cortex-M处理器系列,也称为M-Profile向量扩展(MVE)。是Armv8.1-M体系结构中的可选扩展,为小型低功耗嵌入式设备的机器学习(ML)和数字信号处理(DSP)应用提供了显著的性能提升。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。