第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt

上传人(卖家):三亚风情 文档编号:3525987 上传时间:2022-09-11 格式:PPT 页数:103 大小:1.11MB
下载 相关 举报
第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt_第1页
第1页 / 共103页
第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt_第2页
第2页 / 共103页
第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt_第3页
第3页 / 共103页
第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt_第4页
第4页 / 共103页
第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

1、第第2章章ARM/THUMB微处理器微处理器结构及指令系统结构及指令系统 本章主要内容:本章主要内容:(1)ARM/Thumb及相关技术简介及相关技术简介(2)ARM/Thumb微处理器的应用领微处理器的应用领域及特点域及特点(3)ARM/Thumb微处理器系列微处理器系列(4)ARM/Thumb微处理器的结构微处理器的结构(5)ARM/Thumb指令系统指令系统 第二章 目录n1 ARM微处理器概述微处理器概述 1.1 ARM处理器系列处理器系列 1.2 RISC体系结构体系结构 1.3 ARM和和Thumb状态状态 1.4 寄存器寄存器 1.5 ARM指令集概述指令集概述 1.6 Thum

2、b指令集概述指令集概述n2 ARM微处理器体系结构微处理器体系结构 2.1数据类型数据类型 2.2ARM微处理器的工作状态微处理器的工作状态 2.3 ARM体系结构的存储器格式体系结构的存储器格式 2.4处理器模式处理器模式 2.5寄存器组织寄存器组织 2.6异常异常n3 ARM/Thumb指令系统指令系统 3.1处理器寻址方式处理器寻址方式 3.2指令集介绍指令集介绍 3.3指令集介绍指令集介绍1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 AR

3、M微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍 第二章第二章 目录目录 1 ARM微处理器概述微处理器概述nARM简介:简介:ARM(Advanced RISC Machines),既可以认为是,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

4、还可以认为是一种技术的名字。1991年年ARM公司成立于英国剑桥,主要出售公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用芯片设计技术的授权。目前,采用ARM 技术知识产权技术知识产权(IP)核的微处理器已遍及工业控制、消费类电子产品、通信系统、核的微处理器已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,网络系统、无线系统等各类产品市场,ARMnARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片.第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 AR

5、M指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍nARM处理器核简介 ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscal

6、e 1.1ARM处理器系列处理器系列nARM处理器核简介ARM7 该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。Jazelle是ARM体系结构的一种相关技术,用于在处理器指令层次对JAVA加速 ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。1.1ARM处理器系列处理器系列nARM处理器核简介ARM9 该系列包括ARM9TDMI

7、、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。1.1ARM处理器系列处理器系列nARM处理器核简介ARM10 该系列包括ARM1020E和ARM1022E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。1.1ARM处理器系列处理器系列nARM处理器核简介SecurCore 该系列涵盖了SC100、SC110、SC200和SC210处理核。该系列处理器主要针

8、对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其它安全IC开发提供独特的32位系统设计,并具有特定反伪造方法,从而有助于防止对硬件和软件的盗版。1.1ARM处理器系列处理器系列nARM处理器核简介Xscale Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。1.1ARM处理器系列处理器系列 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微

9、处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍1.2 RISC体系结构体系结构RISC特点特点如下:如下:精简指令集计算机精简指令集计算机RISC结构的产生结构的产生是相对于传统的复杂指令集计算机是相对于传统的复杂指令集计算机CISC 结构而言的。结构而言的。1.2 RISC体系结构体系结构 指令规整、对称、简单。指令小于指令规整、对称、

10、简单。指令小于100条,基条,基本寻址方本寻址方 式有式有23种。种。单周期指令。单周期指令。指令字长度一致,单拍完成,便于流水操作指令字长度一致,单拍完成,便于流水操作;ARM7 三级流水线:取指、译码、执行;三级流水线:取指、译码、执行;ARM9 五级流水线;五级流水线;ARMl0 六级流水线。六级流水线。大量的寄存器。寄存器不少于大量的寄存器。寄存器不少于32个。数据处理个。数据处理器的指令只对寄存器的内容操作。只有加载器的指令只对寄存器的内容操作。只有加载存储指令可以访问存储器。存储指令可以访问存储器。RISC特点特点如下:如下:第二章 目录1 ARM微处理器概述微处理器概述 ARM处

