请问冯·诺依曼结构和哈佛结构有啥异同?谢谢!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问冯·诺依曼结构和哈佛结构有啥异同?谢谢!相关的知识,希望对你有一定的参考价值。
共同点:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存。
区别:
1、性质不同: 冯·诺依曼体系结构冯·诺伊曼理论的要点是计算机的数制采用二进制,计算机应该按照程序顺序执行。哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
2、特点不同:哈佛结构将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。诺依曼结构的计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器,计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行。
3、组成不同:哈佛结构的计算机由CPU、程序存储器和数据存储器组成。诺依曼结构指令由操作码和地址码组成。
扩展资料:
哈佛结构使用注意事项:
1、运算器:一个用于信息加工的部件,用来对二进制的数据进行算术运算和逻辑运算,也叫算数逻辑运算部件,其核心部分是加法器。
2、控制器:负责从存储器中取出指令,并对指令进行译码,根据指令的要求,按时间的先后顺序,负责向其他各部件发出控制信号,保证各部件协调一致地工作,一步步地完成各种操作。控制器主要由指令寄存器、译码器、程序计数器、操作控制器等组成。
3、存储器:哈佛结构是计算机记忆或暂存数据的部件。计算机中的全部信息,包括原始的输入数据,经过初步加工的中间数据及最后处理完成的有用信息都存放在存储器中。指挥计算机运行的各种程序,即规定对输入数据如何进行加工处理的一系列指令都存放在存储器中。存储器分为内存储器和外存储器。
4、输入设备:给计算机输入信息的设备。是重要的人机接口,负责将输入的信息转换成计算机能识别的二进制代码,送入存储器中保存。
参考资料来源:百度百科-哈佛结构
参考资料来源:百度百科-诺依曼结构
参考技术A1、性质不同:
冯·诺依曼体系结构冯·诺伊曼理论的要点是计算机的数制采用二进制,计算机应该按照程序顺序执行。哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
2、特点不同:
哈佛结构将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
诺依曼结构的计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器,计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行。
特点
现代计算机发展所遵循的基本结构形式始终是冯·诺依曼机结构。这种结构特点是“程序存储,共享数据,顺序执行”,需要 CPU 从存储器取出指令和数据进行相应的计算。
(1)单处理机结构,机器以运算器为中心;
(2)采用程序存储思想;
(3)指令和数据一样可以参与运算;
(4) 数据以二进制表示;
(5)将软件和硬件完全分离;
(6) 指令由操作码和操作数组成;
(7)指令顺序执行。
以上内容参考:百度百科-冯·诺依曼结构
参考技术B 冯诺依曼体系结构与哈弗体系结构的区别材料一:
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构
冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。
评论:哈佛结构和冯.诺依曼结构都是一种存储器结构。哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。
材料二:
MCS-51单片机有着嵌入式处理器经典的体系结构,这种体系结构在当前嵌入式处理器的高端ARM系列上仍然在延续,这就是哈佛结构。相对于大名鼎鼎的冯·诺依曼结构,哈佛结构的知名度显然逊色许多,但在嵌入式应用领域,哈佛结构却拥有着绝对的优势。哈佛结构与冯·诺依曼结构的最大区别在于冯·诺依曼结构的计算机采用代码与数据的统一编址,而哈佛结构是独立编址的,代码空间与数据空间完全分开。
在通用计算机系统中,应用软件的多样性使得计算机要不断地变化所执行的代码的内容,并且频繁地对数据与代码占有的存储器进行重新分配,这种情况下,冯·诺依曼结构占有绝对优势,因为统一编址可以最大限度地利用资源,而哈佛结构的计算机若应用于这种情形下则会对存储器资源产生理论上最大可达50%的浪费,这显然是不合理的。
但是在嵌入式应用中,系统要执行的任务相对单一,程序一般是固化在硬件里。当然这时使用冯·诺依曼结构也完全可以,代码区和数据区在编译时一次性分配好了而已,但是其灵活性得不到体现,所以现在大量的单片机也还在沿用冯·诺依曼结构,如TI的MSP430系列、Freescale的HCS08系列等。
那是为什么说哈佛结构有优势呢?嵌入式计算机在工作时与通用计算机有着一些区别:嵌入式计算机在工作期间的绝大部分时间是无人值守的,而通用计算机工作期间一般是有人操作的;嵌入式计算机的故障可能会导致灾难性的后果,而通用计算机一般就是死死机,重新启动即可。这两点决定了对嵌入式计算机的一个基本要求:可靠性。
使用冯·诺依曼结构的计算机,程序空间不封闭,期程序空间的数据在运行期理论上可以被修改,此外程序一旦跑飞也有可能运行到数据区。虽然都是一些不常见的特殊情况下,但是看看哈佛结构德计算机在这些情况下是怎样的:基于哈佛结构的处理器入MCS-51,不需要可以对代码段进行写操作的指令,所以不会有代码区被改写的问题;程序只能在封闭的代码区中运行,不可能跑到数据区,这也是跑飞的几率减少并且跑飞后的行为有规律(数据区的数据是不断变化的而代码区是不变的)。
所以,相对于冯·诺依曼结构,哈佛结构更加适合于那些程序固化、任务相对简单的控制系统。
总结
冯.诺依曼指出:程序只是一种(特殊)的数据,它可以像数据一样被处理,因此可以和数据一起被存储在同一个存储器中——这就是著名的冯.诺依曼原理。注意:数据总线和地址总线共用。
哈佛结构:
哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的4条总线:程序的数据总线与地址总线,数据的数据总线与地址总线。这种分离的程序总线和数据总线允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,使数据的吞吐率提高了1倍。又由于程序和数据存储器在两个分开的物理空间中,因此取指和执行能完全重叠。CPU首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。本回答被提问者采纳
以上是关于请问冯·诺依曼结构和哈佛结构有啥异同?谢谢!的主要内容,如果未能解决你的问题,请参考以下文章