计算机的基本概念、组成结构 ,你不妨了解看看!

沙海 2021年4月25日11:48:12Java评论30字数 7496阅读24分59秒阅读模式
摘要

速读摘要

速读摘要文章源自JAVA秀-https://www.javaxiu.com/20390.html

软件看不见摸不着,但在逻辑上,我们确实可以感知到它的存在,它由人们事先编制的具有某种功能的程序组成。不论何种设备,理解带宽概念时,只需要紧紧把握住单位时间内传输的数据量这一本质特性即可。存放CPU当前需要处理的数据和需要执行的程序。主存的容量取决于主存的编址单元数和每个编址单元的位数(宽度)。微型机的主存多按字节编址,每个编址单元含有8位数据。文章源自JAVA秀-https://www.javaxiu.com/20390.html

原文约 6086 | 图片 17 | 建议阅读 13 分钟 | 评价反馈文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!

程序IT圈 文章源自JAVA秀-https://www.javaxiu.com/20390.html

以下文章来源于木节学编程,作者木节文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

木节学编程文章源自JAVA秀-https://www.javaxiu.com/20390.html

一个热爱编程的学生党,想把分享变成一种习惯!文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

这学期学校开了《计算机组成原理》这门课,作为四大金刚之一,内容还是比较难理解的,很多知识点都需要去反复记忆,所以我结合自己的理解将大部分内容整理出来,才疏学浅,如有错误,欢迎大家指正!文章源自JAVA秀-https://www.javaxiu.com/20390.html

以下为本节目录:文章源自JAVA秀-https://www.javaxiu.com/20390.html

1 计算机的基本概念文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 1.1 计算机的软硬件概念文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 1.2 计算机的分类文章源自JAVA秀-https://www.javaxiu.com/20390.html

2 计算机的诞生与发展文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 2.1 冯 · 诺依曼体系文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 2.2 计算机发展历程文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 2.3 未来的发展趋势文章源自JAVA秀-https://www.javaxiu.com/20390.html

3 计算机系统的组织文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 3.1 硬件系统文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 3.2 软件系统文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 3.3 计算机系统层次结构文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 3.4 软件与硬件的逻辑等价性文章源自JAVA秀-https://www.javaxiu.com/20390.html

4 计算机系统的性能指标文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机是 20 世纪人类最伟大的发明之一,是一种能够存储程序,通过执行程序指令,自动、高速、精确地对各种信息进行复杂运算处理,并输出运算结果的一种电子设备文章源自JAVA秀-https://www.javaxiu.com/20390.html

谁也不曾想到,当初只是当作军事计算工具应用的电子计算机,在半个世纪中竟然会成为改变社会结构,乃至促进人们的工作和生活方式发生惊人变化的宠儿。文章源自JAVA秀-https://www.javaxiu.com/20390.html

1 计算机的基本概念

1.1 计算机的软硬件概念

计算机系统由**“硬件”和“软件”两部分组成**。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 硬件是指看得见摸得着的各种电子元器件。如主机、键盘、鼠标等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 软件看不见摸不着,但在逻辑上,我们确实可以感知到它的存在,它由人们事先编制的具有某种功能的程序组成。比如操作系统、编程语言等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的软件通常又分为:系统软件和应用软件文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 系统软件:又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度。它包括:操作系统、语言处理程序、数据库管理系统、网络软件、服务程序等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 应用软件:又称为应用程序,它是用户根据需要事先编制的程序。比如 QQ、微信等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

1.2 计算机的分类

计算机的种类很多,从不同的角度看,有不同的分类。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  1. 按照计算机的处理信息的方式,可以分为数字计算机和模拟计算机文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 数字计算机:通过信号的两种不同状态(1 和 0)来表示信息,可以方便地对数字信号进行算术和逻辑运算,具有速度快、精度高、便于存储等优点。通常讲的计算机一般是指数字计算机。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 模拟计算机:一般只能处理模拟信号,如连续变化地电压、电流和温度等。这类计算机应用邻域有限,通用性不强。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  2. 按照计算机通用性地差异,计算机可以分为专用计算机和通用计算机文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 专用计算机:专门为某一问题而设计的计算机。功能比较单一,对应用环境地适应性很差。例如计算导弹弹道的专用计算机。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 通用计算机:各行业和各种环境都能使用的计算机,一般具有较高的运算速度、较大的内存容量。我们平常使用的个人台式计算机都属于通用计算机。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  3. 按照计算机系统的规模和处理能力,通用计算机可以分为以下几类:文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 微型机文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 小型机文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 大型机文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 超级计算机文章源自JAVA秀-https://www.javaxiu.com/20390.html

