AI エンジン タイルのアーキテクチャ

Versal アダプティブ SoC AI エンジン アーキテクチャ マニュアル (AM009)

Document ID
AM009
Release Date
2023-08-18
Revision
1.3 日本語

次に、AI エンジン タイルのアーキテクチャ、主要な構築ブロック、および AI エンジン タイルのコネクティビティを含む最上位ブロック図を示します。

図 1. AI エンジン タイルのブロック図

AI エンジン タイルは、次のハイレベル モジュールで構成されます。

  • タイル インターコネクト
  • AI エンジン
  • AI エンジン メモリ モジュール

タイル インターコネクト モジュールは、AXI4-Stream およびメモリ マップド AXI4 入出力トラフィックを処理します。メモリ マップド AXI4 および AXI4-Stream インターコネクトの詳細は、この後のセクションで説明します。AI エンジン メモリ モジュールは、8 つのメモリ バンクに分割された 32KB データ メモリ、メモリ インターフェイス、DMA、およびロックで構成されます。DMA は受信方向と送信方向の両方にあり、各メモリ モジュールには 1 つのロック ブロックがあります。AI エンジンは、4 方向すべてのメモリ モジュールに 1 つの連続したメモリ ブロックとしてアクセスできます。メモリ インターフェイスは、AI エンジンから生成されたアドレスに基づいて、メモリ アクセスを正しい方向へマップします。AI エンジンは各 1 個のスカラー プロセッサとベクトル プロセッサ、3 個のアドレス ジェネレーター、および 16KB のプログラム メモリで構成されます。また、アキュムレータ出力を次の AI エンジン タイルに転送するためのカスケード ストリーム アクセスもあります。AI エンジンの詳細は、AI エンジンのアーキテクチャ で説明します。AI エンジンAI エンジン メモリ モジュールの両方に制御、デバッグ、およびトレース ユニットがあります。これらユニットの一部については、この章で後述します。

  • 制御およびステータス レジスタ
  • イベント、イベント ブロードキャスト、およびイベント アクション
  • プロファイリング用のパフォーマンス カウンターとタイマー

次の図に、AI エンジン タイルおよび専用インターコネクト ユニットを配列した AI エンジン アレイを示します。AI エンジン アレイ内での主なデータ移動手段として、隣接する AI エンジンのローカル メモリを使用してデータを共有します。各 AI エンジンは、次に示す最大 4 つのメモリ モジュールにアクセスできます。

  • AI エンジン自身のモジュール
  • 上側のモジュール
  • 下側のモジュール
  • 右側または左側のモジュール (行および AI エンジンとメモリ モジュールの位置関係による)

格子状のパターンに配列されたアレイの端にある AI エンジンは、アクセスできるメモリ モジュールの数が 1 つまたは 2 つ少なくなります。

図 2. AI エンジン アレイ

柔軟な専用インターコネクトとの組み合わせにより、AI エンジン アレイは確定的な性能、低レイテンシ、および高帯域幅を実現します。モジュラー型のスカラー アーキテクチャのため、アレイにタイルを追加して演算性能を高めることができます。

カスケード ストリームは、最下行から最上行へ向かって水平方向に移動します。ある行の端までカスケード ストリームが到達すると、その上の行のタイルの入力に接続されます。したがって、カスケード ストリームの移動方向は、1 行ごとに反転します (ある行で左から右へ移動したら、その上の行では右から左へ移動)。最上行の端まで到達し、それ以上接続がなくなると、カスケード ストリームの移動は終了します。このように移動方向が変化するため、タイル内の AI エンジンとメモリ モジュールの位置関係は 1 行ごとに反転します。