System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理方法、装置以及芯片制造方法及图纸_技高网

一种数据处理方法、装置以及芯片制造方法及图纸

技术编号:43182313 阅读:2 留言:0更新日期:2024-11-01 20:08
本申请实施例提供了一种数据处理方法、装置、设备和存储介质,可以实现矢量处理与标量处理解耦,从而降低AI处理器整体的设计和验证的复杂度。有鉴于此,本申请一方面提供一种数据处理方法,包括:在指令包中的标量指令执行完成之后,根据指令包中的多个矢量指令生成矢量指令队列;对矢量指令队列中的第一指令进行指令译码得到第一指令的控制信号集合和指令编码;将控制信号集合广播至矢量处理单元,并根据指令编码对第一指令进行检测得到检测结果;在检测结果指示允许第一指令发射时,发射第一指令至矢量处理单元;利用矢量处理单元根据控制信号集合执行第一指令。本申请提供的技术方案可应用于计算机、云技术、人工智能等领域。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种数据处理方法、装置以及芯片


技术介绍

1、矢量处理器可在单个时钟周期并行处理多路数据,并行度较高,是人工智能(artificial intelligence,ai)处理器的重要组成部分。目前ai处理器通常采用单指令多数据(single instruction multi-data,simd)技术,即通过一条指令控制多条数据通路的执行,在图像处理、神经网络的推理和训练中应用十分广泛。

2、为了匹配ai运算场景下的高算力,ai处理器的并行度都很高,但是过高的并行度会带来较多的问题,并且给芯片实现过程中的布局布线带来比较大的压力。

3、因此目前亟需设计一款具有高性能的矢量处理架构的ai处理器。


技术实现思路

1、本申请实施例提供了一种数据处理方法、装置以及芯片,可以实现矢量处理与标量处理解耦,从而降低ai处理器整体的设计和验证的复杂度。

2、有鉴于此,本申请一方面提供一种数据处理方法,包括:在指令包中的标量指令执行完成之后,根据该指令包中的多个矢量指令生成矢量指令队列;

3、对该矢量指令队列中的第一指令进行指令译码得到该第一指令的控制信号集合和指令编码,该控制信号集合和该指令编码用于指示该第一指令的执行信息;

4、将该控制信号集合广播至矢量处理单元,并根据该指令编码对该第一指令进行检测得到检测结果;

5、在该检测结果指示允许该第一指令发射时,发射该第一指令至该矢量处理单元;

6、利用该矢量处理单元根据该控制信号集合执行该第一指令。

7、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该将该控制信号集合广播至矢量处理单元包括:

8、将该控制信号集合复制生成n份控制信号集合;

9、将该n份控制信号集合按照一一对应的方式广播至该矢量处理单元的n个矢量处理切片,其中,该n为正整数,该n个矢量处理切片具有相同的结构。

10、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,在将该控制信号集合广播至矢量处理单元之后,该方法还包括:

11、在该矢量处理切片的寄存器中写入该控制信号集合。

12、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该利用该矢量处理单元根据该控制信号集合执行该第一指令包括:

13、利用该n个矢量处理切片根据该控制信号集合执行该第一指令。

14、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该控制信号集合包括该第一指令的源寄存器编号、目的寄存器编号、数据通路模式控制信号和数据通路选通信号,该利用该矢量处理单元根据该控制信号集合执行该第一指令包括:

15、获取该第一指令的流水级数;

16、根据该流水级数、该数据通路模式控制信号和该数据通路选通信号从执行路径集合中选择目标执行路径,该执行路径集合包括多个执行路径,该执行路径为矢量处理切片中根据指令的流水级数设置的指令执行路径;

17、利用该目标执行路径、该源寄存器编号和该目的寄存器编号执行该第一指令。

18、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该利用该目标执行路径、该源寄存器编号和该目的寄存器编号执行该第一指令包括:

19、根据该源寄存器编号读取该第一指令的待处理数据;

