閑話休題 − Pentium4雑感

2000年11月にPentium4が発表になりました。
また2001年4月23日にはPentium4 1.7GHzが発表され、それと同時に出荷も始まりました。
2001年6月現在Pentium4搭載PCも徐々に市場に出回ってきているようです。
今回Pentium4 1.7GHz搭載PC(Intel 850チップセット)でのWindows Meに触れてみましたのでPentium4の簡単な紹介や個人的に感じたこと(雑感)などをまとめてみました。
(私の理解に誤りがあるかも知れませんがその点はどうぞお許しを)
尚、今回試用したマシンのビデオカードは2001年3月に発表になったASUSTeX Computer社のV8200(GeForce3搭載)を使っています。


(1)Pentium4の新アーキテクチャ(NetBurst)について

米国Intel社のホームページにPentium4のデータシートPentium4最適化リファレンスマニュアルが公開されていますので詳細はそちらを参照して下さい。
2001年6月現在出荷されているPentium4は423ピンパッケージソケットに収められている0.18-micron製造プロセスのものです。
年内には0.13-micronのものが出てくるようですが0.13-micronのものについてはピン数がもっと増える(478ピン)ので今現在の423ピンパッケージソケット搭載マザーボードでは使用できなくなります。
(この理由で現在購入を見合わせているユーザもいるのではないでしょうか)
データシートによると現在のPentium4は高性能デスクトップ向け、エントリレベルのワークステーション向けと明記されています。
サーバ用途のPentium4としてはキャッシュサイズの大きなものが予定されているようです。
(将来的には64ビットのIA-64がサーバ用途の本命になるのかも知れません)

Pentium4はPentiumVとの互換性はありますがPentiumVと比べると特にブロードバンドのインターネット環境でのオーディオ・ビデオを利用する局面で性能を発揮できるようです。

Pentium4の新アーキテクチャであるNetBurstマイクロアーキテクチャの主な特徴は次の通りです。
(NetBurstという名前からいかにもブロードバンドのインターネット環境で思いっきり性能を爆発させるようなイメージが沸いてきます)

これら以外にも分岐予測、高速浮動小数点演算処理、ハードウェアプリフェッチ(先読み)等の機構が組み込まれています。
SSE2に関しては従来のSSE(Streaming SIMD Extensions)に対して16バイトのXMMレジスタを使えるSIMD命令セット(movaps等)が144種類増えています(特に倍精度浮動小数点処理に強いようです)。
SIMD(Single-instruction,multiple-data)というのは一つの命令で複数のデータに同じ処理を並列実行させる機構ですのでそのSIMDの適用対象が増えたということは特に大量のマルチメディアデータを扱う場合にはかなりの性能が出そうな感じです。


(2)Pentium4の性能を発揮できる分野



(3)既存のアプリは速くなるのでしょうか

Pentium4のデータシートにはPentiumVと互換性があるとは書いてありますが従来のアプリ(例えばオフィス系ソフト)が高速になるとは書かれていません。
所詮、思考時間の方が長いオフィス系ソフトではその動作性能を高速にしてもあまり作業効率が上がる訳ではないのでオフィス系ソフトの高速化についてはIntelはあまり追求していないのかも知れません。
実際Pentium4 1.7GHzのPCでOffice2000を使ってもPentiumV 1GHzの場合よりも特に高速には感じませんし、Photoshop 6のゆがみコマンドのワープツールを使ってもそれほど高速とも感じません。

ところでPentium4が出始めた当時はちょっと誤解があったように思います。
その誤解というのは「従来のアプリをPentium4で実行させてもPentiumVとのクロック数比に応じた性能が出る」といったものでした(ちょっと極端かも知れませんが...)。
基本的にPentium4のアーキテクチャから見れば従来ソフトの最適化なしでは高速化はそれほど望めない代物のようです。
ここでの「最適化」とは直接・間接的にNetBurstアーキテクチャのメリットを受けられるようにプログラムを変更することを意味します(間接的とはDirectX 8.0a用のAPIなどを使用することです)。


