一种交叉开关及其创建方法、IP核与流程

文档序号:17773573发布日期:2019-05-28 19:44阅读:350来源:国知局
一种交叉开关及其创建方法、IP核与流程

本发明涉及计算机技术领域,特别涉及一种交叉开关及其创建方法、ip核。



背景技术:

当前,随着信息技术的飞速发展,计算需求呈指数增长。为此,多核、多处理器级的并行计算得到了广泛应用。然而,随之带来的问题是核间报文量随系统规模增大呈指数增加。处理器核间片上互连需要大量的报文交互。因此,核间互联交叉开关的报文转发效率成为影响系统性能提升的关键。

综上所述可以看出,如何提高核间互联交叉开关的报文转发效率是目前有待解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种交叉开关及其创建方法、ip核,能够有效提高核间互联交叉开关的报文转发效率,降低网络延迟。其具体方案如下:

第一方面,本申请公开了一种交叉开关,包括基于瓦片式设计原理对高阶非对称交叉开关进行分解后得到的多个子交叉开关;每一子交叉开关包括输入队列、输出队列、交换矩阵和输出仲裁器;其中,所述输入队列中设有信道仲裁器;并且,所述信道仲裁器和所述输出仲裁器均为基于结果的轮询仲裁器;所述信道仲裁器,用于对虚拟信道进行仲裁;所述输出仲裁器,用于根据自身的仲裁结果,并通过输出端口对所述输入队列的输入报文进行选择性输出。

可选的,所述输入队列还用于对输入报文进行路由解析、报文头尾解析以及缓存。

可选的,每一子交叉开关还包括检查配置模块,用于检查输入报文的虚拟信道号和报文完整性,并将得到的检查结果保存至错误寄存器。

可选的,所述输出队列还用于对输出报文是否出现错误进行检查,并将得到的检查结果传输至所述检查配置模块。

可选的,所述交换矩阵用于实现所述输入队列和所述输出队列之间的shuffle网络互联。

第二方面,本申请公开了一种交叉开关创建方法,包括:

基于瓦片式设计原理对高阶非对称交叉开关进行分解,得到包含多个子交叉开关的目标交叉开关;其中,每一子交叉开关包括输入队列、输出队列、交换矩阵和输出仲裁器,并且所述输入队列中设有信道仲裁器;

通过分析核间cache一致性协议报文的传输特点,并结合轮询的路由交换原理,将基于结果的轮询仲裁机制引入至每一子交叉开关的所述信道仲裁器和所述输出仲裁器,以使每一子交叉开关的所述信道仲裁器和所述输出仲裁器均为基于结果的轮询仲裁器。

可选的,所述交叉开关创建方法,还包括:

在每一子交叉开关中设置检查配置模块,以通过所述检查配置模块检查输入报文的虚拟信道号和报文完整性,并将得到的检查结果保存至错误寄存器。

可选的,所述交叉开关创建方法,还包括:

对所述目标交叉开关进行封装,以得到相应的ip核。

第三方面,本申请公开了一种ip核,所述ip核为对前述公开的交叉开关进行封装后得到。

可见,本申请中的交叉开关包括基于瓦片式设计原理对高阶非对称交叉开关进行分解后得到的多个子交叉开关,每一子交叉开关包括输入队列、输出队列、交换矩阵和输出仲裁器;其中,所述输入队列中设有信道仲裁器;并且,所述信道仲裁器和所述输出仲裁器均为基于结果的轮询仲裁器。由此可见,本申请的交叉开关中设有分布式的轮询仲裁器,并且交叉开关的每个子交叉开关中的输出仲裁和虚拟信道仲裁部位上均引入了基于结果的轮询仲裁机制,通过上述方案,能够有效提高核间互联交叉开关的报文转发效率,降低网络延迟。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的一种交叉开关结构示意图;

图2为本申请实施例公开的一种交叉开关应用示意图;

图3为本申请实施例公开的一种具体的交叉开关结构示意图;

图4为本申请实施例公开的输入侧轮询仲裁器的设计原理图;

图5为本申请实施例公开的一种交叉开关创建方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前,多核、多处理器级的并行计算得到了广泛应用。随之带来的问题是核间报文量随系统规模增大呈指数增加。处理器核间片上互连需要大量的报文交互。核间互联交叉开关的报文转发效率成为影响系统性能提升的关键。为此,本申请提供了一种交叉开关设计方案,能够有效提高核间互联交叉开关的报文转发效率,降低网络延迟。

本发明实施例公开了一种交叉开关,包括基于瓦片式设计原理对高阶非对称交叉开关进行分解后得到的多个子交叉开关;参见图1所示,每一子交叉开关包括输入队列11、输出队列12、交换矩阵13和输出仲裁器14;其中,所述输入队列11中设有信道仲裁器;并且,所述信道仲裁器和所述输出仲裁器14均为基于结果的轮询仲裁器;所述信道仲裁器,用于对虚拟信道进行仲裁;所述输出仲裁器14,用于根据自身的仲裁结果,并通过输出端口对所述输入队列11的输入报文进行选择性输出。

