版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章ARM/THUMB微处理器结构及指令系统 本章简要介绍了ARM/THUMB微处理器的一些基本概念、应用领域及特点,以引导读者进入ARM/THUMB的殿堂。本章主要内容有: ARM/THUMB及相关技术简介 ARM/THUMB微处理器系列 ARM/THUMB微处理器的结构 ARM/THUMB指令系统 2.1 ARM微处理器概述 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM 技术知识产权(IP)核的微处理器,即
2、我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。 ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,它本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得AR
3、M技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费者所接受,更具有竞争力。 2.1.1 ARM处理器系列 下面所列的是ARM微处理器的几个系列,以及其他厂商基于ARM体系结构的处理器,这些处理器除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 ARM7系列 ARM9系列 ARM9E系列 ARMl0E系列 SecurCore系列 Intel的Xscale Intel的StrongARM1. ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。A
4、RM7微处理器系列具有如下特点:具有嵌入式ICE(In-Circuit Emulator) RT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产品。能够提供0.9MIPS/MHz的三级流水线结构。代码密度高并兼容16位的Thumb指令集。对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。指令系统与ARM9系列、ARM9E系列和ARMl0E系列兼容,便于产品升级换代。主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 ARM的JTAG调试接口1。ARM的JTAG调试结构一个典型的ARM基于JTAG调试结构如图所示。Debug主
5、控(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标准,也可以是第三方
6、厂家自己定义的标准。关于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目标
7、板就是指系统的调试对象以一个典型的ARM7TDMI处理器内核为例,说明ARM7TDMI内核的JTAG调试结构ARMJTAG的JTAG宏单元(Macricell)主要包括3条JTAG扫描链(Scan Chain)和一个JTAG的控制TAP状态机。2JTAG与AngelJTAG调试:协议转换器解释上位机传送来的命令,通过JTAG控制ARM执行。Angle调试:协议转换器可以直接做为目标板Firmware的一部分.直接执行从宿主机转送过来的调试指令;并回送相应数据。Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控
8、制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复位
9、信号,复位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核的数据总线和一个断点控制信号。这是一条很有用地链,通过控制这条
10、链,可以控制ARM核执行指定的指令,从而实现对ARM的内部寄存器,协处理器以及外部存储器的读写操作。Scan Chain2:有38个扫描单元,通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点,观察点控制。EmbeddedICE是集成在ARM内核的中的嵌入式ICE防真器。其结构如图所示。通过对EmbeddedICE的控制,对EmbeddedICE中寄存器的读取,可以获得ARM内核的状态,为程序设置断点以及读取Debug通信通道。ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下
11、几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TDMI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM 处理器核。TDMI的基本含义为:T:支持16位压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier);I:嵌入式ICE,支持片上断点和调试点。本书所介绍的Samsung公司的S3C44b0X即属于该系列的处理器。 2. ARM9微处理器系列 ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5级整数流水线,指令执行效率更高。 提供1.1MIPS/MHz的哈佛结构。支持32位
12、ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。全性能的MMU,支持Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 3. ARM9E微处理器系列 ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的
13、解决方案,极大地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。5级整数流水线,指令执行效率更高.支持32位ARM指令集和16位Thumb指令集.支持32位的高速AMBA(先进的微控制器总线体系结构)总线接口.支持VFP9浮点处理协处理器.全性能MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力
14、。主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S 3种类型,以适用于不同的应用场合。 4. ARMl0E微处理器系列 ARMl0E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARMl0E系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARMl0E系列微处理器的主要特点如下:支持DSP指令集,适合于需要高速数字信号处理的场合。6
15、级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。 支持VFPl0浮点处理协处理器。全性能MMU,支持Windows CE、Linux 、 Palm OS等多种主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。主频最高可达400MIPS。内嵌并行读写操作部件。 ARMl0E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。ARMl0E系列微处理器包含ARMl020E,ARMl022E和ARMl026EJ-S 3种类型,以适用于不同的应用场合。 5. Se
16、curCore微处理器系列SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有独特的优势,即提供了对安全解决方案的支持。SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:带有灵活的保护单元,以确保操作系统和应用数据的安全。采用软内核技术,防止外部对其进行扫描探测。可集成用户自己的安全特性和其他协处理器。 SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银
17、行业务、网络和认证系统等领域。SecurCore系列微处理器包含:SecurCore SCl00、SecurCore SCll0、SecurCore SC200和SecurCoreSC210 4种类型,以适用于不同的应用场合。 6. StrongARM微处理器系列 Intel StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intel公司的设计和处理技术,以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。Intel StrongARM处理器是便携式通信产品和消费类电子产品的理想选择,
18、已成功应用于多家公司的掌上电脑系列产品。7. Xscale处理器 Xscale处理器是基于ARMv5TE体系结构的解决方案,是一款性能全、性价比高、功耗低的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。Xscale处理器是Intel目前主要推广的一款ARM微处理器 2.1.2 RISC体系结构ARM处理器实现加载存储(load/store)体系结构是典型的RISC处理器。只有加载和存储指令可以访问存储器。数据处理指令只对寄存器的内容进行操作。精简指令集计算机RISC (Reduced Instruction Set Computer)结
19、构的产生是相对于传统的复杂指令集计算机CISC (Complex Instruction Set Computer)结构而言的。尽管在1979年美国加州大学伯克利分校的帕特逊等人即提出了这个名字,但不同的看法使得目前尚未有对 RISC的严格定义。比较普遍的认为是,RISC应该是一种计算机设计的基本原则,它的出现标志着计算机体系结构发展上的一个重要里程碑。传统的CISC计算机的指令集随着计算机的发展而引入了各种各样的复杂指令,使得指令集和为此要实现这些指令的计算机体系结构越来越复杂,已经不堪重负。经过大量的研究和分析,发现在CISC的指令集中,各种指令的使用频度相差悬殊。大概有20%的指令被反复
20、使用,使用量约占整个程序的80%;而有80%左右的指令则很少使用,其使用量约占整个程序的20%。这就是所谓的20%80%定律。 RISC特点如下:指令规整、对称、简单。指令小于100条,基本寻址方式有23种。单周期指令。指令字长度一致,单拍完成,便于流水操作;ARM7 三级流水线:取指、译码、执行;ARM9 五级流水线;ARMl0 六级流水线。大量的寄存器。寄存器不少于32个。数据处理器的指令只对寄存器的内容操作。只有加载存储指令可以访问存储器。 ARM指令体系结构使用了加载存储体系结构、固定长32位指令和3地址指令格式的RISC特性;舍弃了寄存器窗口、延迟转移和所有指令单周期的RISC特性。
21、 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种处理器模式,取决于体系结构版本。
22、 2.1.4. 寄存器 ARM处理器有37个寄存器。寄存器被安排成部分重叠的组(overlap-ping bank)。每种处理器模式都有不同的寄存器组。分组的寄存器在处理处理器异常和特权操作时可得到快速的上下文切换。通常寄存器R13用做堆栈指针。在用户模式下,R14用做链接寄存器(LR),在子程序调用时用来保存返回地址。若返回地址保存在通信堆栈中,则它也可用做通用寄存器。在异常处理模式下,R14用来保存异常的返回地址。程序计数器用R15(或PC)访问。在ARM状态下每条指令加1个字(4个字节),或在Thumb状态下每条指令加2个字节。分支指令把目的地址加载到程序计数器中。也可以使用数据操作指令
23、直接加载程序计数器。在执行时,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位
24、值;数据访问和取指使用全32位地址。条件分支指令是依据CPSR中ALU的状态标志有条件执行的唯一的Thumb指令。在Thumb状态下,大多数指令只能访问R0R7。寄存器R8R15是被限制访问的寄存器。在Thumb状态下它们用高寄存器表示。Thumb状态只在分立操作时使用桶式移位,具有LSI、LSR、ASR或ROR指令。Thumb体系结构的扩充使得在8/16位系统价格下可得到32位性能,即 最小化系统存储器大小和价格下出色的代码密度;在低系统价格的8或16位总线上由16位存储器得到32位性能。Thumb是32位体系结构的扩充。Thumb指令集是大多数常用的32位ARM指令的子集,压缩成16位宽操
25、作码。在执行时,16位指令透明地实时解压缩成全32位ARM指令且没有性能损失。设计者可以使用16位Thumb和32位ARM指令集。在于程序级可根据应用需求,灵活地强调性能或代码大小。Thumb比通常的8和16位CISC/RISC控制器有更好的代码密度,是传统32位体系结构代码大小的一部分。这意味着程序存储器可以更小,因而降低了成本。 3 AMBA总线 先进的微控制器总线体系结构AMBA规范定义了三种总线: AHB(Advanced High-performance Bus):用于连接高性能系统模块。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟沿;ASB(Advanced S
26、ystem Bus):用于连接高性能系统模块,它支持突发数据传输模式;APB(Advance Peripheral Bus):是一个简单接口支持低性能的外围接口。 一个典型的基于AMBA的微控制器同时集成 AHB(或ASB)和APB接口,如图所示。ASB总线是旧版的系统的总线,而新版的AHB总线增强了对性能、综合及时序验证的支持。APB总线通常用作的局部的第二总线,作为AHB或ASB上的单个从属模块。 根据AMBA的规范,连接AHB/ASB和APB的APB桥的唯一功能是提供更简单的接口。任何由低性能外围设备产生的延迟会由连接高性能(AHB/ASP)总线的桥反映出来。桥本身仿佛是一个简单APB总线的主设备,它访问与之相连的从设备,并且通过高性能总线上控制信号的子集控制它们。下面给出AHB、ASB和APB的主要特征.3.1 AHB AHB是先进的系统总线。它主要的目的就是连接共性能、高吞吐率的设备,例如CPU、DMA和DSP。它的主要特性:高性能新一代总线; 多控制器; 分段传输; 单周期总线控制权移交;没有三态实现方式;32128位总线宽; 包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等; 突发传输模式最大为1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高龄老人照护要点
- 尿道感染的护理实践分享
- MDS患者的康复护理
- 肌肤修复与再生技巧
- 腹泻的康复期护理
- 管道并发症的识别与处理
- 委托理财合同的法律剖析与实践审视:从理论到案例的深度探究
- 2025 七年级数学上册正数负数概念深化课件
- 透析患者的用药管理
- 低体温患者的保暖护理
- PC-ABS合金阻燃改性:材料、方法与性能优化研究
- GB/T 34110-2025信息与文献文件(档案)管理核心概念与术语
- 大连市社区工作者管理办法
- 2025年河北地质大学公开招聘工作人员48名笔试模拟试题及答案解析
- 火灾探测器的安装课件
- 酒店转让合同协议书范本大全
- DB21∕T 3722.3-2023 高标准农田建设指南 第3部分:项目预算定额
- 压力管道质量保证体系培训
- 2025年度数据中心基础设施建设及运维服务合同范本3篇
- 【八年级上册地理】一课一练2.2 世界的气候类型 同步练习
- 筋膜刀的临床应用
评论
0/150
提交评论