冯诺依曼和哈佛结构结构与哈佛结构计算机的差别?为什么使用冯诺依曼和哈佛结构结构比较多?

冯诺依曼结构
& &&冯诺依曼结构,也叫普林斯顿结构,指令和数据是不加区别地混合存储在同一个存储器中的,共享数据总线。指令和数据地址指向同一个存储器的不同物理位置,指令和数据的宽度相同。由于指令和数据放在同一个存储器中,因此冯诺依曼结构中不能同时取指令。又由于存储器的速度远低于CPU的速度,从而使CPU与存储器交换数据成了影响高速计算和系统性能的瓶颈。ARM7,80x86等都是冯诺依曼结构。
& & 哈佛结构,指令和数据是完全分开,存储器分为程序存储器和数据存储器;至少拥有2组总线:程序存储器的数据总线和地址总线,数据存储器的数据总线和地址总线,这种分开的程序总线和数据总线,可允许同时获取指令字(来自程序存储器)和操作数(数据存储器),互不干扰。这意味着在一个机器周期内可以同时准备好数据和指令,本条指令执行时可以预取下一条指令,所以哈佛结构的CPU具有较高的执行效率。同时由于指令和数据分开存放,可以使指令和数据有不同的宽度。ARM9、ARM10、ARM11,大多数单片机和数字信号处理系统等都是哈佛结构结构。
混血儿&&冯诺依曼结构和哈佛结构
& & 许多现代微型计算机的高速缓冲存储器采用哈佛结构,将Cache分为指令Cache和数据Cache,而主存采用冯诺依曼结构,只有一个存储器,由数据和指令混用。如此将哈佛结构和冯诺依曼结构结合起来,不仅可以提高主存的利用率,而且可以提高程序执行的效率,缩短指令执行的时钟周期。
本文链接:&
阅读(...) 评论()
levels of contents7289人阅读
计算机(1)
(:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构。首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,如公司的16芯片的程序指令是14位宽度,而数据是8位宽度。
哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。
目前使用哈佛结构的和有很多,除了上面提到的公司的系列芯片,还有的MC68系列、公司的Z8系列、公司的AVR系列和公司的ARM9、ARM10和ARM11。
冯·诺伊曼结构
(von Neumann architecture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。本词描述的是一种实作的计算装置,以及一种相对于的序列式结构参考模型(referential
本结构隐约指导了将储存装置与中央处理器分开的概念,因此依本结构设计出的计算机又称储存程式型电脑。
最早的计算机器仅内涵固定用途的程式。现代的某些计算机依然维持这样的设计方式,通常是为了简化或教育目的。例如一个仅有固定的程式,它不能拿来当作软件,更不能拿来玩。若想要改变此机器的程式,你必须更改线路、更改结构甚至重新设计此机器。当然最早的计算机并没有设计的那个可编程化。当时所谓的“重写程式”很可能指的是纸笔设计程式步骤,接着制订工程细节,再施工将机器的电路配线或结构改变。
而储存程式型电脑的概念改变了这一切。借由创造一组,并将所谓的转化成一串指令的执行细节,让此机器更有弹性。借着将指令当成一种特别型态的静态资料,一台储存程式型电脑可轻易改变其程式,并在程控下改变其运算内容。冯·诺伊曼结构与储存程式型电脑是互相通用的名词,其用法将于下述。而则是一种将程式资料与普通资料分开储存的设计概念,但是它并未完全突破冯.诺伊曼架构。
储存程式型概念也可让程式执行时自我修改程式的运算内容。本概念的设计动机之一就是可让程式自行增加内容或改变程式指令的内存位置,因为早期的设计都要使用者手动修改。但随着索引暂存器与间接位置存取变成硬件结构的必备机制后,本功能就不如以往重要了。而程式自我修改这项特色也被现代程式设计所弃扬,因为它会造成理解与除错的难度,且现代中央处理器的管线与快取机制会让此功能效率降低。
从整体而言,将指令当成资料的概念使得、与其他自动编程工具得以实现;可以用这些“自动编程的程式”,以人类较易理解的方式编写程式;从局部来看,强调I/O的机器,例如,想要修改画面上的图样,以往是认为若没有客制化硬件就办不到。但之后显示这些功能可以借由“执行中编译”技术而有效达到。
此结构当然有所缺陷,除了下列将述的之外,修改程式很可能是非常具伤害性的,无论无意或设计错误。在一个简单的储存程式型电脑上,一个设计不良的程式可能会伤害自己、其他程式甚或是操作系统,导致。就是一个典型例子。而创造或更改其他程式的能力也导致了的出现。利用缓冲区溢位,一个恶意程式可以覆盖(Call
stack)并覆写程式码,并且修改其他程式以造成连锁破坏。机制及其他形式的可以保护意外或恶意的程式码更动。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:78182次
排名:千里之外
转载:23篇
(1)(2)(15)(7)(1)(6)}

我要回帖

更多关于 冯诺依曼计算机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信