第5、6节课(第3章第1节)_第1页
第5、6节课(第3章第1节)_第2页
第5、6节课(第3章第1节)_第3页
第5、6节课(第3章第1节)_第4页
第5、6节课(第3章第1节)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章ARM体系结构1主要内容1324ARM体系结构概述编程模型ARM基本寻址方式ARM指令集5ARM9TDMI内核6ARM9与ARM7的比较ARM920T核723.1.1ARM体系结构的特点

ARM即AdvancedRISCMachines的缩写。ARM公司1990年成立,是设计公司。ARM是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。ARM处理器的3大特点是:耗电少、成本低、功能强;16位/32位双指令集;全球众多合作伙伴保证供应。3

ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:

大的、统一的寄存器文件;

装载/保存结构,数据处理操作只针对寄存器的内容,而不直接对存储器进行操作;

简单的寻址模式;

统一和固定长度的指令域,简化了指令的译码,便于指令流水线设计。3.1.1ARM体系结构的特点43.1.1ARM体系结构的特点ARM体系结构的特点:RISC型处理器结构ARM/Thumb指令集多处理器状态模式(7种处理器模式)嵌入式在线仿真调试灵活和方便的接口ARM体系结构具有协处理器接口ARM处理器核还具有片上总线:AMBA(AHB/ASB/APB)低电压低功耗的设计53.1.1ARM体系结构的特点ARM目前的产品系列:ARM7ARM9ARM9EARM10SecurCoreARM11ARMCortex-A/R/M系列…通用处理器系列专门为安全设备设计的处理器系列63.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口771.ARM的体系结构由32位ALU、31个32位通用寄存器及6个状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。8

ALU由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。

ALU的逻辑结构9

ALU

每一时钟周期由双相时钟组成。ALU的最小数据通路周期由以下组成:寄存器读时间;移位器延迟;ALU延迟;寄存器写建立时间;双相时钟间非重叠时间。

ALU的数据通路时序10

桶形移位寄存器

为了减少移位的延迟时间,ARM采用了32×32位的桶形移位寄存器。这样,可以使左移/右移n位、环移n位和算术右移n位等都可以一次完成。11

高速乘法器

ARM为了提高运算速度,采用两位乘法的方法。两位乘法根据乘数的2位来实现“加-移位”运算。乘数An-1An: 00--原部分积S右移2位; 01--原部分积S加被乘数后右移2位; 10--原部分积S加2倍被乘数后,右移2位; 11--原部分积S加3倍被乘数后,右移2位。

2倍被乘数可通过将被乘数左乘1位来实现;3倍可看作4-1(11=100-1),故先减1倍被乘数,再加4倍被乘数来实现。4倍被乘数的操作实际上是在该2位乘数11的高1位乘数加“1”,且此“1”可暂存在Cout进位触发器中。

12

高速乘法器

ARM的高速乘法器采用32×8位的结构,内部结构如下:13

浮点部件

浮点部件是作为选件为ARM体系结构选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。14

控制器

ARM的控制器采用硬接线的可编程逻辑阵列PLA。输入端14根,输出40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器、ALU和移位器的控制。

15

寄存器ARM内含37个寄存器,其中:31个通用32位寄存器6个状态寄存器163.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口717

指令执行的阶段计算机中的1条指令的执行可以分若干个阶段:①取指,从存储器中取出指令(fetch);②译码,指令译码(dec):③取操作数,假定操作数从寄存器组中取(reg);④执行运算(ALU);⑤存储器访问,操作数与存储器有关(mem);⑥结果写回寄存器(res)。18

指令执行的阶段流水线的停顿相邻指令执行的数据相关性会产生指令执行的停顿。19

指令执行的阶段碰到分支类指令,则会使后面紧接该条指令的几条指令的执行都无效。遇到分支指令20

ARM体系结构的3级流水线ARM7体系结构采用了3级流水线,分为取指,译码和执行。下图是单周期3级流水线的操作示意图。21

ARM体系结构的3级流水线

由于取指的存储器访问和执行的数据通路占用都是不可同时共享的资源,因此对多周期指令来说,会产生流水线阻塞。如图3-12所示下图的阴影框周期都是与存储器访问有关的。因此在流水线设计中不允许重叠。22

ARM体系结构的5级流水线(ARM9体系结构的)5级流水线把存储器的取指与数据存取分开,增加了I-Cache和D-Cache以提高存储器存取的效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。这样,5级流水线分为:取指、指令译码、执行、数据缓存和写回。233.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口724

ARM存储器结构

ARM架构的处理器,有的带有指令Cache和数据Cache,但片内不带有片内RAM和片内ROM,系统所需的RAM和ROM须通过总线外接,如下图。253.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口726

ARM

I/O结构

ARM架构中的处理器核和处理器内核一般都没有I/O的部件和模块,构成ARM架构的处理器中的I/O可通过AMBA总线来扩充。(1)存储器映像I/OARM采用存储器映像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处理速率比较高的事件,系统安排快速中断FIQ(FastInterrupt),而对其余的I/O源仍安排一般中断IRQ。273.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口728

ARM协处理器接口

ARM为了便于片上系统SOC的设计,处理器内核尽可能精简,要增加系统的功能,可以通过协处理器来实现。在逻辑上,ARM可以扩展16个协处理器,每个协处理器可有16个寄存器。协处理器号功能15系统控制14调试控制器13~8保留7~4用户3~0保留

例如,MMU和保护单元的系统控制都采用CP15协处理器;JTAG调试中的协处理器为CP14。293.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口730

ARMAMBA接口

