System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于重排序缓冲的方法及其相关产品技术_技高网

用于重排序缓冲的方法及其相关产品技术

技术编号:39967552 阅读:10 留言:0更新日期:2024-01-09 00:31
本公开涉及一种用于重排序缓冲的方法及其相关产品,其中该相关产品包括重排序缓冲装置、人工智能处理器、设备、板卡和计算机可读存储介质。该设备可以包括在组合处理装置的计算处理装置中,该计算处理装置可以包括一个或多个数据处理装置。前述的组合处理装置还可以包括接口装置和其他处理装置。所述计算处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与设备和其他处理装置连接,用于存储该设备和其他处理装置的数据。通过本公开的方案,可以显著提升数据的访存效率。

【技术实现步骤摘要】

本公开一般地涉及计算机领域。更具体地,本公开涉及一种用于重排 序缓冲的方法、用于执行前述方法的重排序缓冲装置、人工智能处理器、 板卡、设备和计算机可读存储介质。


技术介绍

1、在传统的处理器设计中,相互之间不存在依赖关系的指令可以进行乱 序处理。为了实现前述的乱序处理,传统的处理器一般都会使用一个重排 序缓冲装置(rob,reorderbuffer),用来记录所有指令的真实顺序,然后 在指令执行完毕后将指令顺序释放。对于高效的人工智能(ai,artificial intelligence)处理器而言,由于指令集中的指令更多地满足人工智能算法的 需求,因此一条指令可能计算的数据量、实现的功能和/或所需要的计算时 间远远大于传统处理器的指令。因此,如何在人工智能计算场景下高效地 使用重排序缓冲装置,以便加速处理器的处理速度成为研究的重点。


技术实现思路

1、鉴于上述
技术介绍
部分所提及的技术问题,本公开提出一种高效的重 排序缓冲方案。利用本公开的方案,可以显著提升人工智能处理器中集群 (“cluster”)架构下的数据访存速度,由此加速来自于集群的指令的执行 和处理器的整体操作性能。为此,本公开在如下的多个方面中提供用于重 排序缓冲的方案。

2、在第一方面中,本公开提供了一种重排序缓冲装置,其设置于人工智能 处理器的裸片间的接口处,所述人工智能处理器包括多个祼片和存储装置, 每个祼片内包括一个或多个用于执行运算的集群,每个集群包括多个处理器 核,所述重排序缓冲装置包括:重排序缓冲电路,其配置用于驻留从所述存 储装置的预定物理地址段内读取到的数据;接收电路,其配置用于接收来自 于集群针对于所述存储装置的读请求,其中所述读请求包括待从所述存储装 置读取数据的目标物理空间地址;判定电路,其配置用于在所述目标物理空间地址位于所述预定物理地址段内时,判定不发送所述读请求;以及发送电 路,其配置用于从所述重排序缓冲电路读取对应于目标物理空间地址的驻留 数据,以作为所述读请求所读取的数据来发送至所述集群。

3、在第二方面中,本公开提供了一种人工智能处理器,包括:多个祼芯, 其中祼芯之间通过祼芯到祼芯接口进行通信,并且每个祼芯包括一个或多个 集群,每个集群包括多个处理器核;以及上述第一方面中所述的重排序缓冲 装置,其布置于裸片间的接口处,以用于针对集群中的读请求来返回对应的 驻留数据。

4、在第三方面中,本公开提供了一种用于重排序缓冲的方法,其应用于 设置在人工智能处理器的裸片间的接口处的重排序缓冲装置,所述人工智 能处理器包括多个祼片和存储装置,每个祼片内包括一个或多个用于执行 运算的集群,所述方法包括:驻留从所述存储装置的预定物理地址段内读 取到的数据;接收来自于集群针对于所述存储装置的读请求,其中所述当 前读请求包括待从所述存储装置读取数据的目标物理空间地址;在所述目 标物理空间地址位于所述预定物理地址段内时,判定不发送所述当前读请 求;以及读取对应于目标物理空间地址的驻留数据,以作为所述当前读请 求所读取的数据来发送至所述集群。

5、在第四方面中,本公开提供了一种用于重排序缓冲区的设备,包括:处 理器;以及存储器,其存储有用于重排序缓冲区的程序指令,当所述程序指 令由处理器执行时,使得上述第三方面中所述的方法。

6、在第五方面中,本公开提供了一种计算机可读存储介质,其存储有用于 重排序缓冲区的程序指令,当所述程序指令由处理器执行时,使得实现上述 第三方面中所述的方法。

7、在第六方面中,本公开提供了一种板卡,包括上述第二方面中所述的人 工智能处理器或上述第四方面中所述的设备。

