第9回・RaII23等の「II」系マシンにセレロンをつける!


事の始まりは、Celeron333を買ってしまったことにあった(※1)
早速家に買って、取り付けてみる。
ところが・・・、ディスプレイには

CACHE ERROR (※2)

との無情なメッセージと「ぴー」という物悲しい音が鳴り響いた。

なんと、RaII、RvIIなどの「II」系マシンでは、Oldコア(2.8V)(※3)のPentiumIIしか、
受け付けないのである。

そこで、さっそくこのエラーの原因を調査すべく、Project−ITFHacker(※4)を発動させた。

まずITF(※5)を抜き出すべく、リセットベクタから追っていき(※6)、抜き出しに成功。
今回は、ITF>BIOSに再び変換できたので、DISKBIOSを書かずにすんだ(※7)。 さっそく解析。

結果、なにやら怪しげな巨大なチェッカが判別しており、「これだけ厳密にチェックされてはそりゃ引っ掛かるわな」(※10)
といった内容であった。

そこで、BIOSアップデートディスクを作成することにした。
ESC+HELP+8キーを押しながら、電源ONまたはリセットを行うと、アップデート画面が表示されるのだ。
ここで、アップデートディスクを挿入すれば書き換えられるというからくり。
そのため、このルーチンを解析してみることにした。

がびーん。ESC+HELP+8でBIOSアップデート画面が表示されるのだが、実はこれ、BIOSアップデート
プログラムローダーに過ぎなかった事が判明した。
つまり、アップデートプログラム自体は、マシンに入っておらず、余計なOSなどを読み込まずに書き換えルーチンを
起動させるために用意された機能なのだ。(コンベンショナルメモリを512Kくうためかも)
そこで、フラッシュメモリを見てみると、やっぱり基板直付け。

しかたなしに、半田ごてによるBIOSチップの取り出しを敢行し、ROMライタにかけるべく、改造をおこなった。

技術協力(というか実質半田ごて担当):SNOWMAN

これが内容を読み出すために改造されたROMである。
フラットパッケージを、DIPソケットに配線し直してあるのだ。
少し力を入れればとれてしまうような状態である。
そして、基板上にゼロプレッシャソケット(※8)を搭載し、そこにチップを載せることにした。

ゼロプレッシャソケットを搭載して、そこにチップを載せた(※9)

そして、これがせれろんである。

実際に乗っているところを後ろから。Cバスライザーカードを抜いてある。

さて、気になる性能であるが、どうやら初期状態では、2ndキャッシュがONにできていない
らしい。
ここをOnにするためには、BIOSを書き換えればいいのだが、その最適な設定については、まだ
模索している段階である。

現在の性能

★ ★ ★ HDBENCH Ver 2.610 ★ ★ ★
使用機種
Processor Pentium II 333.7MHz [GenuineIntel family 6 model 6 step 0]
解像度 1024x768 65536色(16Bit)
Display GA-VDB16シリーズ
Memory 129,416Kbyte
OS Windows 95 4.0 (Build: 1111) B

SCSI = MELCO Ultra SCSI IFC-USP
HDC = スタンダード IDE ハード ディスク コントローラ
HDC = IDE-98 Fast IDE Controller(PnP Mode)

A = GENERIC IDE DISK TYPE00
B = WDC AC38 400B Rev 32.0
CD = SDAT_HD IBM-DTTA-350840 Rev T55O
E = GENERIC NEC FLOPPY DISK
F = PLEXTOR CD-ROM PX-32TS Rev 1.03

ALL 浮 整 矩 円 Text Scroll DD Read Write Memory Drive
18073 27675 21063 35502 14682 26111 1255 75 9760 8540 16564 C:10MB

続く!

※1
つい購入してしまった。1万円という値段も効いたかもしれない。
このとき、RaIIなどの「II」系マシンにデシューツコアPentiumIIやCeleronが載せられない
ことを知らなかったのだ。
もしこの時、それを知っていたのなら、今回の改造に踏み切ることはなかったであろう。

※2
このエラーは、どうやらCPUのステップ等にも関係している。
内部では、何やら怪しい処理が行われているのだが、残念ながらIntelと機密保持契約
を結ばねばわからぬ処理なので、不明。ただ、やたらとでかいチェックルーチンである。

