PSDRAM(擬似スタティックRAM)を理解する方法
コンピューターのハードウェアに詳しい人なら、RAMについて知っている人も多いでしょう。しかし、実際にはDRAMの一種のことを言っていることに気づいていないかもしれません。実は、PCにはSRAMも内蔵されています。この2つには様々な違いがありますが、実用的、ユーザー目線で考えると、DRAMは大容量で手頃な価格の選択肢であり、SRAMはキャッシュ用として高速に使われるという違いがほとんどです。一度理解すれば理解できますが、一見すると少し混乱するかもしれません。
SRAMははるかに高価ですが高速です。そのため、主にCPUキャッシュとして使用され、プロセッサに超高速でデータを供給し続けます。一方、DRAMは安価で簡単に拡張できるため、メインメモリとして使用されます。ノートパソコンやデスクトップパソコンの内部を覗いたことがあるなら、RAMモジュールが大きなDRAMの塊でできているのがわかるでしょう。SRAMは高速ですが高価であるため、主にCPU内部のキャッシュ階層に隠れた位置に置かれています。
名前の説明
SRAMはStatic RAM、DRAMはDynamic RAMの略です。この「static」と「dynamic」の違いが、多くの人を混乱させています。基本的に、SRAMセルは定期的なメンテナンスを必要とせず、電源が入っている限りデータを保存し、リフレッシュも必要ありません。一方、DRAMは少し手間がかかります。データを保持するには、常に充電する必要があり、充電しないとデータが消去されてしまいます。一見単純な話に聞こえますが、実は細かい点が重要なのです。
実は、CPUのメモリコントローラがこれを裏で処理しているので、目に見えないのです。DRAMモジュールは、データが消えないようにするために、定期的に同じデータを読み書きする「リフレッシュサイクル」を必要とします。これは、RAMに定期的にバックアップを与えるようなものだと考えてください。SRAMセルはこのような電荷の減衰の影響を受けないため、リフレッシュコマンドを必要とせずに安定した状態を維持します。これがSRAMの超高速性を支えるのですが、残念ながら高価でサイズが小さいという欠点があります。
両方の長所を兼ね備えている?
PSDRAMって聞いたことありますか?これは擬似スタティックRAM(Pseudo-Static RAM)の略で、DRAM技術をベースにSRAMのように動作させるハイブリッド型のRAMです。PSDRAMの目的は複雑さを軽減することにあり、CPUが制御する必要なく、内部回路を使って自動的にリフレッシュする仕組みになっています。そのため、純粋なSRAMよりも安価でありながら、それでも非常に高速です。
問題は? 透過的にリフレッシュを行うため、レイテンシが若干高くなる場合があることです。例えば、リフレッシュが行われている最中にシステムがデータを要求した場合、少し時間がかかることがあります。少し奇妙に感じるかもしれませんが、これが仕組みです。これは通常のコンピューターではなく、車載システム、産業用コントローラー、FPGAセットアップなど、速度よりも設計の容易さが重視される特殊な用途で使用されています。
結論
総じて言えば、PSDRAMはSRAM並みの速度を持ちながら、自動リフレッシュ回路のおかげでDRAM並みの低価格を実現した、いわば中間的な存在を目指しています。しかし正直なところ、標準的なPCではあまり普及していません。主な理由は、一般的なセットアップでは、単にDRAMやSRAMを使う場合と比べて大きなメリットがないためです。組み込みシステム、自動車関連、FPGAプロジェクトなどに取り組んでいる場合は、時折登場するかもしれませんが、それ以外の場合は、ほとんどニッチな存在です。
なぜPSDRAMがもっと普及していないのかは分かりません。おそらく、現代のDRAM技術は進化し続けており、SRAMは最も要求の厳しいキャッシュ以外には高価すぎるからでしょう。それでも、プロジェクトやシステムにPSDRAMを導入する場合、基礎を理解しておくと、特にレイテンシが悪化するような場合など、PSDRAMの動作の理由を理解するのに役立ちます。
まとめ
- RAM = コンピューターの重要な部分だが、よく誤解される
- SRAM: 高速、高価、キャッシュとして使用
- DRAM: 安価で大容量のメインシステムメモリ
- PSDRAM: SRAMを模倣したハイブリッド自動リフレッシュDRAM
- 現在では主に産業用または特殊ハードウェアに使用されている
まとめ
これでRAMに関する混乱が少しでも解消されたら幸いです。擬似スタティックRAMはどこでも見かけるものではないかもしれませんが、シンプルさとスピードが重要となる特定のユースケースにおいて、費用を抑えつつも興味深い回避策となります。設定によっては少々風変わりな場合もありますが、十分に機能します。この記事が、RAMが舞台裏でどのように動作しているかを理解する上で少しでもお役に立てれば幸いです。