PC9821 Hardware Technical Data
− CPU −

Last Modified at 1998/08/08.


注意: このページに書かれている内容は TAKE52が独自に調査したものであり、 情報の確度については保証できません。 このページの情報に関しましては 各自の責任においてご利用下さい。 また、このページの内容についてメーカ等に問い合わせをすることはご遠慮下さい。

Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る


●初代Xaの Pentium(P54C)を載せ替える

結論からいうと初代Xaは CPUの載せ換えはできないと思った方が良いです。 以下は、初代Xaで Pentium(P54C)や WinChip C6 を動作させる方法ですが、 非常にリスクが大きいです。 安易には実行できないものであることに注意してください。

目次


●Pentium(P54C)を載せる

Pentiumとは

 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)にすることにより決定しています。

P54C倍速設定
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どちらでも良い)

蛇足ですが ODP(オーバードライブプロセッサ)と呼ばれる Pentiumはこれらのピン設定を無視して 固定倍速で動作するもので、本質的には通常の Pentiumと変わりありません。

3つ目は MMX機能搭載の Pentiumで、MMXテクノロジ Pentium(P55C)と呼ばれています。 駆動電圧は 2.8Vと 3.3Vの2系統になり、外部クロックに対する倍速設定が 3.0以上も指定できるようになりました。 ただし、現状ではロットによって設定が異なっており、 P54Cでいう 1.5倍速設定で 3.5倍速設定になる物とならない物があるようです。


初代Xaと Pentium(P54C)の関係

 初代Xa(PC-9821Xa)には第2世代の Pentium(P54C-90MHz)が搭載されています。 90MHz駆動なので外部クロックは 60MHz, CPUの倍速設定は 1.5倍(Y33=Hi, X34=Hi, W33=Lo)になっているはずです。 初代Xaよりあとに発売された機種は、 これらのピンを任意に設定出来るようにジャンパがついています(Xa7/9/10 の初期型にはジャンパが付けられるパターンがついています)が、 残念ながら、初代Xaにはこのようなジャンパはありません。自分で何とかする必要があります。 具体的には、

の方法が考えられます。マザーボードに細工するのはリスクが大きすぎるので選択肢から外します(マザーボード交換時の修理費は非常に高いのです、 そもそも、 マザーボードに改造を行なった物が修理してもらえるかどうかも不明ですが)。 ということで残る選択肢は2つとなります。


ゲタ(MTC-40001)を使う

 ゲタとして有名な物に、(株)メルコから発売されている MTC-40001がありますが、 残念ながら初代Xa非対応とされています。 実際、初代Xaにとりつけて見ましたが、1.5倍設定(つまり90MHz駆動)でも、 動作が不安定でした(下表参照)。

MTC-40001使用結果(1.5倍設定時)
CPU\OS   MS-DOS    Win3.1    Win95   WinNT4.0 
P54C
(90MHz品)
プロテクトメモリに
頻繁にアクセスする
プログラムで
「Parity Error -Base Memory」
起動中に
ハングアップ
起動中に
ハングアップ
起動中に
リセット

CPUはもともと本体についていた物を使用しているわけですから、動作しない原因は、 ゲタを使用することにより信号のタイミングが微妙に変わってしまったためと考えられます。 おそらく、ゲタによって 信号波形の歪み か 信号遅延 のどちらか、 あるいは両方が生じたのでしょう。 このことは、初代Xaは信号のタイミングが非常にシビアであり、 動作マージンがほとんどないことを示しています。


CPUのピンに細工する

 残る選択肢は1つ。CPUのピンに細工をして Y33(BF0) と X34(BF1) の2つの端子を任意に Lo(GND)に落とします。 この方法なら、信号に 歪み や 遅延 を生じさせないので、 あとは CPU信号のタイミングのみを問題にすれば良いわけです。 下図に、Pentium(P54C)における倍速設定ピンの具体的な場所を示します。
図: P54C Pin配置(CPU裏から見た図)
P54C_Pin_View
実物を見れば分かると思いますが、 ピンの間隔が非常に小さいので自由な配線が行なえません。 現実的な選択肢は、

の2通りでしょう。 幸い、初代XaのマザーボードのBF1は NC(ノンコネクト: どこにも繋がっていない)になっており、 このピンを GNDに落とすことによるマザーボードへの影響はなさそうです。 また、BF0ピンは 8.2KΩの抵抗を通じて 3.3V電源へ接続されているようです。 これだけ抵抗が大きければこのピンを GNDへ落としたとしても、 マザーボードへの影響はほとんどないものと考えられますが、それでも GNDに落とさないですめば、それに越したことはありません。 よって、BF1ピンのみを GNDへ落とす3倍速設定を目標とします。


用意する物

 P54Cを 3.0(2.5)倍速設定で使うためには以下の物が必要です。