※3
ちなみに、電圧については、VID(ボルトID)を調べて自動的に電圧を調整しているようだ。
この機能は、CPUに電力を供給しているICに搭載されている機能なので、利用できるのであろう。
実際にテスタで、電圧を測ってみた人もいて、2.0Vが供給されていたとか。

※4
いやちょっと、攻殻機動隊をみたもんで・・・

※5
Initial Test Firmwareの略。起動時ハードウェアテストのことである。(BuildInSelfTestともいう)
なぜこの名称がつかわれているかは、起動するときにキーを押しながら起動したときのメッセージがこれだからだ。

※6
詳しい内容は、「えらこれ」を参照。

※7
ソフトリセットマシンでは、ホットスタートが使えなかったのが問題であった。

※8
ゼロプレッシャソケットとは、差込、抜き出しに力が要らないソケットのことである。
最近のCPUのSocketであるSocket5や7等でおなじみであると思う。 これらは、ゼロプレッシャソケットの仲間である。
何回も抜き差しすることを考えると、これくらいは必要であろう。

※9
ちなみに、高さは限界に近い。この上にMATE−XPCMを載せた基板があるためである。
使用中はROMの上が接触しているが、問題ないであろう。

※10
実際には、本格的なチェックにいく前の段階、キャッシュの搭載状態などで、返ってくる値が
違うためにはねられているのだ。




第10回・続RaII23等の「II」系マシンにセレロンをつける!


さて、前回起動に成功したものの、その性能が発揮できていない状態であったが、今回いくらかその性能を
発揮できるようになったので、その報告と、改造に必要な情報を提供しようと思う。


・BIOSの書き換え
 今回はソフトウェアオンリーで書き換えることを断念したので、ハードウェアの改造が必要である。

準備するもの
・せれろんなど、新コアを搭載したCPU
・書き換え用フラッシュROM 28F020など
・ゼロプレッシャソケット 32ピン以上
・DIPソケット 32ピン
・はんだごて
・細いテフロン線
・両面テープ付き絶縁ゴム
・ROMライタ

まず、基板上からフラッシュメモリをはずす。
フラッシュメモリは、なにやら上にシール(※1)が張ってあるチップである。

別の基板の写真だが、中央右寄りのチップ。上にシールが張ってある。

このチップから、内容を吸い出すべく、チップの規格表かpdfファイル(※2)をダウンロードしてきて、
使用するROMライタで、読みだせるROM形式にDIPソケットを使って変換する。

上がもとからついていたチップ。下がDIPソケットである。
もっといいデジカメほしいなぁ・・・
 >借りてきました

読み出したファイルが262144バイトであり、チェックサム(※3)が0ならば成功である。
なお、28F200は16ビット接続可能なチップであるが、基板上のパターンを見ると、8ビット
読込みしているのがわかる。
この時、チップにはA0〜A17しかなく、1ビット足りない。
そこで、データシートを見ると、8ビット接続時にはD8〜D15は使用されないので、D15/A−1
という記述が見つかると思う。
実は、A−1は、A0の一つしたのAマイナス1という意味(※4)なのだ。
これを間違えたりすると、2バイト同じデータが読み込まれてしまい、奇数アドレスのデータがなくなって
しまうので注意されたし。

取り出したところには、用意した代替チップを載せるため、そのピン接続にあわせた配線を行い、ゼロプレッシャソケット
を搭載する。この部分は、今回の位置とずらしたほうがいいと思われる。
今回の位置は、真上にPCMボードの基板がくるため、スペースに余裕がないからだ。(2.5cmくらい)
PCMボードは、Cバスの半分程度のサイズしかないため、その横の部分は金属板で覆われている。
この部分を切り取るかどうかすれば、PCMボードを抜かずに、また、ソケットのサイズを気にすることなく
ソケットを取り付けられるので、取り付けるレイアウトを考えてからのほうがいいかもしれない。


そしてセレロン(※5)をのせる。 このとき、温度センサーはつけなくてもかまわないらしい。FANは3本線がついており、回転状態を
知らせるタイプであり、一番上のピンがそれである。マザーボード上にはそれをつける部分がないので、
2本をつけるだけでかまわないはずだ。もとからついていたケーブルを見て、黒いケーブルと、今回の
黒いケーブルをあわせる。ソケットにそのままでは入らないので、ケーブルのソケットの端を切り取って
入るようにした。

そして、搭載するITF&BIOSには、パッチを当てる。

