




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 ARM微处理器体系结构与指令集,主要内容,ARM体系结构的特点 ARM微处理器体系结构 ARM处理器的工作模式 ARM处理器的寄存器组织 流水线 ARM处理器的存储 ARM处理器的异常 ARM处理器的指令系统 ARM处理器的寻址方式 ARM指令集 Thumb指令集,3.1 ARM体系结构的特点,RISC型处理器结构 Thumb指令集 多处理器状态模式 两种处理器工作状态 嵌入式在线仿真调试 灵活方便的接口 低电压功耗的设计,ARM微处理器的特点,采用RISC架构的ARM微处理器一般具有如下特点: 1、体积小、低功耗、低成本、高性能; 3、支持Thumb(16位)/ARM(32位)双指令
2、集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定;,3.2 ARM处理器体系结构,嵌入式处理器的基本结构(1),微处理器是整个系统的核心,通常由3大部分组成:控制单元、算术逻辑单元和寄存器。,嵌入式处理器的基本结构(2),控制单元:主要负责取指、译码和取操作数等基本动作,并发送主要的控制指令。控制单元中包括两个重要的寄存器:程序计数器(PC)和指令寄存器(IR)。程序计数器用于记录下一条程序指令在内存中的位置,以便控制单元能到正确的内存位置取指;指令寄存器负责存放被控制单元所取
3、的指令,通过译码,产生必要的控制信号送到算术逻辑单元进行相关的数据处理工作。,嵌入式处理器的基本结构(2),算术逻辑单元:算术逻辑单元分为两部分,一部分是算术运算单元,主要处理数值型的数据,进行数学运算,如加、减、乘、除或数值的比较;另一部分是逻辑运算单元,主要处理逻辑运算工作,如AND、OR、XOR或NOT等运算。,嵌入式处理器的基本结构(2),寄存器:用于存储暂时性的数据。主要是从存储器中所得到的数据(这些数据被送到算术逻辑单元中进行处理)和算术逻辑单元中处理好的数据(再进行算术逻辑运行或存入到存储器中。,3.2.1 ARM处理器的工作状态,处理器有两种工作状态: ARM:32位,执行字对
4、准的ARM指令 Thumb:16位,执行半字对准的Thumb指令 ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容,ARM微处理器:处理器工作状态,进入Thumb状态: 执行BX指令,并设置操作数寄存器的状态(位0)为1。 在Thumb状态进入异常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),当异常处理返回时自动转换到Thumb状态 进入ARM状态: 执行BX指令,并设置操作数寄存器的状态(位0)为0。 进入异常时,将PC放入异常模式链接寄存器中,从异常向量地址开始执行也可进入ARM状态,3.2.2 寄存器组织,ARM处理器有37个寄存器 30个通用寄存器
5、:堆栈及其他通用寄存器 6个状态寄存器 1个PC(程序计数器) 这些寄存器不能同时看到 不同的处理器状态和工作模式确定哪些寄存器是对编程者是可见的,ARM微处理器: ARM State寄存器,1.ARM状态下的通用寄存器,通用寄存器包括R0R15,可以分为三类: 未分组寄存器R0R7; 分组寄存器R8R14 程序计数器PC(R15),未分组寄存器R0R7,所有模式下,R0-R7所对应的物理寄存器都是相同的 这八个寄存器是真正意义上的通用寄存器,ARM体系结构中对它们没有作任何特殊的假设,它们的功能都是等同的。 在中断或者异常处理程序中一般都需要对这几个寄存器进行保存。,分组寄存器R8R14,访
6、问的物理寄存器取决于当前的处理器模式,若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。 R8-R13各有两组物理寄存器:一组为FIQ模式,另一组是除FIQ以外的其他模式。 R13-R14各有6个分组的物理寄存器,一个用于用户模式和系统模式,其他5个分别用于5种异常模式。 R13(也被称为SP指针)被用作栈指针,通常在系统初始化时需要对所有模式下的SP指针赋值,当CPU在不同的模式时栈指针会被自动切换成相应模式下的值。 R14有两个用途,一是在调用子程序时用于保存调用返回地址,二是在发生异常时用于保存异常返回地址。,程序计数器PC(R15),用作程序计数器(PC),可以被读
7、写 ARM state: bits 1:0为0,bits31:3即为 PC. THUMB state:bit 0为0,bits31:1即为 PC,3.ARM状态下的状态寄存器R16,寄存器R16用作CPSR(Current Program Status Register,当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。 每一种运行模式下又都有一个专用的物理状态寄存器,称为SPSR(Saved Program Status Register,备份的程序状态寄存器),当异常发生时,SPSR用于保存CPSR的
8、当前值,从异常退出时则可由SPSR来恢复CPSR。 由于用户模式和系统模式不属于异常模式,他们没有SPSR,当在这两种模式下访问SPSR,结果是未知的。,CPSR,CPSR(当前程序状态寄存器)在所有的模式下都是可以读写的,它主要包含: 条件标志 中断使能标志 当前处理器的模式 其它的一些状态和控制标志,ARM微处理器:程序状态寄存器,置0表示执行32bit的ARM指令 置1表示执行16bit的Thumb指令,Negative,Zero,Carry,Overflow,IRQ中断的响应: 置1:禁止响应 置0:允许响应,FIQ中断的响应: 置1:禁止响应 置0:允许响应,ARM微处理器:程序状态
9、寄存器,模式控制位M0-M4,Thumb状态下的寄存器组织,两种状态下的寄存器组织的关系,Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系: Thumb状态下和ARM状态下的R0R7是相同的。 Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。 Thumb状态下的SP对应于ARM状态下的R13。 Thumb状态下的LR对应于ARM状态下的R14。 Thumb状态下的程序计数器对应于ARM状态下R15,3.2.3 ARM的工作模式,7种CPU模式,CPU模式的转变: 软件控制 异常 外部中断,ARM微处理器:CPU模式,User模式,程序不能访问有些受保护的资源,只能
10、通过异常的形式来改变CPU的当前运行模式,特权模式可以存取系统中的任何资源,System模式,与User模式的运行环境一样 但是它可以不受任何限制的访问任何资源 该模式主要用于运行系统中的一些特权任务,FIQ模式,IRQ模式,Supervisor模式,Abort模式,Undefined模式,异常模式:主要是在外部中断或者程序执行非法操作时会触发,3.2.4 流水线,1 流水线的概念与原理,处理器按照一系列步骤来执行每一条指令,典型的步骤如下: (1)从存储器读取指令(fetch); (3)译码以鉴别它是属于哪一条指令(decode); (3)从指令中提取指令的操作数(这些操作数往往存在于寄存器
11、中)(reg);,(4)将操作数进行组合以得到结果或存储器地址(ALU); (5)如果需要,则访问存储器以存储数据(mem); (6)将结果写回到寄存器堆(res)。,2 流水线的分类,到ARM7为止的ARM处理器使用简单的3级流水线,它包括下列流水线级。 (1)取指令(fetch):从寄存器装载一条指令。 (3)译码(decode):识别被执行的指令,并为下一个周期准备数据通路的控制信号。在这一级,指令占有译码逻辑,不占用数据通路。 (3)执行(excute):处理指令并将结果写回寄存器。,1)3级流水线ARM组织,在ARM9TDMI中使用了典型的5级流水线,5级流水线包括下面的流水线级。
12、(1)取指令(fetch):从存储器中取出指令,并将其放入指令流水线。 (3)译码(decode):指令被译码,从寄存器堆中读取寄存器操作数。在寄存器堆中有3个操作数读端口,因此,大多数ARM指令能在1个周期内读取其操作数。,2)5级流水线ARM组织,(3)执行(execute):将其中1个操作数移位,并在ALU中产生结果。如果指令是Load或Store指令,则在ALU中计算存储器的地址。 (4)缓冲/数据(buffer/data):如果需要则访问数据存储器,否则ALU只是简单地缓冲1个时钟周期。 (5)回写(write-back):将指令的结果回写到寄存器堆,包括任何从寄存器读出的数据。,在
13、ARM10中,将流水线的级数增加到6级,使系统的平均处理能力达到了1.3DMIPS/MHz。,3)6级流水线ARM组织,图3-4 6级流水线指令的执行过程,3.2.5 异常,当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。 ARM体系结构中的异常,与8位/16位体系结构的中断有很大的相似之处,但异常与中断的概念并不完全等同。,1 ARM体系结构所支持的异常类型,ARM CPU将引起异常的类型分为7种,2 异常优先级,3
14、 应用程序中的异常处理,当系统运行时,异常可能会随时发生,为保证在ARM处理器发生异常时不至于处于未知状态,在应用程序的设计中,首先要进行异常处理,采用的方式是在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序,当ARM处理器发生异常时,程序计数器PC会被强制设置为对应的异常向量,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行。,异常向量,4 对异常的响应,当一个异常出现以后,ARM微处理器会执行以下几步操作 : 1、将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。 3、将CPSR复制到相应的SPSR中。 3、根据异常类型,强制设置CPSR的运行模式位。 4、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。,ARM微处理器:异常,当异常出现时,异常模式分组的R14和SPSR用于保存状态,即: R14_=return link SPSR_=CPSR CPSR4:0=exception mode number CPSR5=0 /*在ARM状态执行*/ if=Reset or FIQ then CPSR6=1 /*禁止快速中断*/ CPSR7=1 /*禁止正常中断*/ PC=exception vector address 当处理异常返回时,将S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加强个人职业技能提升的步骤计划
- 班级工作计划安排方案
- 开展班级技能培训的路径计划
- 2025年纺织染整助剂:净洗剂项目发展计划
- 2025年纺织、服装、鞋帽批发服务项目发展计划
- 2025年锤纹漆合作协议书
- 承包合同属于劳务合同
- 关于项目延期原因的书面解释报告
- 矿山合作协议跟承包协议
- 关于办公资源调配的通知
- 2024年湖南外贸职业学院单招职业适应性测试题库及答案解析
- 2024年教育部的中小学德育工作指南
- 公务员考试申论试题与参考答案(2025年)
- 七年级数学(人教)上册木杆和重物试验方程解法
- DB41T 2599-2024 煤矿地震监测站网技术规范
- 抖音账号租赁合同协议
- 小孩进入厂区安全免责协议书(2篇)
- 服装行业环保低碳生产方案
- 三甲医院临床试验机构-31 V00 专业组备案及考核SOP
- 胞嘧啶化学合成
- 部编版道德与法治小学四年级下册全册教学设计
评论
0/150
提交评论