英ARMは11月10日に都内で記者発表会を開催し、世界に先駆けて日本で同社の新GPUである「Mali-T658」を発表した。

まず日本法人アームの西嶋隆史氏(Photo01)が挨拶に立ち、新たにMali-T658をラインナップに加えること(Photo02)と、ARMの震災募金の紹介を行ったのちに、ARM本社のTudor Brown氏にバトンタッチした。

Photo01:アーム 代表取締役社長の西嶋隆史氏。翌11日がARM TECHNICAL SYMPOSIA 2011ということもあってか、挨拶はあっさり短めであった

Photo02:Cortex以降の主要な製品ラインナップ。随分ラインナップが増えたものである

Photo03:ARM PresidentのTudor Brown氏。前回来日は東日本大震災の直前だったそうで、随分と被害のことが気になったとか

Brown氏は日本でMali-T658の発表を行った理由を「日本のマーケットではグラフィックス性能が重要である」と説明したのち、新しいMali-T658の紹介を始めた。

Mali-T658の特徴は

  • 最大8コアまで対応
  • Mali-T604に比較して4倍のGPU Performance
  • Mali-400MPに比較して10倍のGrpahics Performance

をもつGPUのIPとなっている(Photo04)。

Photo04:厳密に言えば動作速度によって何倍という数字は変わってくるのだろうが、Soft IPでそれを言っても仕方が無いので、ここではあくまで同一周波数で比較した場合という話になっている

氏によれば「現在のMali-400MPは現時点ではパワフルなGPUコアであるが今後予想される拡張現実とか様々なGPUを利用したComputingには十分ではない」(Photo05)としており、これに対応した新しいMidgardアーキテクチャの最初の製品が昨年発表した「Mali-T604」であるが、今回発表したMali-T658はこのMali-T604と同一アーキテクチャを踏襲しており、ソフトウェア互換性なども保たれるため、Mali-T604を採用したアプリケーションはMali-T658に切り替えることでスケーラブルに性能を上げることが可能としている。

Photo05:より高いGPU性能が必要な例

ARMの場合、描画性能と描画品質をスケーラブルに拡張することが重要としており(Pjhoto06)、こうした目的に沿ったものになっていると説明した。またHeavenベンチマークでおなじみのUnizineがMali向けに最適化したGame Engineを移植したという話も紹介された。

Photo06:3inchクラスのSmartphoneから大画面TVまで、そして単純なゲームからハイエンド3Dまで、この広い範囲でスケーラビリティを維持するのが目標としている。言うのは簡単だが、実装は大変な話である。

続いて説明はKevin Smith氏(Photo07)にバトンタッチ、もう少し細かな説明が行われた。Mali-T658の場合は、内部に最大8つのShader Coreを搭載するが、これは4つずつ2つのClusterに分割され、それぞれ専用のL2及びMMUと組み合わされる(Photo08)。

Photo07:Vice President, Strategic Marketing, Media Processing DivisionのKevin Smith氏。右手に持っているのはここでもさんざ持ち上げた、Mali-400MP搭載のGalaxy S2

Photo08:構造図が判り難いが、これが2つ並んだ構造と考えてもらうのが早い

説明によればこのCluster内部で、ShaderとL2/MMUは緊密なCoherencyを構成しており、2つのクラスタ間はAMBA 4 ACE経由でCoherencyをとる構造になっているという。説明会の後で、ヘルプとして会場に居たSteve Steele氏(昨年Mali-T604の説明を行ってくださった方。上のリンク参照)に「これ8つのShade Coreを2つに分けて2つのClusterにするのではなく、8つまとめて1つのClusterとして扱うような構造にするという案は無かったの?」と尋ねたところ、「今はそれについては言えない」という答えが返ってきたあたり、将来的には1Cluster内のShader Coreの数を倍増するようなアイディアが進行しているのかもしれない。

また各Shader Coreの内部は、Mali-T604同様に3種類のPipeline構造から構成されるが、Mali-T604が3種類4つ(Arithmetic×2、Load/Store×1、Texture×1)なのに対し、Mali-T658では3種類6つ(Arithmetic×4、Load/Store×1、Texture×1)とされている。この結果として、最大構成でMali-T604とMali-T658を比較した場合、Core数が2倍でArithmetic Pipelineが2倍なので、合計4倍という計算になる(Photo09)。

Photo09:各Pipelineのサイズは、それぞれのPipelineの長さを模したものだとか。TextureingはMemory Accessが発生するのでどうしてもPipelineは長くなる。ちなみにTextureing Pipelineのみ、L2とは別に独立したTexture Cacheを内部に持っているとの事だった

もっともこれはGPU Performance、つまりArithmetic Pipelineをフルにぶん回した場合の性能比であって、Grpahics Performanceの場合はTexture Pipelineの性能も関係してくるので、実際には単純に4倍にはならないだろうが、仮にシンプルなTextureでひたすらTriangleを描画する的な比較であれば、やはりT604の4倍の描画性能になるという話であった。

この多数のShader Pipelineを管理するのが、Shaderの外部に置かれるJob Managerである(Photo10)。

Photo10:これはShader CoreやClusterの外部に置かれることになる。Load balancingなどは自動で行われるので、ソフトウェアから見る限り差はないという話だった。後で出てくるが、Mali-T658は1/2/4/6/8の5種類のShader Coreの構成が許されており、ただJob Managerがこのあたりをうまく割り振るのでアプリケーション設計者からすると、実際にShader Coreがいくつあるかを意識しないで済むという話だった

