記憶装置の基礎まとめ【RAM・ROM・キャッシュ・補助記憶装置まで解説】

記憶装置に関するブログのアイキャッチ画像 コンピューター構成要素
広告

 このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,記憶装置についてシンプルにまとめています。RAMやROM,レジスタ,キャッシュメモリ,主記憶装置,補助記憶装置(ハードディスク,SSD,光学ディスク,磁気テープ)まで,試験でよく問われるポイントを体系的に整理しています。内容が多いため,一度で理解しようとせず,全体像の把握や復習用として,繰り返し活用してください。

  1. 記憶装置とは
    1. 記憶階層とは(速度・容量のトレードオフ)
      1. 記憶媒体(ストレージメディア)とは
      2. 半導体記憶装置とは
        1. RAM(Random Access Memory)とは
        2. ROM(Read Only Memory)とは
    2. レジスタとは(CPU内部の高速記憶)
    3. キャッシュメモリとは(CPU高速化の鍵)
      1. CPUからキャッシュメモリへのアクセスの仕組み
        1. キャッシュメモリにデータがある場合の動き
        2. キャッシュメモリにデータがない場合の動き
        3. ヒット率とは(性能評価指標)
          1. ミスペナルティとは
        4. 命令キャッシュとは
      2. 主記憶装置からキャッシュメモリへの書き込みの仕組み
        1. ダイレクトマップ方式とは
        2. フルアソシアティブ方式とは
        3. セットアソシアティブ方式とは
        4. ブロックの置き換え方式
      3. データの更新
        1. ライトスルーとは
        2. ライトバックとは
    4. 主記憶装置(メインメモリ)とは(CPUとの関係と特徴)
      1. メモリインタリーブとは
      2. 主記憶装置の規格
    5. 補助記憶装置とは(ストレージの実体と特性)
      1. ハードディスク(HDD:Hard Disk Drive)とは
        1. ハードディスクの構造
        2. フォーマット(初期化,イニシャライズ)とは
        3. ディスクキャッシュとは
        4. 記憶容量の計算方法
        5. アクセス時間の計算方法
      2. SSD(Solid State Drive)とは
        1. TBW(Terabytes Written)とは
        2. DWPD(Drive Writes Per Day)とは
      3. 光学ディスク(Optical Disk)とは
        1. CD(Compact Disc)とは
        2. DVD(Digital Versatile Disc)とは
        3. BD(Blu-ray Disc)とは
      4. 磁気テープとは
        1. DDS(Digital Data Storage)とは
  2. まとめ
広告

記憶装置とは

 記憶装置は,プログラムやデータを記憶する装置です。記憶装置には,主記憶装置や補助記憶装置などがあります。これらは,それぞれアクセス速度や記憶容量が異なり,コンピューターでは,これらを組み合わせることにより効率的なメモリアクセスを実現しています。

記憶階層とは(速度・容量のトレードオフ)

 記憶装置は,CPUと同じ速度で大容量なものが好ましいです。しかし,コストの問題や技術的な問題があり現実的ではありません。実際には,高速で小容量な記憶装置と低速で大容量な記憶装置を組み合わせて,全体の処理速度を向上させています。
 記憶装置を,アクセス速度と記憶容量により分類すると次のようになります。

記憶媒体(ストレージメディア)とは

 記憶媒体には,次のようなものがあります。

半導体記憶装置とは

 半導体記憶装置には,RAM(Random Access Memory)とROM(Read Only Memory)があります。