(※パッチ内容については、次回)
サムチェックした状態。転がっているBINファイルはパッチROMである^^;
合計が0になっている。


全部を搭載した状態で起動し、「ぴぽ」音がなれば成功である。
ならないときは、ITF&BIOSのチェックサムが間違っているか、接続がおかしい、ROM化け(※6)
しているかのどれかである。


L2の性能を計測した結果を出してみる。

Cache Memory Benchmark ver4.11 Copyright Softhouse333


・PenII266

[Processor]
Frequency : 265.891MHz
CPUID(0) : GenuineIntel
CPUID(1) : Type 0, Family 6, Model 3, Stepping 3
CPUID(1) : Intel Architecture MMX technology supported
[Code Cache]
L1 Hit RD: 1.883ns/48bit, 3185.563MB/sec, 0.501clk
L2 Hit RD: 15.610ns/48bit, 384.371MB/sec, 4.151clk
L2 Miss RD: 90.001ns/48bit, 66.666MB/sec, 23.931clk
[Data Cache]
L1 Hit RD: 3.788ns/32bit, 1055.862MB/sec, 1.007clk
L1 Hit WR: 3.764ns/32bit, 1062.716MB/sec, 1.001clk
L2 Hit RD: 7.991ns/32bit, 500.570MB/sec, 2.125clk
L2 Hit WR: 14.724ns/32bit, 271.673MB/sec, 3.915clk
L2 Miss RD: 24.966ns/32bit, 160.219MB/sec, 6.638clk
L2 Miss WR: 24.943ns/32bit, 160.366MB/sec, 6.632clk

・RaII333の覚醒前である。 前回までの設定
(紙に書いたやつしかないので、あちこち抜けている)

[Processor]
Frequency : 332.384MHz
CPUID(0) : GenuineIntel
CPUID(1) : Type 0, Family 6, Model 6, Stepping 0
CPUID(1) : Intel Architecture MMX technology supported
[Code Cache]
L1 Hit RD: 1.507ns/48bit, 3982.187MB/sec, 0.501clk
L2 Hit RD: 33. ns/48bit, . MB/sec, . clk
L2 Miss RD: 37.617ns/48bit, 159.501MB/sec, 12.503clk
[Data Cache]
L1 Hit RD: 3.031ns/32bit, 1319.905MB/sec, 1.007clk
L1 Hit WR: 3.011ns/32bit, 1328.472MB/sec, 1.001clk
L2 Hit RD: 24.971ns/32bit, 160.184MB/sec, 8.300clk
L2 Hit WR: 71. ns/32bit, 55. MB/sec, . clk
L2 Miss RD: 24.971ns/32bit, 160.184MB/sec, 8.300clk
L2 Miss WR: 71. ns/32bit, 55. MB/sec, . clk

・一応、性能を発揮できる設定を行った、RaII333である。

[Processor]
Frequency : 332.384MHz
CPUID(0) : GenuineIntel
CPUID(1) : Type 0, Family 6, Model 6, Stepping 0
CPUID(1) : Intel Architecture MMX technology supported
[Code Cache]
L1 Hit RD: 1.507ns/48bit, 3982.187MB/sec, 0.501clk
L2 Hit RD: 37.636ns/48bit, 159.420MB/sec, 12.510clk
L2 Miss RD: 37.617ns/48bit, 159.501MB/sec, 12.503clk
[Data Cache]
L1 Hit RD: 3.031ns/32bit, 1319.905MB/sec, 1.007clk
L1 Hit WR: 3.011ns/32bit, 1328.472MB/sec, 1.001clk
L2 Hit RD: 24.971ns/32bit, 160.184MB/sec, 8.300clk
L2 Hit WR: 27.551ns/32bit, 145.187MB/sec, 9.157clk
L2 Miss RD: 24.971ns/32bit, 160.184MB/sec, 8.300clk
L2 Miss WR: 24.947ns/32bit, 160.342MB/sec, 8.292clk

せれろんのL2は、フルスピード・ライトスルー・128KBなので、
やや、ベンチ上では劣るところが出ている。


現在の性能

★ ★ ★ HDBENCH Ver 2.610 ★ ★ ★
使用機種
Processor Pentium II 332.6MHz [GenuineIntel family 6 model 6 step 0]
解像度 1024x768 65536色(16Bit)
Display GA-VDB16シリーズ
Memory 129,412Kbyte
OS Windows 95 4.0 (Build: 1111) B

