QPU: VPMの読み込みと書き込みを両方行う命令を連続して実行した場合に発生するストール

概要

List. 1のように命令を実行したとき, Fig. 1及びFig. 2及びFig. 3及びFig. 4 に示すストールが$vpm\_num$のループにおいて発生することがわかった. $ndelay2 \gt 3$ については$ndelay2=3$と同じ結果だった.

ここで,$ndelay1 \le 5$ については, VPM read setup直後のVPMの読み込みにおけるストールが現れている (QV56).

また,$ndelay1$や$ndelay2$はただ増やせばよいというわけではない. 例えば,$vpm\_num=16$について,$ndelay1=0$かつ$ndelay2=1$のときのストールは$17$命令であるが,$ndelay1=2$かつ$ndelay2=2$のときのストールは$18$命令である.

Loop 1234567 times {
    VPM write setup
    VPM read setup
    Loop ndelay1 times {
        nop
    }
    Loop vpm_num times {
        VPM read & write
        Loop ndelay2 times {
            nop
        }
    }
}
List. 1: 実行したプログラムの流れ (Loop}の行以外は$1$行で$1$命令を表す)
ndelay2=0において発生したストール
Fig. 1: $ndelay2=0$ において発生したストール

ndelay2=1において発生したストール
Fig. 2: $ndelay2=1$ において発生したストール

ndelay2=2において発生したストール
Fig. 3: $ndelay2=2$ において発生したストール

ndelay2>=3において発生したストール
Fig. 4: $ndelay2 \ge 3$ において発生したストール

Copyright notice

© 2016 Yukimasa Sugizaki. All rights reserved.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.