文章目录
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和别人联系,数据是怎么进行传递的呢?