2010年8月に開催されたHot Chips 22でARMは「Eagle」と呼ばれる新たなプロセッサコアに関する発表を行ったが、このEagleに関するもう少し詳細な情報が9月9日、開催された記者説明会において公開された。ちなみにこの記者説明会は日本以外にアメリカおよび台湾で同時に開催されたとのことである。

まずはARM日本法人であるアームの西嶋貴史社長が説明に立ち(Photo01)、すでにARMコアは膨大な量が出荷されており(Photo02)、しかも現在は従来のARM9~11に代えてCortex-A8に移り変わってきている、としている(Photo03)。

Photo01:アーム代表取締役の西嶋貴史社長。同氏によれば、Cortex-A15の開発は、ARMの歴史の中でもっともコストと時間が掛かっているとか

Photo02:今は年間40億個もの出荷なので、単純計算ならばこれから2年半あれば300億個の出荷に達する計算だが、これは今後さらに膨大な数の製品が出荷される先触れである、と説明した

Photo03:ARMの場合、SoCの形で出荷されることもあり、実際にコアを出してからSoCに採用され、さらにそのSoCが製品に組み込まれるまで5年近いリードタイムが必要になるのが普通である。Cortex-A8は2005年末に発表されたが、実際にこれを搭載したSoCが出てきたのは2006年~2008年にかけての事で、それが携帯電話に搭載され始めたのは2008年末~2009年にかけてのこと。やっと現在はARM11などに代えて、Cortex-A8が主流になってきたから、やはり丁度5年というところだろう

同社はこれに続くものとしてCortex-A9をすでに発表しているほか、バリューセグメント向けのCortex-A5もラインナップしているが、ただしコネクティビティを高める中で、より高い性能とスケール性が必要になってきたとしている(Photo04)。こうした用途に向けて投入されるのが、今回の「Cortex-A15(Eagle)」となる(Photo05)。

Photo04:ネットワーク対応製品が増える中で、従来だとPCなどで利用してきた用途が次第に携帯機器に移り始めていることもここには関係する

Photo05:各Coreの大雑把なカバーレンジ。ちなみに「何で15?」と後でLanier氏に聞いたら、「いやそれはMarketing的な判断だけど、性能が大きく伸びるということで数字もそれにあわせた」というので「それじゃCortex-A100とかA1000でもいいのでは?」と聞いたら笑っていた。概ねCortex-A9のほぼ倍の性能レンジになるあたりで、15というあたりが選ばれたらしい

ここからは英ARMのTravas Lanier氏(Photo06)が説明を行った。Cortex-A15は、従来のCortex-A8/A9とほぼ同じPower/Thermal Budget下で、Cortex-A9比で約2倍の性能を実現するという(Photo07)。この性能をもう少し示したのがこちら(Photo08)である。このスライドを示しながらLanier氏はCortex-A15のMicroarchitectureについて

  • Super ScalarとOut-of-Orderを実装
  • Decodeは3命令/Cycle、Issueは8命令/Cycle
  • 32KB命令/データ:L1キャッシュと、最大4MBのL2キャッシュを搭載
  • 128bitのAMBA4 I/Fを搭載
  • NEON拡張命令セットをサポート

Photo06:英ARMのSenior Product Manager, Processor DivisionのTravas Lanier氏。ARM以前はAMDでK5~K7までDevelopment Engineerを務めていたとか。

Photo07:この「現在の高性能携帯電話」はCortex-A8を指す。2.5GHz動作については、恐らく28nm LPプロセスを使っての数字のようだ

Photo08:Cortex-A8/A9共に、プロセスの微細化や構成次第でパフォーマンスに変化があるため、一概には言いにくい部分はあるが、それでもCortex-A9に比べて2倍程度の性能になると説明された。ちなみに2倍というのはパイプラインのIPC向上のみならずキャッシュの性能改善や広帯域メモリアクセス、プロセス微細化による動作周波数向上など全体を含んで、との事だった

といった事柄を口頭で説明した。また低電力消費に関しては、Fine-Grained Pipeline shutdownを含む多くの技法が取り入れられていることも明らかにしている(Photo09)。ここで示された「高度な物理実装方法」は、恐らくすでにアナウンスのあった垂直開発プラットフォームを前提に考えているものと思われる。

Photo09:Fine-Grain Pipeline Shutdownは恐らくClock Gatingによる細かなPipeline制御で、Power Gatingまでは含んでないと思われる

また製品構成としては、1コア~8コアの構成が念頭に置かれていることも明らかにされた(Photo10)。また、すでに仮想化をサポートすることはHot Chipsで明らかにされたが、これにあわせてサポートする物理メモリの容量も最大1TBまで拡張されていることが明らかにされた(Photo11)。

Photo10:ただし説明は8コア以上も可能となっており、では最大何コアか?と聞いたところ、それは構成次第という返答が。Cortex-A15自身は8コアを1つのクラスタ(もっとも論理的には4コアが1つのユニットになるようで、このユニット2つで1クラスタという計算になる)で管理され、あとはAMBA-4にそうしたクラスタが複数ぶら下がる形になるようだ

