首页 理论教育 冯·诺依曼机结构详解

冯·诺依曼机结构详解

时间:2023-10-23 理论教育 版权反馈
【摘要】:1946年,冯·诺依曼和同事们开始设计新的可存储程序的计算机IAS。IAS计算机的结构如下:图2-3 冯·诺依曼给出的计算机基本组成一个主存储器,可以存储数据和指令;一个算术和逻辑运算单元,具有对二进制数进行计算的功能;一个程序控制单元,可以解释源于存储器中的指令,并让其能被执行;输入和输出(I/O)设备,可以由控制单元控制。对此,冯·诺依曼提出如下的设计原则。图2-4 IAS计算机的较详细的结构PCU 是用电路实现的。

冯·诺依曼机结构详解

要在ENIAC基础上真正地实现可编程,就需要先把数据和指令存在一个地方(称为存储器),然后从内存中读取指令和数据到运算器(例如加法器)中,之后,把计算的结果再放回存储器中,等等。这就诞生了“可被存储程序(Stored Program)”的概念。

1945年,冯·诺依曼(Von Neumann)提出借用图灵理论的计算机概念(见2.1节),设计新的通用计算机器——电子离散变量计算机(EDVAC,Electronic Discrete Variable Automatic Computer)[2]

1946年,冯·诺依曼和同事们开始设计新的可存储程序的计算机IAS(以Princeton的Institute for Advanced Study缩写命名)。虽然,1952年才制作完成IAS,但是IAS成了后来计算机的原型。IAS计算机的结构如下(图2-3):

图2-3 冯·诺依曼给出的计算机基本组成

(1)一个主存储器,可以存储数据和指令;

(2)一个算术和逻辑运算单元(ALU,Arithmetic and Logic Unit),具有对二进制数进行计算的功能;

(3)一个程序控制单元(PCU,Program Control Unit),可以解释源于存储器中的指令,并让其能被执行;

(4)输入和输出(I/O)设备,可以由控制单元控制。

程序控制单元(PCU)的目的是,用一个时钟,打起拍子,使得取指令、执行指令、读写数据等各项工作按节拍协调地工作起来,保证存储器中的指令被有序地执行,直到完成最后一条指令,停机。

对此,冯·诺依曼提出如下的设计原则。

(1)采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中(数据和程序在内存中没有区别)。指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。

(2)存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的(注意:图灵机上的一个格子只能写一个符号)。

(3)指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。

(4)通过执行指令直接发出控制信号控制计算机的操作。

(5)以运算器为中心,I/O 设备与存储器间的数据传送都要经过运算器。

(6)所有的符号(数据)都以二进制表示。(www.xing528.com)

IAS更详细的结构如图2-4所示。

·MBR:存储器缓冲寄存器,大小为一个字长,用来临时存放接收主存储器发来的数据。

·MAR:存储器地址寄存器,说明从主存储器中读出数据传给MBR 时的地址或从MBR向主存储器写入数据时的地址,即从哪个地址读,向哪个地址写。

·IR:指令寄存器,临时存放要执行的指令,指令格式见2.2.3节。

·IBR:指令缓冲寄存器,暂存从主存储器中取得的指令。

·PC:程序计数器,存放指向下一条要执行的指令的地址。

根据图2-4的结构,用一个时钟打节拍,让每个单元都按部就班地运动起来,就像图灵机中电动机按节拍让纸带左右移动一样。这一部分用程序控制单元(PCU)实现。

图2-4 IAS计算机的较详细的结构

PCU 是用电路实现的。PCU 接收外部(内存或外部存储器的)指令或命令,它将其转换为一系列控制信号,实现寄存器传输级别上的操作。

PCU 通常是从外部存储的计算机程序接收一个指令(CPU 可执行的指令集中的一个指令,参见2.2.2节),然后,PCU 将该指令解码为几个连续的步骤:

(1)从(寄存器/存储器)获取(地址/数据);

(2)管理执行(即发送到ALU 或I/O 的数据),并将结果数据存储回(寄存器/存储器)中;

(3)控制和协调CPU 的内部工作。这些步骤的设计是基于每个指令的需要,并且可以包括执行步骤的个数、执行顺序以及启用哪些单元。

在IAS中,执行一个完整的指令称为一个指令周期(cycle)。当然,一个指令可能需要多次(基本)节拍才能执行完。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