冯诺依曼体系结构

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

 其中:

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

而磁盘,拥有永久性存储能力,但是磁盘不属于内存,它是属于外存,但是在冯诺依曼体系中,没有外存这个结构,只有外设!因此,磁盘属于外设,外设指的是冯诺依曼体系中的输入设备和输出设备。外设这个词,是相对于内存+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,从键盘输入,然后读到了我们程序的内部(内存);

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山雾隐藏的黄昏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值