81 第11回 (メモリアーキテクチャ、キャッシュメモリと仮想メモリ2)

第11回
(メモリアーキテクチャ、キャッシュメモリと仮想メモリ2)
≪前回の復習問題≫
復習1. キャッシュ・仮想メモリの原理
1-1. 小さな本屋店舗とその後ろにある倉庫のモデルで、キャッシュ(と仮想メモリ)の原理を説明せよ
1-2. キャッシュ・仮想メモリが必要とされる理由(なぜ使われるのか)を説明せよ
復習2. キャッシュの動作
3-1. CPU からアクセスされたときの、キャッシュの動作を、順を追って説明せよ (流れ図に書けると良い)
3-2. (アドレス)マッピングとは何か、何のために必要か
3-3. キャッシュにおける(アドレス)マッピングの手法を、①列挙し、②それぞれの動作原理を説明し、③利害得失を比較
せよ
復習3. ①追い出し方式とは何かを説明し、②どのような方式があるか列挙し、③それぞれの動作原理を説明し、④利害得失を
比較せよ
- - - - - -
1. 仮想メモリ(仮想記憶)の意味
1-1. 仮想メモリは、主記憶と二次記憶(ハードディスク)との間の「キャッシング」である。期待される効果は何か
1-2. プログラムの大きさがどんどん大きくなる(処理が複雑になる=命令部分が増える、大きなデータを扱う=データ部分が
増える)一方で、主記憶が無制限に増加しない時、仮想メモリの仕組みはどのようにしてその問題を解決しようとするのか
2. 仮想メモリ)の原理
2-1. 小さな本屋店舗とその後ろにある倉庫のモデルで、仮想メモリの原理を理解せよ
2-2. 何を良くしようとしているのか
2-3. それが良くなるための条件は、何か
3. 仮想メモリの具体的な構造と動作 (以下の説明では、キャッシュメモリがないシステムを仮定せよ)
3-1. ページとは何か、主記憶と二次記憶の間のやり取りの単位は何か、主記憶と CPU(キャッシュメモリが間にある場合はキ
ャッシュメモリ)との間のやり取りは何か
3-2. CPU からあるメモリデータ(アドレスによって指定される)を要求されたとき、仮想メモリはどのような手順で動作するか
3-3. 主記憶内に CPU から要求されたデータがないとき、仮想メモリシステムは二次記憶(ハードディスク)から取り出すが、そ
れを主記憶のどこへ格納するのか、格納場所はどのように決めればいいか、次に同じデータがアクセスされたとき主記憶内でど
うやって見つけるか
3-4. (アドレス)マッピングとは何か
3-5. キャッシュメモリの場合は、ダイレクトマッピング、フルアソシアティブ・セットアソシアティブと3種類を考えたが、仮想メモ
リの場合はどういうマッピング方式が使われるか? その方式と動作原理を説明せよ
3-6. キャッシュメモリの場合はすべての制御がハードウェアで行われるのに対し、仮想メモリの場合は一部をソフトウェア(プ
ログラム、実際はオペレーティングシステムのコードの一部)で行われる。どの部分がハードウェアで行われ、どの部分がソフトウ
ェアで行われるのか
3-7. ソフトウェアの起動は、どのような方法で行われるのか。ページフォルト割り込みとは何か
3―8. 追い出し方式について、①どのマッピング方式で必要か、②どのような追い出し方法があるか、③それらの間の利害得
失は何か、説明せよ
4. キャッシュ・仮想メモリの性能
4-1. キャッシュや仮想メモリのヒット率・ミス率とは何か
4-2. キャッシュ・仮想メモリの実効アクセス時間は、どのような式で書けるか
4-3. キャッシュ・仮想メモリが、実質上高速メモリと同等となるには(たとえば 0.95 減速を許す)、どの程度のヒット率が必要か
4-4. ヒット率・ミス率の具体的な値を、メモリの大きさの比率から検討してみよ
4-5. アクセスの局所性とは何か
4-6. 仮想メモリを例にして、アクセスの局所性が成り立ちそうであることを、体感せよ。また成り立たないプログラムを考えよ
81