スポンサーリンク

様々な記憶装置

基本情報技術者試験

本記事の内容

本記事は、基本情報技術者試験におけるメモリについて、情報及びコンピュータの素人目線から説明する記事です。

以下の基礎理論については、下記URLから御覧ください!

  • データの単位、基数変換、負の2進数、2進数の四則演算
  • 集合、論理演算、論理回路、オートマトン
  • データ構造、アルゴリズム、プログラミング

本記事の位置付け

本記事では、コンピュータを構成する「ハードウェア」について述べます。
具体的なハードウェアとしては、CPU、メモリ、キーボード、ディスプレイなどがあります。

キーワード

  • メモリ:メモリの種類と特徴、アクセス方式、記録媒体の種類と特徴など

基本情報技術者試験では、「CPU」だの「メモリ」だのに関する問題が頻出です。

メモリとは?

メモリ

メモリとは記憶装置のことである。

基本情報技術者試験では、

  • キャッシュメモリ
  • ヒット率
  • ライトスルー方式
  • ライトバック方式

の4つが頻出です。

記憶装置の種類

記憶装置とは、その名の通りデータを記憶する装置です。
身近にあるものとしては、USBメモリやらスマートフォンに搭載されているフラッシュメモリなどです。

記憶装置は必須の装置です。
もし記憶装置がなければ、スマートフォンで撮影した写真を保存することもできません。

コンピュータに搭載されている記憶装置は、大きく次の3つに分けられます。

  1. 主記憶装置
  2. 補助記憶装置
  3. キャッシュメモリ

主記憶装置

主記憶装置

主記憶装置とは、CPUが直接読み書きする記憶装置である。

主記憶装置は「主記憶」やら「メインメモリ」と呼ばれることもあります。

主記憶装置の役割

主記憶装置の役割は、

命令やデータを一時的に格納しておくこと

です。
CPUが処理できる命令の数には限界があり、プログラマが入力したすべての命令を一度に処理することはできません。
そのため、入力された命令は一旦主記憶装置に保存されます。
CPUはそこから命令を順次取り出して処理を実行します。

このように主記憶装置を使用することで、CPUは自身の処理能力を超える量の命令だとしても、最終的にはすべて実行することができるのです。

主記憶装置の特徴

主記憶装置には次の2つの特徴があります。

  • 主記憶装置はデータを高速に出し入れできる。
  • 主記憶装置に保存されたデータは、コンピュータの電源を切ると消滅する。

補助記憶装置

補助記憶装置

補助記憶装置とは、主記憶装置を補助するための記憶装置である。

補助記憶装置の役割

補助記憶装置の役割は、

データを長期的に保存すること

です。

主記憶装置に保存されているデータはコンピュータの電源が切れると消えてしまうため、必要なデータは電源は電源を切る前に別の場所に保存しておく必要があります。
その際に利用されるのが補助記憶装置です。

主な補助記憶装置

補助記憶装置には、OSやアプリケーションソフトウェア、各種データなどが保存されています。
代表的な補助記憶装置には、HDDSSDなどがあります。

ハードディスクのイラスト(コンピューター)
SSDのイラスト(M.2・NVMe)

キャッシュメモリ

キャッシュメモリ

キャッシュメモリとは、CPUと主記憶装置の間にある超高速の記憶装置である。

CPUはキャッシュメモリを使用して、処理の待ち時間を短縮します。

先述の通り、主記憶装置の特徴の1つとして「データを高速に処理できる」と述べましたが、それはあくまでも補助記憶装置と比較した場合の話です。

酒国装置の処理の速さは超高速に処理を実行するCPUにとっては不十分です。
そのため、同じデータをなんdも主記憶装置に取りに行くと、コンピュータ全体の首里速度が遅くなってしまいます。

この「CPUと主記憶装置の処理速度の差」を埋めるために使われるのがキャッシュメモリなのです。

キャッシュメモリはCPUと主記憶装置の間に置かれ、CPUから主記憶装置へのデータへの読み書きはキャッシュメモリを介して行われます。

頻繁に使うデータは主記憶装置でなく、キャッシュメモリに保存することで、CPUは速度の遅い主記憶装置に直接アクセスしなくて住むので、処理速度が上がります。

下図を参照すると、コンピュータが使用している記憶装置の一覧です。
左に行くほど「処理が速く、小容量」、右に行くほど「処理が遅く、大容量」の記憶装置です。

キャッシュメモリを使ったデータの読み込み方式

基本情報技術者試験では、キャッシュメモリに関する問題が頻出している。

まずは、データの読み込み方式から述べます。

ヒット率

