《第2讲微处理器硬件结构PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2讲微处理器硬件结构PPT讲稿.ppt(130页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2讲微处理器硬件讲微处理器硬件结构结构1第1页,共130页,编辑于2022年,星期一内容提要内容提要ARM 存存 储储 系系 统统 机机 制制ARM处理器模式及内部寄存器处理器模式及内部寄存器ARM处理器结构和技术特征处理器结构和技术特征计算机体系结构计算机体系结构2第2页,共130页,编辑于2022年,星期一计算机体系结构l计算机中,按内存的组成分两种典型的结构:计算机中,按内存的组成分两种典型的结构:1.1.冯冯诺依曼结构诺依曼结构/普林斯顿结构普林斯顿结构 3第3页,共130页,编辑于2022年,星期一冯冯诺依曼体系结构诺依曼体系结构指令寄存器控制器数据通道输入输出中央处理器存储
2、器程序指令0指令1指令2指令3指令4数据数据0数据1数据2结构特点:结构特点:1 1、指令和数据存储、指令和数据存储在相同的内存空间,但存储地在相同的内存空间,但存储地址不同。址不同。2 2、处理器利用相同的总线处理、处理器利用相同的总线处理内存中的指令和数据,指令和数内存中的指令和数据,指令和数据具有相同的数据宽度,指令与据具有相同的数据宽度,指令与数据无法同时存取。数据无法同时存取。ARM7ARM7嵌入式微处理嵌入式微处理器亦采用此结构器亦采用此结构4第4页,共130页,编辑于2022年,星期一哈佛体系结构哈佛体系结构指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存
3、储器数据0数据1数据2地址指令地址数据结构特点:结构特点:1 1、指令存储和数据存储分、指令存储和数据存储分开,指令和数据分别位于开,指令和数据分别位于不同的存储空间。不同的存储空间。2 2、指令与数据的存取采用不、指令与数据的存取采用不同总线,取指令和存取数据同总线,取指令和存取数据可同时进行,微处理器具有可同时进行,微处理器具有较高的执行效率。较高的执行效率。数字信号处理器数字信号处理器DSPDSP通常采用哈佛结构通常采用哈佛结构 ,ARM9ARM9嵌入式微处理器亦采用此结嵌入式微处理器亦采用此结构。构。5第5页,共130页,编辑于2022年,星期一第第2 2章章 ARMARM微处理器硬件
4、结构微处理器硬件结构1 12 2计计 算算 机机 体体 系系 结结 构构 ARM处理器结构和技术特征处理器结构和技术特征ARM处理器模式及内部寄存器处理器模式及内部寄存器 3 34 4ARM 存存 储储 系系 统统 机机 制制6第6页,共130页,编辑于2022年,星期一ARMARMARM公司简介公司简介ARMARM是是A Advanced dvanced R RISC ISC M Machinesachines的缩写,它是一家微处理器的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高行业的知名企业,该企业设计了大量高性能、廉价、耗能低的性能、廉价、耗能低的RISC RISC(精简指(
5、精简指令集)处理器。令集)处理器。公司的特点是只设公司的特点是只设计芯片,而不生产。它将技术授权计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件给世界上许多著名的半导体、软件和和OEMOEM厂商,并提供服务厂商,并提供服务 7第7页,共130页,编辑于2022年,星期一 ARMARMARM公司简介公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片.8第8页,共130页,编辑于2022年,星期一ARM FamilyARM FamilyARM7 FamilyARM9 FamilyARM10 FamilyARM11 Family150DMIPS300 DMIPS500 DMIPS1
6、000 DMIPSARM Cortex FamilyARM720TARM1136J ARM1176JZARM1026EARM920T/ARM922T ARM926EJCortex AApplication ProcessorARM7TDMIARM1156T2ARM1026EARM946ECortex REmbedded RT ControllerARM7TDMIARM966E ARM968ECortex MMicro-controllerARM Architecture9第9页,共130页,编辑于2022年,星期一ARMARM处理器内核处理器内核l微处理器是整个系统的核心,通常由微处理器是整个
7、系统的核心,通常由4 4部分组成:部分组成:控制部件、算术逻辑部件、寄存器组和内部总控制部件、算术逻辑部件、寄存器组和内部总线。线。算术逻辑单元算术逻辑单元寄存器组寄存器组控制单元控制单元CU微处理器微处理器存储器存储器输入输入输出输出10第10页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V1V1 该版本的该版本的ARMARM体系结构,只有体系结构,只有2626位的寻址空位的寻址空间,没有商业化,其特点为:间,没有商业化,其特点为:基本的数据处理指令(不包括乘法);基本的数据处理指令(不包括乘法);字节、字和半字加载字节
8、、字和半字加载/存储指令;存储指令;具有分支指令,包括在子程序调用中使用的分支和链具有分支指令,包括在子程序调用中使用的分支和链接指令;接指令;在操作系统调用中使用的软件中断指令。在操作系统调用中使用的软件中断指令。11第11页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V2V2 同样为同样为2626位寻址空间,现在已经废弃不再使用,位寻址空间,现在已经废弃不再使用,它相对它相对V1V1版本有以下改进:版本有以下改进:具有乘法和乘加指令;具有乘法和乘加指令;支持协处理器;支持协处理器;快速中断模式中的两个以上的分组寄存器;
9、快速中断模式中的两个以上的分组寄存器;具有原子性加载具有原子性加载/存储指令存储指令SWPSWP和和SWPBSWPB。12第12页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V3V3 寻址范围扩展到寻址范围扩展到3232位(目前已废弃),具有独位(目前已废弃),具有独立的程序:立的程序:具有乘法和乘加指令;具有乘法和乘加指令;支持协处理器;支持协处理器;快速中断模式中具有的两个以上的分组寄存器;快速中断模式中具有的两个以上的分组寄存器;具有原子性加载具有原子性加载/存储指令存储指令SWPSWP和和SWPBSWPB。13第1
10、3页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V4V4 不在为了与以前的版本兼容而支持不在为了与以前的版本兼容而支持2626位体系位体系结构,并明确了哪些指令会引起未定义指令异结构,并明确了哪些指令会引起未定义指令异常发生,它相对常发生,它相对V3V3版本作了以下的改进:版本作了以下的改进:半字加载半字加载/存储指令;存储指令;字节和半字的加载和符号扩展指令;字节和半字的加载和符号扩展指令;具有可以转换到具有可以转换到ThumbThumb状态的指令(状态的指令(BXBX););增加了用户模式寄存器的新的特权处理器模式。增
11、加了用户模式寄存器的新的特权处理器模式。14第14页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V5V5 在在V4V4版本的基础上,对现在指令的定义进行版本的基础上,对现在指令的定义进行了必要的修正,对了必要的修正,对V4V4版本的体系结构进行了扩版本的体系结构进行了扩展并并增加了指令,具体如下:展并并增加了指令,具体如下:改进了改进了ARM/ThumbARM/Thumb状态之间的切换效率;状态之间的切换效率;E-E-增强型增强型DSPDSP指令集指令集,包括全部算法操作和包括全部算法操作和1616位乘法位乘法操作;操作;
12、J-J-支持新的支持新的JAVA,JAVA,提供字节代码执行的硬件和优化提供字节代码执行的硬件和优化软件加速功能。软件加速功能。15第15页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V V6 6 V6V6版架构是版架构是20012001年发布的,首先在年发布的,首先在20022002年年春季发布的春季发布的ARM11ARM11处理器中使用。此架构在处理器中使用。此架构在V5V5版基础上增加了以下功能:版基础上增加了以下功能:改进了改进了ARM/ThumbARM/Thumb状态之间的切换效率;状态之间的切换效率;THUMB
13、TMTHUMBTM:35%35%代码压缩;代码压缩;DSPDSP扩充:高性能定点扩充:高性能定点DSPDSP功能;功能;JazelleTMJazelleTM:JovaJova性能优化,可提高性能优化,可提高8 8倍;倍;MediaMedia扩充:音扩充:音/视频性能优化,可提高视频性能优化,可提高4 4倍。倍。16第16页,共130页,编辑于2022年,星期一ARMARM体系结构版本体系结构版本l各各ARMARM体系结构版本体系结构版本V V7 7lARMv7ARMv7定义了定义了3 3种不同的处理器配置种不同的处理器配置(processor profiles):Profile A是面向复杂、
14、基于虚拟内存的OS和应用的Profile R是针对实时系统的;Profile M是针对低成本应用的优化的微控制器的。l所有所有ARMv7 profilesARMv7 profiles实现实现Thumb-2Thumb-2技术,同时还技术,同时还包括了包括了NEONNEON 技术的扩展提高技术的扩展提高DSPDSP和多媒体处和多媒体处理吞吐量理吞吐量400400,并提供浮点支持以满足下一,并提供浮点支持以满足下一代代3D3D图形和游戏以及传统嵌入式控制应用的需图形和游戏以及传统嵌入式控制应用的需要。要。17第17页,共130页,编辑于2022年,星期一ARMARM处理器的分类处理器的分类结构体系版
15、本(结构体系版本(ArchitectureArchitecture)ARM v4TARM v4TARM v5TE ARM v5TE ARM v6ARM v6ARM Cortex(v7)ARM Cortex(v7)Processor FamilyProcessor FamilyARM7 ARM7 ARM9ARM9ARM10ARM10ARM11ARM11ARM CortexARM Cortex18第18页,共130页,编辑于2022年,星期一ARMARM各系列处理器各系列处理器l ARMARM公司开发了很多公司开发了很多系列的系列的ARMARM处理器核,处理器核,目前最新的系列已经是目前最新的系列
16、已经是ARM11ARM11了,而了,而ARM6ARM6核核以及更早的系列已经以及更早的系列已经很罕见了。目前应用很罕见了。目前应用比较广泛的系列是:比较广泛的系列是:ARM7ARM9ARM9EARM10ARM11SecurCoreCortexXscale19第19页,共130页,编辑于2022年,星期一ARM7ARM7lARM7ARM7微处理器系列微处理器系列 特点:特点:冯诺伊曼体系结构;冯诺伊曼体系结构;lARMTDMIARMTDMI是目前应用最广的微处理器核是目前应用最广的微处理器核;lARM720TARM720T带有带有MMUMMU和和8KB8KB的指令数据混合的指令数据混合cache
17、cache;lARM7EJ-ARM7EJ-执行执行ARMv5TEJARMv5TEJ指令,指令,5 5级流水线,级流水线,提供提供JavaJava加速指令,没有存储器保护。加速指令,没有存储器保护。20第20页,共130页,编辑于2022年,星期一ARM7TDMIARM7TDMI ARM7TDMIARM7TDMI:整数处理核:整数处理核ARM7TDMI ARM7TDMI 处理器处理器的可综合版本;的可综合版本;ARM720TARM720T:带:带MMUMMU的处理器核心,支持操作系的处理器核心,支持操作系统;统;ARM7EJ-SARM7EJ-S:带有:带有DSPDSP和和Jazelle TM J
18、azelle TM 技术,能够实技术,能够实现现JavaJava加速功能加速功能支持高密度支持高密度16位的位的Thumb指令集;指令集;支持片上调试;支持片上调试;支持支持64位乘法;位乘法;支持支持Embeded-ICE观察硬件观察硬件;ARM7TDMI 的可综合(的可综合(synthesizable)版本(软核),对应用工程师来说其编程版本(软核),对应用工程师来说其编程模型与模型与ARM7TDMI 一致;一致;ARM7 T D M I-S21第21页,共130页,编辑于2022年,星期一ARM7TDMIARM7TDMIARM7TDMI内核内核地址地址地址地址数据读数据读AMBA接口接口
19、写写缓冲缓冲MMU数据写数据写数据数据ARM7xxT控制控制逻辑逻辑CacheAMBA总线总线接口接口JTAG 和非和非 AMBA 信号信号CP15带带CacheCache的的ARM7TDMI ARM7TDMI ARM710T8K 统一的统一的 cache 完整的内存管理单元(完整的内存管理单元(MMU),支持虚拟地址和存储器保),支持虚拟地址和存储器保护护写缓冲写缓冲ARM720T同同ARM710T,但支持,但支持 WinCEARM740T8K 统一的统一的 cache内存管理单元内存管理单元写缓冲写缓冲返回返回22第22页,共130页,编辑于2022年,星期一ARM9ARM9lARMARM
20、9 9微处理器系列微处理器系列 特点:特点:l 基于基于ARM9TDMI ARM9TDMI,带,带1616位的位的ThumbThumb指令集,增强代码密指令集,增强代码密度最多到度最多到35%35%;l在在0.130.13 mm工艺下最高性能可达到工艺下最高性能可达到300MIPS300MIPS(Dhrystone 2.1Dhrystone 2.1测试标准);测试标准);l集成了数据和指令集成了数据和指令ChcheChche;l3232位位AMBAAMBA总线接口的总线接口的MMUMMU支持;支持;l可在可在0.180.18 mm、0.15 0.15 mm和和0.130.13 mm工艺的硅芯片
21、上实现。工艺的硅芯片上实现。23第23页,共130页,编辑于2022年,星期一ARM9TDMIARM9TDMIARM9TDMID CacheI CacheMMUGLUE外部外部存储器存储器ARM940T2x 4K caches MPU写缓冲写缓冲ARM9xxTARM920T2x 16K caches MMU支持虚拟地址和内存保护支持虚拟地址和内存保护 写缓冲写缓冲带带CacheCache的的ARM9TDMI ARM9TDMI 返回返回24第24页,共130页,编辑于2022年,星期一ARM9EARM9ElARMARM9E9E微处理器系列微处理器系列 特点:特点:ARM9EARM9E是针对微控制
22、器、是针对微控制器、DSPDSP和和JavaJava的单处理器解决方案;的单处理器解决方案;lARMARMJazelleJazelle技术提供技术提供 8 8倍的倍的 Java Java 加速性能加速性能(ARM926EJ-S)(ARM926EJ-S);l5-5-级整数流水线;级整数流水线;l在在0.130.13 mm工艺下最高性能可达到工艺下最高性能可达到300MIPS300MIPS(Dhrystone 2.1Dhrystone 2.1测试标准);测试标准);l可选择的可选择的向量浮点单元向量浮点单元VFP9 VFP9 协处理器指令优秀海浮点性能,协处理器指令优秀海浮点性能,对于对于3D3D
23、图形加速和实时控制可达到图形加速和实时控制可达到215MFLOPS215MFLOPSl高性能的高性能的AHBAHB总线,带总线,带MMUMMUl可在可在0.180.18 m,0.15m,0.15 m,0.13m,0.13 mm工艺的硅芯片上实现。工艺的硅芯片上实现。返回返回25第25页,共130页,编辑于2022年,星期一ARM10EARM10ElARMARM10E10E微处理器系列微处理器系列 特点:特点:带分支预测的带分支预测的6 6级整数流水线;级整数流水线;l在在0.130.13 mm工艺下最高性能可达到工艺下最高性能可达到430MIPS430MIPS(Dhrystone 2.1Dhr
24、ystone 2.1测试标测试标准);准);l对于对于3D3D图形运算和实时控制采用图形运算和实时控制采用VFPVFP协处理器,浮点运算性能协处理器,浮点运算性能最高可达最高可达650MFLOPS650MFLOPS;l双双6464位位AMBAAMBA总线接口和总线接口和6464位内部总路线接口;位内部总路线接口;l优化的缓存结构提高了处理器访问低速存储器的性能;优化的缓存结构提高了处理器访问低速存储器的性能;l可在可在0.180.18 m,0.15m,0.15 m,0.13m,0.13 mm工艺的硅芯片上实现工艺的硅芯片上实现返回返回26第26页,共130页,编辑于2022年,星期一ARM11
25、ARM11lARMARM1111微处理器系列微处理器系列 特点:特点:增强的增强的ThumbThumb、JazelleJazelle、DSPDSP扩展支持;扩展支持;l带片上和系统安全带片上和系统安全TrustZone TrustZone 技术支持技术支持 ;l在在0.130.13 mm工艺下最高可达到工艺下最高可达到550MHz550MHz;lMPCoreMPCore在在0.130.13 mm工艺下最高性能可达到工艺下最高性能可达到740MIPS740MIPS(Dhrystone 2.1Dhrystone 2.1测试标准);测试标准);l支持多媒体指令支持多媒体指令SIMDSIMD;l采用三
26、种电源模式:全速采用三种电源模式:全速/待命待命/休眠休眠l集成集成DMADMA的的TCMTCMl低功耗、高性能低功耗、高性能返回返回27第27页,共130页,编辑于2022年,星期一ARMARM处理器工作状态处理器工作状态lARMARM和和ThumbThumb状态状态 ARMARM指令系统(指令系统(V4V4版以后具有版以后具有ThumbThumb指令集):指令集):3232位位ARMARM指令集:固定的指令集:固定的3232位指令,位指令,Load/Store Load/Store RISCRISC特征,特征,3 3地址格式。地址格式。1616位位ThumbThumb指令集:是指令集:是A
27、RMARM指令集的子集,按指令集的子集,按1616位指令位指令重新编码,固定的重新编码,固定的1616位指令,位指令,Load/Store RISCLoad/Store RISC特征,特征,2 2地址格式。地址格式。注意注意:两个状态之间的切换并不影响处:两个状态之间的切换并不影响处理器模式或寄存器内容理器模式或寄存器内容。28第28页,共130页,编辑于2022年,星期一处理器状态切换处理器状态切换 使用使用BXBX指令将指令将ARM7TDMIARM7TDMI内核的操作状态在内核的操作状态在ARMARM状态和状态和ThumbThumb状态之间进行切换状态之间进行切换 ,程序,程序如下所示。如
28、下所示。;从从Arm状态切换到状态切换到Thumb状态状态 LDR R0,=Lable+1 BX R0;从从Thumb状态切换到状态切换到ARM状态状态 LDR R0,=Lable BX R0地址最低位为1,表示切换到Thumb状态地址最低位为0,表示切换到ARM状态跳转地址标号29第29页,共130页,编辑于2022年,星期一流水线技术流水线技术l流水线流水线(Pipeline)(Pipeline)技术:几个指令可以并行执技术:几个指令可以并行执行行 提高了CPU的运行效率 内部信息流要求通畅流动 译码译码取指取指执行执行add译码译码取指取指执行执行sub译码译码取指取指执行执行cmp时间
29、30第30页,共130页,编辑于2022年,星期一流水线技术流水线技术l为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,比逐条指令执行要快。l PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令从存储器中读取指令解码指令解码指令寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumb31第31页,共130页,编辑于2022年,星期一l流水线技术流水线技术在在ARM7ARM7的的3 3级流水线结构中流级流水
30、线结构中流水线易出现阻塞或间断,这水线易出现阻塞或间断,这必然降低了流水线的效率,必然降低了流水线的效率,为了提高处理器的性能,必为了提高处理器的性能,必然要考虑如何优化处理器的然要考虑如何优化处理器的组织结构。组织结构。(1 1)缩短程序执行时间)缩短程序执行时间:提高时钟频率提高时钟频率fclkfclk 减少每条指令的平均时减少每条指令的平均时钟周期数钟周期数CPI CPI Tprog:程序执行时间:程序执行时间Ninst:指令条数:指令条数CPI:指令平均时钟周期数:指令平均时钟周期数FCLK:时钟频率:时钟频率32第32页,共130页,编辑于2022年,星期一流水线技术流水线技术 (2
31、 2)解决流水线相关)解决流水线相关:结构相关结构相关 数据相关数据相关 控制相关控制相关 如果某些指令在流水线中重叠执行时,产生资源冲突,则称该如果某些指令在流水线中重叠执行时,产生资源冲突,则称该流水线存在结构相关。流水线存在结构相关。解决:资源重复(解决:资源重复(Cache 分离、分离、ALU中单独的地址计中单独的地址计算加法器)算加法器)写后读写后读”、“写后写写后写”“读后写读后写”解决:专用通路、流水线互锁技术解决:专用通路、流水线互锁技术当流水线遇到分支指令和其他会改变当流水线遇到分支指令和其他会改变PC值的指令时,值的指令时,取指取决于指令执行条件,可能需重新取指,取指取决于
32、指令执行条件,可能需重新取指,致使流水线停顿。致使流水线停顿。解决:引入延时分支、尽早计算转移成功时的目标地址。解决:引入延时分支、尽早计算转移成功时的目标地址。33第33页,共130页,编辑于2022年,星期一流水线技术流水线技术l超标量超标量(Superscalar)(Superscalar)执行:超标量执行:超标量CPUCPU采用多采用多条流水线结构条流水线结构 执行执行1取指取指指令指令译码译码2译码译码1执行执行2执行执行1取指取指译码译码2译码译码1执行执行2流流水水线线1流流水水线线2数据回写数据回写34第34页,共130页,编辑于2022年,星期一流水线技术流水线技术注意:注意
33、:l 超标量处理器在执行的过程中必须动态地检超标量处理器在执行的过程中必须动态地检查指令相关性,判断当前的指令组合是否能同查指令相关性,判断当前的指令组合是否能同时执行;时执行;如果代码中有分支指令,我们必须将分支被如果代码中有分支指令,我们必须将分支被执行和分支不被执行这两种情况分开考虑,计执行和分支不被执行这两种情况分开考虑,计算执行时间几乎是不可能的;算执行时间几乎是不可能的;35第35页,共130页,编辑于2022年,星期一流水线技术流水线技术ARMARM各个系列的流水线:各个系列的流水线:预取预取(Fetch)译码译码(Decode)执行执行(Execute)预取预取(Fetch)译
34、码译码(Decode)执行执行(Execute)访存访存(Memory)写入写入(Write)预取预取(Fetch)译码译码(Decode)发送发送(Issue)预取预取(Fetch)预取预取(Fetch)执行执行(Execute)访存访存(Memory)写入写入(Write)译码译码(Decode)发送发送(Issue)执行执行(Execute)转换转换(Snny)访存访存(Memory)写入写入(Write)ARM7ARM9ARM10ARM1136第36页,共130页,编辑于2022年,星期一第第2 2章章 ARMARM微处理器硬件结构微处理器硬件结构1 12 2计计 算算 机机 体体 系
35、系 结结 构构 ARM处理器结构和技术特征处理器结构和技术特征ARM处理器模式及内部寄存器处理器模式及内部寄存器 3 34 4ARM 存存 储储 系系 统统 机机 制制37第37页,共130页,编辑于2022年,星期一处理器模式处理器模式处理器处理器7 7种模式种模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)(usr)正常程序执行模式正常程序执行模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)(sys)运行操作系统的特权任务运行操作系统的特权任务与用户模式类似,但具有可以直与用户模式类似,但具有可以直接切换到其它模式等特权接切换到其它模式等特权 快中断快中
36、断 (fiq)(fiq)支持高速数据传输及通道支持高速数据传输及通道处理处理FIQFIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)(irq)用于通用中断处理用于通用中断处理IRQIRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)(svc)操作系统保护模式操作系统保护模式系统复位和软件中断响应时进入系统复位和软件中断响应时进入此模式此模式 中止中止 (abt)(abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMIARM7TDMI没有大用处没有大用处 未定义未定义 (und)(und)支持硬件协处理器的软件支持硬件协处理器
37、的软件仿真仿真未定义指令异常响应时进入此模未定义指令异常响应时进入此模式式38第38页,共130页,编辑于2022年,星期一处理器模式处理器模式特权模式特权模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)(usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)(sys)用于支持操作系统的特权用于支持操作系统的特权任务等任务等与用户模式类似,但具有可以直与用户模式类似,但具有可以直接切换到其它模式等特权接切换到其它模式等特权 快中断快中断 (fiq)(fiq)支持高速数据传输及通道支持高速数据传输及通道处理处理FIQFIQ异常响应
38、时进入此模式异常响应时进入此模式 中断中断 (irq)(irq)用于通用中断处理用于通用中断处理IRQIRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)(svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进入系统复位和软件中断响应时进入此模式此模式 中止中止 (abt)(abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMIARM7TDMI没有大用处没有大用处 未定义未定义 (und)(und)支持硬件协处理器的软件支持硬件协处理器的软件仿真仿真未定义指令异常响应时进入此模未定义指令异常响应时进入此模式式 除用户模式外,其它模
39、式均为除用户模式外,其它模式均为特权模式特权模式。ARMARM内部寄存器和一些片内外设在硬件设计上只允许内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。式不能直接切换到别的模式。未定义未定义 (und)(und)中止中止 (abt)(abt)管理管理 (svc)(svc)中断中断 (irq)(irq)快中断快中断 (fiq)(fiq)系统系统 (sys)(sys)39第39页,共130页,编辑于2022年,星
40、期一处理器模式处理器模式l异常模式异常模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)(usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)(sys)用于支持操作系统的特权任用于支持操作系统的特权任务等务等与用户模式类似,但具有可以直与用户模式类似,但具有可以直接切换到其它模式等特权接切换到其它模式等特权 快中断快中断 (fiq)(fiq)支持高速数据传输及通道处支持高速数据传输及通道处理理FIQFIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)(irq)用于通用中断处理用于通用中断处理IRQIRQ异常响应时
41、进入此模式异常响应时进入此模式 管理管理 (svc)(svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进入系统复位和软件中断响应时进入此模式此模式 中止中止 (abt)(abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMIARM7TDMI没有大用处没有大用处 未定义未定义 (und)(und)支持硬件协处理器的软件仿支持硬件协处理器的软件仿真真未定义指令异常响应时进入此模未定义指令异常响应时进入此模式式 未定义未定义 (und)(und)中止中止 (abt)(abt)管理管理 (svc)(svc)中断中断 (irq)(irq)快中断快中断
42、(fiq)(fiq)这五种模式称为这五种模式称为异常模式异常模式。它们除了可以通。它们除了可以通过程序切换进入外,也可以由特定的异常进入。过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。常退出时用户模式的状态不可靠。40第40页,共130页,编辑于2022年,星期一处理器模式处理器模式l用户和系统模式用户和系统模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)(usr)正常程序工作模式正常程序
43、工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)(sys)用于支持操作系统的特权任用于支持操作系统的特权任务等务等与用户模式类似,但具有可以直接与用户模式类似,但具有可以直接切换到其它模式等特权切换到其它模式等特权 快中断快中断 (fiq)(fiq)支持高速数据传输及通道处支持高速数据传输及通道处理理FIQFIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)(irq)用于通用中断处理用于通用中断处理IRQIRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)(svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进入此系统复位和
44、软件中断响应时进入此模式模式 中止中止 (abt)(abt)用于支持虚拟内存和用于支持虚拟内存和/或存储或存储器保护器保护在在ARM7TDMIARM7TDMI没有大用处没有大用处 未定义未定义 (und)(und)支持硬件协处理器的软件仿支持硬件协处理器的软件仿真真未定义指令异常响应时进入此模式未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系在该
45、模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。统的一些特权任务可以使用这个模式访问一些受控的资源。系统系统 (sys)(sys)用户用户 (usr)(usr)41第41页,共130页,编辑于2022年,星期一通用寄存器寄存器通用寄存器寄存器l简介简介 在在ARM7TDMIARM7TDMI处理器内部有处理器内部有3737个用户可见的个用户可见的寄存器。寄存器。在不同的工作模式和处理器状态下,程序员在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。可以访问的寄存器也不尽相同。42第42页,共130页,编辑于2022年,星期一AR
46、MARM状态各模式下的寄存器状态各模式下的寄存器寄存器类寄存器类别别寄存器在汇编寄存器在汇编中的名称中的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiq*R8_fiq*R9(SB,v6)R
47、9(SB,v6)R9R9R9_fiq*R9_fiq*R10(SL,v7)R10(SL,v7)R10R10R10_fiq*R10_fiq*R11(FP,v8)R11(FP,v8)R11R11R11_fiq*R11_fiq*R12(IP)R12(IP)R12R12R12_fiq*R12_fiq*R13(SP)R13(SP)R13R13R13_svc*R13_svc*R13_abt*R13_abt*R13_und*R13_und*R13_irq*R13_irq*R13_fiq*R13_fiq*R14(LR)R14(LR)R14R14R14_svc*R14_svc*R14_abt*R14_abt*R1
48、4_und*R14_und*R14_irq*R14_irq*R14_fiq*R14_fiq*R15(PC)R15(PC)R15R15状态寄存状态寄存器器R16(CPSR)R16(CPSR)CPSRCPSRSPSRSPSR无无SPSR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiq43第43页,共130页,编辑于2022年,星期一ARMARM状态各模式下的寄存器状态各模式下的寄存器寄存器类寄存器类别别寄存器在汇编寄存器在汇编中的名称中的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用
49、户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8
50、)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15状态寄存状态寄存器器CPSRCPSRCPSRCPSRSPSRSPSR无无SPSR_abtS