11、理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍1.3 ARM和和Thumb状态状态Thumb指令集的功能是指令集的功能是32位位ARM指令集的指令集的功能子集。功能子集。Thumb

12、在性能和代码大小之间提供了出在性能和代码大小之间提供了出色的折中。色的折中。n正在执行正在执行Thumb指令集的处理器是工作在指令集的处理器是工作在Thumb状态下。状态下。n正在执行正在执行ARM指令集的处理器是工作在指令集的处理器是工作在ARM状状态下。态下。第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式

13、体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍1.4.寄存器寄存器 nARM处理器有处理器有37(31+6)个物理寄存个物理寄存器器,有有18个可编程访问的寄存器。个可编程访问的寄存器。n寄存器被安排成部分重叠的组。每种寄存器被安排成部分重叠的组。每种处理器模式都有不同的寄存器组。处理器模式都有不同的寄存器组。n分组的寄存器在异常处理和特权操作分组的寄存器在异常处理和特权操作时时,可得到快速的上下文切换。可得到快速的上下文切换。第二章 目录1 ARM微处理

14、器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍数据处理指令数据处理指令 加载和存储指令加载和存储指令分支指令分支指令 协处理器指令协处理器指令 杂项指令

15、杂项指令nARM指令集 1.5 ARM指令集概述指令集概述ARM指令集可分为5大类指令,所有指令都可以条件执行,其中一些指令还可以根据执行结果更新CPSR寄存器的相关标志位:第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Th

16、umb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍 Thumb指令集可分为4大类指令:分支指令;数据处理指令;寄存器加载和存储指令;异常产生指令。nThumb指令集 1.6 Thumb指令集概述指令集概述 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存

17、储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍上节内容回顾上节内容回顾:ARM公司名称、微处理器名称和嵌入式技术名公司名称、微处理器名称和嵌入式技术名称;称;特点特点高性能、小体积、低功耗、紧代码密高性能、小体积、低功耗、紧代码密度、多供应商、高占有率;度、多供应商、高占有率;系列系列ARM7、ARM9(E)、ARM10、Xscale、StrongARM和和SecurCore等等;结构结构两种两种CPU工作状态、工作状态、32位位RISC结构、结构、多寄存器、多处理器

18、模式多寄存器、多处理器模式、两种指、两种指令集;令集;教学内容教学内容:ARM处理器体系结构处理器体系结构数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式处理器模式处理器模式寄存器组织寄存器组织异常异常n体系结构直接支持的数据类型ARM处理器支持下列数据类型:字节 8位半字 16位(必须分配为占用两个字节)字 32位(必须分配为占用4各字节)1112342 2.1 数据类型数据类型 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指

19、令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍2.2 ARM微处理器的工作状态微处理器的工作状态 ARM微处理器的微处理器的工作状态工作状态一般有两种一般有两种:ARM状态状态处理器执行处理器执行32位的字对齐的位的字对齐的ARM指令;指令;Thumb状态状态处理器执行处理器执

20、行16位的、半字对齐的位的、半字对齐的Thumb指令。指令。n处理器状态切换进入进入Thumb状态:状态:当操作数寄存器的状态位当操作数寄存器的状态位(位位0)为为1时,执行时,执行BX指令指令进入进入Thumb状态状态。如果处理器在如果处理器在Thumb状态进入异常,则当异常状态进入异常,则当异常处理返回时,自动转换到处理返回时,自动转换到Thumb状态状态。进入进入ARM状态状态。当操作数寄存器的状态位当操作数寄存器的状态位(位位0)为为0时时执行执行BX指令指令进入进入ARM状态状态。当处理器进行异常处理时,当处理器进行异常处理时,进入进入ARM状状态态从异常向量地址处开始执行。从异常向

21、量地址处开始执行。n处理器状态切换 使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换,程序如下所示。;从从Arm状态切换到状态切换到Thumb状态状态 LDR R0,=Lable+1 BX R0;从从Thumb状态切换到状态切换到ARM状态状态 LDR R0,=Lable BX R0地址最低位为1,表示切换到Thumb状态地址最低位为0,表示切换到ARM状态跳转地址标号2.2 ARM微处理器的工作状态微处理器的工作状态 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄

