【知识强化】第一章 计算机系统概述 1.3 计算机的性能指标

好的我们来看这一章的最后一节,也就是计算机的性能指标。这一节大家要重点地注意,这是我们这一章最重要最重要的地方,所以大家要加以重视。我们先来考虑这样的一个问题,我如果想要买一台计算机,我应该如何进行选择。首先我们要思考的是我们买这台计算机是用来干什么的。因为不同应用的计算机呢有着不同的要求。首先我们衡量一下应该有多少钱,我们应该是买最合适而不是买最贵的,并且呢我们的这样一台机器要满足我们想要的一些需求,所以呢我们就要对我们计算机的性能进行一个评价。如何评价,有哪些指标,就是我们最关心的。一般呢我们要关心的是,处理速度要快,我们的内存容量要大,并且我们的价格还要便宜。

所以我们这一节的内容主要有两个方面,一个是计算机的容量,一个是计算机的速度,就是我们这一节要关心的两个方面,也是我们考试最容易考的两个方面。

首先我们来看容量。我们这张图应该很熟悉了,因为是我们在第三节讲存储器的时候讲过的。

那么我们的存储器的容量是怎么计算的呢?之前我们提过一个公式,就是我们的存储单元的个数乘以我们的存储字长。它的单位呢是比特,也就是二进制位。我们可以看到,在这张图中就是用行数乘以列数。行数代表着什么呢?行数就代表着我们存储单元的个数,有几行就代表我们有几个存储单元。列数代表什么,列数代表是一个存储单元有多少个比特位,啊有多少个比特位,所以呢就用存储单元的个数乘以我们的存储字长,用这个比特来表示的。它还可以进行一个单位换算,

单位换算呢就是因为1个字节=8个比特,

所以这时候我们就可以除以8,把它除以8呢就得到用字节表示的这样的一个容量。好的,这就是我们的一个计算公式,大家要烂熟于心,就是一个总容量的计算公式。

那么我们之前讲过啊,

在这个地址寄存器和存储体之间必须要有一个译码器,来进行一个地址的译码,

也就是这个样子的。

那么我们得到呢是什么东西啊,我们得到的是地址。而我们要翻译成对应的存储单元。我们之前也讲过,如果我们的地址有N位的话,我们应该对应的有多少个存储单元呢?有2^N个。就比如说我们这个例子当中,如果我们有3位的地址的话,我们应该有2^3个存储单元。为什么呢,因为我们有000到111,所以我们有000,001,010,011,100,101,110,111这8个。所以如果我们有N位的地址的话,我们对应的存储单元的个数应该是2^N,因为要从N个0到N个1,所以有2^N。所以如果我们得到的地址寄存器的位数如果是N的话,那么我们的存储单元的个数就应该是2^N。举个例子来说,如果题目中出现了告诉你MAR的位数是10,那么我们就有1024个存储单元,就是2的10次方。那么这个存储字长之前我们也讲过,它的存储字长应该和数据寄存器的位数应该是相等的,所以这时候我们又得到了一个公式,就是我们的总容量和我们的地址寄存器、数据寄存器位数的关系。一般来说,如果题目出的简单,它会告诉你有多少个存储单元有多少个存储字长,但是一般的题目是不可能告诉你存储单元有几个,存储字长有几个。它给你的肯定是一个参数,什么参数呢?是地址寄存器的位数和数据寄存器的位数。这时候就要进行一个换算。地址寄存器的位数是用来干什么的,用来算我们存储单元有多少个。如果我们地址寄存器,也就是MAR的位数是10的话,那么我们就有2^10个存储单元。如果告诉你数据寄存器的位数是8,这时候我们的总容量应该是用2^10去乘8,得到的就是我们的总容量。注意单位是什么?单位是位,是比特。如果给你的单位是大B,也就是字节的话,我们必须要除以8。好的,这就是我们的这个容量的计算,

大家一定要烂熟于心。那么我们的系统能支持的最大的容量就应该用2^N乘以我们的存储字长就是我们的最大容量,这个就不需要多说了。我们考试当中最容易出现的就是告诉你一些参数,告诉你MAR的位数,再告诉你MDR的位数,让你求这个它的容量是多少,就用2^N再乘以数据寄存器的位数即可。

如果大家对我刚才的讲的那个N位然后推出2^N有不太理解的话,我再给大家讲一下。所以,如果我们的地址寄存器的位数是N的话,那么我们就有2^N个不同的存储单元。

大家都理解了吧,好了。还有一个就是单位换算问题。就是说,这样写起来是非常麻烦的,如果2^10你用1024来表示的话,可以是可以,但是比较麻烦。

