Cache / TCM / SRAM / PSRAM 内存对比详解
一、总览
| 特性 | TCM | Cache | SRAM | PSRAM |
|---|---|---|---|---|
| 主要角色 | 关键实时任务 | 加速访问主存 | 系统主内存 | 外部扩展内存 |
| 速度 | 最快、可预测 | 极快 (命中时) | 快 | 中等 |
| 访问延迟 | 固定 1 周期,无等待 | 1~3 周期,Miss 阻塞 | 3~10 周期,存在总线竞争 | 数十~上百周期,串行低速(ospi) |
| 典型容量 | 小 (几十 KB) | 小 (几十KB级) | 中等 (MB级) | 较大 (数MB至数十MB) |
| 成本 | 高 | 高 | 中等 | 低 |
| 物理位置 | CPU紧密耦合 | CPU内部 | 片上 | 片外 |
| 关键特性 | 软件可控、确定性延迟 | 硬件自动管理 | 通用、高速 | 高密度、接口简单 |
二. Cache和TCM的区别
2.1管理方式
TCM(紧耦合存储器):软件管理。它和CPU内核在同一个总线上,地址是固定的。需要手动把代码或数据放到TCM的指定地址上(比如通过链接脚本)。
Cache(缓存):硬件管理。它位于CPU和主内存(Flash/RAM)之间。CPU发出读指令时,硬件逻辑自动检查数据是否在Cache里,如果在就直接用,不在就从主存加载。不需要(也无法)指定哪个变量存在Cache里。
2.2 实时性
TCM:访问时间是确定且固定的(通常在1个CPU周期)。没有“命中”或“未命中”的概念,每次存取都是确切的时间。适合硬实时业务场景。
Cache:访问时间是不确定的。如果“命中”,只需1-2个周期;如果“未命中”,需要从Flash/RAM搬数据,可能需要几十甚至上百个周期,这个延迟是不可预测的。
浙公网安备 33010602011771号