(4)どうすればPentium4の性能を発揮できるのでしょうか

Pentium4最適化リファレンスマニュアルにも最適化のための具体的な例(アセンブリ言語の例)が書かれていますが基本的にはSSE2の有効活用によりPentium4の性能を発揮できます。
Intelが公開しているベンチマークテストプログラムの一部はPentium4対応のIntel C++で書かれているようですがまずコンパイラ自身がSSE2の命令を生成する機能をサポートすることが必要になってきます(アセンブリ言語で組まれているアプリはほとんど無いでしょうから)。
ところでIntelが公開しているJavaのベンチマークテスト(WebMark2001)ではPentium4 1.7GHzはPentiumV 1GHzよりも約1.4倍の性能が出ているようですがベンチマークに使用しているJVM(Java Virtual Machine)がPentium4に最適化されているのかどうかについては定かではありません。
既にPentium4に最適化したコード(と言うかDirectX 8.0a対応?)を埋め込んだアプリケーションも出始めているようです(VideoStudio5, Shockwave 8.5, RealPlayer 8等)。
ちなみにPentium4だからと言ってもWindows Meを使う環境では128MBを超えるメモリを搭載してもほとんどメモリ増強のメリットはありません(これはWindows Meの処理構造から来る特性です)。


(5)PentiumVは無くなるのでしょうか

PentiumVはそのアーキテクチャの限界に来ているようですので最大でも1.2GHz止まりではないでしょうか。
Intelのホームページには今後もPentiumVを提供し続けるとは書いてありますが、多分Intelの戦略としては将来的にはPentiumVからPentium4へのシフトを狙っていると思います。
しかしCeleronの高速化は今後も続くようですので一般のオフィスで使用するPCとしてはCeleronで十分間に合うと思われます。
家庭などでマルチメディアを楽しみたくてかつPCを買い替えたいのでれば性能的に頭打ちのPentiumVでは無くPentium4がいいのかも知れません。


(6)Pentium4搭載PCの購入タイミングは?

米国Intel社のPentium4関連のFAQに「Pentium4搭載PCは今買わなければならないのか?」といった質問に対する答えがあります。
答えは「買い時というものはありません。欲しい時に自分の予算に合った最強のパワーをもつPCを購入することをお勧めします。」だそうです。
Pentium4購入のタイミングについては私にもよく分かりませんが、年内にはPentium4搭載PCの価格はPentiumV搭載PC並にはなるでしょう(期待も込めて)。


(7)他のメーカーのCPUと比べてPentium4の性能はどうなのでしょうか

アーキテクチャの違うマシン同士を比較した場合の有意性については多少疑問もありますが既存のベンチマークテストプログラムを使っての「AMD AthlonとIntel Pentium4性能比較」ではPentium4の性能の方が見劣りする結果報告が出ているようです。
既存のベンチマークテストプログラムではPentium4に最適化されたものとは思われないのでPentium4に最適化したと明記されたベンチマークテストの結果を参考にした方がよいでしょう。
とは言っても他のメーカーもいずれはNetBurst対抗のアーキテクチャを採用したCPUを開発してくるでしょうからその時点での性能比較の方がより参考になってくるかと思われます。

しかしいろんなメーカーが新アーキテクチャのCPUを市場投入してくると一つのアプリでマシン種別を判定しながら実行する命令を変えるようなコードを書いていくのは大変になります。
そのうち「Pentium4専用」というような但し書きのついたアプリが現れてくるかも知れません。
そうなると今後はソフトウェアメーカーも大変です(MacのPowerPC版, x86互換版, Pentium4専用版,...)。
単に「Pentium4対応」と言えば「Pentium4に最適化したものでx86互換モードでも動作可」ということにでもなるのでしょうか。


(8)GeForce3搭載カードと組み合わせたグラフィックス性能

GeForce3搭載カードと組み合わせたグラフィックス性能こちらです。