购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 计算机的基本结构

2.1.1 冯·诺依曼计算机基本结构

世界上第一台电子计算机ENIAC采用电子管作主要构成元件,大大提高了运算速度,每秒钟能够完成5000次加法运算,但它的一个主要缺陷是不能存储程序。它是由人工设置开关并以插入和拔出导线插头的方式来编制程序的。编程时需要对6000多位开关进行仔细的机械定位,并用转插线把选定的各个控制部分互连起来以构成程序序列。这种原始的机械式编程方法显然效率很低。图2.1展示了ENIAC的组成及工作情形概貌。

图2.1 世界上第一台电子计算机ENIAC

1944—1945年间,著名美籍匈牙利数学家冯·诺依曼(John von Neumann)应邀参加在美国宾夕法尼亚大学进行的ENIAC计算机研制任务。在研制过程中,他深深地感到ENIAC不能存储程序这一缺陷,并在1945年由他领导的EDVAC(Electronic Discrete Variable Automatic Computer,离散变量自动电子计算机)试制方案中,他作为一位主要倡导者指出:ENIAC的开关定位和转插线连接只不过代表着一些数字信息,它们完全可以像受程序管理的数据一样,存放于主存储器中。这就是最早的“存储程序概念”(Stored Program Concept)的产生。有趣的是,几乎在同时,英国数学家阿兰·图灵(Alan Turing)也提出了同样的构想。

EDVAC计算机由运算器、逻辑控制装置、存储器、输入设备和输出设备5个部分组成。它采用了“存储程序”的思想,把数据和程序指令均用二进制代码的形式存放在存储器中,保证了计算机能按事先存入的程序自动地进行运算。

冯·诺依曼首先提出的“存储程序”的思想,以及由他首先规定的计算机的基本结构,人们称之为“冯·诺依曼计算机结构”。归纳其基本内容,主要包括以下几点:

①计算机应由运算器、控制器、存储器、输入设备和输出设备五个部分组成。

②数据和程序均以二进制代码形式不加区别地存放在存储器中,存放的位置由存储器的地址指定。

③计算机在工作时能够自动地从存储器中取出指令加以执行。

半个世纪以来,随着计算机技术的不断发展和应用领域的不断扩大,相继出现了各种类型的计算机,包括小型计算机、大型计算机、巨型计算机以及微型计算机等,它们的规模不同,性能和用途各异,但就其基本结构而言,都是冯·诺依曼计算机结构的延续和发展。尽管在20世纪70—80年代,有些人试图突破冯·诺依曼的设计思想,研究“非冯·诺依曼结构”的计算机,但一直未取得明显成果。

2.1.2 计算机的基本组成框图及功能部件简介

计算机的基本组成框图如图2.2所示。

图2.2 计算机的基本组成框图

图2.2表明,程序和数据通过输入设备送入存储器中;程序被启动执行时,控制器输出地址及控制信号,并从相应的存储单元中取出指令送到控制器中进行识别,分析该指令执行什么运算或操作,然后控制器根据指令含义发出操作命令,例如将某存储单元中存放的数据取出并送往运算器进行运算,再把运算结果送回存储器的指定单元中;当指定的运算或操作完成后,将结果通过输出设备送出。

通常将运算器和控制器合称中央处理器(Central Processing Unit,CPU)。CPU和存储器一起构成计算机的主机部分,而将输入设备和输出设备称为外围设备。在微型计算机中,往往把CPU制作在一块大规模集成电路芯片上,称之为微处理器(Microprocessor)。

下面对组成计算机的几个主要功能部件作简要介绍。

1.存储器

存储器是用来存放程序和数据的记忆装置。它是组成计算机的重要部件,也是使计算机能够实现“存储程序”功能的基础。

根据存储器和中央处理器的关系,存储器可分为主存储器(简称主存,又称内存)和外存储器(简称外存,又称辅助存储器)。主存储器是CPU可以直接对它进行读出或写入(也称访问)的存储器,用来存放当前正在使用或经常要使用的程序和数据。它的容量较小,速度较快,但价格/位较高;外存储器用来存放相对来说不经常使用的程序和数据,在需要时与内存进行成批交换,CPU不能直接对外存进行访问。外存的特点是存储容量大,价格/位较低,但存取速度较慢。外存通常由磁表面记录介质构成,如磁盘、磁带等;采用激光技术的光盘也广泛地用作大容量外存储器。需说明的是,从计算机的整体来看,磁盘、光盘等存储器属于计算机存储系统的一部分;但从主机的角度看,它们又属于外部设备的范畴。

主存储器通常由存储体和有关的控制逻辑电路组成。存储体是由存储元件(如磁心、半导体电路等)组成的一个信息存储阵列。存储体中存放着程序和数据信息,而要对这些信息进行存取,必须通过有关的控制逻辑电路才能实现。存储体被划分为若干个存储单元,每个单元存放一串二进制信息,也称存储单元的内容。为了便于存取,每个存储单元有一个对应的编号,称为存储单元的地址。对于计算机的初学者,需注意的是存储单元的“地址”与“内容”的区别。常有人将此对应地比喻成旅馆的“房间号”与“房间里住的人”,也有一定的道理。当CPU要访问某个存储单元时,必须首先给出地址,送入存储器的地址寄存器MAR(Memory Address Register),然后经译码电路选取相应的存储单元。从存储单元读出的信息先送入存储器的数据寄存器MDR(Memory Data Register),再传送给目的部件;写入存储器的信息也要先送至存储器的数据寄存器中,再依据给定的地址把数据写入到相应存储器单元中。

