跳转至

模版数据块

功能概述

TEPL (Template Tile Block) 模版数据块是张量处理器架构中专用的、硬件固化的并行计算引擎。其核心定位是高效执行针对 Tile 数据块(多维数据切片)的向量化计算操作。与通用处理器不同,TEPL 不依赖于二层的微指令译码与执行,而是通过高度优化的专用硬件电路(硬化单元) 直接实现其丰富的运算功能。这种设计旨在为张量运算的核心模式(如逐元素计算、标量融合、沿轴归约与广播)提供极低延迟、高吞吐量的硬件加速

核心能力

功能 说明
硬件加速的向量化计算 TEPL 的核心价值在于其硬化实现的并行计算能力。它直接通过专用电路支持:
1. Tile 数据块的并行处理: 对 Tile 内所有元素同时执行相同的算术、逻辑、比较、选择或基础数学函数运算。
2. Tile 与标量的高效交互: 无缝融合 Tile 数据与标量值进行计算(如标量广播、Tile-标量运算)。
3. 数据维度的智能操作: 沿指定行或列进行归约(求和、最大值、最小值等)或广播操作。
计算模式硬件固化 TEPL 的功能不是通过软件微指令序列实现的,而是由预先设计并制造在硬件中的特定功能单元直接执行
1. 零微指令开销: 消除了微指令取指、译码、派发的开销,计算直接在功能单元触发。
2. 确定性高性能: 硬化电路确保特定计算操作(如向量加法、ReLU、行求和)能在恒定或可预测的最短周期内完成
3. 并行度最大化: 硬件结构天然匹配 Tile 数据的并行性,可同时处理大量数据元素。
张量计算原语提供者 TEPL 是执行张量神经网络和科学计算中基础且计算原语(Primitives) 的关键模块。它为上层复杂的算子(如卷积层中的点积后处理、激活函数、归一化中的统计量计算、注意力机制中的缩放/Softmax)提供了底层的、高效的硬件执行支撑。

架构定位

TEPL 在计算流水线中扮演核心执行单元(Execution Unit, EU) 的角色,专注于对已加载到 Tile 寄存器中的数据进行变换和计算:

[数据供给] Tile寄存器阵列 → [核心计算] TEPL模版数据块 (硬化计算) → [结果暂存] Tile寄存器阵列
                      [控制] 核心调度器 (指令派发)
* 输入与输出: 其操作数源和结果目标主要是 Tile 寄存器阵列。它不直接管理数据移动(那是 TMA 的职责),而是专注于对寄存器中驻留的 Tile 数据进行计算。 * 协作关系: 依赖数据搬运块 (TMA) 将数据从内存高效加载到 Tile 寄存器;计算完成后,结果通常由 TMA 写回内存或供其他块(包括 TEPL 自身后续指令)使用。 * 控制方式: 由核心控制逻辑/调度器通过派发 TEPL 指令 来启动其内部对应的硬化功能单元执行特定计算任务。

块类型特征

  • 核心角色专用的、硬件固化的并行计算引擎
  • 操作对象:主要对 Tile 寄存器 中存储的数据块进行运算。
  • 执行机制无微指令层。指令直接映射到内部预定义的硬化功能单元执行,实现超低延迟和高吞吐。
  • 功能范围:覆盖张量计算的关键原语:向量化算术/逻辑/比较、基础数学函数、标量融合计算、沿轴归约与广播。
  • 数据移动不直接访问系统内存。数据输入输出均通过 Tile 寄存器阵列和全局寄存器GGPR,与数据搬运块 (TMA) 协同工作。
  • 性能关键:通过消除微指令开销和利用专用硬件电路,为 Tile 数据块上的常见计算模式提供确定性的高性能加速
  • 跳转方式:仅支持Fall顺延。