1. 成本与价格
2.基准测试程序
性能与测试程序的执行时间有关,那么用什么做测试程序呢?
五类测试程序
I. 真实程序
II.修正的(或者脚本化)应用程序
III.核心程序
IV.小测试程序
V.合成测试程序
测试程序包(组件,benchmark suites)
I.选择一组各个方面有代表性的测试程序组成
II.尽可能全面地测试了一个计算机系统地性能
测试程序包:www.SPEC.org
基于UNIX,诞生于20世纪80年代
由真实程序和核心程序构成
采用C和Fortran两种语言,后增加C++
包括整数部分SPECint和浮点部分SPECfp
主要版本包括SPEC89、SPEC92、SPEC95、SPEC2000和SPEC2006等
SPEC2006功能进一步细化
台式机测试: SPEC CPU2000
图像测试:SPECviewperf,SPECapc
NFS性能测试:SPECSFS
Web服务测试:SPECWeb
其它测试包
TPC-x
测量事务处理(飞机订票、网购之类)、排队系统、决策支持、数据库应用等的性能
1985年发布第一个TPC测试程序TPC-A,并先后发布多个修改版本并补充了四个不同的测试程序,构成TPC测试程序组件
嵌入式处理器
EEMBC:EDN嵌入式微处理器测试程序联盟发布的测试程序包
3.量化设计的基本原则
3.1 大概率事件优先原则
追求全局的最优结果
3.2 Amdahl 定律
系统性能加速比,受限于该部件在系统中所占的重要性
可以定量计算
结论:1.增加某一性能带来的效果越来越小
2.系统的最终性能是由不可加速部分性能决定的
3.一个“好”的计算机系统是一个带宽平衡的系统,而不是看它使用的某一部件的性能
3.3 程序的局部性原理
程序执行时所访问存储器在时-空上是相对地簇聚
这种簇聚包括指令和数据两部分