1、嵌入式系统,第二章嵌入式硬件系统基础,主要内容,嵌入式硬件系统基本组成,嵌入式微处理器,嵌入式系统总线,嵌入式存储系统,第一节嵌入式硬件系统基本组成,嵌入式系统的硬件是以包含嵌入式微处理器的SoC为核心,主要由SoC、总线、存储器、输入/输出接口和设备组成。嵌入式微处理器为核心的SoC 总线 存储器 输入/输出接口和设备,嵌入式微处理器,每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯诺依曼(Von Neumann)结构或哈佛(Harvard)结构,冯诺依曼结构,哈佛结构,指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问,程序和数据存储在不同的存储空
2、间中,两条总线(程序总线和数据总线),数据的吞吐率提高了一倍,嵌入式微处理器,传统的微处理器采用的冯诺依曼结构将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。哈佛结构则是不同于冯诺依曼结构的一种并行体系结构,其主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐率提高了一倍。,嵌入式微处理器,嵌入式微处理器的指令系统可采用精简指令集系统RISC(Reduced Instruction Set Computer)或复杂指令集系统C
3、ISC(Complex Instruction Set Computer),嵌入式微处理器,嵌入式微处理器有许多不同的体系,即使在同一体系中也可能具有不同的时钟速度和总线数据宽度、集成不同的外部接口和设备。据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种嵌入式微处理器体系,主流的体系有ARM、MIPS、PowerPC、SH、 X86等。,总 线,嵌入式系统的总线可分为:片内总线:与嵌入式微处理器集成在一起,如:AMBA、 AVALON、OCP、WISHBONE等片外并行总线:如:PCI、ISA等片外串行总线:UART、SPI、I2C、USB等片内总线的选择取决于CPU C
4、ore片外总线的选择取决于应用,存储器,嵌入式系统的存储器包括主存和外存。大多数嵌入式系统的代码和数据都存储在处理器可直接访问的存储空间即主存中。系统上电后在主存中的代码直接运行。主存储器的特点是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存储器件。,存储器,目前有些嵌入式系统除了主存外,还有外存。外存是处理器不能直接访问的存储器,用来存放各种信息,相对主存而言具有价格低、容量大的特点。在嵌入式系统中除部分采用硬盘外,大多数采用电子盘做外存,电子盘的主要种类有:NandFlashSD(Secure Digital)CompactFlashU盘,SmartMedi
5、aMemory StickMultiMediaCardDOC(Disk On Chip等,输入/输出接口和设备,嵌入式系统的大多数输入/输出接口和部分设备已经与嵌入式微处理器集成在一起。输入/输出接口和设备主要包括:中断控制器、DMA、串行和并行接口定时器(Timers)、计数器(counters)、看门狗(watchdog timers)、RTC、UARTs、PWM(Pulse width modulator)AD/DA、显示器、键盘和网络等。,第二节嵌入式微处理器,嵌入式微处理器的发展嵌入式微处理器的分类嵌入式微处理器的特点主流的嵌入式微处理器(ARM, MIPS, SH, PowerPC
6、, x86),嵌入式微处理器的发展,嵌入式微处理器的分类,嵌入式微处理器种类繁多,按位数可分为4位、8位、16位、32位和64位。按用途来分,嵌入式微处理器可分为嵌入式DSP和通用的嵌入式微处理器两种: 嵌入式DSP:专用于数字信号处理,采用哈佛结构和一系列措施保证数字信号的处理速度,如对FFT(快速傅立叶变换)的专门优化。 通用的嵌入式微处理器:一般是集成了通用微处理器的核、总线、外围接口和设备的SOC芯片,有些还将DSP作为协处理器集成。,嵌入式微处理器的特点,体系结构,指令集,性能,功耗和管理,成本,集成度,基础是通用微处理器与通用微处理器相比的区别:体积小、重量轻成本低、功耗低工作温度
7、宽抗电磁干扰、可靠性强,ExternalMemory,CPU,Address,Data,扩展芯片,内核(core),处理器存储器子系统,SoC的片内外设,系统的片外设备,嵌入式微处理器的集成度,符合嵌入式系统的低成本和低功耗需求,嵌入式微处理器的集成度,嵌入式微处理器是面向应用的,其片内所包含的组件的数目和种类是由它的市场定位决定的。在最普通的情况下,嵌入式微处理器包括:片内存储器:部分嵌入式微处理器外部存储器的控制器,外设接口(串口,并口)LCD控制器:面向终端类应用的嵌入式微处理器中断控制器,DMA控制器,协处理器定时器,A/D、D/A转换器多媒体加速器:当高级图形功能需要时总线其他标准接
8、口或外设,返回,嵌入式微处理器的体系结构,算术格式(Arithmetic Format) 由于低成本和低功耗的限制,大多数的嵌入式微处理器使用定点运算(fixed-point arithmetic)当嵌入式系统中需要使用浮点运算时,可采用软件模拟的方式实现浮点运算,只不过这样要占用更多的处理器时间。 功能单元(Functional Units) 通常包括不止一个的功能单元,典型的是包含一个ALU、移位器和MAC,处理器通常用一条指令完成乘法操作。 流水线(Pipeline)通常采用单周期执行指令,可能导致比较长的流水线,返回,嵌入式微处理器的指令集,为满足应用领域的需要,嵌入式微处理器的指令集
9、一般要针对特定领域的应用进行剪裁和扩充。目前很多应用系统需要类似于DSP的数字处理功能。这些指令主要有:乘加(MAC)操作:它在一个周期中执行了一次乘法运算和一次加法运算。 SIMD类操作:允许使用一条指令进行多个并行数据流的计算。 零开销的循环指令:采用硬件方式减少了循环的开销。仅使用两条指令实现一个循环,一条是循环的开始并提供循环次数,另一条是循环体。 多媒体加速指令:像素处理、多边形、3D操作等指令。,返回,嵌入式微处理器的性能,低端(低价,低性能) 一般低端嵌入式微处理器的性能最多达到50MIPS,应用在对性能要求不高但对价格和功耗有严格要求的应用系统中。 中档,低功耗 中档的嵌入式微
10、处理器可达到较好的性能(如150MIPS左右),采用增加时钟频率、加深流水深度、增加Cache及一些额外的功能块来提高性能,并保持低功耗。 高端,嵌入式微处理器的性能,高端嵌入式微处理器用于高强度计算的应用,使用不同的方法来达到更高的并行度 单指令执行乘法操作:通过加入额外的功能单元和扩展指令集,使许多操作能在一个单一的周期内并行执行。每个周期执行多条指令:桌面和服务器的超标量处理器都支持单周期多条指令执行,在嵌入式领域通常使用VLIW(very large instruction word)来实现,这样只需较少的硬件,总体价格会更低些。例如TI的TMS320C6201芯片,通过使用VLIW方
11、法,能在每个周期同时执行8条独立的32位指令。使用多处理器:采用多处理器的方式满足应用系统的更高要求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如TI的OMAP730包括了三个处理器核ARM9、ARM7、DSP。,返回,嵌入式微处理器的功耗管理,大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备。 降低工作电压:1.8v、1.2v甚至更低,而且这个数值一直在下降。提供不同的时钟频率:通过软件设置不同的时钟分频。关闭暂时不使用的功能块:如果某功能块在一个周期内不使用,就可以被完全关闭,以节约能量。,嵌入式微处理器的功耗管理,提供功耗管理机制 运行模式(Ru
12、nning Mode):处理器处于全速运行状态下。 待命模式(Standby Mode):处理器不执行指令,所有存储的信息是可用的,处理器能在几个周期内返回运行模式。 时钟关闭模式(clock-off mode):时钟完全停止,要退出这个模式系统需要重新启动。影响功耗的其他因素还有总线(特别是总线转换器,可以采用特殊的技术使它的功耗最小)和存储器类型的大小(如果使用DRAM,它需要不断的刷新)。为了使功耗最小,总线和存储器要保持在应用系统可接受的最小规模。,返回,嵌入式微处理器的成本,为降低价格,需要在嵌入式微处理器的设计中考虑不同的折衷方案。处理器的价格受如下因素影响:处理器的特点:功能块的
13、数目、总线类型等。 片上存储器的大小。芯片的引脚数和封装形式:如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。芯片大小(die size):取决于制造的工艺水平。代码密度(code density):代码存储器的大小将影响价格,不同种类的处理器结构(CISC/RISC/ VLIW )有不同的代码密度。,主流的嵌入式微处理器,目前主流的嵌入式微处理器系列主要有:ARM系列MIPS系列PowerPC系列Super H系列等。属于这些系列的嵌入式微处理器产品很多,有上千种以上。,Units (millions),So
14、urce: Andrew Allison, Inside The New Computer Industry, January 2001,Embedded RISC Processor Shipments,32位浪潮的到来,Source: Semico Research Corp. and SIA/WSTS,Total MCU, by Sub-Category (excl. DSP),Total Embedded Control Market Shipments by Type,总共约26亿个32位处理器付运,占总数96亿的27%,2005年ARM为17亿个,约占32位总量的70%左右,X86
15、系列,主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。 主要应用在工业控制、通信等领域。 国内由于对X86体系比较熟悉,得到广泛应用,特别是嵌入式PC的应用非常广泛。,Intel Atom processor Z5xx,built on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of lowpower IA-32 micro-architecture spec
16、ially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, me
17、chanical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z510, and Z500,Intel Atom processor Z5xx,built on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of lowpower IA-32 micro-architecture specia
18、lly designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mech
19、anical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z510, and Z500,Intel Atom processor Z5xx,built on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of low power IA-32 micro-architecture special
20、ly designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mecha
21、nical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z510, and Z500,Intel Atom processor Z5xx,New single-core processor for mobile devices offering enhanced performanceOn die, primary 32-kB instructions cache and 24-kB write-back data cache100-MHz and
22、133-MHz Source-Synchronous front side bus (FSB)100 MHz: Intel Atom processor Z500133 MHz: Intel Atom processor Z540, Z530, Z520, and Z510Supports Hyper-Threading Technology 2-threadsOn die 512-kB, 8-way L2 cacheSupport for IA 32-bit architectureIntel Virtualization Technology (Intel VT)Intel Streami
23、ng SIMD Extensions 2 and 3 (Intel SSE2 and Intel SSE3) and Supplemental Streaming SIMD Extensions 3 (SSSE3) support,MPC/PPC系列,Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要应用在通信、消费电子及工业控制、军用装备等领域。,MPC/PPC系列,IBM PowerPC 集成10/100Mbps以太网控制器、串行和并行端口、内存控制器以及其它外设的高性能嵌入式处理器。Motorola MPC 高度综合的SOC设备,它结合了PPC微
24、处理器核心的功能、通信处理器和单硅成分内的显示控制器。这个设备可以在大量的电子应用中使用,特别是在低能源、便携式、图象捕捉和个人通信设备。,技术,0.25,微米,CMoS SA-12E,282 Dhrystone 2.1 MIPS 200MHz,375 Dhrystone 2.1 MIPS 266MHz,200/100/66/50 MHz,266/133/66/66 MHz,晶体数量,480,万,电源消耗,1.1,瓦,信号,I/O,300,温度范围,-40到80度,电源供应,2.5V (,逻辑电路,),3.3V (I/O),,支持,5V I/Os,456-Ball,Enhanced PBGA
25、(35mm x 35mm),性能,频率,(CPU /,SDRAM /PCI /EBC),封装,PowerPC 405 GP技术规格,*Dhrystone是一个综合性的基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些“典型指令综合起来形成的测试程序。,ARM系列,ARM(Advanced RISC Machine)公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及各类外围接口。ARM内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色。目前,90%的移动电话、大量的游戏机、手持PC和机顶盒等都已采用了ARM处理
26、器,许多一流的芯片厂商都是ARM的授权用户(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成为业界公认的嵌入式微处理器标准。,ARM处理器的分类,结构体系版本(Architecture)ARM v4TARM v5TE ARM v6ARM Cortex (v7),Processor FamilyARM7 ARM9ARM10ARM11ARM Cortex,按应用特征分类应用处理器 Application Processor实时控制处理器 Real-time Controller微控制器 Micro-controller,特征:MMU, Cache 最快频
27、率、最高性能、合理功耗,特征:MPU, Cache 实时响应、合理性能、较低功耗,特征:no sub-memory system 一般性能、最低成本、极低功耗,Roadmap of ARM V4/V5/V6,基于32-bit地址空间的32-bit指令集,增加16-bit Thumb指令集,使得编译器能产生紧凑代码(内存能节省到35%以上) Thumb在处理器中仍然要扩展为标准的32位ARM指令来运行。采用16位Thumb指令集最大的好处就是可以获得更高的代码密度和降低功耗。,1999年推出 增强了Thumb体系:以更好地平衡代码空间和性能 并在ARM ISA上扩展了增强的DSP指令集: E扩展
28、表示在通用的CPU上提供DSP能力。,2000年推出, 增加了Jazelle扩展以支持Java加速技术。Jazelle技术比仅仅基于软件的JVM性能提高近8倍的性能减少了80的功耗。,2001年推出,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。SIMD扩展使得广大的软件应用如Video和Audio codec的性能提高了4倍。Thumb-2和TrustZone 技术也用于ARMv6中。,ARMv7(Cortex),ARMv7定义了3种不同的处理器配置(processor profiles): Profile A是面向复杂、基于虚拟内存的OS和应用的Profile R是针对实时
29、系统的Profile M是针对低成本应用的优化的微控制器的。所有ARMv7 profiles实现Thumb-2技术,同时还包括了NEON技术的扩展提高DSP和多媒体处理吞吐量400,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。,ARM Family,ARM7 Family,ARM9 Family,ARM10 Family,ARM11 Family,150DMIPS,300 DMIPS,500 DMIPS,1000 DMIPS,ARM Cortex Family,ARM Architecture,当前的主流ARM处理器,ARM7世界上最为广泛使用的 CPU 之一100M
30、HzARM9100-300MHz,1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.,ARM11 芯片已经面世,ARM11300-700+ MHzSIMD 指令扩展支持更丰富的多媒体应用40家授权芯片公司,一些已开始量产,FOMA N902iFirst ARM11 based phone,OMAP2420,i.MX31/i.MX31L,目前最快的嵌入式处理器,最快的处理器提供超过2000 DMIPS 的性能运行于 1GHz 频率 (90nm or 65nm 制造工艺)功耗小于 300mW,ARM Cortex A8 Appl
31、ication Processor,Cortex-M3 实现 $1 ARM芯片,ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeline1.22 DMIPS/MHz 30% over ARM7TDMI33K gates 30% smaller than ARM7TDMI,Luminary Micro的Stellaris系列MCU产品售价仅1美元,ARM Cortex-M3 微控制器内核,专门针对MCU应用领域而设计,突出低成本、低功耗和高效率。,领先嵌入式处理器技术发展讨论,多处理器技术单处理器技术的性能提升终有一天会遭遇瓶颈对嵌入式系统而言,尤其要
32、考虑付出的代价把任务进行并行分解是理想的选择ARM MPcore可以集成1-4个ARM11处理器关键是要提供给软件开发者一个友好的编程界面64位处理器?哪儿是系统性能瓶颈?是需要64位地址还是64位数据?嵌入式系统比PC有更好的条件来解决系统性能和带宽问题PC系统在主板上,扩展系统带宽需要扩大每个组件的接口带宽SoC只需扩展片内总线,非常容易实现AMBA支持8-1024位总线宽度许多SoC设计以及ARM处理器内部已经使用64位数据总线,Dhrystone是一个综合性的基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。,On c
33、hipRAM,基于ARM的系统举例,ARMProcessor core,AMBA AHB,ExternalMemory Interface,APB Bridge,AMBA APB,InterruptController,ARMPrimecell Peripherals,GPIO,DMAPort,Clocks and Reset Controller,ARM核深度嵌入于SoC中通过JTAG口进行外部调试设计既有外部内存又有内部内存支持不同的内存宽度、速度和大小包含一个中断控制器内核只支持两种中断包含Primecell外设需要从ARM公司取得授权用AMBA相连的器件 (Advanced Micro
34、controller Bus Architecture),DEBUG,nIRQnFIQ,FLASH,SDRAM,ARM based SoC,高速缓存内核术语,MPU 内存保护单元控制内存访问权限控制内存区域的属性(cacheable, bufferable)MMU 内存管理单元具有MPU的所有特性另外提供虚拟地址到物理地址的转换,Cache(高速缓存)快速的本地内存存放最近被访问过的内存的副本TCM 紧耦合内存快速的本地内存特定的地址范围Write buffer(写缓存区)减少了写数据到外部内存的次数,ARM9EInteger Core,Cache,Memory System,TCM,Writ
35、e buffer,MMUor MPU,BUS Interface,ControlCoprocessor,ARM926EJ-S core,Fast core clock domain,System on Chip,Slower bus clock domain,ARM7TDMI,Thumb 架构扩展, 提供两个独立的指令集:ARM 指令,均为 32位Thumb指令,均为 16位两种运行状态,用来选择哪个指令集被执行,内核具有Debug扩展结构,增强乘法器 (32x8) 支持64位结果,EmbeddedICE 逻辑,3 级流水线冯诺依曼架构CPI(Cycle Per Instruction) 约为
36、1.9,ARM7TDMI,ARM7TDMI内核,MCLK,nIRQ,nFIQ,nRESET,BUSEN,BIGEND,ISYNC,nWAIT,VDD,VSS,APE,DBE,协处理器接口,存储器管理,存储器接口,ABORT,nOPC,CPB,CPA,nCPI,nTRANS,nM4:0,MAS1:0,nRW,nMREQ,LOCK,SEQ,nENOUT,A31:0,DOUT31:0,DIN31:0,D31:0,电源,总线控制,时钟,配置,中断,内核信号,ARM7TDMI,ARM7TDMI内核,TAP 控制器,JTAG 接口,数据总线,控制信号,地址总线,BUSSplitter,EmbeddedIC
37、E逻辑,方框图,乘法器,指令解码,地址自增器,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,写数据 寄存器,读数据 寄存器,地址寄存器,寄存器 Bank,A31:0,ABE,及,控制 逻辑,PC Update,解码站,指令 解压缩,Incrementer,PC,ABus,BBus,ALUBus,ARM7TDMI,内核,ARM7TDMI指令流水线,为增加处理器指令流的速度,ARM7 系列使
38、用3级流水线。允许多个操作同时处理,而非顺序执行。 PC指向正被取指的指令,而非正在执行的指令。,从存储器中读取指令,解码指令中用到的寄存器,寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank ),PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,ARM7TDMI指令流水线,操作,周期,1 2 3 45 6,Fetch,最佳流水线,该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数 (CPI) = 1,ARM7TDMI,ARM7TDMI内核,地址,地址,数据读,AMBA接口,写缓冲,MMU,数据写,数据,ARM7xxT
39、,控制逻辑,Cache,AMBA总线接口,JTAG 和非 AMBA 信号,CP15,带Cache的ARM7TDMI,ARM710T8K 统一的 cache 完整的内存管理单元(MMU),支持虚拟地址和存储器保护写缓冲,ARM720T同ARM710T,但支持 WinCEARM740T8K 统一的 cache内存管理单元写缓冲,Write Buffer:当数据写到Write Buffer后不需要CPU的任何干预而由Write Buffer控制逻辑自动的将数据写到最终的地方;Cache的回写则需要CPU的干预。Write Buffer较小,通常只有几十个字节。Read Buffer:当读数据时Rea
40、d Buffer自动多读取一些字节,但是不占用CPU的总线时间,所以能加快读数据的速度;当使用Cache时如果要从内存中读取数据则每个数据都会占用CPU的时间,这是与Read Buffer的最大不同点。Read Buffer较小,通常只有几十个字节。,Cache与Buffer的区别,ARM9TDMI,Harvard架构增加了可用的存储器宽度指令存储器接口数据存储器接口可以实现对指令和数据存储器的同时访问5 级流水线实现了以下改进:改进 CPI 到 1.5提高了最大时钟频率,ARM9TDMI,InstructionFetch,Shift + ALU,MemoryAccess,RegWrite,R
41、egRead,RegDecode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM or ThumbInst Decode,Reg Select,RegRead,Shift,ALU,RegWrite,ThumbARMdecompress,ARM decode,InstructionFetch,FETCH,DECODE,EXECUTE,ARM7TDMI,流水线,ARM9TDMI,ARM9TDMI,D Cache,I Cache,MMU,GLUE,外部存储器,ARM940T2x 4K caches MPU写缓冲,ARM9xxT,ARM920T2x 16K
42、 caches MMU支持虚拟地址和内存保护 写缓冲,带Cache的ARM9TDMI,ARM9E-S 系列概述,ARM9E 基于 ARM9TDMI 内核,有以下扩展和增强单周期 32x16 乘法器EmbeddedICE 逻辑 RT改进的 ARM/Thumb 交互操作新的32x16和 16x16 乘法指令新的计数到零指令新的饱和算术指令ARM946E-SARM9E-S 内核指令和数据cache, 大小可选择指令和数据RAM,大小可选择保护单元AHB 总线接口ARM966E-S与 ARM946E-S相似, 但无 cache,ARM926EJ-S系列概述,Jazelle状态允许直接执行Java 8位
43、码ARM926EJ-SARM9E-S 内核可配置的cache和 TCM内存管理单元双重 32位 AHB 总线接口 (多层),ARM10E 系列概述,v5TE架构,CPI 1.3,6 级流水线,静态分支预测,32kB 指令cache和32kB数据cache支持“Hit under miss”非阻塞的执行单元,每周期64 位的 LDM / STM操作,EmbeddedICE逻辑 - RT-II,支持新的 VFPv1 结构,同ARM1020E,除了cache大小为16kB,对SUDL(single user design license )有效,ARM1020E,ARM1022E,ARM9 vs A
44、RM10,流水线的对比,Intel StrongARM 概述,ARM V4 架构 (无Thumb支持)5级流水线,降低跳转损耗-stage pipeline,reduced branch penalty改进的乘法器(典型地比ARM9TDMI 快2个周期)不支持 Multi-ICE 调试 (JTAG限制在连通性测试)无外部协处理器接口SA-110: 16K 指令和数据 caches, 8 x 16 字节写缓冲.SA-1100/1110:片上外设,存储器控制器更小的 cache 容量PID 寄存器指令断点,通过 CP15,Intel XScale 概述,V5TE 兼容架构7-8级流水线带统计分支预
45、测32k的数据和指令 Cache, 外加2k的数据Minicache8口写缓冲,4口填充和追加缓冲完整的32位协处理器接口调试和性能监控逻辑(通过CP14 )乘-加模块(作为CP0 )可配置的内核时钟速度100-733MHz ,来自 33-66MHz 输入时钟异步输入总线时钟可到100 MHz (最大总线内核时钟的1/3 ),ARM微处理器:编程模型,数据类型 字节型数据(Byte):数据宽度为8bits 半字数据类型(HalfWord):数据宽度为16bits,存取式必须以2字节对齐的方式 字数据类型(Word):数据宽度为32bits,存取式必须以4字节对齐的方式,ARM微处理器:CPU模
46、式(processor mode),7种CPU模式,CPU模式的转变:软件控制异常外部中断,ARM微处理器:CPU模式,User模式,程序不能访问有些受保护的资源,只能通过异常的形式来改变CPU的当前运行模式,特权模式可以存取系统中的任何资源,System模式,与User模式的运行环境一样但是它可以不受任何限制的访问任何资源该模式主要用于运行系统中的一些特权任务,FIQ模式,IRQ模式,Supervisor模式,Abort模式,Undefined模式,异常模式:主要是在外部中断或者程序执行非法操作时会触发,ARM微处理器:处理器工作状态(PROCESSOR OPERATING STATES),
47、处理器有两种工作状态:ARM:32位,执行字对准的ARM指令Thumb:16位,执行半字对准的Thumb指令ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容,ARM微处理器:处理器工作状态,进入Thumb状态:执行BX指令,并设置操作数寄存器的状态(位0)为1。在Thumb状态进入异常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),当异常处理返回时自动转换到Thumb状态进入ARM状态:执行BX指令,并设置操作数寄存器的状态(位0)为0。进入异常时,将PC放入异常模式链接寄存器中,从异常向量地址开始执行也可进入ARM状态,ARM微处理器:处理器工作状态,Thumb-2:增加了混合模式能力定义了一个新的32-bit指令集能在传统的16-bit指令运行的Thumb状态下同时运行。这样能在一个系统中更好地平衡ARM和Thumb代码的能力,使系统能更好地利用ARM级别的性能和Thumb代码的密度的优势,