《ARM体系结构介绍》PPT课件.ppt

上传人:赵** 文档编号:68495001 上传时间:2022-12-28 格式:PPT 页数:33 大小:156KB
返回 下载 相关 举报
《ARM体系结构介绍》PPT课件.ppt_第1页
第1页 / 共33页
《ARM体系结构介绍》PPT课件.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《《ARM体系结构介绍》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《ARM体系结构介绍》PPT课件.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第一讲第一讲 ARMARM体系结构介绍体系结构介绍 面向二十一世纪的嵌入式系统技术 黑龙江科技学院电信学院黑龙江科技学院电信学院课程简介课程简介n课程内容:课程内容:ARMARM体系结构介绍体系结构介绍 。n课程目的:了解课程目的:了解ARMARM分类方法,流水线含义,处分类方法,流水线含义,处理器状态与模式及两种状态集理器状态与模式及两种状态集。n讲座时间:讲座时间:4545分钟分钟本节主要内容本节主要内容nARMARM发展历程及其体系结构介绍。发展历程及其体系结构介绍。nARMARM及其发展历程。及其发展历程。n基本概念基本概念n处理器分类处理器分类n体系结构体系结构n指令系统指令系统 A

2、RMARM介绍介绍nARMARM(AdvancedAdvanced RISC MachinesRISC Machines),),由英国由英国ARMARM公司开发的一种被业界公司开发的一种被业界统称为统称为ARMARM体系结构的微处理器体系结构的微处理器内核技术内核技术。n19911991年年ARMARM公司成立于公司成立于英国剑桥英国剑桥,主要出售芯片设计技术的授权。,主要出售芯片设计技术的授权。n目前,已有目前,已有N N多家半导体厂商采用多家半导体厂商采用ARMARM技术知识产权(技术知识产权(IPIP)核的微处理核的微处理器,如器,如IntelIntel、MotorolaMotorola

3、、SumsangSumsang、PhilipsPhilips。n涉及工业控制、消费类电子产品、通信系统、网络系统、无线系统等涉及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,可以说各类产品市场,可以说ARMARM技术正在逐步渗入到我们生活的各个方面。技术正在逐步渗入到我们生活的各个方面。n由于由于ARMARM在业界的广泛应用,因此采用在业界的广泛应用,因此采用ARMARM技术可获得更多的第三方工技术可获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力市

4、场被消费者所接受,更具有竞争力。n对于对于就业就业来讲,掌握来讲,掌握ARMARM技术可以到国内外技术可以到国内外采用采用ARMARM内核技术内核技术的半导体的半导体公司供职,或到公司供职,或到选用选用ARMARM芯片芯片进行产品设计的公司就职。进行产品设计的公司就职。体系结构体系结构n业界常用体系结构有:业界常用体系结构有:ARMARM、X86X86、PowerPCPowerPC、68K68K。n体系结构所涉及的内容有:体系结构所涉及的内容有:n(1)(1)指令系统指令系统 n(2)(2)数据表示数据表示 n(3)(3)操作数的寻址方式操作数的寻址方式 n(4)(4)寄存器的构成定义寄存器的

5、构成定义 n(5)(5)中断机构和例外条件中断机构和例外条件 n(6)(6)存储体系和管理存储体系和管理 n(7)I/O(7)I/O结构结构 n(8)(8)机器工作状态定义和切换机器工作状态定义和切换 n(9)(9)信息保护。信息保护。n体系结构的概念理解,用汇编语言将体系结构的概念理解,用汇编语言将CPUCPU全部性能发挥全部性能发挥出来后所用到的指令集系统与出来后所用到的指令集系统与CPUCPU资源资源ARMARM体系结构的特点体系结构的特点n具有具有RISCRISC体系的一般特点体系的一般特点。n具有大量的寄存器。具有大量的寄存器。n绝大多数操作在寄存器中进行,通过绝大多数操作在寄存器中

6、进行,通过Load/StoreLoad/Store指令系统在指令系统在内存和寄存器间传递数据。内存和寄存器间传递数据。n寻址方式简单。寻址方式简单。n采用固定长度的指令格式。采用固定长度的指令格式。nARMARM体系采用了一些特别技术,其特色表现如下。体系采用了一些特别技术,其特色表现如下。n在同一数据处理指令中包含算术逻辑处理和移位处理。在同一数据处理指令中包含算术逻辑处理和移位处理。n使用地址自动增加(减少)优化程序中循环处理。使用地址自动增加(减少)优化程序中循环处理。nLoad/StoreLoad/Store指令可以批量传输数据,提高数据传输效率。指令可以批量传输数据,提高数据传输效率

7、。n所有指令都可根据前面指令执行结果,决定是否执行,以提所有指令都可根据前面指令执行结果,决定是否执行,以提高指令效率。高指令效率。ARMARM体系结构的指令集版本变化体系结构的指令集版本变化nARMARM指令集系统从开始发展到现在已经有指令集系统从开始发展到现在已经有六个版本六个版本,其指令,其指令功能越来越强、越来越丰富。功能越来越强、越来越丰富。n以以ARM5ARM5版本为例,其在版本为例,其在ARM4ARM4的基础上增强了功能。的基础上增强了功能。n提高了提高了T T类变种处理器中类变种处理器中ARM/ThumbARM/Thumb状态间切换效率。状态间切换效率。n对于对于T T与非与非

8、T T变种指令使用相同的代码生成技术。变种指令使用相同的代码生成技术。n增加前导零计数,使整数除法和中断优先级排队更有效。增加前导零计数,使整数除法和中断优先级排队更有效。n增加了软件断点中断。增加了软件断点中断。n为协处理器设计提供了更多的可选指令。为协处理器设计提供了更多的可选指令。n更为严格地定义了乘法指令对条件标志位的影响。更为严格地定义了乘法指令对条件标志位的影响。n目前比较常用的就是目前比较常用的就是ARM V4ARM V4和和ARM V5ARM V5版本。版本。n在在ARM11ARM11中采用了中采用了ARM V6ARM V6的版本。的版本。ARMARM体系下的变种体系下的变种n

9、变种变种是为支持某种是为支持某种特定功能特定功能而特别设计的一个而特别设计的一个子集子集。nT T变种变种,即,即ThumbThumb指令集,长度指令集,长度1616位,代码效率高。位,代码效率高。nARMv4ARMv4采用的是采用的是T1T1版本,版本,ARMv5ARMv5采用的是采用的是T2T2版本。版本。nM M变种变种,是指长乘法指令,是指长乘法指令,3232位整数相乘生成位整数相乘生成6464位整数。位整数。nE E变种变种,是指增强型,是指增强型DSPDSP指令,增强指令,增强DSPDSP算法处理能力。算法处理能力。nJ J变种变种,是指,是指JaveJave加速器加速器Jazel

10、leJazelle,芯片支持虚拟机功能。,芯片支持虚拟机功能。nSIMDSIMD变种变种,是指,是指ARMARM媒体功能扩展,为处理器提供高性能的音频媒体功能扩展,为处理器提供高性能的音频/视视频处理技术。频处理技术。n各种处理器所属各种处理器所属ARM/ThumbARM/Thumb体系版本可从处理器文档中看出。体系版本可从处理器文档中看出。比如比如IXP425IXP425所属所属ARMv5TEARMv5TE版本。版本。M M变种从变种从ARMv4ARMv4版本后都已支版本后都已支持。持。ARMARM系列处理器分类系列处理器分类nARMARM微处理器目前包括下面几个系列,以及其它厂商基于微处理

11、器目前包括下面几个系列,以及其它厂商基于ARMARM体系结构的处理器,除了具有体系结构的处理器,除了具有ARMARM体系结构的共同特点以外,体系结构的共同特点以外,每一系列的每一系列的ARMARM微处理器都有各自的特点和应用领域。微处理器都有各自的特点和应用领域。n ARM7ARM7系列系列n ARM9ARM9系列系列n ARM9EARM9E系列系列n ARM10EARM10E系列系列n SecurCoreSecurCore系列系列n InterInter的的XscaleXscalen ARM11 ARM11nARM7ARM7、ARM9ARM9、ARM9EARM9E和和XscaleXscale

12、为为4 4个通用处理器系列,每一个个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCoreSecurCore系列专为安全要求较高的应用而设计系列专为安全要求较高的应用而设计ARM7ARM7微处理器系列微处理器系列nARM7ARM7系列微处理器为低功耗的系列微处理器为低功耗的3232位位RISCRISC处理器,最适合用于处理器,最适合用于对价位和功耗要求较高的消费类应用。对价位和功耗要求较高的消费类应用。nARM7ARM7微处理器系列具有如下特点:微处理器系列具有如下特点:n 能够提供能够提供0.90.9M

13、IPS/MHzMIPS/MHz的的三级流水线三级流水线结构。结构。n 代码密度高并兼容代码密度高并兼容1616位的位的ThumbThumb指令集。指令集。n 主频最高可达主频最高可达130130MIPSMIPS,高速的运算处理能力能胜任绝大多数的高速的运算处理能力能胜任绝大多数的复杂应用。复杂应用。nARM7ARM7系列微处理器包括如下几种类型的核:系列微处理器包括如下几种类型的核:ARM7TDMIARM7TDMI、ARM7TDMI-SARM7TDMI-S、ARM720TARM720T、ARM7EJARM7EJ。其中,其中,ARM7TMDIARM7TMDI是目前使是目前使用最广泛的用最广泛的3

14、232位嵌入式位嵌入式RISCRISC处理器,属低端处理器,属低端ARMARM处理器核。处理器核。TDMITDMI的基本含义的基本含义nARMARM除以前的指令集版本的变种以外,除以前的指令集版本的变种以外,还增加了相应内嵌的调试功能接口。还增加了相应内嵌的调试功能接口。nT T:支持支持1616位位压缩压缩指令集指令集ThumbThumb;nD D:支持片上支持片上DebugDebug;nM M:内嵌内嵌硬件乘法器硬件乘法器(MultiplierMultiplier);nI I:嵌入式嵌入式ICEICE,支持片上断点和调试点;支持片上断点和调试点;流水线流水线n流水线是指在一个指令周期内处理

15、器进行多种流水线是指在一个指令周期内处理器进行多种行为的处理,以增加处理器指令流的速度。行为的处理,以增加处理器指令流的速度。n如三级流水级,就一个指令周期内有三种行为如三级流水级,就一个指令周期内有三种行为发生,取指发生,取指译码译码执行。这三种行为同时发执行。这三种行为同时发生,每种行为都对应一条指令的执行过程的某生,每种行为都对应一条指令的执行过程的某个环节,而不是三种行为对应一条指令的执行个环节,而不是三种行为对应一条指令的执行过程。比如译码行为针对的是上一个指令的译过程。比如译码行为针对的是上一个指令的译码码nPCPC指针指向的是取指的指令。指针指向的是取指的指令。ARMARM微处理

16、器系列微处理器系列nARM9ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点具有以下特点:n 5级整数流水线级整数流水线,指令执行效率更高。,指令执行效率更高。n 提供提供1.1MIPS/MHz的哈佛结构。的哈佛结构。n 支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。n 支持支持32位的高速位的高速AMBA总线接口。总线接口。n 全性能的全性能的MMU,支持支持Windows CE、Linux等主流嵌入式操作系统。等主流嵌入式操作系统。n 具有具有MPU功能支持实时操作系统。功能支持实时操作系

17、统。n 统一的数据统一的数据Cache和指令和指令Cache,具有更高的指令和数据处理能力。具有更高的指令和数据处理能力。nARM9ARM9系列微处理器包含系列微处理器包含ARM920TARM920T、ARM922TARM922T和和ARM940TARM940T三种类型,三种类型,以适用于不同的应用场合。以适用于不同的应用场合。ARM9EARM9E微处理器系列微处理器系列nARM9EARM9E系列微处理器使用系列微处理器使用单一的处理器单一的处理器内核提供了内核提供了微控制器、微控制器、DSPDSP、JavaJava应用应用系统的解决方案,减少了芯片的面积和系统系统的解决方案,减少了芯片的面积

18、和系统的复杂程度。的复杂程度。ARM9EARM9E系列微处理器提供了增强的系列微处理器提供了增强的DSPDSP处理能处理能力,适合于需要同时使用力,适合于需要同时使用DSPDSP和微控制器和微控制器的应用场合。的应用场合。nARM9EARM9E系列除具有系列除具有ARM9ARM9处理器的特点外还有如下特点:处理器的特点外还有如下特点:n 支持支持DSPDSP指令集,适合于需要高速数字信号处理的场合。指令集,适合于需要高速数字信号处理的场合。n 支持支持VFP9VFP9浮点处理协处理器浮点处理协处理器。n 主频最高可达主频最高可达300300MIPSMIPS。nARM9EARM9E系列微处理器包

19、含系列微处理器包含ARM926EJ-SARM926EJ-S、ARM946E-SARM946E-S和和ARM966E-SARM966E-S三种类型,以适用于不同的应用场合。三种类型,以适用于不同的应用场合。ARM10EARM10E和和SecurCoreSecurCore微处理器系列微处理器系列n这两种处理器这两种处理器非业界通用型处理器非业界通用型处理器,相对接触人群较少,因,相对接触人群较少,因此不过多介绍。此不过多介绍。nARM10EARM10E包括包括ARM1020EARM1020E、ARM1022EARM1022E、ARM1026EJ-SARM1026EJ-S三种类型,三种类型,具有具有

20、VFP10VFP10浮点运算协处理器,主频可高达浮点运算协处理器,主频可高达400MHz400MHz。主要用。主要用于于2D2D和和3D3D图像处理图像处理,如视频游戏机等。,如视频游戏机等。nSecurCoreSecurCore系列微处理器专为系列微处理器专为安全需要安全需要而设计,提供了完善而设计,提供了完善的的3232位位RISCRISC技术的安全解决方案,因此,技术的安全解决方案,因此,SecurCoreSecurCore系列微系列微处理器除了具有处理器除了具有ARMARM体系结构的低功耗、高性能的特点外,体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支

21、持。还具有其独特的优势,即提供了对安全解决方案的支持。SecurCoreSecurCore系列微处理器包含系列微处理器包含SecurCoreSecurCore SC100SC100、SecurCoreSecurCore SC110SC110、SecurCoreSecurCore SC200SC200和和SecurCoreSecurCore SC210SC210四种类型。四种类型。XscaleXscale处理器系列处理器系列nXsclaeXsclae体系结构的两大阵营是体系结构的两大阵营是PXAPXA系列系列和和IXPIXP系列系列。都是基于。都是基于ARMv5TEARMv5TE体系结构内核的,

22、具有体系结构内核的,具有七级流水七级流水,32K32K指令指令CacheCache和和32K32K的数的数cachecache。nPXAPXA系列系列,为,为手持设备媒体处理器手持设备媒体处理器平台,如有平台,如有PXA255PXA255、PXA270PXA270、PXA26XPXA26X系列,目前系列,目前PXAPXA系列已卖给系列已卖给MavellMavell公司。公司。PXA270PXA270最高主频为最高主频为520MHz520MHz,具有非富的外围接口,目前高端智能手机中常采用此处理,具有非富的外围接口,目前高端智能手机中常采用此处理器。器。nIXPIXP系列系列,是,是inteli

23、ntel的网络处理器的网络处理器平台,有平台,有IXP4XXIXP4XX系列、系列、IXP12XXIXP12XX、IXP2XXXIXP2XXX系列。主要应用于网络路由器,防火墙,系列。主要应用于网络路由器,防火墙,VOIPVOIP交换设备和交换设备和VPNVPN网关等。网关等。nIXP2855IXP2855主频高达主频高达1.5GHz1.5GHz,支持高达,支持高达2GB2GB的内存,的内存,PCIPCI为为66bit/66MHz66bit/66MHz。强大的。强大的GEGE网络功能,支持网络功能,支持110110或或101101的的GEGE网络接网络接口,支持口,支持15GBps15GBps

24、的的FabricFabric通道。通道。ARMARM处理器的七种运行模式处理器的七种运行模式nARMARM状态下支持状态下支持7 7种处理器模式,种处理器模式,可以通过软件改变,也可以通过外可以通过软件改变,也可以通过外部中断或异常处理改变。部中断或异常处理改变。n这七种模式如下:这七种模式如下:n用户模式用户模式(useruser),是正常程序的执行模式,不能直接切换到其它模式。),是正常程序的执行模式,不能直接切换到其它模式。n快速中断模式快速中断模式(fiqfiq),用于高速数据传输和通过处理。),用于高速数据传输和通过处理。n外部中断模式外部中断模式(irqirq),用于通常的中断处理

25、。),用于通常的中断处理。n管理模式管理模式(svcsvc),供操作使用的一种保护模式,系统复位和软件中断时进入该模式。),供操作使用的一种保护模式,系统复位和软件中断时进入该模式。n数据访问中止模式数据访问中止模式(abtabt),用于虚拟存储及存储保护。),用于虚拟存储及存储保护。n未定义指认中止模式未定义指认中止模式(undund),末定义指定导常出现时,进入此模式。末定义指定导常出现时,进入此模式。n系统模式系统模式(syssys),用于特权级的操作系统任务,可直接切换到其它模式。),用于特权级的操作系统任务,可直接切换到其它模式。n大多数的大多数的应用程序应用程序运行在运行在用户模式

26、用户模式下,当处理器运行在用户模式下下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。时,某些被保护的系统资源是不能被访问的。n除用户模式以外,其余的所有除用户模式以外,其余的所有6 6种种模式称之为模式称之为非用户模式非用户模式,或特权模,或特权模式(式(Privileged ModesPrivileged Modes););n其中除去其中除去用户模式用户模式和和系统模式系统模式以外的以外的5 5种种又称为又称为异常模式异常模式(Exception ModesException Modes),),常用于处理中断或异常,以及需要访问受保常用于处理中断或异常,以及需要访问受保护

