第5、6节课(第3章第1节)



《第5、6节课(第3章第1节)》由会员分享,可在线阅读,更多相关《第5、6节课(第3章第1节)(54页珍藏版)》请在文档大全上搜索。
1、第3章 ARM体系结构 1主要内容ARM体系结构概述 编程模型ARM基本寻址方式ARM指令集ARM9TDMI内核ARM9与ARM7的比较ARM920T核 23.1.1 ARM体系结构的特点 ARM即Advanced RISC Machines的缩写。ARM公司1990年成立,是设计公司。ARM是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。 ARM处理器的3大特点是:耗电少、成本低、功能强;16位/32位双指令集;全球众多合作伙伴保证供应。3 ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的
2、特点: 大的、统一的寄存器文件; 装载/保存结构,数据处理 操作只针对寄存器的内容,而不直接对存储器进行操作; 简单的寻址模式; 统一和固定长度的指令域,简化了指令的译码,便于指令流水线设计。3.1.1 ARM体系结构的特点43.1.1 ARM体系结构的特点ARM体系结构的特点:RISC型处理器结构ARM/Thumb指令集多处理器状态模式 (7种处理器模式)嵌入式在线仿真调试灵活和方便的接口ARM体系结构具有协处理器接口 ARM处理器核还具有片上总线: AMBA(AHB/ASB/APB) 低电压低功耗的设计 53.1.1 ARM体系结构的特点ARM目前的产品系列:ARM7ARM9ARM9EAR
3、M10SecurCoreARM 11ARM Cortex-A/R/M系列通用处理器系列专门为安全设备设计的处理器系列63.1.2 ARM处理器结构ARM的体系结构 ARM的流水线结构ARM存储器结构ARM I/O结构ARM AMBA接口ARM协处理器接口ARM JTAG 调试接口 71.ARM的体系结构由32位ALU、31个32位通用寄存器及6个状态寄存器、328位乘法器、3232位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。 8v ALU由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。 ALU的逻辑结构9v ALU 每一时钟周期由双相时钟组成。ALU的最
4、小数据通路周期由以下组成:寄存器读时间;移位器延迟;ALU延迟;寄存器写建立时间;双相时钟间非重叠时间。 ALU的数据通路时序10v 桶形移位寄存器 为了减少移位的延迟时间,ARM采用了3232位的桶形移位寄存器。这样,可以使左移/右移n位、环移n位和算术右移n位等都可以一次完成。 11v 高速乘法器 ARM为了提高运算速度,采用两位乘法的方法。两位乘法根据乘数的2位来实现“加-移位”运算。 乘数An-1An:00-原部分积S右移2位; 01-原部分积S加被乘数后右移2位; 10-原部分积S加2倍被乘数后,右移2位; 11-原部分积S加3倍被乘数后,右移2位。 2倍被乘数可通过将被乘数左乘1位
5、来实现;3倍可看作4-1(11100-1),故先减1倍被乘数,再加4倍被乘数来实现。4倍被乘数的操作实际上是在该2位乘数11的高1位乘数加“1”,且此“1”可暂存在Cout进位触发器中。 12v 高速乘法器 ARM的高速乘法器采用328位的结构,内部结构如下:13v 浮点部件 浮点部件是作为选件为ARM体系结构选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。 14v 控制器 ARM的控制器采用硬接线的可编程逻辑阵列PLA。输入端14根,输出40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器、ALU和移位器的控制。 15v 寄存器AR
6、M内含37个寄存器,其中:31个通用32位寄存器6个状态寄存器 163.1.2 ARM处理器结构ARM的体系结构 ARM的流水线结构ARM存储器结构ARM I/O结构ARM AMBA接口ARM协处理器接口ARM JTAG 调试接口 17v 指令执行的阶段计算机中的1条指令的执行可以分若干个阶段: 取指,从存储器中取出指令(fetch); 译码,指令译码(dec): 取操作数,假定操作数从寄存器组中取(reg); 执行运算(ALU); 存储器访问,操作数与存储器有关(mem); 结果写回寄存器(res)。 18v 指令执行的阶段流水线的停顿相邻指令执行的数据相关性会产生指令执行的停顿。 19v
7、指令执行的阶段碰到分支类指令,则会使后面紧接该条指令的几条指令的执行都无效。 遇到分支指令20v ARM体系结构的3级流水线 ARM7体系结构采用了3级流水线,分为取指,译码和执行。下图是单周期3级流水线的操作示意图。 21v ARM体系结构的3级流水线 由于取指的存储器访问和执行的数据通路占用都是不可同时共享的资源,因此对多周期指令来说,会产生流水线阻塞。如图3-12所示下图的阴影框周期都是与存储器访问有关的。因此在流水线设计中不允许重叠 。22v ARM体系结构的5级流水线 (ARM9体系结构的)5级流水线把存储器的取指与数据存取分开,增加了I-Cache和D-Cache以提高存储器存取的
8、效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。 这样,5级流水线分为:取指、指令译码、执行、数据缓存和写回。 233.1.2 ARM处理器结构ARM的体系结构 ARM的流水线结构ARM存储器结构ARM I/O结构ARM AMBA接口ARM协处理器接口ARM JTAG 调试接口 24v ARM存储器结构 ARM架构的处理器,有的带有指令Cache和数据Cache,但片内不带有片内RAM和片内ROM,系统所需的RAM和ROM须通过总线外接,如下图。 253.1.2 ARM处理器结构ARM的体系结构 ARM的流水线结构ARM存储器结构ARM I/O结构ARM AMBA接口ARM协处理器
9、接口ARM JTAG 调试接口 26v ARM I/O结构 ARM架构中的处理器核和处理器内核一般都没有I/O的部件和模块,构成ARM架构的处理器中的I/O可通过AMBA总线来扩充。 (1)存储器映像I/O ARM采用存储器映像I/O的方式,即把I/O端口地址作为特殊的存储器地址。不过I/O的输入/输出与真正的存储器读/写仍然有所不同:存储器的单元重复读多次的值是一致的;而I/O设备的连续2次输入,其输入值可能会有所不同。(2)直接存储器存取DMA 在I/O的数据流量比较大,中断处理比较频繁的场合,会明显影响系统的性能。因此,许多系统就采用了直接存储器存取DMA,这样,I/O的数据块传送至存储
10、器的缓冲器区域就不需要处理器介入,而中断也仅仅出现在出现出错时或缓冲器满时。(3)中断IRQ和快速中断FIQ 一般的ARM没有DMA的功能,为了提高I/O处理的能力,对于一些要求I/O处理速率比较高的事件,系统安排快速中断FIQ(Fast Interrupt),而对其余的I/O源仍安排一般中断IRQ。 273.1.2 ARM处理器结构ARM的体系结构 ARM的流水线结构ARM存储器结构ARM I/O结构ARM AMBA接口ARM协处理器接口ARM JTAG 调试接口 28v ARM协处理器接口 ARM为了便于片上系统SOC的设计,处理器内核尽可能精简,要增加系统的功能,可以通过协处理器来实现。