1945年6月,冯•诺依曼提出了在数字计算机内部的存储器中存放程序的概念(Stored Program Concept),这是所有现代电子计算机的范式,称为冯• 诺依曼体系结构。按照该结构建造的计算机称为存储程序计算机(Stored Program Computer),又称为通用计算机。有时也把冯• 诺依曼体系结构称为冯• 诺依曼体计算机,也称为普林斯顿结构。
冯•诺依曼计算机主要由运算器、控制器、存储器和输入输出设备组成,具有以下几个主要特点:
·用二进制表示数据和指令;
·指令和数据存储在内部存储器中,按顺序自动依次执行指令;
·由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;
·由控制器来控制程序和数据的存取及程序的执行;
·以运算器为核心。
冯•诺依曼计算机有三个关键点,一是采用二进制,二是存储程序的思想,三是逻辑上把计算机分为五大部分。采用二进制的原因是,数制中二进制是最简单的,最易用电路来实现存储和运算。如果采用十进制,在早期制造计算机时,几乎是不可能实现的事情。
冯•诺依曼体系结构广泛用于数据处理的各个领域。至今为止,绝大多数计算机遵循冯•诺依曼计算机的基本结构,即使有一些改进,也没有革命性的变化。
冯•诺依曼体系结构影响了计算机语言的语义和运行方式,早期的高级程序设计语言,例如BASIC语言、Fortran语言、ALGOL语言、COBOL语言和Pascal语言等,都明显具有语句顺序执行的特征,并且计算机语言程序中的变量代表的是存储空间,而并非数学意义上的变量。这种语言的特征,也限制了高级程序设计语言解决现实问题的能力,要解决一个实际问题,往往需要编写很长的程序,花费大量的时间用于程序的调试和测试,软件开发的成本比较高,这种状况,只有面向对象的方法和程序设计语言出现之后才得到改观。
冯•诺依曼体系结构也存在一些局限性,指令和数据共享同一存储的方式,使得数据传送受到一定的制约,影响指令运行的速度,并且难以实现并行处理。
哈弗结构则与冯•诺依曼体系结构略微不同,也是比较常见的一种计算机体系结构。哈弗结构是一种将程序指令存储和数据存储分开的存储结构,解决了访问冲突问题。两个存储器有四组总线:程序的数据总线和地址总线,数据的数据总线和地址总线。这使得取指令和取数据能够并行执行,提高了程序的执行速度。许多计算,例如多数据的流水线处理和DSP处理等,采用哈弗结构都能够提高数据处理速度。超大规模集成电路技术的进步,使得实现哈弗结构变得十分容易。由于哈弗结构具有较高的指令执行效率,不少CPU芯片采用哈弗结构。例如Microchip公司的PIC系列芯片,Zilog公司的Z8系列芯片,ARM公司的ARM9、ARM10和ARM11芯片等。
1957年2月8日,冯•诺依曼因患癌症去世,终年54岁。冯•诺依曼一生在诸多科学领域做出了卓越的贡献,所获得的荣誉遍及方方面面,人们尊称冯•诺依曼为现代计算机之父。