11. DIMMは本当に悪者なのか???


G3アップグレードしたPowerSurge系列のマシンでは、アップグレード後動作が不安定になったという話を少なからず耳にします。G3カードのみならずATA Hostadapterカードやビデオカードを増設したマシンではさらにその傾向が増す傾向にある様です。

そんな時のTipsとして

があります。結構これで安定する場合が多い様です。

で、結論として「70nmのDIMMが悪い!粗悪品のDIMMが悪い(^^ゞ」となるわけですが、ほんとにDIMMは悪者なのでしょうか??ちょっとDIMMが可哀想(*_*)
本日は、この辺りに関して、考えてみたいと思います。

ちなみにMobyの知識は付け焼き刃なので話し半分で聞いてネ(^^ゞ


PowerSurge系列のマシンに用いられるメモリーは、5V 168pinDIMM(Dual Inline Memory Module)でアクセスタイム(Tras)70ns以下のものとなっています。基本的にはFast-pageタイプでEDOタイプも使える様ですが注意が必要です。

で、PowerSurge系列用のDIMMとして売られているものは、基本的に上記条件を満たしています。実際、PowerSurgeの標準状態(604系CPU)でメモリー絡みのトラブルはあまり耳にしません。
となると、DIMMは悪くないんじゃないの?????との疑問が湧いてきます。

ではどうしてG3アップグレードを行うと不安定になるのか・・・・・

この辺りのことに関して掲示板に以前、磯部さんが書いて下さったので、そちらを引用します。
(間違った引用であれば指摘してくださいね----->>>磯部さん)

1.に関してはPowerSurgeのマザーボード設計時には604(e)を想定していた訳ですから、可能性としてI/O出力が不足してエラーを起こすことも考えられます。またノイズにも弱くなる(S/Nが落ちる)ことが考えられます。

2.に関しては・・・・・良く解らん(^^ゞ でも、CPUとメモリー間に余分な回路が加わることによりエラーが生じる可能性が高くなるのは間違いないでしょう(ちょっと説明が苦しいか(^_-)

これだけでもDIMMには無理をかけている可能性が高いです。でも上記はちょっとユーザー側で対策の打ちようがありません。アップグレードメーカーがどれだけ真面目?に設計しているかの問題でしょう。

3.は伝説の(^o^)Newerの美徳です。逆に言うとNewer Tech の旧製品以外はPowerSurgeのマザーボード設計を無視して無理をさせる仕様になっている可能性が高いです。
でも、この項目だけはユーザーが手を打てる可能性が残されています。

ここで3.の内容を手前味噌で解説すると。

PowerSurgeのCPUドーターカードはCLK-IDという形で、マザーボード上のメモリーコントローラーHammerheadにメモリー制御(メモリーウエイト変更)の為の信号を送っています。

バスクロックとCLK-IDの関係はTakさんの名著「Macintosh改造道」のP222に記載されています。

信号はCLK-ID0, CLK-ID1, CLK-ID2の3つで、それぞれ純正CPUドーターカード上のR49, R50, R51の実装・非実装で決められています。
実装される抵抗は0Ωの抵抗で、GNDに対しての回路になるため信号としてはGNDに落ちているか、浮いているかでCLK-IDは決定されます。

バスクロックとCLK-IDの関係は以下になります。
バスクロック CLK-ID0 CLK-ID1 CLK-ID2
-33MHz GND GND not-GND
34-40MHz GND GND GND
41-44MHz GND not-GND GND
45-50MHz GND not-GND not-GND

といった訳で、実質R50, R51の実装・非実装で4種類のバスクロックに対応する訳です。

ちょっと分かりにくいと思いますので、私の7600/132のCPUドーターで解説しますと

上の写真の様に、ヒートシンクがある側の向かって右側の端子から15-17番目の端子がCLK-ID0-2に相当し、それぞれR49-R51に繋がっているのが解ると思います。
7600/132のバスクロックは44MHzですので、CLK-IDはGND,not-GND,GNDとなり、抵抗としてはR49とR51が実装されています。
実際にテスターで当たってみますと、CLK-IDの0および2に当たる端子はGNDに落ちていました。

問題のG3アップグレードカードではどうなっているか???ですが、私の手許にはPowerLogixのPowerForceG3 350/175しかないので、そちらで検証することにします。

純正604eCPUカードとの比較で、CLK-IDに当たるPinは上記写真様になります。

まず明らかなのが、CLK-ID1と2に当たるpinがしっかり短絡させてあります。この状態ではCLK-IDを個別に制御することはできません。すなわち上の表を参考にしてもらえれば解る様に、34-40MHzもしくは45-50MHzのどちらかに設定されている訳です。さらにテスターで確認してみるとこれらのpinはGNDに落ちていました。
すなわちCLK-IDは34-40MHz設定になっている可能性が非常に高いです。

ちなみに、テスターでの測定はCPUカードを外した状態で測定しています。ですから、この状態でGNDに落ちているからといって、通電状態で絶対にGNDに落ちているとは言い切れません。また、CLK-ID0に相当するpinはGNDではありませんでした。私の知っている範囲ではCLK-ID0はGND以外の設定はないので???です(^_-)
CLK-ID0がどのような意味を持つのか調べてもみたのですが、私では調べ切れませんでした。
CPUドータースロットのpinアサインやメモリーコントローラーHammerheadの情報等がありましたら、是非教えて下さいm(__)m

以下、PowerLogixのPowerForceG3 350/175のCLK-IDは34-40MHzに固定されているという前提で話をすすめると。
バスクロックを50MHzで駆動させた場合でも、メモリーコントローラーであるHammerheadはCLK-IDを読み込んで、34-40MHzで駆動していると思い込みます。
しかしながら、実際はそれよりも25%以上速いクロックでメモリーアクセスが行われる訳です。
仮に40MHzの時に70nsDIMMでギリギリのウエイトに設定されていたとすると、単純に考えて70ns*75%の53ns以下のタイミングでDIMMにアクセスすることになります。これでは60nsのDIMMでさえアップアップです。

では、対策としてどうするか?????ですが、基本的にはCLK-ID1をGNDから浮かせることによってメモリーコントローラーを41-44MHz設定に、さらにはCLK-ID1,2を両方GNDから浮かせて45-50MHz設定にすることにより、より正しいウエイトでDIMMへのアクセスが行われる様になると思われます。

具体的にはどうするか?? 考えられるパターンとしては

等が考えられます。
実際にやられる方は、くれぐれも自己責任でどうぞ(^o^)

本来ならここで、ヒトバシラーな実験に突入するのが、ウエブマスターの正しい姿なのでしょうが、どうもMobyの7600+PowerForce350ではバスクロックが律速にはなっていない様なのです。
具体的にバスクロックとCPU動作クロックを組み合わせて、動作安定性を評価すると。
(ちなみにBackSideCacheはドライバーで殺してあります)

バスクロック(MHz) CPUクロック(MHz) 安定性
47.5 380 OK
50 400 OK
40 400 OK
42.5 425 OK
45 450 OK
47.5 475 不安定
50 500 起動せず

こりゃ、どう見てもCPUが律速でしょう。だから止めた・・・・・・(^o^)

といった訳で、実験してれば「Strengthen Macintosh」に書くのですが、あえなくコラムに転落です(^^ゞ
だれか、試して〜・・・・・・自己責任で(^o^)

追記(2000.12.21)

考えてみたらPowerForceG3はバスクロックを50MHz以上に設定できます。
そこで、今回のCLK-ID変更が効果があるか試してみました。

まず、比較のため標準状態(CLK-ID設定 34-40MHz??)のPowerForce G3 350/175で、CPU倍率はCPU動作クロックが律速にならない様7倍設定、BackSideCacheはOFFでバスクロックを変化させてみました。

バスクロック(MHz) CPUクロック(MHz) 安定性
47.5 332.5 OK
50 350 バスエラー

ん〜、なぜか今日はバスクロック50MHzで安定しません。なんで〜(^^ゞ
まあ、CLK-ID変更の効果をみる為には都合が良いので、ここは良し!としておきます。

では、今度はPowerForce G3 350/175のCLK-ID1および2に当たるpin表面にセロテープを張り付けて、スロットコネクターから絶縁させました。
写真を撮るの忘れちゃいましたが、右の写真の感じで張り付けてあります。

方法は、所定のpinをしっかり覆う様に張り付けて、良く切れるカッターで切れ目を入れて不必要な部分を取り除きました。
ドーターカードをスロットに差し込む時に、テープがめくれ上がることのないよう、下は長めに、できれば下のエッジに少しかかるくらいの方が確実でしょう。

この状態でCLK-ID設定 45-50MHzになっているはずです。
で、動作確認をしてみると・・・・・

バスクロック(MHz) CPUクロック(MHz) 安定性
47.5 332.5 OK
50 350 バスエラー

ありゃ〜〜〜〜なんで??(^^ゞ ちっともバスクロック耐性上がってません(^_-)

ただ、両方とも起動した47.5MHz*7倍の時のGauge PROによるMemory Performanceの結果を見てみると

PowerForce標準設定

テープ絶縁によるCLK-ID変更後

この結果を見る限り、テープ絶縁によるCLK-ID変更によりMemoryPerformanceが低下していますので、こちらの思惑通りメモリーアクセスウエイトは増加している様に見えます。

ちなみに、PowerForceの取り説では、バスクロックは2.5MHz刻みの設定になっているのですが、47.5MHz設定のバスクロックは実際には46.7MHzの様ですね。

といった訳で、どうもうまく効果を確認することはできませんでした(^_-)
私の7600では、DIMMがバスクロックの律速になっている訳では無いのかもしれません。


といった訳で、PowerSurge系列にG3アップグレードカードを装着した状態で、バスクロックを50MHzとかに上げた場合、悪さをするDIMMも決して悪い子ではなくふつうの子なのです。
付いてきてくれるのは良い子!!!!

なんか、欽ドンみたいになってきたぞ(^o^)

欽〜ドン! チャランラ〜チャランラ〜チャンチャン

「ややうけ」・・・・・・・・・・・・・・・・・・


2000.12.19


Go Top | Back