27、的系统资源等情况。护的系统资源等情况。ARM体系结构ARMARM的寄存器的寄存器nARMARM处理器共处理器共种模式种模式共对应有共对应有3737个寄存器个寄存器。其中包括。其中包括n3131个通用寄存器个通用寄存器,包括程序计数器(,包括程序计数器(PCPC)在内,每个寄存器都为)在内,每个寄存器都为3232位。位。n6 6个状态寄存器个状态寄存器(SPSRSPSR和和CPSRCPSR),每个寄存器都为),每个寄存器都为3232位,但只使用了位,但只使用了1212位位。n在任意的处理器模式下,都有在任意的处理器模式下,都有1515个通用寄存器和一个或两个状态寄存器,及一个程个通用寄存器和一个

28、或两个状态寄存器,及一个程序计数器(序计数器(PCPC)。)。n有些模式有些模式共用同一个物理寄存器共用同一个物理寄存器,比如,比如R0-R7R0-R7,同时还有自己专用寄存器。,同时还有自己专用寄存器。ARM体系结构ThumbThumb及其寄存器及其寄存器n与与ARMARM寄存器相比,寄存器相比,ThumbThumb寄存器缺少了寄存器缺少了R8R12R8R12寄存寄存器。器。nThumbThumb是把大多数是把大多数3232位的位的ARMARM指令子集压缩成指令子集压缩成1616宽操宽操作码,用于在作码,用于在1616位系统下,位系统下,得到近似得到近似3232位的性能。位的性能。nARM:

