< Linux > 冯 • 诺依曼体系

本文详细介绍了冯·诺依曼体系结构,包括输入输出设备、存储器、CPU的角色。阐述了内存存在的原因,从技术角度解释了内存作为速度缓冲区提升系统效率,以及成本角度说明内存的经济实用性。同时,解释了软件运行时必须加载到内存的原因,以及运算器和控制器的功能。最后,通过QQ聊天的例子展示了数据在冯·诺依曼体系中的流动过程。
摘要由CSDN通过智能技术生成

目录

何为冯 • 诺依曼体系

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

为什么软件程序在运行时必须加载到内存

运算器和控制器

解释你用QQ和朋友聊天的数据流动过程


何为冯 • 诺依曼体系

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

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

  • 输入设备:键盘、画图、摄像头、磁盘、网卡……
  • 输出设备:显示器、音响、磁盘、网卡、显卡……
  • 存储器:就是内存
  • (运算符器+控制器)[CPU、中央处理器]:

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

按理说,计算机把要处理的数据通过输入设备交给CPU处理,处理好后再通过输出设备显示结果,整个过程为何要有内存呢?

下面将从两个角度去解决这个问题:

一、技术角度:

  • CPU的内部是有寄存器的,寄存器就是一些存储单元,寄存器的速度是非常快的,而我们要清楚cpu的运算速度 > 寄存器的速度 > L1 ~ L3Cache > 内存 > 外设(磁盘)> 光盘磁带,因此我们得知输入输出设备的速度相较于CPU是很慢的,而如若直接把数据通过输入设备交给CPU处理,处理好后再通过输出设备显示结果,就会产生一个木桶效应:

  • 因此得知,计算机体系的效率不是由cpu决定的(尽管cpu很快),而是由输入输出这两个外设决定的,这就导致计算机的效率非常的差,所以不能只把外设和cpu对接起来,这样的效率太低了。因此冯诺依曼就在输入输出和cpu之间添加了存储器来改变这一现状:

  • 从数据角度看,外设不和CPU直接交互,而是和内存交互,CPU也是如此。仅是添加存储器这个媒介就能解决效率低的原因是如下:1、从硬件上,存储器的存在更好的适配了外设和CPU速度不均衡的特点。2、因为存储器的存在,让软件的存在有了更大的生存空间和价值。
  • 总结:内存在我们看来,就是体系结构的一个大的缓存,用于适配外设和CPU速度不均的问题!

二、成本角度

  • 前面提到过,CPU具有寄存器,而寄存器也具有存储数据的能力,为什么不用CPU的寄存器来充当这个内存呢,这样就不再需要单独添加内存了。从技术上谈是可以的,但是这就要考虑到成本了:寄存器的成本 >> 内存 >> 磁盘(外设)。如果用寄存器充当内存,光成本就要几十w,真承担不起。而计算机之所以能蔓延全球,主要是其具有便宜有效的特点。因此使用内存是最优选,既适配了速度不均的问题,也经济实惠。
  • 总结:使用内存可以达到用较低的成本,来获得较高的性能的特点。

为什么软件程序在运行时必须加载到内存

我们都知道,写好的软件在编译好后,要运行,必须要先加载到内存,但是为什么要先加载到内存呢?

  • 因为CPU在和存储器的交互中,要不断读取数据,这些数据必须是在内存里头,因为cpu只和内存打交道,但是你编译好的.exe程序是文件,而这个文件在编译好后是在磁盘这个外设上的,所以cpu会要求你把程序加载到内存,从而实现交互。而这个操作是操作系统帮你完成的,会自动加载到内存上(预加载)。
  • 总结:体系结构规定,cpu只和存储器(内存)打交道,要先把数据加载到内存

运算器和控制器

运算器:

  • 计算机计算的种类有两种:算数计算(+、-、*、/……) + 逻辑计算(&&逻辑与、||逻辑或……)

控制器:

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

几乎所有的硬件,只能被动的完成某种功能,不能主动的完成某种功能,一般都是要配合软件完成的(OS操作系统+CPU


解释你用QQ和朋友聊天的数据流动过程

假设你和你的朋友进行qq聊天,如何解释一个数据从你的输入到输出的整个数据流动过程呢?

因为你和你朋友的计算机都是冯诺依曼体系,所以你们通信的本质就是从一个体系结构到另一个体系结构,你是从键盘上输入数据的,随后被读近(预装载)到内存中,CPU从内存获取到消息后对消息进行各种封装(打包),然后再将其写回内存,在内存中把数据刷新到外设(显示器),同样也刷新到了网卡上,网卡在再经过内部的网络转换(忽略具体细节),此时这些数据传到了你朋友的网卡上,此时网卡就充当了输入设备,并把数据加载到内存,此时cpu进行数据的解包并交给存储器,此时再把存储器刷新到你朋友的外设,即显示器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三分苦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值