Last Modified at 1998/08/08.
Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る
|
●Pentium(P54C)を載せる |
Pentiumは AT互換機および PC-98 に最も多く採用されている CPUです。 この CPUは、ピンアサイン, 駆動電圧の観点から 3種類に大別されます('97/09/23現在)。
1つ目は 第1世代 Pentium(P5)とよばれるもので、駆動電圧は 5.0V, 供給する外部クロックと同じ 60/66MHzで動作しました。
2つ目は第2世代 Pentium(P54)と呼ばれるもので、駆動電圧は 3.3V(3.45V品も有り), 外部クロック(60/66MHz)のn倍で動作します(n=1, 1.5, 2, 2.5, 3)。 nは CPUの特定のピンを下表のように Hi(あるいは NC)または Lo(GND)にすることにより決定しています。
n倍速 | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 |
---|---|---|---|---|---|
Y33(BF0) | * | Hi | Lo | Lo | Hi |
X34(BF1) | * | Hi | Hi | Lo | Lo |
W33(BF?) | Hi | Lo | Lo | Lo | Lo |
*は Don't Care(Hi/Loどちらでも良い) |
3つ目は MMX機能搭載の Pentiumで、MMXテクノロジ Pentium(P55C)と呼ばれています。 駆動電圧は 2.8Vと 3.3Vの2系統になり、外部クロックに対する倍速設定が 3.0以上も指定できるようになりました。 ただし、現状ではロットによって設定が異なっており、 P54Cでいう 1.5倍速設定で 3.5倍速設定になる物とならない物があるようです。
初代Xa(PC-9821Xa)には第2世代の Pentium(P54C-90MHz)が搭載されています。 90MHz駆動なので外部クロックは 60MHz, CPUの倍速設定は 1.5倍(Y33=Hi, X34=Hi, W33=Lo)になっているはずです。 初代Xaよりあとに発売された機種は、 これらのピンを任意に設定出来るようにジャンパがついています(Xa7/9/10 の初期型にはジャンパが付けられるパターンがついています)が、 残念ながら、初代Xaにはこのようなジャンパはありません。自分で何とかする必要があります。 具体的には、
ゲタとして有名な物に、(株)メルコから発売されている MTC-40001がありますが、 残念ながら初代Xa非対応とされています。 実際、初代Xaにとりつけて見ましたが、1.5倍設定(つまり90MHz駆動)でも、 動作が不安定でした(下表参照)。
CPU\OS | MS-DOS | Win3.1 | Win95 | WinNT4.0 |
---|---|---|---|---|
P54C (90MHz品) |
プロテクトメモリに 頻繁にアクセスする プログラムで 「Parity Error -Base Memory」 |
起動中に ハングアップ |
起動中に ハングアップ |
起動中に リセット |
残る選択肢は1つ。CPUのピンに細工をして Y33(BF0) と X34(BF1) の2つの端子を任意に Lo(GND)に落とします。 この方法なら、信号に 歪み や 遅延 を生じさせないので、 あとは CPU信号のタイミングのみを問題にすれば良いわけです。 下図に、Pentium(P54C)における倍速設定ピンの具体的な場所を示します。
図: P54C Pin配置(CPU裏から見た図)
実物を見れば分かると思いますが、 ピンの間隔が非常に小さいので自由な配線が行なえません。 現実的な選択肢は、
P54Cを 3.0(2.5)倍速設定で使うためには以下の物が必要です。
必要な物が揃ったら、まずは 90MHzで起動実験を行います。
新しい Pentiumの動作確認ができたなら、続いてピンの細工にかかります。 下図を参考にして BF1ピンと GNDピンを導線でショートさせます(3倍速設定)。 絶対に他のピンとショートさせるわけには行かないので細心の注意が必要です。 ポイントとしては2ピン間を たすき掛けの要領で導線を引き回し、 他のピンとの接触を避けます。 無事、配線が終わったら、瞬間接着剤で「たすき掛けの中央部分」と、 「配線の終始点」の2ヶ所を固定します。
図: P54C 3倍速設定
これで 自作ODPができ上がりました。それでは、再び動作確認です。
CPU\OS | MS-DOS | Win3.1 | Win95 | WinNT4.0 |
---|---|---|---|---|
P54C (166MHz品) |
プロテクトメモリに 頻繁にアクセスする プログラムで ごく希に Parity Error -Base Memory」 |
起動するも AVIファイル再生時 ハングアップ |
起動するも DirectX使用時 ハングアップ |
起動中に リセット |
P54C (166MHz品) L2 Cache OFF時 |
正常動作 | 正常動作 | 正常動作 | 正常動作 |
P54C (166MHz品) PCI Parity Check OFF時 |
正常動作? | 正常動作? | 正常動作? | 正常動作? |
一般的に、外部クロックのn倍で動作する CPUは、どの駆動周波数においても、 外部との信号のやり取りのタイミングは、 全く同じであることが期待されています(というかそうでなければ動作しない)。 Pentiumにおいても、基本的にこのルールを守って作られていますが、 厳密には初代Xa発売時の Pentium(Step4のころ)と現在流通している Pentium(Step12)には バス周りのタイミングが微妙に異なっているようです。 このタイミングの違いが初代Xaで、90MHz以外の Pentium(P54C)が動作しない原因となっているのでしょう。 もともと初代Xaは、信号のタイミングに対して、 マージンの無いチップ構成になっていることは MTC-40001使用時の結果から明らかです。 一応、L2 Cacheを無効にすることで、 主な OSは安定動作するようですが、 せっかくの 180MHz駆動が台無しです。 そこで、無茶は承知で以下の推測をしてみました。
データ | 理由 | |
1. | (事実)ハングの原因はすべて Parity Errorである |
(事実)バス上のデータ取り込み時の Parity bitが不正である |
2. | (事実)L2 Cacheを OFFすると 安定動作する |
(推測1)バスにかかる負担が軽減するため? (推測2)Parity Errorは L2 Cacheで生じている? |
3. | (事実)PCI Chipsetに対して、 PCI Parity Error disable と指定しても安定動作している (ように見える) |
(事実)バス上のデータ取り込み時の Parityをチェックしなくなるので当然ですね |
4. | (伝聞)マザーボードの電源電圧を 昇圧させると安定動作する |
(推測)昇圧により信号の立ち上がりが急峻になり、 タイミングマージンが広がったため |
5. | (伝聞)マザーボードの外部クロックを 60→66MHzへ上昇させると安定動作する |
(推測)クロックアップにより Chipsetの温度があがり、 信号の立ち上がりが急峻になり、結果として タイミングマージンが広がったため |
もしかして、間に合ってないのは Parity bit だけなのでは?
もし、Parity bitが間に合っていないだけならば、 そのチェックを無効にしてしまえば、システムは動作します。 もちろん、システムの信頼性は明らかに低下しますが、 今日のパソコンは DRAM, SRAM(L2 Cache)ともに Parity無しが主流を占めるほど信頼性は上がってきています。 ここから先は、速度と信頼性のどちらをとるかによります。「割り切って PCI Chipsetに対して、PCI Parity Error disableを設定し、 Parityチェックを無効化することで速度を重視する」か、 「L2 Cacheを無効化して信頼性を重視し、もし、 異常(Parity Error)があれば即停止(ハング)する」か、のどちらかを選ぶことになります。 いずれにしろ、「いつ 間違った値で計算してしまうか、あるいは、 いつハングするか分からない」という大きなリスクを負うことには変わりはありません。 これが私の出した結論です。
込み入った話は長くなるので避けますが、 一般的な半導体回路では、 電源の昇圧 や ある程度までの動作温度上昇は信号の立ち上がりを急峻にします。 また、バスにおいて、もっともタイミングが厳しいのは 多段回路である Parity回路であり、 多段回路であるが故に、 信号の立ち上がりの影響をもっとも強く受ける部分でもあります。 私は回路屋では無いので、 本当のところは分かりません。 今のところ、「そう考えると説明がつく」という程度の物です。
結局、私は PCI Parity Error disableを設定し、 スピードを取りました。決める前には、 最もパソコンに負荷をかけると思われる WindowsNT 4.0で1週間ほど連続稼働させ、問題が生じないことを確認しましたが、 とても人に勧められるものではありませんね...。
参考までに、初代Xaより後に発売された機種についての、 CPUのクロックアップ記事を挙げておきます。
● | 第1回: 今度の98はここが違う! |
● | 第2回: 98をアップグレードする〜MMX Pentium編 |
● | 第3回: 98をアップグレードする〜P54C搭載機の高速化手法 |
● | 第4回: Pentium IIを300MHzで駆動する |
Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る このページの先頭へ戻る
●WinChip C6を載せる |
WinChip C6は IDT社の MMX Penitum互換CPUで、 一般的に Socket7用とされています。 幸い WinChip C6は 単一電源で動作するため VRMは不要ですし、 Socket7にしかないピンも使っていないため、 Socket5のマザーボードにも (動作する/しないは別として) 物理的には実装することができます。 また、IDT社の Webサイトには 「WinChip C6は、 Classic Pentium(P54C)を使用しているマシンのアップグレードとしても使用できる」 と載っています。 つまり WinChip C6は、ピンアサイン および 信号のタイミング 的には P54Cとほぼ同じであるということです。 ならば、同じ P54Cが載る Socket5のマザーボードでも WinChip C6が動作する可能性は高そうです。 というわけで、差し当たって問題となりそうな事は、 電源電圧 と 逓倍設定 の2つに絞れます。
|
まず、電源電圧についてですが、 初代Xaの CPU電源電圧は 3.3V固定ですので、 基本的には 3.3V版の CPUを購入する必要があります。 しかし、これがなかなか手に入りません。 現状では、高クロックな物は、品薄な上に 3.52V版しかないという状態です('98/08/08現在)。 今後の改善が期待されます。やむを得ず 3.52V版の CPUを使用する場合は、 最悪、本体の電源を調整(3.45Vまで昇圧)する必要が出てきます。
ピン\逓倍 | 予約 | 3.0 | 2.0 | 4.0 | 予約 | 5.0 | 4.0 | 予約 |
---|---|---|---|---|---|---|---|---|
Y33(BF0) | Lo | Hi | Lo | Hi | Lo | Hi | Lo | Hi |
X34(BF1) | Lo | Lo | Hi | Hi | Lo | Lo | Hi | Hi |
W35(BF2) | Hi | Hi | Hi | Hi | Lo | Lo | Lo | Lo |
■色付きの部分は普通 Socket5では指定できない (AMD社やIDT社にて定義された BF2を Loにできないから) |
次に CPUの逓倍設定についてです。 結論から言うと、ねらい目は 4倍速設定(BF2=BF1=BF0=Hi)です。 これは、BF2の信号を除けば、Pentium(P54C, P55C)でいう 1.5倍設定と同じです。 そして、BF2は Socket5系のマザーボードでは Hi(NCか Vcc)になっています。 初代Xaも例外ではありません。 ということは、もともと Pentiumの 1.5倍の設定になっている初代Xaは、何もしなくても WinChip C6の 4倍速設定になるわけです。 IDT社の この絶妙な逓倍設定定義には さすがとしか言いようがありません。 後発メーカなりに、よく勉強しているなぁと思うことしきりです。
今回の CPU交換に私が用意した物は以下の通りです。
基本的に、Pentium(P54C)を載せるの項の手順と同じです。 今回は、CPUをそのまま乗せ換えただけで 4倍速(240MHz駆動)になっているので 90MHz駆動での動作確認は省略します。 また、CPUに 3.52V版を使用する場合、 本来ならば Xa本体の電源を調整して電圧をあげてやる必要があるのですが、 マザーボード上の他のチップへの影響が心配だったので、電源電圧の昇圧は見送りました。 結果は以下の通りです。
CPU\OS | MS-DOS | Win3.1 | Win95 | FreeBSD(98) | Win98 |
---|---|---|---|---|---|
そのまま使用 | 正常動作? | 正常動作? | 起動するも DirectX使用時 希にハングアップ |
起動中 希に カーネル パニック |
(未確認) |
L2 Cache OFF時 |
正常動作 | 正常動作 | 正常動作 | 正常動作 | (未確認) |
PCI Parity Check OFF時 |
正常動作? | 正常動作? | 正常動作? | 正常動作? | 正常動作? |
ほぼ、P54C-180MHz換装時と同じような結果となりました。 使ってみた感じでは、「PCI ChipsetにPCI Parity Error disableを設定しなくても、 そこそこ動くなぁ」といったところです。 WinChip C6の P54Cとの互換性の高さが伺えます。一通り、動作確認が終わった段階で、 Windows98をインストールしてみましたが、 特に問題なく動作しています。
参考までに、EP82改さん作 HDDBENCHによるベンチマーク結果(演算結果のみ)を以下に挙げます。
|
WinChip C6は浮動小数演算性能が低いことで知られていますが、 本当に低いです(苦笑)。240MHzの WinChip C6が Pentium(P54C) 90MHzといい勝負です。 さすがは Intel、浮動小数演算は長い間 RISCチップ陣営と競争していただけあって、 後発メーカの追随を許しません。 浮動小数演算に関しては、しばらく Intelの独断場でしょう。 また、整数演算性能においても、クロック比ほど性能は上がっていないようです。 ただし、実際の使用感からすると180MHz(P54C)→240MHz(WinChip C6)の換装により、 確かに体感できる速度差があったことを追記しておきます。 特に DOSにおいてその傾向は顕著でした。 L1 Chache 32K化の恩恵ですね。
WinChip C6は、他の P54Cと同様 PCIの Parity Checkを 無効にしなければ安定動作しませんでした。 それでもこの CPUを載せるメリットは、
Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る このページの先頭へ戻る
TOP | Tech Data |
Support | Down Load |
Forum |