11月14日、Intelは都内のホテルで記者会見を開催し、同社の最新製品となるハイパー・スレッディング・テクノロジ(Hyper-Threading Technology、以下HTテクノロジ)に対応したPentium 4 3.06GHzを正式に発表した。 3GHz超という、PC用CPUとしては前人未踏のクロックと、新技術のHTテクノロジにより高い処理能力を発揮することが期待できるため、これまで大きな注目を集めてきた。本記事ではそうしたPentium 4 3.06GHzの魅力にベンチマークテストなどを利用して迫っていきたい。
Pentium 4 3.06GHzは、0.13μmの製造プロセスルールに基づいて作られたNorthwoodコアを利用しており、CPUコアのステッピングは8月にリリースされたPentium 4 2.80GHzなどで導入されたC1ステップとなっている。基本的には従来製品の高クロック版だ。 L1キャッシュは12K μOPSのトレースキャッシュ+8KBのデータキャッシュ、L2キャッシュは512KB、システムバスは533MHzとなっており、この点も従来のNorthwoodコアのPentium 4と違いはない。 だが、1つだけ大きく違っている点がある。それがHTテクノロジを利用できるようになっていることだ。 以前、後藤弘茂氏がレポートしたように、Pentium 4プロセッサはすでにHTテクノロジが利用できるように設計されており、特にNorthwoodコアではHTテクノロジが有効になっていた。しかし、Pentium 4 2.80GHzまでは、論理プロセッサ(後述)が1つしか有効でない状態に、ハードウェアで設定されており、HTテクノロジは有効なのだが論理プロセッサが1つしかないため、実質的にHTテクノロジが利用できなかった。しかし、このPentium 4 3.06GHzでは、論理プロセッサが2つになり、HTテクノロジが利用できるようになった。これが従来のPentium 4との大きな違いとなっている。
さて、そのHTテクノロジだが、どういう技術なのだろうか? 簡潔に説明するのであれば「論理プロセッサが2つあることにして、マルチスレッドに処理を行ない、プロセッサ内部のリソース利用率を高めることで、CPUの処理能力を上げる技術」ということになる。これでは何を言っているかわからないという人も多いだろうから、もう少し詳しく見ていこう。 HTテクノロジに限らず、CPUの高速化が目指していることは、リソースを限界まで使う、つまりできるだけ演算ユニットの利用率を上げることで演算能力を上げ、処理能力の向上を目指すというものだ。古くはパイプライン化、スーパースケーラ化などの取り組みは、命令の実行レベルで並列化し、できるだけ実行効率を上げていくという手法だった。言ってみれば、工場のライン(CPUで言えばパイプライン)にできるだけ材料を詰め込んで、より多くの製品を作ろうという手法だったわけだ。 ところが、最近のCPUでは、入り口から材料を入れる際にほぼ限界といえるまで材料を詰め込んできたので、通常の方法ではライン(パイプライン)に材料(命令)を詰め込むことが難しくなり、ややスカスカになっていた。そこで、ラインにどうしたらより材料を詰め込めるか考え直してみた結果、新しい入り口を用意すればいいことを発見して、つけてみた。これがHTテクノロジの基本的な考え方だ。 図を使って考えていこう。図1はHTテクノロジのオン/オフ状態でのプロセッサの処理状況だ。HTテクノロジがオフの場合、論理プロセッサは1つしかないので、入り口は1つしかない。この場合、スレッドは順々に処理されていくことになるが、実際に処理を行なっているパイプラインはスカスカの状態で、あいている部分が少なくない。
そこで、入り口を2つ付けてみる。つまり論理プロセッサを2つつけたHTテクノロジがオンになっている状態では、赤の1つ目のスレッドと同時に、黄色の2つ目のスレッドも処理することが可能になり、パイプラインには赤と黄色で利用率が向上する。このため、HTテクノロジをオンにした場合にはこれまでよりも処理能力が向上するのだ。 HTテクノロジに対応したCPUでは、トレースキャッシュやTLBなどのフロントエンド部分を二重化したり、論理プロセッサで共有することができるように改良されており、その部分によりHTテクノロジに対応していない場合に比べて5%のダイオーバーヘッド(ダイの大化率)があるが、最適化された環境で25%もの性能向上があるとIntelは説明しており、その効果は決して小さくない。
ただし、このためにはいくつかの条件を満たす必要がある。1つはOSやアプリケーションレベルでマルチスレッド処理に対応し、かつHTテクノロジに最適化を行なう必要がある。 IA-32のアーキテクチャでは待機状態となったCPUでは状態をチェックするプロセスが走り続ける“アイドルループ”と呼ばれる状態に入ってしまい、2つある論理プロセッサのうち実際には利用していないリソースを占有してしまう。 そこで、OSレベルで“HALT命令”と呼ばれる命令を発行し、片側のCPUがアクティブになった時に他方がリソースを占有することを避ける必要がある。このほかにもタスクスケジュールにおいても最適化する必要があり、OSレベルでの最適化は必須といえる。 IntelはHTテクノロジに対応しているOSとしてWindows XP Home Edition、Window XP Professional、Linux カーネルバージョン2.4.18以降をあげている。マルチスレッドに対応したOSということでは、Windows 2000やWindows NT Version 4.0などもあるが、HTテクノロジ以前にリリースされていたため、これらでは最適なパフォーマンスでは利用できない可能性が高い。 実際、Windows 2000でHTテクノロジをオンにしたところ、Windows自体のインストールは可能で、マルチプロセッサとして認識されたが、WebMark2001を実行しても、HTテクノロジがオフの場合に比べて逆に結果が悪くなった。こうしたことからも、HTテクノロジを利用する場合にはWindows XPないしはLinux 2.4.18以降で利用した方がいいだろう。 また、HTテクノロジに対応したOSでは、マルチスレッドに対応していないアプリケーションでも効果が得られるはずだ。というのは、OSが複数のアプリケーションをマルチスレッドで動作させることができるようになるからだ。 ただ、これは複数のアプリケーションにそれなりに重い処理をさせない限り恩恵にあずかることはできない。1つのアプリケーションを利用している時に、HTテクノロジの恩恵にあずかるためにはアプリケーションレベルでマルチスレッドをサポートしている必要がある。AdobeのPhotoshopやPremiereなどワークステーションでも利用されるようなプロユースのアプリケーションは、マルチスレッドに対応しているものが多く、これらのアプリケーションを利用することでもHTテクノロジの恩恵にあずかることができる。 なお、Windows 9x系やWindows 2000などで、Pentium 4 3.06GHzとして利用したい場合には、BIOSセットアッププログラムでHTテクノロジをオフにすればよい。HTテクノロジに対応したマザーボードでは、BIOSセットアッププログラムの中に、HTテクノロジに関する項目が用意され、それを利用して有効、無効を設定できる。 Intel製のマザーボード「Intel D850EMV2R」では、BIOSセットアップの中に“Hyper-Threading Technology”という項目が現れ、“Enable”に設定することでHT有効に、“Disable”に設定することでHT無効に設定することができる。 なお、HTテクノロジをサポートするチップセットだが、Intel 845GのAステップをのぞく、システムバス533MHzに対応したIntelチップセットとなっている。つまり、Intel 850E、Intel 845E、Intel 845GE、Intel 845PE、Intel 845GV、さらに最近リリースされたIntel 845GのBステップとなっている。 これまで市場に流通していたIntel 845G搭載マザーボードはほとんどがAステップのチップを搭載しているため、使えない可能性が高い。なお、サードパーティのチップセット(VIA Technologies、SiS)がどうなるのかは、現時点でははっきりしていない。VIA Technologiesは、P4X400を搭載したP4PBの新しいリビジョンをリリースしており、そちらのバージョンはHTテクノロジに対応しているという。 また、チップセットと同時にマザーボードレベルでも対応が必要になる。具体的にはCPUに電力を供給するレギュレータが70Aの電力を供給できなければいけない。この70Aという仕様は、IntelがOEMメーカーに対して提示しているNorthwoodのデザインガイドであるNorthwood FMB2に含まれている仕様で、FMB2を元に作られたマザーボードであれば問題なく利用できる。ただ、外見からではそれがFMB2を元に作られた製品なのか、それより以前のデザインガイドであるFMB1なのかは判らない。従って、実際にはマザーボードベンダが公開している対応状況で判断するしかない状況だ。
それでは、ベンチマークを利用してPentium 4 3.06GHzのパフォーマンスを調べていきたい。最初に、筆者が本連載で通常利用しているベンチマークプログラムを利用して、定点観測を行いたい。 利用したのは、4ジャンル、7つのベンチマークだ。オフィスアプリケーションのSYSmark2002/Office Productivity、コンテンツ作成系のSYSmark2002/Internet Contents CreationとTMPGEnc Version 2.5、3Dアプリケーションの3DMark2001 Second Edition(Build330)、Quake III ArenaとComanche 4、WebアプリケーションのWebMark2001/B2Cの7つだ。なお、これ以外にも、SPEC Viewperf7の結果も計測しており、量が膨大になっている。結果は別ページにしておくので、興味があるユーザーは参照してほしい。 今回Pentium 4 3.06GHzのプラットフォームとして用意したのはIntel 850Eを搭載したマザーボード(D850EMV2R)で、PC1066とPC800の2種類のメモリでテストしている。なお、D850EMV2Rの最新BIOSは、HTテクノロジに対応しておりBIOSセットアッププログラムでHTテクノロジの有効、無効を設定することができるので、それぞれHTテクノロジが有効、無効のテストを行なった。HTテクノロジのオン、オフ状態はそれぞれWindows XPをクリーンインストールして実施している。 なお、比較対象として、2GHz以上のL2キャッシュ512KBの(つまりNorthwoodコアの)Pentium 4とAthlon XPの2800+~2000+までの結果を掲載してある。なお、WebMark2001はHTテクノロジがサポートされないWindows 2000でテストしているため、HTテクノロジが有効の状態の結果は掲載していない。 テスト環境は以下の通りで、結果はグラフ1~7の通りだ。 ■ベンチマークテスト環境
|
【グラフ1】SYSmark2002/Office Productivity | 【グラフ2】SYSmark2002/Internet Content Creation |
【グラフ3】TMPGEnc Version 2.5 | 【グラフ4】3DMark2001 SE/640x480ドット/32bitカラー(DXTC有効) |
【グラフ5】Quake III Arena/640×480ドット/32bitカラー | 【グラフ6】Comanche 4/640×480ドット/32bitカラー |
【グラフ7】WebMark2001/B2C |
結果は見ての通りで、グラフに掲載したすべてのベンチマークにおいて、Pentium 4 3.06GHzはトップとなった。HTテクノロジが有効、無効で入れ替わりはあるが、どちらにせよPentium 4 3.06GHzは、いずれもトップの地位を得ている。こうしたことからPentium 4 3.06GHzは現時点での最高性能のCPUだと言ってよいだろう。
なお、HTテクノロジが有効、無効の違いだが、Office Productivity(グラフ1)では同等、Internet Contents Creation(グラフ2)とTMPGEnc(グラフ3)ではHT有効が上回り、3DMark2001 SE(グラフ4)、Quake III Arena(グラフ5)、Comanche 4(グラフ6)ではHT無効がやや上回っているが差はほとんどないという状況だ。こうしたことからわかることは、Internet Contents CreationやTMPGEncなどのアプリケーションレベルでマルチスレッドをサポートしているソフトでは明らかな効果があり、3Dゲームなどでは若干性能が低下するということだ。
●アプリケーションによっては30%近い性能向上を見せるHTテクノロジ
それでは、アプリケーションレベルでHTテクノロジを有効にすることで、どの程度の性能向上があるのかを確認していこう。
【グラフ8】TMPGEnc Version 2.57 |
表1はPhotoshop 7のアクションファイルを利用したベンチマーク“HI-FI-Ultimate-Bench-PS7”で、HI-FI( http://www.hi-fi.jp/index@hi-fi.html )で配布されていたものを利用させていただいた。
このテストは、Photoshop 7で複数のフィルターをバッチ実行し、その実行にかかった時間を計測するベンチマークで、複数のフィルターをまとめて計測できる優れものだ。数値は時間で、ここでは、数字が小さければ小さいほどパフォーマンスが高いことを示している。
【表1:HI-FI-Ultimate-Bench-PS7】HTオン | HTオフ | ||
---|---|---|---|
Photoshop 7 | 雲模様 2 | 3.4 | 3.4 |
ノイズを加える | 0.6 | 0.5 | |
水晶 | 15.1 | 19.9 | |
モザイク | 0.9 | 1 | |
明るさの中間値 | 183.5 | 282.6 | |
アンシャープマスク | 3.2 | 3.3 | |
光彩拡散 | 11 | 11 | |
ぼかし (詳細) | 72.7 | 71.7 | |
シャープ(輪郭のみ) | 3 | 4.4 | |
ウォーターペーパー | 28.1 | 28.4 | |
ドライブラシ | 33.2 | 32.7 | |
輪郭以外をぼかす | 2.5 | 3.6 | |
クロム | 19 | 18.5 | |
墨絵 | 24.9 | 24.7 | |
明るさの最大値 | 29.7 | 40.6 | |
ハイパス | 7.4 | 8 | |
エッジの光彩 | 19.4 | 20.4 | |
ぼかし(ガウス) | 2.5 | 2.5 | |
逆光 | 2.4 | 3.1 | |
NTSC カラー | 2.8 | 2.8 | |
水彩画 | 21.7 | 21.4 | |
照明効果 | 2.3 | 2.3 | |
モード変換CMYKカラー | 4.1 | 4.6 | |
モード変換Lab | 8.7 | 10.8 | |
モード変換グレースケールモード | 2.5 | 2.8 | |
モード変換RGB | 1.4 | 1.5 | |
輪郭検出 | 2.6 | 4.2 | |
カラーハーフトーン | 3 | 2.9 | |
極座標 | 8.3 | 14.1 | |
押し出し | 92.1 | 89.9 | |
ハーフトーンパターン | 10.7 | 10.5 | |
クラッキング | 25 | 24.6 | |
プラスター | 14 | 14 | |
パレットナイフ | 28.6 | 29.9 | |
インク画 (外形) | 18 | 17.8 | |
拡散 | 85.4 | 84.5 | |
ぼかし (放射状) | 445 | 556.4 | |
合計 | 1238.7 | 1475.3 |
結果は見て判るように、マルチスレッド処理がされている“明るさの中間値”、“明るさの最大値”、“ぼかし (放射状)”といったフィルターで、大幅な時間の短縮がみられている。“明るさの中間値”では36%の短縮、“明るさの最大値”では39%の短縮、“ぼかし (放射状)”は20%の短縮と、大きく短縮していることがわかる(その反面逆に若干悪くなっているところもあるが、その差はわずかである)。トータルでは17%の短縮になっていることがわかる。
また、3DゲームのSerious Sam IIをウインドウで実行しながら、PowerPointのファイルを開いた場合、HT有効ではわずか4秒で開いたのに、HT無効では72秒もかかった。これはHTテクノロジの影響というよりは、HTが有効になることにより、プロセスの割り当てがうまくいっていると考えた方がよい。
というのは、HT無効だとバックグランドのSerious SamがCPUの割り当てで99%になっており、フォアグランドであるはずのPowerPointにうまくCPUが割り当てられず、時間がかかっていた。これに対してHT有効では、Serious Samは1つの論理プロセッサを使っていたが、もう1つの論理プロセッサが空いている状況であったため、うまくプロセスが割り当てられて実行できたわけだ。
●今すぐにでも恩恵が受けられるHTテクノロジだが、早期にローエンドモデルへの普及を望みたい
以上のように、HTテクノロジに対応したPentium 4 3.06GHzは、HTテクノロジに対応していなかったとしても現時点での最高性能のCPUであることは間違いない。
また、HTテクノロジに関してだが、ベンチマークの結果からもわかるように、マルチスレッドに対応したアプリケーションでは、場合によっては30%を超える性能向上を見せることがある。また、大事なことは、マルチスレッドに対応していないアプリケーションでも、複数のアプリケーションを同時に使えば恩恵にあずかることができる。ここはHTテクノロジのメリットであり、アプリケーションの対応が必須と言えるSSEやMMXとは大きく異なる部分だと言える。
こうしたことから、特に性能が仕事の能率に大きな影響をあたえるプロフェッショナルユーザーであれば、大きなメリットを受けることができる。コンシューマユーザーに関しては、コストパフォーマンスが問題になるが、Pentium 4 3.06GHzの価格は79,320円と決して安価ではなく、コストパフォーマンスはお世辞にもよいとは言い難い。コンシューマにとってもHTテクノロジは大きな恩恵があると思うので、できれば早期にローエンドに降りてくることを期待したい。
□バックナンバー(2002年11月14日)
[Reported by 笠原一輝@ユービック・コンピューティング]