CPU 性能
CPU 性能分为
- 响应时间/延迟
- 吞吐量/带宽
响应时间
- 时钟
- 时钟频率/主频 $f$
- 时钟周期 $T=\frac{1}{f}$
大单位
- 兆 $1M=10^{6}$
- 吉 $1G=10^{9}$
-
CPU 执行时间
-
用户 CPU 时间
-
系统 CPU 时间
$$CPU执行时间=指令数\times CPI\times T$$
-
-
CPI $:=\displaystyle\frac{\mathrm{CPU时间}}{指令数\times T}$
记忆 CPI
CPI $:=$ Cycle Per Instruction 指令数 $\sim$ Instruction $CPI\times Instruction=Cycle$ 而一 $Cycle$ 占一个周期 $T$ 于是 $CPU执行时间 = Cycle \times T$
-
执行周期
-
吞吐量
-
MIPS (Million Instructions Per Second)
$$\begin{align}MIPS & =指令数/CPU执行时间 \times 10^{6} \ & = 时钟频率 / CPI \times 10^{6}\end{align}$$
-
IPS (Instructions Per Second)
$$IPS=\frac{f}{CPI}$$
并行响应性能
-
Amdhal 定律 $$S_{A} = \frac{1}{s+(1-s)/N}$$
- $S_{A} :=$ 加速比
- $s :=$ 不可被并行化(串行部分)的工作量占比
- $N :=$ 并行核心数
-
Gustafson 定律 $$S_{G}=N+(1-N)s$$
- $S_{G} :=$ 加速比
- $s :=$ 串行部分时间占比
- $N :=$ 并行核心数
吞吐量
略
功耗
-
总功耗 $$P_{\mathrm{total}} = P_{\mathrm{static}} + P_{\mathrm{dynamic}}$$
-
动态功耗 $$P_{\mathrm{dynamic}}=\frac{1}{2}CU^{2}f$$
- $C$ $:=$ 负载电容
- $U$ $:=$ 电压
- $f$ $:=$ 时钟频率
-
静态功耗 $$P_{\mathrm{static}}=U\times I_{\mathrm{leakage}}$$
- $U$ $:=$ 电压
- $I_{\mathrm{leakage}}$ $:=$ 漏电流 Leakage Current
主存性能
- 主存容量
- 主存带宽