第六章系统集成芯片的体系结构6.1系统集成芯片的结构6.1.1引言系统集成芯片SOC以电子系统的系统功能为出发点,把系统模型、处理机制、芯片结构、各层次电路直至器件的设计紧密结合起来,在单片或若干芯片上完成整个系统的功能。系统功能集成是SOC的核心技术。SOC不是以功能电路为基础的分布式系统的综合技术,而是以功能IP核为基础的系统模块和电路综合的技术。IP核是SOC应用的基础。嵌入式系统是SOC的基本结构。所谓嵌入式系统是计算机应用的一种方式。在嵌入式系统中,计算机硬件和软件结合在一起,构成一个专门的计算装置,这种计算装置设有普通计算机所提供的那些许多便利的用户接口和软件工具,一般不能进行用户再编程。嵌入式系统中软件的开发是通过交叉开发来完成的,即开发环境和实时运行环境是不同的。嵌入式系统工作在与外界发生交互并受到时间约束的环境中,在没有人工干预的情况下进行实时运行。因此,嵌入式系统不再具有普通计算机的形态和功能,是一个大系统或大的电子设备的一部分。嵌入式系统通常具有如下特点:(1)完成单一或一组紧密相关的特定功能;(2)系统作为整个设备的一部分,其运行一般不需要人工干预;(3)具有高性能和实时处理的要求;(4)具有良好的电磁兼容性。SOC以嵌入式系统为核心,集软、硬件于一体,并追求产品系统最大包容的集成,是微电子领域IC设计的必然趋势和最终目标,也是现代电子系统设计开发的最佳选择。SOC是一种系统级集成芯片,其系统功能可以由全硬件电路完成,也可以由硬件和软件协同完成。6.1.2系统集成芯片的硬件结构目前,系统集成芯片可分为两种类型一种是专用的SOC芯片,这类芯片是专用集成电路ASIC(ApplicationSpecificIntegrateCircuits)向系统级集成的自然发展。另一类是通用类型的SOC芯片,在这类SOC上,将绝大部分部件,如RISC处理器,DSP、RAM、接口电路等集成在芯片上,同时提供用户设计所需要的可编程逻辑资源和软件编程所需的资源。无论是专用SOC还是通用SOC,它们在结构上都有相似的特点,都是以嵌入式系统结构为基础,集软、硬件于一体的系统级芯片。通用类型SOC的结构DSP系统逻辑和测试电路SRAMRISC处理器混合信号接口电路EPROM或EEPROM可编程逻辑资源可构造存储器加密逻辑专用硬件嵌入式处理器片上RAM和ROM测试电路接口电路加密逻辑嵌入式处理器ReducedInstructionSetComputer(RISC)和ComplexInstructionSetComputer(CISC)CISC具有如下显著特点:(1)指令格式不固定,指令长度不一致,操作数可多可少;(2)寻址方式复杂多样,以利于程序的编写;(3)采用微程序结构,执行每条指令均需完成一个微指令序列;(4)每条指令需要若干个机器周期才能完成,指令越复杂,花费的机器周期越多。CISC的缺点CISC所包含的为数众多的指令,其使用频度并不平衡。微指令的结构限制了CISCCPU速度的进一步提高。CISC结构不利于并行处理方法。6.1.3嵌入式软件有些SOC需要嵌入式实时操作系统(RealTimeOperationalSystem,简称为RTOS)的支持。嵌入式实时操作系统是计算机操作系统的技术和设计理念在嵌入式系统中的应用。6.2SOC中的嵌入式精简指令集处理器RISC6.2.1概述ICffICP11式中,P是微处理器的性能,I是程序的指令集合,C为每条指令的平均执行周期数,f为微处理器工作频率。对于一个微处理器的性能,可以由下式表示:微处理器型号ICfPMotorola680301.05.216.673.211Intel803861.14.416.673.44SPARC1.21.316.6710.696.2.2RISC的定义与特点RISC这个术语是由美国California大Berkelay分校的DavidPatterson于1980年提出的,到了二十世纪九十年代,RISC计算机获得了广泛的应用。然而,RISC又是一种模糊的术语。严格地说,RISC既不是一种体系结构,也不是一种实现结构,而只是一种计算机设计的基本准则,或一种设计理想。1990年,MichealSlater[18]提出如下定义:RISC处理器所具有的指令系统应有利于流水线处理器的高效执行,并有利于优化编译器的代码生成。RISC处理器具有如下特点:1.格式简单、长度固定的指令系统2.短周期时间3.单周期执行指令4.Load(取)/Store(存)结构5.硬连线控制6.大寄存器堆(Registerfile)7.哈佛(Harvard)总线结构8.高效的流水线操作9.延时转移10.重迭寄存器窗口技术输入局部输出W1输入局部输出W2输入局部输出W3在RISC处理器中,寄存器堆采用窗口式结构,这种结构特别适合于过程调用,有利于参数传递。11.优化编译器二十世纪70年代中期,Stanford大学在研制MIPS(MicroprocessorwithoutIntellockedPipelineStages)处理器时,即开始从事对MIPSRISC编译器的优化编译技术的研究,以解决如何有效地利用RISC的硬件资源(如并行处理技术、寄存器堆、高速缓存等),充分挖掘程序的并行性;更合理地利用RISC体系结构所定义的指令系统,减少执行指令的数量;最大限度地利用通用寄存器,减少高速缓存和主存访问等。MIPS编译器的优化技术取得实质性的进展,并逐步成为世界上最先进的优化编译器。RISC处理器的上述特点并不排斥执行复杂功能的指令(例如浮点运算),然而只有那些对系统功能产生净增益的功能用硬件实现(从而包含这类指令),其余部分都用软件实现。所谓“精简”,并不是简单地减少,而是保留经验证的能提高计算机性能的指令。RISC设计的基本目的在于使计算机结构更加简单、更加合理、更加有效。6.2.3RISC的指令特点6.2.4RISC的并行处理技术1.流水线处理技术取指译码执行写结果取指译码执行写结果取指译码执行写结果取指译码执行写结果取指取指取指流水线操作的处理器硬件相应比较复杂,同时,对指令系统的设计有一定的要求,如指令格式应简单,指令长度应相同,指令的执行时间应一致等。超流水线技术提高流水线处理效率的另一个方法是缩短机器周期。一般是将一个机器周期划分为若干个子周期,每个子周期均发射一条新的指令,亦即每个机器周期发射多条指令,从而提高计算机的性能。这种处理方式称为超流水线处理技术。取指1取指2译码执行取指3取指4存贮1存贮2译码执行检查标志写结果存贮3存贮4检查标志子周期1子周期22.超标量处理技术超标量处理同标量处理一样,执行非向量化,但又像向量机那样,可以处理多个操作数。超标量处理都采用流水线操作方式,一次发射多条指令。取指译码执行写结果取指取指译码执行写结果取指取指译码执行写结果取指取指译码执行写结果取指取指译码执行写结果取指取指译码执行写结果取指取指译码执行写结果取指译码执行写结果3.VLIW处理技术VLIWVeryLongInstructionWord相当长的机器指令字。VLIW处理器的指令字长可高达几百比特,而且指令所包含的字段是全正交的,彼此互不相关,故可控制多个功能部件。多执行部件全局多端口寄存器堆功能部件功能部件功能部件功能部件指令定序器指令存储器6.2.5RISC/DSP结构在面向数字信号处理或者高速数据处理应用的SOC中,往往将RISC处理器和DSP组合在一个芯片上,构成RISC/DSP结构。这种结构有两种形式。一种是将独立的RISC处理器与独立的DSP集成在一个芯片上,两者的指令流和数据流分开。另一种形式是将DSP按照RISC原则进行重新设计,使两者的指令流甚至数据流全部统一。在数字信号处理中,最基本的运算是离散卷积,其基本的运算形式为:10)()()(NiinxihnyDSP的基本运算是累加乘。CPU核与DSP各自独立地址产生电路CPU核运算电路时序控制电路指令译码取指电路地址产生电路DSP核运算电路时序控制电路指令译码取指电路CPU核与DSP核同指令流但数据地址各自独立地址产生电路CPU核运算电路时序控制电路指令译码取指电路地址产生电路DSP核运算电路指令译码CPU与DSP同指令流、同地址地址产生电路CPU核运算电路时序控制电路指令译码取指电路DSP核运算电路指令译码6.2.6RISC核的设计RISC核的设计原则:(1)模块化:若需加入新的指令,只需要修改相关的部分,系统结构不应变化。(2)可扩展性:所有的数据结构和接口应能方便加入新的模块。(3)可综合性:处理器核的描述应该能够综合,以得到实际电路的实现。(4)可测试性:处理器核的设计应该便于进行系统测试和性能分析。(5)分布性:处理器的控制设计成分布式控制,便于指令集扩展和处理器适应新的应用要求。分布式控制主要负责流水级管理和每个流水级之间的状态通信。6.3嵌入式处理器ARM的体系结构6.3.1概述ARM处理器的性能及工作速度发展概况性能6.3.2ARM7系列处理器ARM7系列处理器ARM7TDMIARM7TDMI-SARM7EJARM720TARM7核ARMv4TThumb指令集嵌入式ICE-RTETM7接口ARM7核ARMv4TThumb指令集嵌入式ICE-RTETM7接口ARM7核ARMv5TEJThumb指令集嵌入式ICE-RTETM9接口Jazelle扩充DSP扩充ARM7核ARMv4TThumb指令集嵌入式ICE-RTETM7接口MMU8KBCacheAHB接口上述处理器产品中的后缀的意义如下:T具有16位压缩指令集Thumb。在ARMv4中采用Thumbv1版,在ARMv5中采用Thumbv2版。D支持在片上调试(OnChipDebug),允许处理器响应调试暂停请求。片上调试,又称为OCD,是CPU芯片提供的程序调试功能,该方式的主要优点是不占用目标机的资源,调试环境和最终程序运行环境基本一致,支持软硬件断点和跟踪。目前常用的OCD有BDM(BackgroundDebuggingMode)方式,JTAG(JointTeseActionGroup)方式和OnCE(OnChipEmuiation,其实质是BDM和JTAG的一种融合方式),其中JTAG是主流的OCD方式,ARM、MIPS和PowerPC等嵌入式处理器都采用不同种类的增强JTAG方式。M增强型乘法器,可以执行32bit×32bit得到64bit乘积的乘法运算和32bit×32bit+64bit得到64bit结果的累加乘运算。S可综合的(Synthesizable)核。嵌入式ICE(InCircuitEmulating)硬件逻辑,支持嵌入式软件调试时的软硬件断点的设置。E增强型DSP指令。在这类处理器的指令集中,扩展了典型的数字信号处理所需的DSP指令。JJazeller使能功能,允许直接执行Java代码。1.ARM7处理器核ARM7处理器核采用三级流水线操作,三级流水线级分别为:取指、译码和执行。保存处理器状态的寄存器堆桶式移位器算术逻辑运算单元地址寄存器和地址增量器高性能乘法器数据寄存器指令译码器和相关的控制逻辑ARM7处理器核的逻辑框图地址寄存器地址增量器31×32寄存堆(6状态寄存器)32位ALU乘法器桶式移位器数据输出寄存器数据输入寄存器指令译码和控制扫描控制A[31:0]ABEALED[31:0]ALU总线PCA总线B总线地址增量器总线2.ARM7TDMI的组织嵌入式ICE逻辑单元ARM7处理器核总线分割器JTAGTAP控制器RANGEOUT0RANGEOUY1EXTERN0EXTERN1MAS[1:0]/OPC/R/W/MREQ/TRAMSA[31:0]D[31:0]DIN[31:0]DOUT[31:0]TCKTMSTDITDO/TRST其它信号扫描链ARM7TDMI处理器的接口信号时钟控制信号中断控制信号总线控制信号调试控制信号存储器接口信号存储器管理(MMU)接口信号边界扫描(JTAG)控制信号边界扫描扩展控制信