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

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

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

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

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

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

嵌入式系统设计与实例开发 —基于32位微处理器与实时操作系统 第三讲ARM嵌入式微处理器体系结构 本节提要嵌入式处理器概述嵌入式处理器评价指标(1)嵌入式处理器评价指标(2)本节提要ARM公司成立于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上市。1991-ARM推出第一款RISC嵌入式微处理器核ARM6 1993-ARM推出ARM7核 1995–ARM的Thumb扩展指令集结构为16位系统增加了32位的性能,提供业界领先的代码密度ARM微处理器系列ARMLtd知识产权核(IP核,intellectualproperty) ARM的IP核总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。ARM架构是面向低预算市场设计的第一款RISC微处理器。ARM即AdvancedRISCMachines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM处理器的3大特点如下: 小体积、低功耗、成本低、高性能; 16位/32位双指令集; 全球众多的合作伙伴。 当前ARM体系结构的扩充包括: Thumb:16位指令集,用以改善代码密度; DSP:用于DSP应用的算术运算指令集; Jazeller:允许直接执行Java代码的扩充。 ARM处理器系列提供的解决方案包括: 在无线、消费电子和图像应用方面的开放平台; 存储、自动化、工业和网络应用的嵌入式实时系统; 智能卡和SIM卡的安全应用。ARM微处理器特性ARM微处理器体系结构桶形移位寄存器32位乘法器的结构框图,其中32位被乘数放在R2中,运算开始时32位乘数放在R1中,运算结束时64位乘积的高位放在R0中,低位放在R1中,R0和R1串联移位。完成这个定点原码一位乘法的运算规则可以用如图所示的逻辑流程图表示。乘法器循环乘数yn-1yn乘数判断位yn-1ynARM采用32*8位结构!ARM处理器的技术优势数据和指令类型处理器模式处理器工作模式(2)处理器工作模式(3)寄存器类别不同模式寄存器的表示。 R13_<mode> R14_<mode> R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14 R14_svc R14_abt R14_und R14_irq R14_fiq寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别寄存器类别内部寄存器内部寄存器内部寄存器内部寄存器内部寄存器当处理器执行在ARM状态: 所有指令32bits宽 所有指令必须word对齐 所以pc值由bits[31:2]决定,bits[1:0]未定义(所以指令不能halfword/byte对齐). 当处理器执行在Thumb状态: 所有指令16bits宽 所有指令必须halfword对齐 所以pc值由bits[31:1]决定,bits[0]未定义(所以指令不能byte对齐). 寄存器类别内部寄存器内部寄存器程序状态寄存器程序状态寄存器ARM状态和Thumb状态之间寄存器的关系Thumb状态寄存器在Arm状态寄存器上的映射本节提要处理器模式异常和中断同步异常异步异常异常分类中断陷井故障终止异常向量VectorTable进入异常的操作程序状态寄存器当异常结束时,异常处理程序必须: 1.将LR(R14)中的值减去偏移量后存入PC,偏移量根据异常的类型而有所不同; 2.将SPSR的值复制回CPSR; 3.清零在入口置位的中断禁止标志。 注:恢复CPSR的动作会将T、F和I位自动恢复为异常发生前的值。进入/退出异常概述例子:用户模式到FIQ模式*程序A在异常处理结束后,异