arm11是哈佛结构的?
哈佛结构不是代码和数据分开的么?就像51单片机一样也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?
但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。
这好像有些矛盾:shock: :shock: 伪H
D-cache和I-cache
虽然我没看,但是猜的就是,哎,以后看文档要仔细啊! 原帖由 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: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:19 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
分清楚ARM11和处理器芯片,对于一个处理器芯片,ARM11只是它内部的一部分.
这里的Harvard结构只是内部核心的结构,数据和指令的确是可以满足并行的获取,但核心外面还套着很多外部接口之类的东西,这些并不属于"ARM11"
再看一个arm7的
和基于arm7的S3c44b0的
http://www.arm.com/rximages/15156.gif 学习下 原帖由 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」,这两者并不矛盾。 8051 不是哈佛结构 Intel的MCS-51,是Harvard体系的,后来出的MCS-96(16位)是Princeton体系。
楼主把两个概念搞混了。数据区、代码区,是按内存信息种类来划分的。RAM、ROM是按构成内存的芯片类型划分的。代码可以在ROM里,也可以在RAM里运行。数据一般在RAM,但如果是只读数据,也可以放在ROM。
Harvard体系,也不是说所有的数据全在数据区里,采用立即寻址方式的立即数还是在代码区。因为立即数是嵌在指令里的,没法分割。
页:
[1]