2

我有一个朋友仅用了30min就搞清楚了冯诺依曼体系结构

 2 years ago
source link: https://blog.csdn.net/weixin_43202123/article/details/122298807
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.



在这里插入图片描述

1、冯诺依曼人物简介

  约翰·冯·诺依曼(John von Neumann,1903年12月28日-1957年2月8日),美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼是罗兰大学数学博士,是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”。
  冯·诺依曼先后执教于柏林大学和汉堡大学,1930年前往美国,后入美国籍。 历任普林斯顿大学教授、普林斯顿高等研究院教授,入选美国原子能委员会会员、美国国家科学院院士。早期以算子理论、共振论、量子理论、集合论等方面的研究闻名,开创了冯·诺依曼代数。冯·诺依曼第二次世界大战期间曾参与曼哈顿计划,为第一颗原子弹的研制作出了贡献。
  冯·诺依曼1944年与奥斯卡·摩根斯特恩合著《博弈论与经济行为》,是博弈论学科的奠基性著作。 晚年,冯·诺依曼转向研究自动机理论,著有对人脑和计算机系统进行精确分析的著作《计算机与人脑》(1958年),为研制电子数字计算机提供了基础性的方案。 其余主要著作有《量子力学的数学基础》(1926)、《经典力学的算子方法》、《连续几何》(1960)等。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzIwMjEyMw==,size_16,color_FFFFFF,t_70图一:冯诺依曼 watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzIwMjEyMw==,size_16,color_FFFFFF,t_70图二:冯诺依曼

2、冯诺依曼体系结构发展背景

  电子计算机的问世,奠基人是英国科学家艾伦·麦席森·图灵(Alan M. Turing)和美籍匈牙利科学家冯· 诺伊曼(John Von· Neumann)。图灵的贡献是建立了图灵机的理论模型,奠定了人工智能的基础。而冯· 诺伊曼则是首先提出了计算机体系结构的设想。
  1946年美籍匈牙利科学家冯·诺伊曼提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式存储,并确定了存储程序计算机的五大组成部分和基本工作方法。 半个多世纪以来,计算机制造技术发生了巨大变化,但冯· 诺伊曼体系结构仍然沿用至今,人们总是把冯· 诺伊曼称为“计算机鼻祖”。

3、冯诺依曼体系结构

  冯诺依曼认为一个计算机的基本构成分为三部分:输入设备、输出设备、中央处理器CPU。
    输入设备:将我们人的思想和表达的信息传给计算器
    输出设备:将计算器的运算结果和处理后的数据传给人
    CPU:运算器:运算主要分为算术运算和逻辑运算、控制器:控制功能
  我们的输入设备、输出设备是很慢的,但是我们的CPU处理速度是很快的,尤其是随着技术的革新,CPU的处理速度越来越快,因木桶效应的影响就导致我们整个计算机的效率体现出很慢的一个结果,所以为了让计算机的运行效率更快,我们应该怎么办呢?
在这里插入图片描述
  我们就在输入和输出设备与CPU中间加入了中间设备----内存。内存比输入和输出设备快很多,但是比CPU却慢,是处于快设备和慢设备中间的。用户输入的数据先存储在内存中,CPU从内存中读取数据,CPU处理完数据也是放在内存的,然后将数据从内存显示到显示器中。起到一个不快不慢的作用。
在这里插入图片描述
  经过上面的分析,我们得出一个重要结论:内存是具有数据存储能力的(电脑的4G8G16G就是说的内存)。
  从这个角度说明内存可以预装数据,CPU要处理数据,跟输入设备要数据,输入设备会将一批数据传给内存,CPU从内存中索取设备,只跟输入设备打一次交道,剩下的数据从内存中依次读取。CPU再处理数据的时候,输入设备仍然可以给内存传输数据,即计算和加载的过程可以同时进行,这样CPU就可以得到源源不断的数据,这些数据都是从内存来的。所以内存预装数据的能力才是提高效率的秘诀。CPU处理完数据将数据传给内存,这时候CPU的使命就完成了,输出设备从内存中读取设备是由其他模块实现的。
在这里插入图片描述

4、冯诺依曼体系结构分析

对于上面的冯诺依曼体系结构,我们进行一些结论的叙述和分析:
  (1)预装数据的原理:局部性原理。比如你正在执行100行,下一次很大可能是执行101行,所以会把100行后面的数据预装到内存中,这样CPU再访问数据的时候,命中率是很高的。
  (2)程序运行之前为什么要加载到内存?可执行程序(文件)是在硬盘(外设)上的,程序的运行是要CPU去读取程序并运行,所以可执行程序必须要加载到内存,再由CPU去访问执行。
  (3)数据的存储离不开寄存器,而寄存器不单单仅在CPU中存在,在输入设备、输出设备、内存中都有寄存器的存在。
  (4)各种硬件单元之间连接用的是:总线(IO总线-外设和内存之间的通信、系统总线-内存和CPU间的通信)。
  (5)我们以上谈论最多的是数据,除了数据层面上硬件设备间要相互交互;硬件控制信号也有一个交互的概念,控制信号跟数据不同,外设是可以跟CPU直接进行信号级别的互相通信,比如:中断信号。CPU和外设之间只有数据才需要通过内存这一中间媒介进行交互,信号级别的通信是可以直接交互的。
在这里插入图片描述

5、冯诺依曼体系实际应用(QQ通信)

  你和你的朋友用qq联系,发送消息是一个怎样的过程呢?这个过程在冯诺依曼体系中怎么体现?
在这里插入图片描述

  以上就是小编关于冯诺依曼体系结构的理解,全篇阅读时间需要不多,静下心来阅读你一定会懂的!欢迎读者留言。
在这里插入图片描述


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK