Cache(S,E,B,m):
-
S:每个set包含一个或者多个cache line(高速缓冲行)
cache line:分别包含有效位(valid)、标记(tag)、数据块(cache block)
-
valid:一个bit,表示当前cache line存储的信息是否有效
-
Tag:确定目标数据是否在cache line中
-
数据块:内存数据的副本,大小为B bit
-
E:表示cache line的行数
-
m:目标数据(地址A)的地址长度为m位
被参数S和B划分为三段 通过长度为S bit的组索引位来确定目标数据存储在哪个set中,一旦知道了目标数据属于那个set 接下来确定目标数据放在哪一行,可通过长度为t bit的标记(Tag)来实现,还需要保证有效位=1,才能确定哪一行 最后,需要根据长度为b的块偏移量来确定目标数据
Cache大小是指所有数据块的和,其中有效位和标记位不包括在内(C=S×E×B)
当数据加载从内存A处读取数据时,CPU将地址A发送到cache,如果cache中保存着目标数据的副本,它就立即将目标数据发给CPU