可能性と複雑性に満ちあふれた「AMP」へようこそ:SYSTEM DESIGN JOURNAL(2/5 ページ)
「AMP」(非対称型マルチプロセッシング)は今まさに注目すべき技術ですが、AMPとは何であり、なぜ必要なのでしょう。何より、組み込みシステムにおいてAMPの実装にはどんな利点や課題があるのでしょうか。
3番目の動機は専用ハードウェアの必要性です。これは、メインCPUコアのインスタンスで実行すると要件を満たせないタスクがある場合です。一例として、ARMの「big.LITTLE」が挙げられます。
big.LITTLEは、一方は低速で消費電力が非常に低く、もう一方は高速ながら消費電力が大きい2つのバイナリ互換CPUコアを搭載することにより、監視コードがタスクを自由に移動して、消費電力の最適化を可能にします。その結果、性能要件を満たしながらもエネルギー消費量が非常に少ないシステムを実現できます。
しかし、多くの場合にAMPシステムのタスクは移植できません。プロセッサの種類が根本的に異なるからです。移植できないものとしては、GPUやFPGA、特定用途向けSoCに見られる特定機能向けアクセラレータなどのハードウェアアクセラレータが挙げられます。
最も重要な考慮事項
AMPを選ぶ理由にかかわらず、実装に影響する重要な問題がいくつかあります(実際にはマルチプロセッシングシステムに共通する問題です)。それはタスクの実行および制御方法、システム内でのデータの移動方法、タスクから外部へのアクセス方法などです。
プロセッサとしてのハードウェア選択は、初期の設計目標によって決まります。目標が単に一部のタスクを残りのシステムから物理的に分離することである場合、一般に最も簡単なアプローチは、同じCPUコアの複数インスタンスを使用しながら、いくつかのコアで他のコアとは異なるOSを実行することでしょう。
これは一方が両方のシステムコールを全て処理する2つのLinuxカーネルなど、同じOSの異なるビルドを意味する他、例えば一方のコアはLinux、もう一方のコアはRTOSまたはベアメタルアプリケーションを実行するといった、全く異なる環境を意味することも考えられます。
システム制約により、OSだけでなくハードウェアも異なるものを使用しなければならない場合もあります。例えば、前世代で特定のマイクロコントローラーユニット(MCU)上で実行されていたコアは、引き続きそのコア上で実行するのが最善かもしれません。
ASICまたはFPGAにレガシーMCUを実装するIP(Intellectual Property)を探すことは比較的容易ですし、何としても大昔の8051アセンブリコードファイルをリバースエンジニアリングして、64bit ARMコア向けにCで書き直したいなどと考える人はいません。
さらに、タイミングや消費電力なども異種性に頼る理由になり得ます。時として、タスクをシステム割り込みから分離するだけでは不十分で、タスクの確定的レイテンシがより短いCPUが必要になることもあります。従って、レイテンシ制約が厳しい場合、制御ループをメインのARM Cortex-Aコアから別のCortex-Rコアに移動するのは理にかなっているかもしれません。
また、前述したよう、消費電力またはエネルギー制約により、要求は厳しくないものの持続的なタスク向けの低消費電力コアや、集中的で計算を多用するタスク向けのパワーゲーティング機能搭載の超高速コアなど、特定のタスク向けに特別のコアが要求される場合もあります。
とはいえ、多くの場合、問題は計算を多用するタスクの性能そのものです。そこで視野に入ってくるのがハードウェアアクセラレータです(図 2)。ハードウェアアクセラレータには、DSPやGPUなどプログラマブルサブシステムもあれば、暗号エンジン、プロトコルオフロードエンジン、ビジョンプロセッサなどの固定機能アクセラレータ、さらにはFPGA内のカスタム並列エンジンやパイプラインエンジンもあります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 走行距離不安症の数学
ハイブリッドカーやドローンなど、リチウムイオン(Li-ion)バッテリーを動力源とするものは増え続けています。電池切れや発熱、発火といったリスクへの対処は絶対必要ですが、Li-ionの管理は容易ではなく、数学的な手法が欠かせません。 - 錠前が暗示するIoTセキュリティの3要件
IoTの進化は創造的なプロセスと懐疑的なプロセスの2つを無視できない存在まで引き上げました。懐疑的なプロセスの筆頭は、安全性に対する懸念です。物理的な安全と個人情報の安全という両方の安全がなければ、IoTは行き詰まる可能性があります。 - クラウドに生まれる新たなレイヤーの形
IoTやビッグデータコンピューティングの圧力により、クラウドには「層化」とも呼べる現象が起こっています。それはアプリケーションデータフローと実際の帯域幅、そしてレイテンシ制約という競合する課題への対応です。 - ニューラル・ネットワークと力の指輪
指輪物語の「1つの指輪」は全ての指輪を統べる力を持ちました。ではニューラルネットワークは人工知能という力の指輪を統べる、1つの指輪なのでしょうか。 - SoC設計者がIPに関心を持つべきタイミング
SoCが自律走行車やIoTなどの分野に進出しようとしていますが、求められる要件は分野によって大きく異なります。その結果、SoC開発者がIP(Intellectual Property)を評価・統合する方法に変化が見られます。