单片机哈佛和普林斯顿体系_哈佛结构的基本特点

单片机哈佛和普林斯顿体系_哈佛结构的基本特点https://blog.csdn.net/skywalker_leo/article/details/78194631.冯·诺依曼结构冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储…

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

Jetbrains全系列IDE稳定放心使用

https://blog.csdn.net/skywalker_leo/article/details/7819463

1. 冯·诺依曼结构

    冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

    目前使用冯·诺依曼结构的CPU和微控制器有很多。其中包括英特尔公司的8086及其他CPU,TI的MSP430处理器,ARM公司的ARM7,MIPS公司的MIPS处理器。

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

2. 哈佛结构

    哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。

    目前使用哈佛结构的中央处理器和微控制器有很多,Microchip公司的PIC系列芯片,还有motorola公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

3. 总结

    随着CPU设计的发展,流水线的增加,指令和数据的互斥读取影响CPU指令执行的scale程度。哈佛结构中数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线,取操作数与取指令能同时进行。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是在CPU内部的使用哈佛结构,在CPU外部使用冯·诺依曼结构。
——————— 
作者:skywalker_leo 
来源:CSDN 
原文:https://blog.csdn.net/skywalker_leo/article/details/7819463 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

冯诺依曼和哈弗结构图对比:

冯·诺依曼结构也称作普林斯顿结构,是一种将程序(指令序列的集合)和数据存放在同一存储器的不同地址的电脑设计概念结构。这是建立在冯·诺依曼原理,即程序可看做一种特殊的“数据”,同样地可以被处理和存储,故两者可存放在同一存储器中,采用单一的地址总线和数据总线。

特点:

第一,程序和数据存放在同一存储器的不同地址上;

第二,存储单元线性排列,且其位数固定;

第三,顺序执行,即程序/数据—>内存—>取指令执行指令;顺序执行程序。执行前,将需要的程序和数据先放入存储器(PC为内存)。当执行时把要执行的程序和要处理的数据按顺序从存储器中取出指令一条一条地执行,称作顺序执行程序。

第四,组成上有运算器,存储器,控制器,输入/输出设备。如下图:

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

哈佛结构

  与冯氏结构相对的是哈佛结构,即将程序和数据分开存储的结构。其过程CPU首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度

  联系冯氏结构的瓶颈,我们很快能想到哈佛结构能够完成指令和数据的并发操作,减轻了程序运行时的访存瓶颈,也就是提高吞吐量,是一种并行结构;而冯氏结构只能是顺序操作,是一种串行的处理方式。原始的冯·诺依曼体系结构,通过引入流水线技术(Pipeline)提高吞吐量。

  流水线技术与并行处理有所区别,流水线是在顺序指令流计算机中实现处理时间重叠的技术。流水线的并行处理是指完成对一条指令的不同操作(取指令、解码指令、执行指令)的各个部件在时间上是可以同时重叠工作(三级流水线)。CPU是按照取指令、解码指令、执行指令来完成一条指令的操作,当CPU取完第一条指令后,接着解码第一条指令,同时CPU取第二条指令,该步完成后,CPU执行第一条指令,同时解码第二条指令、取第三条指令,如此重叠操作。

  因此,各部件同时处理是针对不同指令而言的,各部件分别同时为多条指令的不同部分(step、stage)进行工作,以提高各部件的利用率来提高指令的平均执行速度。但是这样虽然提高了系统的速率,由于流水线结构使得不容易计算程序运行的时间,对一些时序要求很严的情况,该结构还是存有弊端的。所以在一些实时性很强的嵌入式系统采用哈佛结构可以高速数据处理,同时读取指令和数据,大大提高了数据吞吐率,保证了系统的可靠性。

 

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

 

分支预测逻辑

???

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

 

GCC编译中的选择

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

时序对性能影响

单片机哈佛和普林斯顿体系_哈佛结构的基本特点

单片机哈佛和普林斯顿体系_哈佛结构的基本特点单片机哈佛和普林斯顿体系_哈佛结构的基本特点

 

 

国外牛人从零开始制作8-bit计算机_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili  

https://www.bilibili.com/video/av11048265/?spm_id_from=trigger_reload

 

 

参考文献:

1、《深入理解计算机系统》第三版,3.6

2、《Synthesis of Arithmetic Circuits_ FPGA, ASIC and Embedded SystemsInterscience (2006)

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185905.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android开发环境配置

    Android开发环境配置本文是Android开发环境的搭建教程,最近用到了Android开发,对环境搭建做个总结。1、安装JDK首先去官网下载JDK。JavaSeSdk下载地址:https://www.oracle.com/java/technologies/javase-downloads.html选择Windows版本。下载完成后,直接双击安装,使用默认路径C:\ProgramFiles\Java\jdk-17.0.2即可。然后配置环境变量。然后,运行CMD,输入java-version。如上图,看到

    2022年7月23日
    10
  • B 站上有哪些很好的学习资源?[通俗易懂]

    B 站上有哪些很好的学习资源?[通俗易懂]哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!!最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇдˇ◕ฺ;)ノ下面我们就来盘点一下B站上优质的学习资源:综合类Oeasy:综合…

    2022年7月17日
    13
  • linux查看端口号命令

    linux查看端口号命令这本阿里 P8 撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode 刷题手册 开放下载了 第一种 lsof i 端口号第二种 netstat nltp grep 端口号 a 显示本机所有连接和监听地端口 n 网络 IP 地址的形式 显示当前建立的有效连接和端口 r 显示路由表信息 s 显示按协议的统计信息 v 显示当前有效的连接 t 显示所有 TCP 协议连接情况 u 显示所有 UDP 协议连接情况 i 显示自

    2025年8月11日
    3
  • Apple Silicon M1 Mac如何恢复出厂设置

    Apple Silicon M1 Mac如何恢复出厂设置今天小编就来和大家讲述一下AppleSiliconM1Mac如何恢复出厂设置并还原的?Apple完全改变的AppleSiliconMac的一个方面是访问恢复模式的方式,这是重新安装MacOS,解决问题或彻底擦除硬盘驱动器所必需的工具,以防万一您必须将其退回或决定删除硬盘。在下面,您将找到如何进入“恢复模式”,包括其中的工具,最后是如何完全重置M1Mac。新的恢复模式看起来很相似,但使用起来却有所不同。如何在AppleSiliconMac上访问MacOSRecovery

    2022年6月16日
    90
  • IIS 安装失败之解决方案[通俗易懂]

    IIS 安装失败之解决方案[通俗易懂]首先删除IIS后,再开始下面的操作:1.运行:regsvr32%windir%/system32/vbscript.dll(其实这一步也可以省,确保万一,还是执行吧)2.运行:msdtc-resetlog3.重新安装IIS…

    2022年6月4日
    37
  • 基于Python的周立功CAN上位机(详细教程)

    基于Python的周立功CAN上位机(详细教程)

    2020年11月8日
    3.4K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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