8、通过如上多个方面中所提供的方案,本公开的重排序缓冲器可以减小存 储装置对多个集群的读请求的数据返回操作,从而节省访存单元的带宽。进 一步,在一些实施例中,通过增加数据在重排序缓冲区中的驻留,可以加速 数据向集群的返回。在另一些实施例中,通过基于存储地址来将当前读请求 与先前读请求合并,即选择先前读请求的对应数据进行返回而不再考虑当前 读请求,可以提升读请求的处理速度,充分发挥rob装置的数据缓存作用。

本文档来自技高网...

【技术保护点】

1.一种重排序缓冲装置,其设置于人工智能处理器的裸片间的接口处,所述人工智能处理器包括多个祼片和存储装置,每个祼片内包括一个或多个用于执行运算的集群,每个集群包括多个处理器核,所述重排序缓冲装置包括:

2.根据权利要求1所述的重排序缓冲装置,其中所述读请求包括任务标记位,其用于标记任务由多个集群共同执行,并且所述发送电路配置用于对所述多个集群针对相同的目标物理空间地址的读请求返回对应的驻留数据。

3.根据权利要求2所述的重排序缓冲装置,其中所述集群具有相关联的集群标识,并且所述任务标记位通过标记多个集群标识来指示共同执行任务的多个集群。

4.根据权利要求1所述的重排序缓冲装置,其中所述读请求包括对应数据在重排序缓冲电路中驻留的时间窗信息,其中重排序缓冲电路配置用于在时间窗信息所指示的时间窗内驻留所述对应数据,并且在时间窗外释放所述对应数据。

5.根据权利要求4所述的重排序缓冲装置,其中所述读请求包括开始读请求和结束读请求,其中所述开始读请求包括时间窗信息中用于表示开始驻留所述对应数据的开始时间指示,并且所述结束读请求包括所述时间窗信息中用于表示结束驻留所述对应数据的结束时间指示。

6.根据权利要求4所述的重排序缓冲装置,其中所述多个集群中的部分或所有集群发送各自的读请求,并且响应于各自的读请求的时间窗存在重合的时间段,所述重排序缓冲电路配置用于将对应数据的驻留时间延长至时间上相对靠后的时间窗内。

7.根据权利要求1所述的重排序缓冲装置,其中所述重排序缓冲电路配置用于:

8.根据权利要求7所述的重排序缓冲装置,其中所述重排序缓冲电路配置用于:

9.根据权利要求1所述的重排序缓冲装置,其中所述接收电路还配置用于接收用于指示在所述重排序缓冲电路内开始驻留所述对应数据的第三指令,并且响应于接收到所述第三指令,重排序缓冲电路配置用于启动将存储装置的存储地址的对应数据进行驻留操作,以便所述集群通过所述读请求从所述重排序缓冲电路直接读取所述对应数据。

10.根据权利要求5所述的重排序缓冲装置,其中所述接收电路还配置用于接收针对于所述存储地址的写请求,并且所述重排序缓冲电路还配置用于响应于接收到针对于所述存储地址的写请求,自动释放驻留的所述对应数据。

11.根据权利要求10所述的重排序缓冲装置,其中所述写请求和所述读请求接收自相同的集群。

12.根据权利要求10所述的重排序缓冲装置,其中所述写请求和所述读请求接收自执行相同任务的不同集群。

13.根据权利要求9所述的重排序缓冲装置,其中所述第三指令是同步指令,并且所述同步指令的一个域用于指示其作为启动驻留的指令使用。

14.根据权利要求1所述的重排序缓冲装置,其中所述接收电路还配置用于接收用于将所述对应数据驻留于所述重排序缓冲区的第四指令,并且所述重排序缓冲电路还配置用于响应于接收到所述第四指令,将所述对应数据驻留;以及

15.根据权利要求14所述的重排序缓冲装置,其中所述第四指令包含于针对于所述存储装置的IO指令中。

16.一种人工智能处理器,包括:

17.根据权利要求16所述的人工智能处理器,其中针对每个祼芯设置有相关联的一个重排序缓冲装置,或者所述多个祼芯共用一个重排序缓冲装置。

18.根据权利要求16或17所述的人工智能处理器,其中针对每个集群设置有相关联的一个重排序缓冲装置,或者所述多个集群共用一个重排序缓冲装置。

19.根据权利要求18所述的人工智能处理器,其中每个集群与对应的一个重排序缓冲装置相连接,而所述重排序缓冲装置之间以全连接方式进行连接。

