ARM体系结构与内核.ppt

上传人:wuy****n92 文档编号:80465243 上传时间:2023-03-23 格式:PPT 页数:99 大小:986.50KB
返回 下载 相关 举报
ARM体系结构与内核.ppt_第1页
第1页 / 共99页
ARM体系结构与内核.ppt_第2页
第2页 / 共99页
点击查看更多>>
资源描述

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

1、第02章ARM技术与ARM体系结构1.ARM体系结构版本2.ARM内核3.ARM流水线技术1.ARM ARM体系结构版本体系结构版本计算机体系结构分类计算机体系结构分类ARMARM版本及系列版本及系列计算机体系结构分类计算机体系结构分类两种典型的结构两种典型的结构:冯冯诺依曼结构诺依曼结构哈佛体系结构哈佛体系结构冯冯诺依曼结构诺依曼结构冯冯诺依曼机:诺依曼机:将数据和指令都存储在存储器中将数据和指令都存储在存储器中的计算机。的计算机。计算系统由一个中央处理单元(计算系统由一个中央处理单元(CPU)和一个存)和一个存储器组成。存储器拥有数据和指令,并且可以根储器组成。存储器拥有数据和指令,并且可

2、以根据所给的地址对它进行读或写。据所给的地址对它进行读或写。哈佛体系结构哈佛体系结构哈佛机:哈佛机:为数据和程序提供了各自独立的存储器。为数据和程序提供了各自独立的存储器。程序计数器只指向程序存储器而不指向数据存储器,程序计数器只指向程序存储器而不指向数据存储器,这样做的后果是很难在哈佛机上编写出一个自修改这样做的后果是很难在哈佛机上编写出一个自修改的程序的程序。独立的程序存储器和数据存储器为数字信号处理提独立的程序存储器和数据存储器为数字信号处理提供了较高的性能。供了较高的性能。ARM7使用冯使用冯诺依曼体系结构。诺依曼体系结构。ARM9使用哈佛体系结构。使用哈佛体系结构。ARM公司简介公司

3、简介ARM是是AdvancedRISCMachines的缩写,它是一的缩写,它是一家微处理器行业的知名企家微处理器行业的知名企业,该企业设计了大量高业,该企业设计了大量高性能、廉价、耗能低的性能、廉价、耗能低的RISC(精简指令集)处理(精简指令集)处理器。器。19851985年第一个年第一个ARMARM原型原型在英国剑桥诞生。在英国剑桥诞生。公司的特点是公司的特点是只设计芯片,而不生产。只设计芯片,而不生产。它提供它提供ARM技术知识产权技术知识产权(IP)核,)核,将技术授权给世将技术授权给世界上许多著名的半导体、界上许多著名的半导体、软件和软件和OEM厂商,并提供厂商,并提供服务。服务。

4、ARMARM处理器的应用处理器的应用到目前为止,基于到目前为止,基于ARMARM技术的微处理器应用约占据了技术的微处理器应用约占据了3232位嵌入式微处理位嵌入式微处理器器7575以上的市场份额。以上的市场份额。全球全球80%80%的的GSM/3GGSM/3G手机、手机、99%99%的的CDMACDMA手机以及绝大多数手机以及绝大多数PDAPDA产品均采用产品均采用ARMARM体系的嵌入式处理器。体系的嵌入式处理器。“掌上计算掌上计算”相关的所有领域皆为其所主宰。相关的所有领域皆为其所主宰。主要应用:消费类电子,主要应用:消费类电子,无线、图像应用开放平台、存储、自动化、无线、图像应用开放平台

5、、存储、自动化、智能卡、智能卡、SIMSIM卡等。卡等。ARMARM处理器的三大特点:处理器的三大特点:耗电少功能强、耗电少功能强、1616位位/32/32位双指令集、众多合位双指令集、众多合作伙伴。作伙伴。将技术授权给其它芯片厂商形成各具特色的ARM芯片.各各ARM体系结构版本体系结构版本ARM体系结构从最初开发到现在有了很大的改体系结构从最初开发到现在有了很大的改进,并仍在完善和发展。进,并仍在完善和发展。为了清楚地表达每个为了清楚地表达每个ARM应用实例所使用的指应用实例所使用的指令集,令集,ARM公司定义了公司定义了7种主要的种主要的ARM指令集体指令集体系结构版本,以版本号系结构版本

