首页  专利技术  电子电路装置的制造及其应用技术

多层级支持近端原子操作和远端原子操作的方法和装置与流程

2026-05-10 11:20:01 173次浏览
多层级支持近端原子操作和远端原子操作的方法和装置与流程

本说明书实施例涉及原子操作领域,特别地,涉及一种多层级支持近端原子操作和远端原子操作的方法和装置。


背景技术:

1、现有技术在多核系统中采用近端运算和远端运算实现对原子操作指令,近端原子运算部件放在加载存储单元lsu(load store unit),lsu为cpu负责处理访存操作的模块,通常包含一级数据缓存(l1d),远端原子运算部件放在靠近主存侧的一致性从节点csa(coherent slave agent)。当需要执行原子运算的数据缓存在l1d并具有独占修改权限时,执行近端原子运算,lsu锁定该缓存条实现read-moidfy-write操作完成原子运算;当需要修改的数据不在访存单元内的l1d缓存或不具有独占修改权限时,lsu将原子操作请求转化为远端原子运算直接下发到下游缓存系统,在主存侧的一致性维护点csa完成原子运算。

2、在多核系统中,原子操作指令通常被用来构造无锁(lock-free)算法,原子操作修改的数据需要在多个线程之间共享。本地线程用原子操作修改数据后,一般(短时间内)不会再访问该数据,同时期待被原子操作修改后的数据马上被其他线程访问。现有技术中原子操作请求被推送到远端csa执行,会导致在本地一致性域的其他线程要访问上述原子操作操作数据时,必须从目标csa传送最新数据到请求线程,csa在系统一致性域内靠近主存侧,和请求线程所在内核甚至会跨越裸片die(芯片制造中晶圆上一个最小可切割单位,包括了设计完整的单个芯片以及芯片邻近水平和垂直方向上的部分划片槽区域)和安装和连接处理器(cpu)的物理接口socket,这个距离通常较远,访问延迟会加大,造成系统性能下降。

3、因此,现在亟需一种多层级支持近端原子操作和远端原子操作的方法,能够避免了将在本地缓存一致域内的数据推送到远端的csa侧造成多核系统的性能劣化,提高多核系统的性能。


技术实现思路

1、本说明书实施例的目的在于提供一种多层级支持近端原子操作和远端原子操作的方法和装置,以提高多核系统的性能。

2、为达到上述目的,一方面,本说明书实施例提供了一种多层级支持近端原子操作和远端原子操作的方法,包括:

3、lsu接收原子操作请求,lsu判断所述请求的所需数据是否在一级数据缓存中,并且所述一级数据缓存是否有独占修改权限;

4、若均为是,则lsu执行近端原子操作,完成原子操作请求;

5、若存在否,则lsu将所述原子操作请求发送至中间级缓存;

6、中间级缓存接收原子操作请求,中间级缓存判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限;

7、若均为是,则将所述所需数据发送至lsu,所述lsu执行近端原子操作,完成原子操作请求;

8、若存在否,则中间级缓存将所述原子操作请求发送至csa;

9、csa接收原子操作请求,执行远端原子操作,完成原子操作请求后向lsu发送完成信号。

10、优选的,所述中间级缓存包括二级缓存和三级缓存。

11、优选的,所述中间级缓存判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限进一步包括:

12、二级缓存判断所述请求的所需数据是否在二级缓存中,并且所述二级缓存是否有独占修改权限;

13、若均为是,则将所述所需数据发送至lsu,所述lsu执行近端原子操作,完成原子操作请求;

14、若存在否,则二级缓存将所述原子操作请求发送至三级缓存;

15、三级缓存判断所述请求的所需数据是否在三级缓存中,并且所述三级缓存是否有独占修改权限;

16、若均为是,则将所述所需数据发送至二级缓存,所述二级缓存发送至lsu,所述lsu执行近端原子操作,完成原子操作请求;

17、若存在否,则三级缓存将所述原子操作请求发送至csa。

18、优选的,所述中间级缓存判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限进一步包括:

19、中间级缓存通过改进的六个流水级逐步判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限。

20、优选的,所述中间级缓存通过六个流水级逐步判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限进一步包括:

21、第一流水级按照设定规则选中所述请求,送入第二流水级;

22、第二流水级读取中间流水级中缓存条的标签和一致性状态,将得到的缓存条的标签信息和状态信息送入第三流水级;

23、第三流水级将所述请求的请求地址和所述缓存条的标签信息进行匹配,得到匹配结果,所述匹配结果表征所述所需数据是否在中间级缓存的缓存条中;并且判断缓存条的状态信息是否为e态或m态,得到状态结果;将所述匹配结果和状态结果送入第四流水级;

