図1 DDR DRAMの読み出しシーケンス<br>DDR DRAMにおける,読み出しの仕組みを示した。データ・ストローブという信号線を追加しており,データ・ストローブの立ち上がり/降下に同期してデータの読み出しを実行する。
図1 DDR DRAMの読み出しシーケンス<br>DDR DRAMにおける,読み出しの仕組みを示した。データ・ストローブという信号線を追加しており,データ・ストローブの立ち上がり/降下に同期してデータの読み出しを実行する。
[画像のクリックで拡大表示]
図2 シンクロナスDRAMとDDR DRAMのデータ入出力の手順&lt;br&gt;シンクロナスDRAMとDDR DRAMの動作手順を,メモリ内部の簡略図を使って説明する。シンクロナスDRAMでは,DRAMの記憶素子そのものをRow(行)とColumn(列)から構成する2次元状に配置している(a)。外部からRow/Columnという形でアドレスが渡されると(?),これを使って対象となるメモリ・セルをアクセスする(?)。アクセスした結果は,そのままセンス・アンプやラッチを経由して外部に出力される(?)。DDR SDRAMでは,連続した2つのセルを同時にアクセスし,結果を出力する形になる(b)。これにより,メモリ・セルそのものはスピードを変えずに,データが倍の速度で出力できる。
図2 シンクロナスDRAMとDDR DRAMのデータ入出力の手順<br>シンクロナスDRAMとDDR DRAMの動作手順を,メモリ内部の簡略図を使って説明する。シンクロナスDRAMでは,DRAMの記憶素子そのものをRow(行)とColumn(列)から構成する2次元状に配置している(a)。外部からRow/Columnという形でアドレスが渡されると(?),これを使って対象となるメモリ・セルをアクセスする(?)。アクセスした結果は,そのままセンス・アンプやラッチを経由して外部に出力される(?)。DDR SDRAMでは,連続した2つのセルを同時にアクセスし,結果を出力する形になる(b)。これにより,メモリ・セルそのものはスピードを変えずに,データが倍の速度で出力できる。
[画像のクリックで拡大表示]
図3 IXP425の内部ダイアグラム&lt;br&gt;Intel社の32ビット・マイコン「IXP425」では,533GHz動作のCPUコアと133MHzのシンクロナスDRAMで構成していた(図:Intel社の資料を基に本誌が作成)
図3 IXP425の内部ダイアグラム<br>Intel社の32ビット・マイコン「IXP425」では,533GHz動作のCPUコアと133MHzのシンクロナスDRAMで構成していた(図:Intel社の資料を基に本誌が作成)
[画像のクリックで拡大表示]
図4 IXP465の内部ダイアグラム&lt;br&gt;Intel社の32ビット・マイコン「IXP465」になると,CPUコアは667MHzに高速化し,メモリは266MHz動作のDDR SDRAMを使う(図:Intel社の資料を基に本誌が作成)
図4 IXP465の内部ダイアグラム<br>Intel社の32ビット・マイコン「IXP465」になると,CPUコアは667MHzに高速化し,メモリは266MHz動作のDDR SDRAMを使う(図:Intel社の資料を基に本誌が作成)
[画像のクリックで拡大表示]

 速度に難があったシンクロナスDRAMを倍速(DDR:Double Data Rate)で転送させようとするメモリがDDR SDRAMである。シンクロナスDRAMの信号線にデータ・ストローブと呼ばれる1本を追加し,このデータ・ストローブの立ち上がり/降下に同期してデータの入出力を実行する(図1)。DDR SDRAMではメモリ・アレイそのものの動作速度は,シンクロナスDRAMと同様に100M~200MHzである(図2)。

 DDR SDRAMは,最近は組み込みプロセサ向けメモリの市場で主役になりつつある。理由は大きく六つある。

