05计算机的性能指标[大章]

存储器的性能指标


MAR位数反映每个存储单元的大小数(最多支持多少个)

MDR位数=存储字长=存储单元的个

为什么MAR的位数为2n呢?

可以看到,按照规律,1个二进制位能表达的内容是有限的,规律正好是2n
同时我们还需要知道几个比较常用的单位转换

说明\单位 K M G T
相当于多少二进制位 210 220 230 240
代表的大小 1KB 1024KB 1024M 1024G
进制的转化 1KB=1024B=8bit 1M = 1MB = 1024KB 1G = 1024MB 1T = 1024G



CPU的性能指标


类似广播体操,我们计算机需要有一个人来喊口号,CPU的脉冲信号就是给这些命令带来节奏


CLK


CLK一个循环我们称之为CPU时钟周期
单位是微秒,纳秒
$$CPU主频(时钟频率) = \frac{1}{CPU时钟周期}$$

10/Hz表示每秒有10个脉冲信号



CPI


CPU的性能除了和CPU主频相关之外,还和CPI有关

CPI[1]:执行一条指令所需要的时钟周期数[2]

公式:
$$执行一条指令的耗时 = CPI \times CPU时钟周期$$

一个例子

某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,该程序在该CPU上执行需要多久?

$$
100 \times 3 \times \frac{1}{1000} = 0.3s
$$

公式

$$
指令条数*CPI = CPU时钟周期数
$$

整体公式
$$
CPU执行时间(整个程序的耗时)=\overbrace{\frac{CPU时钟周期数}{主频}=\frac{(指令条数*CPI)}{主频}}^\text {指令条数 * CPI = CPU时钟周期数}
$$



IPS

IPS[3]:每秒执行多少条指令

IPS计算公式
$$
IPS = \frac{\overbrace{主频}^\text {每秒会有多少个时钟周期}}
{\underbrace{平均CPI}_\text{一条指令所需要的时钟周期}}
$$



FLOPS


FLOPS[4]:每秒可以执行多少次浮点运算

(一般拿IPS和FLOPS来评测计算机的性能)

因为计算机计算的能力非常强大,我们一般在形容的时候会给IPS和FLOPS带上前缀

比如3TFLOPS,表示一个计算机每秒可以进行3万亿次计算

当我们描绘主频的时候说3GHz表示我们的计算机能进行30亿次每秒的计算
$$3GHz = 30亿/_{次每秒}$$



系统整体的性能指标


数据通路带宽:数据总线一次所能并行传送信息的位数
(各硬件部件通过数据总线传输数据)

例如我们有16bit的数据等待读取,但是带宽只有8bit,所以我们需要用两次才能搬完全部的数据

吞吐量:指系统在单位时间内处理请求的数量

它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。

响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。

通常包括CPU时间( 运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/0操作、操作系统开销等时间)



基准程序


基准程序是用来测量过算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程字的其它计算机性能进行比较。



思考


$$
\left{
\begin{array}{c}
A的计算能力 = \frac{主频}{平均CPI} = \frac{2}{10} = 0.2G \
\
B的计算能力 = \frac{主频}{平均CPI} = \frac{1}{1} = 1G \
\end{array}
\right.
$$

可以看到其实是B更快



总结



  1. CPI全称:Clock cycle Per Instruction ↩︎

  2. 不同的指令,CPI不同,甚至相同的指令,CPI也可能有变化 ↩︎

  3. IPS全名Instructions Per Second ↩︎

  4. FLOPS全名:Floating-point Operations Per Second ↩︎