ARM技术与ARM体系结构.ppt

上传人:小飞机 文档编号:5415686 上传时间:2023-07-05 格式:PPT 页数:44 大小:405.50KB
返回 下载 相关 举报
ARM技术与ARM体系结构.ppt_第1页
第1页 / 共44页
ARM技术与ARM体系结构.ppt_第2页
第2页 / 共44页
ARM技术与ARM体系结构.ppt_第3页
第3页 / 共44页
ARM技术与ARM体系结构.ppt_第4页
第4页 / 共44页
ARM技术与ARM体系结构.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《ARM技术与ARM体系结构.ppt》由会员分享,可在线阅读,更多相关《ARM技术与ARM体系结构.ppt(44页珍藏版)》请在三一办公上搜索。

1、配套教材:ARM嵌入式系统结构与编程,邱铁 编著,清华大学出版社,2009,3,ARM嵌入式系统结构与编程,第2章 ARM技术与ARM体系结构,本章主要介绍ARM处理器的产生及版本发展历史,以及各个版本的典型处理器及应用情况和性能分析;ARM处理器的内核调试结构,重点分析了ARM7TDMI-S、ARM9TDMI两种结构;ARM处理器的工作模式及寄存器组织结构,分析了在什么情况下进入到相应的工作模式;ARM处理器支持的内存数据存储格式,分为大端格式和小端格式;最后介绍了ARM7的三级流水线运行机制和ARM9的五级流水线运行机制。,内容提要,21 ARM体系结构版本与内核22 ARM内核模块23

2、ARM处理器的工作模式24 ARM内部寄存器25 ARM异常处理26 存储方式与存储器映射机制27 ARM流水线技术分析,21 ARM体系结构版本与内核,第一片ARM处理器是1983年10月到1985年4月 间在位于英国剑桥的Acorn Computer公司开发 1990年,ARM公司成立20世纪90年代,ARM快速进入世界市场1995年 StrongARM 问世 XScale是下一代StrongARM芯片的发展基础 ARM10TDMI是ARM处理器核中的高端产品 ARM11是ARM家族中性能最强的一个系列,211ARM体系结构版本,ARM7TDMI,4T,1,支持Halfword 和sign

3、ed halfword/byte 和System mode,支持Thumb指令集,2,4,ARM9TDMI,ARM720T,ARM940T,改良的ARM/Thumb 交互作用以及CLZ 指令,5TE,Saturated mathsDSP multiply-accumulate instructions,XScale,ARM1020E,ARM9E-S,ARM966E-S,3,早期的ARMs,ARM9EJ-S,5TEJ,ARM7EJ-S,ARM926EJ-S,Jazelle支持Java字节码,6,ARM11,SIMD,SISIMDMD,S,SIMD,7,ARM Cotex,第一阶段:版本V1、V2

4、、V3这3个早期ARM版本功能单一,没有大范围占领市场,主要是处于开发和实验阶段 第二阶段:从ARM4开始,ARM体系结构处于完善和提高阶段,版本4与以前版本相比增加了下列指令:有符号、无符号的半字和有符号字节的load和store指令。增加了T变种,处理器可以工作于Thumb状态,在该状态下的指令集是16位的Thumb指令集。增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。,版本5主要由两个变型版本5T、5TE组成 相比与版本4,版本5的指令集有了如下的变化:提高了T变种中ARM/Thumb混合使用的效率。增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更

5、为有效;增加了BKPT(软件断点)指令;为协处理器设计提供了更多的可供选择的指令;更加严格地定义了乘法指令对条件码标志位的影响。,ARM体系版本6是2001年发布的。新架构v6在降低耗电量的同时还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD功能,将语音及图像的处理功能提高到了原机型的4倍。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。,2.1.2 ARM体系结构的基本版本命名规则,ARMxyzTDMIEJF-S大括号内的字母是可选的,各个字母的含义如下:x系列号,例如ARM7中的“7”、ARM9中的“9”;y内部存储管理/保护单元,例如ARM72中的“2”、AR

