【記憶装置の内部構成】RAMとROMの種類〜キャッシュメモリの基礎知識!

【記憶装置の内部構成】RAMとROMの種類〜キャッシュメモリの基礎知識!
ハテオ君

記憶装置の中にはどんな機能があるのだろう?またどんな種類があるのかな...。

今回はこの悩みを解決します!

今回の記事テーマ

記憶装置の内部構成~RAMとROMの種類やキャッシュの基礎知識!

記憶装置は、コンピュータ内で膨大な量の情報を読み込んだり保存して情報を管理しています。

また、CPUとも連携を行いデータのやり取りなどを高速で行っています。

そんな記憶装置には、様々な機能や種類が多くすべて覚えるのは大変です。

そのため今回は、簡単に理解出来るように記憶装置の内部機能についての記事を作成しましたので、是非参考にしてください。

本日の記事内容

記事の最後には、今回の内容に関しての確認問題も用意していますので、インプットとアウトプットとしても是非活用してみてください。

元中卒の自分が、誰でも理解できるように解説していきます。

それでは早速見ていきましょう。

黄島 成

記憶装置の内部構成

記憶装置は、コンピュータの扱うデータやプログラムを記憶しておく装置です。

記憶装置では以下2つの装置で構成されています。

  • 主記憶装置=CPUと直接データのやり取りをする装置
  • 補助記憶装置=主記憶装置とデータのやり取りをする装置

ちなみに、主記憶装置は「RAM」と呼ばれ、補助記憶装置は「ROM」と呼ばれます。

よく皆さんが耳にする「メモリ」は、主記憶装置(RAM)のことを言います。

逆に、補助記憶装置(RAM)は「ストレージ」と呼ばれます。

コンピュータの内部装置の基礎知識が全くわからない方は【パソコンの基礎知識】コンピューターの五大装置〜各装置の機能と役割をご覧ください。

記憶素子とは

記憶素子とは、データの記憶機能を備えたIC、またはICの中の1ビットのデータを記憶する最少単位のことを指します。「記憶セル」や「半導体メモリとも呼ばれます。

主にメインメモリなどの記憶装置に用いられ、データを記憶保持する役割を持つ半導体回路のことです。

記憶素子は、状態の変化によって「」と「」いずれかを示す状態を保持することができます。

主記憶装置(RAM)と補助記憶装置(ROM)の違い

この2つの特徴としては、「揮発性」「不揮発性」に分けられます。

・主記憶装置(RAM)
電源を切ると記憶していたデータの内容が消えてしまう性質を「揮発性」と呼びます。

・補助記憶装置(ROM)
電源を切っても記憶しているデータの内容が消えない性質を「不揮発性」と呼びます。

また、補助記憶装置はデータの読み出し専用で使われるためデータの記憶できる容量は多いです。

逆に主記憶装置はデータの読み出しと書き込み両方ができるが、データの記憶できる容量は少ないのが特徴です。

2つの違い

装置性質容量役割内容
RAM揮発性容量小読み出し専用CPUと直接やりとりができる
ROM不揮発性容量大読み書き専用RAMとしかやりとりができない

RAMとROMの種類と特徴

メモリは大きく分けて「RAM」と「ROM」で分けられると上記内容で説明しました。2つの違いは「揮発性」か「不揮発性」かになります。

揮発性と不揮発性をもっと細かく分類すると以下の種類に分けられます。

揮発性と不揮発性の種類一覧

  • RAM
    • DRAM
    • SRAM
  • ROM
    • マスクROM
    • EPROM
    • EEPROM
    • フラッシュメモリ

それぞれ順番に種類と特徴を見ていきましょう。

RAMの種類と特徴

  • DRAM=主記憶装置で使われる
  • SRAM=キャッシュメモリで使われる

RAMの種類は上記2つに分けられます。

DRAMの特徴

DRAMは、主記憶装置で使われる揮発性メモリで、Dynamic Random Access Memory(ダイナミック・ランダム・アクセス・メモリ)の頭文字をとった略です。

