1.3.2 计算机的工作原理
1.冯·诺依曼工作原理
1946年ENIAC 诞生后,美籍匈牙利数学家冯·诺依曼简化了计算机的结构,提出了计算机“存储程序”的基本原理,提高了计算机的速度,奠定了现代计算机设计的基础。冯·诺依曼原理可以概括为以下3个基本点:
(1)计算机系统应由控制器、运算器、存储器、输入设备和输出设备五大部件组成,并规定了这五个部分的基本功能。
(2)计算机内部应采用二进制数来表示指令和数据。
(3)将编好的程序和数据存储在主存储器中,计算机在运行时就能自动地、连续地从存储器中依次取出指令并执行。
其工作原理的核心是“程序存储”和“程序控制”,就是通常所说的“顺序存储程序”概念,按照这一原理设计的计算机被称为“冯·诺依曼型计算机”。
冯·诺依曼的这些理论的提出,解决了计算机的运算自动化问题和速度配合问题,对后来计算机的发展起到了决定性的作用。直至今天,绝大部分的计算机还是采用冯·诺依曼原理的工作方式。
2.指令及其执行过程
指令是计算机能够识别和执行的一些基本操作,通常包含操作码和操作数两部分。操作码规定计算机要执行的基本操作类型,如加法操作;操作数则告诉计算机哪些数据参与操作。计算机系统中所有指令的集合被称为计算机的指令系统。每种计算机都有一套自己的指令系统,它规定了该计算机所能完成的全部基本操作,如:数据传送、算术和逻辑运算、I/O等。一条指令的执行过程可以分为下面4个步骤。
(1)取出指令:把要执行的指令从内存取到CPU中;
(2)分析指令:把指令送到指令译码器中进行分析;
(3)执行指令:根据指令译码器的译码结果向各个部件发出相应的控制信号,完成指令规定的操作功能;
(4)形成下条指令的地址:为执行下条指令做好准备。
3.程序的执行过程
程序是由若干条指令构成的指令序列。计算机运行程序时,实际上是顺序执行程序中所包含的指令,即不断重复“取出指令、分析指令、执行指令”这个过程。
计算机在接收到指令后,由控制器指挥,将程序和数据输入到存储器中,计算机的控制器按照程序中的指令序列,把要执行的指令从内存读取到CPU中,分析指令功能,进而发出各种控制信号,指挥计算机中的各类部件执行该指令。这种取出指令、分析指令、执行指令的操作不断地重复执行,直到构成程序的所有指令全部执行完毕,就完成了程序的运行,实现了相应的功能。程序的执行过程如图1-3所示。
图1-3 程序的执行过程
冯·诺依曼的工作原理从本质上讲是采取串行顺序处理数据的工作机制,即使有关的数据都已准备好,也必须逐条执行指令序列。因此,近年来人们在谋求突破传统冯·诺依曼体制的束缚,以提高计算机的运算速度和性能。