如下图所示,AI Engine Array是Xilinx ACAP系列器件的组成模块,相对于其中大家均比较熟悉的PL、PS、NoC等,AI Engine Array可以说是一个全新的结构,但从宏观上来看AI Engine Array有点类似GPU的思想。AI Engine Array是由多个AI Engine tile组成的二位阵列。每个AI Engine Tile由一个AI Engine、储存模块以及互联模块等组成,,在VC1902 ACAP芯片中有400个AI Engine(8行x50列)。本文只介绍AI Engine内部结构,不涉及对外接口。
下图我们能清晰的看出AI Engine Tile的内部结构以及AI Engine的内部结构。AI Engine是一个超长指令字(VLIW)处理器,它包括一个标量单元(scalar unit),一个矢量单元(vector unit),两个加载单元(load unit)以及一个储存单元(store unit),其中主要算力由矢量单元提供。
AI Engine Array提供三个层次的并行,分别是指令级、数据级,Engine级。
- 指令级:由VLIW提供,最多7路,时钟1GHz。
- 数据级:由矢量单元提供的单指令多数据(SIMD)实现。
- Engine 级:由Engine阵列提供。