キャッシュのデータの管理単位は キャッシュライン
仮想記憶ではPAGEを単位とする。通常 数KBYTE
ライトバック方式、フルアソシアティビィティ
仮想ページアドレス → 物理ページアドレスへの変換TABLEが主記憶上に用意。
主記憶上にPAGEが無い場合、ページフォールトとなり、HDDから主記憶へPAGEをコピーする。
仮想アドレスから物理アドレスを生成する時には、ページテーブル(主記憶上の巨大な表)を引く。
すなわち、主記憶を余計にアクセスする必要があるので、いちいち表を引くのはナンセンス。
→パイプラインをまともに動かすことができない。
専用のページテーブル用のキャッシュを設けて、アドレス変換をする。 TLB (Translation lookaside buffer)
図1 TLB
5.4.1 キャッシュと仮想記憶
3つの構成方法
1) 直列型物理アドレスキャッシュ TLBで仮想アドレスを物理アドレスに変換した後に、物理アドレスを用いてキャッシュをアクセスする。
2) 並列型物理アドレスキャッシュ
3) 仮想アドレスキャッシュ
図2 メモリアクセス機構
宿題10
1)並列型物理アドレスキャッシュでは、ページ内オフセットを用いて、キャッシュのDATAとTAGを引く動作をするので、どのような条件が必要か?
2)TLBの遅延時間が4ns, キャッシュのDATARAMの遅延が10ns、キャッシュのTAGRAMの遅延が5ns、比較回路が3ns, マルチプレクサは2nsの遅延をそれぞれもち、その他の遅延が無視できるとすると。
直列型物理アドレスキャッシュで、仮想メモリアドレス入力から、キャッシュHITが判明して、キャッシュより必要なデータが出るまでの遅延時間はいくらか?
並列型物理アドレスキャッシュではどうか?
3)128Kバイトのダイレクトマップキャッシュのタグ部分がちょうど、仮想アドレスページになるメモリアクセス機構を考える。
ラインサイズ=32バイトとして、図2のメモリアクセス機構の図を各フィールドのビット数を明示して作成せよ。仮想/物理ともアドレス空間は32ビットとする。
以上