月刊アスキー 2004年9月号 2005年2月14日
DDRの限界を超えたDDR2 SDRAM
925X、915P/Gチップセットでは、メインメモリとしてDDR2 SDRAMを採用した。ここではこのDDR2について詳しく検証していきたい。テストを行なう前にDDR2の基本的な解説をしておこう。
4bitプリフェッチと
信号品質改善で高速化
DDR2は、すでに高速化の限界に来ているDDR SDRAMを、より高速なデータ転送をできるように改良したものである。
●図1 DDR2で採用された4bitプリフェッチ
 |
DDR2では、DRAMセルからI/Oバッファに4×n bitぶんまとめて先取りしておくことで、DRAMセルのクロックを上昇させずに高速なデータ転送に対応できる。DDR2-533のほうが、DDR400やDDR333よりもDRAMセル内部のクロックは低く、製造はしやすい。 |
|
これまでのDDRで限界がきていた理由は2つある。1つは半導体技術の限界とアナログ的な信号品質の問題だ。半導体技術の限界を打ち破るために導入されたのが4bitプリフェッチだ(図1)。DRAMセルからDRAMチップ内のI/Oバッファに4×n bit(nはI/O幅でPC用メインメモリでは4〜8が一般的)まとめて先取りしておく仕組みである。DDRでは2×n bit先取りする2bitプリフェッチだったが、DDR2ではプリフェッチを2倍とすることでDRAMセルのクロックは上げずに高速化を可能にした。DDR2-533の内部クロックは133MHzと、DDR400の200MHzよりずっと低い。他の要素も絡んでくるのでいちがいにはいえないが、この点だけからみればDDR2-533のほうがずっと製造しやすく、歩留まりを高められる。
一方アナログ信号の品質改善を目的としたフィーチャーが、ODT(On Die Termination)とOCD(Off Chip Driver)といった技術だ。ODTは、従来マザーボード上に実装していたターミネータをDRAMチップ1つ1つに内蔵し、DRAMごとにオン/オフを切り替えることができるようにしたものだ。他のDRAMチップからの信号の反射を防いでノイズを減らすとともに、マザーボード設計を容易にする効果もある。OCDは、ストローブ信号(クロックを伝えるために送る信号)の電圧をキャリブレートし、スキュー(時間的なズレ)を防ぐ役割をもつ。
また、DDR2は、駆動電圧、信号振幅がDDRの2.5Vから1.8Vに下げられていることも特徴だ。これは電流の高速なスイッチを可能にするための処置。また、高速化による電流量、発熱量の増加への対応、低消費電力化も想定している。結果、DDR2-533では、同容量でのDDR400に比べて、消費電力は半分程度に減少している。
レイテンシに関する誤解
4-4-4でも遅くはない
「DDR2はDDRに比べてレイテンシが増大しているから遅い」という指摘をたまに見かけるが、それは多くの場合正しくない。スペックを見てみると、DDR400がCL=3(3-3-3)、対してDDR2-533はCL=4(4-4-4)となっている。この数字だけ見れば「遅い」と感じるかもしれないが、レイテンシの数字はクロックを示しているもので、実時間ではない。単純に数字が大きくなっているからといって「レイテンシが遅い」というのは間違いで、 200MHz動作のDDR400の1クロックとDDR2-533の1クロックでは時間が違う。
|
|
写真1 バッファローのDDR2-533搭載モジュール「D2/533-256MB」。チップはMicron製でレイテンシは4-4-4-12。DDR2-533は帯域が4266MB/秒のためモジュールとしては「PC4300」とするメーカーが多いが、同社は「PC4200」としている。安心の6年保証。Intelのバリデーションも取得している。 |
DDR400の1クロックあたりのサイクルタイムは1秒÷200000000Hz=5ns。DDR2-533は、1秒÷266666666Hz≒3.75ns。つまり、DDR400の3-3-3-8は15-15-15(ns)、DDR2-533の4-4-4も15-15-15(ns)と同じで、CPUがメモリアクセスを行なったとき、最初のデータが出力されてくるまでの時間はDDRとDDR2とでは変わらない。
|
|
写真2 アイ・オー・データ機器のDDR2-533搭載(PC4300)モジュール「DX533-256M」。SAMSUNGチップを搭載しており、レイテンシは4-4-4-11と低レイテンシ。同一の本体で利用する限り、無期限で保証される。こちらも厳しい信頼性、互換性テストをクリアし、Intelのバリデーションを取得している。 |
もっとも、tRAS(ACTコマンドを出したあとデータを書き戻すプリチャージコマンドを送るまでの待ち時間)を含めると3-3-3-8、4-4-4-12となる。DDR400の8は40ns、DDR2-533の12は45nsと、tRASに関してだけはDDR400の1クロックぶん遅いので、同一バンクに対するアクセスが続く場合にはDDR2のほうが若干遅くなる。また、DDRはライトレイテンシが1固定、DDR2は「CASレイテンシ-1(CL=4なら3)」と6ns以上遅くなっている。リードに比べ重要度は格段に低いが、DDR2のほうが遅いのは事実だ。
ただ、DDR2には、コマンドバス/データバスを効率化するPosted CASというフィーチャーが導入されている。これは異なるバンクや異なる行アドレスへのアクセスが連続した場合に、行アドレスを指定するACTコマンドと列アドレスを指定するリード/ライトコマンドの競合を防ぐもの。tRASやライトレイテンシの遅さを十分にカバーできるフィーチャーといえる。
●表1 DDR400とDDR2-533の仕様比較
| DDR2-533 | DDR400 |
| DRAMコアクロック | 133MHz | 200MHz |
| 外部バスクロック | 266MHz | 200MHz |
| データ転送スピード | 533MHz | 400MHz |
| プリフェッチ | 4bit | 2bit |
| コア電圧 | 1.8V | 2.5V |
| I/O電圧 | 1.8V | 2.5V |
| その他 | ODT、OCD、Posted CAS | ―― |
|
メモリバスを高速化する理由
ボトルネックとなるFSB
さて、925X、および915P/915GチップセットではデュアルチャネルのDDR2-533をサポートすることでメモリ帯域を8.53GB/秒(デュアルチャネルDDR400では6.4GB/秒)に拡張した。これまでと異なる規格を採用してまでメモリ帯域を拡張する理由は何か。それはCPUが計算に使う命令もデータも、メモリから読み込むためである。いくらCPUが高速化し速く計算できるようになってもデータや命令が到達しなければ、CPUは待っているしかない。CPUが高速化する以上、メモリバスもそれに合わせて高速化していく必要があるわけだ。
●図2 ボトルネックとなるFSB
 |
