数据处理电路及人工智能芯片、数据处理方法和装置制造方法及图纸

技术编号:32462814 阅读:11 留言:0更新日期:2022-02-26 08:55
本公开实施例提供一种数据处理电路及人工智能芯片、数据处理方法和装置,通过多个处理单元来处理指令,各个处理单元之间相互独立地基于本处理单元接收到的第一指令的信息以及本处理单元已发送的第二指令的信息判断本处理单元所处理的指令之间是否存在数据冒险。在其中的部分处理单元所处理的指令之间存在数据冒险的情况下,仍然可以通过其他处理单元发送指令,从而减少了指令拥塞。从而减少了指令拥塞。从而减少了指令拥塞。

【技术实现步骤摘要】
数据处理电路及人工智能芯片、数据处理方法和装置


[0001]本公开涉及集成电路设计
,尤其涉及数据处理电路及人工智能芯片、数据处理方法和装置。

技术介绍

[0002]随着人工智能和高性能计算的不断发展,处理系统所需要处理的数据量日趋庞大。在处理过程中,大量数据需要在内部存储空间和外部存储空间之间进行搬运。在搬运过程中可能发生读写数据冒险的情况,即,至少两笔指令往相同的存储地址分别读取和写入数据。在发生读写数据冒险时,需要对读指令和写指令进行控制,以防发生数据读写错误。相关技术一般只判断前后两条指令之间是否存在数据冒险。一旦发生数据冒险,则后续指令无法下发,容易导致指令拥塞。

技术实现思路

