現在勉強している基本情報技術者試験についてまとめたものです。
自分のアウトプット用なので見やすさなどは期待しないでください。
メモリの分類
RAM(Random Access Memory)
読み書きが自由にできるが、電源を切ると中身が消去される(揮発性)。
DRAM(Dynamic RAM)
安価で容量が大きく、主記憶装置に用いられる。
読み書きはSRAMに比べ低速で、記憶内容を保つためには定期的に内容を再読み書きするリフレッシュ動作が欠かせない。
SRAM(Static RAM)
DRAMに比べ非常に高速だが値段も高いため、小容量のキャッシュメモリとして用いられる。
ROM(Read Only Memory)
読み出し専用のため、動作に必要なプログラムやデータはあらかじめ書き込まれた状態で出荷される。
この時書き込まれた内容は、電源の状態に関係なく消えることはない(不揮発性)。
PROM(Programmable ROM)
ユーザーが手で書き換えることができるROM。
下記のような種類がある。
- EPROM(Erasable ROM)・・・紫外線でデータを消去して書き換える
- EEPROM(Electrically EPROM)・・・電気的にデータを消去して書き換える
- フラッシュメモリ・・・EEPROMの1種で、ブロック単位でデータを消去して書き換える
キャッシュ
記憶装置間の速度ギャップを埋めて、待ち時間のロスを防ぐための手法。
キャッシュメモリ
メモリとキャッシュの間に設ける、より高速に読み書きできるメモリ。
キャッシュメモリは重ねて設置することができ、CPUがアクセスする順番に1次、2次…と名前が付けられる。
ディスクキャッシュ
主記憶装置と磁気ディスク装置の間に設けるキャッシュ装置。
専用に半導体メモリを搭載したり、主記憶装置の一部を間借りするなどして実装する。
記憶階層
下記のような記憶装置の階層構造。
| 速度 | 装置 | 容量 |
|---|---|---|
| 高速 | レジスタ | 小容量 |
| ↑ | キャッシュメモリ | | |
| | | 主記憶装置 | | |
| | | ディスクキャッシュ | ↓ |
| 低速 | 磁気ディスク装置 | 大容量 |
ライトスルー方式
キャッシュメモリへの書き込みを行う際に、主記憶装置へも同時に書き込む方式。
高速化は望めないが、常にデータが一致している安心感がある。
ライトバック方式
普段はキャッシュメモリにしか書き込みを行わず、キャッシュメモリに入りきらないデータが発生した際に主記憶装置に書き込みを行う方式。
普段の処理は高速化できるが、制御が大変。
ヒット率
目的とするデータがキャッシュメモリに入っている確率。
逆に、キャッシュメモリになく主記憶装置に入っている確率を1-ヒット率という。
実行アクセス時間
キャッシュメモリを利用した平均的なアクセス時間のことで、[キャッシュメモリへのアクセス時間 * ヒット率]と[主記憶装置へのアクセス時間 * 1-ヒット率]を足すことで求めることができる。
メモリインタリーブ
主記憶装置の中を複数の区画に分割し、それらに同時にアクセスすることで連続した番地のデータを一気に読み出すことで高速化を図る。
ただし、ランダムアクセスなど連続しないデータの読み出しではあまり効果を発揮しない。