第3章ARM体系结构 4学时.ppt

上传人:priceawful190 文档编号:388510 上传时间:2018-10-12 格式:PPT 页数:71 大小:1.37MB
下载 相关 举报
第3章ARM体系结构 4学时.ppt_第1页
第1页 / 共71页
第3章ARM体系结构 4学时.ppt_第2页
第2页 / 共71页
第3章ARM体系结构 4学时.ppt_第3页
第3页 / 共71页
第3章ARM体系结构 4学时.ppt_第4页
第4页 / 共71页
第3章ARM体系结构 4学时.ppt_第5页
第5页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

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

3、4、如何分工,共71页,9,从上图可知由生产厂商负责的部分为两个层次:,一个层次为CPU及通用接口和功能模块;另一个层次为与应用相关且较为通用的接口和功能模块。,由精通计算机系统结构的研发人员专门来完成核心部分的研发工作(深阴影部分CPU和通用功能模块)。,共71页,10,由熟悉应用及生产销售的芯片生产厂商来完成在核心基础上的二次开发(浅阴影部分嵌入式处理器内置接口)及芯片的生产。,核心的研发者既不设计芯片,也不生产芯片,其产品只是一种处理器的体系结构及微处理器和相关功能模块的知识产权(Intellectual Property,IP)。,共71页,11,半导体芯片生产厂商向核心的研发者购买知

4、识产权的使用权,然后根据市场的需求,在购得的知识产权基础上进行二次开发来生产适合各种类型应用的嵌入式处理器芯片。,将上图中的CPU部分叫做处理器核。,把处理器核与其通用功能模块的组合叫做处理器。,共71页,12,把在处理器基础上经芯片厂商二次开发,以芯片形式提供的用于嵌入式系统的产品叫做嵌入式处理器。,IP商提供的是处理器核和处理器的知识产权,而半导体芯片生产厂商生产的则是嵌入式处理器芯片。,世界上知名的IP商当属 ARM 公司和MIPS 公司。,共71页,13,采用ARM核的嵌入式处理器占据了世界嵌入式处理器市场份额的70%以上。,提供ARM处理器知识产权的ARM公司与嵌入式处理器生产厂商之

5、间的关系如下图所示:,共71页,14,一种使用了ARM处理器的嵌入式处理器芯片的示意图如下:,Advanced High Performance Bus,Advanced Peripheral Bus,共71页,15,部分使用ARM核和处理器IP来生产产品的厂商的部分产品如下表所示:,共71页,16,共71页,17,3.2 ARM处理器核的结构,ARM处理器核的结构如图所示:,共71页,18,共71页,19,1、算术逻辑运算单元ALU,ALU是一个可以进行算术和逻辑运算的电路,是处理器进行运算的核心部件。,2、桶式移位寄存器,为了加速数据的移位运算,ARM采用了如下所示的桶式移位寄存器。,共7

6、1页,20,共71页,21,优点:移位操作的速度快,且移位操作所耗费的时间与移动的位数无关。,3、高速乘法器,ARM把传统的根据一位乘数“加-移位”的乘法运算方法改为根据两位乘数“加-移位”方法,提高乘法运算速度。,4、寄存器,共71页,22,ARM处理器共有 37 个 32 位寄存器。,4、指令流水线,目前ARM采用的指令流水线有3级、5级、6级、8级几种。,共71页,23,3.3 冯.诺依曼结构及哈佛结构在ARM中的应用,1、冯.诺依曼结构,冯.诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。,程序指令和数据的宽度相同。,共71页,24,ARM7采用

7、了冯.诺依曼结构。,2、哈佛结构,哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。,程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。,共71页,25,哈佛结构的处理器通常具有较高的执行效率。ARM9、ARM10和ARM11属于哈佛结构。,共71页,26,3.4 ARM处理器的运行模式,ARM处理器可以为程序提供 7种 不同的硬件资源组合,每一种硬件资源组合都叫做一种运行模式。,ARM共有7种运行模式,如下表所示:,共71页,27,共71页,28,用户模式是一种只为用户程序提供了有限硬件资源的运行模式。,但对于操作系统,这类负责系统底层管理工作的软件,系统资源的开放程度就要

8、大得多。相对于用户模式来说,这种对于硬件资源的使用有某种特权的运行模式叫做特权模式。,共71页,29,根据处理器硬件资源开放的具体情况,ARM把特权模式分成 6 种,特权模式中还分为系统模式和异常模式,见下:,ARM处理器 运行模式,用户模式(USR),特权模式,共71页,30,特权 模式,系统模式(SYS),异常 模式,管理模式(SVC),快中断模式(FIQ),中断模式(IRQ),中止模式(ABT),未定义指令中止模式(UND),共71页,31,ARM 处理器的运行模式是由程序状态寄存器 PSR 的 D0D4 位的值来决定的。除用户模式之外的其他运行模式都可以通过修改这 5 位值的方法来切换