2 计算机的诞生与发展

2.1 冯 · 诺依曼体系

1945 年,被称为“计算机之父”的美籍匈牙利科学家冯 · 诺依曼在研究 EDVAC 时提出了“存储程序”的概念。以此概念为基础的各类计算机称为冯 · 诺依曼机。它的特点可以归纳如下:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 计算机的结构应由五大部分组成:运算器、控制器、存储器、输入设备、输出设备文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 指令和数据以同等地位存放在存储器内,并可按地址寻访。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 指令和数据均用二进制数表示文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 指令由操作码和地址码组成,操作码用来表示操作码的性质,地址码用来表示操作数在存储器中的位置。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 指令在存储器内按顺序存放。文章源自JAVA秀-https://www.javaxiu.com/20390.html

典型的冯 · 诺依曼计算机是以运算器为中心的,如下图所示。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

现代的计算机已转化为以存储器为中心,如下图所示。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

图中各部件的功能如下:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 运算器用来完成算术运算和逻辑运算,并将运算结果暂时存放在运算器内。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储器用来存放数据和程序。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 输出设备可将机器运算结果转换为人们熟悉的信息形式,常见的有打印机输出、显示器输出等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的五大部件在控制器的统一指挥下,有条不紊地自动工作。文章源自JAVA秀-https://www.javaxiu.com/20390.html

由于运算器控制器在逻辑关系和电路结构联系上十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往集成在同一芯片上。因此,通常将它们合起来统称为中央处理器(Central Processing Unit,CPU)。文章源自JAVA秀-https://www.javaxiu.com/20390.html

输入设备与输出设备简称为 I/O 设备(Input/Output Equipment)。文章源自JAVA秀-https://www.javaxiu.com/20390.html

这样,现代计算机可认为由三大部分组成:CPU、I/O 设备及主存储器(Main Memory,MM),如下图所示。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 与主存储器合起来又可称为主机,I/O设备又可称为外部设备。文章源自JAVA秀-https://www.javaxiu.com/20390.html

2.2 计算机发展历程

  1. 第一代,电子管计算机(1946 - 1957 年)文章源自JAVA秀-https://www.javaxiu.com/20390.html

  2. 第二代,晶体管计算机(1958 - 1964 年)文章源自JAVA秀-https://www.javaxiu.com/20390.html

  3. 第三代,中小规模集成电路计算机(1965 - 1971 年)文章源自JAVA秀-https://www.javaxiu.com/20390.html

  4. 第四代,大规模和超大规模集成电路计算机(1971 年至今)文章源自JAVA秀-https://www.javaxiu.com/20390.html

2.3 未来的发展趋势

计算机的发展趋势可以用五个字概括:巨、微、多、网、智。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  1. 巨型化文章源自JAVA秀-https://www.javaxiu.com/20390.html

  2. 微型化文章源自JAVA秀-https://www.javaxiu.com/20390.html

  3. 多媒体化文章源自JAVA秀-https://www.javaxiu.com/20390.html

  4. 网络化文章源自JAVA秀-https://www.javaxiu.com/20390.html

  5. 智能化文章源自JAVA秀-https://www.javaxiu.com/20390.html

3 计算机系统的组织

3.1 硬件系统

在冯 · 诺依曼体系中,计算机硬件系统是由运算器、控制器、存储器、输入设备和输出设备五大部件组成的。文章源自JAVA秀-https://www.javaxiu.com/20390.html

随着计算机技术的发展,计算机硬件系统的组织结构发生了许多重大的变化,如运算器控制器已组合成一个整体,称为中央处理器(Central Processing Unit,CPU)。文章源自JAVA秀-https://www.javaxiu.com/20390.html

存储器已成为多级存储器体系,包含主存、高速缓存和外存三个层次。文章源自JAVA秀-https://www.javaxiu.com/20390.html

下图是一种计算机硬件系统的简化结构模型示意图,其中包含 CPU、存储器、输入/输出(I/O)设备和接口等部件,各部件之间通过系统总线相连接。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

