若计算机主存地址为 32 位,按字节编址,某Cache的数据区容量为 32 KB, 主存块大小为 64 B, 采用 8 路组相联映射方式,该 Cache 中比较器的个数和位数分别为
时间: 2024-04-24 07:22:38 浏览: 403
Cache和主存的三种映射方式
采用 8 路组相联映射方式,需要将 Cache 数据区划分为 8 组,每组中有 1024 / 8 = 128 行。每个主存块大小为 64B,可以表示为 2^6 B,因此主存块的地址需要用 6 位二进制数表示。
Cache 行的地址需要用几位二进制数表示呢?每个组中有 128 行,需要用 7 位二进制数表示在该组中的行号。每个主存块需要用 6 位二进制数表示主存块的地址,还需要用 6 位二进制数表示在该主存块中的偏移量。因此,Cache 行的地址需要用 7 + 6 + 6 = 19 位二进制数表示。
比较器的个数等于 Cache 行的个数,即 8 组 * 128 行/组 = 1024 行。因为每行需要比较主存块地址和标记字段,因此每行需要 6 位二进制数表示主存块地址和 13 位二进制数表示标记字段。因此,每个比较器需要比较 19 位二进制数。因此,比较器的位数为 1024 * 19 = 19456 位。
阅读全文