というわけで、危うく続きを書くのを忘れそうになった「Mobile向け単体GPUに存在価値はあるか!?」の続きをお送りしよう。
グラフィックス機能についてはその「必要性」、ローエンドへの搭載という観点からチップセットないしマイクロプロセッサへの統合というものは欠かせないものとなっている。かつてのDOSマシンの時代にはグラフィックス機能など、本質的に必要となるシーンは限定的かつ非常に限られていたが、GUIの時代(WindowsやMac OS)に入ってからはグラフィックス機能が「必須」となり、それまでのPCに対して、グラフィックス専用チップの搭載がなければお話しにならない状況となっていった。PCは常にコスト競争に晒されており、こうした専用チップの追加というのは競争力低下以外の何物でもないため、追加部品(チップ等)の実装を必要としないグラフィックス機能の追加が求められたのである。その結果がグラフィックス機能の「統合」なのであった。
(前回までの続き)
当時、グラフィックスアクセラレータと呼ばれた専用チップは、デスクトップ向けは単にGUIをサポートするだけのものから、Windowsの描画機能(GDI)を強化(アクセラレート)する方向に進んでいた。というのは、PCにおいてグラフィックス機能とは、IBM PC登場時点において最初からオプション(外付け)扱いであり、DOS時代からリッチなグラフィックス機能を使いたければそれ相応のオプションを選択しなければならなかった(それが、CGA、EGA、VGA等々である)。このため、単にグラフィックス機能を追加するという行為そのものが「外付け」であり、それがWindowsの普及に伴って「追加・交換」することでグラフィックス機能の強化につながったのである。なお、かつて我が国で主流だったPC-9800シリーズにおいては、グラフィックス機能は専用チップがマザーボードに直付け(正確に言えばボードレベルだが実質的にという意)されていたため、グラフィックス機能のアップグレードという概念がなく、現在でいえばノートPCのような扱いであり、これが本質的にWindows時代に乗り遅れた理由の一つとして数えても良いだろう。
しかし、グラフィックス機能強化の過程で、汎用バスに接続されていたグラフィックス機能は、転送データ量及び転送データ速度の両面から困難に陥り、VL-Busという i486のローカルバス接続するという荒療治を経験した後、当時としては高速だったPCIバスや、それを引き継いだAGPバス、PCI Expressバスという歴史を経たように、グラフィックス機能は大容量のメモリ(VRAMまたはGRAM)と高速インタフェースとが求められ、その結果としてメモリコントローラの近くに配置することが適切となっていったのである。つまり、グラフィックス機能の「統合」がメモリコントローラであるチップセットのNorth Bridge側に求められたのは、こうした点から必然となるわけである。
こうして、i810チップセットよりグラフィックス機能の「統合」が始まるが、ここからSandy BridgeのようにCPU側に「統合」されていくのは、単にメモリコントローラがCPU側に「統合」されたことにより、メモリコントローラの行き先に合わせてグラフィックス機能も「統合」が求められたからにほかならない。製品レベルにおいて x86系プロセッサでメモリコントローラを最初に「統合」したのはAMD社のOpteronからというのが一般的な見解のようだが、ソフトウェアでx86命令をエミュレーションした今は亡きTransmeta社のCrusoeを忘れてはならないと私は考える。無論、Crusoeがメモリコントローラをプロセッサに内蔵させた理由はしっかりとあるのだが(実装コスト面の問題以上に、x86命令をエミュレートするのにメモリバス幅と速度がモノを言うので、ハードウェアレベルでメモリコントローラの統合が実現されたと見込まれる)、グラフィックス機能からは離れた位置に対応づけられてしまったので、特にWindowsといったGUI周りに難があったように思う。よって、GUI中心(グラフィックス機能強化)の流れからすれば、メモリコントローラとグラフィックス機能は密接不可分であり、Sandy Bridgeの前世代となるArrandale(Westmereコアを搭載したデュアルコアMobileプロセッサ)世代においてもオンダイという形ではなかったが、グラフィックス機能をCPUチップ上に「統合」させたことは正しい選択だとなる。
なお、以上の議論はGPU(グラフィックス機能)がメインメモリでなく専用のローカルメモリを使う場合は一概に言えない。GPGPUの進展によって、グラフィックス機能メモリ(ローカルメモリ)とメインメモリとの区別を気にしなくて良い時代が常時到来するようであれば、メモリコントローラについても新たな議論を求められるが、現状はそうなっていない(GPGPUは常時必須でない)。だが、メインメモリをグラフィックスメモリと使い分けるものであれば、今回、Sandy Bridgeで実装されたリングバスシステムとLLC(Last Level Cache)はベストマッチするものだろう。大容量化するCPU専用のL3 Cacheをグラフィックスでも流用するというアイディアは、CPU・GPU間のデータ転送に役立つのはもちろん、今後プロセス微細化によって増える一方のCacheメモリの活用法として「さすが」の一語に尽きると見る。こういう工夫は、専用グラフィックスチップを持たない安価なMobile PCのGUIレベル「底上げ」につながるものであるし、GUI基本のApple社のMacにも好材料として迎えられているに違いないと思うのだ。
と、グラフィックス機能の「統合」について良いことばかりを書いてきたが、この論調では「Mobile向け単体GPUに存在価値はあるか」という問いに対し、あるッ!と力強く回答したことと相容れるものではない。つまり、一般論としてグラフィックス機能の底上げはされるものの、肝心のどこまでパフォーマンスを得ることができるのか、という視点(もっと言えば統合されたグラフィックス機能のパフォーマンスで足りるのか足りないのか)を忘れてはならない。いくらこれまでのお小遣いよりも増えるからといって、例えば1か月に10円から100円へと10倍に増えたとしても、元の金額が低すぎ、かつ増えた後の金額も足りないのであれば、「10倍に増額」ということをアピールされても閉口するだけだろう。パフォーマンスも同じで、いくらベンチマークテストの結果から従来よりも数倍にパフォーマンスアップと言われても、それが遠く求めるパフォーマンスに達しないのであれば論外となる。
もっと具体的に言えば、Intel社の比較対象はSandy BridgeとArrandaleに統合されたグラフィックス機能のパフォーマンス比較であって、いくら双方の比較結果を示されたところで、Sandy Bridgeの統合グラフィックス機能のパフォーマンスの絶対指標がどうなのか、比較対象としてIntel社の統合グラフィックス機能同士の比較ではなく、nVIDIAやAMD(旧ATI)とのGPUと比較してどうなのか、ということが重要である。既に公表されているSandy Bridgeの統合グラフィックスとVAIO Zに搭載されているGeForce GT 330Mとのパフォーマンス比較では、まだまだ遠く足下にも及ばないのが現状であり、既に GeForceのMobile版は 3xx系よりアーキテクチャが刷新されていることから見ても、その差は縮んだかもしれないが、元が元だけにまだまだ及ばないとなるだろう。問題は、先にもふれたようにグラフィックス機能のパフォーマンスをどこまで求めるかという点に尽きるのだが。
では、まとめに入ろう。私の感覚では、GeForce GT 330Mはそこそこ問題がないパフォーマンスを示してはいるものの、まだまだ不満は大きい(特に3D処理や高解像度のグラフィックスを扱うとき等)。ただ、その一方でMobile時(バッテリ稼働時)においては内蔵GPUでも不満を持つシーンは少ないのも確かである(意図的に「重い」処理を避けているからでもあるが)。要は使うシーンによって求められるパフォーマンスは異なるわけだが、基本的にVAIO Zだけで完結したい欲求がある以上、Sandy Bridge内蔵グラフィックス機能のパフォーマンスで満足するなどあり得ない。それが、現在の内蔵GPU(Arrandaleのもの)よりもパフォーマンスアップといったところで、GeForce GT 330Mよりも低いパフォーマンスでは、やはり外付けGPUを求めるしかない、と結論づけるのである。
コメント