caboy 发表于 2009-12-10 23:31

arm11是哈佛结构的?

哈佛结构不是代码和数据分开的么?就像51单片机一样

也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?

但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。

这好像有些矛盾:shock: :shock:

prolj 发表于 2009-12-11 01:24

伪H
D-cache和I-cache
虽然我没看,但是猜的就是,哎,以后看文档要仔细啊!

cjaizss 发表于 2009-12-12 20:19

原帖由 caboy 于 2009-12-10 23:31 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
哈佛结构不是代码和数据分开的么?就像51单片机一样

也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?

但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。

这好 ...
分清楚ARM11和处理器芯片,对于一个处理器芯片,ARM11只是它内部的一部分.
这里的Harvard结构只是内部核心的结构,数据和指令的确是可以满足并行的获取,但核心外面还套着很多外部接口之类的东西,这些并不属于"ARM11"

cjaizss 发表于 2009-12-12 20:21

原帖由 cjaizss 于 2009-12-12 20:19 发表 http://linux.chinaunix.net/bbs/images/common/back.gif

分清楚ARM11和处理器芯片,对于一个处理器芯片,ARM11只是它内部的一部分.
这里的Harvard结构只是内部核心的结构,数据和指令的确是可以满足并行的获取,但核心外面还套着很多外部接口之类的东西,这些并不属于"ARM11"
给你看一个图,你可能会明白一点:
http://www.arm.com/rximages/15330.gif

cjaizss 发表于 2009-12-12 20:33

原帖由 cjaizss 于 2009-12-12 20:19 发表 http://linux.chinaunix.net/bbs/images/common/back.gif

分清楚ARM11和处理器芯片,对于一个处理器芯片,ARM11只是它内部的一部分.
这里的Harvard结构只是内部核心的结构,数据和指令的确是可以满足并行的获取,但核心外面还套着很多外部接口之类的东西,这些并不属于"ARM11"
再看一个arm7的
和基于arm7的S3c44b0的
http://www.arm.com/rximages/15156.gif

accessory 发表于 2009-12-13 07:03

学习下

beepbug 发表于 2009-12-16 20:19

原帖由 caboy 于 2009-12-10 23:31 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
哈佛结构不是代码和数据分开的么?就像51单片机一样

也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?

但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。

这好 ...
「哈佛结构」和「可以执行RAM上的code」,这两者并不矛盾。

masonzhang 发表于 2010-02-17 21:58

8051 不是哈佛结构

beepbug 发表于 2010-02-18 17:16

Intel的MCS-51,是Harvard体系的,后来出的MCS-96(16位)是Princeton体系。

楼主把两个概念搞混了。数据区、代码区,是按内存信息种类来划分的。RAM、ROM是按构成内存的芯片类型划分的。代码可以在ROM里,也可以在RAM里运行。数据一般在RAM,但如果是只读数据,也可以放在ROM。

Harvard体系,也不是说所有的数据全在数据区里,采用立即寻址方式的立即数还是在代码区。因为立即数是嵌在指令里的,没法分割。
页: [1]
查看完整版本: arm11是哈佛结构的?