嵌入式ppt第二章.ppt
《嵌入式ppt第二章.ppt》由会员分享,可在线阅读,更多相关《嵌入式ppt第二章.ppt(106页珍藏版)》请在文库网上搜索。
1、第第2章章 ARM处理器体系结构处理器体系结构目目 录录 2.1 2.1 ARMARM处理器概述处理器概述2.2 2.2 Cortex-A8Cortex-A8处理器架构处理器架构2.3 2.3 Cortex-A8Cortex-A8处理器工作模式和状态处理器工作模式和状态2.4 2.4 Cortex-A8Cortex-A8存储器管理存储器管理2.5 2.5 Cortex-A8Cortex-A8异常处理异常处理2.6 2.6 本章小结本章小结 ARM(Advanced RISC Machines)处理器是一种RISC(精简指令集)结构的高性价比、低功耗处理器,广泛用于各种嵌入式系统设计中。目前,各
2、种采用ARM技术知识产权(IP核)的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器80%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。本章主要内容:1、介绍ARM体系结构的不同版本以及比较有代表性的ARM产品,并对相关开发工具进行了阐述;2、对ARM Cortex-A8处理器的组成结构、寄存器组织、运行模式和状态以及存储管理方法进行了说明;3、详细介绍了ARM Cortex-A8处理器的异常处理原理及过程。ARM处理器概述处理器概述Part One2.12.12.1.1
3、 ARM处理器理器简介介嵌入式微处理器按指令系统分类精简指令集系统RISC复杂指令集系统CISCRISC结构一般具有如下特点:(1)单周期的执行。(2)采用高效的流水线操作。(3)无微代码的硬连线控制。(4)指令格式的规格化和简单化。(5)采用面向寄存器组的指令。(6)采用Load/Store(装载/存储)指令结构。(7)注重编译的优化,力求有效地支撑高级语言程序。一种CPU的体系结构定义了其支持的指令集和基于该体系结构下的处理器编程模型。2.1.2 ARM体系体系结构构发展展到目前为止,ARM处理器的体系结构发展了v1v8共8个版本。相同的体系结构下,由于所面向的应用不同,对性能的要求不同,
4、会有多种处理器。体系结构体系结构ARM内核版本内核版本v1ARM1v2ARM2v2aARM2aS、ARM3v3ARM6、ARM600、ARM610、ARM7、ARM700、ARM710v4Strong ARM、ARM8、ARM810v4TARM7TDMI、ARM720T、ARM740T、ARM9TDMI、ARM920T、ARM940Tv5TEARM9E-S、ARM10TDMI、ARM1020Ev6ARM11、ARM1156T2-S、ARM1156T2F-S、ARM1176JZF-S、ARM11JZF-Sv7ARM Cortex-M、ARM Cortex-R、ARM Cortex-Av8Cort
5、ex-A53/57、Cortex-A72等1.v1版本版本 v1版本ARM处理器没有商品化,只出现在ARM1原型机上。它的主要特点有:(1)26位的地址空间,寻址空间64MB;(2)只有基本的数据处理指令,甚至没有乘法指令;(3)基于字节、半字和字的Load/Store存储器访问指令;(4)子程序调用指令(BL)和链接指令;(5)操作系统调用的软件中断指令(SWI)。2.v2版本版本 对v1版本进行了扩展和完善。仍旧采用26位地址空间和64M寻址空间。它的主要特点有:(1)增加了32位乘法指令和乘加指令;(2)支持协处理器指令;(3)对快速中断模式支持;(4)支持最基本的存储器与寄存器交换指令
6、SWP/SWPB。3.v3版本版本 该版本在体系结构上较以前的版本有很大变化。基于该版本的ARM6处理器,做为IP核独立的处理器,具有片上高速缓存、MMU和写缓存的集成CPU。它的主要特点有:(1)寻址空间增加到32位(4G);(2)增加了当前程序状态寄存器(CPSR)保存当前程序运行的状态信息;(3)增加了备份程序状态寄存器(SPSR),在程序运行被异常中断时保存现场;(4)增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;(5)增加了中止和未定义两种异常模式,以方便操作系统使用数据访问中止异常、指令预取中止异常和未定义指令异常;(6)改进了从异常返回指令。4.v4版本版本 该
7、版本在v3版本的基础上做了进一步的扩充,是目前被应用最广的ARM体系结构,ARM7TDMI、ARM9、StrongARM等都采用该结构。它的主要特点有:(1)增加了对有符号、无符号半字及有符号字节的存/取指令;(2)增加 T变种,引入Thumb状态,处理器工作在该状态下时,指令集为新增的16位Thumb指令集;(3)增加了系统模式,该模式下处理器使用用户寄存器;(4)完善了软件中断(SWI)指令功能;(5)把一些未使用的指令空间捕获为未定义指令。5.v5版本版本 在v4版本的基础上增加了一些新的指令。ARM9E、ARM10和Intel的XScale处理器都采用该版本结构。它的主要特点有:(1)
8、改进了ARM指令集和Thumb指令集的混合使用效率;(2)增加了带有链接和交换的转移指令(BLX)、计数前导零指令(CLZ)、软件断点指令(BKPT);(3)v5TE版本中增加了DSP(数字信号处理)指令集,包括全部算法和16位指令集;支持新的Java,提供字节代码执行的硬件和优化软件加速性能。6.v6版本版本 该版本2001年发布,并应用在2002年发布的ARM11处理器中。该版本降低耗电量的同时提高了图像处理能力,适合无线和消费类电子产品;高数据吞吐量和高性能的结合。它的主要特点有:(1)支持多微处理器内核;(2)Thumb代码压缩技术;(3)引入Jazelle技术,提高了Java性能,降
9、低了Java应用程序对内存的空间占用;(4)通过SIMD(单指令多数据流)技术,提高了音/视频处理能力。7.v7版本版本 v7版本架构是在v6版本的基础上诞生的,对于早期的ARM处理器软件提供了较好的兼容性。它的主要特点有:(1)采用了在Thumb代码压缩技术上发展的Thumb-2技术,比纯32位代码减少了31%的内存占用,减小了系统开销,能够提供比基于Thumb技术的解决方案高出38%的性能;(2)首次采用NEON信号处理扩展集,它是一个结合64位和128位的SIMD指令集,对H.264和MP3等媒体解码提供加速,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算;(3)支持改良的运行
10、环境,迎合不断增加的JIT(Just In Time)和DAC(Dynamic Adaptive Compilation)技术的使用。该架构定义了三大系列:Cortex-A系列:面向基于虚拟内存的操作系统和用户应用,主要用于运行各种嵌入式操作系统(Linux、WindowsCE、Android、Symbian等)的消费娱乐和无线产品;Cortex-M系列:主要面向微控制器领域,用于对成本和功耗敏感的终端设备,如智能仪器仪表、汽车和工业控制系统、家用电器、传感器、医疗器械等;Cortex-R系列:该系列主要用于具有严格的实时响应限制的深层嵌入式实时系统。8.v8版本版本 2011年11月,ARM
11、公司发布了新一代处理器架构ARMv8的部分技术细节,这是ARM公司的首款支持64位指令集的处理器架构,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高档消费电子产品。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展,如TrustZone技术、虚拟化技术及NEON advanced SIMD技术等。ARMv8 架构将64位架构支持引入ARM架构中,其中包括:(1)64位通用寄存器、SP(堆栈指针)和PC(程序计数器);(2)64位数据处理和扩展的虚拟寻址;(3)两种主要执行状态:AArch64(64位执行状态)和AArch32(32位执行
12、状态);两种执行状态支持三个主要指令集:A32(或ARM):32位固定长度指令集,通过不同架构变体增强部分32位架构执行环境,现在称为AArch32;T32(Thumb):以16位固定长度指令集的形式引入的,随后在引入Thumb-2技术时增强为16位和32位混合长度指令集,部分32位架构执行环境现在称为 AArch32。A64:提供与ARM和Thumb指令集类似功能的32位固定长度指令集,随ARMv8一起引入,它是一种 AArch64 指令集。2.1.3 ARM处理器系列主要理器系列主要产品品1.ARM7系列系列ARM7系列主要包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单
13、元的ARM720T等。ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。ARM7TDMI中的T代表Thumb 架构扩展,提供两个独立的指令集,D代表内核具有Debug扩展结构,M代表EmbeddedICE 逻辑,I代表增强乘法器,支持64位结果。ARM7TDMI属于ARM v4体系结构,采用冯诺依曼结构(指令和数据在存储中统一存放,采用同一套总线分时传输),3级流水处理,平均0.9DMIPs/Mhz性能。ARM7TDMI没有MMU(Memory Management Unit)和Cache,所以仅支持那些不需要MMU和Cahce的小型实时操作系统,如VxWorks、uC/OS-
14、II和uLinux等RTOS。ARM7 系列使用三级流水线。该流水线允许多个操作同时处理,而非顺序执行。而ARM处理器中的程序计数器PC指向正被取指的指令,而非正在执行的指令。ARM7的三级流水线技术首先从存储器中读取指令,然后解码指令中用到的寄存器,接下来进行执行操作,主要包括从寄存器组中读寄存器值或者移位及ALU操作或者在寄存器组中写入寄存器值操作等。ARM7TDMI指令流水线为增加处理器指令流的速度,ARM7 系列使用3级流水线。允许多个操作同时处理,而非顺序执行。PC指向正被取指的指令,而非正在执行的指令。FetchDecodeExecute从存储器中读取指令从存储器中读取指令解码指令
15、中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumbARM9TDMI指令流水线InstructionFetch Shift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decod
16、eInstructionFetchFETCHDECODEEXECUTEARM7TDMI理想的3级流水线(ARM7TDMI:无访存操作)ARM的LDR流水线 思考题思考题设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期均为Dt,采用常规标量单流水线处理机。若连续执行10条指令,则共需时间?Dt。(3)A8B10C12D14分析本题考查指令流水的概念。顺序执行时,每条指令都需三步才能执行完,没有重叠。所以连续执行10条指令后,共需时间为2+10=12Dt。参考答案C2.ARM9系列和系列和ARM9E系列系列ARM9采用哈佛体系结构,指令和数据分开存放于不同的存储器,分别采用各自的总线进
17、行传输。ARM9TDMI相比ARM7TDMI,将流水级数提高到五级从而增加了处理器的时钟频率,并使用指令和数据存储器分开的哈佛结构以改善CPI和提高处理器性能。在ARM9TDMI基础上又有ARM920T、ARM940T和ARM922T,其中ARM940T增加了MPU(Memory Protect Unit)和Cache;ARM920T和ARM922T加入了MMU、Cache和ETM9,从而更好的支持像Linux和WinCE这样的多线程、多任务操作系统。ARM9E系列属于ARM v5TE,其中ARM926EJ-S是最具代表性的。通过DSP和Java的指令扩展,可获得70的DSP处理能力和8倍的J
18、ava处理性能提升。另外分开的指令和数据Cache结构进一步提升了软件性能;指令和数据TCM(Tightly Couple Memory:紧耦合存储器)接口支持零等待访问存储器;双AMBA AHB总线接口等。ARM9处理器的主要特点:(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-time)调试;(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;(4)设置保护单元(protection unit),非常适合嵌入式系统应用中对存储器进行分段和保护;(5)采
19、用AMBA AHB总线接口,为外部设备提供统一的地址和数据总线;(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;(7)支持标准基本逻辑单元扫描测试方法,而且支持BIST(built-in-self-test);(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。3.ARM11系列系列ARM11系列主要有ARM1136、ARM1156、ARM1176和ARM11 MP-Core等,它们都是v6体系结构,相比v5系列增加了SIMD多媒体指令,获得1.75x多媒体处理能力的提升。除了ARM1136外,其他的处理器都支持AMBA3.0-AXI总线。ARM11系列内核最高的处理速度可达500
20、Mhz以上(其中90nm工艺下,ARM1176可达到750Mhz)以及600DMIPS的性能。基于ARMv6架构的ARM11系列处理器是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品等需求而制定的。它的媒体处理能力和低功耗特点使它特别适合于无线和消费类电子产品;高数据吞吐量和高性能的结合非常适合网络处理应用;另外,在实时性能和浮点处理等方面ARM11可以满足汽车电子应用的需求。ARM11 芯片已经面世ARM11300-700+MHzSIMD 指令扩展支持更丰富的多媒体应用指令扩展支持更丰富的多媒体应用40家授权芯片公司,一些已开始量产家授权芯片公司,一些已开始量产FOMA N902i
21、First ARM11 based phoneOMAP2420i.MX31/i.MX31L4.XScale系列系列Intel公司开发的Xscale系列是基于ARM v5TE的 ARM体系结构的内核,在架构扩展的基础上同时也保留了对于以往产品的向下兼容,因此获得了广泛的应用。相比于ARM处理器,XScale功耗更低,系统伸缩性更好,支持16位的Thumb指令和DSP指令集,同时核心频率也得到提高,达到了400Mhz甚至更高。XScale系列处理器还支持高效通讯指令,可以和同样架构处理器之间达到高速传输。XScale系列处理器的另外一个主要扩展是使用了无线MMX,这是一种64位的SIMD指令集,并
22、在新款的Xscale处理器中集成有SIMD协处理器,可以有效的加快视频、3D图像、音频以及其他SIMD传统元素处理。基于XScale PXA250微处理器性能如下:(1)内核工作频率:100-400MHZ;I-Cache 32KB和D-Cache 32KB;I-MMU+D-MMU(各32路变换后备缓冲器TLB快表);7/8级流水线。(2)系统存储器接口:100MHZ SDRAM;4-256MB SDRAM;支持16-256MB DRAM;4个SDRAM区,每个区支持64MB存储器;支持2个PCMCIA/CF卡插槽。(3)外围接口:具有16个通道的DMA控制器;LCD控制器(支持被动DSTN和主
23、动TFT显示,最大分辨率800*600*16;系统集成模块(GPIO、中断控制器、PWM);USB,3个UART,红外(FIR)、I2C总线接口、多媒体通信口、动态电源管理技术。5ARM Cortex系列系列在ARM11系列之后,Cortex系列是ARM公司目前最新内核系列,属于v7架构。该架构定义了三大系列:Cortex-A系列、Cortex-M系列和Cortex-R系列。ARM Cortex-A 系列应用型处理器可向具备操作系统平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视到企业网络、打印机服务器解决方案。常见Cortex系列型号:(1)Co
24、rtex-A5 处理器(2)Cortex-A7 处理器(3)Cortex-A8 处理器(4)Cortex-A9处理器(5)Cortex-A15 处理器(6)ARM Cortex-R处理器(7)ARM Cortex-M处理器高性能的ARM嵌入式处理器最快的处理器提供超过2000 DMIPS 的性能运行于运行于 1GHz 频率频率(90nm or 65nm 制造工艺制造工艺)功耗小于 300mWARM Cortex A8 Application ProcessorCortex-M3 实现$1 ARM芯片ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeli
25、ne1.22 DMIPS/MHz 30%over ARM7TDMI33K gates 30%smaller than ARM7TDMILuminary Micro的Stellaris系列MCU产品售价仅1美元ARM Cortex-M3 微控制器内核,专门针对MCU应用领域而设计,突出低成本、低功耗和高效率。ARM FamilyARM7 FamilyARM9 FamilyARM10 FamilyARM11 Family150DMIPS300 DMIPS500 DMIPS1000 DMIPSARM Cortex FamilyARM720TARM1136J ARM1176JZARM1026EARM9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 ppt 第二