6、M94中的“4”;z内含有高速缓存Cache;T技持16位的Thumb指令集;D支持JTAG片上调试;M支持用于长乘法操作(64位结果)的ARM指令,包含快速乘法器;I带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设置断点和观察点的调试硬件;,续,E增强型DSP指令(基于TDMI);J含有Java加速器Jazelle,与Java虚拟机相比,Java加速器Jazelle使Java代码运行速度提高了8倍,功耗降低到原来的80%;F向量浮点单元;S可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以被编译成一种易于EDA工具使用的形式。,ARM体系结构

7、的基本版本,2.2ARM内核模块,ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是ARM公司自己推出的调试工具,ARM调试结构,221ARM7TDMI-S内核结构,ARM7TDMI-S是一款32位嵌入式RISC处理器。它作为优化的硬核是性能、功耗和面积特性的最佳组合。使用ARM7TDMI核使得系统设计师能够设计出小尺寸、低功耗以及高性能的嵌入式设备。,ARM7TDMI,ARM7TDMI 是基于 ARM7 内核3 级流水线-0.9MIPS/MHz冯.诺依曼架构CPI(Cycle Per Instruction)约为1.9 T-Thumb 架构扩展,提

8、供两个独立的指令集:ARM 指令,均为 32位Thumb指令,均为 16位两种运行状态,用来选择哪个指令集被执行D-内核具有Debug扩展结构M-增强乘法器 支持64位结果.I-EmbeddedICE-RT逻辑-提供片上断点和调试点支持,ARM7TDMI 内核信号,ARM7TDMI 方框图,ARM7TDMI内核,TAP 控制器,JTAG 接口,数据总线,控制信号,D31:0,地址总线,A31:0,DIN31:0,DOUT31:0,BUSSplitter,EmbeddedICE逻辑,乘法器,ARM7TDMI 内核,指令解码,地址自增器,nRESET,nMREQ,SEQ,ABORT,nIRQ,nF

9、IQ,nRW,MAS1:0,LOCK,nCPI,CPA,CPB,nWAIT,MCLK,nOPC,BIGEND,ISYNC,nTRANS,nM4:0,D31:0,桶形移位器,32 位 ALU,DBE,写数据 寄存器,读数据 寄存器,地址寄存器,寄存器,A31:0,ABE,及,控制 逻辑,PC Update,解码站,指令 解码,Incrementer,PC,ABus,BBus,ALUBus,外部地址产生,PC31:2 ARM StatePC31:1 Thumb State,ALU31:0,INC,自增器,A31:0,向量,0 x1C,0 x00,地址寄存器,特 点:32/16 位RISC架构(AR

10、M v4T)。具有最高性能和灵活性的32位ARM指令集。代码紧凑的16位Thumb指令集。统一的总线接口,指令与数据都在32位总线上传输。3级流水线。32位算术逻辑单元(ALU)。极小的核心尺寸以及低功耗。完全的静态操作。协处理器接口。扩展的调试设备:,T标志位的作用,16,16,32-bit data,16,A1,Mux,Thumb指令解码,Mux,Mux,T标志,ARM指令解码,阶段 1,阶段 2,D31:0,0,1,1,0,Fetch,Decode,Execute,带Cache的ARM7TDMI,ARM710T8K 统一的 cache 完整的内存管理单元(mmu),支持虚拟地址和存储器保

11、护写缓冲,ARM720T同ARM710T,但支持 WinCEARM740T8K 统一的 cache内存管理单元写缓冲,ARM7TDMI内核,地址,地址,数据读,AMBA接口,写缓冲,MMU,数据写,数据,ARM7xxT,控制逻辑,Cache,AMBA总线接口,JTAG 和非 AMBA 信号,CP15,ARM7系列内核采用了三条流水线的内核结构,三级流水线分别为取指(Fetch)、译码(Decode)、执行(Execute),取指:将指令从存储器中取出,放入指令Cache中。译码:由译码逻辑单元完成,是将在上一步指令Cache中的指令进行解释,告诉CPU将如何操作。执行:这阶段包括移位操作、读通

