System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 流水线中的数据处理方法、设备、介质及程序产品技术_技高网

流水线中的数据处理方法、设备、介质及程序产品技术

技术编号:45094211 阅读:6 留言:0更新日期:2025-04-25 18:31
本申请涉及处理器技术领域,公开了一种流水线中的数据处理方法、设备、介质及程序产品,所述方法包括:在待执行标识表征当前具备待处理数据的情况下,对比屏障校验符和状态校验符当前的校验值,并在屏障校验符和状态校验符当前的校验值不一致的情况下,执行待处理数据;在所述待处理数据执行完毕后,向相邻的下一条流水线发送传递指令,并更新所述执行状态实例中的阶段标识,以进入下一数据处理阶段,其中,所述传递指令用于引导所述下一条流水线更新自身的内存屏障实例中的待执行标识。本申请一个或多个实施方式提供的技术方案,能够提高硬件资源的利用率。

【技术实现步骤摘要】

本申请涉及处理器,尤其涉及一种流水线中的数据处理方法、设备、介质及程序产品


技术介绍

1、在处理器的并行计算领域中,为了提高硬件资源的利用率,可以采用双缓冲机制(double buffer),重排不同流水线(pipeline)中各个阶段的指令,让不同流水线的数据计算指令和数据存储指令在时序上重叠,从而尽可能地让不同流水线上的数据计算指令轮流占用硬件资源,以提高硬件资源的利用率。

2、相关技术中为了实现上述的双缓冲机制,通常需要对业务代码进行改造,以适应双缓冲机制下的指令交替处理过程。然而,编译器在对改造后的业务代码进行编译时,可能会导致指令被乱序执行,从而无法达到预期的效果,使得硬件资源的利用率依然不够高。

3、鉴于此,目前需要一种更加高效的流水线数据处理方法,以提高硬件资源的利用率。


技术实现思路

1、本申请提供一种流水线中的数据处理方法、设备、介质及程序产品,能够提高硬件资源的利用率。

2、本申请第一方面提供一种流水线中的数据处理方法,所述流水线配置有内存屏障实例和执行状态实例,所述内存屏障实例中包括待执行标识和屏障校验符,所述执行状态实例中包括阶段标识和状态校验符;所述方法包括:在所述待执行标识表征当前具备待处理数据的情况下,对比所述屏障校验符和所述状态校验符当前的校验值,并在所述屏障校验符和所述状态校验符当前的校验值不一致的情况下,执行所述待处理数据;在所述待处理数据执行完毕后,向相邻的下一条流水线发送传递指令,并更新所述执行状态实例中的阶段标识,以进入下一数据处理阶段,其中,所述传递指令用于引导所述下一条流水线更新自身的内存屏障实例中的待执行标识。

3、本实施方式提供的技术方案,可以为参与工作的每条流水线都配置各自的内存屏障实例和执行状态实例,这两个实例中都包含各自的成员参数。其中,对于任意一条流水线而言,只有在屏障校验符和状态校验符这两者的校验值不一致的情况下,才会执行待处理数据。在执行完待处理数据后,当前的流水线会向相邻的下一条流水线发送传递指令,并会进入下一数据处理阶段。下一条流水线根据传递指令,可以更新自身的内存屏障实例中的待执行标识,后续便可以基于更新后的待执行标识判断当前是否具备待处理数据。可见,流水线在执行待处理数据之前,都会进行屏障校验符和状态校验符的比对过程,只有满足条件的流水线才能够执行待处理数据。这样的处理方式可以避免指令的乱序执行,确保业务代码能够按照既定的逻辑运行。同时,流水线在执行完待处理数据后,会将数据处理流程传递至相邻的下一条流水线,以确保各条流水线能够交替地利用硬件资源进行数据处理,这样的方式能够精准、稳定地在不同流水线之间进行硬件资源的轮换,从而极大地提高了硬件资源的利用率。

4、在一个实施方式中,各条流水线在初始化时,各个所述内存屏障实例中的屏障校验符均被配置为第一指定数值,各个所述执行状态实例中仅有一个执行状态实例的状态校验符被配置为第二指定数值,其余执行状态实例的状态校验符均被配置为所述第一指定数值,其中,所述第一指定数值和所述第二指定数值为不同的数值。

5、在本实施方式中,各条流水线的内存屏障实例和执行状态实例中的成员参数都可以进行初始化配置。其中,仅有一个执行状态实例的状态校验符会被配置为第二指定数值,其余执行状态实例的状态校验符均会被配置为与屏障校验符相同的第一指定数值。这样,在同一时段,只有一条流水线会满足屏障校验符和状态校验符这两者的校验值不一致的条件,满足这一条件的流水线会进入数据处理流程。这样,针对同一份硬件资源,同一时段只有一条流水线会占用该硬件资源,并且该流水线在执行完待处理数据后,会通过传递指令,将该硬件资源轮换至相邻的下一条流水线。这种处理方式能够有序地将硬件资源在不同的流水线中进行轮换,同时可以避免不同的流水线在同一时段互相抢占硬件资源的情况,提高了数据处理的稳定性。

6、在一个实施方式中,所述方法还包括:若所述待执行标识表征当前不具备待处理数据,重置所述待执行标识的赋值,并将所述屏障校验符的当前赋值翻转为另一不同的数值,其中,重置赋值后的待执行标识表征当前具备待处理数据。

