您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第2章 ARM与XScale体系结构-LXN-2007-9-5
1嵌入式系统与应用李晓宁lixn@mail.sysu.edu.cnQQ:746784534手机:13922148040课程资源网址:第二章ARM与XScale体系结构嵌入式处理器相关简介ARM体系结构概览ARM编程模型XScale处理器系列3嵌入式处理器相关简介4CISC和RISCCISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式,指令长度可变8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。RISC:精简指令集(ReducedInstructionSetComputer)只包含最有用的指令,指令长度固定确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单5CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂6CISC的背景和特点背景:存储资源紧缺,强调编译优化增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少寻址方式复杂多样,操作数可来自寄存器,也可来自存储器采用微程序控制,执行每条指令均需完成一个微指令序列(微程序)CPI(每条指令的时钟周期数)5,指令越复杂,CPI越大。7CISC的主要缺点指令使用频度不均衡。高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。大量复杂指令的控制逻辑不规整,不适于VLSI工艺VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速度比CPU慢5-10倍)。软硬功能分配复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增多,降低了CPU性能。不利于先进指令级并行技术的采用流水线技术8RISC基本设计思想减小CPI:CPUtime=Instr_Count*CPI*Clock_cycle精简指令集:保留最基本的,去掉复杂、使用频度不高的指令采用Load/Store结构,有助于减少指令格式,统一存储器访问方式采用硬接线控制代替微程序控制10冯•诺依曼结构/哈佛结构嵌入式系统的体系结构可采用冯•诺依曼(VonNeumann)结构或哈佛(Harvard)结构地址数据主存储器MOVr8,#8CPUPC指令程序存储器CPUPC地址数据存储器MOVr8,#8地址数据冯•诺依曼结构哈佛结构11嵌入式微处理器分类嵌入式处理器嵌入式微控制器(MCU)嵌入式DSP处理器(DSP)嵌入式微处理器(MPU)嵌入式片上系统(SystemOnChip)12嵌入式微处理器嵌入式微处理器有许多不同的体系,即使在同一体系中也可能具有不同的时钟速度和总线数据宽度、集成不同的外部接口和设备。据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种嵌入式微处理器体系,主流的体系有ARM、MIPS、PowerPC、SH、X86等。13ARM体系结构概览14ARM简介ARM公司简介ARM(AdvancedRISCMachines)既可以认为是一个公司的名字,也可以认为是对一种微处理器体系结构的通称。1991年ARM公司成立于英国剑桥,设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。公司也提供基于ARM架构的开发设计技术:软件工具,评估板,调试工具,应用软件;总线架构,外围设备单元等。15ARM简介ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...16ARM处理器的3大特点如下:小体积、低功耗、成本低、高性能;16位/32位双指令集;全球众多的合作伙伴。当前ARM体系结构的扩充包括:Thumb:16位指令集,用以改善代码密度;DSP:用于DSP应用的算术运算指令集;Jazeller:允许直接执行Java代码的扩充。ARM处理器系列提供的解决方案包括:在无线、消费电子和图像应用方面的开放平台;存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用。ARM处理器的特点17ARM处理器本身是32位设计,但也配备16位指令集,以允许软件编码为更短的16位指令。与等价的32代码相比,占用的存储器空间节省高达35%,然而保留了32位系统所有的优势。ARM还提供了两个前沿特性——嵌入式ICE—RT逻辑和嵌入式跟踪宏核系列,用以辅助带深嵌入式处理器核的、高集成的SOC器件的调试。ARM业界领先的跟踪解决方案——嵌入式跟踪宏单元(ETM,EmbeddebTraceMacrocell),被设计成驻留在ARM处理器上,用以监控内部总线,并能以该速度无妨碍地跟踪指令和数据的访问。18ARM微处理器微处理器核:ARM6,ARM7,ARM9,ARM10,ARM11扩展:Thumb,DSP,SIMD,Jazelleetc.其它IP核:UART,GPIO,memorycontrollers,etc19ARM体系结构版本-1Version1(obsolete)基本数据处理字节,字以及多字load/store软件中断26bit地址总线Version2(obsolete)Multiply&Multiply-accumulate(集成运算)支持协处理器支持线程同步26bit地址总线20ARM体系结构版本-2V3版本推出32位寻址能力,结构扩展变化为T—16位压缩指令集M—增强型乘法器,产生全64位结果(32X3264or32X32+6464)V4版本增加了半字load和store指令V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:E---增强型DSP指令集,包括全部算法操作和16位乘法操作J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能21ARM体系结构更新22体系结构变化–1*THUMB指令集(‘T’)THUMB指令集:32位ARM指令集的子集,按16位指令重新编码代码尺寸小(upto40%compression)简化设计23体系结构变化-2长乘法指令(‘M’)32x32=64bit.提供全64位结果增强DSP指令集(‘E’)可附加在ARM中的DSP指令64bit转换在v5版本中第一次推出处理器内核的变化D:在片调试.处理器可响应调试暂停请求I:EmbeddedICE.支持片上断点调试24体系结构变化-3ARMDSP指令集对于音频DSP应用提供高达70%的处理速度Jazelle提供比基于软件的JAVA虚拟机(JVM)更高的性能与非JAVA加速核相比,提供8倍JAVA加速性能和降低80%的功耗139字节码直接在硬件上执行,88个字节码在软件上执行25ARM体系结构演化26ARM系列处理器简介ARM7三级流水线取指、译码、执行主频60--100MHZARM7E三级流水线主频100MHZ,可扩充DSP,JAVAARM9五级流水线操作200MHZARM9E五级流水线操作200MHZ,JAVA,DSP扩充ARM10六级流水线操作400MHZ可扩充SecurCore专为安全需要设计。ARM11主频更高27典型的ARM处理器核产品ARM7SamSung公司的:S3C4510、S3C44B0CirrusLogic公司的:EP7211、EP7212、EP7312Atmel公司的:At91M40800、At91R40807Piliph公司的:LPC2104/05/06LinkUpSystems公司的ARM系列:L7200、L7205NetSilicon公司的:NET+15/40/50Triscend公司的:TA7S1228典型的ARM处理器核产品ARM9SamSung公司的:S3C2410CirrusLogic公司的:EP9312Atmel公司的:AT91RM9200Intel公司的Xscale(PXA255)ARM10Intel公司的Xscale(PXA270)29ARM编程模型30ARM7TDMI的指令流水线取指译码执行从存储器取指指令所用的寄存器译码从寄存器组中读寄存器移位和ALU操作把寄存器写回到存储器组每条指令可以分3个阶段执行31ARM单周期指令3段流水线操作*取指译码执行取指译码执行取指译码执行t指令123注:程序计数器PC指向正在取指的指令而不是正在执行的指令32处理器的工作状态ARM7TDMI处理器有两种工作状态:ARM-32-bit,按字排列的ARM指令集Thumb-16-bit,按半字排列的Thumb指令集ARM7TDMI核的操作状态可能通过BX指令(分支和交换指令)在ARM状态和Thumb状态之间切换例:从ARM状态切换到Thumb状态:LDRR0,=Label+1BXR0从Thumb状态切换到ARM状态:LDRR0,=LabelBXR033存储器模式*大端模式最高位字节保存在最低位地址字由最低位字节的字节地址寻址小端模式最低位字节保存在最低位地址字由最低位字节的字节地址寻址3124231615870字地址11109887654432100低地址高地址3124231615870字地址89101184567401230低地址高地址34操作模式ARM7TDMI处理器有7种操作模式:用户模式(usr)-正常的程序执行模式快速中断模式(fiq)-支持高速数据传输或通道处理中断模式(irq)-用于通用中断处理管理员模式(svc)-操作系统的保护模式.中止模式(abt)-支持虚拟内存和/或内存保护系统模式(sys)-支持操作系统的特殊用户模式(运行操作系统任务)未定义模式(und)-支持硬件协处理器的软件仿真除了用户模式外,其他模式均可视为特权模式35寄存器组织–3*User32Fiq32Supervisor32Abort32IRQ32Undefined32R0R0R0R0R0R0R1R1R1R1R1R1R2R2R2R2R2R2R3R3R3R3R3R3R4R4R4R4R4R4R5R5R5R5R5R5R6R6R6R6R6R6R7R7R7R7R7R7R8R8_fiqR8R8R8R8R9R9_fiqR9R9R9R9R10R10_fiqR10R10R10R10R11R11_fiqR11R11R11R11R12R12_fiqR12R12R12R12R13(SP)R13_fiqR13_svcR13_abtR13_irqR13_undR14(LR)R14_fiqR14_svcR14_abtR14_irqR14_undR15(PC)R15(PC)R15(PC)R15(PC)R15(PC)R15(PC)CPSRCPSRCPSRCPSRCPSRCPSRSPSR_fiqSPSR_svcSPSR_abtSPSR_irqSPSR_und注:表明用户或系统模式使用的正常寄存器已经被异常模式指定的另一个寄存器取代,R15(PC)只有一个!36寄存器组织ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个或两个状态寄存器都是可访问的。37ARM状态下的寄存器组织通用寄存器:通用寄存器包括R0~R15,可以分为三类:未分组寄存器R0~R7分组寄存器R8~R14程序计数器PC(R15)38ARM状态下的寄存器组织39未分组寄存器R0~R7在所有的运行模式下,未分组寄存器都指向同一个物理寄存
本文标题:第2章 ARM与XScale体系结构-LXN-2007-9-5
链接地址:https://www.777doc.com/doc-3183366 .html