アーキテクチャ刷新はワクワク・ビクビク?

 まもなく最初の製品がリリースされる、Nehalemこと「Core i7」。マイクロアーキテクチャの更新とプロセスルールのシュリンクを交互に行うインテルの「チックタックモデル」において、今回はマイクロアーキテクチャの更新を行う「タック」に当たる。

 前回の「タック」は2006年に発売されたCore 2シリーズだった。それまでのNetBurstシリーズとはまったく異なるマイクロアーキテクチャを採用して、低消費電力化とパフォーマンスアップを同時に果たした。CPUの歴史に残る名作といっても差し支えない製品を出した前回の「タック」があるから、次のCore i7にかかる期待が高くなるのも当然のことといえるだろう。

 今月にも発売される見込みのデスクトップ向け製品については、すでにパフォーマンスは公開されている。PC Watchにもテストレポートを掲載しているので、そちらもごらんいただきたい。

 ベンチマーク記事を生業の一つにしている筆者にとって、アーキテクチャレベルでの変更は結構ドキドキするものがある。「どんな性能が出るんだろう」という前向きなドキドキもあるのだが、むしろ、「どんな性能が出るのか分からない」という未知のテスト結果への不安が強かったりする。ワクワクとビクビクが同居するような状態というと分かりやすいだろうか。

 まったく新しいテスト(ソフトウェア)を使うときを除けば、テストする前にだいたいではあるが、どの程度の性能が出るかというのは予想ができる。もちろん、これは予断ではなくて想像というレベルの話なので、実際には想像と違う結果が出ることもあるのだが、なかでも新しいマイクロアーキテクチャが登場するときは、未知のファクターが多くて想像が難しい。

 そんななかCore i7のマイクロアーキテクチャは、前世代のCoreマイクロアーキテクチャを踏襲し、機能強化した格好になっている。つまり、性能が下がる要素が少なくて、ほとんどアプリケーションで安定的に性能を伸ばすと考えていた。結果的にその予想は外れて(笑)、やっぱり新しいアーキテクチャのテストは難しいなぁ……なんてことを感じたわけなのだが、良いほうに予想が裏切られた部分もある。

予想以上に素晴らしかった性能向上

 下に示したスライドは過去に行われたIntel Developer ForumからCore i7の性能面での特徴を示したものだ。ただ、ここで示されているのは分かりやすい部分であって、内部アーキテクチャの面でも細かな改良は行われている。ただ、分かりやすい部分ということで、このスライドの中からいくつかピックアップするとすれば、その筆頭に挙げたいのは、HyperThreadingとメモリコントローラの話である。

Nehalemのパフォーマンスに関する特徴を挙げたスライド

 HyperThreadingは一つのCPUコアで複数のスレッドを走らせるもので、NetBurst世代のPentium 4/Dなどで採用されていたもの。Coreマイクロアーキテクチャでは採用されなかったが、ここで改めて搭載されることになった。クアッドコアのNehalemの場合、HyperThreadingを有効にすることで、8スレッドが同時に処理可能。OS上で表示される論理CPUは8個になる。

 もう一つは、CPU内部へのメモリコントローラの内蔵だ。インテル製CPUは従来、メモリコントローラを内蔵せずにチップセット側に搭載させていた。CPU処理実行時に必ずといっていいほど発生するメモリアクセスの際にチップセットを介していたわけだが、CPUにメモリコントローラを内蔵することで、より広いメモリ帯域幅を得られ、メモリアクセス時の遅延も減らせる格好となる。言うまでもなく、このアーキテクチャで先鞭を付けたのはAMDであり、その効果も実証されている。少し消極的な見方をすれば、Core i7とは、Coreマイクロアーキテクチャという定評あるマイクロアーキテクチャを改良し、HyperThreading、メモリコントローラのCPU内蔵という、やはり定評ある技術を盛り込んだもの、と言えるかも知れない。ある意味、贅沢な作りではある。

 実際のベンチマークでも、メモリアクセス速度は前世代の製品の倍以上の差を見せてくれた。実際のアプリケーションでは、どうなのか、というと、並列化の効果が大きく(=HTが効果を発揮しやすい)、頻繁で膨大なデータ転送が起こる(=メモリ帯域幅拡大とレイテンシ削減の効果が出る)ようなシチュエーションでは、Core i7が大きく性能を伸ばす。

