Outlookに他人の予定表を表示させる方法を追加
CPUが直接読み書きできる記憶領域。
メモリLSIをメモリモジュールという。
キャッシュメモリは主記憶とは別のメモリを用意して全体として高速化をするものだが、主記憶そのものを高速化する方法もある。 バンクとはメモリを管理する単位(?)。正式な定義は何か?
マルチバンク構成
主記憶をバンクとよばれる単位に等分して管理すること。
参照される確率が逆転したら上位と下位のメモリの内容を入れ換える(置換)。入れ換える単位をブロックとよぶ。
現在のコンピュータの記憶システムの階層は一般につぎのようになっている。
レジスタ | キャッシュメモリ | 主記憶 | (ディスクキャッシュ) | ハードディスク | 周辺記憶装置
上に行くほどCPUに近く(速くアクセスできる)、高速(コスト大)、小容量で、下に行くほどCPUから遠く、低速(コスト小)、大容量、になる。一般に主記憶までが内部記憶、ディスクキャッシュからは外部記憶とよぶ。ディスクキャッシュまでは半導体集積回路が使われるが、ハードディスクより下は磁気ディスク、光磁気ディスクなどが使われる。
Shared Memory Architecture/Unified Memory Architecture.
主記憶とビデオメモリを共有する技術。主記憶の一部をグラフィックスメモリとして利用する。グラフィックス専用のメモリが要らないので安くつく。
Uniform Memory Architecture.
並列処理で各プロセッサから共有メモリのアクセス時間が同じもの。
アドオン・メモリ
あとから増設するためのメモリ。最初からコンピュータに組みこまれているメモリに対してこの言葉を使う。
CPUとメインメモリの間に配置されるメモリ。キャッシュメモリに情報があればCPUはそれを使い、メインメモリまで読み書きせずにすむので高速化ができる。
主記憶と外部記憶(2次記憶)の間のメモリ階層システムである。ここで大事なことはCPUからは主記憶しか見えないこと。そしてこれは高速化ではなくメモリの容量を大きく見せることが目的。主記憶の大きさよりCPUが利用できるアドレスの方が大きいときどうするかということ。
方式
ページング方式
プログラムを等分割したものをページといい、ページを主記憶と2次記憶の間でやりとりする単位とする方式をページング方式という。
セグメント方式/セグメンテーション方式
これに対してプログラムを意味のある固まり(セグメント)をやりとりの単位とするのをセグメンテーション方式という。「マイクロプロセッサテクノロジ」ではセグメントとタスクを事実上同じものとして扱っている。
セグメントページング方式
セグメントとページングを組み合わせた方式。セグメントをさらにページに分ける。2レベルページングともいうらしい。
アドレス空間
アドレス空間とはCPUが利用できるメモリの大きさを表し、具体的には利用できるアドレスの範囲をいう。
論理アドレス(仮想アドレス)
プログラム側のアドレス(CPUから見えるアドレス)を論理アドレス、
物理アドレス(実アドレス) 主記憶側のアドレスを物理アドレスという。
論理空間、物理空間という。
変換テーブル
論理アドレスを物理アドレスに変換することアドレス変換という。
論理アドレスから物理アドレスへの変換には対応テーブルをハードウェアで実現する。 対応テーブルは主記憶の中に場所を取る。
置換 ページスワップ
ページフォルト ページが主記憶上にないとき
ページフォールト割り込み発生 ↓ ページの追い出し(ページアウト/スワップアウト/ロールアウト) ↓ ページの読み込み(ページイン/スワップイン/ロールイン) ↓ 制御が戻る(再アクセス)
追い出すページの選択はキャッシュメモリと同じでLRUが多い。
対比
キャッシュの目的は高速化、仮想記憶の目的はメモリを大きく見せること。
キャッシュはCPUと主記憶の間、仮想記憶は主記憶と2次記憶の間(注:ディスクキャッシュというものもある)。
キャッシュのサイズはキャッシュに使うため用意したメモリのサイズで決まる(CPUに無関係)、仮想記憶のサイズはCPUの論理空間のサイズで固定。
キャッシュがミスしたときのペナルティ時間は10倍程度、仮想記憶がミス(フォールト)のときのペナルティは100000倍程度とはるかに大きい。
キャッシュがミスしたときCPUは待ち状態になる。仮想記憶のミスのときは割り込みが起こりCPUは続けて別のプログラムを実行する。
組み合わせ
キャッシュと仮想記憶は組み合わせて実現する。キャッシュに仮想アドレスを用いる方式(仮想アドレスキャッシュ)と仮想アドレスを実アドレスに変換してから用いる方式(実アドレスキャッシュ)がある。実アドレスキャッシュの方が簡単である。