冯.诺伊曼体系

目录

冯.诺伊曼体系结构

为什么要有存储器(内存)

运算器和控制器

实例解剖


冯.诺伊曼体系结构

我们常见的计算机,如笔记本。以及我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系结构。

冯诺依曼把计算机分为如下几个部分:

  • 输入设备:键盘、话筒、摄像头、磁盘、网卡......
  • 输出设备:显示器、音响、磁盘、网卡、显卡.....
  • 存储器:指的就是内存
  • 运算器+控制器(CPU、中央处理器)

为什么要有存储器(内存)

按照常规思路,计算机只要把数据通过输入设备交给CPU进行处理,处理完后再通过输出设备显示结果,整个过程中似乎并不牵涉内存,那为什么计算机中还要存在内存呢??

下面我们将要从两个角度分析这个问题:

一、技术角度

  • 在我们的CPU中存在寄存器,寄存器就是一些存储单元,并且其运算速度是非常快的,在我们计算机中:CPU运算速度>寄存器速度>L1~L3cache>内存>外设(磁盘)>光盘磁带。因此我们知道输入输出设备的速度相较于CPU来说是非常慢的,如果我们将数据通过输入设备交给CPU处理,并且处理后通过输出设备显示结果,那么就产生了木桶效应,大大降低了计算机的性能。

  • 由此我们得知决定计算机性能效率的并非是CPU,而是由输入输出这两个外设决定的,这就导致了计算机的性能效率非常的差,所以我们不能只把外设和CPU进行对接起来,为了提高计算机性能效率,我们就在输入输出设备和CPU之间添加存储器来改变这一现状:

  • 从数据角度看,外设不和CPU进行直接交互,而是和内存进行交互,CPU也是如此。添加完存储器这个媒介后解决效率低下的原因如下:1、从硬件角度,存储器的存在更好的适配了外设和CPU速度不均衡的弊端。2、因为存储器的存在,让软件的存在有了更好的生存空间和价值。

⭐:内存在我们看来,就是体系结构的一个大的缓存,用于适配外设和CPU速度不均衡的问题。

二、成本角度

  • CPU中含有寄存器,寄存器和内存一样具有存储数据的能力,并且寄存器的运算速度还快,那我们为什么不用CPU的寄存器来充当内存呢??这样我们就不需要存储器了。从技术层面来讲这样确实可以,但是我们并没有考虑成本,成本大小:寄存器>>内存>>磁盘(外设)。如果我们用寄存器充当内存作用,那么一台电脑的成本可能就是几十个W。而计算机要想成为大众产品,就必须满足便宜有效的特点。因此我们使用内存是最优选,既适配了速度不均的问题,又达到了经济实惠。

⭐:使用内存可以达到用较低的成本来获取较高的性能的特点。

如何理解软件程序在运行时必须加载到内存

我们知道代码编译好后要运行,运行就必须要先加载到内存,但是为什么要先加载到内存呢?

  • CPU和存储器进行交互的过程中需要不断读取数据,而这些数据必须是在内存里面,因为CPU只和内存进行打交道,对于我们编译好的.exe程序文件,文件编译好后是在磁盘这个外设上面,所以CPU会要求你把程序加载到内存,从而实现交互。而这个操作是操作系统帮你完成的,会自动加载到内存上面。

⭐:体系结构稳定,cpu只和存储器(内存)打交道,要先把数据加载到内存。

运算器和控制器

运算器:

  • 计算机的计算方式有两种:算术运算(+、-、*/....)+逻辑运算(&&逻辑与、||逻辑或.....) 

控制器:

  • 控制器也是一个硬件,虽然外设和中央处理器在数据上并没有交互,但在其他方面还是有交互的。我们在前面得知输入设备会将数据预装到内存里面,从而和cpu进行交互,但是我们怎么知道所有数据都被预装载了呢?针对没有预装载的数据,中央处理器就会和外界进行交互协商,而这个操作就是由控制器来进行完成,从而将数据尽可能加载到内存或者把数据从内存加载到外设。

⭐:几乎所有的硬件,只有被动的完成某种功能,不能主动的完成某种功能,一般都需要配合软件进行完成。(OS+CPU)

实例解剖

当我们用QQ和我们的朋友聊天时,聊天数据是怎么流动的呢??

我们的电脑用的都是冯诺依曼体系,所以通信的本质就是从一个体系结构到另外一个体系结构,你从键盘上输入数据,随后数据预装载到内存中,CPU从内存中获取到消息后对其进行封装打包, 然后再将其写回内存,在内存中把数据刷新到外设(显示器),同样也刷新到网卡上,网卡在经过网络,此时数据就传到了你朋友的网卡上,对于你朋友来说网卡就充当输入设备,再把数据加载到内存,此时CPU进行数据的解包并交给存储器,此时再把存储器中的数据刷新到你朋友的外设即显示器上。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值