2013年2月5日火曜日

Core i7 の Turbo Boost を利用したオーバークロック

1. Turbo Boost を有効にしたまま、手軽にオーバークロックしたい

CPU クーラーを交換したので、定格で運用していた PC をオーバークロックすることにした。 リテールのクーラーでは、すぐに温度が上昇してしまうため、CPU が頑張り過ぎないように制限していた

対象の CPU は インテル Core i7 860。マザー・ボードは ASUS P7P55D

SnapCrab_NoName_2013-2-5_13-44-19_No-00このマザー・ボードには、自動でオーバークロックに適した値を探ってくれる Ai Overclock Tuner という機能が付いている。これを利用し、確実に動作する値に設定された後、微調整することにした。

電圧を盛り、ギリギリを目指すのではなく、実用的な範囲でカジュアルなオーバークロックを行う。その際、Core i7 で利用できる Turbo Boost を利用したい。

 

Turbo Boost が無効であることに気づいてなかった

Turbo Boost とは、一時的に CPU の動作を高速化する機能。

インテル® ターボ・ブースト・テクノロジーに関する FAQ によると、

インテル・ターボ・ブースト・テクノロジーとは、自動的に定格の動作周波数より高速でプロセッサーを動作させる機能です。ただし、プロセッサーが電源, 温度, 電流仕様の TDP (熱設計電力: Thermal Design Power) の限界未満で稼働している場合に限られます。この機能により、シングルスレッドとマルチスレッド双方のアプリケーションでパフォーマンスが向上します。

以下の表に、どのくらい周波数が上昇するか示されている。

SnapCrab_NoName_2013-2-5_12-28-37_No-00ターボ・ブースト・テクノロジー・モニター を利用すると、Windows 上で Turbo Boost が効いている様子がグラフで示される。

このアプリケーションをインストールしようとしたところ、エラーが表示された。

このコンピューターにはインテル(R) ターボ・ブースト・テクノロジー対応のプロセッサーが搭載されていないため、インストールを続行できません。

このとき、Turbo Boost が無効だったことに気がついた。

 

2. オーバークロックをするための準備

最新の BIOS に更新

予め、実際に設定する前に、最新の BIOS に更新した。

をダウンロード。 BIOS を起動し、

  • Tools >  ASUS EZ Flash 2

より、ダウンロードしたファイルを指定し、最新のバージョンにした。

 

デフォルトの設定値に戻す

設定を行う前に、BIOS の設定をに戻し、BIOS を再起動した。

  1. Exit > Load Setup Defaults を選択。
  2. Exit & Save Changes を選択。

 

3. Ai Overclock Tuner でオーバークロック

a. オーバークロックのモードを選択

次に、自動的でオーバークロックするための設定を行う。

BIOS の Ai Tweaker > OC Tuner には、以下の3つの設定がある。

  1. Good Performance
  2. Better Performance
  3. Turbo Profile

上記を選択した後、Start auto tunning を実行した。念のため、自動設定を行う前に各々 BIOS の値をデフォルトに戻してから行った

設定の結果、選択するタイプにより、Turbo Boost が無効になることが分かった。Good Performance の設定で実行したときにだけ、Turbo Boost が有効になった。

Good Performance では、それほど CPU に負荷をかけないので、この設定で様子を見る。

 

b. Turbo Boost が有効であることを確認する

自動設定が行われた後、 OS が起動する。再起動して BIOS 画面に戻る。

チェックする対象は、以下の項目。

  • Ai Tweaker
    • CPU Ratio Setting : Auto
  • Advanced
    • Intel(R) SpeedStep(TM) Tech : Enabeld
    • Intel(R) TurboMode tech : Enabled

 

c. 省電力機能 C ステートを有効無効にする

省電力のための C ステート も有効にしておいた。

LGA1156版Core i7/i5を使いこなすBIOS設定法 | Core i7/i5全貌解明 | DOS/V POWER REPORT によると、

Core i7/i5では、アイドル時の消費電力を低減する省電力機能「Cステート」が改良され、C6まで用意されている。ただ、理由は分からないが大半のマザーボードでこの機能が無効化されており、有効化するにはBIOS設定を変える必要がある。