29、32ARM:32位,执行字对准的位,执行字对准的ARMARM指令指令nThumb:16Thumb:16位,执行半字对位,执行半字对准的准的ThumbThumb指令指令n两种工作状态可以相互切两种工作状态可以相互切换,当处在换,当处在ThumbThumb状态下发状态下发生外部中断或异常时,处生外部中断或异常时,处理完毕后,程序会自动跳理完毕后,程序会自动跳回回ThumbThumb状态状态ARM体系结构特殊的寄存器特殊的寄存器nR13R13,堆栈指针寄存器,处理器的每种运行模式均有自己独立的物堆栈指针寄存器,处理器的每种运行模式均有自己独立的物理寄存器理寄存器R13R13,在在程序初始化程序初始化

30、时,一般都时,一般都要初始化要初始化每种模式下的每种模式下的R13R13,使其指向该运行模式的栈空间,这样,当使其指向该运行模式的栈空间,这样,当程序进入异常模式程序进入异常模式时,时,可以可以将需要保护的寄存器将需要保护的寄存器放入放入R13R13所指向的堆栈所指向的堆栈,而当程序从异常,而当程序从异常模式模式返回返回时,则从对应的时,则从对应的堆栈中恢复堆栈中恢复,采用这种方式可以保证异常,采用这种方式可以保证异常发生后程序的正常执行。发生后程序的正常执行。nR14R14,也称作子程序也称作子程序连接寄存器连接寄存器(Subroutine Link RegisterSubroutine L

31、ink Register)或或连接寄存器连接寄存器LRLR。当执行当执行BLBL子程序调用指令子程序调用指令时,时,R14R14中得到中得到R15R15(程序程序计数器计数器PCPC)的的备份备份。nMOV PC,LRMOV PC,LR;将将LRLR中存放的中存放的PCPC备份值送给备份值送给PCPC指针寄存器。指针寄存器。nBX LRBX LR,;跳转到跳转到LRLR指向的地址,这时指向的地址,这时PCPC指针增加,指向下一条指令。指针增加,指向下一条指令。nR15R15,用作程序计数器(用作程序计数器(PCPC)。)。指示当前程序进行的指令地址。指示当前程序进行的指令地址。ARM体系结构模