(1)CPU文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 是计算机硬件系统的核心部件,由运算部件、寄存器组和控制器组成,它们通过 CPU 内部的总线相互交换信息。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  1. 运算器文章源自JAVA秀-https://www.javaxiu.com/20390.html

    功能:完成算术运算(定点数运算、浮点数运算)和逻辑运算文章源自JAVA秀-https://www.javaxiu.com/20390.html

    基本组成:文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 主要由 ALU(算术逻辑单元)构成,执行算术、逻辑运算以及移位循环等操作,是 CPU 功能的主要执行操作。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • ALU 以累加器为核心,具有多种运算功能。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 运算的位数越多,计算精度就越高,但器件也更复杂。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    • 运算器的数据宽度一般是:8 位、16 位、32 位或 64 位。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  2. 寄存器组用来存放数据信息和控制信息。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  3. 控制器文章源自JAVA秀-https://www.javaxiu.com/20390.html

    功能:产生控制命令(微命令),控制全机操作文章源自JAVA秀-https://www.javaxiu.com/20390.html

    基本组成:文章源自JAVA秀-https://www.javaxiu.com/20390.html

    计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

(2)存储器文章源自JAVA秀-https://www.javaxiu.com/20390.html

功能:存储数据和数字化后的程序文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

不论是数据,还是程序,存储器存储的全是用 0 或 1 表示的二进制代码文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

存储器有以下几个基本概念:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储单元:在存储器中保存一个 n 位二进制数的 n 个存储电路,组成一个存储单元。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储元件:能够存放一位二进制代码 0 或 1 的器件。存储器由许多存储单元组成,每个存储单元又包含若干个存储元件。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储字:一个存储单元可以存储一串二进制代码,称这串二进制代码为一个存储字文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储字长:存储字(也就是存储单元存储的二进制代码)的位数称为存储字长文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 地址:存储器由许多存储单元组成,每个存储单元的编号,称为地址文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 存储容量:存储器所有存储单元的总数。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    存储容量越大,能存储的信息越多,常用的单位有 “KB、MB、GB、TB、PB” 等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

这几个概念比较晦涩,举个栗子来帮助理解:文章源自JAVA秀-https://www.javaxiu.com/20390.html

我们可以把存储器看作一栋大楼,那么每个存储单元就可以看作大楼中的每个房间,每个存储元件可以看作房间中的一张床位,床位有人值为 1,无人为 0,床位数相当于存储字长。为了方便寻找某一个房间,每个房间需要有一个房间编号,这个房间编号就相当于地址文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

存储器用来存储计算机中的所有信息,一个存储器无法同时满足存储容量大、存取速度快的需求,因此常将存储器分为主存、外存、缓存三级存储体系。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 主存用来存放 CPU 需要使用的程序和数据。主存的每个存储单元都有固定的地址,CPU 可以按地址直接访问他们。这样就要求主存的存取速度很快,但目前由于技术限制,都只有几个 G。通常将 CPU 和主存合称为主机,由于主存在在主机之内,所以主存又叫做内存。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 外存位于主机之外,用来存放 CPU 暂不使用的程序和数据。CPU 并不直接按地址访问它们,而是按文件名将它们从外存调入主存。因此外存的容量很大,但存取速度比主存慢,如磁盘、固态硬盘和 U 盘都是常用的外存。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 高速缓存(Cache)是为了提高 CPU 的访存速度,它设置在 CPU 和主存之间,是一个存取速度很快的存储器,不过容量较小,用来存放 CPU 当前正在使用的程序和数据。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(3)输入/输出设备文章源自JAVA秀-https://www.javaxiu.com/20390.html

输入设备将各种形式的外部信息转换为计算机能够识别的代码形式送入主机。例如键盘、鼠标等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

输出设备将计算机处理的结果转换为人们所能识别的形式(字符、图像、声音)输出。例如显示器、打印机等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

输入设备和输出设备都与主机传输数据,所以将它俩合称为输入/输出(Input/Output,I/O)设备。按照逻辑划分,它们位于主机之外,我们又称它为外设。我们经常所说的外设就是它们了。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(4)总线文章源自JAVA秀-https://www.javaxiu.com/20390.html

总线是一组能为多个部件分时共享的信息传输线文章源自JAVA秀-https://www.javaxiu.com/20390.html

根据传送信息不同,可分三类:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 传送各种数据信息的数据总线(Data Bus)文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 传送各种地址信息的地址总线(Address Bus)文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 传送各种控制信号的控制总线(Control Bus)文章源自JAVA秀-https://www.javaxiu.com/20390.html

