現在のパソコンのメモリはほとんど全てが DDR メモリです。DDR とは、皆さんご存じのとおり、Double Data Rateの頭文字です。クロックの立ち上がりと立ち下がりのそれぞれのタイミングでデータをやりとりします。(脚注1

これをメモリに適用したものが、DDR SDRAM です。SDRAMとは、Synchronous Dynamic Random Access Memory です。DDR2 とか DDR3 とかは、電圧やクロック周波数の派生版として規格化されており、後述します。

まず、SDRAM 登場以前の DRAM について少し述べてみます。

Article header 117909 sp01 1 fig1  1
図1 古典的なDRAMの構成(SDRAMより前)

図1 に SDRAM 登場前の DRAM の構成と、図2 にそのタイミングを示します。この時代の DRAM は非同期で、クロックを持っていませんでした。以前からメモリ以外のロジックは、ほとんどクロック同期でした。クロック同期の利点は、セットアップ時間とホールド時間との間に論理が確定していれば、それ以外のタイミングでは反射やクロストーク・ノイズによる波形の暴れがあっても問題ありません。

ただ、部分的に速い回路があっても、最も遅い論理にあわせてクロックを設定しなければならないので、極限の性能を求めることはできません。学校で、落ちこぼれ寸前の人でも落ちこぼれないように授業の進度を決めているようなものです。

Article header 117909 sp01 1 fig2  2
図2 古典的なDRAMのタイミング

非同期回路は飛び級みたいなもので、早く進んだ人はどんどん進級していくので、極限まで成績(性能)を向上させることができます。非同期回路は、例えば、論理 0 から論理 1 に変化する際に、0 → 1 と変化するはずが、0 → 1 → 0 → 1 とバタバタと変化したとすると、その変化を有効と考えて、次の回路が動作します。非同期回路は、性能は極限まで追求できますが、波形乱れに弱い方式といえます。

その他にも非同期回路にはいろんな利点があり、その利点を活かした領域では現在でも多用されていますが、本論から外れるので割愛します。

システムにおけるメモリの使用個数が少ない場合には、非同期型の DRAM の欠点はあまり見えませんが、複数のメモリを使うようになると、波形乱れの問題が顕在化してきます。悪いことに、複数のメモリをモジュール化して、設計者からはあたかも一つの部品のように見えていたことも問題を複雑にしていました。

Windows 登場の頃は、この非同期型のメモリを SIMM (Singel In-line Memory Module) に搭載して使用していました。

Article header 117909 sp01 1 fig3  1
図3 SIMMの接続例

図3 に SIMM の接続例を示します。これは 4枚使いの例です。SIMM は通常、2枚1組として使われました。1枚の SIMM にメモリが最大で表裏合計16個使用されていたこともありました。この SIMM を 3組使用すると、チップセットからは 16個 × 3組 × 2枚 = 96個 のメモリがつながります。アドレス信号は、複数のメモリに共通に加えられるので、設計者が何も意識しないまま一つのドライバから 96個のメモリにアドレス信号が加えられる結果となりました。

特にアドレス信号は高速動作のために、アドレス・プリフェッチ(Prefetch=事前読み込み)といって、アドレス信号の変化をとらえて、アドレスを早く決める機能を使っていたため、アドレス信号に段や波形割れがあると、本来のアドレスとは別のアドレスにアクセスするような誤動作を引き起こすこともありました。これらのトラブルの多くは、いわゆる「相性問題」として片づけられていました。

参考文献
碓井:ドライバ挿入型の SIMM 駆動法を開発 分布定数回路の設計手法を駆使
日経マイクロデバイス P.72-73, 1997年10月号

メモリの高速化は、FPM (Fast Page Mode=高速ページモード) や EDO (Extended Data Out) などにより、66 MHz のバスクロックの 3分の1 から 2分の1 程度まで到達しましたが、22 MHz とか 33 MHz といったのどかな時代でした。

脚注1
実際には、メモリ内部の DLL (Delay Locked Loop) によって、クロック波形の立ち上がりと立ち下がりの両方に相当するタイミングを生成しなおしています。

おすすめ記事/資料はこちら

特別号:DDR SDRAMを紐解く~その2(SDRAM 登場後)

======================================

碓井有三のスペシャリストコラムとは?

基礎の基礎といったレベルから入って、いまさら聞けないようなテーマや初心者向けのテーマ、さらには少し高級なレベルまでを含め、できる限り分かりやすく噛み砕いて述べている連載コラムです。

もしかしたら、他にも気になるテーマがあるかも知れませんよ!
こちら から他のテーマのコラムも覗いてみてください。