指的是缓存如何组织以存储指令和数据。三种主要类型是指令缓存(Instruction Cache)、数据缓存(Data Cache)和统一缓存(Unified Cache)。以下是它们的区别:
1. 指令缓存(Instruction-Cache)
仅存储CPU为执行而获取的指令(程序代码)。
有助于减少指令获取的延迟。
通常存在于L1缓存(L1I)中,与数据缓存分开。
针对快速指令交付到CPU流水线进行了优化。
2. 数据缓存(Data-Cache)
仅存储CPU处理所需的数据。
有助于减少检索常用数据时的内存访问时间。
通常存在于L1缓存(L1D)中,与指令缓存分开。
针对快速数据访问进行了优化。
3. 统一缓存(Unified-Cache)
在同一缓存内存中存储指令和数据。
常见于L2和L3缓存中。
在管理缓存空间方面更加灵活(在指令和数据之间动态分配)。
在L1级别上比单独的I-Cache和D-Cache稍慢,但在更高级别上更高效。
现代CPU(如Intel、AMD、ARM)通常具有:
L1缓存:独立的指令缓存(L1I)和数据缓存(L1D)。
L2缓存:通常是统一缓存。
L3缓存:始终是统一缓存,由多个核心共享。