微机应用新技术第四部分第三章--ARM体系结构与指令集

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ARM体系结构与ARM指令集ARM体系结构与ARM指令集1.ARM体系结构概览2.ARM编程模型3.ARM指令集4.ARM的JTAG调试结构ARMLtd成立于1990年11月–前身为Acorn计算机公司–AdvanceRISCMachine(ARM)主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴–ARM公司不生产芯片–IP(IntelligenceProperty)另外也提供基于ARM架构的开发设计技术–软件工具,评估板,调试工具,应用软件,–总线架构,外围设备单元,等等ARMOfficesWorldwide800+雇员全球EnglandCambridge,Maidenhead,Sheffield,BlackburnGermanyMunichFranceParis,SophiaAntipolisKoreaSeoulUSSeattle,LosGatos,WalnutCreek,Austin,Boston,SanDiegoChinaTaiwanandShanghaiJapanShin-Yokohama(Tokyo)ARMPartnershipModelARM即AdvancedRISCMachines的缩写。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。1990年成立了AdvancedRISCMachinesLimited。20世纪90年代,ARM32位嵌人式RISC(ReducedInstructionSetComputer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM的发展历程-132位RISC处理器受到青睐,领先的是ARM嵌入式微处理器系列。ARM公司虽然只成立10多年,但在1999年因移动电话火爆市场,其32位RISC处理器占市场份额超过了50%,2001年初,ARM公司的32位RISC处理器市场占有率超过了75%。ARM公司是知识产权供应商,是设计公司。由合作伙伴公司来生产各具特色的芯片。ARM的发展历程-1ARM的发展历程-1ARM公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴--包括半导体工业的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。在所有ARM处理器系列中,ARM7处理器系列应用最广,采用ARM7处理器作为内核生产芯片的公司最多。ARM的发展历程-21991-ARM推出第一款RISC嵌入式微处理器核ARM61993-ARM推出ARM7核1995–ARM的Thumb扩展指令集结构为16位系统增加了32位的性能,提供业界领先的代码密度ARM的发展历程-3ARM8,810ARM7D,7DMARM2,31985-901991199219931994199519961997ARM7TDMIARM6,60,610ARM7,710MIPS204060801000StrongARMARM9,920ARM处理器的3大特点如下:小体积、低功耗、成本低、高性能;16位/32位双指令集;全球众多的合作伙伴。当前ARM体系结构的扩充包括:Thumb:16位指令集,用以改善代码密度;DSP:用于DSP应用的算术运算指令集;Jazeller:允许直接执行Java代码的扩充。ARM处理器系列提供的解决方案包括:在无线、消费电子和图像应用方面的开放平台;存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用。ARM处理器的特点ARM授权费IPARM创造和设计IPPartner产品,例如:芯片Partner把ARMIP和其他IP集成进产品OEMCustomer版权费单价OEM用来自ARMPartner的芯片设计制造最终用户产品业务拓展/市场格局ARM的业务模型ARM发展SA-110ARM7TDMI4T1支持Halfword和signedhalfword/byte和Systemmode支持Thumb指令集24ARM9TDMISA-1110ARM720TARM940T改良的ARM/Thumb交互作用以及CLZ指令5TESaturatedmathsDSPmultiply-accumulateinstructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字节码6ARM11SIMDSISIMDMDSSIMDARM微处理器微处理器核:ARM6,ARM7,ARM9,ARM10,ARM11扩展:Thumb,DSP,SIMD,Jazelleetc.其它IP核:UART,GPIO,memorycontrollers,etcARM核命名的含义ARMCore(ARM核)处理器核/整数核(ProcessorCore/IntegerCore):ARM7TDMI,ARM9TDMI,ARM9E-S,ARM10TDMI,ARM10E等。ARMCPU核(ARMCPUCores):ARM710T/720T/740T,ARM920T/940T,ARM946E-S,ARM966E-S,ARM1020E等。基于ARMCoreCPU的应用处理器,比如:Intel的pxa25x,Philip的lpc22xx系列,Samsung的S3C44B0等。ARM7T和ARM7EFamilyARM7系列的升级ARM9FamilyARM9系列的升级ARM体系结构版本-1Version1(obsolete)–基本数据处理–字节,字以及多字load/store–软件中断–26bit地址总线Version2(obsolete)–Multiply&Multiply-accumulate–支持协处理器–支持线程同步–26bit地址总线ARM体系结构版本-2V3版本推出32位寻址能力,结构扩展变化为T—16位压缩指令集M—增强型乘法器,产生全64位结果(32X3264or32X32+6464)V4版本增加了半字load和store指令V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:E---增强型DSP指令集,包括全部算法操作和16位乘法操作J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能ARM体系结构更新体系结构变化–1*THUMB指令集(‘T’)THUMB指令集:32位ARM指令集的子集,按16位指令重新编码代码尺寸小(upto40%compression)简化设计体系结构变化-2长乘法指令(‘M’)32x32=64bit.提供全64位结果增强DSP指令集(‘E’)可附加在ARM中的DSP指令64bit转换在v5版本中第一次推出处理器内核的变化D:在片调试.处理器可响应调试暂停请求I:EmbeddedICE.支持片上断点调试体系结构变化-3ARMDSP指令集对于音频DSP应用提供高达70%的处理速度Jazelle提供比基于软件的JAVA虚拟机(JVM)更高的性能与非JAVA加速核相比,提供8倍JAVA加速性能和降低80%的功耗139字节码直接在硬件上执行,88个字节码在软件上执行ARM体系结构与ARM指令集1.ARM体系结构概览2.ARM编程模型3.ARM指令集4.ARM的JTAG调试结构指令流水线为增加处理器指令流的速度,ARM7系列使用3级流水线.–允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumb处理器的工作状态ARM7TDMI处理器有两种工作状态:ARM-32-bit,按字排列的ARM指令集Thumb-16-bit,按半字排列的Thumb指令集ARM7TDMI核的操作状态可能通过BX指令(分支和交换指令)在ARM状态和Thumb状态之间切换例:从ARM状态切换到Thumb状态:LDRR0,=Label+1BXR0从Thumb状态切换到ARM状态:LDRR0,=LabelBXR0存储器模式*大端模式字数据的高位字节存储在低地址中字数据的低字节则存放在高地址中小端模式低地址中存放字数据的低字节高地址中存放字数据的高字节3124231615870字地址11109887654432100低地址高地址3124231615870字地址89101184567401230低地址高地址32TheARM可以用little/bigendian格式存取数据.r0=0x11223344STRr0,[r1]LDRBr2,[r1]r1=0x100Memory32100123ByteLane312423161587011223344312423161587011223344312423161587011223344312423161587000000044312423161587000000011LittleendianBigendianR2=0x44R2=0x11Formoreinformation,see:“ApplicationNote61:BigandLittleEndianByteAddressing”数据和指令类型ARM采用的是32位架构.ARM约定:–Byte:8bits–Halfword:16bits(2byte)–Word:32bits(4byte)大部分ARMcore提供:–ARM指令集(32-bit)–Thumb指令集(T变种)(16-bit)Jazellecores支持Javabytecode(J变种,4TEJ)34处理器工作模式ARM有7个基本工作模式:1、User:非特权模式,大部分任务执行在这种模式正常程序执行的模式2、FIQ:当一个高优先级(fast)中断产生时将会进入这种模式高速数据传输和通道处理3、IRQ:当一个低优先级(normal)中断产生时将会进入这种模式通常的中断处理4、Supervisor:当复位或软中断指令执行时将会进入这种模式供操作系统使用的一种保护模式5、Abort:当存取异常时将会进入这种模式虚拟存储及存储保护6、Undef:当执行未定义指令时会进入这种模式软件仿真硬件协处理器7、System:使用和User模式相同寄存器集的特权模式特权级的操作系统任务寄存器组织–1*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寄存器-237寄存器31个通用32位寄存器,包括程序计数器PC未分组寄器R0-R7分组寄存器R8-R14程序计数器

1 / 107
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功