このシリーズはこれから基本情報技術者試験を受けようと考えている方向けに各分野毎で覚えておくべき知識を「ざっくり」かつ、なるべく分かりやすくお伝えしてみよう的なノリのやつです。
目次
そもそもメモリとは
そもそもメモリとは、簡単に言うとPC内部のデータを記憶しておくための装置です。
主にCPUの処理に必要なデータを一時的に保存しておくのが役割です。
メモリの事を説明する時に例としてよく作業机に例えられます。何か作業をする際に、使っている机が大きければ大きいほど扱える領域が増えて作業効率はよくなりますよね。
PCにおいてもそれと同じで、メモリの容量が大きい(机が大きい)程CPUの処理効率が良くなります。
当然CPUの処理効率は良いに越したことは無いので、基本的にはメモリ容量は大きければ大きいほど良いと言われています。
メモリは他の呼び方で主記憶装置とも呼ばれ、メモリ以外の記憶装置(HDDやSSD等)は補助記憶装置と呼ばれたりします。
メモリの種類
メモリは大きく分類するとRAM(Random Access Memory)とROM(Read Only Memoly)の2種類に分けられます。
▼RAM | ▼ROM | |
特性 | – 揮発性(電源を切るとデータは消去される) – 読み書き可能 | – 不揮発性(電源を切ってもデータを保持) – 読み出し専用 |
使用用途 | CPUの処理に必要なデータを一時的に保持しておくために使用。 | 家電の制御などの決められた動作をする機器に使用。 動作に必要なプログラムやデータを予め書き込まれた状態で出荷される。 |
RAMの種類
DRAM(Dynamic RAM)
一般的に「メモリ」と言ったらこの種類を指します。
安価で容量が大きくPCの主記憶装置に使用される種類です。
使用する回路 | リフレッシュ動作 | 速度 | 集積度 | 価格 | 主な用途 |
コンデンサ | 必要 | 低速 | 高い | 安価 | 主記憶装置 |
SRAM(Static RAM)
DRAMと比べて高速ですが価格が高くキャッシュメモリ等に使われる種類です。
使用する回路 | リフレッシュ動作 | 速度 | 集積度 | 価格 | 主な用途 |
フリップフロップ回路 | 不要 | 高速 | 低い | 効果 | キャッシュメモリ |
ROMの種類
マスクROM
読み出し専用のROM。
一般的に「ROM」と言ったらこの種類を指します。
製造時に予めデータを書き込んでおいて移行は何も書き込まないのが特徴です。
PROM(Programmable ROM)
製造時以外にも後からユーザーによって書き込みができるROMです。
データの書き換え方法には下記の種類があります。
EPROM(Erasable PROM) | 紫外線でデータを消去して書き換える |
EEPROM(Electrically EPROM) | 電気的にデータを消去して書き換える |
フラッシュメモリ | EEPROMの一種。全消去ではなく、ブロック単位でデータを書き換えられる。 |
メモリの高速化手法
CPUとメモリとではデータのやりとりの速度に大幅な差があります。
例えば、CPUから演算結果をメモリに記憶させておこうとした時に、レジスタからメモリへは一瞬でデータが送られますが、メモリはそのデータを記憶するのに結構時間がかかります。
その間CPUはメモリにデータが記憶されるまで処理を止めて待ち続ける事になってしまいます。
なので読み書きの度にメモリにアクセスをしていると、その分だけ待ち時間が多く発生します。
その様な装置間のやりとりの速度のギャップを緩和させる手法としてキャッシュとメモリインタリープが挙げられます。
キャッシュ
キャッシュはレジスタとメモリの間に設けるキャッシュメモリや、メモリとHDDとの間に設けるディスクキャッシュなどで使われています。
例えば、キャッシュメモリは記憶容量は小さいですが、メモリよりもデータのやりとり速度は早いです。
読み込みの際はCPUがメモリにデータを送る時に同じ内容を記憶させておく事で、次また同じデータが必要になった際はわざわざメモリにアクセスさせずとも、キャッシュメモリからCPUにデータを素早く渡せる仕組みになっています。
逆に書き込みの際は書いて終わりではありません。
キャッシュメモリに書き込まれたデータは、後からメモリにも同様に書き込みをしないとデータの不整合が生まれてしまいます。
その際の書き込み方式としては下記があります
ライトスルー方式 | キャッシュメモリに書き込みをするのと同時に、メモリにも書き込みをする。 常にデータは一致しているが、データのやりとりはあまり高速化できない。 |
ライトバック方式 | 普段はキャッシュメモリにしか書き込みをしない。 キャッシュメモリから追い出されるデータが発生した時にそのデータをメモリに書き込んでいく。 データのやりとりは高速化できるが、制御が大変。 |
メモリインタリープ
メモリの中を複数の区画に分割して、それらの区画に同時にアクセスする事でデータを一気に読み込む手法です。
区画は並行して同時にアクセス出来るのが特徴で、連続したデータに一括でアクセスする場合には有効です。
おわりに
メモリ編どうだったでしょうか。
なるべく分かりやすく凝縮して書いたつもりなので忘れたらまたこの記事を読み返してみてください。
他にも基本情報シリーズとしてCPU編も記事を書いているので良ければそちらもどうぞ。
【基本情報技術者】CPUについて15分でざっくり理解する
この記事に書かれている内容は「キタミ式イラストIT塾 基本情報技術者」を参考にさせていただいているので良ければチェックしてみてください。