这时候我们就有这样的一个单位,也就是在计算容量的时候,如果是2^10的话我们用千(K)表示,如果是2^20的话我们用M表示,2^30就是G,2^40就是T。啊,就是这样,在方便大家的书写。就是像我刚才举的那个例子的话,如果我们的MAR的位数是10,我们MDR的位数是8,那么它的存储容量应该是2^10*8bit,换算下来就应该是1KB。因为2^10是K,8呢就是8比特等于1字节,所以就应该是1KB。好的容量的计算大家一定要烂熟于心,一定要把这个公式背到,因为这是考试的重点。

讲完容量我们来看速度。速度是如何衡量的?我们之前在讲微处理器的时候就已经讲过一个指标。

我们再来看一下,我们的运算器的核心是算术逻辑单元。

如果我们要进行两个八位的二进制数的加法,

得到的结果也是一个8位的二进制数。

那么我们这时候就可以用一个叫做机器字长的指标来衡量,机器字长就是说,机器进行一次整数运算所能处理的二进制数的位数。注意,它的这个重点在哪,是一次运算,一次运算。

为什么呢?我们还是来举这样的一个例子。如果我们有两个64位的这样的二进制数进行相加,如果我们的机器字长是64的话,我们只要进行一次加法就能得到结果,进行一次加法就能得到结果。但是如果我们现在的机器字长是8位的话,我们一次处理不了64位那么长的数字,我们就要把64位进行一个切割,切成8个8位的加法,每8位每相应的8位再进行相加,所以我们的运算次数就变多了,所以我们的处理的速度就变慢了,所以机器字长是完全能够衡量计算机的执行的速度的一个性能指标。那么我们这儿有一个字长叫做机器字长,前面还有一个字长叫做存储字长。那么存储字长和机器字长它们有什么关系又有联系呢。之前我们还讲过,之前我们还讲过一个叫做存储字长的东西。之前还讲过指令字长,它们这三个有什么样的区别和联系呢。我们注意啊机器字长是指什么,就是说计算机能够直接处理的二进制数这个位数,它一般等于内部寄存器的大小,啊它一般等于内部寄存器的大小,寄存器能够一下子读多少,所以我就能一次运算能够处理多少。它呢决定了计算机的运算精度,也决定了这个计算的速率。那么指令字长是什么,是一个指令字中包含的二进制的位数。存储字长是一个存储单元所存储的二进制代码的长度。所以这三个它们的定义是这样的,所以它们都必须是字节的一个整数倍。并且,指令字长一般是存储字长的整数倍。如果指令字长是存储字长的两倍的话,我们就要通过两次访存来得到我们的指令,啊是这样的。所以,它们既有区别,又有一定的联系。一般来说呢我们早期的计算机的存储字长和我们的机器字长和数据字长是相等的,所以我们一次访问就可以取出一个指令或者数据。现在也出现了这种指令字长可变,数据字长可变,但是它们也必须是字节的整数倍。好的这就是字长的这样一个概念。

那么我们的这个容器啊就是一个指令,就是加法的指令,我们之前也讲过。

那么机器字长是一方面,我们来看一下下一个指标。我们的计算机当中有一个统一的信号,它是一个一个一个重复的这样一个时间单元。

那么我们把最小的这样的一个时间单元称为CPU的时钟周期,这就叫做CPU的时钟周期。

那么它的倒数我们可以把它叫做CPU的时钟频率,也叫做主频。频率是时间的倒数,CPU的时钟周期是一个时间的量。而CPU的时钟频率是一个频率的量,是时间的倒数。这两个是一个时间和频率的关系。

那么,我们现在就有一个量叫做CPI,就是执行一条指令所需要的时钟周期数。注意它这时候,它这个量的代表的是时钟周期的数目。

如果用这个数目去乘以时钟周期,我们就可以得到一条指令它的所需要的时间,就是用CPI*CPU的时钟周期。CPI的意思呢是一个指令需要几个时钟周期,然后一个时钟周期需要多少时间,用它用CPI乘以时钟周期就得到了它的总的时间,就是这一条指令需要多少时间。那么这是一条指令所需要的时间。

如果我们想要计算一个程序所需要的时间,那应该怎么办呢?比如像我们的这个指令,我们这个例子当中,就是进行两个8位的二进制数的加法,得到一个8位的二进制数。

那么我们假设,我们这个程序啊一次只能处理一个二进制位,所以呢如果要完成这样的一个计算,我们需要有8条指令。那么我们整个程序的总的耗时,就应该把这8条指令的时间相加,

