《嵌入式系统Chapter2嵌入式硬件系统基础G.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统Chapter2嵌入式硬件系统基础G.ppt(198页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统,第二章嵌入式硬件系统基础,主要内容,嵌入式硬件系统基本组成,嵌入式微处理器,嵌入式系统总线,嵌入式存储系统,第一节嵌入式硬件系统基本组成,嵌入式系统的硬件是以包含嵌入式微处理器的SoC为核心,主要由SoC、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器为核心的SoC 总线 存储器 输入/输出接口和设备,嵌入式微处理器,每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯诺依曼(Von Neumann)结构或哈佛(Harvard)结构,冯诺依曼结构,哈佛结构,指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问,程序和数据存储在不同的存储
2、空间中,两条总线(程序总线和数据总线),数据的吞吐率提高了一倍,嵌入式微处理器,传统的微处理器采用的冯诺依曼结构将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。 哈佛结构则是不同于冯诺依曼结构的一种并行体系结构,其主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐率提高了一倍。,嵌入式微处理器,嵌入式微处理器的指令系统可采用精简指令集系统RISC(Reduced Instruction Set Computer)或复杂指令集系
3、统CISC(Complex Instruction Set Computer),嵌入式微处理器,嵌入式微处理器有许多不同的体系,即使在同一体系中也可能具有不同的时钟速度和总线数据宽度、集成不同的外部接口和设备。 据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种嵌入式微处理器体系,主流的体系有ARM、MIPS、PowerPC、SH、 X86等。,总 线,嵌入式系统的总线可分为: 片内总线:与嵌入式微处理器集成在一起,如:AMBA、 AVALON、OCP、WISHBONE等 片外并行总线:如:PCI、ISA等 片外串行总线:UART、SPI、I2C、USB等 片内总线的选择取
4、决于CPU Core 片外总线的选择取决于应用,存储器,嵌入式系统的存储器包括主存和外存。 大多数嵌入式系统的代码和数据都存储在处理器可直接访问的存储空间即主存中。 系统上电后在主存中的代码直接运行。主存储器的特点是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存储器件。,存储器,目前有些嵌入式系统除了主存外,还有外存。外存是处理器不能直接访问的存储器,用来存放各种信息,相对主存而言具有价格低、容量大的特点。 在嵌入式系统中除部分采用硬盘外,大多数采用电子盘做外存,电子盘的主要种类有: NandFlash SD(Secure Digital) CompactFla
5、sh U盘,SmartMedia Memory Stick MultiMediaCard DOC(Disk On Chip等,输入/输出接口和设备,嵌入式系统的大多数输入/输出接口和部分设备已经与嵌入式微处理器集成在一起。 输入/输出接口和设备主要包括: 中断控制器、DMA、串行和并行接口 定时器(Timers)、计数器(counters)、看门狗(watchdog timers)、RTC、UARTs、PWM(Pulse width modulator) AD/DA、显示器、键盘和网络等。,第二节嵌入式微处理器,嵌入式微处理器的发展 嵌入式微处理器的分类 嵌入式微处理器的特点 主流的嵌入式微处
6、理器 (ARM, MIPS, SH, PowerPC, x86),嵌入式微处理器的发展,嵌入式微处理器的分类,嵌入式微处理器种类繁多,按位数可分为4位、8位、16位、32位和64位。 按用途来分,嵌入式微处理器可分为嵌入式DSP和通用的嵌入式微处理器两种: 嵌入式DSP:专用于数字信号处理,采用哈佛结构和一系列措施保证数字信号的处理速度,如对FFT(快速傅立叶变换)的专门优化。 通用的嵌入式微处理器:一般是集成了通用微处理器的核、总线、外围接口和设备的SOC芯片,有些还将DSP作为协处理器集成。,嵌入式微处理器的特点,体系结构,指令集,性能,功耗和管理,成本,集成度,基础是通用微处理器 与通用
7、微处理器相比的区别: 体积小、重量轻 成本低、功耗低 工作温度宽 抗电磁干扰、可靠性强,External Memory,CPU,Address,Data,扩展芯片,内核(core),处理器存储器子系统,SoC的片内外设,系统的片外设备,嵌入式微处理器的集成度,符合嵌入式系统的低成本和低功耗需求,嵌入式微处理器的集成度,嵌入式微处理器是面向应用的,其片内所包含的组件的数目和种类是由它的市场定位决定的。 在最普通的情况下,嵌入式微处理器包括: 片内存储器:部分嵌入式微处理器 外部存储器的控制器,外设接口(串口,并口) LCD控制器:面向终端类应用的嵌入式微处理器 中断控制器,DMA控制器,协处理器
8、 定时器,A/D、D/A转换器 多媒体加速器:当高级图形功能需要时 总线 其他标准接口或外设,返回,嵌入式微处理器的体系结构,算术格式(Arithmetic Format) 由于低成本和低功耗的限制,大多数的嵌入式微处理器使用定点运算(fixed-point arithmetic) 当嵌入式系统中需要使用浮点运算时,可采用软件模拟的方式实现浮点运算,只不过这样要占用更多的处理器时间。 功能单元(Functional Units) 通常包括不止一个的功能单元,典型的是包含一个ALU、移位器和MAC,处理器通常用一条指令完成乘法操作。 流水线(Pipeline) 通常采用单周期执行指令,可能导致比
9、较长的流水线,返回,嵌入式微处理器的指令集,为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行剪裁和扩充。 目前很多应用系统需要类似于DSP的数字处理功能。这些指令主要有: 乘加(MAC)操作:它在一个周期中执行了一次乘法运算和一次加法运算。 SIMD类操作:允许使用一条指令进行多个并行数据流的计算。 零开销的循环指令:采用硬件方式减少了循环的开销。仅使用两条指令实现一个循环,一条是循环的开始并提供循环次数,另一条是循环体。 多媒体加速指令:像素处理、多边形、3D操作等指令。,返回,嵌入式微处理器的性能,低端(低价,低性能) 一般低端嵌入式微处理器的性能最多达到50MIP
10、S,应用在对性能要求不高但对价格和功耗有严格要求的应用系统中。 中档,低功耗 中档的嵌入式微处理器可达到较好的性能(如150MIPS左右),采用增加时钟频率、加深流水深度、增加Cache及一些额外的功能块来提高性能,并保持低功耗。 高端,嵌入式微处理器的性能,高端嵌入式微处理器用于高强度计算的应用,使用不同的方法来达到更高的并行度 单指令执行乘法操作:通过加入额外的功能单元和扩展指令集,使许多操作能在一个单一的周期内并行执行。 每个周期执行多条指令:桌面和服务器的超标量处理器都支持单周期多条指令执行,在嵌入式领域通常使用VLIW(very large instruction word)来实现,
11、这样只需较少的硬件,总体价格会更低些。例如TI的TMS320C6201芯片,通过使用VLIW方法,能在每个周期同时执行8条独立的32位指令。 使用多处理器:采用多处理器的方式满足应用系统的更高要求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如TI的OMAP730包括了三个处理器核ARM9、ARM7、DSP。,返回,嵌入式微处理器的功耗管理,大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备。 降低工作电压:1.8v、1.2v甚至更低,而且这个数值一直在下降。 提供不同的时钟频率:通过软件设置不同的时钟分频。 关闭暂时不使用的功能块:如果某功能块在一个周期
12、内不使用,就可以被完全关闭,以节约能量。,嵌入式微处理器的功耗管理,提供功耗管理机制 运行模式(Running 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
14、系列 Super H系列等。 属于这些系列的嵌入式微处理器产品很多,有上千种以上。,Units (millions),Source: 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 Ty
15、pe,总共约26亿个32位处理器 付运,占总数96亿的27%,2005年ARM为17亿个, 约占32位总量的70%左右,X86系列,主要由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
16、 the first generation of lowpower IA-32 micro-architecture specially 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 compon
17、ent design for low-power. This document contains electrical, mechanical 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
18、the first generation of lowpower IA-32 micro-architecture specially 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 compone
19、nt design for low-power. This document contains electrical, mechanical 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 t
20、he first generation of low power IA-32 micro-architecture specially 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 compone
21、nt design for low-power. This document contains electrical, mechanical 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 performance On die, primary 3
22、2-kB instructions cache and 24-kB write-back data cache 100-MHz and 133-MHz Source-Synchronous front side bus (FSB) 100 MHz: Intel Atom processor Z500 133 MHz: Intel Atom processor Z540, Z530, Z520, and Z510 Supports Hyper-Threading Technology 2-threads On die 512-kB, 8-way L2 cache Support for IA 3
23、2-bit architecture Intel Virtualization Technology (Intel VT) Intel Streaming 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
24、/100Mbps以太网控制器、串行和并行端口、内存控制器以及其它外设的高性能嵌入式处理器。 Motorola MPC 高度综合的SOC设备,它结合了PPC微处理器核心的功能、通信处理器和单硅成分内的显示控制器。这个设备可以在大量的电子应用中使用,特别是在低能源、便携式、图象捕捉和个人通信设备。,技术,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,
25、温度范围,-40到80度,电源供应,2.5V (,逻辑电路,),3.3V (I/O),,支持,5V I/Os,456-Ball,Enhanced PBGA (35mm x 35mm),性能,频率,(CPU /,SDRAM /PCI /EBC),封装,PowerPC 405 GP技术规格,*Dhrystone是一个综合性的基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些“典型指令综合起来形成的测试程序。,ARM系列,ARM(Advanced RISC Machine)公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及各类外围接口。 A
26、RM内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色。 目前,90%的移动电话、大量的游戏机、手持PC和机顶盒等都已采用了ARM处理器,许多一流的芯片厂商都是ARM的授权用户(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成为业界公认的嵌入式微处理器标准。,ARM处理器的分类,结构体系版本(Architecture) ARM v4T ARM v5TE ARM v6 ARM Cortex (v7),Processor Family ARM7 ARM9 ARM10 ARM11 ARM Cortex,按应用特征分类 应用处理器
27、Application Processor 实时控制处理器 Real-time Controller 微控制器 Micro-controller,特征:MMU, Cache 最快频率、最高性能、合理功耗,特征:MPU, Cache 实时响应、合理性能、较低功耗,特征:no sub-memory system 一般性能、最低成本、极低功耗,Roadmap of ARM V4/V5/V6,基于32-bit地址空间的32-bit指令集,增加16-bit Thumb指令集,使得编译器能产生紧凑代码(内存能节省到35%以上) Thumb在处理器中仍然要扩展为标准的32位ARM指令来运行。 采用16位Th
28、umb指令集最大的好处就是可以获得更高的代码密度和降低功耗。,1999年推出 增强了Thumb体系:以更好地平衡代码空间和性能 并在ARM ISA上扩展了增强的DSP指令集: E扩展表示在通用的CPU上提供DSP能力。,2000年推出, 增加了Jazelle扩展以支持Java加速技术。 Jazelle技术比仅仅基于软件的JVM性能提高近8倍的性能减少了80的功耗。,2001年推出,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。 SIMD扩展使得广大的软件应用如Video和Audio codec的性能提高了4倍。 Thumb-2和TrustZone 技术也用于ARMv6中。,AR
29、Mv7(Cortex),ARMv7定义了3种不同的处理器配置(processor profiles): Profile A是面向复杂、基于虚拟内存的OS和应用的 Profile R是针对实时系统的 Profile M是针对低成本应用的优化的微控制器的。 所有ARMv7 profiles实现Thumb-2技术,同时还包括了NEON技术的扩展提高DSP和多媒体处理吞吐量400,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。,ARM Family,ARM7 Family,ARM9 Family,ARM10 Family,ARM11 Family,150DMIPS,300 DM
30、IPS,500 DMIPS,1000 DMIPS,ARM Cortex Family,ARM Architecture,当前的主流ARM处理器,ARM7 世界上最为广泛使用的 CPU 之一 100MHz ARM9 100-300MHz,1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.,ARM11 芯片已经面世,ARM11 300-700+ MHz SIMD 指令扩展支持更丰富的多媒体应用 40家授权芯片公司,一些已开始量产,FOMA N902i First ARM11 based phone,OMAP2420,i.MX31
31、/i.MX31L,目前最快的嵌入式处理器,最快的处理器提供超过2000 DMIPS 的性能 运行于 1GHz 频率 (90nm or 65nm 制造工艺) 功耗小于 300mW,ARM Cortex A8 Application Processor,Cortex-M3 实现 $1 ARM芯片,ARM Cortex Architecture Thumb-2 ISA 3 Stage Pipeline 1.22 DMIPS/MHz 30% over ARM7TDMI 33K gates 30% smaller than ARM7TDMI,Luminary Micro的Stellaris系列MCU产品
32、售价仅1美元,ARM Cortex-M3 微控制器内核,专门针对MCU应用领域而设计,突出低成本、低功耗和高效率。,领先嵌入式处理器技术发展讨论,多处理器技术 单处理器技术的性能提升终有一天会遭遇瓶颈 对嵌入式系统而言,尤其要考虑付出的代价 把任务进行并行分解是理想的选择 ARM MPcore可以集成1-4个ARM11处理器 关键是要提供给软件开发者一个友好的编程界面 64位处理器? 哪儿是系统性能瓶颈? 是需要64位地址还是64位数据? 嵌入式系统比PC有更好的条件来解决系统性能和带宽问题 PC系统在主板上,扩展系统带宽需要扩大每个组件的接口带宽 SoC只需扩展片内总线,非常容易实现 AMB
33、A支持8-1024位总线宽度 许多SoC设计以及ARM处理器内部已经使用64位数据总线,Dhrystone 是一个综合性的基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。,On chipRAM,基于ARM的系统举例,ARMProcessor core,AMBA AHB,ExternalMemory Interface,APB Bridge,AMBA APB,InterruptController,ARMPrimecell Peripherals,GPIO,DMAPort,Clocks and Reset Controller
34、,ARM核深度嵌入于SoC中 通过JTAG口进行外部调试 设计既有外部内存又有内部内存 支持不同的内存宽度、速度和大小 包含一个中断控制器 内核只支持两种中断 包含Primecell外设 需要从ARM公司取得授权 用AMBA相连的器件 (Advanced Microcontroller Bus Architecture),DEBUG,nIRQ nFIQ,FLASH,SDRAM,ARM based SoC,高速缓存内核术语,MPU 内存保护单元 控制内存访问权限 控制内存区域的属性(cacheable, bufferable) MMU 内存管理单元 具有MPU的所有特性 另外提供虚拟地址到物理地
35、址的转换,Cache(高速缓存) 快速的本地内存 存放最近被访问过的内存的副本 TCM 紧耦合内存 快速的本地内存 特定的地址范围 Write buffer(写缓存区) 减少了写数据到外部内存的次数,ARM9E Integer Core,Cache,Memory System,TCM,Write buffer,MMUor MPU,BUS Interface,ControlCoprocessor,ARM926EJ-S core,Fast core clock domain,System on Chip,Slower bus clock domain,ARM7TDMI,Thumb 架构扩展, 提供
36、两个独立的指令集: ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被执行,内核具有Debug扩展结构,增强乘法器 (32x8) 支持64位结果,EmbeddedICE 逻辑,3 级流水线 冯诺依曼架构 CPI(Cycle Per Instruction) 约为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
37、:0,nRW,nMREQ,LOCK,SEQ,nENOUT,A31:0,DOUT31:0,DIN31:0,D31:0,电源,总线控制,时钟,配置,中断,内核信号,ARM7TDMI,ARM7TDMI 内核,TAP 控制器,JTAG 接口,数据总线,控制信号,地址总线,BUS Splitter,Embedded ICE 逻辑,方框图,乘法器,指令 解码,地址 自增器,nRESET,nMREQ,SEQ,ABORT,nIRQ,nFIQ,nRW,MAS1:0,LOCK,nCPI,CPA,CPB,nWAIT,MCLK,nOPC,BIGEND,ISYNC,nTRANS,nM4:0,D31:0,桶 移位器,32
38、 位 ALU,DBE,写数据 寄存器,读数据 寄存器,地址寄存器,寄存器 Bank,A31:0,ABE,及,控制 逻辑,PC Update,解码站,指令 解压缩,Incrementer,P C,A B u s,B B u s,A L U B u s,ARM7TDMI,内核,ARM7TDMI指令流水线,为增加处理器指令流的速度,ARM7 系列使用3级流水线。 允许多个操作同时处理,而非顺序执行。 PC指向正被取指的指令,而非正在执行的指令。,从存储器中读取指令,解码指令中用到的寄存器,寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank ),PCPC,PC - 4PC-2,
39、PC - 8PC - 4,ARMThumb,ARM7TDMI指令流水线,操作,周期,1 2 3 45 6,Fetch,最佳流水线,该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数 (CPI) = 1,ARM7TDMI,ARM7TDMI 内核,地址,地址,数据读,AMBA接口,写 缓冲,MMU,数据写,数据,ARM7xxT,控制 逻辑,Cache,AMBA 总线 接口,JTAG 和非 AMBA 信号,CP15,带Cache的ARM7TDMI,ARM710T 8K 统一的 cache 完整的内存管理单元(MMU),支持虚拟地址和存储器保护 写缓冲,ARM720T 同
40、ARM710T,但支持 WinCE ARM740T 8K 统一的 cache 内存管理单元 写缓冲,Write Buffer:当数据写到Write Buffer后不需要CPU的任何干预而由Write Buffer控制逻辑自动的将数据写到最终的地方;Cache的回写则需要CPU的干预。Write Buffer较小,通常只有几十个字节。 Read Buffer:当读数据时Read Buffer自动多读取一些字节,但是不占用CPU的总线时间,所以能加快读数据的速度;当使用Cache时如果要从内存中读取数据则每个数据都会占用CPU的时间,这是与Read Buffer的最大不同点。Read Buffer
41、较小,通常只有几十个字节。,Cache与Buffer的区别,ARM9TDMI,Harvard架构 增加了可用的存储器宽度 指令存储器接口 数据存储器接口 可以实现对指令和数据存储器的同时访问 5 级流水线 实现了以下改进: 改进 CPI 到 1.5 提高了最大时钟频率,ARM9TDMI,Instruction Fetch,Shift + ALU,Memory Access,Reg Write,Reg Read,Reg Decode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM or ThumbInst Decode,Reg Select,Reg
42、Read,Shift,ALU,Reg Write,ThumbARMdecompress,ARM decode,Instruction Fetch,FETCH,DECODE,EXECUTE,ARM7TDMI,流水线,ARM9TDMI,ARM9TDMI,D Cache,I Cache,MMU,GLUE,外部 存储器,ARM940T 2x 4K caches MPU 写缓冲,ARM9xxT,ARM920T 2x 16K caches MMU 支持虚拟地址和内存保护 写缓冲,带Cache的ARM9TDMI,ARM9E-S 系列概述,ARM9E 基于 ARM9TDMI 内核,有以下扩展和增强 单周期 3
43、2x16 乘法器 EmbeddedICE 逻辑 RT 改进的 ARM/Thumb 交互操作 新的32x16和 16x16 乘法指令 新的计数到零指令 新的饱和算术指令 ARM946E-S ARM9E-S 内核 指令和数据cache, 大小可选择 指令和数据RAM,大小可选择 保护单元 AHB 总线接口 ARM966E-S 与 ARM946E-S相似, 但无 cache,ARM926EJ-S系列概述,Jazelle状态允许直接执行Java 8位码 ARM926EJ-S ARM9E-S 内核 可配置的cache和 TCM 内存管理单元 双重 32位 AHB 总线接口 (多层),ARM10E 系列概
44、述,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 ARM10,流水线的对比,Intel StrongARM 概述,ARM V4 架构 (无Thumb支持) 5级流水线,降低跳转损耗-stage
45、 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级流水线带统计分支预测 32k的数据和指令 Cache, 外加2k的数据Minicache 8口写缓冲,4口填充和追加缓冲 完整的32位协
46、处理器接口 调试和性能监控逻辑(通过CP14 ) 乘-加模块(作为CP0 ) 可配置的内核时钟速度100-733MHz ,来自 33-66MHz 输入时钟 异步输入总线时钟可到100 MHz (最大总线内核时钟的1/3 ),ARM微处理器:编程模型,数据类型 字节型数据(Byte):数据宽度为8bits 半字数据类型(HalfWord):数据宽度为16bits,存取式必须以2字节对齐的方式 字数据类型(Word):数据宽度为32bits,存取式必须以4字节对齐的方式,ARM微处理器:CPU模式(processor mode),7种CPU模式,CPU模式的转变: 软件控制 异常 外部中断,ARM
47、微处理器:CPU模式,User模式,程序不能访问有些受保护的资源,只能通过异常的形式来改变CPU的当前运行模式,特权模式可以存取系统中的任何资源,System模式,与User模式的运行环境一样 但是它可以不受任何限制的访问任何资源 该模式主要用于运行系统中的一些特权任务,FIQ模式,IRQ模式,Supervisor模式,Abort模式,Undefined模式,异常模式:主要是在外部中断或者程序执行非法操作时会触发,ARM微处理器:处理器工作状态(PROCESSOR OPERATING STATES),处理器有两种工作状态: ARM:32位,执行字对准的ARM指令 Thumb:16位,执行半字对
48、准的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代码的密度的优势,ARM微处理器:寄存器,ARM处理器有37个寄存器 31个通用寄存器:程序计数器、堆栈及其他通用寄存器 6个状态寄存器 这些寄存器不能同时看到 不同的处理器状态和工作模式确定哪些寄存器是对编程者是可见的,ARM寄存器集(ARM State),r15 (pc),cpsr,当前模