在设计计算机的缓存系统时,缓存块(或缓存行)大小是一个重要参数。在这种情况下,以下哪一项陈述是正确的?
(A)较小的块大小意味着更好的空间局部性
(B)较小的块大小意味着较小的缓存标签,因此缓存标签开销较低
(C)较小的块大小意味着较大的缓存标签,因此缓存命中时间较短
(D)较小的块大小导致较低的缓存未命中惩罚答案: (D)
说明: Block :内存被分成相等大小的段。每个段称为一个块。缓存中的数据以块的形式检索。这个想法是使用空间局部性(一旦检索到一个位置,很可能在不久的将来检索到附近的位置)。
TAG 位:每个缓存块都有一组 TAG 位,用于标识该缓存块中存在哪个主内存块。
选项 A:如果块大小较小,则 CPU 将来引用的附近地址数量将减少到该块中。因此,这不是更好的空间局部性。
选项 B:如果块大小较小,则缓存中的块不会更多,因此需要更多的缓存标记位,而不是更少。
选项C:缓存标记位更多(因为由于较小的块大小而没有更多的块),但更多的缓存标记位并不能降低命中时间(甚至会增加)。
选项D:如果高速缓存未命中(即,CPU 所需的块不存在于高速缓存中),则该块必须从内存中的下一个较低级别的内存(比如主内存)移动如果块大小较小,则放入高速缓存所需的时间较少,因此未命中损失较小。
因此选项 D。这个问题的测验