キャッシュメモリは通常「SRAM」(後の記事で)と呼ばれる非常に高価な半導体メモリで作られているため、主記憶装置よりも容量が小さいです。

そのため、キャッシュメモリのほうが主記憶装置よりも高性能であるとはいえ、CPUが利用するすべてのデータを常にキャッシュメモリに配置しておくことは不可能です。

場合によっては、必要なデータがキャッシュメモリ上には存在せず、主記憶装置へ取りに行かなければならないこともあります。

このような場合において、「必要なデータがキャッシュメモリ上に配置されている確率」を「ヒット率」といいます。

一方で、キャッシュメモリ上に必要なデータが配置されていない確率(必要なデータが主記憶装置上にある確率)は「1-ヒット率」で求まります。

ヒット率が高い方がより高速に処理を実行できるため、CPUの処理効率も高くなります。

必要なデータがキャッシュメモリに配置されている確率をヒット率という。

実行アクセス時間

実行アクセス時間

CPUが主記憶装置とデータのやり取りをする際にかかる時間をアクセス時間という。また、キャッシュメモリを利用したときのアクセス時間を実行アクセス時間という。

アクセス時間は、CPUと主記憶装置の間の橋渡しの役にキャッシュメモリを利用することで短くできます。
ここでいう「実行」というのは、キャッシュメモリを用いたときの実際の効き目という意味です。

実行アクセス時間の計算

基本情報技術者試験では実行アクセス時間を計算する問題が頻出です。

計算式は非常にシンプルです。

\begin{eqnarray}
実行アクセス時間&=&キャッスメモリへのアクセス時間\timesヒット率\\
&&+主記憶装置へのアクセス時間\times(1-ヒット率)
\end{eqnarray}

これも、さもありなんという具合です。

例えば、

  • キャッシュメモリのアクセス時間:20㌨秒
  • 主記憶装置へのアクセス時間:580㌨秒
  • キャッシュメモリのヒット率:0.9

の場合は、
$$
実行アクセス時間=20\times0.9+580\times(1-0.9)=76
$$
故に76㌨秒です。

メモリインタリーブ

メモリインタリーブ

CPUから主記憶装置へのアクセスを高速化するために、主記憶装置内部を複数のバンク単位に分割し、各バンクに並列にアクセスすることをメモリインタリーブという。

キャッシュメモリを使ったデータの書き込み方式

データの読み込み方式は、キャッシュメモリにデータがなければ、主記憶装置に見つけに行くだけなので、シンプルです。

一方で、データの書き込みでは、キャッシュメモリと主記憶装置という2つの書き込み先があるため、

キャッシュメモリと主記憶装置のどちらに書き込んだほうが効率的なのか?

を考えなければなりません。
そこで考え出されたのがライトスルー方式とライトバック方式です。

ライトスルー方式

ライトスルー方式

ライトスルー方式とは、CPUがキャッシュメモリにデータを書き込む際に、主記憶装置にも同じデータを書き込む方式である。

CPUはキャッシュメモリと主記憶装置に同じデータを書き込みます。

ライトスルー方式のメリットはライトバック方式の部分で述べます。

ライトバック方式

ライトバック方式

ライトバック方式とは、通常はキャッシュメモリのみにデータを書き込み、不要なデータをキャッシュメモリ上から追い出す際に、その追い出すデータを主記憶装置に書き込む方式である。

上記で述べた2つの方式の違いは、

データを主記憶装置に書き込むタイミング

です。
ライトスルーは即時、ライトバックはキャッシュメモリからデータを追い出すときです。

ライトスルー方式、ライトバック方式それぞれのメリットは以下です。

  • ライトスルー方式のメリット
    ライト場悪方式のようにいらないデータを追い出す制御をしなくて良いので、仕組みがシンプルなこと。
  • ライトバック方式のメリット
    ライトスルー方式のように処理速度の遅い主記憶装置へのデータの書き込みを毎回行わなくて良いので、書き込み速度が速いこと。

今回は、基本情報技術者試験におけるメモリについて、情報及びコンピュータの素人目線から説明しました。

コンピュータには、記憶装置(メモリ)が必ず搭載されていて、主記憶装置の他に補助記憶装置やキャッシュメモリなどがあります。
それぞれにCPUが命令とデータを探しに行ったり結果を格納したりします。

質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、この記事に限らず、「定理〇〇の△△が分からない!」などいただければお答えします!
Twitterでもリプ、DM問わず質問、コメントを大募集しております!

過去問などを解きたい場合は、過去問道場がおすすめです!

コメントをする

タイトルとURLをコピーしました