(5)接口文章源自JAVA秀-https://www.javaxiu.com/20390.html

外设的种类、数量是多变的,为了将标准的系统总线与各类外设连接,需要在系统总线与 I/O 设备之间设置一些接口部件,具有缓冲转换连接等功能,这些部件就被称为接口。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

3.2 软件系统

软件类别:系统软件应用软件文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 系统软件:又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度。它包括:操作系统、语言处理程序、数据库管理系统、网络软件、服务程序等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 应用软件:又称为应用程序,它是用户根据需要事先编制的程序。比如 QQ、微信等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

3.3 计算机系统层次结构

早期计算机只有机器语言(用 0、1 代码表示的语言),程序员必须用机器语言来编写程序。这样就要求程序员对他们计算机硬件和指令系统非常熟悉,编程难度相当大。不过编写的程序计算机可以直接运行。直接执行机器语言的机器称为实际机器 M1。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

20 世纪 50 年代开始出现了符号式的程序设计语言,也就是汇编语言。它用符号 ADD、SUB 等分别来表示加法、减法,并且用符号来表示指令和数据所在存储单元的地址。文章源自JAVA秀-https://www.javaxiu.com/20390.html

相比机器语言,编程难度有所降低,但是没有机器能够直接识别汇编语言,每台机器都需要编写一套对应指令的汇编语言,这样就导致程序员这对程序员来说简直是天灾。文章源自JAVA秀-https://www.javaxiu.com/20390.html

将具有翻译功能的汇编程序的计算机看做 M2,M2 是在 M1 之上,因为需要汇编程序将汇编语言翻译成对应的机器语言。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

源程序进入机器 M1 运行前,必须先将高级语言程序翻译成汇编语言程序(或其他中间语言程序),然后再将其翻译成机器语言程序;也可以将高级语言程序直接翻译成机器语言程序。文章源自JAVA秀-https://www.javaxiu.com/20390.html

这些工作都是由虚拟机 M3 来完成的,对程序员来说,它们不需要知道这个翻译过程,因此降低了编程难度。文章源自JAVA秀-https://www.javaxiu.com/20390.html

由此可得出具有三级层级的计算机系统。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

将高级语言翻译成机器语言的软件称为翻译程序。翻译程序分为两种:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 编译程序:将用户编写的高级语言程序(源程序)的全部语句一次全部翻译称机器语言,然后执行此程序。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 解释程序:将源程序的每一条语句翻译成对应于机器语言的一条语句,并且执行这条语句,重复这个步骤,直到翻译完这个程序。文章源自JAVA秀-https://www.javaxiu.com/20390.html

由于软件的发展,在实际机器 M1 的基础上向上延伸构成了各级虚拟机器。那么,机器 M1 也可以向下延申形成下一级的微程序机器 M0,机器 M0 是将机器 M1 中的每一条机器指令翻译成一组微指令,构成一个微程序。文章源自JAVA秀-https://www.javaxiu.com/20390.html

机器 M0 也是实际机器,为了区别于 M1,通常将机器 M1 称为传统机器,将 M0 称为微程序机器。这样就可以认为计算机系统具有四级层次结构。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

在上述四级层次结构的系统中,实际上在实际机器 M1 和虚拟机器 M2 之间还有一级虚拟机器,它是由操作系统构成的。文章源自JAVA秀-https://www.javaxiu.com/20390.html

3.4 软件与硬件的逻辑等价性

  1. 软件的特点文章源自JAVA秀-https://www.javaxiu.com/20390.html

    易于实现各种逻辑和运算功能,但是常受到速度指标和软件容量的制约。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  2. 硬件的特点文章源自JAVA秀-https://www.javaxiu.com/20390.html

    可以高速实现逻辑和运算功能,但是难以实现复杂功能或计算,受到控制复杂性指标的制约。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机中的软件,理论上都可以 “固化” 或 “硬件化”,以提高执行速度。文章源自JAVA秀-https://www.javaxiu.com/20390.html

4 计算机系统的性能指标

1. 基本字长文章源自JAVA秀-https://www.javaxiu.com/20390.html

算术运算可以分为定点运算和浮点运算两大类。基本字长就是指处理器参加一次定点运算的操作数位数。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 一次数据操作的基本位数。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 它会影响计算的精度、指令的功能。文章源自JAVA秀-https://www.javaxiu.com/20390.html

一般 4 位、8 位、16 位、32 位、64 位等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

