検索
特集

AI用SoCの開発を高速化する「NoCタイリング」SoC設計の新たなトレンド(1/2 ページ)

AIアプリケーション向けSoC(System on Chip)の開発を高速化し、容易にする「NoC(Network on Chip)タイリング」手法について解説します。

Share
Tweet
LINE
Hatena

 SoC(System on Chip)設計にNoC(Network on Chip)技術を採用することで、配線混雑が緩和され、消費電力を低減できることが実証されています。現在、新しいNoC対応タイリング手法は、AIアプリケーションをターゲットとするSoCにおいて、開発の高速化、微細化の容易さ、消費電力削減技術、設計の再利用に貢献します。この記事では、AIには機械学習(ML)や推論などのユースケースが含まれると想定しています。

ソフトタイルとハードタイル

 エンジニアリングにおける課題の一つは、同じ用語が異なるものを指して使われることがあるということです。例えば、「タイル」という用語には複数の意味があり、タイルをチップレットと同一視する人もいます。チップレットとは、小さな独立したシリコンダイのことで、全て共通のシリコン基板や有機基板、インターポーザー上に配置されていることからチップレットは"ハードタイル"と考えることもできます。

 それに比べ、AIアプリケーション向けを含む多くのSoCは、"ソフトタイル"とも言えるプロセッシングエレメント(PE)のアレイを採用しています。図1に描かれた一般的なSoC(System on Chip)を参照してください。


図1. NPUを含むSoCのハイレベル・ブロック図 出所:Arteris

 SoCには、複数の汎用CPUから構成されるプロセッサクラスタに加え、その他複数のIP(Intellectual Property)ブロック、専用プロセッサやハードウェアアクセラレーターが搭載されることもあります。これらのユニットには、高性能で低消費電力のAI処理用に設計されたISP(Image Signal Processor)、GPU、NPU(Neural Processing Unit)などが含まれます。

 NPUは、同一のPEアレイで構成され、そう遠くない昔、これらのPEは通常、比較的単純な積和(MAC)関数として実現されていました。それに比べ、今日のSoCは内部NoCを介して接続された複数のIPを持つPEを含むことが多くあります。

手作業によるソフトタイリング

 ここで考えている一般的なSoCシナリオでは、NoCは設計段階の複数のレベルで採用される可能性があります。NoCはプロセッサクラスタ、ISP、GPU、NPU、その他のIPを接続するためにトップレベルで使用でき、NoCは、リング、スター、ツリー、メッシュなど、さまざまなトポロジーで実装できます。SoC階層の最上位レベルでも、デバイスによっては複数のNoCを採用する場合があります。

 既に述べたように、NPUの各PEは、内部NoCを使用して接続された複数のIPで構成されることがあり、さらに、NPU内の全てのPEは、通常はメッシュトポロジーとして実装されるNoCを使用して接続できます。

 NPUを実装する従来の手作業によるアプローチは、単一のPEを作成することから始まり、AIアクセラレーターロジックに加え、PEをメインメッシュNoCに接続するための1つ以上のNIU(Network Interface Unit)が含まれます。これを図2aに示します。


図2. 手作業によるソフト・タイリング 出所:Arteris

 NPUの仕様が4×4のPEアレイを要求していると仮定すると、設計者はカットアンドペースト手法を使用してPEを16回複製することになります(図2b)。次に、NoCツールを使用してNoCを自動生成します(図2c)。の過程で、NoCジェネレーターはNoCの各スイッチング素子に一意の識別子(ID)を自動的に割り当てます。ただし、PE内のNIUは同一のID、つまりPE作成時のデフォルトIDのままです。

 NoCがソースノードからデスティネーションノードへデータを転送するためには、各PEのNIUが一意のIDを持つ必要があるため、設計者は各PEのインスタンスを手作業で修正し、固有のIDを持たせる必要があります。このプロセスは時間がかかるだけでなく、エラーが発生しやすく、ダウンストリームのテストや検証に影響を与える可能性があります。

 この手作業によるタイリング技術には、いくつかの課題があり、例えば、PE仕様の変更はしばしばプロセスの初期段階で行われ、(a)アレイ内の全てのPEインスタンスに手動で変更を加えるか、(b)元のPEだけを変更し、手作業でソフトタイリングを繰り返すかです。どちらのオプションもエラーが発生しやすく時間がかかります

 また、手作業でソフトタイリングを行うことは、微細化に適さず、派生製品のように、元の4x4配列を8x8配列に置き換える必要が生じた場合、その作業はますます面倒になり、問題が生じやすくなります。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る