Software Cooling Function Enabler for 32bit Athlon Series on Win32
Coolon Project

FSB266 Thoroughbred を強制的に FSB333 にする

悲しき FSB266/333 自動判定 M/B

最近の SocketA M/B では、FSB266/333 を切り替える DIP スイッチや BIOS 設定がなく、M/B 側が FSB を自動判定するため、FSB266 の CPU を強制的に FSB333 で使用することができない M/B があります。

現在私が使用している GIGABYTE GA-7VAXP Ultra がこのタイプの M/B で、FSB333 で使おうと思って買った Thoroughbred 1800+ が本来の FSB266 でしか使えません(涙)。「え〜い、余計なことするんじゃない!」って感じです(怒)。

FSB 自動判定の方法

CPUID 0681 の Thoroughbred から、FSB333 の CPU が追加されました。これに併せて、CPU に FSB_Sense[1:0] というピンも追加されています。これは、文字通り CPU の FSB を決めるためのピンで、下記のような意味になっています。

FSB_Sense[0] は AG31 ピン、FSB_Sense[1] は AH30 ピンに割り付けられており(Palomino までの CPU ではこれらのピンは NC です)、0(ゼロ)の時は CPU 側でプルダウンされており、1のときはオープン(NC)になっています。FSB_Sense ピンに対応した M/B では、M/B 側でこれらのピンをプルアップしてあるので、FSB_Sense ピン未対応の CPU では FSB266 と判断し、FSB_Sense ピン対応の CPU ではピン設定に基づいて M/B が FSB を自動判定します。

FSB_Sense ピンの意味
FSB_Sense[1] FSB_Sense[0] FSB
1 0 予約
1 1 133MHz x 2
0 1 166MHz x 2
0 0 予約

FSB_Sense の CPU 上の実装

FSB_Sense が CPU 側でプルダウンされているということは、少なくとも FSB_Sense[1] がどこかのブリッジを利用してプルダウン抵抗につながっており、そのブリッジがクローズされていれば0(FSB333)、カットされていれば1(FSB266)になると考えられます。逆に言えば、FSB333 と FSB266 の CPU を見比べて、FSB333 ではクローズされていて、FSB266 ではカットされているブリッジがあれば、それが FSB_Sense[1] ということになります。いろいろなサイトに掲載されている写真を見比べてみた結果、L12 ブリッジの右から2番目が FSB_Sense[1] という結論に達しました。

また、Thoroughbred のブリッジ構成は、CPUID 0680 でも 0681 でも全く同じで、FSB266 しか存在しない 0680 の L12 ブリッジの右から2番目は必ずカットされています。したがって、FSB333 が追加されたのは 0681 からであっても、0680 でも FSB_Sense[1] のプルダウン抵抗は実装されていると考えられます。

L12 ブリッジの位置 FSB266 のブリッジカット状況

強制 FSB333 化

以上のようなことから、私が持っている Thoroughbred は 0860 ですが、L12 ブリッジの右から2番目をクローズしてやれば、FSB266/333 自動判定 M/B でも FSB333 として動作するだろうということで、実験してみました。

ブリッジクローズには、昔ながらの鉛筆(実際には 0.5mm 4B のシャープペンの芯)を使いました。ただし、オーガニックパッケージでは芯のノリが悪い(上に、もしかすると端子表面がコーティングで絶縁されているかもしれない)ので、そのままブリッジを塗りつぶしてもクローズできません。じゃあどうするかというと、塗りつぶすブリッジの周辺をサンドペーパーで軽くこすってやって、パッケージ表面をザラザラにしてやる(とともに、もしあるとすれば端子表面のコーティングを剥がしてやる)のがミソです。私は手元にあった #360 のサンドペーパーでこすってからブリッジを塗りつぶしたら、FSB333 で動作するようになりました。2003/01/25 からこの状態で使用していますが、今までのところ特に問題は発生していません。

FSB_Sense1 オープン
オープン
-> FSB_Sense1 クローズ
クローズ

FSB333 化の副作用

FSB266 の Thoroughbred 1800+ は 133MHz x 11.5 = 1533MHz ですが、これを単純に FSB333 化すると 166MHz x 11.5 = 1916MHz になってしまいます。ここまでのオーバークロックになると、動くかどうかは分かりません。Thoroughbred は L1 クローズの倍率可変ですから、DIP スイッチや BIOS 設定であらかじめ倍率を下げておく必要があります。

通常の動作では特に問題ありませんが、低クロック Thoroughbred を FSB333 化すると、拡張 CPUID 命令で取得できる CPU 名が「AMD AthlonXP(tm) 1800+」とかではなく「AMD Athlon(tm)」になってしまうというマイナーな問題が発生します。POST の CPU 名表示に拡張 CPUID を使用している BIOS では、当然この表示も「AMD Athlon(tm)」になってしまうので、ちょっと気持ち悪かもしれません。拡張 CPUID では、FSB と倍率の組み合わせで CPU 内の名前テーブルから CPU 名を生成しているらしく、想定外の組み合わせの場合は「AMD Athlon(tm)」になってしまうようです。