アプリ版:「スタンプのみでお礼する」機能のリリースについて

キャッシュについて勉強しています。メモリアドレスの最後の部分にバイトオフセットというものがあるのですがこれはいったい何のために存在しているのでしょうか?どなたかお答えしていただけたら幸いです。

A 回答 (1件)

ちょっと用語違うかも知れません。


物理アドレスを3つにわけて、上位から
タグアドレス、ラインアドレス、バイトオフセット、
とされているのでしょうか?

であれば、回答は以下のとおりです。
キャッシュのデータはライン単位で管理します。一般にラインの大きさは16-64バイトぐらいです。仮にラインサイズを4バイトとすると、物理アドレス最下位2ビットはライン単位の管理には不要です。(ラインの存在とか、MESIのステートとか)
一方、CPUが1バイトのデータを書込むばあい、ラインの中の、どこに書くかを示す必要があるので、バイトオフセットを使います。
ちょっと乱暴な言い方をすれば、バイトオフセットはタグRAMには格納されないアドレスである、というくくり方も正しいかと。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A