冯·诺依曼体系结构概述
数学家 冯·诺依曼提出了计算机制造的三个基本原则:采用二进制、程序存储、顺序执行,以及计算机的五个部分:运算器、控制器、存储器、输入设备、输出设备,这套理论被称为冯·诺依曼体系结构,根据这一原理制造的计算机被称为冯·诺依曼体系结构计算机。
冯·诺依曼最先提出程序存储的思想,并成功将其运用在计算机的设计之中。冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼体计算机的组织结构,因此冯·诺依曼体又被称为“现代计算机之父”。
- 输入设备:输入设备的作用是将数据、程序送入计算机。它是将人们熟悉的信息形式变换成计算机能接收并识别的信息形式的设备。输入的信息有数字、字母、文字、图形、图像、声音等多 种形式,而送入计算机的只有一种形式,那就是二进制数据。目前,常用的输入设备有键盘、鼠标、触摸屏、扫描仪、数码相机等。
- 存储器:存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。程序是计算机操作的步骤,它由一条一条的指令组成,每条指令都是计算机可以执行的基本操作,数据则是计算机操作的对象。
- 运算器:运算器是对信息进行运算和处理的部件。在计算机中的运算有两类:算术运算和逻辑运算。运算器主要由算术逻辑运算部件和用来暂存数据或存放运算结果的一系列寄存器组成。
- 控制器:控制器是整个计算机的控制、指挥部件,它控制计算机各部件自动、协调地工作。控制器的实质就是解释程序,它每次从存储器中读取一条指令,存入指令寄存器中,通过指令译码器进行译码(分析),以确定应该进行什么操作,再由控制逻辑根据分析的结果(译码信号)产生一系列的控制信号(又称为微命令),发向各个部件以控制它们执行指令所规定的操作。连续不断、有条不紊地继续上述动作,即所谓执行程序。因此,控制器的主要任务有两项:一是按照程序要求,控制程序中指令的执行顺序;二是根据指令寄存器中的指令码控制每一条指令的执行。鉴于控制器的上述功能,它主要由微命令发生器和一些专用的寄存器组成。其中,程序计数器(PC)用于存放下一条指令在存储器中的地址,控制器利用它来指示程序中指令的执行顺序。通常情况下,程序的默认执行方式是按顺序逐条执行指令。因此,大多数情况下,可以通过简单的 PC 自动加 1 计数功能实现对指令执行顺序的控制。当遇到转移指令时,则需利用转移指令提供的转移地址来代替原 PC 自动加 1 后的地址,以便按转移地址读取后续 指令。这样,计算机就可通过执行转移类指令来改变指令执行的顺序。因此,PC 就像一个 指针,一直指示着程序的执行进程。依靠 PC 的指示,控制器就可自动地、连续地从存储器中读取指令,送入指令寄存器 IR 中进行分析和执行。
- 输出设备:输出设备是将计算机运算结果的二进制信息转换成人类或其他设备能接收和识别的形式的设备,输出信息的形式有字符、文字、图形、图像、声音及视频等。目前,常用的输出设备有显示器、打印机、绘图仪等。 通常,人们把运算器和控制器统称为中央处理机(CPU),而把 CPU 和内部器一起称为 主机。主机内的存储器称为内部存储器或简称内存,位于主机之外的存储器(如硬磁盘、软 磁盘、光盘等)称为外部存储器或简称外存。外存和输入、输出设备一起又统称为外部设备或简称外设。
- 总线:除了上述五个部件外,计算机系统中还必须有总线(Bus)。计算机通过总线将五大部件连接起来,总线是它们之间相互传递信息的公共通路,主要任务是在各部件之间传送数据 信息、地址信息(属于专用数据)和控制信息。因此,总线通常包括数据总线(DB)、地址 总线(AB)和控制总线(CB)。
- (1)数据总线 DB :用来传送数据信息,是双向总线,CPU 既可通过其从存储器或输入 设备读入数据,又可通过其将内部数据送至存储器或输出设备。
- (2)地址总线 AB :用于传送 CPU 发出的地址信息,是单向总线,目的是指明与 CPU 交换信息的存储单元或输入输出设备。
- (3)控总线 CB :用于传送控制信号、时序信号和状态信息等。其中有的是 CPU 向存储 器或外设发出的信息,有的则是存储器或外设向 CPU 发出的信息。
可见,CB 中每一根线 的方向是一定的、单向的,但作为一个整体则是双向的,所以在各种结构框图中,凡涉及到 控制总线 CB,均以双向线表示。
冯·诺依曼体系结构特点
- 计算机处理的数据和指令一律使用二进制值数表示。
- 指令和数据不加区别混合存储在同一个存储器中(硬盘)
- 顺序执行程序的每一条指令。(重点是“顺序”)
冯·诺依曼体系结构的计算机必须具备的功能:
- 把需要的程序和数据送至计算机中(复制)
- 必须具有长期记忆程序、数据、中间结果及最终运算结构的能力(硬盘)
- 能够完成各种运算、逻辑运算和数据传送等数据加工处理的能力(ALU)
- 能够根据需要控制程序的走向,并能根据指令控制机器的各部件协作操作
- 能够按照要求将处理的结构输出给用户
冯·诺依曼系统结构工作原理
程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。冯·诺依曼型计算机本质上将采用串行顺序处理的工作机制,即使有关数据已经准备好了,也必须逐条执行指令序列,如下图:
具体过程:
-
预先把指挥计算机如何进行操作的指令序列(就是程序)和原始数据输入到计算机内存中(拷贝),每条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地方去等步骤。
-
计算机在执行时,先从内存中取出第一条指令,通过控制器的译码器接收指令的要求,再从存储器中取出数据进行指定的运算和逻辑操作等,然后再按地址把结果送到内存中,如果需要向硬盘等存储设备存储数据,还需要将该数据存储到硬盘中。接下来取出第2条指令,在控制器的指挥下完成规定操作,依次进行下去,直到遇到停止指令,
-
计算机中基本上有两股信息在流动,一种是数据,即各种原始数据、中间结果和程序等,另一种信息是控制信息,它控制机器的各种部件执行指令规定的各种操作。