来到第一章的尾声,这一小节我们学习度量计算机性能的指标
计算机的性能指标
1.存储器的容量
1.1MAR的位数反映存储单元数量
前面的文章我们有提到过,MAR的位数反映存储单元数量,那MAR的位数和存储单元的数量之间是怎么换算的呢?
其实MAR为X位,那么最后可以存储个。因为MAR有X位,每一位分别可以取0/1,所以每一位有两种取值可以取,X位就有。
1.2MDR反映每个存储单元大小
MDR位数和存储字长的换算就很直接:MDR位数=存储字长=每个存储单元的大小
总容量=存储单元个数*存储字长 bit 1Byte=8bit
=存储单元个数*存储字长/8 Byte
同学们对2的幂的运算应该熟练记住
2.CPU
相信大家买电脑的时候,CPU是关心的因素之一,图中多个CPU信息中,3.6GHz、2.9GHz等等就是主频,主频是什么呢?让我们了解一下
2.1主频(时钟频率)
CPU主频:CPU内数字脉冲信号振荡的频率 单位:赫兹,Hz
大家可以把脉冲信号当做是一个所有部件工作的一个节奏,就像做广播体操一样,也就是说,主频越大,机器执行的频率越快,所以主频很大程度上影响了计算机的性能
2.2时钟周期
我们把一个脉冲信号的时间称为时钟周期,通常以微秒/纳秒为单位
CPU主频和时钟周期的关系:
2.3CPU执行时间
影响计算机除了主频,还有CPI,CPI:执行一条指令所需的时钟周期数
不同的指令,CPI不同。甚至相同的指令,CPI也可能有变化
执行一条指令的耗时=CPI*CPU时钟周期 (个人理解,CPI就是数量,CPU时钟周期就是单位数量的时间,乘起来就是总耗时)
提问:
某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3.
该程序在该CPU上执行需要多久?
我先来看执行一条指令需要的时间,到时候算出来*100就行了,前面提到过,时钟周期=1/主频,所以时钟周期=1/1000=0.001;执行一条指令的耗时=CPI*CPU时钟周期=3*0.001=0.003;一共100条指令,所以执行需要0.003*100=0.3s
CPU执行时间(整个程序的耗时)=CPU时钟周期数/主频=(指令条数*CPI)/主频
2.4IPS(Instructions Per Second)
IPS:每秒执行多少条指令
主频:每秒钟有多少个时钟周期;
CPI: 一条指令需要多少个时钟周期
所以主频/CPI=IPS
2.5FLOPS(Floating-point Operations Per Second)
FLOPS:每秒执行多少次浮点运算
3.其他
数据通路宽度、吞吐量、响应时间、基准程序
数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
吞吐量:指系统在单位时间内处理请求的数量(例如淘宝服务器处理用户发来的一个个http请求,或者食堂打饭大妈单位时间处理一个个学生的打饭请求)
响应时间:用户向计算机发送一个请求,到系统对该请求做出相应并获得它所需要的结果的等待时间(例如我在电脑上打字,从我按下键盘到屏幕上出现字,这段时间就是相应请求)
基准程序:测量计算机处理速度的一种使用程序,以便于被测量的计算机性能可以与运行相同程序的替他计算机性能进行比较(比如我们同学拿到电脑想看一下电脑的性能,就安装鲁大师跑分软件;又或者安兔兔跑分软件跑手机的性能)
提问:
主屏高的CPU一定比主频低的CPU块吗?
不一定 ,如A的主频为2GHz,平均CPI=10;B的主频1GHz,平均CPI=1;则A每秒钟执行的指令数为主频/CPI=0.2,B每秒钟执行的指令数为1/1=1
提问:
若A、B两个CPU的平均CPI相同,那么A一定更快吗?
不一定,还得看指令系统,如果A不支持乘法指令,只能多次加法实现乘法,而B支持乘法指令
提问:
基准程序执行越快说明机器性能越好吗?
不一定, 基准程序中的语句存在频度差异,运行结果也不能完全说明问题
4.常用数量单位
4.1描述存储容量、文件大小
K:
M:
G:
T:
4.2描述频率、速率
KIPS、MISP、KFLOPS、MFLOPS、GFLOPS、TFLOPS
注意:此处的K、M、G、T为数量单位
K=Kilo=千=, M=Million=百万=, G=Giga=十亿=, T=Tera=万亿=
5.思维导图