软处理和IP定制能够为同时确保灵活性和高性能提供最佳的解决方案,将定制设计的概念和协处理带来的性能加速结合起来。
自带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倍以上。想象一下这将为您的下一个设计带来什么——在开发周期的后期,您的设计仍有修改的余地,并且可以预先规划好下一代产品的改进方案。
作者:Jay Gould,产品市场经理, Xilinx公司
|
文章评论(0条评论)
登录后参与讨论