就是这样的。就是用指令1的时间加上指令2的时间一直加到指令8的时间,把每一个指令的耗时都可以这样的一个公式,也就是CPI*CPU时钟周期来计算。也就是因为我们计算机的CPU时钟周期是一样的,我们就可以提取公因式,把CPU的时钟周期把它提出来,然后把这个C把指令1的CPI一直加到指令8的CPI,总的CPI乘以一个时钟周期我们就可以得到整个程序的耗时。而我们的整个CPI可以怎么计算呢,可以用它们的平均CPI乘以它的指令条数来计算。我们的平均CPI是计算出来的一个量,指令条数有8条指令。所有我们用8条指令,用平均的CPI乘以8再乘以一个时钟周期数就得到了我们整个程序的耗时。

而这个整个程序的耗时,就是我们CPU的执行时间。所以我们CPU的执行时间怎么计算呢,就用我们的指令条数乘以CPI去除以主频,或者用我们的指令条数乘以CPI再乘以时钟周期,这就是我们CPU的执行时间的基本公式,把它完全记住。那么我们这一节有两个重点。一个是容量的计算,一个就是我们CPU执行时间的计算。那么CPU执行时间的计算又可以细分成平均CPI的计算啊这些,也是考点之一。所以呢,我们再来总结一下,我们CPU的性能取决于三个要素,一个呢是时钟频率,或者呢就是时钟周期,一个是我们的指令条数,还有一个呢就是我们每一条指令所需要的时钟周期数,也就是我们的CPI。那么这个公式需要大家完全地记住。CPU的执行时间等于平均的CPI,平均CPI是什么?平均CPI就是平均一条指令我需要多少个时钟周期的数量,然后用这个时钟周期的数量再乘以一个时钟周期的时间我们就得到了一条指令所需要的时间,然后再乘以指令数不就得到我们整个程序的时间了吗。对吧,所以这个公式还是很容易理解的。所以大家必须要把这个公式牢牢地记住。

好的,最后我们再提几个常见的这样的一个性能指标。这几个只要大家了解即可,不需要花费多少的力气在上面。首先第一个是MIPS,也就是MIPS。它的意思呢是每一秒执行多少百万条指令,是很容易理解的。也就是我一秒可以执行多少百万条指令,就是用MIPS来表示的。它的计算公式呢是用指令的条数除以(执行时间*10^6(也就是百万)),等于主频除以CPI。好,这是一秒我可以执行多少百万条指令。其次呢我们还可以用每秒执行多少百万次浮点运算来衡量一个计算机的处理速度。因为浮点数是比较耗时的,所以呢我们就可以用浮点运算的这个每秒执行多少百万次浮点运算来衡量一个计算机的处理速度。同样的我们可以把百万换成十亿和万亿,也就是GFLOPS和TFLOPS。那么关于浮点数的运算我们将要在第二章数据的表示和运算中进行详细地讲解,在这里我们只要知道有这么个性能指标就可以了,最多最多只会考你这个MIPS它的含义,所以大家不需要花太多时间在上面,需要花时间的是什么,需要花时间的是我们的容量计算和CPU的时间的计算,这两个是必须要掌握的。

好的最后还有几个东西,第一个叫做数据通路带宽。数据通路带宽是什么意思呢?

是我们的总线,它的功能就是连接部件传送数据。所以它一次能够传送多少位数的信息就决定了我们可以一次处理多少信息。它传送的速度越快,我们处理的能够处理的量不也就越快了吗?所以我们的数据通路带宽,也是一个衡量指标。它是指数据总线一次能够并行传送数据的位数。注意这里的数据带宽是外部总线的带宽,它和内部带宽有一些不一样。那么什么是总线呢,我们将要在第六章进行详细的讲解。这里你只要知道数据通路带宽从字面意思上理解就可以知道,它就是说数据总线一次能够传送多少信息的位数。

最后还有两个指标。一个叫吞吐量,一个叫响应时间。吞吐量是指系统在单位时间内能处理的请求的数量。在单位时间我可以处理多少个请求,那么这个东西呢就叫做吞吐量,它是一个批量值。它取决于信息能够多快地输入到内存当中以及CPU能够多快地取指令,能够多快地从内存当中取出存入,结果也能够多快地从内存传给一个外部设备。那么每一个步骤都是要耗费一定的时间的。所以,它在单位时间内能够处理多少个请求,那么这个就叫做吞吐量。所以呢它和什么有关,它和主存的存储周期有关,因为它的每一步都关系到主存的存储周期。最后也还有一个指标叫做响应时间,响应时间是指我这个用户给计算机发送一个请求。我发送这个请求之后,系统对这个请求做出了响应,并且我要得到这样的一个结果所需要的一个等待时间就叫做响应时间。就比如说我现在想点一个鼠标进行翻页,从我点下这个鼠标到翻页这个目的达成,这中间的等待时间就是一个响应时间。它通常包括CPU时间、等待时间,等待时间是什么,CPU是说,我运行一个这样的程序,比如翻页程序,PPT的这样一个翻页程序,它的这个程序所花费时间,以及我们要进行磁盘访问,操作系统存储访问I/O操作这一些一系列的开销,所有的这些时间加起来就是我们的一个响应时间。