6、,以版本号V1V7表示。表示。ARM体系结构的基本版本版本版本变种系列号处理器核V1V1ARM1ARM1V2V2ARM2ARM2V2aARM2aSARM3ARM3V3V3ARM6ARM6、ARM600、ARM610ARM7ARM7、ARM700、ARM710V4V4TARM7TDMI、ARM710T、ARM720T、ARM740TV4ARM8StrongARM、ARM8、ARM810V4TARM9ARM9TDMI、ARM920T、ARM940TV5V5TEARM9E-SARM10ARM10TDMI、ARM1020EV6V6ARM11ARM11、ARM11562-S、ARM1156T2F-S、A

7、RM11JZF-SV7V7ARM CotexARM Cotex-A8、ARM Cotex-R4、ARM Cotex-M3ARM体系结构的基本版本命名规则ARMxyzTDMIEJF-S大括号内的字母是可选的,各个字母的含义如下:x系列号,例如ARM7中的“7”、ARM9中的“9”;y内部存储管理/保护单元,例如ARM72中的“2”、ARM94中的“4”;z内含有高速缓存Cache;T技持16位的Thumb指令集;D支持JTAG片上调试;M支持用于长乘法操作(64位结果)的ARM指令,包含快速乘法器;I带有嵌入式追踪宏单元ETM(EmbeddedTraceMacro),用来设置断点和观察点的调试硬

8、件;E 增强型DSP指令(基于TDMI);J含有Java加速器Jazelle,与Java虚拟机相比,Java加速器Jazelle使Java代码运行速度提高了8倍,功耗降低到原来的80%;F 向量浮点单元;S可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以被编译成一种易于EDA工具使用的形式。ARM体系结构的基本版本命名规则ARM命名规则举例命名规则举例ARM7TMDI是目前使用最广泛的是目前使用最广泛的32位嵌入式位嵌入式RISC处理器,属低端处理器,属低端ARM处理器核。处理器核。支持高密度支持高密度1616位的压缩位的压缩ThumbThumb指令集;指令集;支持片上调

9、试支持片上调试Debug;支持支持6464位乘法位乘法(Multiplier);嵌入式嵌入式Embeded-ICE,Embeded-ICE,支持片上断点和调试点支持片上断点和调试点;ARM7TDMI ARM7TDMI 的的可可综综合合(synthesizablesynthesizable)版版本本(软软核核),对对应应用用工工程程师师来来说说其其编编程程模模型型与与ARM7TDMI ARM7TDMI 一致;一致;ARM7 ARM7 T D M I-ST D M I-SARM版本版本:V1版架构版架构该版架构只在原型机该版架构只在原型机ARM1出现过,只有出现过,只有26位的寻址空间,没有用于商

10、业产品。位的寻址空间,没有用于商业产品。其基本性能有其基本性能有:基本的数据处理指令(无乘法);基本的数据处理指令(无乘法);基于字节、半字和字的基于字节、半字和字的Load/Store指令指令;转移指令,包括子程序调用及链接指令;转移指令,包括子程序调用及链接指令;供操作系统使用的软件中断指令供操作系统使用的软件中断指令SWI;寻址空间:寻址空间:64MB(226)。)。ARM版本版本:V2版架构版架构该版架构对该版架构对V1版进行了扩展,例如版进行了扩展,例如ARM2和和ARM3(V2a)架构,版本架构,版本2a是版本是版本2的变种,的变种,ARM3芯片采用了版本芯片采用了版本2a。同。同

11、样为样为26位寻址空间,现在已经废弃不再使用。位寻址空间,现在已经废弃不再使用。V2版架构与版本版架构与版本V1相比,相比,增加了以下功能:增加了以下功能:乘法和乘加指令;乘法和乘加指令;支持协处理器操作指令;支持协处理器操作指令;快速中断模式;快速中断模式;SWP/SWPB的最基本存储器与寄存器交换指令的最基本存储器与寄存器交换指令;寻址空间:寻址空间:64MB。ARM版本版本 :V3版架构版架构V3版架构(版架构(目前已废弃目前已废弃)对)对ARM体系结构作了体系结构作了较大的改动:较大的改动:寻址空间增至寻址空间增至32位(位(4GB););当前程序状态信息从原来的当前程序状态信息从原来

