ARM处理器异常模式与编程模型详解

需积分: 31 0 下载量 13 浏览量 更新于2024-08-13 收藏 4.88MB PPT 举报
"本文主要介绍了ARM微处理器编程模型,特别是如何进入与特定异常相应的运行模式。ARM处理器在处理异常时,会保存当前状态,设置适当的模式,并跳转至异常处理程序。文中还概述了ARM处理器的发展历程,从V1到V7的不同版本,以及各版本的主要特性。" 在ARM处理器中,当遇到异常情况如中断或故障时,系统会自动进入与异常相对应的运行模式。这一过程包括以下关键步骤: 1. **保存下一条指令地址**:处理器会将发生异常后的下一条指令地址存入链接寄存器LR,这样在处理完异常后,程序可以从正确的点恢复执行。 2. **保存程序状态**:当前的程序状态寄存器CPSR的值会被复制到对应的异常模式下的系统程序状态寄存器SPSR中,以保护处理器的状态不被异常处理程序修改。 3. **设置工作模式**:根据异常类型,CPSR的低5位会被调整,使得处理器进入相应的工作模式。例如,中断异常通常会使I位设为1,禁止IRQ中断。如果发生复位或FIQ中断,F位也会被设为1,禁止新的FIQ中断。 4. **跳转至异常处理程序**:处理器会根据异常类型加载相应的异常向量到程序计数器PC,从而执行异常处理代码。 ARM处理器的设计和演变历程也值得一提。从V1到V7,每个版本都引入了新的特性和改进: - **V1**:基础数据处理指令,64MB的寻址空间,没有乘法器。 - **V2**:增加了乘法和乘加指令,支持协处理器,快速中断模式。 - **V3**:引入了保存程序状态的寄存器SPSR,增加了异常处理返回指令,寻址空间扩展到4GB。 - **V4**:广泛应用的架构,引入了Thumb指令集,增强软件中断功能,处理器模式支持用户和特权级寄存器操作。 - **V5**:增加了BLX指令,中断指令,计数前导零指令CLZ,以及更多协处理器指令和数字信号处理指令。 - **V6**:ARM11处理器引入了SIMD多媒体处理功能。 ARM公司通过技术授权模式,允许其他半导体厂商制造具有ARM核心的芯片,这使得ARM架构在不同领域广泛应用,从嵌入式设备到高性能计算平台都有其身影。