これは間違ったスタックエクスチェンジャーであると私の謝罪します。それはちょうどコンピュータアーキテクチャのための助けになることができる場所に最も近いもののように思えた。私はアドレス参照のそれぞれがヒットまたはミスにつながるかどうかを言うことになってるダイレクトマップキャッシュヒット/ミス
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はキャッシュ内のさまざまなブロックを表すためのビット量を意味し、オフセットはブロック内の特定のバイトから選択できます。
私はヒットやミスが何であるか分かりません。義務、能力、紛争という3つのタイプがあると思いました。既にキャッシュに何が入っているのかわからないと、どのようなことが強制的なミスであるのか分かりますか?どのようにしてタグのフォーマットが与えられたのかキャッシュの容量を知ることができますか?
ヒントやヒントありがとうございます。
次に、バイトオフセットは何ですか? – KWJ2104
バイトオフセットは1ブロックの大きさです。例えば、上記と同じ参照を使用して、C1が{00 00 0010}をブロック{00}にロードしたと仮定すると、このブロックは{00 00 0000}から{00 00 1111}までのメモリを含む。ただし、{01 00 0010}を検索しようとすると、タグが異なるためにミスになります。 (これは単方向のセットアソシアティブマッピングであると仮定しています) –