12、用寄存器内容、输出结果、写通用寄存器等。,需要注意的是,PC指向正被取指的指令而不是正在执行的指令:,详细信息见教材ARM嵌入式系统结构与编程第16页,222 ARM9内核结构,ARM920是一款32位嵌入式RISC处理器内核。在指令操作上采用5级流水线.取指:从指令Cache中读取指令。译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据Cache)。寄存器回写:将指令运算或操作结果写回到目标寄存器中。,

13、ARM920 的5级流水线操作,2.3ARM处理器的工作模式,ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。,ARM处理器共有7种工作模式,1用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式2FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。,3IRQ模式:也称为普通中断

14、模式,:当一个低优先级(normal)中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的中断处理都在IRQ模式下进行。4SVC模式:称之为管理模式,它是一种操作系统保护模式。当复位或软中断指令执行时处理器将进入这种模式。,5中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。6未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。7系统模式:使用和User模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。,在这

15、7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式,每种异常都对应有自己的异常处理入口点。,2.4内部寄存器,ARM处理器共有37个寄存器,这些寄存器包括以下两类寄存器。(1)31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。(2)6个状态寄存器:状态寄存器也是32位的寄存器,但是目前只使用了其中的14位。,ARM 寄存器,寄存器组织概要,Usermoder0-r7,r15,andcpsr,r8,r9,r10,r11

16、,r12,r13(sp),r14(lr),spsr,FIQ,User,r13(sp),r14(lr),spsr,IRQ,Usermoder0-r12,r15,andcpsr,r13(sp),r14(lr),spsr,Undef,Usermoder0-r12,r15,andcpsr,r13(sp),r14(lr),spsr,SVC,Usermoder0-r12,r15,andcpsr,r13(sp),r14(lr),spsr,Abort,Usermoder0-r12,r15,andcpsr,Thumb stateLow registers,Thumb stateHigh registers,No

17、te:System模式使用user模式寄存器集,ARM 寄存器,ARM 有37个32-Bits长的寄存器.1 个用作PC(program counter)1个用作CPSR(current program status register)5个用作SPSR(saved program status registers)30 个通用寄存器,当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:相应的r0-r12子集相应的 r13(the stack pointer,sp)and r14(the link register,lr)相应的 r15(the program counter,pc)相应

18、的CPSR(current program status register,cpsr)特权模式(除system模式)还可以存取;相应的 spsr(saved program status register),程序状态寄存器,条件位:N=1-结果为负,0-结果为正或0Z=1-结果为0,0-结果不为0C=1-进位,0-借位V=1-结果溢出,0结果没溢出Q 位:仅ARM 5TE/J架构支持指示增强型DSP指令是否溢出J 位仅ARM 5TE/J架构支持J=1:处理器处于Jazelle状态,中断禁止位:I=1:禁止 IRQ.F=1:禁止 FIQ.T Bit仅ARM xT架构支持T=0:处理器处于 ARM

19、 状态T=1:处理器处于 Thumb 状态Mode位(处理器模式位):0b10000User0b10001FIQ0b10010IRQ0b10011Supervisor0b10111Abort0b11011Undefined0b11111System,当处理器执行在ARM状态:所有指令 32 bits 宽所有指令必须 word 对齐所以 pc值由bits 31:2决定,bits 1:0 未定义(所以指令不能halfword/byte对齐).,程序指针PC(r15),当处理器执行在Thumb状态:所有指令 16 bits 宽所有指令必须 halfword 对齐所以 pc值由bits 31:1决定,bits 0 未定义(所以指令不能 byte对齐).,第2章 ARM技术与ARM体系结构,上半部 完,下半部内容提要,25 ARM异常处理26 存储方式与存储器映射机制27 ARM流水线技术分析,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号