




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
共页,1,第3章ARM体系结构,本章主要内容,1、片上系统(SystemonChip,SoC)与嵌入式处理器,2、ARM体系结构概述,3、ARM的2种状态和7种模式,共页,2,4、ARM的模式无关寄存器、模式相关寄存器和专用寄存器的组织,5、ARM指令集和Thumb指令集概述,6、基于ARM体系结构的嵌入式处理器,共页,3,3.1ARM及其嵌入式处理器的研发与生产方式,ARM是ARMA(AdvancedRISCMachineLimited)公司推出的一种RISC处理器体系结构及相关技术。,在一个芯片上集中制作多个功能模块,这种芯片可以实现一个系统的功能,这种芯片叫做片上系统(SystemonChip,SoC),共页,4,3.1.1SoC与嵌入式处理器,计算机SoC的概念如下图所示:,共页,5,计算机的这种单片系统特别适合于嵌入式应用,所以这种SoC也叫做嵌入式处理器。,3.1.2嵌入式处理器的研发和生产方式,宿主对象的多样化,势必决定了嵌入式系统的多样化、个性化。,1、在SoC技术出现之前,共页,6,CPU和与其配合的接口及功能模块都是单独的芯片。,2、在SoC技术出现之后,单片系统。,3、单片系统问题,提高效率,通用化和个性化,用户和芯片制造商如何分工。,共页,7,共页,8,4、如何分工,共页,9,从上图可知由生产厂商负责的部分分为两个层次:,一个层次为CPU及通用接口和功能模块;另一个层次为应用相关且较为通用的接口和功能模块。,由精通计算机系统结构的研发人员专门来完成核心部分的研发工作(深阴影部分)。,共页,10,由熟悉应用及生产销售的芯片生产厂商来完成在核心基础上的二次开发(浅阴影部分)及芯片的生产。,核心的研发者既不设计芯片,也不生产芯片,其产品只是一种处理器的体系结构及微处理器和相关功能模块的知识产权(IntellectualProperty,IP)。,共页,11,半导体芯片生产厂商向核心的研发者购买知识产权的使用权,然后根据市场的需求,在购得的知识产权基础上进行二次开发来生产适合各种类型应用的嵌入式处理器芯片。,将上图中的CPU部分叫做处理器核。,把处理器核与其通用功能模块的组合叫做处理器。,共页,12,把在处理器基础上经芯片厂商二次开发,以芯片形式提供的用于嵌入式系统的产品叫做嵌入式处理器。,IP商提供的是处理器核和处理器的知识产权,而半导体芯片生产厂商生产的则是嵌入式处理器芯片。,世界上知名的IP商当属ARM公司和MIPS公司。,共页,13,采用ARM核的嵌入式占据了世界嵌入式处理器市场份额的70%以上。,提供ARM处理器知识产权的ARM公司与嵌入式处理器生产厂商之间的关系如下图所示:,共页,14,一种使用了ARM处理器的嵌入式处理器芯片的示意图如下:,共页,15,部分使用ARM核和处理器IP来生产产品的厂商的部分产品如下表所示:,共页,16,共页,17,3.2ARM处理器核的结构,ARM处理器核的结构如图所示:,共页,18,1、算术逻辑运算单元ALU,ALU是一个可以进行算术和逻辑运算的电路,是处理器进行运算的核心部件。,2、桶式移位寄存器,为了加速数据的移位运算,ARM采用了如下所示的桶式移位寄存器。,共页,19,共页,20,优点:移位操作的速度快,且移位操作所耗费的时间与移动的位数无关。,3、高速乘法器,ARM把传统的根据一位乘数“加-移位”的乘法运算方法改为根据两位乘数“加-移位”方法,提高乘法运算速度。,4、寄存器,共页,21,ARM处理器共有37个32位寄存器。,4、指令流水线,目前ARM采用的指令流水线有3级、5级、6级、8级几种。,共页,22,3.3冯.诺依曼结构及哈佛结构在ARM中的应用,1、冯.诺依曼结构,冯.诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。,程序指令和数据的宽度相同。,共页,23,ARM7采用了冯.诺依曼结构。,2、哈佛结构,哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。,程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。,共页,24,哈佛结构的处理器通常具有较高的执行效率。ARM9、ARM10和ARM11属于哈佛结构。,共页,25,3.4ARM处理器的运行模式,ARM处理器可以为程序提供提供7种不同的硬件资源组合,每一种硬件资源组合都叫做一种运行模式。,ARM共有7种运行模式,如下表所示:,共页,26,共页,27,用户模式是一种只为用户程序提供了有限硬件资源的运行模式。,但对于操作系统,这类负责系统底层管理工作的软件,系统资源的开放程度就要大得多。相对于用户模式来说,这种对于硬件资源的使用有某种特权的运行模式叫做特权模式。,共页,28,根据处理器硬件资源开放的具体情况,ARM把特权模式分成6种,特权模式中还分为系统模式和异常模式,见下:,ARM处理器运行模式,用户模式(USR),特权模式,共页,29,特权模式,系统模式(SYS),异常模式,系统模式(SYS),快中断模式(FIQ),中断模式(IRQ),中止模式(ABT),未定义指令中止模式(UND),共页,30,ARM处理器的运行模式是由程序状态寄存器PSR的D0D4位的值来决定的。除用户模式之外的其他运行模式都可以通过修改这5位值的方法来切换处理器的运行模式。,共页,31,3.5ARM的两种工作状态,ARM体系结构有两个不同的指令集:32位的ARM指令集和16位的Thumb指令集。,ARM处理器有两种工作状态:ARM状态和Thumb状态。,ARM状态下,处理器执行32位32位ARM指令;Thumb状态下,处理器则执行Thumb指令。,共页,32,ARM处理器的工作状态由程序状态寄存器CPSR的D5位的值来决定,ARM指令集和Thumb指令集都设有处理器工作状态切换指令。,启动时,处理器的默认状态为ARM状态。,共页,33,3.6ARM处理器的寄存器,ARM处理器共有37个寄存器,根据处理器的工作状态,这37个寄存器有两种不同的组织方式:ARM方式和Thumb方式。,37个寄存器的组织如下所示:,共页,34,共页,35,3.6.1ARM状态下寄存器的组织方式,ARM处理器有37个寄存器,但根据处理器的运行模式,程序能够真正使用的只是其中的18个或17个。,1、基本寄存器,把两种及两种以上运行模式所共享的寄存器叫做基本寄存器。,共页,36,基本寄存器包括:R0R15,CPSR。其中R0R7,R15,CPSR为所有运行模式共享;R8R12为除了快中断模式之外的其他所有运行模式共享;R14、R14为用户模式和系统模式所共享。,2、模式私有寄存器,ARM为某些运行模式设置了一些只能在该运行模式下使用的私有寄存器。,共页,37,模式私有寄存器的命名方式为R_。,ARM规定,当处理器在某种模式运行时,凡是与该模式私有寄存器序号相同的基本寄存器将被禁用。,为了减少寄存器名称的数量,ARM还规定,寄存器名称统一写为“R”方式,但这个名称所对应的实际物理寄存器则与处理器当前运行模式有关。,共页,38,3、程序计数器R15(PC),在ARM中,基本寄存器R15固定地作为程序计数器来使用。为了提高程序的可读性,也通常使用PC来标识。,4、程序状态寄存器PSR,基本寄存器R16专门用作程序状态寄存器。同样为了提高程序的可读性,在程序中用PSR来标识他。,共页,39,PSR的示意图和表示意义如下:,共页,40,共页,41,共页,42,共页,43,ARM处理器中有6个PSR,其中1个叫做当前状态寄存器CPSR,是所有运行模式所共享的另外5个PSR为私有模式,是用来对CPSR进行备份的寄存器,叫做SPSR(SavedProgramStatusRegister)。,由于用户模式和系统模式不属于异常模式,所以这两个模式没有SPSR。,共页,44,5、堆栈指针R13(SP),因为Thumb指令集中有某些指令强制性的要求使用寄存器R13作为堆栈指针,所以寄存器R13也通常被用作堆栈指针SP。,ARM的每种运行模式都可以有自己的堆栈。,6、连接寄存器R14(LR),共页,45,寄存器R14也叫做子程序连接寄存器(SubroutineLinkRegister),或连接寄存器LR。,当执行子程序调用指令BL时,R14会备份R15(程序计数器PC)的内容,以便子程序结束后能使程序正确返回。,3.6.2Thumb状态下寄存器的组织方式,共页,46,Thumb状态下的寄存器同样也分为模式相关寄存器和模式无关寄存器两种,其命名及使用方式与ARM状态下方式一样。,但Thumb状态下的寄存器是ARM状态下寄存器集的一个子集。,7种模式中R12R8都没有使用,具体参见教材P66页。,共页,47,在Thumb状态下,高端寄存器R8R15并不是Thumb状态标准寄存器集的一部分,但在汇编语言程序设计中可以受限制的访问这些寄存器。具体使用方法请参见其它资料。,共页,48,3.7存储器的组织,1、数据的存储方式,ARM是一种32位处理器,几处理器的数据通常是以32位二进制数为基本单位的。ARM中的一个32位数也叫做一个字(Word)。,ARM规定一个字所占的4个连续存储单元的第一个单元地址的低2位必须是00。,共页,49,根据字的4字节在4个存储单元中的存储顺序,ARM提供了2种存储方式:小端方式和大端方式。系统默认的是小端方式,即字的低位字节在地址的低端(小端)。,共页,50,共页,51,2、ARM的堆栈组织方式,存储区域中的数据的读/写方式是按先进后出(FirstInLastOut,FILO)的原则来组织的,这种存储区域就叫做堆栈。,堆栈按照其生成方式分为2种:一种叫做地址递增式的堆栈;另一种是地址递减式的堆栈。,共页,52,另外,按照堆栈指针的指向还分为空堆栈和满堆栈。,如果一个堆栈的堆栈指针一直指向将要存入数据的空单元,则该堆栈称为空堆栈。,而堆栈指针一直指向最后存入数据所在的单元的堆栈,称为满堆栈。,共页,53,根据堆栈的生成方式和满堆栈及空堆栈的区别,就有4种类型的堆栈工作方式:,(1)满递增堆栈,(2)满递减堆栈,(3)空递增堆栈,(4)空递减堆栈,共页,54,ARM支持全部全部这4种方式,在ARM中,通常使用寄存器R13来作为堆栈指针SP。,共页,55,3.8ARM体系结构的其他特点,3.8.1灵活方便的协处理器接口,在ARM中可以通过ARM核的协处理器接口配置一个或多个协处理器的方法来增强ARM处理器的功能。,一个ARM核最多可以配置16个协处理器,每个协处理器都通过一个唯一的ID号来识别。,共页,56,用户应用程序可以通过一组专门的、提供Load/Store类型接口的ARM指令来对协处理器进行访问。,系统中可配置的协处理器及其用途如下:,共页,57,ARM体系结构的3组总线:AHB(AdvancedHighPerformanceBus)、ASB(AdvancedSystemBus)和APB(AdvancedPeripheralBus),可以方便地扩充各种处理器、DSP或I/O,把它们集成在一个芯片中。,共页,58,3.8.2嵌入式的在线仿真调试,大多数基于ARM的处理器嵌入了ICE-RT逻辑,以便通过JTAG来进行仿真调式。,另外处理器中还可以嵌入跟踪宏单元ETM(EmbeddedTraceMacrocell),用于监控内部总线,以实时跟踪指令和数据的执行。,共页,59,3.8.3低电压低功耗的设计,ARM架构通过降低工作电压、减少门电路的翻转次数、降低时钟频率等措施,大大降低了处理器的功耗。,共页,60,3.9ARM体系结构的版本及处理器系列,3.9.1ARM体系结构的版本,迄今为止,ARM体系结构定义了ARMv1ARMv6个版本。,通过增加一些特定功能,从而使各个版本还有一些变种版本,这些变种版本用在版本号的后面增加特定的大写字母来标识。,共页,61,共页,62,M变种增加了两条用于进行长乘法操作的ARM指令:一条为32位乘32位生成64位;另一种为32位乘32位,然后在加上32位生成64位。,在ARM体系版本4及其后的版本中,M变种是系统中的标准部分,故字符M不在版本标识中出现;但如果有变种版本中不支持长乘法指令,则在版本标识中用XM来标识。,共页,63,虽然ARM的版本有6个,但是其中一些早期的版本已不在使用,目前仍然有效版本及特点如下所示:,共页,64,共页,65,3.9.2ARM处理器系列,基于ARM体系结构的ARM处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore和Intel公司的XScale等多个系列。它们除了具有ARM体系结构的共同特点之外,每个系列还都有各自的特点和应用领域。,ARM处理器的命名规则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防水施工安全教育协议
- 红利分享协议
- 页岩气合作协议
- 返修政策协议
- 广告服务投放协议详细
- 智慧医疗设备进销存管理系统合作协议
- 设备采购及安装调试服务协议细节
- 农村劳务合作及人力资源配置协议
- 离婚协议中财产分割及债务承担细则样本
- 文化创意产业股东投资入股合作协议书
- 餐饮从业人员有害生物防治知识培训
- 2025年浙江省交通投资集团公司招聘笔试参考题库含答案解析
- 临床研究分期介绍
- 《国父孙中山》课件
- 碳碳复合材料
- 回顾性临床研究
- 2025年民航气象中心公开招聘应届毕业生6人高频重点提升(共500题)附带答案详解
- 2025年上海奉贤区部分单位招考非编人员高频重点提升(共500题)附带答案详解
- 武昌实验中学2025届高三下第一次测试数学试题含解析
- 小学航空科普类课程设计
- 【MOOC】仪器分析-北京化工大学 中国大学慕课MOOC答案
评论
0/150
提交评论