跳转至

数据搬运块

功能概述

TMA(Tile Memory Access)数据搬运块是张量计算架构中的专用数据移动引擎,负责在内存子系统与Tile寄存器之间建立高效、可编程的数据传输通路。该模块通过硬件加速的多维数据搬移操作,为计算核心提供持续的数据供给和结果回写能力,是连接存储层次与计算单元的关键接口。

核心能力

功能 说明
多维数据搬移 TMA支持对多维张量数据的结构化访问,能够高效处理矩阵、张量等非连续内存访问模式。通过内置的地址生成单元,TMA可自动计算复杂的内存访问模式,包括但不限于:
1.跨步访问(Strided Access)
2.分块传输(Block Transfer)
3.广播操作(Broadcast)
4.数据重排(Data Rearrangement)
异步并行执行 TMA采用独立的硬件执行引擎,支持与计算单元的并行操作:
1.非阻塞传输:数据传输与计算流水线深度重叠
2.命令队列:支持多个传输操作的排队和调度
3.优先级管理:可配置的传输优先级和控制
零开销数据管理 通过专用硬件实现数据传输的优化管理:
1.自动地址生成:消除软件地址计算的额外开销
2.突发传输优化:最大化内存带宽利用率
3.数据格式转换:支持计算格式与存储格式的透明转换

架构定位

TMA位于内存控制器与计算单元之间,作为数据流动的智能调度器:

内存子系统 → TMA数据搬运块 → Tile寄存器阵列 → 计算单元
该设计实现了存储访问与计算执行的解耦,允许计算单元专注于算术逻辑运算,而数据供给由专用硬件保障。

与计算单元的接口

  • 数据供给接口:向计算单元提供输入数据加载服务
  • 结果回收接口:接收计算单元的输出数据并写回内存
  • 寄存器间传输:支持Tile寄存器阵列内部的数据重组和复制

块类型特征

  • 数据搬运块仅支持Fall跳转方式
  • 数据搬运块允许访问 全局寄存器GGPR,Tile寄存器,内存。
  • 数据搬运块一个块最多允许读8个Tile寄存器,写4个tile寄存器。
  • 数据搬运块无块体,不允许使用B.TEXT指令