[体系结构学习笔记1-3] 计算机系统的评价标准
文章目录
[1.3.1] 性能
1. MIPS(Million Instructions Per Second)
![](https://raw.githubusercontent.com/talesov/picbed/master/img/20200227113218.png)
- Fz为处理机的工作主频
- CPI (Cycles Per Instruction)为每条指令所需的平均时钟周期数
- IPC (Instruction Per Cycle)为每个时钟周期平均执行的指令条数
2. MFLOPS(Million Floating Point Operations Per Second)
![](https://raw.githubusercontent.com/talesov/picbed/master/img/20200227113503.png)
- 只能反映机器执行浮点操作的性能,并不能反映机器的整体性能(如编译性能)
- 基于浮点操作而非指令,比较适合用于衡量处理机中向量运算性能
- 会随着整数和浮点数的比例、快递浮点操作与慢速浮点操作的比例不同而不同
- 一般认为 1 MFLOPS≈1 MIPS
3. 性能的比较
计算机的性能通常用峰值性能和持续性能来评价
持续性能的表示
- 算数性能平均值
- 调和性能平均值
- 几何性能平均值
算术性能平均值
算术性能平均值 A m A_m Am是 n n n道程序运算速度或运算时间的算术平均值
- 以速度评价
A m = 1 n ∑ i = 1 n R i = 1 n ∑ i = 1 n 1 T i A_m=\frac{1}{n} ∑_{i=1}^nR_i =\frac{1}{n} ∑_{i=1}^n\frac{1}{T_i} Am=n1i=1∑nRi=n1i=1∑nTi1
其中 R i R_i Ri是第i个程序的执行速率; T i T_i Ti是第i个程序的执行时间
-
以执行时间评价
A m = 1 n ∑ i = 1 n T i A_m=\frac{1}{n} ∑_{i=1}^nT_i Am=n1i=1∑nTi -
加权算术平均(在工作负荷中各个程序出现的比例不同)
A m = ∑ i = 1 n α i R i = ∑ i = 1 n α i T i A_m=∑_{i=1}^nα_i R_i =∑_{i=1}^n\frac{α_i}{T_i} Am=i=1∑nαiRi=i=1∑nTiαi
调和性能平均值
- 调和性能平均值
H
m
H_m
Hm(以时间评价)
H m = n ∑ i = 1 n 1 R i = n ∑ i = 1 n T i = n T 1 + T 2 + ⋯ + T n H_m=\frac{n}{∑_{i=1}^n\frac{1}{R_i} }=\frac{n}{∑_{i=1}^nT_i } =\frac{n}{T_1+T_2+\dots+T_n} Hm=∑i=1nRi1n=∑i=1nTin=T1+T2+⋯+Tnn
H m H_m Hm的值与运行全部程序所需要的时间 ∑ i = 1 n T i ∑_{i=1}^nT_i ∑i=1nTi 成反比,用他来衡量计算机的时间(速度)性能比较准确
- 加权调和平均
H m = ( ∑ i = 1 n α i T i ) − 1 = ( ∑ i = 1 n α i R i ) − 1 H_m=\Big(∑_{i=1}^n{α_i T_i}\Big)^{−1}=\Big(∑_{i=1}^n\frac{α_i}{R_i} \Big)^{−1} Hm=(i=1∑nαiTi)−1=(i=1∑nRiαi)−1
几何性能平均值
- 几何性能平均值
G
m
G_m
Gm
G m = ∏ i = 1 n R i n = ∏ i = 1 n 1 T i n G_m=\sqrt[n]{∏_{i=1}^nR_i} =\sqrt[n]{∏_{i=1}^n\frac{1}{T_i}} Gm=ni=1∏nRi=ni=1∏nTi1
对不同机器进行性能比较时,可以对性能采取归一化处理,以某一台机器的性能作为参考标准,即 R i R_i Ri是第 i i i个程序相对于参考机器归一化后的运行速率
几何平均速度与所参考的机器无关,不论哪台机器做参考机, G m G_m Gm均能够正确反映结果的一致性: G m > 1 G_m>1 Gm>1的机器性能相对较好, G m < 1 G_m<1 Gm<1的机器的相对性能较差