本技术涉及片上网络互联、芯片缓存,例如涉及一种权重可配置的片上网络缓存系统、方法、数据更新方法。
背景技术:
1、在芯片设计领域,随着摩尔定律的推进速度逐渐放缓,多处理器片上系统已成为新的研发焦点。然而,传统的通信模式,如总线或交叉开关,已无法满足多处理器间日益增长的高速、高带宽通信需求。特别是在处理器核心数量不断增加的背景下,通信效率已成为制约多处理器片上系统性能的关键因素。
2、为解决这一问题,借鉴计算机网络数据传输的理念,片上网络技术应运而生,并逐步取代了传统的通信方式。该技术通过构建一个连接多个核心的拓扑结构,并共享缓存资源,从而简化了数据请求流程,显著提升了系统的可扩展性和传输带宽。
3、不过,在片上网络通信中,不同核心的数据请求模式差异显著。一些核心需要频繁访问相同数据,要求缓存具有较强的数据保持能力;而另一些核心则更倾向于快速迭代不同数据,需要缓存能够迅速更新。这两种截然不同的需求在现有的统一缓存管理策略下难以得到妥善平衡,导致缓存命中率低、外存交互频繁以及存储带宽利用率低下。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种权重可配置的片上网络缓存系统、方法、数据更新方法,通过动态配置缓存权重,本方案能够显著提高缓存命中率,降低外存交互频次,从而提升整体系统性能。
3、在一些实施例中,所述系统包括:
4、多个核心,每个核心具有不同的数据处理需求;
5、缓存节点,位于片上网络中心,用于存储数据并最小化数据访问延迟;
6、寄存器系统,与缓存节点相连接,用于持续跟踪命中计数、缺失总数及配置次数;
7、执行逻辑模块,用于根据每个核心的数据请求的类型,确定缓存处理机制,并更新相关缓存行的替换优先级,所述缓存处理机制包括缓存替换和旁路策略。
8、可选地,所述执行逻辑模块被配置为:
9、在缓存缺失时,若请求来自对数据迭代要求高的核心,系统优先采用旁路机制,直接从外存读取数据,保持缓存内数据不变;若请求来自需要保持数据的核心,系统优先采用缓存替换机制,从外存读取新数据的同时更新缓存内容;
10、在缓存命中时,根据请求核心的数据迭代或保持需求,动态调整缓存行的替换优先级。
11、可选地,缓存组包括多个缓存行,每一个缓存行均包含:
12、有效位,用于表示该缓存行的数据是否有效;
13、标识位,用于与接收到的数据请求信号比对,判断缓存是否命中;
14、数据位,为访存所需的具体数据;
15、缺失计数,为统计缓存缺失的次数。
16、在一些实施例中,所述数据更新方法,应用于前述的权重可配置的片上网络缓存系统,所述方法包括,
17、缓存节点初始化操作:通过分析不同核心的不同数据请求类型,将对应的config_data写入每一个缓存行中以coreid为地址的寄存器表格中;
18、访存逻辑判断:通过对应的cache_line中的tag信号判断访存缺失还是访存命中;
19、在访存缺失的情况下,将所有缓存行内的miss_counter 都加1;
20、在访存命中的情况下,根据输入的访存coreid,更新每一个缓存行中以coreid为地址的寄存器表格;
21、重新进行所述访存逻辑判断过程。
22、可选地,所述更新每一个缓存行中以coreid为地址的寄存器表格,步骤包括:
23、定位缓存行:根据coreid找到对应的缓存行,coreid作为寄存器表格的地址或索引;
24、更新命中计数:在缓存行的寄存器表格中,找到命中计数寄存器hit_counter,并将其值增加1;
25、更新命中总和:找到命中总和寄存器hit_sum,将缺失计数miss_counter的当前值加到命中总和hit_sum的值上;
26、重置缺失计数:将同一缓存行中的缺失计数寄存器miss_counter置零。
27、在一些实施例中,所述权重可配置的片上网络缓存方法,应用于前述的权重可配置的片上网络缓存系统,所述方法包括:
28、接收来自核心的数据请求信息;
29、根据该信息中的内存地址的tag位信号,判断访存请求是否命中缓存;
30、根据缓存的命中结果,确定缓存处理机制;
31、重复上述步骤,实现对片上网络缓存的动态管理和优化。
32、可选地,当访存请求命中缓存时,执行以下步骤:
33、访问命中的缓存行数据作为输出;
34、访问与请求coreid相关联的hit_counter、hit_sum和config_data寄存器,其中config_data寄存器存储每个核心能够允许的最低访存缺失次数;
35、根据hit_counter、hit_sum、config_data以及实时计算的访存缺失次数,通过第一预设公式计算并赋予命中的缓存行新的替换优先级。
36、可选地,所述第一预设公式为:
37、
38、其中,表示实时计算的访存缺失次数。
39、可选地,当访存请求未命中缓存时,执行以下步骤:
40、比较对应缓存组中最高替换优先级缓存行的miss_counter与阈值的大小;
41、若miss_counter小于阈值,则选择缓存旁路方式直接从外存中提取数据;
42、若miss_counter大于或等于阈值,则执行缓存替换操作;
43、在执行缓存替换操作时,
44、如果缓存中存在空闲的缓存行,即从外存中提取的数据直接插入空闲的缓存行;
45、如果缓存中没有空闲的缓存行,则在插入数据之前,先逐出具有最高替换优先级的缓存行,然后将从外存中提取的数据插入逐出的缓存行,并赋予该缓存行新的替换优先级,新的替换优先级的值通过第一预设公式计算并赋予。
46、可选地,所述阈值为根据对应coreid从寄存器表格中提取的hit_counter、hit_sum、config_data及第二预设公式计算得到,
47、所述第二预设公式为:
48、。
49、本公开实施例提供的权重可配置的片上网络缓存系统、方法、数据更新方法,可以实现以下技术效果:
50、本公开针对不同的核心数据请求特点,配置不同的缓存读取/写入/替换权重,使得缓存针对不同核心的请求具有不同的数据保持/数据迭代机制,有效地提高了缓存数据命中率。
51、通过本方案,使得缓存的数据替换/保持选择与核心的具体需求关联,有效地提高了片上网络系统中缓存对多核心数据请求类型的处理能力。
52、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。
1.一种权重可配置的片上网络的缓存系统,其特征在于,包括:
2.根据权利要求1所述的系统,其特征在于,所述执行逻辑模块被配置为:
3.根据权利要求2所述的系统,其特征在于,缓存组包括多个缓存行,每一个缓存行均包含:
4.一种数据更新方法,其特征在于,应用于如权利要求1至3任一项所述的权重可配置的片上网络缓存系统,所述方法包括,
5.根据权利要求4所述的方法,其特征在于,所述更新每一个缓存行中以coreid为地址的寄存器表格,步骤包括:
6.一种权重可配置的片上网络缓存方法,其特征在于,应用于如权利要求1至3任一项所述的权重可配置的片上网络缓存系统,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,当访存请求命中缓存时,执行以下步骤:
8.根据权利要求7所述的方法,其特征在于,所述第一预设公式为:
9.根据权利要求8所述的方法,其特征在于,当访存请求未命中缓存时,执行以下步骤:
10.根据权利要求9所述的方法,其特征在于,所述阈值为根据对应coreid从寄存器表格中提取的hit_counter、hit_sum、config_data及第二预设公式计算得到,