RAMROM
特徴読み書き可能基本的には読み出し専用(全消去や,書き込み,追記が可能なものもある)
記憶保持電源が切れると記憶内容は消える(揮発性電源が切れても記憶内容は消えない(不揮発性
RAM(Random Access Memory)とは

 RAMには,一定時間が経過するとデータが消えてしまうDRAM(Dynamic RAM)と,コンピューターの電源が切れるまではデータが消えないSRAM(Static RAM)があります。

※ VRAMという,画面表示の際に使用されるメモリもある

DRAMSRAM
特徴コンデンサに電荷を蓄えることにより情報を記憶する
リフレッシュの必要あり
フリップフロップ回路によりリフレッシュ不要
速度リフレッシュにより速度は下がるDRAMより速い
消費電力高い低い
コスト安価高価
記憶容量SRAMより大きい構造が複雑なため大容量化に向かない
用途主記憶装置,ディスクキャッシュレジスタ,キャッシュメモリ

※ リフレッシュとは,記憶内容保持のために行う再書き込みのことをいう

※ フリップフロップ回路とは,二つの状態(0と1)のいずれかを保持できる論理回路のことをいう

※ 実際に使用されるDRAMは,ほとんどがSDRAM(Synchronous DRAM)である。SDRAMは,クロック信号に同期して動作する

ROM(Read Only Memory)とは

 ROMには,読み出し専用のマスクROMと書き換えが可能なPROM(Programmable ROM)があります。

マスクROMPROM
書き換え不可
特徴製造時にプログラムやデータが書き込まれる何も記録されていない状態で出荷される
用途ゲーム機のソフト,組込み機器など

 さらに,PROMには次のようなものがあります。

EPROMEEPROMフラッシュメモリ
消去紫外線で全消去(部分的に消去することはできない)電気(部分的に消去することも可)電気
(ブロック単位で部分的に消去することも可)
書き込み電気電気電気
用途開発途上のプログラムの書き込みなどコンピューターの設定情報などを記憶するためなどに補助的に使用されることが多い携帯情報端末の内部ストレージ
メモリーカード
USBメモリ など

※ EPROM(Erasable PROM)

※ EEPROM(Electrically Erasable and PROM)

※ フラッシュメモリは,ストレージ(補助記憶装置)の記憶素子として急激に普及している。書込み回数は,一般的には,数百万回くらいが上限(フラッシュメモリは,書換えを繰り返すことによりデータの保持能力が低下する)

広告

レジスタとは(CPU内部の高速記憶)

 レジスタは,プロセッサ(CPU)内部にある超高速で小容量な記憶装置です。 命令やデータ,アドレス(主記憶装置内のデータの保存場所)などを一時的に保存します。CPUの構成によりレジスタの数や種類,容量が異なります。

※レジスタについては,「プロセッサの基礎まとめ」を参照

プロセッサの基礎まとめ【CPUの構造・性能・高速化・割込みまで解説】
基本情報技術者試験など情報処理技術者試験で必須の,プロセッサをシンプルに解説します。CPUの構造,命令処理,アドレス指定方式,性能指標,高速化技術,割込み,GPUまでを,まとめて理解できます。

キャッシュメモリとは(CPU高速化の鍵)

 キャッシュメモリは,CPUと主記憶装置の間(実際にはCPU内部)に置かれることのある記憶装置です。レジスタよりは低速ですが,主記憶装置よりは遙かに高速です。記憶容量は数kB~数MB程度です。使用頻度の高いデータを格納しておくことにより主記憶装置へのアクセスを減らすことができ,処理を高速化することができます。

※ CPUによっては,1次キャッシュ,2次キャッシュ,…,というように,アクセス速度や記憶容量の異なるキャッシュメモリを搭載しているものもある

※ キャッシュメモリが搭載されていないCPUもある(例:Celeronなど)

CPUからキャッシュメモリへのアクセスの仕組み

キャッシュメモリにデータがある場合の動き
キャッシュメモリにデータがない場合の動き

 読み出すデータがキャッシュメモリにある場合は,主記憶装置へのアクセスは発生しないため,高速に処理することができます。

ヒット率とは(性能評価指標)

 ヒット率とは,キャッシュメモリに必要なデータが存在する確率のことをいいます。ヒット率が高いと必要なデータを高速に読み出すことができます。逆に,キャッシュメモリに必要なデータが存在しない場合は,主記憶装置にアクセスすることになります。キャッシュメモリに必要なデータが存在しない確率はNFP(Not Found Probability)といいます。

ヒット率
=1-NFP
NFP
=1-ヒット率

 ヒット率と,キャッシュメモリへのアクセス時間,主記憶装置へのアクセス時間が分かれば,メモリアクセスにかかる時間(実効アクセス時間)を求めることができます。

実効アクセス時間=

キャッシュメモリへのアクセス時間×ヒット率+主記憶装置へのアクセス時間×(1-ヒット率)

ミスペナルティとは

 ミスペナルティとは,キャッシュメモリに必要なデータが存在しない場合に,主記憶装置からキャッシュメモリにデータをコピーするのにかかる時間のことをいいます。

命令キャッシュとは

 命令キャッシュとは,呼び出される可能性の高い命令(過去に実行された命令など)を,キャッシュメモリにもたせておく仕組みをいいます。

主記憶装置からキャッシュメモリへの書き込みの仕組み

 キャッシュメモリに格納するデータは,バイト単位ではなく何バイトかをまとめた固定長のブロック単位で管理します(32バイト、64バイトなど)。

ダイレクトマップ方式とは

 ダイレクトマップ方式では,ハッシュ関数を用いて主記憶装置のブロック番号からキャッシュメモリのブロック番号を求め,データを格納します。

 ハッシュ関数を使用しますので,主記憶装置のブロック番号とキャッシュメモリのブロック番号は1対1に対応します。検索は容易ですが,衝突が起こりやすくヒット率は下がります。

※ ヒット率とは,CPUがキャッシュメモリにアクセスしたときに,必要なデータが存在する確率のことをいう(上記参照)

フルアソシアティブ方式とは

 フルアソシアティブ方式では,キャッシュメモリの空いている任意のブロックにデータを格納します。

 キャッシュメモリが一杯になるまで衝突は起こりません。しかし,データを検索する場合は,毎回,すべてのブロックを検索しなければならないので効率は下がります。

※ この方式は,実際には使われていないようである

セットアソシアティブ方式とは

 セットアソシアティブ方式では,キャッシュメモリを複数のグループに分け,各グループの空いている任意のブロックにデータを格納します。

ブロックの置き換え方式

 衝突が起こった場合のブロックの置き換えには次のような方式があります。

FIFO(First In First Out)最初にキャッシュメモリに読み込んだブロックを置き換える
LIFO(Last In First Out)最後にキャッシュメモリに読み込んだブロックを置き換える
LRU(Least Recently Used)最後に参照されてから最も長い時間が経過したブロックを置き換える
LFU(Least Frequently Used)参照回数の最も少ないブロックを置き換える
ランダムブロックをランダムに置き換える

データの更新

 CPUがキャッシュメモリのデータを更新した場合,主記憶装置のデータも更新しなければなりません。

ライトスルーとは

 キャッシュメモリのデータと主記憶装置のデータを,同時に更新する。常に,キャッシュメモリの内容と主記憶装置の内容は一致するが,処理速度は低下する

ライトバックとは

 キャッシュメモリのデータだけを更新する。主記憶装置のデータの更新は,そのデータが置き換わるタイミングで行われる。キャッシュメモリの内容と主記憶装置の内容が一致しないことがあるが,処理速度は速い

主記憶装置(メインメモリ)とは(CPUとの関係と特徴)

 主記憶装置は,CPUが直接読み書きできる記憶装置です。キャッシュメモリよりは低速ですが,補助記憶装置よりは高速です。記憶容量は数GB程度です。レジスタやキャッシュメモリ同様,電源を切るとその内容は失われます揮発性)。

メモリインタリーブとは

 メモリインタリーブは,主記憶装置へのアクセスを高速化する技術です。主記憶装置を複数のメモリバンクに分割してデータを配置し,読み出す際には,その複数のメモリバンクに(ほぼ)同時にアクセスします。こうすることで,レイテンシを小さくすることができ,効率的にデータの読み出しができるようになります。

※ レイテンシ…データが読み出される際の待ち時間

主記憶装置の規格

 主記憶装置の規格には次のようなものがあります。DDR5やDDR4など,各規格には互換性がありませんので,上位規格のメモリに乗り換える場合,CPUやマザーボードも交換しなくてはなりません。

規格メモリモジュール規格メモリチップ規格転送速度クロック周波数容量
DDR5PC5-51200DDR5-640051.2GB/s6,400MHz8GB~32GB
PC5-44800DDR5-560044.8GB/s5,600MHz8GB~32GB
DDR4PC4-34100DDR4-426634.1GB/s4,266MHz4GB~16GB
PC4-25600DDR4-320025.6GB/s3,200MHz4GB~16GB
DDR3PC3-14900DDR3-186614.9GB/s1,866MHz4GB~16GB
PC3-12800DDR3-160012.8GB/s1,600MHz4GB~16GB

※ メモリモジュール規格の数値は転送速度を,メモリチップ規格はクロック周波数を示している

※ 2021年現在の主流はDDR4である

広告

補助記憶装置とは(ストレージの実体と特性)

 補助記憶装置も,プログラムやデータを記憶する装置です。主記憶装置よりも記憶容量は大きく,電源を切ってもその内容は失われません(不揮発性)。しかし,主記憶装置よりも低速で,CPUから直接読み書きすることもできません

ハードディスク(HDD:Hard Disk Drive)とは

 ハードディスクは,ディスク(プラッタ)に塗布してある磁性体の状態を変化させることによりデータを記録する装置です。

ハードディスクの構造

※ ハードディスクは複数のプラッタで構成され,データは各プラッタの両面にセクタ単位で記録される

プラッタ
データを記録する円盤
セクタ
ハードディスクの区画の最小単位で,データはこのセクタ単位に記録される
トラック
セクタ1周分の領域
シリンダ
各プラッタの同じ位置のトラックの集まり
フォーマット(初期化,イニシャライズ)とは

 ハードディスクを最初に使用するときなどに行う作業で,セクタやトラックの設定をしてデータを読み書きできるようにします。

ディスクキャッシュとは

 ディスクキャッシュとは,主記憶装置とハードディスクなどの補助記憶装置の間に置かれる記憶装置のことをいいます(実際には,ハードディスクに内蔵されていたり主記憶装置の一部を割り当てたりします)。使用頻度の高いデータなどをディスクキャッシュに複製しておくことにより処理を高速化します。

記憶容量の計算方法

 ハードディスクの記憶容量は次の式により求めることができます。

記憶容量(バイト)=

セクタ長(バイト)×1トラック当たりのセクタ数×1シリンダ当たりのトラック数×シリンダ数

アクセス時間の計算方法

 ハードディスクへのアクセス時間は次の式により求めることができます。

アクセス時間=

平均位置決め時間+平均回転待ち時間+データ転送時間

※平均位置決め時間は,磁気ヘッドが目的のトラックへ移動するまでの時間の平均である。平均シーク時間ともいう

※平均回転待ち時間は,磁気ヘッドの真下に目的のセクタが来るまでの時間の平均で、プラッタが1回転する時間の半分になる

※データの転送時間は,目的のデータの読み書きの開始から終了までの時間である

SSD(Solid State Drive)とは

 SSDは,記憶媒体にフラシュメモリを用いた記憶装置です。ハードディスクは機械的に読み書きしますが,SSDは電気的に読み書きしますので高速です。衝撃や振動にも強いです。また,消費電力が少ない,小型化が可能といった特長もあります。しかし,フラッシュメモリは書き込みを行うたびに素子が劣化しますので,ある回数を超えると破損してしまいます(書き換え回数に制限があります)。

※ 2.5インチサイズのSSDはハードディスクと同じSATA接続で互換性がある

※ M.2のSSDはマザーボードに直接接続する。M.2にはSATA3.0接続のものと,PCIe3.0×NVMe接続のものがある。PCIe3.0×NVMe接続のSSDは,さらに高速である

TBW(Terabytes Written)とは

 TBWはSSDに書き込める上限のデータ量をテラバイト単位で表したものです。累計の書き込みデータ量を計測し把握できるようになっています。

DWPD(Drive Writes Per Day)とは

 DWPDは,メーカーの保証期間中,1日にドライブ全体を何回書き換えてよいかを示す指標です。たとえば,DWPD=10の場合,1日に記憶容量の10倍のデータを書き込んでも,保証期間が終わるまでに寿命を迎えることはない,という意味になります。

光学ディスク(Optical Disk)とは

 光学ディスクは,データの読み書きにレーザー光を使用する記憶媒体です。CDやDVD,BDなどがあります。

CD(Compact Disc)とは

 音楽用に開発された記憶媒体です。コンピュータ用としても普及しています。直径は8cmと12cmのものがあります。

種類読出し書込み容量備考
CD-ROM×650~700MB再生専用
CD-R1回追記型
CD-RW1,000回書換型
DVD(Digital Versatile Disc)とは

 CDよりも短い波長のレーザー光を使用することにより大容量化を実現しています。12cmのディスクの場合,片面1層4.7GB,片面2層8.54GB,両面1層9.4GB,両面2層17.04GBがあります。

種類読出し書込み容量備考
DVD-ROM×4.7~17GB再生専用
DVD-R1回追記型
DVD-R DL
DVD+R
DVD+R DL
DVD-RW1,000回書換型
DVD+RW
DVD-RAM100,000回
BD(Blu-ray Disc)とは

 DVDよりもさらに短い波長のレーザー光を使用することにより大容量化を実現しています。片面1層当たり25GBの記憶容量があります。

種類読出し書込み容量備考
BD-ROM×25~100GB再生専用
BD-R1回追記型
BD-RE1,000回書換型

磁気テープとは

 磁気テープは,テープ状のフィルムに磁性体を塗布した記憶媒体です。

DDS(Digital Data Storage)とは

 DDSは,音声録音用の磁気テープであるDAT(Digital Audio Tape)をデータ記録用に流用したもので,データのバックアップなどに利用されています。

規格テープ長テープ幅記憶容量
非圧縮時圧縮時
DAT 160154m8mm80GB160GB
DAT 320153m8mm160GB320GB

※ 現在は,規格の更新や対応機器の製造,販売は行われていない

まとめ

 今回は,記憶装置について,全体像を意識しながらシンプル!?にまとめてみました。用語や種類が多く,覚えるのが大変に感じるかもしれませんが,ただ暗記するのではなく,「役割」や「位置づけ」を意識して理解することが大切です。記憶装置は,試験で頻出の重要分野です。一度で理解できなくても問題ありませんので,繰り返し読み返しながら,少しずつ整理していきましょう。

 理解が進んだら,過去問題等にもチャレンジしてみてください。