(计算机组成原理)第一章计算机系统概述-第四节:计算机的性能指标

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(计算机组成原理)第一章计算机系统概述-第四节:计算机的性能指标相关的知识,希望对你有一定的参考价值。

一:主存容量指标

  • MAR位数:反映存储单元的个数(最多支持多少个)
  • MDR位数:它等于存储字长,等于每个存储单元的大小

因此总容量=存储单元个数×存储字长(bit)=存储单元个数×(存储字长/8)(Byte)
例如MAR为32位,MDR为8位,则总容量为 2 32 × 8 b i t = 4 G B 2^{32}×8bit=4GB 232×8bit=4GB

注意以下 2 n 2^{n} 2n数值应该记忆

在这里插入图片描述

二:运算速度指标

(1)CPU主频(时钟频率)

你在买电脑的时候,一定关注过 CPU 的主频。比
如我手头的这台电脑就是 Intel Core-i7-7700HQ 2.8GHz,这里的 2.8GHz 就是电脑的主频(Frequency/Clock Rate)。这个 2.8GHz,我们可以先粗浅地认为,CPU 在 1 秒时间内,可以执行的简单指令的数量是 2.8G 条

如果想要更准确一点描述,这个 2.8GHz 就代表,我们 CPU 的一个“钟表”能够识别出来的最小的时间间隔。就像我们挂在墙上的挂钟,都是“滴答滴答”一秒一秒地走,所以通过墙上的挂钟能够识别出来的最小时间单位就是秒

而在 CPU 内部,和我们平时戴的电子石英表类似,有一个叫晶体振荡(OscillatorCrystal)的东西,简称为晶振。我们把晶振当成 CPU 内部的电子表来使用。晶振带来的每一次“滴答”,就是时钟周期时间。

(2)CPU时钟周期

在我这个 2.8GHz 的 CPU 上,这个时钟周期时间,就是 1/2.8G。我们的 CPU,是按照这个“时钟”提示的时间来进行自己的操作。主频越高,意味着这个表走得越快,我们的CPU 也就“被逼”着走得越快

如果你自己组装过台式机的话,可能听说过“超频”这个概念,这说的其实就相当于把买回来的 CPU 内部的钟给调快了,于是 CPU 的计算跟着这个时钟的节奏,也就自然变快了。当然这个快不是没有代价的,CPU 跑得越快,散热的压力也就越大。就和人一样,超过生理极限,CPU 就会崩溃了

CPU主频(时钟频率)=1/CPU时钟周期,主频单位为Hz,时钟周期单位为微秒或纳秒

(3)CPI

对于 CPU 时钟周期数,我们可以再做一个分解,把它变成“指令数×每条指令的平均时钟周期数(Cycles Per Instruction,简称 CPI)”。不同的指令需要的 Cycles 是不同的,加法和乘法都对应着一条 CPU 指令,但是乘法需要的 Cycles 就比加法要多,自然也就慢。

(4)CPU执行时间

CPI会受到非常多的影响,因此以它作为评判CPU速度的指标是不合理的,所以我们按照下面的公式计算机CPU执行时间

CPU执行时间=指令数×CPI×时钟周期=(指令数×CPI)/主频

例如问:某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,文该程序要要执行多长时间

答: 100 × 3 × 1 1000 = 0.3 s 100×3×\\frac{1}{1000}=0.3s 100×3×10001=0.3s

因此,如果我们想要解决性能问题,其实就是要优化这三者。

  • 时钟周期时间,就是计算机主频,这个取决于计算机硬件。我们所熟知的摩尔定律就一直在不停地提高我们计算机的主频。比如说,我最早使用的 80386 主频只有 33MHz,现在手头的笔记本电脑就有 2.8GHz,在主频层面,就提升了将近 100 倍。
  • 每条指令的平均时钟周期数 CPI,就是一条指令到底需要多少 CPU Cycle。现代的 CPU 通过流水线技术(Pipeline),让一条指令需要的 CPU Cycle 尽可能地少。因此,对于 CPI 的优化,也是计算机组成和体系结构中的重要一环。
  • 指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。这个很多时候就把挑战交给了编译器。同样的代码,编译成计算机指令时候,就有各种不同的表示方式。

我们可以把自己想象成一个 CPU,坐在那里写程序。计算机主频就好像是你的打字速度,打字越快,你自然可以多写一点程序。CPI 相当于你在写程序的时候,熟悉各种快捷键,越是打同样的内容,需要敲击键盘的次数就越少。指令数相当于你的程序设计得够合理,同样的程序要写的代码行数就少。如果三者皆能实现,你自然可以很快地写出一个优秀的程序,你的“性能”从外面来看就是好的。

(5)IPS

  • IPS(Instructions Per Second):每秒可以执行多少条指令。 I P S = 主 频 平 均 C P I IPS=\\frac{主频}{平均CPI} IPS=CPI
  • FLOPS(Floating-point Operation Per Second):每秒执行多少次浮点运算

需要注意的是IPS前面可以加入K或M称为KIPS和MIPS分别表示每秒可以多少千条指令和每秒可以执行多少百万条指令

而FLOPS前面加入M表示每秒执行多少百万次浮点运算(浮点操作次数/执行时间× 1 0 6 10^{6} 106);加入G表示每秒执行多少十亿次浮点运算(浮点操作次数/执行时间× 1 0 9 10^{9} 109);加入T表示每秒执行多少万亿次浮点运算(浮点操作次数/执行时间× 1 0 12 10^{12} 1012)

  • 在描述容量、文件大小时,K、M、G、T通常用2的幂次表示。如1Kb= 2 10 2^{10} 210b
  • 在描述速率、频率时,k、M、G、T通常用10的幂次表示,如1kb/s= 1 0 3 10^{3} 103b/s

三:系统整体性能指标

  • 数据通路带宽:是指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与CPU内部的数据总线宽度有可能不同
  • 吞吐量:指信息流入、处理和流出系统的速率。它取决于CPU能够多快的取指令,数据能够多快地从内存取出或存入,以及所得结果能够多块地从内存送到输出设备。这些决定因素中的任何一步都与主存息息相关,因此吞吐量主要取决于主存的存取周期
  • 响应时间:指的是用户向计算机发送一个请求,到系统对该请求作出相应并获得所需结果的等待时间。通常包括CPU时间(运行程序花费)与等待时间(例如I/O操作)

在这里插入图片描述

以上是关于(计算机组成原理)第一章计算机系统概述-第四节:计算机的性能指标的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理❤万字长文❤一篇搞定计组(持续更新中...)

(计算机组成原理)第七章输入和输出系统-第四节1:I/O方式之程序查询方式

(计算机组成原理)第五章中央处理器-第四节2:微程序控制器基本原理

(计算机组成原理)第五章中央处理器-第四节2:微程序控制器基本原理

(计算机组成原理)第六章总线-第四节:总线标准

组成原理第一章 计算机系统概述