硬汉嵌入式论坛

 找回密码
 立即注册
查看: 534|回复: 3
收起左侧

[STM32H750] 在H750中,ram和各种sram读写速度用deepseek总结

[复制链接]

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2025-5-14 23:53:22 | 显示全部楼层 |阅读模式
本帖最后由 spi-sd 于 2025-5-15 00:01 编辑

发个贴问一下,这个ai总结的对吗?


在STM32H750微控制器中,不同SRAM模块的访问速度受其总线架构、时钟频率以及CPU缓存机制的影响。以下是各类SRAM的速度排序及关键特性分析:

1. 最快的RAM:ITCM RAM (64 KB)
  • 位置:直接连接至Cortex-M7内核的ITCM接口(指令紧耦合内存)。
  • 速度零等待周期(与CPU同频,高达480 MHz),访问延迟最低。
  • 用途:存放对延迟极度敏感的代码或数据(需通过特定链接脚本配置)。
  • 限制:仅CPU可直接访问,DMA无法操作。


2. 次快的RAM:DTCM RAM (128 KB)
  • 位置:连接至Cortex-M7的DTCM接口(数据紧耦合内存)。
  • 速度零等待周期(与CPU同频),专为数据操作优化。
  • 用途:高频数据存取(如栈、中断变量),DMA不可访问。
  • 优势:比AXI SRAM快约50%以上(实测约2.5 CPU周期 vs 5+周期)。


3. 三级缓存加速的RAM:AXI SRAM (512 KB) & SRAM1-4 (共1.15 MB)
  • 位置:通过AXI总线AHB总线连接,受ART加速器(L1缓存)影响。
  • 速度

    • 首次访问:需等待周期(AXI总线延迟,约几十ns)。
    • 缓存命中时:接近DTCM速度(得益于64 KB L1缓存)。

  • 用途:大容量数据缓冲区,DMA可访问。
  • 注意:频繁访问的未缓存数据速度显著慢于TCM。


4. 最慢的RAM:Backup SRAM (4 KB)
  • 位置:由备份电源域供电(V<sub>BAT</sub>)。
  • 速度:最低(需跨电源域访问),仅用于低功耗场景数据保持。


关键影响因素
  • 缓存配置:启用MPU配置为Write-ThroughWrite-Back可提升AXI/AHB SRAM的实时性能。
  • 总线竞争:多主设备(如DMA、以太网)同时访问AXI SRAM会引入延迟。
  • 代码优化:将关键数据段放入DTCM(通过__attribute__((section(".dtcm"))))。


速度排序总结
  • ITCM RAM(零延迟,CPU专享)
  • DTCM RAM(零延迟,数据专用)
  • AXI SRAM / SRAM1-4(依赖缓存命中率)
  • Backup SRAM(低速,特殊用途)


推荐使用场景
  • 实时控制:DTCM存放PID控制器变量。
  • 大数组处理:AXI SRAM配合DMA(如摄像头数据)。
  • 关键代码:ITCM存放中断服务例程(ISR)。

通过合理配置MPU和链接脚本,可最大化利用STM32H750的高速内存层级。









在STM32H750中,AXI SRAMSRAM1-4的访问速度排序如下(从最快到最慢):

1. AXI SRAM (512 KB) —— 最快
  • 总线:64位AXI总线(最高480 MHz,与CPU同频)。
  • 优势

    • 默认受L1缓存(I/D Cache)加速,缓存命中时接近DTCM速度
    • 高带宽(64位),适合大数据量吞吐(如DMA传输、图形缓冲区)。

  • 延迟:未缓存时约5-6 CPU周期,缓存命中后仅1-2周期。


2. SRAM1 & SRAM2 (各128 KB) —— 次快
  • 总线:32位AHB总线(D1域,最高240 MHz)。
  • 特点

    • 无默认缓存,需手动配置MPU为Write-Back缓存策略以提速。
    • 未缓存时延迟约6-8 CPU周期,启用缓存后接近AXI SRAM性能。

  • 适用场景:通用数据存储,配合缓存优化可替代AXI SRAM。


3. SRAM3 (32 KB) —— 较慢
  • 总线:32位AHB总线(D1域),与SRAM1/2同总线但容量更小。
  • 速度:与SRAM1/2相近,但可能因容量小导致总线竞争较少。


4. SRAM4 (64 KB) —— 最慢
  • 总线:32位AHB4总线(D3域,时钟通常≤200 MHz)。
  • 限制

    • 位于低功耗域,时钟频率较低,访问速度明显慢于D1域的SRAM1-3。
    • 优势是支持低功耗模式数据保持(如STOP模式)。



速度排序总结
AXI SRAM(缓存加速) > SRAM1/SRAM2(AHB总线) > SRAM3 > SRAM4(D3域低速)

关键差异对比[td]
SRAM类型
总线带宽
默认缓存
典型延迟(未缓存)
优化建议
AXI SRAM64-bit5-6周期优先用于DMA/高频数据
SRAM1/SRAM232-bit6-8周期启用MPU缓存提速
SRAM332-bit7-9周期小数据存储
SRAM432-bit10+周期(D3域限制)仅用于低功耗需求场景



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-5-15 07:08:45 | 显示全部楼层
谢谢分享,这个帖子里面我有一个各个ram性能实际测试


【深入探讨】DMA到底能不能起到加速程序执行的作用,DMA死等操作是否合理,多个DMA数据流同时刷是否处理过来
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=109765


回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2025-5-15 22:33:06 | 显示全部楼层
感谢硬汉大佬分享,看了那篇帖子,涨了很多知识,不过想问问,为啥里面没有dtcm ram的测试呢? 另外图片这里的测试,其他都是用64kb做测试,ITCM RAM是测试32kb啊?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-5-16 07:57:05 | 显示全部楼层
spi-sd 发表于 2025-5-15 22:33
感谢硬汉大佬分享,看了那篇帖子,涨了很多知识,不过想问问,为啥里面没有dtcm ram的测试呢? 另外图片这 ...

dtcm和itcm一样。这个例子我已经dtcm做主ram空间。
因为itcm一共64k,这样复制粘贴各一半
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 03:36 , Processed in 0.044058 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表