(4)执行的指令数(Instructions Executed)
执行的指令数是应用程序在一个时钟周期或者机器周期中,嵌入式处理器可以执行的指令个数。目前的嵌入式微处理器,可以使用基于RISC核的处理器,也可以是用于数字信号处理的DSP处理器,也可能是多种异构处理器组成的处理单元(PROCESS Element)。RISC结构的嵌入微处理器,大多数指令为单周期指令,在一个机器周期都可以处理完成。使用运行于嵌入式系统中的测试基准程序执行的指令数,可以表征嵌入式系统中编译器的速度优化能力及微处理器完成指令运算的运行性能。
这些指标,可以是每指令平均时钟周期CPI(Cycles Per Instruction)、每时钟执行的平均指令数IPC(Instructions Per Cycle)、每秒执行的百万指令数MIPS(Millions of Instructions Per Second)等。这3个性能指标的定义分别如下:
其中,Cycles是执行应用程序经历的时钟节拍数。3种性能指标都可以用于描述应用程序的执行效率,反映编译器的速度优化性能及嵌入式计算机的处理器核心的指令处理能力。
(5)高速缓存未命中率(Cache Miss Rate)
其中Cache Miss为Cache未命中数,Cache Access为Cache总的访问次数。缓存未命中率(Cache MissRate)表示在应用程序执行过程中,访问存储器的性能,以及存储器对处理器所需要使用到的指令、数据的高速支持能力,可以用来表征表示编译器的数据分布、存储器系统的组织和访问优化能力。
在以上5种性能指标中,前3种可用于描述整个嵌入式系统、微处理器、编译器、运行库的性能*测指标,后2种主要用于*测编译器的优化性能。除此以外,某些嵌入式应用还需要使用其他性能指标,如总线/网络带宽(MBps)和浮点运算速度(MFLOPS)等。
3嵌入式计算机设计中的常用测试方法
嵌入式计算机系统设计中常用到的测试方法,可以是基于静态分析的解析方法,也可以是进行模拟仿真的方法,也可以是直接运行应用程序进行测量的方法。
3.1 解析法
采用分析技术,假定计算机系统参数与性能指标参数之间存在某种关系,按工作负载的驱动条件列出方程,用数学方法求解直接得出系统的性能。解析法采用的公式还是很完善,需要假设系统处于一系列理想状态,一般用在系统的设计阶段,结论的正确性需要经过测量方法的验证。使用解析法,进行系统的性能* 价,需要完备的性能*价模型。这方面,由于设计的层次(板级设计、芯片级设计、系统级SoC设计等)不同,需要建立的*测模型也各不相同。往往会有面积的 *测模型、功耗的*测模型等。
3.2模拟法
按照被*价的系统的运行特性建立一个系统模型,按照系统可能有的工作负载特性,建立工作负载模型并编制出模拟程序,在被*价系统上运行模拟程序,并通过在其他的系统上运行这一模拟程序,通过程序在不同系统运行获得的性能参数对比,就可以得出设计的优劣。模拟法也用于系统的设计阶段。软件模拟的方法,往往会带来的误差,建立的工作负载模型不可能对结果具有相接的影响,使得这一方法得到的结果往往不能如实地反应系统设计的真实性能。
3.3 测量方法
测量技术是对投入运行的现有嵌入系统进行直接测量,因此它的结论是真实、精确和可信的。分析、模拟技术是基于对以前的测量结果积累归纳得来的,所以说测量是最基本的*价技术。测量方法需要相应的系统测试环境与工具,这样的测试组成,可能是专门的测试硬件设备、软件及相应的计算机检测系统。
测量方法要求得出精确的数值,就需要从概念上和具体的结构上对待测系统进行大量的分析,设计专门的测量工具,根据需要考虑的因素和环境,进行多次的反复测量并统计分析测量的结果,因此这一方法也是比较耗时的。