首页 > 新闻中心 > > 正文

基准程序评测方法与Tensilica处理器性能评价

更新时间: 2006-02-06 11:18:59来源: 粤嵌教育浏览量:2444

  基准程序评测方法是微处理器性能评价的重要尺度。本文在介绍基准测试程序的基础上,重点对CPU基准测试、嵌入式处理器和媒体处理器基准程序测试进行了分析,并给出了Tensilica微处理器与其它几款当今重要的微处理器的EEMBC和BDTI评测结果。

  嵌入式和媒体基准测试程序包括EDN嵌入式微处理器测试程序组EEMBC(嵌入式微处理器基准测试协会)、BDTI基准测试程序组、MediaBench测试程序组以及MiBench基准测试程序组。其中,EEMBC、BDTI已经称为嵌入式处理器和媒体处理器评测事实上的标准。

  EEMBC主要是开发和验证现实世界的基准测试和基准测试得分,帮助设计师选择与系统适用的嵌入式处理器。提交EEMBC进行基准测试的所有处理器都需要进行代表不同载荷和性能参数的多项测试,如通信、网络、消费、办公自动化、汽车/工业、嵌入式Java和微控制器相关的应用。EEMBC的成员包括的半导体、IP供应商和编译器公司,EEMBC建立了基准测试标准,并通过EEMBC验证实验室(ECL)提供通过了验证的基准测试结果。

  BDTI基准测试程序组由BDTI(Berkeley Design Technology)公司开发,该公司从1991年开始致力于数字信号处理器的评测工作。BDTI提供业界标准的BDTI基准测试程序,用于测试DSP处理器。BDTI还开发了用户定制的基准测试程序,专门用于某些应用领域的测试。BDTI测试程序包括FIR滤波器、IIR滤波器、FFT、向量点积和Viterbi译码。

  MediaBench基准测试程序主要来自图像处理、通信和DSP应用领域。例如JPEG、MPEG、 GSM、G.721话音压缩、Ghostscript和ADPCM。JPEG主要是图像压缩,MPEG用于视频传输中的编解码。Ghostscript是Postscript语言解释器,ADPCM用于自适应差分脉冲编码调整。

  MiBench是一个自由的嵌入式基准测试程序组,同EEMBC类似。由于EEMBC不对专用研究人员自由开发,故密执安的研究人员对35个嵌入式程序进行编译,形成了MiBench基准测试程序组。以EEMBC为模型,MiBench分成6类:汽车电子、消费类电子、网络、办公自动化、信息安全和电信。所有程序均采用C语言写成。MiBench可以和任何嵌入式平台接口,因为所有测试均是源码开放的。

  EEMBC基准程序测试方法

  EEMBC(EDN嵌入式微处理器基准组)基准测试程序组主要对嵌入式微处理器进行性能评测。EEMBC评测程序包括一系列能够反映实际的嵌入式应用领域。这些基准程序主要针对汽车电子、工业控制、消费电子、网络应用、办公自动化以及电信等领域。尤其重要的是,EEMBC对机器控制、数码相机、打印机、无线蜂窝电话、调制解调器等与嵌入式微处理器相关的应用非常适合。

  EEMBC论坛从上述应用中得到了37个独立的算法,从而构成了EEMBC的个版本。事实上,EEMBC业已称为嵌入式处理器评测的业界标准。

  BDTI 基准程序测试方法

  微处理器用户对数字信号处理器进行选择时需要一种方法和依据,这种方法必须简单、易用,并且能够全面反映处理器的实际应用。处理器提供商经常采用MIPS和MFLOPS(每秒百万次浮点运算)作为处理器速度的评价尺度。然而,这种评价方法对处理器体系结构和指令集的多样性并不能很好地进行评估。因此,采用这种方法是毫无意义的。事实上,由于处理器指令集的多样性使得这种传统方法不能反映处理器的实际应用。例如,TMS320C6202时钟频率为300MHZ,每个时钟周期发射8条指令。Freescale的DSP56852时钟频率为120MHZ。因此,如果按照传统的MIPS测量尺度地话,TMS320C6202的数据处理能力为2400MIPS,而DSP56852应为120MIPS。即前者是后者的20倍。然而,如果执行BDTI的基准测试程序(FIR滤波器)就会发现,前者仅仅比后者快6倍。因此,采用传统的MIPS评价尺度与处理器的实际情况是不吻合的。

