嵌入式系统基础-第3章--ARM体系结构-PPT.ppt

上传人:可****阿 文档编号:92786596 上传时间:2023-06-14 格式:PPT 页数:70 大小:2.11MB
返回 下载 相关 举报
嵌入式系统基础-第3章--ARM体系结构-PPT.ppt_第1页
第1页 / 共70页
嵌入式系统基础-第3章--ARM体系结构-PPT.ppt_第2页
第2页 / 共70页
点击查看更多>>
资源描述

《嵌入式系统基础-第3章--ARM体系结构-PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统基础-第3章--ARM体系结构-PPT.ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、共 页 1第3章 ARM体系结构本章主要内容1、片上系统(System on Chip,SoC)与嵌入式处理器2、ARM体系结构概述3、ARM的2种状态和7种模式共 页 24、ARM的模式无关寄存器、模式相关寄存器和专用寄存器的组织5、ARM指令集和Thumb指令集概述6、基于ARM体系结构的嵌入式处理器共 页 33.1 ARM及其嵌入式处理器的研发与生产方式 ARM是ARMA(Advanced RISC Machine Limited)公司推出的一种RISC处理器体系结构及相关技术。在一个芯片上集中制作多个功能模块,这种芯片可以实现一个系统的功能,这种芯片叫做片上系统(System on C

2、hip,SoC)共 页 43.1.1 SoC与嵌入式处理器 计算机SoC的概念如下图所示:共 页 5 计算机的这种单片系统特别适合于嵌入式应用,所以这种SoC也叫做嵌入式处理器。3.1.2 嵌入式处理器的研发和生产方式 宿主对象的多样化,势必决定了嵌入式系统的多样化、个性化。1、在SoC技术出现之前共 页 6 CPU和与其配合的接口及功能模块都是单独的芯片。2、在SoC技术出现之后 单片系统。3、单片系统问题 提高效率,通用化和个性化,用户和芯片制造商如何分工。共 页 7共 页 84、如何分工共 页 9 从上图可知由生产厂商负责的部分分为两个层次:一个层次为CPU及通用接口和功能模块;另一个层

3、次为应用相关且较为通用的接口和功能模块。由精通计算机系统结构的研发人员专门来完成核心部分的研发工作(深阴影部分)。共 页 10 由熟悉应用及生产销售的芯片生产厂商来完成在核心基础上的二次开发(浅阴影部分)及芯片的生产。核心的研发者既不设计芯片,也不生产芯片,其产品只是一种处理器的体系结构及微处理器和相关功能模块的知识产权(Intellectual Property,IP)。共 页 11 半导体芯片生产厂商向核心的研发者购买知识产权的使用权,然后根据市场的需求,在购得的知识产权基础上进行二次开发来生产适合各种类型应用的嵌入式处理器芯片。将上图中的CPU部分叫做处理器核。把处理器核与其通用功能模块

4、的组合叫做处理器。共 页 12 把在处理器基础上经芯片厂商二次开发,以芯片形式提供的用于嵌入式系统的产品叫做嵌入式处理器。IP商提供的是处理器核和处理器的知识产权,而半导体芯片生产厂商生产的则是嵌入式处理器芯片。世界上知名的IP商当属ARM公司和MIPS公司。共 页 13 采用ARM核的嵌入式占据了世界嵌入式处理器市场份额的70%以上。提供ARM处理器知识产权的ARM公司与嵌入式处理器生产厂商之间的关系如下图所示:共 页 14 一种使用了ARM处理器的嵌入式处理器芯片的示意图如下:共 页 15 部分使用ARM核和处理器IP来生产产品的厂商的部分产品如下表所示:ARM核 公司名称 嵌入式处理器产

5、品ARM7TDMIATMEL AT91系列MCUHyundai 手持计算产品中的MCUOKI ML67000系列MCURohm Bu6616K ISDN处理器Sumsung KS32/KS71系列产品中的MCUSHARP LH77790手持计算产品中的MCU共 页 16ARM核 公司名称 嵌入式处理器产品ARM7TDMI Netsilicon NET+15/40/50的以太网的MCUARM710T/720T/740TLinkup System L720互联网处理器Hyundai GMS30C7201手持式计算产品中的MCU共 页 173.2 ARM处理器核的结构 ARM处理器核的结构如图所示:

6、共 页 181、算术逻辑运算单元ALU ALU是一个可以进行算术和逻辑运算的电路,是处理器进行运算的核心部件。2、桶式移位寄存器 为了加速数据的移位运算,ARM采用了如下所示的桶式移位寄存器。共 页 19共 页 20 优点:移位操作的速度快,且移位操作所耗费的时间与移动的位数无关。3、高速乘法器 ARM把传统的根据一位乘数“加-移位”的乘法运算方法改为根据两位乘数“加-移位”方法,提高乘法运算速度。4、寄存器共 页 21 ARM处理器共有37个32位寄存器。4、指令流水线 目前ARM采用的指令流水线有3级、5级、6级、8级几种。共 页 223.3 冯.诺依曼结构及哈佛结构在ARM中的应用1、冯

