はじめに
コンピュータの記憶装置には、データを一時的に保持する 主記憶装置(メインメモリ) と、長期間保存するための 補助記憶装置(ストレージ) がある。
メインメモリはプログラムやデータが読み書きされる場所であり、揮発性データの一時保管が行われる。
補助記憶装置は、具体的にはハードディスクドライブ、SSD(Solid State Device)、外部ストレージ、VHS、カセットテープなどを指し、長期的な不揮発性データ長期保管が行われる。
通常、アプリケーションは補助記憶装置からメインメモリ上にロードされて、実行される。
主記憶装置
メインメモリ のこと。
コンピュータがプログラムを実行する際に使用されるメモリであり、アプリケーションプログラムや OS が実行される空間。
主にRAMが使用される。
アクセスが高速で、電源供給を失うとデータも消失する(揮発性)。
基盤上でCPUと直に接続されている。メモリーチップなどを基盤に実装したものをメモリモジュールと呼ぶ。
メモリを設置する部分をメモリスロットと呼ぶ。ノートPCやタブレットでは、メモリがマザーボードに対して直接つけられているため、メモリースロットがない場合が多い。
低スペックなもので4GB(ライトユーザー向け)、高スペックなもので32GB以上。ゲームが目的なら64GBはオーバースペックなので、32GBにすると良いらしい。開発では16GB以上は欲しいらしい。画像を多く扱ったり、動画編集までするなら16GBか32GBくらいは必要らしい。
単にメモリといった場合、メインメモリを指す場合が多い。
RAM
Random Access Memory
主に、メインメモリに利用される。
アクセスが高速で、揮発性。何度でも書き換えることができる。
またRAMの中には、さらにDRAM(Dynamic)とSRAM(Static)という分類が存在する。
DRAM
Dynamic Random Access Memory
DRAMは、記憶素子に電荷を蓄えた状態(高電圧)状態を1、電荷を蓄えていない状態(低電圧)を0として情報を保持する。
電荷は時間の経過と共に失われていくため、定期的に電荷を貯め直すリフレッシュ操作が必要。
SRAMよりも安価であるため、主にメインメモリに使用される。
SRAM
Static Random Access Memory
黒い長方形の左右に、ムカデの足のようなものがいっぱいついているメモリ。
フリップフロップ(論理)回路を使用して情報を保持するため、DRAMのようなリフレッシュ操作を必要としない。
高速に情報へアクセスすることができ、また消費電力が小さく省電力であることからDRAMよりも高価。
そのため、CPUとDRAMとの間に設置されるキャッシュメモリに使用される。
キャッシュメモリ
CPU に搭載されるメモリ。
速度の関係は以下の順になっている。
メインメモリ < キャッシュメモリ < レジスタ
容量や速度の異なるキャッシュメモリが複数搭載された場合、一次キャッシュ、二次キャッシュなどと、いくつかの階層に分けられることがある。
一次キャッシュはL1キャッシュ、プライマリキャッシュなどと呼ばれることもあり、階層の中では最もアクセスが高速、かつ低容量(つまり高価)。CPUは一次キャッシュを最も優先してアクセスする。PCでは数KB~数十KBくらいの容量。二次キャッシュは数百KB~数MBくらい。(製品によって違いがあるので、あくまでも素人の私が今後キャッシュメモリと聞いたときに、イメージできるようにしたい容量です)
補助記憶装置
ストレージ のこと。
データを永続的に保存するための記憶装置(非揮発性)。
主にハードディスクドライブ(HDD)、SSD、USBメモリ、SDカードなど。
電源供給を失ってもデータが保持される。
ROM
Read-Only Memory
補助記憶装置として利用されるメモリ。
データの書き換えができない(不揮発性)。
主に固定のデータ(ファームウェア、ブートローダなど)を保存するために使用される。
ファームウェア とは、機器に直接埋め込まれたソフトウェアで、デバイスの制御、設定、動作を管理するプログラムを指す。
ブートローダ は、コンピュータの電源を入れた時に、OSを読み込み、起動する役割を持つプログラムを指す。
家電製品などのあらかじめ決まった動作のみ行うコンピュータや、CD、ゲームソフト等にも使用される。
マスクROM
一般的にROMと言った場合、マスクROMのことを指している場合が多い。
ROM は「Real-Only(読み取り専用)」という名前だが、以下のROMは書き換えることができる。
歴史的にはRAMとROMの分類が先に存在していて、技術の進歩によって書換可能なROMが開発されたという経緯がある。
PROM
Programmable Read-Only Memory
通常のROMと違い、特定のプロセスや条件下でデータを再度書き換えることができるROM。
EPROM
Erasable Programmable Read-Only Memory
紫外線を放射する装置を用いてデータの消去が可能なROM。
データの書込は電気信号を通じて行い、紫外線を使ってデータをリセット(削除)することで、再度書き込みができる状態に戻すことができる。
EEPROM
Electrically Erasable Programmable Read-Only Memory
EPROMの中には、データの書込、削除がどちらも電気信号で行うことができるものが存在し、それらはEEPROMと呼ばれる。
EEPROMは、基本的にはビット単位でデータの書き込み、削除が行われるが、複数のビットを同時に操作することができる フラッシュメモリ といった進化形も存在する。
フラッシュメモリ
セクターやブロック単位での操作ができ、ビット単位よりもより効率的にデータを処理することができる。
主に、デジカメ、USBメモリ、SSD、スマホなどのデータの保存に利用される。
SAM
Sequencial Access Memory
メモリとして分類されるものではないが、RAM、ROMと似た用語にSAMというものがある。
SAMは補助記憶装置の一つで、連続した記憶領域に順番にアクセスを行う。
RAMは任意のアドレスに直接アクセスが可能なのに対して、SAMは特定の位置から順番にしかデータにアクセスできない。
VHSや、カセットテープなど。