vol.113 あらゆるIoTエンドノード機器に適した柔軟なプロセッシング

あらゆるIoTエンドノード機器に適した柔軟なプロセッシング

米国シノプシス 

ARCプロセッサ担当シニア・プロダクト・マーケティング・マネージャー Graham Wilson


はじめに

IoT(Internet of Things)という用語が登場した当初は、インターネットに接続されるほとんど全てのものを指す包括的な用語として使われていました。しかし市場の成熟とともに、アプリケーションの使用モデルや要件が細かく定義されるようになってくると、多くの業界オブザーバーがIoTアプリケーションを「クリティカルIoT」と「マッシブ(大量)IoT」の2つに区別するようになりました。クリティカルIoTとは自動車用通信、産業用機械、医療処置のように低レイテンシであることが特に重視されるミッション・クリティカルなアプリケーションを指します。一方、マッシブIoTとはエンドノード機器のように数十億個単位で設置されるコネクテッド機器を指します。これらのエンドノード機器には通常、消費電力とコストの厳しい制約があります。

 

エンドノード機器で使用されるシステム・オン・チップの動作は、大きく4つの機能で構成されます。

 

センシング:温度、湿度、化学組成など毎秒(または毎分)1サンプルの環境センシングから、動き、オーディオ、音声、ビジョンなど毎秒最大1千億サンプルを必要とするものまであります。

演算:システム制御、同期、機械学習/人工知能(AI)、デジタル信号処理、データ暗号化、オペレーティングシステム(OS)の実行など。

通信:サポートする無線通信規格の種類は多岐にわたります(図1)。

図1:エンドノード機器がサポートする無線通信規格

セキュリティ:エンドノード機器ではデータ流出やその他のセキュリティ・リスクへの懸念が高まっています。これらの機器で一般的なセキュリティ機能としては、耐タンパ性、サイドチャネル攻撃の防止、セキュアな実行環境(Trusted Execution Environment)の構築、暗号化、セーフティ・アイランドの実装などがあります。

 

エンドノードIoT機器はコストと消費電力の制約が厳しいため、デザインで使用するプロセッサの数を最小限に抑える必要があります。理想的なのは、システム同期、リアルタイム・オペレーティング・システム(RTOS)、通信PHYインターフェイス、セキュリティ、暗号化などに対するコントローラ機能を含め、必要な機能を1つのコアですべてカバーすることです。これに加え、フロントエンド信号処理、センサー・データのフィルタ処理、無線通信、PHY演算などのDSP機能もコアで実行する必要があります。1つのプロセッサでこれらすべての要件を満たすのは困難なように思えますが、1つのエンドノード機器でこれらの機能がすべて求められることはそう多くありません。柔軟なコンフィギュレーションが可能なコアなら、消費電力と面積を最小限に抑えながら性能および演算スループットの要件を満たすことができます。

シングルコア実装

シノプシスDesignWare® ARC® EM9Dコアは、非常に小さな専有面積でコントローラ機能とDSP機能の両方をサポートする点に大きな特長があります。3段パイプライン・マイクロアーキテクチャをベースにしたEM9Dプロセッサは、最大4.0 CoreMark/MHzおよび1.8 DMIPS/MHzの性能を達成できます。

 

ARC EM9Dプロセッサは、複数の命令を1命令に融合して1サイクルで実行できます。このため、非常に小容量の命令メモリーでも高い演算スループットが得られます。融合命令を利用すると、例えばメモリーから複数のデータ・ベクターをロードし、このデータに対してMACなどの演算を実行し、メモリー・ポインタを自動で更新してデータをストアするという一連の動作をすべて1命令で実行できます。これにより、1サイクルで最大7命令の実行が可能です。ARC EM9Dプロセッサは1サイクルで2回のMAC演算を実行でき、高スループットのベクター・データ演算が可能です。ARC MetaWareコンパイラは融合命令を完全にサポートしており、Cコードの命令を自動的に実行コードの命令にマップします。

 

ARC EM9Dプロセッサの命令セット・アーキテクチャ(ISA)は、エンドノードIoTアプリケーションに最適化されています。例えばコアのデータ・メモリーに対するデータ・ストリーミング入出力命令を使用すると、事前にビットをワード単位にパッケージ化しなくてもデータ・メモリーに対してデータ・ビットを直接書き込み/読み出しできます。これは、低データ・レートのセンサー・インターフェイスと接続する場合に理想的な機能です。

 

このアーキテクチャと最適化済みISA、および高速データ・スループットにより、ARC EM9Dは極めて強力なDSP演算性能を発揮します。例えば顔検出CNNのソフトウェア・アルゴリズムの演算ならわずか40Kサイクルで実行できます。

柔軟なコンフィギュレーションと拡張が可能なプロセッサ

コアの性能、面積、消費電力を最適化する上で鍵となるのが、データ・メモリー・インターフェイスです。どれだけの量のデータをどの程度の頻度でロード/ストアするかは、データ・メモリー・インターフェイス(ロード/ストア・ユニット)によって決まります。また、これらのユニットは物理的な実装サイズも非常に大きいため、データ・メモリー・インターフェイスを最適化できるかどうかが、性能と消費電力および面積のバランスをとる上で非常に重要になってきます。

 

