数据处理方法及装置制造方法及图纸

技术编号:37546059 阅读:15 留言:0更新日期:2023-05-12 16:19
本申请实施例提供一种数据处理方法及装置,应用于多核处理系统,所述方法包括:接收所述缓存设备发出的侦听响应;检查所述侦听响应是否为冲突响应;当所述侦听响应为冲突响应时,通知所述N个缓存设备中的第1缓存设备将第一次处理后的所述目标缓存行数据转发给第2缓存设备;以及直至通知所述第N

【技术实现步骤摘要】
数据处理方法及装置


[0001]本专利技术实施例涉及数据处理领域,具体涉及一种数据处理方法及装置。

技术介绍

[0002]在多核或多处理器系统中,多个缓存(cache)中的每个缓存所存储的数据块都是它们共享的内存中对应地址的数据块的副本。因此在多核或多处理器系统中,缓存一致性既包括每个缓存和内存之间的一致性,也包括多个缓存彼此之间的一致性。也就是说,对于在内存中的同一位置的数据块,不同缓存中与之对应的缓存行(cache line)或数据块不应该有不一致的值。
[0003]当多核或多处理器系统发生缓存一致性冲突时,现有的处理方法会产生较大的时间延迟,进而影响系统的执行效率。因此,如何提供一种缓存一致性冲突的处理方法,以提高多核或多处理器系统的执行效率,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种数据处理方法及装置,用于多核或多处理器系统发生缓存一致性冲突时,本申请实施例提供的数据处理方法及装置能够减少处理延迟以及对网络带宽的占用。
[0005]为实现上述目的,本申请实施例提供如下技术方案。
[0006]第一方面,本专利技术实施例提供一种数据处理方法,应用于多核处理系统,该多核处理系统包括至少两个缓存设备以及负责协调所述至少两个缓存设备的一致性节点,所述方法包括:
[0007]所述一致性节点接收所述缓存设备发出的侦听响应;
[0008]检查所述侦听响应是否为冲突响应,所述冲突响应包括N个缓存设备分别发出对目标缓存行数据的请求,其中N大于等于2;
[0009]当所述侦听响应为冲突响应时,所述一致性节点通知所述N个缓存设备中的第1缓存设备将处理后的目标缓存行数据转发给第2缓存设备;通知所述第2缓存设备接收所述第1缓存设备转发的目标缓存行数据以及将处理后的目标缓存行数据转发给第3缓存设备,以及直至通知第N

1缓存设备将处理后的目标缓存行数据转发给第N缓存设备;
[0010]当所述侦听响应为冲突响应时,所述一致性节点通知所述第N缓存设备等待来自所述第N

1缓存设备的转发数据,以及指定所述第N缓存设备为合并后事件的完成者。
[0011]第二方面,本申请实施例还提供一种数据处理装置,应用于多核处理系统,该多核处理系统包括至少两个缓存设备以及负责协调所述至少两个缓存设备的一致性节点,包括:
[0012]第一接收模块,用于所述一致性节点接收缓存设备发出的侦听响应;
[0013]检测模块,用于检查所述侦听响应是否为冲突响应,所述冲突响应包括N个缓存设备分别发出对目标缓存行数据的请求,其中N大于等于2;
[0014]第一处理模块,用于当所述侦听响应为冲突响应时,所述一致性节点通知所述N个缓存设备中的第1缓存设备将处理后的目标缓存行数据转发给第2缓存设备;通知所述第2缓存设备接收所述第1缓存设备转发的目标缓存行数据以及将处理后的目标缓存行数据转发给第3缓存设备,以及直至通知第N

1缓存设备将处理后的目标缓存行数据转发给第N缓存设备;
[0015]第二处理模块,用于当所述侦听响应为冲突响应时,所述一致性节点通知所述第N缓存设备等待来自所述第N

