PLL張り替えチャレンジのページです。




愛機RvII26も、ITFを書き換えてIntelPentiumIII 1.1GHz Dualで動くようになりました。
しかし、PentiumIII 1.1GHz(100MHz×11倍)といってもベースクロックが66.6MHzなRvII26では、66.6MHz×11倍=732.6MHzでしか動いてくれません。
せっかく1.1GHzで動くCPUなのにこれではもったいないですね。

多くの方々は、この問題を克服するために水晶振動子を交換して高クロックを可能にしています。
一般的にPCの水晶振動子14.318MHzの物が使われていますが、これを16MHzの物などに交換するって感じですね。


しかし、これには大きな問題があります。
その問題とは、水晶振動子を高クロックの物と交換するとベースクロック(FSB)が上がると共にPCIクロック(BUS)も上がるのです。

なぜ問題か...それはPCIクロックが基本的に33.3MHzと決められていて、PCIスロットに挿すボードやオンボードのチップ(SCSIやLANなど)が33.3MHzで動くように設計されているからです。
たとえば、水晶振動子を14.318MHzから16MHzに交換するとベースクロックは74.423MHzとなり、PCIクロックは37.212MHzとなってしまいます。
33.3MHzで設計されている所に37.212MHzが流れるということは、まともに動かなくて当たり前、動けばラッキーですが、いつ壊れても不思議ではありません。

じゃあ、どうして最近のPC/AT互換機はベースクロック100MHzとかで動いているの??
それは、水晶振動子の14.318MHzからベースクロックに使う100MHz(66.6)やPCIクロックの33.3MHzを作り出しているPLLというチップ(Phase-Locked Loop)があり、RvII26のPLLがベースクロック66.6MHzしか出せないのに対してPC/AT互換機のPLLは100MHzや133MHzを作り出せる物が付いているからです。

ここからが大切で、ベースクロックとPCIクロックの関係は
RvII26の場合 66.6MHz:33.3MHz=2:1
互換機の場合 100MHz:33.3MHz=3:1  または133MHz:33.3MHz=4:1

つまり、一つの水晶振動子から出る14.318MHzから決まった割合(同期)でPLLがクロックを作り出せるようになっています。
ベースクロックとPCIクロックにそれぞれ水晶振動子とPLLを取り付けて動かしても、ベースクロックとPCIクロックがそれぞれ勝手に動いてしまうのでやり取りが出来ない状態(非同期)になってしまいますね。

前置きが長くなりましたが、水晶振動子とPLLの関係を理解して頂けたことと思います。

では実験です!
RvII26に付いているPLLは最高で2:1しか出せませんので、これを最高4:1まで出せる物と交換してみます。
RvII26に付いているPLLはIC-Works製 W49C65-12Hですが、会社が無くなったためデータシートが手に入りません。
代わりにピン互換なICS製 9147F-06のデータシート(こちら)を見ながらピン配列が似通っていて4:1出力可能な物を探しました。
今回は、探した中で一番近いピン配列の物 ICS製 9248F-55を使用します。

張り替えにあたって、各ピンの割り当て意味を知っておかないといけませんので簡単に説明してみます。
「REF」
水晶振動子から来るクロックを他のPLLなどに分け与えるための出力ピン
水晶振動子を二股に接続出来ないため、他のチップと同期をとるのに必要と思われる。

「X1」or「X2」
水晶振動子を取り付けるピン

「PCICLK」(W49C65-12HではBUS)
PCI(BUS)クロック出力ピン

「PCICLK_F」
PCIクロック出力ピンであるが、PCI_STOP信号が来ても止まらずクロックを出し続ける?

「VDD*」(*は数字)
電源入力ピン

「GND*」(*は数字)
要するにアース側

「FS*」(*は数字)
ベースクロック設定用ピン

「CPU_STOP#」(W49C65-12HではCPUEN)
CPUへのクロックを止めるかどうかのピン

「PCI_STOP#」(W49C65-12HではBUSEN)
PCI(BUS)へのクロックを止めるかどうかのピン

「CPUCLK」(W49C65-12HではCPU)
CPUクロック出力ピン

「IOAPIC」
REFと同じようなものだが、電圧が違うので専用となっているピン。

「SPREAD#」
変調(クロック信号にジッタを与えることで,放射電磁雑音のピーク値を下げる役目)

「SS_SEL」
SPREADの設定ピン

「PD#」
PLL自体を動かすかどうかのピン

では、実際に張り替えます。
注意することは、VDD*(*は数字)とGND*(*は数字)のグループ分けをしっかりしてやることです。
PLLにはそれぞれPowerGroupがありますので、電位差をなくすためVDD1とGND3をごっちゃにするという事はさけます。
ピン配列の近い物はPLLの足を曲げて取り付けます。
どうしても届かない物に関しては、基板上のチップ抵抗手前に接続します。
チップ抵抗の場所ですが、今回の実験でPLL張り替えを行った基板「G8YDL D16」とシルク印刷されている物の配線を調べて見ました。
BUS1 ID4
BUS2 ID6
BUS3 ID9
BUS4 ID3
BUS5 ID10
BUS6 ID8
BUS7 ID5
BUS8 ID1orID2

CPU1 2D21
CPU1 2D27
CPU1 2D28
CPU1 2D29

同じRvII26でも、前期型と後期型で配線パターンが違う物が存在しますので、上記はあくまで参考程度とし、実際に調べて下さいね。



クリックで拡大
左の写真がPLLの張り替え後の写真です。
FS(ベースクロック設定用)SPREAD(変調)とSS_SELをジャンパーピン化して設定可能にしています
PLLの47番ピンはSS_SELとREF2を共有していますが、これは電源投入時のみにSS_SEL(IN)として動き、その後はREF2(OUT)として14.318MHzを出力するようになっています。
今回はREF出力いらないので、SS_SELとしてのみ配線してあります。


まずはジャンパーピンで66.6MHz(2:1)にして電源オン!
ぴぽ! おお!無事に起動出来ました。

続いて100MHz(3:1に設定して電源オン!
何も言いません...(T_T)
4:1でもダメでした... 水晶振動子を10MHzの物に交換(ダウンクロック)してもダメでした...
モニターに出力が行っていませんので、RvII26に使われているChampion 1.0チップセット(現ServerSet I)が2:1にしか対応していない可能性が大です。
Champion 1.0チップセットに非同期設定があればなんとかなるかもしれませんが、データシートが手に入らないのでどうにもなりません。

ということで、今回の実験は見事に失敗です。
しかしながらまだあきらめていませんので、こうしたらってご意見がありましたら宜しくお願い致します。




GOホーム