存储单元
AI处理器中的计算资源要想发挥强劲算力,必要条件是保证输入数据能够及时准确地出现在计算单元中,需要精心设计存储系统,保证计算单元所需的数据供应。
AI Core中包含多级内部存储,AI Core需要把外部存储中的数据加载到内部存储中,才能完成相应的计算。AI Core的主要内部存储包括:L1 Buffer(L1缓冲区),L0 Buffer(L0缓冲区),Unified Buffer(统一缓冲区)等。为了配合AI Core中的数据传输和搬运,AI Core中还包含MTE(Memory Transfer Engine,存储转换引擎)搬运单元,在搬运过程中可执行随路数据格式/类型转换。
AI Core的内部存储列表如表1所示。
存储单元 |
描述 |
---|---|
L1 Buffer |
L1缓冲区,通用内部存储,是AI Core内比较大的一块数据中转区,可暂存AI Core中需要反复使用的一些数据从而减少从总线读写的次数。 |
L0A Buffer / L0B Buffer |
Cube指令的输入。 |
L0C Buffer |
Cube指令的输出,但进行累加计算的时候,也是输入的一部分。 |
Unified Buffer |
统一缓冲区,向量和标量计算的输入和输出。 |
BT Buffer |
BiasTable Buffer,存放Bias。 |
FP Buffer |
Fixpipe Buffer,存放量化参数、Relu参数等。 |
搬运单元 |
描述 |
---|---|
MTE1 |
负责如下通路的数据搬运:
|
MTE2 |
负责如下通路的数据搬运:
|
MTE3 |
负责如下通路的数据搬运:UB -> GM。 |
FixPipe |
只有分离架构支持,负责如下通路的数据搬运,搬运过程中可以完成随路数据格式/类型转换:
|
父主题: 硬件架构