达芬奇架构简介

不同与传统的支持通用计算的CPU与GPU,达芬奇架构本质上是为了适应某个特定领域中的常见应用和算法,通常称为“特定域架构(Domain Specific Architecture,DSA)”芯片。从目前打榜数据看,DSA芯片在推理方面的表现远远好于GPU。
昇腾AI处理器的计算核心主要由AI Core构成,负责执行向量、标量相关的计算密集型算子。AI Core采用的就是达芬奇架构,基本结构图如下:(图片来自昇腾官网)

AI Core架构图

AI Core中主要由计算单元、存储单元、与控制单元三部分构成。

计算单元

计算单元是AI Core中提供强大算力的核心单元,是核心中的核心。AI Core中的执行单元主要包括:Cube,Vector和Scalar,完成AI Core中不同类型的数据计算。Cube计算单元即矩阵计算单元,主要完成矩阵相关的运算。Vector计算单元即向量计算单元,用于向量的计算。Scalar即标量运算单元,主要用于程序的流程控制。

存储单元

AI Core中存在内部存储,AI Core需要把外部存储中的数据加载到内部存储中,才能完成相应的计算。AI Core的内部存储包括:L1 Buffer,L0 Buffer,Unified Buffer,GPR(General-Purpose Register:通用寄存器),SPR(Special-Purpose Register:专用寄存器)和Scalar Buffer。
为了配合AI Core中的数据传输和搬运,AI Core中还包含BIU(Bus Interface Unit),MTE1(Memory Transfer Engine,内存传输引擎),MTE2,MTE3。其中BIU为AI Core与总线交互的接口;MTE为数据搬运单元,完成不同Buffer之间的数据搬运。


基本数据通路图

控制单元

AI Core中的控制单元主要包括:系统控制模块(System Control),标量指令处理队列(Scalar PSQ),指令发射模块(Instr. Dispatch),矩阵运算队列(Cube Queue),向量运算队列(Vector Queue),存储转换队列(MTE Queue)和事件同步模块(Event Sync)。系统控制模块负责指挥和协调AI Core的整体运行模式,配置参数和实现功耗控制等。标量指令处理队列主要实现控制指令的译码。当指令被译码并通过指令发射模块顺次发射出去后,根据指令的不同类型,将会分别被发送到矩阵运算队列、向量运算队列和存储转换队列。

你可能感兴趣的:(达芬奇架构简介)