抱歉,如果这不是正确的stackexchange,请见谅;但它似乎是最接近的可以帮助计算机架构问题的地方。在计算机系统的一道作业问题中,我被问到:
我需要确定每个地址引用是否会命中或未命中,但我不知道从哪里开始。对于格式,我认为标签是指缓存块中数据的标签,setIdx是表示缓存中不同块的位数,偏移是您可以从中选择的块内特定字节。我觉得我不理解什么是命中或未命中。我以为有三种类型: 强制性、容量和冲突。如果我不知道缓存中已经有什么,我怎么知道哪一个是强制性未命中?根据标记格式,我如何确定缓存的容量?谢谢任何提示或建议。
Consider three direct mapped caches X, Y, and Z each interpreting an
8-bit address slightly differently according to the {tag:setIdx:byteOffset}
format specified. For each address in the reference stream, indicate whether the
access will hit (H) or miss (M) in each cache.
C1 C2 C3
Address Formats: {2:2:4} {2:3:3} {2:4:2}
Address References in Binary: 00000010, 00000100...
我需要确定每个地址引用是否会命中或未命中,但我不知道从哪里开始。对于格式,我认为标签是指缓存块中数据的标签,setIdx是表示缓存中不同块的位数,偏移是您可以从中选择的块内特定字节。我觉得我不理解什么是命中或未命中。我以为有三种类型: 强制性、容量和冲突。如果我不知道缓存中已经有什么,我怎么知道哪一个是强制性未命中?根据标记格式,我如何确定缓存的容量?谢谢任何提示或建议。