AI エンジンにはいくつかの種類のレジスタがあります。レジスタの種類によって、使用するファンクション ユニットが異なります。このセクションでは、各種レジスタについて説明します。
スカラー レジスタ
スカラー レジスタには、コンフィギュレーション レジスタが含まれます。次に、各レジスタの説明を示します。
構文 | ビット数 | 説明 |
---|---|---|
r0..r15 | 32 ビット | 汎用レジスタ |
m0..m7 | 20 ビット | 修飾子レジスタ |
p0..p7 | 20 ビット | ポインター レジスタ |
cl0..cl7 | 32 ビット | コンフィギュレーション レジスタ |
ch0..ch7 | ||
c0..c7 | 64 ビット |
特殊レジスタ
構文 | ビット数 | 説明 |
---|---|---|
cb0..cb7 | 20 ビット | 循環バッファー開始アドレス |
cs0..cs7 | 20 ビット | 循環バッファー サイズ |
wcs0..wcs3 | 40 ビット | ワイド循環バッファー サイズ |
s0..s7 | 8 ビット | シフト制御 |
sp | 20 ビット | スタック ポインター |
lr | 20 ビット | リンク レジスタ |
pc | 20 ビット | プログラム カウンター |
fc | 20 ビット | フェッチ カウンター |
mc0..mc1 | 32 ビット | ステータス レジスタ |
md0..md1 | 32 ビット | モード制御レジスタ |
ls | 20 ビット | ループ開始 |
le | 20 ビット | ループ終了 |
lc | 32 ビット | ループ カウント |
lci | 32 ビット | ループ カウント (PCU) |
S | 8 ビット | シフト制御 |
ベクトル レジスタ
ベクトル レジスタは、SIMD 命令で使用する高ビット幅のレジスタです。基本となる最下層のハードウェア レジスタは 128 ビット幅で、接頭辞 V が付きます。V レジスタを 2 つ組み合わせて 256 ビット レジスタを構成できます (接頭辞 W)。WR、WC、および WD レジスタを 2 つ組み合わせて 512 ビット レジスタ (XA、XB、XC、および XD) を構成します。XA と XB で 1024 ビット幅の YA レジスタを構成します。YD を除くすべてのレジスタは、表の一番上が LSB、表の一番下が MSB の順になります。YD は、XD が LSB、SB が MSB を構成します。すなわち、次のとおりです。
YD = VDL0::VDH0::VDL1::VDH1::VRL2::VRH2::VRL3::VRH3
128 ビット | 256 ビット | 512 ビット | 1024 ビット | |
---|---|---|---|---|
vrl0 | wr0 | xa | ya | N/A |
vrh0 | ||||
vrl1 | wr1 | |||
vrh1 | ||||
vrl2 | wr2 | xb | yd (MSB) | |
vrh2 | ||||
vrl3 | wr3 | |||
vrh3 | ||||
vcl0 | wc0 | xc | N/A | N/A |
vch0 | ||||
vcl1 | wc1 | |||
vch1 | ||||
vdl0 | wd0 | xd | N/A | yd (LSB) |
vdh0 | ||||
vdl1 | wd1 | |||
vdh1 |
アキュムレータ レジスタ
アキュムレータ レジスタは、ベクトル データパスの結果を格納するために使用します。このレジスタは 384 ビット幅で、48 ビットのベクトル レーン x 8 と見なすことができます。このようにして、32 ビットの乗算結果をビット オーバーフローなしに加算できるようにしています。16 ビットのガード ビットにより、最大 216 回の累算が可能です。アキュムレータ レジスタには、接頭辞 AM が付きます。これらのレジスタを 2 つ組み合わせて 768 ビット レジスタを構成します (接頭辞は BM)。注記: 動作モードは 2 つあります。1 つは、乗算結果を 8 個のアキュムレータに入力して 16 回の後置加算を実行してから累算するモードです。もう 1 つは、乗算結果を 16 個のアキュムレータに入力して 8 回の後置加算を実行してから累算するモードです。
384 ビット | 768 ビット |
---|---|
aml0 | bm0 |
amh0 | |
aml1 | bm1 |
amh1 | |
aml2 | bm2 |
amh2 | |
aml3 | bm3 |
amh3 |