本实施例中,输出仲裁器14是基于结果的轮询仲裁器,也即基于输出端口的结果相关的轮询仲裁器。并且,除了上述输出仲裁器14是基于结果的轮询仲裁器之外,本实施例中的信道仲裁器也是基于结果的轮询仲裁器。

可见,本申请实施例中的交叉开关包括基于瓦片式设计原理对高阶非对称交叉开关进行分解后得到的多个子交叉开关,每一子交叉开关包括输入队列、输出队列、交换矩阵和输出仲裁器;其中,所述输入队列中设有信道仲裁器;并且,所述信道仲裁器和所述输出仲裁器均为基于结果的轮询仲裁器。由此可见,本申请实施例的交叉开关中设有分布式的轮询仲裁器,并且交叉开关的每个子交叉开关中的输出仲裁和虚拟信道仲裁部位上均引入了基于结果的轮询仲裁机制,通过上述方案,能够有效提高核间互联交叉开关的报文转发效率,降低网络延迟。

需要指出的是,本实施例中的交叉开关是基于iq(inputqueue)的交叉开关,每个输入端口最多只会发出一个请求,这样便不存在最大匹配问题。本申请实施例将仲裁器分布到各个输入端口的虚拟信道和输出端口中,以此实现分布式仲裁,每个输出仲裁器只负责与本输出端口对应的输入队列的报文的选择性输出。

参见图2所示,通过所述输入队列,对输入报文进行路由解析、报文头尾解析以及缓存,并对输出端口发起输出请求;通过交换矩阵,实现所述输入队列和所述输出队列之间的shuffle网络互联;输出端口则利用基于结果的轮询仲裁器arbitor的仲裁结果,实现对输入端口报文的转发和输出缓存。

参见图3所示,本实施例中的每一子交叉开关还包括检查配置模块15,用于检查输入报文的虚拟信道号和报文完整性,并将得到的检查结果保存至错误寄存器。

进一步的,所述输出队列还可以用于对输出报文是否出现错误进行检查,并将得到的检查结果传输至所述检查配置模块15。

另外,本实施例中轮询仲裁器的设计具体可以参见图4所示,图4为输入侧轮询仲裁器的设计原理图,每个输入端口配置一个优先级向量,实现输入端口优先级的表示。如设计有6个输入端口,则优先级向量可以设计为5位的寄存器,以6×6交叉开关为例,优先级向量表示为p5p4p3p2p1p0。优先级向量对应位表示该端口与对应端口优先级大小的比较值,如果高于对应端口,则为1,低于对应端口则为0。初始时,端口0优先级最高,0的优先级向量为000001,当优先级通过轮询进行轮转,当到端口3时,3的优先级向量为001000,各端口间的优先级关系为p3>p4>p5>p0>p1>p2。

参见图5所示,本申请实施例还公开了一种交叉开关创建方法,包括:

步骤s11:基于瓦片式设计原理对高阶非对称交叉开关进行分解,得到包含多个子交叉开关的目标交叉开关;其中,每一子交叉开关包括输入队列、输出队列、交换矩阵和输出仲裁器,并且所述输入队列中设有信道仲裁器;

步骤s12:通过分析核间cache一致性协议报文的传输特点,并结合轮询的路由交换原理,将基于结果的轮询仲裁机制引入至每一子交叉开关的所述信道仲裁器和所述输出仲裁器,以使每一子交叉开关的所述信道仲裁器和所述输出仲裁器均为基于结果的轮询仲裁器。

通过上述方案,可以使得交叉开关的每个子交叉开关中的输出仲裁和虚拟信道仲裁部位上均引入了基于结果的轮询仲裁机制,由此能够有效提高核间互联交叉开关的报文转发效率,降低网络延迟。

进一步的,本实施例还可以在每一子交叉开关中设置检查配置模块,以通过所述检查配置模块检查输入报文的虚拟信道号和报文完整性,并将得到的检查结果保存至错误寄存器。

另外,本实施例还可以对所述目标交叉开关进行封装,以得到相应的ip核,这样可以实现不同架构的处理器核间的灵活移植,从而提高了灵活性和可用性。

进一步的,本实施例还可以对上述设计的交叉开关进行周期级的仿真和数据收集与分析,计算出仿真环境中的带宽,并根据仿真速度与实际系统运行频率进行折算,推算出实际系统的带宽,对设计进行优化提升,从而提高设计在实际应用系统中的带宽。

进一步的,本申请还公开了一种ip核,所述ip核为对前述实施例公开的交叉开关进行封装后得到。其中,关于该交叉开关的具体构造可以参考前述实施例中公开的相应内容,在此不再进行赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种交叉开关及其创建方法、ip核进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1