さらに明らかになったYonahの姿  ~拡張されたC4ステートでさらなる省電力を - 笠原一輝のユビキタス情報局

OSによるCPU利用率が低く、シングルスレッドの処理しか行なっていない場合には、2つあるCPUコアのうち1つは遊んでいる状態になるので、それをスリープさせることで、CPUの消費電力を少しでも下げよう、という試みだ。

ACPIではCPUの電力の状態をC0~C3の4段階で規定されている。それぞれどのような状態かと言えば、次のようになっている

・C0 通常動作状態:OSなどでアプリケーションなどが実行されている
・C1 Halt状態:Halt命令の実行によりCPUコアのクロックが停止
・C2 クロック停止:CPUコアとバスのクロックが停止
・C3 Deep Sleep:クロック生成機も停止
・C4 Deeper Sleep:Vcc(CPUへの供給電圧)を低減

CPUはC0>C1>C2>C3と徐々にステートを変更していくことで、CPU内部のクロックを停止していき、徐々にCPUの動作を止めていくことをやっている。

BIOS 画面において、以下の設定を行った。

  • Advanced
    • Intel(R) C-STATE Tech : Enabled
    • C State package limit setting : Auto

追記(2015/3/14): C1E, C-STATE を無効化してオーバークロック - Core i7 860

 

d. Q-Fan コントロールを有効にする

BIOS の値をデフォルトに戻したことにより、ファンの動作を自動調整する Q-Fan コントロールが無効になった。

BIOS の画面において、以下のように有効にした。

  • Power
    • CPU Q-Fan Control : Enabled
    • CPU Q-Fan Profile : Turbo
    • Chassis Q-Fan Control : Enabled
    • Chassis Fan Profile : Turbo

 

4. 自動設定後に微調整

a. オーバークロックの基礎知識

オーバークロックの基本は、ベースクロックを上げる際、メモリが動作できる範囲を超えないようにメモリクロックを下げておくこと。

 SnapCrab_NoName_2013-2-5_20-15-59_No-00ASCII.jp:メモリモジュールオーバークロック指南 (1/7)|Windows 7で行なうオーバークロック

メモリのバスクロックとCPUのベースクロックは密接な関係があり、通常、ベースクロックを変えると、メモリのバスクロックもそれに伴って変わる(…)。

CPUクロックと同様に、ベースクロックとメモリバスクロックは比例関係にあり、ベースクロックにメモリクロック比率をかけたものが、メモリバスクロックとなるのだ。…

CPUをオーバークロックしようとして、ベースクロックを上げていくと、メモリバスクロックも上がっていき、CPUよりも先にメモリがオーバークロックの限界に達して、システムが起動しなくなったり、ハングアップしてしまうこともよくある。そうした場合は、メモリクロック比率を下げることで、ベースクロックを高くしても、メモリの限界に達せずにすむわけだ。

右図は、「秘められたCPUの力を引き出そう! 1/6 | 眠れるCPUを覚醒させろ! オーバークロックの神髄 | DOS/V POWER REPORT」より引用した。

 

b. 「オフセット電圧」に設定

追記(2013/02/06): 上記の自動設定により、「固定電圧」となった。デフォルトの「オフセット電圧」に戻した。

  • Ai Tweaker
    • CPU Voltage Mode : Offset
    • Offset Voltage : Auto

「固定電圧」ではベースクロックをほとんど上げることができなかった。また、「オフセット電圧」のほうがアイドル時の電圧が低い。必要なときにグッと電圧を上げてくれる。

 

c. ベースクロックを少し上げる

ベースクロックの値は次のように設定された。

  • Ai Tweaker
    • BCLK Frequency : 160

 

d. メモリの設定

ベースクロックの変更に伴い、DRAM Frequency の設定を一段回下げた。

  • Ai Tweaker > DRAM Frequency

追記(2015/3/15): DRAM Frequeyncy は 1440MHz に設定した。

秘められたCPUの力を引き出そう! 2/6 | 眠れるCPUを覚醒させろ! オーバークロックの神髄 | DOS/V POWER REPORT によると、

ベースクロックが定まったら、[DRAM Frequency]項目でメモリクロックを上げていく。目安としては使用しているメモリの定格から+20%ほどの範囲であれば上げても問題が起きにくい。

 