7、在本实施方式中,如果待执行标识表征当前不具备待处理数据,就需要重置待执行标识,并将屏障校验符进行数值翻转,这样处理的目的在于,重置后的待执行标识可以表征当前具备待处理数据,从而可以进行后续的屏障校验符和状态校验符这两者的校验值比对过程;而通过将屏障校验符进行数值翻转,可以确保同一时段只有一个流水线会满足数据处理的条件,进而能够稳定地将硬件资源进行轮换。

8、在一个实施方式中,向相邻的下一条流水线发送传递指令包括:识别当前流水线的流水线标识,并对所述流水线标识进行递增更新;获取当前参与工作的流水线的总数量,并利用递增更新后的流水线标识对所述总数量进行取余处理,得到相邻的下一条流水线的目标标识;向具备所述目标标识的流水线发送传递指令。

9、在本实施方式中,通过取余算法可以准确地确定下一条流水线的目标标识,基于该目标标识可以准确发送传递指令,进而保证了数据处理的准确性和稳定性。

10、在一个实施方式中,向相邻的下一条流水线发送传递指令包括:识别所述阶段标识当前表征的数据处理阶段,并针对所述下一条流水线中相同的数据处理阶段发送传递指令。

11、在本实施方式中,由于流水线中通常会包含多个不同的数据处理阶段,那么当前的流水线在当前的数据处理阶段完成数据处理后,应当向下一条流水线相同的数据处理阶段发送传递指令,这样可以确保相同的数据处理阶段之间能够来回发送传递指令,不会导致数据处理阶段的紊乱,提高了数据处理的正确性和稳定性。

12、在一个实施方式中,在更新所述执行状态实例中的阶段标识之后,所述方法还包括:判断更新后的阶段标识是否表征下一数据处理阶段回归至初始阶段,若否,在进入所述下一数据处理阶段后,保留所述更新后的阶段标识,并维持所述状态校验符的数值不变;若是,在回归至初始阶段后,重置所述阶段标识,并将所述状态校验符的当前赋值翻转为另一不同的数值。

13、在本实施方式中,当最后一个数据处理阶段完成数据处理后,流程会回归至初始阶段。而当回归至初始阶段时,需要重置阶段标识,这样才能确保阶段标识与实际的数据处理阶段时对应一致的。同时,还需要将状态校验符进行数值翻转,可以确保同一时段只有一个流水线会满足数据处理的条件,进而能够稳定地将硬件资源进行轮换。

14、在一个实施方式中,所述方法还包括:在所述屏障校验符和所述状态校验符当前的校验值一致的情况下,保持等待状态,直至所述屏障校验符和所述状态校验符的校验值变更为不一致后,执行所述待处理数据。

15、在本实施方式中,如果屏障校验符和状态校验符这两者的校验值一致,那么当前的流水线就不能进行数据处理,而是需要保持等待状态。这样可以确保同一时段内,只有一条流水线对硬件资源进行占用,其余流水线可以处于等待状态,从而有序地将硬件资源在不同的流水线中进行轮本文档来自技高网...

【技术保护点】

1.一种流水线中的数据处理方法,其特征在于,所述流水线配置有内存屏障实例和执行状态实例,所述内存屏障实例中包括待执行标识和屏障校验符,所述执行状态实例中包括阶段标识和状态校验符;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,各条流水线在初始化时,各个所述内存屏障实例中的屏障校验符均被配置为第一指定数值,各个所述执行状态实例中仅有一个执行状态实例的状态校验符被配置为第二指定数值,其余执行状态实例的状态校验符均被配置为所述第一指定数值,其中,所述第一指定数值和所述第二指定数值为不同的数值。

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

4.根据权利要求1所述的方法,其特征在于,向相邻的下一条流水线发送传递指令包括:

5.根据权利要求1或4所述的方法,其特征在于,向相邻的下一条流水线发送传递指令包括:

6.根据权利要求1或3所述的方法,其特征在于,在更新所述执行状态实例中的阶段标识之后,所述方法还包括:

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

8.一种流水线中的数据处理设备,其特征在于,所述流水线配置有内存屏障实例和执行状态实例,所述内存屏障实例中包括待执行标识和屏障校验符,所述执行状态实例中包括阶段标识和状态校验符;所述设备包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储了计算机指令,其特征在于,所述计算机指令在被处理器执行时,使得所述处理器执行根据权利要求1-7中任一项所述的方法。

11.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令在被处理器执行时,使得所述处理器执行根据权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种流水线中的数据处理方法,其特征在于,所述流水线配置有内存屏障实例和执行状态实例,所述内存屏障实例中包括待执行标识和屏障校验符,所述执行状态实例中包括阶段标识和状态校验符;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,各条流水线在初始化时,各个所述内存屏障实例中的屏障校验符均被配置为第一指定数值,各个所述执行状态实例中仅有一个执行状态实例的状态校验符被配置为第二指定数值,其余执行状态实例的状态校验符均被配置为所述第一指定数值,其中,所述第一指定数值和所述第二指定数值为不同的数值。

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

4.根据权利要求1所述的方法,其特征在于,向相邻的下一条流水线发送传递指令包括:

5.根据权利要求1或4所述的方法,其特征在于,向相邻的下一条流水线发送传递指令包...

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

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

1