第七章 缓存
基本上,处理器缓存是一个位于核心与主存之间的小而快速的内存块。它存储了主存中最近访问的项目的副本。访问缓存内存的速度明显快于访问主存。由于缓存仅保存了主存内容的一个子集,因此它必须同时存储主存中项目的地址及其相关数据。每当核心想要读取或写入特定地址时,它会首先在缓存中查找。如果在缓存中找到了该地址,它将使用缓存中的数据,而不必访问主存。
这显著提高了系统的潜在性能,因为减少了慢速外部内存访问时间的影响。它还通过避免驱动外部信号的需求来减少系统的功耗。Cortex-R系列处理器在第8章中描述的紧耦合内存(TCM)中提供了一种替代的快速访问内存。
当ARM架构首次开发时,处理器的时钟速度和内存的访问速度大致相同。如今,处理器核心更加复杂,可以以数量级更高的速度运行。然而,外部总线和内存设备的频率并没有相应地扩展。可以实现与核心速度一样快的小型片上SRAM块,但这种RAM与标准DRAM块相比非常昂贵,而后者的容量可能要大几千倍。在许多基于ARM处理器的系统中,访问外部内存可能需要数十甚至数百个核心周期。
缓存相对于系统中使用的整体内存而言较小。较大的缓存会使芯片更加昂贵。此外,增加内核内部缓存的大小可能会限制内核的最高速度。大量研究致力于确定硬件如何