坂村教授による特別講演

続いては坂村教授により「世界の組込み技術をとりまく環境変化とT-Engine/T-Kernel」と題した特別講演が行われた。もっとも教授が示されたスライドはどうもまもなく開催されるTRONSHOW 2011用のものをそのまま流用されたようなので、詳細はこちらの開催に譲ることにしたい。一応流れとしては、まずそもそもTRONというものの生い立ちを紹介し、特にITRONがハードリアルタイムに適したOSであることを説明され、世界中で現在も利用されていることを強調した。

Photo19:東京大学大学院情報学環教授 工学博士 YRPユビキタス・ネットワーキング研究所所長の坂村健氏

次いで、ucodeの紹介とその応用例、実証実験などをビデオ映像を交えて紹介、最後にまもなくリリースされるT-Kernel 2.0の紹介が行われた。T-Kernel 2.0の大きな特徴は、One Stop Serviceだそうである。というのは、従来のT-Kernelは本当にKernelのみで、必要なデバイスドライバやサービスはユーザーが自分で開発・組み込みを行わなければいけないことに対するもので、T-Kernel 2.0では標準的なドライバやサービスはパッケージとしてまとめて提供されることを指している。これは組み込みの分野がどんどんSoC化に向かっていることへの対応でもあるそうだ。結果、T-Kernel 2.0ではカーネルそのものに加え、T-Kernel Extention 2.0(基本ミドルウェア、ドライバ、TCP/IPなどのプロトコルスタック、パワーマネジメント)、ライブラリ(Cライブラリの他Qt、Open CV、WebKit、OpenGL/ES、SQLite、メディアライブラリと各種Codec)、T-Monitor 2.0などが全て組み込まれた状態で提供されるという。またT-Kernel 2.0は従来のAPIがそのまま利用できるので、T-Kernel 1.0上のプログラムやミドルウェアはソースのみならずバイナリの互換性に保たれているという。

これにあわせてT-Kernel 2.0用のリファレンスハードウェアも公開されたが、ここにはARM1176JZF-Sを搭載するルネサス エレクトロニクスのEMMA mobile 1が搭載されるそうだ。教授曰く「リップサービスではないが、T-Kernelを利用する大半がARMになってきた」そうで、リファレンスもこうした状況を反映したものになったようだ。面白いところでは、ucodeを使いT-Kernel自身のトレーサビリティを確保するという、これまでとはまた異なった履歴管理を行っている事も紹介された。今回はプレゼン資料は非公開ということで敢えて掲載はしていないが、これらの内容に興味のある方はTRONSHOW 2011に参加していただきたい。

次世代グラフィックスコア「Mali T604」

最後に、当日発表となったMali T604について紹介したい(Photo20)。そもそもの背景は、Mobileの分野においてもより高い描画性能への需要があり、その一方でPower Budgetは全体(GPU以外にもCPUや液晶表示や、その他諸々を全て含む)で850mW程度のまま推移していることにある。また、最近ではさらにGPUの特徴を生かしての様々な応用例も出てきている(Photo22)。とはいえ、基本的にはTiling Baseのレンダリングという従来のMaliの路線は変えておらず(Photo23)、この枠組みを維持しながら性能改善を目指すことになった。

Photo20:当日説明を行ったSteve Steele氏(Head of Product Management, Media Processing Division)

Photo21:50倍の根拠は画面解像度5倍、コンテンツの複雑さ(≒ポリゴン数やテクスチャの量)が10倍、というところから掛け合わせると50倍ということになるそうだ

Photo22:左上は3Dのステレオ表示、左下は動的なテクスチャ生成、中央下はARのためのリアルタイム画像生成&合成、右上は(ARとちょっと近いが)お遊びに近いCG系、右下はHDRということになる。これらを携帯機器でリアルタイムに、というとGPU側で処理をする頻度が高くなる事になる

Photo23:ちなみに質疑応答では「今後どうやって性能改善を目指すのか」という話が出てきていたが、一応今回はTシリーズの第1世代の製品で、まだまだ改善の余地はあるらしい。