另外,为了对存储器进行读、写操作,控制器除了要给出地址外,还要给出启动读、写操作的控制信号(如读操作控制信号 ,写操作控制信号 等)。这些控制信号到底何时发出,要由机器的操作时序决定。图2.3给出了计算机存储器的基本结构图示。

2.运算器

运算器是执行算术运算(加、减、乘、除等)和逻辑运算(“与”、“或”、“非”等)的部件。它除了具有一个称之为算术逻辑单元(Arithmetic Logic Unit,ALU)的核心部件外,还有一个能在运算开始时提供一个操作数并在运算结束时存放运算结果的累加寄存器(Accumulator),以及通用寄存器组和有关控制逻辑电路等。功能较强计算机的运算器还具有专门的乘除法部件与浮点运算部件。

图2.3 计算机存储器的基本结构图示

3.控制器

控制器是指挥和控制计算机各部件协调工作的功能部件。它从存储器中逐条取出指令,翻译指令代码,并产生各种控制信号以指挥整个计算机有条不紊地工作,一步一步地完成指令序列所规定的任务。同时控制器还要接收输入/输出设备的请求信号以及运算器操作状况的反馈信息,以决定下一步的工作任务。所以控制器是整个计算机的操作控制中枢,它依据程序指令决定计算机在什么时间、根据什么条件去做什么工作。

为了让各种操作能按照一定的时间关系有序地进行,计算机内设有一套时序信号,给出时间标志。计算机的各个功能部件按照统一的时钟或节拍信号,一个节拍一个节拍地快速而有秩序地完成各种操作任务。通常将一条指令的整个执行时间定义为一个指令周期(Instruction Cycle);每个指令周期又划分为几个总线周期(Bus Cycle);每个总线周期又分为几个时钟周期。时钟周期是机器操作的最小时间单位,它由机器的主频来决定。

我们将最基本的不可再分的简单操作叫做“微操作”,控制微操作的命令信号叫“微命令”,它是比“指令”更基本、更小的操作命令,如开启某个控制电位,清除某寄存器或将数据输入到某个寄存器等。通常一条指令的执行就是通过一串微命令的执行来实现的。控制器的基本任务就是根据各种指令的要求,综合有关的逻辑条件和时间条件产生相应的微命令。

按照微命令形成方式的不同,控制器的结构可分为两种类型,即组合逻辑控制器和微程序控制器。组合逻辑控制器直接由组合逻辑电路产生微操作控制信号,因而其操作速度较快,但相应的控制逻辑电路十分庞杂,给设计、调试和检测都带来不便。这种形式的控制器设计完毕后若想扩充和修改,则更为困难。但其突出的优点是指令执行速度很快,常用于RISC结构的机器中。

微程序控制器是采用微程序设计技术(Microprogramming)实现的。它将指令执行所需的微命令以代码的形式编制成“微指令”,并事先存放在控制存储器(一般为只读存储器)中。由若干条微指令组成一小段微程序,用来解释一条机器指令的执行。在CPU执行程序时,不断地从控制存储器中取出微指令,由其所包含的微命令信息来控制相关的操作。修改控制存储器的内容即可改变计算机的指令系统。它与组合逻辑控制器相比,具有规整性和灵活性的突出优点,但微程序控制器每执行一条指令都要启动控制存储器中的一串微指令(即一段微程序),因此指令的执行速度相对于组合逻辑控制器来说要慢。微程序控制的概念最早由英国剑桥大学的威尔克斯(M.V.Wilkes)于1951年提出,并将这种思想用于计算机控制器的设计。它实质上是用程序的方法来组织和产生微操作控制信号,用存储逻辑控制代替组合逻辑控制。

4.输入设备

输入设备的任务是用来输入操作者或其他设备提供的原始信息,并把它转变为计算机能够识别的信息,送到计算机内部进行处理。传统的输入设备有键盘、卡片阅读机、纸带输入机等。新型的输入设备种类很多,如光字符阅读机、光笔、鼠标器、图形输入器、汉字输入设备、视频摄像机等。

5.输出设备

输出设备的任务是将计算机的处理结果以人或其他设备能够识别和接受的形式(如文字、图像、声音等)输送出来。常用的输出设备有打印机、显示器、绘图仪等。现在人们常见的各种计算机终端设备,把键盘和显示器配置在一起,它实际上是输入设备(键盘)和输出设备(显示器)的组合。 NKi0gR7c1MFb/9K+mGNTQrFu7fLttiF4JNjA1434Wm3Zgzpu1LBn6VrNaTgluNUS

点击中间区域
呼出菜单
上一章
目录
下一章
×