925X、915P/915Gではデュアルチャネルメモリ帯域は8.53GB/秒へと向上したが、FSBは6.4GB/秒のまま。FSBがボトルネックとなって、メモリバスの高速化を生かしきれていない。 |
|
ところが、Pentium 4システムでは、メモリとの間にチップセット(ノースブリッジ)を挟む。つまり、Intelアーキテクチャでいう「メモリバス」とはメモリとノースブリッジの間に過ぎない。実際にCPUとメモリの間で高速にデータをやりとりするためには、CPUとノースブリッジの間(FSB)も同じように高速化しなければならない。Intelもこれまでは基本的にFSBとメモリバスはセットで高速化してきたのだが、今回はメモリバスだけが先行して拡張され、FSBの帯域は6.4GB/秒のままだ。そのためDDR2-533を使ってもDDR400からの高速化はあまり期待できない(図2)。
●表2 DDR/DDR2の各グレードとレイテンシの関係
グレード (1クロックあたりの時間) | リードレイテンシ(クロック) |
| 3 | 4 | 5 |
| DDR400/DDR2-400(5ns) | 15ns | 20ns | 25ns |
| DDR2-533(3.75ns) | 11.25ns | 15ns | 18.75ns |
| DDR2-677(3ns) | 9ns | 12ns | 15ns |
| DDR2-800(2.5ns) | 7.5ns | 10ns | 12.5ns |
|
なお、925Xは、915P/Gにはないメモリアクセス最適化技術が導入されている。875PのPATのように分かりやすい名前が与えられておらず、仕組みも異なるようだが、「メンテナンスコマンドを送ることでメモリアクセスを最適化する」という以外に十分な仕組みの説明がなされていない。マザーボードメーカー側にコピーされないための対策だとも言われている。
●3-3-3、4-4-4とは?
メモリのレイテンシのスペックはよく「4-4-4」「3-3-3」などと表記される。内訳はtCAS(CASレイテンシ)-tRCD(RAS to CASディレイ)-tRP(RASプリチャージタイム)。CASレイテンシのみを「CL=3」などと表記する場合も多い。
DDR/DDR2を含むSDRAM系のメモリでは、コマンドバスにACTコマンドを出してメモリのバンク(メモリの全領域をいくつかに分割したうちの一区画)と行アドレスを指定し、一定時間(これがRAS to CASディレイ)待った後に、列アドレスを指定するリードコマンドを出して、データを読み出す。このリードコマンドを出してから実際にデータが出力されるまでの時間がCASレイテンシである。
また、一度指定して読み出したメモリのバンクのデータは消えてしまうので、データを書き戻してやる必要がある。それが「プリチャージ」という作業で、RASプリチャージタイムは、プリチャージ(PRE)コマンドを出してから実際にプリチャージが完了するまでの時間だ。
なお、3-3-3の後に3-3-3-8などとして表記されることがあるtRAS(RASプリチャージディレイ、またはアクティブトゥプリチャージディレイ)は、ACTコマンドを出してからプリチャージコマンドを出せるまでの最短時間。ACTコマンドを出してからもう一度同じバンクに対して次のACTコマンドを出すまでには「tRAS」と「tRP」の合計時間待つ必要があるが、連続したアドレスを別バンクに割り振ることでプリチャージ時間の遅延を隠蔽するしくみ(バンクインターリーブ)によってカバーされている。
|
ベンチマークテスト
わずかな差は見られるが……
今回は、DDRとDDR2両方のスロットをもつGIGABYTEの915Pマザー「GA-8GPNXP Duo」を用意した。これを使って、DDR2-533とDDR400、およびDDR2-400との性能差を見てみたい。また、925Xと915P/Gとの差がどのくらいあるのかということを見るため、925XマザーとしてIntelの「D925XCV」、ASUSTeKの「P5AD2 Deluxe」を用意した。参考までにIntelの915Gマザー「D915GUX」の結果も掲載している。メモリのレイテンシはDDR2-533が4-4-4-12、DDR400は3-3-3-8。DDR2-400は、DDR2-533のクロックを落として使っており、レイテンシは3-3-3-9。
テストプログラムには、Sandra 2004 SP2、Science Mark 2.0β、PCMark04、SYSmark2002、3DMark03の5つを利用した。Sandra 2004とScience Mark 2.0β、PCMark04(MEMORY)はメモリバスの性能を、PCMark04(SYSTEM)とSYSmark2002、3DMark03はアプリケーションレベルでの性能がどれほどのものかを見るためである。
メモリ帯域を計測するテストだが、ノースブリッジからメモリまでの速度を計測してくれるような都合のいいソフトはない。実はこれらは結局CPUとメモリの間の転送性能を測るプログラムでしかないため、DDR2-533だろうとDDR400だろうと大きな差はでないのは当たり前。FSBよりもメモリバスの帯域に余裕があれば他のデバイスからの割り込みの影響を受けないですむので、そのぶんの差は確実に現れており、DDR2-533はDDR2-400やDDR400に比べると確実に高速だ。DDR2-400とDDR400の比較は微妙で、どっちが高速だともいえないような結果になっている。ScienceMark2.0βでは直接レイテンシが計測できるが、Sandraの帯域テストでもレイテンシは反映される。どちらにしても両者の間にはっきりとした差はない。アプリケーションレベルとなるとまったく差は表面化してこない。
一方、925Xと915P/Gの比較では、わずかではあるが、明らかに925Xのほうが高いパフォーマンスを示している。こちらはアプリケーションレベルでも(少しだが)効果が見られるようである。
●Sandra2004 SP2(メモリ帯域幅)
 |
