本发明属于集成电路,尤其涉及一种chiplet芯片内的网络互连方法。
背景技术:
1、随着半导体技术的快速发展,单块芯片的集成度和处理能力已经达到了极限。为了进一步提升芯片的性能和功能,芯片设计者开始采用chiplet(芯片片段)的设计方法。chiplet是一种新型的芯片设计和制造方式,它将不同功能的芯片片段(例如处理器核心、内存、输入输出接口等)集成在一块基板上,通过高速互连网络进行数据和信号的传输。
2、在chiplet芯片的设计和应用中,网络互连是一个关键的技术问题。由于chiplet之间的互连网络复杂,数据的传输和调度需要高效和可靠。传统的芯片内网络互连方法主要包括总线、交叉开关、网络-on-chip(noc)等。然而,这些方法在处理大规模、高速的数据传输时,可能会面临延迟、带宽利用率低、能耗高等问题。
3、为了解决这些问题,研究者提出了各种优化网络互连的方法。然而,这些方法往往需要复杂的计算和调度,且难以同时满足高效率、高可靠性和低能耗的需求。另外在实际应用中,由于各种原因,例如处理速度慢、接口拥堵等,某些chiplet可能无法及时处理接收到的数据,导致数据的延迟和丢失,影响整个芯片系统的性能和稳定性。
4、因此,如何有效地处理超时chiplet,优化网络互连的效率和可靠性,是当前chiplet芯片设计和应用中亟待解决的技术问题。
技术实现思路
1、针对上述现有技术中存在的缺陷,本发明提供一种chiplet芯片内的网络互连方法,所述方法包括以下步骤:
2、当网络互连管理模块监测到出现超时chiplet,所述网络互连管理模块开启延迟触发机制,进入调度模式;
3、所述网络互连管理模块获取当前发送chiplet需要向超时chiplet发送的所有数据包;
4、所述网络互连管理模块筛选出小于预设大小阈值的数据包;
5、所述网络互连管理模块对筛选的所有所述数据包进行评分;
6、根据所述数据包的评分和预设的评分阈值,网络互连管理模块确定将数据包分发到对应的中转chiplet中,其中每个数据包根据其评分被分配到一个指定的中转chiplet;
7、确定分配的中转chiplet后,网络互连管理模块通知所有相关的发送chiplet,将这些数据包发送至被确定的中转chiplet;
8、以及,网络互连管理模块会根据评分区间确定数据聚合度,以及确定网络编码的冗余度;
9、在收到网络互连管理模块的数据聚合度和网络编码的冗余度的参数指示后,中转chiplet根据指示的数据聚合度和网络编码的冗余度对接收的发送chiplet的小数据包进行网络编码;中转chiplet将网络编码后的数据包发送给超时chiplet。
10、其中,中转chiplet进行网络编码时选择异或xor运算作为从发送chiplet接收的多个数据包的编码操作。
11、其中,网络互连管理模块负责监测和管理chiplet之间的数据传输;
12、网络互连管理模块持续监测所有chiplet的数据传输状态,通过在每个chiplet和管理模块之间建立一个反馈循环来实现;
13、在这个反馈循环中,每个chiplet都会定期向管理模块发送其当前的数据包传输状态,所述数据包传输状态中包括每个数据包的元信息;
14、所述数据包的元信息包括来源chiplet、目标chiplet、数据包的大小;
15、网络互连管理模块根据所有数据包的源信息来确定每个chiplet是否为超时chiplet。
16、其中,网络互连管理模块根据所有数据包的源信息来确定每个chiplet是否为超时chiplet,包括定义:
17、p:chiplet已经处理的数据包集合;
18、k:所有等待发送或正在发送的数据包集合;
19、m_i:包含所述目标chiplet的第i个待发送数据包的大小;
20、对于每一个目标chiplet,将包含所述目标chiplet的第i个待发送数据包的大小m_i叠加,得到待处理数据总量sum(m_i);
21、将每一个chiplet对应的信息里找到已经处理的数据包,叠加各个数据包的数据包大小获得该chiplet已处理数据总量processed_data;
22、对于每一个chiplet,确定其为超时chiplet包括,结合待处理和已处理的数据总量,得到sum_weighted:
23、,其中w是权重;
24、如果sum_weighted超过了一个预设的阈值,网络互连管理模块就判断对应的chiplet是超时chiplet。
25、其中,网络互连管理模块根据网络的整体状态来决定是否需要进入调度模式,包括:
26、网络互连管理模块检测到网络中存在超时chiplet决定进入调度模式;
27、在调度模式中,网络互连管理模块会选择与超时chiplet的布线距离短且剩余存储资源和通信资源足够的chiplet作为中转chiplet;
28、当超时chiplet的等待数据包传输完毕时,网络互连管理模块决定退出调度模式,恢复正常的数据传输模式。
29、其中,在确定了超时的chiplet后,网络互连管理模块需要对所有向该超时chiplet等待发送的数据包进行筛选,对小于阈值的等待发送的数据包进行评分,以评估所述数据包的优先处理程度,包括使用如下公式计算每个小于阈值的等待发送的数据包的评分score:
30、,
31、其中,
32、ls是延迟敏感性,设定为[0,1],值越大表示越敏感;
33、pl是业务优先级,设定为[0,1],值越大表示优先级越高;
34、wt_norm是归一化的数据包等待时间;
35、ps_norm是归一化的数据包大小;
36、a,b,c,d是可调整的参数,分别表示延迟敏感性、业务优先级、归一化的数据包等待时间和归一化的数据包大小在计算评分时的权重;
37、k是控制函数的斜率的参数;
38、x0是控制函数的中心点的参数。
39、其中,网络互连管理模块选择与超时chiplet的布线距离短且剩余存储资源和通信资源足够的chiplet作为中转chiplet,包括以下过程:
40、对chiplet进行筛选,确定出剩余存储资源和剩余通信资源满足两个参数均大于设定阈值条件的chiplet作为中转chiplet,所述chiplet不能是超时chiple。
41、其中,计算所有chiplet的评分chiplet_score,设定评分公式如下:
42、,
43、其中,storage是chiplet的剩余存储资源,communication是chiplet的剩余通信资源,distance是chiplet与超时chiplet的布线距离,a、b和c是可调整的参数,表示存储资源、通信资源和布线距离在计算评分时的权重;
44、选择评分最高的三个chiplet作为中转chiplet。
45、其中,如果score<0.25,选择评分最低的chiplet作为中转chiplet;
46、如果0.25<=score<0.75,选择评分在第二的chiplet作为中转chiplet;
47、如果score>=0.75,选择评分最高的chiplet作为中转chiplet。
48、其中,确定了中转chiplet后,网络互连管理模块需要通知所有相关的发送chiplet将数据包发送至被确定的中转chiplet,包括以下过程:
49、网络互连管理模块确定与各个发送chiplet建立通信,网络互连管理模块将中转chiplet的信息以及数据包的信息打包成一个指令,然后发送给各个发送chiplet;
50、指令包括中转chiplet的标识符用于唯一标识中转chiplet的信息;
51、数据包的标识符用来唯一标识数据包的信息;
52、所述发送chiplet收到网络互连管理模块的指令后,需要解析指令,获取中转chiplet的标识符以及数据包的标识符;
53、发送chiplet根据指令中的信息,将数据包发送至中转chiplet;
54、当发送chiplet内有多个对超时chiplet等待发送的数据包时,所述指令中还可以包含对所述多个数据包的调度顺序,所述调度顺序按照优先发送score高的数据包的规则进行调度。
55、其中,所述至少一个中转chiplet使用的网络编码的冗余度对应为最大化的优化函数的对应冗余度结果,所述优化函数的目标函数所有中转chiplet的网络编码参数以及可靠性增益和延迟减益之差。
56、其中,网络互连管理模块确定网络编码的冗余度,确定网络编码冗余度的过程需要优化一个目标函数,所述目标函数考虑了所有中转chiplet的网络编码参数以及可靠性增益和延迟减益之差,包括:
57、假设确定有n个中转chiplet,第i个chiplet表示为chiplet_i,每个中转chiplet_i的网络编码参数记为p_i,可靠性增益记为r_i,延迟减益记为d_i;
58、所述优化过程的目标是找到一组网络编码参数{p_1,p_2,...,p_n},使得目标函数f最大,其中f为所有中转chiplet的可靠性增益和延迟减益之差的总和;
59、目标函数可表示为:f=σ[i=1ton](r_i-d_i);
60、为了找到每个中转chiplet的网络编码冗余度,需要最大化所述目标函数,即:
61、maximize f=σ[i=1ton](r_i-d_i);
62、此外,所述优化过程需要满足以下限制条件:
63、0<=p_i<=1,i=1,2,...,n;
64、r_i>=r_min,i=1,2,...,n;
65、d_i<=d_max,i=1,2,...,n;
66、其中,r_min和d_max分别为设定的最小的可靠性增益和最大的延迟减益。
67、本发明通过网络互连管理模块对数据包进行筛选、评分和分发,以及对中转chiplet进行编码和调度,实现了对超时chiplet的有效处理,减少超时chiplet对整个系统性能的影响,提高数据传输的效率和可靠性。此外本发明通过网络编码冗余度的优化方法,可以进一步提高数据传输的效率和可靠性。以及通过优化每个中转chiplet的网络编码参数,可以最大化每个中转chiplet的可靠性增益和延迟减益之差,从而提高整个系统的性能。