## XLU vadd.xlane → vpop trf0 d = 1:(R1 − R0, R2 − R0) = [(3, 92)] d = 8:(R1 − R0, R2 − R0) = [(10, 92)] d = 40:(R1 − R0, R2 − R0) = [(42, 92)] d = 76:(R1 − R0, R2 − R0) = [(78, 92)] d = 78:(R1 − R0, R2 − R0) = [(80, 92)] d = 79:(R1 − R0, R2 − R0) = [(81, 93)] d = 80:(R1 − R0, R2 − R0) = [(82, 94)] d = 84:(R1 − R0, R2 − R0) = [(86, 98)] ## XLU vmax.xlane → vpop trf0 d = 1:(R1 − R0, R2 − R0) = [(3, 92)] d = 8:(R1 − R0, R2 − R0) = [(10, 92)] d = 40:(R1 − R0, R2 − R0) = [(42, 92)] d = 76:(R1 − R0, R2 − R0) = [(78, 92)] d = 78:(R1 − R0, R2 − R0) = [(80, 92)] d = 79:(R1 − R0, R2 − R0) = [(81, 93)] d = 80:(R1 − R0, R2 − R0) = [(82, 94)] d = 84:(R1 − R0, R2 − R0) = [(86, 98)] ## XLU vmin.xlane → vpop trf0 d = 1:(R1 − R0, R2 − R0) = [(3, 92)] d = 8:(R1 − R0, R2 − R0) = [(10, 92)] d = 40:(R1 − R0, R2 − R0) = [(42, 92)] d = 76:(R1 − R0, R2 − R0) = [(78, 92)] d = 78:(R1 − R0, R2 − R0) = [(80, 92)] d = 79:(R1 − R0, R2 − R0) = [(81, 93)] d = 80:(R1 − R0, R2 − R0) = [(82, 94)] d = 84:(R1 − R0, R2 − R0) = [(86, 98)] ## 连续 k 次 vadd.xlane,再连续取回 k 次(一个队列) k = 1:(R1 − R0, R2 − R0) = [(3, 92)] k = 2:(R1 − R0, R2 − R0) = [(5, 100)] k = 4:(R1 − R0, R2 − R0) = [(9, 116)] k = 8:(R1 − R0, R2 − R0) = [(17, 148)] k = 16:(R1 − R0, R2 − R0) = [(108, 254)] ## 2k 次 vadd.xlane 分给两个队列:每个 bundle 向 trf0、trf1 各提交一次,再成对取回 k = 1:(R1 − R0, R2 − R0) = [(3, 92)] k = 2:(R1 − R0, R2 − R0) = [(5, 100)] k = 4:(R1 − R0, R2 − R0) = [(9, 116)] k = 8:(R1 − R0, R2 − R0) = [(17, 148)] ## N 条相互依赖的 vrot.slane.down(子通道循环移位,在向量 ALU 中执行) N = 1:(R1 − R0, R2 − R0) = [(2, 14)] N = 4:(R1 − R0, R2 − R0) = [(5, 19)] N = 7:(R1 − R0, R2 − R0) = [(8, 25)] N = 16:(R1 − R0, R2 − R0) = [(17, 43)] ## 向量 → 标量:vpush v2sf 之后隔 d − 1 个 vnop 再 spop d = 1:(R1 − R0, R2 − R0) = [(45, 57)] d = 12:(R1 − R0, R2 − R0) = [(45, 57)] d = 40:(R1 − R0, R2 − R0) = [(45, 57)] d = 42:(R1 − R0, R2 − R0) = [(45, 57)] d = 44:(R1 − R0, R2 − R0) = [(46, 58)] d = 48:(R1 − R0, R2 − R0) = [(50, 62)]