前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >冯诺依曼体系结构

冯诺依曼体系结构

作者头像
二肥是只大懒蓝猫
发布2023-03-30 14:31:26
4580
发布2023-03-30 14:31:26
举报
文章被收录于专栏:热爱C嘎嘎

我们绝大多数计算机都遵循着冯诺依曼体系,即一整套计算机设备中,一定是由输入设备、存储器、运算器、控制器和输出设备构成。

 其中:

①存储器指的是内存,而内存有一个特点,那就是掉电易失。存储器的作用是临时存储

而磁盘,拥有永久性存储能力,但是磁盘不属于内存,它是属于外存,但是在冯诺依曼体系中,没有外存这个结构,只有外设!因此,磁盘属于外设,外设指的是冯诺依曼体系中的输入设备和输出设备。外设这个词,是相对于内存+cpu而言的。外设的作用是永久存储

其中,磁盘和网卡,即属于输入设备,也属于输出设备。

②运算器+控制器+其他(cache,寄存器等)=CPU——>俗称:芯片。其特点就是快(各方面)

CPU的作用是计算

对比:

cpu

存储器

较快

外设

较慢

既然CPU的作用是计算,那么CPU其实很笨,它只能被动的接受传进来的指令和数据,然后去执行指令,达到计算的目的。

在接受指令前,CPU必须认识这个指令。那么CPU怎么样地去认识指令?答案是CPU拥有自己的指令集,指令集以硬件的形式存在CPU中,相当于有自己的一本字典大全或是词汇。所以我们在写代码的时候,编译的本质就是将代码变成二进制可执行程序后,成为可以让CPU认识的指令,那么在传入CPU,让CPU计算的时候,CPU就翻自己的指令集,找到了相对于的指令,就可以进行处理了!

CPU的数据从哪来?

从内存或外存中来。但是CPU是个急性子,因此给数据的那一方不能慢,也不能太快。我们由木桶原理可知道,木桶能装的水的多少,取决于最短的那块板。因此,CPU与其它设备合作的时候,它们的速度,取决于较慢的哪一方。所以,CPU就是在存储器内存中拿。CPU在读取和写入数据层面只和内存打交道,主要是为了提高整机效率。

内存天然就有数据吗?

并不是!我们计算机中的数据,在磁盘上(不谈光盘之类的)!如果CPU每次要处理的数据,都得先让内存从磁盘中读取写入,那么效率很低。所以,数据在CPU要之前,操作系统在我们开机的时候,就将CPU将要处理的数据,从磁盘上加载到内存中。操作系统就是在这里做出决策的(需要预处理的数据有多少,当不用的时候怎么清除,清除多少等等决策)

当把内存中的数据搬到外存中去,和把数据从外存搬到内存中去,这个操作,我们就称为IO过程。(INPUT/OUTPUT)

所以,我们如今平常使用的计算机,就是硬件和软件的完美结合。

结论:在数据层面

1.CPU不和外设直接打交道,和内存直接打交道 2.所有外设,有数据需要载入,只能载入到内存中;内存写出,也一定写到外设中。 也就是说,CPU只和内存打交道。

那么,这里就能解释一些现象了:

程序要运行的时候,为什么必须要加载到内存?因为CPU要执行我们写的代码,要访问数据,而我们写的代码是在磁盘上的,所有,必须要把程序加载到内存,CPU从内存中获取。(体系结构规定!)也是为了提高效率。

上面所说的,都是数据层面的。

在控制上面,CPU与外设有打交道,这会在往后的文章中补充。

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上 现在来看一个具体的实例:

假设我和我的一个朋友,一个在广东,一个在北京,那么我们在QQ聊天上,打出了一个"你好",那么数据流是如何在不同的电脑中流动?(这里不考虑网络)

 是这样的:我在键盘上输入"你好"后,数据就会传到内存中进行加密处理,然后将数据一式两份,一份在我们自己的显示器上显示出来,另一份通过网卡,再通过网络,传到了我的朋友的网卡中,此时他的网卡的角色是输入设备,然后数据由流到他的内存中解密后,最后显示再他的显示器上面。

我们联系的前提是:打开登陆了我们各自的QQ程序,我们的QQ程序加载到了内存中,然后CPU执行QQ程序的代码,执行上面的流程。

那么如果不是打出"你好",而是发送文件呢?

其实文件无非就是体积大了点的"你好",文件从磁盘中搬到内存中(磁盘到QQ程序,然后到内存),然后通过加密,传到对方的输入设备(网卡),接着就是上面所述的操作了。

其实就跟我们在写代码的时候,使用scanf或者cin,从键盘输入,然后读到了我们程序的内部(内存);

最后,这里简单地介绍和解释一下冯诺依曼体系,为后面学习操作系统做好准备工作。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档