打印

8051到底是哈佛结构还是冯诺伊曼结构

[复制链接]
10495|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
x_tin|  楼主 | 2010-2-20 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
杨工| | 2010-2-20 13:32 | 只看该作者
没有英文原版的定义。我的理解是哈佛结构的数据和指令都有自己专用的总线。而冯诺伊曼结构的数据和程序共用1个总线。

使用特权

评论回复
板凳
沈洁| | 2010-2-20 13:45 | 只看该作者
没有英文原版的定义。我的理解是哈佛结构的数据和指令都有自己专用的总线。而冯诺伊曼结构的数据和程序共用1个总线。
杨工 发表于 2010-2-20 13:32


你写汇编你就能很明确的知道它是冯诺依曼还是哈弗结构,51是标准的哈弗结构,因为有两条总线

使用特权

评论回复
地板
HWM| | 2010-2-20 14:00 | 只看该作者
MCS-51是哈佛结构还是冯诺伊曼结构的问题之讨论似乎已带有“功利”色彩,固然变得没有意义。如果想了解这两种结构的原始出典,建议去看一些计算机史的相关资料。

就事论事而言,MCS-51配置了分裂的程序和数据存储器,他们逻辑上有自己各自和CPU的联系的方式(通过WR,RD,PSEN在外部实现)。但由于资源上的考虑程序和数据存储器与CPU的通道(或称总线)是“时分共用”的,但这不说明其结构体系原则上限制了其通道物理上分拆的可能。关于MCS-51的类型归属,最直接的对比是同产于一家的MCS-96的结构体系。这样也许更为客观而非“功利”。

使用特权

评论回复
5
NE5532| | 2010-2-20 20:35 | 只看该作者
51外挂了一片FLASH和一片SRAM,请问是哈弗还是冯的?定义已经变得模糊,现在谁跑得快谁就是老大。

使用特权

评论回复
6
wujing198| | 2010-2-20 20:52 | 只看该作者
从分体储存的角度看,接近哈佛结构,但是共有总线,又和冯诺依曼接近。

使用特权

评论回复
7
Karlshen| | 2010-2-20 20:59 | 只看该作者
看得糊涂

使用特权

评论回复
8
node| | 2010-2-20 21:04 | 只看该作者
最早接触时说划到冯诺依曼结构。

使用特权

评论回复
9
NE5532| | 2010-2-20 21:05 | 只看该作者
不用糊涂,原理上讲,哈系把两种总线分开是为了方便寻址,就是说在单指令里同时操作数据和程序是哈系的追求,不过按这个来分的话,很多现在的单片机会变的不伦不类,究其原因就是,现在有很多技术手段提高指令的吞吐量,并不是只是分不分数据指令那么简单的问题了。这个概念,可以考虑进博物馆了。

使用特权

评论回复
10
沈洁| | 2010-2-20 22:09 | 只看该作者
我更多的是从软件角度去看的,汇编指令有单独的mov指令就算是哈佛了,如果只用一种mov那就是冯诺依曼指令集了

使用特权

评论回复
11
HWM| | 2010-2-20 22:21 | 只看该作者
本帖最后由 HWM 于 2010-2-20 22:22 编辑

哈佛结构的问世年代半导体成本还非常的高,那时主要考虑的是如何节省RAM从而可以降低成本,目的就这么的简单。因为当时还没有现在的OS,多进程等新鲜玩意儿。程序只是些相对固定的算法而已,不会频繁的变动,故使用了一种相对低廉的“ROM”结果。这样自然而然的将程序和数据分别存储,而且程序不能由程序自行更改,更不可能自动加载,这就是哈佛结构的初衷。至于所谓的哈佛结构所具有的数据和程序存储器的“并行”访问功能(主要针对流水线机构)只是后来被重新使用后附加的新特性而已,与其原始含义没有关系。

因此,明白这点就不会有那么多的歧义了。

使用特权

评论回复
12
jameswangchip| | 2010-2-21 10:19 | 只看该作者
冯诺伊曼结构。:)

使用特权

评论回复
13
yzq13246068880| | 2020-11-11 08:47 | 只看该作者
哈佛

使用特权

评论回复
14
ayb_ice| | 2020-11-11 09:33 | 只看该作者
哈佛,51手册自己也说是哈佛,只是两条总线不能同时访问而已

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

153

帖子

0

粉丝