书城科普读物探究式科普丛书-高速智能的计算机
48745200000008

第8章 分工合作——计算机的工作原理(1)

关于计算机的起源和发展、特点与构成我们已经有了一定的了解,那么,计算机是依据什么原理来进行工作的?它又有哪些分类?

本章我们将要对它的工作原理和分类来进行研究。

第一节各司其职——计算机的工作原理

一台机器,无论它是怎样工作的,都要依据一定的原理。机器工作的原理就像人类生活的规律一样,不同种族有不同的生活习惯。同理,计算机也有它的工作原理,而且不同类型的计算机也会有不同的工作原理。但是,计算机总的工作原理是相同的,它工作最基本的原理是存贮程序和程序控制。

计算机在工作之前,要预先把指挥计算机如何进行操作的指令序列(也被称为程序)、原始数据,通过输入设备输送到计算机内存贮器中,并且在每一条指令中都明确规定了计算机是从哪个地址取数的,准备进行什么操作,然后又送到什么地址去等步骤。

当计算机做好工作前的准备后,就可以正常运行了。运行的时候先是从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据,然后进行指定的运算和逻辑操作等方面的加工,再按地址要求,把结果送到内存中去。

待第一条指令完成后,再进行第二条指令,在控制器的指挥下完成规定操作。就这样依次进行下去,直至遇到停止指令的时候才会停下来。或许有的人会问,计算机这样一条一条地取指令是不是很慢,也很麻烦?其实不用担心,因为计算机的运行速度是非常快的,一条指令的操作,只会用一点点的时间,因此,当我们在操作计算机进行工作的时候,一点也不会感到慢。计算机的工作原理,最初是由美籍匈牙利数学家冯·诺依曼于1945年提出来的,因此,计算机的工作原理也被称为冯·诺依曼原理。

依据冯·诺依曼原理,计算机工作时,采用的是二进制数的形式来表示数据和指令的,它把数据和指令按照一定的顺序存放在存储器中,在计算机要读取或者输出时就可以直接在存储器中进行。我们知道,计算机是由控制器、运算器、存储器、输入设备和输出设备等几大部分组成的,它的核心是“存储程序”和“程序控制”,也就是说,计算机是以此为工作原理的。

此外,根据冯·诺依曼原理来分析,计算机的工作过程也就是不断地取指令和执行指令的过程,最后将计算结果放入指令指定的存储器地址中。在计算机工作的过程中,所要用到的计算机硬件部件有内存储器、指令寄存器、指令译码器、计算器、控制器、运算器、输入设备、输出设备等。关于内存储器、运算器、输入设备以及输出设备我们在前面已经介绍过了,在此就不再重复介绍。那么,你知道什么是指令寄存器和指令译码器吗?

指令寄存器(IR)主要是用来保存当前正在执行的一条指令,例如当我们正在应用Word文档的时候,在还没有进行保存的情况下,文档中的东西都会被暂时保存到指令寄存器中。当计算机在执行一条指令时,它首先把指令从内存储器中提取出来,再把指令放到数据寄存器(DR)中,然后再传送至指令寄存器汇总(IR)。

那么,什么是指令译码器呢?首先我们要知道,一条指令可以被划分为操作码字段和地址码字段两个部分,它们都是由二进制数字组成的,所以,如果要执行给定的指令,就必须对操作码进行测试,只有这样才能识别所要求的操作。而指令译码器就是专门来做这项工作的。指令寄存器中操作码字段的被输出,就是指令译码器中的操作码字段被输入。操作码在经过译码后,就可以向操作控制器发出具体操作的特定信号。

在计算机工作原理的基础上,冯·诺依曼又提出了计算机的基本结构,他认为计算机所具有的结构特点是在完成指定的计算、存储以及其他工作时,所使用的是单一的处理部件;所具有的存储单元是特定长度的线性组织;每一个存储空间的单元都是直接寻址的;所使用的语言是低级的机器语言,操作的指令能够通过操作码来完成简单的操作;能够对计算进行集中地顺序控制;硬件系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成,并且不同的部件之间有不同的功能,相互协调共同完成计算机操作任务;采用二进制形式来表示数据和指令;在执行程序和处理数据时必须将程序和数据先从外存储器装入主存储器中,然后才能使计算机在工作时能够自动从存储器中取出指令并执行指令。

