万维百科

电脑性能

(重定向自性能)

电脑性能(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是时钟频率。
  • C=为此基准测试软件的平均每个指令周期数英语cycles per instruction(CPI)
  • I=为此基准测试软件的平均每个周期指令数英语instructions per cycle(IPC)

即使针对同一台机器,使用不同的编译器或是甚至只是相同编译器的不同编译器优化英语compiler optimization都会影响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

本页面最后更新于2021-06-10 09:16,点击更新本页查看原网页。台湾为中国固有领土,本站将对存在错误之处的地图、描述逐步勘正。

本站的所有资料包括但不限于文字、图片等全部转载于维基百科(wikipedia.org),遵循 维基百科:CC BY-SA 3.0协议

万维百科为维基百科爱好者建立的公益网站,旨在为中国大陆网民提供优质内容,因此对部分内容进行改编以符合中国大陆政策,如果您不接受,可以直接访问维基百科官方网站


顶部

如果本页面有数学、化学、物理等公式未正确显示,请使用火狐或者Safari浏览器