SCSI = MELCO Ultra SCSI IFC-USP
HDC = スタンダード IDE ハード ディスク コントローラ
HDC = IDE-98 Fast IDE Controller(PnP Mode)

A = GENERIC IDE DISK TYPE00
B = WDC AC38 400B Rev 32.0
CD = SDAT_HD IBM-DTTA-350840 Rev T55O
E = GENERIC NEC FLOPPY DISK
F = PLEXTOR CD-ROM PX-32TS Rev 1.03

ALL 浮 整 矩 円 Text Scroll DD Read Write Memory Drive
25119 23277 21163 71563 20079 47141 501 75 9807 7424 16736 C:10MB

小数点の演算が大幅に下がってしまっているのが気になるが、これは設定がまだ甘いためだと思われる。
この部分については、また次回。


※1
このシールには、基板の型番が書かれていることが多い。
たとえば、G8VWVマザーボードならば、’82VWVなど。
しかしながら、基板がほとんど変わらないマザーボードなどだと、同じ型番のBIOS
を使いまわしていることがおおいのだが。
VWVマザーに載っていた、フラッシュの上にはVSUのシールがはってあった。(一応VWVバージョンもある)
BIOSリビジョンが0.02のものであったが、VWV版は、多分0.03くらいになっていると思われる。 ちなみに、0.02と0.03の違いは、1個所だけであった。
0.03はPen166くらいのマシンで採用されているらしく、将来的に高速になったときのための保険程度の
変更であったと思われる。それでも、MMX化のときには大幅に変更しなければならなかったのだが。

※2
おそらく使われているチップは、Intel製かAMD製の「28F200」と呼ばれている
チップであると思う。
両方とも基本は変わらない。それぞれのサイトから規格表をダウンロードできるはず。
余談であるが、このチップは16ビット接続もできるものなのであるが、98では8ビット接続
されていた。
また、アクセススピードは、80ns〜120ns程度のものがついているようだ。
一応、150nsのチップでも動作には問題がなかったことを付け加えておく。
なお、このチップの容量は2Mである。(256Kバイト)

※3
チェックサムがあちこちにあるようなので、これらのチェッカを全部つぶすよりは、あわせたほうが簡単
である。
偶数アドレスのデータ全部、奇数アドレスのデータ全部を、それぞれ加算すると、下位8ビットが「0」に なるようになっている。
よって変更した場合は、どこか空きエリアを変更して0にあわすようにしなければならない。(偶奇数アドレスともに)
このサムが間違っていると、起動すらしないので注意。

※4
Aハイフン1ってなんだ?
とか、最初に思っていた。なかなかに難しい。
ところで、データシートには、Notes(多分注意書き)とか書いてあるのだが、その中に、
Legendというのがあった。
「伝説」ってわけじゃないだろうし、何であろうか(^^;
もちろん調べればいいわけだか、別に見出しは読まなくてもいいので、ほったらかしてある。

※5
バルクよりも、箱入りを買ったほうがいいであろう。なぜなら、最初からヒートシンク+山洋ファンが
ついているからだ。これだけでも3000円はするので、絶対お得である。
余談であるが、今回つけたCeleron333は、もとからついていた、PenII233(266動作させている)
よりも発熱がすくない。ファンをまわした状態では、長時間使用してもぬるい程度であった。

※6
チップのWE(ライトイネーブル)は、負論理であるためプルアップなどの処理をしておくことをお勧めする。
最初、きちんとしてなかったため、ROM化けしてしまった。





第11回・続続RaII23等の「II」系マシンにセレロンをつける!


よく考えたら、この「続続」とかって「3匹が切る!」なんだなぁ。
そのうち、にゅーとかになるのかな。

閑話休題

さて、今回はBIOSのパッチの当てる場所と、その具体的な内容について書こうと思う。

問題になっているチェッカは、「CACHE ERROR」を表示している部分であり、
改造はここをはずすことになる。(※1)
まず、「CACHE ERROR」を表示している部分を、探すことになる。
エラーメッセージは、後半部分に固まっているのだが、どうやらこのチェッカは後から付け足した
らしく、別の場所にぽつんと置いてあり、エラーメッセージも一緒になっている。(※2)

チェッカの先頭部分である。

先頭部分には、CPUが「Intel」製であるかどうかを判別する定石なコードが書かれている。
xoreax,eax
cpuid
cmpebx,756e6547h
jnzfaild
cmpecx,6c65746eh
jnzfaild
cmpedx,49656e69h
jnzfaild
(だいたいこのような感じである。サーチ方法としては、CPUID命令を探して、その下を見れば、
GenuineIntelチェックしているので、一発で発見できると思う)


CPUID命令によって、ベンダ名を取得し、「GenuineIntel」かどうかを判別している部分である。(※3)
この次にL2コンフィグレーションレジスタを操作して、L2キャッシュをテストし始める。(※4)
実際には、このテストの前に、搭載状況をチェックしており、そのときに返ってくる値が違うため、キャッシュのテストに
移行する前にエラーとしてはじかれてしまう。

・流れ
「Intel]チェック > キャッシュ搭載状況チェック > キャッシュテスト

