基于阵列结构的高位宽向量加速器和通用处理器的制作方法

文档序号:39140989发布日期:2024-08-22 12:09阅读:31来源:国知局
基于阵列结构的高位宽向量加速器和通用处理器的制作方法

本申请实施例涉及加速器领域,特别涉及一种基于阵列结构的高位宽向量加速器和通用处理器。


背景技术:

1、在现代化社会和工业中,比如互联网、大数据、物联网、自动驾驶等领域,基于神经网络的人工智能的使用可以大幅提高效率、降低成本,使用度日益广泛。而神经网络内的计算可以采用通用计算技术比如通用计算cpu来运行,但是效率比较低下。所以业界通常采用专门出处理器来加速神经网络的计算,一般称为神经网络加速器,或者人工智能芯片(aichip)。

2、目前业界的主流神经网络加速器以通用计算图形处理器(gpgpu)为主,也有基于精简指令处理器(risc)内核的加速器,还有采用脉动阵列结合通用计算核心的专用领域加速器(统称为dsa,比如谷歌tpu芯片)。以dsa加速器为例,芯片内部通常有若干个计算核心,而且会存在多个或者多种存储器,此类加速器的架构一般采用多个计算部件或者计算核心组成,核心与核心之间可以通过配合计算完成总体的运算;单个计算部件或计算核心有独立的本地缓存和缓冲器;多个计算部件或计算核心通过多层次、多块的缓冲器(l1和l2buffer)进行数据交换。此类型的主流设计通常会存在重复存储,多缓存之间通过总线连接导致电路设计复杂度上升;多缓存之间交互执行任务导致编译器复杂度大幅上升;多缓存之间通路长短不一致导致数据交换延时不确定,影响编程效率;多缓存多层次连接关系导致缩放效率低下,进而导致不同算力芯片的设计复用度大大降低。以上的问题都会带来电路面积过大或编程方式复杂,从而对芯片成本和效率造成负面影响。


技术实现思路

1、本申请实施例提供基于阵列结构的高位宽向量加速器和通用处理器,解决多缓存多层次连接关系导致电路设计复杂和影响芯片效率及成本的问题。

2、本申请公开一种基于阵列结构的高位宽向量加速器,包括向量加速模块以及与向量加速模块通过信号线连接的指令模块;所述指令模块中缓存有编译完成的指令数据,根据时序向所述向量加速模块发送指令流;

3、所述向量加速模块中包含l行结构相同的向量加速块,相邻行的向量加速块之间通过单向指令信号线依次级联,将指令模块送入的指令流根据时序向l行向量加速块逐行传递;

4、l行向量加速块分别设置有至少两个数据输入/出端,分别接收外部数据输入,根据传递到本行的指令执行向量加速任务和数据输出。

5、具体的,所述向量加速块包括m行阵列设计的向量计算单元、y组向量寄存器组、一对数据选择器和一对数据寄存器;

6、m行向量计算单元分别与y组向量寄存器组连接,根据指令读取寄存数据和执行向量加速运算,输出端分别连接到两个数据选择器的m个数据输入端,第二数据寄存器的输出端连接到第一数据选择器的第m+1个数据输入端,第一数据选择器的输出端连接第一数据寄存器;

7、所述第一数据寄存器的输出端连接到第二数据选择器的第m+1个数据输入端,第二数据选择器的输出端连接第二数据寄存器;

8、所述第一数据选择器为向量加速模块的一个数据输入/出端,第二数据选择器和第二数据寄存器为向量加速模块的另一数据输入/出端,分别用于将外部输入数据送入向量寄存器组,以及将选通数据输出。

9、具体的,所述向量加速模块还包括指令寄存器,相邻向量加速块中的指令寄存器通过信号线连接,根据时序寄存、执行指令流数据,以及向后流水传递。

10、具体的,所述指令寄存器连接两个数据选择器的选通控制端和m行向量计算单元,数据选择器根据指令确定选通信号并选通数据输出,目标向量计算单元根据指令读取目标向量寄存器组,并执行向量加速运算。

11、具体的,所述向量计算单元包含y个相互级联的多格式计算单元,每个多格式计算电路包括整数计算电路、浮点计算电路和逻辑计算电路,分别用于进行整数计算、浮点计算和逻辑运算。

12、具体的,y个多格式计算单元与y组向量寄存器组一一对应,根据指令从对应向量寄存器组中读取数据,以及寄存运算的中间数据。

13、具体的,所述指令模块包含l个级联深度的fifo存储器,用于存储l条编译完成的指令,fifo存储器根据时序逐次发送指令至l行向量加速块。

14、具体的,所述向量寄存器组的容量为x 比特*n,向量计算单元的计算宽度为2^n比特;n的取值范围是[5,10],x取值为4、8、16、32或64。

15、具体的,编译指令包括模式计算位、数据方向位、单元选择位、通道选择位;

16、所述模式计算位用于控制向量计算单元执行的计算模式;

17、所述数据方向位用于控制数据的数据输出方向;

18、所述单元选择位用于确定执行向量加速计算目标计算单元;

19、所述通道选择位用于控制数据选择器选通目标计算单元输出。

