码迷,mamicode.com
首页 > 其他好文 > 详细

冯·诺依曼体系结构

时间:2014-09-23 03:02:33      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   ar   strong   数据   2014   sp   on   

冯·诺依曼结构(von Neumann architecture)也称作普林斯顿结构,是一种将程序(指令序列的集合)和数据存放在同一存储器的不同地址的电脑设计概念结构。这是建立在冯·诺依曼原理,即程序可看做一种特殊的“数据”,同样地可以被处理和存储,故两者可存放在同一存储器中。

那么该体系结构具有什么样的特点呢?第一,程序和数据存放在同一存储器的不同地址上;第二,存储单元线性排列,且其位数固定;第三,顺序执行,即程序/数据—>内存—>取指令执行指令;第四,组成上有运算器,存储器,控制器,输入/输出设备。如下图:

bubuko.com,布布扣

冯·诺依曼体系结构的特点决定了它可以最大限度地利用资源。怎么理解呢?你数据和程序放在同一个地方,不用花销太多的资源就能取到数据和程序。这也算是冯氏结构的一大优点吧。可是建立在程序和数据间的共享总线导致了冯·诺依曼瓶颈。CPU和存储器之间的流量相比于内存容量而言是非常小的,因为程序和数据是不同同时被读取的、CPU的速率远远大于内存读取速率,这样在处理数据较大的情况时,就会严重限制其CPU的处理速度(CPU必须继续强迫等待数据在内存的转换因为CPU速度和内存容量远远比它们之间的流量增长来的更快)。

 

与冯氏结构相对的是哈佛结构,即将程序和数据分开存储的结构。其过程CPU首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度。如下图:bubuko.com,布布扣

联系冯氏结构的瓶颈,我们很快能想到哈佛结构能够完成指令和数据的并发操作,而冯氏结构只能是顺序操作。这和我们之前学习的串行和并行似乎有相同的道理在里面,从而我们可以把冯氏结构看出串行结构,而哈佛结构看成并行结构。

在通用计算机系统中,随着处理器和操作系统更新,软件的不断更新,冯·诺依曼结构占有绝对优势,但是在嵌入式应用中,程序大多数都是直接固化在电路板上的,当然这时使用冯·诺依曼结构也完全可以,但是其灵活性得不到体现。

综上所述:相同点:其组成部件是相同的;不同点:程序和数据存放位置处理的不一样。

PS:过段时间再查点纸质和网上资料,再行补充。

参考资料:
0.Von Neumann architecture:http://en.wikipedia.org/wiki/Von_Neumann_architecture
1.冯·诺伊曼结构:http://zh.wikipedia.org/zh/%E5%86%AF%C2%B7%E8%AF%BA%E4%BC%8A%E6%9B%BC%E7%BB%93%E6%9E%84
2.Harvard_architecture:http://en.wikipedia.org/wiki/Harvard_architecture
3.哈佛结构:http://zh.wikipedia.org/zh/%E5%93%88%E4%BD%9B%E7%BB%93%E6%9E%84
4.http://www.cnblogs.com/li-hao/archive/2011/12/21/2296010.html

冯·诺依曼体系结构

标签:blog   http   使用   ar   strong   数据   2014   sp   on   

原文地址:http://www.cnblogs.com/IdeaSpark-01/p/3987386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!