1.3计算机性能指标

简介: 1.3计算机性能指标

这一节,我们来学习几个度量计算机性能的指标。

一、静态测试

(1)存储器的性能指标

<1>概念

最常见的就是存储器容量问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tJI8Ebki-1673519845773)(D:\Typora图片\image-20230112155718611.png)]

①MAR:地址寄存器

MAR的位数,可以反映存储体中存储单元的个数。

②MDR:数据寄存器

MDR的位数,可以反映每一个存储单元可以存放多少个二进制(bit)位。


所以,根据上面两个指标,我们就可以求得整个存储器可以存放多少个二进制位(bit)了。同样,bit/8就是多少字节。

如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hg7GBGnl-1673519845775)(D:\Typora图片\image-20230112155735178.png)]

比如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sdnwtlhv-1673519845776)(D:\Typora图片\image-20230112155806836.png)]

MAR是32位。32位的二进制数,最多可以表示2^32的二进制数,也就是这么多地址。每一个地址对应一个存储单元。所以,存储单元的总数量最多是2^32个(考试时只需要按照最多来计算即可)。

MDR是8位。也就是每一个存储单元可以存储8个bit位。

那么相乘,就可以得到存储器的总容量是4GB。

<2>补充

:question:为什么32位的二进制数最多只能表示2^32个地址?

先来看这个问题,n个二进制位能表示多少种不同的状态?

如果只有一个二进制位,那么很显然,只有两种(2^1)状态:0,1。

如果有两个二进制位,那么会有四种(2^2)状态:00,01,10,11。

如果有三个二进制位,那么会有八种(2^3)状态:000,001,010,011;100,101,110,111。

... ...

那么,如果有n个二进制位,那么会有2^n种状态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RjDChVQd-1673519845776)(D:\Typora图片\image-20230112160537153.png)]

所以,32位的二进制数最多只能表示2^32个地址,也就是对应这么多存储单元。


记住2^12^10,考试经常出现。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OiT27UgA-1673519845777)(D:\Typora图片\image-20230112160748984.png)]

还需要记住,下面几个单位转换。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dYaoetU9-1673519845777)(D:\Typora图片\image-20230112160953253.png)]

1KB,这个K,就是2^10

1KB即1024B(字节)。

1b(比特)是一个二进制位。

1B(字节)=8b(比特)

(2)CPU的性能指标

<1>概念

接下来认识几个概念:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-doEHLE5j-1673519845778)(D:\Typora图片\image-20230112161453471.png)]

每一个波峰是一个数字脉冲信号,CPU的数字脉冲信号是有规律、有节奏地发生。

CPU主频:CPU内数字脉冲信号振荡的频率。

脉冲信号:指挥CPU内部所有的部件,一步一步工作的节奏。

CPU的时钟周期:每一个脉冲信号的时间。通常以微秒、纳秒为单位。

CPU主频和CPU时钟周期互为倒数。

主频为10HZ,意思就是每一秒有10个脉冲信号。


结合之前的例子,CPU在执行一条指令的时候,需要做很多工作。这些工作的执行是有一定先后顺序的。每一个动作完成之后,才会开始下一个动作。

CPU的脉冲信号其实就是给这些动作的执行带来节奏。当然,有的动作可能在一个脉冲的时间内完成不了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4Abkxq8-1673519845781)(D:\Typora图片\image-20230112162127913.png)]


对于两个相同型号的CPU,如果它们的指令系统还有用硬件系统生成指令的方式都一样。那么,主频越高的CPU,速度就会越快。

CPU主频很大程度上反映了CPU的性能,但并不是主频越高,CPU性能就越强。除了主频,还有其他因素会影响CPU的性能。

比如CPI,即每一条指令的执行需要多少时钟周期。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qRp9Eljn-1673519845782)(D:\Typora图片\image-20230112164844871.png)]

比如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Qtp4veP-1673519845782)(D:\Typora图片\image-20230112181536882.png)]

对于B这个CPU来说,1秒可以执行1G条指令。(G=10^9)

而对于A这个CPU来说,1秒可以执行0.2G(2/10)指令。

所以,==主频高的CPU不一定比主频低的CPU快。==

再来问一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OPjgn49r-1673519845782)(D:\Typora图片\image-20230112181947975.png)]

既然CPI相同,B每秒可以执行1G条指令,A每秒可以执行2G条指令。

A更快吗?也不一定。

因为不同的CPU的指令系统可能不一样。


还是拿这个例子看一下。

取数指令总共需要9个步骤完成。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgiPvnu8-1673519845783)(D:\Typora图片\image-20230112163600316.png)]

乘法指令总共需要11个步骤。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4f7NakZv-1673519845783)(D:\Typora图片\image-20230112163711999.png)]

所以,进行乘法指令和取数指令所需要的时钟周期肯定不一样。

对于同一个CPU,执行不同的指令,有可能会消耗不同的时钟周期;甚至是执行相同指令,两次消耗的时钟周期也不相同。

比如,CPU要从内存中取一个数,这个指令的执行,除了和CPU本身相关之外,还与主存、内存、当前的状态有关。如果主存当前的负荷比较大,那么CPU想要取走一个数,就需要花更多的时间,也就是需要更多的时钟周期。

而对于不同的CPU,即便执行的都是乘法指令。根据乘法指令的实际实现方式的不同,两个CPU所需要的时钟周期数量也不一样,即CPI不同。


CPI放在微观视角毫无意义,因为可以影响CPI指标的因素太多了。

一般讨论执行一条指令所需要的时钟周期,通常考虑平均情况

只要我们知道执行一条指令,平均需要多少个时钟周期,再乘以CPU时钟周期长短,就可以算出平均执行一条指令所需要的时间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-658e8295-1673519845784)(D:\Typora图片\image-20230112164906832.png)]