EM9Dプロセッサのデータ・メモリー・インターフェイスは完全にコンフィギュレーション可能で、1~3個の密結合データ・メモリー(DCCM、XCCM、YCCM)をサポートできます。これらのメモリー領域はMetaWareコンパイラで完全にサポートされており、手動でデータ・ベクターを割り当てる必要はありません。これらメモリーへのアクセスは融合命令によってサポートされ、1サイクルで命令実行と3つのメモリー領域への並列アクセスが可能なため、必要に応じて非常に高い性能が得られます。このように柔軟なコンフィギュレーションにより、SoC開発者は演算スループット、面積、消費電力の要件に応じてコアのメモリー・インターフェイスを最適化できます。例えば3つの物理データ・メモリーを使用するようにEM9Dをコンフィギュレーションした場合、演算性能は3倍に向上し、コアとメモリーの消費電力は最大40%削減されます。

 

データ・メモリーのサイズとコンフィギュレーションだけでなく、命令メモリーのサイズもシステムの面積と消費電力を左右する重要な要因の1つです。EM9Dプロセッサのコード・サイズは、特別なカスタマイズをしなくても競合プロセッサの約80~85%に抑えられています。これは、非常に効率の高いARCv2DSP ISAに加え、コンパイラによる命令マッピングとスケジューリングの効率にも優れているのが理由です。融合命令によるコード・サイズの縮小も合わせると、命令メモリー・サイズは更に大きく削減されます。

 

コアとメモリーの最適化に加え、SoCシステムにDSPを統合することも性能、消費電力、面積を最適化する上で重要な点です。エンドノードIoT SoCはごくシンプルなものから非常に複雑なものまで多岐にわたりますが、伝統的なモジュール型のSoCインターコネクト・システムではゲート数、消費電力(mW)、サイクル数のオーバーヘッドが大きいことがあるため、これらの最適化が必要となります。シノプシスのARCプロセッサは非常に柔軟なコンフィギュレーションと拡張が可能で、IPプロセッサ・コアのシステムおよびハードウェア・コネクティビティも幅広くサポートしています。

 

高データ・スループットが要求されるブロックの場合、ペリフェラル・ハードウェア・ブロックを専用のペリフェラル・インターフェイス経由でプロセッサに接続すると、レイテンシを0に抑えた「バスレス」デザインが可能です。コアのレジスタ・バンクはサイズを拡張でき、これらのレジスタにハードウェア・ブロックを直接接続すると、ハードウェア・ブロックの制御/ステータス更新をコアからソフトウェアで実行できます。更に、ARCプロセッサ・エクステンション(APEX)テクノロジを利用して、設計者はカスタム・レジスタおよびインターフェイスをRTL記述の形でISAに追加できます。これらの接続を利用して更にシステム・アーキテクチャを最適化すると、SoC開発において性能、消費電力、面積の目標を達成できます。

 

より高い性能が必要な場合は、オプションのマイクロDMAコントローラをプロセッサに追加することもできます。このマイクロDMAエンジンはARC EM9Dプロセッサから直接制御しますが、コアと並列に動作するため、コアに負荷をかけずに大量のデータを移動できます。

図2に示すように、このような方法でシステム・アーキテクチャを最適化すると、性能、消費電力、面積が大幅に改善します。

図2:ARCおよびAPEXインターフェイスを使用してバスレス・デザインを実装することで、PPAが改善

まとめ

このように豊富な機能とコンフィギュレーション・オプションを備えたARC EM9Dプロセッサは、制御機能とDSP(デジタル信号処理)機能の両方を必要とするIoTエンドノード・アプリケーションに最適であることが実証されています。これには、次の理由が挙げられます。

 

  • IoTエンドノード機器の動作はセンシング、演算、通信、セキュリティの4つの領域に大きく分類され、これらを低コストのシングルコアで実行するのが理想的であること。
  • これらの機能を実行するには、制御機能とDSP機能が必要であること。
  • ARC EM9D/11Dプロセッサはフットプリントと消費電力を最小限に抑え、高性能な制御機能とDSP機能を実行できる理想的なバランスを実現していること。
  • データ・メモリー・インターフェイスを柔軟にコンフィギュレーションできるため、SoC開発者は消費電力とダイ・サイズの制約を満たしながら性能を最適化できること。
  • EM9Dの高性能なISAと融合命令により、コード・サイズとコア面積を最小限に抑えて最高水準の性能を発揮できること。
  • EM9Dプロセッサのシステム・コネクティビティを利用すると、更に性能の向上と消費電力および面積の削減が可能なこと。

 

ARC EM9Dプロセッサは業界最高水準の単位面積あたり性能を達成しており、システム・ペリフェラルおよびハードウェア・アクセラレータ・ブロックの緊密な統合オプションもサポートしています。このため、ARC EM9Dのコンフィギュレーション、メモリー・サイズ、システム・コネクティビティを最適化することで、性能、面積、消費電力の要件を満たしたエンドノード機器向けSoCの開発が可能になります。