3.6.8.2 L1BM命令式種別と折り返し動作
L1BM側アクセス速度とPE側アクセス速度がともに同じである転送命令は同一の種別となる。同一種別の転送ではレイアウトが保たれる。
すなわち、L1BMからPEに転送し、何らかの要素ごとの演算を行ってL1BMに戻すという操作をしてもレイアウトが崩れない。
また、同一種別中のPE→L1BM転送とL1BM→PE転送の間では折り返し動作が可能である。
折り返し動作とは次のようなものである。
code:txt
l1bmm@2 $lr0v $lb0
l1bmm $lbi $lm0v;l1bmm@2 $lr8v $lb16
l1bmm $lbi $lm8v
これは以下と等価である。
code:txt
l1bmm@2 $lr0v $lb0
code:txt
l1bmm@2 $lr8v $lb16
nop
nop
l1bmm $lb0 $lm0v
l1bmm $lb16 $lm8v
つまり、折り返しレジスタ$lbi(3.6.1.5 b-L1BM命令におけるL1BM)からの読み出しとすることで、直前のステップでL1BMに書き込まれたデータをすぐに読み出し、かつ続くPE→L1BM方向転送と重ねて発行することができる。
また、PE→L1BM方向転送の書き込み先を$lbiとすることで、折り返しレジスタのみを更新し、L1BMへの書き込みは行わないようにできる。
PE→L1BM方向の転送も折り返し転送も発行していない間は、折り返しレジスタは更新されない。
以降の疑似コードによる効果の記述では簡単のため折り返しレジスタは考慮しない。