嵌入式系统 课件 ARM微控制器基础与实战3

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第2章ARM体系结构参考书:《ARM嵌入式处理器结构与应用基础》马忠梅,马广云,徐英慧,等北京航空航天大学出版社22.1ARM体系结构概述2.1.1ARM体系结构的特点0、概述:ARM公司ARM即AdvancedRISCMachines的缩写。ARM公司是知识产权(IP)供应商,成立于1990。ARM公司本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM作为32位嵌入式RISC微处理器业界的领先供应商,商业模式的强大之处在于它在世界范围有超过100个合作伙伴——包括半导体工业的著名公司,从而保证了大量的开发工具和丰富的第三方资源,它们共同保证了基于ARM处理器核的设计可以很快投入市场。3ARM处理器的3大特点是:耗电少,成本低,功能强;16/32位双指令集;全球众多合作伙伴保证供应。ARM体系结构基于精简指令集计算机(RISC)原理。传统的CISC指令集计算机随着计算机的发展引入了各种各样的复杂指令,使得指令集和为实现这些指令的计算机体系结构越来越复杂,已经不堪重负。经过大量的研究和分析,发现在CISC的指令集中,各种指令的使用频度相差悬殊。•大概有20%的指令被反复使用,使用量约占整个程序的80%;•而有80%左右的指令则很少使用,其使用量约占整个程序的20%。这就是所谓的20%—80%规律。4RISC指令集和相关的译码机制比复杂指令集计算机(CISC)的设计更简单。这种简单性得到了:高指令吞吐率;出色的实时中断响应;体积小、性价比高的处理器宏单元。16位Thumb指令集,允许软件16位编码使占用的存储器空间节省高达35%,然而保留了32位系统所有的优势。5ARM还提供了两个前沿特性——嵌入式ICE—RT逻辑和嵌入式跟踪宏核系列,用于辅助嵌入式处理器核的、高集成的SoC器件的调试。允许在代码的任何部分——甚至在ROM中设置断点。ARM当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。进一步的产品来自于合作伙伴,例如IntelXScale微体系结构和StrongARM产品。61.ARM的RISC型处理器结构中央控制器没有采用微程序的方式。采用了硬接线PLA的方式。减少复杂功能的指令,选用使用频度最高的指令;简化处理器的结构,减少处理器的集成度;采用32位定长指令。除了单机器周期执行1条指令外,每条指令具有多种操作功能,提高了指令使用效率。采用流水线结构,使每一条指令平均在一个机器周期内完成,以提高处理器的速度。采用多寄存器的结构,使指令的操作尽可能在寄存器之间进行。采用Load/Store结构,即只有Load/Store(加载/存储)指令可与存储器打交道,减少访问存储器的频度,节约指令执行时间。为了进一步提高指令和数据的存/取速度,有的还增加指令快存I—Cache和数据快存D—Cache;72.Thumb指令集新型ARM体系结构在32位指令集的基础上又定义了16位的Thumb指令集,可以使程序存储器更小。Thumb指令集比通常的8位和16位CISC/RISC处理器具有更好的代码密度,而芯片面积只增加6%。83.多处理器状态模式ARM可以支持7种处理器模式:用户模式快中断模式中断模式管理模式中止模式系统模式未定义模式除了用户模式外,其余的均为特权模式。这是ARM的特色之一。多处理器模式可以大大提高ARM处理器的效率,并方便操作系统的设计。94.嵌入式在线仿真调试ARM体系结构的处理器芯片都嵌入了在线仿真ICE—RT逻辑由于ICE—RT逻辑的支持,便于通过JTAG来仿真调试ARM体系结构芯片,从而可以省去价格昂贵的在线仿真器。在处理器核中还集成了嵌入式跟踪宏单元(ETM),ETM可以用于监控内部总线,实时跟踪指令和数据的执行。105.灵活和方便的接口ARM体系结构具有协处理器接口,这样,既可以使基本的ARM处理器内核尽可能小,又可以方便地扩充各种功能。ARM允许接16个协处理器。ARM处理器核具有片上总线AMBA(AdvancedMicrocontrollerBusArchitecture)。AMBA定义了3组总线:先进高性能总线AHB(AdvancedHighperformanceBus);先进系统总线ASB(AdvancedSystemBus);先进外围总线APB(AdvancedPeripheralBus)。通过AMBA可以方便地扩充各种处理器及I/O,这样,可以把DSP、其他处理器和I/O接口(如UART、定时器和接口等)都集成在一块芯片中。116、低电压低功耗的设计由于ARM体系结构的处理器主要用于手持式嵌入式系统之中,ARM体系结构在设计中十分注意低功耗问题。CMOS电路的功耗关系:Pc=(1/2)·f·VDD2·∑Ag·CLg式中,f为时钟频率;VDD为工作电源电压;Ag是逻辑门在1个时钟周期内翻转的次数(通常为2);CLg为门的负载电容。因此,ARM体系结构的设计采用了以下措施:降低电源电压,可工作在3.0V以下。减少门的翻转次数,当某个功能电路不需要时,禁止门翻转。减少门的数目,即降低芯片的集成度。降低时钟频率(但也会损失系统的性能)。122.1.2ARM处理器结构1.ARM体系结构是ARM体系结构:32位ALU;31个32位通用寄存器6个状态寄存器32×8位乘法器32×32位桶形移位寄存器指令译码及控制逻辑指令流水线数据/地址寄存器。如图4—1所示13FIG4-1142.ARM的流水线结构计算机中的1条指令的执行可以分若干个阶段:①取指,从存储器中取出指令(fetch);②译码,指令译码(dec);③取操作数,假定从寄存器组中取操作数(reg);④执行运算(ALU);⑤存储器访问,操作数与存储器有关(mem);⑥结果写回寄存器(res)。各个阶段的操作相对都是独立的。因此,采用流水线的重叠技术可以大大提高系统性能。15ARM体系结构的单周期3级流水线图4—5ARM单周期3级流水线取指译码执行取指译码执行取指译码执行时间123163.ARM存储器结构•ARM架构的处理器,有的带有指令Cache和数据Cache,但片内不带有片内RAM和片内ROM,因此,系统所需的RAM和ROM须通过总线外接。•系统所需的RAM和ROM(包括Flash)都通过总线连接,由于系统的地址范围较大(232=4GB),有的片内还带有存储器管理单元MMU。•图4—8ARM外接RAM和ROM17图4—8ARM外接RAM和ROMROMoeRAMoeRAMwe3RAMwe2RAMwe1RAMwe0A1、A0没有接入片内地址线,他们是确定RAMwe3~RAMwe0的依据。184.ARMI/O结构ARM架构中的处理器核和处理器内核一般都没有I/O部件和模块,ARM架构处理器的I/O可通过AMBA(先进微控制总线架构)总线来扩充。ARM架构中的I/O直接存储器存取DMA中断结构。19(1)存储器映射I/O一般的I/O(如串行接口)有若干个寄存器:发送数据寄存器(只写);数据接收寄存器(只读);控制寄存器、状态寄存器(只读);中断允许寄存器;等。这些寄存器都需要相应的I/O端口地址。ARM采用了存储器映射I/O的方式,即把I/O端口地址作为特殊的存储器地址。20(2)直接存储器存取DMAARM架构的处理器一般都没有DMA部件,只有在一些高档的ARM架构处理器中具有DMA的功能。(3)中断IRQ和快速中断FIQ一般的ARM没有DMA功能,为了能提高I/O处理能力,系统安排了快速中断FIQ(FastInterrupt),而对普通I/O的中断源仍安排了一般中断IRQ。要提高中断响应的速度,在设计中可以采用以下办法:提供大量后备寄存器,在中断响应及返回时,作为保护现场和恢复现场的上下文切换(ContextSwitching)之用。采用片内RAM结构,这样可以加速异常处理(包括中断)的进入时间。Cache和地址变换后备缓冲器TLB(TranslationLookasideBuffer)采用锁住(Lockeddown)方式以确保临界代码段不受“不命中”所产生的影响。215.ARM协处理器接口ARM可以通过增加协处理器来支持一个通用的指令集的扩充;也可以通过未定义指令陷阱(Trap)来支持协处理器的软件仿真。22ARM可以扩展16个协处理器,每个协处理器可有16个寄存器。MMU和保护单元的系统控制都采用CPl5协处理器;JTAG调试中的协处理器为CPl4,即调试通信通道DCC(DebugCommunicationChannel)协处理器号功能15系统控制14调试控制器13~8保留7~4用户3~0保留236.ARM的AMBA接口ARM处理器内核可通过内部总线扩充Cache等部件,或通过协处理器接口扩充各种协处理器;也可以通过先进微控制器总线架构AMBA(AdvancedMicrocontrollerBusArehitecture)来扩展不同体系架构的宏单元及I/O部件。AMBA事实上已成为片上总线OCB(OnChipBus)标准。AMBA有如下3类总线:先进高性能总线AHB(AdvancedHigh-performanceBus);先进系统总线ASB(AdvancedSystemBus)先进外围总线APB(AdvancedPeripheralBus)。AMBA结构如图4—9所示。24257.ARM的JTAG调试接口JTAG的基本知识什么是JTAG?JTAG是JointTestActionGroup的缩写,基于IEEE1149.1标准。使用JTAG的优点•JTAG的建立使得集成电路固定在PCB上,只通过边扫描便可以通过测试。•在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,I/O口等信息,从而达到调试的目的。26JTAG调试接口的结构如图4—10所示。测试访问端口TAP(TestAccessPort)控制器;旁路(Bypass)寄存器;指令寄存器;数据寄存器;与JTAG接口兼容的ARM架构处理器。27处理器的每个引脚都有一个移位寄存单元,称为边界扫描单元BSC(BoundaryScanCell):BSC将JTAG电路与处理器核逻辑电路联系起来,同时,隔离了处理器核逻辑电路与芯片引脚;所有边界扫描单元的串联构成了边界扫描寄存器BSR;BSR寄存器电路仅在进行JTAG测试时有效,在处理器核正常工作时无效(直通)。28芯核逻辑BSCBSCBSCBSCBSCBSC29(1)JTAG的控制寄存器测试访问端口TAP控制器:对嵌入在ARM处理器核内部的测试功能电路进行访问控制,它是一个同步状态机。通过测试模式选择TMS和时钟信号TCK来控制状态的转换,实现IEEEll49.1标准所确定的测试逻辑电路的工作时序。指令寄存器:它是串行移位寄存器,通过它可以串行输入执行各种操作指令。数据寄存器组:它是一组串行移位寄存器。操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的进行,测试结果被串行移出。其中:器件ID寄存器:读出在芯片内固化的ID号。旁路寄存器:1位移位寄存器,用1个时钟的延迟把TDI连至TDO,使测试者在同一电路板测试循环内访问其他器件。边界扫描寄存器(扫描链):截取ARM处理器核与芯片引脚之间所有信号,组成专用的寄存器链。30(2)JTAG测试信号TRST测试复位输入信号,测试接口初始化。TCK测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令,同时也为测试访问端口TAP控制器的状态机提供时钟。TMS测试模式选择信号,在TCK同步下控制测试接口状态机的操作。TDI测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。TDO测试数据输出线,把从边界扫描链采样的数

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功