このセクションでは、AIE-MLのレジスタ移動機能について説明します。レジスタの種類と名前の詳細は、レジスタ ファイル を参照してください。
- スカラーからスカラー
- R、M、P、および特殊レジスタの間でスカラー値を移動。
- R、M、P、および特殊レジスタへ即値を移動。
- AXI4-Stream との間で双方向にスカラー値を移動。
- ベクトルからベクトル: 1 つの 128 ビット V レジスタを任意の V レジスタへ 1 サイクルで移動します。256 ビット W レジスタおよび 512 ビット X レジスタの場合も同様です。ただし、いずれの場合もベクトル サイズが同じである必要があります。
- アキュムレータからアキュムレータ: 512 ビット アキュムレータ (AM) レジスタを別の AM レジスタへ 1 サイクルで移動します。レジスタ BM から BM アキュムレータ レジスタへの移動 (1024 ビット) もあります。
- ベクトルからアキュムレータ (次の 3 つの場合)
- アップシフト パスは 16 または 32 ビット ベクトル値を取得し、アキュムレータに書き込みます。
- 通常の乗算データパスを使用し、それぞれの値に定数 1 を掛けます。
- BM と X レジスタ間での移動。
- アキュムレータからベクトル: シフト-丸め-飽和データパスは、アキュムレータをベクトル レジスタへ移動します。アキュムレータからベクトル レジスタへの直接のレジスタ移動もあります。
- アキュムレータからカスケード ストリーム、およびカスケードからアキュムレータ: カスケード ストリームはアレイにある AIE-MLs をチェーン接続し、AIE-MLs 間でのアキュムレータ レジスタ (512 ビット) 転送を可能にします。入力ストリームと出力ストリームの両方に 512 ビット幅の 2 段 FIFO があるため、AIE-MLs間で最大 4 つの値を FIFO に格納できます。
- スカラーからベクトル: R レジスタのスカラー値をベクトル レジスタへ移動します。エレメント単位のシフト演算を除き、ほとんどの演算を 128 ビット粒度で実行していた AIE とは異なり、AIE-MLs では 512 ビット レジスタに対する演算のみがサポートされます。
- ベクトルからスカラー: 512 ビット ベクトル レジスタから任意の 8、16、または 32 ビット値を抽出し、結果をスカラー R レジスタへ書き込みます。