欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载
     

    第4章ARM体系结构ppt课件.pptx

    • 资源ID:1354276       资源大小:1.43MB        全文页数:136页
    • 资源格式: PPTX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章ARM体系结构ppt课件.pptx

    第4章ARM体系结构,本章主要介绍以下内容:ARM体系结构版本ARM处理器系列ARM流水线ARM工作模式和工作状态ARM寄存器组织ARM存储器组织ARM的异常中断AMBA,2022/11/13,武汉工程大学计算机学院,ARM处理器基本特征,ARM处理器在设计上沿用了RISC技术的基本特征,但是也放弃了一些RISC设计特征。沿用的有:通用寄存器堆,32位定长指令,Load/Store访问存储器指令和3地址数据运算指令。没有沿用的有:重叠寄存器窗口,延迟转移和单周期指令执行。2001年以后, ARMv6体系结构中增加了60多条SIMD指令集。,2022/11/13,武汉工程大学计算机学院,4.1 ARM体系结构版本,迄今为止主要出现过7个指令集体系结构版本,分别命名为V1-V7。此外还有基于这些体系结构版本的变种版本。目前主要在用的ARM处理器的体系结构是V4、V5、V6和V7。每一个版本都继承了前一个版本的基本设计,指令集向下兼容。,2022/11/13,武汉工程大学计算机学院,当前在用的ARM核概况,目前实际使用的ARM处理器核有二十多种每一种处理器核依据一个体系结构版本设计这些ARM核的共同特点是:字长32位、RISC结构、低功耗、附加16位高密度指令集Thumb获得广泛的嵌入式操作系统支持包括:Windows CE、Palm OS、Symbian OS、Linux以及其他的主流RTOS含有嵌入式跟踪宏单元ETM(Embedded Trace Macro),2022/11/13,武汉工程大学计算机学院,体系结构版本V1,这种版本在原型机ARM1上实现过,从未用于商用产品。它包含:基本的数据处理指令(不包括乘法);字节、字和多字的加载/存储(load/store)指令;分支(branch)指令,包括设计用于子程序调用的分支与链接指令;软件中断指令SWI。版本V1只有26位寻址空间,现在已废弃不用。,2022/11/13,武汉工程大学计算机学院,体系结构版本V2,增加了这几种指令:乘法和乘加指令;支持协处理器的指令;快速中断模式(FIQ)中额外的2个备份寄存器;SWP指令和SWPB指令。版本V2和它之后的版本V2a仍然只有26位寻址空间,现在已废弃不用。,2022/11/13,武汉工程大学计算机学院,体系结构版本V3,这个体系结构版本将寻址范围扩展到了32位。当前程序状态信息由过去存于R15中移到一个新的当前程序状态寄存器CPSR(Current Program Status Register)中。增加了程序状态保存寄存器SPSR(Saved Program Status Registers),以便当异常出现时保留CPSR的内容。增加了2个指令(MRS和MSR),以访问新的CPSR和SPSR寄存器。,2022/11/13,武汉工程大学计算机学院,体系结构版本V4,对体系结构版本V3进行了扩展,即:半字读取和存储指令;读取带符号的字节和半字数据的指令;增加了高密度指令集Thumb,这样V4体系结构有了T变量;有了在ARM/Thumb状态之间切换的指令;增加了处理器管理模式(SVC模式)。,2022/11/13,武汉工程大学计算机学院,体系结构版本V5,提高了T变量中ARMThumb之间切换的效率;增加了一个前导零计数(count leading zeros)指令,该指令允许更有效的整数除法和中断优先程序;增加了软件断点指令;为协处理器设计者增加了更多可选择指令;对由乘法指令如何设置标志进行了定义。,2022/11/13,武汉工程大学计算机学院,体系结构版本V6,平均取指令和取数据延时减少,因Cache未命中造成的等待时间减少,总的内存管理性能提高达到30%左右;适应多处理器核的需要;增加了SIMD指令集。支持混合端序,能够处理大端序和小端序混合的数据;异常处理和中断处理得以改进,实时任务处理能力增强。,2022/11/13,武汉工程大学计算机学院,体系结构版本V7,扩展了的130条指令的Thumb-2指令集; NEON媒体引擎,该引擎具有分离的单指令多数据(SIMD)执行流水线和寄存器堆,可共享访问L1和L2高速缓存,因此提供了灵活的媒体加速功能并且简化了系统带宽设计;TrustZone技术,可以对电子支付和数字版权管理之类的应用业务提供可靠的安全措施。,2022/11/13,武汉工程大学计算机学院,ARM处理器的3种指令集,ARM指令集32位,低密度指令集Thumb指令集16位,高密度指令集Jazelle指令集8位,Java字节码指令集,2022/11/13,武汉工程大学计算机学院,ARM指令集和Thumb指令集,ARM体系结构版本中带有T变量的ARM处理器核可以工作在2种状态。ARM状态,运行32位的ARM指令集Thumb状态,运行16位的Thumb指令集在任何一种工作状态可以通过转移指令切换到另一种工作状态。ARM和Thumb之间的状态切换不影响处理器工作模式和寄存器中的内容。加电起动时处理器工作在ARM状态。,2022/11/13,武汉工程大学计算机学院,指令集压缩,对于传统的微处理器体系结构,指令和数据具有同样的宽度。与16位体系结构相比,32位体系结构在操纵32位数据时呈显了更高的性能,并可更有效地寻址更大的空间。一般来讲,16位体系结构比32位体系结构具有更高的代码密度,但只有近似一半的性能。Thumb在32位体系结构上实现了16位指令集,以提供:比16位体系结构更高的性能;比32位体系结构更高的代码密度。更加符合工业控制的需要,2022/11/13,武汉工程大学计算机学院,Thumb指令集,Thumb指令集是通常使用的32位ARM指令集的子集。每条Thumb指令是16位长,有相应的对于处理器模型有相同效果的32位ARM指令。Thumb指令在标准的ARM寄存器配置下进行操作,在ARM和Thumb状态之间具有出色的互操作性。执行时,16位Thumb指令透明地实时解压缩成32位ARM指令,且没有性能损失。Thumb具有32位核的所有优点:32位寻址空间;32位寄存器;32位移位器和算术逻辑单元ALU(Arithmetic Logic Unit);32位存储器传送。,2022/11/13,武汉工程大学计算机学院,Thumb指令集(续),Thumb因而可提供长的转移范围、强大的算术运算能力和大的寻址空间。Thumb代码的长度是ARM代码长度的65,当从16位存储系统运行时,提供ARM代码160的性能。Thumb使ARM7TDMI核非常适用于有存储器宽度限制且代码密度为重要的嵌入式应用场合。由于ARM7TDMI具有16位Thumb指令集和32位ARM指令集,这使设计者能根据他们的应用要求在子程序级灵活地强调性能或代码长度。,2022/11/13,武汉工程大学计算机学院,Jazelle技术,Jazelle的特点在于可以直接执行Java Byte Cord。它通过在ARM微处理器上增加Jazelle工作模式,使ARM指令和Java Byte Cord指令在同一个微处理器上执行。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80。首颗具备Jazelle技术的处理器是ARM926EJ-S,2022/11/13,武汉工程大学计算机学院,第3种指令集 Jazelle,执行8位指令一个软件与硬件的混合体能够加速Java字节码的执行Java Bytecodes为了执行Java字节码,需要Jazelle技术外加一个Java虚拟机的特殊修订版。Jazelle的硬件部分只负责Java字节码的部分内容,其余由软件仿真。,2022/11/13,武汉工程大学计算机学院,Jazelle指令集特征,CPSR寄存器T=0,J=1硬件完成超过60%的Java字节代码其余由软件完成,2022/11/13,武汉工程大学计算机学院,ARM体系结构版本变量列表(第1种形式),2022/11/13,武汉工程大学计算机学院,ARM体系结构变量列表(第2种形式),2022/11/13,武汉工程大学计算机学院,ARM核版本命名规则,命名规则的字符串表达式如下:ARMxyzTDMIEJF-S其中花括号的内容表示可有可无。前三个参数含义在下面说明:x表示系列号,例如:ARM7,ARM9,ARM10y表示内部存储管理和保护单元,例如:ARM72,ARM92z表示含有高速缓存(Cache),例如:ARM720,ARM940其余体系结构版本变量已经在前面幻灯片给出。,2022/11/13,武汉工程大学计算机学院,ARM核版本命名规则(续),说明:在ARM7TDMI之后出产的所有ARM内核名称,即使“ARM”字串后面没有包含“TDMI”字符串,也都默认包含了该字串。对于2005年以后ARM公司投入市场的ARMv7体系结构的处理器核,使用字符串“ARM Cortex”打头,随后附加一个字母后缀“-A”,“-R”或者“-M”,表示该处理器核适合应用的领域;其中:后缀A表示应用(Application)、 R表示实时控制(Real time)、M表示微控制器(Micro Controller)。,2022/11/13,武汉工程大学计算机学院,ARM核与体系结构版本间的关系,2022/11/13,武汉工程大学计算机学院,ARM体系结构版本详解,2022/11/13,武汉工程大学计算机学院,ARM处理器核的3种应用类型,2022/11/13,武汉工程大学计算机学院,当前主流ARM处理器核一览表,2022/11/13,武汉工程大学计算机学院,4.2 ARM处理器系列,目前在用的ARM处理器系列主要有6个ARM7ARM9ARM10EARM11SecurCore Cortex,2022/11/13,武汉工程大学计算机学院,ARM7系列处理器特点,ARM7系列为低功耗32位核,适用于对价位和功耗敏感的消费类应用。ARM7系列处理器具有以下特点:含有嵌入式ICERT逻辑;非常低的功耗;冯诺依曼结构;MIPS/MHz的三级流水线。,2022/11/13,武汉工程大学计算机学院,ARM7系列处理器特点,2022/11/13,武汉工程大学计算机学院,其它ARM7处理器核,ARM7TDMI-SARM7TDMI的可综合(synthesizable)版本(软核);最适用于可移植性和灵活性为关键的现代设计。ARM720T全性能的MMU;最适用于低功耗和体积为关键的应用。ARM7EJARM7EJ是Jazelle和DSP指令集的最小及最低功耗的实现。,2022/11/13,武汉工程大学计算机学院,ARM7TDMI内核产品举例,ARM7TDMI是一个经典的ARM内核体系结构版本是ARMv4T列出4个基于ARM7TDMI核制造的嵌入式处理器S3C44B0X,三星公司生产SEP3203,东南大学集成电路研究所AT91SAM7,Atmel公司LPC2114,飞利浦公司,2022/11/13,武汉工程大学计算机学院,ARM9系列处理器,ARM9系列是高性能和低功耗特性方面最佳的硬宏单元。它具有:5级流水线提供1.1MIPSMHz的哈佛结构处理能力ARM9主要应用领域先进的引擎管理# 网络电脑仪器仪表# 智能电话安全系统# 机顶盒高端打印机# PDA,2022/11/13,武汉工程大学计算机学院,ARM9系列处理器的组成,2022/11/13,武汉工程大学计算机学院,ARM9系列处理器特点,ARM920T和ARM922T全性能的MMU;指令和数据Cache;高速AMBA基于总线的接口:AMBA片上总线是一个已建立的、用于SOC设计框架的开放标准。ARM940T保护单元;指令和数据Cache;高速AMBA基于总线的接口,2022/11/13,武汉工程大学计算机学院,ARM9E系列,ARM9E系列为可综合处理器具有以下特点:DSP扩充;嵌入式ICERT调试逻辑;提供1.1 MIPSMHz的5级流水线和哈佛结构;紧耦合存储器(TCM)接口,可使存储器以最高的处理器速度运转,可直接连接到内核上,非常适用于必须有确定性能和快速访问时间的代码。,2022/11/13,武汉工程大学计算机学院,ARM9E的组成,2022/11/13,武汉工程大学计算机学院,ARM9E系列处理器特点,ARM966E-S最适用于硅片面积为关键而对Cache无要求的实时嵌入式应用;可配置的TCM大小:0KB、4KB、8KB、16KB,可高达64MB。ARM946E-S集成的保护单元,提供实时嵌入式操作系统的Cache核方案。每个配置的Cache大小为:0KB、4KB、8KB、16KB,高达1MB。,2022/11/13,TCM是紧密耦合存储器的缩略语多处理器阵列上使用,武汉工程大学计算机学院,紧耦合存储器在ARM V6处理器存储系统模型中的位置,2022/11/13,武汉工程大学计算机学院,ARM9E系列处理器的特点,ARM926EJ-SJazelle扩充;每个可配置的Cache大小:4KB、8KB、16KB,高达128KB;分立的指令和数据高速AHB接口;全性能的MMU主要智能手机,3G手机和媒体播放器使用的处理器均采用ARM926EJ-S核。,2022/11/13,武汉工程大学计算机学院,ARM10系列处理器,ARM10系列为硬宏单元,具有如下特点:DSP扩展;嵌入式ICE-RT;全性能MMU;Cache;对于指令和数据,64位AHB接口;6级流水线;内部64位数据通路;1.25 MIPSMHz;在实际应用中,与同等ARM9器件相比,在同样的时钟速度下,性能提高了50。,2022/11/13,武汉工程大学计算机学院,ARM10系列处理器的组成,2022/11/13,武汉工程大学计算机学院,SecurCore SC100系列,SecurCore SC100系列专为安全需要而设计具有特定的抗窜改(resist tampering)和反工程(reverse engineering)特性;带有灵活的保护单元,以确保操作系统和应用数据的安全。,2022/11/13,武汉工程大学计算机学院,ARM11系列处理器,ARM11核是2001年10月公布的V6体系结构版本的第1个实现,具有以下特点:主频:350-500MHz工艺:0.13微米功耗:0.4mW/Mhz电压:1.2V8级标量流水线64位数据通路,2022/11/13,武汉工程大学计算机学院,掌握ARM处理器的注意点,初学者要弄清楚三个基本概念ARM体系结构版本ARM公司规定,长期使用ARM处理器核型号ARM公司规定,中期使用ARM处理器型号多个公司生产,各个公司自行规定,2022/11/13,武汉工程大学计算机学院,ARM Cortex核系列处理器,目前已经有了四个ARM Cortex内核Cortex-A8、Cortex-M4、Cortex-R4和Cortex-R4F 特点:先进3级流水线、哈佛结构、ARMv7指令集、灵活的可配置功能(可以在整合阶段对Cache、TCM和MPU进行配置)、分支预测、单周期乘法、硬件除法器、峰值运算速度达到1.25DMPIS/MHZ(Dhrystone测试基准)、新的Thumb-2指令集。A系列针对高端的复杂操作系统以及用户应用设计的应用处理器;R系列针对系统专用嵌入式处理器;M系列针对微控制器和低成本应用专门优化的深嵌入式处理器,2022/11/13,武汉工程大学计算机学院,ARM Cortex处理器举例,ARM Cortex-A8ARM Cortex-M3ARM Cortex-R4,2022/11/13,武汉工程大学计算机学院,ARM Cortex系列处理器,The ARM Cortex family comprises three series, all implement the Thumb-2 instruction set.ARM Cortex-A Seriesapplications processors for complex OS and user applications.Supports the ARM, Thumb and Thumb-2 instruction setsARM Cortex-R Seriesembedded processors for real-time systems.Supports the ARM, Thumb, and Thumb-2 instruction setsARM Cortex-M Seriesdeeply embedded processors optimized for cost sensitive applications.Supports the Thumb-2 instruction set only,2022/11/13,武汉工程大学计算机学院,ARM Cortex-A8简介,The ARM Cortex-A8 processor is the first applications processor based on the ARMv7 architecture and is the highest performance, most power-efficient processor ever developed by ARM. With the ability to scale in speed from 600MHz to greater than 1GHz, the Cortex-A8 processor can meet the requirements for power-optimized mobile devices needing operation in less than 300mW; and performance-optimized consumer applications requiring 2000 Dhrystone MIPS.,2022/11/13,武汉工程大学计算机学院,ARM Cortex-A8简介(续),The Cortex-A8 processor is ARMs first superscalar processor featuring technology for enhanced code density and performance, NEON technology for multimedia and signal processing, and Jazelle RCT (Runtime Compilation Target) technology for efficient support of ahead-of-time and just-in-time compilation of Java and other bytecode languages.,2022/11/13,武汉工程大学计算机学院,TI公司的OMAP 3430处理器架构图,2022/11/13,武汉工程大学计算机学院,Cortex-A8内核的应用举例TI公司的OMAP 3430处理器,业界第一个具有先进的超级标量Cortex-A8内核的处理器业界第一个采用 65nm CMOS 工艺技术设计的ARM处理器,提高了处理性能 集成的图像信号处理器(ISP )可提供更快、更高品质的图像捕捉功能,并且可以降低系统成本复合视频和 S 端子 TV 输出 XGA(1024x768 像素)、16M 色(24 位定义)显示支持 高速 USB2.0 OTG 支持,2022/11/13,武汉工程大学计算机学院,Cortex-M3内核的应用举例意法半导体的STM32微控制器,不支持ARM指令集,只支持Thumb-2指令集中断向量表与其他ARM处理器有明显区别STM32微控制器有两个系列STM32F103“增强型”系列,72MHz主频STM32F101“基本型”系列,36MHz主频2.0到3.6V电源,当复位电路工作时,在待机模式下最低功耗2A,最适合电池供电的应用设备。比同级别的基于ARM7TDMI的产品快30%。换句话说,如果处理性能相同,STM32产品功耗比同级别产品低75%。,2022/11/13,武汉工程大学计算机学院,4.3 ARM流水线,计算机指令执行过程的各个阶段相对独立,因此CPU内部的指令译码执行逻辑电路可以设计成分级的处理部件,实行流水处理,即流水线方式。流水线技术大大加快了处理器的指令执行速度,因此现代CPU设计方案中几乎都采用了流水线技术。ARM处理器设计也不例外。所有的ARM处理器核都使用了流水线设计。,2022/11/13,武汉工程大学计算机学院,ARM7流水线,ARM7TDMI核使用3级指令流水线。ARM7处理器核的指令执行分为3个阶段:取指、译码和执行。取指,由取指部件处理,把指令从内存中取出,放入指令流水线;译码,指令被译码。在这一级指令占有译码逻辑,不占有数据通路;执行,执行流水线中已经被译码的指令,在这一级,指令占有数据通路,移位操作,读通用寄存器,ALU产生结果,写通用寄存器。,2022/11/13,武汉工程大学计算机学院,ARM7流水线架构图,2022/11/13,武汉工程大学计算机学院,ARM9流水线,ARM9TDMI采用了5级流水线。这5个指令执行阶段的功能如下:取指,从指令存储器中读取指令,放入指令流水线。译码,对指令进行译码,从通用寄存器组中读取操作数。由于寄存器组有3个读端口,大多数ARM指令能在一个时钟周期内读取其操作数。,2022/11/13,武汉工程大学计算机学院,ARM9流水线(续),执行,将其中的一个操作数移位,并在ALU中产生结果。如果指令是Load或Store指令,则在ALU中计算存储器的地址。数据缓冲,如果需要,则访问数据存储器;否则,ALU只是简单地缓冲一个时钟周期,以便使所有指令具有同样的流水线流程。写回,将指令的结果写回到寄存器组。包括任何从存储器读取的数据。,2022/11/13,武汉工程大学计算机学院,ARM9流水线架构图,2022/11/13,武汉工程大学计算机学院,ARM10和ARM11流水线,ARM10流水线为6级流水线ARM11流水线为8级流水线,2022/11/13,武汉工程大学计算机学院,Cortex-R4流水线,Cortex-R4处理器的流水线为8级,参看下图。其特点是双发射指令流水线,含动态分支预测,执行速度达到1.6 MIPS/MHz(Dhrystone基准测试程序)。其中前3级是指令预取单元PFU,包括第1阶段取指,第2阶段取指和译码。,2022/11/13,武汉工程大学计算机学院,4.4 ARM工作模式和工作状态,异常指计算机脱离正常的运算顺序,临时改变原先的执行顺序,转而执行一个子程序,完成一个预先准备的特殊服务例程。中断ARM公司对异常处理一律用中断服务子程序处理。这样,在概念上ARM处理器不再区分异常和中断,异常处理与中断处理相同。,2022/11/13,武汉工程大学计算机学院,ARM 5种异常工作模式,ARM处理器内部安排了5种异常工作模式。ABT(取指中止或者取操作数中止)UND(进入未定义指令陷阱)IRQ(普通中断)FIQ(快速中断)SVC(管理),2022/11/13,武汉工程大学计算机学院,ARM处理器工作模式,ARM处理器支持7种工作模式用户模式特点:不能访问某些受操作系统保护的资源,也不能改变工作模式。6种特权模式分类:系统模式,5种异常模式特点:能访问全部资源,能改变工作模式。,2022/11/13,武汉工程大学计算机学院,ARM处理器工作模式,2022/11/13,武汉工程大学计算机学院,模式使用说明(1),SVC模式是操作系统内核代码运行的模式,USR模式通常是用户代码运行模式。处理器一旦进入USR模式,必须通过SWI指令(理解为软中断)才能进入SVC模式调用内核代码的接口。但是,在没有MMU进行内存保护的场合,USR模式也能够访问到SVC模式的内存空间,因此使用USR隔离用户级代码没有意义。,2022/11/13,武汉工程大学计算机学院,模式使用说明(2),IRQ和FIQ模式是微处理器收到中断信号后强制处理器进入的模式,用于中断处理。SYS模式用于嵌套中断处理。,2022/11/13,武汉工程大学计算机学院,模式使用说明(3),ABT和UND模式是真正意义上的“异常”,一旦出现就要进入对应的异常中断服务子程序进行处理。,2022/11/13,武汉工程大学计算机学院,ARM处理器工作状态,ARM体系结构版本中带有T变量的ARM处理器核可以工作在2种状态。ARM状态,机器指令为32位的ARM指令集,字对齐取指执行ARM指令。Thumb状态,机器指令为16位的Thumb指令集,半字对齐取指执行Thumb指令。在任何一种工作状态可以通过转移指令切换到另一种工作状态。ARM和Thumb之间的状态切换不影响处理器工作模式和寄存器中的内容。加电起动时处理器工作在ARM状态。,2022/11/13,武汉工程大学计算机学院,两种工作状态之间切换,进入Thumb状态当操作数寄存器的状态位(位0)为1时,执行BX指令进入Thumb状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、FIQ、Undef、Abort和SWI)返回时,自动转换到Thumb状态。进入ARM状态当操作数寄存器的状态位(位0)为0时,执行BX指令进入ARM状态。处理器进行异常处理(IRQ、FIQ、Reset、Undef、Abort和SWI)。在此情况下,把PC放入异常模式链接寄存器中。从异常向量地址开始执行也可以进入ARM状态。,2022/11/13,武汉工程大学计算机学院,工作状态切换方法,使用BX指令可以将ARM7TDMI(-S)内核的工作状态在ARM状态和Thumb状态之间进行切换。参看下例:;从ARM状态转变为Thumb状态LDRR0, =Lable+1BXR0;从Thumb 状态转变为ARM状态LDRR0, =LableBXR0,2022/11/13,武汉工程大学计算机学院,4.5 ARM 寄存器组织,ARM处理器总共有37个32位寄存器,其中有31个通用寄存器,6个状态寄存器(到目前为止只定义了12位)。这些寄存器按照工作模式分成不同的组。编程时哪些寄存器组可用,哪些寄存器组不可用,由处理器的状态和模式决定。下表示出了ARM工作状态下每一种模式下使用的寄存器组。,2022/11/13,武汉工程大学计算机学院,ARM寄存器组织,2022/11/13,武汉工程大学计算机学院,影子寄存器,在ARM寄存器组织表中带有阴影色块的寄存器称为影子寄存器,它们是为处理器不同工作模式配备的专用物理寄存器。在异常模式下,它们将代替用户或者系统模式下使用的部分寄存器。在管理、中止、未定义和普通中断模式下,影子寄存器的数量均为2个。而快速中断为7个。,2022/11/13,武汉工程大学计算机学院,ATPCS命名规则,ATPCS是集成开发环境ADS中规定的子程序之间调用的基本规则。在该规则中对ARM处理器中的寄存器给出了命名规则。程序员在编程时使用ATPCS规定的寄存器名称可以方便记忆,提高工作效率,减少差错。,2022/11/13,武汉工程大学计算机学院,ARM寄存器的使用规则(1),子程序间通过寄存器R0R3来传递参数。这时,寄存器R0R3可记作a0a3。被调用的子程序在返回前无需恢复寄存器R0R3的内容。在子程序中,使用寄存器R4R11来保存局部变量。这时,寄存器R4R11可以记作v1v8。如果在子程序中使用了寄存器v1v8中的某些寄存器,则子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值。在Thumb程序中,通常只能使用寄存器R4R7来保存局部变量。,2022/11/13,武汉工程大学计算机学院,ARM寄存器的使用规则(2),寄存器R12用作过程调用中间临时寄存器,记作IP。新的编译器版本在子程序之间的连接代码段中常常有这种使用规则。寄存器R13用作堆栈指针,记作SP。在子程序中寄存器R13不能用作其他用途。寄存器SP在进人子程序时的值和退出子程序时的值必须相等。寄存器R14称为连接寄存器,记作LR。它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14则可以用作其他用途。寄存器R15是程序计数器,记作PC。它不能用作其它用途。,2022/11/13,武汉工程大学计算机学院,AAPCS标准,2007年ARM公司正式推出了AAPCS标准,它是ATPCS的改进版。实际上,有关程序设计中的过程调用,ARM公司为ARM处理器先后建立了4个标准,参看下表。,2022/11/13,武汉工程大学计算机学院,ARM过程调用标准ATPCS和AAPCS,2022/11/13,武汉工程大学计算机学院,2022/11/13,4.6 ARM存储器组织,介绍以下内容:数据类型和存储格式ARM的存储体系片上存储器的用法协处理器CP15存储器管理单元MMU保护单元快速上下文切换扩展写缓存器(Write Buffer)ARM的异常中断向量表和异常中断处理与返回,武汉工程大学计算机学院,2022/11/13,4.6.1 数据类型和存储格式,ARM存储器中的数据类型有6种有符号数8位(字节)、16位(半字)、32位(字)无符号数8位(字节)、16位(半字)、32位(字)缺省端序设置为小端序,武汉工程大学计算机学院,2022/11/13,4.6.2 ARM的存储体系,参看下图,抽象成一个呈金字塔型的存储结构,武汉工程大学计算机学院,2022/11/13,4.6.3 片上存储器的用法,多数ARM处理器芯片内部集成了存储器它们统称为片上存储器用途有:片上Cache、片上SRAM、紧耦合存储器(TCM) 、写缓存片上存储器的存储空间可以通过指令进行配置,定义成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。紧耦合存储器和写缓存均需要编程使能或者硬件接线使能按照具体应用情况决定片上存储器配置方法,武汉工程大学计算机学院,2022/11/13,片上存储器用作紧耦合存储器,紧耦合存储器的英文原文如下:Tightly Coupled Memory,TCM弥补Cache访问的不确定性而增加的片上存储器。除了片上紧耦合存储器外,还有紧耦合存储器接口,它能够提供低延时的外存储器访问。有的处理器含有分立的指令TCM和数据TCM。TCM包含在存储器地址映射空间中,可以作为快速存储器来访问。除了不得包含读敏感地址之外,对TCM接口上连接的存储器类型没有其他限制。TCM使用物理地址,对TCM的写访问受到MMU内部保护信息的控制。,武汉工程大学计算机学院,2022/11/13,TCM在ARMv6处理器核的位置,ARMv6处理器包括:ARM1136J-S、ARM1156T2,武汉工程大学计算机学院,2022/11/13,片内TCM存储器举例,ARM926EJ-S核心内置32KB指令缓存、16KB数字缓存和8KB数据-TCM和8KB指令-TCM;,武汉工程大学计算机学院,2022/11/13,Cortex-R4F方框图含TCM接口,注意图的右侧含有一个TCM仲裁和接口模块,武汉工程大学计算机学院,2022/11/13,ARM1136的TCM支持DMA传输,参看ARM1136的方框图,武汉工程大学计算机学院,2022/11/13,ARM966E-S核的TCM地址映射,武汉工程大学计算机学院,2022/11/13,ARM966E-S的TCM别名地址空间,物理存储块可以通过TCM接口映射在片内的TCM存储区,武汉工程大学计算机学院,2022/11/13,TCM特点,TCM是一个固定大小的RAM,紧密地耦合至处理器内核,提供与Cache相当的性能,相比于Cache的优点是:程序代码可以精确地控制什么函数或代码放在那儿(RAM里)。当然TCM永远不会被踢出主存储器,因此,他会有一个被用户预设的性能,而不是象Cache那样是统计特性的性能提高。,武汉工程大学计算机学院,2022/11/13,TCM特点(续1),TCM对于以下几种情况的代码是非常有用:可预见的实时处理(中断处理)、时间可预见(加密算法)、避免cache分析(加密算法)、或者只是要求高性能的代码(编解码功能)。随着cache大小的增加以及总线性能的规模,TCM将会变得越来越不重要,但是他提供了一个让你权衡的机会。,武汉工程大学计算机学院,2022/11/13,TCM特点(续2),那么,哪一个更好呢?他取决于你的应用。Cache是一个通用目的的加速器,它会加速你的所有代码,而不依赖于存储方式。TCM只会加速你有意放入TCM的代码,其余的其他代码只能通过cache加速。Cache是一个通用目的解决方案,TCM在某些特殊情况下是非常有用的。假如你不认为需要TCM的话,那么你可能就不需要了,转而加大你的Cache,从而加速运行于内核上的所有软件代码,武汉工程大学计算机学院,2022/11/13,AT91SAM9261处理器的TCM,AT91SAM9261的独立指令和数据缓存能支持WinCE 和 Linux操作系统。而其基于TCM 构架的SRAM区块则是“确定过程式”实时操作系统的理想安排。另一方面,160K字节的片上SRAM可划分成多个16K字节的区块,作为“指令TCM”、“数据TCM”或片上外设的缓冲,从而让编程人员灵活地优化系统的性能和功耗。,武汉工程大学计算机学院,2022/11/13,TCM的使能操作,通过二种方式进行TCM的使能操作使用处理器芯片的INITRAM引脚使用 CP15的c1控制寄存器,武汉工程大学计算机学院,2022/11/13,S3C44B0X和S3C4510B的三种片上存储器的配置用法,S3C44B0X和S3C4510B都有8KB的片上存储器它们有三种配置用法8KB的SRAM8KB的Cache4KB的SRAM加上4KB的Cache较多采用片内RAM配置而非片内Cache配置。,武汉工程大学计算机学院,2022/11/13,ARM920T的片内存储器,注意:ARM920T核的内部没有TCM,武汉工程大学计算机学院,2022/11/13,ARM720T的片内存储器,8 KByte unified cache Memory Management Unit (MMU) write buffer Unified 32-bit AHB bus interface carries both instructions and data Embedded Trace Macrocell (ETM) interface,武汉工程大学计算机学院,2022/11/13,4.6.4 协处理器CP15,CP15即所谓的系统控制协处理器System Control Coprocessor在基于ARM的嵌入式系统中,诸如MMU、Cache配置、紧耦合处理器、写缓存配置之类的存储系统管理工作由协处理器CP15完成。CP15可以包含16个32位寄存器编号为CP0CP15。实际运用中写为C0C15。,武汉工程大学计算机学院,2022/11/13,CP15寄存器的访问,用户只能够在特权模式下使用MRC和MCR指令来访问CP15寄存器。,武汉工程大学计算机学院,2022/11/13,4.6.5 存储器管理单元MMU,ARM的MMU部件的用途:完成虚拟存储空间到物理存储空间的映射。管理方式:页式虚拟存储器。页的大小有两种:粗粒度和细粒度。存储器访问权限的控制。设置虚拟存储空间的缓冲特性。,武汉工程大学计算机学院,2022/11/13,4.6.6 保护单元,保护单元PU,Protection Unit也称为:MPU,Memory Protection Unit为了消除术语的二义性,我们统一使用术语PU保护单元提供了一个相当简单的替代MMU的方法来管理存储器。对于不需要MMU的嵌入式系统而言,PU简化了硬件和软件,主要表现在不使用转换表,这样免去了硬件遍历转换表和软件建立与维护转换表。,武汉工程大学计算机学院,2022/11/13,保护

    注意事项

    本文(第4章ARM体系结构ppt课件.pptx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开