计划机动、高性能的嵌入式体系
发布日期:2011-05-10
您的下一个
嵌入式体系计划项目必要的是什么:是可以让您轻松地定制计划的机动的体系元件,还是分外的性能空间,以便您在计划周期中参加更多的成果?为什么要让本身遭受太过的开辟压力,并且只能舍此取彼呢?软处理惩罚和IP定制可以或许为同时确保机动性和高性能提供了最佳的办理方案,将定制计划的见解和协处理惩罚带来的性能加快连合起来。
分立处理惩罚器只能提供牢固的外设选择,并且一些性能受到时钟频率的限定。在
嵌入式FPGA所提供的平台上,您可以创建一个具有大量定制处理惩罚器核、机动的外设、乃至协处理惩罚减负引擎的体系。如今,您能计划出一个不折不扣的定制处理惩罚体系——不但餍足最具挑衅性的项目请求,并且可以或许突破性能极限,与此同时,通过利用
FPGA硬件实现加快的软件指令最大限度地进步体系的性能。随着
FPGA架构的加快,从前的限定便不复存在。
机动性
除了在Xilinx VirtexTM平台的
FPGA中所提供的高性能PowerPCTM硬件处理惩罚核和利用汇编语言编程的占位空间更小的PicoBlazeTM微控制器外,Xilinx公司还提供一种可定制的通用32位RISC处理惩罚器。由于可以利用Virtex或SpartanTM系列产品中的恣意一款在逻辑门外对其举行构建,因此MicroBlazeTM软件处理惩罚器的利用非常机动,并且您可以或许通过定制处理惩罚IP外设来餍足您的特定请求。
利用可定制核和IP,您只需创建所需的体系元件而不浪费任意芯片资源。当您利用像
FPGA如许的可编程器件构建一个处理惩罚体系时,就不会在分立器件中浪费任意未利用的资源,也不会出现当必要的外设数量高出所提供的数量时(比方您的计划必要3个UART,而分立器件只能提供1个或2个),计划无法连续举行的环境。别的,您不会受限于初始的架构假想;相反,您能不绝地举行大的修改并且可以或许调解体系架构来适应新的需求特性或不绝变革的标准。
在“2006年嵌入式体系大会”的论文汇编中有一个FIR滤波器的计划示例,此中,MicroBlaze体系包括一个可选的切合IEEE 754标准的内部浮点单位(FPU),从而大大进步了该处理惩罚器核上仅可由软件实行的操纵的性能。通过参加可选的MicroBlaze元件,可以敏捷地进步应用步伐的性能。
这些可选内部元件的别的一个上风便是它们得到MicroBlaze C编译器的全面支持,因此不必变化源代码。在这个FIR滤波器计划示例中,由于调用外部C代码库的浮点函数的操纵被利用新的FPU的指令主动代替,因此参加FPU和对计划的重复编译意味着直接的性能提拔。
与软件重新编码要领相比,利用专用硬件处理惩罚单位,可以或许将完成特定任务所需的时钟周期数淘汰几个数量级,从而进步处理惩罚器的性能。图1的简化图表现了一个带有内部FPU IP核、本地存储器核和像UART或JTAG调试端口如许的可选外设的MicroBlaze处理惩罚体系。由于体系是可定制的,我们可以方便地实现Xilinx处理惩罚器IP产品目次中所包括的多个UART或其他的IP外设核,此中包括DMA控制器、IIC、CAN或DDR存储器接口等。
该IP产品目次提供了门类齐备的其他处理惩罚IP(桥、仲裁器、停止控制器、GPIO、定时器和存储器控制器等),以及实用于每个IP核的可定制选项(比方波特率和奇偶校验位),以对元件的特性、性能和尺寸/本钱举行优化。别的,您还能设置与处理惩罚核相干的时钟频率、调试模式、本地存储器容量、高速缓存和别的选项。仅仅增长一个FPU核,我们就能创建一个可将前文所提到的FIR的实现从8,500,000个CPU周期优化至177,000个CPU周期的MicroBlaze体系,如许,在不变化C代码源文件的环境下即可将性能进步48倍。
在第二个示例中,我们将构建别的一个计划模块,实现一个面向MP3解码器的IDCT引擎,这一计划可使应用模块的速率加快一个数量级。
您可以利用图2中所示的开辟东西,方便地创建上文提到的两个处理惩罚器平台。这个集成式软件/硬件开辟东西包括一块直接支持PowerPC和MicroBlaze处理惩罚器计划的Virtex-4参考板。开辟东西还包括全部的编译器和所需的
FPGA计划东西,以及IP目次和用作预校准的参考计划。
再加上JTAG探测器和体系电缆,此开辟东西可以或许让您在开始编辑和调试本身的计划变动之前,轻松构建和运行一个事变体系。差别器件和板卡的开辟东西,可从Xilinx公司及其分销商以登科三方
嵌入式体系相助搭档那边得到。
查明瓶颈和实现协处理惩罚
MicroBlaze处理惩罚器是EDN公司2005年的百件热门产品之一,利用得到IEC(国际工程协会)大奖的Xilinx Platform Studio(XPS)
嵌入式东西套件实现硬件/IP的设置和软件的开辟。XPS包括在我们预先配置的
嵌入式开辟体系中,是用来创建体系的集成式开辟环境(IDE)。要是您拥有一块标准的参考板或已经创建了本身的电路板形貌文档,那么XPS就可以驱动一个计划领导来快速地配置您的初始体系。
通过利用智能化东西来淘汰错误和学习压力,您就可以会合精力进步终极产品的代价。完成根本的配置后,您可以花一些时间来调解IP,从而定制本身的体系,然掉队行软件应用的开辟。
XPS为步伐员提供了一个成果强大的基于Eclipse框架的软件开辟IDE。这一环境对付开辟、调试和办理代码以查明隐蔽于别的不可见的代码实行中的性能瓶颈黑白常抱负的。这些代码中的不敷之处通常会使计划达不到所请求的性能目标,但它们又很难被发明并且通常更难被优化。
利用像“内联代码”如许的技能来淘汰多余的函数调用开销,就可以或许将应用步伐的性能进步1%~5%。但要是利用可编程平台,利用现有更强大的计划技能,可使性能进步一到两个数量级。
图3表现了XPS性能阐发截屏图。XPS可以用差别的情势表现阐发信息(profiling information),如许您就可以一目明白地看清突出表如今性能图上的趋势或个别相辩论的步伐。柱状图、饼状图和丈量指标表格,让定位和果断函数与步伐的不敷之处变得大略,如许您就可以或许采取举措来改造这些极大影响团体体系性能的步伐。
自带IP模块的软处理惩罚器核
在我前面所先容的MP3解码器示例中,我们从多个MicroBlaze处理惩罚器的示例化开始,构建了一个定制体系(图4)。由于MicroBlaze处理惩罚器是一个软核处理惩罚器,因此我们能方便地构建一个具有多个处理惩罚器的体系并能均衡性能负载,从而得到一个优化的体系。
从图4我们可以明白地看到,顶部自带总线和外设的MicroBlaze块与底部的MicroBlaze块和它自带的外设是相互退出的。此计划的顶部地区运行支持整个文档体系的
嵌入式Linux操纵体系,如许就能通过网络接入MP3比特流。我们将这些比特流的解码和播放操纵留给第二个MicroBlaze处理惩罚器。在此计划中我们参加了精密耦合的DCT/IMDCT(正向和反向改造的分离余弦更改)函数处理惩罚器减负引擎和两个高精度MAC单位。
IMDCT块认真数据的压缩和解压缩,以收缩传输线的实行时间。DCT/IMDCT是压缩应用中谋略量最大的两种函数,因此将整个函数放到它本身的协处理惩罚模块中实行,极大地进步了整个体系的性能。与前面提到的在FIR滤波器中参加一个内部FPU的计划示例差别的是,这个MP3计划示例已经实现了MicroBlaze的定制,并且在
FPGA中参加了外部专用硬件。
协处理惩罚+可定制IP = 高性能
通过将软件函数的大量谋略包袱转移给协处理惩罚的“硬件指令”,您就能找到一个最佳的均衡点,使体系性能到达最佳。图4还表现了
Linux文件体系模块的一系列IP外设,此中包括UART、以太网MAC和其他种种存储器控制器选项。与此差别的是,编码/解码应用模块采取了针对差别体系成果定制的差别IP。
第二个MicroBlaze软核从属于第一个MicroBlaze处理惩罚器,并扮演用于对MP3比特流举行解码的任务引擎的角色。带有附加专用IP核的解码算法,通过Xilinx快速单工连接(Fast Simplex Link,FSL)接口直连续到
FPGA架构硬件资源内部。这一协处理惩罚的计划技能充分利用了
FPGA硬件相对付较慢的独立式处理惩罚器的次序指令实行而言所具有的并行和高速特性。
与高性能
FPGA架构直接相连,可以引入快速的乘累加模块(图4中的LL_SH MAC1和LL_SH MAC2),与DCT和IMDCT模块的专用IP形成互补。长长整型MAC模块可以或许提供更高的精度,同时减轻处理惩罚单位的谋略负荷。您大概细致到,在AC97控制器核到外部AC97多媒体数字信号编解码器接口之间同样利用FSL连接,这可使MP3播放器实现CD音质的输入/输出。
图4所示的协处理惩罚体系的性能,比原有的软件体系的性能累计进步了41倍。将一个“只利用软件”的实现方法(拜见图5顶部的横条)与硬件指令示例化的每个阶段相比,您就可以看出是怎样一步步进步性能的。仅仅将软件谋略转移到IMDCT中就会带来1.5倍的性能提拔,增长DCT硬件指令后则可使性能提拔1.7倍。参加一个长长整型乘累加单位,可带来8.2倍的性能提拔。
采取协处理惩罚技能在硬件中实现全部的软件模块,可以或许使体系总体性能提拔41倍,这还没有思量淘汰应用步伐代码长度这一分外上风。由于去除了必要大量指令的乘法函数,而代之以一个可以读写FSL端口的单一指令,因此我们进一步淘汰了指令数量,并因此压缩了代码的占位空间。比方在MP3的应用示例中,代码的占位空间缩小了20%。
更紧张的是,通过像XPS如许的智能化东西可以或许方便快速地对计划举行修改,同时仍能包管在产品的开辟周期内实现这些修改。仅利用软件加强性能的要领,非常费时,并且得到的回报通常很有限。在一个可编程平台之上均衡软件应用、硬件实现和协处理惩罚的分别,您就能得到一个更抱负的结果。
结论
基于本文所形貌的示例,我们可以或许轻松定制一个全
嵌入式处理惩罚体系,编辑IP从而在特性/面积/本钱之间获取最佳均衡,并且在看似不大概的地方使性能得到大幅提拔。Virtex-4和Spartan-3系列器件提供了机动的软处理惩罚器办理方案,开辟职员可以在随后的开辟周期中对其举行计划和改造。屡获殊荣的MicroBlaze软处理惩罚器核,加上获奖不绝的XPS东西套件,为您的
嵌入式计划提供了一套强大的东西。
协处理惩罚技能,比方采取高性能
FPGA硬件指令实现必要大量谋略的软件算法,可以或许使老例产业应用模块的性能进步2倍、10倍乃至40倍以上。想象一下这将为您的下一个计划带来什么——在开辟周期的后期,您的计划仍有修改的余地,并且可以预先筹划好下一代产品的改造方案。
相识Xilinx
嵌入式处理惩罚办理方案方面的更多信息,请登录网站www.xilinx.com/cn/processor。