DDR2-400とDDR400の差はほとんどない。DDR2-533はわずかにアドバンテージが見られる。925Xの最適化技術の効果も見られる。 |
|
●ScienceMark2.0β(Bandwidth)
 |
メモリ帯域を計測するベンチマーク。細かい違いはあるが、だいたいSandra2004と同じような傾向だ。 |
|
●ScienceMark2.0β(Latency)
 |
メモリのレイテンシを計測するテスト。DDR2とDDRの差はない。データ量が増えるほど925X搭載の2枚の成績が良くなっている。 |
|
●SYSmark2002
 |
GA-8GPNXP Duoを使った3通りはまったく差がつかなかった。ここでも925Xチップセットを搭載した2枚の成績が良くなっている。 |
|
●PCMark04
 |
MEMORYのスコアはSandraやScienceMarkと同じような傾向。しかし、総合性能を示すSYSTEMへの影響はごくわずか。 |
|
●3DMark03
 |
CPUにジオメトリ演算をさせるCPU Scoreでは925Xの優秀さが現れた。ゲームシーンのスコアでもわずかながら925Xの成績がいい。 |
|
●共通テスト環境
- CPU
- Pentium 4 560
- マザーボード
- ASUSTeK Extreme AX600XT/TD(RADEON X600XT)
- OS
- Windows XP Professional(SP1/SYSmarkのみ英語版)
- そのほか
- Direct X9.0b
|
正直、現段階でDDR2を導入するメリットはあまりに薄い。FSBが1066MHz化すれば、メモリバスとのミスマッチは解消されるが、当面FSB1066をサポートするのは、秋に登場するExtremeEdition、およびその後継となるPentium 4 720に限られる。一般ユーザーに関係してくるのは新チップセットが登場する頃かもしれない。
(鈴木 雅暢)
|