性能的定义
- 响应时间:也叫执行时间,是计算机完成某任务所需的总时间,包括硬盘访问、内存访问、I/O活动、操作系统开销和CPU执行时间等。
- 吞吐率:也叫带宽,性能的另一种度量参数,表示单位时间内完成任务的数量。
性能和执行时间是倒数关系。
性能的度量
用时间来度量计算机的性能的话,直接的定义是墙上时钟时间也叫响应时间、消逝时间等。
- CPU执行时间:简称CPU时间,只表示在CPU上花费的时间,而不包括等待I/O或运行其他程序的时间。进一步可以分为:用户CPU时间和系统CPU时间,但二者很难区分。
- 系统性能与CPU性能:系统性能表示空载系统的响应时间;CPU性能表示用户CPU时间。
- 时钟周期与时钟长度:时钟周期是计算机一个时钟周期的时间,通常是处理器的时钟,一般为常数。时钟长度是一个时钟周期持续的时间长度。
CPU性能与影响因素
- CPU时间和时钟周期关系:
一个程序的CPU时间=一个程序的CPU时钟周期数×时钟周期时间
一个程序的CPU时间=一个程序的CPU时钟周期数/时钟频率
指令的性能
计算机是通过执行指令来运行程序的,因此执行时间一定依赖于程序中的指令数。
- 一个程序的时钟周期数可写为:
CPU时钟周期数=程序的指令数×每条指令的平均时钟周期数
用CPI表示执行每条指令所需的时钟周期数的平均值。每条指令的时钟周期数表示执行某个程序或程序片段时每条指令所需的时钟周期数的平均数。
经典的CPU性能公式
C
P
U
时
间
=
指
令
数
×
C
P
I
×
时
钟
周
期
时
间
CPU时间=指令数×CPI×时钟周期时间
CPU时间=指令数×CPI×时钟周期时间
或
C
P
U
时
间
=
指
令
数
×
C
P
I
/
时
钟
频
率
CPU时间=指令数×CPI/时钟频率
CPU时间=指令数×CPI/时钟频率
指令数:执行某个程序所需的总指令数量。
在评价计算机性能时,要综合多种因素进行度量。
CPI会随着指令组合(在一个或多个程序中,指令的动态使用频度的评价指标)而变化。
而且程序的性能与算法、编程语言、编译程序、体系结构以及实际的硬件有关。