AIE-ML アーキテクチャには AIE-ML メモリ タイルが導入されており、AIE-ML アレイ内のオンチップ メモリが大幅に増加しています。メモリ タイルにより、ML アプリケーションにおける PL リソース (LUT、ブロック RAM および URAM) の使用量が削減されます。これは AIE-ML タイルに似ていますが、AIE-ML プロセッサとプログラム メモリはありません。AIE-ML メモリ タイルには、高集積度 (512 KB) の広帯域幅メモリ、およびローカル メモリと隣接メモリにアクセスするための DMA が統合されています。AIE-ML メモリ タイルには垂直ストリーミング インターフェイスのみがあり、カスケード接続や水平ストリーミング インターフェイスはありません。DMA チャネルの一部は、左右方向に隣接するメモリ タイル内のメモリに直接アクセスできます。次の図に、AIE-ML メモリ タイルのアーキテクチャを示します。
図 1. AIE-ML メモリ タイルのアーキテクチャ
メモリ タイルには次のファンクション ブロックがあります。これらは、AIE-ML タイルのブロックとまったく同じか、ほぼ同じものです。
- メモリ
- DMA
- ロック
- AXI4-Stream スイッチ
- メモリ マップド AXI4 スイッチ
- 制御、デバッグ、およびトレース
- イベントおよびイベント ブロードキャスト
次に、AIE-ML メモリ タイルの機能を示します。
- メモリ
- 128 ビット幅、深さ 2k ワードのバンク 16 個で構成された 512 KB メモリ、ECC 保護あり
- AIE-ML メモリ タイルのメモリ バンクは、ブートおよびリセット時に 0 に初期化
- 各メモリ タイルにつき、最大 30 GB/s の読み出しと 30 GB/s の書き込みの並列実行をサポート
- DMA
- 6 チャネルの MM2S (Memory to Stream) DMA
- 6 x 32 ビット ストリーム インターフェイス
- 6 x 128 ビット メモリ インターフェイス
- 5D テンソル アドレス生成 (iteration-offset を含む)
- ストリーム データへのゼロ パディング挿入と圧縮をサポート
- 左右方向に隣接するタイル内のメモリおよびロックへのアクセス (チャネル 0 ~ 3)
- タスク キューとタスク完了トークンをサポート。キューの深さはチャネルあたり 4 タスク (詳細は タスク完了トークン 参照)
- 6 チャネルの S2MM (Stream to Memory) DMA
- 6 x 32 ビット ストリーム インターフェイス
- 6 x 128 ビット メモリ インターフェイス
- 5D テンソル アドレス生成 (iteration-offset を含む)
- アウトオブオーダー パケット転送、Finish-on-TLAST、および圧縮伸張をサポート
- 左右方向に隣接するタイル内のメモリおよびロックへのアクセス (チャネル 0 ~ 3)
- タスク キューとタスク完了トークンをサポート。キューの深さはチャネルあたり 4 タスク (詳細は タスク完了トークン 参照)
- バッファー ディスクリプター (BD)
- 48 個の共有 BD
- 各チャネルは 24 個の BD にアクセスでき、各 BD には 6 チャネルからアクセス可能
- ストリーム スイッチ
- AIE-ML タイルと同じ設計。17 個のマスター ポートと 18 個のスレーブ ポート
- 上下方向のポートのみ。左右方向のストリームはなし
- トレースおよび制御ポート
- ロック モジュール
- 隣接する AIE-ML メモリ タイル DMA チャネルからアクセス可能。64 個のセマフォ ロックがあり、各ロック ステートは符号なし 6 ビット
- 追加の制御およびステータス レジスタ
- イベント、イベント アクション、イベント ブロードキャスト、コンボ イベント
- タスク完了トークン ロジック (詳細は タスク完了トークン 参照)
- コンフィギュレーション/デバッグ インターコネクト (メモリ マップド AXI4)
- 各タイルに 1MB アドレス空間
- 書き込み帯域幅が拡大し、ストリーム制御パケットをサポート
- デバッグおよびトレース
- AIE-ML タイルのものとほぼ同じ
- イベント トレース ストリーム、4x パフォーマンス カウンター、および 64 ビット タイル タイマー
- 6 チャネルの MM2S (Memory to Stream) DMA