12、的R15寄存器移到当前程序状态寄寄存器移到当前程序状态寄存器存器CPSR中(中(CurrentProgramStatusRegister);增加了程序状态保存寄存器增加了程序状态保存寄存器SPSR(SavedProgramStatusRegister););增加了中止(增加了中止(Abort)和未定义)和未定义2种处理器模式;种处理器模式;增加了增加了MRS/MSR指令,以访问新增的指令,以访问新增的CPSR/SPSR寄存器;寄存器;增加了从异常处理返回的指令功能。增加了从异常处理返回的指令功能。ARM版本版本 :V4版架构版架构不在为了与以前的版本兼容而支持不在为了与以前的版本兼容而支持26

13、位体系结构,并位体系结构,并明确了哪些指令会引起未定义指令异常发生,明确了哪些指令会引起未定义指令异常发生,V4版架构在版架构在V3版上作了进一步扩充,版上作了进一步扩充,V4版架构是目前应用最广的版架构是目前应用最广的ARM体系结构,体系结构,ARM7、ARM8、ARM9和和StrongARM都都采用该架构。采用该架构。指令集中增加了以下功能:指令集中增加了以下功能:符号化和非符号化半字及符号化字节的存符号化和非符号化半字及符号化字节的存/取指令;取指令;增加了增加了16位位Thumb指令集;指令集;完善了软件中断完善了软件中断SWI指令的功能;指令的功能;处理器系统模式引进特权方式时使用用

14、户寄存器操作处理器系统模式引进特权方式时使用用户寄存器操作;把一些未使用的指令空间捕获为未定义指令。把一些未使用的指令空间捕获为未定义指令。ARM版本版本 :V5版架构版架构V5版架构是在版架构是在V4版基础上增加了一些新的指令,版基础上增加了一些新的指令,ARM10和和Xscale都采用该版架构。都采用该版架构。这些新增命令有:这些新增命令有:带有链接和交换的转移带有链接和交换的转移BLX指令;指令;计数前导零计数前导零CLZ指令;指令;BRK中断指令;中断指令;增加了数字信号处理指令(增加了数字信号处理指令(V5TE版);版);为协处理器增加更为协处理器增加更多可选择的指令;多可选择的指令

15、;改进了改进了ARM/Thumb状态之间的切换效率;状态之间的切换效率;E-增强型增强型DSP指令集,包括全部算法操作和指令集,包括全部算法操作和16位乘法操作;位乘法操作;J-支持新的支持新的JAVA,提供字节代码执行的硬件和优化软件,提供字节代码执行的硬件和优化软件加速功能。加速功能。ARM版本版本 :V6版架构版架构V6版架构是版架构是2001年发布的,首先在年发布的,首先在2002年年春季发布的春季发布的ARM11处理器中使用。处理器中使用。此架构在此架构在V5版基础上版基础上增加了以下功能:增加了以下功能:THUMBTM:35%代码压缩;代码压缩;DSP扩充:高性能定点扩充:高性能定

16、点DSP功能;功能;JazelleTM:Java性能优化,可提高性能优化,可提高8倍;倍;Media扩充:音扩充:音/视频性能优化,可提高视频性能优化,可提高4倍。倍。ARMv7架构采用了Thumb-2技术Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38的性能。ARMv7架构还采用了NEON技术将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制

17、应用的需求。ARMv7还支持改良的运行环境迎合不断增加的JIT(JustInTime)和DAC(DynamicAdaptiveCompilation)技术的使用。另外,ARMv7架构对于早期的ARM处理器软件也提供很好的兼容性。ARM版本版本VII VII:V7版架构版架构ARM版本版本VII VII:V7版架构版架构ARMCortex处理器系列都是基于ARMv7架构的产品ARMCortex-A系列是针对日益增长的,运行包括Linux、Windows,CE和Symbian操作系统在内的消费娱乐和无线产品设计的;ARMCortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车

18、电子、网络和影像系统;ARMCortex-M系列则面向微控制器领域,为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用所设计的。常用ARM核简介ARM处理器核简介 ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:注:注:“ARM核核”并不是芯片,并不是芯片,ARM核与其它部件如核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。、片内外设组合在一起才能构成现实的芯片。ARM7ARM9ARM9EARM10SecurCoreXscale常用ARM核简介ARM处理器核简介ARM7 该

