第二节 计算机的基本组成
一、冯·诺依曼计算机的特点
冯·诺依曼体系计算机的核心思想是“存储程序”的概念。它的特点如下:
(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成;
(2) 指令和数据都用二进制代码表示;
(3) 指令和数据都以同等地位存放于存储器内,并可按地址寻访;
(4) 指令是由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;
(5) 指令在存储器内是顺序存放的;
(6) 机器以运算器为核心,输入输出设备与存储器的数据传送通过运算器。
二、计算机的硬件框图典型的冯·诺依曼计算机是以运算器为中心的,如下图所示。其中,输入、输出设备与存储器之间的数据传送都需通过运算器。图中实线为数据线,虚线为控制线和反馈线。
现代的计算机已转化为以存储器为中心,如下图所示,图中实线为控制线,虚线为反馈线,双线为数据线。图中各部件的功能是:
(1) 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内;
(2) 存储器用来存放数据和程序;
(3) 控制器用来控制、指挥程序和数据的输入、运行及处理运算结果;
(4) 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等;
(5) 输出设备可将机器运算结果转换为人们熟悉的信息形式如打印机输出、显示器输出等。
计算机的五大部件在控制器的统一指挥下,有条不紊地自动工作。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往制作在同一芯片上,因此,通常将他们合起来统称为中央处理器,简称CPU。把输入设备与输出设备简称为I/O设备。
因此,现代计算机可认为由三大部分组成:CPU、I/O设备及主存储器MM。CPU与MM合起来称为主机,I/O设备叫作外设。
存储器分为主存储器MM和辅助存储器。主存可直接与CPU交换信息,辅存又叫外存。
三、计算机的解题过程
为了比较形象地了解计算机的解题过程,首先分析一个更为细化的计算机组成框图,如下图所示。
1.运算器
运算器包括三个寄存器和一个算逻单元ALU。其中ACC为累加器,MQ为乘商寄存器,X为操作数寄存器。这三个寄存器在完成不同运算时,所存放在操作数类别也各不相同。
下面简要以加法为例分析一下这种结构的运算器其加、减、乘、除四则运算的操作过程。
假设ACC中已存有前一时刻的运算结果,并作为下述加法运算中的一个操作数。则:
加法操作过程:[ACC]表示累加器中内容,[X]表示X寄存器中的内容。
[M]→X
[ACC]+[X]→ACC
即将[ACC]看作被加数,先从内存中取一个存放在M地址号内的加数[M],送至运算器的X寄存器中,然后将被加数[ACC]与加数[X]相加,其结果和保留在累加器ACC中。
2.存储器
主存储器包括存储体、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件,每个存储元件能寄存一位二进制代码“0”或“1”。可见,一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,这串二进制代码的个数叫做存储字长。
我们赋予每个存储单元一个编号,叫做存储单元的地址号。主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。这种存取方式叫做按地址存取,也即按地址访问存储器(简称访存)。
为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。MDR是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。要想完整地完成一个取或存操作。 CPU还得给主存加以各种控制信号,如读命令、写命令和地址译码驱动信号等。随着硬件技术的发展,主存都制作成大规模集成电路的芯片,而将MAR和MDR制作在CPU芯片中。
3.控制器
控制器是计算机组成的神经中枢,由它指挥全机各部件自动、协调地工作。具体而言,它首先要命令存储器读出一条指令,这叫取指过程。接着对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,这叫分析指令过程。最后根据操作数所在的地址,取出操作数并完成某种操作,这叫作执行过程。以上就是通常所说的完成一条指令操作的取指、分析和执行三阶段。
控制器由程序计数器PC,指令寄存器IR以及控制单元CU几部分组成。PC用来存放当前欲执行指令的地址, 它与主存的MAR之间有一条直接通路,且具有自动加1的功能, 即可自动形成下一条指令的地址。IR用来存放当前的指令, IR的内容来自主存的MDR。IR中的操作码送到CU,用来分析指令;其地址码作为操作数的地址送至存储器的MAR。 CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
4.I/O
I/O子系统包括各种外部设备及相应的接口。每一种设备都是由I/O接口与主机联系的,它接受CU发出的各种控制命令完成相应的操作。
计算机的解题过程如下:
首先把构成程序的有序指令和数据,通过键盘输入到主存单元中,并置PC的初值为0(即令程序的首地址为0)。启动机器后,计算机便自动按存储器中所存放的指令顺序,有序地逐条完成取指令、分析指令和执行指令,直至执行到程序的最后一条指令为止。