まず、このエラーを許可してしまうために、以下のようなコードを用意した。
3B6F7f8clc
3B6F8c3ret
かならず「エラーでない」を返すコードである。(アドレスは一応チェッカの部分)
しかしながら、これでは問題が発生することが判明した。
この内部は、チェックだけしか行われていないと思っていたのだが、設定も一部行われているようだ。
この状態で起動すると、今ひとつ切れが感じられない、微妙な状況になってしまうのだ。

そのため、搭載状況チェックをはずした。すると、その直後の処理でハングしてしまう。
その直後の処理もキャンセル、すると今度は「CACHE RAM ERROR」とでて、ファーストキャッシュが
きられてしまった。この状態での動作は非常に重たい(※5)

そこで、オリジナルBIOSで起動後、PentiumIIのL2コンフィギュレーションレジスタの内容を取得してみた。

PenII設定内容:00044501h
必ず正常終了:0100042ah
せれろん設定内容:0134052bh

「PenII設定内容」は、改造前のPenIIで起動したときの状態である。
「必ず正常終了」した場合は、上記の内容になっており、性能を出し切れていない状態である。
「せれろん設定内容」は、実際にCeleronで稼動しているマシンの設定状態である。

設定する内容は、PenIIまたはせれろんの内容でかまわないのであるが、PenIIと同じ設定だと、
数値演算ユニットが、起動初期状態ではパフォーマンスがよくない。(※6)

というわけで、この部分に以下のような初期化を付け加える。

pushad
mov ecx,0000011Eh
rdmsr
mov eax,0134052Bh
wrmsr
nop
clc
popad
ret

このルーチンをCPUチェッカの部分に埋め込み、ROM全体のチェックサムをあわせる。
この内容をFLASHメモリに書き込んで搭載し、「ぴぽ」音がなり、起動すれば成功である。

・そのほかの問題

現在、これだけで他に問題はでていない。(上記にあるように、CACHE RAM ERRORが一時期でたので、
そのためにこの部分もはずしてあるが)


よく、プロセッサを交換したときなどに表示される、
PROCESSOR UPDATE DATA ERROR(※7)
も表示されていない。

現在の性能

ALLTextScrollDDReadWriteMemoryDrive
258882791621234711632044647250501759760883416780C:10MB




※1
エラーチェッカは、サブルーチン化されており、呼び出した後、キャリーフラグが1か0かでエラーかどうかを、
判定している。要はエラーをあらわすキャリーフラグ(フラグ:旗のこと。状態がONかOFFかを判別するとき、
旗が立っている状態と寝ている状態にたとえて、「フラグ」と呼ぶ)
が、たっていてはいけないのである。
ここを強制的にOFFにすることにより、エラーでなくすることができる。

※2
なぜこのようになっているかは不明である。おかげで、メッセージが2つある事になり、チェッカを見つけるのに
手間取ってしまった。
ちなみに、Xaなどに搭載されているITFは、きちんと他のメッセージと一緒の部分にあり、メッセージも
かたまってある部分のものを使用していた。
わざわざメッセージを2つ用意することないのにねえ。

※3
この部分からわかるように、最初からついているチェッカでは、「CPUは「Intel」製でなければ許可されない」
ということになってしまうのだ。
もっとも、Slot1な互換チップはあまりないので、問題ないかもしれないが。

※4
チェック内容には、L2キャッシュのECCのテストなんかも含まれているようだ。
推測なので、本当にテストしているのかどうかは不明であるが・・・

