MIPS Technologiesは5月10日に新しいAptivファミリーを発表した。これに併せて、5月24日に都内で製品発表会を開催し、ベンチマークデータを含む詳細について説明を行なった。
まずミップス・テクノロジーズ日本支社長の中上一史氏より、同社の現状についての説明が簡単にあった。かつてはゲーム機などで大きなシェアを持っていた同社だが、現在ではホームエンターテイメントが主なライセンス収入先であり、ついでネットワーク関連、そして最近になりモバイル機器の売り上げも増えてきた(写真2)。搭載製品の出荷は年率42.5%という高い率で増加しているという(写真3)。大きなトピックとしては、タブレットの分野でAndroid 4.0の発表後2週間でMIPSベースタブレットへの移植が完了した事で、今後もこうした分野がキーになるとした。
●proAptiv
今回発表されたのは、MCU向けのmicroAptiv、MIPS 24K/34Kの後継となるinterAptiv、及びハイエンドであるproAptivの3製品である(写真7)。
まずハイエンドとなるproAptivについては、競合製品としてCortex-A9とCortex-A15を明確に狙っており、半分のダイサイズでCortex-A15よりも高い性能を実現できるとしている(写真8)。proAptivは、最大6コアまでのSMP構成をサポートしており(写真9)、4コアまでのCortex-Aシリーズとの差別化が出来ることを強調している。
コアアーキテクチャは、スーパースケーラ・アウトオブオーダになっており、ついにFPUもCPUコアと同じ速度まで高速化された。内部構成は写真11のようになっており、命令フェッチは4命令/cycle、そこから命令発行が3命令/cycleになっている。このイシューユニットは、通常のALU命令(ALU/MDU/DSP)に合計2イシュー、FPUにも2イシュー、Branchに1イシュー、メモリ(ロード/ストアユニット)に1イシューで合計6イシューという形になっている。
【写真5】主な説明を行なったMark Throndson氏(Director of Product Marketing) | 【写真6】技術的な詳細の説明を行なったR. "Suds" Sudhakar氏(Chief Architect) |
【写真7】MIPSではDhrystone MIPSよりもEEMBCの提供するCoreMarkの方が現実的として、今回はCoreMarkのスコアを前面に打ち出してのプレゼンテーションとなっている | 【写真8】半分というのは例えば同じダイサイズならばコアの数を2倍に出来るという意味でもあり、その結果としてさらに性能差を広げられるとする | 【写真9】Cluster Power Controllerはコア単位での電力管理を司ることで、例えばアクティブなコアのみ高い周波数とする、といったIntelのSpeedStepとかTurbo Boostのような設定も可能という。コア内の電力管理は、それぞれのコアの中に別の電力管理マネージャがある |
組み込み向けらしく、スクラッチパッド(ARMではTCM:Tightly Coupled Memoryと呼ぶもので、要するにSRAM)をオプションで追加できる。またFPUそのものもオプション扱いである。パイプラインはALUの場合で16段とかなり深い。深いパイプラインで問題になるのは分岐予測ミスで、これが起きたときのペナルティが非常に大きくなる。このためproAptivでは分岐予測ミスを減らすために、BTB(Branch Target Buffer)を大幅に増やした(L0/L1/L2の3段構成)ほか、ジャンプレジスタキャッシュやリターンプリディクションスタックなどさまざまな分岐予測に関わる機能を強化するなどして、MIPS32 1074Kで6%程度という予測ミスの割合を2~3%まで減らすことに成功したとしている(写真12)。
写真10で出てきたBonded Dispatchは、Instruction Bondingという技術である(写真13)。隣接したアドレスのアクセスが発生する場合、2つをまとめて1つの命令にするというものである。つまり32bitのロード/ストア命令×2を64bitロード/ストア命令×1に変換する。面白いのは、これは単にディスパッチのみならず、その後のイシュー/実行のステージでも、やはり1命令として扱われる事になる。先にパイプラインでフェッチが4命令/cycle、イシューが3命令/cycleと説明したが、これはロード命令2つを1つにBondingするから3命令で足りるという事である。
TLBも強化されている(写真14)。L0 I-TLB/D-TLBはそれぞれ個別に搭載されるが、L2 TLBとして機能するものにVTLBとFTLBがあり、両方を組み合わせるとL2 TLBが最大1,280エントリもあるという強烈なものになっている。またスライドには無いが、新しくEVA(Enhanced Virtual Address)という機能が追加された。これは物理アドレスを最大6つのセグメントに分け、カーネルとユーザーでそれぞれどのセグメントをマッピングするかを選択できるようにするというものだ。これにより、従来はカーネル/ユーザー共に2GBまでしか物理メモリをマッピングできなかったのが、EVAを使うと3.5GBまでマッピングできるように変更された。また、メモリ周りに関しては、コヒーレンスマネジャがL2キャッシュのコントローラを統合した上、L2キャッシュ容量は最大8MBまで拡張され、レイテンシ削減と帯域拡充の両方に効果があると説明されている(写真15)。
proAptivコアのデザインは完了しておらず、当然シリコンも存在していない状態ではあるが、駆動周波数はTSMCの40nm Gプロセスで最悪値条件でも1.1GHz以上、28nm HPMプロセスでは1.2GHz以上とされている(写真16)。この条件で、Cortex-A9/Cortex-15と比較して性能がどうかというのが写真17である。Cortex-A15は、まだCoreMarkのスコアがないということで未掲載だが、Dhrystoneの結果ではCortex-A15と同等とされる。写真18は先ほどのInstuction Bondingの効果を示したもので、Instruction Bondingを使うことでメモリアクセスが高速化出来ていることが実際に示されている(写真18)。写真19/20はフロアプラン例を示したものであるが、proAptivのコアのサイズは概ね512KBのL2キャッシュと同程度に収まっている、という事が示されている。
proAptivの本来の説明はここまでなのだが、後半の質疑応答の際に、ARMのbig.LITTLEにどう対抗するのかという質問を受けて、Throndson氏が急遽示したのが以下の3枚のスライドである。big.LITTLE自体は後藤氏の記事などを読んでいただくのが早いが、最初の世代はCortex-A7とCortex-A15の組み合わせで構成されることになる。これについて氏は「要するにCortex-A15は、Mobileアプリケーション向けに常用するには消費電力が大きすぎるからこうした工夫が必要になる」とした(写真21)上で、big.LITTLEの問題点は、そもそも消費電力を抑えるためにはなるべくCortex-A7での動作を増やす方が得策で、そうなるとCortex-A7の処理性能を引き上げるための工夫が必要になるが、これは省電力コアを併用することで消費電力を引き下げるという本来のbig.LITTLEのコンセプトに相反する要求になりかねないあたりが矛盾すると指摘した(写真22)。ただ、それでもやはりbig.LITTLE的な構成のニーズが出た場合は、こんな構成が可能である(写真23)とした。ここの右側がproAptivを使ったHi/Lo Mixであるが、ARMの場合と異なりどちらもproAptivコアを使い、Hi performance clusterとLo performance clusterを構成するというものだ。先にも述べたとおり、proAptiv+コヒーレンシマネージャは最大6コアまでをサポートするので、2+2コアであればそもそも外部にCrossbarが必要ない。またL2キャッシュは共有構成のままでいけるので、ダイサイズの節約にもなるし、L2キャッシュのCleanupや新たなFetchなどの必要性も無くなる。なのでずっと効率よく実現できるという話であった。
【写真20】こちらはクアッドコアの例。てっきり写真19の写真のアスペクト比を変えただけかと思ったが、良く見るとレイアウトが微妙に異なっており、こちらは別のパラメータで配置配線をやり直したものと思われる | 【写真21】消費電力以外にも、Cortex-A7×2と共有L2キャッシュ、さらにCoreLinkを新規に追加する必要があり、この追加分のダイサイズが馬鹿にならないという指摘もあった |
【写真22】これに対してproAptivはそもそもモバイルアプリケーション向けに高効率性を追求したもので、別のコアを組み合わせる必要性がずっと少ないと説明した | 【写真23】下側はARMが公開するbig.LITTLE Processingのホワイトペーパーの6ページに記載されている、プロセッサ切り替え時のトランジションをまとめたもの。proAptivはL2が共有なので、無効化する側のL2をFlashする必要が無いし、有効化する側はL2のデータがそのまま保持されているから、すぐにL2 Hitが期待できる(big.LITTLEでは有効化する側は当初L2が空白だから、暫くの間L2ミスとなる)ため、より効率が良いという |
●interAptiv
ミドルレンジとなるinterAptivは、MIPS32 34Kや1004Kの後継となる製品である。元々MIPS32 34KはMIPS32 24KをベースにMT ASE(Multi-Threading Application Specific Extension)を搭載したもので、これはPentium 4のHyper-Threadingと同じ仕組みである。1004Kの方はこれを4コア集積したもので、言ってみればPentium Dのデュアルプロセッサ構成といったところか。4コアの1004Kだと最大8スレッドの同時が可能になっていた。ただプロセッサコアそのものはシングルイシュー/インオーダーのMIPS32 24Kを引き継いだものになっている。
これはinterAptivも同じで、コアそのものはやはりシングルイシュー/インオーダーとなっているが、proAptivと同じくコヒーレンシマネージャ2やEVAといった拡張を施されている(写真24)。構成そのものもproAptivとほぼ同じで、最大4つまでのproAptivコアがコヒーレンシマネージャ経由でL2キャッシュや外部に繋がるという構成になっている。それぞれのCPUコアには、動作するスレッドを管理するVPE(Virtual Processing Element)が2つずつ入っているのは既存のMT ASEそのままである。
【写真24】Mission Criticalな用途に使われることを想定して、新たにL1/L2/ScratchpadにECCのサポートを追加したのも新機能の1つ | 【写真25】このあたりは完全にproAptivと同じ構成である |
内部構成はちょっと異なっており、interAptivの場合、内部的には最大9つまでのスレッドコンテクストをサポートしており、例えばプログラムカウンタとかメモリマネージャ内のTLB Entry、命令フェッチ部のTCバッファなどはすべて9つ用意されている。この9つのスレッドのうち2つが常時稼動できるという形になっており、「どれを実行するか」はデフォルトだとラウンドロビン方式で切り替わるが、新たに追加されたポリシーマネージャが例えばQoS動作をして特定スレッドを優先的に動かすこともできるし、ソフトウェア側から管理も出来るという話であった(写真26)。これによる性能向上は、CoreMarkの場合、MTを使うことで24%程度の改善が可能とされている(写真27)。写真28は、EEMBCのBrowsing Benchmarkの結果を、コア/スレッドの構成を変えながら行なった結果を示したものだが、やはりMTを利用することで30%程度の性能改善が可能ということを示している。
interAptivの競合は、Cortex-A5~A7がメインということになるが、これらと「同じダイサイズでの性能比較」を行なったのが写真29である。Cortex-A7のCoreMarkは未公表であるが、interAptivはCortex-A5/A7と概ね同じダイサイズであり、Cortex-A9の3分の2程度である。なのでCortex-A9の2コア構成のダイサイズならばCortex-A5/A7とinterAptivは3コア構成が可能で、その場合CoreMarkでは他を圧倒するという結果が示されている。
ターゲットとしてはやはりTSMCの40nm Gプロセスを想定すると1GHz以上で駆動できるとしており、モバイルデバイスからホームネットワークあたりまでの広い範囲をinterAptivでカバーできるとしている(写真30)。
【写真29】これはARM/MIPSとも12 Trackセルで合成を行なった場合の比較とされている | 【写真30】proAptiv及びinterAptivは、2012年第2四半期、現実的には6月末までにはRTLを完成させて出荷開始としたいとの事だった |
●microAptiv
M14Kコアの後継となるMCU向けのmicroAptivは、MCU向けとしつつも実際にはMCU向けとMPU向けの両方のラインナップがあり、ターゲットとしてはCortex-M4からCortex-A5あたりまでということになる。命令セットとしてはMIPS32に加えてmicroMIPSをカバーしており、またDSP ASEのほかにeMDU(enhanced Multiply/Divide Unit)を追加したことでさらに性能を引き上げた、というのが大きな特徴である(写真31)。
microAptiv自身はパイプライン5段のインオーダーのコアであるが、周辺回路としてキャッシュを使わないMCU構成(写真32)と、キャッシュを利用するMPU構成(写真33)の両方をサポートする。MCU構成の場合、コアそのものは1.57 DMIPS/MHz、3.09 CoreMark/MHzとCortex-M4を上回る性能になっており、また搭載するDSP ASEもCortex-M4に搭載されるDSPを上回る性能という点が主要なポイントであるとしている。
写真32にあるMemory Protection Unitというのは、MMUがFixed Page方式であることの補足とでもいうべきもので、メモリアドレス全体を16の部分に分割し、それぞれどんな形でアクセス可能かを指定するというもので、もしここでの定義外のアクセスがあったら特殊な割り込みを発生させることで不正アクセスを防止するという機能である。
microAptivとCortex-M4の性能比較をしたのが写真36で、Cortex-M系よりも高い効率がmicroAptivの特徴である。MCUがメインということもあり、想定プロセスは90nm~65nmというあたりになっており、TSMCの90nm LPプロセスですら最大235MHz、65nm LPプロセスでは380MHzもの動作周波数が可能(写真37)である。写真38はMPU版の実際のフロアプランであるが、このmicroAptivはMCU版、MPU版共に既に提供を開始しているそうである。
このMCU版はコアそのものは235MHz、380MHzと高い速度で動くわけだが、問題になるのはフラッシュメモリがそこまでのスピードに追いつかないこと。マルチバンク構成でインターリーブといっても限界がある。その1つの助けとなるのが、先ほど写真32でオプション扱いで出てきたFlash Accelerator。この中身は256バイトのSRAMで、キャッシュというよりは一種のプリフェッチバッファ的な動作をするそうである。つまりフラッシュからプログラムを読み出す際に、余分に読んでおいてそれをこのFlash Acceleratorに蓄えておくことで、続くプログラムの読み出しの高速化を図る、という事だそうだ。とはいえ絶対的にはフラッシュメモリのアクセス高速化が必要なわけで、このあたりが実際にmicroAptivをベースにMCUを作るベンダーの差別化のポイントの1つとなるのだろう。
●AndroidとMIPS
さて、Aptivシリーズに関しての説明は以上だったのだが、これに続いてKevin Kitagawa氏(写真39)による「Enabling Next-Generation Connected Home Solutions」という講演があった。内容は冒頭の中上氏のものに近い、というかもう少し具体的な話になっていたので、かいつまんでご紹介したいと思う。
MIPSはソフトウェアエコシステムとしてAndroidにかなり力を入れており、それをまとめたのが写真40である。冒頭でも、GoogleがAndroid 4.0をリリースして2週間で最初のタブレットがMIPSベースで発表されたことに触れられていたが、Kitagawa氏はむしろ今年Philipsが中国で発表したPhilips T7/T7+を強くアピールしていた。このPhilips T7/T7+はCTS認証を取得している点が大きなポイントだという(写真41/42)。AinovoやSpeedupといった製品もあるが、やはりPhilipsというナショナルブランドがMIPSベースの製品を販売することのインパクトは大きい、ということであった。携帯に関しても、まだ数は少ないが徐々に増えつつあるということで、今後の伸びに期待したいということだった。
さて、氏の本題は「スマートTVとは何か?」ということだった。そもそもTVは携帯やタブレットに比べるとはるかに買い替え頻度が落ちる。スマートTVに求められるものは何かというと、それは外部との連携であろうとしている(写真44)。具体的には、タブレットをリモコン代わりにしたり(写真45/46)、マルチチャネルプレビューを表示したり(写真47)、インスタントリプレイを表示させたり(写真48)、あるいはTVと組み合わせたアプリケーションを動かしたり(写真49)といった事が考えられるとしている。実際に会場ではいくつかのアプリケーションのデモも行なわれた(写真50)。
氏の話は判るのだが、別にMIPSである必要性は無いのではとあとで聞いてみたところ、「MIPSの方が効率性に優れている」という返事が返ってきた。もちろんARMでも同じソリューションを作ることは可能だが、より長いバッテリ寿命やより安価な価格を実現できるのがMIPSの強みだという。
【写真39】Marketing Director, Digital HomeのKevin Kitagawa氏 | 【写真40】STB(SetTopBox)とAndroidに関しては、国内でもOESF(Open Embedded Software Foundation)がかなり力を入れており、MIPSも当初からここに協力するなど比較的MIPSが強いシェアを持つ部分である | 【写真41】CTSとはCompatibility Test Suiteの略で、きちんとAndroid端末として動作するかの互換性を試すテスト。安価なタブレットなどだとこれに合格しないものは多い |
【写真42】何もしなくてもMIPSベースのAndroidはSDKベースで8割程度のアプリケーションは動作したらしい。ただ、例えば中国だとAngry Birdが動かないのは論外とかいう話があり、これを動作させるためにちゃんと作りこむといった作業が必要になってきており、そうした結果として完成度を高めていったという。価格は499元とかだそうで、日本円にしたら6,300円程度。国内でも売って欲しいところだが、PhilipsはこれをタブレットというよりはSTBの一部的な形で販売しており、今のところタブレットとして販売する予定はない(一応アメリカでは入手できるらしい)という | 【写真43】手前左の白いSmartphoneはLenovoのもの | 【写真44】氏の講演の副題は「The Multi-screen Experience」 |
【写真45】これは見ての通り | 【写真46】これはSpeedup Pad ICE上で動くリモコンアプリケーション | 【写真47】これはMIPSベースのSTB上でプレビュー画面を作成し、それをWi-Fiでタブレットに飛ばすという仕組み |
【写真48】こちらも同様。TVそのものをどんどん高機能にしていくよりも、高機能なSTBを使ってタブレットなどと組み合わせたソリューションを提供するほうがスマートな体験を実現しやすいという話 | 【写真49】これはブラックジャックを5人でプレイしている図。おのおののタブレットには自分の手札が表示され、TVには場が示されるというもの。似たようなノリで、ドライビングゲームなどもありえるとした | 【写真50】デモを行なうミップステクノロジーの和田信氏。和田氏の名前に聞き覚えが無い方は、こちらやこちらの記事を読んでいただけるのがよろしいかと |
●総括
ざっくりAptivのご紹介をさせていただいた。以下、こぼれ話も含めて少し筆者の見解などをまとめたい。
まず現在のAptivはいずれも32bit製品である。EVAや3レベルのBTBなど、いくつかの特徴を持ったAptivコアを同社ではMIPS32 Release 3と称している。「では64bitは?」と聞いたところ、EVAは別に必要ないので省くが、BTBなどはそのまま適用した64bit版をMIPS64 Release 3として用意しており、Cavium Networksなど既存のMIPS64ベースの製品をリリースしているベンダーが検討中の模様だ。
「普通に考えればmicro/inter/proで頭文字を取ればM・I・Pなので、次は64bit向けをserverAptivとかsuperAptivで出す予定があるのでは?」(そうなるとCortexシリーズ同様に、MIPSという社名になる)と突っ込んでみたところ、笑いながら「将来の事には今はコメントできない」としたが、否定もされなかったので、ありそうな話ではある。
Aptivシリーズは、現時点では全ファミリーともFully Synthesizable、つまりソフトIPのみで提供される。ARMが先端プロセスをハードIPで提供し始めているのとは対照的であるが、これに関してはMIPSのパートナー企業からハードIPの提供の可能性はあるが、MIPS本体としてはソフトIPのみでの提供しか考えていないという話だった。もっともこのあたりは企業の体力の問題もあるので致し方ないところかもしれない。
またproAptiv/interAptivがOCP I/Fでの提供なのもちょっと難しい気がするのだが、これに関しても「だからといって我々がAXIで出すわけにはいかない」ということで、こちらもパートナー企業からOCP/AXIのソリューションが出てくる形になるという話であった。
とりあえずまだRTLレベルで完成していないという段階なので評価は難しい(Cortex-A15は既にSamsungがこれを搭載したExnos 5250のサンプル出荷を昨年開始している)が、スペックだけ見ていればCortex-Aシリーズに互角以上で戦えるものにはなっている。ただ、後発の製品が先行の製品より優れているのは当然であって、問題は先行製品のリードをひっくり返せるほどその性能差が大きいかどうかというあたりである。
6月にRTLということは、そこから物理レイアウト作業を開始し、実際にテープアウトするのは早くて今年末。それを使ったSoCが出来上がるのは2012年3月とか4月だろう。全く問題がなく完成したとして、それを搭載した製品が出てくるのは従って2013年末~2014年以降になる。この時点でもまだAptivシリーズが十分な競争力を持てているかどうかが判断基準になるだろう。この頃だとARMベースの20nmプロセスの製品が投入されている頃で、そう楽には勝てないだろうと筆者は考える。
とはいえ、65nm~40nmあたりのプロセスでそこそこの性能のものを安価に、という目的にはAptivファミリーはなかなか有望そうにみえる。意外にこのあたりがAptivファミリーのスイートスポットになるのかもしれない。
(2012年 5月 25日)
[Reported by 大原 雄介]