打印

为什么GD32F303代码运行在flash比sram更快?

[复制链接]
1333|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 聚沃科技 于 2024-7-21 09:47 编辑

我们知道一般MCUflash有等待周期,随主频提升需要插入flash读取的等待周期,以stm32f103为例,主频在72M时需要插入2个等待周期,故而代码效率无法达到最大时钟频率。
所以STM32F103将代码加载到sram运行速度更快。
但使用GD32F303时将代码加载到SRAM后速度反而下降了一些,这是为什么呢?
我们前面了解过GD32F303 flashcode area区是零等待的,
GD32F系列MCU片上FlashCode区和Data区使用解密

零等待访问理论上就应该和在sram运行速度一样,那么为何会比sram更快一些呢?
通过查阅GD32F303用户手册系统架构章节我们可以知道,访问flash时可以直接通过ibussbus专用总线进行访问,而访问sram时通过AHB主机接口通过System BUS进行访问,AHB主机接口下更还有挂载有其他主机和外设总线,共享总线带宽。
所以GD32F303的代码运行在code area零等待区时,效率会比常规加载sram的方式更高。
本教程由GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

评论回复
沙发
Dongchen3| | 2024-7-22 16:26 | 只看该作者
因为这个,对的,这个东西挺复杂的,看一下就还是没动,所以这个的原因就是ram慢的原因吧

使用特权

评论回复
板凳
地瓜patch| | 2024-7-31 21:45 | 只看该作者
ram更快的,是不是程序问题

使用特权

评论回复
地板
亚瑟| | 2024-7-31 22:09 | 只看该作者
ram速度很快的吧

使用特权

评论回复
5
小小蚂蚁举千斤| | 2024-7-31 23:19 | 只看该作者
这个图片东西挺多其实挺复杂的

使用特权

评论回复
6
tpgf| | 2024-8-1 11:51 | 只看该作者
任何单片机在flash中都比ram快吧

使用特权

评论回复
7
磨砂| | 2024-8-10 11:00 | 只看该作者
tpgf 发表于 2024-8-1 11:51
任何单片机在flash中都比ram快吧

不对 应该说传统上应该ram比flash要快

使用特权

评论回复
8
晓伍| | 2024-8-11 10:05 | 只看该作者
好像并不是因为总线的变化引起来的

使用特权

评论回复
9
八层楼| | 2024-8-11 17:11 | 只看该作者
这个只是在这种情况下ram的速度会比flash速度快是吗

使用特权

评论回复
10
观海| | 2024-8-12 08:18 | 只看该作者
这个特点仅仅是针对这个系列的芯片才有的吗

使用特权

评论回复
11
guanjiaer| | 2024-8-12 13:41 | 只看该作者
代码运行在flash中是一种理想状态吗

使用特权

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

本版积分规则

170

主题

190

帖子

9

粉丝