1週間、間が空いてしまったがSA1Fのレビューを続ける。前回までは、ffdshow tryoutsとQonohaを使うことで動画再生の負荷が軽くなり、レッツゴー!陰陽師もスムーズに再生できるようになったが、Bluetoothでカーオーディオと接続しているのが原因で、カクカクすることが判明・・・ってところまで取り上げた。
今回はその続きで、カクカクを是正するためにオーバークロックに挑戦する。
注:こちらは続編になります。前回の投稿を先に見てね!!
さて、さっそくオーバークロックに挑戦するわけだが、現在のオーバークロックの方法には、主に2つの方法がある。
一つはPLL ICを操作して外部クロックを定格より上げる方法。もう一つはCPUのクロック倍率を増やす方法だ。
詳しくはWikipediaのオーバークロックの項を見ていただきたい。
現在、単品で売られているマザボでは、ほとんどの製品でBIOS上から外部クロックやクロック倍率を変更できる機能が搭載されている。
しかし、SA1Fのようなメーカー製PC・・・特にノートPCではそういった機能は皆無だ。実際、SA1FのBIOSは必要最低限のものであり、CPUのクロックに関する設定は何一つ無い。
昔だったらこの時点でオーバークロックは諦めざるを得ないのだが、技術の進歩と時の流れは偉大で、現在は先ほどの二つの方法どちらでも、ソフトウェアを使ってOS上から行うことができる。
外部クロック向上については、その28:NEC PC-MA93T/E PART3で取り上げたCPUFSBなど、Windows上から外部クロックを操作できるソフトウェアが存在する。
また、クロック倍率変更についてもCrystalCPUIDといったツールが対応している。しかしクロックアップに挑戦した時点では、CrystalCPUIDはSA1Fで使われているGeode LXの倍率変更には対応していなかった。
同じような機能を有する別のソフトウェアも同様で、Geode LXの倍率変更は不可能だった。
ということで、必然的に外部クロック向上させる方法を取る事にした。
外部クロック向上のソフトウェアがあると先ほど言ったが、これを使うには条件がある。
そのソフトウェアが、PCに使われているPLL ICに対応していなければならない。
PCで使われているPLL ICは何十種類もあり、外部クロック向上ソフトウェアはそのすべてに対応しているわけではない。
またPLL ICによっては、そもそも外部クロックを上げることができない場合もある。
とにかく、まずはSA1Fで使われているPLL ICを特定しなければならない。
てっとり早いのは、PLL ICに書かれている型番を調べることである。
|
|
|
ということで、SA1Fを完全分解。
SA1FはほとんどのICが基板下面にあるので、完全分解しないとICの型番を見ることができないのだ。
それらしいICの型番を片っ端から検索にかけ、それがPLL ICであるか調べる。
・
・・
・・・
みっけ!!
左の写真で、右上のほうにある「MK1491-09FLN」というのがPLL ICであることが判明した。データシートはDatasheetCatalog.comにてダウンロードすることができる。
それによると、このPLL ICは元々Geode GX2用に使われていたPLL ICで、兄弟分であるGeode LXでもそのまま使用されているようだ。
さっそく、「MK1491-09FLN」がCPUFSBで対応されているか調べてみる。
・
・・
・・・
対応していねぇ!!
CPUFSBの対応PLLが書かれているページには、このPLL ICが載っていない。
また、さらに痛いのが、ほぼ同機能と思われる「MK1491-06」が「プログラムから操作できないので、対応される可能性が0%」な一覧に載っていやがる・・・。
よくよくデータシートを読んでみると、そもそも「MK1491-09FLN」は固定で33MHzと66MHzしか出力できないことが判明。
おそらく33MHzがGeode LXで使われている外部クロックだと思われるが、ビタ一文たりともクロックを向上できないようだ。
つまり、SA1Fの外部クロックを上げることは不可能・・・ってことになる。
まぁ、クロックオシレータを物理的に取り替えれば(いわゆる原発乗っ取り)可能かもしれないが、リスクが大きすぎる。
・・・SA1Fでオーバークロックするのは、不可能なのか?
ところが。
外部クロックを上げられないことが判明し、すっかり諦めていたある日、思わぬところからオーバークロックの可能性が見つかった。
Geode LXについていろいろ調べていたところ、CrystalCPUIDの報告ツリーに興味深い記事を発見した。Geode LXのMSRには倍率情報が含まれているとのこと。
これだけでは特筆するべきことではないのだが、同ページからリンクされているGeode LXの仕様書(注:リンク先はPDF)を読んでみると、このMSRは書き込むこともできるらしい。
つまり、このMSRに現在よりも高い倍率を書き込むことで、クロック倍率を上げることができる・・・かもしれない。
モノは試し・・・とばかりに、MSRに現在の倍率よりも高い倍率を書き込んでみた。CrystalCPUIDには「MSR Editor」というMSRを変更できるツールが組み込まれており、それを使って書き込んでみる。
・
・・
・・・
キ、キターーーッッ!!定格500MHz(実測だと498.05MHz)のGeode LXが、564.46MHzで動いているゥーーーーッッ!!
最初に諦めていた倍率変更を行うことができた!!
あまりの嬉しさに叫びを上げてしまった。
いろいろと試してみると、約333MHz(11倍) 〜 約566MHz(17倍)まで正常に動作させることができた。10倍以下や18倍以上の倍率だと強制リセットがかかってしまう(たまにうまく動作することもある)。
また、566MHzだと負荷が高くなるとアプリケーションが不正終了してしまうことが多かった。実用可能なのは約533MHz(16倍)までのようだ。
さっそくCrystalCPUIDの掲示板に書き込んでみたところ、嬉しいことに数日で正式版にGeode LXの倍率変更機能を取り込んでいただけた。
その結果、負荷によってクロック倍率を変化させる「Multiplier Management」も使えるようになった。これで動画再生中などの高負荷時にのみ、クロックを上げることができる。
また逆にCPUが遊んでいる場合には、クロックを下げて消費電量を抑えられるようになった!!
最初のほうで「CrystalCPUIDはSA1Fで使われているGeode LXの倍率変更には対応していなかった」とわざと過去形で書いていたのは、そういう理由である。
現時点のCrystalCPUID最新Version 4.10.3.331では、Geode LXの倍率変更に対応している!!
実際、当ラボのSA1Fにインストールされ、「Multiplier Management」で動的にクロックを変化させながら使っている。
今のところまったく不具合は無く、快適に使用できている。
クロックを低くした場合の消費電力だが、数値上では定格クロック時より10% 〜 20%減っている(333MHz動作)。
実際にバッテリの持ち時間を計ったわけでは無いが、それなりに効果が期待できそうな値だ。
さて・・・。オーバークロックしたことにより、本来の目的であった、動画のカクカクは直ったのだろうか?
・
・・
・・・
結論から言うと、だいぶスムーズに動くようになったが、やはりカクカクはカクカク、566MHzでもダメ・・・というイマイチな結果になってしまった。
元々のCPUが非力なのか、On2VP6コーデックが重過ぎるのか、焼け石に水だったようだ。
これでは、現在よりも高クロック化されたGeode LX 900が搭載されたとしても、あまり期待できない気がする。
Geode LX 900をさらにオーバークロックさせれば・・・う〜ん、現在の再生状況を見ると、ちょっと厳しいかも。
やはり、IntelのA100/A110やSilverthorne搭載マシンが出るまでは、Bluetoothでカーオーディオと接続しながらのOn2VP6コーデックの動画再生は、厳しいのかもしれない・・・。
今日の格言:
CrystalCPUID すげーよォッッ!!
Datniodeath's JUNK Labo トップページに戻る