文档详情

ARM处理器编程模型与指令系统.pptx

发布:2021-08-27约1.91万字共95页下载文档
文本预览下载声明
嵌入式系统设计第四章 ARM处理器编程模型与指令系统 主要内容4.1 ARM微处理器的工作状态4.2 ARM微处理器的运行模式4.3 ARM体系结构的存储器格式4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.1 ARM微处理器的工作状态从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:ARM状态:此时处理器执行32位的字对齐的ARM指令Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令4.1 ARM微处理器的工作状态ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但ARM微处理器在开始执行代码时,应该处于ARM状态 进入ARM状态:当操作数寄存器的状态位(位0)为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。 进入Thumb状态 :当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。 处理器的工作状态例:从ARM状态切换到Thumb状态: LDR R0,=Label+1 BX R0从Thumb状态切换到ARM状态: LDR R0,=Label BX R0主要内容4.1 ARM微处理器的工作状态4.2 ARM微处理器的运行模式4.3 ARM体系结构的存储器格式4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.2 ARM微处理器的运行模式ARM微处理器支持7种运行模式,分别为:1.用户模式(usr):ARM处理器正常的程序执行状态;2.快速中断模式(fiq):用于高速数据传输或通道处理;3.外部中断模式(irq):用于通用的中断处理;4.管理模式(supervisor):操作系统使用的保护模式;5.数据访问终止模式(abort):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;6.系统模式(system):运行具有特权的操作系统任务;7.未定义指令中止模式(undefined):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。4.2 ARM微处理器的运行模式除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);除用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。 处理器工作模式ARM处理器有7种工作模式处理器模式说明备注 用户 (usr)正常程序执行模式不能直接切换到其它模式 系统 (sys)运行操作系统的特权任务与用户模式类似,但具有可以直接切换到其它模式等特权 快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护模式系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式主要内容4.1 ARM微处理器的工作状态4.2 ARM微处理器的运行模式4.3 ARM体系结构的存储器格式4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.3 ARM体系结构的存储器格式ARM体系结构可以用两种方法存储字数据 大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 4.3 ARM体系结构的存储器格式ARM体系结构可以用两种方法存储字数据 小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 示例A. 小端存储法(0地址0x80000x80010x80020x8003数据(16进制表示)0x670x450x230x01数据(二进制表示)01100111010001010010001100000001B. 大端存储法地址0x80000x80010x80020x8003数据(16进制表示)0x010x230x450x67数据(二进制表示)00000001001000110100010101100111主要内容4.1 ARM微处理器的工作状态4.2 ARM微处理器的运行模式4.3 ARM体系结构的存储器格式4.4 寄存器组织 4.5 A
显示全部
相似文档