打印

请问各位大侠:51算哈佛还是诺依曼结构?

[复制链接]
3480|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刘前辈|  楼主 | 2009-4-20 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HWM| | 2009-4-20 11:24 | 只看该作者

有得一争,呵呵

使用特权

评论回复
板凳
songbangyan| | 2009-4-20 16:13 | 只看该作者

很难区别

按指令结构是冯诺依曼,因为取指是逐一的;但是按照存储有事哈佛,因为指令和数据是分别存储的!所以很难区别了

使用特权

评论回复
地板
李冬发| | 2009-4-20 16:39 | 只看该作者

ls的,什么时候把哈佛结构定义这样的?!

哈佛结构仅是“执行时可以预先读取下一条指令”。


51铁定是哈佛结构。

使用特权

评论回复
5
ayb_ice| | 2009-4-20 21:18 | 只看该作者

结构是哈佛的

什么结构和取指没有关系,但传统的51数据总线和指令总线是分时的,节约了引脚却还是浪费了一些时间

使用特权

评论回复
6
sunshitao| | 2011-8-13 22:10 | 只看该作者
俺知道51是冯氏结构   俺比较确定。。。。。

使用特权

评论回复
7
highgear| | 2011-8-14 01:19 | 只看该作者
楼上,嵌入式cpu一般多是哈佛结构, 对于程序固化在 rom 中的 cpu 来说(这是也是嵌入式软件被称作 firmware 的原因),随机存取的数据很难使用程序所在的空间,所以设计成冯氏结构不是一个好的选择。

使用特权

评论回复
8
NE5532| | 2011-8-14 10:08 | 只看该作者
指令代码和数据分区存储,哈弗结构。不要以指令来看现代单片机的哈弗和冯结构,很多新单片机的指令集都在细化。

使用特权

评论回复
9
uniquehope| | 2011-8-14 10:16 | 只看该作者
老师说的是哈佛结构,难道是错的?怀疑

使用特权

评论回复
10
NE5532| | 2011-8-14 10:21 | 只看该作者
老师说的是哈佛结构,难道是错的?怀疑
uniquehope 发表于 2011-8-14 10:16


争这个问题就像研究**蛋哪头先出来一样无聊,还是抄邓论吧——不管黑猫白猫,抓到老鼠就是好猫!

使用特权

评论回复
11
Cortex-M0| | 2011-8-14 10:21 | 只看该作者
不搞技术的打酱油路过~~~

俺只知道,早期以冯.诺依曼结构的CPU具多,如经典的8080/8086系列,M6800/M68000系列。

哈佛结构的是后来英特尔推出的,如MCS48/MCS51/MCS96系列。

使用特权

评论回复
12
原野之狼| | 2011-8-14 13:08 | 只看该作者
这个确实有得争论了~
我认为叫啥名字不重要,重要的是要领会处理器的结构。
程序由数据和代码组成。
在物理上此二者可以放在不同的存储器上,也可以放在相同的存储器上。
在地址上此二者可以统一编址也可以分开编址。
在运行时此二者可以串行取出也可以并行取出。

使用特权

评论回复
13
原野之狼| | 2011-8-14 13:11 | 只看该作者
看一下51是怎么做的:
物理上分开存放。
地址上分开编址。
运行时串行取出。

使用特权

评论回复
14
原野之狼| | 2011-8-14 13:31 | 只看该作者
本帖最后由 原野之狼 于 2011-8-14 13:35 编辑

看看ARM7是怎么做的:
统一编址。
物理上无所谓分开不分开,因为统一编制。
运行时串行取出,因为共享总线。

使用特权

评论回复
15
原野之狼| | 2011-8-14 14:02 | 只看该作者
看看ARM9怎么做的:
统一编址。
运行时并行取出,因为有独立的总线。

使用特权

评论回复
16
原野之狼| | 2011-8-14 14:04 | 只看该作者
看M3是怎么做的:
统一编址。
性能大大强于ARM7,采用独立的优化过的总线,并行取数据和代码。

使用特权

评论回复
17
highgear| | 2011-8-14 20:50 | 只看该作者
统一编址的cpu 往往使用通用软件平台的通用 cpu, 使用统一的存储器,一般是通用的 RAM,例如 pc 下的 8086,mobile 平台下的 arm 等等,这类cpu的设计思想是为了运行 software 而不是 firmware, 此时,冯氏结构有着很多的优势。

使用特权

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

本版积分规则

24

主题

1038

帖子

4

粉丝