打印

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

[复制链接]
11450|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hexenzhou|  楼主 | 2007-12-26 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手册上说Cortex-M3的总线是哈佛结构的,哈佛结构的特点是程序存储器和数据存储器是分开的,可是我看到STM32的总线结构和ARM7没有什么区别,程序存储器、IO接口和数据存储器都是在32位的4G的线性空间上,属于单总线类型,那为什么说Cortex-M3是哈佛结构呢?
来自 2楼
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老师好久没来了

使用特权

评论回复
5
STM32| | 2007-12-26 15:20 | 只看该作者

STM32中地址空间的分配

楼主说得没错,STM32中程序存储器、IO接口和数据存储器都是在32位的4GB线性空间上,下图就是这个线性空间的分配图,可以看出程序存储器和数据存储器处于不同的地址区域,不像8051那样程序存储器和数据存储器分别有两套不同的地址区域。统一编址并不代表就是单总线结构,STM32中不同的总线使用了不同的地址空间。

使用特权

评论回复
6
ahamao| | 2013-3-14 10:06 | 只看该作者
哈佛结构

使用特权

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

本版积分规则

21

主题

339

帖子

1

粉丝