新闻  |   论坛  |   博客  |   在线研讨会
作为一个程序员,不知道什么是冯诺依曼体系结构?那肯定也不知道哈佛结构喽!
编码之外 | 2020-06-06 02:43:46    阅读:243   发布文章

听说你还不知道什么是冯诺依曼体系?赶紧转行吧,这可是最基本的最基础的啊,要知道冯诺依曼可是计算机行业祖师爷般的存在啊,所以啊,无论你是学习java,Python,还是天下第一的PHP,只要你是个干编程的,那你就需要知道啥是冯诺依曼体系结构!

就这?一般爱学习的程序员都知道冯诺依曼体系是个咋回事,毕竟这是大学基础课程中就重点学习过的,对的,就是计算机组成原理中的,不过鉴于大多数程序员的计算机基础都不咋滴,所以,我想啊,还是有一部分人对这个冯诺依曼体系不太熟悉的,另外,如果今天我就简单的和你说说啥是冯诺依曼体系的话,那这篇文章就没啥价值了!

是的,我还要给你说说哈弗体系结构,不知道是啥?没关系,看完就知道了!

冯诺依曼体系是啥玩意?

来来,一起做个题:请看题

冯诺依曼体系的五部分是什么?

咋样?会吗?偷偷告诉你,我当初上大学的时候,记得是期末考试,计算机组成原理的时候遇见这道题,毫无疑问,我跳过了,不会啊,想不起来(不是我菜,主要是我压根就没看过计算机组成原理的书,也没咋上过课,别跟我学,我现在都后悔死了)

少壮不努力老大徒伤悲啊,来来,继续咱这道题目,你知道是什么么?如果你不知道,那真的要好好反省了,冯诺依曼体系的五大部分主要是:

1、运算器 2、控制器 3、存储器 4、输入设备 5、输出设备

其实吧,我当初也看过,知道了这五个,但是后来不看就忘记了,我现在回想起来啊,主要当时还是自己对冯诺依曼体系是个啥完全懵啊,根本不知道是个什么玩意,所以顶多算是死记硬背,不理解的话,别看就这五个,照样记不住!

但是后来我发现,如果真的是理解了什么是冯诺依曼体系之后,再遇见这样的问题,想一下,马上出答案啊!

那该怎么好好嘞,别急,这篇文章一定帮你搞定它!

你有笔记本电脑吗

咋回事啊,不是要和我讲讲冯诺依曼体系吗?怎么扯到这啊,我有啊,笔记本电脑,ThinkPad的,小红点信仰啊,怎么啦?

为啥说这个,那是因为现在的电脑为什么是这样的那是和冯诺依曼体系有决定性关系的,说白了,就是冯诺依曼体系规定了电脑应该是个什么样子的。

你觉得你的电脑主要有哪些东西啊

现在你来说说,你的电脑,都有哪些东西啊,你可能会说:

1、显示器 2、外壳 3、键盘 4、鼠标 5、……

你看看,你看看,就知道这些是吧,如果你是非编程人员,知道这些还说的过去,但是作为一个程序员,学编程的,说出这些那可要丢人喽。

你不能只说你看到的表面的一些东西啊,你最起码说下内部构造吧,比如:

1、CPU 2、内存条 3、主板

你看看,你看看这些一说,就显得专业的多了吧。关于这三点,我都是写过文章介绍的,不知道的赶紧翻翻之前的文章,或者直接找我要。

那跟冯诺依曼体系有啥关系啊

冯诺依曼体系咱们直观上就能感觉出冯诺依曼是个人名吧,是的,他就是咱们计算机行业的祖师爷之一,另外一个是图灵,咋样,是不是很熟悉,不过咱今天不打算聊他。

在早些时候啊,计算机还不像现在这么牛气,那时候哪有什么电脑啊,然后时间就这样过啊过啊,然后有一个叫做冯诺依曼的人出来啊,他说出了自己心目中的计算机的样子,那他想象中的电脑是啥样的嘞?

1、第一,他想啊,计算机,首先肯定可以计算东西,比如一些算术运算啊,逻辑运算啊,对吧,计算机,计算那是必须的,所以得有这个,这个就叫做运算器吧。

2、然后嘞,你能计算了,但是有的时候进行的任务可能比较多,不能一次性把当前计算的任务完全计算出来,也就是说啊,我得有个啥能记住我之前在干啥,我可以来回干个啥不至于找不到刚才做的事,我得知道啥时候干什么样的事,这就是控制的东西,所以这个得有,就叫做控制器吧。

