(嵌入式Linux系统设计)ARM体系结构课件_第1页
(嵌入式Linux系统设计)ARM体系结构课件_第2页
(嵌入式Linux系统设计)ARM体系结构课件_第3页
(嵌入式Linux系统设计)ARM体系结构课件_第4页
(嵌入式Linux系统设计)ARM体系结构课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM的处理器体系结构

1

课程大纲嵌入式处理器及其体系结构ARM处理器XScale体系结构PXA系列处理器课程大纲2冯.诺依曼和哈佛体系结构冯·诺依曼型计算机冯.诺依曼和哈佛体系结构冯·诺依曼型计算机3冯·诺依曼型计算机组成结构处理器使用同一个存储器,经由同一个总线传输。完成一条指令需要3个步骤,即:取指令、指令译码和执行指令指令和数据共享同一总线的结构冯·诺依曼型计算机组成结构处理器使用同一个存储器,经由同一个4哈佛体系结构哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。哈佛体系结构哈佛结构是一种将程序指令存储和数据存储分开的存储5CISC与RISCCISC(ComplexInstructionSetComputer)复杂指令集计算机处理器在分析每一条指令之后执行一系列初级指令运算来完成所需的功能一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条采用CISC结构的计算机数据线和指令线是分时复用的,即所谓的冯.诺依曼结构RISC(RiducedInstructionSetComputer)精简指令集计算机采用RISC结构的单片机数据线和指令线分离,即所谓的哈佛结构计算机指令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化CISC与RISCCISC(ComplexInstruc6

课程大纲嵌入式处理器及其体系结构ARM处理器XScale体系结构PXA系列处理器课程大纲7基于ARM架构的嵌入式微处理器在多媒体技术、网络互连和开放操作系统等方面的应用,是8位机体系结构所难以逾越的障碍,也就正好成为选择32位嵌入式系统的主要理由。所有的ARM芯片在内核上保持高度的兼容性,这样在学习和开发嵌入式系统中就可以使用通用的开发、调试工具。目前ARMCPU内核里面都有一个EmbeddedICE逻辑模块,用于采集CPU总线信号,而对EmbeddedICE以及CPU执行单元的通信是通过扫描线来进行的,所有的扫描线都受到测试访问控制端口(TAP)控制,并通过芯片与JTAG接口连接,故可保持不同CPU之间的接口控制的兼容性。调试工具只要支持TAP端口访问,就能进行ARM的系统调试。基于ARM架构的嵌入式微处理器在多媒体技术、网络互832位体系结构的性能优势(1)寻址空间大在ARM的体系结构里,所有的资源,如存储器、控制寄存器、I/O端口等都是在有效地址空间内采用统一编址的,方便了程序在不同处理器间的移植。(2)运算和数据处理强采用了先进的CPU设计理念、多总线接口(哈佛结构)、多级流水线、高速缓存、数据处理增强等技术,这样几乎所有的通信协议栈都能在32位CPU中轻松实现。使得C、C++、Java等高级语言得到了广泛的应用空间。另外多数的微处理器都包含有DMA控制器,这样就进一步提高了整个芯片的数据能力。32位体系结构的性能优势(1)寻址空间大在ARM的体932位体系结构的性能优势(3)操作系统的支持

如果某个系统需要有多任务的调度、图形化的人机界面、文件管理系统、网络协议等需求,那么就必须使用嵌入式操作系统。一般复杂的操作系统在多进程管理中还需要有硬件存储器保护单元(MPU)或管理单元(MMU)的支持。目前ARM9以上的微处理器均有这些支持,可运行Linux、WinCE和VxWorks等众多操作系统。32位体系结构的性能优势(3)操作系统的支持10基于指令集体系结构的分类版本ARM架构处理器定义了6种不同的版本:V1版架构:基本的数据处理指令(无乘法);字节、半字和字的Load/Store指令;转移指令,包括子程序调用及链接指令;软件中断指令;寻址空间64MB(226)。V2版架构:在V1版上进行了扩充,例如ARM2和ARM3架构,并增加了以下功能:乘法和乘加指令;支持协处理器操作指令;快速中断模式;SWP/SWPB的基本存储器与寄存器交换指令;寻址空间64MB。基于指令集体系结构的分类版本ARM架构处理器定义了6种不11基于指令集体系结构的分类版本V3版架构:V3架构对ARM体系结构作了较大的改动,把寻址空间增至32位,增加了当前程序状态寄存器CPSR和存储程序状态寄存器SPSR,以便增强对异常情况的处理。增加了中止和未定义二种处理模式。ARM6就是采用该版架构。V4版架构:它在V3版架构上作了进一步扩充,使ARM使用更加灵活。ARM7、ARM8、ARM9都采用该版结构。增加功能有符号化和半符号化半字及符号化字节的存取指令;增加了16位的Thumb指令集;完善了软件中断SWI指令的功能;处理器系统模式引进特权方式时使用用户寄存器操作;把一些未使用的指令空间扑获为未定义指令。基于指令集体系结构的分类版本V3版架构:V3架构对ARM体12基于指令集体系结构的分类版本V5版架构:ARM10和XScale都采用该版架构。新增指令有:带有连接和交换的转移BLX指令;计数前导零CLZ指令;BBK中断指令;增建了数字信号处理指令;为协处理器增加了更多可选择的指令。V6版架构:是在低功耗的同时,还强化了图形处理性能,追加有效进行多媒体处理的SIMD功能。于2002年推出,ARM11采用该架构,具体新增加了以下功能:THUMBTM-35%代码压缩;DSP扩充-高性能定点DSP功能;JazelleTM-Java性能优化,可提高8倍;Media扩充-音/视频性能优化,可提高4倍。另外还支持多微处理器内核。基于指令集体系结构的分类版本V5版架构:ARM10和XSc13ARM微处理器系列产品及性能简介1)系列产品分类ARM处理器当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和ARM11。进一步的产品来自于合作伙伴,例如IntelXscale微体系结构和产品。ARM7、ARM9、ARM9E和ARM10是4个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能和体积的需求。ARM11是第5个产品系列,是专门为安全设备而设计的。性能高达1.2MIPS(Xscale微体系结构),功耗测量为μW/MHz,并且所有体系结构兼容。ARM微处理器系列产品及性能简介1)系列产品分类14ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核和ARM处理器核。