DRAMの特徴

  • 安価で容量が大きい
  • 主記憶装置に使われるメモリ
  • 読み込み速度は低速
  • 定期定期にリフレッシュ動作(再書き込み)が必要

SRAMの特徴

SRAMは、キャッシュメモリで使われる揮発性メモリで、Static Random Access Memory(スタティック・ランダム・アクセス・メモリ)の頭文字を取った略です。

SRAMの特徴

  • 高価で容量が小さい
  • キャッシュメモリで使われるメモリ
  • 読み込み速度は高速
  • 定期的なリフレッシュ動作(再書き込み)は必要なし

DRAMとSRAMの違い一覧

名称回路リフレッシュ速度集積度価格用途
DRAMコンデンサ必要遅い高い安価主記憶装置
SRAMフリップフロップ回路不要速い低い高価キャッシュメモリ

※スクロール可能です。

ROMの種類と特徴

  • マスクROM=内容の変更が不可能
  • EPROM、EEPROM=データの書き換え・部分削除が可能
  • フラッシュメモリ=データの書き換え・全削除が可能

マスクROMの特徴

マスクROMとは、書き込まれたデータは上から書き換えることにできないROMです。

マスクROMの特徴

  • データの上書きができないです。

EPOMとEEROMの特徴

EPOMとEEPROMとは、ユーザーによって内容の書き換えができるROMです。

EPOM、EEPROMの特徴

  • 何度でも内容の書き換えができる
  • 1バイト単位で削除・書き込みが可能

フラッシュメモリの特徴

フラッシュメモリとは、ユーザーが内容の書き換え・削除のできるROMです。

フラッシュメモリの特徴

  • 書き込み・削除が自由にできる
  • デジカメ、携帯電話などでメモリカードとして使用可能
  • USBメモリとして持ち運びが可能

上記4つの特徴と違い

名称書き込み削除特徴
マスクROM××ユーザーは書き込めない
EPROM全消去できる
EEPROM電圧をかけ部分消去できる。1バイト単位で消去・書込可
フラッシュメモリ電圧をかけ全消去と部分消去できる。ブロック単位で消去後に書き換え可

※スクロール可能です。

CPUと主記憶装置の関係「キャッシュメモリ」

キャッシュメモリとは、CPUと主記憶装置の間に配置する高速なメモリのことを指します。

具体的には、主記憶装置のアクセス速度はCPUの処理速度より遅いため、CPUに待ち時間が発生しています。

このCPUと主記憶装置の処理を早くするために活躍するのがキャッシュメモリです。

キャッシュメモリは、相互の装置に高速なキャッシュメモリを配置することでCPUの待ち時間がなくす役割を担当しています。

データ処理の流れ

  • 主記憶装置から読み出したデータをキャッシュメモリに保持
  • CPUが必要な時にキャッシュメモリからデータを取り出す

この流れを活用することでデータ転送を高速に行うことが可能となります。

1次キャッシュと2次キャッシュ

主記憶装装置アクセス時間とCPUの処理時間のズレが大きい場合、1次キャッシュと2次キャッシュが活用されることが多いです。

この2段階のキャッシュ構成にすることで、処理速度を向上する効果が格段に上がります。

この1次や2次では、CPUがアクセスする順番で名付けられているため、

  • CPUが最初にアクセスするのが1次キャッシュ
  • CPUが次にアクセスするのが2次キャッシュ
  • CPUが最後にアクセスするのが主記憶装置

上記順番でCPUはアクセスしデータの取り出しを行います。別名「L1キャッシュ」や「L2キャッシュ」と呼ばれることもあります。

キャッシュメモリ2種類の処理方式

キャッシュメモリにデータの書き込み命令が実行された時、以下2つの書き換え方式が使われます。

  • ライトスルー方式
  • ライトパック方式

順番にそれぞれの書き換え方式の特徴を解説していきます。