32、式切换的寄存器保护模式切换的寄存器保护n先是先是初始化初始化各种处理器模式下各种处理器模式下的的堆空间堆空间地址。地址。n当进入相应的模式时,将需要当进入相应的模式时,将需要保存的寄存器保存到保存的寄存器保存到R13R13所指所指定的该模式的堆栈空间,如左定的该模式的堆栈空间,如左图,图,SVCSVC定义的为定义的为Task StackTask Stack空间,空间,IRQIRQ定主的定主的IRQ StackIRQ Stack空空间。间。n当当退出退出相应异常模式时,再将相应异常模式时,再将堆栈中的寄存器内容还原。堆栈中的寄存器内容还原。n保存保存PCPC及相应寄存器值到堆栈及相应寄存器值到堆

33、栈nSTMFD SP!,STMFD SP!,LR,LRn恢复相应寄存器值恢复相应寄存器值nLDMFD SP!,LDMFD SP!,PC,PCARM体系结构CPSRCPSRn状态标志位状态标志位当条件成立时当条件成立时标志位为标志位为“”。n控制位控制位中中I I和和F F位置位置“”时时禁止中断禁止中断,如果想要进,如果想要进入中断该位要置为入中断该位要置为“”。n控制位中的控制位中的T T,表是执行,表是执行的的ARMARM还是还是ThumbThumb指令,为指令,为则为则为ARMARM指令。指令。nM4-0M4-0是指是指处理器处理器所处所处状态状态异常及导常类型异常及导常类型n当正常的程

