如果这是错误的堆栈交换,我深表歉意;它似乎是最接近可能对计算机体系结构有所帮助的地方。对于计算机系统中的作业问题,有人问我:
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...
我应该说每个地址引用是否会导致命中或未命中,但我不知道从哪里开始。
对于格式,我认为 tag 表示缓存块中数据的标签,setIdx 表示为表示缓存中的不同块而给出的位数,而 offset 是您可以选择的块中的特定字节。
我觉得我不明白什么是命中或错过。我认为有3种类型:强制、能力和冲突。如果我不知道缓存中已经存在什么,我怎么知道哪个是强制未命中?给定标签格式,我如何判断缓存的容量?
感谢您提供任何提示或提示。