Cortex-M3的存储器是哈佛结构吗?

[复制链接]
 楼主| hexenzhou 发表于 2007-12-26 08:54 | 显示全部楼层 |阅读模式
手册上说Cortex-M3的总线是哈佛结构的,哈佛结构的特点是程序存储器和数据存储器是分开的,可是我看到STM32的总线结构和ARM7没有什么区别,程序存储器、IO接口和数据存储器都是在32位的4G的线性空间上,属于单总线类型,那为什么说Cortex-M3是哈佛结构呢?
STM32 发表于 2007-12-26 15:18 | 显示全部楼层

哈佛结构是有关CPU周边的总线架构,不是关于存储器本身的

下图为STM32内部的总线结构图,你可以清楚地看到Flash和SRAM分别使用了不同的通道与Cortex-M3核心交换数据,这正是典型的哈佛结构;你可以再比较一下ARM7的总线结构图,应该可以看出不同之处。

这里特别要提及的是图中Flash Memory与Cortex-M3核心之间的闪存缓冲器,它有效地拟合了Flash与CPU间速度的差异,充分发挥Cortex-M3核心的速度优势。下面这个帖子中有对这个闪存缓冲器工作原理的详细说明(13、14楼):STM32的 FLASH 可以跑到72MHZ吗???

——级别不够,二姨不让贴图,只好发2个帖。
STM32 发表于 2007-12-26 09:34 | 显示全部楼层

统一编址并不代表就是但总线结构,ARM9是哈佛结构也是统一

请看STM32技术参考手册第2.1节的框图。有时间我再回来详细介绍。
dld2 发表于 2007-12-26 09:38 | 显示全部楼层

HWM老师好久没来了

STM32 发表于 2007-12-26 15:20 | 显示全部楼层

STM32中地址空间的分配

楼主说得没错,STM32中程序存储器、IO接口和数据存储器都是在32位的4GB线性空间上,下图就是这个线性空间的分配图,可以看出程序存储器和数据存储器处于不同的地址区域,不像8051那样程序存储器和数据存储器分别有两套不同的地址区域。统一编址并不代表就是单总线结构,STM32中不同的总线使用了不同的地址空间。
ahamao 发表于 2013-3-14 10:06 | 显示全部楼层
哈佛结构
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

339

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

21

主题

339

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部