精华内容
下载资源
问答
  • 本文介绍了常见的单片机根据结构的分类,并说明了两种结构之间的区别、各自的优缺点。
  • 哈佛结构是一种将程序指令存储数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。  程序...

           哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。

          程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
           哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM1151单片机也属于哈佛结构。


            冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
            目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。

            在DSP算法中,最大量的工作之一是与存储器交换信息,这其中包括作为输入信号的采样数据、滤波器系数和程序指令。

            例如,如果将保存在存储器中的2个数相乘,就需要从存储器中取3个二进制数,即2个要乘的数和1个描述如何去做的程序指令。图〔a)显示了一个传统的微处理器是如何做这项工作的。这被称为冯·诺依曼结构,是以一位数学家的名字命名的。

            冯·诺依曼结构中,只有一个存储器,通过一条总线来传送数据。乘两个数至少需要3个指令周期,即通过总线将这3个数从存储器中送到CPU。所以这种结构在面对高速、实时处理时,不可避免地造成总线拥挤。

            为此,哈佛大学提出了与冯·诺依曼结构完全不同的另一种计算机结构,人们习惯称之为哈佛结构,如图(b)所示。

            哈佛结构根据数据和数据指令将存储器和总线分开。因此,总线操作是独立的,能同时取指令和数据,提高了速度。

           目前DSP内部一般采用的是哈佛结构,它在片内至少有4套总线:程序的数据总线,程序的地址总线,数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取指令字(来自程序存储器)和操作数(来自数据存储器),而互不干扰。这意味着在一个机器周期内可以同时准备好指令和操作数。有的DSP芯片内部还包含有其他总线,如DMA总线等,可实现单周期内完成更多的工作。这种多总线结构就好像在DSP内部架起了四通八达的高速公路,保障运算单元及时地取到需要的数据,提高运算速度。因此,对DSP来说,内部总线是个资源,总线越多,可以完成的功能就越复杂。

           超级哈佛结构(super Harvard architecture,缩写为SHARC)如图(c)所示,它在哈佛结构上增加了指令cache(缓存)和专用的I/O控制器。 

    展开全文
  • 零、先上图: 一、·诺依曼结构 ·诺依曼结构(von Neumann architecture)又称作普林斯顿体系结构(Princetion architecture)...哈佛结构是一种将程序指令存储数据存储分开的存储器结构,如下图所示。中央

    零、先上图:

    哈佛结构和冯诺依曼结构

    一、冯·诺依曼结构

    冯·诺依曼结构(von Neumann architecture)又称作普林斯顿体系结构(Princetion architecture)。冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。冯·诺依曼结构处理器具有以下几个特点:

    • 必须有一个存储器;
    • 必须有一个控制器;
    • 必须有一个运算器,用于完成算术运算和逻辑运算;
    • 必须有输入和输出设备,用于进行人机通信。

    二、哈佛结构

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

    (哈佛体系结构框图)

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

    哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。

    哈佛结构能基本上解决取指和取数的冲突问题。

    三、冯·诺依曼体系和哈佛总线体系的区别

    二者的区别就是程序空间和数据空间是否是一体的。冯·诺依曼结构数据空间和地址空间不分开,哈佛结构数据空间和地址空间是分开的。

    哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,从而大大提高了运算能力。

    DSP芯片硬件结构有冯·诺依曼结构和哈佛结构,两者区别是地址空间和数据空间分开与否。一般DSP都是采用改进型哈佛结构,就是分开的数据空间和地址空间都不只是一条,而是有多条,这根据不同的生产厂商的DSP芯片有所不同。在对外寻址方面从逻辑上来说也是一样,因为外部引脚的原因,一般来说都是通过相应的空间选取来实现的。本质上是同样的道理。

    四、改进型的哈佛结构与哈佛体系结构差别

    与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

    (2).使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

    后来,又提出了改进的哈佛结构,其结构特点为:

    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

    (2).具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

    (3).两条总线由程序存储器和数据存储器分时共用。

     

    相关链接:

    https://blog.csdn.net/fuhanghang/article/details/84064530​blog.csdn.net

     

    哈佛结构和冯诺依曼结构的区别和利弊?​www.zhihu.com智能手机是冯诺依曼结构还是哈佛结构?​www.zhihu.com有哪些著名的非冯诺依曼结构?​www.zhihu.com

    展开全文
  • 有人说51地址线复用,就是冯诺依曼结构。很多入门的书上基本上都说:由运算器、控制器、存储器、输入设备、输出设备组成的系统 都叫冯氏结构。 也有的说:“程序存储器的数据线地址线”与“数据存储器的数据线地址线...
  • 哈佛结构 (Harvard architecture) 哈佛结构是一种将程序指令存储数据存储分开的存储器结构。特点:是一种并行体系结构,即程序存储器数据存储器是两个独立的存储器,每个存储器都独立编址、独立访问。哈佛结构...
    哈佛结构 (Harvard architecture)
        哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
    • 特点:
      是一种并行体系结构,即程序存储器和数据存储器是两个独立的存储器,每个存储器都独立编址、独立访问。
      哈佛结构可以允许在一个机器周期内同时获得指令字和操作数,从而提高了执行速度和数据的吞吐率。
              哈佛结构的微处理器通常具有较高的执行效率。 其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令
    • 执行顺序:
            中央处理器首先从程序存储器中读取指令,再解码后得到数据地址,再到对应的数据存储器中读取数据。
    因为指令存储和数据存储分开,则指令和数据可以有不同的数据宽度。

    冯·诺依曼体系结构(von Neumann architecture
        把程序本身当作数据来对待,程序和该程序的处理的数据用同样的方法存储。
    • 特点:
            计算机处理的数据和指令一律用二级制数表示。
            计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
    • 执行顺序:
            把要执行的程序和处理的数据首先存入内存,计算机执行程序时,按顺序从内存中取出指令一条一条地执行。


    *内容参考自百度百科,如有侵权,立即告知
    展开全文
  • 哈佛结构和冯·诺依曼结构的区别

    万次阅读 多人点赞 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是冯诺依曼结构的。

    展开全文
  • 51单片机是冯诺依曼还是哈佛结构
  • 冯·诺依曼结构,又...冯诺依曼结构冯诺依曼结构则是将逻辑代码段变量统一都存储在内存当中,他们之间一般是按照代码的执行顺序依次存储。这样就会导致一个问题,如果当程序出现BUG的时候,由于程序没有对逻辑代
  • 哈佛结构和冯诺依曼结构
  • 冯诺依曼哈佛结构的区别

    万次阅读 多人点赞 2019-06-06 17:42:53
    个人理解:最主要的区别在于程序空间数据空间是否是一体的,·诺依曼结构数据空间地址空间是不分开的,而哈佛结构数据空间地址空间是分开的       哈弗结构的优势:如果采用...
  • 全面理解冯诺依曼结构和哈佛结构 CPU采用的是哈佛结构还是冯诺依曼结构? 0. 前言 哈佛结构和冯诺依曼结构都是针对于CPU来说的。 1. 冯诺依曼结构 冯诺伊曼结构又称为普林斯顿体系结构,是一种将程序存储器数据...
  • 哈弗结构(英语:Harvard architecture)是一种将程序指令储存数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的...
  • 简述“哈佛结构·诺依曼结构”的区别
  • 哈佛结构:代码变量不放在一起,像一般的单片机中,有代码段,数据段,堆等存放数据代码,代码存放到代码段中,全局变量存放到数据段bss段中,局部变量存放到栈中,只有变量才能改变,代码段里面的程序在...
  • CPU的哈佛结构和冯诺依曼结构

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

    千次阅读 2019-04-29 17:02:38
    冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”,解决了哈佛结构的一个问题——总线暂用资源太多。 冯诺依曼结构是,数据代码放在一起。 首先,通过BIOS(Uboot)将硬盘(Flash)...
  • 哈佛结构是一种将程序指令存储数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令...
  • 材料一: 哈佛结构是一种将程序指令存储数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)...
  • 哈佛结构/冯诺依曼结构详细分析

    千次阅读 2019-06-16 17:33:56
    哈佛结构和冯诺依曼结构就是对于这个两部分代码的存储方式的区别。   哈佛结构哈佛结构就是将程序的逻辑代码变量分开存放的一种结构,而他们存放的位置可以是形同的也可以是不同的,总是只要是分成两个...
  • TOC 冯诺依曼结构 哈佛结构 各自优缺点
  • 现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的...
  • 冯诺依曼结构  冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器数据存储器合并在一起的存储器结构。取指令取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到...
  • 1、内存是程序的运行场所,内存CPU之间通过总线连接,CPU通过一定地址来访问具体内存单元。 随机访问特点。 2、IO(input and output)是输入输出接口,是CPU其它外部设备(如:串口、LCD、触摸屏、LED等)之间...

空空如也

空空如也

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

哈佛结构和冯诺依曼