3、除了上述两点,还有重要的一点就是,我得可以存储啊,我需要的东西应该有个地方可以存放吧,比如你需要的计算原始数据以及计算之后的数据,那这是啥,就是一些存储设备啊,就是内存喽。

4、以上貌似跟我们人没啥关系,计算机最终还是要我们来操作的,那怎么操作嘞,这就得有个我们给计算机反馈,计算机也可以给我们反馈的东西啊,这是啥,就是输入输出设备啊。

好啦,以上就是冯诺依曼心目中计算机应该有的样子啊,你看看,根据他说的,你是不是怎么都无法与现在你用的电脑联系起来啊。

你的电脑主要就是这些东西

其实吧,你的电脑也就上面那几样,来来,我给你捋一捋,首先就是计算机的三大件:

1、CPU 2、内存 3、主板

你的电脑主要就是这些,主板是一个综合的载体,CPU和内存什么的都在主板上插着,CPU负责运算和控制,内存负责存储,当然你会说还有什么硬盘,显示器,鼠标和键盘什么的,对的,但是没有这些,只有上面三大件,照样能跑起来,当然得给它通电,只不过用着费劲罢了。

但是三大件是核心啊,那这个跟冯诺依曼想的那些有啥关系嘞,首先看他说的一二条,就是运算器和控制器,这些其实就是组成了我们说的CPU,叫做中央处理器,然后还有存储内存,虽然三大件通上电就能跑,但是一般都会有输入输出设备,这也是冯诺依曼想象中应该有的。

冯诺依曼体系就这么回事

所以啊,到这里,你明白冯诺依曼体系咋回事了吗?说白了就是冯诺依曼提出的计算机应该包含哪些东西,主要就是:

1、运算器 2、控制器 3、存储器 4、输入设备 5、输出设备

是的,冯诺依曼觉得计算机就应该有这些东西,不然就不能叫做计算机,于是啊,在以后的日子里,冯诺依曼提出来的这些就成了一个标准,所以大家以后再造计算机的时候都会按照这些开整,所以啊,说他是计算机行业的祖师爷不过分吧!

冯诺依曼体系可不仅仅只有这些哦

上面大致给你介绍了冯诺依曼体系体系的一些东西,但是都是比较基本的,也就是基础知识啦,接下来我稍微深入点,说点其他的。

冯诺依曼体系中的存储结构

我们往内部构造去说一点不一样的,冯诺依曼说了,计算机应该有存储器,这个存储器干啥的嘞?计算机干啥的,不就做一些数据的处理吗?你给输入点啥,它给你返回点啥,那么这里你就想,数据是被下了指令去怎样怎样的,对吧,就是计算机按照你给的指令去把数据搞成什么样,那么这个过程,计算机要搞明白两个东西,一是指令,二是数据,对的,请记住指令和数据。

那么这些东西,最终是要与存储器打交道的,我们这里说的存储器就是指的内存先,那么很多指令和数据的处理都是需要在内存中去完成的,说个直白点的,比如程序吧,我们写的程序,或者再直白点,你打开一个软件,其实内部都是把相关的数据加载进内存中,你的软件才能运行。这就是对数据的处理,其中也有对指令的操作。

好啦,到这里你知道了,指令和数据是需要加载进内存中执行的,看过之前文章的应该知道,指令和数据最终都是转成二进制数据加载进内存,然后去执行一些操作,这里你不需要明白的很细节,你就需要知道有个指令和数据需要在内存中去干一些事。

那么指令和数据人家也是个物件啊,所以得给人家进行存放的地方,得让人家有个容身之地,这时候在内存中怎么安排嘞,大致就有两种,要么你俩存储在一起,睡一张床,要么你俩分开睡,就是单独存储喽。

哈弗体系结构

到这里就要引出一个新的概念了,那就是哈佛体系结构,我们一直在说冯诺依曼体系结构,其实还有个哈佛体系结构,那么这俩货有啥不一样嘞?

我们今天主要讲的冯诺依曼体系结构就是把指令和数据存放在一起,冯诺依曼觉得,指令最终还是变成数据了,这俩没啥不一样,就一起存放呗。

但是在哈佛体系结构中就不一样,在哈佛体系中就认为指令就是指令,而数据就是数据,还是不一样滴,所以两者需要分开存储。

所以啊,记住了冯诺依曼体系和哈弗体系结构的区别就是是否区分指令和数据的,冯诺依曼体系是不区分的,而哈佛体系结构是区分的。

好啦,到这里你知道这个就差不多了,其实无论是冯诺依曼体系还是哈佛体系结构,现在都有应用,当然,两者各有千秋,不过,还是冯诺依曼体系的名气更大,应用最广


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客