※5
重たいとはいっても、その昔の486−33MHz程度の速度は出ているはずなのだが・・・
人間とは贅沢になってしまうものだ。
Z80−4MHzで満足していた時代が夢のようだ。(Z380−40MHzも一度使ってみたいものだ)

※6
そのうちパフォーマンスが出るようになる。Win95かどこかで再設定しているのかもしれないし、
浮動小数点演算ユニットを再初期化すると有効になるのかもしれない。
初期状態では、円周率の値を計算させてみても、結構違いが出る。

※7
ところで、このプロセッサアップデートエラーはなんなのかというと、
「プロセッサのマイクロコードを更新する機能」
なのである。
Intelは、PentiumのFDIV命令のバグ騒動で懲りたらしく、製造してから欠陥があったときに、
プロセッサ命令の変更ができるように、「マイクロコード更新機能」を付け足してある。
このバッファは、64ステップ(たしか)くらいあり、ここに変更したい命令のコードと、更新用マイクロコード
を書き込むことにより、バグがあり、変更したい命令を交換することができる。
交換することにより、その命令の動作速度は本来の速度よりも落ちることが考えられる。
交換する命令はマイクロコードで実行されるので、元の命令がハードワイヤードロジックで構成されていた場合は、
確実に動作速度がおちる事が考えられる。
ハードワイヤードロジックとは、命令が直接専用回路で構成された状態である。RISCプロセッサは、これだけで
構成されているので、命令が非常に高速に実行可能でなおかつ、クロックを高速にあげられた。
もっとも、最近では回路技術の進歩により、内部が複雑なCISCでも高速化できるし、またRISCでも内部の
回路が複雑になっている。(そもそもRISCは命令を単純化し、その分回路を単純にできるため、速度を速くできる
ということになっていた)

話がそれたが、プロセッサにバグがあり、そのステップのプロセッサを搭載しているシステムなどでは、
・最初からCPUにバグパッチが当たっている
・起動時にITF(ブートROM。最近の風潮ではBIOSと呼ぶ)でパッチする
事が考えられる。
そのため、ITF(ブートROM)では、プロセッサのステップやIDから判定して、マイクロコードの更新を行う
機能が必要になり、そして搭載されているのだ。
98では、アップデートを必要とするプロセッサのステップやIDが、何組か登録されていて、更新の必要性の判定などを
行ったりしている。そのため、ステップ(プロセッサ種別)が、更新を必要としているタイプなのに、IDが登録されて
いない時(まさしくプロセッサ交換時)など、このエラーが発生する。(もちろん、更新に失敗したときなども表示される)
まあ、失敗したからといっても、新しいチップに交換するときがほとんどで(そもそも古いのは登録されているはず)
対策をとらなければならない命令は、既に修正されているはずなので、このエラーが発生したとしても、特に問題はないであろう。




番外編・続続続RaII23等の「II」系マシンにセレロンをつける!


今回、Socket370版のCeleron433MHzを購入し、動作に成功(当たり前だが)したので、
その報告をしようと思う。

Slot1>Socket370変換ソケットには、ASUS S370と書かれた箱に入っている、CPUデフォルト以外に
電圧を変更(※1)できるものを用意した。
そして、Slot1>Socket370変換ソケットにCeleron433MHzPPGA版を搭載してみた。

なんというか、ずいぶん重そうだ(笑)

しかし、1つ重大な問題が発生した。
それは、HDD増設具がぶち当たってしまい、HDDがマウントできないのである!
まあ、幸いにしてHDD増設具はフレキシブルな素材でできており、容易に加工可能なので、加工を行った。

なんつーか刹那的だ(笑)

ぎりぎりだが、ぶつかっている(おいおい)

現在の性能
ALL 浮 整 矩 円 Text Scroll DD Read Write Memory Drive
30475 36198 27552 92351 26815 55639 501 75 2369 2377 21377 B:10MB




※1
変更できるといっても、この変換ソケットが電圧を生成するわけではなく、VID(ボルトID)ピンの状態を、
変更することによって、電圧を変更してしまうというものである。
通常はスルーにしておけば、CPUデフォルトになる。





番外編・RaII23等の「II」系マシンにデシューツPentiumIIをつける!


いままでは、同じでしゅーつとはいっても、L2の違うせれろんしか載せていなかったが、
今回「でしゅーつコア」のPentiumIIを借りることができたので、搭載実験を行ってみた。

