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)

相关推荐
一枝小雨12 小时前
RISC-V架构sp寄存器 & RISC-V架构下FreeRTOS任务上下文保存与恢复
单片机·架构·嵌入式·risc-v·rtos·内核原理
BW.SU13 小时前
PackagingTool 嵌入式资源打包合并工具
单片机·二进制·嵌入式开发·资源合并软件·图片打包
长安第一美人14 小时前
工业级实时监控系统开发:PHP+ZMQ+JS 前后端分离架构全解析
前端·嵌入式硬件·架构·交互·rk3588·zmq后端
田甲14 小时前
STM32开发环境迁移实践:从 CubeMX 生成 CMake 工程到 VS Code 编译与调试
stm32·单片机·嵌入式硬件
hoiii18714 小时前
在 STM32F1上读取 BMX055 三轴加速度
stm32·单片机·嵌入式硬件
Solis程序员14 小时前
跳出 CRUD:深入剖析 Redis 管道 Pipeline 底层通信机制
数据库·redis·缓存
嵌入式小站14 小时前
STM32 零基础可移植教程 04:按键输入,为什么按下去读到的是 0 或 1
chrome·stm32·嵌入式硬件
三佛科技-1873661339715 小时前
BP8522D贴片SOP7,5V150mA高集成度无VCC电容降压型恒压芯片解析
单片机·嵌入式硬件
один but you15 小时前
Hash表
缓存·面试·职场和发展
csg110715 小时前
MSP430F149驱动T8650北斗模块实现短报文通信实战
单片机·嵌入式硬件·物联网·自动化