ARM技术与ARM体系结构.ppt_第1页
ARM技术与ARM体系结构.ppt_第2页
ARM技术与ARM体系结构.ppt_第3页
ARM技术与ARM体系结构.ppt_第4页
ARM技术与ARM体系结构.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学软件学院 邱铁 办公楼413 Tel:87571521 E_mail: 参考教材:ARM嵌入式系统结构与编程 清华大学出版社2009年3月出版,ARM嵌入式系统结构与编程,第2章 ARM技术与ARM体系结构,本章主要介绍ARM处理器的产生及版本发展历史,以及各个版本的典型处理器及应用情况和性能分析;ARM处理器的内核调试结构,重点分析了ARM7TDMI-S、ARM9TDMI两种结构;ARM处理器的工作模式及寄存器组织结构,分析了在什么情况下进入到相应的工作模式;ARM处理器支持的内存数据存储格式,分为大端格式和小端格式;最后介绍了ARM7的三级流水线运行机制和ARM9的五级流水线运行机制。,内容提要,21 ARM体系结构版本与内核 22 ARM内核模块 23 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 和signed halfword / byte 和System mode,支持Thumb指令集,2,4,ARM9TDMI,ARM720T,ARM940T,改良的ARM/Thumb 交互作用 以及CLZ 指令,5TE,Saturated maths DSP 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、V3这3个早期ARM版本功能单一,没有大范围占领市场,主要是处于开发和实验阶段 第二阶段: 从ARM4开始,ARM体系结构处于完善和提高阶段,版本4与以前版本相比增加了下列指令: 有符号、无符号的半字和有符号字节的load和store指令。 增加了T变种,处理器可以工作于Thumb状态,在该状态下的指令集是16位的Thumb指令集。 增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。,版本5主要由两个变型版本5T、5TE组成 相比与版本4,版本5的指令集有了如下的变化: 提高了T变种中ARM/Thumb混合使用的效率。 增加前导零记数(CLZ)指令,该指令可使整数除法和中断优先级排队操作更为有效; 增加了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”、ARM94中的“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体系结构的基本版本,2.2ARM内核模块,ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是ARM公司自己推出的调试工具,ARM调试结构,221 ARM7TDMI-S内核结构,ARM7TDMI-S是一款32位嵌入式RISC处理器。它作为优化的硬核是性能、功耗和面积特性的最佳组合。使用ARM7TDMI核使得系统设计师能够设计出小尺寸、低功耗以及高性能的嵌入式设备。,ARM7TDMI,ARM7TDMI 是基于 ARM7 内核 3 级流水线-0.9MIPS/MHz 冯.诺依曼架构 CPI(Cycle Per Instruction) 约为1.9 T - Thumb 架构扩展, 提供两个独立的指令集: ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被执行 D - 内核具有Debug扩展结构 M - 增强乘法器 支持64位结果. I - EmbeddedICE-RT逻辑-提供片上断点和调试点支持,ARM7TDMI 内核信号,ARM7TDMI 方框图,ARM7TDMI 内核,TAP 控制器,JTAG 接口,数据总线,控制信号,D31:0,地址总线,A31:0,DIN31:0,DOUT31:0,BUS Splitter,Embedded ICE 逻辑,乘法器,ARM7TDMI 内核,指令 解码,地址 自增器,nRESET,nMREQ,SEQ,ABORT,nIRQ,nFIQ,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,P C,A B u s,B B u s,A L U B u s,外部地址产生,PC31:2 ARM State PC31:1 Thumb State,ALU31:0,INC,自增器,A31:0,向量,0x1C,0x00,地址 寄存器,特 点: 32/16 位RISC架构(ARM 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,ARM710T 8K 统一的 cache 完整的内存管理单元(mmu),支持虚拟地址和存储器保护 写缓冲,ARM720T 同ARM710T,但支持 WinCE ARM740T 8K 统一的 cache 内存管理单元 写缓冲,ARM7TDMI 内核,地址,地址,数据读,AMBA 接口,写 缓冲,MMU,数据写,数据,ARM7xxT,控制 逻辑,Cache,AMBA 总线 接口,JTAG 和非 AMBA 信号,CP15,ARM7系列内核采用了三条流水线的内核结构,三级流水线分别为取指(Fetch)、译码(Decode)、执行(Execute),取指:将指令从存储器中取出,放入指令Cache中。 译码:由译码逻辑单元完成,是将在上一步指令Cache中的指令进行解释,告诉CPU将如何操作。 执行:这阶段包括移位操作、读通用寄存器内容、输出结果、写通用寄存器等。,需要注意的是,PC指向正被取指的指令而不是正在执行的指令:,详细信息见教材ARM嵌入式系统结构与编程第16页,222 ARM9内核结构,ARM920是一款32位嵌入式RISC处理器内核。在指令操作上采用5级流水线 . 取指:从指令Cache中读取指令。 译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。 执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。 存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据Cache)。 寄存器回写:将指令运算或操作结果写回到目标寄存器中。,ARM920 的5级流水线操作,2.3ARM处理器的工作模式,ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。,ARM处理器共有7种工作模式,1用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式 2FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。,3IRQ模式:也称为普通中断模式,:当一个低优先级(normal)中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的中断处理都在IRQ模式下进行。 4SVC模式:称之为管理模式,它是一种操作系统保护模式。当复位或软中断指令执行时处理器将进入这种模式。,5中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。 6未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。 7系统模式:使用和User模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。,在这7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。 在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式,每种异常都对应有自己的异常处理入口点。,2.4内部寄存器,ARM处理器共有37个寄存器,这些寄存器包括以下两类寄存器。 (1)31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。 (2)6个状态寄存器:状态寄存器也是32位的寄存器,但是目前只使用了其中的14位。,ARM 寄存器,寄存器组织概要,User mode r0-r7, r15, and cpsr,r8,r9,r10,r11,r12,r13 (sp),r14 (lr),spsr,FIQ,User,r13 (sp),r14 (lr),spsr,IRQ,User mode r0-r12, r15, and cpsr,r13 (sp),r14 (lr),spsr,Undef,User mode r0-r12, r15, and cpsr,r13 (sp),r14 (lr),spsr,SVC,User mode r0-r12, r15, and cpsr,r13 (sp),r14 (lr),spsr,Abort,User mode r0-r12, r15, and cpsr,Thumb state Low registers,Thumb state High registers,Note: 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) 相应的CPSR(current program status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved program status register),程序状态寄存器,条件位: N = 1-结果为负,0-结果为正或0 Z = 1-结果为0,0-结果不为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论