图:Xtensa V的EEMBC测试分值。(

  为了满足这种评估需求,BDTI公司在1997年引入了BDTI测试基准程序组。该程序组来自于BDTI开发的许多信号处理器算法核心基准测试程序。1999年,BDTI对原来的BDTI程序组进行了更新以便能更好地反映当今信号处理器地应用情况,于是建立了BDTI2000基准程序组。

  BDTI2000基准程序组对数字信号处理器速度进行全面评估。BDTI2000基准程序组的初版本是由BDTI公司在1997年引入的,其后续版本很好地反映当今的信号处理器应用。BDTI2000基准程序组分值基于信号处理器应用的结果,并在目标处理器上进行了优化。

  我们首先探讨建立BDTI2000基准程序组的目标和评价方法学,然后对BDTI2000基准程序组进行分类。事实上,为了保证评价尺度的有用性和实效性,信号处理器评测必须满足如下目标:

  适度性: 评价尺度必须反映处理器执行信号处理算法频度的性能;

  公正性和精确性:评价尺度必须来源于基准程序的实际计算结果,且对任何处理器都是一样的。

  简单性:评价尺度必须方便地进行比较,用一个数值来表示评测结果;

  广泛性:评价尺度必须广泛,适合任何一类可编程处理器;

  独立性:评测分值必须经过独立地第三方验证以确保能够真实反映处理器地性能;

  有效性:评测分值是有效的,且是公开的。

  Tensilica高性能可配置处理器技术

  Tensilica成立于1997年7月,专门为日益增长的大规模嵌入式应用需求提供优化的特定应用的微处理器解决方案。Tensilica拥有Xtensa和LX的可配置和可扩展的微处理器内核,是一家能够生成定制微处理器内核的厂商,全部开发过程均可自动化完成。

  Tensilica的Xtensa LX处理器架构具有两个显著优势。首先,Tensilica充分使用自定义的FLIX(长度灵活的指令扩展)指令,它包括七种不同的64位指令字格式以及8个并行操作指令槽。FLIX提供VLIW风格的并行执行功能,但却没有VLIW处理器通常导致的代码膨胀现象。实际上,与缺省配置(out-of-box)的Xtensa LX 处理器核相比,优化的Xtensa LX处理器核能够取4倍到5倍的性能提升,而代码量则降低了2%。其次,Tensilica利用TIE (Tensilica指令扩展)队列来加速IP包的校验功能。通过TIE队列,SoC设计者可以不使用标准处理器总线,而直接将数据输入到一个Xtensa LX处理器的执行单元,同样,在一个SoC设计里有一个专门的硬件加速模块。传统处理器的数据传输能力局限于每个时钟周期32或64位数据读写,但带有TIE队列的Xtensa处理器可以在每个队列端口上维持一定的传送数据率,用户可定义的数据传输带宽为1024位。通过这种方式,Xtensa LX处理器成为的一款可以让设计者避免传统处理器总线瓶颈的处理器。而且Tensilica为用户定义的TIE队列提供C编译器和指令集仿真器的支持。

  Xtensa LX处理器核中的定制指令集每个时钟周期可以执行多个操作,可以将两个输入队列的数据与本地数据相结合,然后将计算结果输送到两个输出队列。嵌入式网络设备中的IP包操作是TIE队列的典型应用。在一个SoC设计中,一个网络工程师为获得包处理的高吞吐量,通常设计定制的包头校验硬件。如果使用传统的处理器,首先要读全部的数据包,然后执行包头校验和校验位计算。因此传统技术通常需要设计定制的加速器。通过使用Xtensa LX处理器,定制的包处理硬件和包缓存队列出口和入口能够被集成到处理器中。因此,Xtensa LX在基准测试中的IP包校验部分可以获得33倍的性能提升。利用Tensilica的TIE技术,在几小时内即可以完成处理器设计。而传统的RTL方法则需要几周的RTL设计和几个月的验证。

  Xtensa V和LX的EEMBC评测结果

  1. Xtensa V的EEMBC评测结果

  Tensilica的Xtensa V缺省配置情况下的EEMBC测试结果如图1所示,整个评测包括四个EEMBC基准测试程序组,即EEMBC 消费类电子基准程序组Consumermarks、电信基准测试程序组Telemarks、网络基准测试程序组Netmarks和办公自动化测试程序组Oamarks。

  下面对每一组基准测试程序分别进行评价。

  EEMBC 消费类电子基准程序组Consumermarks: 视频处理是消费类电子基准程序组的主要核心,例如数码相机、数字电视和游戏机。视频处理包括颜色空间转换、2D滤波和图像压缩。

  EEMBC 电信基准测试程序组Telemarks:电信领域应用是非常重要的一类,其数据通常为16位定点数据,形成压缩数据流或者冗余编码信道数据流进行传输。在过去的几年中,DSP能够很好地处理滤波、误差校正和传输算法方面地应用。电信基准测试程序组Telemarks主要涵盖上述应用。

  EEMBC网络基准测试程序组Netmarks:网络应用与消费类电子和电信应用有很大不同,它们的算术运算较少、数据并行性程度低,但需要频繁的控制流判决。EEMBC网络基准测试程序组Netmarks包括路由和分组数据处理。

  EEMBC办公自动化测试程序组OAmarks:OA程序组的核心应用是打印机领域,包括灰度尺度抖动、位级图像旋转和文本处理。

  2. Xtensa LX的EEMBC评测结果

  Tensilica的Xtensa LX处理器在EEMBC办公自动化基准测试Oamark中获得了分数,其分值大约是同类处理器的四倍。

  Tensilica Xtensa LX处理器在EEMBC网络2.0基准测试中也同样优于其它高性能微处理器。网络2.0基准测试程序组包括TCPmark和IPmark,前者表示在因特网有效时客户端设备的处理器性能;而后者则代表网络路由器、网关和交换机的处理器性能。对基于仿真的EEMBC网络2.0基准测试结果进行归一化处理,事实表明,经过优化的Xtensa LX处理器内核性能更高,而且代码密度和功耗方面表现出了更高的优越性。

  EEMBC对Xtensa LX处理器内核其它方面的评测结果如下:

  芯片面积和功耗:在标准的130纳米工艺技术下,使用传统的标准单元实现技术,Xtensa LX处理器内核面积仅为1.2平方毫米(存储器面积除外)。当工作于工作频率304兆赫兹时消耗的功率大约为115毫瓦。

  代码密度:Xtensa LX针对EEMBC网络2.0版本基准测试的代码大小经过ECL认证为65,208字节。

  通信能力:通过使用Xtensa LX处理器内核独特的队列功能,设计者能够完全不通过总线即可以完成数据传输,从而增加了数据吞吐量。

  3. Xtensa LX的BDTI测试结果

  BDTIsimMark2000和BDTIMark2000是截然不同的两种基准测试程序组。BDTIMark2000基准程序组仅仅用于处理器经过硬件验证后的性能测试;而BDTIsimMark2000程序组则只对仿真结果进行性能测试。BDTIsimMark2000和BDTIMark2000用于测试处理器的信号处理器速度,从这种意义上讲,它比MIPS或者MFLOPS那种简单的评价尺度要准确得多。

  对Xtensa LX处理器和其他几款处理器进行BDTIsimMark2000测试。为了保持BDTI测试的一致性,各个处理器核均利用坏情况下的时钟频率,制造工艺均为0.13um。坏情况是指工艺、电压和温度三个方面。对于已经封装的处理器,采用系列中快的处理器来计算分值。定点处理器测试分值结果,Xtensa LX处理器分值为6150,超过其他处理器。  

免费预约试听课