我们知道,为了最大限度地减少微处理器中缓存结构的延迟,位线线长和字线线长应该相对相同。换句话说,处理器中的缓存模块应该是方形的,而不是矩形的,以最大限度地减少延迟。然而,我们知道,如果我们想实现一个简单的缓存模块,它很可能最终会有一个矩形缓存。我的问题是,在实际设计中,使用什么技术来制作方形缓存。
举个例子:假设我们有一个 16KB 的直接映射缓存,缓存行有 64B(512 位)。所以我们将有 256 个条目。如果我们假设每个位单元都是一个正方形,那么字线长度是位线长度的两倍。如何重构这个缓存,使位线和字线具有相同的大小?
答案1
现实世界的设计通常没有方形单元。它们还可以将缓存划分为块,因此每个块内的行具有相等的长度。如果您查看现代 CPU 芯片,您可以相当容易地看到缓存被划分为块。