精华内容
下载资源
问答
  • CPU哈佛结构和冯诺依曼结构

    千次阅读 2014-06-17 10:02:19
    哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。 实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和...

    在现实世界中很少有非常纯粹的概念,特别是在实际的应用里。教科书里的大多是理想化的模型,便于掌握某个概念的重点和本质,但实际中很难达到这种理想化的状态。

    哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。

    实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同的地方出来的。你可以理解为在CPU外部,采用的是冯诺依曼模型,而在CPU内部用的是哈佛结构。

    大部分的DSP都没有缓存,因而直接就是哈佛结构。

    哈佛结构设计复杂,但效率高。冯诺依曼结构则比较简单,但也比较慢。CPU厂商为了提高处理速度,在CPU内增加了高速缓存。也基于同样的目的,区分了指令缓存和数据缓存。有时为了解决现实问题,究竟是什么主义真的没那么重要。因而个人认为争论到底是哪种结构意义不大。

    【加菲猫的回答(7票)】:

    因为 PC 市场已经被 微软 和 IBM-PC 架构垄断了。

    但是,实际上 哈佛结构只不过是“程序”和“存储”分离,然而内存就那个样子,好比你就插了一条内存条,怎么实现指令和数据分开“同时”读取呢?cache。现在 intel 的处理器虽说是“CISC”但是也应用了大量的RISC思想。当今的处理器速度已经如此高,intel有很长的流水线,如果指令和数据还不分开同时读取这会极大的影响流水线的效率。所以在流水线设计中有多个cache,而数据和指令一般会同时缓存进Cache,这样在处理器流水线作业时其实也有哈佛结构的影子。

    展开全文
  • CPU采用的是哈佛结构还是冯诺依曼结构? 0. 前言 哈佛结构和冯诺依曼结构都是针对于CPU来说的。 1. 冯诺依曼结构 冯诺伊曼结构又称为普林斯顿体系结构,是一种将程序存储器和数据存储器合并在一起的处理器架构设计...

    参考资料:
    全面理解冯诺依曼结构和哈佛结构
    CPU采用的是哈佛结构还是冯诺依曼结构?


    0. 前言

    哈佛结构和冯诺依曼结构都是针对于CPU来说的。

    1. 冯诺依曼结构

    冯诺伊曼结构又称为普林斯顿体系结构,是一种将程序存储器数据存储器合并在一起的处理器架构设计,使用同一个存储器,经由同一个总线传输。由于取指令和存取数据要从同一个存储空间存取,并经同一总线传输,无法重叠执行,只能step by step,因此影响了数据处理速度的提高。冯诺伊曼结构处理器具有以下特点:

    • 必须有一个存储器;

    • 必须有一个控制器;

    • 必须有一个运算器(算术运算与逻辑运算);

    • 必须有输入输出设备(人机通信)。

    在这里插入图片描述
    在这里插入图片描述
    冯诺依曼结构中不独立区分程序和数据空间,处理器只有一套总线,即程序和数据空间共用地址和数据总线,取指令和取数据不能同时进行。

    早期的微处理器大多采用冯·诺依曼结构,如:英特尔公司的8086,英特尔公司的其他中央处理器,ARM的ARM7,MIPS公司的MIPS处理器。其中,典型代表是Intel公司的X86微处理器,广泛用于桌面端(台式/笔记本/服务器/工作站等)。

    2. 哈佛结构

    哈佛结构是一种将程序指令存储和数据存储分开的存储器结构数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,例如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。哈佛结构处理器具有如下特点:

    • 程序存储器与数据存储器分开。
    • 提供了较大的存储器带宽,各自有自己的总线。
    • 适合于数字信号处理。

    在这里插入图片描述
    在这里插入图片描述
    哈佛结构的出现是为了减轻程序运行时的访存瓶颈,哈佛架构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。

    哈佛结构中程序空间和数据空间是独立的,具有各自独立的地址线和数据总线,即处理器有两套总线,一套是程序存储器的数据和地址总线,一套是数据存储器的数据和地址总线。取址和取数据能并发进行

    目前使用哈佛架构的中央处理器和微控制器有很多,有 Microchip公司的PIC系列芯片、摩托罗拉公司的MC68系列、Zilog公司的Z8系列、Atmel公司的AVR系列和ARM公司的ARM9、ARM10和ARM11,自ARM11以后,ARM公司的内核均以Cortex命名。

    3. 改进的哈佛结构

    改进的哈佛结构使用两个独立的存储器模块(程序存储器和数据存储器),处理器只有一套总线,分时访问程序存储器和数据存储器,但是在处理器中有指令cache和数据cache将程序和数据分开(冯诺依曼结构中没有指令cache和数据cache),所以处理器仍然可以并步执行取指令和取数据,从这点看处理器仍然属于哈佛结构。

    改进型哈佛结构是在普通哈佛结构的基础上加上独立的缓冲区cache, 虽然处理器只有一套总线,但由于cache的存在,CPU直接访问的是cache而cache又分为指令cache和数据cache,这两个cache是独立的,所以可以同时访问指令和数据,也就是说能够并行运行

    从ARM9开始以后所有的ARM处理器内核都是改进型的哈佛结构

    4. 总结

    哈佛结构和冯诺依曼结构的主要区别就是处理器能不能实现取指令和取数据的并发进行程序空间和数据空间是否是一体

    • 冯·诺依曼结构:冯·诺依曼结构中,取指令与取操作数都在同一条总线上,总线结构简单,所以成本也低,早期该结构的处理器能迅速抢占市场。但也是因为取指令与取操作数都在同一条总线上,只能通过分时复用进行,所以在高速运行时,不能达到同时取指令与取操作数,从而造成传输过程的瓶颈。
    • 哈佛结构:哈佛结构具有复杂而又强大的总线结构,其芯片内部程序空间和数据空间是分开的,可以同时取指令与取操作数,数据吞吐率高,运算速度更快。但是设计实现复杂,成本较高。
    • 改进型的哈佛结构:改进型的哈佛结构结合了两者的长处,将其融合到一起,实现了优化。
    展开全文
  • 1、冯·诺依曼结构 冯·诺依曼结构又被称作普林斯顿体系结构 (Princetionarchitecture)。1945年,冯·诺依曼首先提出了"存储程序"的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为...

    1、冯·诺依曼结构

    冯·诺依曼结构又被称作普林斯顿体系结构 (Princetionarchitecture)。1945年,冯·诺依曼首先提出了"存储程序"的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为"冯·诺依曼型结构"计算机。冯·诺依曼结构下的处理器使用同一个存储器,经由同一个总线传输。


    冯·诺依曼结构处理器具有以下几个特点:必须有一个存储器;必须有一个控制器;必须有一个运算器,用于完成算术运算和逻辑运算;必须有输入和输出设备,用于进行人机通信。冯·诺依曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数据都是二进制码,指令和操作数的地址又密切相关,因此,当初选择这种结构是自然的。但是,这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
    在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯·诺依曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,指令1至指令3均为存、取数指令,对冯·诺依曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。

    冯.诺曼结构处理器指令流的定时关系示意图
    冯.诺曼结构处理器指令流的定时关系示意图标题

    2、哈佛结构 

    哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,如图1所示。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。

    哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。 
    目前使用哈佛结构的中央处理器和微控制器有很多,除了Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。 
    哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。例如最常见的卷积运算中, 一条指令同时取两个操作数, 在流水线处理时, 同时还有一个取指操作, 如果程序和数据通过一条总线访问, 取指和取数必会产生冲突, 而这对大运算量的循环的执行效率是很不利的。哈佛结构能基本上解决取指和取数的冲突问题。而对另一个操作数的访问, 就只能采用Enhanced哈佛结构了, 例如像TI那样,数据区再split, 并多一组总线。 或向AD那样,采用指令cache, 指令区可存放一部分数据。
    在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯·诺依曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,指令1至指令3均为存、取数指令,对冯·诺依曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。

    哈佛结构处理器指令流的定时关系示意图标题


    如果采用哈佛结构处理以上同样的3条存取数指令,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。

    3、冯·诺依曼结构和哈佛总线结构的区别 

    二者的区别就在于程序空间和数据空间是否是一体的。冯·诺依曼结构数据空间和地址空间不分开,哈佛结构数据空间和地址空间是分开的。
    早期的微处理器大多采用冯·诺依曼结构,典型代表是Intel公司的X86微处理器。取指和取操作数都在同一总线上,通过分时服用的方式进行的。缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。
    哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,从而大大提高了运算能力。DSP芯片硬件结构有冯·诺依曼结构和哈佛结构,两者区别是地址空间和数据空间分开与否。一般DSP都是采用改进型哈佛结构,就是分开的数据空间和地址空间都不只是一条,而是有多条,这根据不同的生产厂商的DSP芯片有所不同。在对外寻址方面从逻辑上来说也是一样,因为外部引脚的原因,一般来说都是通过相应的空间选取来实现的。本质上是同样的道理。


    4.改进型的哈佛结构与哈佛结构差别

    结合哈佛结构和冯·诺依曼结构

    改进的哈佛结构,其结构特点为: 
    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存; 
    (2).具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输; 
    (3).两条总线由程序存储器和数据存储器分时共用。

    与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:
    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存; 
    (2).使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。


    5.总结

    体系结构与采用的独立与否的总线无关,与指令空间和数据空间的分开独立与否有关。51单片机虽然数据指令存储区是分开的,但总线是分时复用得,所以属于改进型的哈佛结构。ARM9虽然是哈佛结构,但是之前的版本(例如ARM7)也还是冯·诺依曼结构。早期的X86能迅速占有市场,一条很重要的原因,正是靠了冯·诺依曼这种实现简单,成本低的总线结构。现在的处理器虽然外部总线上看是诺依曼结构的,但是由于内部CACHE的存在,因此实际上内部来看已经 类似 改进型哈佛结构的了。至于优缺点,哈佛结构就是复杂,对外围设备的连接与处理要求高,十分不适合外围存储器的扩展。所以早期通用CPU难以采用这种结构。而单片机,由于内部集成了所需的存储器,所以采用哈佛结构也未尝不可。现在的处理器,依托CACHE的存在,已经很好的将二者统一起来了。


    转载自:
    https://blog.csdn.net/do2jiang/article/details/4545690
    https://blog.csdn.net/binchel/article/details/17279675
    https://blog.csdn.net/u014470361/article/details/79774331


     

    展开全文
  • 哈佛结构和冯·诺依曼结构的区别

    万次阅读 多人点赞 2018-11-14 12:46:44
    一、哈佛结构  哈佛结构(Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并...

    一、哈佛结构

           哈佛结构(Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。

           哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。

           目前使用哈佛结构的中央处理器微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。大多数DSP是哈佛结构的。

    二、冯·诺伊曼结构

           冯.诺伊曼结构(von Neumann architecture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。该结构隐约指导了将储存装置与中央处理器分开的概念,因此依该结构设计出的计算机又称储存程式型电脑。

           最早的计算机器仅内涵固定用途的程式。现代的某些计算机依然维持这样的设计方式,通常是为了简化或教育目的。例如一个计算器仅有固定的数学计算程式,它不能拿来当作文书处理软件,更不能拿来玩游戏。若想要改变此机器的程式,你必须更改线路、更改结构甚至重新设计此机器。当然最早的计算机并没有设计的那个可编程化。当时所谓的“重写程式”很可能指的是纸笔设计程式步骤,接着制订工程细节,再施工将机器的电路配线或结构改变。

           而储存程式型电脑的概念改变了这一切。借由创造一组指令集结构,并将所谓的运算转化成一串程式指令的执行细节,让此机器更有弹性。借着将指令当成一种特别型态的静态资料,一台储存程式型电脑可轻易改变其程式,并在程控下改变其运算内容。冯·诺伊曼结构储存程式型电脑是互相通用的名词,其用法将于下述。而哈佛结构则是一种将程式资料与普通资料分开储存的设计概念,但是它并未完全突破冯.诺伊曼架构。

           储存程式型概念也可让程式执行时自我修改程式的运算内容。本概念的设计动机之一就是可让程式自行增加内容或改变程式指令的内存位置,因为早期的设计都要使用者手动修改。但随着索引暂存器与间接位置存取变成硬件结构的必备机制后,本功能就不如以往重要了。而程式自我修改这项特色也被现代程式设计所弃扬,因为它会造成理解与除错的难度,且现代中央处理器的管线与快取机制会让此功能效率降低。

           从整体而言,将指令当成资料的概念使得组合语言编译器与其他自动编程工具得以实现;可以用这些“自动编程的程式”,以人类较易理解的方式编写程式;从局部来看,强调I/O的机器,例如Bitblt,想要修改画面上的图样,以往是认为若没有客制化硬件就办不到。但之后显示这些功能可以借由“执行中编译”技术而有效达到。

           此结构当然有所缺陷,除了下列将述的冯·诺伊曼瓶颈之外,修改程式很可能是非常具伤害性的,无论无意或设计错误。在一个简单的储存程式型电脑上,一个设计不良的程式可能会伤害自己、其他程式甚或是操作系统,导致当机缓冲区溢位就是一个典型例子。而创造或更改其他程式的能力也导致了恶意软件的出现。利用缓冲区溢位,一个恶意程式可以覆盖呼叫堆栈(Call stack)并覆写程式码,并且修改其他程式档案以造成连锁破坏。内存保护机制及其他形式的存取控制可以保护意外或恶意的程式码更动。大多数CPU和GPU是冯诺依曼结构的。

    展开全文
  • 哈佛结构和冯.诺依曼结构都是一种存储器结构。哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯•诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。材料一: 哈佛结构是一种将程序指令存储和...
  • 对ARM9哈佛结构的认识

    2018-10-19 09:09:25
    对ARM9哈佛结构的认识 转载自:https://www.cnblogs.com/amanlikethis/p/3344558.html  书本上都说ARM是哈佛结构,但是我总感觉好像看不出来。后来针对S3C2440的ARM9核进行分析,我有了自己的见解。  我的结论...
  • 主要区别: 冯·诺依曼结构也称... 此外, 哈佛结构还采用了独立的程序总线和数据总线, 分别作为CPU与每个存储器之间的专用通信路径, 具有较高的执行效率。 下图描述了冯·诺依曼结构和哈佛结构的区别。 ...
  • 冯诺依曼与哈佛结构的区别

    万次阅读 多人点赞 2019-06-06 17:42:53
    个人理解:最主要的区别在于程序空间和数据空间是否是一体的,冯·诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址空间是分开的       哈弗结构的优势:如果采用...
  • 冯诺依曼结构  冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式... 哈佛结构是一种将程序指令存储和...
  • 二者的区别就是程序空间和数据空间是否是一体的,冯·诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址空间是分开的。 冯·诺依曼结构(早期的和现代的微处理器,intel的x86微处理器等) 提前把...
  • 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。  程序...
  • 冯诺依曼结构  冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序... 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据...
  • 材料一: 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)...
  • 哈佛结构/冯诺依曼结构详细分析

    千次阅读 2019-06-16 17:33:56
    CISC(复杂指令集):复杂指令集就是CPU在工作的时候需要有很多的汇编指令来完成,它可以用一个汇编指令来完成一件复杂的工作。例如:乘法,加法,乘加,乘减等处理的时候,他会每个处理方式用一条指令来完成。因此...
  • TOC 冯诺依曼结构 哈佛结构 各自优缺点
  • 现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构。 冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的...
  • 冯.诺伊曼结构  1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯....诺伊曼结构的处理器使用同一个存储器,经由同
  • 哈佛结构 (英语:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下...
  • 用于计算机体系结构教学哈佛体系结构模拟器用于计算机体系结构教学哈佛体系结构模拟器 摘要:已有的计算机体系结构教学模拟器主要是面向冯诺依曼体系结构。针对缺乏面向哈佛体系结构模拟器这一问题,本文提出并设计...
  • 区别:哈佛结构的程序存储器与数据存储器分开程序存储器:①用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。②为只读存储器。注意,这里的“只读”,是指单片机(CPU)在...
  • 哈佛结构和冯·诺依曼结构

    千次阅读 2015-03-18 11:35:05
    诺伊曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如下图所示,指令1至指令3均为存、取数指令,对冯.诺伊曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线...
  • 简述“哈佛结构”和“冯·诺依曼结构”的区别
  • 诺伊曼结构  1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由...
  • 哈佛结构 (英语:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下...
  • 哈佛结构模型机设计及FPGA实现.pdf
  • 哈佛结构与冯.诺依曼结构

    千次阅读 2014-06-24 16:29:49
    1. 哈佛结构及其主要特征:  哈佛结构是一种存储器结构。使用哈佛结构的处理器有:AVR、ARM9、ARM10、ARM11等。目前使用哈佛结构的中央处理器和微控制器有很多,除了Microchip公司的PIC系列芯片,还有摩托罗拉公司...
  • 冯诺依曼结构 冯诺依曼结构,也叫普林斯顿结构,指令和数据是不加区别地混合...又由于存储器的速度远低于CPU的速度,从而使CPU与存储器交换数据成了影响高速计算和系统性能的瓶颈。ARM7,80x86等都是冯诺依曼结构 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,067
精华内容 1,626
关键字:

哈佛结构的cpu