34、序执行流程发生当正常的程序执行流程发生暂时的停止暂时的停止时,称之为异常。时,称之为异常。n在处理异常之前,当前处理器的状态必须保留,这样当异在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。个异常同时发生,它们将会按固定的优先级进行处理。n异常异常类型类型、优先级优先级及在存贮器中的及在存贮器中的入口地址入口地址如下示。如下示。n复位复位 0 x0000,0000 管理模式管理模式 n未定义指令未定义指令0 x0000,0004 未定义模式未定义

35、模式 n软件中断软件中断0 x0000,0008 管理模式管理模式 n指令预取中止指令预取中止0 x0000,000C 中止模式中止模式 n数据中止数据中止0 x0000,0010 中止模式中止模式 nIRQIRQ(外部中断请求)外部中断请求)0 x0000,0018 IRQ 模式模式nFIQFIQ(快速中断请求)快速中断请求)0 x0000,001C FIQ 模式模式ARM体系结构各种异常的含义说明各种异常的含义说明n复位复位,当处理器的复位电平有效时,产生复位异常,程序跳转,当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。到复位异常处理程序处执行。n未定义指令未定

36、义指令,当,当ARMARM处理器或协处理器遇到不能处理的指令时,产处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。生未定义指令异常。可使用该异常机制进行软件仿真。n软件中断软件中断,该异常由执行,该异常由执行SWISWI指令产生,可用于用户模式下的程序指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。调用特权操作指令。可使用该异常机制实现系统功能调用。n指令预取中止指令预取中止,若处理器,若处理器预取指令预取指令的的地址不存在地址不存在,或该地址,或该地址不允许不允许当前指令当前指令访问访问,存储器会向处理器发出中止信号

37、,但当预取的指令,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。被执行时,才会产生指令预取中止异常。n数据中止数据中止,若处理器,若处理器数据访问指令的地址不存在数据访问指令的地址不存在,或该地址不允许,或该地址不允许当前指令访问时,产生数据中止异常。当前指令访问时,产生数据中止异常。nIRQIRQ(外部中断请求)外部中断请求),当处理器的外部中断请求引脚有效,且,当处理器的外部中断请求引脚有效,且CPSRCPSR中的中的I I位为位为0 0时,产生时,产生IRQIRQ异常。系统的外设可通过该异常请求异常。系统的外设可通过该异常请求中断服务。中断服务。nFIQ

38、FIQ(快速中断请求)快速中断请求),当处理器的快速中断请求引脚有效,且,当处理器的快速中断请求引脚有效,且CPSRCPSR中的中的F F位为位为0 0时时,产生,产生FIQFIQ异常异常ARM体系结构发生异常时的发生异常时的ARMARM处理器的响应过程处理器的响应过程n处理器响应过程的伪代码描述如下。处理器响应过程的伪代码描述如下。n存入下一条指令地址存入下一条指令地址nR14_=Return LinkR14_=Return Linkn保存当前程序状态寄存器到将要执行异常处理的保存当前程序状态寄存器到将要执行异常处理的SPSRSPSR中中nSPSR_=CPSRSPSR_=CPSRn设置运行模

