マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > マルチコアプロセッサで多様な機能と安全性の要件に対応する

マルチコアプロセッサで多様な機能と安全性の要件に対応する

著者 Stephen Evanczuk 氏
Digi-Keyの北米担当編集者 提供
2020-10-01

マルツ掲載日:2021-2-1


 自動車、産業、ロボティクス、建物管理などの重要な組み込みシステムアプリケーションは、今後、低電力かつリアルタイムの監視から、ヒューマンマシンインターフェース(HMI)用の複数画面のグラフィックディスプレイを備えた高水準のマルチメディアアプリケーションまで、より広範なワークロードに対応することが期待されています。

 こうした機能面での幅広い要件への適合に加えて、これらのアプリケーションは、厳しい安全規格、コストとフットプリントの削減、そして電力/性能のバランスの最適化にも対処しなければなりません。

 これらの要件は時に相反する場合もあるため、対応する開発者は、これまでは機能面における性能を犠牲にするか、設計を複雑にして、グラフィックス、セキュリティ、安全性などの特定の要件をサポートするために必要なデバイスを追加して製造を行うことを余儀なくされていました。

 開発者が本当に必要としているのは、組み込みシステムアプリケーションの幅広い範囲で、これらの要件に対応するためのさまざまな製品をサポートできる、単一のソリューションです。

 この記事では、重要な組み込みシステムの設計の高度化について簡単に説明します。そして、NXP Semiconductorsが特別に設計したマルチコアアプリケーションプロセッサを使用することによって、幅広い機能と安全認証機能の両方に対して急拡大する要件に対応するために、開発者が課題を解決する方法についても紹介します。

組み込みシステムの設計に対する考慮事項の高度化

 組み込みデバイスの従来の役割は、限られた一連のシステム機能をサポートするものでしたが、広範な機能を提供するデバイスが要求されるようになったことから、この役割は大きく変わりつつあります。

 たとえば産業用アプリケーションでは、スマートツールや装置において拡張されたHMI機能が必要となり、そのために、最適化されたグラフィックスを提供すると同時に、産業用に以前から求められているリアルタイムの要件に対処できるプロセッサが必要になっています。

 同様に、車載用アプリケーションにおいては、機能ドメインのクラスタとゲートウェイで構成される階層型アーキテクチャが採用される傾向が高まっていることから、こうした要件に完全に対応できるプロセッサが必要とされるようになっています(図1)。


図1:階層型の車載用システムアーキテクチャに対するトレンドが、緊密に統合された、スケーラブルなプロセッサソリューションに対する需要を創出。(画像提供:NXP Semiconductors)

 各機能の領域において、より高度な機能に対する需要が増加していることに伴い、性能や統合されている機能に求められる基準が高まっています。たとえば、ヘッドアップディスプレイの登場により、運転手に対して重要なグラフィックス情報を継続的に表示できるようにするためのソリューションが必要とされるようになりました。

 こうした次世代型のディスプレイが広まるにつれ、運転手の意識向上の必要性が高まったことによって、カメラのインターフェースや、居眠り検知機能を備えた高度な認識ソフトウェアを実行するための高い性能に対する需要がさらに増えています。

 アプリケーションが発展を続ける中、より多様になる要件に対応すると同時に設計のフットプリント、コスト、複雑性を低減するために、緊密に統合されたスケーラブルなソリューションの必要性が急遽求められるようになっています。

 NXPのi.MX 8のアプリケーションプロセッサファミリを使用することにより、開発者はアプリケーションのさまざまな要件に対応するために必要な、広範な機能と性能を備えた、互換性があるプロセッサのプラットフォームを利用することができます。

 i.MX 8ファミリの中でも、NXP i.MX 8Xシリーズは、中規模の自動車や産業用アプリケーションにおいて高まっている、安全認証可能なプロセッサへのニーズに対応するものです。