カセット形状はKlamath-PentiumII(※1)と同じSECCタイプであるので、外見からの違いはほとんどない(※2)。
用意した物はPentiumII-400MHzであるが、これはベースクロック100MHz(※3)で4倍速という意味なので、
ベースクロック66MHzのPC9821では、真の性能を発揮できない(※4)のだ。

それはさておき、例によってそのままではRaII23には搭載できない。
また、せれろん設定内容(※5)では、L2設定の直後に黙りを決め込まれてしまったので、
ITFを書き換えて、でしゅーつコアの設定内容に変更(※6)し、起動を行ってみた(※7)。

・・・特に問題もなく起動成功。
しかしながら使用してみると、Celeron333MHz(※8)よりなんだか快適である。
アプリケーションによっては目に見えて早くなった物もある。
速度が半分になったとはいえ、512KBライトバックキャッシュ様々と言うべきか。

高倍率で倍率固定(※9)のPentiumIIが欲しい今日この頃である(笑)



※1
2.8Vの旧PentiumIIである。
2.0V版とL2キャッシュの制御が若干違うのだ。
もっとも、機能が増えただけのようなのだが。
L2チェッカで引っかかるのは、この機能が増えた分、今まで固定されていたビットが変更可能なため、
引っかかっているのかもしれない。

※2
というか、違いはない(笑)

※3
ここでいう、ベースクロックとはシステム全体ではなく、CPU-メモリ間のノースブリッジの部分のことである。
このほかの部分は、PCIや各種周辺I/Oなので、速度を上げてしまうと少々まずいことが起こる。
ちなみに100MHzだと、信号の長さは10nsである。66MHzでは15nsで、昔の33MHzでは30nsである。
昔は現在ほど短くできなくて、これくらいの長さが限界だったのだ。そのため、単位をクロック
(1秒間にいくつ信号が入っているかで、この場合単純に1秒を割ってみればわかる)に直すと、
1/30e-9 = 33.33333*10e6 となり、33.333MHzという中途半端な数字に見えることになる。

※4
発揮するためには、PentiumIIを改造して、クロックラインにクロックダブラーなどを搭載する必要がある。
ちょっと前は、こんなに高速で動作するクロックダブラー(PLL回路の応用)は、簡単には手に入らなかったのだが、
最近では、マザーボードに当たり前のようについているので、ジャンクマザーを格安で手に入れてべりっとはがして
使えるかもしれない。
これで技術があるなら、CPUに供給されているクロックを1.5倍にし、クロック速度だけは匹敵させることができるかもしれない。
もっとも、一番重要なメモリの速度が遅いままではあるが・・・

※5
ちなみに、せれろん設定内容と、でしゅーつこあぺんてぃあむつーとのL2制御レジスタの違いは1カ所のみである。
違っている部分は、キャッシュバンク1つにつき、どれくらいの容量があるかどうかの設定だ。
せれろんは128KBしかない(それでも昔と比べれば大容量なのだが)ので、バンクはないようだ。
そのためこの部分は「なし」になっているようだが、PentiumIIでは512KBあるので、容量/バンクの
設定がなされている。
具体的に言うと、せれろん設定内容の134052bhの、0の部分を4にすればよい。
これででしゅーつこあぺんてぃあむつーの設定内容となる。

※6
今回は4倍設定のまま使用したので、266MHz動作である。
一応安全設定として、L2レイテンシはそのまま5で使用することにした。
266MHz程度ならば、0でも十分なのであるが。

※7
黙りを決め込まれただけではなく、設定内容もとばしてくれたようだ。
これはそのままRvII26にPentiumIIIを搭載した人からも報告されている。
どうやら正常に動作しないため、メモリスイッチの内容を制御している部分でおかしくなるようだ。
ひょっとしたら書き込み動作が正常に行えない設定で、書き込み時におかしな事になっているのかもしれない。
というわけで、ESC+HELP+9及びCTRL+GRPHなどのスーパーリセットで再起動した。

※8
Celeron433MHzは、RvII26につけてしまったため、昔使用していたSECC2版Celeron333MHzを使用していた。


※9
RaII23の本体ジャンパ設定では、どうやら5.5倍設定までしか行えないらしい。
まあ、133MHzとかのいらない設定を使い回してくれるのならば設定も可能なのであるが、
倍率固定になってくれた方が手間がかからないので便利である。


トップへ