CPU2000是SPEC中测量CPU功能的最新版性能基准程序组,目的是为不同计算机系统计算密集型的工作负载提供性能*估的测量工具, SPEC CPU 2000包含2组性能基准程序:CINT2000测量比较计算密集型定点运算,CFP2000测量比较计算密集型浮点运算。最新版本为CPU2000 V1.3。CPU2000为被测系统提供性能参数,主要测量系统的处理器、内存以及编译器性能。
5.1.2 TPC
TPC(Transaction PROCESSing Council)成立于1988年,已有40多个成员,TPC系列基准是现在流行的商业基准组,主要服务器和数据库企业都派代表加入了这一组织,用于*测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。任何厂家或其他测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。19*以来相继发表的TPC基准测试程序包括TPC-A,TPC-B,TPC-C,TPC-D,TPC-W,TPC-R和TPC-H等。其中TPC-A用于在线事务处理下更新密集的数据库环境下的性能测试,TPC-B用于数据库系统及运行它的操作系统的核心性能测试,TPC-C则用于在线事务处理测试。有2种*价指标:吞吐率 (Throughput,tpmC)、性价比(Price/Perform-ance,Price/tpmC)。tpmC定义:TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12 min。TPC-D用于决策支持系统测试,TPC-H是基于TPC-D基础上决策支持基准测试,TPC-W是用于电子商务应用软件测试。
5.1.3 Whetstone
它是用FORTRAN语言编写的综合性测试程序,主要包括浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数,测试结果用单位 Kwips表示,1Kwips表示机器每秒钟能执行1 000条Whetstone指令。在实时性能基准程序Hartstone中被调用。
5.1.4 Lmbench
Lmbench性能基准程序通过运行大量的程序,测试大多数公认的有可能成为性能瓶颈的重要参数,这些参数通过几组微观性能基准程序加以识别、分辨,而且是可重现的。Lmbench中主要测量的参数是处理器、内存、网络、文件系统与硬盘之间的系统延时与数据通路带宽。Lmbench仅测量处理器、内存、网络、文件系统与硬盘之间传送数据的能力,清楚地描述时间延时与数据通路带宽方面的各种参数,Lmbench中的各个性能基准程序组作为测量系统性能的补充常用于测量系统相应的延时与带宽。
5.2嵌入式系统设计中的实时性能测试基准程序
5.2.1 Rhealstone
Rhealstone性能基准程序是一组由6个C语言程序组成的程序集,通过这6个程序测量实时操作系统的7个微观参数:上下文切换、抢占时间、中断延迟、信号量混洗时间、死锁解除时间、信息传递延迟、数据报吞吐时间。Rhealstone性能基准程序有2个缺点,一是它测量的是平均时间,而不是最坏值;二是其最后的结论是加权平均值,但没有给出确定权值的依据。
5.2.2 EEMBC
EEMBC(Embedded MicroPROCESSor BenchmarkConsortiurn)性能基准程序采用具有代表性的真实应用中的基本算法与功能函数,目的是为不同嵌入式计算机提供*价性能的参数。最新的EEMBC性能基准程序涵盖7类应用领域:电信、电子产品、网络、办公自动化、自动化与工业控制、数字娱乐、车载系统与Java,后两类是新加入的。EEMBC性能基准程序属于商用性能基准程序,参照EEMBC的设计思路,源代码公开的Mibench分为6类,较多的用于学术研究领域。
5.2.3 Hartstone
Hartstone性能基准程序由美国Carnegie Mellon大学用Ada语言编写,是依据需求构成的一组合成应用,选用Whetstone性能基准程序作为合成工作负载,目的是测量硬实时系统。 Hartstone性能基准程序需要不同测试序列,每个测试序列中的测试结果只有2种情况:满足或者不满足时间限制。若任一个程序不满足时限,那么测试结论就是“不通过”。共有5种测试序列:任务周期有规律的周期性任务、任务周期无规律的周期性任务、任务周期有规律但非周期性处理的周期性任务、任务周期有规律有同步的周期性任务、任务周期有规律有同步但非周期性处理的周期性任务。
现有的性能基准程序从构建方法上来看,有的通过应用类别选取典型应用构建工作负载(如SPEC,EEMBC,Mibench),这类性能基准程序可进行功能测试,也可根据系统表现计算系统的性能,该类性能基准程序属于宏观性能基准程序,随着应用领域的增多,需要不断扩充;有的通过测量影响系统性能的重要参数(如Rhealstone,Lanbench等),该类性能基准程序属于微观性能基准程序,但是现阶段影响系统性能的重要参数数量多,相互影响的程度,对系统性能影响的程度,很难给出量化的指标,所以该类性能基准程序很难对测量结果给出合理的解释;有的针对典型应用,不仅选用典型的工作负载还是用根据程序被调用的频度,模拟真实的工作负载,(如TPC,Hartstone等),该类性能基准程序能够从宏观上观察系统在模拟工作负载下的表现,具有较高的实用价值,构建该类性能基准程序的难点在于如何真实地反应系统的实际工作负载。
5.3嵌入式系统的系统级高层次设计测试基准程序
随着电子系统设计的自动化程度提高,应对嵌入式系统设计复杂性增加,并加快系统设计的速度,采用一系列的设计技术,如基于IP复用的设计技术、软硬件协同设计技术、高层次的系统级建模与设计技术等。随着嵌入式计算机的设计进入到SoC的设计时代,将一个嵌入式系统的软件、硬件子系统在系统级的体系结构优化、划分后,使用硬件描述语言和软件开发语言分别设计出嵌入式系统的硬件组成部分和软件组成部分。嵌入式计算机设计到了SoC设计时,同时意味着嵌入式计算机的设计进入到了系统级的设计时代。对于SoC这种系统级的嵌入式系统设计,涉及到系统软/硬件结构组成结构的优化、系统在总体设计体系结构上的优化,在不同设计目标(成本、面积、功耗、性能等)方面的总体折中平衡。在系统级设计的早期阶段,也出现了一些相应的测试基准程序,以辅助系统设计在系统级能确定出一个相对较优的系统结构。
E3S就是Princeton大学的CAD研究项目中用于进行嵌入式系统级设计过程中,进行系统级综合(System Level Synthesis)的设计测试基准程序。E3S,依据嵌入式微处理器测试基准(Embedded MicroPROCESSor Benchmark Consortium,EEMBC)中对嵌入式微处理器和用来测试的计算任务信息的测试基准程序而设计的用于系统级综合设计测试基准。它主要用于在嵌入式计算机系统的系统级设计中,对系统级综合设计所涉及到的3个过程:系统级任务的分配(Allocation)、指派(Assignment)、调度 (Scheduling),提供测试的基准。目前的最新版本是V0.9版,可以对17种微处理器,像AMD ElanSC520,Analog Devices 21065L,Motorola MPC555,TI TMS320C6203等进行测试。测试的数据,像处理器的性能以47个典型计算任务的执行时间度量,功耗数据则参照处理器的设计文档 (Datasheets),另外,提供给系统级综合工具的附加测试信息,如硅片尺寸以及其他用于系统级综合*估(Estimated)的数据和价格 (Prices),则通过咨询多个处理器提供商取得。另外,E3S包含着相应的系统级通信模型,用于系统级设计过程中的测试基准程序对多种不同总线,如 CAN,IEEE1394,PCI,USB 2.0,VME等进行建模和*测。
6结 语
随着嵌入式计算机设计技术的发展,可复用IP核与基于平台的设计技术应用于当今的嵌入式计算机设计中,需要在早期的设计阶段就要对嵌入式计算机的硬件子系统、软件子系统与软硬件集成后的系统原型进行早期的性能*价,目前在国外,已经应用于早期设计阶段的系统级性能*测技术与方法出现。测试的技术与设计技术的成熟度同比发展,随着设计技术的发展,相应的测试技术也需要有相应成熟的测试例程、特定应用领域的测试基准程序来作测试*测的标准。可以预见,在未来几年里,测试基准程序和针对嵌入式计算机设计的性能测试基准程序,将会在系统设计过程中的更早阶段——系统级构架优化与性能测度方面,取得很大的发展。