マルチコアアーキテクチャによるさまざまなワークロードの管理

 自動車や産業用アプリケーションにデバイスを実装する開発者が向き合わなければならない課題の1つが、極めて広範な要件です。リアルタイムや高水準のアプリケーションの処理ワークロードを開発者が取り扱う可能性がある場合は、インテリジェントなサブシステムに加えて、こうした非常に多様な種類のコンピューティングに対応しなければなりません。

 開発者の間では、信頼性の高いリアルタイム応答と高性能なアプリケーションの実行の両方を実現すると同時に、機能の安全要件に対処できるソリューションへの需要が高まりつつあります。

 リアルタイム機能、高性能処理、そして低消費電力を実現するために設計されたNXP i.MX 8Xシリーズ プロセッサは、高度なマルチコア中央処理装置(CPU)アーキテクチャを全面的に活用して、コンピューティング関連のさまざまなワークロードを管理します(図2)。


図2:NXP i.MX 8Xシリーズでは、各種のソフトウェアワークロードに対応するために、Arm Cortex-M4(CM4)組み込みプロセッサと複数のArm Cortex-A35アプリケーションプロセッサで構成されたマルチコアアーキテクチャを使用。(画像提供:NXP Semiconductors)

 リアルタイムのプロセッシングタスクの一般的な目的のために、i.MX 8XデバイスにはArm Cortex-M4(CM4)プロセッサに加えて浮動小数点ユニット(FPU)、メモリ保護ユニット(MPU)、メモリマップ暗号アクセラレーションユニット(MMCAU)、そして雑制御モジュール(MCM)が組み込まれています。

 センサやアクチュエータのような外部周辺機器をサポートするために、このユーザー向けCM4コンプレックスには、ネスト型ベクタ割り込みコントローラ(NVIC)と低電力周期割り込みタイマ(LPIT)、パルス幅変調(PWM)など、自動車や産業アプリケーションで必要とされることの多い機能などのインターフェースとモジュールの包括的なセットが用意されています。

 キャッシュメモリのペアと誤り訂正符号(ECC)機能を備えた密結合メモリ(TCM)により、外部メモリへのアクセスが最小限になり、実行が高速化され、メモリエラーを処理できるようになります。

 アプリケーションワークロードを高速に実行させるために、このCPUプラットフォームは電力効率が高いArm Cortex-A35アプリケーションプロセッサ(AP)を複数搭載しています(MIMX8UX6AVLFZACなどの8DualXPlusに2基のAP、MIMX8QX6AVLFZACなどの8QuadXPlusプロセッサに4基)。

 また、このCPUプラットフォームには、命令(I$)とデータ(D$)キャッシュとともに、ECCを備えたレベル2(L2)の共有キャッシュが512Kbyte組み込まれています。

 Arm Cortex-A35コアのアーキテクチャは、ソフトウェアに対する互換性とパフォーマンスのスケーラビリティの両方を実現し、32ビットの下位互換性と64ビットの性能の両方をサポートします。

 信号処理や機械学習などの計算集約型のアルゴリズムをさらに高速化するために、Arm Cortex-A35プロセッサはベクトル浮動小数点(VFP)プロセッシングとArmのNeonの単一命令多重データ処理(SIMD)アーキテクチャの拡張機能を備えています。

 画像処理、コンピュータビジョン、機械学習用のソフトウェアの実行を高速化するために、ArmのコンピューティングライブラリにはArmのプロセッサとグラフィックス処理ユニット(GPU)アーキテクチャ向けに最適化された関数が用意されています。また、オープンソースのNe10 Cライブラリには、計算集約型の操作を対象にしており、Arm向けに最適化された関数が用意されています。