1缓存设备的转发数据,以及指定所述第N缓存设备为合并后事件的完成者。
[0016]第三方面,本申请实施例还提供一种多核处理系统,包括:
[0017]至少两个缓存设备;
[0018]一致性节点,用于负责协调所述至少两个缓存设备,所述一致性节点被配置为执行所述的数据处理方法。
[0019]可以看出,本专利技术实施例中,通过将针对同一缓存行数据的请求合并成一个事件,可以减少报文的数量,从而减少处理延迟以及对网络带宽、网络功耗的占用,并且也可以减轻对一致性节点资源的消耗。
附图说明
[0020]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0021]图1为一种包含有多个处理器核的处理系统的结构示意图;
[0022]图2为本申请实施例提供的数据处理方法的流程图;
[0023]图3为本申请一实施例提供的数据处理过程中的信息交互示意图;
[0024]图4为本申请另一实施例提供的数据处理过程中的信息交互示意图;
[0025]图5为本申请又一实施例提供的数据处理过程中的信息交互示意图;
[0026]图6为本申请又一实施例提供的数据处理过程中的信息交互示意图;
[0027]图7为本申请又一实施例提供的数据处理过程中的信息交互示意图;
[0028]图8为本申请实施例提供的数据处理装置的结构示意图。
具体实施方式
[0029]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]如
技术介绍
所述,在多核或多处理器系统中,一般包含多级的缓存系统,这是由于处理器的速度比内存系统的速度要快得多,两者之间的速度差异可以超过2个数量级,为了解决处理器速度和内存速度的差异问题,现代处理器中往往包含多级的高速缓存系统,高速缓存访问和运行速度比内存快。例如,图1示例性的示出了一种多核处理系统,该多核处
理系统包含:4个支持同时多线程(SMT)的处理器核200、一级缓存210、二级缓存220以及三级缓存230。其中,一级缓存210通常为每个处理器核200所私有的缓存,一级缓存210可以进一步分为用于存储数据的数据缓存211和用于存储指令的指令缓存213;二级缓存220通常也为每个处理器核200所私有的缓存,但不区分指令和数据;三级缓存230被多个处理器核200共享,例如图示中被4个处理器核200所共享,三级缓存230通常也不区分指令和数据。上述多级缓存系统进一步通过片上网络240连接到内存250。
[0031]缓存被分为多个缓存行(Cache line),每个缓存行可以是64比特(byte)、128比特等,缓存行是数据交换的最小单位。缓存行可以包括数据区以及标志区;数据区可以包括数据字段用于存储数据,标志区可以包括地址字段、状态字段等。地址字段用于指示数据的内存地址。状态字段用于指示数据的一致性状态,也称缓存行的一致性状态。
[0032]在多核处理系统中,同一个数据的多个副本可以同时存在于不同的缓存设备中。若各处理器自由修改其本地的副本,会导致不同处理器对同一个数据观察到的结果不一致,另外处理器对主存的修改也会导致数据的不一致。为解决上述不一致的问题引入一致性协议,例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于多核处理系统,该多核处理系统包括至少两个缓存设备以及负责协调所述至少两个缓存设备的一致性节点,所述方法包括:所述一致性节点接收所述缓存设备发出的侦听响应;检查所述侦听响应是否为冲突响应,所述冲突响应包括N个缓存设备分别发出对目标缓存行数据的请求,其中N大于等于2;当所述侦听响应为冲突响应时,所述一致性节点通知所述N个缓存设备中的第1缓存设备将处理后的目标缓存行数据转发给第2缓存设备;通知所述第2缓存设备接收所述第1缓存设备转发的目标缓存行数据以及将处理后的目标缓存行数据转发给第3缓存设备,以及直至通知第N

1缓存设备将处理后的目标缓存行数据转发给第N缓存设备;当所述侦听响应为冲突响应时,所述一致性节点通知所述第N缓存设备等待来自所述第N

1缓存设备的转发数据,以及指定所述第N缓存设备为合并后事件的完成者。2.根据权利要求1所述的数据处理方法,其特征在于,所述冲突响应为所述N个缓存设备分别发出对所述目标缓存行数据的独占请求,其中,所述独占请求发出的顺序为:第1缓存设备、第2缓存设备、

、第N缓存设备。3.根据权利要求2所述的数据处理方法,其特征在于,所述第1缓存设备、所述第2缓存设备、

、所述第N缓存设备在发出所述独占请求时处于无效状态或共享状态。4.根据权利要求2或3所述的数据处理方法,其特征在于,所述方法还包括:当所述侦听响应为冲突响应时,所述一致性节点通知所述第1缓存设备至所述第N

1缓存设备将各自的状态位标记为转发状态,当转发完成后将所述状态位标记为无效状态。5.根据权利要求1所述的数据处理方法,其特征在于,所述N为2,所述冲突响应为所述第1缓存设备发出对所述目标缓存行数据的写入请求,所述第2缓存设备发出对所述目标缓存行数据的独占请求,且所述第2缓存设备发出的独占请求先于所述第1缓存设备发出的写入请求。6.根据权利要求5所述的数据处理方法,其特征在于,所述第1缓存设备在发出所述写入请求时处于修改状态,所述第2缓存设备在发出所述独占请求时...

【专利技术属性】
技术研发人员:徐帅
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:

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

1