Caching 确定缓存的总大小

Caching 确定缓存的总大小,caching,hardware,computer-architecture,Caching,Hardware,Computer Architecture,问题是: 计算机系统有32MB的主存和一组关联缓存。假设每个缓存线包含16个字节的数据。主存储器地址的标记字段是10位宽。如果缓存是直接映射的,那么标记字段的大小应该是7位。使用此信息,查找缓存的集合关联性(每组的行数)。确定缓存硬件中比较器的大小和数量。另外,确定缓存的总大小,并以KB表示您的答案。假设每个缓存线除了标记和数据之外还有4个额外的簿记位 所以我想到的是: 8路设置关联,需要8个比较器,每个比较器10位 我一直在计算缓存的总大小,因为我不确定有多少数据位,我的等式似乎需要这些信息。

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

所以我想到的是: 8路设置关联,需要8个比较器,每个比较器10位

我一直在计算缓存的总大小,因为我不确定有多少数据位,我的等式似乎需要这些信息。下面是方程式: (2^(索引位))*[(关联性)(标记位+有效位+数据大小)]

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


那么,假设其他所有内容都正确,那么数据的大小到底是多少?

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

那就是

(# of sets) * associativity * blocksize

我不确定什么是2^11。。。但我不认为这就是你解决问题的方法。

我认为你需要把这个问题标记为“家庭作业”问题。