冯诺依曼体系结构

  • Post author:
  • Post category:其他




1.冯诺依曼体系结构的由来

美籍匈牙利数学家冯·诺伊曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。并确定了存储程序计算机的五大组成部分和基本工作方法。

冯·诺伊曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。人们把冯·诺伊曼的这个理论称为冯·诺伊曼体系结构。

从ENIAC到当前最先进的计算机都采用的是冯·诺伊曼体系结构。所以冯·诺伊曼是当之无愧的数字计算机之父。



2.发展背景

电子计算机的问世,奠基人是英国科学家艾伦·麦席森·图灵(Alan M. Turing)和美籍匈牙利科学家冯· 诺伊曼(John Von· Neumann)。

图灵的贡献是建立了图灵机的理论模型,奠定了人工智能的基础。

冯· 诺伊曼则是首先提出了计算机体系结构的设想。

半个多世纪以来,计算机制造技术发生了巨大变化,但冯· 诺伊曼体系结构仍然沿用至今,绝大部分计算机和服务器都遵守冯诺依曼体系结构。人们总是把冯· 诺伊曼称为“计算机鼻祖”。



3.理解冯诺依曼体系结构



3.1冯诺依曼体系结构简图

在这里插入图片描述



3.2为什么输入/出设备的数据,不直接给CPU反而给内存

我们看到结构图中的红色箭头,可以得知我们的数据都是先输入到内存之中再传输给CPU,而不是直接输送给CPU,这是为什么呢?

举个简单的例子,大家都熟知木桶原理,木桶能装取的最大容量是由最短的一块木板决定的,外设的速度和CPU的速度相差得非常之大,如果直接进行数据交换会导致效率十分低下(外设的速度很低,速度不匹配,CPU的闲置时间就会很长),因此需要内存充当缓存,来进行数据的处理,下面详细的解释一下不同存储设备的速度和缓存问题;

在这里插入图片描述



3.3为什么程序运行的时候,要加载到内存

对数据进行预加载,将程序缓存起来



3.4内存如何充当缓存区的?


在硬件层面上:

是通过预加载和预写入来完成的;

比如将程序预加载到内存中,将处理完的数据预写入到内存中,举一个形象的例子:

CPU是一栋房子的主人,内存是邮筒,当邮差(外设)送信(数据)的时候,就将信封放入到邮筒内,这就是预加载。当需要寄信的时候,将写好的信投入到邮筒中等待邮差来收取这就是预写入;

如果没有邮筒,主人就需要自己等待邮差不能干别的事情,这样工作的效率就十分的低下,而有了邮筒之后,就不必再盯着邮筒而可以干其它事情,效率自然高了;


在软件层面上:

将硬盘数据加载到内存,将内存中的数据转移到外设,以及数据的处理时间,数据的传送位置等,这些工作都是由OS(操作系统)做的;


由上述可知,缓存特征是可行的。



3.5内存是计算机的核心

在这里插入图片描述



4.在硬件层面上对冯诺依曼结构的理解

举个例子,我们通过QQ和别人联系,数据是怎么进行传递的呢?

在这里插入图片描述



版权声明:本文为ych9527原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。