自動運転システムは、さまざまな課題を設計エンジニアらに突きつけています。そうした中で、半導体開発者がADAS(先進運転支援システム)の進化から学べることは数多くあります。過去数年の間に自動車分野の開発者らがADAS設計の効率化を図っていく中で学んできた3つの主な教訓を紹介します。
自動運転システムは、PC、スマートフォン、データセンターのシステムではみられなかったような課題を設計エンジニアらに突きつけています。しかしその一方で、半導体開発者がADAS(先進運転支援システム)の進化から学べることは数多くあります。
したがって、統合の難しさが自動運転車向けSoC(System on Chip)の開発者を悩ませることはあるかもしれませんが、今世紀の技術を未来の車に生かすためにはADASに学ぶことが非常に重要だといえます。
以下は、過去数年の間に自動車分野の開発者らがADAS設計の効率化を図っていく中で学んできた3つの主な教訓です。
第1世代のADASソリューションの開発者らは、複雑なソフトウェアを作成することによって設計上の障害を克服しようとしました。そこで彼らが発見したことは、あらかじめプログラムされたアルゴリズム的アプローチは自動車という複雑な物理世界ではうまく機能しないということでした。
そのため、センサーフュージョン、ビジョンプロセッシング、安全性といったタスクのために新しいアルゴリズムを作成しなくてはなりませんでした。それには大規模なコードベースが必要であり、エンジニアは絶えずそのソフトウェアの保守とアップグレードを行わなくてはならず、結果としてコスト面と安全面のリスクが高まりました。
汎用ハードウェア上で動作するソフトウェア中心のシステムから、計算機能専用のハードウェアアクセラレーターを搭載したカスタムSoCへの移行により、ADAS開発者は複雑なアルゴリズムをより小規模な計算に分割できるようになりました。その結果、実世界の運転状況により即したADAS設計が可能になりました。
ADASの進化は、いかに強力なSoCが非常に複雑で準リアルタイム性能を必要とする自動運転機能を実行できるかということをよく物語っています。
ビジョンプロセッシング、センサーフュージョン、その他ミッションクリティカルなタスクの準リアルタイム性を確保することに関していえば、自動運転向けSoCの開発者はADASを手本にすることができます。
当初、ADAS開発者らはオンチップ計算サブシステム間での情報交換に内部SRAMを使用していました。結合メモリユニットが出力メールボックスのような役割を果たすと同時に、計算タスクの入力を受け取っていました。しかしソフトウェアでの通信管理はプロセッシングエレメントの数が増えるに従って困難になり、遅延を増大させる結果となりました。
データセンターで使用されているような大規模SoCであれば、チップ間またはサーバ間通信で生じるかなりの遅延にも耐えられるということは注目に値します。しかしながら、絶えず変化する物理世界の条件に応えなくてはならない自動車環境では、また話が違ってきます。
結局、処理帯域幅を増やして遅延時間を短縮するためにADASチップに採用されたのは、ヘテロジニアスキャッシュコヒーレンシのような手法、言い換えればSoC内のCPU、GPU、DSPといった計算エレメントを効率的につなぐオンチップ通信技術でした。
この点は特に重要です。というのも、自動運転車向けSoCへのハードウェアアクセラレーターの採用が顕著になりつつあることから、SoCが複雑な機械学習アルゴリズムの処理に準リアルタイム組み込みプロセッシングを実行する上で、ヘテロジニアスキャッシュコヒーレンシなどのオンチップ通信技術が重要な役割を担いうるからです。
Copyright © ITmedia, Inc. All Rights Reserved.