其实,计算机的工作过程和我们计算的过程差不多,只是计算机的速度要比人脑的反应速度快得多。例如我们在计算3+2——1=?的时候,我们首先是通过眼睛看到这个算式,然后与大脑相连的神经再把我们看到的东西传送到大脑中去,大脑接到信号后再进行思考,然后根据算术法则来进行一步步地计算,最后得出计算结果4,然后再把结果填写到纸上。那么,如果用计算机来计算呢?当我们在键盘上键入“3+2——1”的算式时,计算机的控制器会首先通知输入设备——键盘,接收这个算式,然后再将这个算式送到存储器里记录下来,然后控制器再根据这个算式的内容来命令运算器对此进行计算,等到运算器算出运算结果时,并不是急于输出结果,而是让存储器先存起来,等到控制器发出让输出设备——显示器把计算机计算的结果在屏幕上显示出来的命令时,显示器才能将计算结果显示给我们看。

由此我们可以看出,计算机的工作原理是先由控制器发动输入设备将计算机要执行的命令输入到计算机内,然后再由运算器将存储器中的算式进行处理,最后把存储器中的最终结果送到输出设备上。在这一过程中,控制器具有十分重要的作用,它相当于人的“大脑司令部”,没有它的命令计算机就不能正常进行工作。

总之,计算机的基本工作原理就是依据冯·诺依曼原理来进行的。其中一些关于硬件和软件是如何来工作的,在前面我们已经介绍过了。计算机和人的大脑工作原理有一定的相似之处,因此,有人就说计算机是人体的另一个大脑。当然,这只是一个比喻,不过从中我们也能更形象地理解计算机是如何来进行工作的。既然这样,人与人是不同的,不同的人也会有不同的工作方式,那么计算机呢?

计算机有哪些分类呢?我们又如何来理解不同类型的计算机的工作原理呢?

第二节分门别类——计算机的类型

计算机从起源到现在,无论在外观上还是在内容上都有很大的变化,目前使用的计算机和第一代计算机相比,简直是两种不同的机器。其实无论怎么变,它们都属于计算机的范畴。那么,就目前所使用的计算机来看,都有哪些不同的类型呢?

1.数据与模拟——按计算机数据处理的方式分类

按照计算机数据处理方式的不同,可以将计算机分为数字计算机、模拟计算机以及数模混合计算机等。

(1)数字计算机

数字计算机是当今世界电子计算机行业中的主流,它内部处理的是一种被称为符号或数字信号的电信号,也是一种非连续变化的数据。这些数据的主要特点是在时间上处于“离散”状态,输入的是数字量,输出的也是数字量,并且在相邻的两个符号之间不可以有第三种符号存在。由于这种处理信号的差异,使得它的组成结构和性能优于模拟式电子计算机。另外,数字计算机运算部件是数字逻辑电路,因此,它的运算精度比较高,通用性也比较强。

(2)模拟计算机

模拟计算机内部的各个主要部件的输入量及输出量都是连续变化着的电压、电流等物理量,也就是说它所有数据都是用连续变化的模拟信号来表示的。它基本的运算部件是由运算放大器构成的各类运算电路。模拟信号在时间上是连续的,通常称为模拟量,如电压、电流、温度都是模拟量。模拟计算机的组成是由若干种作用及数量不同的积分器、加法器、乘法器、函数产生器等部件构成的。

它的工作原理是先把要研究问题的数学模型的一个部件的输出端,与另一个或几个部件的输入端互连起来,这样使整个计算机的输出量与输入量之间的数学关系,变成模拟式的研究问题的客观过程,但是,模拟计算机不如数字计算机计算得精确,并且通用性也不强。由于模拟计算机的解题速度快,因此它主要用于过程控制和模拟仿真。