e. CPU-Z で動作の確認

CPU の周波数は、ベースクロックと倍率により決まる。

CPUの周波数(クロック)・ベースクロック・倍率について | 自作パソコンの作り方 によると、

周波数(クロック)というのは、ベースクロックと倍率をかけることで導き出されます。

SnapCrab_NoName_2013-2-5_13-24-58_No-00CPU-Z で動作を確認すると、Turbo Boost により、倍率が 9.0 ~ 22.0 の間で変化していた。設定を変更したことによる変化を計算すると、

  • 146 * 22 = 3212
  • 160 * 22 = 3520

違いを少し体感できるかな。

 

f. メモリの電圧を固定する

追記(2013/02/06): BCLK Frequency を 170 に設定したら、OS は辛うじて起動した。しかし、動画を再生中にブルー・スクリーンになった。

そこで、メモリの電圧を少し上げ固定することにした。

メモリの種類は DDR3 SDRAM。DDR3 SDRAM – Wikipedia によると、

… 動作電源電圧は、DDR SDRAMの2.5V/2.6V、DDR2 SDRAMの1.8Vに対し、DDR3 SDRAMは1.5V、DDR3L SDRAMは1.35V動作となっており、より一層の消費電力の低減、低発熱が実現されている。

自動設定にしていると、BIOS には 1.54 V と表示されていたので、それよりも少し電圧を上げて固定した。

  • Ai Tweaker
    • DRAM Voltage : 1.5625 V

この設定により、BCLK Frequency を 170 に設定しても安定するようになった。電圧を上げたのは 10% 以内なので問題ないはず。

この設定だと、明らかに体感速度が違う。ただし、Prime95 で CPU に負荷をかけたら、すぐに CPU の温度は 60度を超えた。CPU を 100% 使い切ることはないので、この設定で様子を見ることにした。

追記(2013/02/12): DRAM Voltage を 1.5750 V に変更した。BIOS 上では数字が「黄色」の注意表示になった。

追記(2015/3/15): DRAM Voltage を 1.625 V に変更した。

 

g. IMC voltage を上げた

追記(2014/3/27): Process Lasso で電源プロファイルが変更されるタイミングを極端にメリハリを付けてみた。それに伴い、BCLK Frequency を 170 に設定。その結果、ブルースクリーンが頻発するようになった。

そこで、IMC voltage の値を固定し、1.225 とした。これにより、システムが安定した。

OVERCLOCK I7 860 - CPUs - Overclocking によると、

-VTT (also known as QPI/DRAM) is your processors IMC voltage (Integrated memory controller) Increasing this will supply the power needed for the IMC to operate at higher frequencies.

追記(2014/3/28): 上記の設定は常用できなかった。(+_+) BCLK Frequency を 160 に戻した。

IMC voltage は、黄色の警告表示となる手前の値で固定した。ついでに、DRAM Voltage も同じような設定にした。

 

h. オフセット電圧の値を上げる

追記(2014/3/29): Turbo Boost を有効にしていると、どうしても BCLK Frequency を 170 で安定させることができなかった。結局、以下の値で様子を見ることにした。

  • BCLK Frequency : 165
  • CPU Voltage Mode : Offset
    • Offset Voltage : + 0.1375
  •  IMC voltage : 1.15
  • DRAM Voltage : 1.575

追記(2014/3/30): もう一度、BCLK Frequency を 170 に挑戦。

  • BCLK Frequency : 165
  • CPU Voltage Mode : Offset
    • Offset Voltage : + 0.1575
  •  IMC voltage : 1.15
  • DRAM Voltage : 1.575

ただし、Process Lasso を利用して、PC を操作していないときは CPU の最大プロセッサの状態を抑えることにした。

追記(2014/5/23): 室温が上ってきたので、元に戻した。やはり、BCLK Frequency 160 以上は難しい。

  • BCLK Frequency : 160
  • CPU Voltage Mode : Offset
    • Offset Voltage : Auto
  •  IMC voltage : 1.3

C1E, C-STATE を無効化してオーバークロック - Core i7 860 につづく…

 

関連記事

参考記事