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

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

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

1、共 页1第第3 3章章 ARMARM体系结构体系结构本章主要内容本章主要内容1 1、片上系统(、片上系统(System on ChipSystem on Chip,SoCSoC)与)与嵌入式处理器嵌入式处理器2 2、ARMARM体系结构概述体系结构概述3 3、ARMARM的的2 2种状态和种状态和7 7种模式种模式共 页24 4、ARMARM的模式无关寄存器、模式相关寄存的模式无关寄存器、模式相关寄存器和专用寄存器的组织器和专用寄存器的组织5 5、ARMARM指令集和指令集和ThumbThumb指令集概述指令集概述6 6、基于、基于ARMARM体系结构的嵌入式处理器体系结构的嵌入式处理器共 页

2、33.1 ARM3.1 ARM及其嵌入式处理器的研发与及其嵌入式处理器的研发与生产方式生产方式 ARMARM是是ARMAARMA(Advanced RISC Machine Advanced RISC Machine LimitedLimited)公司推出的一种)公司推出的一种RISCRISC处理器体处理器体系结构及相关技术。系结构及相关技术。在一个芯片上集中制作多个功能模块,在一个芯片上集中制作多个功能模块,这种芯片可以实现一个系统的功能,这种这种芯片可以实现一个系统的功能,这种芯片叫做片上系统(芯片叫做片上系统(System on ChipSystem on Chip,SoC SoC)共

3、页43.1.1 SoC3.1.1 SoC与嵌入式处理器与嵌入式处理器 计算机计算机SoCSoC的概念如下图所示:的概念如下图所示:共 页5 计算机的这种单片系统特别适合于嵌计算机的这种单片系统特别适合于嵌入式应用,所以这种入式应用,所以这种SoCSoC也叫做嵌入式处也叫做嵌入式处理器。理器。3.1.2 3.1.2 嵌入式处理器的研发和生产方式嵌入式处理器的研发和生产方式 宿主对象的多样化,势必决定了嵌宿主对象的多样化,势必决定了嵌入式系统的多样化、个性化。入式系统的多样化、个性化。1 1、在、在SoCSoC技术出现之前技术出现之前共 页6 CPU CPU和与其配合的接口及功能模块都和与其配合的

4、接口及功能模块都是单独的芯片。是单独的芯片。2 2、在、在SoCSoC技术出现之后技术出现之后 单片系统。单片系统。3 3、单片系统问题、单片系统问题 提高效率,通用化和个性化,用户提高效率,通用化和个性化,用户和芯片制造商如何分工。和芯片制造商如何分工。共 页7共 页84 4、如何分工、如何分工共 页9 从上图可知由生产厂商负责的部分分从上图可知由生产厂商负责的部分分为两个层次:为两个层次:一个层次为一个层次为CPUCPU及通用接口和功能模及通用接口和功能模块;另一个层次为应用相关且较为通用块;另一个层次为应用相关且较为通用的接口和功能模块。的接口和功能模块。由精通计算机系统结构的研发人员专

5、由精通计算机系统结构的研发人员专门来完成核心部分的研发工作(深阴影部门来完成核心部分的研发工作(深阴影部分)。分)。共 页10 由熟悉应用及生产销售的芯片生产厂由熟悉应用及生产销售的芯片生产厂商来完成在核心基础上的二次开发(浅阴商来完成在核心基础上的二次开发(浅阴影部分)及芯片的生产。影部分)及芯片的生产。核心的研发者既不设计芯片,也不生核心的研发者既不设计芯片,也不生产芯片,其产品只是一种处理器的体系结产芯片,其产品只是一种处理器的体系结构及微处理器和相关功能模块的知识产权构及微处理器和相关功能模块的知识产权(Intellectual PropertyIntellectual Propert

6、y,IPIP)。)。共 页11 半导体芯片生产厂商向核心的研发者半导体芯片生产厂商向核心的研发者购买知识产权的使用权,然后根据市场的购买知识产权的使用权,然后根据市场的需求,在购得的知识产权基础上进行二次需求,在购得的知识产权基础上进行二次开发来生产适合各种类型应用的嵌入式处开发来生产适合各种类型应用的嵌入式处理器芯片。理器芯片。将上图中的将上图中的CPUCPU部分叫做处理器核。部分叫做处理器核。把处理器核与其通用功能模块的组把处理器核与其通用功能模块的组合叫做处理器。合叫做处理器。共 页12 把在处理器基础上经芯片厂商二次开把在处理器基础上经芯片厂商二次开发,以芯片形式提供的用于嵌入式系统的