20、具体的,所述向量计算单元执行的计算模式包括向量加运算、向量乘运算、向量与立即数加运算;所述指令模块每个时钟周期输出一条编译指令,l行向量加速块根据指令流的顺序依次执行相同的编译指令;

21、同一向量加速块内,每个向量计算单元同一时钟周期得到的是同一笔指令,用于并行加速,且不同向量计算单元获取同一数据寄存器中不同位置的数据,或输出中间数据至数据寄存器中,或直接选通输出。

22、另一方面,本申请提供一种通用处理器,应用于前述各方面所说的基于阵列结构的高位宽向量加速器,包括向量加速模块、对称设置的一对数据缓存模块、一对数据交换模块、一对矩阵计算模块;向量加速模块、数据缓存模块、数据交换模块和矩阵计算模块分别连接各自的指令模块,用于接收对应的指令流;

23、所述向量加速模块两个输入/出端分别连接两个数据缓存模块,两个数据缓存模块分别连接对应的数据交换模块;所述数据交换模块分别连接对应的矩阵计算模块;其中的数据缓存模块用于和向量加速模块中的l行向量加速块进行数据交互,数据交换模块用于对矩阵的行列数据交换和向量移位操作,并执行处理器数据输入和输出。

24、本申请实施例提供的技术方案带来的有益效果至少包括:基于改进的向量计算单元,采用阵列结构,实现了灵活可配置的高位宽向量加速器设计,且支持开源指令集,提供了高性能通用计算能力。相对于传统的向量加速器设计,本申请对于前端设计和数据流向、算法支持效率、后端物理实现难度都有极大的创新,达到了性能及效率的提升。



技术特征:

1.一种基于阵列结构的高位宽向量加速器,其特征在于,包括向量加速模块以及与向量加速模块通过信号线连接的指令模块;所述指令模块中缓存有编译完成的指令数据,根据时序向所述向量加速模块发送指令流;

2.根据权利要求1所述的基于阵列结构的高位宽向量加速器,其特征在于, 所述向量加速模块还包括指令寄存器,相邻向量加速块中的指令寄存器通过信号线连接,根据时序寄存、执行指令流数据,以及向后流水传递。

3.根据权利要求2所述的基于阵列结构的高位宽向量加速器,其特征在于,所述指令寄存器连接两个数据选择器的选通控制端和m行向量计算单元,数据选择器根据指令确定选通信号并选通数据输出,目标向量计算单元根据指令读取目标向量寄存器组,并执行向量加速运算。

4.根据权利要求2所述的基于阵列结构的高位宽向量加速器,其特征在于,所述向量计算单元包含y个相互级联的多格式计算单元,每个多格式计算电路包括整数计算电路、浮点计算电路和逻辑计算电路,分别用于进行整数计算、浮点计算和逻辑运算。

5.根据权利要求4所述的基于阵列结构的高位宽向量加速器,其特征在于,y个多格式计算单元与y组向量寄存器组一一对应,根据指令从对应向量寄存器组中读取数据,以及寄存运算的中间数据。

6.根据权利要求3所述的基于阵列结构的高位宽向量加速器,其特征在于,所述指令模块包含l个级联深度的fifo存储器,用于存储l条编译完成的指令,fifo存储器根据时序逐次发送指令至l行向量加速块。

7.根据权利要求6所述的基于阵列结构的高位宽向量加速器,其特征在于,所述向量寄存器组的容量为x 比特*n,向量计算单元的计算宽度为2^n比特;n的取值范围是[5,10],x取值为4、8、16、32或64。

8.根据权利要求6所述的基于阵列结构的高位宽向量加速器,其特征在于,编译指令包括模式计算位、数据方向位、单元选择位、通道选择位;

9.根据权利要求8所述的基于阵列结构的高位宽向量加速器,其特征在于,所述向量计算单元执行的计算模式包括向量加运算、向量乘运算、向量与立即数加运算;所述指令模块每个时钟周期输出一条编译指令,l行向量加速块根据指令流的顺序依次执行相同的编译指令;

10.一种通用处理器,其特征在于, 应用于权利要求1-9任一所述的基于阵列结构的高位宽向量加速器,包括向量加速模块、对称设置的一对数据缓存模块、一对数据交换模块、一对矩阵计算模块;向量加速模块、数据缓存模块、数据交换模块和矩阵计算模块分别连接各自的指令模块,用于接收对应的指令流;


技术总结
本申请公开一种基于阵列结构的高位宽向量加速器和通用处理器,涉及加速器领域,包括向量加速模块和指令模块;指令模块中缓存有编译完成的指令数据,根据时序向向量加速模块发送指令流;向量加速模块中包含L行结构相同的向量加速块,相邻行的向量加速块之间通过单向指令信号线依次级联,将指令模块送入的指令流根据时序向L行向量加速块逐行传递;L行向量加速块分别设置有至少两个数据输入/出端,分别接收外部数据输入,根据传递到本行的指令执行向量加速任务和数据输出。基于改进的向量计算单元,采用阵列结构,实现了灵活可配置的高位宽向量加速器设计,且支持开源指令集,提供了高性能通用计算能力。

技术研发人员:请求不公布姓名,请求不公布姓名
受保护的技术使用者:深存科技(无锡)有限公司
技术研发日:
技术公布日:2024/8/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1