具体的には、T604は3種類4本のパイプラインを装備している(3種類ということで、Tripleの頭文字を取ってT604という名称になったそうだ)具体的にはArithmetic Pipelineを2本、Load/Store PipelineとTextureing Pipelineを各1本となっている。氏の説明ではArithmeticがGPGPU用という事だったが、恐らくVetex Shader的な作業もここで行うことができると思われる。Load/Storeは両用で、文字通りデータのロードストア、Textureing Pipelineは描画用ということで、Pixel Shader的な作業を行うものと思われる。この4つのPipelineで、T604コアを構成している(Photo24)。これをどう使うか、は「Thread」という単位で管理するが、氏によれば最大256 ThreadをOn the flyで管理できるとの事だ。もっともこのThreadという単位は何か?というのは次の議論としてあるわけで、例えばTile Base Renderingの場合は、画面を細かく分割して各々を並行して処理する(これを氏は「Task」と表現した)訳だが、このTaskとThreadの関係は氏もちゃんと把握していないようで、宿題になってしまった。また、プレゼンテーションにはないが、このコアはCPU側とメモリを共有する関係で、CPUコアとのCache Coherencyを維持できるという。

Photo24:AMDやNVIDIAのGPUと比較するとアレだが、Mali T604はそういう訳でコアあたり4本のPipelineしかない

また、T604は最大4コアまでのマルチコアに対応できるほか、様々なAPIやOSをサポートするとしている(Photo25)。このうちOpenGL ES 1.1/2.0とOpenVG 1.1は従来のMaliシリーズでもサポートされてきたが、今回新たにOpenCL 1.1とDirectX 11のDirect Computingをサポートしたとの事だ。ただOpenCLはともかくDirectX 11については、そもそも現状ではARMに対応していないのでは?と質問を投げたところ、Microsoftの動向についてはコメントできないが、我々はサポートするという非常に微妙な返事が返ってきた。

ちなみにMali-T604の内部構造は(Photo25にも小さく掲載されているが)こんな形である(Photo26)。Shader CoreがPhoto24に出てきた、4つのPipelineを内包するもので、最低1つ、最大4つまでこのShader Coreを搭載できる。これらはコア外に置かれるJob Manager経由でTask管理を行うそうである。

Photo25:OSサポートにWindows Mobileが敢えて入れてないあたりもアレで、ターゲットとなるのはWindows Embedded Compact 8世代なのかもしれない。あるいはWindows CE 6の時と同様に、Windows Embedded Compact 7 R2とかか。いずれにせよ現行製品ではないのだろう

Photo26:L2はオプション扱いだが、Shader Coreあたり32KBほどのキャッシュを搭載すると効率的に動くとのこと。SCUはSnoop Control Unitの略で、これがCache Coherencyの管理を行うという

このMali-T604は、同社が前日に発表したCoreLink 400と共同で利用する事で効果を発揮する(Photo27)ということで、実際にはCortex-A15やCCI-400/DMC-400などと一緒にSoCに組み込まれる形になると思われる。同社は既にMali向けのサポートをWebなどで開始しており(Photo28)、これらにT604向けの要素が今度加えられるものと思われる。

Photo27:Mali-T400自身はメインメモリとのCache Coherencyをサポートしているが、Interconnectがこれに対応していなければ使いようがないということで、CoreLinkと組み合わせるのがベスト、というのがARMとしての見解だそうだ

Photo28:現時点ではMaliDeveloper.comではT604のニュースが追加された程度なので、今後に期待である

個人的には、今のところMali T604はCPUとのCache Coherencyを実現した最初のGPUになりそうな感じで、絶対性能的にはともかく効率の点ではちょっと面白いことになりそうな気がする。最初にライセンスを受けたのは(Cortex-A15の最初のライセンシーでもある)Samsung Electronicsということなので、恐らく同社から両方を組み合わせたチップが、早ければ2011年中にはサンプル出荷される事になる。その頃にはWindows Embedded CompactとDirectX 11のDirect Computingに関する話ももう少し明らかになっているであろうし、その場合にどんな形に展開してゆくのかを考えると中々楽しみである。