プライマリCPUの負荷を軽減するための専用エンジン

 ユーザーのCM4コンプレックスとArm Cortex-A35マルチコアCPUプラットフォームに加えて、このアーキテクチャには、マルチメディアアプリケーション専用である追加のエンジンが用意されています。

 オーディオと音声コーデックの処理のためのデジタル信号プロセッサ(DSP)に加えて、このアーキテクチャには、GPUと動画処理ユニット(VPU)の両方が統合されています。デバイスのGPUでは標準的なグラフィックスのライブラリがサポートされており、16の実行ユニットを備えた4つの個別の4要素の浮動小数点ベクトル(vec4)と高性能な2次元ビットBLITエンジンを利用して、操作の速度が向上されています。

 このVPUは一般的な動画フォーマットを処理し、最大で4Kp30(プログレッシブ、30Hz)のデコーディングと最大で1080p30のエンコーディングを高速に実行します。一方、チップの専用ディスプレイコントローラブロックは、3つもの独立したディスプレイにグラフィックスを出力します。

 パフォーマンスを最大化するために、i.MX 8Xアーキテクチャには、プライマリCPUプラットフォームを追加の処理の負荷(一般にシステム管理とセキュリティサービスの実行において発生する)から解放するために、専用のプロセッサコアが追加で統合されています。

 システム管理については、このアーキテクチャのシステム管理ユニット(SCU)にはユーザーのCM4コンプレックスに一致したCM4コンプレックスが統合されています。ただし、このコンプレックスは完全にSCU専用であり、開発者が使用することはできません(図3)。


図3:NXP i.MX 8Xプロセッサの深部に統合され、開発者が使用できないこのSCUでは、専用のArm Cortex-M4(CM4)サブシステムを使用することにより、デバイスのメインプロセッサをシステム管理タスクから解放。(画像提供:NXP Semiconductors)

 電源管理、クロッキングなどの内部機能に加えて、SCUは、通常の操作におけるピンのマルチプレクシングと入力/出力(I/O)チャンネルドライブの強度を制御しています。実際に、ユーザーのCM4コンプレックスとArm Cortex-A35 APは、このような低レベルハードウェアの各種機能に直接アクセスすることはできません。

 その代わり、SCUはこれらの機能を抽象化する役割を果たしているため、ユーザーのCM4やAPで実行されているソフトウェアはSCUファームウェアのアプリケーションプログラミングインターフェース(API)機能を呼び出すだけで、不要なパワードメインのパワーダウンなどの機能を実行することができます。

 このパワードメインは別のプロセッサと共有されています。たとえば、SCUはパワーダウンの要求を認識するだけですが、他のプロセッサからもパワーダウンの要求があるまでは、そのドメインのパワーを維持します。

 i.MX 8Xデバイスの強力なセキュリティサポートを管理するために、このデバイスのセキュリティコントローラ(SECO)サブシステムには別の専用プロセッサが用意されています。このSECOサブシステムでは、統合された低電力のArm Cortex-M0+プロセッサが、セキュアキー用のプライベートバスのアクセス、セキュアキーストレージ用のワンタイムプログラマブル(OTP)メモリ、追加のプライベートデータまたは短期キー用のセキュアな不揮発性ストレージ(SNVS)など、セキュリティ機能を基盤としたハードウェアをサポートするファームウェアを実行します。