所以我们的性能指标这一节就为大家讲结束了。重点就两个,一个是容量,一个是速度。速度里面有机器字长,时钟频率主频,CPI,CPU执行时间,MIPS,MFLOPS、CFLOPS、TFLOPS,数据通路带宽,吞吐量,响应时间这一些一大堆的东西。你只要掌握什么,你只要重点掌握CPI和CPU的执行时间就可以了,其他只要做一个概念上的理解就行了。容量,我们必须要知道是容量的计算公式,也就是用2^N乘以MDR的位数就可以计算出存储器它的容量了。我们在应用题,综合应用题当中会出现这里面的题目。在选择题当中,也会出现这里面的题目。那么公式和它的这个具体的计算方法都已经给大家讲完了,所以大家把课后习题要完全地把它刷一遍。这就给大家,你光听我讲是没有用的,你只有把这个题目会做才有用。我们的公式就那两个,就那两个公式,大家要完全地掌握。我们这一节是重点啊,重中之重。

那么在这一章的最后我们来梳理一下我们这一章总共学了一些什么东西。我们讲述了第一章计算机系统概述,计算机系统概述第一节我给大家讲述了计算机的系统它是由哪些构成的。任何一个计算机系统小到这样的传感器大到我们的物联网智慧地球,它都由两个主要部件构成,一个是硬件一个是软件。软件又可以细分成系统软件和应用软件。系统软件有哪些呢,你比如说像语言处理程序、操作系统、像我们的数据库管理系统还有我们的网络软件这都是一个系统软件啊。啊,注意这个,在物理当中汇总。那么接下来就给大家讲了计算机的发展历程,我们讲述了什么呢,我们讲述了四代计算机,它分别是逻辑元件的不同导致了它的不同。那么还有什么呢,还有一个就是我们的机器语言、汇编语言和高级语言它们的关系大家要搞清楚。然后就是我们的计算机系统的分类和发展方向。分类可以分成电子模拟计算机和电子数字计算机,电子数字计算机呢是我们这门课的重点,它可以分成通用机和专用机。然后我们还可以根据指令流和数据流进行分类,这个大家再掌握一下。发展方向就一个两极分化的发展方向,一方面是朝着这种更智能更便捷,一方面是朝着更快速更巨大这样的发展。然后我们就讲了计算机的硬件组成,首先给大家讲的是冯诺依曼的计算机的特点,有6大特点大家一定要掌握,并且这6大特点每一大特点的详细的内容我也给大家讲述了。第一个特点是它由5个部件组成,5个部件我们后来都讲述了,并且指令和数据都是以同等地位存放在存储器当中的。它是如何分辨它的我们也讲了对吧,它都是由二进制代码表示的。一个指令是由操作码和地址码组成的,并且它在存储器当中呢是按顺序存放的。指令通常是顺序执行的,在一定条件下可以改变它的执行顺序。最后,早期的冯诺依曼计算机是以运算器为核心的,后来呢,我们说了这个运算器作为核心,它容易形成一个瓶颈,并且也不满足我们现代对计算机的一个要求。所以我们就把以运算器为核心的这样的一个计算机改变为以存储器为核心的计算机,这就是我们现代计算机的组织结构。最后我们详细地讲述了计算机的5大功能部件,存储器、运算器、控制器、输入设备和输出设备。其中存储器它的物理结构,它的功能以及它的容量的计算是必须要掌握的。运算器和控制器我们只需要知道它们是干嘛的,它们由哪些东西组成的就可以了。最后,一个指令是如何在计算机中执行的这也必须要掌握。输入设备和输出设备只要知道它是干嘛的就可以了,详细的我们将要在第七章进行讲述,这时候我们不需要花太多力气在它上面。后来我们就讲述了计算机的5层结构,5层结构哪5层必须要牢牢地记在心里。最后就是我们的性能指标,我们的容量是如何计算的,我们的速度是如何计算的,这是重中之重。所以我们这一章就已经给大家完全地讲完了。那我们这一章是干什么,这是对计算机系统的一个概述。那么我们从下一章开始就要进行一个详细的讲解计算机是如何进行工作的。这时候只是一个大概的概念,我们知道有运算器,我们知道有控制器,我们也知道有存储器,也有输入设备、输出设备。但是它们是如何工作的我们还是不太了解对吧。所以我们第二章也就是下一章也就是从数据的表示和运算开始,详细地讲解计算机是如何进行工作的。好的,我们的第一章就到这里结束了。

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/11346660.html