これはMali-T604と同じ構造で、1つのJob Managerで最大8つまでのShader Coreを管理できるとしている。このJob Managerがロードバランスを行いながら各Shader CoreにTaskを割り振ることになる。ちなみにSteele氏に、1つのShader Coreの中の4つのArithmetic Pipelineにそれぞれ異なる命令を実行させられるかを確認したのだが、明確な説明はなかった。あくまでJob ManagerがShader Core単位でTaskを割り振る、という説明に留まっているあたり、1つのShader Core内の4つのArithmetic PipelineはSIMD的に動作すると考えるべきなのかもしれない。

Mali-T658の特徴の1つは豊富な標準への対応で、Photo09にもあるように、DirctX 11とOpenGL ES 2.1、OpenVGの各描画APIと、DirectX 11のDirectCompute、OpenCL、GoogleのRenderScriptの各Compute APIに対応する。こうした対応はすべてドライバで行っており、このため柔軟な対応が可能と説明している。Steele氏によれば、「例えばMali-T658の開発を開始した時、まだRenderScriptは存在しなかった。にもかかわらず対応ができたのは、ドライバでこうしたものへの対応を行っているからだ」との事である。

ただその分、あまり複雑な機能はShader Coreには含まれていない。例えばShader CoreはDirectX 11のTesselationの機能はハードウェアで搭載されておらず、必要ならドライバで処理することになるとSteele氏は説明した。また最近のGPUは動画のエンコード/デコードのアクセラレータを別途持つのが一般的になりつつあるが、Mali-Tシリーズはこれらも持ち合わせていない。こうしたものを搭載すると内部が複雑になりすぎる、というのがBrown氏の説明で、こうしたニーズに対しては、別途エンコード/デコードのIPを提供する形で対応したいという話だった。このあたりが、ディスクリートチップの形で提供される従来のGPUと、あくまでIPのみの提供であるMaliとの違いであろう。

Mali-T658はまた、ARM v8との互換性がある事も明らかにされた。ここで言うv8との互換性とは、64bitアドレスと64bitのデータ型への対応である。これはMali-400MPまでのUtgrandアーキテクチャは未対応で、Mali-T604以降のMidgardアーキテクチャで対応という話である。ただあくまでもアドレス/データ型が64bitに対応という話で、ARM v8にGPU Offloadingを容易にするようなGPU命令が含まれるという意味ではないそうだ。またCPUとGPUで同じアドレス空間を共有できるという話であった(Photo11)。

Photo11:Mali-200~Mali-400MPまでが32bitのUtgrand Architecture、Mali-T604以降がMidgard Architectureの分類になる

このMali-T658を加えることで、同社がこれまで提供してきたCPU/InterconnectのIP Portfolioがさらに充実するとしており(Photo12)、実際2016年頃までのSmartphoneマーケットは、現在同社が提供するIP Portfolioでカバーできるという見通しも紹介された(Photo13)。

Photo12:CoreLinkが中央にあって、CPUとGPU、Memory I/Fを繋ぐと共にCache Coherencyを提供する。big CPUは例えばCoretex-A15、LITTLE CPUは例えばCortex-A7で、この2つでbigLITTLEを構成する

Photo13:これはあくまでも一例であって、プロセスの微細化により、どんどんGPUやCPUコアを多数集積できるようになるとハイエンド向けの性能が上がってゆくという話になる。また、例えば2011年のハイエンドというのは2012年とか2013年にはミドルレンジ扱いになるわけで、このあたりは実際に製品を作るベンダがどう考えるかである

さてそのMali-T658であるが、本日よりライセンス供給が開始されており、すでに4社(富士通セミコンダクター、LG Electronics、Nufront、Samsung Electronics)がパートナー契約を結んだことも明らかにされた。Smith氏によれば、Mali-T658のターゲットは28nm以下のプロセスで、当初はソフトウェアIPのみの供給であるが、今後はPhysical IPの提供も考えているという話で、まずは28nm世代が対象で、その場合はTSMCとGlobalfoundriesが候補になるだろうと説明された。

なおMali-T658は最大8コアまでの構成をサポートしているが、実際にサポートされているのは

  • 1(1+0)
  • 2(2+0)
  • 4(4+0)
  • 6(4+2)
  • 8(4+4)

の5パターンだそうだ。2+2の4コアとか3+3の6コアはサポートしていない(Steele氏によれば「もちろんSoft IPだから顧客がそういう構成を作ることは不可能ではないが、われわれは検証してない)という話であった。会場ではMali-400MPを使っての拡張現実のデモ(Photo14)なども披露された。

Photo14:静止画だと判り難いが、Mali-400MPを使って絵柄を読み込ませ、それに合わせてARを実現した例

この時期にMali-T658の発表を行った理由の1つには、前日発表されたTegra 3への対抗があるのは間違いないだろう。ARMにとってNVIDIAはCPUのパートナーである一方、GPUに関しては競合している事はSmith氏も「それとなくではあるが」認めており、少なくともスペック的にはいい勝負である。もちろん実際にNVIDIAと競合するのは、同じARMを使ってSoCを製造している他のベンダであるが、こうしたベンダにMaliを使ってもらうためには、性能とスケーラビリティがあることをきちんと示す必要がある。今年7月の記者説明会も趣旨は似たようなものであって、今回はARM TECHNICAL SYMPOSIA 2011の開催に合わせて新コアを紹介することでスケーラビリティがあることを紹介した、と考えるのが正しいようだ。