[APM32E0] Flash的预取缓冲区功能如何理解?

[复制链接]
536|31
HeartbeatEcho 发表于 2025-9-13 23:43 | 显示全部楼层 |阅读模式
在阅读APM32E030的技术手册时,看到Flash的读操作章节有关于Flash预取缓存区的描述。如下图所示:
flash预读缓冲区.jpg
上面的文字描述下,仅当系统时钟工作在24MHz主频时才生效吗?如果工作在72MHz的话,这个预取功能只能放着了吗?
望版主答疑解惑!



CloudKiss 发表于 2025-9-14 21:47 | 显示全部楼层
预取功能估计不适合非零等待读取flash的情况
风暴之眸 发表于 2025-9-16 09:53 | 显示全部楼层
楼主是不是可以通过coremark的计算来验证一下啊
Gfan 发表于 2025-9-17 11:28 | 显示全部楼层
3041668ca291fcc43c.png

    默认状态下用的是HSI,8MHz时钟;如果满足以下配置条件,预取功能默认低
配置条件
预取缓存区的配置和使用需满足以下条件:

  • 系统时钟(SYSCLK)必须与AHB时钟(HCLK)一致。
  • 仅当系统时钟 ≤ 24MHz时,才能进行配置(开启或关闭)。
  • 仅当系统时钟与AHB时钟一致时,才能实际使用预取功能。




但是预取功能是加速低速时钟情况下的工作,工作在72MHz其实已经算是在高速,没法再提升效率了
7677068ca291bde616.png
霜之闪耀 发表于 2025-9-17 18:58 | 显示全部楼层
看了版主的回复,还是你们研发设计人员考虑的周到。
这样性能与功耗就均衡了
天鹅绒之夜 发表于 2025-9-22 11:17 | 显示全部楼层
我都没有注意到这个技术点
jackcat 发表于 2025-10-4 08:47 | 显示全部楼层
Flash访问速度可能接近内核时钟,预取缓存区的作用更显著,能有效减少延迟
夜幕叙事曲 发表于 2025-10-4 10:01 | 显示全部楼层
如果在72MHz时也添加了预取功能,那岂不是更快了
51xlf 发表于 2025-10-4 12:14 | 显示全部楼层
预取缓冲区的开启与关闭与系统电压有关。
averyleigh 发表于 2025-10-4 15:15 | 显示全部楼层
Flash 预取缓存区的启用与否,主要取决于系统时钟频率和Flash 读取等待周期
janewood 发表于 2025-10-4 18:52 | 显示全部楼层
预取缓存区可能增加动态功耗              
pl202 发表于 2025-10-4 20:21 | 显示全部楼层
高频下仍需启用,但需配合等待周期调整
kkzz 发表于 2025-10-8 12:46 | 显示全部楼层
预取缓冲区的功能是基于Flash存储器的访问特性和单片机的数据需求设计的
deliahouse887 发表于 2025-10-8 15:44 | 显示全部楼层
硬件级优化设计​​              
elsaflower 发表于 2025-10-8 18:55 | 显示全部楼层
若数据已在缓存中,可直接读取              
febgxu 发表于 2025-10-8 21:13 | 显示全部楼层
可以通过合理设置Flash的等待周期来进一步优化系统性能。
mattlincoln 发表于 2025-10-10 11:12 | 显示全部楼层
预取缓冲区的有效性不受主频限制吧
dspmana 发表于 2025-10-10 15:10 | 显示全部楼层
Flash访问速度远低于内核时钟,单纯依赖预取缓存区可能不足,需配合其他优化措施
belindagraham 发表于 2025-10-11 10:54 | 显示全部楼层
Flash预取缓存区通过提前读取后续指令到缓冲区,减少等待Flash访问的时间,从而提升代码执行效率
bestwell 发表于 2025-10-11 13:24 | 显示全部楼层
必须启用预取缓存区,同时需配置合适的等待周期
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

48

帖子

0

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