ARM处理器也可以通过先进微控制器总线架构AMBA(AdvancedMicrocontrollerBusArchitecture)来扩展不同体系架构的宏单元及I/O部件。AMBA事实上已成为片上总线OCB(OnChipBus)标准。AMBA包括以下三类总线:先进高性能总线AHB先进系统总线ASB先进外围总线APB313.1.2ARM处理器结构1324ARM的体系结构ARM的流水线结构ARM存储器结构ARMI/O结构5ARMAMBA接口6ARM协处理器接口ARMJTAG调试接口

732

JTAG调试接口的结构

由测试访问端口TAP(TestAccessPort)控制器、旁路(Bypass)寄存器、指令寄存器、数据寄存器以及与JTAG接口兼容的ARM架构处理器组成。33

JTAG的控制寄存器①测试访问端口TAP控制器对嵌入在ARM处理器核内部的测试功能电路进行访问控制,是一个同步状态机。通过测试模式选择信号TMS和时钟信号TCK来控制其状态机。②指令寄存器是串行移位寄存器,通过它可以串行输入执行各种操作的指令。③数据寄存器组是一组串行移位寄存器。操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的进行,测试结果被串行移出。其中:器件ID寄存器:读出在芯片内固化的ID号。旁路寄存器:1位移位寄存器,用1个时钟的延迟把TDI连至TDO,使测试者在同一电路板测试循环内访问其他器件。边界扫描寄存器(扫描链):截取ARM处理器核与芯片引脚之间所有信号,组成专用的寄存器位。34

JTAG测试信号TRST:测试复位输入信号,测试接口初始化。TCK:测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令,同时也为测试访问端口TAP控制器的状态机提供时钟。TMS:测试模式选择信号,控制测试接口状态机的操作。TDI,测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。TDO:测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。35

TAP状态机

测试访问端口TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑。状态转移图如右图:

36

JTAG接口控制指令

控制指令用于控制JTAG接口各种操作,控制指令包括公用(Public)指令和私有(Private)指令。最基本的公用指令有:BYPASS:旁路片上系统逻辑指令,用于未被测试的芯片,即把TDI与TPO旁路(1个时钟延迟)。EXTEST:片外电路测试指令,用于测试电路板上芯片之间的互连。IDCODE:读芯片ID码指令,用于识别电路板上的芯片。此时,ID寄存器在TDI与TDO引脚之间,在captureDR状态中,芯片的ID复制至该寄存器,然后在shiftDR状态中移出。INTEST:片内测试指令,边界扫描寄存器位于TDI与TDO引脚之间,处理器核逻辑输入和输出状态被该寄存器捕获和控制。373.1.3ARM处理器内核

ARM体系结构的处理器内核有:ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及ARM11TDMI等。38

ARM7TDMIARM7TDMI名字原义如下:ARM7ARM632位整数核的3V兼容的版本;T16位压缩指令集Thumb;D在片调试(Debug)支持,允许处理器响应调试请求暂停;M增强型乘法器(Multiplier),与以前处理器相比性能更高,产生全64位结果;I嵌入式ICE硬件提供片上断点和调试点支持。39ARM7TDMI体系结构图40

ARM7TDMI引脚图41

采用了3级流水线结构,指令执行分为取指、译码和执行等3个阶段;运算器能实现32位整数运算;采用了高效的乘法器,用32×8位乘法器实现32×32位乘法(结果为64位)。采用v4T版指令,支持16位Thumb指令集;嵌入式ICE(Embedded-ICE)模块为ARM7TDMI提供了片内调试功能。同时通过JTAG接口可以很方便地用PC主机对ARM7TDMI进行开发和调试。还提供了存储器接口、MMU接口、协处理器接口和调试接口,以及时钟与总线等控制信号。

ARM7TDMI主要特点42

ARM7TDMI主要性能指标工艺:0.35μm(新近采用0.25μm);金属布线:3层;电压:3.3V(新近采用1.2V、0.9V);管子数:74209只;内核芯片面积:2.1mm2;时钟:0~66MHz;MIPS:66;功耗:87mW;MIPS/W:690(采用0.25μm工艺,0.9V电压,可达1200MIPS/W)。43

ARM9TDMI主要性能指标工艺:025µm(0.18µm);金属布线:3层;电压:2.5V(1.2V);管子数:11100只;核芯片面积:2.1mm2;时钟:0~200MHz;MIPS:220;功耗:150mW;MIPS/W:1500。44

ARM9TDMI流水线结构ARM9TDMI处理器内核采用了5级流水线。45

ARM9TDMI主要特点采用指令和数据分离访问的方式,即采用了指令Cache和数据Cache。用专门硬件来直接完成ARM与Thumb指令的译码。ARM9TDMI也有协处理器接口,允许在芯片增加浮点、数字信号处理或其他专用的协处理器。ARM9TDMI也提供相应的软核。ARM9E-S是具有DSP功能的能执行v5TE版ARM指令的ARM9TDMI软核,当然其芯片面积要增加30%。在ARM9流水线设计中,增加专用流水段用于存储器访问和将结果写回到寄存器组。而且,寄存器读也移到译码段。这些改变通过减少在单一时钟周期内操作最大的逻辑数目,允许更高的时钟频率。46

ARM10TDMI

ARM10TDMI在系统结构上主要采用增加时钟速率和减少每条指令平均时钟周期数CPI(ClockPerInstruction)两大措施,以同样的工艺,同样的芯片面积,在性能上2倍于ARM9TDMI。

ARM10TDMI采用提高时钟速率、6级流水线、分支预测逻辑、64位存储器和无阻塞的存/取逻辑等措施,使ARM10TDMI的性能得到很大提高,是目前高档ARM体系结构的处理器内核。流水线结构473.1.4ARM处理器核

在最基本的ARM处理器内核基础上,可增加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论