MCU-缓存Cache与CPU中的主存SRAM

缓存(Cache)和主存(SRAM)均属于 SRAM,他们的核心区别:

  • 通过 Cache 缓存 Flash 中的指令和数据,可避免 CPU 因等待数据而停滞。
  • 主存 SRAM 存储程序运行时的变量、堆栈、临时数据等。通常作为 MCU 内部的主内存(如 STM32H743 的片上 SRAM)
  • STM32H743 还包含多块独立 SRAM,服务于不同外设或场景。TCM(Tightly Coupled Memory)存放实时性要求极高的代码或数据(如中断服务程序)。AXI SRAM 供高速外设(如以太网、USB)使用。Backup SRAM 低功耗模式下保持数据(由备份电源供电)。
  • 指令缓存(I-Cache):缓存从 Flash 或 外部存储器 读取的指令。数据缓存(D-Cache):缓存从 Flash、SRAM 或外部存储器 读取的数据。Cache 的缓存范围是全局的,可以覆盖所有可缓存的地址空间(包括内部 SRAM)。是否需要缓存某个内存区域,由内存属性配置(如 MPU 设置)决定。普通 SRAM(如 AXI SRAM、SRAM1/SRAM2)可能被 D-Cache 缓存,具体取决于 MPU(内存保护单元)的配置。TCM 是紧耦合内存,直接挂载到 CPU 总线,不经过 Cache,访问零延迟。

实例代码:

Cortex-M7

Cortex-A7(含MMU)

相关推荐
宇钶宇夕13 分钟前
针对工业触摸屏维修的系统指南和资源获取途径
单片机·嵌入式硬件·自动化
和风化雨41 分钟前
stm32的三种开发方式
stm32·单片机·嵌入式硬件
kanhao1001 小时前
三态逻辑详解:单片机GPIO、计算机总线系统举例
单片机·嵌入式硬件
小眼睛FPGA3 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分/紫光同创 IP core 的使用及添加
科技·嵌入式硬件·ai·fpga开发·gpu算力
竹照煜_ysn4 小时前
STM32
stm32·单片机·嵌入式硬件
CodeWithMe4 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
蓬荜生灰5 小时前
永磁无刷电机旋转原理
单片机·嵌入式硬件
大春儿的试验田6 小时前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
likeGhee6 小时前
python缓存装饰器实现方案
开发语言·python·缓存
C182981825756 小时前
OOM电商系统订单缓存泄漏,这是泄漏还是溢出
java·spring·缓存