図4:NXP i.MX 8Xセキュリティコントローラ(SECO)サブシステム内では、専用の低電力Arm Cortex-M0+プロセッサが、セキュリティ操作、セキュアストレージ用の秘密キーバスおよび複数のハードウェアモジュールの利用、暗号化のアクセラレーション、そして認証されたデバッグアクセスを管理。(画像提供:NXP Semiconductors)

 こうした中核的なセキュリティメカニズムに加えて、このSECOサブシステムは、不正変更検知、およびその認証デバッグモジュール(ADM)によって仲介される安全なデバッグのために、セキュリティ操作を調整します。

 安全な実行のために、統合された暗号化アクセラレーションとアシュアランスモジュール(CAAM)ハードウェアセキュリティモジュールは、対称および非対称暗号化、ハッシュ機能、乱数発生器(RNG)など、セキュリティアルゴリズムの完全なセットをサポートします。

 通常の運用では、SCU、AP、デジタル転送コンテンツ保護(DTCP)アクセラレータなど、デバイスのプロセッシングユニットはSECOセキュリティ相互接続を使用して、システムバス経由でCAAM機能にアクセスします。

 CAAMダイレクトメモリアクセス(DMA)機能を使用したアクセスを除き、SECO専用のCortex-M0+プロセッサはシステムバスにアクセスできません。代わりに、このプロセッサは保護された内部接続を使用して、周辺機器、安全なランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、そしてその特殊な秘密キーバスにアクセスします。

 DTCPアクセラレータの使用に加えて、この秘密キーバスは、オンザフライの暗号化や復号において、i.MX 8Xプロセッサのサポートに対する主要な役割を果たします。このセキュリティプロセッサはそのリソースを使用して、デバイスのインライン暗号化/復号エンジン(IEE)モジュールによって必要とされる秘密キーを提供します。

 セキュリティプロセッサは、要求元のプロセッサ、DMAコントローラ、またはI/Oデバイスが関与することなく、暗号化されたストレージに対する読み書きを安全に行うためです。

 デバイスのCortex-A35プロセッサに統合されたArmのTrustZoneテクノロジを基盤としているこのSECOサブシステムは、セキュアブートプロセスでSCUと連携します。このプロセスで、SCUはブートの設定を解釈し、ブートソースを構成し、ブートイメージを内部または外部メモリにロードします。次にSECOサブシステムがその暗号化機能を使用して、署名されたファームウェアのイメージを、ロード後、かつ実行前に認証します。

重要なディスプレイおよび制御機能を保護する

 さまざまなワークロードを効率的かつ安全に処理する能力は重要ですが、自動車や産業などの分野のミッションクリティカルアプリケーションの場合は、主要な機能を保護する能力も同様に必要不可欠です。NXPのi.MX 8Xファミリでは、こうした厳しい要件に対応するための処理機能と安全認定可能な機能が組み合わされています。

 このプロセッサファミリの安全サポートは、システムの信頼性を強化することを目的とした、絶縁体上の完全に空乏化されたシリコン(FD-SOI)プロセス技術を初めとして、さまざまなレベルに組み込まれています。

 システムの安全性は堅牢なセキュリティ基盤に依存することから、TrustZone対応のAP、SECOサブシステム、およびセキュアブート機能の組み合わせにより、安全性に対する脅威を回避するために必要な、信頼できる環境を実現することができます。

 同時に、ユーザーのCM4コンプレックスを使用して速度が重視されるタスクを個別に処理し、重要なシステムタスクをSCUおよびSECOサブシステムに対してオフロードする機能が、処理の負荷が変化した場合でもミッションクリティカルなアプリケーション機能を利用可能な状態に維持できるようにします。

 実際に、NXPのコンセプトは、企業のSafeAssureテクノロジ(i.MX 8Xデバイスにおいて、自動車安全水準B(ASIL B)対応のハードウェアディスプレイのフェイルオーバーパスを統合する)によって、ミッションクリティカルなディスプレイをサポートするように拡張されています。

 SafeAssureを使用することにより、デバイスによってデータの整合性やGPUのエラーが検出されると、ユーザーに対してフェイルオーバーイメージが自動的に提供されます。このフェイルオーバーイメージはバックグラウンドで実行され、1次ディスプレイで障害が発生している場合でも、重要な情報を利用できる状態に維持します。

 i.MX 8Xベースのシステムでは、安全性アプリケーションに対するサポートがメモリアクセスへと拡張されています。サポート対象のメモリインターフェースのうち、i.MX 8Xデバイスは、ダブルデータレート3の低電圧(DDR3L)メモリを搭載しています。

 L2キャッシュ内のECC(図2を再度参照)に加えて、このDDR3L ECC機能は業界の安全度水準3(SIL 3)に対応します。i.MX 8Xアーキテクチャも、ECCのサポートを外部フラッシュストレージデバイスへと拡張しています。

 ここでは、統合されたBose、Ray-Chaudhuri、Hocquenghem(BCH)エンコーダとデコーダモジュールにより、これらのストレージデバイスから読み取ったデータブロック内で2~20のシングルビットエラーを収集できる、62ビットのECCが提供されています。

