2015-02-10 45 views
-1

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

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

我一直在搞清楚缓存的总大小,因为我不确定有多少数据位以及我似乎需要那条信息。这里的公式: (2 ^(指数位))* [(关联)(标记位+有效位+数据大小)

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

那么究竟是什么数据大小,假设我有一切正确?

+0

我认为你需要把这个标记为“家庭作业”的问题。 – umayneverknow 2015-02-14 06:00:40

回答

0

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

这将是

(# of sets) * associativity * blocksize 

我不知道什么是2^11 ...但我不认为这是你如何解决这个问题。