Geode NXの詳細 コア電圧の認識と設定
AMD Geode NXのコア電圧は、通常正しく認識できません。それはなぜなのか、どうすれば良いのかについて。
このページはGeode NX 1750がベースとなっていますが、基本的にAthlon XP-Mにも適用できます。
Geode NX コア電圧の認識
Geode NXは非常に低い定格電圧が特徴ですが、通常のマザーボードではこれを正常に認識できません。 このためBIOSのコア電圧調整機能を使って手動設定します。しかし多機能なボードでも1.10V程度が下限ですから、定格電圧に設定できないかもしれません。可能な範囲で近い値に設定します。
なぜ電圧が正しく認識できないのか
マザーボードの生成するコア電圧は、CPUが出力する5bitのVIDコードに従って出力されます。通常のマザーボードでは、このVIDコードの定義がDesktop CPUに対応する電圧になっています。このため、たとえMobile CPUを載せた場合でも、常にDesktop CPUのVIDコードとみなされてコア電圧が供給されます。つまり、マザーボードの仕様です。
時々質問をいただくので念のため...CrystalCPUIDでは電圧は変えられません。電圧変更後の値が表示されたとしても、それは論理的に変更されてているだけで、デスクトップ用マザーには対応するハードウエアが載っていません。 ただしNote PCとAMD64系CPUでは可能なはずです。
CPU | V_CORE | VIDコード | |
Mobile | Desktop | ||
製品名 | 定格電圧 | 認識電圧 | VID[4:0] |
Geode NX 1750 | 1.250V | 1.425V | 10001 |
Geode NX 1500 | 1.000V | 1.175V | 11011 |
Geode NX 1250 | 1.100V | 1.275V | 10111 |
Athlon XP-M 2600 | 1.450V | 1.575V | 01011 |
Mobile CPUに分類されるGeode NXやAthlon XP-Mでは、定格電圧ではなく、同じVIDコードを持つDesktop CPUの電圧が供給されます。 例えば、Geode NX 1750の定格電圧は1.250Vですが、自動で認識される電圧は1.425Vです。
Geode NX 1750において、コア電圧が1.425Vでは定格を大幅に超えてしまいますが、このCPUのベースとなったAthlon XP-Mでは定格1.45Vの製品もあるわけですから、このままでも、そう心配することはありません。ただし発熱は定格よりも確実に増えます。
Geode NXのベースとなったAthlon XP-MはT-bredコアの製品ですが、この図で比較用のAthlon XP-M 2600はBartonコアの製品です。
FAIR CHILD 5240MTC (AMDのモバイルCPUに対応したVRMコントローラの例)
これは5bit入力のAMDのモバイルCPUに対応しているフェアチャイルドのVRMコントローラである5240MTCです。この製品は、モバイルCPUを載せた時に定格電圧をきちんと出力します。しかし、もしこのVRMコントローラを積んだボードにデスクトップ版のCPUを載せたら、定格より高い電圧が出力されることになるという不都合が起きます。このことからもデスクトップ向けマザーには、モバイルCPUに対応した電圧コントローラは載せられないことがわかります。
消費電力
Geode NX1750では、AMD Geode NX 1750@14W Processorという表記が使われています、この場合の14Wというのは標準的な消費電力を示します。従来のAthlon XP-Mなどでは最大値を表示していましたから、比較する場合は注意してください。Geode NX 1750の最大値は25Wです。
CPU | OPN | Clock | V_CORE | Thermal Power | T_Die | ||
Working State C0 | Stop Grant C3/S1 | ||||||
Maximum | Typical | ||||||
NX 1750 | ANXS1750FXC3S | 1400MHz | 1.250V | 25.0W | 14.0W | 3.0W | 95 |
NX 1500 | ANXL1500FGC3S | 1000MHz | 1.000V | 9.0W | 6.0W | 3.0W | 95 |
XP-M 2600 | AXMG2600FQQ4C | 2000MHz | 1.450V | 47.0W | - | - | 100 |
Geode NX1500はファンレス動作も可能とされており定格電圧では9Wと非常に低い消費電力です。1.1Vだと11Wくらいでしょうか。 この表からは、Geode NX1500のみが非常に低消費と感じるかもしれません。しかし、これはコア電圧が低いことによるもので、Geode NX1750でも1GHz,1.1Vの設定で動作させれば、消費電力にそう違いはないと思います。
動作クロックと電圧
Geode NXプロセッサは、モバイルCPUそのものですから、動作中に段階的にクロックや電圧を下げる機能もサポートしています。 Geode NX 1750で公式にサポートされているクロックと必要な電圧の関係は以下の通りです。 1000MHz動作ではGeode NX 1750は1.05Vと規定されており、Geode NX 1500の定格1000MHz 1.00Vよりわずかに高い電圧が要求されていることがわかります。
CPU | Geode NX Voltage and Frequency Combinations | |||||
V_CORE | ||||||
1.25V | 1.20V | 1.15V | 1.10V | 1.05V | 1.00V | |
Geode NX 1750 | 1400MHz | 1200MHz | 1133MHz | 1067MHz | 1000MHz | - |
Geode NX 1500 | - | - | - | - | - | 1000MHz |
定格倍率(FSB 266) | 10.5X | 9.0X | 8.5X | 8.0X | 7.5X | |
倍率(FSB 333) | 8.5X(1417) | 7.5X(1250) | 7.0X(1167) | 6.5X(1083) | 6.0X(1000) | |
倍率(FSB 400) | 7X(1400) | 6.0X(1200) | 5.5X(1100) | 5.0X(1000) | 5.0X(1000) |
FSB 333及び400動作の倍率は独自に設定するための参考値であり、サポートされているわけではありません。
CPUの発熱を減らすためには、可能であればコア電圧を定格より下げて使うと効果的です。この場合定格クロックのままではオーバークロックと同じですから、コア電圧に応じて適切な倍率を設定する必要があります。
Asrock K7S41 + Geode NX 1500
Geode NX 1500を1.5Ghzで動作させる
私のGeode NX システムは、Asrock K7S41を使いGeode NX 1500をFSB400(DDR400)で動作させています。 Ami-BIOSのこのマザーでFSB400の設定では、Geode NX 1500は1.5GHzで起動します。ただしデフォルトで認識される電圧は1.175Vですから、動作クロックに対してコア電圧が不足します。このためBIOSの電圧設定で7%アップし、約1.27Vにして安定動作させています。
このシステムの一番の特徴は、CPU、マザーともに何も改造が必要ないことです。 実に定格の50%オーバークロックではありますが、1.4GHzのGeode NX 1750が定格1.250Vですから、それほど問題はないでしょう。 以下の条件で1年以上、全く問題なく動作しています。
- マザー:Asrock K7S41
- チップセット:SiS741
- CPU:Geode NX 1500
- FSB:DDR400
- クロック:1500MHz (7.5x200)
- 電圧:BIOSの設定で7%アップ、1.27V
- ファン:CPUの排気と電源用の2つ
- ケース:マイクロATXのVAIOを流用
Asrock K7S41のBIOSは、モバイルCPUを使った場合でも自動的に定格倍率(7.5X)で起動するため、FSB200MHzでは7.5x200の1500Mhzで起動します。しかしGeode NX 1750でFSB200MHzで使おうとすると10.5X200の2.1GHzとなって起動できそうにありません。 ファンはCPUと電源の2つ、 また、CrystalCPUIDを使えば、動的にクロックを低下させ発熱を減らすこともできるため、静かに便利に使っています。
コア電圧の動的変更
AMD PowerNow!の動作はBIOSのサポートが必須、しかしCrystalCPUIDは単独で倍率や電圧を操作できる
AMDの省電力機構であるAMD PowerNow!は、対応BIOS及びハードウエアを必要とします。しかしGeode NXに対応しているボードは、ごく限られています。 ノートPCでもBIOSがGeode NXには対応していないためPowerNow!の動作はできませんが、CrystalCPUIDなどを使えば動作中に電圧、倍率の変更が可能なはずです。
Geode NXやAthlon XP-Mプロセッサは、PowerNow!をサポートするために、動作中にソフトウエアから電圧変更のリクエストを受け付ける機能を持っています。Crystal CPUIDやCPU MSRでは、これを利用し直接CPUに対し電圧変更のリクエストを発行します。CPUもそれを受け付けるため、通常のマザーでも電圧が変わったかのような表示がなされます。しかし実際には電圧は変化しません。
なぜ電圧が変化しないのか?
CPUが電圧を変更するための信号を出力するのは、コア電圧設定のVIDpinではなく、Mobile CPU専用のSVIDpinです。ところが通常のマザーボードではこのSVIDは全く利用されていないため、何も接続されていません。そのため何も起きません。
ノートPCでは、起動時にマザーの電圧コントロール入力がVIDからSVIDに切り替わっていますから、実際に電圧が変わるはずです。
デスクトップ用のマザーでコア電圧の動的変更を可能にするためには、上の図のように、
起動時にVIDからSVIDに自動で切り替える回路を追加する必要があります。ただしこの図は考え方を示しているだけで、実際にメカニカルなスイッチで切り替えるわけではありません。
詳しくは次のサイトを参照してください→ owletworks
VIDをカットしてSVIDを直接使ったら?
VID信号をカットして、SVIDをVRMの入力に直結する改造をすれば.....と考える方もいるかもしれませんが、
VID信号の出力は、実際には単純にL11ブリッジがクローズの箇所に対応するVIDはGNDレベル、オープンの箇所は無接続として、そのままピンに出ているだけなのに対し、
SVID信号はCPUが動作してからでないと出力が確定しません。単純に繋ぎ替えてしまうと安定していないSVID信号をVRMに送ってしまう可能性があり、支障が起きないとも限りません。
さらにVID信号は最大5V迄のプルアップが認められているため、VRMのVID入力ピンは5Vにプルアップ(実際に調べたところ、はマザーボードによって様々でした)されている場合もあります。
しかしSVID信号は2.5V迄のプルアップしか認められていませんから、これを直結した場合にはCPUのSVIDピンに定格を超える電圧を与えてしまう恐れがあります。
このため通常この方法を使うことは避けたほうが無難です。
8rdavcoreでは動的電圧変更ができますが、なぜ?
Epox 8RDAシリーズやAbit NF7シリーズなどのnForce2チップセット搭載ボードの多くは、ATXP1というオーバークロックコントローラ・チップを搭載しています。
コア電圧コントローラであるVRMはこのATXP1の管理下にあるためATXP1に対しVIDを指定することで電圧を変化させているようです。面白いのはこの仕様のため、たとえ動作中にCPUのVID信号を変化(改造などで電圧の手動設定を可能にした場合でないとできません)させたとしてもATXP1によってCPUのVID信号は遮断されており、VRMに与えるVID信号はATXP1が保持(ラッチ)していますからPCをリスタートしない限り電圧は変化しません。
参照→8rdavcore
起動電圧の変更
設定可能な電圧はマザーボードによって異なります。 広範囲に設定できるボードでも1.1V〜1.85Vの範囲の場合が多く、定格の上下10%とか定格から5%叉は10%アップのみ、というボードもあります。Geode NXを使うにはできるだけ広範囲に電圧が設定できるボードを使うと便利です。
コア電圧が設定できないマザーを使っている場合でも、改造によってVID信号を乗っ取り、独自のVIDをコア電圧コントローラに直接渡すように変更する、という方法があります。 具体的には、CPUからのVID信号をマザーボード上で無効にし、コア電圧のコントロールチップの入力ピンを、以下の表のVID[4:0]の欄を見て、0はGNDに接続、1はオープンとなるようなスイッチを取り付けるわけです。
定格電圧 V_CORE (V) | VID | |
Mobile | Desktop | [4:0] |
Athlon XP-M - | Athlon XP Sempron | L11 |
2.000 | 1.850 | 00000 |
1.950 | 1.825 | 00001 |
1.900 | 1.800(N) | 00010 |
1.850 | 1.775 | 00011 |
1.800 | 1.750(M) | 00100 |
1.750 | 1.725 | 00101 |
1.700 | 1.700(P) | 00110 |
1.650 | 1.675 | 00111 |
1.600 | 1.650(K) | 01000 |
1.550 | 1.625 | 01001 |
1.500(L) | 1.600(U) | 01010 |
1.450(Q) | 1.575 | 01011 |
1.400(V) | 1.550(H) | 01100 |
1.350(J) | 1.525 | 01101 |
1.300(W) | 1.500(L) | 01110 |
- | 1.475 | 01111 |
定格電圧 V_CORE (V) | VID | |
Mobile | Desktop | [4:0] |
Geode NX Athlon XP-M | - | L11 |
1.275 | 1.450 | 10000 |
1.250(X) | 1.425 | 10001 |
1.225 | 1.400 | 10010 |
1.200(T) | 1.375 | 10011 |
1.175 | 1.350 | 10100 |
1.150(C) | 1.325 | 10101 |
1.125 | 1.300 | 10110 |
1.100(Y) | 1.275 | 10111 |
1.075 | 1.250 | 11000 |
1.050 | 1.225 | 11001 |
1.025 | 1.200 | 11010 |
1.000(G) | 1.175 | 11011 |
0.975 | 1.150 | 11100 |
0.950 | 1.125 | 11101 |
0.925 | 1.100 | 11110 |
- | - | 11111 |
0は[論理0], 電圧はLoレベル(GND)
1は[論理1], 電圧はHiレベル(オープン、ただしマザー側でプルアップされていることを確認)
図のようなSWをSocketA裏のVIDピンに配線すればコア電圧を手動設定できますが、CPUのVID信号を無効にする方法が少々面倒です。
CPUのVID信号は、そのままL11ブリッジの同じ番号のIDに対応しています。CPUのVID信号をカットしない場合、 対応するブリッジがオープンになっていないSWのIDがLoレベル[論理0]のままとなり、Hiレベルの設定が効きませんから、コア電圧を下げることができません。
このSWを付加する改造は、オープンになっているL11ブリッジをクローズ(あるいはその逆)することと同じですから、マザー側から見た場合、定格電圧が変わったかのように見えるだけで、原理的にマザーの電圧調整機能と併用しても問題ありません。 このため、コア電圧の調整が狭い範囲でしかできないマザーに取り付けると設定範囲が広げられることもあります.....すべての設定が利用できるとは限りませんが...。
VID[4:0]=11111では電圧不定(-)になっていますが、Epox 8RDA+では1.075Vが出力されました。
Socket A ピン配置
VIDのプルアップ
VID信号は、多くのマザーではプルアップされて使われていますが、その電圧は様々です(2.5V, 3.3V, 5.0Vなど)、改造時にはプルアップ抵抗が無効にならないように注意します。
しかし、L6916-D,HIP6302などの多くのVRMのデータシートによれば、チップ内部に一応プルアップ回路が内蔵されていますから、プルアップ抵抗が省略され実装されていない製品もあります。
Geode NXのピン配置は? Geode NXシリーズもAthlon XPやAthlon XP-Mと同じ構造のCPUです。したがって同一のピン配置、同一のIDピンです。 違うのはVIDピンでCPUから示される電圧値を「モバイルCPU」の電圧として検知しなくてはいけないマザー側の構造なのです、しかし普通のマザーではCPUを一律にデスクトップCPUとみなして電圧を供給してしまうので、定格よりすこし高めの電圧が加わります。このためGeode NXの消費電力は増え、発熱も増加します。だたし、そのまま使ったとしてもCPUにダメージを与えるほどの電圧ではないので、そう心配することはありません。 マザー側を、他のサラブレッドCPUと同様に改造してVIDを独自設定にしてしまえば、定格電圧に近い値で使うこともできます。
補足説明
VID、コア電圧の制限
マザーボードによっては、起動できるコア電圧が制限されていることがありますから、その設定によっては起動できない場合があります。
BIOSが制限しているか、コア電圧レギュレーターや周辺回路の都合によるものでしょう。
コアボルテージレギュレータ
コア電圧を生成する回路で、一般的にはレギュレータ回路をコントロールをしているLSI(HIP-6302など)の入力ピンにCPUのVIDコードをそのまま入力すると指定のコア電圧が生成されます。ここでその入力をSWで設定できるようにすれば、自由にコア電圧を変えられるはずです、マザーボードによって使っている製品が違いますから、この部分はマザーごとに調べる必要があります。
CPUのVID信号を無効にする方法、(Bartonのページとほぼ同じ内容)
次のいずれかの方法を使います。
- L11ブリッジの加工
- L11ブリッジをすべてオープンに加工します、カッターで加工可能です、慎重に。
- VIDピンカット
- CPUのVIDピンをすべてカットする、お手軽で確実ですが、他のピンを切らないように注意。
- PKOCK7-EV6
- アスロン用の例の倍率変換下駄を改造して使う。テスト用には便利です。
- コアボルテージレギュレータのVID入力ピン加工
- HIP6302などの、VID入力ピンをマザーボードから少々浮かせ(足あげ)このLSIのピンに直接VIDスイッチを接続する。
- パターンカット
-
コア電圧は自動認識のみ、またはコア電圧の増減をパーセント指定する程度のボードでは、
VIDピンから出ているパターンを追い、コアボルテージ・レギュレータの入力ピンに接続されていることを確認し、ソケット裏のVIDピン脇などでVIDパターンをカットする...この作業が基本です。
しかし、コア電圧を数値で選択できるマザーの場合には、通常コアボルテージ・レギュレータの前にオーバークロック・コントローラチップや独自の回路が載っていると考えられますので、その回路の入力側を横取りする必要があります。 いずれにしても、パターンカットの場所と、DIP-SW配線の接続箇所の特定は慎重に行ってください。
reference
- owletworks : 実験室/SOFTVID制御でCPUコア電圧を可変にする
- Intersil : VRM ( Power Management )
- ON Semiconductor : CS5157
- Intersil : VRM ( Power Management )
- 改訂:2007/05/11
- 改訂:2006/08/04
- 改訂:2005/04/23
- 作成:2005/04/03