ライトスルー方式

ライトスルー方式とは、キャッシュメモリと主記憶装置の両方を同時に書き換える方式です。

ライトスルー方式は、キャッシュメモリと主記憶装置の内容が常に同じなのでデータの一貫性が保たれ、制御や回路構成も簡単です。

しかし、両方とも同時に書き込むので、書き込み速度は遅いです。

ライトパック方式

ライトパック方式とは、データをキャッシュメモリだけに書き換える方式です。

ライトパック方式は、主記憶装置への書き込みが減り高速に書き込みができます。

しかし、キャッシュメモリと主記憶装置の内容は異なっており、キャッシュミスが発生しキャッシュされたデータが失われることがあります。

その場合は、主記憶装置に書き戻す必要が生じます。

実行アクセス時間の計算方法【知っておくと得する】

実行アクセス時間とは、CPUが目的のデータを取得できるまでの平均時間を実行アクセス時間と言います。

CPUがアクセスするデータは、キャッシュメモリか主記憶装置に存在します。

データがキャッシュメモリに存在する確率を「ヒット率」と言います。

実行アクセス時間を求める時に必要なのは以下通り

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

上記3つが分かれば実行アクセス時間を求めることができます。

計算式は以下通り

では、例題を解いてみましょう。

  • ヒット率:80%
  • キャッシュメモリへのアクセス時間:10n秒
  • 主記憶装置装置へのアクセス時間:60n秒

上記の情報を踏まえて実行アクセス時間を求める場合は以下の計算式で求めます。

つまり答えは、「20n秒」となります。

上記の答えの場合、キャッシュメモリを使うことで、60-20=40n秒のアクセス時間を短縮したことになります。

IT業界では、アクセス時間を求められることもありますのでこの計算方式は覚えておくと便利なので是非参考にしてください。

主記憶装置と磁気ディスクの関係性「ディスクキャッシュ」

ディスクキャッシュとは、主記憶装置と磁気ディスクの間に配置する装置のことを指します。

具体的には、主記憶装置のアクセス時間と磁気ディスクのアクセス時間のギャップを埋めるために両装置の間に配置するものです。

アクセス時間の違う装置のギャップを埋めるとゆう意味では、キャッシュメモリと同じような役割を担当しています。

ディスクキャッシュは、メモリを使用する場合と、主記憶装置の1部を使用する場合があります。

このように、アクセス時間の異なる装置のギャップを埋めるものを「バッファ」と呼ぶこともあります。

磁気ディスクとは、コンピュータの内部に搭載されている円盤状の記憶媒体です。


磁気ディスクに関して知りたい方は
【磁気ディスクの内部機能】HDDの内部構造〜データの記録の単位を解説!をご覧ください。

記憶装置のアクセス速度

記憶装置のアクセス時間の速い順から並べると以下通りです。

  • 1位:レジスタ
  • 2位:キャッシュメモリ
  • 3位:主記憶装置(RAM)
  • 4位:補助記憶装置(ROM)
  • 5位:ディスクキャッシュ
  • 6位:磁気ディスク

上記のような順番になります。基本的に動作が高速な記憶装置であればあるほど、搭載容量が小さく、容量当たりの単価も高価になります。

メモリインタリーブ方式

メモリインタリープとは、主記憶装置とCPUのやり取りを速くするための技術です。

具体的には、主記憶装置を複数の独立した部分(バンク)に分けて、各バンクを同時並列で読み書きをすることで、実行アクセス時間を短縮し高速化を図る技術になります。

バンク数を増やせば増やすほど高速にアクセスできるようになります。

  • 2つのバンクを用意すれば2倍
  • 4つのバンクを用意すれば4倍

しかし、実際には不連続なアドレスへのアクセスがあるためその場合はメモリインタリーブの高価が低くなります。

今回のまとめ&確認問題

記憶装置の内部機能については上記内容で以上となります。

それではまず今回の内容をまとめていきましょう。

