第二章 ARM 架构与处理器
ARM 会定期发布新版本的架构,这些版本会增加新功能或对现有行为进行更改。这些更改几乎总是向后兼容的,这意味着在旧版本架构上运行的用户代码在新版本上仍然可以正确运行。当然,利用新功能编写的代码将无法在缺乏这些功能的旧处理器上运行。
在所有版本的架构中,某些系统特性和行为是实现定义的。例如,架构并不定义缓存大小或单个指令的周期时间,这些由具体的处理器和 SoC 决定。
ARMv7 架构还引入了配置文件的概念。这些配置文件是针对不同市场和用途的处理器架构变体。
配置文件包括:
-
A 应用型配置文件:定义了一种针对高性能处理器的架构,支持使用内存管理单元 (MMU) 的虚拟内存系统。它能够运行全功能的操作系统,并支持 ARM 和 Thumb 指令集。
-
R 实时型配置文件:定义了一种针对需要确定性时间和低中断延迟的系统的架构。这些系统使用内存保护单元 (MPU) 来保护内存区域。这些系统不支持虚拟内存系统和 MMU。
-
M 微控制器型配置文件:定义了一种针对低成本系统的架构,其中低延迟的中断处理至关重要。它使用不同于其他配置文件的异常处理模型,并且只支持 Thumb 指令集的一个变体。
下图展示了架构随时间的发展