7、.诺依曼结构 冯.诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令和数据的宽度相同。共 页 23 ARM7采用了冯.诺依曼结构。2、哈佛结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。共 页 24 哈佛结构的处理器通常具有较高的执行效率。ARM9、ARM10和ARM11属于哈佛结构。共 页 253.4 ARM处理器的运行模式 ARM处理器可以为程序提供提供7种不同的硬件资源组合,每一种硬件资源组合都叫做一种运行模式。ARM共有7种运行模式,如下表所示:运行模式 说明用户模

8、式(USR)用户程序运行的模式快速中断模式(FIQ)当需要与外设进行高速数据传输时使用的模式共 页 26运行模式 说明中断模式(IRQ)用于普通中断处理的模式管理模式(SVC)操作系统使用的保护模式中止模式(ABT)当数据或指令预取出错时进入的模式系统模式(SYS)具有特权的操作系统任务运行的模式未定义指令中止模式(UND)当处理器试图执行未定义指令时进入的模式共 页 27 用户模式是一种只为用户程序提供了有限硬件资源的运行模式。但对于操作系统,这类负责系统底层管理工作的软件,系统资源的开放程度就要大得多。相对于用户模式来说,这种对于硬件资源的使用有某种特权的运行模式叫做特权模式。共 页 28

9、 根据处理器硬件资源开放的具体情况,ARM把特权模式分成6种,特权模式中还分为系统模式和异常模式,见下:ARM处理器运行模式用户模式(USR)特权模式共 页 29特权模式系统模式(SYS)异常模式系统模式(SYS)快中断模式(FIQ)中断模式(IRQ)中止模式(ABT)未定义指令中止模式(UND)共 页 30 ARM处理器的运行模式是由程序状态寄存器PSR的D0D4位的值来决定的。除用户模式之外的其他运行模式都可以通过修改这5位值的方法来切换处理器的运行模式。共 页 313.5 ARM的两种工作状态 ARM体系结构有两个不同的指令集:32位的ARM指令集和16位的Thumb指令集。ARM处理器

10、有两种工作状态:ARM状态和Thumb状态。ARM状态下,处理器执行32位32位ARM指令;Thumb状态下,处理器则执行Thumb指令。共 页 32 ARM处理器的工作状态由程序状态寄存器CPSR的D5位的值来决定,ARM指令集和Thumb指令集都设有处理器工作状态切换指令。启动时,处理器的默认状态为ARM状态。共 页 333.6 ARM处理器的寄存器 ARM处理器共有37个寄存器,根据处理器的工作状态,这37个寄存器有两种不同的组织方式:ARM方式和Thumb方式。37个寄存器的组织如下所示:共 页 34共 页 353.6.1 ARM状态下寄存器的组织方式 ARM处理器有37个寄存器,但根

11、据处理器的运行模式,程序能够真正使用的只是其中的18个或17个。1、基本寄存器 把两种及两种以上运行模式所共享的寄存器叫做基本寄存器。共 页 36 基本寄存器包括:R0R15,CPSR。其中R0R7,R15,CPSR为所有运行模式共享;R8R12为除了快中断模式之外的其他所有运行模式共享;R14、R14为用户模式和系统模式所共享。2、模式私有寄存器 ARM为某些运行模式设置了一些只能在该运行模式下使用的私有寄存器。共 页 37 模式私有寄存器的命名方式为R_。ARM规定,当处理器在某种模式运行时,凡是与该模式私有寄存器序号相同的基本寄存器将被禁用。为了减少寄存器名称的数量,ARM还规定,寄存器

12、名称统一写为“R”方式,但这个名称所对应的实际物理寄存器则与处理器当前运行模式有关。共 页 383、程序计数器R15(PC)在ARM中,基本寄存器R15固定地作为程序计数器来使用。为了提高程序的可读性,也通常使用PC来标识。4、程序状态寄存器PSR 基本寄存器R16专门用作程序状态寄存器。同样为了提高程序的可读性,在程序中用PSR来标识他。共 页 39 PSR的示意图和表示意义如下:MODE值 处理器运行模式 该模式下可访问的寄存器0b10000 用户模式(USR)PC,CPSR,R14R00b10001 FIQ模式(FIQ)PC,CPSR,SPSR_fiq,R14_fiqR8_fiq,R7R

