昇腾社区首页
中文
注册
开发者
下载

copy_ubuf_to_gm

功能说明

从UB读取数据写入到GM中。

接口原型

void copy_ubuf_to_gm(__gm__ void *dst, __ubuf__ void *src, uint8_t sid, uint16_t nBurst, uint16_t lenBurst, uint16_t srcGap, uint16_t dstGap, bm_t byteMode);

参数说明

参数含义见表1 通用搬运指令参数说明

通过设置byteMode枚举参数可改变block大小,详见表1 byteMode参数说明

表1 byteMode参数说明

byteMode枚举名

byteMode枚举值

byteMode描述

BM_DISABLE

0

  • block大小为32Bytes,lenBurst对齐至32字节,lenBurst大小=lenBurst * 32Bytes;
  • 从UB读取的数据中无虚拟填充数据,所有的数据被完整写入GM。

BM_ENABLE

1

  • block大小从32Bytes调整为1bytes,lenBurst大小=lenBurst * 1Bytes;
  • 若lenBurst未对齐32Bytes,则从UB读取的数据会包含虚拟填充数据,这些数据在写入GM时会被丢弃;
  • 硬件从UB中每次burst读取到的实际数据大小为:((block大小 * lenBurst – 1)/32 + 1)*32 (Bytes),公式对32bytes取整求得具体使用的block个数(UB上是32bytes对齐一个block),从而得到实际数据大小。

流水类型

PIPE_MTE3