i.MX 8Xベースのアプリケーションを構築する

 このクラスのあらゆるプロセッサと同様に、i.MX 8Xベースの設計では、重要なパワーアップシーケンスなど、電源に対する厳しい要件に対して留意することが要求されます。i.MX 8Xデバイスをパワーアップするには、電源をシーケンスで投入するか、SVNSサブシステムを始めとして、次にSCU、I/O、メモリインターフェース、そして残りのデバイスという、4つの個別の供給グループで同時に投入する必要があります。

 この要件には、NXPのPF8x00電源管理集積回路(PMIC)デバイスを使用することで対応できます。このデバイスは、i.MX 8Xプロセッサに加えて外部メモリと一般的なシステム周辺機器をサポートするのに必要な、電圧レールの完全なセットと制御信号を提供します(図5)。


図5:NXP PF8x00 PMICは、i.MX 8Xプロセッサに電源を供給するのに必要な、電圧レールの完全なセットと制御信号を提供。(画像提供:NXP Semiconductors)

 i.MX 8Xベースの独自の設計を実装する場合は、MIMX8QX6AVLFZACなどの8QuadXPlusプロセッサとともに使用するために事前プログラムされている、NXP MC33PF8100CCES PMICを使用することができます。MC33PF8100A0ESMC33PF8200A0ESなど、PF8x00のその他のバージョンはi.MX 8Xプロセッサをサポートしますが、事前プログラムはされていません。

 安全性アプリケーションの場合、MC33PF8200A0ESなどのPF8200シリーズデバイスには、ASIL Bシステムをサポートするために設計された機能が統合されています。専用のバンドギャップリファレンスを備えた出力電圧モニタなど、複数の内部モニタに加えて、PF8200 PMICは、パワーアップ時や電源障害イベント時にシステムの安全な状態を維持するために設計された、フェイルセーフ出力(FSOB)ピンも備えています。

 さらに、アナログの組み込みセルフテスト(ABIST)ルーチンが、セルフテストルーチンが他のデバイス機能を検証している間にすべての電圧モニタをテストします。

 PF8x00 PMICはi.MX 8Xベースシステムの単なるハードウェア設計ですが、i.MX 8Xデバイスの評価を今すぐ開始し、i.MX 8Xベースのアプリケーションを迅速に試作することを必要としている開発者がいる可能性もあります。

 NXPのMCIMX8QXP-CPU i.MX 8X Multisensory Enablement Kit(MEK)には、すぐに開発を開始できるプラットフォームが用意されています。このプラットフォームでは、NXP i.MX 8QuadXPlusプロセッサ、NXP F8100 PMIC、3GbyteのRAM、32 Gbyteの組み込みマルチメディアコントローラ(eMMC)メモリ、そして64メガバイト(Mbyte)のフラッシュメモリが組み合わされています。

 MEKボードには、ディスプレイ、カメラ、オーディオインターフェースとともに、自動車や産業用アプリケーションで一般的に使用されるセンサのセットが含まれています。コネクティビティ、オーディオ、拡張オプションを追加する場合、開発者はNXPのオプションのMCIMX8-8X-BBベースボードを追加することもできます。

結論

 自動車、産業、建物管理、HMIなどのアプリケーションが増加するにつれ、処理のワークロードは以前からあるリアルタイムI/O処理と、新たに登場したマルチメディアグラフィックスが関係するアプリケーションレベルの処理の両方によって拡大を続けています。

 各種のワークロードに対しては設計のオプションが存在しますが、自動車や産業用アプリケーションの安全認証可能な設計に対する要件に応えることができる、高性能で電源効率の良いソリューションの需要に対応できるソリューションはほとんどありません。

 これまでに説明してきたように、NXP Semiconductorsのマルチコアプロセッサファミリを利用することにより、開発者はこうした広範な要件に対応できる設計を実装し、高い性能に対して増加し続けている要件に簡単に対処することができます。



免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

 

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社の全製品は 1個からマルツオンラインで購入できます

※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や量産部品としてご検討されているお客様には、マルツ特別価格にてDigi-Key社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