3.6.4 並列実行条件
複数のPE命令式は、ある条件を満たしていればセミコロン(;)で区切って一行に並べることで 1 ステップ内で同時に発行できる。 条件はすべてアセンブラによってチェックされ、違反していればエラーとなる。 本節ではこの条件を詳しく述べる。
table:表3.6 並列実行条件を記述するための、PE命令式のグループ分け
Group Name PE Instruction Opcodes グループにつき最大 1 つの命令式しか発行されていない*^4 nopが発行されている場合、waitを除く任意の他の命令式が発行されていない 複数の命令式が同一のPEオペランドから読み出している場合、それら全てでアクセスする領域が全サイクルで同一である LM0からの読み出しとLM0への書き込みが同時に発行されている場合、両方でアクセスする領域が全サイクルで同一である。 ただし、エラー発生時のメッセージは順序によって変わる可能性がある。
例
(2行目は改行して表示されているが実際はnoforward;以降はすべて 1 行に書かれている) code:txt
l2bmdars $lc0@.0 $dar0; l2bmdarw; l1bmrdfadd $lr0v $lbi
noforward;l2bmb $lc256 $lb0; l2bmdarw;l1bmm $lbi $lr0v/$imr1; l1bmrdfadd $lr8v $lb256; gmmul $lx $lm0v $ln0v/$imr1;gmwrite $ls0v $ly0; hrelu/$imr1 $t $t $t;wait i01
カオスだ...wogikaze.icon