System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及高速互联,具体而言,本申请涉及一种高速串行接口中适配层带宽配置方法及系统。
技术介绍
1、ucie(universal chiplet interconnect express,通用芯粒互联标准)是高速互联领域当前最快速的解决方案,adapter layer(适配层)是其三层结构的中间层。adapterlayer需要实现fdi(flit-aware d2d interface,协议层和适配层之间的传输接口)接口到rdi(raw d2d interface,适配层和物理层之间的传输接口)接口的转换,并将数据传输到对端。使用场景中存在一些低带宽的协议层,如果每个低带宽的协议层都单独使用1个adapter layer则造成巨大的带宽浪费。为了提高带宽利用率,当前ucie的adapter layer支持同时接入两个协议栈,且每个协议栈支持同时接入两个子协议栈。
2、进一步,在接入多个协议栈和子协议栈后,存在以下场景:特定协议栈的特定子协议栈有时需要使用全部带宽,特定协议栈的两个子协议栈有时需要使用全部带宽,不同协议栈需要先后使用全部带宽,不同协议栈需要根据特定比重交替使用全部带宽。目前,业界尚无适用上述场景的适配层带宽配置方案。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
2、一方面,本申请实施例提供了一种高速串行接口中适配层带宽配置方法,包括:
3、基于适配层的各协议栈对应的各子协议栈的
4、基于各协议栈的状态机的状态获取适配层的目标状态,并基于适配层的目标状态进行状态切换;
5、在完成状态切换后进行数据发送时,通过适配层基于预设带宽配置模式向各子协议栈发送反压信号,为各协议栈或子协议栈进行适配层带宽配置。
6、在本申请的一种可选实施例中,适配层对应于两个协议栈,且每个协议栈对应两个子协议栈。
7、在本申请的一种可选实施例中,基于适配层的各协议栈对应的各子协议栈的虚拟状态机的状态,获取各协议栈的状态机的状态,包括:
8、对于每一协议栈,若协议栈对应的两个子协议栈都启动,则通过仲裁器/复用器基于两个子协议栈的虚拟状态机的状态和第一状态判别表确定协议栈的状态机的状态;
9、若协议栈对应的两个子协议栈仅有一个子协议栈启动,则通过仲裁器/复用器将启动的子协议栈的虚拟状态机的状态直接作为协议栈的状态机的状态。
10、在本申请的一种可选实施例中,通过仲裁器/复用器将启动的子协议栈的虚拟状态机的状态直接作为协议栈的状态机的状态,包括:
11、在仲裁器/复用器的支持旁路功能检测到第一预设寄存器中两个子协议栈中一个子协议栈的旁路使能控制信号置位,且另一个子协议栈的旁路使能控制信号未置位,则将旁路使能控制信号置位的子协议栈的虚拟状态机的状态直接作为协议栈的状态机的状态。
12、在本申请的一种可选实施例中,基于各协议栈的状态机的状态获取适配层的目标状态,包括:
13、若两个协议栈都启动,则通过栈复用器基于两个协议栈的状态机的状态和第二状态判别表确定目标状态;
14、若两个协议栈中仅有一个协议栈启动,则通过栈复用器将启动的协议栈的状态机的状态直接作为目标状态。
15、在本申请的一种可选实施例中,通过栈复用器将启动的协议栈的状态机的状态直接作为目标状态,包括:
16、在栈复用器的支持旁路功能检测到第二预设寄存器中两个协议栈中一个协议栈的旁路使能控制信号置位,且另一个协议栈的旁路使能控制信号未置位,则将旁路使能控制信号置位的协议栈的状态机的状态直接作为目标状态。
17、在本申请的一种可选实施例中,通过适配层基于预设带宽配置模式向各子协议栈发送反压信号,为各协议栈或子协议栈进行适配层带宽配置,包括:
18、若预设带宽配置模式为各子协议栈先后使用适配层的全部带宽,在轮询到任一子协议栈时,对任一子协议栈数据包进行发送直至检测到任一子协议栈无数据包供发送,且在发送数据包过程中,将任一子协议栈的反压信号置为高电平,并将其他子协议栈的反压信号置为低电平;
19、若预设带宽配置模式为各子协议栈交替使用适配层的全部带宽,在同一个发送周期内对各子协议栈按数据包进行乒乓操作以发送各子协议栈的数据包,且在轮询到任一子协议栈时,将任一子协议栈的反压信号置为高电平,将其他子协议栈的反压信号置为低电平。
20、在本申请的一种可选实施例中,若预设带宽配置模式为各子协议栈交替使用适配层的全部带宽,该方法还包括:
21、在乒乓操作过程中,若轮询到任一子协议栈且任一子协议栈没有数据包供发送,则插入无操作数据包。
22、在本申请的一种可选实施例中,若预设带宽配置模式为各子协议栈交替使用适配层的全部带宽,该方法还包括:
23、在乒乓操作过程中,禁用轮询到的任一子协议栈的奇数次周期或偶数次周期。
24、第二方面,本申请实施例提供了一种高速串行接口中适配层带宽配置系统,包括:
25、第一状态确定模块,用于基于适配层的各协议栈对应的各子协议栈的虚拟状态机的状态,获取各协议栈的状态机的状态;
26、第二状态确定模块,用于基于各协议栈的状态机的状态获取适配层的目标状态,并基于适配层的目标状态进行状态切换;
27、带宽配置模块,用于在完成状态切换后进行数据发送时,通过适配层基于预设带宽配置模式向各子协议栈发送反压信号,为各协议栈或子协议栈进行带宽配置。
28、在本申请的一种可选实施例中,适配层对应于两个协议栈,且每个协议栈对应两个子协议栈。
29、在本申请的一种可选实施例中,第一状态确定模块具体用于:
30、对于每一协议栈,若协议栈对应的两个子协议栈都启动,则通过仲裁器/复用器基于两个子协议栈的虚拟状态机的状态和第一状态判别表确定协议栈的状态机的状态;
31、若协议栈对应的两个子协议栈仅有一个子协议栈启动,则通过仲裁器/复用器将启动的子协议栈的虚拟状态机的状态直接作为协议栈的状态机的状态。
32、在本申请的一种可选实施例中,第一状态确定模块进一步用于:
33、在仲裁器/复用器的支持旁路功能检测到第一预设寄存器中两个子协议栈中一个子协议栈的旁路使能控制信号置位,且另一个子协议栈的旁路使能控制信号未置位,则将旁路使能控制信号置位的子协议栈的虚拟状态机的状态直接作为协议栈的状态机的状态。
34、在本申请的一种可选实施例中,第二状态确定模块具体用于:
35、若两个协议栈都启动,则通过栈复用器基于两个协议栈的状态机的状态和第二状态判别表确定目标状态;
36、若两个协议栈中仅有一个协议栈启动,则通过栈复用器将启动的协议栈的状态机的状态直接作为目标状态。
37、本文档来自技高网...
【技术保护点】
1.一种高速串行接口中适配层带宽配置方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述适配层对应于两个协议栈,且每个协议栈对应两个子协议栈。
3.根据权利要求2所述的方法,其特征在于,所述基于适配层的各协议栈对应的各子协议栈的虚拟状态机的状态,获取各协议栈的状态机的状态,包括:
4.根据权利要求3所述的方法,其特征在于,所述通过所述仲裁器/复用器将启动的子协议栈的虚拟状态机的状态直接作为所述协议栈的状态机的状态,包括:
5.根据权利要求2所述的方法,其特征在于,所述基于各协议栈的状态机的状态获取所述适配层的目标状态,包括:
6.根据权利要求5所述的方法,其特征在于,所述通过栈复用器将启动的协议栈的状态机的状态直接作为所述目标状态,包括:
7.根据权利要求1或2所述的方法,其特征在于,所述通过所述适配层基于预设带宽配置模式向各子协议栈发送反压信号,为各协议栈或子协议栈进行适配层带宽配置,包括:
8.根据权利要求7所述的方法,其特征在于,若所述预设带宽配置模式为各子协议栈交替使用
9.根据权利要求7所述的方法,其特征在于,若所述预设带宽配置模式为各子协议栈交替使用所述适配层的全部带宽,所述方法还包括:
10.一种高速串行接口中适配层带宽配置系统,其特征在于,包括:
...【技术特征摘要】
1.一种高速串行接口中适配层带宽配置方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述适配层对应于两个协议栈,且每个协议栈对应两个子协议栈。
3.根据权利要求2所述的方法,其特征在于,所述基于适配层的各协议栈对应的各子协议栈的虚拟状态机的状态,获取各协议栈的状态机的状态,包括:
4.根据权利要求3所述的方法,其特征在于,所述通过所述仲裁器/复用器将启动的子协议栈的虚拟状态机的状态直接作为所述协议栈的状态机的状态,包括:
5.根据权利要求2所述的方法,其特征在于,所述基于各协议栈的状态机的状态获取所述适配层的目标状态,包括:
6.根据权...
【专利技术属性】
技术研发人员:李兵,王晓阳,何亚军,
申请(专利权)人:上海奎芯集成电路设计有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。