39、式设置运行模式nCPSR4:0=Exception Mode NumberCPSR4:0=Exception Mode Numbern设置运行于设置运行于ARMARM工作状态时工作状态时nCPSR5=0CPSR5=0nIf =Reset or FIQ thenIf =Reset or FIQ then,当响应当响应FIQFIQ异常异常时,禁止新的时,禁止新的IRQIRQ和和FIQFIQ异常异常nCPSR6=1CPSR6=1nCPSR7=1CPSR7=1nPCPC值指向异常的向量地址值指向异常的向量地址nPC=Exception Vector AddressPC=Exception Vector

40、 AddressARM体系结构异常处理的方式异常处理的方式n当系统运行时,异常可能会随时发生,为保证在当系统运行时,异常可能会随时发生,为保证在ARMARM处理器发生异处理器发生异常时不至于处于未知状态,在常时不至于处于未知状态,在应用程序的设计应用程序的设计中,中,首先要进行异常首先要进行异常处理处理,采用的方式是在,采用的方式是在异常向量表中的特定位置放置一条跳转指令,异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序跳转到异常处理程序,当,当ARMARM处理器处理器发生异常发生异常时,程序计数器时,程序计数器PCPC会会被强制设置被强制设置为对应的为对应的异常向量异常向量,从而跳

41、转到异常处理程序,当异常,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行处理完成以后,返回到主程序继续执行。n ENTRY n b ResetHandler n b HandlerUndef n b HandlerSWI n b HandlerPabort n b HandlerDabort n b.n b HandlerIRQn b HandlerFIQARM体系结构异常的退出异常的退出n将将LRLR中的值中的值减去偏移量减去偏移量后移入后移入PCPC寄存器中寄存器中n恢复恢复CPSRCPSR,即从,即从SPSRSPSR中恢复出来。中恢复出来。n清除清除入口置位时的入口置位

42、时的中断标志中断标志。n返回异常中断的指令的下一条指令处执行。在异常发生时,返回异常中断的指令的下一条指令处执行。在异常发生时,PCPC指针所指的位置对于各种异常向量是不同的,返回地址指针所指的位置对于各种异常向量是不同的,返回地址时参数也是不同的。时参数也是不同的。n计算返回地址指令如下。计算返回地址指令如下。nSUBSSUBSPC,R14_Mode,#4PC,R14_Mode,#4。适用于。适用于BLBL,SWISWI,未定义的指令,预取,未定义的指令,预取中止,快中断,中断。中止,快中断,中断。数据中止时的参数为数据中止时的参数为#8#8。ARM体系结构ARMARM的存储器格式的存储器格

43、式nARMARM的存储空间是统一编址的,该地址空间的大的存储空间是统一编址的,该地址空间的大小为小为4G4G字节,即为字节,即为2 23232。nARMARM的地址空间可看作是的地址空间可看作是2 23030 个个3232位字位字。在。在ARMv4ARMv4以上版本也可看作是中可以用以上版本也可看作是中可以用2 23131 个个1616位半字位半字。nARMARM有两种不同的存储器格式,有两种不同的存储器格式,nbig-big-endianendian,地址的高位存放数据字节的低位。,地址的高位存放数据字节的低位。nlittle-little-endianendian,地址的低位存放数据字节的

44、低位。,地址的低位存放数据字节的低位。ARM体系结构寻址方式寻址方式n寻找方式是是处理器执行指令时寻找寻找方式是是处理器执行指令时寻找真实操作数真实操作数的方式,的方式,ARMARM支持支持九种寻址方式。九种寻址方式。n寄存器寻址寄存器寻址:寄存器中的内容为操作数。:寄存器中的内容为操作数。n立即寻址立即寻址:操作数即在指令中,读取指令就读取操作数。:操作数即在指令中,读取指令就读取操作数。n寄存器移位寻址寄存器移位寻址:ARMARM指令集特有的寻址方式,真实操作数由寄存器移动一指令集特有的寻址方式,真实操作数由寄存器移动一定位数得来。定位数得来。n寄存器间接寻址寄存器间接寻址:操作数在内存中

