『オーバークロックとCPUの作り方の関係』

はじめに

最近、オーバークロックという言葉を耳にします。オーバークロックとはCPU(またはGPUやChipset)を定格クロック以外で動かすことで、例えば300MHzのCPUを450MHzで動作させるというものです。CPUはクロックが高いほど高性能で高価ですから、300MHzの価格で買ったCPUが450MHzで動作すれば儲かったことになりますよね?

なぜオーバークロックができるのか?

ではどうしてこのようなことができるかかというと,、それはCPUの作り方に関係があります。

例えば100MHzと200MHzと300MHzのCPUを作るとします。この場合、100MHzをガッチャンガッチャン…200MHzをガッチャンガッチャン…300MHzをガッチャンガッチャン…と作っているわけではありません。まとめて、作ってどの程度の速さで動くか厳密にテストします。

  1. まず、100MHzで動作するかテストします。
  2. 100MHzで動いたものを200MHzでテストします。
  3. 100MHzでは動いたが、200MHzでは動かなかったCPUを100MHzとして出荷します。
  4. 200MHzで動いたものを300MHzでテストします。
  5. 200MHzでは動いたが、300MHzでは動かなかったCPUを200MHzとして出荷します。
  6. 300MHzのテストで動作したCPUを300MHzとして出荷します。

このようにしてCPUは周波数分けされます。メーカーとしてはたとえ出荷先での使用が過酷な条件でも目的のクロックで動作しなければ品質不良となってしまうので通常よりも悪い条件でテストします。逆にいえば、適切な環境下ならばさらに高いクロックで動作する可能性があるということです。(もちろん、できるかどうかは分からない。)

また、メーカーの戦略でより低クロックのCPUが人気だった場合、数合わせのために高クロックでも動作したCPUを低クロックとして販売する可能性も充分にあります。オーバークロックはこのようなCPUの可能性を試してみることなのです。

CPUのクロックと価格の関係

CPUメーカーはCPUの設計を見なおして高い周波数で動作するのに問題がある箇所(クリティカルパスと呼ばれる)を一つ一つつぶしていく作業をして、より高周波数のCPUがたくさんできるようにします。この作業で改良されたCPUの区別はS-Specと呼ばれるもの識別でされます。このS-Specが異なると同じCPUで同じ周波数でもすこし内部構造がことなるので、オーバークロック耐性が違ったり異なるS-SpecのCPU同士をデュアル動作させると問題が生じたりします。

高周波数のCPUが発売された当初は妙に高いのは、その高周波数で動作できるCPUの数が少なく価格が高騰してしまうからです。徐々に上記の作業や製造技術の向上で高周波数のCPUがたくさんとれるようになると数が増えて値段も下がるのです。

ちなみに、目的の周波数のCPUのとれる量を『歩止まり』と呼び、歩止まりが悪いというのは目的の周波数のCPUがあまりとれずに価格が高くなってしまうことを意味します。一般にチップの大きさが大きいと不良品の数が多くなるので歩止まりが悪くなる傾向があります。このため同じ設計のCPUでもプロセスルールを小さくするとチップの大きさが小さくなり歩止まりが良くなり価格が下がります。逆に同じプロセスルールでより高レベルのCPU(煩雑な設計のCPU)を作ろうとすると価格が高騰するのです。

Pentium と Celeron の関係

ところで、インテルはPentiumシリーズとCeleronシリーズを販売しています。実は最近のPentiumIIIとCeleron及びPentium4とCeleronは同じものからより分けられているようなのです。CeleronとPentium4の違いはFSBと二次キャッシュそしてDual動作や電圧です。

二次キャッシュは、例えばPentiumIII(Coppermine)は256KBでCeleron(Coppermine-128K)は128KBですが、実はCoppermineには256KB以上の二次キャッシュが搭載されているようなのです。二次キャッシュのうち256KB分が正常に動作したCPUはPentiumIIIへ、また256KBには足りなかったけど128KBは動作したCPUをCeleronとして販売しているようなのです。

また、通常コア電圧を上げると高いクロックで動作します。オーバークロックなどでもコア電圧を定格値より上げて(カツ入れ)より高クロックで動作するようにしたりします。しかし、電圧を上げると消費電力も上がり熱が発生し熱暴走などの危険性も出てきますし安定性が低下します。よって、より高い信頼性と安定性が求められるハイエンドクラスのパソコンに採用されるCPUであるPentiumIIIは同じクロックのCeleronより(ほとんどは)低い電圧で動作するようになっています。

つまり、PentiumIII用の電圧ではあまり高クロックで動作しなかかったCPUを定格のコア電圧を上げてCeleronとして販売したりするのです。 FSBについてもクロックと同様で厳密にテストしてPentiumIIIのFSBとして動作したものはPentiumIIIへ、そうでないものはCeleronとして販売されというワケです。

これをもとに Coppermain の振り分けを考えてみる。↓ = Yes / → = No