19、系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。常用ARM核简介ARM处理器核简介ARM9 该系列包括ARM9TDMI、ARM920T和带有告诉缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒、无

20、线设备、高端打印机、数码照相机和数码摄像机。常用ARM核简介ARM处理器核简介ARM10 该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。ARM10系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统、视频游戏机和高性能打印机等场合。常用ARM核简介ARM处理器核简介SecurCore专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案。灵活的保护单元,以确保操作系统和应用数据的安全。采用软内核技术,防止外部对其进行扫描探测。可集成用户自己

21、的安全特性和其他协处理器。主要应用:对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。4种类型:SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210。常用ARM核简介ARM处理器核简介Xscale Xscale是ARM体系结构的一种内核,基于ARM v5TE,由Intel公司开发。相比于ARM处理器,XScale功耗更低,系统伸缩性更好,同时核心频率也得到提高,达到了400Mhz甚至更高。增加MMX指令。XScale是目前Intel公司主推的高性能嵌入式处理器,分通用处理器、

22、网络处理器和I/O处理器三类。其中通用处理器有PXA25x、PXA26x、PXA27x三个系列,被广泛应用于智能手机、PDA领域。2.ARM ARM内核内核1.ARM7TDMI1.ARM7TDMI内核结构内核结构2.ARM92.ARM9内核结构内核结构ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介

23、q17.ETM接口简介1简介简介低功耗的低功耗的32位位RISC处理器,冯处理器,冯诺依曼结构。诺依曼结构。具有嵌入式具有嵌入式ICERT逻辑,调试开发方便。逻辑,调试开发方便。3级流水线结构。级流水线结构。代码密度高,兼容代码密度高,兼容16位的位的Thumb指令集。指令集。对操作系统的支持广泛,包括对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。等。指令系统与指令系统与ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,系列兼容,便于用户的产品升级换代。便于用户的产品升级换代。主频最高可达主频最高可达130MIPS。主要应用领域:主要应用领域:工业控制

24、、工业控制、Internet设备、网络和调制解调设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。器设备、移动电话等多种多媒体和嵌入式应用。ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介q17.ETM接口简介2ARM7TDMI简介 ARM7TDMI基于ARM体系结构V4版本,是目前低端

25、的ARM核。具有广泛的应用,其最显著的应用为数字移动电话。注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。2ARM7TDMI简介 ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足。ARM7TDMI的后缀意义为:支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM7TDMI 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI 一致;ARM7 T D M I-S2ARM7TDMI简介 ARM7TDMI处理器

26、是ARM通用32位微处理器家族的成员之一。它具有优异的性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复杂指令集计算机(CISC)要简单得多。这样的简化实现了:高的指令吞吐量;出色的实时中断响应;小的、高性价比的处理器宏单元。2ARM7TDMI三级流水线 ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行2ARM7TDMI三级流水线 正常操作过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条指令从

27、存储器中取出。这三条指令之间的位置关系如下表所示:流水线上各指令的地址流水线工位描述ARM指令集Thumb指令集PCPC取指指令从存储器中取出PC-4PC-2译码对指令使用的寄存器进行译码PC-8PC-4执行从寄存器组中读出寄存器,执行移位和ALU操作,寄存器被写回到寄存器组中2ARM7TDMI存储器访问 ARM7TDMI处理器使用了冯诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。数据可以是字节(8位)、半字(16位)或者字(32位)。2ARM7TDMI存储器访问 ARM7TDMI处理器的存储器接口可以使潜在的性能得以

28、实现,这样减少了存储器的使用。对速度有严格要求的控制信号使用流水线,这样使系统控制功能以标准的低功耗逻辑实现。ARM7TDMI处理器的存储器周期有4个基本类型:内部周期;非连续的周期;连续 的周期;协处理器寄存器的传输周期。ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介q17.ETM接口简介3AR