处理器内核只保持了最基本的组织架构。

处理器核是在最基本的处理器内核基础上增加了Cache、存储器管理单元MMU、协处理器C15、先进微控制器总线架构AMBA接口以及EMT宏单元等部件,这样就构成了ARM处理器核。ARM微处理器系列产品及性能简介ARM公司是嵌入式RISC处理器的知识产权IP供15MPU的生产厂家简介由集成电路厂商在处理器内核和处理器核基础上设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器MPU。例如:Intel公司:PXA25X、27X系列微处理器(采用XScale核);TI公司:OMAP59XX微处理器,(采用ARM+DSP双核);Motorola公司:MX1微处理器MPU(ARM922T核);ATMEL公司:AT91系列MPU(采用ARM7TDMI内核、ARM920T核);Philips公司:IPC2XXX系列(ARM7TDMI内核)等等。ARM微处理器系列产品及性能简介MPU的生产厂家简介由集成电路厂商在处理器内核和16ARM微处理器后缀命名的含义标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试DebugM支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbeddedICE在线仿真EDSP指令增加了DSP算法处理器指令:16位乘加指令,带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件ARM微处理器后缀命名的含义标志含义说明T支持Thumb指令17ARM处理器内核/处理器核的分类

(1)ARM7T和ARM7EFamilyUnifiedCache内存管理流水线级别ThumbDSPJazelleARM7TDMI无无3有无无ARM7TDMI-S无无3有无无ARM710T/720T8kMMU3有无无ARM740T8k或4kMPU3有无无ARM7EJ-S无无3有有有ARM处理器内核/处理器核的分类

(1)ARM7T和ARM18乘法器指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS[1:0]LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM[4:0]D[31:0]桶移位器32位ALUDBE写数据寄存器读数据寄存器地址寄存器寄存器BankA[31:0]ABE及控制逻辑PCUpdate解码站指令解压缩IncrementerPCABusBBusALUBusARM7TDMI内核内核乘法器指令地址nRESETnMREQSEQABORTnIRQ19ARM7微处理器系列主要特点ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。其具有如下特点:具有嵌入式ICE-RT逻辑,调试方便。极低的功耗(100mW左右),适合对功耗要求较高的应用,如便携式产品。采用三级流水线。采用ARMV4指令集。ARM7微处理器系列主要特点ARM7微处理器系列为低20ARM7微处理器系列主要特点能够提供0.9MIPS/MHZ的三级流水线结构。兼容16位Thumb指令集;对操作系统的支持广泛,包括WinCE、Linux等;指令系统与ARM9、ARM10E系列兼容,便于用户的产品升级换代;主频通常为20-100MHZ。速度为0.9MIPS/MHz。ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器内核。主要性能:工艺0.35um(新近0.25um)、电压3.3V(新近1.2v)、时钟20-133MHZ、功耗87mW。注:MPU只支持实时操作系统。ARM7微处理器系列主要特点能够提供0.9MIP21ARM7TDMIARM7TDMI内核地址地址数据读AMBA

接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG和非AMBA信号CP15带Cache的ARM7TDMI

ARM710T8K统一的cache完整的内存管理单元(MMU),支持虚拟地址和存储器保护写缓冲ARM720T同ARM710T,但支持WinCEARM740T8K统一的cache内存管理单元写缓冲ARM7TDMIARM7TDMI地址地址数据读AMBA

接口22(2)ARM9FamilyCache内存管理流水线级别ThumbDSPJazelleARM9TDMI无无5有无无ARM920T16K/16kMMU5有无无ARM922T8k/8kMMU5有无无ARM940T4k/4kMPU5有无无(2)ARM9FamilyCache内存管理流水线级别Th23ARM9TDMIInstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb

InstDecodeRegSelectRegReadShiftALURegWriteThumb®ARM

decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水线ARM9TDMIInstructionShift+AL24ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存储器ARM940T2x4KcachesMPU写缓冲ARM9xxTARM920T2x16KcachesMMU支持虚拟地址和内存保护写缓冲带Cache的ARM9TDMIARM9TDMIARM9TDMIDCacheICache25ARM9TDMI体系结构框图ARM9TDMICPU指令接口数据地址接口跟踪接口数据接口JTAG接口指令地址接口ARM9TDMI结构框图ARM9TDMI体系结构框图ARM9TDMICPU指令接口26ARM920T体系结构框图ARM920T体系结构框图27ARM920T体系结构框图ARM920T体系结构框图28ARM9微处理器系列主要特点ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,在相同的工艺下其性能是ARM7的2倍,具有以下特点:5级整数流水线,工作频率一般为200MHz左右,提供1.1MIPS/MHZ的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。采用哈佛体系结构。ARM9微处理器系列主要特点ARM9系列微处理器在高29ARM9微处理器系列主要特点

全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9是低价、低功耗、高性能系统处理器。典型产品ARM9TDMI主要性能:工艺0.25um(新近0.18um)、电压2.5V(新近1.2v)、时钟0-200MHZ、功耗150mW。ARM9系列主要用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9微处理器系列主要特点全性能的MMU,支持包括Win30ARM9EFamilyCache内存管理流水线级别ThumbDSPJazelleARM9E-S无无5有有无ARM946E-S4k-1M/4k-1MMPU5有有无ARM966E-S无无5有有无ARM968E-S无无5有有无ARM9EJ-S无无5/6有有有ARM926EJ-S14k-128k/4k-128kMMU5/6有有有ARM9EFamilyCache内存管理流水线级别Thu31ARM9E微处理器系列主要特点

ARM9E系列微处理器为综合型处理器,使用单一的处理器内核提供了微处理器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。具有以下特点:ARM9E微处理器系列主要特点ARM9E系列微处理32ARM9E微处理器系列主要特点支持DSP指令集,应用高速数字信号处理的场合;5级整数流水线;最高主频可达300MHZ;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP9浮点处理协处理器;全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。ARM9E微处理器系列主要特点支持DSP指令集,应用高速数字33(3)ARM10E和ARM10TFamilyARM10EJ-S无无6有有有ARM1026EJ-S0,4-128k/0,4-128kMMU6有有有Cache内存管理流水线级别ThumbDSPJazelleARM10E无无6有有无ARM1020E32k/32kMMU6有有无ARM1022E16k/16kMMU6有有无ARM10TDMI无无6有无无ARM1020T32k/32kMMU6有无无(3)ARM10E和ARM10TFamilyARM10E34ARM10E系列概述v5TE架构CPI1.36级流水线静态分支预测32kB指令cache和32kB数据cache支持“Hitundermiss”非阻塞的执行单元每周期64位的LDM/STM操作EmbeddedICE逻辑-RT-II支持新的VFPv1结构同ARM1020E,除了cache大小为16kB对SUDL(singleuserdesignlicense)有效ARM1020EARM1022EARM10E系列概述v5TE架构CPI1.36级流35ARM10E微处理器系列主要特点ARM10E系列微处理器由于采用了新的体系结构,与同等的ARM9处理器相比较,在同样的时钟频率下,性能提高了近50%,同时又大大减少了芯片的功耗,在相同的工艺下其性能是ARM9的2倍。具有以下特点:ARM10E微处理器系列主要特点ARM10E系列微36ARM10E微处理器系列主要特点支持DSP指令集,适合高速数字信号处理的场合;6级整数流水线;工作频率一般为400/600MHz左右;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP10浮点处理协处理器;内嵌并行读/写操作部件;全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM10E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。ARM10E微处理器系列主要特点支持DSP指令集,适合高速数37ARM9vsARM10流水线的对比ARM9vsARM10流水线的对比38(4)ARM11FamilyCache内存管理流水线级别ThumbDSPJazelle浮点运算ARM1136J-S4-64kMMU8有有有无ARM1136JF-S4-64kMMU8有有有有ARM1156T2-S可配置9Thumb-2有无无ARM1156T2F-S可配置9Thumb-2有无有(4)ARM11FamilyCache内存管理流水线级别39ARM11微处理器系列主要特点ARM11是采用ARMV6结构,内部具有8级流水线处理、动态分支预测与返回堆栈。在0.13um工艺下,ARM11TM的运行频率高达1000Mhz。在1.2V电压的条件下其功耗可以低至0.4mW/Mz。ARM11中另一个重要的结构改进,是静、动组合的跳转予判。动态预测和静态预测的组合使ARM11处理器能达到85%的预测正确性。ARM11包含一个64位端口、4种状态的跳转目标地址缓存。新的ARM11支持SIMD指令,可使某些算法的运算的速度提高2-3倍。ARM11微处理器系列主要特点ARM11是采用AR40ARM11微处理器系列主要特点ARMV6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。增加了多媒体处理指令单元扩展,单指令流多数据流(SIMD)。增加了快速浮点运算和向量浮点运算。目前ARM公布了三个新的ARM11系列微处理器内核系列,分别是ARM1136J内核、ARM1156T2内核、ARM1176JZ内核。ARM11微处理器系列主要特点ARMV6保持了10041(5)XScale结构 Intel公司发展了新一代微处理器体系结构就是XScale处理器。XScale处理器是基于ARMv5TE(第5版)体系结构所设计的,具有协处理器接口,可以直接扩展DSP处理器。目前已使用在数字移动电话、个人数字助理和网络产品等场合。XScale处理器是目前主要推广的一款ARM处理器。(5)XScale结构 Intel公司发展了新一42(5)XScale结构