22、存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍2.3 ARM体系结构的存储器格式体系结构的存储器格式 ARMARM体系结构可以用两种方法存储字数据,体系结构可以用两种方法存储字数据,称为称为大端格式大端格式和和小端格式小端格式。位位小端模式小端模式byte3 by

23、te2 byte1 byte0字地址字地址 8 4 02.3 ARM体系结构的存储器格式体系结构的存储器格式 ARMARM体系结构可以用两种方法存储字数据,体系结构可以用两种方法存储字数据,称为称为大端格式大端格式和和小端格式小端格式。位位大端模式大端模式字地址字地址 8 4 0byte0 byte1 byte2 byte3 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM

24、微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍n简介 ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。2.2.4 处理器模式 处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sy

25、s)用于支持操作系统的特权用于支持操作系统的特权任务等任务等与用户模式类似,但具有可以与用户模式类似,但具有可以直接切换到其它模式等特权直接切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道支持高速数据传输及通道处理处理FIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进系统复位和软件中断响应时进入此模式入此模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM

26、7TDMI没有大用处没有大用处 未定义未定义(und)支持硬件协处理器的软件支持硬件协处理器的软件仿真仿真未定义指令异常响应时进入此未定义指令异常响应时进入此模式模式n处理器模式2.2.4 处理器模式处理器模式 n特权模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止

27、(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)系统 (sys)2.2.4 处理器模式 n异常模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用

28、户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应

29、的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。2.2.4 处理器模式 n用户和系统模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处

30、理器的软件仿真未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。系统 (sys)用户 (usr)2.2.4 处理器模式 处理器启动时的模式转换图处理器启动时的模式转换图管理模式管理模式SVC(Supervisor)多种特权模式变化多种特权模式变化用户程序的运行模式用户程序的运行模式 复位后复位后缺省模式缺省模式主要完成各主要完成各模式的堆栈模式的堆栈设置,注意设置,注意不要进入用不要进入用户模式户模式一

31、般为用户一般为用户模式模式User 第二章 目录1 ARM微处理器概述微处理器概述 ARM处理器系列处理器系列 RISC体系结构体系结构 ARM和和Thumb状态状态 寄存器寄存器 ARM指令集概述指令集概述 Thumb指令集概述指令集概述2 ARM微处理器体系结构微处理器体系结构 数据类型数据类型 ARM微处理器的工作状态微处理器的工作状态 ARM体系结构的存储器格式体系结构的存储器格式 处理器模式处理器模式 寄存器组织寄存器组织 异常异常3 ARM/Thumb指令系统指令系统 处理器寻址方式处理器寻址方式 指令集介绍指令集介绍 指令集介绍指令集介绍简介简介2.5 寄存器组织寄存器组织nAR

32、M处理器有处理器有37(31+6)个物理寄存器个物理寄存器,有有18个可编程访问的寄存器。个可编程访问的寄存器。n寄存器被安排成部分重叠的组。在不同的寄存器被安排成部分重叠的组。在不同的工作模式和处理器状态下,程序员可以访工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。问的寄存器也不尽相同。n分组的寄存器在处理处理器异常和特权操分组的寄存器在处理处理器异常和特权操作时可得到快速的上下文切换。作时可得到快速的上下文切换。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)

33、R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiqARM状态各模式下的寄存器寄存器

34、类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)

35、R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiqARM状态各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_svcCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37个寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。寄

36、存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(P

37、C)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用户用户无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系统系统SPSR_svcCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止中止SPSR_undCPSRR15

38、R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定义未定义SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中断中断SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中断快中断ARM状态各模式下可以访问的寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4

39、(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R13_fiqR13_i

40、rqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB

41、,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10

42、_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0 其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(I

43、P)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_f

44、iqR8 寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR

45、13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统

46、管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_sv

47、c SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器 寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R

48、8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq堆栈指针寄存器R13(SP)寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其

49、它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R

50、14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq链接寄存器R14(LR)R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。Lable程序A程序BR14nR14寄存器与子程序调用BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.程序A执行过程中调用程序B;操作流

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第2章ARMTHUMB微处理器结构及指令系统1-课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|