确定缓存的总大小

时间:2015-02-10 05:41:29

标签: caching hardware computer-architecture

问题在于: 计算机系统具有32MB的主存储器和组关联高速缓存。假设每个缓存行包含16个字节的数据。主存储器地址的标记字段是十位宽。如果高速缓存是直接映射的,那么标记字段的大小将是7位。使用此信息,查找缓存的设置关联性(每组的行数)。确定缓存硬件中的比较器的大小和数量。此外,确定缓存的总大小并以千字节表示您的答案。假设除了标记和数据之外,每个缓存行还有4个额外的簿记位。

所以我想出的是: 8路组关联,需要8个比较器,每个10比特。

我一直在搞清楚缓存的总大小,因为我不确定有多少数据位,而我所拥有的等式似乎需要这条信息。这是等式: (2 ^(索引位))* [(关联性)(标记位+有效位+数据大小)]

所以我猜测它会是: 2 ^ 11 *(8(10 +(1 + 1 + 1 + 1)+数据大小))

那么数据大小究竟是什么,假设其他所有内容都正确?

1 个答案:

答案 0 :(得分:1)

当他们要求缓存大小时,他们要求缓存的所有构建块的总和。

那将是

(# of sets) * associativity * blocksize

我不确定2 ^ 11是什么......但我不认为你是如何解决的。