哈佛结构和普林斯顿结构的区别_普林斯顿大学和哈佛大学哪个更厉害

哈佛结构和普林斯顿结构的区别_普林斯顿大学和哈佛大学哪个更厉害哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。      哈佛结构的微处理器通常具有较高的执行效

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

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

      冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的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控制器。

评论:哈佛结构和冯.诺依曼结构都是一种存储器结构。哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185726.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Jquery 400报错

    Jquery 400报错问题:前端能够完整传递数据,后台不能相应的接收到所有的数据解决思路:1,前端传送的数据格式和后端接收的数据格式不一一对应,400报错2,修改前端界面的name属性,name的属性与后台的接收字段名称,3,如果使用实体接收数据的话,未接收到数据,则是数据类型的问题,传递过来的数据默认是String类型的数据,但是实体中有integer或者timestamp格式4,如果使用参数集合接收数据,…

  • win7打印共享无访问权限_win7连不上共享打印机

    win7打印共享无访问权限_win7连不上共享打印机平时我们在设置网络共享打印机的时候,可能会遇到没有权限访问的情况,下面和大家分析一下如何解决该问题。一、系统环境WIN7二、没有权限访问的原因原因就是:安装打印机的那台WIN7电脑,设置了开机的帐户和密码,所以导致其它计算机没有权限访问。所以得使用下面的办法解决。三、解决办法在安装打印机的电脑上,进行如下的操作即可。首先,在运行那里输入gpedit.msc并回车。如下图。在打开的界面中,如下图一样…

    2022年10月30日
  • pytest fixtures_Pytest

    pytest fixtures_Pytestfixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

  • Mysql 8.0解压版下载安装及配置教程

    Mysql 8.0解压版下载安装及配置教程首先声明,这里是Mysql8.0.27版本、64位操作系统解压版mysql的下载及安装配置及修改初始密码。如果是其他版本的mysql安装,可以自行查找其他方法,记住搜索的时候最好加上是什么版本的,因为不同版本的mysql安装的时候有些命令是不同的,例如,mysql5.7的就搜索mysql5.7安装。话不多说,接下来就是我的mysql8.0.27版本的教程了。1.下载打开下载地址:https://dev.mysql.com/downloads/mysql/,找到箭头中的文件https:/

  • E: Could not get lock /var/lib/dpkg/lock-frontend – open (11: Resource temporarly unavailable)

    E: Could not get lock /var/lib/dpkg/lock-frontend – open (11: Resource temporarly unavailable)Ubuntu安装软件报错问题错误信息E:Couldnotgetlock/var/lib/dpkg/lock-frontend-open(11:Resourcetemporarlyunavailable)解决办法:sudorm/var/lib/dpkg/lock-frontendsudorm/var/lib/dpkg/lock

    2022年10月23日
  • java-非访问修饰符

    java-非访问修饰符

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号