29、M7TDMI的模块和内核框图ARM7TDMI模块3ARM7TDMI的模块和内核框图ARM7TDMI模块地址寄存器寄存器组31*32位寄存器(6个状态寄存器)地址增加器乘法器桶形移位器32位ALU写数据寄存器指令管线读数据寄存器Thumb指令译码器指令译码和控制逻辑ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG输出DBG输入CP控制CP握手WDATA31:0RDATA31:0扫描调试控制3ARM7TDMI的模块和内核框图ARM7TDMI模块ARM7TDMI内核结构q1.简介q2.ARM7T

30、DMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介q17.ETM接口简介4体系结构直接支持的数据类型体系结构直接支持的数据类型ARM处理器支持下列数据类型:字节 8位半字 16位(必须分配为占用两个字节)字 32为(必须分配为占用4各字节)1112342体系结构直接支持的数据类型注意:V4版本之后的ARM结构都支持这3种结构(包括V4版本),而以前的

31、版本只支持字节和字;当数据类型定义为无符号型时,N位数据值使用正常的二进制格式表示范围为02N-1的非负整数;当数据类型定义为有符号型时,N位数据值使用2的补码格式表示范围为-2N-1+2N-1-1的整数;4体系结构直接支持的数据类型体系结构直接支持的数据类型注意:所有数据操作,例如ADD,都以字为单位;装载和保存指令可以对字节、半字和字进行操作,当装载字节或半字时自动实现零扩展或符号扩展;ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节)。4体系结构直接支持的数据类型ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI

32、的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介q17.ETM接口简介5处理器状态处理器状态 ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI处理器有两种操作状态:ARM状态:32位,这种状态下执行的是字方式的ARM指令;Thumb状态:16位,这种状态下执行半字方式的Thumb指令。注意:两个状

33、态之间的切换并不影响处理器模式或寄存器内容。5处理器状态处理器状态 使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换(详见第4章),程序如下所示。;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0;从Thumb状态切换到ARM状态 LDR R0,=Lable BX R0地址最低位为1,表示切换到Thumb状态地址最低位为0,表示切换到ARM状态跳转地址标号ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8

34、.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q15.协处理器接口q16.调试接口简介q17.ETM接口简介6处理器模式简介 ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。处理器模式说明备注用户(usr)正常程序工作模式不能直接切换到其它模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权快中断(fiq

35、)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式6处理器模式处理器模式6处理器模式特权模式处理器模式说明备注用户(usr)正常程序工作模式不能直接切换到其它模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(i

36、rq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。未定义(und)中止(abt)管理(svc)中断(irq)快中断(fiq)系统(sys)6处理器模式异常模式处理器模式说明备注用户(usr)正常程

37、序工作模式不能直接切换到其它模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处未定义(und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式未定义(und)中止(abt)管理(svc)中断(irq)快中断(fiq)这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定

38、的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。6处理器模式用户和系统模式处理器模式说明备注用户(usr)正常程序工作模式不能直接切换到其它模式系统(sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权快中断(fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式中断(irq)用于通用中断处理IRQ异常响应时进入此模式管理(svc)操作系统保护代码系统复位和软件中断响应时进入此模式中止(abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处未定义(und)支持硬件

39、协处理器的软件仿真未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。系统(sys)用户(usr)ARM7TDMI内核结构q1.简介q2.ARM7TDMIq3.ARM7TDMI的模块和内部框图q4.体系结构直接支持的数据类型q5.处理器状态q6.处理器模式q7.内部寄存器q8.程序状态寄存器q9.异常q10.中断延迟q11.复位q12.存储器及存储器映射I/Oq13.寻址方式简介q14.ARM7指令简介q

40、15.协处理器接口q16.调试接口简介q17.ETM接口简介7内部寄存器简介 在ARM7TDMI处理器内部有37个用户可见的寄存器。在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器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)R11R11_fiqR12(IP)R12R1

41、2_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiqARM状态各模式下的寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8

42、(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiqARM状态各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_ab

43、tCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37个寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7

44、R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用户用户无CP

45、SRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系统系统SPSR_abtCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定义未定义SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中断中断SPSR_f

46、iqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中断快中断ARM状态各模式下可以访问的寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器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)R11R11_fiqR12(IP)R12R12_fi

47、qR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存

48、器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器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)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14

49、(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器CPSRCPSRSPSR无SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0 其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。寄存器类别寄存器在汇编

50、中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器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)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存器

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

当前位置:首页 > 教育专区 > 大学资料

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

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