Nehalemを利用して動画エンコードをしているデモ。8コアが動作することで非常に高速に処理を終えることができるはず

 例えば3Dレンダリングの場合、CineBench R10は8スレッドの同時実行が可能ということで、最大4スレッドまでしか同時処理できないCore 2世代のクアッドコアよりも性能を大きく伸ばすことができる。似たような性質を持つアプリケーションとしては、動画エンコードもそうだ。エンコーダにも多少左右されるが、多くの動画エンコーダで性能を伸ばす結果となっている。

 特筆したいのは、この伸びが素晴らしいことだ。Core i7、Core 2それぞれの最上位モデル同士だと1.5倍以上の伸びを見せており、同一クロックで動作していることを考えると、アーキテクチャの変更や追加機能の実装による確かな効果が現れているといって良いだろう。

 また、Core i7は当初、三つのSKUが用意されるが、その最廉価モデルとなるのが2.66GHz動作のCore i7-920である。おそらく日本円では3〜4万円程度で販売されると思われるが、この製品が10万円(しかも1600MHz FSBというCore 2のなかでも特別にリッチな仕様)のCore 2 Extreme QX9770よりも高速に処理できるのだ。

 最上位モデル同士を比較した場合、前世代の製品を次の世代の製品が上回るのは珍しくない(むしろ当たり前だと思う)。ただ、CPUやGPUははっきり価格帯やユーザー層ごとにセグメントを区切っており、次世代では同じ価格でより高い性能が出る、とか、前世代の上位セグメント製品並みの性能、というのがわりと当たり前だった。だが、今回のCore i7-920は、3倍の価格差を跳ね返しているわけで、このハマったときの爆発力には凄いものを感じる。

Turbo Boostも手応えアリ。実は大胆なCPU?

 もう一つ、予想外だったのが、Turbo Boostの動きである。一部のコアがスリープモードに入った場合に稼働中のコアのクロックを段階的に引き上げるなど、CPUの熱設計の範囲内で最大限のパフォーマンスを出せるものである。モバイル用のCore 2 Duoにも搭載されていたもので、クアッドコア製品に合わせて、それを進化させたものがTurbo Boostだ。

 このTurbo Boostは、相当アプリケーションを選ぶと考えていた。例えば、使用スレッド数が少ないことがたびたび問題視されてきたゲーム用途などでは効果があるだろうが、先述した3Dレンダリングや動画エンコードのようにマルチスレッド化が進んでいるアプリケーションでは、各コアが頑張って動作している状態になるからTurbo Boostは効果が薄いだろう、と思っていたのだ。

 だが、実際は違った。アプリケーションがシングルスレッドとかマルチスレッドとか関係なく、想像以上に頻繁にクロックが上がる。Enhanced Intel Speed Step Technologyという省電力機能がCore 2などには搭載されており定格クロックをピークに動作クロックが上下したわけだが、Turbo Boostの動作も、実際はこれに近く、ピーククロックが定格クロックより上になったという印象だ。

 Core i7という製品は悪くいえば変化が小さいという見方もできる製品で、好評のCoreマイクロアーキテクチャを進化させるというアプローチを取った堅実な作りの製品ではある。しかしながら、いざ物が出てみると、性能や動きは「大胆」と表現したほうがしっくりくる、とても面白い製品になっている。この年末、パワーユーザーにとっては触りがいのある遊び道具になるのではないだろうか。

[Reported by 多和田新也]