(1)非常に入手しやすい。昨年までは,パソコンに搭載する標準的なメモリだった。従って,まだメモリ・ベンダーもそれなりの数量を出荷している。
(2)CPUコアの高速化に伴った高速メモリへの要求にうまく合う。データ転送速度は400Mバイト/秒まで確保でき,バス幅4ビットの場合で最大200Mバイト/秒,同16ビットならば800Mバイト/秒の帯域を1チップで提供できる。必要な帯域が同じならば,シンクロナスDRAM に比べて配線幅を半分に減らせ,省スペース化に貢献する。
(3)メモリ容量が大きい。高機能なマイコンではCPUコアの処理だけではなく周辺回路の扱うデータ量が増える傾向にあり,シンクロナスDRAMでは追い付かないケースが出てきた。
(4)消費電力が低い。動作電圧を2.5Vに下げられた結果,同一データ転送速度であればシンクロナスDRAMに比べて消費電力を40%程度減らせる。メモリ・ベンダーによっては,1.8V動作品なども用意しているが,ベンダー数は限られる。
(5)シンクロナスDRAMと比較して,DDR SDRAMの回路規模が極端に大きくなるわけではない。データ転送速度が2倍になっているのは8ビットや16ビット・マイコンにとって問題だが,そもそも数百MHzで動作している昨今の32ビット・マイコンに対してはそれほど難易度が高くない。
(6)DDR SDRAMを使ったシステム開発に際して,コスト面の負担はそれほど増えない。DDR SDRAMはパソコンに広く利用されるために,シミュレータや測定装置などのほとんどがDDR SDRAMに対応しているためである。

 このような理由があり,2004年ころからDDR SDRAMを採用する32ビット・マイコンの数は次第に増えつつある。例えば,米Intel Corp.がネットワーク機器向けに展開するIXP400シリーズを見てみよう。これは同社のCPUコア「XScale」にメモリ・コントローラや周辺回路,ネットワーク処理アクセラレータ,暗号化アクセラレータなどを集約した典型的な32ビット・マイコンである。2002年2月に発表されたIXP425の場合,533MHzのCPUコアと133MHzのシンクロナスDRAMで構成されていた(図3)。2004年10月に発表された後継製品のIXP465の場合,CPUコアは667MHz程度とそれほど高速化されていないが,メモリは266MHzのDDR SDRAMを使うように変更してある(図4)。この変更理由は前述の(3)に該当する。IXP425では最大256MバイトのシンクロナスDRAMまでしかサポートしていなかったのが,IXP465では1GバイトのDDR SDRAMまで対応している。まさしく,最近の高機能32ビット・マイコンに求められている要求が変化しつつあることを物語っている。

供給面で不安なし,使いこなしも成熟

 DDR SDRAMの動作周波数については,シンクロナスDRAMほど多様ではない。一般に流通する製品は,動作周波数200MHz,266MHz,333MHz,400MHzの4種類のみである。これらはJEDECで標準化された周波数そのものだ。パソコン用にはもっと高速な,466MHzあるいは500MHzで動作する製品も存在するが,これらはJEDEC標準外のものであり,組み込み向けに使われることはない。

 バス幅の選択肢としてはシンクロナスDRAMと同じく,4ビット,8ビット,16ビットが標準で用意され,32ビットは一部ベンダーが提供する。メモリ容量に関しては,128Mビット(16Mバイト),256Mビット(32Mバイト),512Mビット(64Mバイト)が標準で用意され,一部メモリ・ベンダーは1Gビット(128Mバイト)品も提供している。一方,64Mビット品といった小容量メモリを提供するベンダーは非常に限られる。

 CASレイテンシについては,266MHz品ではCL=2のものもあるが,これは高速品という扱いでやや高価である。普及帯の製品では266MHz品でCL=2.5,333MHzや400MHz製品はCL=3が普通だ。メモリ内部の速度そのものはシンクロナスDRAMと変わらないから,レイテンシの絶対値は減らない。むしろ基準となる速度が高速化している分,CL値は悪化する。

 組み込み向けのメモリとして,DDR SDRAMは今後数年にわたり主流であり続けるだろう。理由としては一部のハイエンド品を除くと,ちょうどDDR SDRAMでの帯域が合うアプリケーションが今のところ非常に多いからだ。供給面にも不安はないし,技術的には十分に枯れたと言って差し支えない。強いて言えば,データ転送速度が最大400MHzにも及ぶため,配線の引き回し方を誤ると雑音対策が大変になることである。例えば,メモリをDIMMモジュールとしてソケット経由で装着するパソコンや一部のIA(Internet Appliance)機器などは注意する必要がある。ただし,これらを除くと通常はマイコン側にメモリを直接配線して使うので,シンクロナスDRAMを使っていたときからそれほど難易度は上がらない。