nForce2搭載M/Bを|・ω・`)ヒソーリ語るスレ

このエントリーをはてなブックマークに追加
642Socket774
nForce2のデュアル・メモリ(コントローラ)動作につて
いろいろと情報が飛び交っているようなので,nVIDIAの資料から考察してみた.
少し長いが参考にして欲しい.

NVIDIA Technical Brief
"NVIDIA nForce IGP TwinBank Memory Architecture" より
-----------------------------------------------------------
ツイン・バンク・アーキテクチャは高い構成自由度と容量拡張性,
機能拡張性を実現する設計である.これは次のような技術的な利点を有する.

1. 64ビットあるいは,128ビットでの動作.
64ビット・モードではDIMMはメモリ・コントローラ1(MC1)あるいは,
メモリ・コントローラ2(MC2)のいづれか一方に挿すことができる.
128ビット・モードでは,MC1(DIMM0)とMC2(DIMM1/DIMM2)両方を利用する.

2. 2つのコントローラは機能的に同等であり,全ての制御および
タイミング・パラメータをそれぞれ独立にプログラムできる.
すなわち,異なるメーカ,容量,速度というようなDIMMの不整合な組み合わせで
MC1とMC2を使用でき,さらに128ビットメモリシステムとしての
完全な性能面での利点がそのまま得るられる.

3. 3.3V 標準SDRAM,または,2.5V DDR SDRAMをサポート.

4. 133/100MHz DDR(266/200MHz)SDRAM,または,
133/100MHz 標準SDRAMクロックをサポート.

5. 1〜3枚の非バッファ,非ECC DIMM をサポート.

6. 64, 126, 256, 512Mビットチップ x8 および x16 のチップ構成をサポート.

7. 64MBから1.5GBシステム・メモリをサポート.

8. 128Mビット・ツイン・バンク・アーキテクチャの利点を維持したまま
半端な総メモリ容量の構成,たとえば 64MB + 128MB = 192MB,をサポート.

--------------------------------------------------------------
643642:03/02/16 02:45 ID:Nu4OOtTi
デュアル動作について

1.にある通り,MC1とMC2両方にDIMMを挿すことで自動的にDual動作になる.
注意しなければならないのは,ボードメーカによって基板シルクでの
スロット表示が上記NVIDIAの表記と異なる場合がある点である.
見分け方としては,MC2は2スロットの信号線を共有するので,
スロットの間隔が狭いが,MC1はMC2とは別に信号線を引き回すので
ひとつだけ間隔が広くなるというパターン設計上の配置の違いだろう.
(MCやDIMMの番号表記はNVIDIAの資料でもまちまちである.)
644642:03/02/16 02:46 ID:Nu4OOtTi
メモリ・バンクについて

メモリ・バンクとは,メモリのグルーピングを表すための表現であるため,
機能,動作などによりどのようにグルーピングするかでその意味が異なる.
ツイン・バンクのバンクとは,メモリコントローラが取り扱うメモリの組を
称するようである.
すなわち,MC1の1枚のメモリで1バンク,MC2の1枚または2枚のメモリを1バンクと
いう構成でデータを取り扱うということを意味する.
おそらく,Intel i840, i850でのデュアル(チャンネル)メモリとの区別を
明確にするためかと想像する.
よく言われるバンクはDIMM1枚でのデータ幅とチップ構成についての
グルーピングであり,nFoeceのデュアル動作には関係はない.
さらにたちが悪いのが,ABIT NF7-Sのマニュアルなどでは,
バンクをRow Address Strobeの意味で使っている.
このため,DDR DIMM1 = バンク0,バンク1などという記載がされていて
問題をより複雑にしている.こちらもデュアル動作とは関係はない.
実際,2.や6. 8. にあるように速度や実装形態によらず
タイミング条件を満足すれば次のような例できちんと動作する.

M/B NF7-S,768MBシステムメモリ
Athlon XP 1700+ FSB166x10
DIMM3(MC1)=PC3200 256MB 片面
DIMM2(MC2)=PC2100 256MB 両面(OC動作)
DIMM1(MC2)=PC3200 256MB 片面
FSB/MCLK=4/4
Memory Timings = Tras6-Trcd3-Trp3-CL2.5
起動画面 DDR DIMM at ROW 表示 = 0 1 2 4
645642:03/02/16 02:47 ID:Nu4OOtTi
DDR400 DIMMの2枚制限について

技術資料には2つのメモリ・コントローラは機能的に同等とあるが,
MC2は2枚挿入時にDIMMを切り替える必要がある.
したがって,この切り替えが入るため,常時選択されているMC1側メモリと異なり
動作クロックが高速になるとMC2側はデータのセットアプが
タイミング的にきつくなる.これがDDR400での枚数制限になったと推察する.
DDR400でもMCLKを下げて使えば3枚挿しでも動作するだろう.

そのほか,なぜnForceがVIA, SiSなどに比べタイミング的に厳しいかとか
FSB/MCLK同期の必要性,CLの隠蔽効果,実効帯域が論理値2倍より低い理由などは,
このアーキテクチャがクロスバ・スイッチによるメモリ(バンク)共有であること
考えれば推察できる.
英文であるが技術資料を一読することを薦める.
http://www.nvidia.com/view.asp?PAGE=nf2_tech
646Socket774:03/02/16 03:35 ID:uC0kRxN3
>>644
なるほど、タメになります。下から3行目のFSB/MCLK=4/4ってのはPC3200を
DDR333で動かしてるってことですよね。やっぱDDR400はダメなのか・・・
そう思ってnVIDIAの英文技術資料に目を通したら6ページ目の最後に
やっぱCPUのFSB166にメモリDDR400ってのはダメだよんみたいなことが書いて
あるっぽい(多分。英語それほど得意じゃない)。
647645:03/02/16 04:52 ID:Nu4OOtTi
>>646
例に上げた設定は,手持ちもDIMMを使った組み合わせから
nFoce2の特徴を理解してもらためわざとトリッキーな設定を選んである.

さて,質問に関してだが,CPU FSB=166のときに,DDR400を200MHzで使うためには,
FSB/MCLK = 5/6(199.2MHz) のような非同期設定となるので,
性能が出ないと言う意味である.使えないと言う事ではない.
技術資料ではペナルティーを払うという表現をして,
このようなFSB/MCLK非同期の使い方は薦めていない.
これは,CPUからのメモリアクセス時に両者のタイミングが同期していないと
歩調を合わせるために余分なウェイトを入れなければならなくなるためである.

雑誌の評価記事でこのことを理解していないでテストしたため
DDR400とDDR333の性能が逆転した結果を掲載しているものがあるが,
DDR400でもCPU FSB=200MHzでCPU倍率を下げればちゃんと動作する.
実際,私は普段以下のような設定で使っている.

1700+@FSB200MHz x 8
DIMM3 PC3200 256MB
DIMM2 PC3200 256MB
FSB/MCLK=4/4
Memory Timings = Tras7-Trcd3-Trp3-CL2.5

バルクメモリなのでタイミング的には緩めにしないと動作しないが,
Corsairあたりの動作確認済み選別高級品ならSPD設定で
6-2-2-2のタイミングでちゃんと動いているらしい.

デュアル動作について,動作することと性能が出ることを混同してはいけない.
>>644 の例でも上記設定でもデュアル動作しているが,
当然のごとく上記設定の方が性能は出ている.