<2>例题

根据上面的讲解,我们认识了如下的定义。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5rFPl2Q-1673519845784)(D:\Typora图片\image-20230112165144856.png)]

下面来看一个例子:

D:\Typora图片\image-20230112165536460.png)]](https://ucc.alicdn.com/images/user-upload-01/8c8621359dd042158a569740bbeb7d0c.png)

100条指令,平均每一条指令需要3个时钟周期。

一个时钟周期的长度是主频的倒数。

相乘之后算出,需要0.3s的时间来执行程序。

如下:

在这里插入图片描述

像这样,计算执行一个程序所花费的时间,也是经常考的。

有时候,会把执行整个程序的耗时称为CPU执行时间

<3>IPS和FLOPS

下一个性能指标是IPS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Opc1fuXM-1673519845785)(D:\Typora图片\image-20230112170122959.png)]

主频:每一秒会有多少数字脉冲,也就是会出现多少时钟周期。

主频再除以执行一条指令所需要消耗的时钟周期数。算出的结果就是每秒执行多少指令(IPS)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ubgboI6E-1673519845786)(D:\Typora图片\image-20230112170131018.png)]


再下一个指标是FLOPS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bih7DH5t-1673519845786)(D:\Typora图片\image-20230112170201926.png)]

FL:一个浮点运算。

如果计算机进行科学数据的处理,经常需要进行浮点运算。

那么使用FLOPS这个指标来度量计算机的好坏,显然是更科学的。


对于IPS和FLOPS这两个指标,使用的时候,通常会在前面加上单位。

如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YFkn7O5m-1673519845786)(D:\Typora图片\image-20230112170527102.png)]

注意,这里的K、M、G、T和之前谈论存储器容量那里的单位有一点区别。

此处的K10^3

如果说一台计算机的性能达到2MIPS,就说明这台计算机平均每秒可以执行200万条指令。

2KMIPS,就是这台计算机平均每秒可以执行2000条指令。

3TFLOPS,就是这台计算机平均每秒可以执行三万亿次浮点运算。

<4>注意

:bookmark_tabs:注意

①一般描述存储器容量或者文件大小的时候,K、M、G、T,默认的容量规则就是下面的方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vtFtXkZ8-1673519845787)(D:\Typora图片\image-20230112171219821.png)]

②如果描述的是数据处理速率,这种情况默认下面的方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u9Uzx63d-1673519845787)(D:\Typora图片\image-20230112171342243.png)]

描述频率属性的时候,比如CPU主频是3GHZ,这里的G就表示10^9

(3)系统整体的性能指标

数据通路带宽

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vFOohrhD-1673519845787)(D:\Typora图片\image-20230112171553537.png)]

CPU与内存,内存与I/O设备之间的信息传输,都是通过数据总线来进行的。

比如一个计算机的数据通路带宽是8bit,那么要从存储体里面读出16个bit的数据送入CPU,就需要进行两次数据传输。每次只能传送 8个bit。

进行两次肯定比进行一次传输要慢。

所以,数据通路带宽直接影响到硬件之间数据传输的效率。


吞吐量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NFUyyPL6-1673519845788)(D:\Typora图片\image-20230112172312016.png)]

这里的请求比较抽象,可以理解为,一条指令就是一个请求,也可以理解为一个完整的程序是一个请求。


响应时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flL1Azh1-1673519845788)(D:\Typora图片\image-20230112172547509.png)]

二、动态测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZIpZaQ1-1673519845788)(D:\Typora图片\image-20230112174727796.png)]

这些基准程序本质上就是写好了一段程序代码。

这段程序里面,会包含各种指令,并且这些指令出现的频率不一样,它会根据你的电脑,执行这些指令,再根据耗时来给一个综合评分。


看一个问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mZMrRJ5X-1673519845789)(D:\Typora图片\image-20230112182131112.png)]

三、知识回顾

如下:

在这里插入图片描述


OK,这一节就说到这里。
有缘再见喽~
请添加图片描述

相关文章
|
4月前
|
自动驾驶 算法 5G
传输延迟的指标是多少
传输延迟的指标是多少
137 0
|
4月前
|
敏捷开发 监控 安全
你的项目质量度量指标有哪些?
你的项目质量度量指标有哪些?
344 0
|
20天前
|
监控
关键绩效指标和关键风险指标的区别
【8月更文挑战第31天】
26 0
|
4月前
北极星指标是什么
北极星指标是什么
251 0
|
4月前
|
敏捷开发 数据可视化 安全
测试度量指标
测试度量指标
|
4月前
|
安全 搜索推荐 C++
指标体系构建-01-什么是数据指标
指标体系构建-01-什么是数据指标
|
4月前
流量数据指标分析
流量数据指标分析
50 0
|
Prometheus 监控 Cloud Native
与Prometheus类似的监控和度量产品
以下是一些与Prometheus类似的监控和度量产品: 1. Grafana:Grafana是一种流行的开源数据可视化工具,可以与多个数据源集成,包括Prometheus。它可以通过可视化仪表板展示和分析Prometheus收集的数据。 2. InfluxDB:InfluxDB是一种开源时间序列数据库,专门用于处理和存储大量时间序列数据,如机器指标、事件日志等。和Prometheus类似,InfluxDB也具备数据采集和查询功能。 3. Nagios:Nagios是一种广泛使用的开源网络监控系统,可以监测网络设备、服务器和应用程序的运行状况。与Prometheus不同的是,Nagios主
466 0
|
SQL BI iOS开发
不要再因为数据指标吵架了!
不要再因为数据指标吵架了!
104 0
|
消息中间件 Prometheus 监控
Metrics 指标分析 |学习笔记
快速学习 Metrics 指标分析
345 0
Metrics 指标分析 |学习笔记