本文声明内容来源于网络进行整合/再创作部分内容由AI辅助生成。Tips指令系统也属于ARM处理器架构模型的一部分因内容较多同时为了便于知识管理单独将“指令系统”作为大标题的开头。需要说明AArch64A64是现代 ARM 的标准AArch32A32逐渐被边缘化但要入门ARM指令集架构对A32有一定了解还是比较好。之所以有专栏里前几篇文章的讲述是因为指令系统是基于寄存器组织、存储系统和内核工作模式等所提供的资源与规则定义出来的一套程序员可见的操作符指令。它是对底层硬件能力和规则的一种功能性的抽象与封装使得软件可以不关心具体的电路实现只需要遵循这套“语言规范”就能控制硬件。内核工作模式、存储系统、寄存器组织、指令系统是描述处理器架构模型的核心要素。将这些要素组合在一起就定义了一个处理器的程序员视角也就是指令集架构ISAInstruction Set Architecture层面的规范。如果再加上具体的微架构如流水线级数、缓存大小、发射宽度等就构成了一个完整的处理器架构描述。指令是规定处理器执行特定操作的命令处理器能够执行的各种指令的集合统称指令系统。指令系统是衡量计算机性能的关键指标它的格式与功能不仅直接影响到机器的硬件结构还直接影响到系统软件和机器的适用范围。ARMv8 架构指令体系ARMv8架构包含两大指令集合AArch32 指令集主要用于向下兼容ARMv7指令系统。AArch64 指令集64位指令集。指令集合进一步细分为两种不同的指令集对应处理器的两种工作状态工作状态执行指令集指令宽度存储对齐方式ARM状态ARM指令集32位字对齐Thumb状态Thumb指令集16位半字对齐Thumb指令集特点是ARM指令集的功能子集。相比等价的ARM代码可节省30%~40%的存储空间。同时保留32位代码的性能优势。处理器工作状态切换ARM、Thumb两种指令集均包含切换处理器状态的指令。通过BX指令可在ARM状态和Thumb状态之间切换。ARM微处理器初始执行代码时必须处于ARM状态。ARM状态 → Thumb状态Thumb状态 → ARM状态ARM指令集核心特性1. RISC架构特征指令和寻址方式少而简单。大多数ARM指令为单周期指令即指令在一个周期内执行完成。2. 存储器访问规则仅加载/存储Load/Store指令可访问存储器外设也视为存储器。数据处理指令仅对寄存器内容进行操作。3. 性能优化采用流水线技术缩短指令执行周期。提高处理器整体性能。