7、发,以芯片形式提供的用于嵌入式系统的产品叫做嵌入式处理器。产品叫做嵌入式处理器。IP IP商提供的是处理器核和处理器的知商提供的是处理器核和处理器的知识产权,而半导体芯片生产厂商生产的则识产权,而半导体芯片生产厂商生产的则是嵌入式处理器芯片。是嵌入式处理器芯片。世界上知名的世界上知名的IPIP商当属商当属ARMARM公司和公司和MIPSMIPS公司。公司。共 页13 采用采用ARMARM核的嵌入式占据了世界嵌入核的嵌入式占据了世界嵌入式处理器市场份额的式处理器市场份额的70%70%以上。以上。提供提供ARMARM处理器知识产权的处理器知识产权的ARMARM公司与公司与嵌入式处理器生产厂商之间的

8、关系如下图嵌入式处理器生产厂商之间的关系如下图所示:所示:共 页14 一种使用了一种使用了ARMARM处理器的嵌入式处理处理器的嵌入式处理器芯片的示意图如下:器芯片的示意图如下:共 页15 部分使用部分使用ARMARM核和处理器核和处理器IPIP来生产产来生产产品的厂商的部分产品如下表所示:品的厂商的部分产品如下表所示:ARMARM核核公司名称公司名称嵌入式处理器产品嵌入式处理器产品ARM7TDMIARM7TDMIATMELATMELAT91AT91系列系列MCUMCUHyundaiHyundai手持计算产品中的手持计算产品中的MCUMCUOKIOKIML67000ML67000系列系列MCU

9、MCURohmRohmBu6616K ISDNBu6616K ISDN处理器处理器SumsungSumsungKS32/KS71KS32/KS71系列产品中的系列产品中的MCUMCUSHARPSHARPLH77790LH77790手持计算产品中的手持计算产品中的MCUMCU共 页16ARMARM核核公司名称公司名称嵌入式处理器产品嵌入式处理器产品ARM7TDMIARM7TDMINetsiliconNetsiliconNET+15/40/50NET+15/40/50的以太网的的以太网的MCUMCUARM710T/720T/740TARM710T/720T/740TLinkup SystemLin

10、kup SystemL720L720互联网处理器互联网处理器HyundaiHyundaiGMS30C7201GMS30C7201手持式计算产手持式计算产品中的品中的MCUMCU共 页173.2 ARM3.2 ARM处理器核的结构处理器核的结构 ARM ARM处理器核的结构如图所示:处理器核的结构如图所示:共 页181 1、算术逻辑运算单元、算术逻辑运算单元ALUALU ALU ALU是一个可以进行算术和逻辑运算的是一个可以进行算术和逻辑运算的电路,是处理器进行运算的核心部件。电路,是处理器进行运算的核心部件。2 2、桶式移位寄存器、桶式移位寄存器 为了加速数据的移位运算,为了加速数据的移位运算

11、,ARMARM采用采用了如下所示的桶式移位寄存器。了如下所示的桶式移位寄存器。共 页19共 页20 优点:移位操作的速度快,且移位操优点:移位操作的速度快,且移位操作所耗费的时间与移动的位数无关。作所耗费的时间与移动的位数无关。3 3、高速乘法器、高速乘法器 ARM ARM把传统的根据一位乘数把传统的根据一位乘数“加加-移位移位”的乘法运算方法改为根据两位乘数的乘法运算方法改为根据两位乘数“加加-移位移位”方法,提高乘法运算速度。方法,提高乘法运算速度。4 4、寄存器、寄存器共 页21 ARM ARM处理器共有处理器共有3737个个3232位寄存器。位寄存器。4 4、指令流水线、指令流水线 目

12、前目前ARMARM采用的指令流水线有采用的指令流水线有3 3级、级、5 5级、级、6 6级、级、8 8级几种。级几种。共 页223.3 3.3 冯冯.诺依曼结构及哈佛结构在诺依曼结构及哈佛结构在ARMARM中的应用中的应用1 1、冯、冯.诺依曼结构诺依曼结构 冯冯.诺依曼结构也称为普林斯顿结构,诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合是一种将程序指令存储器和数据存储器合并在一起的存储器结构。并在一起的存储器结构。程序指令和数据的宽度相同。程序指令和数据的宽度相同。共 页23 ARM7 ARM7采用了冯采用了冯.诺依曼结构。诺依曼结构。2 2、哈佛结构、哈佛结构 哈佛结

