![[工学]微机原理与嵌入式系统chapter_2_ARM7体系结构.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/23/5b671eca-ddaf-41e4-a911-86106f060b61/5b671eca-ddaf-41e4-a911-86106f060b611.gif)
![[工学]微机原理与嵌入式系统chapter_2_ARM7体系结构.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/23/5b671eca-ddaf-41e4-a911-86106f060b61/5b671eca-ddaf-41e4-a911-86106f060b612.gif)
![[工学]微机原理与嵌入式系统chapter_2_ARM7体系结构.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/23/5b671eca-ddaf-41e4-a911-86106f060b61/5b671eca-ddaf-41e4-a911-86106f060b613.gif)
![[工学]微机原理与嵌入式系统chapter_2_ARM7体系结构.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/23/5b671eca-ddaf-41e4-a911-86106f060b61/5b671eca-ddaf-41e4-a911-86106f060b614.gif)
![[工学]微机原理与嵌入式系统chapter_2_ARM7体系结构.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/23/5b671eca-ddaf-41e4-a911-86106f060b61/5b671eca-ddaf-41e4-a911-86106f060b615.gif)
已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/3/29,西安邮电学院 计算机系,1,第2章 ARM7体系结构,西安邮电学院 计算机系,2,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,3,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态 寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,4,2019/3/29,ARM简介,ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。 ARM公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。,ARM公司简介,西安邮电学院 计算机系,5,2019/3/29,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,西安邮电学院 计算机系,6,2019/3/29,2.1 ARM7体系结构,“体系结构”(或称为“系统结构”),是处理器的逻辑抽象,是指程序员在使用某处理器编制程序时,所“看到”从而可以在程序中使用的处理器资源构成、使用方式、工作原理及其相互间的关系。其中最为重要的就是处理器所提供的指令系统和寄存器组模型。 冯诺依曼存储器体系结构和哈佛存储器体系结构,西安邮电学院 计算机系,7,2019/3/29,1. RISC处理器,RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。 RISC处理器具有以下特点: 采用LOAD/STORE结构。因为访问存储器指令所需要的时间比较长,在指令系统中要尽量减少这类指令,所以RISC指令中只保留不可再少的LOAD/STORE两种存储器访问指令; 硬布线控制逻辑。使得大多数指令在单周期内执行完成,以减少微程序技术中的指令解释开销; 减少指令和寻址方式的种类。寻址方式简单,指令系统小; 指令长度固定。,西安邮电学院 计算机系,8,2019/3/29,2. ARM7 体系结构,ARM7采用ARM v4T结构,分为三级流水,具有如下特点: RISC处理器结构; 能够提供0.9MIPS/MHz的三级流水线结构; 支持32位的ARM指令集和16位的Thumb指令集; ARM7所有的指令都可以条件执行,使得程序设计更适合流水线的工作特点; 专用的存储器访存指令(Load/Store)。其它所有指令都是寄存器操作指令。,西安邮电学院 计算机系,9,2019/3/29,每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用; 使用地址自增和自减的寻址方式优化程序循环; 装载/保存指令对数据的批量传输,实现最大数据吞吐量; 大多数指令的条件执行,实现最快速的代码执行。,为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点:,西安邮电学院 计算机系,10,2019/3/29,3. ARM7处理器的三级流水线,ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。 ARM7TDMI的流水线分3级,分别为:,取指,译码,执行,西安邮电学院 计算机系,11,2019/3/29,三级流水线结构的指令执行顺序,周期1,周期2,周期3,周期4,周期5,周期6,处理器执行一条指令的三个阶段,西安邮电学院 计算机系,12,2019/3/29,程序清单 21,0x4000 ADD PC , PC , #4 ; 正在被执行的指令 ;PC PC当前值 + 4 0x4004 cmd2 ; 正在被译码的指令; 0x4008 cmd3 ; 正在被取指的指令 ;PC 0x4008 0x400C cmd4 ; PC40x400C ,西安邮电学院 计算机系,13,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态 寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,14,2019/3/29,处理器状态,ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令集,并且各自对应1种处理器的状态: ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态; Thumb状态:16位,处理器执行半字方式的Thumb指令。,注意:两个状态之间切换并不影响处理器模式或寄存器内容。,西安邮电学院 计算机系,15,2019/3/29,ARM处理器模式,ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。 ARM7TDMI完全支持这七种模式。,西安邮电学院 计算机系,17,2019/3/29,特权模式,除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。,西安邮电学院 计算机系,18,2019/3/29,异常模式,这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。,西安邮电学院 计算机系,19,2019/3/29,用户和系统模式,这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。 系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。,西安邮电学院 计算机系,20,2019/3/29,ARM7处理器约定了进入到5种异常模式的对应事件: 管理模式(svc):复位或执行SWI软中断指令时,进入该模式。 终止模式(abt):处理器访问存储器失败时,进入该模式。 未定义指令模式(und):处理器遇到不支持的指令时,进入该模式。 中断模式(irq):处理器响应irq中断时,进入该模式。 快中断模式(fiq):处理器响应fiq中断时,进入该模式。,西安邮电学院 计算机系,21,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态 寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,22,2019/3/29,1. ARM7的寄存器,ARM微处理器内共有37个32位的程序可访问寄存器物理资源,其中31个通用寄存器,6个状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器可被编程访问,取决微处理器当前的工作状态及运行模式。即处理器的当前状态和模式决定了可以访问的物理寄存器集合,并且在任何状态、模式下最多可见到18个寄存器。,西安邮电学院 计算机系,23,2019/3/29,ARM状态各模式下的寄存器,西安邮电学院 计算机系,24,2019/3/29,ARM状态各模式下的寄存器,所有的37个寄存器,分成两大类: 31个通用32位寄存器; 6个状态寄存器。,西安邮电学院 计算机系,25,2019/3/29,ARM状态各模式下可以访问的寄存器,西安邮电学院 计算机系,26,2019/3/29,一般的通用寄存器,在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。,西安邮电学院 计算机系,27,2019/3/29,一般的通用寄存器,其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。,西安邮电学院 计算机系,28,2019/3/29,一般的通用寄存器,寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器,西安邮电学院 计算机系,29,2019/3/29,一般的通用寄存器,寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。,西安邮电学院 计算机系,30,2019/3/29,一般的通用寄存器,寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。,西安邮电学院 计算机系,31,2019/3/29,堆栈指针寄存器R13(SP),寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。,西安邮电学院 计算机系,32,2019/3/29,链接寄存器R14(LR),R14为链接寄存器(LR),在结构上有两个特殊功能: 在每种模式下,模式自身的R14版本用于保存子程序返回地址; 当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。,西安邮电学院 计算机系,33,2019/3/29,2. ARM处理器特别功能寄存器,堆栈指针寄存器(SP),堆栈是一种具有“后进先出”(LIFO-Last In First Out) 特殊访问属性的存储结构。堆栈一般使用RAM物理资源作为存储体,再加上LIFO访问接口实现。,堆栈是计算机中广泛应用的技术,因其LIFO特性, 常应用于保存中断断点、保存子程序调用返回点、 保存CPU现场数据等,也用于程序间传递参数。,西安邮电学院 计算机系,34,2019/3/29,程序计数器(PC),西安邮电学院 计算机系,35,2019/3/29,返回连接寄存器(LR),西安邮电学院 计算机系,36,2019/3/29,当前程序状态寄存器(CPSR)和存储程序状态寄存器(SPSR),ARM处理器工作过程中需要一些控制信息,用于控制处理器的状态、模式和处理器的中断允许或屏蔽;处理器运算过程中也会表决出一些运算状态信息,用于标志处理器执行指令后有无进位、有无溢出、结果的正负和结果是否为0等当前状态情况。,西安邮电学院 计算机系,37,2019/3/29,3. Thumb状态下的寄存器,Thumb状态寄存器集是ARM状态集的子集,程序员可以直接访问的寄存器为: 8个通用寄存器R0R7; 程序计数器(PC); 堆栈指针(SP); 链接寄存器(LR); 有条件访问程序状态寄存器( CPSR)。,西安邮电学院 计算机系,38,2019/3/29,Thumb状态各模式下的寄存器,注意:括号内为ATPCS中寄存器的命名,可以使用RN汇编伪指令将寄存器定义多个名字。其中ADS1.2的汇编程序直接支持这些名称,但注意a1a4,v1v4必须用小写。,西安邮电学院 计算机系,39,2019/3/29,Thumb状态下的通用寄存器,在汇编语言中寄存器R0R7为保存数据或地址值的通用寄存器。对于任何处理器模式,它们中的每一个都对应于相同的32为物理寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊的用途,并且可用于任何使用通用寄存器的指令。,西安邮电学院 计算机系,40,2019/3/29,Thumb状态下的堆栈指针寄存器(SP),堆栈指针SP对应ARM状态的寄存器R13。每个异常模式都有其自身的SP分组版本,SP通常指向各异常模式所专用的堆栈。 注意:在发生异常时,处理器自动进入ARM状态。,西安邮电学院 计算机系,41,2019/3/29,Thumb状态下的链接寄存器R14(LR),链接寄存器LR对应ARM状态寄存器R14,在结构上有两个特殊功能,详见“ARM状态下的链接寄存器LR”。 注意:在发生异常时,处理器自动进入ARM状态。,西安邮电学院 计算机系,42,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态 寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,43,2019/3/29,程序状态寄存器,程序设计中经常要依据前面数据处理的情况来决策数据的后续处理方法,处理器会随时将指令执行的当前状态以寄存器位的方式表示出来,这个用于标示处理器当前指令执行状态的寄存器称之为程序状态寄存器(PSR-Program State Register),程序状态寄存器中的值称做程序状态字(PSW-Program State Word)。,西安邮电学院 计算机系,44,2019/3/29,ARM7TDMI内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR反映了当前处理器的状态,其包含: 4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V) ); 2个中断禁止位,分别控制一种类型的中断; 5个对当前处理器模式进行编码的位; 1个用于指示当前执行指令(ARM还是Thumb)的位。,西安邮电学院 计算机系,45,2019/3/29,程序状态寄存器,条件代码标志,保留,控制位,溢出标志,进位或借位扩展,零,负或小于,IRQ禁止,FIQ禁止,状态位,模式位,N,Z,C,V,I,T,F,CPSR寄存器的格式,西安邮电学院 计算机系,46,2019/3/29,3.8 程序状态寄存器,简介,每个异常模式还带有一个程序状态保存寄存器 (SPSR),它用于保存在异常发生之前的CPSR。CPSR和SPSR通过特殊指令进行访问。详细信息请参阅第4章 。,西安邮电学院 计算机系,47,2019/3/29,3.8 程序状态寄存器,条件代码标志,大多数“数值处理指令”可以选择是否影响条件代码标志位。通常如果指令带S后缀,则该指令的执行会影响条件代码标志;但有一些指令的执行总是会影响条件代码标志。 N、 Z、 C和V位都是条件代码标志。通过算术操作、逻辑操作、MSR或者LDM指令可以对这些位进行设置。所有ARM指令都可按条件来执行,而Thumb指令中只有分支指令可按条件执行。,西安邮电学院 计算机系,48,2019/3/29,3.8 程序状态寄存器,条件代码标志,各标志位的含义如下: N 运算结果的最高位反映在该标志位。对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0; Z 指令结果为0时Z=1(通常表示比较结果“相等”),否则Z=0;,西安邮电学院 计算机系,49,2019/3/29,3.8 程序状态寄存器,条件代码标志,各标志位的含义如下: C 当进行加法运算(包括CMN指令),并且最高位产生进位时C=1,否则C=0。当进行减法运算(包括CMP 指令),并且最高位产生借位时C=0,否则C=1。对于结合移位操作的非加法/减法指令,C为从最高位最后移出的值,其它指令C通常不变; V当进行加法/减法运算,并且发生有符号溢出时V=1,否则V=0,其它指令V通常不变。,西安邮电学院 计算机系,50,2019/3/29,3.8 程序状态寄存器,控制位,CPSR的最低8位为控制位,当发生异常时,这些位被硬件改变。当处理器处于一个特权模式时,可用软件操作这些位。 它们分别是: 中断禁止位; T位; 模式位。,西安邮电学院 计算机系,51,2019/3/29,3.8 程序状态寄存器,控制位,中断禁止位包括I和F位: 当I位置位时,IRQ中断被禁止; 当F位置位时,FIQ中断被禁止。 T位反映了正在操作的状态: 当T位置位时,处理器正在Thumb状态下运行; 当T位清零时,处理器正在ARM状态下运行。,西安邮电学院 计算机系,52,2019/3/29,3.8 程序状态寄存器,控制位,模式位包括M4、M3、M2、M1和M0,这些位决定处理器的操作模式。 注意:不是所有模式位的组合都定义了有效的处理器模式,如果使用了错误的设置,将引起一个无法恢复的错误。,西安邮电学院 计算机系,53,2019/3/29,CPSR模式位设置表,西安邮电学院 计算机系,54,2019/3/29,3.8 程序状态寄存器,保留位,CPSR中的保留位被保留将来使用。为了提高程序的可移植性,当改变CPSR标志和控制位时,请不要改变这些保留位。另外,请确保您程序的运行不受保留位的值影响,因为将来的处理器可能会将这些位设置为1或者0。,西安邮电学院 计算机系,55,2019/3/29,第2章 目录,1. ARM7体系结构 2. ARM7的状态与模式 3. ARM7的寄存器 4. ARM7当前程序状态 寄存器(CPSR) 5. ARM7的异常与异常处理 6. ARM7的存储系统,西安邮电学院 计算机系,56,2019/3/29,1. ARM7的异常,在ARM中,异常是一些事件,这些事件能导致正常的程序执行流程被暂时地停止,而进入到该事件对应的处理器异常模式并对该事件进行处理,这个过程称作异常响应。,ARM中定义了复位、未定义指令、SWI(软中断)、 预取指终止、预取数终止、irq以及fiq等种异常。,西安邮电学院 计算机系,57,2019/3/29,2. ARM7的异常处理,西安邮电学院 计算机系,58,2019/3/29,ARM异常,CODE32 AREA vectors,CODE,READONLY ENTRY Reset LDR PC, ResetAddr LDR PC, UndefinedAddr . . . DCD 0xb9205f80 LDR PC, PC, #-0xff0 LDR PC, FIQ_Addr ResetAddr DCD ResetInit UndefinedAddr DCD Undefined . . . Nous
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议公证合法性审查与风险规避合同
- 离婚协议房产赠与不得撤销及共同债务处理合同
- 离婚财产分配协议:车辆使用与归属权明确划分
- 农业生产基地空地租赁场地及农资供应合同
- 婚姻关系解除子女抚养权争议解决上诉合同
- 旅游地产租赁合同范本:海滨度假村租赁合同
- 煤炭储备场地租赁与仓储安全保障协议(三年)
- 夫妻财产分割离婚贷款房产权归属及支付协议
- 篮球场地塑胶地面施工与运动场地租赁合同
- 商务写字楼租赁合同与物业增值服务管理协议
- 心力衰竭健康教育
- 锂电池实验室管理办法
- 学堂在线 新闻摄影 期末考试答案
- 统编版语文五年级上册 第一单元核心素养展示
- 患者出院健康指导
- 校本研修教学课件
- 物业客服部日常工作
- 宫颈癌的个案护理
- 一例外周静脉炎的护理个案讲课件
- 2025年云南省中考英语试卷真题(含标准答案及解析)
- 数字成瘾机制研究-洞察及研究
评论
0/150
提交评论