13、00b10010 IRQ模式(IRQ)PC,CPSR,SPSR_irq,R14_irq,R13_irq,R12R0共 页 40MODE值 处理器运行模式 该模式下可访问的寄存器0b10011 管理模式(SVC)PC,CPSR,SPSR_svc,R14_svc,R13_svc,R12R00b10111 中止模式(ABT)PC,CPSR,SPSR_abt,R14_abt,R13_abt,R12R00b11011 未定义模式(UND)PC,CPSR,SPSR_und,R14_und,R13_und,R12R00b11111 系统模式 PC,CPSR(ARMv4及以上版本),R14R0共 页 41标志

14、位 含义I I=1表示禁止IRQ中断F F=1表示禁止FIQ中断T 对于ARM体系结构V5及以上版本的T系列处理器,当T=1时,程序运行于Thumb状态,否则运行于ARM状态。对于ARM体系结构V5及以上版本的非T系列处理器,当T=1时,执行下一条指令以引起未定义的指令异常;当T=0时,表示运行于ARM状态。N N=1表示运算的结果为负数;N=0表示运算的结果为正数或零共 页 42标志位 含义Z Z=1表示运算的结果为零;Z=0表示运算的结果为非零。C 当运算结果产生了进位时(无符号数溢出),C=1;否则C=0V V=1表示有溢出;V=0表示无溢出Q 在ARM v5及以上版本的E系列处理器中,

15、用Q标志位指示增强的DSP运算指令是否发生了溢出。在其他版本的处理器中,Q标志位无定义共 页 43 ARM处理器中有6个PSR,其中1个叫做当前状态寄存器CPSR,是所有运行模式所共享的另外5个PSR为私有模式,是用来对CPSR进行备份的寄存器,叫做SPSR(Saved Program Status Register)。由于用户模式和系统模式不属于异常模式,所以这两个模式没有SPSR。共 页 445、堆栈指针R13(SP)因为Thumb指令集中有某些指令强制性的要求使用寄存器R13作为堆栈指针,所以寄存器R13也通常被用作堆栈指针SP。ARM的每种运行模式都可以有自己的堆栈。6、连接寄存器R1

16、4(LR)共 页 45 寄存器R14也叫做子程序连接寄存器(Subroutine Link Register),或连接寄存器LR。当执行子程序调用指令BL时,R14会备份R15(程序计数器PC)的内容,以便子程序结束后能使程序正确返回。3.6.2 Thumb状态下寄存器的组织方式共 页 46 Thumb状态下的寄存器同样也分为模式相关寄存器和模式无关寄存器两种,其命名及使用方式与ARM状态下方式一样。但Thumb状态下的寄存器是ARM状态下寄存器集的一个子集。7种模式中R12R8都没有使用,具体参见教材P66页。共 页 47 在Thumb状态下,高端寄存器R8R15并不是Thumb状态标准寄存

17、器集的一部分,但在汇编语言程序设计中可以受限制的访问这些寄存器。具体使用方法请参见其它资料。共 页 483.7 存储器的组织1、数据的存储方式 ARM是一种32位处理器,几处理器的数据通常是以32位二进制数为基本单位的。ARM中的一个32位数也叫做一个字(Word)。ARM规定一个字所占的4个连续存储单元的第一个单元地址的低2位必须是00。共 页 49 根据字的4字节在4个存储单元中的存储顺序,ARM提供了2种存储方式:小端方式和大端方式。系统默认的是小端方式,即字的低位字节在地址的低端(小端)。共 页 50共 页 512、ARM的堆栈组织方式 存储区域中的数据的读/写方式是按先进后出(Fir

18、st In Last Out,FILO)的原则来组织的,这种存储区域就叫做堆栈。堆栈按照其生成方式分为2种:一种叫做地址递增式的堆栈;另一种是地址递减式的堆栈。共 页 52 另外,按照堆栈指针的指向还分为空堆栈和满堆栈。如果一个堆栈的堆栈指针一直指向将要存入数据的空单元,则该堆栈称为空堆栈。而堆栈指针一直指向最后存入数据所在的单元的堆栈,称为满堆栈。共 页 53 根据堆栈的生成方式和满堆栈及空堆栈的区别,就有4种类型的堆栈工作方式:(1)满递增堆栈(2)满递减堆栈(3)空递增堆栈(4)空递减堆栈共 页 54 ARM支持全部全部这4种方式,在ARM中,通常使用寄存器R13来作为堆栈指针SP。共