20、利用该目标执行路径对该待处理数据进行计算得到该第一指令的计算结果;

21、根据该目标寄存器编码写入该第一指令的计算结果。

22、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,在根据该源寄器编号读取该第一指令的待处理数据之前,该方法还包括:

23、通过加载指令从矢量数据存储器读取该待处理数量,并写入该源寄存器编号对应的寄存器;

24、在根据该目标寄存器编码写入该第一指令的计算结果之后,该方法还包括:

25、通过存储指令从该目标寄存器编号对应的寄存器中读取该计算结果,并写入矢量数据存储器。

26、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该根据该指令编码对该第一指令进行检测得到检测结果包括:

27、获取资源状态表,并根据该指令编码获取该第一指令的源寄存器编号和目的寄存器编号;

28、从该资源状态表中查询该源寄存器编号对应的寄存器的第一状态信息,并从该资源状态表中查询该目的寄存器编号对应的寄存器的第二状态信息,并从该资源状态表中查询该第一指令待使用硬件资源的第三状态信息;

29、根据该第一状态信息、该第二状态信息和该第三状态信息确定该检测结果。

30、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该从该资源状态表中查询该源寄存器编号对应的寄存器的第一状态信息,并从该资源状态表中查询该目的寄存器编号对应的寄存器的第二状态信息包括:

31、根据矢量寄存器状态表查询该源寄存器编号对应的寄存器的第一状态信息,并从该矢量寄存器状态表中查询该目的寄存器编号对应的寄存器的第二状态信息,该矢量寄存器状态表包含于该资源状态表;

32、或者;

33、根据布尔寄存器状态表查询该源寄存器编号对应的寄存器的第一状态信息,并从该布尔寄存器状态表中查询该目的寄存器编号对应的寄存器的第二状态信息,该布尔寄存器状态表包含于该资源状态表;

34、或者;

35、根据矢量寄存器状态表查询该源寄存器编号对应的寄存器的第一信息,并从该矢量寄存器状态表中查询该目的寄存器编号对应的寄存器的第二信息;

36、根据布尔寄存器状态表查询该源寄存器编号对应的寄存器的第三信息,并从该布尔寄存器状态表中查询该目的寄存器编号对应的寄存器的第四信息;

37、其中,该第一信息和该第三信息作为该第一状态信息,该第二信息和该第四信息作为该第二状态信息,该矢量寄存器状态表和该布尔寄存器状态表包含于该资源状态表。

38、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该根据该第一状态信息、该第二状态信息和该第三状态信息确定该检测结果包括:

39、在该第一状态信息指示该源寄存器编号对应的寄存器处于空闲状态,该第二状态信息指示该目的寄存器编号对应的寄存器处于空闲状态且该第三状态信息指示的硬件资源处于空闲状态时,确定该检测结果为允许该第一指令发射;

40、在该第一状态信息指示该源寄存器编号对应的寄存器处于占用状态、该第二状态信息指示该目的寄存器编号对应的寄存器处于占用状态以及该第三状态信息指示的硬件资源处于占用状态至少存在一项时,确定该检测结果为不允许该第一指令发射。

41、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该方法还包括:

42、在该检测结本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述控制信号集合广播至矢量处理单元包括:

3.根据权利要求2所述的方法,其特征在于,所述控制信号集合包括所述第一指令的源寄存器编号、目的寄存器编号、数据通路模式控制信号和数据通路选通信号,所述利用所述矢量处理单元根据所述控制信号集合执行所述第一指令包括:

4.根据权利要求3所述的方法,其特征在于,所述利用所述目标执行路径、所述源寄存器编号和所述目的寄存器编号执行所述第一指令包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述指令编码对所述第一指令进行检测得到检测结果包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述第一状态信息、所述第二状态信息和所述第三状态信息确定所述检测结果包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.一种数据处理装置,其特征在于,包括:

9.根据权利要求8所述的装置,其特征在于,所述广播单元,用于将所述控制信号集合复制生成N份控制信号集合;

