计算机导论(第2版)
上QQ阅读APP看书,第一时间看更新

2.1 计算机的基本结构

结构是指各部分之间的关系。计算机体系结构在整个计算机系统中占据核心地位,是设计和理解计算机的基础。通过分析计算机的基本组成和结构,我们可以更好地理解计算机的基本工作原理。根据计算机的核心部件中央处理器(CPU)的体系架构的不同,计算机体系结构可以分为冯·诺依曼体系结构和哈佛结构。

2.1.1 冯·诺依曼体系结构

冯·诺依曼在“EDVAC方案”中正式提出了以二进制、程序存储和程序控制为核心的思想,对ENIAC的缺陷进行了有效的弥补,从而奠定了冯·诺依曼机的结构基础。

冯·诺依曼体系结构也称普林斯顿结构或冯氏结构(如图2-1所示),是一种将指令存储器和数据存储器合并在一起的结构,取指令和取操作数都经由同一个总线进行串行传输(一次只能传输一条数据或指令)。由于指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此指令和数据两者宽度(即位宽)相同,如Intel公司的8086处理器的指令和数据都是16位的宽度。

图2-1 冯·诺依曼体系结构

冯·诺依曼体系结构一般具有以下4个特点。

① 必须有一个存储器,用于存储数据和指令。

② 必须有一个控制器,用于控制程序的运行。

③ 必须有一个运算器,用于完成算术运算和逻辑运算。

④ 必须有输入设备和输出设备,用于进行人机交互。

在该体系结构下,计算机由五大部件组成:运算器、控制器、存储器、输入设备和输出设备。下面具体介绍这五大部件的功能、相互关系及工作过程。

1. 五大部件的功能

(1)运算器。运算器是用二进制进行算术运算和逻辑运算的部件。它由算术逻辑部件(Arithmetic Logic Unit,ALU)和若干通用寄存器组成。

ALU由组合逻辑电路组成,其功能是实现算术运算和逻辑运算等,是计算机的运算中心。算术运算是指加、减、乘、除和求补码等运算,而逻辑运算是指与、或、非、异或、移位等操作。逻辑运算以加法运算为核心,减法通过补码变减为加,乘法通过一系列的加法和移位操作来完成。总之,在控制器的控制下,ALU对来自存储器的数据进行算术运算和逻辑运算。通用寄存器用来存放参加运算的原始数据、过程数据,以及结果数据。当然,运算器除完成运算,还可以传送数据到内存中。

(2)控制器。控制器一般由指令寄存器、指令译码器、时序电路和控制电路等组成。控制器实现计算机对整个运算过程的有规律的控制,是计算机的指挥中心。它的基本功能是控制从内存中取出指令、分析指令、发出由该指令规定的一系列操作命令并完成相应操作。

计算机执行程序时,控制器首先按程序计数器给出的指令地址从内存中取出一条指令,并对指令进行分析,然后根据指令的功能向有关部件发出控制命令,控制它们执行这条指令所规定的功能。这样逐一执行一系列指令,计算机就能够按照程序的要求自动完成各项任务。

由于超大规模集成电路的发展,现在基本上是把控制器和运算器集成在一块芯片上的,该芯片被称为中央处理器。它是计算机的核心,其功能直接关系到计算机的性能,是计算机最复杂、最关键的部件之一。

(3)存储器。存储器用来存放计算机运行中要执行的指令和参与运算的各种数据。存储器分为内存储器和外存储器(这里我们主要讲内存储器,即内存),外存储器也可以作为I/O设备。

(4)输入设备。输入设备用来将用户输入的原始数据(包括数字、声音、图形、图像)和程序指令转换为计算机能识别的形式(即二进制代码),以便存放在内存中。常用的输入设备有键盘、鼠标、扫描仪等。

(5)输出设备。输出设备用于将存储在内存中由计算机处理的结果(即二进制数码)转换为人们所能识别的形式。常用的输出设备有显示器、打印机、绘图仪等。

I/O设备是用于人机交互的设备,统称为外部设备,简称外设。

2. 五大部件的相互关系及工作过程

(1)相互关系。计算机的五大部件相互配合、协同工作,形成了高效的计算机硬件系统。

(2)工作过程。计算机工作时严格遵循“程序存储及程序控制”原理,具体过程如下。

① 由输入设备输入原始数据和程序指令(每一条指令都明确规定计算机从哪个地址取数、进行什么操作、结果数据送到什么地方等步骤),由控制器控制,将这些数据和指令送入存储器(存储程序和数据)。

② 在控制器的控制下,存储器中的程序指令(按事先编排的顺序)被逐条送入控制器,经译码分析后将程序指令转换为相应的控制命令(控制运算器及存储器进行各种存数、取数和运算等操作)。

③ 在控制器的控制下,运算器完成规定操作并将结果送回存储器。

④ 在控制器的控制下,将结果由存储器送入输出设备后输出。

2.1.2 哈佛结构

哈佛结构(Harvard architecture,HARC)于20世纪70年代由美国哈佛大学的学者提出,是一种将指令存储器和数据存储器分开的存储器结构,取指令和取操作数经由不同总线并行传输,因此哈佛结构属于一种并行体系结构,如图2-2所示。由于指令存储地址和数据存储地址指向不同的存储器,因此指令和数据的宽度也不同。例如,Microchip公司的PIC芯片的指令是14位宽度,而数据是8位宽度。

图2-2 哈佛结构

与冯·诺依曼体系结构处理器比较,哈佛结构处理器有两个明显的特点:一是使用两个独立的存储器模块,分别存储指令和数据,每个存储器模块都不允许指令和数据并存;二是使用两条独立的总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线毫无关联。

哈佛结构采用指令和数据空间独立的体系结构,目的是消除指令运行时的瓶颈。例如,在一个取操作数的运算中,同时还有一个取指令操作,如果采用冯·诺依曼体系结构,程序和数据通过一条总线访问,取数据和取指令必然产生冲突。而哈佛结构这种分开存储、分开传输的方式则能从根本上解决同一时间内取数据与取指令相冲突的问题。

由于可以同时读取指令和数据,大大提高了数据吞吐率,因此哈佛结构的微处理器通常具有更高的执行效率。它的缺点是结构复杂,对外部设备的连接与处理要求高,十分不适合外存储器的扩展。可以假设:如果是哈佛结构的计算机系统,就得在计算机上安装两块硬盘(一块装指令,另一块装数据)和两根内存(一根存储指令,另一根存储数据)。

总体说来,冯·诺依曼体系结构简单、易实现、成本低,但效率偏低;哈佛结构效率高但结构复杂。因而,目前绝大部分计算机仍采用冯·诺依曼体系结构。