9、处理器的运行模式。,共71页,32,3.5 ARM的两种工作状态,ARM体系结构有两个不同的指令集: 32位的ARM指令集和16位的Thumb指令集。,ARM处理器有两种工作状态:ARM状态和Thumb状态。,ARM状态下,处理器执行32位ARM指令;Thumb状态下,处理器则执行Thumb指令。,共71页,33,ARM处理器的工作状态由程序状态寄存器 CPSR 的 D5 位的值来决定,ARM指令集和Thumb指令集都设有处理器工作状态切换指令。,启动时,处理器的默认状态为ARM状态。,共71页,34,3.6 ARM处理器的寄存器,ARM处理器共有 37 个寄存器,根据处理器的工作状态,这 3

10、7 个寄存器有两种不同的组织方式:ARM方式和Thumb方式。,37 个寄存器的组织如下所示:,共71页,35,共71页,36,3.6.1 ARM状态下寄存器的组织方式,ARM处理器有 37 个寄存器,但根据处理器的运行模式,程序能够真正使用的只是其中的 18 个或 17 个。,1、基本寄存器,把两种及两种以上运行模式所共享的寄存器叫做基本寄存器。,共71页,37,基本寄存器包括:R0R15,CPSR。其中R0R7,R15,CPSR为所有运行模式共享;R8R12为除了快中断模式之外的其他所有运行模式共享;R13、R14为用户模式和系统模式所共享。(参见书64页图3-9),2、模式私有寄存器,A

11、RM为某些运行模式设置了一些只能在该运行模式下使用的私有寄存器。,共71页,38,模式私有寄存器的命名方式为:R_。(参见书62页表3-3),ARM规定,当处理器在某种模式运行时,凡是与该模式私有寄存器序号相同的基本寄存器将被禁用。,为了减少寄存器名称的数量,ARM还规定,寄存器名称统一写为“R”方式,但这个名称所对应的实际物理寄存器则与处理器当前运行模式有关。,共71页,39,3、程序计数器 R15(PC),在ARM中,基本寄存器R15固定地作为程序计数器来使用。为了提高程序的可读性,也通常使用 PC 来标识。,4、程序状态寄存器 PSR,基本寄存器R16专门用作程序状态寄存器。同样为了提高

12、程序的可读性,在程序中用 PSR 来标识他。,共71页,40,PSR的示意图和表示意义如下:,共71页,41,其余标志位的含义:,共71页,42,共71页,43,共71页,44,ARM处理器中有 6 个PSR,其中 1个 叫做当前状态寄存器 CPSR,是所有运行模式所共享的;另外 5 个 PSR 为私有模式,是用来对 CPSR 进行备份的寄存器,叫做 SPSR(Saved Program Status Register)。,由于用户模式和系统模式不属于异常模式,所以这两个模式没有 SPSR。,共71页,45,5、堆栈指针 R13(SP),因为 Thumb 指令集中有某些指令强制性的要求使用寄存

13、器 R13 作为堆栈指针,所以寄存器 R13 也通常被用作堆栈指针 SP。,ARM的每种运行模式都可以有自己的堆栈。,6、连接寄存器 R14(LR),共71页,46,寄存器 R14 也叫做子程序连接寄存器(Subroutine Link Register),或连接寄存器 LR。,当执行子程序调用指令 BL 时,R14会备份 R15 (程序计数器PC)的内容,以便子程序结束后能使程序正确返回。,3.6.2 Thumb状态下寄存器的组织方式,共71页,47,Thumb 状态下的寄存器同样也分为模式相关寄存器和模式无关寄存器两种,其命名及使用方式与 ARM 状态下方式一样。,但 Thumb 状态下的

14、寄存器是 ARM 状态下寄存器集的一个子集。,7 种模式中 R12R8 都没有使用,参见教材 66页表3-6。,共71页,48,在 Thumb 状态下,高端寄存器R8R15 并不是 Thumb 状态标准寄存器集的一部分,但在汇编语言程序设计中可以受限制的访问这些寄存器。具体使用方法请参见其它资料。,共71页,49,3.7 存储器的组织,1、数据的存储方式,ARM 是一种 32 位处理器,即处理器的数据通常是以 32 位二进制数为基本单位的。ARM 中的一个 32 位数也叫做一个字(Word)。,ARM规定一个字所占的4个连续存储单元的第一个单元地址的低2位必须是00。,共71页,50,根据字的

