电子科技大学嵌入式软件工程中心嵌入式系统电子科技大学嵌入式软件工程中心第二章嵌入式硬件系统基础电子科技大学嵌入式软件工程中心主要内容嵌入式硬件系统基本组成嵌入式微处理器嵌入式系统总线嵌入式存储系统电子科技大学嵌入式软件工程中心第一节嵌入式硬件系统基本组成电子科技大学嵌入式软件工程中心嵌入式系统的硬件是以包含嵌入式微处理器的SoC为核心,主要由SoC、总线、存储器、输入/输出接口和设备组成。–嵌入式微处理器为核心的SoC–总线–存储器–输入/输出接口和设备电子科技大学嵌入式软件工程中心嵌入式微处理器•每个嵌入式系统至少包含一个嵌入式微处理器•嵌入式微处理器体系结构可采用冯•诺依曼(VonNeumann)结构或哈佛(Harvard)结构地址数据主存储器MOVr8,#8CPUPC指令程序存储器CPUPC地址数据存储器MOVr8,#8地址数据冯•诺依曼结构哈佛结构指令和数据存放在同一存储空间中,统一编址指令和数据通过同一总线访问程序和数据存储在不同的存储空间中两条总线(程序总线和数据总线),数据的吞吐率提高了一倍电子科技大学嵌入式软件工程中心嵌入式微处理器嵌入式微处理器的指令系统可采用精简指令集系统RISC(ReducedInstructionSetComputer)或复杂指令集系统CISC(ComplexInstructionSetComputer)CISCRISC价格由硬件完成部分软件功能,硬件复杂性增加,芯片成本高由软件完成部分硬件功能,软件复杂性增加,芯片成本低性能减少代码尺寸,增加指令的执行周期数使用流水线降低指令的执行周期数,增加代码尺寸指令集大量的混杂型指令集,有简单快速的指令,也有复杂的多周期指令,符合HLL(highlevellanguage)简单的单周期指令,在汇编指令方面有相应的CISC微代码指令高级语言支持硬件完成软件完成寻址模式复杂的寻址模式,支持内存到内存寻址简单的寻址模式,仅允许LOAD和STORE指令存取内存,其它所有的操作都基于寄存器到寄存器控制单元微码直接执行寄存器数目寄存器较少寄存器较多电子科技大学嵌入式软件工程中心嵌入式微处理器•嵌入式微处理器有许多不同的体系,即使在同一体系中也可能具有不同的时钟速度和总线数据宽度、集成不同的外部接口和设备。•据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种嵌入式微处理器体系,主流的体系有ARM、MIPS、PowerPC、SH、X86等。电子科技大学嵌入式软件工程中心总线•嵌入式系统的总线可分为:–片内总线:与嵌入式微处理器集成在一起,如:AMBA、AVALON、OCP、WISHBONE等–片外并行总线:如:PCI、ISA等–片外串行总线:UART、SPI、I2C、USB等•片内总线的选择取决于CPUCore•片外总线的选择取决于应用电子科技大学嵌入式软件工程中心存储器•嵌入式系统的存储器包括主存和外存。•大多数嵌入式系统的代码和数据都存储在处理器可直接访问的存储空间即主存中。•系统上电后在主存中的代码直接运行。主存储器的特点是速度快,一般采用ROM、EPROM、NorFlash、SRAM、DRAM等存储器件。电子科技大学嵌入式软件工程中心存储器•目前有些嵌入式系统除了主存外,还有外存。外存是处理器不能直接访问的存储器,用来存放各种信息,相对主存而言具有价格低、容量大的特点。•在嵌入式系统中除部分采用硬盘外,大多数采用电子盘做外存,电子盘的主要种类有:–NandFlash–SD(SecureDigital)–CompactFlash–U盘–SmartMedia–MemoryStick–MultiMediaCard–DOC(DiskOnChip等电子科技大学嵌入式软件工程中心输入/输出接口和设备•嵌入式系统的大多数输入/输出接口和部分设备已经与嵌入式微处理器集成在一起。•输入/输出接口和设备主要包括:–中断控制器、DMA、串行和并行接口–定时器(Timers)、计数器(counters)、看门狗(watchdogtimers)、RTC、UARTs、PWM(Pulsewidthmodulator)–AD/DA、显示器、键盘和网络等。电子科技大学嵌入式软件工程中心第二节嵌入式微处理器嵌入式微处理器的发展嵌入式微处理器的分类嵌入式微处理器的特点主流的嵌入式微处理器——(ARM,MIPS,SH,PowerPC,x86)电子科技大学嵌入式软件工程中心20世纪80年代中后期20世纪90年代初期20世纪90年代中后期21世纪初期制作工艺1-0.8m0.8-0.5m0.5–0.35m0.25-0.13m主频33MHz100MHz200MHz600MHz晶体管个数500K2M5M22M位数4/8/16bit4/8/16/32bit4/8/16/32bit4/8/16/32/64b嵌入式微处理器的发展电子科技大学嵌入式软件工程中心嵌入式微处理器的分类•嵌入式微处理器种类繁多,按位数可分为4位、8位、16位、32位和64位。•按用途来分,嵌入式微处理器可分为嵌入式DSP和通用的嵌入式微处理器两种:–嵌入式DSP:专用于数字信号处理,采用哈佛结构和一系列措施保证数字信号的处理速度,如对FFT(快速傅立叶变换)的专门优化。–通用的嵌入式微处理器:一般是集成了通用微处理器的核、总线、外围接口和设备的SOC芯片,有些还将DSP作为协处理器集成。电子科技大学嵌入式软件工程中心嵌入式微处理器的特点体系结构指令集性能功耗和管理成本集成度基础是通用微处理器与通用微处理器相比的区别:‾体积小、重量轻‾成本低、功耗低‾工作温度宽‾抗电磁干扰、可靠性强电子科技大学嵌入式软件工程中心ExternalMemoryCPUAddressDataCacheBusInterfaceWriteBufferMMU/MPURR(R/W)外设如USB、LCD控制器等扩展芯片内核(core)处理器存储器子系统SoC的片内外设系统的片外设备处理器(Processor)芯片(SoC)系统(System)嵌入式微处理器的集成度符合嵌入式系统的低成本和低功耗需求电子科技大学嵌入式软件工程中心嵌入式微处理器的集成度•嵌入式微处理器是面向应用的,其片内所包含的组件的数目和种类是由它的市场定位决定的。•在最普通的情况下,嵌入式微处理器包括:–片内存储器:部分嵌入式微处理器–外部存储器的控制器,外设接口(串口,并口)–LCD控制器:面向终端类应用的嵌入式微处理器–中断控制器,DMA控制器,协处理器–定时器,A/D、D/A转换器–多媒体加速器:当高级图形功能需要时–总线–其他标准接口或外设返回电子科技大学嵌入式软件工程中心嵌入式微处理器的体系结构•算术格式(ArithmeticFormat)–由于低成本和低功耗的限制,大多数的嵌入式微处理器使用定点运算(fixed-pointarithmetic)–当嵌入式系统中需要使用浮点运算时,可采用软件模拟的方式实现浮点运算,只不过这样要占用更多的处理器时间。•功能单元(FunctionalUnits)–通常包括不止一个的功能单元,典型的是包含一个ALU、移位器和MAC,处理器通常用一条指令完成乘法操作。•流水线(Pipeline)–通常采用单周期执行指令,可能导致比较长的流水线返回电子科技大学嵌入式软件工程中心嵌入式微处理器的指令集•为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行剪裁和扩充。•目前很多应用系统需要类似于DSP的数字处理功能。这些指令主要有:–乘加(MAC)操作:它在一个周期中执行了一次乘法运算和一次加法运算。–SIMD类操作:允许使用一条指令进行多个并行数据流的计算。–零开销的循环指令:采用硬件方式减少了循环的开销。仅使用两条指令实现一个循环,一条是循环的开始并提供循环次数,另一条是循环体。–多媒体加速指令:像素处理、多边形、3D操作等指令。返回电子科技大学嵌入式软件工程中心嵌入式微处理器的性能•低端(低价,低性能)–一般低端嵌入式微处理器的性能最多达到50MIPS,应用在对性能要求不高但对价格和功耗有严格要求的应用系统中。•中档,低功耗–中档的嵌入式微处理器可达到较好的性能(如150MIPS左右),采用增加时钟频率、加深流水深度、增加Cache及一些额外的功能块来提高性能,并保持低功耗。•高端电子科技大学嵌入式软件工程中心嵌入式微处理器的性能•高端嵌入式微处理器用于高强度计算的应用,使用不同的方法来达到更高的并行度–单指令执行乘法操作:通过加入额外的功能单元和扩展指令集,使许多操作能在一个单一的周期内并行执行。–每个周期执行多条指令:桌面和服务器的超标量处理器都支持单周期多条指令执行,在嵌入式领域通常使用VLIW(verylargeinstructionword)来实现,这样只需较少的硬件,总体价格会更低些。例如TI的TMS320C6201芯片,通过使用VLIW方法,能在每个周期同时执行8条独立的32位指令。–使用多处理器:采用多处理器的方式满足应用系统的更高要求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如TI的OMAP730包括了三个处理器核ARM9、ARM7、DSP。返回电子科技大学嵌入式软件工程中心嵌入式微处理器的功耗管理•大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备。–降低工作电压:1.8v、1.2v甚至更低,而且这个数值一直在下降。–提供不同的时钟频率:通过软件设置不同的时钟分频。–关闭暂时不使用的功能块:如果某功能块在一个周期内不使用,就可以被完全关闭,以节约能量。电子科技大学嵌入式软件工程中心嵌入式微处理器的功耗管理–提供功耗管理机制•运行模式(RunningMode):处理器处于全速运行状态下。•待命模式(StandbyMode):处理器不执行指令,所有存储的信息是可用的,处理器能在几个周期内返回运行模式。•时钟关闭模式(clock-offmode):时钟完全停止,要退出这个模式系统需要重新启动。–影响功耗的其他因素还有总线(特别是总线转换器,可以采用特殊的技术使它的功耗最小)和存储器类型的大小(如果使用DRAM,它需要不断的刷新)。为了使功耗最小,总线和存储器要保持在应用系统可接受的最小规模。返回电子科技大学嵌入式软件工程中心嵌入式微处理器的成本•为降低价格,需要在嵌入式微处理器的设计中考虑不同的折衷方案。•处理器的价格受如下因素影响:•处理器的特点:功能块的数目、总线类型等。•片上存储器的大小。•芯片的引脚数和封装形式:如PQFP(PlasticQuadFlatPackage)通常比BGA(BallGridArrayPackage)便宜。•芯片大小(diesize):取决于制造的工艺水平。•代码密度(codedensity):代码存储器的大小将影响价格,不同种类的处理器结构(CISC/RISC/VLIW)有不同的代码密度。电子科技大学嵌入式软件工程中心主流的嵌入式微处理器•目前主流的嵌入式微处理器系列主要有:–ARM系列–MIPS系列–PowerPC系列–SuperH系列等。•属于这些系列的嵌入式微处理器产品很多,有上千种以上。电子科技大学嵌入式软件工程中心01002003004005001997199819992000ARMMIPSHitachiSHPowerPCUnits(millions)Source:AndrewAllison,InsideTheNewComputerIndustry,January2001EmbeddedRISCProcessorShipments电子科技大学嵌入式软件工程中心32位浪潮的到来02,0004,0006,0008,00010,00012,00014,00016,000MillionsofUnits2000200120022003200420052006200720082009MPUMCU(excl.DSP)CoresSource:SemicoResearchCorp.andSIA/