これが間違ったスタック交換である場合は申し訳ありません。コンピューター アーキテクチャに役立つ可能性のある場所に最も近い場所のように思えました。コンピューター システムの宿題の問題で、次のように聞かれました。
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種類があると思っていました。既にキャッシュに何が入っているか分からない場合、どれが強制的なミスであるかをどのように知ることができますか? タグ形式からキャッシュの容量を知るにはどうすればよいですか?
ヒントやヒントをありがとう。