上記の例では
キャッシュ容量(通常データ部の)C=8K*32Byte=256KByte
タグ容量=15ビット*8K=120Kビット=15KByte
図5.9
例題5.1
主記憶以下の階層化 : HDDを主記憶の拡張のように使用する。
@主記憶より大きなメモリがあるものとしてプログラムが書ける
A複数のプログラムがひとつの物理記憶を安全に分かち合って使える
ページという単位でデータがやり取りされる。
キャッシュは主記憶を見かけ上高速化するものであった。仮想記憶は主記憶の容量を大きく見せるもの。
キャッシュのデータの管理単位は キャッシュライン
仮想記憶ではPAGEを単位とする。通常 数KBYTE
ライトバック方式、フルアソシアティビィティ
仮想ページアドレス → 物理ページアドレスへの変換TABLEが主記憶上に用意。
主記憶上にPAGEが無い場合、ページフォールトとなり、HDDから主記憶へPAGEをコピーする。
宿題7 学籍番号 名前 日付 を書いて提出すること!
1)32ビットのアドレスを持つコンピュータ用に、キャッシュ容量1MByte、キャッシュブロックサイズ=128Byteのダイレクトマップキャッシュを設計する。
以下のパラメータはどうなるか?ただし、タグメモリに1ビットのVALIDビットが含まれるとする。
- セット数
- インデックスビット数
- オフセットビット数
- タグビット数
- タグメモリ容量
2)あるコンピュータで全命令中のロード/ストアの命令に占める割合が20%とあるとする。
256KByteのキャッシュは用いると、高速でミスペナルティが小さいが、キャッシュのミス率は大きく、1MByteのキャッシュでは低速でミスペナルティは大きいいが、キャッシュのミス率は小さいとする。どちらのキャッシュの方が性能が良いか?キャッシュミスなしの実行時間相対値を1.0として、それぞれの実行時間相対値を計算せよ。
また、キャッシュをなくすと、実行時間相対値はどの程度になるか。
キャッシュ容量 |
ミス率 |
ミスペナルティ |
実行時間相対値 |
256Kbyte |
0.1 |
5 |
? |
1Mbyte |
0.05 |
8 |
? |
3)フルアソシアティビィティとはなにか?
4)仮想記憶ではフルアソシアティビィティが用いられるが、その理由は何故か?
以上