1. 速度与层级排序(从快到慢)1.1 Cache(高速缓存):速度最快,用于 CPU 高速访问缓冲1.2 RAM(随机存取内存):速度中等,为运行时核心存储区域1.3 Flash(程序/数据闪存):速度最慢,为非易失性存储,用于持久化保存代码和常量1.4 核心访问逻辑CPU访问数据/指令时,遵循“优先缓存、逐级查找”的原则,具体流程如下:CPU发起访问请求,优先访问Cache,若Cache命中,则直接读取数据/指令执行;若Cache未命中,CPU会去RAM中查找对应数据/指令;若RAM中无对应内容,由CPU或DMA控制器执行「Flash→RAM」的数据/指令搬运,将Flash中存储的代码/常量加载到RAM指定地址;数据/指令加载到RAM后,Cache会自动从RAM中抓取该内容并缓存(即“回填Cache”);CPU最终从Cache中读取数据/指令执行。1.5 各组件核心职责与特性Cache:仅对接 CPU 与 RAM,核心作用是提升 CPU 访问速度,不直接访问 Flash,掉电后数据全部丢失,对应用层透明;RAM:运行时唯一可高速读写的区域,存放变量、堆栈、动态数据等,掉电数据丢失;Flash:非易失性存储,仅用于固化保存程序代码和常量,运行时不直接参与 CPU 执行,掉电后数据不丢失。1.6 关键补充说明当RAM中无对应数据时,Cache不直接参与「Flash→RAM」的数据搬运动作。原因如下:职责边界:Cache是CPU与RAM之间的高速缓冲器,仅寻址CPU和RAM,不识别、不访问Flash(Flash属于外部存储,不在其寻址范围);访问特性:Flash读写速度极慢,需专用擦除-编程指令,而Cache硬件设计用于高速字节级访问,不兼容Flash的访问协议;格式适配:Flash中存储的是固化二进制代码/常量,需先加载到RAM转换为可执行/可读写的运行时数据,Cache仅处理RAM中已格式化的高速数据。Cache的缓存方式(以CPU执行函数为例)2.1 缓存核心原则Cache的缓存设计基于两个核心原则,完美适配函数执行的特性:空间局部性:CPU访问某个地址时,会将该地址附近的一片连续数据/指令一同缓存(函数的指令的存储是连续的,恰好命中此特性);时间局部性:CPU近期访问过的地址,大概率会再次访问(函数执行时会反复调用指令、读取参数,恰好命中此特性)。2.2 函数执行场景下的Cache缓存完整流程2.2.1 示例代码(嵌入式C函数,明确存储区域)// 函数代码固化在Flash中(嵌入式语法指定存储区)__attribute__((section(".text.flash")))intadd_num(inta,intb){inttemp=a+b;// 变量temp存储在RAM的栈区returntemp;}intmain(void){intresult=add_num(3,5);// 调用add_num函数return0;