冯诺依曼体系结构计算机

冯诺依曼体系结构计算机_第1张图片

冯诺依曼结构诞生

        第二次世界大战期间,美军要求实验室为其提供计算量庞大的计算结果。于是便有了研制电子计算机的设想。面对这种需求,美国立即组建研发团队,包括许多工程师与物理学家,试图开发全球首台计算机(后世称作ENIAC机)。虽然采取了最先进的电子技术,但缺少原理上的指导。这时,冯·诺依曼出现了。他提出了一个至关重要的方面:计算机的逻辑结构。冯·诺依曼从逻辑入手,带领团队对ENIAC进行改进。他的逻辑设计具有以下特点:

(1)将电路、逻辑两种设计进行分离,给计算机建立创造最佳条件;

(2)将个人神经系统、计算机结合在一起,提出全新理念,即生物计算机。

        即便ENIAC机是通过当时美国乃至全球顶尖技术实现的,但它采用临时存储,将运算器确定成根本,故而缺点较多,比如存储空间有限、程序无法存储等,且运行速度较慢,具有先天不合理性。冯·诺依曼以此为前提制定以下优化方案:

(1)用二进制进行运算,大大加快了计算机速度;

(2)存储程序,也就是通过计算机内部存储器保存运算程序。如此一来,程序员仅仅通过存储器写入相关运算指令,计算机便能立即执行运算操作,大大加快运算效率。

冯诺依曼体系结构计算机_第2张图片

 

冯诺依曼特点及分析

特点

        现代计算机发展所遵循的基本结构形式始终是冯·诺依曼机结构。这种结构特点是“程序存储,共享数据,顺序执行”,需要 CPU 从存储器取出指令和数据进行相应的计算。主要特点有:

(1)单处理机结构,机器以运算器为中心;

(2)采用程序存储思想;

(3)指令和数据一样可以参与运算;

(4) 数据以二进制表示;

(5)将软件和硬件完全分离;

(6) 指令由操作码和操作数组成;

(7)指令顺序执行。

优势

        冯·诺依曼架构第一次将存储器和运算器分开,指令和数据均放置于存储器中,为计算机的通用性奠定了基础。虽然在规范中计算单元依然是核心,但冯·诺依曼架构事实上导致了以存储器为核心的现代计算机的诞生。

注:请各位在心里明确一件事情:存储器指的是内存,即 RAM。磁盘理论上属于输入输出设备。

        该架构的另一项重要贡献是用二进制取代十进制,大幅降低了运算电路的复杂度。这为晶体管时代超大规模集成电路的诞生提供了最重要的基础,让我们实现了今天手腕上的 Apple Watch 运算性能远超早期大型计算机的壮举,这也是摩尔定律得以实现的基础。

局限

        冯·诺依曼架构为计算机大提速铺平了道路,却也埋下了一个隐患:在内存容量指数级提升以后,CPU 和内存之间的数据传输带宽成为了瓶颈。CPU 与共享存储器间的信息交换的速度成为影响系统性能的主要因素,而信息交换速度的提高又受制于存储元件的速度、存储器的性能和结构等诸多条件。 

        传统冯·诺依曼计算机体系结构的存储程序方式造成了系统对存储器的依赖,CPU 访问存储器的速度制约了系统运行的速度。集成电路 IC 芯片的技术水平决定了存储器及其他硬件的性能。为了提高硬件的性能, 以英特尔公司为代表的芯片制造企业在集成电路生产方面做出了极大的努力,且获得了巨大的技术成果。

        现在每隔 18 个 月 IC 的集成度翻一倍,性能也提升一倍,产品价格降低一半,这就是所谓的“摩尔定律”。 这个规律已经持续了40 多年,估计还将延续若干年。然而,电子产品面临的二个基本限制是客观存在的:光的速度和材料的原子特性。首先,信息传播的速度最终将取决于电子流动的速度,电子信号在元件和导线里流动会产生时间延迟,频率过高会造成信号畸变,所以元件的速度不可能无限的提高直至达到光速。第二,计算机的电子信号存储在以硅晶体材料为代表晶体管上,集成度的提高在于晶体管变小,但是晶体管不可能小于一个硅原子的体积。 随着半导体技术逐渐逼近硅工艺尺寸极限,摩尔定律原导出的规律将不再适用。

对冯·诺依曼计算机体系结构缺陷的分析:

(1)指令和数据存储在同一个存储器中,形成系统对存储器的过分依赖。如果储存器件的发展受阻,系统的发展也将受阻。

(2)指令在存储器中按其执行顺序存放,由指令计数器PC指明要执行的指令所在的单元地址。 然后取出指令执行操作任务。所以指令的执行是串行。影响了系统执行的速度。

(3)存储器是按地址访问的线性编址,按顺序排列的地址访问,利 于存储和执行的机器语言指令,适用于作数值计算。但是高级语言表示的存储器则是一组有名字的变量,按名字调用变量,不按地址访问。机器语言同高级语言在语义上存在很大的间隔, 称之为冯·诺依曼语 义间隔。消除语义间隔成了计算机发展面临的一大难题。

(4)冯·诺依曼体系结构计算机是为算术和逻辑运算而诞生的,目前在数值处理方面已经到达较高的速度和精度,而非数值处理应用领域发展缓慢,需要在体系结构方面有重大的突破。

(5)传统的冯·诺依曼型结构属于控制驱动方式。它是执行指令代码对数值代码进行处理,只要指令明确,输入数据准确,启动程序后自动运行而且结果是预期的。一旦指令和数据有错误,机器不会主动修改指令并完善程序。而人类生活中有许多信息是模糊的,事件的发生、发展和结果是不能预期的,现代计算机的智能是无法应对如此复杂任务的。

展望

        冯·诺依曼结构开启了计算机系统结构发展的先河,但是因为其集中、顺序的的控制而成为性能提高的瓶颈,因此各国科学家仍然在探索各种非冯·诺依曼结构,比如,数据流计算机,函数式编程语言计算机等都是较为著名的非冯·诺依曼结构。

        近几年来人们努力谋求突破传统冯·诺依曼体制的局限,各类非诺依曼化计算机的研究如雨后春笋蓬勃发展,主要表现在以下四个方面:

(1)对传统冯·诺依曼机进行改良,如传统体系计算机只有一个处理部件是串行执行的,改成多处理部件形成流水处理,依靠时间上的重叠提高处理效率。

(2)由多个处理器构成系统,形成多指令流多数据流支持并行算法结构。这方面的研究目前已经取得一些成功。

(3)否定冯·诺依曼机的控制流驱动方式。设计数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行地执行。这是真正非诺依曼化的计算机,这样的研究还在进行中,已获得阶段性的成果,如神经计算机。

(4)彻底跳出电子的范畴,以其它物质作为信息载体和执行部件,如光子、生物分子、量子等。 众多科学家正为进行这些前瞻性的研究。

 

你可能感兴趣的:(计算机导论,冯诺依曼结构)