L2キャッシュが 256KB 以上使える。 L2キャッシュが 128KB 以上使える。 不良品
PentiumIII として耐えうる性能 Celeron として耐えうる性能 不良品
PentiumIIIとして出荷 Celeron として出荷

FSBや電圧などはCPU内に物理的に記録されていてマザーボードがそれを検知して動作するようになっています。 また、Dual動作もCeleronはCPU内にあるスイッチが物理的にOFFにして動作しないようになっているなっているようです。以前はその処理が甘く、CPUやそれを搭載するゲタを無理やり加工することでDual動作を可能にしてDualCeleron通称Duaronブームを巻き起こしたことがあります。つまりDual動作の非対応は意図的にPentiumIIIとCeleronの機能に差をつける目的でなされたことだというワケです。まぁ、ローエンド向けのCPUにデュアル動作の対応は不要というのはもっともなことですが。

オーバークロックのリスク

さて、オーバークロックはお得ですがリスクも負うことになります。まず、メーカー保障がなくなることと物理的にCPU等が破損する場合があるからです。消費電力=(電圧)2×(周波数) なので電圧が上がると消費電力が上がります。CPUはそれ自体が動き回ったりしないので消費電力はほぼすべて熱になります。つまりオーバークロックしただけで熱が定格の時よりもたくさん放出され熱暴走する可能性があります。また、カツ入れをして電圧を上げている場合はその差はクリティカルになるのです。場合によっては熱暴走では済まずにCPUが熱で故障する場合もあります。

特に危険なのはFSBのクロックアップで、最近のCPUは倍率が固定になっていて(オーバークロックの対策)オーバークロックのためにはFSBを変更する必要があることが多いです。ところが、チップセットが正式に対応するFSBは通常2,3種類で、それ以外のFSBを指定するとチップセットがオーバークロック状態になります。PCIバスはFSBの何分の一という風にクロックを生成しているのでFSBがオーバークロックになるとPCIバスもそれに繋がれた機器もすべてオーバークロックになってしまうのです。オーバークロックをしたらCPUは正常動作したが、PCIバスのクロックが上がったためにIDEのクロックも上がってHDDが耐えられなくなってデータが破損したという事例もあるようです。

さらにFSBのクロックアップ複数の機器をオーバークロックする事になり、その機器の一つでもオーバークロックに耐えられないと正常に動作しないためにオーバークロックに成功する可能性が低くなってしまいます。この点でCeleronはオーバークロックに優れているのです。 CeleronのFSBはPentiumIIIやPentium4のFSBよりも低い場合があります。もちろんマザーボードとチップセットはどちらも対応しているので、CeleronをPentiumIIIやPentium4のFSBの設定で動作させたらCPUのみをオーバークロックさせることができます。これがCeleron300AMHzが人気があった理由ですが、最近は低いFSBが仇となりFSB対クロックの倍率が高くなってしまっいました。このため少しFSBを高くしただけでクロックが大幅に大きくなり動作できないことが多くなっているようです。

いずれにせよオーバークロックはメーカーの保障外ですから壊れたり不都合が起こっても自己責任です。さらに体感速度というのは二倍から三倍にならないと感じられないとのことで、オーバークロックのほんの数%ではあまり違いは感じられないかもしれません。よってあまりお勧めできないのが実情なのです。

CPU以外でのあれこれ

同じようにシリコンを使ったチップではCPU以外の製品でも同じように製品の差別化が行われている場合が多くあります。メーカーとしては複数の製品を設計するのは費用も時間も掛かるので、このような方法で(いってみれば効率よく不良品の再利用をするワケだし)複数のラインナップを用意することが多いのです。

例えばGPUも周波数で多少ランク分けしてCPUよりも種類はずっとすくないですがLEやUltraなどとして周波数の異なる製品を出荷していたりします。もちろん原理が同様なのでCPUと同じようにGPUもオーバークロックできたりします。また、一部の機能を制限している場合もありますが、これはPentiumとCeleronとの関係と同じでしょう。

チップセットでも同じシリーズにグラフィック内臓のチップセットと非内臓のチップセットがあったりしますが、これはグラフィックコアが正常に動作するかどうかで選別していたりします。グラフィックコアはグラフィックカードと同様にある程度の周波数でグラフィックコアを動作させなければならないので、その周波数でコアが動作できない場合は非内臓のチップセットとして出荷されるというワケです。この他廉価版としてFSBや対応メモリが低クロックに限定されているのも同様です。

メモリでもSDRAMだとPC100やPC133などがありますが、これも全く同様でその速度で動くか動かないかで選別していることが多いです。ところがメーカーによって選別基準がことなるのでバルクのノーブランド品だとチェックが甘く条件がそろわないと規定の速度で動作しない(=問題が発生する)などトラブルが発生しやすいと言われる原因となっているのです。なお、この原理より分かるようにPC133のメモリをPC100やPC66で動かすことは当然可能で、その逆はオーバークロックとなり場合によっては可能な場合もあるというワケのです。これは一般にDDRSDRAMもDDR SDRAM同士で同様なことが言えます。