10.根据权利要求9所述的装置,其特征在于,所述N个矢量处理切片中每个矢量处理切片对应一个寄存器,所述N个矢量处理切片,用于将所述广播单元广播的所述控制信号集合写入所述寄存器。

11.根据权利要求10所述的装置,其特征在于,所述N个矢量处理切片,用于根据所述控制信号集合执行所述第一指令。

12.根据权利要求11所述的装置,其特征在于,所述控制信号集合包括所述第一指令的源寄存器编号、目的寄存器编号、数据通路模式控制信号和数据通路选通信号,所述N个矢量处理切片,还用于获取所述第一指令的流水级数;

13.根据权利要求12所述的装置,其特征在于,所述N个矢量处理切片,还用于根据所述源寄存器编号读取所述第一指令的待处理数据;

14.根据权利要求13所述的装置,其特征在于,所述装置还包括矢量数据存储器,所述矢量数据存储器,用于存储所述待处理数据和所述计算结果;

15.根据权利要求8至14中任一项所述的装置,其特征在于,所述检测单元,用于获取资源状态表,并根据所述指令编码获取所述第一指令的源寄存器编号和目的寄存器编号;

16.根据权利要求15所述的装置,其特征在于,所述检测单元,用于根据矢量寄存器状态表查询所述源寄存器编号对应的寄存器的第一状态信息,并从所述矢量寄存器状态表中查询所述目的寄存器编号对应的寄存器的第二状态信息,所述矢量寄存器状态表包含于所述资源状态表;

17.根据权利要求15所述的装置,其特征在于,所述检测单元,用于在所述第一状态信息指示所述源寄存器编号对应的寄存器处于空闲状态,所述第二状态信息指示所述目的寄存器编号对应的寄存器处于空闲状态且所述第三状态信息指示的硬件资源处于空闲状态时,确定所述检测结果为允许所述第一指令发射;

18.根据权利要求17所述的装置,其特征在于,所述检测单元,还用于在所述检测结果指示不允许所述第一指令发射时,根据所述第一状态信息、所述第二状态信息和所述第三状态信息确定发射所述所述第一指令的等待时间间隔。

19.根据权利要求15所述的装置,其特征在于,所述装置还包括更新单元,在所述检测单元确定所述检测结果指示允许所述第一指令发射时之后,所述更新单元,用于更新所述资源状态表。

20.一种芯片,其特征在于,包括如权利要求8-19中任一项所述的数据处理装置。

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述控制信号集合广播至矢量处理单元包括:

3.根据权利要求2所述的方法,其特征在于,所述控制信号集合包括所述第一指令的源寄存器编号、目的寄存器编号、数据通路模式控制信号和数据通路选通信号,所述利用所述矢量处理单元根据所述控制信号集合执行所述第一指令包括:

4.根据权利要求3所述的方法,其特征在于,所述利用所述目标执行路径、所述源寄存器编号和所述目的寄存器编号执行所述第一指令包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述指令编码对所述第一指令进行检测得到检测结果包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述第一状态信息、所述第二状态信息和所述第三状态信息确定所述检测结果包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.一种数据处理装置,其特征在于,包括:

9.根据权利要求8所述的装置,其特征在于,所述广播单元,用于将所述控制信号集合复制生成n份控制信号集合;

10.根据权利要求9所述的装置,其特征在于,所述n个矢量处理切片中每个矢量处理切片对应一个寄存器,所述n个矢量处理切片,用于将所述广播单元广播的所述控制信号集合写入所述寄存器。

11.根据权利要求10所述的装置,其特征在于,所述n个矢量处理切片,用于根据所述控制信号集合执行所述第一指令。

12.根据权利要求11所述的装置,其特征在于,所述控制信号集合包括所述第一指令的源寄存器编号、目的寄存器编号、数据通路模式控制信号和数据通路选通信号,所述n个矢量处理切片,还用于获取所述...

【专利技术属性】
技术研发人员:任子木
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1