Armは自動運転向けプロセッサの覇権を握れるか、本命は5nmプロセスArm最新動向報告(3)(2/3 ページ)

» 2019年02月14日 10時00分 公開
[大原雄介MONOist]

消費電力当たり性能はインテルの「Coreシリーズ」を大幅に上回る

 まずは大きな枠組みから。図1は、Cortex-A65AEの発表直前までのArmの車載向けロードマップである。これはCortex-A65AEの発表後に図2に変わったが、まぁ「Helios-AE」がCortex-A65AEに変わった、というだけで基本的には同じものである。

図1 図1 これは2018年10月17日の“Building Future Automotive SoCs From Arm IP”のセッション資料より。この時点では「Helios-AE」の詳細は明らかにされていない(クリックで拡大)
図2 図2 「Cortex-A65AE」の発表資料より(クリックで拡大)

 ここで同社の発想は、特にADAS(先進運転支援システム)とか自動運転とかに向けたところには演算性能の高いコア(「Cortex-A7x」系列)を投入する一方で、ECUなどにはリアルタイム性の高い「Cortex-R」系列を投入するというものになっている。要求性能があまり厳しくない用途についても、やはり自動車対応の「Cortex-M」系列が用意されている。

 Cortex-A76は、同社としては初の4命令同時解釈/8命令同時実行のスーパースカラ/アウトオブオーダー構成で、Armは性能に関して具体的な数字を示していない(7nmプロセスで製造されたCortex-A76のシングルスレッドにおける「SPECint2006」のベンチマーク性能が、16nmプロセスで製造された「Cortex-A73」比で2.1倍、とだけ公表されている)。しかし、例えば「GeekBench 4」の結果で見れば、Cortex-A73を内蔵する「Hisilicon Kirin 960」を搭載したスマートフォン「Huawaei P10」のシングルコアスコアが1900前後なので、これの2.1倍だとほぼ4000になる。

 このスコア、例えばインテルの「Core i7-7700K」を搭載した「iMac」で6281だが、Cortex-A73やCortex-A76はコアの消費電力が2Wで、一方Core i7-7700Kは4コア合計で91Wだから、いろいろと比較にならない。

 同一消費電力枠で考えると、Cortex-A76はすでにインテルの「Coreシリーズ」などを超える性能を持つコアになっている。このあたりもあって、2018年9月のCortex-A76AEの発表会では、「16コアのCortex-A76AEを集積したSoCは、コア全体が15W未満、SoC全体でも30W未満の消費電力で、25万DMIPSの性能を実現できる」(図3)とブチ上げているわけだ。

図3 図3 「Cortex-A76AE」のプレゼンテーション資料より(クリックで拡大)

 実はこの30Wという数字は、車載ECUとしてはあり得ない程高い消費電力だ。このあたりをArmに確認したところ「現在自動運転のテスト用プラットフォームは、トランクとか後部座席にラックサーバを積んでいて、消費電力も1000Wとかのオーダーだ。それに比べれば30Wなんて何とでもなる、というのが自動運転に携わるメーカーの意見だ」ということで、当面Armは自動車向けIPのターゲットを大体このあたりに定めているようだ。

 そのCortex-A76AEで導入されたのが「スプリットロックステップ(Split LockStep)」という仕組みである。自動車向けSoCの場合、4コアで1つのクラスタを構成するが、このクラスタごとにそれらを独立モード(Split Mode)で稼働させるか、協調モード(Lock Mode)で稼働させるかを個別に選べるというのがスプリットロックステップの理屈だ(図4)。

図4 図4 ちなみになぜ4コア単位かというと「DynamIQ」的には8コアでも可能らしいのだが、メモリ帯域が足りなくなるからということだそうだ。メモリとは「CMN-600AE」経由で接続になるが、ここの帯域が8コアだとボトルネックになるらしい。このあたりはモバイル向けと異なり、Big Coreが常時フル稼働する状況だからということだろう(クリックで拡大)

 ADAS向けアプリケーションといっても、全てのアプリケーションが必ずしも自動車向け機能安全規格で最も安全要求レベルが高いASIL-Dで動作する必要はなく、それよりも低いASIL-B相当でいいとか、単に車載グレードを確保していればいいといった要件も当然ある。従来だと、ASIL-B用とASIL-D用で別のプロセッサにするとか、ASIL-D用のロックステッププロセッサと車載グレード向けのプロセッサをヘテロジニアス構成にするとか、いろいろな対策が行われてきた。

 ただし、そうでなくてもSoCの搭載数が増え気味の昨今の自動車向けシステムでは、SoCの数を減らしたいし、ロックステップ用とスプリット用でプロセッサコアを別々に搭載するのは実装の柔軟性を欠くことになる。スプリットロックでは、SoCの設計時ではなくソフトウェアのインプリメント時に独立モードと協調モードの構成を変更できるので、1つのSoCを柔軟に使いまわせるというメリットが生まれる形だ。

 そんなわけで、Cortex-A76AEに合わせて導入されたスプリットロックステップだが、ハイエンドのCortex-A76でしか利用できないというのは、高級車にはよくても、もう少し下のグレードのクルマでは使いにくい。そこで、従来のミドルレンジ製品に比べるとかなりパフォーマンスをアップさせつつ、Cortex-A76AEより低価格なIPとしてCortex-A65AEが追加されたという格好だ。

 実際、自動運転向けのシステムでは、Cortex-A65AEとCortex-A76AEを組み合わせる形でのシステム提案がなされている(図5)。

図5 図5 センサーフュージョンはCortex-A65AEで、自動運転の分析は「Cortex-A76AE」と「Cortex-A65AE」のヘテロ構成で、判断はCortex-A76AEで、といった使い分けとなっている。要するに演算速度とI/O処理のバランスというわけだ(クリックで拡大)

 ちなみにCortex-A65は、2命令同時解釈(実行数は未公開)のスーパースカラ/アウトオブオーダー構成で、従来のインオーダー構成を貫いてきた「Cortex-A53/A55」と比べて随分性能が上がっている。Cortex-A53と比べた具体的な性能向上の数値は以下の通りだ。

  • コアあたりの整数演算のパフォーマンスは70%アップ
  • 車載向けアプリケーションでのメモリスループットが3.5倍
  • ACPポート経由でのアクセラレータからの読み出しスループットは6倍以上

Copyright © ITmedia, Inc. All Rights Reserved.