本地化和数据块的大小(Locality and Data Block Size)
如果你得到了位置A的存储信息,你很可能很快还会需要得到A周围的存储信息。这很自然,而且在数据存取和指令存取方面都适用。
一个关于指令读取的例子:
CPU的指令通常从内存中是按序读取的(Jump和Branch操作除外)。如你得到了位置A的指令,你很可能还需要读取A+4,A+8,A+12等等位置的信息。
缓存可以通过扩大数据块来进一步利用本地化的优势。每当对A地址的数据发生了一次Cache Miss,缓存将存入一块数据(包括A在内)。
当我们决定数据块的大小时,需要做一些性能上的平衡。太大或太小都不合适。
时间: 2024-11-05 12:31:33