嵌入式系统已经广泛地应用到当今各个领域,与我们的生活息息相关,小到掌上的数字产品,大到汽车、航天飞机。
提到嵌入式系统我们很快会联想到单片机,不错,MCU是最基础和常用的嵌入式系统,但是目前像FPGA、ARM、DSP、MIPS等其他嵌入式系统应用越来越广泛。嵌入式系统与模拟电路或其他功能电路组成的SoC(System on Chip,片上系统)或SiP(System in Package,系统级封装)在手机、机顶盒等功能复杂的产品上的应用也越来越多。
总的来说,嵌入式系统发展呈现如下特点:
·由8位处理向32位过渡
·由单核向多核过渡
·向网络化功能发展
·MCU、FPGA、ARM、DSP等齐头并进
·嵌入式操作系统呈多元化趋势
所有的嵌入式处理器都是基于一定的架构的,即
嵌入式系统的架构有专有架构和标准架构之分,在MCU(微控制器)产品上,像瑞萨(Renesas)、飞思卡尔(Freescale)、NEC都拥有自己得专有IP核,而其他嵌入式处理器都是基于标准架构。本文讨论仅讨论标准架构的嵌入式系统。
标准的嵌入式系统架构有两大体系,目前占主要地位的是所谓RISC(Reduced Instruction Set Computer,精简指令集计算机)处理器。RISC体系的阵营非常广泛,从ARM、MIPS、PowerPC、ARC、Tensilica等等,都是属于RISC处理器的范畴。不过这些处理器虽然同样是属于RISC体系,但是在指令集设计与处理单元的结构上都各有不同,因此彼此完全不能兼容,在特定平台上所开发的软件无法直接为另一硬件平台所用,而必须经过重新编译。
其次是CISC(Complex Instruction Set Computer,复杂指令集计算机)处理器体系,我们所熟知的Intel的X86处理器就属于CISC体系,CISC体系其实是非常低效率的体系,其指令集结构上背负了太多包袱,贪大求全,导致芯片结构的复杂度被极大的提升。过去被应用在嵌入式系统的X86处理器,多为旧世代的产品,比如说,工业计算机中仍可常见数年前早已退出个人计算机市场的Pentium3处理器。由于此世代的产品效能与功耗比可以说是过去X86体系的甜蜜点,加上已经被市场长久验证,稳定性高,故常被应用于效能需求不高,但稳定性要求高的应用中,如工控设备等产品。
1、RISC家族之ARM处理器
ARM公司于1991年成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术智能财产(IP)核心的处理器,即我们通常所说的ARM处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的处理器应用约占据了32位RISC微处理器75%以上的市场,ARM技术不止逐步渗入到我们生活的各个方面,我们甚至可以说,ARM于人类的生活环境中,已经是不可或缺的一环。
目前市面上常见的ARM处理器架构,可分为ARM7、ARM9以及ARM11,新推出的Cortex系列尚在进行开发验证,市面上还未有相关产品推出。ARM也是嵌入式处理器中首先推出多核心架构的厂商。
ARM首个多核心架构为ARM11 MPCore,架构于原先的ARM11处理器核心之上。ARM11核心是发布于2002年10月份,为了进一步提升效能,其管线长度扩展到8阶,处理单元则增加为预取、译码、发送、转换 /MAC1、执行/MAC2、内存存取/MAC3和写入等八个单元,体系上属于ARM V6指令集架构。ARM11采用当时最先进的0.13μm制造制程,运行频率最高可达500到700MHz。如果采用90nm制程,ARM11核心的工作频率能够轻松达到1GHz以上—对于嵌入式处理器来说,这显然是个相当惊人的程度,不过显然1GHz在ARM11体系中不算是个均衡的设定,因此几乎没有厂商推出达到1 GHz的ARM11架构处理器。
ARM11的逻辑核心也经过大量的改进,其中最重要的当属“静/动态组合转换的预测功能”。ARM11的执行单元包含一个64位、4种状态的地址转换缓冲,它主要用来储存最近使用过的转换地址。当采用动态转换预测机制而无法在寻址缓冲内找到正确的地址时,静态转换预测功能就会立刻接替它的位置。在实际测试中,单纯采用动态预测的准确率为88%,单纯采用静态预测机制的准确率 只有77%,而ARM11的静/动态预测组合机制可实现92%的高准确率。针对高时脉速度带来功耗增加的问题,ARM11采用一项名为“IEM (Intelligent Energy Manager)”的智能电源管理技术,该技术可根据任务负荷情况动态调节处理器的电压,进而有效降低自身的功耗。这一系列改进让ARM11的功耗效能比得以继续提高,平均每MHz只需消耗0.6mW(有快取时为0.8mW)的电力,处理器的最高效能可达到660 Dhrystone MIPS,远超过上一代产品。
至于ARM11 MPCore,其在
2、RISC家族之MIPS处理器
MIPS是美国历史悠久的RISC处理器体系,其架构的设计,也如美国人的性格一般,相当的大气且理想化。MIPS架构起源,可追溯到1980年代,斯坦福大学和伯克利大学同时开始RISC架构处理器的研究。
MIPS公司成立于1984年,随后在 1986年推出第一款R2000处理器,在1992年时被SGI所并购,但随着MIPS架构在桌面市场的失守,后来在1998年脱离了SGI,成为MIPS技术公司,并且在1999年重新制定 公司策略,将市场目标导向嵌入式系统,并且统一旗下处理器架构,区分为32-bit以及64-bit两大家族,以技术授权成为主要营利模式。
MIPS除了在手机中应用得比例极小外,其在一般数字消费性、网络语音、个人娱乐、通讯、与商务应用市场有着相当不错的成绩,不过近年来因为其它IP授权公司的兴起,其占有比率稍有衰退。MIPS应用最为广泛的应属家庭视听电器(包含机顶盒)、网通产品以及汽车电子方面。
对于MIPS,其核心技术强调的是多执行绪处理能力(Multiple issue,国内也通常称作多发射核技术,以下以此称谓)。一般来说,多核心与多发射是两个并不是互斥的体系,可以彼此结合,然而在嵌入式领域,ARM与MIPS这两大处理器IP厂商对这两个架构的态度不同,造成这两个架构在嵌入式市场上对抗的结果。
MIPS的多发射体系为MIPS34K系列,此为32位架构处理器,从架构上来看,其实多发射核技术只是为了尽量避免处理单元闲置浪费而为的折衷手段,就是将处理器中的闲置处理单元,分割出来虚拟为另一个核心,以提高处理单元的利用率。在技术上,为了实现硬件多重处理,多核心与多发射两者对于软件最佳化的复杂度方面同样都比单核心架构来得复杂许多。
件也能善用多发射处理能力。它亦能应用在多个执行线程各自有不同角色的(AMP或非对称式多重处理)环境下。此外,34K核心能设定一或两个虚拟处理组件(VPE)以及多至5个线程内容(Thread Content),提供相当高的设计弹性。MIPS的多发射在任务切换时,有多余的硬件缓存器可以记录执行状态,避免切换任务时,因为必须重新加载指令,或者是重新执行某部分的工作,造成整个执行线程的延迟。不过即便能够达到同时执行多个任务的能力,多发射处理器本质上仍然是单核心处理器,在单一执行绪面临高负载时,其它执行绪的处理时间就 有可能会被压缩,甚至被暂停。而不同执行绪在执行的过程中,诸如内存锁定、解锁以及同步等处理过程在多发射体系上也会发生,因此在极端情况下,多发射的性能是明显比不上原生多核心架构的(以两个执行绪对两个核心的比较而言)。
不过多发射体系的优点在于硬件效率高,理论上功耗也能有效降低。部分IC设计公司也推出了基于MIPS架构的平行架构多核心,形成兼具多核与多发射的应用架构,相信在未来这种体系将会纳入MIPS的原生架构当中,以应付更复杂的应用。
3、RISC家族之PowerPC
PowerPC是一种RISC多发射体系结构。二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。第一代PowerPC采用0.6微米的生产工艺,晶体管的集成度达到单芯片30
Motorola的基于PowerPC体系结构的嵌入式处理器芯片有MPC505、821、850、860、8240、8245、8260、8560等近几十种产品,其中MPC860是Power QUICC系列的典型产品,MPC8260是Power QUICC II系列的典型产品,MPC8560是Power QUICC III系列的典型产品。
Power QUICC系列微处理器一般有三个功能模块组成,嵌入式PowerPC核(EMPCC), 系统接口单元(SIU)以及通信处理器(CPM)模块,这三个模块内部总线都是32位。除此之外Power QUICC中还集成了一个32位的RISC内核。Power PC核主要执行高层代码,而RISC则处理实际通信的低层通信功能,两个处理器内核通过高达8K字节的内部双口RAM相互配合,共同完成MPC854强大的通行控制和处理功能。CPM以RISC控制器为核心构成,除包括一个RISC控制器外,还包括七个串行DMA(SDMA)通道、两个串行通信控制器(SCC)、一个通用串行总线通道(USB)、两个串行管理控制器(SMC)、一个I2C接口和一个串行外围电路(SPI),可以通过灵活的编程方式实现对Ethemet、USB、T1/E1,ATM等的支持以及对UART, HDLC等多种通信协议的支持。
Power QUICCII 完全可以看作是Power QUICC的第二代,在灵活性、扩展能力、集成度等方面提供了更高的性能。Power QUICC 11同样由嵌入式的PowerPC核和通信处理模块CPM两部分集成而来。这种双处理器器的结构由于CPM承接了嵌入式Power PC核的外围接口任务,所以较传统结构更加省电。CPM交替支持三个快速串行通信控制器(FCC),二个多通道控制器(MCC),四个串行通信控制器(SCC),二个串行管理控制器(SMC),一个串行外围接口电路(SPI)和一个12C接口。嵌入式的Power PC核和通信处理模块(CPM)的融和,以及Power QUICCII的其他功能、性能缩短了技术人员在网络和通信产品方面的开发周期。
同Power QUICCII相比,Power QUICCIII集成度更高、功能更强大、具有更好的性能提升机制。Power QUICCIII中的CPM较Power QUICCII产品200MHz的CPM的运行速度提升了66%,达到333MHz,同时保持了与早期产品的向后兼容性。这使得客户能够最大范围的延续其现有的软件投入、简化未来的系统升级、又极大的节省开发周期。Power QUICCIII通过微代码具有的可扩展性和增加客户定制功能的特性,能够使客户针对不同应用领域开发出各具特色的产品。这种从Power QUICC II开始就有的微代码复用功能,已经成为简化和降低升级成本的主要设计考虑。
PowerPC一般应用在服务器或运算能力强大的专用计算机上,以及游戏机上。
4、RISC家族之ARC 架构
与其它RISC处理器技术相较起来,ARC的可调整式(Configurable)架构,为其在变化多端的芯片应用领域中争得一席之地。其可调整式架构主要着眼于不同的应用,需要有不同的功能表现,固定式的芯片架构或许可以面面俱到,但是在将其设计进入产品之后,某些部分的功能可能完全没有使用到的机会,即使没有使用,开发商仍需支付这些〝多余〞部分的成本,形成了浪费。
由于制程技术的进步,芯片体积的微缩化,让半导体厂商可以利用相同尺寸的晶圆切割出更多芯片,通过标准化,则是有助于降低芯片设计流程,单一通用IP所设计出来的处理器即可应用于各种用途,不需要另辟产能来生产特定型号或功能的产品,大量生产也有助于降低单一芯片的成本,而这也是目前嵌入式处理器的共通现象。
在ARC的设计概念中,是追求单一芯片成本的最小化,量体裁衣,这需要在设计阶段依靠特定EDA软件
ARC近期也推出了基于700系列的多媒体应用加速处理器,其中整合了ARC 700通用处理核心,以及高速SIMD处理单元,可以在低时钟下轻松进行诸如蓝光光盘的H.264编译码处理,此架构称为VideoSubsystem,基本上该应用处理器就可以担任通用运算工作,不过也可以与其它诸如ARM或MIPS体系进行连结,以满足应用程序的兼容性与影音数据流的加速。
5、RISC家族之Tensilica架构
Tensilica公司的 Xtensa 处理器是一个可以自由配置、可以弹性扩张,并可以自动合成的处理器核心。Xtensa 是第一个专为嵌入式单芯片系统而设计的微处理器。为了让系统设计工程师能够弹性规划、执行单芯片系统的各种应用功能,Xtensa 在研发初期就已锁定成一个可以自由装组的架构,因此我们也将其架构定义为可调式设计。
Tensilica公司的主力产品线为Xtensa,该产品可让系统设计工程师可以挑选所需的单元架构,再加上自创的新指令与硬件执行单元,就可以设计出比其它传统方式强大数倍的处理器核心。Xtensa 生产器可以针对每一个处理器的特殊组合,自动有效地产生出一套包括操作系统,完善周全的软件工具。
Xtensa为一32位处理器,该结构特色是有一套专门为嵌入式系统设计、精简且效能表现不错的16与24位指令集。其基本结构拥有80个 RISC 指令,其中包括32位 ALU,6个管理特殊功能的缓存器,32或64个普通功能32位缓存器。这些32位缓存器都设有加速运行功能的信道。Xtensa 处理器的指令相当精简,系统设计师可以以此缩减程序代码的长度,从而提高指令的密集度并降低功耗。相对于高合成的单芯片系统ASIC而言,能达到有效减低成本。Xtensa 的指令集构架包括有效的分支指令,例如:经合成的比较 - 分歧循环、零开销循环和二进制处理,包括漏斗切换和字段抽段操作等。浮点运算单元与向量 DSP 单元是 Xtensa 结构上两个可以加选的处理单元,可以加强在特定应用的效能表现。
6、CISC家族之X86
X86处理器应用在嵌入式系统的历史相当悠久,以Intel为例,其Pentium3时代的处理器与芯片组,至今仍活跃在许多工控电脑产业中。而随着两大X86厂商放弃RISC产品线,并积极规划移动应用产品,X86进入到消费性电子嵌入式市场就不再只是传言。当然,X86处理器普遍都还是有功耗过高,且芯片数量庞大的缺点,不适合应用在要求精简省电的嵌入式架构中,但随着发展,这一切都有了根本上的改变。
尽管Pentium4是Intel相对失败之作,但Pentium3依旧是市场的最爱,就连Intel本身也舍不得放弃Pentium3的微架构,如今已经经过数次的翻新与修改,即便是最新的4核心产品,依然有Pentium3的影子存在。卖旧式架构产品,对Intel来说,其实不无小补,由于旧架构经过长久验证,不需重新设计,且在生产上的成本非常低,制程提升还可以进一步拉抬芯片产量,但不止Intel有旧架构产品,AMD其实也运用同样的手法来经营其AthlonXP处理器,但是Intel 决心要让对手难以追赶,因此规划了一系列以移动产品应用为主的嵌入式处理器。
Intel过去在X86产品规划上,其实几乎从未接触过移动通讯应用,即便是雷声大雨点小的UMPC产品,也都不含移动通讯功能,在这边我们指的是诸如3G、3.5G的通讯能力,而当Intel主推的WiMAX正式被纳入3G标准之一,也让Intel重新考虑该公司的移动应用产品。在最近的技术展示中,即便是最接近手机设计的MID(Mobile Intel Device)装置,也都仅定位于移动上网工具,而非行动通讯系统。
但是根据Intel的最新规划,MID 平台已经从单纯的行动上网,转而将会跨进现有的BlackBerry (黑莓)及 I-Phone 的相同市场,前者拥有强大的网际网络通讯能力,而 I-Phone 则是拥有强大的多媒体能力,但是Intel的MID平台基本上是一部微型X86计算机系统,在功能性可以达到相当全面的地步,且具备了ARM、MIPS等处理器架构难以满足的X86软件兼容资源,导入移动通讯只不过是在目前的硬件规划基础上,进行
Intel针对移动应用的最新处理器为Stealey,目前该产品线有两款产品,分别是600MHz的A100与800MHz的A110,理论上来说,Stealey 只不过是Centrino体系中祖父级Dothan(都是基于Pentium3的架构)处理器的超级精简兼时钟降低版,主要是得利于90纳米制程,架构技术上并无太多特点,而下一代的Silverthorne则是直接将此Stealey转以45纳米制程,并在架构上加入64位处理能力,算是真正比较有诚意的产品。
但是以目前来看,Intel的移动应用平台其实表现并不出色,过高的功耗与温度仍然是应用在移动终端上的隐忧,Silverthorne是必要针对此两点进行变革,否则要应用在MID产品上,只怕又会继UMPC之后,成为业界另一个叫好不叫座案例。
7、CISC家族之VIA
目前仍存活的X86处理器厂商,除了身为世界第一大半导体厂的Intel以外,其余两家都活的相当辛苦,尤其以台湾的VIA(威盛)为最,该公司在处理器产品线的经营上,向来遭受大厂的打压,
VIA过去所推出的一系列低功耗处理器,虽然效能偏低,但是其功耗控制能力非常优秀,远远超过Intel以及AMD这两家CPU大厂,如今世界潮流逐渐从效能取向走往绿色环保取向,VIA终于也是媳妇熬成婆,除了在一般低价PC获得满堂彩以外,在UMPC以及嵌入式系统方面,也都能提供相当优秀的解决方案。
VIA 的主流产品线为C7-M处理器,该款处理器共分两个型号——普通版本及Ultra Low Voltage版本,C7-M普通版本型号拥有1.5GHz/400MHz FSB、1.6GHz/533MHz FSB、1.867GHz/533MHz FSB及最高速度的2GHz/533MHz FSB,电压由1.004V至1.148V,最高功耗由12W至20W,在P-State模式下电压会下调至0.844V,而功耗则只有5W。
Ultra Low Voltage版本的C7-M处理器,拥有1GHz/400MHz FSB、1.2GHz/400MHz FSB及1.5GHz/400MHz FSB,ULV版本工作电压只需要0.908V至0.956V,最高功耗由5W至7W左右。而ULV之中还会有一个Super ULV的C7-M 1GHz,型号为C7-M ULV 779,工作电压可低至0.796V,最高功耗仅有3.5W。由于这些特点,使其在低价计算机、嵌入式应用领域中,成为不能忽视的第三势力。
8、CISC家族之AMD
AMD是在主流市场上,唯一能与Inte抗衡的X86处理器厂商,然而在购并ATI之后,其表现只能算差强人意,以目前所规划的主流产品线而言(包含CPU与GPU),其实都是处于挨打的状态。毕竟AMD具有业界最佳的技术均衡性,既有先进的处理器技术,又是GPU技术第二领导者,兼以效能表现相当优秀的主机板芯片产品,以及 自有的晶圆厂,虽不及Intel霸气,仍然占有很大市场份额。
在嵌入式应用方面,其实过去AMD有向MIPS授权其IP,开发出Alchemy产品线,算是直接向Intel过去的ARM架构Xscale直接叫阵的一款产品,然而此产品并未掳获市场眼光,在应用上一向偏弱势,后来AMD也将之摆脱,开始利用自己的X86处理器来经营嵌入式应用领域。
AMD在嵌入式X86处理器方面的产品线为Geode,基本上这是一款整合度相当高的SoC产品,但是速度偏低,效能表现不佳,功能也未能比VIA的产品出色,定位相当尴尬。针对移动平台开发的X86处理核心,代号为“Botcat”,不过目前信息还不完备,因此只能从时间点推论,该处理器将有可能使用简化降频版的K8核心,但推出时间在今年,明显比对手晚了许多,若要整合K10核心,可能就要等到2009年 之后。
不过AMD购并ATI之后,得以将Fusion的概念带给消费者,Fusion算是身兼AMD与ATI二者之长,具备了先进的处理器核心、高效能