2. 外频文章源自JAVA秀-https://www.javaxiu.com/20390.html

外频也叫外部频率或基频,有时也称为系统时钟频率,经过倍频系数放大,用作各部件的工作频率,如 CPU、内存、各类总线等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

3. 常用的 CPU 性能指标文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

单位换算的简化关系:1K = 1000,1M = 1000K,1G = 1000M文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

(1)CPU 主频 = 外频 X 倍频系数文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 的主频是 CPU 内核的工作频率,有时也叫 CPU 的时钟频率。通常说的某款 CPU 多少 GHZ,说的就是它的主频。提高上述公式中的任一指标,都可以提高 CPU 的主频,也就是超频。文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 主频的高低是决定计算机工作速度的重要因素,不过两者之间没有正比关系。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(2)CPU 执行某种运算总时间 = CPU 时钟周期数 / 主频 = (指令条数 X CPI) / 主频文章源自JAVA秀-https://www.javaxiu.com/20390.html

在 CPU 时钟频率中,相邻两个时钟脉冲之间的间隔为一个时钟周期,它与 CPU 完成一步微操作所需的时间是对应的。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

下面详细说一下时钟频率(主频)与时钟周期的关系:文章源自JAVA秀-https://www.javaxiu.com/20390.html

通过 CPU 的工作方式来看,CPU 分为两种控制方式:同步控制异步控制。为了解时钟频率与时钟周期的关系,我们先看同步控制 CPU 的工作方式,异步控制方式在接下来的章节会提到。文章源自JAVA秀-https://www.javaxiu.com/20390.html

既然是同步控制 CPU,那就需要一个同步机制,不然你做一样,我做一样,没有统一协调,岂不乱套?文章源自JAVA秀-https://www.javaxiu.com/20390.html

在计算机中,通过时序发生器来完成这项工作,它由一个晶体振荡器和一组计数倍频逻辑组成。它不停给芯片其他部件发送一个连续的脉冲信号。每一次脉冲到来,芯片内的晶体管就改变一次状态,让整个芯片完成一定任务。统一指挥,完成任务。文章源自JAVA秀-https://www.javaxiu.com/20390.html

电脑中的各种部件就是在时序发生器发送的特定时钟频率下有条不紊地进行工作的。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

如图,时序发生器发出的脉冲信号做出周期变化的最短时间称之为振荡周期,也成为 CPU 时钟周期。正如前面所说,相邻两个时钟脉冲之间的间隔为一个时钟周期。它是计算机中最基本的、最小的时间单位。文章源自JAVA秀-https://www.javaxiu.com/20390.html

一个震荡周期内,晶体管只会改变一次状态。那么,更小的时钟周期就意味着更高的工作频率。文章源自JAVA秀-https://www.javaxiu.com/20390.html

一秒(1s)内,震荡周期的个数称为时钟频率,称为主频。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

我们把主频看作 f,时钟周期看作 T,可以得出 f = 1 / T文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

(3)IPS = 指令条数 / 执行时间 X 106 = 主频 / CPI文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 平均每秒执行指令的数量,IPS(Instructions Per Second),常用更大的单位 MIPS 或 GIPS 表示。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(4)CPI = 总时钟周期数 / 总指令数文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 执行程序时,每条指令所需的平均时钟周期数,CPI(Clock cycles Per Instruction)。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(5)FLOPS = (浮点运算的次数 / 执行时间)/ 106文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 每秒能够完成的定点或者浮点运算次数(非指令数)。高性能计算机主要进行浮点向量运算,一般用每秒能完成的浮点运算次数(Floating-point Operation Per Second)。比如,天河二号,其实测速度:33.86PFLOPS。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(6)CPU 的功耗 P = C X U2 X f文章源自JAVA秀-https://www.javaxiu.com/20390.html

4. 数据通路宽度与数据传输率文章源自JAVA秀-https://www.javaxiu.com/20390.html

(1)数据通路宽度文章源自JAVA秀-https://www.javaxiu.com/20390.html

数据总线一次能并行传输的数据位数。数据通路宽度分为 CPU 内部和 CPU 外部两种情况:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • CPU 内部数据通路宽度一般与 CPU 的基本字长相同,也等于 CPU 内总线的位宽。文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • CPU 外部数据通路宽度等于系统数据总线的位宽。文章源自JAVA秀-https://www.javaxiu.com/20390.html