まとめ

  • 記憶装置はRAM(メモリ)とROM(ストレージ)で構成されている
  • RAMは『揮発性』ROMは『不揮発性』
  • RAMには主に2種類のメモリがある
  • ROMには主に4種類のストレージがある
  • キャッシュメモリは、CPUの待ち時間をなくす役割を担当
  • ディスクキャッシュは、記憶装置と磁気ディスクの処理速度のギャップを埋める役割を担当

今回の確認問題「アウトプット用」

確認問題

ハードウェア確認問題④

「次へ」で問題スタート!

①解説

【問題①】

SRAMと比較した場合のDRAMの特徴はどれか。

:主にキャッシュメモリとして使用される。
不正解× 主記憶装置で使用される
:データを保持するためのリフレッシュ又はアクセス動作が不要である。
不正解× リフレッシュ又はアクセス動作は必要
:メモリセル構成が単純なので、ビット当たりの単価が安くなる。
正解○
:メモリセルにフリップフロップを用いてデータを保存する。
不正解× SRAMです

【解説】

SRAMの特徴

  • 安価で容量が大きい
  • キャッシュメモリで使われるメモリ
  • 読み込み速度は低速
  • 定期的にリフレッシュ動作(再書き込み)が必要

DRAMの特徴

  • 高価で容量が小さい
  • 主記憶装置に使われるメモリ
  • 読み込み速度は高速
  • 定期的なリフレッシュ動作(再書き込み)は必要なし

この両者を比較した場合の特徴は「」が適切。

②解説

【問題②】

キャッシュメモリに関する記述のうち、適切なものはどれか。

:キャッシュメモリにヒットしない場合に割込みが生じ、プログラムによって主記憶から キャッシュメモリにデータが転送される。
不正解× 目的のデータがキャッシュメモリにない場合、割り込みは発生しない。
:キャッシュメモリは、実記憶と仮想記憶とのメモリ容量の差を埋めるために採用される。
不正解× CPUと主記憶装置です。
:データ書込み命令を実行したときに、キャッシュメモリと主記憶の両方を書き換える方式と、キャッシュメモリだけを書き換えておき、主記憶の書換えはキャッシュメモリか ら当該データが追い出されるときに行う方式とがある。
正解○
:半導体メモリのアクセス速度の向上が著しいので、キャッシュメモリの必要性は減っ ている。
不正解× CPUとの速度差は処理装置の加速度的な高性能化により益々拡大しているため、キャッシュメモリの必要性は以前より高まっている

【解説】

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

具体的には、主記憶装置のアクセス速度はCPUの処理速度より遅いため、CPUに待ち時間が発生しています。

このCPUと主記憶装置のギャップを埋めて処理を早くするために活躍するのがキャッシュメモリです。

キャッシュメモリの方式は2つ

  • ライトスル―方式
  • キャッシュメモリと主記憶装置の両方を同時に書き換える方式
  • ライトパック
  • データをキャッシュメモリだけに書き換える方式

上記内容を踏まえて問題を見てみると「」が適切。

③解説

【問題③】

主記憶のアクセス時間60ナノ秒、キャッシュメモリのアクセス時間10ナノ秒のシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実効アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率は幾らか

:0.1 不正解×
:0.17 不正解×
:0.83 不正解×
:0.9 正解○

【解説】

キャッシュメモリの実行アクセス時間を求める計算式

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

今回の問題では実行アクセス時間は分かっているので、ヒット率をNとし計算します。

(10×N)+(60×(1-N))=15
10N+60-60N=15
-50N=-45
N=0.9

上記の計算結果の答えは「0.9」 つまり答えは「」となる。

最後まで読んでいただきありがとうございました!

今回の内容が、役に立ったな!と思ったらシェア&ブクマ登録よろしくお願いします。

また、質問や問い合わせに関しては、コメント欄かお問い合わせフォームを活用ください。

それではまたお会いしましょう。

黄島 成

-ハードウェア
-