Photo11:もっとも既存の32bitのアドレス空間は依然として提供されるため、従来のOS/アプリケーションはそのまま動作させることが可能となっている

ちなみにこの1TBのアドレス空間については、Lanier氏は丁度x86の64bit拡張に例えていたが、要するにこの40bitアドレスモード(もっともこんなアドレスサイズは中途半端だから、実際には仮想アドレスは64bitに拡張され、物理アドレスが40bitということではないかと想像される)が新たに追加されており、何らかの操作を行うこと(特権モードと連動している可能性もある)でアクセス可能だが、普段は32bitのままで動作するということらしい。この拡張アドレスモード、当初はVirtualizationのHyperVisorがメインターゲットだが、将来的にはデータベースとか科学技術計算向けアプリケーションなどでも利用される可能性がある、と説明された。

話を戻すとマルチコア構成であるが、例えばPhoto12は8コアのCortex-A15にGraphicsエンジンとSecurityエンジンをそれぞれ統合した例である。この構成の特徴は、キャッシュコヒーレンシがCPUのみならず周辺機器まで保たれることであり、これがAMBA 4を使う大きなメリットの1つとされる。

Photo12:この図で一番謎なのがL2キャッシュ。その前には各コアに専用のL2キャッシュと説明があり、このあたりは構成が自由に変えられるのか、それとも1Pだと専用キャッシュだが2P以上だと共有キャッシュになるのか、はちょっと現状不明である

ちなみに当初のターゲットは28nmであるが、将来的には22nm/20nm世代もターゲットに入っているようだ(Photo13)。

Photo13:現実問題として最初のターゲットは28nmプロセスで、後ほど22nmに移ると見られるが、この表現だと20nmにいきなり移るようにも読めなくもない

これに引き続き日本TIの水上修平氏(Photo14)により説明があった。これも既報の通り、Cortex-A15コアはTI、Samsung Electronics、ST Elicsonの3社にまずライセンスを供与することが発表されており、TIは次世代OMAPにCortex-A15を搭載することを明らかにしている。

Photo14:日本TIの営業・技術本部 ワイヤレスビジネスである水上修平部長

水上氏によれば、TIはすでにARMと17年間提携をしており、合計で30億個のARMコア搭載製品を出荷しているという。特に携帯電話向けのOMAPに関しては、OMAP1~3だけで2億5千万個の出荷を行っているとの事である。そこでOMAP Future(まだOMAP5という名称になるかどうかは正式には未定だそうである)にCortex-A15を使うメリットは? ということで水上氏が示したのがこちら(Photo16)である。

Photo15:このプレゼンテーションではDaVinciがARM9のみになっているが、実際はもう少し色々なコアを搭載した製品がある。またここにはないが、Cortex-M3を搭載したStellarisに最近は力を入れている

Photo16:バッテリーの絵は、あくまで模式図的に消費電力を示したものだそうである

左はOMAP4を使い、Webブラウザであるページをレンダリング表示するのに、4.3秒程度を要する。ここでCortex-A15を搭載したOMAP Futureを使った場合

  • 同じレンダリング速度なら、消費電力を60%削減できる
  • レンダリング速度をほぼ倍(4.3秒→2.3秒)にした場合でも、消費電力を15%削減できる

という見通しを説明、次世代製品の大幅な性能アップと消費電力削減が可能になる事を示唆した。

ということでレポートはここまでで、以下簡単に考察。パイプラインについては、Cortex-A8の場合、Decodeは2命令/Cycle、Issue数も4でしかない。Issueが倍になった、というあたりはひょっとすると(Cortex-A8やA9と異なり)NEONのIssueまで勘定に入れている可能性もなくはないが、NEONがオプション扱いになるだろうと想像されることを考えると、やはり整数演算系だけで8issueを使い切っている可能性がある。

ヒントになるのは、Lanier氏が「Cortex-A15のAMBA 4 I/Fは128bit幅だ」と明言していることで、そうなるとLS(Load/Storeユニット)を大幅に増強しているとか、あるいはLoad/Storeを分離してそれぞれ複数個搭載している可能性だ。

ALUについてもDecodeが3命令/Cycleと明言されている以上、当然3つ搭載されていると考えるべきだろう。しかも内部的には64bitアドレスを管理できるように改変されていると見るべきで、こうなってくるともうCortex-A15はCortex-A8/9と内部はまったく別物になっていると考えられる(実際、Lanier氏もCortex-A9とCortex-A15はまったく異なる、と断言していた)。こうなってくると気になるのは詳細な内部構成だが、ためしにパイプライン段数をLanier氏に聞いたところ「今は言えない」との事。日本の場合は11月11日に予定されているARM Connected Community Technical Symposiaではもう少し詳細について説明を行うということで、ここまでお預けということになりそうだ。