13、构是一种将程序指令存储和数哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。据存储分开的存储器结构。程序指令存储和数据存储分开,可程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。以使指令和数据有不同的数据宽度。共 页24 哈佛结构的处理器通常具有较高的执哈佛结构的处理器通常具有较高的执行效率。行效率。ARM9ARM9、ARM10ARM10和和ARM11ARM11属于哈佛结属于哈佛结构。构。共 页253.4 ARM3.4 ARM处理器的运行模式处理器的运行模式 ARM ARM处理器可以为程序提供提供处理器可以为程序提供提供7 7种不种不同的硬件资源组合,每一种硬件资源组合同的

14、硬件资源组合,每一种硬件资源组合都叫做一种运行模式。都叫做一种运行模式。ARM ARM共有共有7 7种运行模式,如下表所示:种运行模式,如下表所示:运行模式运行模式说明说明用户模式(用户模式(USRUSR)用户程序运行的模式用户程序运行的模式快速中断模式(快速中断模式(FIQFIQ)当需要与外设进行高速数据传输时使当需要与外设进行高速数据传输时使用的模式用的模式共 页26运行模式运行模式说明说明中断模式(中断模式(IRQIRQ)用于普通中断处理的模式用于普通中断处理的模式管理模式(管理模式(SVCSVC)操作系统使用的保护模式操作系统使用的保护模式中止模式(中止模式(ABTABT)当数据或指令

15、预取出错时进入的模式当数据或指令预取出错时进入的模式系统模式(系统模式(SYSSYS)具有特权的操作系统任务运行的模式具有特权的操作系统任务运行的模式未定义指令中止模式未定义指令中止模式(UNDUND)当处理器试图执行未定义指令时进入的当处理器试图执行未定义指令时进入的模式模式共 页27 用户模式是一种只为用户程序提供了用户模式是一种只为用户程序提供了有限硬件资源的运行模式。有限硬件资源的运行模式。但对于操作系统,这类负责系统底层但对于操作系统,这类负责系统底层管理工作的软件,系统资源的开放程度就管理工作的软件,系统资源的开放程度就要大得多。相对于用户模式来说,这种对要大得多。相对于用户模式来

16、说,这种对于硬件资源的使用有某种特权的运行模式于硬件资源的使用有某种特权的运行模式叫做特权模式。叫做特权模式。共 页28 根据处理器硬件资源开放的具体情况,根据处理器硬件资源开放的具体情况,ARMARM把特权模式分成把特权模式分成6 6种,特权模式中还分种,特权模式中还分为系统模式和异常模式,见下:为系统模式和异常模式,见下:ARMARM处理器处理器运行模式运行模式用户模式(用户模式(USRUSR)特权模式特权模式共 页29特权特权模式模式系统模式(系统模式(SYSSYS)异常异常模式模式系统模式(系统模式(SYSSYS)快中断模式(快中断模式(FIQFIQ)中断模式(中断模式(IRQIRQ)

17、中止模式(中止模式(ABTABT)未定义指令中止模未定义指令中止模式(式(UNDUND)共 页30 ARM ARM处理器的运行模式是由程序状态寄处理器的运行模式是由程序状态寄存器存器PSRPSR的的D0D4D0D4位的值来决定的。除用户位的值来决定的。除用户模式之外的其他运行模式都可以通过修改模式之外的其他运行模式都可以通过修改这这5 5位值的方法来切换处理器的运行模式。位值的方法来切换处理器的运行模式。共 页313.5 ARM3.5 ARM的两种工作状态的两种工作状态 ARM ARM体系结构有两个不同的指令集:体系结构有两个不同的指令集:3232位的位的ARMARM指令集和指令集和1616位

18、的位的ThumbThumb指令集。指令集。ARM ARM处理器有两种工作状态:处理器有两种工作状态:ARMARM状态状态和和ThumbThumb状态。状态。ARMARM状态下,处理器执行状态下,处理器执行3232位位3232位位ARMARM指指令;令;ThumbThumb状态下,处理器则执行状态下,处理器则执行ThumbThumb指令。指令。共 页32 ARM ARM处理器的工作状态由程序状态寄处理器的工作状态由程序状态寄存器存器CPSRCPSR的的D5D5位的值来决定,位的值来决定,ARMARM指令集指令集和和ThumbThumb指令集都设有处理器工作状态切指令集都设有处理器工作状态切换指令

19、。换指令。启动时,处理器的默认状态为启动时,处理器的默认状态为ARMARM状状态。态。共 页333.6 ARM3.6 ARM处理器的寄存器处理器的寄存器 ARM ARM处理器共有处理器共有3737个寄存器,根据处个寄存器,根据处理器的工作状态,这理器的工作状态,这3737个寄存器有两种不个寄存器有两种不同的组织方式:同的组织方式:ARMARM方式和方式和ThumbThumb方式。方式。37 37个寄存器的组织如下所示:个寄存器的组织如下所示:共 页34共 页353.6.1 ARM3.6.1 ARM状态下寄存器的组织方式状态下寄存器的组织方式 ARM ARM处理器有处理器有3737个寄存器,但根

20、据处个寄存器,但根据处理器的运行模式,程序能够真正使用的只理器的运行模式,程序能够真正使用的只是其中的是其中的1818个或个或1717个。个。1 1、基本寄存器、基本寄存器 把两种及两种以上运行模式所共享的把两种及两种以上运行模式所共享的寄存器叫做基本寄存器。寄存器叫做基本寄存器。共 页36 基本寄存器包括:基本寄存器包括:R0R15R0R15,CPSRCPSR。其。其中中R0R7R0R7,R15R15,CPSRCPSR为所有运行模式共享;为所有运行模式共享;R8R12R8R12为除了快中断模式之外的其他所有为除了快中断模式之外的其他所有运行模式共享;运行模式共享;R14R14、R14R14为

21、用户模式和系为用户模式和系统模式所共享。统模式所共享。2 2、模式私有寄存器、模式私有寄存器 ARM ARM为某些运行模式设置了一些只能为某些运行模式设置了一些只能在该运行模式下使用的私有寄存器。在该运行模式下使用的私有寄存器。共 页37 模式私有寄存器的命名方式为模式私有寄存器的命名方式为RR_。ARM ARM规定,当处理器在某种模式运行时,规定,当处理器在某种模式运行时,凡是与该模式私有寄存器序号相同的基本凡是与该模式私有寄存器序号相同的基本寄存器将被禁用。寄存器将被禁用。为了减少寄存器名称的数量,为了减少寄存器名称的数量,ARMARM还还规定,寄存器名称统一写为规定,寄存器名称统一写为“

22、RR”方式,但这个名称所对应的实际物理寄方式,但这个名称所对应的实际物理寄存器则与处理器当前运行模式有关。存器则与处理器当前运行模式有关。共 页383 3、程序计数器、程序计数器R15R15(PCPC)在在ARMARM中,基本寄存器中,基本寄存器R15R15固定地作为固定地作为程序计数器来使用。为了提高程序的可读程序计数器来使用。为了提高程序的可读性,也通常使用性,也通常使用PCPC来标识。来标识。4 4、程序状态寄存器、程序状态寄存器PSRPSR 基本寄存器基本寄存器R16R16专门用作程序状态寄专门用作程序状态寄存器。同样为了提高程序的可读性,在程存器。同样为了提高程序的可读性,在程序中用

23、序中用PSRPSR来标识他。来标识他。共 页39 PSR PSR的示意图和表示意义如下:的示意图和表示意义如下:MODEMODE值值处理器运行模式处理器运行模式该模式下可访问的寄存器该模式下可访问的寄存器0b100000b10000 用户模式(用户模式(USRUSR)PCPC,CPSRCPSR,R14R0R14R00b100010b10001 FIQFIQ模式(模式(FIQFIQ)PCPC,CPSRCPSR,SPSR_fiqSPSR_fiq,R14_fiqR8_fiqR14_fiqR8_fiq,R7R0R7R00b100100b10010 IRQIRQ模式(模式(IRQIRQ)PCPC,CPS

24、RCPSR,SPSR_irqSPSR_irq,R14_irq,R14_irq,R13_irqR13_irq,R12R0R12R0共 页40MODEMODE值值处理器运行模式处理器运行模式该模式下可访问的寄存器该模式下可访问的寄存器0b100110b10011管理模式(管理模式(SVCSVC)PCPC,CPSRCPSR,SPSR_svcSPSR_svc,R14_svc,R14_svc,R13_svcR13_svc,R12R0R12R00b101110b10111中止模式(中止模式(ABTABT)PCPC,CPSRCPSR,SPSR_abtSPSR_abt,R14_abt,R14_abt,R13_

25、abtR13_abt,R12R0R12R00b110110b11011未定义模式未定义模式(UNDUND)PCPC,CPSRCPSR,SPSR_undSPSR_und,R14_und,R14_und,R13_undR13_und,R12R0R12R00b111110b11111系统模式系统模式PCPC,CPSRCPSR(ARMv4ARMv4及以上版本),及以上版本),R14R0R14R0共 页41标志位标志位含义含义I II=1I=1表示禁止表示禁止IRQIRQ中断中断F FF=1F=1表示禁止表示禁止FIQFIQ中断中断T T 对于对于ARMARM体系结构体系结构V5V5及以上版本的及以上版

26、本的T T系列处理器,系列处理器,当当T=1T=1时,程序运行于时,程序运行于ThumbThumb状态,否则运行于状态,否则运行于ARMARM状态。状态。对于对于ARMARM体系结构体系结构V5V5及以上版本的非及以上版本的非T T系列处理器,系列处理器,当当T=1T=1时,执行下一条指令以引起未定义的指令异常;时,执行下一条指令以引起未定义的指令异常;当当T=0T=0时,表示运行于时,表示运行于ARMARM状态。状态。N NN=1N=1表示运算的结果为负数;表示运算的结果为负数;N=0N=0表示运算的结果为正表示运算的结果为正数或零数或零共 页42标志位标志位含义含义Z ZZ=1Z=1表示运

27、算的结果为零;表示运算的结果为零;Z=0Z=0表示运算的结果为非零。表示运算的结果为非零。C C当运算结果产生了进位时(无符号数溢出),当运算结果产生了进位时(无符号数溢出),C=1C=1;否则否则C=0C=0V VV=1V=1表示有溢出;表示有溢出;V=0V=0表示无溢出表示无溢出Q Q在在ARM v5ARM v5及以上版本的及以上版本的E E系列处理器中,用系列处理器中,用Q Q标志位指标志位指示增强的示增强的DSPDSP运算指令是否发生了溢出。在其他版本运算指令是否发生了溢出。在其他版本的处理器中,的处理器中,Q Q标志位无定义标志位无定义共 页43 ARM ARM处理器中有处理器中有6

28、 6个个PSRPSR,其中,其中1 1个叫做个叫做当前状态寄存器当前状态寄存器CPSRCPSR,是所有运行模式所,是所有运行模式所共享的另外共享的另外5 5个个PSRPSR为私有模式,是用来对为私有模式,是用来对CPSRCPSR进行备份的寄存器,叫做进行备份的寄存器,叫做SPSRSPSR(Saved Saved Program Status RegisterProgram Status Register)。)。由于用户模式和系统模式不属于异常由于用户模式和系统模式不属于异常模式,所以这两个模式没有模式,所以这两个模式没有SPSRSPSR。共 页445 5、堆栈指针、堆栈指针R13R13(SPS

29、P)因为因为ThumbThumb指令集中有某些指令强制性指令集中有某些指令强制性的要求使用寄存器的要求使用寄存器R13R13作为堆栈指针,所以作为堆栈指针,所以寄存器寄存器R13R13也通常被用作堆栈指针也通常被用作堆栈指针SPSP。ARM ARM的每种运行模式都可以有自己的的每种运行模式都可以有自己的堆栈。堆栈。6 6、连接寄存器、连接寄存器R14R14(LRLR)共 页45 寄存器寄存器R14R14也叫做子程序连接寄存器也叫做子程序连接寄存器(Subroutine Link RegisterSubroutine Link Register),或连接),或连接寄存器寄存器LRLR。当执行子程

30、序调用指令当执行子程序调用指令BLBL时,时,R14R14会会备份备份R15R15(程序计数器(程序计数器PCPC)的内容,以便)的内容,以便子程序结束后能使程序正确返回。子程序结束后能使程序正确返回。3.6.2 Thumb3.6.2 Thumb状态下寄存器的组织方式状态下寄存器的组织方式共 页46 Thumb Thumb状态下的寄存器同样也分为模式状态下的寄存器同样也分为模式相关寄存器和模式无关寄存器两种,其命相关寄存器和模式无关寄存器两种,其命名及使用方式与名及使用方式与ARMARM状态下方式一样。状态下方式一样。但但ThumbThumb状态下的寄存器是状态下的寄存器是ARMARM状态下状

31、态下寄存器集的一个子集。寄存器集的一个子集。7 7种模式中种模式中R12R8R12R8都没有使用,具体都没有使用,具体参见教材参见教材P66P66页。页。共 页47 在在ThumbThumb状态下,高端寄存器状态下,高端寄存器R8R15R8R15并并不是不是ThumbThumb状态标准寄存器集的一部分,但状态标准寄存器集的一部分,但在汇编语言程序设计中可以受限制的访问在汇编语言程序设计中可以受限制的访问这些寄存器。具体使用方法请参见其它资这些寄存器。具体使用方法请参见其它资料。料。共 页483.7 3.7 存储器的组织存储器的组织1 1、数据的存储方式、数据的存储方式 ARM ARM是一种是一

32、种3232位处理器,几处理器的位处理器,几处理器的数据通常是以数据通常是以3232位二进制数为基本单位的。位二进制数为基本单位的。ARMARM中的一个中的一个3232位数也叫做一个字位数也叫做一个字(WordWord)。)。ARM ARM规定一个字所占的规定一个字所占的4 4个连续存储单个连续存储单元的第一个单元地址的低元的第一个单元地址的低2 2位必须是位必须是0000。共 页49 根据字的根据字的4 4字节在字节在4 4个存储单元中的存个存储单元中的存储顺序,储顺序,ARMARM提供了提供了2 2种存储方式:小端方种存储方式:小端方式和大端方式。系统默认的是小端方式,式和大端方式。系统默认

33、的是小端方式,即字的低位字节在地址的低端(小端)。即字的低位字节在地址的低端(小端)。共 页50共 页512 2、ARMARM的堆栈组织方式的堆栈组织方式 存储区域中的数据的读存储区域中的数据的读/写方式是按先写方式是按先进后出(进后出(First In Last OutFirst In Last Out,FILOFILO)的原)的原则来组织的,这种存储区域就叫做堆栈。则来组织的,这种存储区域就叫做堆栈。堆栈按照其生成方式分为堆栈按照其生成方式分为2 2种:一种种:一种叫做地址递增式的堆栈;另一种是地址递叫做地址递增式的堆栈;另一种是地址递减式的堆栈。减式的堆栈。共 页52 另外,按照堆栈指针

34、的指向还分为空另外,按照堆栈指针的指向还分为空堆栈和满堆栈。堆栈和满堆栈。如果一个堆栈的堆栈指针一直指向将如果一个堆栈的堆栈指针一直指向将要存入数据的空单元,则该堆栈称为空堆要存入数据的空单元,则该堆栈称为空堆栈。栈。而堆栈指针一直指向最后存入数据所而堆栈指针一直指向最后存入数据所在的单元的堆栈,称为满堆栈。在的单元的堆栈,称为满堆栈。共 页53 根据堆栈的生成方式和满堆栈及空堆根据堆栈的生成方式和满堆栈及空堆栈的区别,就有栈的区别,就有4 4种类型的堆栈工作方式:种类型的堆栈工作方式:(1 1)满递增堆栈)满递增堆栈(2 2)满递减堆栈)满递减堆栈(3 3)空递增堆栈)空递增堆栈(4 4)空

35、递减堆栈)空递减堆栈共 页54 ARM ARM支持全部全部这支持全部全部这4 4种方式,在种方式,在ARMARM中,中,通常使用寄存器通常使用寄存器R13R13来作为堆栈指针来作为堆栈指针SPSP。共 页553.8 ARM3.8 ARM体系结构的其他特点体系结构的其他特点3.8.1 3.8.1 灵活方便的协处理器接口灵活方便的协处理器接口 在在ARMARM中可以通过中可以通过ARMARM核的协处理器接核的协处理器接口配置一个或多个协处理器的方法来增强口配置一个或多个协处理器的方法来增强ARMARM处理器的功能。处理器的功能。一个一个ARMARM核最多可以配置核最多可以配置1616个协处理个协处

36、理器,每个协处理器都通过一个唯一的器,每个协处理器都通过一个唯一的IDID号号来识别。来识别。共 页56 用户应用程序可以通过一组专门的、用户应用程序可以通过一组专门的、提供提供Load/StoreLoad/Store类型接口的类型接口的ARMARM指令来对指令来对协处理器进行访问。协处理器进行访问。系统中可配置的协处理器及其用途如系统中可配置的协处理器及其用途如下:下:协处理器的标识号协处理器的标识号用途用途1515系统控制系统控制1414测试控制器测试控制器138138保留保留共 页57协处理器的标识号协处理器的标识号用途用途7474可供采用可供采用ARMARM的芯片开发者使用的芯片开发者

37、使用3030保留保留 ARM ARM体系结构的体系结构的3 3组总线:组总线:AHBAHB(Advanced High Performance BusAdvanced High Performance Bus)、)、ASBASB(Advanced System BusAdvanced System Bus )和)和APBAPB(Advanced Peripheral BusAdvanced Peripheral Bus ),可以方便),可以方便地扩充各种处理器、地扩充各种处理器、DSPDSP或或I/OI/O,把它们集,把它们集成在一个芯片中。成在一个芯片中。共 页583.8.2 3.8.2 嵌

38、入式的在线仿真调试嵌入式的在线仿真调试 大多数基于大多数基于ARMARM的处理器嵌入了的处理器嵌入了ICE-ICE-RTRT逻辑,以便通过逻辑,以便通过JTAGJTAG来进行仿真调式。来进行仿真调式。另外处理器中还可以嵌入跟踪宏单元另外处理器中还可以嵌入跟踪宏单元ETMETM(Embedded Trace MacrocellEmbedded Trace Macrocell),用),用于监控内部总线,以实时跟踪指令和数据于监控内部总线,以实时跟踪指令和数据的执行。的执行。共 页593.8.3 3.8.3 低电压低功耗的设计低电压低功耗的设计 ARM ARM架构通过降低工作电压、减少门电架构通过降

39、低工作电压、减少门电路的翻转次数、降低时钟频率等措施,大路的翻转次数、降低时钟频率等措施,大大降低了处理器的功耗。大降低了处理器的功耗。共 页603.9 ARM3.9 ARM体系结构的版本及处理器系列体系结构的版本及处理器系列3.9.1 ARM3.9.1 ARM体系结构的版本体系结构的版本 迄今为止,迄今为止,ARMARM体系结构定义了体系结构定义了ARMv1ARMv6ARMv1ARMv6个版本。个版本。通过增加一些特定功能,从而使各通过增加一些特定功能,从而使各个版本还有一些变种版本,这些变种版本个版本还有一些变种版本,这些变种版本用在版本号的后面增加特定的大写字母来用在版本号的后面增加特定

40、的大写字母来标识。标识。共 页61字符字符含义含义T T变种版本支持变种版本支持1616位的位的ThumbThumb指令集指令集M M变种版本支持长乘法指令变种版本支持长乘法指令J J变种版本支持变种版本支持JavaJavaE E变种版本为增强型版本变种版本为增强型版本SIMDSIMD变种版本支持媒体功能扩展变种版本支持媒体功能扩展共 页62 M M变种增加了两条用于进行长乘法操作变种增加了两条用于进行长乘法操作的的ARMARM指令:一条为指令:一条为3232位乘位乘3232位生成位生成6464位;位;另一种为另一种为3232位乘位乘3232位,然后在加上位,然后在加上3232位生位生成成64

41、64位。位。在在ARMARM体系版本体系版本4 4及其后的版本中,及其后的版本中,M M变种是系统中的标准部分,故字符变种是系统中的标准部分,故字符M M不在不在版本标识中出现;但如果有变种版本中不版本标识中出现;但如果有变种版本中不支持长乘法指令,则在版本标识中用支持长乘法指令,则在版本标识中用XMXM来来标识。标识。共 页63 虽然虽然ARMARM的版本有的版本有6 6个,但是其中一些个,但是其中一些早期的版本已不在使用,目前仍然有效版早期的版本已不在使用,目前仍然有效版本及特点如下所示:本及特点如下所示:版本版本内核实现实例内核实现实例说明说明ARMv3ARM6和和ARM7DI32位,独

42、立的位,独立的CPRS和和SPSR,MMU,新增两个模式:位,新增两个模式:位定义指令和中止定义指令和中止ARMv3MARM7M带有长乘法指令带有长乘法指令ARMv4XM StrongARM不再支持不再支持26位寻址,新增了位寻址,新增了系统模式系统模式ARMv4共 页64版本版本内核实现实例内核实现实例说明说明ARMv4TARMv4TARM7DMIARM7DMI和和ARM9TARM9T带有带有ThumbThumb指令集指令集ARMv5TEARMv5TEARM9EARM9E和和ARM10EARM10E增加了增加了ARMARM和和ThumbThumb转换转换指令,额外的指令,额外的DSPDSP类

43、型类型指令,增强乘法指令,指令,增强乘法指令,快速乘累加快速乘累加ARMv5TEJARMv5TEJ ARM7JEARM7JE和和ARM926EJARM926EJ 带有带有JavaJava加速器加速器ARMv6ARMv6ARM11ARM11具有改进的多处理器指具有改进的多处理器指令,边界不对齐和混合令,边界不对齐和混合大小端数据的处理,新大小端数据的处理,新的多媒体指令的多媒体指令共 页653.9.2 ARM3.9.2 ARM处理器系列处理器系列 基于基于ARMARM体系结构的体系结构的ARMARM处理器包括处理器包括ARM7ARM7、ARM9ARM9、ARM9EARM9E、ARM10EARM1

44、0E、SecurCoreSecurCore和和Intel Intel 公司的公司的XScaleXScale等多个系列。它们等多个系列。它们除了具有除了具有ARMARM体系结构的共同特点之外,每体系结构的共同特点之外,每个系列还都有各自的特点和应用领域。个系列还都有各自的特点和应用领域。ARM ARM处理器的命名规则如下:处理器的命名规则如下:共 页66ARMxyzTDMIEJF-SARMxyzTDMIEJF-Sx x系列号;系列号;y y存储管理存储管理/保护单元;保护单元;z zCacheCache;T TThumbThumb译码器;译码器;D DJTAGJTAG调试器;调试器;M M快速乘

45、法器器;快速乘法器器;共 页67I I嵌入式跟踪宏单元;嵌入式跟踪宏单元;E E强制指令(基于强制指令(基于TDMITDMI););J JJavaJava加速器加速器JazelleJazelle;F F向量浮点单元;向量浮点单元;S S可综合版本;可综合版本;下表为下表为ARMARM处理器功能特性:处理器功能特性:共 页68处理器处理器MMU/MPUMMU/MPUCacheCacheJazelleJazelleThumbThumb版本版本增强增强ARM7TDMIARM7TDMI-有有V4tV4t-ARM7EJ-SARM7EJ-S-有有有有v5TEJv5TEJ是是ARM720TARM720TMM

46、UMMU有有-有有v4Tv4T-ARM920TARM920TMMUMMU有有-有有V4TV4T-ARM922TARM922TMMUMMU有有-有有V4TV4T-ARM926EJ-SARM926EJ-SMMUMMU有有有有有有V5TEJV5TEJ是是ARM940TARM940TMPUMPU有有-有有V4TV4T-共 页69处理器处理器MMU/MPUMMU/MPUCacheCacheJazelleJazelleThumbThumb版本版本增强增强ARM946E-2ARM946E-2MPUMPU有有-有有V5TEV5TE是是ARM966E-2ARM966E-2-有有-有有V5TEV5TE是是ARM1

47、020EARM1020EMMUMMU有有-有有V5TEV5TE是是ARM1022EARM1022EMMUMMU有有-有有V5TEV5TE是是ARM1026EJ-SARM1026EJ-SMMUMMU有有有有有有V5TEV5TE是是ARM1036J-SARM1036J-SMMUMMU有有有有有有V6V6是是ARM1136JF-SARM1136JF-SMMUMMU有有有有有有V6V6是是共 页70作作 业业1 1、ARMARM处理器有几种运行模式?各是什么处理器有几种运行模式?各是什么模式?模式?2 2、ARMARM处理器有几种工作状态?是什么状处理器有几种工作状态?是什么状态?态?3 3、请上网查一下目前生产以、请上网查一下目前生产以ARMARM处理器为处理器为核心的嵌入式处理器的厂商有那些?产品核心的嵌入式处理器的厂商有那些?产品的型号是什么?的型号是什么?

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

当前位置:首页 > 教育专区 > 家庭教育

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

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