最終回となる今回はCPUのオーバークロックについて紹介していきたい。CPUの動作クロックを引き上げることで本来以上のパフォーマンスが得られるうえ、設定をちょっといじるだけで試すことができる点が楽しい行為だ。
ただし、本来決められている動作クロック以外で動作させることになるため、故障などが発生しても保証は適用されない。無理なオーバークロックは実際に故障を発生させることもあり、こうしたリクスを踏まえたうえで楽んでほしい。
オーバークロックの基本を理解する
オーバークロックは文字通り(定格)クロックを超えて動作させる状態のことで、クロックを上げる行為をクロックアップという。広い範囲で適用できる言葉ではあるが、PCにおいて"オーバークロック"と前提なしに表現される場合はCPUのオーバークロックを指すことが多い。
CPUにはあらかじめCPUメーカーが決めたクロック(これを定格クロックという)があり、マザーボードのBIOSがCPUの種類を見て正しいクロックに設定して動作させている。ここで、BIOSの設定を手動で変更することで、CPUメーカーが決めたクロックを超えて動作させるのがオーバークロックである。
もちろんCPUメーカーは、発売する製品に対して確実に動作するクロックを指定しているわけで、これ以上で動作することを保証しているわけではない。しかし工業製品の常として、確実に動作させるために一定のマージンが存在する可能性は高い。このマージンを使ってしまおうというのがオーバークロックだという見方もできるだろう。ときに、このマージンが凄まじく広い場合があり、上位CPUを上回るようなクロックで動作することもあるので、一旦この世界に踏み込むと魅力に取りつかれる危険性はある。
その作業であるが、例えば「1.8GHzのCPUを2GHzで動作させる」といった単純な指定の仕方でCPUのクロックを決めることはできず、CPUのクロックを決める要素を理解しておく必要がある。まずは簡単に理屈を紹介しておこう。
概念図に示したとおり、クロックの元となるのはマザーボード上の水晶発振器である。これをPLLクロックジェネレータと呼ばれる部品を用いて決められたクロックへと高クロック化し、CPUやFSB、メモリなどの動作の元となるクロックを出力する。
そして、CPUはPLLから受け取ったクロックをベースに規定の倍率で動作させている。例えば、1.8GHzのCore 2 Duo E4300はPLLから供給されるベースクロックが200MHzで、それを9倍して動作させている。同じように2GHzの同E4400は200MHzの10倍で、2.66GHzの同6750は333MHzの8倍といった具合である。つまり、PLLから供給されるベースクロックか倍率を変更すれば、CPUの動作クロックを変えることができるのである。ただし、一部製品を除いてはCPUの倍率を規定以上に設定することができない。そのため、一般にはベースクロックを変更することになる。
そのCPUのベースクロックは、同じくPLLないで生成されるFSBへ供給するクロックを同期している。そのため、FSBクロックをBIOS上から変更することでCPUへ供給されるクロックも一緒に変わりCPUの動作クロックが変わる、という理屈で作業が進められることになる。
このFSBクロックは、やはりCPUのモデルごとに決められている。上記にも簡単に記したが、Core 2 DuoであればE4xxxが200MHz、E6x00が266MHz、E6x50が333MHzとなる。これらの製品のFSBはそれぞれ800MHz、1066MHz、1333MHzと表現されるが、これはインテルのシステムバスが1クロックあたりに4データを転送可能であることから"相当"という意味合いで利用されているものである。実際のクロックは前述の通りとなる。
ちなみに、メモリも同じPLLでクロックが生成されており、FSBクロックに対する一定の比率を持ってクロックが決められることになる。例えば、200(800)MHz FSBのCPUでDDR2-800を利用する場合、DDR2-800の実際のクロックは400MHzなので、FSB:メモリの比率は1:2となる。400MHzの動作クロックのメモリがDDR2-"800"と表現されるのは、やはり1クロックあたり2データを転送できることから800MHz"相当"という意味で用いられているものだ。
ここで注意したいのは、FSBクロックを変更することでCPUだけでなくメモリのクロックも変動してしまうことだ。Core 2 Duo E4400(2GHz、200×10)、DDR2-800の組み合わせで利用した場合での例を示すと、FSBクロックを変えた場合に次のような動作クロックとなる。
FSB:CPUクロック | メモリクロック |
---|---|
200:200×10=2.0GHz | 400MHz(DDR2-800) |
250:250×10=2.5GHz | 500MHz(DDR2-1000相当) |
300:300×10=3.0GHz | 600MHz(DDR2-1200相当) |
パーツがどこまでのオーバークロックに耐えられるかをオーバークロック耐性と表現するが、CPUのオーバークロック耐性に加えて、メモリの耐性も求められることが分かる。しかし、双方とも同じだけの耐性が期待できるとも限らない。そこでメモリ比率を変えることで、メモリをクロックダウンさせる手法もよく用いられる。
200(800)MHz FSBのCPUとDDR2-800をDDR2-667相当として動作させた場合、FSB:メモリの比率は3:5となる。これを先の例に当てはめてみると、
FSB:CPUクロック | メモリクロック |
---|---|
200:200×10=2.0GHz | 333MHz(DDR2-667) |
250:250×10=2.5GHz | 416MHz(DDR2-832相当) |
300:300×10=3.0GHz | 500MHz(DDR2-1000相当) |
メモリに求められる耐性が大きく下がることが分かるだろう。DDR2-800モジュールを使ってるので、DDR2-832相当ぐらいまでのオーバークロックには耐えられるかも知れない、などといった推測を交えつつ、CPUとメモリの双方のクロックを調整していくのがオーバークロック作業ということになる。
なお、オーバークロックにおいては、CPUへ供給する電圧(コア電圧)についても重要なファクターとなる。電圧が上がるとトランジスタがより高速に動作できるようになる。通常のコア電圧で過剰なオーバークロックをした場合にトランジスタの動作が追従できなくなる状態が発生しても、コア電圧を高めることで追従できるようになるかも知れないわけだ。よって、より耐性を高めるためにコア電圧を上げることは有効とされている。
しかし、コア電圧のアップは通常のオーバークロックに比べて危険性が高い。高いコア電圧がトランジスタの絶縁膜などを破壊するなどして、一気にCPUを壊してしまう可能性が高まるからだ。壊してもいいという覚悟があるならともかく、いま使っているCPUを大事にしたいのならば、(壊れない可能性はゼロではないが)規定のコア電圧で動作するクロックを探すほうが無難だろう。
また、動作クロックの向上により発熱は増す。また電圧が上がった場合は消費電力は2乗で増すため、こちらの発熱向上度合いはさらに高くなる。発熱対策としてCPUクーラーを買い替えるなどの対処が必要になる場合もあるだろう。
実際のオーバークロック作業
オーバークロックを行う場合は、BIOSまたはWindows上のアプリケーションを利用することになる。後者のほうが作業は楽だが、そうしたアプリケーションが用意されていないマザーボードもあるので、BIOSで作業する手順は覚えておいたほうがいいだろう。もちろん、Windows対応ツールが利用できるマザーなら、そちらを利用することをお勧めしたい。
今回の連載で利用しているマザーボードはASUSTeKの「P5K-E」であるが、この製品はオーバークロック用途も多少意識した製品になっている。このBIOSの設定画面もメーカーや製品による違いがある。先に紹介したメモリ比率が指定できるパターンが多い製品や、コア電圧の設定間隔が細かい製品など、マザーボードメーカーもオーバークロック用途に向けて工夫を凝らしている場合があるのだ。オーバークロックすることを前提で自作するならば、オーバークロックのやりやすさを謳う製品を選択するのも一つの要素といえるだろう。
ASUSTeK「P5K-E」のBIOS画面。「AI Overclocking」を[Manual]に設定することで、各種オーバークロック設定が可能になる。[FSB Frequency]を変更すれば連動してCPUクロックが変更されることになる |
メモリクロックの設定メニュー。指定したFSBクロックに対して、利用可能なメモリクロックがメニューで表示される |
CPUによっては倍率の変更も可能。同じ動作クロックのCPUを作る場合に、倍率を下げてFSBクロックを上げることで、CPU-メモリ間の転送速度アップを図る、といったアプローチも有効だ |
コア電圧の設定メニュー。非常に危険性の高い作業ではあるが、コア電圧を高く設定することで、オーバークロック耐性が上がる可能性がある |
ASUSTeK製マザーにはAI Suiteと呼ばれるチューニングツールが付属する。この機能の一部として提供されるAI Boosterを利用すれば、Windows上からFSBクロックやメモリクロックなどを指定できる |
ここでは、Core 2 Duo E4300をオーバークロックしたときのパフォーマンスの違いを紹介しておきたい。200MHz×9=1.8GHz動作となる製品を、コア電圧はそのままに300MHz×9=2.7GHz相当へオーバークロック。メモリ比率は3:5としDDR2-900相当で動かしている。
全体に大幅なパフォーマンス向上がみられることが分かると思う。3DMark06の総合スコアのようにビデオカードの影響が大きい場合はCPUやメモリのオーバークロックの効果は小さめだが、CPUテストのようにCPUの処理が集中するシーンではクロック比どおり1.5倍前後のパフォーマンス向上が得られる。
オーバークロックの魅力は、この性能向上が無料で得られる点だ。今回の環境はCPUクーラーを変えておらず、純正クーラーを使っている。リスクはあるが、その代償を払う価値を感じることができる結果といえないだろうか。
Core 2 Duo E4300の定格クロック時。200(800)MHzの9倍で1.8GHzで動作していることが分かる |
メモリクロックは、1:2の比率で400MHzで動作している。これがDDR2-800の定格クロックである |
FSBクロックを300(1200)MHzへクロックアップした状態。300MHz×9=2.7GHzのオーバークロック動作となる |
メモリ比率は2:3へと変更し、450MHz(DDR2-900相当)で動作させている |
(機材協力 : ASUSTeK Computer)