下面的问题令我感到困惑,因为它与我见过的其他例子并不相似。
对于128字节存储器和32字节双向设置关联回写,具有4字节块的写分配数据高速缓存和LRU(最近最少使用)替换策略,显示块偏移的存储器地址细分,设置索引和标记字段。每个字段需要多少位?
我总共提出了寻址所需的7位。在这7位中,块偏移需要2位,设置索引需要2位,标签需要3位。这是对的吗?
答案 0 :(得分:3)
首先让我们做一些数学运算:
32 bytes / 4 bytes_per_line
行,产生8行。由于高速缓存是双向组关联的,因此每个块可以使用每组中的任何一行。所以你有4组,每组2行。因此:
每个地址的编码都是:
tag(3 bits) | set(2 bits) | offset(2 bits)