第2章ARMTHUMB微处理器结构及指令系统19105.pptx
第第2章章ARM/THUMB微处理器结构微处理器结构及指令系统及指令系统 本章简要介绍了本章简要介绍了ARM/THUMB微处理器的微处理器的一些基本概念、应用领域及特点,以引导读者一些基本概念、应用领域及特点,以引导读者进入进入ARM/THUMB的殿堂。的殿堂。本章主要内容有:本章主要内容有:ARM/THUMB及相关技术简介及相关技术简介 ARM/THUMB微处理器系列微处理器系列 ARM/THUMB微处理器的结构微处理器的结构 ARM/THUMB指令系统指令系统 2.1 ARM微处理器概述微处理器概述 ARM(Advanced RISC Machines)ARM(Advanced RISC Machines),既可以,既可以,既可以,既可以认为是一个公司的名字,也可以认为是对一类微认为是一个公司的名字,也可以认为是对一类微认为是一个公司的名字,也可以认为是对一类微认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。处理器的通称,还可以认为是一种技术的名字。处理器的通称,还可以认为是一种技术的名字。处理器的通称,还可以认为是一种技术的名字。19911991年年年年ARMARM公司成立于英国剑桥,主要出售公司成立于英国剑桥,主要出售公司成立于英国剑桥,主要出售公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用芯片设计技术的授权。目前,采用芯片设计技术的授权。目前,采用芯片设计技术的授权。目前,采用ARM ARM 技术知识技术知识技术知识技术知识产权产权产权产权(IP)(IP)核的微处理器,即我们通常所说的核的微处理器,即我们通常所说的核的微处理器,即我们通常所说的核的微处理器,即我们通常所说的ARMARM微处理器,已遍及工业控制、消费类电子产品、微处理器,已遍及工业控制、消费类电子产品、微处理器,已遍及工业控制、消费类电子产品、微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,通信系统、网络系统、无线系统等各类产品市场,通信系统、网络系统、无线系统等各类产品市场,通信系统、网络系统、无线系统等各类产品市场,基于基于基于基于ARMARM技术的微处理器应用约占据了技术的微处理器应用约占据了技术的微处理器应用约占据了技术的微处理器应用约占据了3232位位位位RISCRISC微处理器微处理器微处理器微处理器75%75%以上的市场份额,以上的市场份额,以上的市场份额,以上的市场份额,ARMARM技术正技术正技术正技术正在逐步渗入到我们生活的各个方面。在逐步渗入到我们生活的各个方面。在逐步渗入到我们生活的各个方面。在逐步渗入到我们生活的各个方面。ARMARM公司是专门从事基于公司是专门从事基于公司是专门从事基于公司是专门从事基于RISCRISC技术芯片设计技术芯片设计技术芯片设计技术芯片设计开发的公司,作为知识产权供应商,它本身不直开发的公司,作为知识产权供应商,它本身不直开发的公司,作为知识产权供应商,它本身不直开发的公司,作为知识产权供应商,它本身不直接从事芯片生产,靠转让设计许可,由合作公司接从事芯片生产,靠转让设计许可,由合作公司接从事芯片生产,靠转让设计许可,由合作公司接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从生产各具特色的芯片,世界各大半导体生产商从生产各具特色的芯片,世界各大半导体生产商从生产各具特色的芯片,世界各大半导体生产商从ARMARM公司购买其设计的公司购买其设计的公司购买其设计的公司购买其设计的ARMARM微处理器核,根据各微处理器核,根据各微处理器核,根据各微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而自不同的应用领域,加入适当的外围电路,从而自不同的应用领域,加入适当的外围电路,从而自不同的应用领域,加入适当的外围电路,从而形成自己的形成自己的形成自己的形成自己的ARMARM微处理器芯片进入市场。微处理器芯片进入市场。微处理器芯片进入市场。微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用目前,全世界有几十家大的半导体公司都使用目前,全世界有几十家大的半导体公司都使用目前,全世界有几十家大的半导体公司都使用ARMARM公司的授权,因此既使得公司的授权,因此既使得公司的授权,因此既使得公司的授权,因此既使得ARMARM技术获得更多技术获得更多技术获得更多技术获得更多的第三方工具、制造、软件的支持,又使整个系的第三方工具、制造、软件的支持,又使整个系的第三方工具、制造、软件的支持,又使整个系的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费统成本降低,从而使产品更容易进入市场被消费统成本降低,从而使产品更容易进入市场被消费统成本降低,从而使产品更容易进入市场被消费者所接受,更具有竞争力。者所接受,更具有竞争力。者所接受,更具有竞争力。者所接受,更具有竞争力。2.1.1 ARM处理器系列处理器系列 下面所列的是下面所列的是ARM微处理器的几个系列,微处理器的几个系列,以及其他厂商基于以及其他厂商基于ARM体系结构的处理器,体系结构的处理器,这些处理器除了具有这些处理器除了具有ARM体系结构的共同体系结构的共同特点以外,每一个系列的特点以外,每一个系列的ARM微处理器都微处理器都有各自的特点和应用领域。有各自的特点和应用领域。ARM7系列系列 ARM9系列系列 ARM9E系列系列 ARMl0E系列系列 SecurCore系列系列 Intel的的Xscale Intel的的StrongARM1.ARM7微处理器系列微处理器系列ARM7ARM7系列微处理器为低功耗的系列微处理器为低功耗的系列微处理器为低功耗的系列微处理器为低功耗的3232位位位位RISCRISC处理器,最处理器,最处理器,最处理器,最适合用于对价位和功耗要求较高的消费类应用。适合用于对价位和功耗要求较高的消费类应用。适合用于对价位和功耗要求较高的消费类应用。适合用于对价位和功耗要求较高的消费类应用。ARM7ARM7微处微处微处微处理器系列具有如下理器系列具有如下理器系列具有如下理器系列具有如下特点特点特点特点:具有嵌入式具有嵌入式具有嵌入式具有嵌入式ICEICE(In-Circuit EmulatorIn-Circuit Emulator)RTRT逻辑,调试逻辑,调试逻辑,调试逻辑,调试开发方便。开发方便。开发方便。开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产极低的功耗,适合对功耗要求较高的应用,如便携式产极低的功耗,适合对功耗要求较高的应用,如便携式产极低的功耗,适合对功耗要求较高的应用,如便携式产品。品。品。品。能够提供能够提供能够提供能够提供0.9MIPS/MHz0.9MIPS/MHz的三级流水线结构。的三级流水线结构。的三级流水线结构。的三级流水线结构。代码密度高并兼容代码密度高并兼容代码密度高并兼容代码密度高并兼容1616位的位的位的位的ThumbThumb指令集。指令集。指令集。指令集。对操作系统的支持广泛,包括对操作系统的支持广泛,包括对操作系统的支持广泛,包括对操作系统的支持广泛,包括Windows CEWindows CE、LinuxLinux、Palm OSPalm OS等。等。等。等。指令系统与指令系统与指令系统与指令系统与ARM9ARM9系列、系列、系列、系列、ARM9EARM9E系列和系列和系列和系列和ARMl0EARMl0E系列兼系列兼系列兼系列兼容,便于产品升级换代。容,便于产品升级换代。容,便于产品升级换代。容,便于产品升级换代。主频最高可达主频最高可达主频最高可达主频最高可达130MIPS130MIPS,高速的运算处理能力能胜任绝,高速的运算处理能力能胜任绝,高速的运算处理能力能胜任绝,高速的运算处理能力能胜任绝大多数的复杂应用。大多数的复杂应用。大多数的复杂应用。大多数的复杂应用。ARM的的JTAG调试接口调试接口1。ARM的的JTAG调试结构调试结构一个典型的一个典型的ARM基于基于JTAG调试结构调试结构如图所示。如图所示。Debug主控(主控(Host)通常是运行有通常是运行有ARM公司或者第三公司或者第三方提供的调式软件的方提供的调式软件的PC,通常用的调试软件有,通常用的调试软件有ARM Debug for Window(ADW),Linux下的下的arm-elf-gdb等。等。通过这些通过这些调试软件,可以发送高级的调试软件,可以发送高级的ARM指令,比如:设置簖点,读指令,比如:设置簖点,读写存储器,单步跟踪,全速运行等。写存储器,单步跟踪,全速运行等。协议转换器(协议转换器(Protrocol converter)负责转换负责转换Debug主主控端发出的高级控端发出的高级ARM调式命令为底层的和调式命令为底层的和ARM内核通信的内核通信的JTAG命令。命令。Debug主控端和协议转换器之间的介质可以有主控端和协议转换器之间的介质可以有很多种,比如:以太网,很多种,比如:以太网,USB,RS-232,并口等。主控端和,并口等。主控端和协议转换器之间的通信协议最典型的就是协议转换器之间的通信协议最典型的就是ARM公司提供的公司提供的Angle标准,也可以是第三方厂家自己定义的标准。标准,也可以是第三方厂家自己定义的标准。关于关于Angle的协议,请参考的协议,请参考ARM SDT和和ADS,ajj公司公司的的OpenICE32,EPI公司的公司的Jeeni等。等。协议转换器(协议转换器(Protrocol converter)负责转负责转换换Debug主控端发出的高级主控端发出的高级ARM调式命令为底调式命令为底层的和层的和ARM内核通信的内核通信的JTAG命令。命令。Debug主控端和协议转换器之间的主控端和协议转换器之间的介质介质可可以有很多种,比如:以太网,以有很多种,比如:以太网,USB,RS-232,并口等。主控端和协议转换器之间的通信协议并口等。主控端和协议转换器之间的通信协议最典型的就是最典型的就是ARM公司提供的公司提供的Angle标准,也标准,也可以是第三方厂家自己定义的标准。可以是第三方厂家自己定义的标准。关于关于Angle的协议,请参考的协议,请参考ARM SDT和和ADS,ajj公司的公司的OpenICE32,EPI公司的公司的Jeeni等。等。Debug目标板就是指系统的调试对象以目标板就是指系统的调试对象以一个典型的一个典型的ARM7TDMI处理器内核为例处理器内核为例,说明说明ARM7TDMI内核的内核的JTAG调试结构调试结构ARMJTAG的的JTAG宏单元(宏单元(Macricell)主要包)主要包括括3条条JTAG扫描链(扫描链(Scan Chain)和一个)和一个JTAG的的控制控制TAP状态机。状态机。2JTAG与与AngelJTAG调试:调试:协议转换器解释上位机传送来的命令,通过协议转换器解释上位机传送来的命令,通过JTAG控制控制ARM执行。执行。Angle调试:协议转换器可以直接做为目标板调试:协议转换器可以直接做为目标板Firmware的一部分的一部分.直接执行从宿主机转送过来的直接执行从宿主机转送过来的调试指令;并回送相应数据。调试指令;并回送相应数据。Angel可以节省专门的可以节省专门的JTAG仿真器,但是,它仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而完全的实时仿真。而JTAG仿真是通过硬件和控制仿真是通过硬件和控制ARM的的EmbeddedICE实现的可以做到实时仿真。实现的可以做到实时仿真。JTAG的基本知的基本知识识1.什么是什么是JTAGJTAG是是Joint Test Action Group的的缩缩写:是写:是IEEE1149.1标标准。准。2.使用使用JTAG的的优优点点JTAG的建立使得集成的建立使得集成电电路固定在路固定在PCB上,只上,只通通过边扫过边扫描便可以通描便可以通过测试过测试。在在ARM7TDMI处处理器中,可以通理器中,可以通过过JTAG直直接控制接控制ARM的内部的内部总线总线,I/O口等信息,从而口等信息,从而达到达到调试调试的目的。的目的。3.JTAG的典型信号的典型信号TMS:测试模式选择(:测试模式选择(Test Mode Select),通通过过TMS信号控制信号控制JTAG状态机的状态。状态机的状态。TCK:JTAG的时钟信号。的时钟信号。TDI:数据输入信号。:数据输入信号。TDO:数据输出信号。:数据输出信号。nTRST:JTAG复位信号,复位复位信号,复位JTAG的状态机的状态机和内部的宏单元(和内部的宏单元(Macrocell)。)。4.JTAG状态机状态机5.JTAG链的组成链的组成ARM7TDMI内核的内核的JTAG扫描链结构扫描链结构ARM7TDMI内核的内核的JTAG扫描链结构扫描链结构.主要包主要包括条扫描链:括条扫描链:Scan chain0,Scan chain1 Scan chain2.Scan Chain0:有有113个扫描单元个扫描单元,包括包括ARM核的核的所有所有I/O,地址数据总线和输入输出控制信号地址数据总线和输入输出控制信号.这这条链上的信号复杂条链上的信号复杂,不易控制不易控制,但是但是,包含的信包含的信息丰富息丰富,可以通过这条链得到可以通过这条链得到ARM7TDMI所有所有的内核信息。的内核信息。Scan Chain1:有:有33个扫描单元,包括个扫描单元,包括ARM核的数据核的数据总线和一个断点控制信号。这是一条很有用地链,通总线和一个断点控制信号。这是一条很有用地链,通过控制这条链,可以控制过控制这条链,可以控制ARM核执行指定的指令,从核执行指定的指令,从而实现对而实现对ARM的内部寄存器,协处理器以及外部存储的内部寄存器,协处理器以及外部存储器的读写操作。器的读写操作。Scan Chain2:有:有38个扫描单元,通过控制个扫描单元,通过控制EmbeddedICE宏单元,实现对宏单元,实现对ARM执行指令的断点,执行指令的断点,观察点控制。观察点控制。EmbeddedICE是集成在是集成在ARM内核的中内核的中的嵌入式的嵌入式ICE防真器。其结构如图所示。通过对防真器。其结构如图所示。通过对EmbeddedICE的控制,对的控制,对EmbeddedICE中寄存器的中寄存器的读取,可以获得读取,可以获得ARM内核的状态,为程序设置断点以内核的状态,为程序设置断点以及读取及读取Debug通信通道。通信通道。ARM7ARM7系列微处理器的主要系列微处理器的主要系列微处理器的主要系列微处理器的主要应用领域应用领域应用领域应用领域为:为:为:为:工业控制、工业控制、工业控制、工业控制、InternetInternet设备、网络和调制解调器设备、移动设备、网络和调制解调器设备、移动设备、网络和调制解调器设备、移动设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。电话等多种多媒体和嵌入式应用。电话等多种多媒体和嵌入式应用。电话等多种多媒体和嵌入式应用。ARM7ARM7系列微处理器包括如下几种系列微处理器包括如下几种系列微处理器包括如下几种系列微处理器包括如下几种类型类型类型类型的核:的核:的核:的核:ARM7TDMIARM7TDMI、ARM7TDMI-SARM7TDMI-S、ARM720TARM720T、ARM7EJARM7EJ。其。其。其。其中,中,中,中,ARM7TDMIARM7TDMI是目前使用最广泛的是目前使用最广泛的是目前使用最广泛的是目前使用最广泛的3232位嵌入式位嵌入式位嵌入式位嵌入式RISCRISC处处处处理器,属低端理器,属低端理器,属低端理器,属低端ARM ARM 处理器核。处理器核。处理器核。处理器核。TDMITDMI的基本含义为:的基本含义为:的基本含义为:的基本含义为:T T:支持:支持:支持:支持1616位压缩指令集位压缩指令集位压缩指令集位压缩指令集ThumbThumb;D D:支持片上:支持片上:支持片上:支持片上DebugDebug;MM:内嵌硬件乘法器:内嵌硬件乘法器:内嵌硬件乘法器:内嵌硬件乘法器(Multiplier)(Multiplier);I I:嵌入式:嵌入式:嵌入式:嵌入式ICEICE,支持片上断点和调试点。,支持片上断点和调试点。,支持片上断点和调试点。,支持片上断点和调试点。本书所介绍的本书所介绍的本书所介绍的本书所介绍的SamsungSamsung公司的公司的公司的公司的S3C44b0XS3C44b0X即属于该系列即属于该系列即属于该系列即属于该系列的处理器。的处理器。的处理器。的处理器。2.ARM9微处理器系列微处理器系列 ARM9系列微处理器在高性能和低功耗特性方面系列微处理器在高性能和低功耗特性方面提供最佳的性能。提供最佳的性能。具有以下具有以下特点特点:5级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。提供提供1.1MIPS/MHz的哈佛结构。的哈佛结构。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA总线接口。总线接口。全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。等多种主流嵌入式操作系统。MPU支持实时操作系统。支持实时操作系统。支持数据支持数据Cache和指令和指令Cache,具有更高的指令,具有更高的指令和数据处理能力。和数据处理能力。ARM9系列微处理器系列微处理器主要应用主要应用于无线设备、仪器于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。相机和数字摄像机等。ARM9系列微处理器包含系列微处理器包含ARM920T、ARM922T和和ARM940T三种类型,以适用于不同的应用场三种类型,以适用于不同的应用场合。合。3.ARM9E微处理器系列微处理器系列 ARM9E系列微处理器为可综合处理器,系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大地减应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。和微控制器的应用场合。ARM9E系列微处理器的系列微处理器的主要特点主要特点如下如下:支持支持DSP指令集指令集,适合于需要高速数字适合于需要高速数字信号处理的场合。信号处理的场合。5级整数流水线级整数流水线,指令执行效率更高指令执行效率更高.支持支持32位位ARM指令集和指令集和16位位Thumb指指令集令集.支持支持32位的高速位的高速AMBA(先进的微控制器先进的微控制器总线体系结构总线体系结构)总线接口总线接口.支持支持VFP9浮点处理协处理器浮点处理协处理器.全性能全性能MMU,支持支持Windows CE、Linux、Palm OS等多种主流嵌入式操等多种主流嵌入式操作系统。作系统。MPU支持实时操作系统。支持实时操作系统。支持数据支持数据Cache和指令和指令Cache,具,具有更高的指令和数据处理能力。有更高的指令和数据处理能力。主频最高可达主频最高可达300MIPS。ARM9系列微处理器主要应用系列微处理器主要应用于下一代无线设备、数字消费品、于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和成像设备、工业控制、存储设备和网络设备等领域。网络设备等领域。ARM9E系列微处理器包含系列微处理器包含ARM926EJ-S、ARM946E-S和和ARM966E-S 3种类型,以适用于不种类型,以适用于不同的应用场合同的应用场合。4.ARMl0E微处理器系列微处理器系列 ARMl0E系列微处理器具有高性系列微处理器具有高性能、低功耗的特点,由于采用了新能、低功耗的特点,由于采用了新的体系结构,与同等的的体系结构,与同等的ARM9器件相器件相比较,在同样的时钟频率下,性能比较,在同样的时钟频率下,性能提高了近提高了近50%,同时同时,ARMl0E系列微处系列微处理器采用了两种先进的节能方式理器采用了两种先进的节能方式,使使其功耗极低。其功耗极低。ARMl0E系列微处理器的系列微处理器的主要特点主要特点如下:如下:支持支持DSP指令集,适合于需要高速数字指令集,适合于需要高速数字信号处理的场合。信号处理的场合。6级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指指令集。令集。支持支持32位的高速位的高速AMBA总线接口。总线接口。支持支持VFPl0浮点处理协处理器。浮点处理协处理器。全性能全性能MMU,支持,支持Windows CE、Linux、Palm OS等多种主流嵌入式等多种主流嵌入式操作系统。操作系统。支持数据支持数据Cache和指令和指令Cache,具有,具有更高的指更高的指 令和数据处理能力。令和数据处理能力。主频最高可达主频最高可达400MIPS。内嵌并行读写操作部件。内嵌并行读写操作部件。ARMl0E系列微处理器系列微处理器主要应用主要应用于下一于下一代无线设备、数字消费品、成像设备、工代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。业控制、通信和信息系统等领域。ARMl0E系列微处理器包含系列微处理器包含ARMl020E,ARMl022E和和ARMl026EJ-S 3种类型,以适用于不同的应用场合。种类型,以适用于不同的应用场合。5.SecurCore微处理器系列微处理器系列SecurCoreSecurCore系列微处理器专为安全需要而设计,提供系列微处理器专为安全需要而设计,提供系列微处理器专为安全需要而设计,提供系列微处理器专为安全需要而设计,提供了完善的了完善的了完善的了完善的3232位位位位RISCRISC技术的安全解决方案,因此,技术的安全解决方案,因此,技术的安全解决方案,因此,技术的安全解决方案,因此,SecurCoreSecurCore系列微处理器除了具有系列微处理器除了具有系列微处理器除了具有系列微处理器除了具有ARMARM体系结构的低体系结构的低体系结构的低体系结构的低功耗、高性能的特点外,还具有独特的优势,即提供了功耗、高性能的特点外,还具有独特的优势,即提供了功耗、高性能的特点外,还具有独特的优势,即提供了功耗、高性能的特点外,还具有独特的优势,即提供了对安全解决方案的支持。对安全解决方案的支持。对安全解决方案的支持。对安全解决方案的支持。SecurCoreSecurCore系列微处理器除了具有系列微处理器除了具有系列微处理器除了具有系列微处理器除了具有ARMARM体系结构各种体系结构各种体系结构各种体系结构各种主要特点外,还在系统安全方面具有如下的主要特点外,还在系统安全方面具有如下的主要特点外,还在系统安全方面具有如下的主要特点外,还在系统安全方面具有如下的特点特点特点特点:带有灵活的保护单元,以确保操作系统和应用数据的带有灵活的保护单元,以确保操作系统和应用数据的带有灵活的保护单元,以确保操作系统和应用数据的带有灵活的保护单元,以确保操作系统和应用数据的安全。安全。安全。安全。采用软内核技术采用软内核技术采用软内核技术采用软内核技术,防止外部对其进行扫描探测。防止外部对其进行扫描探测。防止外部对其进行扫描探测。防止外部对其进行扫描探测。可集成用户自己的安全特性和其他协处理器。可集成用户自己的安全特性和其他协处理器。可集成用户自己的安全特性和其他协处理器。可集成用户自己的安全特性和其他协处理器。SecurCore系列微处理器系列微处理器主要应用主要应用于于一些对安全性要求较高的应用产品及应用一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。业务、网络和认证系统等领域。SecurCore系列微处理器包含:系列微处理器包含:SecurCore SCl00、SecurCore SCll0、SecurCore SC200和和SecurCoreSC210 4种类型,以适用于不同的应用场合。种类型,以适用于不同的应用场合。6.StrongARM微处理器系列微处理器系列 Intel StrongARM SA-1100处理器是采用处理器是采用ARM体系结构高度集成的体系结构高度集成的32位位RISC微处理器。微处理器。它融合了它融合了Intel公司的设计和处理技术,公司的设计和处理技术,以及以及ARM体系结构的电源效率,采用在软件体系结构的电源效率,采用在软件上兼容上兼容ARMv4体系结构、同时采用具有体系结构、同时采用具有Intel技术优点的体系结构。技术优点的体系结构。Intel StrongARM处理器是便携式通信产处理器是便携式通信产品和消费类电子产品的理想选择,已成功应品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。用于多家公司的掌上电脑系列产品。7.Xscale处理器处理器 Xscale处理器是基于处理器是基于ARMv5TE体系结构体系结构的解决方案,是一款性能全、性价比高、功耗的解决方案,是一款性能全、性价比高、功耗低的处理器。低的处理器。它支持它支持16位的位的Thumb指令和指令和DSP指令集指令集,已使用在数字移动电话、个人数字助理和网络已使用在数字移动电话、个人数字助理和网络产品等场合。产品等场合。Xscale处理器是处理器是Intel目前主要推广的一目前主要推广的一款款ARM微处理器微处理器 2.1.2 RISC体系结构体系结构ARM处理器实现加载存储处理器实现加载存储(load/store)体系结构是典型的体系结构是典型的RISC处理器。只有加载和存储指令处理器。只有加载和存储指令可以访问存储器。数据处理指令只可以访问存储器。数据处理指令只对寄存器的内容进行操作。对寄存器的内容进行操作。精简指令集计算机精简指令集计算机RISC(Reduced Instruction Set Computer)结构的产生是结构的产生是相对于传统的复杂指令集计算机相对于传统的复杂指令集计算机CISC(Complex Instruction Set Computer)结结构而言的。构而言的。尽管在尽管在1979年美国加州大学伯克利分年美国加州大学伯克利分校的帕特逊等人即提出了这个名字校的帕特逊等人即提出了这个名字,但不同但不同的看法使得目前尚未有对的看法使得目前尚未有对 RISC的严格定义的严格定义。比较普遍的认为是。比较普遍的认为是,RISC应该是一种计算应该是一种计算机设计的基本原则机设计的基本原则,它的出现标志着计算机它的出现标志着计算机体系结构发展上的一个重要里程碑。体系结构发展上的一个重要里程碑。传统的传统的CISC计算机的指令集随着计算机计算机的指令集随着计算机的发展而引入了各种各样的复杂指令的发展而引入了各种各样的复杂指令,使得指令使得指令集和为此要实现这些指令的计算机体系结构越集和为此要实现这些指令的计算机体系结构越来越复杂来越复杂,已经不堪重负。已经不堪重负。经过大量的研究和分析经过大量的研究和分析,发现在发现在CISC的指的指令集中令集中,各种指令的使用频度相差悬殊。各种指令的使用频度相差悬殊。大概有大概有20%的指令被反复使用的指令被反复使用,使用量约使用量约占整个程序的占整个程序的80%;而有而有80%左右的指令则很少左右的指令则很少使用使用,其使用量约占整个程序的其使用量约占整个程序的20%。这就是所。这就是所谓的谓的20%80%定律定律。RISC特点特点如下:如下:指令规整、对称、简单。指令小于指令规整、对称、简单。指令小于100条,条,基本寻址方式有基本寻址方式有23种。种。单周期指令。单周期指令。指令字长度一致,单拍完成,便于流水操指令字长度一致,单拍完成,便于流水操作作;ARM7 三级流水线:取指、译码、执行;三级流水线:取指、译码、执行;ARM9 五级流水线;五级流水线;ARMl0 六级流水线。六级流水线。大量的寄存器。寄存器不少于大量的寄存器。寄存器不少于32个。数据个。数据处理器的指令只对寄存器的内容操作。只有处理器的指令只对寄存器的内容操作。只有加载存储指令可以访问存储器。加载存储指令可以访问存储器。ARM指令体系结构使用了加指令体系结构使用了加载存储体系结构、固定长载存储体系结构、固定长32位指令和位指令和3地址指令格式的地址指令格式的RISC特性;舍弃了寄存器窗口、特性;舍弃了寄存器窗口、延迟转移和所有指令单周期的延迟转移和所有指令单周期的RISC特性。特性。2.1.3 ARM和和Thumb状态状态ARM体系结构体系结构v4T及以上版本定义了称为及以上版本定义了称为Thumb指令集的指令集的16位指令集位指令集。Thumb指令集的指令集的功能功能是是32位位ARM指令集指令集的功能子集。的功能子集。Thumb在性能和代码大小之间在性能和代码大小之间提供了出色的折中。提供了出色的折中。正在执行正在执行Thumb指令集的处理器是工作在指令集的处理器是工作在Thumb状态下。状态下。正在执行正在执行ARM指令集的处理器是工作在指令集的处理器是工作在ARM状态下。状态下。在在ARM状态下的处理器不能执行状态下的处理器不能执行Thumb指指令令,在在Thumb状态下的处理器也不能执行状态下的处理器也不能执行ARM指令。指令。必须确保处理器不接受对当前状态来说为错必须确保处理器不接受对当前状态来说为错误指令集的指令。误指令集的指令。每个指令集都包括切换处理器状态的指令。每个指令集都包括切换处理器状态的指令。ARM处理器总是在处理器总是在ARM状态下开始执行代状态下开始执行代码。码。ARM处理器支持处理器支持7种处理器模式,取决于体种处理器模式,取决于体系结构版本。系结构版本。2.1.4.寄存器寄存器 ARM处理器有处理器有37个寄存器。个寄存器。寄存器被安排成部分重叠的组寄存器被安排成部分重叠的组(overlap-ping bank)。每种处理器模式都有不同的寄存器组。每种处理器模式都有不同的寄存器组。分组的寄存器在处理处理器异常和特权分组的寄存器在处理处理器异常和特权操作时可得到快速的上下文切换。操作时可得到快速的上下文切换。通常寄存器通常寄存器R13用做堆栈指针。用做堆栈指针。在用户模式下,在用户模式下,R14用做链接寄存器用做链接寄存器(LR),在子程序调用时用来保存返回地址。,在子程序调用时用来保存返回地址。若返回地址保存在通信堆栈中,则它也可用若返回地址保存在通信堆栈中,则它也可用做通用寄存器。做通用寄存器。在异常处理模式下在异常处理模式下,R14用来保存异常的用来保存异常的返回地址。返回地址。程序计数器用程序计数器用R15(或或PC)访问。在访问。在ARM状态下每条指令加状态下每条指令加1个字个字(4个字节个字节),或在,或在Thumb状态下每条指令加状态下每条指令加2个字节。分支指个字节。分支指令把目的地址加载到程序计数器中。也可以令把目的地址加载到程序计数器中。也可以使用数据操作指令直接加载程序计数器。使用数据操作指令直接加载程序计数器。在执行时,在执行时,R15不包含当前执行指令的不包含当前执行指令的地址。典型情况下,当前正在执行指令的地地址。典型情况下,当前正在执行指令的地址对于址对于ARM状态是状态是PC8,或对于,或对于Thumb状状态是态是PC4。2.1.5 ARM指令集概述指令集概述所有所有ARM指令是指令是32位长度。位长度。指令以字对准保存,这样指令以字对准保存,这样ARM状态指令地址的最低状态指令地址的最低2位总是零。位总是零。一些指令使用最低有效位判定一些指令使用最低有效位判定代码是转向代码是转向Thumb代码还是代码还是ARM代代码。具有字节码。具有字节(8位位)、半字、半字(16位位)、字字(32位位)带符号或无符号数传送能带符号或无符号数传送能力。力。2.1.6 Thumb指令集概述指令集概述 所有所有Thumb指令是指令是16位长度位长度,在存储器中在存储器中半字对准保存。因此半字对准保存。因此,指令的最低有效位在指令的最低有效位在Thumb状态下总是为零。状态下总是为零。对于所有对于所有Thumb数据处理指令有:数据处理指令有:操作寄存器中全部为操作寄存器中全部为32位值;位值;数据访问和取指使用全数据访问和取指使用全32位地址。位地址。条件分支指令是依据条件分支指令是依据CPSR中中ALU的状态的状态标志有条件执行的唯一的标志有条件执行的唯一的Thumb指令。指令。在在Thumb状态下,大多数指令只能访问状态下,大多数指令只能访问R0R7。寄存器。寄存器R8R15是被限制访问的寄存是被限制访问的寄存器。在器。在Thumb状态下它们用高寄存器表示。状态下它们用高寄存器表示。Thumb状态只在分立操作时使用桶式移状态只在分立操作时使用桶式移位,具有位,具有LSI、LSR、ASR或或ROR指令。指令。Thumb体系结构的扩充使得在体系结构的扩充使得在8/16位系统位系统价格下可得到价格下可得到32位性能,即位性能,即 最小化系统存储器大小和价格下出色的最小化系统存储器大小和价格下出色的代码密度;代码密度;在低系统价格的在低系统价格的8或或16位总线上由位总线上由16位存位存储器得到储器得到32位性能。位性能。ThumbThumb是是是是3232位体系结构的扩充。位体系结构的扩充。位体系结构的扩充。位体系结构的扩充。ThumbThumb指令集是大多数常用的指令集是大多数常用的指令集是大多数常用的指令集是大多数常用的3232位位位位ARMARM指令的指令的指令的指令的子集,压缩成子集,压缩成子集,压缩成子集,压缩成1616位宽操作码。位宽操作码。位宽操作码。位宽操作码。在执行时,在执行时,在执行时,在执行时,1616位指令透明地实时解压缩成全位指令透明地实时解压缩成全位指令透明地实时解压缩成全位指令透明地实时解压缩成全3232位位位位ARMARM指令且没有性能损失。设计者可以使用指令且没有性能损失。设计者可以使用指令且没有性能损失。设计者可以使用指令且没有性能损失。设计者可以使用1616位位位位ThumbThumb和和和和3232位位位位ARMARM指令集。指令集。指令集。指令集。在于程序级可根据应用需求,在于程序级可根据应用需求,在于程序级可根据应用需求,在于程序级可根据应用需求,灵活地强调性能灵活地强调性能灵活地强调性能灵活地强调性能或代码大小或代码大小或代码大小或代码大小。ThumbThumb比通常的比通常的比通常的比通常的8 8和和和和1616位位位位CISC/RISCCISC/RISC控制器有控制器有控制器有控制器有更好的代码密度,是传统更好的代码密度,是传统更好的代码密度,是传统更好的代码密度,是传统3232位体系结构代码大小的一位体系结构代码大小的一位体系结构代码大小的一位体系结构代码大小的一部分。这意味着程序存储器可以更小,因而降低了成部分。这意味着程序存储器可以更小,因而降低了成部分。这意味着程序存储器可以更小,因而降低了成部分。这意味着程序存储器可以更小,因而降低了成本。本。本。本。3 AMBA总线 先进的微控制器总线体系结构先进的微控制器总线体系结构先进的微控制器总线体系结构先进的微控制器总线体系结构AMBAAMBA规范定义规范定义规范定义规范定义了了了了三种总线三种总线三种总线三种总线:1.1.AHBAHB(Advanced High-performance Advanced High-performance BusBus):用于连接高性能系统模块。它支持突发数):用于连接高性能系统模块。它支