15、 4 字节在 4 个存储单元中的存储顺序,ARM 提供了 2 种存储方式:,(1)小端方式。系统默认的是小端方式,即字的低位字节在地址的低端(小端)。,(2)大端方式。,共71页,51,共71页,52,2、ARM的堆栈组织方式,存储区域中的数据的读/写方式是按先进后出(First In Last Out,FILO)的原则来组织的,这种存储区域就叫做堆栈。,堆栈按照其生成方式分为2种:一种叫做地址递增式的堆栈;另一种是地址递减式的堆栈。,共71页,53,另外,按照堆栈指针的指向还分为空堆栈和满堆栈。,如果一个堆栈的堆栈指针一直指向将要存入数据的空单元,则该堆栈称为空堆栈。,而堆栈指针一直指向最后

16、存入数据所在的单元的堆栈,称为满堆栈。,共71页,54,根据堆栈的生成方式和满堆栈及空堆栈的区别,就有 4 种类型的堆栈工作方式:,(1)满递增堆栈,(2)满递减堆栈,(3)空递增堆栈,(4)空递减堆栈,共71页,55,ARM 支持全部这 4 种方式,在ARM 中,通常使用寄存器 R13 来作为堆栈指针 SP。,共71页,56,3.8 ARM体系结构的其他特点,3.8.1 灵活方便的协处理器接口,在ARM中可以通过ARM核的协处理器接口配置一个或多个协处理器的方法来增强ARM处理器的功能。,一个ARM核最多可以配置 16 个协处理器,每个协处理器都通过一个唯一的ID号来识别。,共71页,57,

17、用户应用程序可以通过一组专门的、提供 Load/Store 类型接口的ARM指令来对协处理器进行访问。,系统中可配置的协处理器及其用途如下:,共71页,58,ARM体系结构的 3 组总线:,(1)AHB(Advanced High Performance Bus)。,(2)ASB( Advanced System Bus )。,共71页,59,(3)APB( Advanced Peripheral Bus )。,可以方便地扩充各种处理器、DSP或I/O,把它们集成在一个芯片中。,3.8.2 嵌入式的在线仿真调试,大多数基于ARM的处理器嵌入了ICE-RT逻辑,以便通过JTAG来进行仿真调式。,

18、共71页,60,另外处理器中还可以嵌入跟踪宏单元ETM(Embedded Trace Macrocell),用于监控内部总线,以实时跟踪指令和数据的执行。,3.8.3 低电压低功耗的设计,ARM架构通过降低工作电压、减少门电路的翻转次数、降低时钟频率等措施,大大降低了处理器的功耗。,共71页,61,3.9 ARM体系结构的版本及处理器系列,3.9.1 ARM体系结构的版本,迄今为止,ARM体系结构定义了ARMv1ARMv6共 6 个版本。,通过增加一些特定功能,从而使各个版本还有一些变种版本,这些变种版本用在版本号的后面增加特定的大写字母来标识。,共71页,62,共71页,63,M 变种增加了

19、两条用于进行长乘法操作的ARM指令:一条为32位乘32位生成64位;另一种为32位乘32位,然后在加上32位生成64位。,在ARM体系版本4及其后的版本中,M变种是系统中的标准部分,故字符M不在版本标识中出现;但如果有变种版本中不支持长乘法指令,则在版本标识中用 XM 来标识。,共71页,64,虽然 ARM 的版本有 6 个,但是其中一些早期的版本已不在使用,目前仍然有效版本及特点如下所示:,共71页,65,共71页,66,3.9.2 ARM处理器系列,基于ARM体系结构的ARM处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore和Intel 公司的XScale等多个系列

20、。它们除了具有ARM体系结构的共同特点之外,每个系列还都有各自的特点和应用领域。,ARM处理器的命名规则如下:,共71页,67,ARMxyzTDMIEJF-S,x系列号;,y存储管理/保护单元;,zCache;,TThumb译码器;,DJTAG调试器;,M快速乘法器;,共71页,68,I嵌入式跟踪宏单元;,E强制指令(基于TDMI );,JJava加速器Jazelle;,F向量浮点单元;,S可综合版本;,下表为ARM处理器功能特性:,共71页,69,共71页,70,共71页,71,作 业,1、ARM处理器有几种运行模式?各是什么模式?,2、ARM处理器有几种工作状态?是什么状态?,3、目前以ARM处理器为内核生产嵌入式处理器的厂商有那些?请列出。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1