第二章ARM处理器基础ARM7课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二章ARM处理器基础ARM7课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 ARM 处理器 基础 ARM7 课件
- 资源描述:
-
1、第二章 ARM处理器基础 一、ARM7处理器概述二、ARM处理器的数据格式 三、处理器模式与内部寄存器 四、ARM的异常处理五、本节附录一、ARM7处理器概述ARM7TDMI是一个32位的微处理器核,基于精简指令集(RISC)的原理设计而成的。处理器的译码结构相对简单;处理器内含集成元件的门数相对减少,功耗降低。ARM7微处理器系列特点:1 1、32位嵌入式RISC处理器;2 2、支持多种低功耗模式;3 3、支持片上调试功能,通过JTAG连接;4 4、实时中断处理系统;5 5、3级指令流水线,具有很高的指令吞吐量。1、32位ARM指令集,兼容16位Thumb 指令集;2、不但支持32位,16位
2、的数据类型,也支持8位数据类型;3、和51系列相似的中断向量结构;4、支持协处理器。V4V4指令体系的特点:指令体系的特点:ARM7ARM7微处理器核功能微处理器核功能框图框图 A31:0:地址总线。D31:0:数据总线。ABORT:存储器中止逻辑。BIGEND:数据格式大端、小端控制逻辑。MAS1:0:决定数据字长的控制逻辑。nFIQ:快速中断请求逻辑。nIRQ:通用中断请求逻辑。DM4:0:处理器工作模式控制逻辑。流水线级数越多,说明单位时间内执行的条数就越多。计算机在执行程序时的3个步骤:第一步是取指取指:即把指令从程序存储器中取出来。取指是在处理器内核和程序存储器之间进行的;第二步是译
3、码译码:把读到内核的指令进行解释,也就是把二进制的指令变换成电路的动作;第三步是执行执行:即按照指令的要求把门电路的动作送到指定的目标地址。1.1 三级流水线结构 ARM处理器的取指、译码和执行3个步骤是同时进行的。三级流水线结构的ARM7指令执行示意图 8位单片机以l2个时钟周期为一个机器周期,一个机器周期里完成对一条程序的取指、译码和执行三个步骤。8位单片机指令执行示意图 对于3级流水线的指令执行过程,在做程序设计时要注意以下几点:1.程序计算器R15(PC)总是指向取指的指令,而不是指向正在执行的指令或正在译码的指令。对于ARM指令,因为每条指令占4个字节,所以有:PC值值=当前程序执行
4、位置当前程序执行位置+4+4 对于Thumb指令,因为每条指令占2个字节,所以有:PC值值=当前程序执行位置当前程序执行位置+2+22.程序发生中断或跳转时,执行完当前的指令后,程序执行地址将发生变化。3.在计算多个指令执行时间时,必须注意时间是重叠的,而不是衔接的。二、ARM处理器的数据格式 1.1 存储空间格式 ARM7TDMI处理器采用冯诺依曼(Von Neumann)结构,指令和数据共用一条32位数据总线,存储器中的内容即可以是指令代码也可以是数据。ARM7TDMI处理器将存储器看作是一个从零开始的线性递增的字节集合,处理器的可寻址范围是0232-1个字节,共有4GB地址空间。ARM7
5、TDMI处理器采用存储器映像方式,互不冲突。ARM7TDMI没有专门的I/O指令,对存储器的访问和对I/O端口的访问采用同样的指令,唯一区别的是它们的地址空间。LPC2000系列处理器把4GB的地址空间统一划分为若干个地址区间分配给片内Flash、片内RAM、片外存储器、VPB外设、AHB外设。ARM体系结构的两种存储数据格式:小端存储格式;大端存储格式。LPC2200地址映射 1 1、小端存储格式(、小端存储格式(Little EndianLittle Endian)低字节的内容保存在低地址空间里,高字节的内容保存在高地址空间里的存储方式称为小端存储格式小端存储格式。假设有一个32位的数据0
6、 xA9876543,它要保存到地址范围为0 x0000 0 x0003的存储区中。按小端存储格式存储:4个字节保存1个字内容 2个半字保存1个字内容 注意:处理器在半字、字进行操作的时候要注意地址对准的要求。2 2、大端存储格式(、大端存储格式(Big EndianBig Endian)字数据的高字节存储在低地址中,而字数据的低字节则存储在高地址中的存储方式称为大端存储格式大端存储格式。假设一个32位的数据0 xA9876543,保存到起始地址为0 x0000的存储空间里,按大端存储格式对数据进行存储。注意:大端存储格式是也要对准地址。4个字节保存1个字内容2个半字保存1个字内容3 3、两种
7、存储格式的比较、两种存储格式的比较1、在两种存储格式下,对一个字或一个半字的内容存储,其存储结果是不同的;2、在这两种存储格式中,半字与字的存储地址没有发生变化;3、以ARM为内核的处理器都支持两种存储格式,具体设置见具体处理器的说明。1.2 ARM处理器的程序与数据存储 程序程序是ARM处理器可以运行的指令代码;数据数据是指令在运行中用到的操作数或者变量。1 1、程序存储、程序存储 ARM处理器支持两种指令:ARMARM汇编指令:汇编指令:ARM汇编指令是32位长,ARM处理器在执行地址a的ARM汇编指令时,会从地址a+4取下一条指令。ThumbThumb汇编指令:汇编指令:Thumb汇编指
8、令是16位长,ARM处理器在执行地址a的Thumb汇编指令时,会从地址a+2取下一条指令。ARM7TDMI内核的两种工作状态:ARMARM状态状态:此时执行32位字对齐的ARM汇编指令。THUMBTHUMB状态状态:此时执行16位半字对齐的THUMB汇编指令。2 2、数据存储、数据存储 ARM7处理器对数据操作(读或写)支持三种数据长度:字节(8位)、半字(16位)、字(32位)。字节字节:从地址0 x0000处取一个字节数据,则取出来的内容为12;从地址0 x0001处取一个字节数据,则取出来的内容为34;半字半字:从地址0 x0000处取一个半字数据,则取出来的内容为3412;从地址0 x
9、0001处取一个半字数据,则取出来的内容为5634;字字:从地址0 x0000处取一个字数据,则取出来的内容为78563412;从地址0 x0001处取一个字数据,则取出来的内容为9A785634。注意:ARM7处理器在对数据操作时要边界对齐,要找到正确的地址。三、处理器模式与内部寄存器 1.1处理器模式 ARM7TDMI内核支持7种操作模式:用户模式(用户模式(usr):运行应用程序的普通模式;快中断模式(快中断模式(fiq):):用来处理外设引发的快速中断;中断模式(中断模式(irq):):用来处理通用中断;管理模式(管理模式(svc):主要用于 SWI(软件中断)和 OS(操作系 统)。
10、此模式有额外的特权,允许程序员进 一步控制处理器;中止模式(中止模式(abt):当数据或预取指失败时进入;系统模式(系统模式(sys):是操作系统的特权用户模式;未定义模式(未定义模式(und):当未定义的指令被执行时进入。1.2内部寄存器寄存器类别寄存器在汇编中的名称各模式实际访问的寄存器用户 系统管理中止未定义中断快中断通用寄存器程序计数器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)R1
11、1R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM状态下的寄存器组织结构(阴影部分的寄存器都是私有寄存器)2 2、堆栈指针、堆栈指针 R13R13寄存器R13(也称为堆栈指针或SP)有6个分组的物理寄存器。寄存器R13通常作为堆栈指针SP。3 3、链接寄存器、链接寄存器 R14
12、R14寄存器R14(也称为链接寄存器或LR)有6个分组的物理寄存器。寄存器R14有三种用途:1、当发生异常时,它被设置为该异常返回地址;2、在执行分支和链接(BL)指令时,它用于保存子程序的返回地址;3、而在其他时候,作为一个通用寄存器来对待。1 1、一般通用寄存器、一般通用寄存器 R0R0R12R12寄存器R0R12为保存数据或地址值的一般通用寄存器。寄存器R0R7为未分组的寄存器;寄存器R8R12为分组寄存器。4 4、程序计数器、程序计数器 R15R15寄存器R15(也称为程序计数器或PC)总是用于特殊用途,它总是指向下一条要读取指令的地址。5 5、CPSRCPSR和和SPSRSPSR 所
展开阅读全文