基于XScalePXA250微处理器性能如下:内核工作频率:100-400MHZ;I-Cache32KB和D-Cache32KB;I-MMU+D-MMU(各32路变换后备缓冲器TLB快表);7/8级流水线系统存储器接口:100MHZSDRAM;4-256MBSDRAM;支持16-256MBDRAM;4个SDRAM区,每个区支持64MB存储器;支持2个PCMCIA/CF卡插槽。外围接口:具有16个通道的DMA控制器;LCD控制器(支持被动DSTN和主动TFT显示,最大分辨率800*600*16;系统集成模块(GPIO、中断控制器、PWM);USB,3个UART,红外(FIR)、I2C总线接口、多媒体通信口、动态电源管理技术。(5)XScale结构 基于XScalePXA43(6)典型的嵌入式处理器(中国)

ARM已经与中兴、华为、东南大学、上海集成电路设计中心、中芯国际和大唐电信签订了技术授权协议。国内的微处理器系列有方舟系列:

方舟1号性能166MHz,功耗1.2瓦@166MHz,0.25微米CMOS,1层多晶硅,5层金属,封装HS-BGA,272个管脚,27mm*27mm。方舟2号:性能400MHz,功耗360mW@400MHz,0.18微米CMOS,1层多晶硅,6层金属封装PBGA,304个管脚,23mm*23mm。龙芯系列是神州龙芯公司推出的兼顾通用和嵌入式微处理器特点的新一代32微处理器。采用0.18微米CMOS工艺制造,平均功耗0.4W。(6)典型的嵌入式处理器(中国)ARM已经与中兴44ARM微处理器体系结构(1)ARM微处理器的工作状态从编程的角度看,ARM微处理器的工作状态有两种,可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM微处理器体系结构(1)ARM微处理器的工作状态45(2)ARM微处理器存储格式ARM的寻址空间是线性的地址空间,为232=4GBytes0to3存储第一个word,bytes4to7存储第二个wordARM支持大端(Big-endian)和小端(Little-endian)的内存数据方式,可以通过硬件的方式设置(没有提供软件的方式)端模式(2)ARM微处理器存储格式ARM的寻址空间是线性的地址空间46(2)ARM体系结构的存储器格式大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。(2)ARM体系结构的存储器格式大端格式:被存放字数据的高字47(3)处理器运行模式ARM微处理器支持7种运行模式,分别为:用户模式(USR):ARM处理器正常程序执行的模式。快速中断模式(FIQ):用于高速数据传输或通道处理用于快速中断服务程序。当处理器的快速中断请求引脚有效,且CPSR(6位)中F位为0时(开中断),会产生FIQ异常。外部中断模式(IRQ):用于通用的中断处理,当处理器的外部中断请求引脚有效,且CPSR(7位)中I位为0时(开中断),会产生IRQ异常。系统的外设可通过该异常请求中断服务。特权模式或管理员模式(SVE):操作系统使用的保护模式。当执行软件中断SWI指令和复位指令时,就进入管理模式,在对操作系统运行时工作在该模式下。(3)处理器运行模式ARM微处理器支持7种运行模式,分48(3)处理器运行模式数据访问中止模式(ABT):用于虚拟存储器和存储保护,当存储器数据访问无效时就进入该模式。若处理器数据访问指令的地址不存在或该地址不允许当前指令访问时,也产生数据中止异常。未定义指令中止模式(UND):用于支持硬件协处理器的软件仿真。当ARM处理器或协处理器遇到不能处理的指令时,就要产生未定义指令异常。用户可使用该异常机制进行软件仿真,即用软件来模拟硬件功能,比如浮点运算。系统模式(SYS):运行具有特权的操作系统任务。与用户模式共用使用寄存器组,但是其使用权限要比在用户模式下高。(3)处理器运行模式(3)处理器运行模式数据访问中止模式(ABT):用于虚拟存储49(3)处理器运行模式

除用户模式之外的其他6种处理器模式称为特权模式。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他5种特权模式又称异常模式。处理器模式可以通过软件进行切换,也可以通过外部中断或者异常处理过程进行切换。大多数用户工作在用户模式下。这时,应用程序不能够访问一些受操作系统保护的系统资源。应用程序也不能直接进行处理器模式的切换。(3)处理器运行模式除用户模式之外的其他6种处理器50ARM汇编中的文件格式源程序文件文件名说

明汇编程序文件*.S用ARM汇编语言编写的ARM程序或Thumb程序。C程序文件*.C用C语言编写的程序代码。头文件*.H为了简化源程序,把程序中常用到的常量命名、宏定义、数据结构定义等等单独放在一个文件中,一般称为头文件。(4)ARM源程序文件格式ARM汇编中的文件格式源程序文件文件名说明汇编程序文件51(5)ARM的开发工具ADS1.2SDT的英文全称是ARMSoftwareDevelopmentKit,是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具包。目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARMADS,取而代之。

ARMSDT支持最高到ARM9的所有ARM处理器芯片的开发,包括StrongARM。(5)ARM的开发工具ADS1.2SDT的英文全称52ADS1.2开发环境ADS1.2(ARMDeveloperSuite)提供了创建ARM架构应用系统的完整的软件开发方案,是ARM公司新近推出的一套集成开发环境。用户使用ADS编辑、编译和调试C、C++以及汇编程序。ADS开发环境包括:①代码生成工具(CodeGenerationTools)代码生成工具包括ARM和Thumb指令集的C和嵌入式C++编译器、汇编器和链接器。这些编辑器是工业中针对ARM处理器开发的,能获得比其他开发环境更紧凑的代码密度,以及更小的映像文件。ADS1.2开发环境ADS1.2(ARMDeve53ADS开发环境②Windows平台下的集成开发环境(CodeWarriorIDE)ADS提供了强大的CodeWarriorIDE来整合ARM开发工具,提供了图形接口的项目管理器,极大地方便了用户管理复杂的工程文件,并适合通过网络进行小组开发。同时,CodeWarriorIDE还提供了对第三方调试的接口支持。ADS开发环境②Windows平台下的集成开发环境(Code54ADS开发环境③强大的调试器(Debugger)ADS包括以下2个调试器:AXD(ARMeXtendedDebugger)。AXD提供了一个专业调试软件所能提供的所有调试功能,包括简单和复杂的断点功能、观察点、支持软件和硬件目标以及便捷的图形界面接口等。ARMSD(ARMSymbolicDebugger)。ARMSD是一个命令行方式调试器,提供了所有的基本调试功能,包括断点、观察点和软硬件目标的支持等。ADS开发环境③强大的调试器(Debugger)55ADS开发环境④指令集模拟器(InstructionSetSimulator)ADS中的指令集模拟器提供了对ARM和Thumb内核处理器的精确的模拟,允许用户在硬件条件满足前开发和测评(Benchmark)代码。⑤基于ROM的调试工具——ARMFirmwareSuitARMFirmwareSuit帮助用户在Integerator系统和其他ARM内核系统上快速建立应用程序和操作系统的整合。ADS开发环境④指令集模拟器(InstructionS56ADS开发环境⑥ARM应用库ADS中的应用库已经针对ARM和Thumb内核处理器进行了优化,并且提供了不包含在标准C、C++库中的功能函数及代码,给用户的开发提供了方便。支持各种ARM核和处理器:ARM9E、ARM10、Jazelle、StrongARM和IntelXscale;完整的在线文档;支持实时调试和跟踪。代码生成工具、CodeWarriorIDE、调试器、指令集模拟器、ARMFirmwareSuit和ARM应用库是构成ADS开发环境的主要独立模块,分别实现不同的调试开发功能。ADS开发环境⑥ARM应用库57

基于ARM的处理器体系结构

58

课程大纲嵌入式处理器及其体系结构ARM处理器XScale体系结构PXA系列处理器课程大纲59冯.诺依曼和哈佛体系结构冯·诺依曼型计算机冯.诺依曼和哈佛体系结构冯·诺依曼型计算机60冯·诺依曼型计算机组成结构处理器使用同一个存储器,经由同一个总线传输。完成一条指令需要3个步骤,即:取指令、指令译码和执行指令指令和数据共享同一总线的结构冯·诺依曼型计算机组成结构处理器使用同一个存储器,经由同一个61哈佛体系结构哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。哈佛体系结构哈佛结构是一种将程序指令存储和数据存储分开的存储62CISC与RISCCISC(ComplexInstructionSetComputer)复杂指令集计算机处理器在分析每一条指令之后执行一系列初级指令运算来完成所需的功能一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条采用CISC结构的计算机数据线和指令线是分时复用的,即所谓的冯.诺依曼结构RISC(RiducedInstructionSetComputer)精简指令集计算机采用RISC结构的单片机数据线和指令线分离,即所谓的哈佛结构计算机指令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化CISC与RISCCISC(ComplexInstruc63

课程大纲嵌入式处理器及其体系结构ARM处理器XScale体系结构PXA系列处理器课程大纲64基于ARM架构的嵌入式微处理器在多媒体技术、网络互连和开放操作系统等方面的应用,是8位机体系结构所难以逾越的障碍,也就正好成为选择32位嵌入式系统的主要理由。所有的ARM芯片在内核上保持高度的兼容性,这样在学习和开发嵌入式系统中就可以使用通用的开发、调试工具。目前ARMCPU内核里面都有一个EmbeddedICE逻辑模块,用于采集CPU总线信号,而对EmbeddedICE以及CPU执行单元的通信是通过扫描线来进行的,所有的扫描线都受到测试访问控制端口(TAP)控制,并通过芯片与JTAG接口连接,故可保持不同CPU之间的接口控制的兼容性。调试工具只要支持TAP端口访问,就能进行ARM的系统调试。基于ARM架构的嵌入式微处理器在多媒体技术、网络互6532位体系结构的性能优势(1)寻址空间大在ARM的体系结构里,所有的资源,如存储器、控制寄存器、I/O端口等都是在有效地址空间内采用统一编址的,方便了程序在不同处理器间的移植。(2)运算和数据处理强采用了先进的CPU设计理念、多总线接口(哈佛结构)、多级流水线、高速缓存、数据处理增强等技术,这样几乎所有的通信协议栈都能在32位CPU中轻松实现。使得C、C++、Java等高级语言得到了广泛的应用空间。另外多数的微处理器都包含有DMA控制器,这样就进一步提高了整个芯片的数据能力。32位体系结构的性能优势(1)寻址空间大在ARM的体6632位体系结构的性能优势(3)操作系统的支持

如果某个系统需要有多任务的调度、图形化的人机界面、文件管理系统、网络协议等需求,那么就必须使用嵌入式操作系统。一般复杂的操作系统在多进程管理中还需要有硬件存储器保护单元(MPU)或管理单元(MMU)的支持。目前ARM9以上的微处理器均有这些支持,可运行Linux、WinCE和VxWorks等众多操作系统。32位体系结构的性能优势(3)操作系统的支持67基于指令集体系结构的分类版本ARM架构处理器定义了6种不同的版本:V1版架构:基本的数据处理指令(无乘法);字节、半字和字的Load/Store指令;转移指令,包括子程序调用及链接指令;软件中断指令;寻址空间64MB(226)。V2版架构:在V1版上进行了扩充,例如ARM2和ARM3架构,并增加了以下功能:乘法和乘加指令;支持协处理器操作指令;快速中断模式;SWP/SWPB的基本存储器与寄存器交换指令;寻址空间64MB。基于指令集体系结构的分类版本ARM架构处理器定义了6种不68基于指令集体系结构的分类版本V3版架构:V3架构对ARM体系结构作了较大的改动,把寻址空间增至32位,增加了当前程序状态寄存器CPSR和存储程序状态寄存器SPSR,以便增强对异常情况的处理。增加了中止和未定义二种处理模式。ARM6就是采用该版架构。V4版架构:它在V3版架构上作了进一步扩充,使ARM使用更加灵活。ARM7、ARM8、ARM9都采用该版结构。增加功能有符号化和半符号化半字及符号化字节的存取指令;增加了16位的Thumb指令集;完善了软件中断SWI指令的功能;处理器系统模式引进特权方式时使用用户寄存器操作;把一些未使用的指令空间扑获为未定义指令。基于指令集体系结构的分类版本V3版架构:V3架构对ARM体69基于指令集体系结构的分类版本V5版架构:ARM10和XScale都采用该版架构。新增指令有:带有连接和交换的转移BLX指令;计数前导零CLZ指令;BBK中断指令;增建了数字信号处理指令;为协处理器增加了更多可选择的指令。V6版架构:是在低功耗的同时,还强化了图形处理性能,追加有效进行多媒体处理的SIMD功能。于2002年推出,ARM11采用该架构,具体新增加了以下功能:THUMBTM-35%代码压缩;DSP扩充-高性能定点DSP功能;JazelleTM-Java性能优化,可提高8倍;Media扩充-音/视频性能优化,可提高4倍。另外还支持多微处理器内核。基于指令集体系结构的分类版本V5版架构:ARM10和XSc70ARM微处理器系列产品及性能简介1)系列产品分类ARM处理器当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和ARM11。进一步的产品来自于合作伙伴,例如IntelXscale微体系结构和产品。ARM7、ARM9、ARM9E和ARM10是4个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能和体积的需求。ARM11是第5个产品系列,是专门为安全设备而设计的。性能高达1.2MIPS(Xscale微体系结构),功耗测量为μW/MHz,并且所有体系结构兼容。ARM微处理器系列产品及性能简介1)系列产品分类71ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核和ARM处理器核。

处理器内核只保持了最基本的组织架构。

处理器核是在最基本的处理器内核基础上增加了Cache、存储器管理单元MMU、协处理器C15、先进微控制器总线架构AMBA接口以及EMT宏单元等部件,这样就构成了ARM处理器核。ARM微处理器系列产品及性能简介ARM公司是嵌入式RISC处理器的知识产权IP供72MPU的生产厂家简介由集成电路厂商在处理器内核和处理器核基础上设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器MPU。例如:Intel公司:PXA25X、27X系列微处理器(采用XScale核);TI公司:OMAP59XX微处理器,(采用ARM+DSP双核);Motorola公司:MX1微处理器MPU(ARM922T核);ATMEL公司:AT91系列MPU(采用ARM7TDMI内核、ARM920T核);Philips公司:IPC2XXX系列(ARM7TDMI内核)等等。ARM微处理器系列产品及性能简介MPU的生产厂家简介由集成电路厂商在处理器内核和73ARM微处理器后缀命名的含义标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试DebugM支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbeddedICE在线仿真EDSP指令增加了DSP算法处理器指令:16位乘加指令,带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件ARM微处理器后缀命名的含义标志含义说明T支持Thumb指令74ARM处理器内核/处理器核的分类

(1)ARM7T和ARM7EFamilyUnifiedCache内存管理流水线级别ThumbDSPJazelleARM7TDMI无无3有无无ARM7TDMI-S无无3有无无ARM710T/720T8kMMU3有无无ARM740T8k或4kMPU3有无无ARM7EJ-S无无3有有有ARM处理器内核/处理器核的分类

(1)ARM7T和ARM75乘法器指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS[1:0]LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM[4:0]D[31:0]桶移位器32位ALUDBE写数据寄存器读数据寄存器地址寄存器寄存器BankA[31:0]ABE及控制逻辑PCUpdate解码站指令解压缩IncrementerPCABusBBusALUBusARM7TDMI内核内核乘法器指令地址nRESETnMREQSEQABORTnIRQ76ARM7微处理器系列主要特点ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。其具有如下特点:具有嵌入式ICE-RT逻辑,调试方便。极低的功耗(100mW左右),适合对功耗要求较高的应用,如便携式产品。采用三级流水线。采用ARMV4指令集。ARM7微处理器系列主要特点ARM7微处理器系列为低77ARM7微处理器系列主要特点能够提供0.9MIPS/MHZ的三级流水线结构。兼容16位Thumb指令集;对操作系统的支持广泛,包括WinCE、Linux等;指令系统与ARM9、ARM10E系列兼容,便于用户的产品升级换代;主频通常为20-100MHZ。速度为0.9MIPS/MHz。ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器内核。主要性能:工艺0.35um(新近0.25um)、电压3.3V(新近1.2v)、时钟20-133MHZ、功耗87mW。注:MPU只支持实时操作系统。ARM7微处理器系列主要特点能够提供0.9MIP78ARM7TDMIARM7TDMI内核地址地址数据读AMBA

接口写缓冲MMU数据写数据ARM7xxT控制逻辑CacheAMBA总线接口JTAG和非AMBA信号CP15带Cache的ARM7TDMI

ARM710T8K统一的cache完整的内存管理单元(MMU),支持虚拟地址和存储器保护写缓冲ARM720T同ARM710T,但支持WinCEARM740T8K统一的cache内存管理单元写缓冲ARM7TDMIARM7TDMI地址地址数据读AMBA

接口79(2)ARM9FamilyCache内存管理流水线级别ThumbDSPJazelleARM9TDMI无无5有无无ARM920T16K/16kMMU5有无无ARM922T8k/8kMMU5有无无ARM940T4k/4kMPU5有无无(2)ARM9FamilyCache内存管理流水线级别Th80ARM9TDMIInstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb

InstDecodeRegSelectRegReadShiftALURegWriteThumb®ARM

decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水线ARM9TDMIInstructionShift+AL81ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存储器ARM940T2x4KcachesMPU写缓冲ARM9xxTARM920T2x16KcachesMMU支持虚拟地址和内存保护写缓冲带Cache的ARM9TDMIARM9TDMIARM9TDMIDCacheICache82ARM9TDMI体系结构框图ARM9TDMICPU指令接口数据地址接口跟踪接口数据接口JTAG接口指令地址接口ARM9TDMI结构框图ARM9TDMI体系结构框图ARM9TDMICPU指令接口83ARM920T体系结构框图ARM920T体系结构框图84ARM920T体系结构框图ARM920T体系结构框图85ARM9微处理器系列主要特点ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,在相同的工艺下其性能是ARM7的2倍,具有以下特点:5级整数流水线,工作频率一般为200MHz左右,提供1.1MIPS/MHZ的哈佛结构。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA总线接口。采用哈佛体系结构。ARM9微处理器系列主要特点ARM9系列微处理器在高86ARM9微处理器系列主要特点

全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9是低价、低功耗、高性能系统处理器。典型产品ARM9TDMI主要性能:工艺0.25um(新近0.18um)、电压2.5V(新近1.2v)、时钟0-200MHZ、功耗150mW。ARM9系列主要用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9微处理器系列主要特点全性能的MMU,支持包括Win87ARM9EFamilyCache内存管理流水线级别ThumbDSPJazelleARM9E-S无无5有有无ARM946E-S4k-1M/4k-1MMPU5有有无ARM966E-S无无5有有无ARM968E-S无无5有有无ARM9EJ-S无无5/6有有有ARM926EJ-S14k-128k/4k-128kMMU5/6有有有ARM9EFamilyCache内存管理流水线级别Thu88ARM9E微处理器系列主要特点

ARM9E系列微处理器为综合型处理器,使用单一的处理器内核提供了微处理器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。具有以下特点:ARM9E微处理器系列主要特点ARM9E系列微处理89ARM9E微处理器系列主要特点支持DSP指令集,应用高速数字信号处理的场合;5级整数流水线;最高主频可达300MHZ;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP9浮点处理协处理器;全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。ARM9E微处理器系列主要特点支持DSP指令集,应用高速数字90(3)ARM10E和ARM10TFamilyARM10EJ-S无无6有有有ARM1026EJ-S0,4-128k/0,4-128kMMU6有有有Cache内存管理流水线级别ThumbDSPJazelleARM10E无无6有有无ARM1020E32k/32kMMU6有有无ARM1022E16k/16kMMU6有有无ARM10TDMI无无6有无无ARM1020T32k/32kMMU6有无无(3)ARM10E和ARM10TFamilyARM10E91ARM10E系列概述v5TE架构CPI1.36级流水线静态分支预测32kB指令cache和32kB数据cache支持“Hitundermiss”非阻塞的执行单元每周期64位的LDM/STM操作EmbeddedICE逻辑-RT-II支持新的VFPv1结构同ARM1020E,除了cache大小为16kB对SUDL(singleuserdesignlicense)有效ARM1020EARM1022EARM10E系列概述v5TE架构CPI1.36级流92ARM10E微处理器系列主要特点ARM10E系列微处理器由于采用了新的体系结构,与同等的ARM9处理器相比较,在同样的时钟频率下,性能提高了近50%,同时又大大减少了芯片的功耗,在相同的工艺下其性能是ARM9的2倍。具有以下特点:ARM10E微处理器系列主要特点ARM10E系列微93ARM10E微处理器系列主要特点支持DSP指令集,适合高速数字信号处理的场合;6级整数流水线;工作频率一般为400/600MHz左右;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口;支持VFP10浮点处理协处理器;内嵌并行读/写操作部件;全性能的MMU,支持包括WinCE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM10E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。ARM10E微处理器系列主要特点支持DSP指令集,适合高速数94ARM9vsARM10流水线的对比ARM9vsARM10流水线的对比95(4)ARM11FamilyCache内存管理流水线级别ThumbDSPJazelle浮点运算ARM1136J-S4-64kMMU8有有有无ARM1136JF-S4-64kMMU8有有有有ARM1156T2-S可配置9Thumb-2有无无ARM1156T2F-S可配置9Thumb-2有无有(4)ARM11FamilyCache内存管理流水线级别96ARM11微处理器系列主要特点ARM11是采用ARMV6结构,内部具有8级流水线处理、动态分支预测与返回堆栈。在0.13um工艺下,ARM11TM的运行频率高达1000Mhz。在1.2V电压的条件下其功耗可以低至0.4mW/Mz。ARM11中另一个重要的结构改进,是静、动组合的跳转予判。动态预测和静态预测的组合使ARM11处理器能达到85%的预测正确性。ARM11包含一个64位端口、4种状态的跳转目标地址缓存。新的ARM11支持SIMD指令,可使某些算法的运算的速度提高2-3倍。ARM11微处理器系列主要特点ARM11是采用AR97ARM11微处理器系列主要特点ARMV6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。增加了多媒体处理指令单元扩展,单指令流多数据流(SIMD)。增加了快速浮点运算和向量浮点运算。目前ARM公布了三个新的ARM11系列微处理器内核系列,分别是ARM1136J内核、ARM1156T2内核、ARM1176JZ内核。ARM11微处理器系列主要特点ARMV6保持了10098(5)XScale结构 Intel公司发展了新一代微处理器体系结构就是XScale处理器。XScale处理器是基于ARMv5TE(第5版)体系结构所设计的,具有协处理器接口,可以直接扩展DSP处理器。目前已使用在数字移动电话、个人数字助理和网络产品等场合。XScale处理器是目前主要推广的一款ARM处理器。(5)XScale结构 Intel公司发展了新一99(5)XScale结构

基于XScalePXA250微处理器性能如下:内核工作频率:100-400MHZ;I-Cache32KB和D-Cache32KB;I-MMU+D-MMU(各32路变换后备缓冲器TLB快表);7/8级流水线系统存储器接口:100MHZSDRAM;4-256MBSDRAM;支持16-256MBDRAM;4个SDRAM区,每个区支持64MB存储器;支持2个PCMCIA/CF卡插槽。外围接口:具有16个通道的DMA控制器;LCD控制器(支持被动DSTN和主动TFT显示,最大分辨率800*600*16;系统集成模块(GPIO、中断控制器、PWM);USB,3个UART,红外(FIR)、I2C总线接口、多媒体通信口、动态电源管理技术。(5)XScale结构 基于XScalePXA100(6)典型的嵌入式处理器(中国)

ARM已经与中兴、华为、东南大学、上海集成电路设计中心、中芯国际和大唐电信签订了技术授权协议。国内的微处理器系列有方舟系列:

方舟1号性能166MHz,功耗1.2瓦@166MHz,0.25微米CMOS,1层多晶硅,5层金属,封装HS-BGA,272个管脚,27mm*27mm。方舟2号:性能400MHz,功耗360mW@400MHz,0.18微米CMOS,1层多晶硅,6层金属封装PBGA,304个管脚,23mm*23mm。龙芯系列是神州龙芯公司推出的兼顾通用和嵌入式微处理器特点的新一代32微处理器。采用0.18微米CMOS工艺制造,平均功耗0.4W。(6)典型的嵌入式处理器(中国)ARM已经与中兴101ARM微处理器体系结构(1)ARM微处理器的工作状态从编程的角度看,ARM微处理器的工作状态有两种,可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM微处理器体系结构(1)ARM微处理器的工作状态102(2)ARM微处理器存储格式ARM的寻址空间是线性的地址空间,为232=4GBytes0to3存储第一个word,bytes4to7存储第二个wordARM支持大端(Big-endian)和小端(Little-endian)的内存数据方式,可以通过硬件的方式设置(没有提供软件的方式)端模式(2)ARM微处理器存储格式ARM的寻址空间是线性的地址空间103(2)ARM体系结构的存储器格式大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。(2)ARM体系结构的存储器格式大端格式:被存放字数据的高字104(3)处理器运行模式ARM微处理器支持7种运行模式,分别

温馨提示

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

评论

0/150

提交评论