メモリー関係 |
---|
◆ キャッシュメモリーとは キャッシュメモリーとは、CPU内部に設けられた高速な記憶装置です。 使用頻度の高いデータを蓄積する事によって、主記憶(メインメモリー)へのアクセスを低減させ高速化を図る事が目的です。 なので注意点は、補助記憶装置(ハードディスクなど)とは、何の関連が無い事に気をつけましょう。 もちろんキャッシュメモリー内に目的のデータが無い場合(ヒットしなかった場合)は、主記憶からデータを持ってきます。 最近のCPUだとキャッシュメモリーが多段化し、1次キャッシュ、2次キャッシュ、サーバー用などに3次キャッシュまで内臓しているCPUもある。
◆ 主記憶(メインメモリー)とは 主記憶(メインメモリー)とは、CPUが直接アクセスできる記憶装置です。 CPUが内蔵しているキャッシュメモリーとは違います。
◆ キャッシュと主記憶の対応付け 対応付け・・・て書かれても何を対応するのか、なんで対応するのかが分からなかったので、まずそこを調べました。 キャッシュメモリーとは、上記で書いた通り主記憶にアクセスするのを軽減させるのが目的です。 なので主記憶のデータをキャッシュメモリーに置いて、データが更新されたら主記憶の方も更新しないといけません。 そのための対応付けです。 キャッシュメモリーは、キャッシュラインと言うデータの単位で管理しています。 このキャッシュラインは (1) インデックス (2) タグ (3) データフィールド という構成でできているそうです。注目点は「タグ」です。 これが何をするかと言いますと、CPUは目的のデータをキャッシュから検索しないといけませんが、 データフィールドを全て見ていては処理が遅くなってしまいます。 なので「タグ」の部分に、何のデータが入っているかの情報を格納する事で、検索処理を高速にしようとするのが目的です。 では、「タグ」の意味を踏まえたうえで、キャッシュと主記憶の対応付けの話に戻します。 対応付けの方法は、以下の3つがあります。
◆ ライン入替え方式 キャッシュメモリーの容量が一杯で、なおキャッシュミス(ヒットしなかった場合:キャッシュにデータが無かった場合)に主記憶からデータを取得してきます。 その時、キャッシュのデータをどれか削除しないといけないのですが、その手順の事を言います。覚えておいた方がいいのは1つだけかなと思います。
◆ データ更新方式 CPUの処理で、更新されたキャッシュのデータは主記憶の方にも更新を反映しないといけません。 下はその更新するタイミングに関する手法です。
◆ メモリーインタリーブとは 主記憶を複数の領域に分け、連続したメモリ領域へのアクセスを高速化する方式の事です。 CPUが主記憶に対してアクセス要求してから、実際にデータが届くまでに待ち時間ができてしまいます。 そして主記憶は連続した領域に順番に読み書きを行なうことが多いようです。 なのでその特徴を利用してある、データにアクセス要求をした後の待ち時間の間に、次のアドレスへアクセス要求を発行して時間を有効利用しようという手法である。 ◆ 実行アクセス時間 キャッシュメモリー関係では、よく出題されます。 基本は「アクセス時間」と「ヒット率」またはNFP(キャッシュに存在しない確率)で計算します。 問題にメモリの容量などでてきますが、一切計算には関係しません。 下が公式です。
|
TOPページに戻る |