RISC-V ISA Vector Extension

Vector Extension

ref

Vector extension manual

RISC-V Vector Extension学习笔记
https://zhuanlan.zhihu.com/p/140772040

additional state

  1. 32 vector register, v0-v31, each lenght is VLEN
    • VLEN decided by implementor
    • must be power of 2
  2. vl
    • vector length register
    • not to be comfused with VLEN
    • 說明多少個向量中的多少個元素會被運算
    • vlmax(sew, lmul) = (VLEN / sew) * lmul
  3. vtype
    • vector type
      alt text

vector type register

  • vsew[2:0]:用于编码向量的标准元素宽度(SEW)
    • alt text
    • 向量暫存器中一個元素的寬度
  • vlmul[1:0]:用于编码向量寄存器长度multiplier(LMUL= =1-8)
    • 当vlmul为2时,表示一条指令可以同时操作两个向量寄存器
    • 當vlmul小於1的時候,代表只使用一部份的register做運算
  • vediv[1:0]:用于编码向量元素被划分到相等的子元素的方式(EDIV= =1-8)
    alt text

vector operation

  • when vl < vlmax
    • there are ele. that are not operate, called tail ele.
    • RVV offers 2 policies
      • tail undisturbed: 保留不動
      • tail agnostic: 可以如上,也可以全部設為1

Ex 5

vadd.vv v6, v4, v5 //vl = vmax

alt text

Ex 6

vadd.vv v6, v4, v5 //vl = 3

alt text

Masking(Prediction)

可以使用一個v register作為mask擋掉某些bit的設置

  • 一般使用v0
  • 以single bit作為單位

ex.
alt text

non-tail ele.

  • 由mask決定是否為active or inactive
  • inactive同樣有兩個policies
    • 跟tail的規則一樣

Setting vl and vtype

using

  • vsetvl / vsetvli / vsetivli inst.
  • vle*ff inst.

the most common is vsetvli

  • vsetvli rd, rs, eN, mX, tP, mP
    • rd: updates with the vector length computed
    • rs: input register that contains AVL
      • 代表接下來程式要使用的向量長度
      • vl
    • eN: N, which is sew
    • mX: X, which is lmul
    • tP: P, policies of tail
      • a or u
    • mP: P, policies of mask
  • vsetivli
    • replace rs as immediate

Ex.
alt text

special case

  • vsetvli rd, x0, eN, mX, tP, mP //rd != x0
    • sets vl to vlmax
  • vsetvli x0, x0, eN, mX, tP, mP
    • only changes vtype
    • only vaild when the new vlmax is left unchanged
      alt text

if AVL > vlmax

  • 會自動壓縮到小於vlmax
  • 寫的時候,要確保AVL < vlmax
    • 否則會出現難以預測的問題

RISC-V ISA Vector Extension
https://z-hwa.github.io/webHome/[object Object]/2024/05/02/Computer Organization/RISC-V ISA Vector Extension/
作者
crown tako
發布於
2024年5月2日
許可協議