arm11是哈佛结构的?
哈佛结构不是代码和数据分开的么?就像51单片机一样
也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?
但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。
这好像有些矛盾
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
哈佛结构不是代码和数据分开的么?就像51单片机一样
也就是说,哈佛结构的CPU的pc只能访问代码空间,是没法执行数据区的代码,对么?
但是ARM11似乎可以执行RAM上的code(从flash里copy过去的)。
这好像有些矛盾
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
伪H
D-cache和I-cache
虽然我没看,但是猜的就是,哎,以后看文档要仔细啊!
分清楚ARM11和处理器芯片,对于一个处理器芯片,ARM11只是它内部的一部分.
这里的Harvard结构只是内部核心的结构,数据和指令的确是可以满足并行的获取,但核心外面还套着很多外部接口之类的东西,这些并不属于"ARM11"
给你看一个图,你可能会明白一点:
再看一个arm7的
和基于arm7的S3c44b0的
学习下
「哈佛结构」和「可以执行RAM上的code」,这两者并不矛盾。
8051 不是哈佛结构
Intel的MCS-51,是Harvard体系的,后来出的MCS-96(16位)是Princeton体系。
楼主把两个概念搞混了。数据区、代码区,是按内存信息种类来划分的。RAM、ROM是按构成内存的芯片类型划分的。代码可以在ROM里,也可以在RAM里运行。数据一般在RAM,但如果是只读数据,也可以放在ROM。
Harvard体系,也不是说所有的数据全在数据区里,采用立即寻址方式的立即数还是在代码区。因为立即数是嵌在指令里的,没法分割。