晟辉智能制造

arm 技术参考手册

没有一本单一的“ARM技术参考手册”,而是为每一代 ARM 架构(如 ARMv7-A, ARMv8-A)和每一款具体的处理器实现(如 Cortex-A53, Cortex-A72)提供一套完整的文档集。

arm 技术参考手册-图1
(图片来源网络,侵删)

下面我将为您详细解释这些手册的类型、如何查找以及最重要的几本手册。


手册的类型与层级关系

ARM 的文档体系是分层设计的,从高层概念到底层硬件细节,非常清晰,一套完整的参考手册包含以下几个核心部分:

a) 架构参考手册

这是最核心、最权威的文档,定义了 ARM 架构本身。

  • 它不针对任何具体的芯片,而是定义了指令集(如 AArch32, AArch64)、内存模型、异常处理、调试架构、系统控制协处理器(如 CP15, CPACR)等所有架构层面的规则。
  • 读者:操作系统内核开发者、编译器开发者、需要编写高性能汇编代码的工程师。
  • 例子
    • ARMv8-A Architecture Reference Manual: 这是 64 位 ARM 架构(AArch64)和 32 位 ARM 架构(AArch32)的权威定义,对于所有基于 Cortex-A 系列的 64 位处理器(如 A53, A72, A76 等)都适用。
    • ARMv7-A Architecture Reference Manual: 这是 32 位 ARM 架构的权威定义,适用于 Cortex-A5, A7, A9, A15 等处理器。

b) 处理器参考手册

这是针对 ARM 公司设计的特定处理器核(如 Cortex-A72)的文档。

arm 技术参考手册-图2
(图片来源网络,侵删)
  • 它描述了该处理器核的具体实现细节,包括:
    • 架构配置(它支持 ARMv8-A 的哪些特性)。
    • 实现定义的处理器状态(如 ID 寄存器)。
    • 具体的流水线和微架构特性。
    • 缓存(L1/L2)的组织方式、大小和配置。
    • 内存管理单元 的特性。
    • 调试组件的详细功能。
  • 读者:芯片设计者、板级支持包 工程师、需要榨干处理器性能的系统优化工程师。
  • 例子
    • Cortex-A72 Processor Technical Reference Manual: 详细描述了 Cortex-A72 这颗核心的硬件特性。
    • Cortex-A53 Processor Technical Reference Manual: 同上,针对 Cortex-A53。

c) 技术参考手册

这个术语有时会和“处理器参考手册”混用,但通常它指的范围更广,可能包含一个完整 SoC 的信息。

  • 它可能包含一个处理器集群(如 big.LITTLE 中的 A72+A53)、一个 GPGPU(如 Mali)、以及总线矩阵、定时器、中断控制器 等外设的详细信息。
  • 读者:系统级开发者、BSP 工程师。
  • 例子
    • ARM CoreLink系列技术参考手册: CoreLink CCI-400/500 Cache Coherent Interconnect 的技术参考手册,它描述了如何让多个高速缓存处理器之间保持数据一致性。

d) 程序员手册

这是一本更友好的入门文档,专注于软件开发者。

  • 总结了程序员最需要知道的信息,包括寄存器列表、指令集速查表、内存对齐要求、以及如何进行简单的性能分析等,它不会深入到底层硬件细节。
  • 读者:应用程序开发者、驱动开发者(初级)。
  • 例子
    • ARMv8-A Architecture: The AArch64 System Programmer's Guide: 这是一本绝佳的入门书,比上千页的完整架构手册友好得多。

如何查找和下载这些手册

ARM 官网是获取这些文档的唯一官方渠道,步骤如下:

  1. 访问 ARM Developer 官网: https://developer.arm.com/architectures

    arm 技术参考手册-图3
    (图片来源网络,侵删)
  2. 选择架构: 在页面上找到你感兴趣的架构版本,例如点击 ARMv8-A

  3. 进入文档中心: 在架构页面,通常会有一个 "Documentation""Technical resources" 的链接,点击进入。

  4. 查找手册: 在文档中心,你会看到各种分类,如 "Architecture", "Processors", "Software" 等。

    • "Architecture" 分类下,你可以找到 "ARMv8-A Architecture Reference Manual"
    • "Processors" 分类下,你可以找到 "Cortex-Axx" 系列的 "Technical Reference Manual"
  5. 注意许可: 大部分技术参考手册可以免费下载,但某些最新的或高度机密的文档可能需要签署 NDA(保密协议)才能访问。


最重要且常用的几本手册(以 ARMv8-A 为例)

如果你正在开发一个基于现代 ARM 64 位处理器的系统(如树莓派 4、绝大多数现代 ARM 服务器、高端手机 SoC),你需要重点关注以下几本手册:

手册名称 英文名 简要说明 读者对象
ARMv8-A 架构参考手册 ARMv8-A Architecture Reference Manual 圣经,定义了所有规则,包括 AArch64/AArch32 指令集、内存模型、异常处理等。 内核开发者、编译器工程师、汇编高手
ARMv8-A 系统程序员指南 ARMv8-A Architecture: The AArch64 System Programmer's Guide 入门必读,总结了程序员日常所需的核心信息,非常友好。 所有开发者,尤其是驱动和应用开发者
Cortex-Axx 处理器技术参考手册 Cortex-Axx Processor Technical Reference Manual 硬件实现手册,描述了特定处理器核(如 A53, A72)的硬件特性、缓存、MMU 等。 BSP 工程师、系统优化师、芯片设计者
CoreLink 系列技术参考手册 CoreLink Series Technical Reference Manuals 总线与互连手册,描述了 CCI(一致性互连)、PL330(DMA)、MMU-40x 等 IP 核的功能。 系统架构师、BSP 工程师
Generic Timer 技术参考手册 Generic Timer Technical Reference Manual 定时器手册,ARMv8 引入了新的系统计数器和虚拟定时器,所有系统都需要它。 内核开发者、驱动开发者
  • 概念:“ARM 技术参考手册”是一个文档系列,而不是一本书。
  • 层级:从宏观的 架构手册 (定义规则) 到微观的 处理器手册 (具体实现)。
  • 核心:对于软件开发,架构手册 是根本;对于板级开发,处理器手册互连手册 是关键。
  • 起点:如果你是新手,建议从 《ARMv8-A 系统程序员指南》 开始,然后再根据需要深入阅读其他手册。

希望这份详细的解释能帮助你快速找到所需的资料!

分享:
扫描分享到社交APP
上一篇
下一篇