19、页 553.8 ARM体系结构的其他特点3.8.1 灵活方便的协处理器接口 在ARM中可以通过ARM核的协处理器接口配置一个或多个协处理器的方法来增强ARM处理器的功能。一个ARM核最多可以配置16个协处理器,每个协处理器都通过一个唯一的ID号来识别。共 页 56 用户应用程序可以通过一组专门的、提供Load/Store类型接口的ARM指令来对协处理器进行访问。系统中可配置的协处理器及其用途如下:协处理器的标识号 用途15 系统控制14 测试控制器138 保留共 页 57协处理器的标识号 用途74 可供采用ARM的芯片开发者使用30 保留 ARM体系结构的3组总线:AHB(Advanced H

20、igh Performance Bus)、ASB(Advanced System Bus)和APB(Advanced Peripheral Bus),可以方便地扩充各种处理器、DSP或I/O,把它们集成在一个芯片中。共 页 583.8.2 嵌入式的在线仿真调试 大多数基于ARM的处理器嵌入了ICE-RT逻辑,以便通过JTAG来进行仿真调式。另外处理器中还可以嵌入跟踪宏单元ETM(Embedded Trace Macrocell),用于监控内部总线,以实时跟踪指令和数据的执行。共 页 593.8.3 低电压低功耗的设计 ARM架构通过降低工作电压、减少门电路的翻转次数、降低时钟频率等措施,大大降

21、低了处理器的功耗。共 页 603.9 ARM体系结构的版本及处理器系列3.9.1 ARM体系结构的版本 迄今为止,ARM体系结构定义了ARMv1ARMv6个版本。通过增加一些特定功能,从而使各个版本还有一些变种版本,这些变种版本用在版本号的后面增加特定的大写字母来标识。共 页 61字符 含义T 变种版本支持16位的Thumb指令集M 变种版本支持长乘法指令J 变种版本支持JavaE 变种版本为增强型版本SIMD 变种版本支持媒体功能扩展共 页 62 M变种增加了两条用于进行长乘法操作的ARM指令:一条为32位乘32位生成64位;另一种为32位乘32位,然后在加上32位生成64位。在ARM体系版

22、本4及其后的版本中,M变种是系统中的标准部分,故字符M不在版本标识中出现;但如果有变种版本中不支持长乘法指令,则在版本标识中用XM来标识。共 页 63 虽然ARM的版本有6个,但是其中一些早期的版本已不在使用,目前仍然有效版本及特点如下所示:版本 内核实现实例 说明ARMv3 ARM6和ARM7DI 32位,独立的CPRS和SPSR,MMU,新增两个模式:位定义指令和中止ARMv3M ARM7M带有长乘法指令ARMv4XM StrongARM 不再支持26位寻址,新增了系统模式ARMv4共 页 64版本 内核实现实例 说明ARMv4T ARM7DMI和ARM9T 带有Thumb指令集ARMv5

23、TE ARM9E和ARM10E 增加了ARM和Thumb转换指令,额外的DSP类型指令,增强乘法指令,快速乘累加ARMv5TEJ ARM7JE和ARM926EJ 带有Java加速器ARMv6 ARM11 具有改进的多处理器指令,边界不对齐和混合大小端数据的处理,新的多媒体指令共 页 653.9.2 ARM处理器系列 基于ARM体系结构的ARM处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore和Intel 公司的XScale等多个系列。它们除了具有ARM体系结构的共同特点之外,每个系列还都有各自的特点和应用领域。ARM处理器的命名规则如下:共 页 66ARMxyzTDMI

24、EJF-Sx系列号;y存储管理/保护单元;zCache;TThumb译码器;DJTAG调试器;M快速乘法器器;共 页 67I嵌入式跟踪宏单元;E强制指令(基于TDMI);JJava加速器Jazelle;F向量浮点单元;S可综合版本;下表为ARM处理器功能特性:共 页 68处理器 MMU/MPU Cache Jazelle Thumb 版本 增强ARM7TDMI-有 V4t-ARM7EJ-S-有 有 v5TEJ 是ARM720T MMU 有-有 v4T-ARM920T MMU 有-有 V4T-ARM922T MMU 有-有 V4T-ARM926EJ-S MMU 有 有 有 V5TEJ 是ARM9

25、40T MPU 有-有 V4T-共 页 69处理器 MMU/MPU Cache Jazelle Thumb 版本 增强ARM946E-2 MPU 有-有 V5TE 是ARM966E-2-有-有 V5TE 是ARM1020E MMU 有-有 V5TE 是ARM1022E MMU 有-有 V5TE 是ARM1026EJ-S MMU 有 有 有 V5TE 是ARM1036J-S MMU 有 有 有 V6 是ARM1136JF-S MMU 有 有 有 V6 是共 页 70作 业1、ARM处理器有几种运行模式?各是什么模式?2、ARM处理器有几种工作状态?是什么状态?3、请上网查一下目前生产以ARM处理器为核心的嵌入式处理器的厂商有那些?产品的型号是什么?

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