跳转至

Loop寄存器

Loop寄存器主要用于向量数据块访存数据块中指示块体迭代展开的总数量以及记录每次迭代的ID。根据寄存器的作用,Loop寄存器分为以下两组:

1.LB寄存器

LB(全称为Lane Bound Register)寄存器包含3个,分别命名为LB0、LB1和LB2。每个寄存器宽度都是 16bit 的。

  • LB0:用于存储最内层循环迭代上限值。
  • LB1:用于存储中间层循环迭代上限值。
  • LB2:用于存储最外层循环迭代上限值。

在没有块体的数据块(例如TMA块CUBE块)中,LB寄存器通常用作设置Tile中数据的行列数等维度信息。

2.LC寄存器

LC(全称为Lane Counter Register)寄存器也包含3个,分别命名为LC0、LC1和LC2。寄存器宽度同样都是 16bit 的。

  • LC0:用于记录最内层循环迭代的ID。
  • LC1:用于记录中间层循环迭代的ID。
  • LC2:用于记录最外层循环迭代的ID。

访问属性

  • LB寄存器是可读写的(RW),并且只能通过B.DIMC.B.DIM指令设置。
  • LC寄存器是只读的(RO)。