24、第四流水级根据所述匹配结果和状态结果,驱动第五流水级和第六流水级将所述缓存条中所需数据发送至lsu或上一级缓存;或者根据所述匹配结果和状态结果,将所述原子操作请求发送至csa或下一级缓存。

25、优选的,所述第一流水级按照设定规则选中所述请求,送入第二流水级进一步包括:

26、所述第一流水级将所述原子操作请求与其他请求作为全量请求;

27、按照所述全量请求中每一请求到达中间级缓存的先后顺序,以及每一请求的优先级,对全量请求中每一请求进行逐一处理;

28、当处理所述原子操作请求时,将所述原子操作请求送入第二流水级。

29、优选的,所述第四流水级根据所述匹配结果和状态结果,驱动第五流水级和第六流水级将所述缓存条中所需数据发送至上一级缓存;或者根据所述匹配结果和状态结果,将所述原子操作请求发送至csa或下一级缓存进一步包括:

30、当所述匹配结果为匹配成功且状态结果为e态或m态时,驱动所述第五流水级选取所述缓存条中所需数据,将所述所需数据发送至第六流水级;

31、若所述中间级缓存为二级缓存,则所述第六流水级将所述所需数据发送至lsu;

32、若所述中间级缓存为三级缓存,则所述第六流水级将所述所需数据发送至二级缓存,所述二级缓存将所述所需数据发送至lsu;

33、当所述匹配结果为匹配失败或状态结果不为e态且不为m态时,

34、若所述中间级缓存为二级缓存,则将所述原子操作请求发送至三级缓存;

35、若所述中间级缓存为三级缓存,则将所述原子操作请求发送至csa。

36、优选的,还包括:

37、三级缓存的本地一致性域定义缓存条的特殊状态为:所述缓存条仅存在于当前三级缓存中,或者仅存在于当前三级缓存所属本地一致性域内至少一个核的一级数据缓存或二级缓存中。

38、优选的,还包括:

39、lsu接收原子操作请求,将所述原子操作请求发送至三级缓存;

40、三级缓存判断本地一致性域中是否存在某一特殊状态的缓存条,所述原子操作请求的所需数据在该特殊状态的缓存条中;

41、三级缓存选取该特殊状态的缓存条,将该特殊状态的缓存条中所需数据发送至lsu,该特殊状态的缓存条的状态信息为e态或m态;

42、lsu执行近端原子操作,完成原子操作请求。

43、另一方面,本说明书实施例提供了一种多层级支持近端原子操作和远端原子操作的装置,所述装置包括:

44、lsu判断模块,用于lsu接收原子操作请求,lsu判断所述请求的所需数据是否在一级数据缓存中,并且所述一级数据缓存是否有独占修改权限;

45、若均为是,则lsu执行近端原子操作,完成原子操作请求;

46、若存在否,则lsu将所述原子操作请求发送至中间级缓存;

47、中间级缓存判断模块,用于中间级缓存接收原子操作请求,中间级缓存判断所述请求的所需数据是否在中间级缓存中,并且所述中间级缓存是否有独占修改权限;

48、若均为是,则将所述所需数据发送至lsu,所述lsu执行近端原子操作,完成原子操作请求;

49、若存在否,则中间级缓存将所述原子操作请求发送至csa;

50、csa执行模块,用于csa接收原子操作请求,执行远端原子操作,完成原子操作请求后向lsu发送完成信号。

51、又一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行根据上述任意一项所述方法的指令。

52、又一方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。

53、又一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。

54、由以上本说明书实施例提供的技术方案可见,通过本说明书实施例的方法,通过每级缓存的权限检查,确保操作的数据是一致和正确的,避免并发冲突,确保数据的一致性。并通过分层的处理策略确保了即使本地缓存无法处理请求,系统仍能通过远端操作完成任务,提升了系统的鲁棒性和灵活性。还最大化利用本地缓存层级,减少原子操作的延迟,提高整体系统的响应速度,避免了将在本地缓存一致域内的数据推送到远端的csa侧造成多核系统的性能劣化,提高多核系统的性能。

55、为让本说明书的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

文档序号 : 【 40164067 】

技术研发人员:薛大庆
技术所有人:成都群芯微电子科技有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
薛大庆成都群芯微电子科技有限公司
一种电子招标的业务流程的处理方法、系统、介质和设备与流程 一种固态盘地址映射方法、设备及固态盘
相关内容