RAMはRandom Access Memory(ランダムアクセスメモリ)の略で、コンピューターのメモリの一種です。プロセッサー上に配置される半導体デバイスで、CPUが行う計算の変数を保存します。さらにRAMは、レジスター、つまり要求された情報のためのメモリ領域も提供します。まずCPUは、データのメモリアドレスまたは格納場所を含む読み出し命令を受け取ります。次にコンピューターはそのアドレスをRAMコントローラーに伝えます。その後、読み出されたデータがCPUキャッシュに送り返されます。
この読み書き処理はタイミングと呼ばれます。タイミングが高速で、その間の遅延が少ないコンピューターほど、アクセスが速くなり、レイテンシーも低くなります。逆に、タイミングが遅いと、パフォーマンスが低下し、レイテンシーが増大します。
RAMを使えば、直前のバイトにアクセスしなくてもメモリ上の任意のバイトにアクセスできます。RAMはデータを保存する揮発性媒体であり、メモリにアクセスして動作させるには、搭載されているデバイスに電源が入っている必要があります。
RAMには、SRAMとDRAMという2種類のメモリがあります。
DRAM(Dynamic Random Access Memory、ダイナミックRAM)は、広く利用されているRAMの一種です。大量のデータを保持できるメモリーチップですが、多くの電力を必要とします。
SRAM(Static Random Access Memory、スタティックRAM)もメモリーチップです。DRAMと比べて消費電力が少なく、パフォーマンスに優れています。これは、DRAMが使用中にリフレッシュを必要とするためです。SRAMはリフレッシュの必要がありません。
SRAMとDRAMの構造によって、それぞれの主な特性やメリット・デメリット、用途が決まります。
スタティックRAM(SRAM):主な用途
SRAMは、補聴器からルーターまで、さまざまな電子機器に使用されています。
- CPUキャッシュ
- ハードドライブキャッシュ
- ネットワークキャッシュ
- 科学機器・自動車用電子機器
- マイクロプロセッサー
- 最新の家電製品
- 玩具
- コンピューター
- ルーター
- 周辺機器
- ポータブル機器・バッテリー駆動機器
ダイナミックRAM(DRAM):主な用途
DRAMはサーバーに搭載されるほか、コンピューターのメインメモリやグラフィックスカードに使用されています。
- システムメモリ
- CPUバスへの接続
- スマートフォン・タブレット
- ノートパソコン
- 大容量メモリを必要とするデジタル機器
- グラフィックスカード
目次
SRAMとDRAMの主な違い
| SRAM: Static Random Access Memory(スタティック・ランダムアクセス・メモリ) | DRAM: Dynamic Random Access Memory(ダイナミック・ランダムアクセス・メモリ) | |
|---|---|---|
| コスト | 高い | 低い |
| パフォーマンス | ||
| 用途 | データの読み書き速度が速い。アクセス時間が最小限のオンチップメモリ | データの読み書き速度が遅い。アクセス時間が長いオフチップメモリ |
| 密度 | 低密度 | 高密度 |
| 消費電力 | 少ない | 多い |
| 記憶容量 | 小さい | 大きい |
| 揮発性 | 揮発性、リフレッシュ不要 | 揮発性、リフレッシュが必要 |
| 物理的な配置 | プロセッサー内、またはプロセッサーとメインメモリの間 | マザーボード |
| データの寿命 | 長い | 短い |
コンピューターのメモリについて詳しく見る:コンピューターのメモリ9種類を解説(用途別)
SRAMとは?
電力が供給されている限り、SRAMはメモリ内のデータを保持します。DRAMとは異なり、SRAMには継続的なリフレッシュが必要ありません。リフレッシュが不要であることは、パフォーマンスの向上と消費電力の削減につながるため、大きなメリットです。
SRAMは、コンピューターのメモリキャッシュによく使われます。たとえば、プロセッサーのL2キャッシュやL3キャッシュに搭載されています。ただし、SRAMはコストとサイズの問題から、一般的にコンピューターのメインメモリには使用されません。一方で、ディスクドライブやプリンターの周辺機器、ネットワークルーターまたはスイッチのバッファーキャッシュとして使われることがあります。
ただし、SRAMはほかにもさまざまな用途に利用できます。たとえば、コンピューターのビデオカードやグラフィックスカードに搭載されるRAMDAC、つまりデジタル・アナログ変換器の一部として使われる場合があります。
SRAMは、携帯電話、タブレット、ウェアラブルなど、さまざまな機器に搭載されています。さらに、医療製品、玩具、家電製品、自動車、産業機器、そして幅広いIoTデバイスにも組み込まれています。
SRAMの構造
SRAMは主に、CPUのメモリキャッシュとして使われます。この種類の半導体はフリップフロップメモリで構成され、双安定ラッチ回路を使って各ビットを保存します。データは4~6個のトランジスターで構成されるメモリーセルに保存されます。
SRAMチップでは、電力が供給されている限り、各メモリーセルが2進数で1桁の値を保存します。フリップフロップがビットを保存すると、反対の値が保持されるまでその値を維持します。SRAMは比較的大容量ですが、データにはすばやくアクセスできます。さらに、SRAMはオンチップメモリの形態を取ります。
SRAMのメリット
SRAMとDRAMには、それぞれメリットがあります。ただしDRAMと比べると、SRAMはアクセス時間が最短で10ナノ秒になるなど、高速です。また、DRAMのように常にリフレッシュする必要もありません。SRAMはDRAMより消費電力も少なく、安定した小さな電流だけを必要とします。
SRAMのデメリット
SRAMには多くのメリットがある一方で、デメリットもあります。SRAMは比較的高価で、より広いチップ領域を必要とします。チップあたりのメモリ容量が少なく、製造も困難です。SRAMの消費電力はアクセス頻度によって変わるため、低速で使用する場合、アイドル時の消費電力はほぼ無視できるほど小さくなります。ただし、高い周波数で使用すると、SRAMはDRAMと同程度のエネルギーを消費します。
SRAMの3つの種類
SRAMモジュールには3つの種類があり、古いコンピューターのシステムキャッシュをアップグレードして、より多くのデータを保存できるようにするために使われます。高速化を可能にする要因が前述のSRAMであることは説明しました。SRAMが高速になりやすいもう1つの理由は、マイクロプロセッサーがハードディスク以外のメモリソースにもアクセスできるようにするためです。
SRAMには次の3つのモジュールがあります。
- 非同期スタティックRAM:このSRAMは最初に作られた種類で、通常は古いマシンを低コストでアップグレードするために使われます。アップグレードの対象には、メモリや速度などがあります。
- 同期バーストスタティックRAM:この種類のSRAMは高価ですが、非常に高速です。
- パイプラインバーストスタティックRAM SRAM:PBSRAMは、現在最も一般的に使われているSRAMです。最初のアクセスの後、後続のアクセスサイクルで必要となるマシンサイクルを減らせるよう設計されており、より多くのデータを出力できます。
SRAMの価格
SRAMは速度と容量の両方にメリットがあるため、DRAMと比べてはるかに高価なのも当然です。SRAMキャッシュの価格が約5,000ドルであるのに対し、DRAMは1ギガバイトあたり約50ドルと、大幅に安価です。
SRAMは、最大6個のトランジスターで構成できるフリップフロップを使用するため、1ビットを保存するのにDRAMより多くのトランジスターを必要とします。比較すると、DRAMが使用するのは1個のトランジスターとコンデンサーだけです。したがって、SRAMは同じ容量のメモリを実現するために、より多くのトランジスターを必要とします。これらすべてが製造コストを押し上げます。
詳しく見る:キャッシュメモリとその仕組み。
DRAMとは?
Dynamic Random Access Memory(ダイナミック・ランダムアクセス・メモリ)(DRAM)は半導体メモリの一種です。DRAMは通常、コンピューターのプロセッサーが動作するために必要なプログラムコードに使われます。ただし、パーソナルコンピューター、ワークステーション、サーバーにもDRAMが搭載されています。RAMを使うと、PCのプロセッサーは、開始地点から順番に処理するのではなく、メモリ上の任意の部分に直接アクセスできます。
RAMは、ハードディスクなどのストレージと比べて、データに高速にアクセスできます。RAMが高速なのは主に、その配置がコンピューターのプロセッサーの近くにあるためです。
DRAMの構造
DRAMは、1T1C、つまり1個のトランジスターと1個のコンデンサーで構成されるセル構造を基本としています。セルは長方形の格子状アレイに配置されます。DRAMセル内のトランジスターに電圧が印加されます。この電圧にデータ値が割り当てられ、ビット線に置かれます。その後、ストレージコンデンサーが充電されます。データの各ビットはコンデンサーに保存されます。
時間が経つと、トランジスターがオフになった際にコンデンサーの電荷は放電する傾向があります。そのため、コンデンサーに保存されたデータは64ミリ秒ごとにリフレッシュする必要があります。DRAMはコンポーネントが少ないため、必要なチップ領域も小さくなります。したがって、DRAMチップはSRAMと比べてより多くのメモリを保持できます。さらに、DRAMはオフチップメモリの特性を備えています。
DRAMのメリット
DRAMには多くのメリットがあります。中でも特に注目すべきなのは、コストでしょう。SRAMと比べて、コストは大幅に低くなる傾向があります。設計も非常にシンプルで、トランジスターを1個しか必要としないことも、価格を抑える要因になります。大容量を低コストで実現できるため、ほとんどのコンピューターではDRAMが使われています。
DRAMは高密度も実現し、大量のデータを保存できます。さらに、DRAMが動作している限り、メモリはリフレッシュでき、削除することもできます。
DRAMのデメリット
SRAMと同様に、DRAMにもメリットとデメリットがあります。デメリットとしては、DRAMはSRAMより低速です。DRAMは数ミリ秒ごとに少量の電力をバースト的に必要とします。リフレッシュが必要なため、この電力が必要になります。これに時間がかかるため、DRAMは低速です。DRAMの平均アクセス時間は60ナノ秒です。これに対し、前述のとおり、SRAMのアクセス時間は約10ナノ秒です。
DRAMのもう1つのデメリットは、実際に電力を必要とすることです。電力がなければ、データは失われます。DRAMはSRAMと比べて消費電力も多くなります。
DRAMの5つの種類
- 同期DRAM:この種類のDRAMは、CPUのクロック速度とメモリ速度を同期させるために使われます。これにより、メモリコントローラーはCPUクロックのサイクルを把握でき、CPUはより多くの処理を同時に実行できます。
- Rambus DRAM:この種類のDRAMはやや旧式です。2000年代初頭には、グラフィックスカードで広く使われていました。
- ダブルデータレートSDRAM:この種類のDRAMは、ダブルピンニングを使用するため、同期DRAMの帯域幅をほぼ2倍にします。ダブルピンニングにより、クロック信号の立ち上がりエッジと立ち下がりエッジでデータを転送できます。DDR SDRAMには、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAMなど、時代とともに異なる世代が登場しています。
- ファストページモードDRAM:この種類のDRAMは、ページへの高速アクセスに重点を置くことで、ほかのDRAMタイプより高いパフォーマンスを実現します。
- 拡張データ出力DRAM:この種類のDRAMは、Intel Pentiumなどのマイクロプロセッサーで、メモリからの読み出し時間を短縮します。
DRAMの価格
SRAMと比べると、DRAMははるかに安価です。価格の一部は、ギガバイト単位の価格によって決まります。DRAMは1ギガバイトあたり約50ドルですが、SRAMは5,000ドルを超えることがあります。
詳しく見る:DRAMとその仕組み。
SRAMとDRAMは併用できる?
SRAMとDRAMには非常に大きな違いがあるため、両方を同時に使えるのか疑問に思う人もいるでしょう。答えは簡単です。はい、両方を使えます。実際、両者は互いに補完し合います。ハードウェアが両方の設計を採用しているなら、併用しない理由はありません。両方を使うと、2つの間のRAMレイテンシーもメリットになるでしょう。
両方を使えば、安価でありながら高速に動作するメモリシステムを実現できます。つまり、両方の長所を得られるのです。
まとめ:SRAMとDRAMの違い
スタティックRAM(SRAM)とダイナミックRAM(DRAM)は、RAMの種類です。SRAMは、少ない消費電力でより高いパフォーマンスを実現する傾向があります。ただし、SRAMはDRAMよりはるかに高価です。SRAMはより広い領域を占有し、一般的にコンピューターのメモリキャッシュに使われます。コストとサイズの問題から、メインメモリには使われません。SRAMがトランジスターを使うのに対し、DRAMはコンデンサーを使い、トランジスターはあまり使いません。
ほとんどのコンピューターではSRAMではなくDRAMが使われますが、SRAMはコンピューターのグラフィックスカードに搭載されるデジタル・アナログ変換器など、別の用途に使われています。
DRAMとSRAMにはこのような違いがあるため、DRAMはメインメモリに、SRAMはプロセッサーキャッシュに適しています。