计算机设计人员通过持续时间或速率来指代时钟周期的时间。程序的 CPU 时间可以用两种方式表示:
CPU 时间=程序的 CPU 时钟周期 / 时钟频率
除了执行程序所需的时钟周期数外,我们还可以计算执行的指令数。 如果我们知道时钟周期数和指令数,就可以计算每条指令的平均时钟周期数 (CPI)。 设计人员有时还会使用每时钟指令 (IPC),这是 CPI 的倒数。
CPI = 程序的 CPU 时钟周期/指令数
CPI英文为clock cycles per instruction ,物理含义为每个指令执行的时钟周期。
于是,又得到了一个新的CPU时间计算公式
CPU 时间 = 指令数*每条指令的周期数*时钟周期时间
CPU 时间 = (所有的指令数/程序数)*(程序的 CPU 时钟周期/指令数)*(时间/程序的 CPU 时钟周期)= 时间/程序数
如该公式所示,处理器性能取决于三个特性:时钟周期(或速率)、每条指令的时钟周期和指令数。 此外,CPU 时间同样取决于这三个特征; 例如,其中任何一个提高 10% 都会导致 CPU 时间提高 10%。
但存在一定问题就是更改每个特性所涉及的基本技术是相互依赖的:
但许多潜在的性能改进技术主要增强处理器性能的一个组成部分,而对其他两个组成部分的影响较小或可预测。
总处理器时钟周期数:
其中 ICi 表示指令 i 在程序中执行的次数,CPIi 表示指令 i 的每条指令的平均时钟数。
于是,新的计算公式如下:
CPU time = CPU clock cycles *Clock cycle time
举个例子:
假设我们进行了以下测量:
FP 操作的频率 =25%
FP 操作的平均 CPI = 4.0
其他指令的平均 CPI = 1.33
FSQRT 的频率 = 2%
FSQRT 的 CPI = 20
假设两种设计方案是将 FSQRT 的 CPI 降低到 2 或将所有 FP 操作的平均 CPI 降低到 2.5。 使用处理器性能方程比较这两个设计备选方案。首先,观察只有 CPI 发生变化; 时钟速率和指令数保持不变。 我们首先找到没有增强的原始 CPI:
首先尝试第一种方案:
其次尝试第二种方案:
(和第一种方式完全一样)
由于整体 FP 增强的 CPI 略低,因此其性能会略好一些。 具体来说,整体 FP 增强的加速是