首页 > 其他分享 >1.3计算机性能指标

1.3计算机性能指标

时间:2023-02-06 12:46:13浏览次数:56  
标签:主频 计算机 1.3 二进制位 指令 执行 CPU 性能指标 时钟

@

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

一、静态测试

(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>补充

❓为什么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)]](/i/ll/?i=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>注意

标签:主频,计算机,1.3,二进制位,指令,执行,CPU,性能指标,时钟
From: https://www.cnblogs.com/wanjiadenghuo/p/17095035.html

相关文章

  • 1.2计算机系统的层次结构
    @目录(1)微指令(2)汇编语言(3)高级语言(4)操作系统(5)编译程序与解释程序(6)总结请先食用这一篇计算机工作过程(1)微指令前边我们了解到,高级语言编写的代码,最终需要翻译成机器语言,才能......
  • 2.2总线的性能指标
    @目录一、总线传输周期二、总线时钟周期三、总线工作频率四、总线时钟频率五、总线宽度六、总线带宽1.概念2.注意点3.案例分析4.总结补充七、总线复用八、信号线数九、总结......
  • 上周热点回顾(1.30-2.5)
    热点随笔:· Git入门图文教程(1.5W字40图)......
  • 1.30~2.3反思
    1.30Problem-D-Codeforces易得要不存在回文的情况只有abc,acb,bac,bca,cab,cba这六种的循环 故可以先预处理出各种情况的前缀和 最后根据问题查询即可 2.1......
  • 2023.1.30周报
    本周总结由于动态规划方面比较薄弱,所以本周决定刷关于动态规划的题目大主题动态规划小专题线性dp,区间dp,树状dp,背包题目完成情况每种类型各完成7道左右的题......
  • 计算机操作系统
    第四章、调度与死锁笔记调度算法先来先服务调度算法FCFS(FirstComeFirstServed)短作业优先调度算法SJF(ShortestJobFirst)或SPN(ShortestProcessNext)时间片轮转......
  • 计算机导论学习记录(一)
    这个作业的目标<自我介绍以及学习内容的系列记录>这个作业属于哪个课程https://edu.cnblogs.com/campus/fzzcxy/2023learning这个作业要求在哪里https://www......
  • 3.3计算机运算出错的原因
    由于前一节了解到将小数二进制数转换成十进制数的方法后,计算机运算出错的原因也就容易理解了。之所以容易出错的原因是“有一些十进制数的小数无法转换成二进制数。例如:十......
  • 数据是用二进制数表示的——2.1 用二进制数表示计算机信息的原因
    在C和Java等高级语言编写的程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。也就是说,只要掌握了使用二进制数来表示信息的方法及其运算机制,也......
  • 2.4便于计算机处理的“补数”
    接下来我们就一起来看看表示负数的方法和右移的方法:二进制数中表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位称为符号位。符号位是0时表示正数,符号位是1......