16 個の 1 ワード ブロックと 8 個の 2 ワード ブロックを使用するキャッシュのバイナリ アドレス、タグ、インデックス、およびヒットまたはミスを特定しようとしています。
参照されている指示 4、4、32、31、5、32 があるとします。
最初のキャッシュ (16 個の 1 ワード ブロック) では、最初に 4 をバイナリに変換する必要があります。次に、そのバイナリ値を分割してタグを取得し、そのインデックスが再び見つかった場合、ヒットとしてマークされます。
そうは言っても、この方法を使用すると、下の表が正しいと思います。
Ref | Binary | Tag | Index | Hit or Miss
4 00000100 0000 0100 miss
4 00000100 0000 0100 hit
32 00100000 0010 0000 miss
31 00011111 0001 1111 miss
5 00000101 0000 0101 miss
32 00100000 0010 0000 hit
2 番目のキャッシュ (8 つの 2 ワード ブロック) についても同じことを行いたいのですが、続行する方法がわかりません。
数字に関してはバイナリは同じだと思いますが、それからタグとインデックスを決定する方法と、最初のキャッシュと同じ参照命令でヒットまたはミスがあったかどうかについて混乱しています。
タグ、インデックス、およびそれがこのキャッシュでヒットしたかミスしたかをどのように判断しますか?