『PentiumIIIとPentium4のどっちが速い?』

はじめに

新しいもの = 速い ハズ…。そう考えている方が多いと思います。PentiumIIIとPentium4は多少これが通用しないです。まず、この二つのCPUの違いについて、誤解されそうな点から説明して行きます。

PentiumIIIよりPentium4の方が新しい技術で作られている?

まず、同じCPUでも複数の種類があるのです。PentiumIIIは、Katomai・Coppermain・Tualatinの三種類が存在し、プロセスルール(配線技術)は、それぞれ0.25μm,0.18μm,0.13μmです。Pentium4にはWillamette・Northwoodの二種類(2004年あたりに新しいTejasというやつが出そうですが)が存在し、,プロセスルールはそれぞれ0.18μm,0.13μmです。

つまり、どちらも同じ世代の技術で作られていたのです。しかも、はじめに 0.13 ミクロンプロセスルールに移行したのはPentiumIIIの方です。これは新しい技術はまず古いCPUで練習をして新しいCPUにその技術を使うという手順を踏んだ方が安全性が高いからです。

Pentium4の方がバスクロックが速い?

この点は誤解している方が多いようですが、PentiumIIIのバスクロックは100と133MHzで、Pentium4も同じです。ただし、PentiumIIIは1クロックあたりに一回しかデータを送らないのに対し、Pentium4はクロックの立ち上がりと立ち下がりに一回づつ、さらにクロック信号と半周期ずらした信号を送りそれに対してもクロックの立ち上がりと立ち下がリに一回づつ信号を送るので転送できるデータ量はPentium3の4倍となる400MHz、533MHz相当になります。でも、バスクロックが400MHzと 533MHz なわけではありません。

余談ですが、ライバル会社のAMDのAthlonなども同じような手法を用いて、バスクロックの2倍のデータを送ってます。メモリに同じ手法をとったのがDDR SDRAMです。DDRはダブルデータレート(二倍のデータ幅)という意味です。

PentiumIIIとPentium4のどっちが速い?

これは一口には言えませんが、同じ周波数同士を比べたらPentiumIIIの方が速いと言えます。(ハイパースレッテリングに対応したCPUは別)これは、内部構造が全く異なることが原因です。 CPUの速さには、一秒間に計算できる数とその計算の精度があります。一秒間に計算できる数が周波数ですが、実はPentium4はPentiumIII比べて計算の精度が悪いのです。

CPUは並列処理(パイプライン処理)というのを行っています。複雑な計算をするときに簡単な計算に分けて計算します。一個目の計算が終わったら、その計算結果を元に二個目の計算をして、その計算結果を元に…と計算するのです。PentiumIIIは10段(人によっては12段という)でPentium4は20段に分けて計算します。ところが、実際にはもっと効率を上げるために先読みという技術を使って答えを予測して前の計算が終わる前に計算を始めてしまうのです。一個目の計算が終わる前に一個目の計算結果を予測してそれを元に二個目の計算を、二個目の計算が終わる前に二個目の計算結果を予測して三個目を…と計算をしていきます。だから、より予測をたくさんするPentium4の方が計算が速くなりまた外れる確率も高くなるのです。計算を間違えたらその計算を最初からやり直さなければならないのでその分実際に計算した数よりも答えの数が少なくなります。したがって周波数が同じなら計算精度の高いPentiumIIIの方が速いのです。

ただし、Pentium4にはSSE2とよばれるPentiumIIIには実装されてないマルチメディア系の専門計算機構があり、それを利用するアプリケーションを使うときはこの限りではありません。また上でも述べた通り、メモリとのデータのバス幅が広いのでメモリと大量のデータをやり取りするアプリケーションについてもPentium4が有利なことが多いようです。いずれにせよ、新しいCPUの方が無条件で高性能とは限らないのです。

余談ですが、ライバル会社のAMDは最近になって自社のCPUを周波数ではなくモデリングナンバーというグレードで販売しています。これは、AMDのアスロンなどの計算の精度はPentiumIIIとほぼ互角なので、Pentium4と比べたとき性能が同じでも周波数が低くなってしまうのです。消費者の大半は周波数=性能と思っている人も多いらしく周波数が高いPentium4を買ってしまうのです、性能は同じなのに。よって、Pentium4と比べたらこの程度の製品と同じ性能ですよ、という目安としてモデリングナンバーというのを採用したわけです。だいたいこれは正確な値のようで、AthlonXP 1900+ の実周波数は1600MHzとのことです。

さらに、余談ですがモバイルノートパソコン(持ち運びを前提に作られた小型のノートパソコン)にPentium4が採用されにくいのもこれが原因です。CPUの消費電力は、(周波数)と(電圧の2乗)に比例します。 つまり、同じ性能の場合Pentium4の方がPentiumIIIより周波数が高いので消費電力が高くなりバッテリー駆動を前提にした小型ノーパソでは採用されにくいのです。さらにCPUはそれ自身が走り回ったりしないので、消費した電力は純粋に熱に変換されます。よって放熱の観点からも小型ノートや省スペースパソコンには向かないのです。

Pentium4はマルチメディアに強い?

これは正解といえるでしょう。マルチメディアの計算は単純な計算を膨大な量する必要があるのです。逆にビジネスアプリケーションは複雑な計算を少量こなせばいいのです。さて、先ほどの計算の精度が悪い原因は先読みによるミスが多くなるからという理由を考えると、単純な計算=予測がつき易い=計算ミスが少なくなるとなるのが分かります。逆にビジネスアプリケーションは計算が複雑になるのでPentium4は計算ミスをする確率が上がります。逆に計算する量はたいしたことがないので周波数が低めのPentiumIIIでも充分にこなすことができるのです。

PentiumIVとPentium4どっちが正解?

正解はロゴを見れば分かりますが、Pentium4が正解で逆にPentiumIIIは『III』です。PentiumIIも『II』でした。ではいったいなんでPentium4だけアラビア数字なのでしょう?特に意味がない?そんなことはないのです。

PentiumIIとPentium Pro及びCeleron 1.4GHz 以下はすべてP6アーキテクチャと呼ばれるコアの設計を使ってます。P6バスアーキテクチャとはPentiumProの為に設計されたコア(P6はPentium Proの開発コードネーム)で、それに二次キャッシュに手を加えてMMX機能をつけてパッケージを変えたのがPentiumIIで、PentiumIIから二次キャッシュを限定したのがCeleronで、SSE機能を追加したのがPentiumIIIなのです。つまりがもともと同じ設計のCPUに改善や増強を加えていろいろなラインナップを作っていたシリーズなのです。

しかし、Pentium4は違います。NetBurstコアと呼ばれるあらたな設計を用いて作られたCPUです。よって先ほどのようにパイプラインの数やメモリバスの大きさが違ったりするのです。つまりIntelとしてはローマ数字がアラビア数字に変わったのはCPUにそれだけ大きな革新が行われたからだということが言いたかったのでしょう。