关于冯诺依曼结构、哈佛结构、增强型的哈佛结构

本文介绍了冯诺依曼结构和哈佛结构的执行流程,强调了哈佛结构的并发特性及数据宽度的灵活性。讨论了哈佛结构在设计上的复杂性,以及早期市场为何更倾向于冯诺依曼结构。还提到了现代技术中,由于Flash读取速度较慢,DSP将程序加载到RAM中运行,以及X86处理器内部的Cache使得结构趋于混合。
摘要由CSDN通过智能技术生成
大家都学过,所谓的8086是冯诺依曼结构的(也叫做普林斯顿结构),51等单片机是哈佛结构,我们的PIC单片机是增强型的哈佛结构。那么,这三种结构之间究竟有什么区别吗?对于我们编程序的时候,有什么影响吗?这篇文章主要来讨论这个问题。

一、问题的引出
最近在读linux的内核,遇到这么一个问题:对于PC机而言,操作系统在最开始进行环境初始化的时候,首先执行BIOS程序(有点类似于bootloader),执行完了之后,程序需要从外设(软盘或者硬盘)中,将代码读到RAM区域,进而在RAM中运行相应的代码。
这就产生了一个问题:在我们的PIC单片机(包括51)中,程序不都是存在flash里面的么?CPU都是直接从FLASH中直接读取程序,没有听说要把程序从FLASH中读取到RAM中,再读取到CPU中运行吧?
于是,我就产生了一个疑问:程序,到底是在RAM中运行的,还是在FLASH中运行的呢?
于是就找到了这个网页:
总结一下这个文章说的内容,意思就是:冯诺依曼结构的,是在RAM中将指令读取到CPU中;哈佛结构的是从FLASH中读取。
那么,究竟什么是冯诺依曼结构,什么是哈佛结构?区别到底是什么?

二、冯诺依曼结构和哈佛结构
可以参考这篇文章:
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值