45、,通过寄存器存贮内存中的地址来查找:操作数在内存中,通过寄存器存贮内存中的地址来查找真正的操作数。真正的操作数。n基址寻址基址寻址:与间接寻址相似,操作数在内存中的位置是由寄存器的值加上:与间接寻址相似,操作数在内存中的位置是由寄存器的值加上指令指定的一个偏移得到。指令指定的一个偏移得到。n多寄存器寻址多寄存器寻址:一次可把内存中的多个值传送到多个寄存器或是把多个寄:一次可把内存中的多个值传送到多个寄存器或是把多个寄存器的值一次传递到内存中。存器的值一次传递到内存中。n堆栈寻址堆栈寻址:多寄存器寻址的特殊形式,是按堆栈形式工作的多寄存器寻址。:多寄存器寻址的特殊形式,是按堆栈形式工作的多寄存器

46、寻址。n块拷贝寻址块拷贝寻址:用于内存拷贝,也是多寄存器寻址的特殊形式。:用于内存拷贝,也是多寄存器寻址的特殊形式。n相对寻址相对寻址:基址寻址的特殊形式,这个基址必须由:基址寻址的特殊形式,这个基址必须由PCPC来提供。来提供。ARM体系结构ARMARM指令集指令集nARMARM指令集可分为指令集可分为五大类五大类,分支指令分支指令、数据处理指令数据处理指令、加载加载/存储指存储指令令、协处理器指令协处理器指令和和杂项指指令杂项指指令。n分支指令分支指令,提供一个,提供一个2424位有符号编移,可实现位有符号编移,可实现32M32M的转移。的转移。n数据处理指令数据处理指令,是在通用寄存器上

47、执行计算,有以下几种,是在通用寄存器上执行计算,有以下几种n算术算术/逻辑指令。逻辑指令。n比较指令。比较指令。n乘法指令。乘法指令。n加载加载/存储指令,包括以下几种存储指令,包括以下几种。n加载加载/存储寄存器。存储寄存器。n加载加载/存储多个寄存器。存储多个寄存器。n交换寄存器和存储器内容。交换寄存器和存储器内容。n协处理器指令,包括以下几种协处理器指令,包括以下几种。n数据处理指令,启动一个协处理器专用的内部操作。数据处理指令,启动一个协处理器专用的内部操作。n数据转移指令,数据在协处理器和存储器之间进行转移。数据转移指令,数据在协处理器和存储器之间进行转移。n寄存器转移指令,允许协处

48、理器转移寄存器转移指令,允许协处理器转移ARMARM寄存器,或相反转移。寄存器,或相反转移。n杂项指令杂项指令,包括状态寄存器转移指令和异常产生指令。,包括状态寄存器转移指令和异常产生指令。ARM体系结构ARMARM指令格式指令格式n三种指令格式三种指令格式ncondS Rd,;属单周期指令,如属单周期指令,如MOV、MVN。ncond Rn,;影响或判断标志类指令,如影响或判断标志类指令,如CMP、CMN、TEQ、TST。ncondS Rd,Rn,;多寄存器参与指令。如;多寄存器参与指令。如AND、SUB、ADD、ADC、ORR、BIC等。等。n其中其中中的中的操作指令助记符操作指令助记符是

49、是必须必须要有的,而要有的,而中的中的条件码条件码和和影响影响标志位符标志位符可以没有。可以没有。nCond条件码条件码所起的作用是所起的作用是逻辑判断逻辑判断,正确执行该条操作语句。,正确执行该条操作语句。S代示代示是否要是否要影响影响CPSR中的中的标志位标志位。nCMP R1,#06 ;比较比较R1和影响标志位。和影响标志位。nSUBNES R2,R2,#04;如果上条指令不相等,则如果上条指令不相等,则R2=R2-4,如相等则跳过,如相等则跳过n可为可为nRm(寄存器)。如(寄存器)。如MOVPC,R0n或或Rm,(寄存器下的移位操作)。如(寄存器下的移位操作)。如ADD R2,R1,R1,LSL#4最后最后的参数值可为立即数也可为寄存器,或的参数值可为立即数也可为寄存器,或RRX。n或是或是#expression(立即数)如(立即数)如MOVR1,#10ARM体系结构ARMARM指令格式中的条件码指令格式中的条件码n条件码可实现指令中的高效逻辑操作。条件码可实现指令中的高效逻辑操作。ARM体系结构本讲结束本讲结束n处理器分类。处理器分类。n处理器运行模式。处理器运行模式。nARMARM寄存器。寄存器。n异常及其处理。异常及其处理。n存储器格式。存储器格式。n寻址方式。寻址方式。n指令集介绍。指令集介绍。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