AIE-ML には複数のインターフェイスがあります。次に、これらインターフェイスを含むブロック図を示します。
- データ メモリ インターフェイス
- AIE-ML は、4 方向すべてのデータ メモリ モジュールにアクセスできます。これらは、1 つの連続したメモリとしてアクセスされます。AIE-ML には 2 つの 256 ビット幅ロード ユニットと 1 つの 256 ビット幅ストア ユニットがあります。AIE-MLs から見ると、ロード (2) とストア (1) のスループットはそれぞれ 1 サイクルあたり 256 ビットです。
- プログラム メモリ インターフェイス
- AIE-ML は、この 128 ビット幅のインターフェイスを介してプログラム メモリにアクセスします。1 クロック サイクルで 1 命令をフェッチできます。
- ダイレクト AXI4-Stream インターフェイス
- AIE-ML には 1 つの 32 ビット入力 AXI4-Stream インターフェイスと 1 つの 32 ビット出力 AXI4-Stream インターフェイスがあります。128 ビット ストリーム インターフェイスはなく、ストリームの入力にも出力にも FIFO は接続されていません。
- カスケード ストリーム インターフェイス
- 複数のカスケード ストリームを使用してチェーンを構成することにより、AIE-ML の 512 ビット アキュムレータ データを別の AI エンジンへ転送できます。入力ストリームと出力ストリームの両方に 512 ビット幅の 2 段 FIFO があり、AIE-MLs間で最大 4 つの値をこの FIFO に格納できます。水平方向のカスケード接続以外に垂直方向のカスケード接続インターフェイスもあり、方向はコンフィギュレーション メモリ マップド AXI4 レジスタで制御します。
- デバッグ インターフェイス
- このインターフェイスは、メモリ マップド AXI4 インターフェイスを介して AIE-ML のすべてのレジスタに対して読み出しまたは書き込みを実行できます。
- ハードウェア同期 (ロック) インターフェイス
- 2 つの AIE-MLs 間、または AIE-ML と DMA 間の同期に使用します。AIE-ML は、4 方向すべてのロック モジュールにアクセスできます。セマフォ ロックのサポートも追加されています。
- ストール処理
- AIE-ML は、各種ソースからさまざまな理由でストールできます。たとえば、外部メモリ マップド AXI4 マスター (PS など)、ロック モジュール、エンプティまたはフル AXI4-Stream インターフェイス、データ メモリ競合、およびイベント ユニットからのイベント アクションなどによるストールが可能です。
- AIE-ML イベント インターフェイス
- この 16 ビット幅のインターフェイスを使用して、さまざまなイベントを設定できます。
- タイル タイマー
- タイル内の 64 ビット タイマー値を読み出すための入力インターフェイスです。
- 実行トレース インターフェイス
- AIE-ML で生成したパケット ベースの実行トレースを AXI4-Stream 経由で送信できる 32 ビット幅のインターフェイスです。
図 1.
AIE-ML のインターフェイス