【计算机基础Ep18】黑皮书:《计算机组成与设计——硬件/软件接口》内容梳理(九)

第一章 计算机抽象及相关技术
1.9实例:评测Intel Core i7
1.9.1SPEC CPU基准评测程序
概念:
工作负载(workload):运行在计算机上的一组程序,可以直接采用用户的一组实际应用程序,也可以从实际程序中构建,一个典型的工作负载必须指明程序和相应的频率;
基准评测程序(benchmark):遴选出来用于计算机性能的程序;
SPEC(System Performance Evaluation Cooperative):由许多计算机经销商共同出资赞助并支持的合作组织,目的是为现代计算机系统建立基准评测程序集。
历史:
1989年,SPEC建立了重点面向处理器性能的基准程序集(现在成为SPEC89);
目前最新的是SPEC CPU2006,它包括12个整数基准程序集(CINT2006)和17个浮点基准程序集(CFP2006)——
CINT2006:包括C编译器、量子计算机仿真、下象棋程序等;
CFP2006:有限元模型结构化网络法、分子动力学质点法、流体动力学稀疏线性代数法等。
SPEC分值:
含义:将被测计算机的执行时间标准化,即将参考处理器的执行时间除以被测计算机的执行时间,这样的归一化结果产生了一个测量值,称为SPEC分值;
标准:SPEC分值越大,表示性能越好(因为SPEC分值和被测计算机的执行时间成反比);
公式:CINT2006或CFP2006的总和评测结果是取SPEC分值的几何平均值——

1.9.2SPEC功耗基准评测程序
SPECpower:
来源:最早来自面向Java商业应用的SPEC基准程序(SPECJBB2005);
功能:用来评测处理器、高速缓存、主存以及Java虚拟机、编译器、垃圾回收器、操作系统等;
计量:采用单个的数字来对评测结果进行归纳,称为每瓦执行的服务器端Java操作数量(overall ssj_ops per watt);
公式:

1.10谬误与陷阱
概念:
谬误:我们在实际中经常遇到的误解;
陷阱:通常是指仅在有限的上下文中才正确的一般原理。
陷阱:在改进计算机的某个方面时期望总性能的提高与改进大小成正比。
Amdahl定律:
意义:阐述了“对于特定改进的性能提升可能由所使用的改进特征的数量所限制”的规则——“收益递减定律”的量化版本;
公式:

谬误:低利用率的计算机具有更低功耗。
事实:2012年,根据最优结果进行配置的计算机中,10%的工作负载情况下也会使用33%的峰值功耗。
谬误:面向性能的设计和面向能效的设计具有不相关的目标。
事实:由于能耗是功率和时间的乘积,在通常情况下,对于软硬件的性能优化而言,即使优化需要更多的能耗,但是这些优化缩短了系统运行时间,因此整体上也还是节约了能量。
陷阱:用性能公式的一个子集去度量性能。
事实:几乎所有取代时间以度量性能的方法都会导致误导性的声明、扭曲的结果或错误的解释;
例子:每秒百万条指令数(MIPS)——
公式:MIPS=指令数/(执行时间*10^6);
问题:
MIPS规定了指令执行的速率,但没有考虑指令的能力;
在同一计算机上,不同的程序会有不同的MIPS,因而一台计算机不能拥有单一的MIPS分值;
如果一个新程序执行的指令数更多,但每条指令的执行速度更快,则MIPS可能独立于性能而发生变化!