《嵌入式系统技术》ppt课件第3章ARM体系结构.ppt
《《嵌入式系统技术》ppt课件第3章ARM体系结构.ppt》由会员分享,可在线阅读,更多相关《《嵌入式系统技术》ppt课件第3章ARM体系结构.ppt(193页珍藏版)》请在三一办公上搜索。
1、第3章 ARM体系结构,主要内容,1,3,2,4,ARM体系结构概述,编程模型,ARM基本寻址方式,ARM指令集,5,ARM9TDMI内核,6,ARM9与ARM7的比较,ARM920T核,7,3.1.1 ARM体系结构的特点,ARM即Advanced RISC Machines的缩写。ARM公司1990年成立,是设计公司。ARM是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM处理器的3大特点是:耗电少、成本低、功能强;16位/32位双指令集;全球众多合作伙伴保证供应。,ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功
2、耗也非常低。它具有经典RISC的特点:,3.1.1 ARM体系结构的特点,3.1.1 ARM体系结构的特点,ARM体系结构的特点:,RISC型处理器结构ARM/Thumb指令集多处理器状态模式嵌入式在线仿真调试灵活和方便的接口ARM体系结构具有协处理器接口 ARM处理器核还具有片上总线AMBA(AHB/ASB/APB)低电压低功耗的设计,3.1.1 ARM体系结构的特点,ARM目前的产品系列:,ARM7ARM9ARM9EARM10SecurCore,通用处理器系列,专门为安全设备设计的处理器系列,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结
3、构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,1.ARM的体系机构,由32位ALU、31个32位通用寄存器及6位状态寄存器、328位乘法器、3232位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。,ALU,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。,ALU的逻辑结构,ALU,每一时钟周期由双相时钟组成。ALU的最小数据通路周期由以下组成:寄存器读时间;移位器延迟;ALU延迟;寄存器写建立时间;双相时钟间非重叠时间。,ALU的数据通路时序,桶形移位寄存器,为了减少移位的延迟时间,ARM采用了32
4、32位的桶形移位寄存器。这样,可以使左移/右移n位、环移n位和算术右移n位等都可以一次完成。,高速乘法器,ARM为了提高运算速度,采用两位乘法的方法。两位乘法根据乘数的2位来实现“加-移位”运算。,乘数An-1An:00-原部分积S右移2位;01-原部分积S加被乘数后右移2位;10-原部分积S加2倍被乘数后,右移2位;11-原部分积S加3倍被乘数后,右移2位。,2倍被乘数可通过将被乘数左乘1位来实现;3倍可看作4-1(11100-1),故先减1倍被乘数,再加4倍被乘数来实现。4倍被乘数的操作实际上是在该2位乘数11的高1位乘数加“1”,且此“1”可暂存在Cout进位触发器中。,高速乘法器,AR
5、M的高速乘法器采用328位的结构,内部结构如下:,浮点部件,浮点部件是作为选件为ARM体系结构选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。,控制器,ARM的控制器采用硬接线的可编程逻辑阵列PLA。输入端14根,输出40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器、ALU和移位器的控制。,寄存器,ARM内含37个寄存器,其中:31个通用32位寄存器6个状态寄存器,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接
6、口,ARM JTAG 调试接口,7,指令执行的阶段,计算机中的1条指令的执行可以分若干个阶段:取指,从存储器中取出指令(fetch);译码,指令译码(dec):取操作数,假定操作数从寄存器组中取(reg);执行运算(ALU);存储器访问,操作数与存储器有关(mem);结果写回寄存器(res)。,指令执行的阶段,流水线的停顿,相邻指令执行的数据相关性会产生指令执行的停顿。,指令执行的阶段,碰到分支类指令,则会使后面紧接该条指令的几条指令的执行都无效。,遇到分支指令,ARM体系结构的3级流水线,ARM7体系结构采用了3级流水线,分为取指,译码和执行。下图是单周期3级流水线的操作示意图。,ARM体系
7、结构的3级流水线,由于取指的存储器访问和执行的数据通路占用都是不可同时共享的资源,因此对多周期指令来说,会产生流水线阻塞。如图3-12所示下图的影印框周期都是与存储器访问有关的。因此在流水线设计中不允许重叠。,ARM体系结构的5级流水线,5级流水线把存储器的取指与数据存取分开,增加了I-Cache和D-Cache以提高存储器存取的效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。这样,5级流水线分为:取指、指令译码、执行、数据缓存和写回。,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口
8、,6,ARM协处理器接口,ARM JTAG 调试接口,7,ARM存储器结构,ARM架构的处理器,有的带有指令Cache和数据Cache,但片内不带有片内RAM和片内ROM,系统所需的RAM和ROM须通过总线外接,如下图。,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,ARM I/O结构,ARM架构中的处理器核和处理器内核一般都没有I/O的部件和模块,构成ARM架构的处理器中的I/O可通过AMBA总线来扩充。,(1)存储器映像I/O ARM
9、采用存储器映像I/O的方式,即把I/O端口地址作为特殊的存储器地址。不过I/O的输入/输出与真正的存储器读/写仍然有所不同:存储器的单元重复读多次的值是一致的;而I/O设备的连续2次输入,其输入值可能会有所不同。(2)直接存储器存取DMA 在I/O的数据流量比较大,中断处理比较频繁的场合,会明显影响系统的性能。因此,许多系统就采用了直接存储器存取DMA,这样,I/O的数据块传送至存储器的缓冲器区域就不需要处理器介入。而中断也仅仅出现在出现出错时或缓冲器满时。(3)中断IRQ和快速中断FIQ 一般的ARM没有DMA的功能,为了提高I/O处理的能力,对于一些要求I/O处理速率比较高的事件,系统安排
10、快速中断FIQ(Fast Interrupt),而对其余的I/O源仍安排一般中断IRQ。,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,ARM协处理器接口,ARM为了便于片上系统SOC的设计,处理器内核尽可能精简,要增加系统的功能,可以通过协处理器来实现。在逻辑上,ARM可以扩展16个协处理器,每个协处理器可有16个寄存器。,例如,MMU和保护单元的系统控制都采用CP15协处理器;JTAG调试中的协处理器为CP14,即调试通信通道DCC(
11、Debug Communication Channel)。,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,ARM AMBA接口,ARM处理器也可以通过先进微控制器总线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及I/O部件。AMBA事实上已成为片上总线OCB(On Chip Bus)标准。,AMBA包括以下三类总线:先进高性能总线AHB先进系统总线ASB先进外
12、围总线APB,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,JTAG调试接口的结构,由测试访问端口TAP(Test Access Port)控制器、旁路(Bypass)寄存器、指令寄存器、数据寄存器以及与JTAG接口兼容的ARM架构处理器组成。,JTAG的控制寄存器,测试访问端口TAP控制器 对嵌入在ARM处理器核内部的测试功能电路进行访问控制,是一个同步状态机。通过测试模式选择TMS和时钟信号TCK来控制其状态机。指令寄存器 是串行移位
13、寄存器,通过它可以串行输入执行各种操作的指令。数据寄存器组 是一组串行移位寄存器。操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的进行,测试结果被串行移出。其中:器件ID寄存器:读出在芯片内固化的ID号。旁路寄存器:1位移位寄存器,用1个时钟的延迟把TDI连至TDO,使测试者在同一电路板测试循环内访问其他器件。边界扫描寄存器(扫描链):截取ARM处理器核与芯片引脚之间所有信号,组成专用的寄存器位。,JTAG测试信号,TRST:测试复位输入信号,测试接口初始化。TCK:测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令,同时也为测试访问端口TAP控制器的
14、状态机提供时钟。TMS:测试模式选择信号,控制测试接口状态机的操作。TDI,测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。TDO:测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。,TAP状态机,测试访问端口TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑。状态转移图如右图:,JTAG接口控制指令,控制指令用于控制JTAG接口各种操作,控制指令包括公用(Public)指令和私有(Private)指令。最基本的公用指令有:BYPASS:旁路片上系统逻辑指令,用于未被测试的芯片,即把
15、TDI与TPO旁路(1个时钟延迟)。EXTEST:片外电路测试指令,用于测试电路板上芯片之间的互连。IDCODE:读芯片ID码指令,用于识别电路板上的芯片。此时,ID寄存器在TDI与TDO引脚之间,在capture DR状态中,芯片的ID复制至该寄存器,然后在shift DR状态中移出。INTEST:片内测试指令,边界扫描寄存器位于TDI与TDO引脚之间,处理器核逻辑输入和输出状态被该寄存器捕获和控制。,3.1.3 ARM处理器内核,ARM体系结构的处理器内核有:ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及ARM11TDMI等。,ARM7TDMI,ARM7TDMI名字原义
16、如下:ARM7 ARM6 32位整数核的3V兼容的版本;T 16位压缩指令集Thumb;D 在片调试(Debug)支持,允许处理器响应调 试请求暂停;M 增强型乘法器(Multiplier),与以前处理器 相比性能更高,产生全64位结果;I 嵌入式ICE硬件提供片上断点和调试点支持。,ARM7TDMI,体系结构图,ARM7TDMI,引脚图,采用了3级流水线结构,指令执行分为取指、译码和执行等3个阶段;运算器能实现32位整数运算;采用了高效的乘法器,用328位乘法器实现3232位乘法(结果为64位)。采用v4T版指令,支持16位Thumb指令集;嵌入式ICE(Embedded-ICE)模块为AR
17、M7TDMI提供了片内调试功能。同时通过JTAG接口可以很方便地用PC主机对ARM7TDMI进行开发和调试。还提供了存储器接口、MMU接口、协处理器接口和调试接口,以及时钟与总线等控制信号。,ARM7TDMI,主要特点,ARM7TDMI,主要性能指标,工艺:0.35m(新近采用0.25m);金属布线:3层;电压:3.3V(新近采用1.2V、0.9V);管子数:74209只;内核芯片面积:2.1mm2;时钟:066MHz;MIPS:66;功耗:87mW;MIPS/W:690(采用0.25m工艺,0.9V电压,可达1 200MIPS/W)。,ARM9TDMI,主要性能指标,工艺:025m(0.18
18、m);金属布线:3层;电压:2.5V(1.2V);管子数:11 100只;核芯片面积:2.1mm2;时钟:0200MHz;MIPS:220;功耗:150mW;MIPS/W:1 500。,ARM9TDMI,流水线结构,ARM9TDMI处理器内核采用了5级流水线。,ARM9TDMI,主要特点,采用指令和数据分离访问的方式,即采用了指令Cache和数据Cache。用专门硬件来直接完成ARM与Thumb指令的译码。ARM9TDMI也有协处理器接口,允许在芯片增加浮点、数字信号处理或其他专用的协处理器。ARM9TDMI也提供相应的软核。ARM9E-S是具有DSP功能的能执行v5TE版ARM指令的ARM9
19、TDMI软核,当然其芯片面积要增加30。在ARM9流水线设计中,增加专用流水段用于存储器访问和将结果写回到寄存器组。而且,寄存器读也移到译码段。这些改变通过减少在单一时钟周期内操作最大的逻辑数目,允许更高的时钟频率。,ARM10TDMI,ARM10TDMI在系统结构上主要采用增加时钟速率和减少每条指令平均时钟周期数CPI(Clock Per Instruction)两大措施,以同样的工艺,同样的芯片面积,在性能上2倍于ARM9TDMI。,ARM10TDMI采用提高时钟速率、6级流水线、分支预测逻辑、64位存储器和无阻塞的存/取逻辑等措施,使ARM10TDMI的性能得到很大提高,是目前高档ARM
20、体系结构的处理器内核。,流水线结构,3.1.4 ARM处理器核,在最基本的ARM处理器内核基础上,可增加Cache、存储器管理单元MMU、协处理器CP15、AMBA接口以及EMT宏单元等,构成ARM处理器核。以ARM7TDMI处理器内核为基础的有:ARM720T处理器核 ARM740T处理器核 以ARM9TDMI处理器内核为基础的有:ARM920T处理器核 ARM940T处理器核,ARM720T,ARM720T处理器核是在ARM7TDMI处理器内核基础上,增加8KB的数据与指令Cache,支持段式和页式存储的MMU、写缓冲器及AMBA接口构成。,ARM740T,ARM740T处理器核与ARM7
21、20T处理器核相比,结构基本相同,但ARM740处理器核没有存储器管理单元MMU,不支持虚拟存储器寻址;而是用存储器保护单元来提供基本保护和Cache的控制。这为低价格低功耗的嵌入式应用提供了合适的处理器核。由于在嵌入式应用中运行固定软件,也不需要进行地址变换,所以可以省去地址变换后备缓冲器TLB。,ARM920T,ARM920T处理器核是在ARM9TDMI处理器内核基础上,增加了分离式的指令Cache和数据Cache,并带有相应的存储器管理单元I-MMU和D-MMU、写缓冲器及AMBA接口等。,ARM920T处理器核特性:工艺:0.25m;金属布线:4层;电压:2.5V;管子数:2 500
22、000只;核芯片面积:2325 mm2;时钟:0200MHz;MIPS:220;功耗:560mW;MIPS/W:390。,ARM920T,特性,ARM940T,ARM940T处理器核与ARM740T处理器核相似,采用了ARM9TDMI处理器内核,是ARM920T处理器核的简化。没有存储器管理单元MMU,不支持虚拟存储器寻址,而是用有储器保护单元来提供存储保护和Cache控制。ARM940T的存储保护单元结构与ARM740T的基本相同。,主要内容,1,3,2,4,ARM体系结构概述,编程模型,ARM基本寻址方式,ARM指令集,5,ARM9TDMI内核,6,ARM9与ARM7的比较,ARM920T
23、核,7,3.2.1 数据类型,ARM处理器支持下列数据类型:Byte 字节,8位;Halfword 半字,16位(半字必须与2字节边界对准);Word 字,32 位(字必须与4字节边界对准)。,3.2.2 处理器模式,ARM体系结构支持7种处理器模式。,处理器模式分类,处理器模式,用户模式,特权模式,异常模式,系统模式,FIQIRQ管理中止未定义,3.2.3 处理器工作状态,ARM处理器有两种工作状态:ARM:32位,这种状态下执行字对准的ARM指令;Thumb:16位,这种状态下执行半字对准的Thumb指令。,ARM处理器在两种工作状态之间可以切换。ARM和Thumb之间状态的切换不影响处理
24、器的模式或寄存器的内容。(1)进入Thumb状态。当操作数寄存器的状态位(位0)为1时,执行BX指令进入Thumb状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQFIQUndefAbort和 SWI)返回时,自动转换到Thumb状态。(2)进入ARM状态。当操作数寄存器的状态位(位0)为0时,执行BX指令进入ARM状态。处理器进行异常处理(IRQFIQResetUndef Abort和SWI)。在此情况下,把PC放入异常模式链接寄存器中。从异常向量地址开始执行也可以进入ARM状态。,3.2.4 寄存器组织,ARM处理器总共有37个寄存器:31个通用寄存器,包括程序计数器(PC)。
25、这些寄存器是32位的。6个状态寄存器。这些寄存器也是32位的,但只使用了其中的12位。,通用寄存器,通用寄存器(R0R15)可分成3类:不分组寄存器R0R7:在所有的处理器模式下,它们每一个都访问一样的32位物理寄存器。分组寄存器R8R14:它们每一个访问的物理寄存器取决于当前的处理器模式。每种处理器模式有专用的分组寄存器用于快速异常处理。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LR。寄存器R8R12各有两组物理寄存器。一组为FIQ模式,另一组为除FIQ以外的其它模式。寄存器R13、R14各有6个分组的物理寄存器。1个用于用户模式和系统模式,而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统技术 嵌入式 系统 技术 ppt 课件 ARM 体系结构
链接地址:https://www.31ppt.com/p-3965492.html