テストレポート
Sandy Bridgeがやってきた!〜プロセッサの基本性能は順当に向上
Sandy Bridgeの製造に用いられるプロセス技術は32nm High-k。置き換え対象となるのは,Core i7-900番台を除くデスクトップPC向けCore iシリーズと,ノートPC向けのCore iシリーズ全部だ。デスクトップPC向けのハイエンドCPUとしてはCore i7-900番台が引き続き置かれる。
ブランドごとの主な違いは下に示したとおり。負荷状況に合わせた自動クロックアップ機能として知られる「Intel Turbo Boost Technology」(以下,Turbo Boost 1)がCore i5以上でサポートされるのは従来どおりだが,Sandy Bridgeではこれが「Intel Turbo Boost Technology 2.0」(以下,Turbo Boost 2)になったのが目を引くところだ。
一方,デスクトップPC向けCore i5(の一部)という例外を除き,基本的に「Intel Hyper-Threading Technology」(以下,HTT)をサポートし,最大で4コア8スレッド処理になるといったあたりは置き換え対象となる従来製品から変わっていない。
グラフィックス機能を統合したIntel製プロセッサというと,CPUダイと,グラフィックス機能統合型ノースブリッジをMCM(Multi-Chip Module)とを1パッケージに収めたClarkdale&Arrandaleコア版Core iプロセッサをイメージする読者も多いと思うが,Sandy Bridgeでは,両者が1つのダイで完全に統合されているのが大きな特徴となっている。
そんなSandy Bridge,発表当初のラインナップは下のスライドに示したとおりのものになる見込みだ。プロセッサ・ナンバーが4桁になったことと,デスクトップPC向けSandy BridgeでExtreme Editionが用意されない代わりに,Lynnfieldコア版Core i7&i5と同様,倍率ロックフリーの「K」シリーズが用意されたのはトピックといえるだろう。
以下,デスクトップPC向けCPUに絞って話を進めると,CPUパッケージはLGA1155。置き換え対象となるLGA1156とはパッケージサイズが同一ながら,切り欠きの位置が異なるため,互換性がない。そのため,Sandy Bridgeを利用するには,LGA1155に対応したマザーボード,具体的にはIntel 6シリーズ搭載モデルが必要になる。
MSI製のP67マザー「P67A-GD65」と組み合わせて検証
P67A-GD65については,製品概要を2010年11月22日の記事と同年12月14日の記事でお伝えしているので,詳細はそちらを参照してほしい。簡単にまとめてみると,MSI独自の品質規格「Military Class II」をクリアしているのが大きな特徴。同社製マザーボードの中上位モデルでおなじみ,「DrMOS」仕様となる6+1+1フェーズ構成の電源部や,自動オーバークロック機能「OC Genie II」,ボード上各部の電圧をテスターなどで直接測定できる「V-Check Point」,最大で+5V 1.5Aを供給できるUSBポート「Super Charger」なども,ハードウェアレベルの見どころとなる。
また,Intel 5シリーズ世代からの大きな変更点としては,BIOSがUEFI(Unified Extensible Firmware Interface)ベースのユーザーインタフェースへ一新されていることにも触れておきたい。
グラフィカルなメニューによるBIOS設定は,マウスでの操作が可能。メニューには言語として日本語も用意されるなど,設定内容が非常に分かりやすく仕上がっている。マウス操作にややクセがあり,それに慣れる必要は感じたものの,UIが変わっても,オーバークロック関連の設定など,項目自体は従来と変わっていない点や,一方で従来型のBIOSにあった「ストレージ容量2TB超の壁」を突破するなど,機能面の拡張が図られている点は歓迎できそうである。
CPU 4製品の主なスペックは表1のとおりである。
このほか,テスト環境は表2のとおりだ。グラフィックスカードに用いている「R6870 Twin Frozr II」はメーカーレベルのクロックアップが施されたモデルだが,今回はそれがとくに問題となる可能性は低いと考え,カードの規定クロックであるコア920MHz(※リファレンス比+20MHz)のままテストを行う。
また,LGA1156パッケージのCPUと組み合わせるマザーボードは,MSI製の「Intel P55 Express」搭載モデルから,P67A-GD65と製品の位置づけが近い「P55A-GD65」を選択している。
OSは,32bit版Windows 7 Ultimateを用いた。2010年12月28日の記事で明らかになっているように,4Gamer読者におけるWindows 7ユーザーのうち,全体の3分の2が64bit版を用いているため,今後は4Gamerとしても64bit版を軸に考える必要があるのだが,ゲームを含め,64bitネイティブのアプリケーションはまだ少なく――というか,今のところ“編集系”を除くと皆無に近く――32bitコードの性能が重要であり,また,オーバーヘッドなしに32bitコードの実行性能を見たいという判断から,今回はあえて32bit版を選択している。
ここで,本稿におけるチェックポイントをまとめておこう。
まず,最も重要なのは,「CPUコアそのものの性能が向上したのか」という点だ。コアアーキテクチャの改善による性能向上幅は小さくなりつつあるという見方もあるなか,「コアを改良した」とされるSandy Bridgeでどの程度の性能向上を実現しているのかは,調べる価値がある。
また,バージョン2.0へ引き上げられたTB2の挙動も調べてみる必要がありそうだ。前世代と何が違い,何が期待できるのかを,重点的に検証してみたい。
総合ベンチマークで見るSandy Bridge
最初は,PC性能の総合ベンチマークソフトである「PCMark Vantage」(Build 1.0.2)を使って,CPU性能が向上しているかどうかを見てみよう。
ここでは,Turbo Boost 2およびTurbo Boost 1は無効化。また,なるべく近い動作クロックで挙動を確認すべく,i7-875Kの動作倍率を26倍,動作クロック3.46GHzへ引き上げた状態を「i7-875K@3.46GHz」としてもテストしている。また,比較の意味がないと思われるため,「HDD」のテストは省略した。
というわけでグラフ1は,HTTを無効化して実行した結果だ。
総合スコアを見ると,面白い結果になっているのが分かるだろう。3.46GHz動作するi7-875Kよりも,3.40GHz動作のi7-2600Kや3.30GHz動作のi5-2500Kのほうがスコアが高いのだ。HTTやTurbo Boost 1&2といった負荷機能を無効化しても,ほぼ同じ動作クロックの前世代品に対して20%程度高いスコアを示していることからは,プロセッサそのものの性能が向上している可能性が感じられよう。
ただ,個別のスコアを細かく見ていくと,話がそう単純ではないことも分かる(グラフ2)。
目を引くのは「Communications」で,Sandy Bridgeの2製品と,Clarkdaleコアを採用したi5-655Kのスコアが,Lynnfieldコアを採用したi7-875Kのスコアを大きく上回っていることだ。
実のところ,PCMark VantageにおけるCommunicationsの結果は,AES-NI(Advanced Encryption Standard - New Instructions)サポートの有無に大きく左右される。
AES-NIは,AES暗号のエンコード/デコード命令セットで,いわばAES暗号アルゴリズムのアクセラレータである。AES-NIは,ClarkdaleとArrandale,GulftownコアのCore iシリーズでサポートされる一方,LynnfieldやBloomfieldコアでは非対応。AES暗号はSSL通信で利用されることから,Commnicationsに含まれるテストスイートでも重点的にAES暗号の性能がチェックされており,それが,こういった結果を生んでいるわけだ。
そこで,Communications以外に目を移してみると,総合スコアに見られるほど,i7-875K@3.46GHzとSandy Bridgeの違いは大きくないことが分かる。「Music」や「Productivity」では,3.30GHz動作のi5-2500Kがi7-875K@3.46GHzを上回る一方,「Gaming」でスコアの逆転が生じているのが気になる人もいると思う。
PCMark Vantageにおける「Gaming」テストスイートはややクセがあり,一般的なゲームタイトルを用いたテストよりも,CPUのマルチスレッド性能がスコアを左右しやすい。そのため,実際のゲームにおける性能は,追って掲載するレビュー記事を参照してほしいが,「Gaming」テストで,こういう結果になった理由は,探ってみる必要があるかもしれない。
そこで,4つのテストから構成される「Gaming」スイートで,スコアを細かく見てみると,重いAI処理が含まれ,CPUの演算性能が占める割合がとくに高いとされる「Gaming 4」の,「CPU Gaming」テストに特徴的な結果が現れていた。
それをピックアップしたものがグラフ3だが,ご覧のとおり,Sandy Bridgeの2製品は,i7-875K@3.46GHzに逆転を許してしまっている。もちろん,この結果だけで「Sandy BridgeのCPU演算性能は期待はずれ」とするのは早計であるものの,このあたりに何かがあるのは確かなようだ。
その「何か」探求は後回しにするとして,HTTを有効化したらどうなるのかも見ておくことにしよう。従来のCore iシリーズでは,HTTの有効/無効時で,パフォーマンスの違いはそれほど大きくないというのが一般的な認識だと思うが,グラフ4は総合スコアと詳細をまとめたもの,そして表3は,HTT無効時からのスコア伸び率をまとめたものになる。
i5-2500KはHTTに対応しないため,ここではスコアを省略しているが,i7-2600Kのスコアを見る限り,Sandy BridgeはLynnfieldよりも「Gaming」のスコア伸び率が若干高く,また,Lynnfieldでマイナスの影響が生じた「Memories」で,Sandy Bridgeだとそういった現象は生じていないようだ,とはいえるものの,「Sandy BridgeだからHTTの効率が改善した」といったことまでは言えそうにない。PCMark VantageのようなPC性能の総合テストだと,HTT周りにそう大きな違いはないという認識でよさそうである。
Sandy BridgeはSSE命令セットがやや苦手か?
AIDA64に含まれるテストは,大半がマルチスレッド化されており,コア数に大きくスコアが左右される。そこで,2コアのi5-655Kはあくまでも参考程度としてHTTを無効化した状態のみでスコアを取得し,残りではHTTの有効/無効両条件でスコアを取ることとした。Turbo Boost 2&1はいずれも無効化済みだ。
整数演算主体のテストから見ていこう。
グラフ5の「CPU Queen」は,「N-Queen問題」という,古典的な問題を解くベンチマークで,分岐予測能力と分岐予測ミス時のペナルティを見るもの。AIDA64ではN=10になっている。SSE命令に最適化されているとのことなので,SSEの整数演算能力を見るテストといったところだが,ここではHTTを無効化したi7-2600Kとi7-875K@3.46GHzでスコアの違いがそれほどない。
一方の「CPU PhotoWorxx」は,写真加工のベンチマークながら,整数演算とSSEの整数ベクトル演算のみを行うテストで,ここだとHTTを有効化したi7-875K@3.46GHzよりもi5-2500Kが約19%高いスコアを示した。
面白いのは,FPU(≒浮動小数点演算)系のテスト結果をまとめたグラフ6だ。ご覧のとおり,「FPU VP8」を除くすべてのテスト項目で,Sandy Bridgeのスコアは芳しくない。いや,正確を期せば,動作クロック分の性能向上は実現しているのだが,同一に近いクロックで従来製品と比較すると,やや不利なスコアになっている。
「FPU VP8」を後回しにして見ていくと,まずFPU Juliaは,単精度浮動小数点形式で処理するジュリア集合(※マンデルブロ集合の一種)のテスト。SSE命令に最適化されているが,ここでHTTを有効化したi7-2600Kは,HTTを無効化したi7-875K@3.46GHzに届いていない。
「FPU Mandel」は64bit倍精度浮動小数点でマンデルブロ集合の計算を実行するテストで,これもSSE命令に最適化されているとのこと。もう1つの「FPU SinJulia」は,「FPU Julia」と同じジュリア集合の処理テストだが,80bit拡張倍精度浮動小数点数が用いられており,演算にはトラディショナルなFPU命令が使用されているが,i7-2600Kと[email protected]の力関係は「FPU Julia」と同じだ。
そして「FPU VP8」だが,これはOn Technologyが開発し,現在はオープンになったビデオコーデック「VP8」のエンコードを実行するテスト。内部で使用されている命令セットは不明ながら,ビデオコーデックなので整数演算が占める割合もそこそこ大きいと思われ,その分がスコアに上乗せされた結果,ほかの3つとは傾向が異なるのだと思われる。
要するに,Sandy Bridgeのスコアが振るわないテストには,いずれも浮動小数点演算が使われているわけである。
それを踏まえると,AVXのための拡張が,既存の浮動小数点系の命令セット――SSEやFPUの命令セットの実行に,何らかのオーバーヘッドをもたらした可能性があるように見えるのだ。
そして,そうだとすると,PCMark Vantageで見られた,「Gaming」テストのうち,CPU負荷の高いテストでSandy Bridgeの成績が振るわなかった理由も,このオーバーヘッドにあると求めることができる。
PCMark Vantageの「Gaming」に含まれるテストで中心的に使用されている命令セットは不明だが,Gaming 4で比重が置かれているAI処理はベクタ演算系の命令なので,SSEが中心的に使われている可能性は十分にある。Sandy Bridgeで,浮動小数点演算を含むSSE命令セットのパフォーマンスが若干落ちているとすれば,PCMark Vantageの結果も,それなりに納得できるだろう。
さて,AIDA64におけるそのほかの結果も見ておきたい。グラフ7は,整数演算系のテストで,圧縮アルゴリズムの代表的なライブラリである「Zlib」のスコアとなる。
ここで,Sandy Bridgeのスコアは前世代比で順当な伸びを見せ,これまでに示した整数演算系のテストとほぼ同じ傾向を示している。
残る整数演算系のテストは「CPU AES」だが,このテストもAES-NIに対応していることから,AES-NIのサポートの有無で,スコアが二分される結果になる(グラフ8)。
ここまでをいったんまとめると,
- 整数演算命令主体のテストでは,同クロックのNehalem系に対して順当に性能が向上している
- SSEやFPUといった一部の命令では,Nehalem系からさほど変わっていないか,やや分が悪い部分もある
と述べてよさそうだ。実のところ,SSEやFPU命令の比重が大きいアプリケーションというのはゲームも含めてほとんどない。したがって,ほとんどのアプリケーションでは,同クロックの既存製品よりSandy Bridgeのほうがパフォーマンスは高くなるはずである。
一方,Sandy Bridgeではプロセッサ内部の構成も大きく改良された。4基のCPUコアそれぞれに用意されたLLCとグラフィックス機能,ノースブリッジ機能を提供する「System Agent」がリングバス――Intelは「Ring Interconnect」としているが,本稿では通りのいいリングバスで統一する――で接続されているのだ。
リングバスは,クロスバースイッチなどと比べてはるかにシンプルな機構で高速なデータのやり取りが可能になる一方,バスに接続されたデバイスが一方向へ順にデータを受け渡していく形を取るため,最悪の場合,データ経路が非常に長くなって,オーバーヘッドが生ずるという欠点もある。
この改良版リングバスがIntelの目論見通りに機能すれば,LLCやPCI Express,メモリコントローラなどのレイテンシが大きく改善すると期待できる。そして,AIDA64のメモリテストでは,それを窺わせる結果が出た(グラフ8)。
AIDA64のメモリテストでは,リード,ライト,コピーというシンプルなテストしか行われないが,それでも,「Sandy Bridge世代では,i7-875Kに対してスコアが伸びている」と分かるだろう。テストでは同じメモリモジュールを用いており,設定も合わせていることから,この違いは,LLCを含むCPU内インターコネクトの性能差によっているという可能性がある。
そこで,続いてはメモリ周りの性能を重点的に「Sandra 2011」(Version 17.25)で調べてみることにしよう。
Sandy Bridgeのキャッシュ&メモリ周りは優秀
Sandra 2011用意されたCPUやメモリ周りのテスト結果を,順に見ていきたい。
ここでは,2コアのi5-655Kを省き,4コアモデルのみでテストを行う。スコアの不定要因になり得るTurbo Boost 2&1は無効化し,また,メモリ周りのテストはシングルスレッド処理になるため,HTTも無効化している。
さっそくだが,グラフ10は演算性能を見る「Processor Arithmetic」のテスト結果だ。「Dhrystone」は整数演算の古典的なテスト,Whetstoneは浮動小数点の古典的なテストで,前者はSSE 4.2,後者はSSE3が使われているとされる。
結果を見ると,「Dhrystone」はi7-875K@3.46GHz,「Whetstone」はi7-2600Kがそれぞれトップに立った。
「Whetstone」でSandy Bridgeのスコアが高いのは,AIDA64の結果と異なるが,グラフ11に示した「Processor Multi-Media」だと,AIDA64の結果を踏襲した傾向が見える。
ここでは,整数,単精度浮動小数点数,倍精度浮動小数点数,3通りの演算を行い,SSEのピクセル処理性能を見ているが,いずれもトップスコアを叩き出したのはi7-875K@3.46GHzだった。「Whetstone」のような結果が出ることもあるが,基本的には,ほぼ同じクロックで比較した場合,LynnfieldのほうがSandy Bridgeよりも浮動小数点演算性能は高いと見るべきだろう。
グラフ12に示した「Multi-Core Efficiency」は,CPU各コア間におけるデータ転送性能を見るテスト。誤解のないよう付記しておくと,多くの場合,コア間のデータ転送はキャッシュまたはメインメモリ経由になる。コア間で直接的にデータをやり取りする命令はなく,同じメモリ領域をリード/ライトしてデータを受け渡す形が普通だからだ。
そこを押さえつつ見てもらえればと思うが,i7-2600Kとi5-2500Kは,LLCまでに収まり,かつデータブロックサイズが極端に小さくはない領域で,i7-875Kに対し大きなパフォーマンス向上が見られる。Sandy Bridgeのリングバス性能が効果的に出ていると見るべきだろう。
キャッシュサイズが6MBとなるi7-2500Kでは,4×1MBで大きな落ち込みが見られるのも興味深い。データブロックサイズは6MB以内に収まっているが,共有するデータ以外にもキャッシュが使用されることや,各コアのL2キャッシュ間で頻発するキャッシュコヒーレンシの動作がリングバスを圧迫するためかもしれない。
また,i7-2600Kとi5-2500Kで,キャッシュを外れる領域では6GB/sにぴったり揃うのも興味深いところだ。Sandy Bridge内部構成の特性がここにも出ているのだと思われる。
メモリバス帯域幅を計測する「Memory Bandwidth」は,AIDA64のメモリテストをほぼ踏襲する結果になった(グラフ13)。具体的には,Sandy Bridgeのスコアがやや高めだ。キャッシュなどを中心とした性能面の違いが,この差を生んでいるのだろう。
続く「Memory Latency」では,L2キャッシュに収まる256kBブロックサイズまでだと,新旧のプロセッサでスコアの違いは誤差範囲内でほぼ一致。一方,LLCの範囲となる1MBブロックや4MBブロックでは,Sandy Bridgeのほうがレイテンシは明らかに小さくなった(グラフ14)。これもリングバス性能の顕れと見てよさそうだ。
キャッシュを外れる領域だとレイテンシは再び一致するが,同じメモリモジュールを同じレイテンシ設定で用いている以上,この結果は当然といえる。
キャッシュ及びメモリの帯域幅を見る「Cache and Memory」のテストにおいても,LLCまでに収まる範囲で,i7-2600K&i5-2500Kは,i7-875Kに対して有意に高いスコアを示し,キャッシュから外れると,先のMemory Bandwidthと同じような結果になる(グラフ15)。
こうしてみると,Sandy Bridgeの内部構成刷新は,メモリ周りにかなりの効果をもたらしていると述べても過言ではなさそうだ。
以上,ここまでで分かったことを,下記のとおりまとめておきたい。
- 整数演算主体のアプリケーションで,Sandy Bridgeは,同クロックのLynnfieldなどと比べて高い性能を持っている
- Sandy Bridgeは,SSEやトラディショナルなFPU命令セットの実行を,やや苦手とするようだ。これは,AVXのための拡張が影響している可能性がある
- Sandy Bridgeで新たに採用されたリングバスは非常に高い性能を持つ。これは,整数演算主体のアプリケーションで高い性能を発揮する大きな要因と考えられる
Turbo Boost 2の挙動は確かに従来と異なる。が……
- 命令の種類まで判別して動作クロックを上下させるようにし,
- CPU負荷が大きい場合でも余力があればクロックを上げられるようにし,
- 消費電力と温度の余力管理を改善した
という理解でいいようだ。
ただ,「スペックで規定されている最大動作クロックを上回ってブーストする」わけでもないようで,そのあたりは注意は必要かもしれない。
では実際のところ,第1世代と第2世代では,どのような違いが生じているのか。今回はCPUIDが配布しているクロックモニタリングツール「TMonitor」(Version 1.03.1)を使って,クロックの変化を負ってみることにした。ここではHTTを無効にしている。
……いろいろ試してみたが,結果,明確な違いを確認できたのは,システムに強烈な負荷をかけるストレスツール「OCCT」(Version 3.1.0)を用いたときだった。従来のIntel製CPUでは,極端に負荷の高いストレスツールを実行したとき,Turbo Boost 1で動作クロックが上がりきらない。
グラフ16は,i7-875Kで,「OCCTを実行するコアの数」を1,2,3,4と順に増やしていったときのクロック推移である。コア数の切り替えは手動なので,間隔は一定しないが,おおむね10〜12秒刻み。線の立ち上がり方によって切り替えタイミングのおおよそは見当が付くと思う。
TMonitorでログを取得すると,一定間隔で低いクロックが観測されてしまうので分かりにくいが,そこは無視してもらうとして,注目したいのは,1コアのみで実行しているときでも,i7-875Kでは(4コア時のブースト幅である)1bin分=133MHz上がった3.20GHzにまでしか上がっていない。これは4コア時まで共通だ。
同じテストをCore i7-2600Kで行ってみた結果がグラフ17だが,違いは一目瞭然といっていいだろう。1コアのみの場合は3.70GHzまで上がり,2〜3コア時は3.60GHz,4コア動作時は3.50GHzまでそれぞれ上がっている。
表1で,i7-2600Kの最大動作クロックを3.80GHz(規定クロック+4bin)と紹介しているから,「あれ?」と思った人もいると思う。実のところ,i7-2600Kでは,OCCTに限らず,3.80GHzに入ることはほとんどなかった。HTTの有効/無効を切り替えたり,ほかのアプリケーションを試してみたりもしたが,意図的に3.80GHzへ入れようとしても,筆者が調べた限り,再現性のある形で最大動作クロックに入ることはなかったのだ。
しかし,まったく入らないかというとそうでもない。例えば,しばらくアイドル状態にしておいてから,Webブラウザを立ち上げたりすると,立ち上げるそのとき,ほんの一瞬だけ3.80GHzに入ることがある。10分の1秒刻みでログを残すTMonitorですら追えないほどの短時間だが,IntelのTurbo Boost動作確認用ガジェットでも,確かに3.80GHzへ入ることを確認できている。
もしかすると,これこそが,インテルの土岐英秋氏が述べていた「CPUが冷えている状態で負荷がかかると,TDPを超えるブーストを行う」ということなのかもしれないが,はっきりしたことは言えない。いずれにせよ,カタログどおりの最大動作クロックに入った“証拠”を残せないのはなんとも悔しい。
P67A-GD55の背面。CPUソケットのバックプレートがやや厚い |
「忍者 参」を取り付け終えた状態がこれ。根元の取り付けビスの締め付けに少々手こずったが,取り付けること自体は可能だった |
忍者 参は,LGA1155への対応が謳われていないが,序盤で述べたように,LGA1155とLGA1156で,マザーボード上の取り付け穴は共通。しかし,P67A-GD55の場合,CPUソケットの裏側に取り付けてある補強板がやや厚いこともあって,忍者 参に付属する補強用の裏板を取り付けようとすると,マザーボードとの隙間が広く空いてしまい,ビスの高さがギリギリになるなど,少々手こずった。
裏板を必要とするCPUクーラーに共通する懸念材料なのか,P67A-GD55固有の事情なのかはなんとも言えないものの,LGA1155へのサポートが謳われていないCPUクーラーを取り付けようという場合は,いろいろと覚悟が必要かもしれない,とはいえそうだ。仮にマザーボードやCPUを壊してしまったりしても100%自己責任なので,その点はくれぐれもご注意を。
もっとはっきり述べると,CPUクーラーを取り替えてもTurbo Boost 2の挙動に明確な違いは出ない。ブーストしやすくなるとか,しづらくなるとかいったこともないようだ。実際,リファレンスクーラーを取り付けた状態で,CPUコア温度が70℃を超えた状態でも,変わらずブーストが効くことは確認できており,温度の影響はあまりないようにも見える。
これは未検証だが,Sandy Bridgeでは,電流を始めとする温度以外のパラメータをより正確に見て,ブーストをかけるかどうか決めているかもしれない。というのも,以前,インテルの天野伸彦氏が,面白い発言をしていたのだ。いわく,「イスラエルの開発チームはIMON(電流検出モニタ)がCPUの外にあるのが気に入らないようで,次の世代のCPU(=Sandy Bridge)ではIMONがCPUの中に入る」。
従来製品ではIMONがマザーボード側にあり,その精度が規定されていないことから,電流値はあまり信用にならない。従来のCPUは,その「信用ならないIMON」を前提にブーストするかどうかを決めているが,IMONをCPU内部に組み込んだSandy Bridgeなら,電流検出により重きをおいた判定が可能になると思われる。
おそらく,Model Specific Register(MSR)を介してIMONの値が取れるはずで,電流と付きあわせながらクロックの変化を見るのも面白そうだ。執筆時点では,Sandy Bridgeの詳細な技術マニュアルが出ていないため検証できないが,機会があれば行う価値があるテストかもしれない。
さて,ここまでどうやっても3.80GHzに入った状態を維持してくれないi7-2600Kだが,一方のi5-2500Kは,OCCTを使ったテストで,あっさり最大クロックに入る(グラフ18)。1コアのみで実行すると,スペック上の最大クロックである3.70GHzに到達。もちろん使っているのはリファレンスクーラーだ。
4コア同時実行時も3.50GHz付近で動作しており,規定クロックだと100MHz低いi5-2500Kが,i7-2600Kと同じレベルのクロックで推移するのが分かる。2品種のテストだけで断言するのは難しいが,「もしかしたら,HTTをサポートするi7-2600Kと,サポートしないi5-2500Kでは,ブーストの入り方設定が変えられているのかも?」という気はしないでもない。
もっとも,Turbo Boostが,ゲームアプリケーションを用いたベンチマークのスコアに与えるプラスの影響は(Turbo Boost 1世代のCPUと同様に)あまりなさそうだ。グラフ19は,参考までに,4Gamerのベンチマークレギュレーション10.2準拠で,「バイオハザード5」のテストを行い,解像度1680×1050ドットの「高負荷設定」で,テスト1周分の動作クロック推移を追ったもの。i7-2600Kを用い,4コアすべてを有効にしたうえでHTTも有効化しているが,見て分かるように,ブーストがかかるどころか,省電力機能「Enhanced Intel SpeedStep Technology」より,テスト中の動作クロックは規定の3.40GHzよりも低く推移する傾向にある。
一般的なゲームアプリケーションよりもCPU性能がスコアをしやすいバイオハザード5でこういう結果になっている以上,Turbo Boost 2がベンチマークスコアを左右する心配というのは,ほぼ無用といっていいと思う。
Turbo Boost 2に関するまとめは以下のとおりとなる。
- Sandy BridgeのTurbo Boost 2は,従来製品だとブーストに入りにくい高負荷環境でもブーストに入る
- 「余力のあるときに,さらなるブーストを掛ける」というIntelの主張は,今回のテストだと確認できない
- CPUのコア温度がブーストに与える影響は小さいようだ
- ゲームプレイにおいて,Turbo Boost 2がフレームレートに与える影響はそう大きくない
AVX命令セットの効果を見てみよう
そろそろ読み疲れてきた頃かもしれないが,最後に,AVX命令の検証をもって締めることとしたい。
それに先だって,AVXとは何なのかという話からだが,これは,Sandy Bridgeで初めて採用された命令セットのことで,Advanced Vector eXtensionsの略。SSEを拡張した新たなベクタ演算の命令セットのことだ。SSEでは,128bit長のレジスタを使った単精度・倍精度・整数のベクタ演算がサポートされているが,AVXではレジスタ長を256bitに拡大し,32bit単精度および64bit倍精度のベクタ演算をサポートする。
レジスタ長が倍になったわけだから,1度に計算できるデータ量も2倍,単純に考えればベクタ演算のスループットも2倍になるわけである。
やや注意が必要なのは,AVX命令セットでは整数演算はサポートされないという点。整数は従来のSSEを用いれば十分ということだろう。
本稿の中盤でも説明したように,レジスタはSSEで使用するXMMレジスタと共用だ。AVX用となる「YMMレジスタ」の下半分128bitがXMMレジスタとして使われる。そのため,AVX命令とSSE命令の混在も比較的,容易になっている特徴がある。
もっとも,XMMレジスタと共用とはいえ,AVXのためにレジスタのサイズが変わった関係で,OS側の対応は必須。マルチタスク・マルチスレッドのOSでは,タスクとスレッドの切替時に実行中のレジスタの保存と復帰を行わねばならず,その部分でYMMレジスタをサポートする必要があるためだ。
だが,AVXではそうではない。そのため,AVXをサポートするのは,Windows 7 Service Pack 1以降となる。Service Pack 1は2011年上半期のリリースが予定されているので,エンドユーザーがSandy Bridge(搭載PC)を手にした段階では利用できない可能性も大いにあるわけだ。そこで今回は,Service Pack 1のRC版を用いて,プレビュー的に検証してみたいと思う。
で,AVXにどの程度の効果があるのか。理論上は最大2倍の性能向上が得られるといっても,データ並列にしやすいアプリケーションとそうでないアプリケーションが当然あり,後者だと効果はほとんどないわけで,AVXの効果を語るのはそう簡単ではない。
今回試したベンチマークスイートのなかでは,AIDA64とSandra 2011がAVXをサポートしており,前者はAVXを使った場合と使わない場合の比較が可能。Sandra 2011は,AVX対応CPU同士の比較に向いたテストが用意されている。
そのため今回はAIDA64のテストから,AVXに対応した「FPU Julia」「FPU Mandel」と「CPU Hash」を用いることにした。グラフ20がその結果だ。「AVX有効」としたのはService Pack 1を適用した状態,「AVX無効」は適用前なので,OSのバージョンが異なることになるが,その点はご了承を。
さて,「CPU Hash」だとほとんど変化が見られないが,これはむしろ当然かなというところ。CPU Hashは,代表的なHashアルゴリズム「SHA1」の処理性能を見るとされるが,筆者が記憶する限りSHA1で浮動小数点は使用しない(※使ってもいいが意味がない)からだ。先に述べたように,AVXは浮動小数点演算のみなので,このテストのどこにAVXを使っているのか自体,少し疑問なところがある。
「FPU Julia」「FPU Mandel」は1.5倍程度にまでスコアが伸びているが,これもある意味当然かなといった印象。マンデルブロ集合はデータ並列に比較的に書き直しやすいので,AVXで処理できるデータ量が2倍になれば,スコアが理論値たるSSE比2倍に近いところまで伸びても不思議でもない。
身も蓋もない言い方をすると,「AVXの効果は,あるように書いたプログラムならあるし,ないプログラムならない」。ゲームに限定して述べるなら,恐らく,積極的には利用されないだろう。現時点でも,同じベクタ演算命令のSSEが積極的に利用されているとは言い難い状況だからだ。
将来,「非常に負荷の高いAIアルゴリズムを,データ並列を駆使して実行する」といったゲームが出てくれば,AVXは極めて高い効果をもたらすだろうが,そうでもない限り,ゲーマー視点では「SSEを拡張したような命令も,Sandy Bridgeでは使えるようになったらしい」程度の認識で構わないと思う。現実的には,動画のトランスコードやデコード,動画や静止画のエフェクトなどに使われるかどうか,といったところである。
AVXに関してまとめるなら,
- AIDA64に含まれるAVX対応テストのように,「AVXが効果があるタイプの処理」なら,AVXにはかなりのメリットを見込める
- データ並列に書き直しにくいタイプの処理だと,効果はあまり期待できない
- ゲーマーとしては「AVXという命令ができたらしい」程度の認識で十分
といったところか。
期待を裏切らないSandy Bridge
正反対の方向へ進むAMDとの対決も楽しみ
既存の命令セットを用いた浮動小数点演算系が若干不得意そうという,重箱の隅を突いたときに弱点めいた部分はあるものの,ほとんどのアプリケーションでは,Lynnfield(やClarkdale)と比べて順当な性能向上を果たしているとまとめていいだろう。
「アーキテクチャの改善によるパフォーマンスの上がり幅は小さい」と言われるなかで,そうではないというところを見せるあたり,さすがIntelである。
また,Sandy Bridgeではエントリーモデルの一部を除き,多くが4コアモデルとなる。従来同様,HTTの効果はさほど高いわけではないため,HTTをサポートしない普及価格帯のネイティブ4コア製品たるi5-2500Kあたりは,ゲーマーのみならず,多くのPCユーザーにとってコストパフォーマンスに優れた選択肢となるかもしれない。
ところで,ライバルのAMDも2011年中には新世代プロセッサの投入を予定している。とくに,コアアーキテクチャが一新される「Bulldozer」(開発コードネーム)では,シングルスレッドのパフォーマンス向上を狙わず,マルチスレッド&マルチコアに重きをおいたアーキテクチャになると伝えられている。
つまり,Sandy Bridgeで順当にシングルスレッドでも性能向上を見せたインテルとは正反対の方向へ向かっているわけで,両者の対決というのはなかなかの見ものになりそうだ。AMDの新製品群が登場するのは少し先になりそうだが,直接対決がいまから楽しみである。
Sandy Bridge CPU性能レビュー記事
- 関連タイトル:
Core i7・i5・i3-2000番台(Sandy Bridge)
- この記事のURL:
(C)Intel Corporation