1、概念:
ARM体系结构是由英国ARM公司设计的一种精简指令集(RISC)架构,它以其低功耗、高性能和低成本的特点,在嵌入式系统、移动设备、服务器等多个领域得到了广泛应用。ARM体系结构主要定义了处理器的指令集、寄存器结构、内存访问方式等关键元素。
2、指令集
- ARM指令集:所有指令都占用32位存储空间,代码灵活度高,简化了解码复杂度。执行ARM指令集时,程序计数器(PC)的值每次自增4。
- Thumb指令集:所有指令都占用16位存储空间,是ARM指令集的功能子集。与等价的ARM代码相比,Thumb指令集可以节省30%~40%以上的存储空间,同时保留32位代码的所有优点。执行Thumb指令集时,PC的值每次自增2。
3、寄存器结构
ARM处理器内部包含多个寄存器,用于存储数据和指令执行过程中的临时结果。这些寄存器可以分为通用寄存器和特殊寄存器两大类。
- 通用寄存器:用于存储数据、地址等,ARM处理器一般包含多个通用寄存器(如R0~R15),其中R15(PC)是程序计数器,用于存储当前指令的地址。
- 特殊寄存器:用于控制处理器的状态和行为,如程序状态寄存器(CPSR)用于存储处理器的当前状态(如模式、中断屏蔽位等)。
4、内存访问方式
ARM体系结构采用哈佛结构或改进的哈佛结构,将程序和数据分开独立存放在不同的内存块中,提高了处理器的安全性和稳定性。
ARM处理器支持多种内存访问方式,包括直接访问、DMA(直接内存访问)等。
5、工作模式
ARM处理器具有多种工作模式,以适应不同的应用场景和需求。这些模式包括
用户模式(User)、
系统模式(System)、
快速中断模式(FIQ)、
普通中断模式(IRQ)、
管理模式(SVC)、
数据访问终止模式(Abort)、
未定义指令终止模式(Undef)等。
不同模式下,处理器的行为和权限有所不同。
6、微架构
微架构(micro-architecture)是处理器实现的具体细节,它规定了处理器内部各个部件的具体实现方式、工作方式等。ARM公司根据不同的应用需求,开发出了多种基于ARM体系结构的微架构,如Cortex-A系列、Cortex-R系列、Cortex-M系列等。这些微架构在缓存大小、流水线级数、指令执行周期等方面存在差异,以满足不同应用场景的需求。