実験

 必要な物が揃ったら、まずは 90MHzで起動実験を行います。

  1. ハードディスク(HDD)の内容をすべてバックアップします。
    OS起動中にハングアップすると最悪の場合HDDの再フォーマットを余儀なくされる場合もあります。データの消失という事態だけは避けたいものです。
  2. フロッピーディスク起動の OSを用意します。
    いきなり HDDから起動試験をするのは危険なので、フロッピーディスクで起動する OS(MS-DOSなど)で CPUの動作確認をした方が良いです。そのための起動ディスクを作成します。CPUのベンチマークソフトを入れておくのもいいですね。
  3. 本体の電源OFF後、CPUを取り外します。
    電源OFF直後は CPUが熱くなっているかもしれないので注意してください。
  4. C-bus, PCI-busに増設しているすべてのボードと HDD(E-IDE)のコネクタをすべて外します。
    CPUの交換作業時は何が起こるか分かりません。負荷が他の周辺機器に及ばないようにあらかじめ外しておいた方が良いです。
  5. 新しい Pentiumを本体に取りつけます。
    何も細工をしていない Pentiumはそのままでは90MHzで動作するはずです。まずは CPUの動作確認をしましょう。
  6. フロッピーディスクで動作確認します。
    本体の電源を ONし、空冷ファンが回っていること、メモリチェックが正常に行なわれていることを確認します。無事、フロッピーディスクから OSが起動したならば、とりあえず、90MHz動作に関しては OKでしょう。電源を切ります。
  7. 新しい Pentiumを本体から取り外します。

 新しい Pentiumの動作確認ができたなら、続いてピンの細工にかかります。 下図を参考にして BF1ピンと GNDピンを導線でショートさせます(3倍速設定)。 絶対に他のピンとショートさせるわけには行かないので細心の注意が必要です。 ポイントとしては2ピン間を たすき掛けの要領で導線を引き回し、 他のピンとの接触を避けます。 無事、配線が終わったら、瞬間接着剤で「たすき掛けの中央部分」と、 「配線の終始点」の2ヶ所を固定します。
図: P54C 3倍速設定
P54C_x3
これで 自作ODPができ上がりました。それでは、再び動作確認です。

  1. 加工済みの Pentiumを本体に取りつけます。
    ピンの回りに導線のクズが残っていないこと、他のピンとは接触していないことを確認してから、本体へPentiumを取りつけます。空冷ファンも忘れずに取りつけましょう。
  2. フロッピーディスクで動作確認します。
    本体の電源を ONし、空冷ファンが回っていること、メモリチェックが正常に行なわれていることを確認します。無事、フロッピーディスクから OSが起動したならば、とりあえず、第一段階は終了です。電源を切ります。
  3. C-bus, PCI-busのボード類, HDD(E-IDE)のコネクタを元に戻し、もう一度フロッピーディスクで動作確認をします。
    使用するすべての周辺機器に電源を供給しても CPUが問題なく動作するかどうかのチェックです。
  4. ここまで問題ないようなら、 ハードディスクから起動します。
    残念ながら、私の環境では下表の通りの結果となりました。問題なかった方はラッキーでしたね。お疲れさまでした。
3倍速設定 Pentium(P54C)使用結果
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駆動が台無しです。 そこで、無茶は承知で以下の推測をしてみました。

初代Xaのクロックアップ事情
 データ理由
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の温度があがり、
信号の立ち上がりが急峻になり、結果として
タイミングマージンが広がったため
すべての事由から1つの推測を導くことができます。 それは、

もしかして、間に合ってないのは 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のクロックアップ記事を挙げておきます。

小高 輝真 氏 著「いまどきの98」 ('97.09.23現在)
第1回: 今度の98はここが違う!
第2回: 98をアップグレードする〜MMX Pentium編
第3回: 98をアップグレードする〜P54C搭載機の高速化手法
第4回: Pentium IIを300MHzで駆動する


Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る このページの先頭へ戻る


●WinChip C6を載せる

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つに絞れます。

WinChip C6 電源電圧
種別動作保証電圧
3.52V版 3.45〜3.6
3.3V版 3.135〜3.6

 まず、電源電圧についてですが、 初代Xaの CPU電源電圧は 3.3V固定ですので、 基本的には 3.3V版の CPUを購入する必要があります。 しかし、これがなかなか手に入りません。 現状では、高クロックな物は、品薄な上に 3.52V版しかないという状態です('98/08/08現在)。 今後の改善が期待されます。やむを得ず 3.52V版の CPUを使用する場合は、 最悪、本体の電源を調整(3.45Vまで昇圧)する必要が出てきます。

WinChip C6逓倍設定
ピン\逓倍 予約  3.0  2.0  4.0  予約  5.0  4.0  予約
Y33(BF0)LoHiLoHiLoHiLoHi
X34(BF1)LoLoHiHiLoLoHiHi
W35(BF2)HiHiHiHiLoLoLoLo
色付きの部分は普通 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本体の電源を調整して電圧をあげてやる必要があるのですが、 マザーボード上の他のチップへの影響が心配だったので、電源電圧の昇圧は見送りました。 結果は以下の通りです。

4倍速設定 WinChip C6(3.52V-240MHz版) 3.3V駆動 結果
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によるベンチマーク結果(演算結果のみ)を以下に挙げます。

 HDDBENCH 設定 浮動小数演算   整数演算  
Ver.2.420WinChip C6
240MHz
6,27411,268
Ver.2.420Pentium(P54C)
180MHz
10,17910,938
Ver.2.292Pentium(P54C)
90MHz
5,0065,543

 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を載せるメリットは、

といったところでしょうか。 そろそろ入手しづらくなってきた P54Cの代替としても有効かもしれませんね。 今後、3.3V-240MHz版が安定供給されることが期待されます。


Tech PC98 Home(TOP)へ戻る Technical Data Pageへ戻る このページの先頭へ戻る


signature
TOP Tech
Data
Support Down
Load
Forum
Copyright(c) 1997-98 TAKE52
E-mail: take52@mxq.mesh.ne.jp