20.根据权利要求16-19的任意一项所述的人工智能处理器,其中每个重排序缓冲装置被分配用于驻留存储于所述存储装置的部分所述预定物理地址段的数据。

21.一种用于重排序缓冲的方法,其应用于设置在人工智能处理器的裸片间的接口处的重排序缓冲装置,所述人工智能处理器包括多个祼片和存储装置,每个祼片内包括一个或多个用于执行运算的集群,所述方法包括:

22.根据权利要求21所述的方法,其中所述读请求包括任务标记位,其用于标记任务由多个集群共同执行,并且所述方法包括:

23.根据权利要求22所述的方法,其中所述集群具有相关联的集群标识,并且所述任务标记位通过标记多个集群标识来指示共同执行任务的多个集群。

24.根据权利要求21所述的方法,其中所述读请求包括对应数据在重排序缓冲装置中驻留的时间窗信息,其中所述方法包括在时间窗信息所指示的时间窗内驻留所述对应数据,并且在时间窗...

【技术特征摘要】

1.一种重排序缓冲装置,其设置于人工智能处理器的裸片间的接口处,所述人工智能处理器包括多个祼片和存储装置,每个祼片内包括一个或多个用于执行运算的集群,每个集群包括多个处理器核,所述重排序缓冲装置包括:

2.根据权利要求1所述的重排序缓冲装置,其中所述读请求包括任务标记位,其用于标记任务由多个集群共同执行,并且所述发送电路配置用于对所述多个集群针对相同的目标物理空间地址的读请求返回对应的驻留数据。

3.根据权利要求2所述的重排序缓冲装置,其中所述集群具有相关联的集群标识,并且所述任务标记位通过标记多个集群标识来指示共同执行任务的多个集群。

4.根据权利要求1所述的重排序缓冲装置,其中所述读请求包括对应数据在重排序缓冲电路中驻留的时间窗信息,其中重排序缓冲电路配置用于在时间窗信息所指示的时间窗内驻留所述对应数据,并且在时间窗外释放所述对应数据。

5.根据权利要求4所述的重排序缓冲装置,其中所述读请求包括开始读请求和结束读请求,其中所述开始读请求包括时间窗信息中用于表示开始驻留所述对应数据的开始时间指示,并且所述结束读请求包括所述时间窗信息中用于表示结束驻留所述对应数据的结束时间指示。

6.根据权利要求4所述的重排序缓冲装置,其中所述多个集群中的部分或所有集群发送各自的读请求,并且响应于各自的读请求的时间窗存在重合的时间段,所述重排序缓冲电路配置用于将对应数据的驻留时间延长至时间上相对靠后的时间窗内。

7.根据权利要求1所述的重排序缓冲装置,其中所述重排序缓冲电路配置用于:

8.根据权利要求7所述的重排序缓冲装置,其中所述重排序缓冲电路配置用于:

9.根据权利要求1所述的重排序缓冲装置,其中所述接收电路还配置用于接收用于指示在所述重排序缓冲电路内开始驻留所述对应数据的第三指令,并且响应于接收到所述第三指令,重排序缓冲电路配置用于启动将存储装置的存储地址的对应数据进行驻留操作,以便所述集群通过所述读请求从所述重排序缓冲电路直接读取所述对应数据。

10.根据权利要求5所述的重排序缓冲装置,其中所述接收电路还配置用于接收针对于所述存储地址的写请求,并且所述重排序缓冲电路还配置用于响应于接收到针对于所述存储地址的写请求,自动释放驻留的所述对应数据。

11.根据权利要求10所述的重排序缓冲装置,其中所述写请求和所述读请求接收自相同的集群。

12.根据权利要求10所述的重排序缓冲装置,其中所述写请求和所述读请求接收自执行相同任务的不同集群。

13.根据权利要求9所述的重排序缓冲装置,其中所述第三指令是同步指令,并且所述同步指令的一个域用于指示其作为启动驻留的指令使用。

14.根据权利要求1所述的重排序缓冲装置,其中所述接收电路还配置用于接收用于将所述对应数据驻留于所述重排序缓冲区的第四指令,并且所述重排序缓冲电路还配置用于响应于接收到所述第四指令,将所述对应数据驻留;以及

15.根据权利要求14所述的重排序缓冲装置,其中所述第四指令包含于针对于所述存储装置的io指令中。

16.一种人工智能处理器,包括:

17.根据权利要求16所述的人工智能处理器,其中针对每个祼芯设置有相关联的一个重排序缓冲装置,或者所述多个祼芯共用一个重排序缓冲装置。

18.根据权利要求16或17所述的人工智能处理器,...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1