今回は、「RAMの種類」についての説明です。
1.初めに
メモリの種類にROMというものがあります。
ROMはCD-ROMとかDVD-ROMという種類があるのでどこかしらで見聞きした記憶がある方も少なくないでしょう。
そんなROMと似たような名称をしたメモリとして、RAMというものが存在します。
今回は、そんなRAMの意味と種類についてまとめてみました。
2.RAMとは?
RAMとは、英語で[Random Access Memory]と書きます。
ランダムアクセスできるメモリです。
メモリとは、コンピュータのデータやプログラムを保存することができる記憶装置のことです。
ランダムアクセスが可能というのは、わかりやすく言うとデータの読み書きが自由だということです。
本来の意味では、他のメモリ(記憶装置)に保持されているデータを決められた順序に倣わなくとも(ランダムに)アクセスして読み書きできるという意味合いになります。
まあ、RAMは好き勝手にデータを保存したり読みだしたりできるメモリだと思っておけば良いです。
その特性をどんな場所で発揮しているのかというと、CPU(コンピュータの頭脳)です。
つまり、RAMとはCPUのための記憶装置を指しているのです。
CPUのための記憶装置のことをメインメモリとも呼ぶ為、RAM=メインメモリの関係が成り立っています。
厳密には、メインメモリとしてRAMを使用するからメインメモリのことをRAMと呼ぶような感じです。
この辺はややこしいんです。
3.RAMの種類
主要なRAMの種類としては、以下のようなものが存在します。
- VRAM
- DRAM
- SRAM
- SDRAM
※SDRAMの項目に、DDR・DDR SDRAM・SDR・SDR SDRAM・LPDDRの説明があります。
VRAM
VRAMは[VideoRAM]のことです。
普通のRAMはCPUのための記憶装置ですので、VRAMはグラフィック(画像や映像)のための記憶装置になります。
広い意味では、ディスプレイに画面表示するために必要なデータのためのメモリ領域を指します。
グラフィックボードというコンピュータに取り付けることでグラフィックの機能を拡張できる外付け基板があります。
グラフィックボードには、GPUと呼ばれるグラフィックに特化した演算装置(チップ)が内蔵されています。
同様に、VRAMもグラフィック専用メモリとして内蔵されています。
では、グラフィックボードが搭載されていない(GPUが直接コンピュータに組み込まれている)場合のVRAMはどうなっているのでしょうか?
A.専用のメモリを用意するのではなく、メインメモリの一部をVRAMとして割り当てています。
VRAMはあくまで「ディスプレイに画面表示するために必要なデータのためのメモリ領域」を指しているので、ディスプレイを持つコンピュータである限りVRAMが無いということはあり得ません。
どこにあるか、どこが割り当てられているかという違いはありますけどね。
DRAM
DRAMとは、英語で[Dynamic Random Access Memory]と書きます。
RAMとはCPUのための記憶装置で、データの読み書きは自由ですが電源を落とすとデータが消える揮発性のメモリです。
それがダイナミック(動的)になるわけです。
…これではよくわかりませんね。
順番に説明していきます。
まず、DRAMの中にはコンデンサという電荷を蓄える(電気をためる)ことができる素子が多く使用されています。
そもそもの話、データは「0」と「1」の羅列で表現されます。
よくコンピュータで10101110みたいな表現がされているでしょう?
DRAMの場合、コンデンサ一個一個がそのデータの「0」と「1」を表す役割を持っているのです。
コンデンサに電荷が蓄えられている時は「1」、電荷が蓄えられていない時は「0」という具合にです。
10101110ならコンデンサが8個用意されているわけです。
なのですが、このコンデンサに蓄えられた電荷は時間経過と共に失われていきます。
つまり、本来10101110であったとしても、放っておくと勝手に00000000になってしまうのです。
これでは困りますよね?
ということで、DRAMは定期的に電荷を更新して記録を保持する必要があります。
物忘れが激しいメモリだから定期的に記憶を補完してあげる必要があるということです。
このように、常に充電と放電を繰り返しているのでダイナミック(動的)と称しているわけです。
そんな特性を持っているので、「1」のまま保持したければ充電し続ければいいわけですし、「1」から「0」に変化させたければ充電を止めればいいわけです。
ある意味合理的ですね。
ちなみに、この電荷を更新する作業のことをリフレッシュ(記録保持動作)と呼びます。
そんな特性を持っているので長期的な記録には向かず、一時的な情報処理用途にしか使えません。
常にリフレッシュしているので消費電力は大きいですし、データの読み書きに時間がかかるというデメリットもあります。
デメリットが多いですね。
では、何故そんなメモリが存在するのかというと、回路構造が単純なので低コストで大容量のメモリを作れるからです。
その為、コストと容量を重視される場面ではDRAMを使用していることが多々あります。
「0」と「1」の羅列がそもそもよくわからないという方は以下の記事を参考にしてみてください。
論理回路の領分に入るので、キチンと理解したいなら順番に読むことを推奨します。
SRAM
SRAMとは、英語で[Static Random Access Memory]と書きます。
DRAMではダイナミック(動的)でしたが、今度はスタティック(静的)になるわけです。
DRAMは常にデータの更新(再書き込み)を行わないとデータを忘れてしまうという特性がありましたので、リフレッシュが必要でした。
これを“動的”と言っていたので、“静的”になるSRAMはリフレッシュが不要になります。
DRAMはすぐにデータを忘れてしまうため長期的な記録には向かず、一時的な情報処理用途にしか使えません。
常にリフレッシュしているので消費電力は大きいですし、データの読み書きに時間がかかるというデメリットもあります。
その代わり、回路構造が単純なので低コストで大容量のメモリを作れます。
SRAMは、これらのDRAMの長所・短所を比較した時に真逆になります。
つまり、データを長期的(※電源供給は必要)に保持可能で、消費電力は小さく、データの読み書きが速いです。
その代わり、回路構造が複雑で高コスト小容量のメモリになります。
DRAMとSRAMは一長一短なので、用途に合わせて使い分けましょう。
ちなみに、SRAMの用途としてはキャッシュメモリとして使用されることが多いようです。
電池と併用することでデータ保持用として使用していることもあります。
SRAMの原理はフリップフロップ回路を使用したものなので、専門的な職業の方以外は深く考えない方が良いかと思います。
SDRAM
SDRAMとは、[Synchronous(同期)]DRAMのことです。
これまで紹介したRAMと違い、外部のクロック信号に“同期”して動作(外部とのデータ入出力のやり取り)します。
非同期式のRAMだと制御のタイミングは指定できませんが、クロック信号に同期させることで望み通りのタイミングで動作させることができるようになり、より複雑な制御が可能になります。
SDRAMの制御方式には、SDR[Single Data Rate]とDDR[Double Data Rate]の2種類が存在します。
SDR方式の場合はSDR SDRAMもしくはただのSDRAMと表記され、DDR方式の場合はDDR SDRAMと表記されます。
これは、SDR方式が先に開発されたためです。
後追いでDDR方式が開発されたので、区別をするためにSDR SDRAMという呼び名が生まれました。
要するに、途中まではSDR方式のSDRAMはそのままSDRAMと呼ばれていたんです。
SDRとDDRの違いは、同期するタイミングです。
クロック信号の立ち上がり時を利用して制御するのがSDR、クロック信号の立ち上がり/立ち下がり時を利用して制御するのがDDRです。
立ち上がりのみ利用[Single]/立ち上がりと立ち下がりを利用[Double]という違いになっているわけです。
同条件ならDDRの方がSDRよりも単純に2倍の効率で制御が可能になる為、DDRの方が一般化しています。
DDR SDRAM規格は、2000年頃にJEDECにより策定された規格です。
そこから世代を重ねるごとにバージョンアップしていき、その世代を表す手法としてDDRの後ろに数字が付くようになっています。
DDR→DDR2→DDR3→DDR4→DDR5という具合にです。
DDR4-1600のように更に後ろにハイフンと数字が付いていた場合、この数字が通信速度を表していることになります。
総じて数字が大きい方が良い性能になっているのだと思っておきましょう。
注意点としては、後方互換性がありません。
簡単に言えば、同世代以外の付け替えをしてはいけません。
DDR4はDDR4にしか付け替えできないのです。
その為、敢えて形状を変えて取り付けができないような工夫がされてたりします。
また、LPDDRという[Low Power(省電力)]の規格も存在します。
この辺は名前分けが多過ぎて混乱するんですよね。
以上、「RAMの種類」についての説明でした。