一、Cortex—A8处理器模式
Cortex-A8体系结构支持8种处理器模式,分别为:
模式 缩写 说明 备注
用户 user 正常程序执行模式 不能直接切换到其他模式
系统 sys 运行特权操作系统任务 与用户模拟相似,但拥有可以直接切换到其他模式等特权
管理 svc 操作系统保护模式 系统复位或软件中断时进入此模式
中止 abt 实现虚拟存储器或存储器保护 当存取异常时进入此模式
未定义 und 支持硬件协处理器的软件仿真 为定义指令异常响应时进入此模式
IRQ irq 用于通用中断处理 IRQ异常响应时进入此模式
FIQ fiq 支持高速数据传送或通道处理 FIQ异常响应时进入此模式
监控 mon 当处理器支持Security Extensions才会使用该模式 可以在安全模式和非安全模式下转换
除用户模式下,其他模式统称为特权模式。特权模式是为了服务中断或异常,或访问保护的资源,他们可以自由的访问系统资源和改变模式。其中把管理、中止、未定义、IRQ、FIQ、监控这6种模式又统称为异常模式。异常模式除了可以通过程序切换进入外,也可以由特定的异常进入。
系统模式不能由任何异常进入,它与用户模式有完全相同的寄存器,然而它是特权模式,不受用户模式的限制。
二、处理器的状态
处理器的状态指处理器使用哪条指令系统
Cortex—A8处理器有3种操作状态:
(1)ARM状态
执行32位字对齐ARM指令,T位和J位为0
(2)Thumb状态
执行16位或32位半字对齐的Thumb—2指令,T为1,J位为0
(3)ThumbEE状态
执行为动态产生目标而设计的16位或32位半字对齐的Thumb-2指令集的变体。T位和J位为1
处理器的操作状态可以在以下几种状态间转换:
(1)ARM状态和Thumb状态之间转换
使用BL和BLX指令,并加载到PC
(2)Thumb状态和ThumbEE状态之间转换
使用ENTERX和LEAVEX指令
三、Cortex—A8存储器组织
1、Cortex—A8支持以下数据类型:
·双字 ,64位
·字,32位
·半字,16位
·字节,8位
为了达到最好的性能,数据必须按照以下对齐方式对齐:
·以字为单位时,按4B对齐
·以半字对齐时,按2B对齐
·以字节为单位时,按1B对齐
2、存储格式
Cortex—A8处理器支持小端格式和字节不变的大端格式
3、寄存器组
Cortex—A8处理器总共40个32位长的寄存器,其中包括33个通用寄存器和7个状态寄存器。7个寄存器包括1个CPSR和6个SPSR