电脑性能(Computer Performance)一般会以电脑系统在指定时间和使用资源的条件下,所完成工作的数量来表示。

依上下文的不同,电脑性能的“良好”可能包括以下项目中的一项或几项:

电脑软件的性能,特别是应用软件的反应时间,是软件质量的内容之一,在人机交互中也很重要。

性能度量

编辑

和电脑性能有关的度量包括可用性反应时间信道容量延迟 (工程)英语Latency (engineering)频寛吞吐量相对效率英语Relative efficiency可扩放性性能功耗比压缩比指令路径长度英语instruction path length加速倍率。也可以利用CPU基准测试[1]

定义

编辑

电脑系统的性能可以用可量测的技术用词来表示,会用到一个或多个上述的度量。性能可以用以下的方法表示:

- 和其他系统比较,或是将系统变更前后的性能相比较
- 以绝对度量来表示,例如符合合约上所列的功能

以上的定义用到一些科技相关的术语。以下是科学家阿诺·艾伦英语Arnold Allen所提出,比较可以让非科技背景听众了解的定义:

在“电脑性能”一词中提到的“性能”其实和其他情形下提到的性能一様,其性能是指“电脑可以将它应该要完成的工作做到多好?”[2]

技术量测资料

编辑

有许多的技术量测资料间接的会影响电脑的性能。

由于测试电脑的速度及性能需执行许多的程序,因此开发了基准测试软件集成这些程序。以下是一个重要的量测资料:

  • 指令每秒-大部分的消费者考虑计算机体系结构时,会希望可以执行许多现有的软件,有时会直接用工作频率来选择特定的CPU,相同架构的电脑,MIPS越高表示其速度越快,但不同架构的电脑,无法直接比较其MIPS(参考兆赫神话英语megahertz myth)。
  • FLOPS-每秒进行的浮点运算次数,在选择科学计算用的电脑时格外重要。
  • 性能功耗比平行系统(例如Google的机房)的设计者会依性能功耗比来选择CPU,因为CPU功耗的成本大于CPU本身的成本。
  • 有些平行电脑的设计者会以单位成本的速度来选择CPU。
  • 一些实时运算系统的设计者需确保最坏情形下的响应,若CPU的中断延迟英语interrupt latency较小,及其有确定性的响应时较容易确保。
  • 若设计者直接使用汇编语言开发系统,会希望CPU支持多功能的指令集
  • 低功率-针对有限能源供应的系统(例如用太阳能、电池、或人力发电)。
  • 体积小或重量轻-特别针对可携的嵌入式系统及太空用的系统。
  • 环境影响-减少在电脑生产时、使用时及回收阶段对环境的影响,也包括减少废弃物及有害物质(参考绿色计算
  • 百万更新每秒英语Giga-updates per second-量测RAM可允许的最快更新速度。

有时CPU设计者有办法提升其中一项特性,又不会牺牲其他特性,例如使用最好最快的晶体管来设计CPU,此时就可以提升CPU的整体性能。

不过有时若过分强调其中一项特性,往往会使其他重要特性变差,因此反而让整体的性能的变差,例如只强调CPU高MIPS,高工作频率时,可能会使功率提高,性能功耗比也可能下降。

性能方程式

编辑

执行某特定基准测试软件需要的时间t

 ,或者可以等效表示为下式
 [3]

其中

  • P = 1/t,是用执行时间的倒数来表示的性能。
  • N 是实际执行(汇编语言)指令的个数(指令路径长度英语instruction path length)。N显著的受到指令集代码密度的影响。N的数值无法透过高级语言源代码的行数来计算得知。可以由指令集模拟器英语instruction set simulator精确计算,或者可以利用估计的方式,一方面利用各指令分布频率的数值(可能是实际值或估计值),同时配合高级语言编译器产生的机器代码。N不受同一个处理器中执行的其他行程所影响。由于硬件一般不会记录执行程序的N,因此其确值只能由指令集模拟器计算,但实务上又很少有指令集模拟器可以使用。
  • f是时钟频率。

即使针对同一台机器,使用不同的编译器或是甚至只是相同编译器的不同编译器优化都会影响N和CPI,若调整后可以提升N或C,但另外一项没有显著变差,基准测试程序会执行的更快。但一般情形下提升其中一项后,另一项可能就会变差,因此需在二者中作一取舍。例如是否需要使用一些复杂且执行时间较长的指令,使执行指令个数变短?或是只利用可以许多简单且可以快速执行的指令,虽执行指令个数变长,但每个指令周期数可以下降?

CPU设计者常需要实现一组特定的指令集,因此无法调整N。有时设计者会借由大幅提升f,但不会牺牲C太多的方式提升性能(例如用更深的流水线或更快的缓存),所得的是speed-demon的CPU设计。有时设计者会借由大幅提升CPI(例如利用超序执行、超标量CPU、大容量缓存、高击中率的缓存、提升分支预测推测性执行英语speculative execution等技术),但不会牺牲f太多的方式提升性能,所得的是brainiac的CPU设计[4]。针对特定的指令集(因此N不变)及固定的半导体制程,单一线程的最大性能(1/t)需要在上述二个技术中作一平衡[3]

相关条目

编辑

参考资料

编辑
  1. ^ Measuring Program Similarity: Experiments with SPEC CPU Benchmark Suites, CiteSeerX: 10.1.1.123.501  
  2. ^ Computer Performance Analysis with Mathematica by Arnold O. Allen, Academic Press, 1994. $1.1 Introduction, pg 1.
  3. ^ 3.0 3.1 Paul DeMone. The Incredible Shrinking CPU. 20 Jun 2004 [2012-10-09]. (原始内容存档于2012-05-31).  |publisher= real word technology |accessdate=10 Oct 2012}}
  4. ^ "Brainiacs, Speed Demons, and Farewell"页面存档备份,存于互联网档案馆) by Linley Gwennap 1999