arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构

上传人:E**** 文档编号:90569096 上传时间:2019-06-13 格式:PPT 页数:193 大小:4.12MB
返回 下载 相关 举报
arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构_第1页
第1页 / 共193页
arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构_第2页
第2页 / 共193页
arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构_第3页
第3页 / 共193页
arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构_第4页
第4页 / 共193页
arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构_第5页
第5页 / 共193页
点击查看更多>>
资源描述

《arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构》由会员分享,可在线阅读,更多相关《arm9嵌入式系统设计-基于S3C2410与LINUX课件参考书第3章ARM体系结构(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目前的产品系列:,ARM7 ARM9 ARM9E ARM10 SecurCore,通用处理器系列,专门为安全设备设计的处理器系列,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM

3、的流水线结构,ARM存储器结构,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的数据通路时序,桶形移位寄存器,为

4、了减少移位的延迟时间,ARM采用了3232位的桶形移位寄存器。这样,可以使左移/右移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

5、”可暂存在Cout进位触发器中。,高速乘法器,ARM的高速乘法器采用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/

6、O结构,5,ARM AMBA接口,6,ARM协处理器接口,ARM JTAG 调试接口,7,指令执行的阶段,计算机中的1条指令的执行可以分若干个阶段: 取指,从存储器中取出指令(fetch); 译码,指令译码(dec): 取操作数,假定操作数从寄存器组中取(reg); 执行运算(ALU); 存储器访问,操作数与存储器有关(mem); 结果写回寄存器(res)。,指令执行的阶段,流水线的停顿,相邻指令执行的数据相关性会产生指令执行的停顿。,指令执行的阶段,碰到分支类指令,则会使后面紧接该条指令的几条指令的执行都无效。,遇到分支指令,ARM体系结构的3级流水线,ARM7体系结构采用了3级流水线,分为

7、取指,译码和执行。下图是单周期3级流水线的操作示意图。,ARM体系结构的3级流水线,由于取指的存储器访问和执行的数据通路占用都是不可同时共享的资源,因此对多周期指令来说,会产生流水线阻塞。如图3-12所示下图的影印框周期都是与存储器访问有关的。因此在流水线设计中不允许重叠 。,ARM体系结构的5级流水线,5级流水线把存储器的取指与数据存取分开,增加了I-Cache和D-Cache以提高存储器存取的效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。 这样,5级流水线分为:取指、指令译码、执行、数据缓存和写回。,3.1.2 ARM处理器结构,1,3,2,4,ARM的体系结构,ARM的流水

8、线结构,ARM存储器结构,ARM I/O结构,5,ARM AMBA接口,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架构的处理

9、器中的I/O可通过AMBA总线来扩充。,(1)存储器映像I/O ARM采用存储器映像I/O的方式,即把I/O端口地址作为特殊的存储器地址。不过I/O的输入/输出与真正的存储器读/写仍然有所不同:存储器的单元重复读多次的值是一致的;而I/O设备的连续2次输入,其输入值可能会有所不同。 (2)直接存储器存取DMA 在I/O的数据流量比较大,中断处理比较频繁的场合,会明显影响系统的性能。因此,许多系统就采用了直接存储器存取DMA,这样,I/O的数据块传送至存储器的缓冲器区域就不需要处理器介入。而中断也仅仅出现在出现出错时或缓冲器满时。 (3)中断IRQ和快速中断FIQ 一般的ARM没有DMA的功能,

10、为了提高I/O处理的能力,对于一些要求I/O处理速率比较高的事件,系统安排快速中断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和保护单元的系统控制都采用C

11、P15协处理器; JTAG调试中的协处理器为CP14,即调试通信通道DCC(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)

12、标准。,AMBA包括以下三类总线: 先进高性能总线AHB 先进系统总线ASB 先进外围总线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处理器核内部的测试功能电路进行访问控制,是一个同步

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

14、的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令,同时也为测试访问端口TAP控制器的状态机提供时钟。 TMS:测试模式选择信号,控制测试接口状态机的操作。 TDI,测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。 TDO:测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。,TAP状态机,测试访问端口TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑。状态转移图如右图:,JTAG接口控制指令,控制指令用于控制JTAG接口各种操作,控制指令包括公用(Public)指令和私有(

15、Private)指令。最基本的公用指令有: BYPASS:旁路片上系统逻辑指令,用于未被测试的芯片,即把TDI与TPO旁路(1个时钟延迟)。 EXTEST:片外电路测试指令,用于测试电路板上芯片之间的互连。 IDCODE:读芯片ID码指令,用于识别电路板上的芯片。此时,ID寄存器在TDI与TDO引脚之间,在capture DR状态中,芯片的ID复制至该寄存器,然后在shift DR状态中移出。 INTEST:片内测试指令,边界扫描寄存器位于TDI与TDO引脚之间,处理器核逻辑输入和输出状态被该寄存器捕获和控制。,3.1.3 ARM处理器内核,ARM体系结构的处理器内核有:ARM7TDMI、AR

16、M8、ARM9TDMI、ARM10TDMI及ARM11TDMI等。,ARM7TDMI,ARM7TDMI名字原义如下: 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)模块为ARM7TDMI提供了片内调试功能。同时通过JTAG接口可以很方便地用PC主机对AR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号