Ibaraki Univ. Dept of Electrical & Electronic Eng. 2011. 7.25 電子計算機工学 Ibaraki Univ. Dept of Electrical & Electronic Eng. Keiichi MIYAJIMA
今後の予定 7月25日 メモリアーキテクチャ2 8月1日 まとめと、期末テストについて 8月8日 期末試験
メモリアーキテクチャ -仮想メモリ・キャッシュ-
メモリの階層構造 高速 CPU (レジスタ) キャッシュメモリ メインメモリ 大容量 ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット)
仮想記憶 + 仮想記憶 参照の局所性(referential locality) ハードディスクの安価さ CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 主記憶装置では比較的安価で大容量なDRAMが使われているが、さらに大容量のメモリを安価に実現したい 参照の局所性(referential locality) + ハードディスクの安価さ 仮想記憶
仮想記憶 仮想記憶の方式: ページング方式 セグメント方式 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 仮想記憶の方式: ページング方式 セグメント方式
仮想記憶 ページング方式: CPU 仮想メモリ アドレス変換表 メインメモリ A(ページ) A A B(ページ) B D C(ページ) C (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 ページング方式: CPU 仮想メモリ アドレス変換表 メインメモリ 単一の仮想アドレス空間 A(ページ) A A 物理アドレス空間 B(ページ) B D C(ページ) C C D(ページ) D ハードディスク E(ページ) E E F(ページ) F B F ページという固定されたブロックに分割
仮想記憶 1 セグメント方式: CPU 仮想メモリ アドレス変換表 メインメモリ 1 2 3 4 4 物理アドレス空間 セグメント1 (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 セグメント方式: CPU 仮想メモリ アドレス変換表 メインメモリ 1 1 物理アドレス空間 セグメント1 プログラムごとの仮想アドレス空間 2 3 3 セグメント2 4 ハードディスク セグメント3 セグメント4 4 2 セグメントという可変長ブロックに分割
仮想記憶 仮想記憶の方式: ページング方式 セグメント方式 マッピングの単位が固定長なので、メモリの管理が簡単 メモリの管理が複雑 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 仮想記憶の方式: ページング方式 マッピングの単位が固定長なので、メモリの管理が簡単 セグメント方式 メモリの管理が複雑 プログラムのサイズに適したマッピングが行われるため効率がよい 複数のプログラムを完全に独立して動作させることが可能
仮想記憶の注意点 1 スワップ (swap): CPU 仮想メモリ アドレス変換表 メインメモリ 1 2 3 4 4 物理アドレス空間 (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 スワップ (swap): CPU 仮想メモリ アドレス変換表 メインメモリ 1 1 物理アドレス空間 セグメント1 プログラムごとの仮想アドレス空間 2 3 3 セグメント2 4 ハードディスク セグメント3 セグメント4 4 2
仮想記憶の注意点 1 スワップ (swap): CPU 仮想メモリ アドレス変換表 メインメモリ 1 2 3 4 4 セグメント1 (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 スワップ (swap): CPU 仮想メモリ アドレス変換表 メインメモリ 1 1 セグメント1 プログラムごとの仮想アドレス空間 2 2 3 スワップ セグメント2 4 ハードディスク セグメント3 セグメント4 4 3
仮想記憶の注意点 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 スワップ (swap): ハードディスクの速度はメインメモリと比較して非常に遅いので、スワップが多発すると処理速度が急激に低下する
キャッシュメモリ 参照の局所性(referential locality) ノイマン型のコンピュータでは、 最近参照された命令やデータ、 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 ノイマン型のコンピュータでは、 最近参照された命令やデータ、 またその近くにある命令やデータ またすぐに、参照される確率が高い 参照の局所性(referential locality)
キャッシュメモリ CPU メインメモリDRAM 低速・大容量 この局所性の性質に着目 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 この局所性の性質に着目 メインメモリDRAM 低速・大容量 CPU
キャッシュメモリ CPU キャッシュメモリSRAM 高速・小容量 メインメモリDRAM 低速・大容量 この局所性の性質に着目 (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 この局所性の性質に着目 キャッシュメモリSRAM 高速・小容量 メインメモリDRAM 低速・大容量 CPU キャッシュメモリの性能はキャッシュアルゴリズムの善し悪しによって変化する
キャッシュメモリ キャッシュアルゴリズム LRU (least recently used)方式 読み出しの時、一番よく使われているものは CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 キャッシュアルゴリズム 読み出しの時、一番よく使われているものは LRU (least recently used)方式 キャッシュメモリを複数のブロックに分けて管理し、空きブロックがなくなったら、もっとも長い間参照されなかったブロックを追い出して新しいデータと置き換える。
キャッシュメモリ キャッシュアルゴリズム ライトスルー (write through)方式 ライトバック (write back)方式 CPU (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 キャッシュアルゴリズム 書き込みの時 ライトスルー (write through)方式 キャッシュメモリと同時にメインメモリにも書き込みを行う 書き込みに関しては、メインメモリのアクセス時間とおなじなので、高速化されない ライトバック (write back)方式 キャッシュメモリのみに書き込みを行う いずれ、メインメモリにデータを書き込まなければならないので、その動作が複雑になる
キャッシュメモリ メイン メモリ CPUコア 1次キャッシュ、2次キャッシュ (レジスタ) キャッシュメモリ メインメモリ ハードディスク(仮想記憶) 外部記憶装置 ネットワーク (インターネット) 高速 大容量 1次キャッシュ、2次キャッシュ キャッシュメモリも1つだけでは十分な効果が得られなくなってきている メイン メモリ CPU CPUコア L2 キャッシュ L1キャッシュ
本日のまとめ メモリアーキテクチャ 仮想記憶 キャッシュ
本日の課題 次のメモリ構造のそれぞれについて、汎用メモリとの違いを明確にして説明せよ。 ① 連想メモリ ② 構造化メモリ ③ ビデオメモリ ① 連想メモリ ② 構造化メモリ ③ ビデオメモリ 2.仮想メモリにおけるマッピング方式をあげ、それぞれの特徴をハードウェア/ソフトウェア・トレードオフの観点から比較して説明せよ。 3.キャッシュがメモリアーキテクチャの設計に及ぼす具体的な効果について述べよ。