[0003]本公开提供一种数据处理电路及人工智能芯片、数据处理方法和装置。
[0004]根据本公开实施例的第一方面,提供一种数据处理电路,所述电路包括多个处理单元,所述多个处理单元中的每个处理单元均包括:指令队列,用于对接收到的第一指令进行缓存;已发送信息队列,用于缓存已发送的至少一条第二指令中每条第二指令的信息;检测单元,用于基于所述第一指令的信息与每条第二指令的信息检测所述第一指令是否满足指令发送条件,并在满足所述指令发送条件的情况下,从所述指令队列中取出所述第一指令进行发送;所述信息包括读写类型信息与地址信息中的至少一者。
[0005]可选地,所述检测单元用于:在所述已发送信息队列未存满的情况下,基于所述第一指令的读写类型信息、所述第二指令的读写类型信息、所述第一指令的地址信息以及所述第二指令的地址信息检测所述第一指令是否满足指令发送条件;在所述已发送信息队列存满的情况下,基于所述第一指令的地址信息以及所述第二指令的地址信息检测所述第一指令是否满足指令发送条件。
[0006]可选地,在所述已发送信息队列未存满的情况下,所述检测单元用于:在所述已发送信息队列中任意一条第二指令的读写类型信息与所述第一指令的读写类型信息不同,且地址信息与所述第一指令的地址信息相同的情况下,判定所述第一指令不满足指令发送条件;在所述已发送信息队列中各第二指令的地址信息均不同于所述第一指令的地址信息的情况下,或者在所述已发送信息队列中属于同一条第二指令的目标地址信息和目标读写类型信息不同时满足所述目标地址信息与所述第一指令的地址信息相同,且所述目标读写类型信息与所述第一指令的读写类型信息不同的情况下,判定所述第一指令满足指令发送条件。
[0007]可选地,在所述已发送信息队列存满的情况下,所述检测单元用于:在所述已发送信息队列中存在至少一条指令的读写类型信息与所述第一指令的读写类型信息不同的情况下,判定所述第一指令不满足指令发送条件;在所述已发送信息队列中各第二指令的读
写类型信息均与所述第一指令的读写类型信息相同的情况下,判定所述第一指令满足指令发送条件。
[0008]可选地,不同的处理单元用于处理不同的线程组发送的指令。
[0009]可选地,所述电路还包括第一指令分发单元,用于:接收各个线程组发送的第一指令,每个线程组发送的第一指令中均携带对应线程组的标识信息;分别基于各个线程组发送的第一指令中携带的标识信息,将各个线程组发送的第一指令分发至对应的处理单元。
[0010]可选地,不同的处理单元发送的指令具有不同的优先级;所述电路还包括:指令仲裁单元,用于接收各个处理单元发送的第一指令,并基于各个处理单元发送的第一指令的优先级,依次对各个处理单元发送的第一指令进行发送。
[0011]可选地,所述第一指令中包括旁路信息的存储地址,所述旁路信息的存储地址下存储有所述第一指令对应的旁路信息;所述电路还包括:第二指令分发单元,用于对携带所述旁路信息的原始指令进行解耦,得到解耦后的原始指令以及所述旁路信息,将所述旁路信息存储到旁路信息的存储地址下,基于解耦后的原始指令与所述旁路信息的存储地址生成所述第一指令,并将所述第一指令下发至所述指令队列;总线控制单元,用于基于所述第一指令和所述旁路信息的存储地址生成目标指令,并对所述目标指令进行发送。
[0012]可选地,所述总线控制单元还用于:从所述已发送队列中清空已处理完成的第二指令的信息。
[0013]可选地,所述第一指令包括写指令,所述旁路信息包括所述写指令对应的第一旁路信息;所述电路还包括:第一存储单元,用于存储所述第一旁路信息。
[0014]可选地,所述总线控制单元用于:从所述写指令中提取所述第一旁路信息的存储地址,从所述第一旁路信息的存储地址中获取所述第一旁路信息,基于所述第一旁路信息与所述写指令生成所述目标指令,并对所述目标指令进行发送。
[0015]可选地,所述第一指令包括读指令,所述旁路信息包括所述读指令对应的第二旁路信息;所述电路还包括:第二存储单元,用于存储所述第二旁路信息。
[0016]可选地,所述总线控制单元还用于:将所述读指令作为所述目标指令。
[0017]可选地,所述总线控制单元还用于:接收所述读指令读取到的目标数据,所述目标数据中携带所述第二旁路信息的存储地址;将所述目标数据写入所述第二存储单元中所述第二旁路信息的存储地址中。
[0018]可选地,所述总线控制单元还用于:在所述第一指令处理完成的情况下,从所述旁路信息的存储地址中清除所述第一指令对应的旁路信息。
[0019]可选地,在所述第二指令的总数超过所述已发送信息队列的长度的情况下,将所述已发送信息队列中的各项信息均置为无效。
[0020]可选地,所述电路还包括统计单元,用于统计以下信息:所述第二指令的总数;各个第二指令中已处理完成的指令的数量;以及各个第二指令的读写类型信息;所述检测单元用于:在所述已发送信息队列中的各项信息均为无效,且存在与所述第一指令的读写类型信息不同的第二指令的情况下,基于所述统计单元统计的信息检测所述第一指令是否满足指令发送条件。
[0021]可选地,在所述已发送信息队列中的各项信息均为无效,且存在与所述第一指令的读写类型信息不同的第二指令的情况下,若各第二指令均处理完成,判定所述第一指令
满足指令发送条件。
[0022]可选地,所述第一指令的信息在所述第一指令发送成功的情况下被写入所述已发送信息队列。
[0023]根据本公开实施例的第二方面,提供一种人工智能芯片,包括:本公开任一实施例所述的数据处理电路;以及控制单元,用于向所述数据处理电路中的指令队列发送所述第一指令。
[0024]根据本公开实施例的第三方面,提供一种数据处理方法,应用于本公开任一实施例所述的数据处理电路中的检测单元,所述方法包括:基于所述第一指令的信息与每条第二指令的信息检测所述第一指令是否满足指令发送条件;在满足所述指令发送条件的情况下,从所述指令队列中取出所述第一指令进行发送;所述信息包括读写类型信息与地址信息中的至少一者。
[0025]根据本公开实施例的第四方面,提供一种数据处理装置,应用于本公开任一实施例所述的数据处理电路中的检测单元,所述装置包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理电路,其特征在于,所述电路包括多个处理单元,所述多个处理单元中的每个处理单元均包括:指令队列,用于对接收到的第一指令进行缓存;已发送信息队列,用于缓存已发送的至少一条第二指令中每条第二指令的信息;检测单元,用于基于所述第一指令的信息与每条第二指令的信息检测所述第一指令是否满足指令发送条件,并在满足所述指令发送条件的情况下,从所述指令队列中取出所述第一指令进行发送;所述信息包括读写类型信息与地址信息中的至少一者。2.根据权利要求1所述的电路,其特征在于,所述检测单元用于:在所述已发送信息队列未存满的情况下,基于所述第一指令的读写类型信息、所述第二指令的读写类型信息、所述第一指令的地址信息以及所述第二指令的地址信息检测所述第一指令是否满足指令发送条件;在所述已发送信息队列存满的情况下,基于所述第一指令的地址信息以及所述第二指令的地址信息检测所述第一指令是否满足指令发送条件。3.根据权利要求2所述的电路,其特征在于,在所述已发送信息队列未存满的情况下,所述检测单元用于:在所述已发送信息队列中任意一条第二指令的读写类型信息与所述第一指令的读写类型信息不同,且地址信息与所述第一指令的地址信息相同的情况下,判定所述第一指令不满足指令发送条件;在所述已发送信息队列中各第二指令的地址信息均不同于所述第一指令的地址信息的情况下,或者在所述已发送信息队列中属于同一条第二指令的目标地址信息和目标读写类型信息不同时满足所述目标地址信息与所述第一指令的地址信息相同,且所述目标读写类型信息与所述第一指令的读写类型信息不同的情况下,判定所述第一指令满足指令发送条件。4.根据权利要求2或3所述的电路,其特征在于,在所述已发送信息队列存满的情况下,所述检测单元用于:在所述已发送信息队列中存在至少一条指令的读写类型信息与所述第一指令的读写类型信息不同的情况下,判定所述第一指令不满足指令发送条件;在所述已发送信息队列中各第二指令的读写类型信息均与所述第一指令的读写类型信息相同的情况下,判定所述第一指令满足指令发送条件。5.根据权利要求1至4任意一项所述的电路,其特征在于,不同的处理单元用于处理不同的线程组发送的指令。6.根据权利要求5所述的电路,其特征在于,所述电路还包括第一指令分发单元,用于:接收各个线程组发送的第一指令,每个线程组发送的第一指令中均携带对应线程组的标识信息;分别基于各个线程组发送的第一指令中携带的标识信息,将各个线程组发送的第一指令分发至对应的处理单元。7.根据权利要求5或6所述的电路,其特征在于,不同的处理单元发送的指令具有不同的优先级;所述电路还包括:
指令仲裁单元,用于接收各个处理单元发送的第一指令,并基于各个处理单元发送的第一指令的优先级,依次对各个处理单元发送的第一指令进行发送。8.根据权利要求1至7任意一项所述的电路,其特征在于,所述第一指令中包括旁路信息的存储地址,所述旁路信息的存储地址下存储有所述第一指令对应的旁路信息;所述电路还包括:第二指令分发单元,用于对携带所述旁路信息的原始指令进行解耦,得到解耦后的原始指令以及所述旁路信息,将所述旁路信息存储到旁路信息的存储地址下,基于解耦后的原始指令与所述旁路信息的存储地址生成所述第一指令,并将所述第一指令下发至所述指令队列;总线控制单元,用于基于所述第一指令和所述旁路信息的存储地址生成目标指令,并对所述目标指令进行发送。9.根据权利要求8所述的电路...

【专利技术属性】
技术研发人员:李越朱志岐王文强徐宁仪
申请(专利权)人:上海阵量智能科技有限公司
类型:发明
国别省市:

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

1