日本のチップ設計会社Armは、自動運転車の世界でIntel、Nvidiaなどのライバル企業に追い抜かれることを絶対に望んでいない。
ソフトバンク傘下の半導体設計チームは、通常はリアルタイムCPU専用の安全機能を自社の最高級アプリケーションプロセッサコアに組み込み、システムオンチップ設計者や自動車メーカーにこの技術を使って将来の自動運転車を文字通り操縦するよう促そうとしている。
具体的には、Armは本日、リアルタイムおよびセーフティクリティカルなシステムで使用される32ビットCortex-Rコアに搭載されているSplit-Lock機能を、64ビットCortex-A76に追加したことを発表しました。その結果生まれたのがCortex-A76AEです。AEは「Automotive Enhanced(自動車向け強化)」の略で、自動運転車を制御するコードの実行を目的としていることを示しています。
スプリットロックには、スプリットモードとロックモードの2つのモードがあります。スプリットモードでは、プロセッサクラスター内のコアは独立して動作します。
ロックモードでは、2つのコアがペアになり、同期して動作します。つまり、全く同じ命令をメモリから同時にフェッチ、デコード、実行、そしてリタイアします。2つのコアは同一であり、同じコードを同時に実行しているため、常に全く同じ動作をするはずです。しかし、動作にずれが生じた場合、チップ内部でアラームが発せられ、問題が発生したことを知らせます。
その考え方は、宇宙線やトランジスタゲート、あるいはダイ上のメモリセルの反転といった不運な偶然によってランダムなハードウェアエラーが発生した場合、影響を受けたCPUコアは同期が取れなくなり、システムオンチップの電子回路に警告を発するというものです。ただし、両方のコアが同時に同じエラーに遭遇することは想定されていません。
アラームが発生した場合、コアは中断され、正常な状態に回復した後、動作を継続できます。これにより、ランダムエラーによってシステムがクラッシュに陥るのを防ぐことができます。これは、コンピューター制御の自動車に電力を供給する場合には深刻な問題です。この保護メカニズムをシステムオンチップに組み込むことで、この用途専用の外付けウォッチドッグを使用する必要がなくなります。
ArmがCortex-A76をリリース – 同社初の64ビット専用CPUコア(カーネルモード)
続きを読む
このロックステップ方式は、安全性が極めて重要なマイクロコントローラーグレードのプロセッサで一般的です。2つ以上のコアが互いに制御し合い、ランダムエラーによってソフトウェアが誤った判断を下し、ハードウェアの制御下にある機械や車両の内部または近くにいる人に深刻な危害を及ぼすことがないようにしています。ほんの一瞬でビットが反転しただけで、車が急ブレーキをかけられ、追突事故に遭うような事態は避けたいものです。
Armがここで行ったのは、ロックステップ安全機能をCortex-A76に組み込むことです。Cortex-A76は、通常はハイエンドスマートフォンや軽量でバッテリーに優しいタッチスクリーンノートPC向けのCPUコアです。そのため、ライセンス供与されたCortex-A76AEコアを使ってプロセッサを設計すれば、それらをペアにしてロックステップで動作させることで、期待通りに動作することを保証できます。つまり、重要な判断がランダムなハードウェアの不具合によって損なわれることはありません。
なぜでしょうか?それは、自動車メーカーが自動運転車やトラックの頭脳に採用する、電力効率が高く十分な性能を備えたプロセッサとして、安全性が強化されたCortex-Aコアをシステムオンチップ設計者に選んでもらいたいからです。
つまり、自動車メーカーは、コンピューター制御の古い車用のチップセットを開発しているインテル、NVIDIA などの競合企業の部品を選ばないということになる。
その他の機能
7nmプロセスによる16コアCortex-A76AEクラスターの消費電力は15W未満と言われています。さらに、Helios-AEとHercules-AEという2つのAEクラスCPUコアも計画されています。Armによると、A76AEはISO 26262 ASIL DおよびBの安全規格に準拠し、チップあたり最大64コアを搭載可能で、Armv8.2のRAS(信頼性、可用性、保守性)機能[PDF]を提供し、仮想化をサポートし、メモリ保護機能を使用して機械学習アクセラレーションハードウェアを遮断できます。
つまり、資料によれば、システムオンチップに AI 数学アクセラレーション コンポーネント (自動運転に非常に役立つ) が含まれている場合、コアがこのテクノロジを処理し、ニューラル ネット コードが安全性が重要なファームウェアに影響を与えないように安全対策を講じることができるということです。
基本的に、ハイパーバイザー、オペレーティング システム、一般的なアプリケーション、および ASIL B グレードのコードが稼働している分割モードで実行されているクラスター内の 4 つのコアと、リアルタイム オペレーティング システムと ASIL D グレードの安全性が重要な車両制御ソフトウェアを実行しているロックステップ モードでの 4 つのコアを持つことができます。
2018年5月のUBS調査[PDF]を引用すると、Armの幹部は、真の自動運転車が2027年まで路上に登場することはないだろうと予測しています。とはいえ、今から動き始めても問題はありません。最初のA76AEコアは2020年から車両に搭載される「予定」とのことで、おそらくスーパークルーズコントロールシステムのようなものになると思われます。®