浙江大学嵌入式课件--嵌入式系统4.ppt
嵌入式处理器结构浙江大学计算机学院浙江大学计算机学院浙江大学计算机学院浙江大学计算机学院陈天洲陈天洲陈天洲陈天洲20052005年年年年3 3月月月月一、概述 嵌入式系统的核心部件是各种类型的嵌入式处理嵌入式系统的核心部件是各种类型的嵌入式处理嵌入式系统的核心部件是各种类型的嵌入式处理嵌入式系统的核心部件是各种类型的嵌入式处理器。器。器。器。嵌入式嵌入式嵌入式嵌入式CPUCPU具有处理速度快、具有处理速度快、具有处理速度快、具有处理速度快、I/OI/O功能强、功率功能强、功率功能强、功率功能强、功率损耗低及实时响应快等特点。损耗低及实时响应快等特点。损耗低及实时响应快等特点。损耗低及实时响应快等特点。RISC(ReducedRISC(Reduced Instruction Set Computer)Instruction Set Computer)型型型型处理器且有结构简单、处理速度快和处理功能强处理器且有结构简单、处理速度快和处理功能强处理器且有结构简单、处理速度快和处理功能强处理器且有结构简单、处理速度快和处理功能强等优点等优点等优点等优点,新型的嵌入式系统大多数都采用新型的嵌入式系统大多数都采用新型的嵌入式系统大多数都采用新型的嵌入式系统大多数都采用RISCRISC型型型型处理器作为核。处理器作为核。处理器作为核。处理器作为核。ARMARM公司的公司的公司的公司的ARMARM、HitachiHitachi公司的公司的公司的公司的SHSH、MIPS/LSI Logic/IDT/MIPS/LSI Logic/IDT/AldenyAldeny/Toshiba/Toshiba公司的公司的公司的公司的MIPSMIPS和和和和MotorolaMotorola公司的公司的公司的公司的M-CoreM-Core等都是新型嵌入等都是新型嵌入等都是新型嵌入等都是新型嵌入式系统常用的式系统常用的式系统常用的式系统常用的RISCRISC型处理器。型处理器。型处理器。型处理器。2 2二、ARM嵌入式CPU ARM架构处理器已在高性能、低功耗、低架构处理器已在高性能、低功耗、低成本的嵌入式应用领域占据领先地位。成本的嵌入式应用领域占据领先地位。ARM公司是嵌入式公司是嵌入式RISC处理器的知识产处理器的知识产权权IP供应商供应商 它为它为ARM架构处理器提供了架构处理器提供了ARM处理器内处理器内核核(如如ARM7TDMI、ARM9TDMI、ARM10TDMI等等)和和ARM处理器核处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及及ARM1020E等等)3 3ARM系列产品表示系列产品表示 ARMARM系列产品很多系列产品很多系列产品很多系列产品很多,以以以以ARM7ARM7系列为例系列为例系列为例系列为例,其内核其内核其内核其内核ARM7TDMIARM7TDMI表示为:表示为:表示为:表示为:ARM7ARM7:ARMARM系列具有系列具有系列具有系列具有3232位整数运算核位整数运算核位整数运算核位整数运算核 T T:内含内含内含内含1616位压缩指令集位压缩指令集位压缩指令集位压缩指令集ThumbThumb D D:支持片内支持片内支持片内支持片内DebugDebug调试调试调试调试,MM:采用增强型乘法器采用增强型乘法器采用增强型乘法器采用增强型乘法器(Multiplier),(Multiplier),I I:内含嵌入式内含嵌入式内含嵌入式内含嵌入式ICEICE宏单元宏单元宏单元宏单元 另外另外另外另外,各产品的后缀提供了各种形式与功能的选择:各产品的后缀提供了各种形式与功能的选择:各产品的后缀提供了各种形式与功能的选择:各产品的后缀提供了各种形式与功能的选择:-S-S:可综合的软核可综合的软核可综合的软核可综合的软核SoftcoreSoftcore -E-E:具有具有具有具有DSPDSP的功能的功能的功能的功能 -J-J:JazellerJazeller,允许直接执行允许直接执行允许直接执行允许直接执行JavaJava字节码字节码字节码字节码4 4ARM架构架构ARM架构自诞生至今架构自诞生至今,已经发生了很大的已经发生了很大的演变演变,至今已定义至今已定义5种不同的版本种不同的版本 V1版架构版架构 V2版架构版架构 V3版架构版架构 V4版架构版架构 V5版架构版架构 5 5 V1版架构版架构该版架构只在原型机该版架构只在原型机ARM1出现过出现过,其基本其基本性能:性能:基本的数据处理指令基本的数据处理指令(无乘法无乘法)字节、半字和字的字节、半字和字的LOAD/STORE指令指令转移指令转移指令,包括子程序调用及链接指令包括子程序调用及链接指令软件中断指令软件中断指令寻址空间:寻址空间:64M字节字节(226)6 6V2版架构版架构该版架构对该版架构对V1版进行了扩展版进行了扩展,如如ARM2与与ARM3(V2a版版)架构架构,增加了以下功能:增加了以下功能:乘法和乘加指令乘法和乘加指令支持协处理器操作指令支持协处理器操作指令快速中断模式快速中断模式SWP/SWPB的最基本存储器与寄存器交换的最基本存储器与寄存器交换指令指令寻址空间:寻址空间:64M字节字节7 7V3版架构版架构把寻址空间增至把寻址空间增至把寻址空间增至把寻址空间增至3232位位位位(4G(4G字节字节字节字节),),增加了当前程序状态寄存器增加了当前程序状态寄存器增加了当前程序状态寄存器增加了当前程序状态寄存器CPSR(CurrentCPSR(Current Program Status Register)Program Status Register)和程序状态保存寄存和程序状态保存寄存和程序状态保存寄存和程序状态保存寄存器器器器SPSR(SavedSPSR(Saved Program Status Register)Program Status Register)以以以以便于异常便于异常便于异常便于异常(Exception)(Exception)的处理。的处理。的处理。的处理。增加了中止增加了中止增加了中止增加了中止(Abort)(Abort)和未定义二种处理器模式。和未定义二种处理器模式。和未定义二种处理器模式。和未定义二种处理器模式。ARM6ARM6就采用该版架构。指令集变化如下:就采用该版架构。指令集变化如下:就采用该版架构。指令集变化如下:就采用该版架构。指令集变化如下:增加了增加了增加了增加了MRS/MSRMRS/MSR指令指令指令指令,以访问新增的以访问新增的以访问新增的以访问新增的CPSR/SPSRCPSR/SPSR寄存器寄存器寄存器寄存器增加了从异常处理返回的指令功能。增加了从异常处理返回的指令功能。增加了从异常处理返回的指令功能。增加了从异常处理返回的指令功能。8 8V4版架构版架构 V4V4版架构是目前应用最广的版架构是目前应用最广的版架构是目前应用最广的版架构是目前应用最广的ARMARM体系结构体系结构体系结构体系结构,对对对对V3V3版架构版架构版架构版架构进行了进一步扩充进行了进一步扩充进行了进一步扩充进行了进一步扩充,有的还引进了有的还引进了有的还引进了有的还引进了1616位的位的位的位的ThumbThumb指令集指令集指令集指令集,使使使使ARMARM使用更加灵活。使用更加灵活。使用更加灵活。使用更加灵活。ARM7ARM7、ARM8ARM8、ARM9ARM9和和和和StrongARMStrongARM都采用该版架构。指令集中增加了以下功能:都采用该版架构。指令集中增加了以下功能:都采用该版架构。指令集中增加了以下功能:都采用该版架构。指令集中增加了以下功能:符号化和非符号化半字及符号化字节的存符号化和非符号化半字及符号化字节的存符号化和非符号化半字及符号化字节的存符号化和非符号化半字及符号化字节的存/取指令取指令取指令取指令 增加了增加了增加了增加了1616位位位位ThumbThumb指令集指令集指令集指令集 完善了软件中断完善了软件中断完善了软件中断完善了软件中断SWISWI指令的功能指令的功能指令的功能指令的功能 处理器系统模式引进特权方式时使用用户寄存器操作处理器系统模式引进特权方式时使用用户寄存器操作处理器系统模式引进特权方式时使用用户寄存器操作处理器系统模式引进特权方式时使用用户寄存器操作 把一些未使用的指令空间捕获为未定义指令把一些未使用的指令空间捕获为未定义指令把一些未使用的指令空间捕获为未定义指令把一些未使用的指令空间捕获为未定义指令9 9V5版架构版架构这是最近推出这是最近推出ARM架构架构,在在V4版基本上增版基本上增加了一些新的指令加了一些新的指令,ARM10和和XScale都采用都采用该版架构该版架构,这些新增指令有:这些新增指令有:带有链接和交换的转移带有链接和交换的转移BLX指令指令计数前导零计数前导零CLZ指令指令BRK中断指令中断指令增加了信号处理指令增加了信号处理指令(V5TE版版)为协处理器增加更多可选择的指令为协处理器增加更多可选择的指令1010v6版架构版架构2001年年发布的布的增加了增加了SIMD功能功能扩展展适合使用适合使用电池供池供电的便携式的便携式设备SIMD功能功能扩展展包括音包括音包括音包括音频频/视频处视频处理在内的理在内的理在内的理在内的应应用系用系用系用系统统提供了提供了提供了提供了优优化功能化功能化功能化功能可以使音可以使音可以使音可以使音频频/视频处视频处理性能提高理性能提高理性能提高理性能提高4 4倍倍倍倍首先在首先在2002年年发布的布的ARM11处理器中使用理器中使用 1111三、StrongARM架构处理器 StrongARM是是Intel公司为手持式消费类电公司为手持式消费类电子设备和移动计算与通信的嵌入式处理器。子设备和移动计算与通信的嵌入式处理器。采用采用StrongARM架构的处理器有:架构的处理器有:SA-1:StrongARM处理器内核处理器内核SA-110:StrongARM处理器核处理器核SA-1100:通用处理器通用处理器MPUSA-1110:通用处理器通用处理器MPUIXP1200:采用采用StrongARM核的网络处核的网络处理器理器1212StrongARM架构主要特性架构主要特性 StrongARMStrongARM处理器核处理器核 内核:内核:内核:内核:SA-1SA-1、指令快存、指令快存、指令快存、指令快存I-CacheI-Cache:16K16K字节、数据快存字节、数据快存字节、数据快存字节、数据快存D-CacheD-Cache:8K8K字节、字节、字节、字节、微小数据微小数据微小数据微小数据CacheCache:512512字节、存储器管理单元字节、存储器管理单元字节、存储器管理单元字节、存储器管理单元IMMUIMMU和和和和DMMUDMMU、读和写缓冲器、读和写缓冲器、读和写缓冲器、读和写缓冲器 存储器控制模块存储器控制模块 支持各种支持各种支持各种支持各种ROMROM、FLASH(FLASH(闪存闪存闪存闪存)、DRAMDRAM和和和和SRAMSRAM、支持、支持、支持、支持PCMCIAPCMCIA 系统控制模块系统控制模块 通用可中断通用可中断通用可中断通用可中断GPIOGPIO:2828根、看门狗定时计数器、间隔定时器、电源管理控制器、根、看门狗定时计数器、间隔定时器、电源管理控制器、根、看门狗定时计数器、间隔定时器、电源管理控制器、根、看门狗定时计数器、间隔定时器、电源管理控制器、中断控制器、片上振荡器:中断控制器、片上振荡器:中断控制器、片上振荡器:中断控制器、片上振荡器:2 2个(含锁相环)个(含锁相环)个(含锁相环)个(含锁相环)外围控制模块外围控制模块 LCDLCD液晶驱动控制器、串行接口液晶驱动控制器、串行接口液晶驱动控制器、串行接口液晶驱动控制器、串行接口UARTUART、红外接口、红外接口、红外接口、红外接口irDAirDA、数字单频、数字单频、数字单频、数字单频CodecCodec接口接口接口接口 目前目前目前目前,大量应用的是改进型大量应用的是改进型大量应用的是改进型大量应用的是改进型SA-1110SA-1110处理器。在处理器。在处理器。在处理器。在SA-1100SA-1100处理器基础上处理器基础上处理器基础上处理器基础上,增增增增加了以下功能:加了以下功能:加了以下功能:加了以下功能:DMADMA控制器:控制器:控制器:控制器:6 6通道通道通道通道,以提高以提高以提高以提高LCDLCD显示和显示和显示和显示和I/OI/O传送的效率传送的效率传送的效率传送的效率 实时时钟实时时钟实时时钟实时时钟RTCRTC 串行外围接口串行外围接口串行外围接口串行外围接口SPISPI SA-1110SA-1110处理器已取代了处理器已取代了处理器已取代了处理器已取代了SA-1100SA-1100处理器处理器处理器处理器,与其配套的与其配套的与其配套的与其配套的SA-1111SA-1111芯片芯片芯片芯片,扩展了扩展了扩展了扩展了PS/2PS/2键盘与鼠标接口、键盘与鼠标接口、键盘与鼠标接口、键盘与鼠标接口、USBUSB的主机接口以及的主机接口以及的主机接口以及的主机接口以及PCMCIA/CFPCMCIA/CF接口。接口。接口。接口。1313四、XScale架构处理器 XScale架构处理器是新一代为无线手持式架构处理器是新一代为无线手持式应用产品开发的嵌入式处理器应用产品开发的嵌入式处理器,是是PCA开发式平台架构中的应用子系统与开发式平台架构中的应用子系统与通信子系统中的嵌入式处理器通信子系统中的嵌入式处理器XScale微架构处理器的时钟可以达微架构处理器的时钟可以达1GHz、功耗、功耗1.6W,并能达到并能达到1200MIPS。IOP310、IOP321、PXA210、PXA 25X、PXA 26X、PXA 27X1414XScale系统结构图 1515XScale架构特点(一)采用采用7/87/8级超级流水线级超级流水线 动态跳转预测、分支目标缓冲器动态跳转预测、分支目标缓冲器动态跳转预测、分支目标缓冲器动态跳转预测、分支目标缓冲器BTB(BranchBTB(Branch Target Target BafferBaffer)支持多媒体处理技术支持多媒体处理技术 新增乘新增乘新增乘新增乘/加器加器加器加器MACMAC、4040位累加器、兼容位累加器、兼容位累加器、兼容位累加器、兼容ARM V5TEARM V5TE指指指指令、特定令、特定令、特定令、特定DSPDSP型协处理器型协处理器型协处理器型协处理器CP0CP0指令快存指令快存(I-Cache)(I-Cache):32K32K字节字节字节字节数据快存数据快存(D-Cache)(D-Cache):32K32K字节字节字节字节 可以重构为可以重构为可以重构为可以重构为28K28K字节片内字节片内字节片内字节片内RAMRAM微小数据快存微小数据快存(Mini-(Mini-DCacheDCache):2K2K字节字节字节字节指令存储器管理单元指令存储器管理单元IMMUIMMU 3232路变换后备缓冲器路变换后备缓冲器路变换后备缓冲器路变换后备缓冲器TLB(TLB(快表快表快表快表)动态电源管理动态电源管理动态电源管理动态电源管理1616XScale架构特点(二)数据存储器管理单元DMMU3232路变换后备缓冲器路变换后备缓冲器路变换后备缓冲器路变换后备缓冲器TLB(TLB(快表快表快表快表)中断控制器总线控制器1G字节字节/秒、秒、ECC协议协议调试(Debug)接口:性能监控:性能监控:性能监控:性能监控:协处理器协处理器协处理器协处理器CP14CP14、硬件断点、硬件、硬件断点、硬件、硬件断点、硬件、硬件断点、硬件观察点、观察点、观察点、观察点、BKPTBKPT指令、异常中断、指令、异常中断、指令、异常中断、指令、异常中断、JTAGJTAG接口、接口、接口、接口、迹缓冲器迹缓冲器迹缓冲器迹缓冲器1717五、五、ARM系列简介系列简介32位位cpu中领军芯片中领军芯片2001年,市场占有率年,市场占有率75知识供应商知识供应商合作伙伴合作伙伴100多个多个1818ARM特点特点内核耗电少,成本低,功能强内核耗电少,成本低,功能强特有特有16/32位双指令集位双指令集全球众多的合作伙伴全球众多的合作伙伴成为移动通讯,手持计算机,多媒体数字成为移动通讯,手持计算机,多媒体数字消费等嵌入式解决方案的消费等嵌入式解决方案的RISC标准标准1919ARMAdvanced RISC Machines85年英国剑桥年英国剑桥ARM原型原型90年成立年成立ARM ltd.五个产品系列:五个产品系列:ARM7,ARM9,ARM9E,ARM10,SecurCore进一步产品进一步产品来源于合作伙伴:来源于合作伙伴:intel Xscale微体系结构和微体系结构和StrongARM2020ARM7系列系列系列产品系列产品系列产品系列产品 ARM7TDMIARM7TDMI:T T:ThumbThumb,D D:debugdebug,MM:multipliermultiplier,I I:嵌入式嵌入式嵌入式嵌入式ICEICE ARM7TDMIARM7TDMIS S:synthesizablesynthesizable可综合可综合可综合可综合 ARM720TARM720T ARM7EJARM7EJ最低功耗最低功耗最低功耗最低功耗具有:具有:具有:具有:嵌入式嵌入式嵌入式嵌入式ICE-RTICE-RT逻辑硬件上提供片上断点与调试点支逻辑硬件上提供片上断点与调试点支逻辑硬件上提供片上断点与调试点支逻辑硬件上提供片上断点与调试点支持持持持 非常低的功耗非常低的功耗非常低的功耗非常低的功耗 提供提供提供提供0.9MIPS/MHz0.9MIPS/MHz的三级流水线和冯的三级流水线和冯的三级流水线和冯的三级流水线和冯.诺依曼体系诺依曼体系诺依曼体系诺依曼体系2121ARM9系列系列系列产品系列产品ARM920TARM920T与与与与ARM922TARM922TARM940TARM940T具有:具有:5 5级流水线级流水线级流水线级流水线1.1MIPS/MHz1.1MIPS/MHz的哈佛结构的哈佛结构的哈佛结构的哈佛结构2222ARM9E系列系列系列产品系列产品系列产品系列产品 ARM966E-SARM966E-S ARM946E-SARM946E-S ARM926EJ-SARM926EJ-S提供提供提供提供 DSPDSP扩充扩充扩充扩充 嵌入式嵌入式嵌入式嵌入式ICE-RTICE-RT调试逻辑调试逻辑调试逻辑调试逻辑 1.1MIPS/MHz1.1MIPS/MHz的的的的5 5级流水线和哈佛结构级流水线和哈佛结构级流水线和哈佛结构级流水线和哈佛结构 紧耦合存储器(紧耦合存储器(紧耦合存储器(紧耦合存储器(TCMTCM)接口,可使存储器以最高处理接口,可使存储器以最高处理接口,可使存储器以最高处理接口,可使存储器以最高处理器速度运转,可直接连到内核上器速度运转,可直接连到内核上器速度运转,可直接连到内核上器速度运转,可直接连到内核上2323ARM10系列系列 产品系列产品系列产品系列产品系列 ARM1022E rev0ARM1022E rev0 ARM1020E rev1ARM1020E rev1 提供提供提供提供 DSPDSP扩展扩展扩展扩展 嵌入式嵌入式嵌入式嵌入式ICE-RTICE-RT 全全全全性能性能性能性能MMUMMU CacheCache 对于指令与数据,对于指令与数据,对于指令与数据,对于指令与数据,6464位位位位AHBAHB接口接口接口接口 6 6级流水线级流水线级流水线级流水线 内部内部内部内部6464位数据通道位数据通道位数据通道位数据通道 1.25MIPS/MHz1.25MIPS/MHz 比同等比同等比同等比同等ARM9ARM9器件,同样时钟下,性能提高器件,同样时钟下,性能提高器件,同样时钟下,性能提高器件,同样时钟下,性能提高50502424SecurCore SC100专为安全设计专为安全设计抗窜改(抗窜改(resist tampering)逆向工程(逆向工程(reverse engineering)保护机构确保操作系统与数据安全保护机构确保操作系统与数据安全2525StrongARMIntel StrongARM SA-1100处理器处理器兼容兼容ARMv4体系体系具有具有intel体系结构的特点体系结构的特点2626XScaleIntel Xscale基于基于ARMv5TE体系体系支持支持Thumb指令指令支持支持DSP扩充扩充2727应用应用采用采用ARM7内核最多内核最多最典型为最典型为ARM7TDMI、ARM720T2828芯片工艺芯片工艺0.18m,0.13 m,0.25 m工艺工艺2929ARM特定功能的变种特定功能的变种 T T变变种种种种(Thumb(Thumb指令集指令集指令集指令集):ThumbThumb指令集指令集指令集指令集 严严格控制格控制格控制格控制产产品成本品成本品成本品成本 比采用比采用比采用比采用ARMARM指令更多的指令,不适合指令更多的指令,不适合指令更多的指令,不适合指令更多的指令,不适合对时间对时间要求苛刻的要求苛刻的要求苛刻的要求苛刻的场场合合合合 MM变变种种种种(长长乘法指令乘法指令乘法指令乘法指令):增加了两条用于增加了两条用于增加了两条用于增加了两条用于进进行行行行长长乘法操作的乘法操作的乘法操作的乘法操作的ARMARM指令指令指令指令 首先在首先在首先在首先在ARMARM体系版本体系版本体系版本体系版本3 3引入,在引入,在引入,在引入,在ARMARM体系版本体系版本体系版本体系版本4 4之后,之后,之后,之后,MM变变种成种成种成种成为为系系系系统统的的的的标标准功能;准功能;准功能;准功能;E E变变种种种种(增增增增强强型型型型DSPDSP指令指令指令指令):包含附加指令用于增包含附加指令用于增包含附加指令用于增包含附加指令用于增强处强处理器理器理器理器对对一些典型一些典型一些典型一些典型DSPDSP算法的算法的算法的算法的处处理性能理性能理性能理性能 E E变变种首先在种首先在种首先在种首先在ARMARM体系版本体系版本体系版本体系版本5T5T中使用中使用中使用中使用3030J变种种(Java加速器加速器Jazelle):提供提供提供提供JavaJava加速功能加速功能加速功能加速功能D变种种(片内片内Debug):支持片内支持片内支持片内支持片内DebugDebug调试调试;I变种种(嵌入式嵌入式ICE):集成嵌入式集成嵌入式集成嵌入式集成嵌入式ICEICE宏宏宏宏单单元;元;元;元;SIMD变种种(ARM媒体功能媒体功能扩展展):高性能的音高性能的音高性能的音高性能的音频频/视频处视频处理技理技理技理技术术。3131六、六、ARM体系结构简介体系结构简介1)、)、Thumb指令集的指令集的16位指令集位指令集32ARM32ARM指令集的子集指令集的子集指令集的子集指令集的子集代码密度高,性能高代码密度高,性能高代码密度高,性能高代码密度高,性能高状态:状态:状态:状态:ARMARM状态,状态,状态,状态,ThumbThumb状态状态状态状态每指令集都有:切换状态的指令每指令集都有:切换状态的指令每指令集都有:切换状态的指令每指令集都有:切换状态的指令32322)寄存器)寄存器37个寄存器个寄存器寄存器分成可以重叠的组寄存器分成可以重叠的组R13堆栈堆栈R14返回地址返回地址R15=PC33333)ARM指令集指令集32位长度位长度字对准字对准可以传送可以传送8bit,16bit,32bit符号符号/无符号无符号数据数据34344)Thumb指令集指令集16位长度位长度半字对准半字对准操作寄存器中是操作寄存器中是32bit数据访问和取指使用全数据访问和取指使用全32bit地址地址条件分支指令是唯一一句条件分支指令是唯一一句CPSR的的Thumb指令指令大多数指令访问大多数指令访问R0R735355)ARM体系结构体系结构1)ARM体系结构的版本体系结构的版本版本版本153636ARMv1基本数据处理指令(不含乘法)基本数据处理指令(不含乘法)字节、字、半字的字节、字、半字的load,store分支指令,包括子程序调用分支指令,包括子程序调用软件中断指令,进行操作系统调用软件中断指令,进行操作系统调用26位寻址位寻址无使用,无使用,3737ARMv2增加乘法,乘加增加乘法,乘加协处理器支持协处理器支持快速中断中快速中断中2个以上分组的寄存器个以上分组的寄存器称为称为SWP与与SWPB的原子性加载与存储的原子性加载与存储26位寻址位寻址不使用了不使用了3838ARMv3寻址寻址32位位增加增加CPSR(Current Program Status Register)增加增加SPSR(Saved Program Status Register)增加访问增加访问CPSR与与SPSR的指令的指令修改了过去用于异常返回的指令的功能修改了过去用于异常返回的指令的功能与与26位寻址模式兼容位寻址模式兼容3939ARMv4半字半字load,store加载与进行字节和半字节带符号扩展加载与进行字节和半字节带符号扩展在在T变量中,一个转换到变量中,一个转换到Thumb状态的指状态的指令令使用用户模式寄存器的新的特权处理器模使用用户模式寄存器的新的特权处理器模式式不再要求与不再要求与26位寻址模式兼容位寻址模式兼容4040ARMv5提高提高T变量中变量中ARM/Thumb切换效率切换效率让非让非T变量同变量同T变量一样,使用相同的代码变量一样,使用相同的代码生成技术生成技术增加一个计数前导零指令增加一个计数前导零指令增加软件断点指令增加软件断点指令为协处理器设计者增加更多可选择指令为协处理器设计者增加更多可选择指令对乘法如何设置标志严密定义对乘法如何设置标志严密定义41412)ARM体系结构的变量体系结构的变量A)Thumb指令集(指令集(T变量)变量)Thumb指令集指令集Thumb v1应用在应用在ARMv4Thumb v2应用在应用在ARMv54242B)长乘法指令(长乘法指令(M变量)变量)ARM指令集的指令集的M变量包括变量包括4个附加指令完个附加指令完成成3232-64的乘法和乘加的乘法和乘加结果放在结果放在2个个32位寄存器中位寄存器中4343C)增强型增强型DSP指令(指令(E变量)变量)完成完成DSP功能功能44443)处理器模式)处理器模式处理器模式处理器模式处理器模式处理器模式 说明说明说明说明用户用户用户用户 usrusr 正常程序执行模式正常程序执行模式正常程序执行模式正常程序执行模式FIQ FIQ fiqfiq支持高速数据传输或通道处理支持高速数据传输或通道处理支持高速数据传输或通道处理支持高速数据传输或通道处理IRQ IRQ irqirq用于通用中断处理用于通用中断处理用于通用中断处理用于通用中断处理管理管理管理管理 svcsvc 操作系统保护模式操作系统保护模式操作系统保护模式操作系统保护模式中止中止中止中止 abtabt 支持虚拟存储器和支持虚拟存储器和支持虚拟存储器和支持虚拟存储器和/或存储器保护或存储器保护或存储器保护或存储器保护未未未未定义定义定义定义 undund支持硬件协处理器的软件仿真支持硬件协处理器的软件仿真支持硬件协处理器的软件仿真支持硬件协处理器的软件仿真系统系统系统系统 syssys 运行特权操作系统任务运行特权操作系统任务运行特权操作系统任务运行特权操作系统任务(ARMv4(ARMv4以上以上以上以上)4545改变模式改变模式方法:方法:软件控制软件控制软件控制软件控制外部中断外部中断外部中断外部中断异常处理异常处理异常处理异常处理通常在用户模式下通常在用户模式下 不能访问被保护的系统资源不能访问被保护的系统资源不能访问被保护的系统资源不能访问被保护的系统资源一般不能改变模式一般不能改变模式一般不能改变模式一般不能改变模式异常发生可以导致模式改变异常发生可以导致模式改变异常发生可以导致模式改变异常发生可以导致模式改变4646特权模式特权模式除了用户模式外的所有模式除了用户模式外的所有模式4747异常模式异常模式FIQIRQ管理(管理(Supervisor)中止(中止(Abort)未定义(未定义(Undefined)由异常进入对应模式由异常进入对应模式4848系统模式系统模式不受限制的用户模式不受限制的用户模式49494)寄存器组织)寄存器组织37个寄存器个寄存器3131个个个个32bit32bit通用寄存器通用寄存器通用寄存器通用寄存器6 6个个个个32bit32bit状态寄存器(实际只用状态寄存器(实际只用状态寄存器(实际只用状态寄存器(实际只用12bit12bit)每个模式下可见每个模式下可见15个通用寄存器(个通用寄存器(R0R14),),12个状态寄存器,个状态寄存器,PC不同模式下的通用寄存器有所不同不同模式下的通用寄存器有所不同5050通用寄存器分类通用寄存器分类R0R14R0R7:不分组寄存器不分组寄存器任何模式下都可以访问,且映射固定寄存器任何模式下都可以访问,且映射固定寄存器任何模式下都可以访问,且映射固定寄存器任何模式下都可以访问,且映射固定寄存器R8R14:分组寄存器分组寄存器不同模式映射不同物理寄存器不同模式映射不同物理寄存器不同模式映射不同物理寄存器不同模式映射不同物理寄存器5151PCARM状态下:位状态下:位1:0为为0,位,位31:2为为PCThumb状态:位状态:位0为为0,位,位31:1为为PC5252CPSR1)1)条件码标记条件码标记条件码标记条件码标记N N:负数负数负数负数Z Z:为为为为0 0C C:进位进位进位进位V V:溢出溢出溢出溢出QQ:增强型增强型增强型增强型DSPDSP的溢出标志的溢出标志的溢出标志的溢出标志N N Z Z C C V VQQ DNM(RAZ)DNM(RAZ)I IF F T TMM4 4MM3 3MM2 2MM1 1MM0 053532)控制位)控制位I:禁止禁止IRQ中断标记中断标记F:禁止禁止FIQ中断标记中断标记T:T变量变量模式位模式位M4:010000:10000:用户模式用户模式用户模式用户模式10001:FIQ10001:FIQ模式模式模式模式10010:IRQ10010:IRQ模式模式模式模式10011:10011:管理模式管理模式管理模式管理模式10111:10111:中止模式中止模式中止模式中止模式11011:11011:未定义未定义未定义未定义11111:11111:系统模式系统模式系统模式系统模式5454Thumb状态的寄存器集状态的寄存器集可可访问的寄存器集是访问的寄存器集是ARM的子集的子集8个通用寄存器个通用寄存器R0R7PC(R15)SP(R13)LR(R14)CPSR55555)异常异常由由由由内部、外部引起的事件内部、外部引起的事件内部、外部引起的事件内部、外部引起的事件7 7种异常种异常种异常种异常 复位,进入管理模式复位,进入管理模式复位,进入管理模式复位,进入管理模式 未定义指令:未定义模式未定义指令:未定义模式未定义指令:未定义模式未定义指令:未定义模式 软件中断(软件中断(软件中断(软件中断(SWISWI):):):):管理模式管理模式管理模式管理模式 预取中止:中止模式预取中止:中止模式预取中止:中止模式预取中止:中止模式 数据中止:中止模式数据中止:中止模式数据中止:中止模式数据中止:中止模式 IRQIRQ:IRQIRQ模式模式模式模式 FIQFIQ:FIQFIQ模式模式模式模式5656异常的优先级异常的优先级优先级优先级异常异常1(最高)(最高)复位复位2数据中止数据中止3FIQ4IRQ5预取中止预取中止6未定义指令,未定义指令,SWI57576)Thumb指令集指令集与与ARM指令集的区别指令集的区别分支语句分支语句分支语句分支语句数据传送指令数据传送指令数据传送指令数据传送指令单寄存器加载与存储指令单寄存器加载与存储指令单寄存器加载与存储指令单寄存器加载与存储指令多寄存器加载与存储指令多寄存器加载与存储指令多寄存器加载与存储指令多寄存器加载与存储指令没有协处理器指令没有协处理器指令没有协处理器指令没有协处理器指令没有信号量指令没有信号量指令没有信号量指令没有信号量指令没有访问没有访问没有访问没有访问CPSRCPSR指令指令指令指令5858分支指令分支指令向后转移向后转移条件下向前转移条件下向前转移转向子程序转向子程序从从Thumb状态切换到状态切换到ARM状态状态5959数据处理指令数据处理指令操作的结果放第一个寄存器操作的结果放第一个寄存器eg:R1=R1+R2 数据处理操作少数据处理操作少访问访问R8R15受到限制受到限制6060单单寄存器寄存器load、store只只访问访问R1R76161多多寄存器寄存器load、storeLDMIA R3!,R0-R7STMIA R0!,R6,R7PUSH R3,R5-R7POP R2,R562627)流水线流水线ARM7的三级流水线的三级流水线取指取指 -译码译码 -执行执行63638)嵌入式)嵌入式ICE-RT逻辑逻辑在片调试支持在片调试支持调试通道调试通道DDC:(:(Debug communication Channel)在目标机与宿主调试器之间传送信息在目标机与宿主调试器之间传送信息在目标机与宿主调试器之间传送信息在目标机与宿主调试器之间传送信息JATG(Joint Test Action Group)可以通过可以通过可以通过可以通过JATGJATG测试访问口进行控制测试访问口进行控制测试访问口进行控制测试访问口进行控制可以设置可以设置DBGEN为低为低电平禁止电平禁止ICE-RT64649)存储系统存储系统增加控制增加控制cache与与MMU操作的寄存器操作的寄存器IDC操作(操作(Instruction and data cache)MMU中的可中的可cache位位是否可将正在读的数据放入是否可将正在读的数据放入是否可将正在读的数据放入是否可将正在读的数据放入IDCIDCIDC使能,禁止,复位:操作控制寄存器使能,禁止,复位:操作控制寄存器6565写缓冲(写缓冲(WB)ARM720T8字字data4个独立地址个独立地址三种操作:三种操作:可缓冲的写可缓冲的写可缓冲的写可缓冲的写非缓冲的写非缓冲的写非缓冲的写非缓冲的写读锁写读锁写读锁写读锁写6666MMU功能功能1。将虚拟地址翻译成物理地址。将虚拟地址翻译成物理地址2。控制存储器的访问权限。控制存储器的访问权限6767MMU硬件硬件1。TLB2。访问控制逻辑访问控制逻辑3。变换表移动逻辑。变换表移动逻辑地址变换表地址变换表地址变换表地址变换表4。增加的寄存器。增加的寄存器变换表基址寄存器,域访问控制寄存器,变换表基址寄存器,域访问控制寄存器,变换表基址寄存器,域访问控制寄存器,变换表基址寄存器,域访问控制寄存器,TLBTLB操作寄存器,故障状态寄存器,故障地址寄存操作寄存器,故障状态寄存器,故障地址寄存操作寄存器,故障状态寄存器,故障地址寄存操作寄存器,故障状态寄存器,故障地址寄存器器器器68682种页种页映射方式映射方式大页:大页:64KB小页:小页:4KB6969IDC,WB,MMU存储系统存储系统7070不同系列的不同系列的ARM内核差异内核差异详见各内核的说明书详见各内核的说明书7171七、七、ARM JTAG调试调试7373几种常用的调试方法几种常用的调试方法 指令集模拟器指令集模拟器指令集模拟器指令集模拟器 一种利用一种利用一种利用一种利用PCPC机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试的方法。机端的仿