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)

相关推荐
Yesheldon1 小时前
Cadence 高速系统设计流程及工具使用三
嵌入式硬件·fpga开发·硬件架构·硬件工程·智能硬件
?abc!1 小时前
缓存(3):本地缓存作用 及 数据一致性 实现策略
缓存
inputA2 小时前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
思考的味道2 小时前
SVM在医疗设备故障维修服务决策中的应用:策略、技术与实践
嵌入式硬件
真的想上岸啊3 小时前
学习51单片机01(安装开发环境)
嵌入式硬件·学习·51单片机
7yewh4 小时前
MCU程序加密保护(二)ID 验证法 加密与解密
单片机·嵌入式硬件·安全
YOYO--小天4 小时前
RS485和RS232 通信配置
linux·嵌入式硬件
小_楠_天_问4 小时前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
Toky Zhu5 小时前
ubuntu清除缓存
linux·ubuntu·缓存
欢乐熊嵌入式编程5 小时前
智能手表项目风险评估与应对计划书
嵌入式硬件·物联网·目标跟踪·智能手表