预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共116页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三讲ARM嵌入式微处理器体系结构 本节提要ARM微处理器概述ARMLtdARM公司成立于1981年,最初与英国广播公司合作为英国教育界设计小型机,当时采用的是美国的6502芯片。取得成功后,他们开始设计自己的芯片,受当时美国加洲大学伯克利分校提出的RISC思想的影响,他们设计的芯片也采用RISC体系结构,并命名为“AcornRISCMachine”。 ARM公司的第一款芯片ARM1在1985年被设计出来,次年又设计了真正实用的ARM2。ARM2具有32位数据总线和24位地址总线,带有16个寄存器。ARM2可能是当时最简化的32位微处理器,上面仅有30000个晶体管(4年前Motorola公司的68000则有68000个晶体管)。这种精简的结构使ARM2具有优异的低功耗特性,而性能则超过了同期Intel公司的286(134K个晶体管)。 1990年ARM公司另外组建了一个名为“AdvancedRISCMachines”的公司,专门从事ARM系列微处理器的开发。1998年ARM公司在伦敦证券交易所和NASDAQ上市。ARM7TDMI是ARM公司最成功的微处理器IP之一,至今在蜂窝电话领域已销售了数亿个微处理器。 DEC公司获得ARM公司授权设计并生产了StrongARM系列微处理器,这款CPU的主频达到了233MHz,而功率不到1瓦。后来DEC公司StrongARM部门被Intel公司并购,Intel公司用StrongARM取代了他们境况不佳的i860和i960体系,并在此基础上开发了新的体系结构XScale系列。 世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,Motorola、IBM、TI、Philips、VLSI、Atmel和Samsung等几十家大的半导体公司都获得了ARM公司的授权,生产形态各异的ARM芯片ARM处理器的技术优势ARM处理器的应用ARM处理器的3大特点如下: 小体积、低功耗、成本低、高性能; 16位/32位双指令集; 全球众多的合作伙伴。 当前ARM体系结构的扩充包括: Thumb:16位指令集,用以改善代码密度; DSP:用于DSP应用的算术运算指令集; Jazeller:允许直接执行Java代码的扩充。 ARM处理器系列提供的解决方案包括: 在无线、消费电子和图像应用方面的开放平台; 存储、自动化、工业和网络应用的嵌入式实时系统; 智能卡和SIM卡的安全应用。ARMARM微处理器系列1991-ARM推出第一款RISC嵌入式微处理器核ARM6 1993-ARM推出ARM7核 1995–ARM的Thumb扩展指令集结构为16位系统增加了32位的性能,提供业界领先的代码密度 ARM微处理器系列ARM处理器的分类v4ARMV4ARMv4TARMV5TEARMv5TEJARMv6ARMv7体系结构变化体系结构变化体系结构变化ARM7TDMIARM体系结构的命名规则ARM流水线ARM流水线的级数ARM流水线结构的发展ARM微处理器特性ARM处理器结构综述(一)ARM处理器结构综述(二)ARM处理器结构综述(三)ARM处理器结构综述(四)本节提要ARM内核的数据流模型最佳流水线LDR流水线举例数据和指令类型信息存储的字节顺序ARM存储数据类型存储器格式处理器的工作状态ARM微处理器:处理器工作状态处理器模式处理器工作模式(2)处理器工作模式(3)寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别Lable内部寄存器内部寄存器内部寄存器内部寄存器当处理器执行在ARM状态: 所有指令32bits宽 所有指令必须word对齐 所以pc值由bits[31:2]决定,bits[1:0]未定义(所以指令不能halfword/byte对齐). 当处理器执行在Thumb状态: 所有指令16bits宽 所有指令必须halfword对齐 所以pc值由bits[31:1]决定,bits[0]未定义(所以指令不能byte对齐). 当处理器执行在Jazelle状态: 所有指令8bits宽 处理器执行word存取一次取4条指令寄存器类别内部寄存器内部寄存器内部寄存器内部寄存器程序状态寄存器-1程序状态寄存器-2程序状态寄存器程序状态寄存器PSR的模式位ARM状态和Thumb状态之间寄存器的关系本节提要异常和中断同步异常异步异常异常分类中断陷井故障终止ARM异常-1异常-2异常-3异常向量VectorTable进入异常的操作-2当异常结束时,异常处理程序必须: 1.将LR(R14)中的值减去偏移量后存入PC,偏移量根据异常的类型而有所不同; 2.将SPSR的值复制回CPSR;