有的 CPU 内外的数据通路宽度一样,有的不同。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(2)数据传输率(Data Transfer Rate,DTR)文章源自JAVA秀-https://www.javaxiu.com/20390.html

也叫比特率,指单位时间内信道的数据传输量,基本单位是 bps。也常常借用带宽(Bandwidth)一词来表示数据传输率。文章源自JAVA秀-https://www.javaxiu.com/20390.html

数据传输率与传输信道的数据通路宽度和最大的工作频率有关,公式如下:文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

注意:不论何种设备,理解带宽概念时,只需要紧紧把握住单位时间内传输的数据量这一本质特性即可。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算 PCI-E 总线的带宽时,一般还要考虑编码方式、单双工模式和通道路数等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

结合这个小节的内容,来举个栗子:文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

假设该 I/O 程序由 2000 条指令构成,CPU 每次执行该程序可并行输出 4KB 数据。CPU 主频 3.2GHz,求 I/O 带宽。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

解:文章源自JAVA秀-https://www.javaxiu.com/20390.html

平均 CPI = 15 X 40% + 20 X 30% + 15 X 20% + 10 X 10% = 16文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 执行这个包含 2000 条指令的程序,所需的时钟周期总数 = 指令数 X 平均每条指令所需的时钟周期文章源自JAVA秀-https://www.javaxiu.com/20390.html

程序的时钟周期数 T = 2000 X 16 = 32000 = 32K 个文章源自JAVA秀-https://www.javaxiu.com/20390.html

CPU 主频 = 3.2GHz,表明 1 秒钟能产生 3.2G 个时钟周期,因此每秒钟此程序可被执行次数 = 每秒钟的时钟周期总数 / 程序完整执行一次所需的时钟周期数文章源自JAVA秀-https://www.javaxiu.com/20390.html

程序每秒执行次数 = f / T = 3.2G / 32K = 105 次文章源自JAVA秀-https://www.javaxiu.com/20390.html

I/O 带宽指的是单位时间内传输的总数据量,总数据量 = 程序被执行的次数 X 每次输出的数据量文章源自JAVA秀-https://www.javaxiu.com/20390.html

I/O 带宽 = (105 X 4 KB)/ 秒 = 400 MBps(兆字节/秒)文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

5. 存储器容量文章源自JAVA秀-https://www.javaxiu.com/20390.html

存储器分为内存(主存)和外存(辅存)。文章源自JAVA秀-https://www.javaxiu.com/20390.html

(1)内存(主存)文章源自JAVA秀-https://www.javaxiu.com/20390.html

存放 CPU 当前需要处理的数据和需要执行的程序。主存容量越大,可以减少 CPU 反复读取主存数据的次数和等待时间。文章源自JAVA秀-https://www.javaxiu.com/20390.html

主存的容量取决于主存的编址单元数和每个编址单元的位数(宽度)。经常用字节数表示主存容量:文章源自JAVA秀-https://www.javaxiu.com/20390.html

  • 字节数文章源自JAVA秀-https://www.javaxiu.com/20390.html

    微型机的主存多按字节编址,每个编址单元含有 8 位数据。因此 1MB = 220,1K = 210。现在家用电脑主存容量可达到 8GB(1G = 230)以上。文章源自JAVA秀-https://www.javaxiu.com/20390.html

    计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

(2)外存(辅存)容量文章源自JAVA秀-https://www.javaxiu.com/20390.html

外部存储器能够存储的最大数据量,基本单位一般用 B、MB、GB 或者 TB 等来表示常用的外存有硬盘、U 盘等。文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机中的软件资源和数据,如操作系统、编译程序、数据库管理系统等,它们没有运行的部分都是保存在外存中,需要时再载入内存。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

注意:外村容量取决于存储器自身,与地址总线的位数无关。文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

另注: 本文在开源项目:github.com/MujieJava/JavaStudy 中已收录,包含计算机基础技术文章、资源干货等,资源持续更新中...文章源自JAVA秀-https://www.javaxiu.com/20390.html

文章源自JAVA秀-https://www.javaxiu.com/20390.html

如果觉得这篇文章对你有帮助的话,可以来个点赞 + 在看,下期再见!文章源自JAVA秀-https://www.javaxiu.com/20390.html

计算机的基本概念、组成结构 ,你不妨了解看看!文章源自JAVA秀-https://www.javaxiu.com/20390.html

推荐大家关注看看文章源自JAVA秀-https://www.javaxiu.com/20390.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定