CN112416852B - 环形互连结构路由确定方法及装置 - Google Patents
环形互连结构路由确定方法及装置 Download PDFInfo
- Publication number
- CN112416852B CN112416852B CN202011424761.1A CN202011424761A CN112416852B CN 112416852 B CN112416852 B CN 112416852B CN 202011424761 A CN202011424761 A CN 202011424761A CN 112416852 B CN112416852 B CN 112416852B
- Authority
- CN
- China
- Prior art keywords
- chip
- current
- chips
- item
- routing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004364 calculation method Methods 0.000 claims description 20
- 239000004744 fabric Substances 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 208000031339 Split cord malformation Diseases 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004645 scanning capacitance microscopy Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种环形互连结构路由确定方法,包括:获取当前芯片在主板上的逻辑节点号;将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值;分别沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项。本发明不需要预先确定整个环形互连结构的芯片总数即可有效计算芯片间的路由路径。
Description
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种环形互连结构路由确定方法及装置。
背景技术
多芯片环形互连可以是多个单芯片封装(SCM)的互连,也可以是1个或多个同构的多芯片封装(MCM)的互连,甚至可以是1个或多个异构的多芯片封装(SIP)的互连。通常情况下,在环形互连结构下,任意两个CPU之间都存在2条路由路径,为了提高通信效率,需要分别计算这2条路径的长度,并选择较短的一条。
在现有技术中的路由确定方法中,需要预先确定芯片数量作为路由确定过程中的参数,对于无法预先确定整个环形互连结构的芯片总数的情况,难以确定其路由路径。
发明内容
本发明提供的环形互连结构路由确定方法及装置,不需要预先确定整个环形互连结构的芯片总数即可有效计算芯片间的路由路径。
本发明提供一种环形互连结构路由确定方法,包括:
获取当前芯片在主板上的逻辑节点号;
将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值;
分别沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离;
当所述跳转距离小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项。
可选地,在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。
可选地,在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。
可选地,将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值之后还包括:将当前芯片跳转至本地的路由项设置为0。
可选地,获取当前芯片在主板上的逻辑节点号包括:
依据当前芯片对应的当前处理器序号、处理器包含的芯片数量以及当前芯片在当前处理器中的序号,确定当前芯片的逻辑节点号。
可选地,确定当前芯片的逻辑节点号包括:
将处理器序号小于当前处理器序号的处理器数量与处理器包含的芯片数量相乘,得到第一数量;
将所述第一数量与当前芯片在当前处理器中的序号相加,得到当前芯片的逻辑节点号。
可选地,沿所述环形互连结构的第一方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的正值更新为当前芯片跳转至对应芯片的路由项;
沿所述环形互连结构的第二方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的负值更新为当前芯片跳转至对应芯片的路由项。
可选地,所述方法还包括:依据路由表中小于所述主板支持的最大芯片数量的路由项,确定所述环形互连结构的芯片数量。
可选地,所述多芯片环形互连结构包括:一个以上的处理器中包含的至少两个芯片形成的环形互连结构。
可选地,所述一个以上的处理器包括单芯片封装处理器、同构多芯片封装处理器或者异构多芯片封装处理器中的一种或多种。
第二方面,本发明还提供一种环形互连结构路由确定装置,包括:
节点号获取模块,用于获取当前芯片在主板上的逻辑节点号;
初始化模块,用于将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值;
计算模块,用于分别沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离;
更新模块,用于当所述跳转距离小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项。
可选地,所述计算模块包括:
方向更换单元:用于在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。
可选地,所述计算模块还包括:
路由表确定单元,用于在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。
本发明提供的环形互连结构路由确定方法在单个芯片无法预先确定整个互连结构中芯片数目的场景下,通过在环形互连结构上依次进行第一方向和第二方向的路由项更新,可以有效地计算芯片之间的路由路径。由于在初始状态下路由项设置为不小于主板支持的最大芯片数量,并且将跳转距离小于当前路由项作为更新条件,从而,在沿第一方向进行路由项确定的过程中,能够在当前芯片对每个芯片的路由项更新一次之后及时停止。而在沿第二方向进行路由项确定的过程中,仍然采用跳转距离小于当前路由项作为更新条件能够使当前芯片对每个芯片的路由项都能够更新为最短路径。
附图说明
图1为本发明一实施例环形互连结构路由确定方法的流程图;
图2为本发明另一实施例两个同构多芯片封装处理器构成的环形互连结构示意图;
图3为本发明另一实施例两个单芯片封装处理器构成的环形互连结构示意图;
图4为本发明另一实施例两个异构多芯片封装处理器构成的环形互连结构示意图;
图5为本发明另一实施例环形互连结构路由确定方法的具体操作流程图;
图6为本发明另一实施例环形互连结构路由确定装置的示意图;
图7为本发明另一实施例环形互连结构路由确定装置的计算模块的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种环形互连结构路由确定方法,如图1所示,包括:
步骤100,获取当前芯片在主板上的逻辑节点号;
在一些实施例中,在获取当前芯片在主板上的逻辑节点号时,可以依据主板的引线获取,例如,依据主板上的引线获取当前芯片所在的处理器时第几个处理器,每个处理器芯片内有多少个芯片,以及当前芯片是所在的处理器的第几个芯片,从而,确定当前芯片的逻辑节点号。
步骤200,将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值;
在一些实施例中,在当前芯片与其他芯片之间的跳转距离,不可能超过主板支持的最大芯片数量,因此,在路由表开始更新之前,采用本步骤的设置方式,能够在后续的更新过程中将当前芯片与所有芯片之间的路由项进行更新。
步骤300,分别沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离;
在一些实施例中,对于环形互连结构中的任意一个芯片来说,其方向仅有两个,并且,该两个方向是相反的。例如,如图2所示,对于其中的任意一个芯片和其他芯片之间的路由路径来说,仅有沿加号方向路由和沿减号方向路由两种,因此,可以采用沿加号方向的路由路径为第一方向,沿减号方向的路由路径为第二方向,也可以采用沿减号方向的路由路径为第一方向,沿加号方向的路由路径为第二方向。
步骤400,当所述跳转距离小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项。
在一些实施例中,由于在沿第一方向计算多个芯片与当前芯片的跳转距离时,当前芯片跳转至对应芯片的路由项为不小于主板支持的最大芯片数量的数值;因此,在沿第一方向计算多个芯片与当前芯片的跳转距离时,会更新当前芯片与所有芯片之间的路由项。在沿第二方向计算多个芯片与当前芯片的跳转距离时,当前芯片跳转至对应芯片的当前路由项为当前芯片沿第一方向的路由的路由项;因此,在沿第二方向计算多个芯片与当前芯片的跳转距离时,实际上仅计算一半数量的芯片与当前芯片之间的路由项。
本实施例提供的环形互连结构路由确定方法在单个芯片无法预先确定整个互连结构中芯片数目的场景下,通过在环形互连结构上依次进行第一方向和第二方向的路由项更新,可以有效地计算芯片之间的路由路径。由于在初始状态下路由项设置为不小于主板支持的最大芯片数量,并且将跳转距离小于当前路由项作为更新条件,从而,在沿第一方向进行路由项确定的过程中,能够在当前芯片对每个芯片的路由项更新一次之后及时停止。而在沿第二方向进行路由项确定的过程中,仍然采用跳转距离小于当前路由项作为更新条件能够使当前芯片对每个芯片的路由项都能够更新为最短路径。
作为一种可选的实施方式,在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。在一些实施例中,沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离的过程结束后,开始执行沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离的过程,为了使沿第一方向和沿第二方向的计算过程顺利衔接,在本实施方式中,以当所述跳转距离不小于当前路由项时作为沿第二方向的计算过程开始的触发条件。
作为一种可选的实施方式,在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。在一些实施例中,当沿第二方向计算当前芯片与所述多个芯片的跳转距离过程中,此时的路由项是由大到小排列的,因此,当所述跳转距离不小于当前路由项时,可以确定当前芯片与所有的芯片之间的路由项都为最短的路由项,因此,此时可以将当前路由表作为当前芯片的路由表进行保存。
作为一种可选的实施方式,将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值之后还包括:将当前芯片跳转至本地的路由项设置为0。在一些实施例中,采用本步骤的设置方式可以省去后续的跳转距离计算过程中对于当前芯片跳转到本地的计算步骤,从而,能够加快计算速度。
作为一种可选的实施方式,获取当前芯片在主板上的逻辑节点号包括:
依据当前芯片对应的当前处理器序号、处理器包含的芯片数量以及当前芯片在当前处理器中的序号,确定当前芯片的逻辑节点号。作为一种优选的实施方式,确定当前芯片的逻辑节点号包括:将处理器序号小于当前处理器序号的处理器数量与处理器包含的芯片数量相乘,得到第一数量;将所述第一数量与当前芯片在当前处理器中的序号相加,得到当前芯片的逻辑节点号。在一些实施例中,逻辑节点号实际上是指当前芯片对应主板上可安装芯片的位置的序列号。例如,在主板上提供了四个可安装处理器的插槽,每个插槽能够安装一个同构多芯片封装的处理器,每个处理器包含4个芯片;此时,主板上可安装芯片的位置共有16个,当当前芯片在第三个插槽的第二个位置时,当前芯片对应主板上可安装芯片的位置序列号为10,也即,当前芯片的逻辑节点号为10。
作为一种可选的实施方式,沿所述环形互连结构的第一方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的正值更新为当前芯片跳转至对应芯片的路由项;
沿所述环形互连结构的第二方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的负值更新为当前芯片跳转至对应芯片的路由项。
在一些实施例中,采用本实施方式的技术方案,路由项不仅能够表明当前芯片跳转至对应芯片的距离,还能够指明该距离是沿何种方向的路由路径计算的。因此,本实施方式中的技术方案能够更加清晰的表明路由路径的信息。
在一些实施例中,所述方法还包括:依据路由表中小于所述主板支持的最大芯片数量的路由项,确定所述环形互连结构的芯片数量。由于在前述各实施方式中,沿第一方向对路由项的计算和确定过程是对所有的芯片进行计算的,而沿第二方向对路由项的计算过程是为了确定最短的路由路径,因此,经过更新的路由项即为当前芯片能够跳转的所有芯片对应的路由项,因此,依据经过更新的路由项数量即可确定环形互连结构的芯片数量。
作为一种可选的实施方式,所述多芯片环形互连结构包括:一个以上的处理器中包含的至少两个芯片形成的环形互连结构。作为一种优选的实施方式所述一个以上的处理器包括单芯片封装处理器、同构多芯片封装处理器或者异构多芯片封装处理器中的一种或多种。
在一些实施例中,环形互连结构可以为多个同构多芯片封装的处理器中的芯片组成的环形互连结构,如图2所示,当然,也可以为一个同构多芯片封装的处理器中的芯片组成的环形互连结构。或者,环形互连结构可以为多个单芯片封装的处理器中的芯片组成的环形互连结构,如图3所示。或者,环形互连结构可以为多个异构多芯片封装的处理器中的芯片组成的环形互连结构,如图4所示,当然,也可以为一个异构多芯片封装的处理器中的芯片组成的环形互连结构。当然,也可以采用一个或多个单芯片封装处理器与一个或多个同构多芯片封装的处理器或者一个或多个异构多芯片封装的处理器中的芯片组成的环形互连结构;还可以采用一个或多个同构多芯片封装的处理器与一个或多个异构多芯片封装的处理器中的芯片组成的环形互连结构。
如图5所示,为图2所示的环形互连结构的具体的路由确定过程,具体如下:
1)每个芯片通过主板上的引线得到一个处理器内的芯片数目c以及自己是第i个处理器的第j个芯片,计算后得到自己的逻辑节点号:CHIP_NUM=c*i+j;在该步骤中,本领域技术人员应当理解,处理器的编号通常从0开始,因此,CHIP_NUM=c*i+j;如果芯片的逻辑节点编号为从1开始时,CHIP_NUM=c*(i-1)+j。
2)根据互连支持的最大芯片数目N,记n=N-1,初始化整个路由表RoutingTable[0…n]为N(也可以是任意绝对值大于N的值)。
以主板支持的最大的互连数为16,当前芯片为芯片2为例,得到如下的路由表:
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
路由项 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |
3)初始化到芯片本地的路由项为0,即初始化RoutingTable[CHIP_NUM]=0;此时,路由表如下:
4)开始逆时针计算,迭代更新路由表。
a)初始化Hop为1,标识逆时针计算远端芯片的路径长度;
b)如果Hop小于等于N,则执行后续操作;否则结束逆时针计算,转到步骤5;
c)从芯片的逆时针接口跨越Hop个连接访问远端芯片,获取其逻辑节点号,保存为REMOTE_CHIP_NUM;
d)读取路由表中远端芯片的路由项RoutingTable[REMOTE_CHIP_NUM],并与Hop进行比较;
e)如果Hop小于旧的路由项,则更新路由项的值为Hop;否则标识已经构成环路,结束逆时针计算,转到步骤5;
f)Hop的值加1,转到步骤b;
上述步骤执行完毕后,路由表如下:
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
路由项 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |
5)开始顺时针计算,迭代更新路由表。
a)初始化Hop为1,标识顺时针计算远端芯片的路径长度;
b)如果Hop小于等于N,则执行后续操作;否则结束顺时针计算,转到步骤6;
c)从芯片的顺时针接口跨越Hop个连接访问远端芯片,获取其逻辑节点号,保存为REMOTE_CHIP_NUM;
d)读取路由表中远端芯片的路由项RoutingTable[REMOTE_CHIP_NUM],并与Hop进行比较;
e)如果Hop小于旧的路由项,则更新路由项的值为-Hop;否则标识已经到达整个环路的中间节点,结束顺时针计算,转到步骤6;
上述步骤执行完毕后,路由表如下:
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
路由项 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | -3 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |
6)路由项计算结束。
本发明实施例还提供一种环形互连结构路由确定装置,如图6所示,包括:
节点号获取模块610,用于获取当前芯片在主板上的逻辑节点号;
在一些实施例中,在获取当前芯片在主板上的逻辑节点号时,可以依据主板的引线获取,例如,依据主板上的引线获取当前芯片所在的处理器时第几个处理器,每个处理器芯片内有多少个芯片,以及当前芯片是所在的处理器的第几个芯片,从而,确定当前芯片的逻辑节点号。
初始化模块620,用于将路由表中的当前芯片跳转至对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值;
在一些实施例中,在当前芯片与其他芯片之间的跳转距离,不可能超过主板支持的最大芯片数量,因此,在路由表开始更新之前,采用本步骤的设置方式,能够在后续的更新过程中将当前芯片与所有芯片之间的路由项进行更新。
计算模块630,用于分别沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离;
在一些实施例中,对于环形互连结构中的任意一个芯片来说,其方向仅有两个,并且,该两个方向是相反的。例如,如图2所示,对于其中的任意一个芯片和其他芯片之间的路由路径来说,仅有沿加号方向路由和沿减号方向路由两种,因此,可以采用沿加号方向的路由路径为第一方向,沿减号方向的路由路径为第二方向,也可以采用沿减号方向的路由路径为第一方向,沿加号方向的路由路径为第二方向。
更新模块640,用于当所述跳转距离小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项。
在一些实施例中,由于在沿第一方向计算多个芯片与当前芯片的跳转距离时,当前芯片跳转至对应芯片的路由项为不小于主板支持的最大芯片数量的数值;因此,在沿第一方向计算多个芯片与当前芯片的跳转距离时,会更新当前芯片与所有芯片之间的路由项。在沿第二方向计算多个芯片与当前芯片的跳转距离时,当前芯片跳转至对应芯片的当前路由项为当前芯片沿第一方向的路由的路由项;因此,在沿第二方向计算多个芯片与当前芯片的跳转距离时,实际上仅计算一半数量的芯片与当前芯片之间的路由项。
本实施例提供的环形互连结构路由确定方法在单个芯片无法预先确定整个互连结构中芯片数目的场景下,通过在环形互连结构上依次进行第一方向和第二方向的路由项更新,可以有效地计算芯片之间的路由路径。由于在初始状态下路由项设置为不小于主板支持的最大芯片数量,并且将跳转距离小于当前路由项作为更新条件,从而,在沿第一方向进行路由项确定的过程中,能够在当前芯片对每个芯片的路由项更新一次之后及时停止。而在沿第二方向进行路由项确定的过程中,仍然采用跳转距离小于当前路由项作为更新条件能够使当前芯片对每个芯片的路由项都能够更新为最短路径。
作为一种可选的实施方式,所述计算模块630包括:
方向更换单元631,用于在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。在一些实施例中,沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离的过程结束后,开始执行沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离的过程,为了使沿第一方向和沿第二方向的计算过程顺利衔接,在本实施方式中,以当所述跳转距离不小于当前路由项时作为沿第二方向的计算过程开始的触发条件。
作为一种可选的实施方式,所述计算模块630还包括
路由表确定单元632,用于在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。在一些实施例中,当沿第二方向计算当前芯片与所述多个芯片的跳转距离过程中,此时的路由项是由大到小排列的,因此,当所述跳转距离不小于当前路由项时,可以确定当前芯片与所有的芯片之间的路由项都为最短的路由项,因此,此时可以将当前路由表作为当前芯片的路由表进行保存。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种环形互连结构路由确定方法,其特征在于,应用于多个芯片的环形互连,所述方法包括:
获取多个芯片中的当前芯片在主板上的逻辑节点号;
将路由表中的当前芯片跳转至多个芯片中的对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值,并将当前芯片在主板上的逻辑节点号对应的路由项记录为0;
依次沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离,并获取对应芯片在主板上的逻辑节点号;
当沿第一方向和第二方向计算的所述跳转距离中的任一个小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项,并采用所述对应芯片在主板上的逻辑节点号作为所述路由项的索引。
2.根据权利要求1所述环形互连结构路由确定方法,其特征在于,在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。
3.根据权利要求2所述的环形互连结构路由确定方法,其特征在于,在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。
4.根据权利要求1所述的环形互连结构路由确定方法,其特征在于,获取多个芯片中的当前芯片在主板上的逻辑节点号包括:
依据当前芯片对应的当前处理器序号、处理器包含的芯片数量以及当前芯片在当前处理器中的序号,确定当前芯片的逻辑节点号。
5.根据权利要求1所述的环形互连结构路由确定方法,其特征在于,确定当前芯片的逻辑节点号包括:
将处理器序号小于当前处理器序号的处理器数量与处理器包含的芯片数量相乘,得到第一数量;
将所述第一数量与当前芯片在当前处理器中的序号相加,得到当前芯片的逻辑节点号。
6.根据权利要求1所述的环形互连结构路由确定方法,其特征在于,依次沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离,包括:
沿所述环形互连结构的第一方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的正值更新为当前芯片跳转至对应芯片的路由项;
沿所述环形互连结构的第二方向依次计算所述多个芯片与当前芯片的跳转距离;当所述跳转距离小于当前路由项时,将所述跳转距离的负值更新为当前芯片跳转至对应芯片的路由项。
7.根据权利要求1所述的环形互连结构路由确定方法,其特征在于,所述方法还包括:依据路由表中小于所述主板支持的最大芯片数量的路由项,确定所述环形互连结构的芯片数量。
8.根据权利要求1所述的环形互连结构路由确定方法,其特征在于,所述环形互连结构包括:一个以上的处理器中包含的至少两个芯片形成的环形互连结构。
9.根据权利要求8所述的环形互连结构路由确定方法,其特征在于,所述一个以上的处理器包括单芯片封装处理器、同构多芯片封装处理器或者异构多芯片封装处理器中的一种或多种。
10.一种环形互连结构路由确定装置,其特征在于,应用于多个芯片的环形互连,所述装置包括:
节点号获取模块,用于获取多个芯片中的当前芯片在主板上的逻辑节点号;
初始化模块,用于将路由表中的当前芯片跳转至多个芯片中的对应芯片的路由项设置为不小于主板支持的最大芯片数量的数值,并将当前芯片在主板上的逻辑节点号对应的路由项记录为0;
计算模块,用于依次沿所述环形互连结构的第一方向和第二方向依次计算所述多个芯片与当前芯片的跳转距离,并获取对应芯片在主板上的逻辑节点号;
确定模块,用于当沿第一方向和第二方向计算的所述跳转距离中的任一个小于当前路由项时,将所述跳转距离确定为当前芯片跳转至对应芯片的路由项,并采用所述对应芯片在主板上的逻辑节点号作为所述路由项的索引。
11.根据权利要求10所述的环形互连结构路由确定装置,其特征在于,所述计算模块包括:
方向更换单元:用于在沿所述环形互连结构的第一方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,开始沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离。
12.根据权利要求11所述的环形互连结构路由确定方法,其特征在于,所述计算模块还包括:
路由表确定单元,用于在沿所述环形互连结构的第二方向计算当前芯片与所述多个芯片的跳转距离过程中,当所述跳转距离不小于当前路由项时,确定当前路由表为当前芯片的路由表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424761.1A CN112416852B (zh) | 2020-12-08 | 2020-12-08 | 环形互连结构路由确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424761.1A CN112416852B (zh) | 2020-12-08 | 2020-12-08 | 环形互连结构路由确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416852A CN112416852A (zh) | 2021-02-26 |
CN112416852B true CN112416852B (zh) | 2023-11-21 |
Family
ID=74776013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011424761.1A Active CN112416852B (zh) | 2020-12-08 | 2020-12-08 | 环形互连结构路由确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416852B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501691B (zh) * | 2023-06-27 | 2023-09-22 | 北京燧原智能科技有限公司 | 互联系统的自动化布局方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0669584A2 (en) * | 1994-02-24 | 1995-08-30 | Tandem Computers Incorporated | Massively parallel multiprocessor system with fault-tolerant interprocessor network |
US6453406B1 (en) * | 1990-10-17 | 2002-09-17 | Compaq Computer Corporation | Multiprocessor system with fiber optic bus interconnect for interprocessor communications |
CN102780628A (zh) * | 2012-07-31 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的片上互连网络路由方法 |
CN104303174A (zh) * | 2012-06-25 | 2015-01-21 | 英特尔公司 | 通过处理器间互连来隧道传输平台管理消息 |
CN104718537A (zh) * | 2012-10-18 | 2015-06-17 | 高通股份有限公司 | 基于处理器的混合环形总线互连件 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030206527A1 (en) * | 1995-10-02 | 2003-11-06 | Telefonaktiebolaget Lm Ericsson | Transmitting data between multiple computer processors |
US7786757B2 (en) * | 2008-03-21 | 2010-08-31 | Agate Logic, Inc. | Integrated circuits with hybrid planer hierarchical architecture and methods for interconnecting their resources |
JP5920105B2 (ja) * | 2012-08-16 | 2016-05-18 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8885510B2 (en) * | 2012-10-09 | 2014-11-11 | Netspeed Systems | Heterogeneous channel capacities in an interconnect |
WO2015066366A1 (en) * | 2013-10-30 | 2015-05-07 | Huawei Technologies Co., Ltd. | Network topology of hierarchical ring with gray code and binary code |
US9529774B2 (en) * | 2013-10-30 | 2016-12-27 | Futurewei Technologies, Inc. | Network topology of hierarchical ring with gray coding shortcuts |
US11056452B2 (en) * | 2017-10-26 | 2021-07-06 | Intel Corporation | Interface bus for inter-die communication in a multi-chip package over high density interconnects |
-
2020
- 2020-12-08 CN CN202011424761.1A patent/CN112416852B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453406B1 (en) * | 1990-10-17 | 2002-09-17 | Compaq Computer Corporation | Multiprocessor system with fiber optic bus interconnect for interprocessor communications |
EP0669584A2 (en) * | 1994-02-24 | 1995-08-30 | Tandem Computers Incorporated | Massively parallel multiprocessor system with fault-tolerant interprocessor network |
CN104303174A (zh) * | 2012-06-25 | 2015-01-21 | 英特尔公司 | 通过处理器间互连来隧道传输平台管理消息 |
CN102780628A (zh) * | 2012-07-31 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的片上互连网络路由方法 |
CN104718537A (zh) * | 2012-10-18 | 2015-06-17 | 高通股份有限公司 | 基于处理器的混合环形总线互连件 |
Also Published As
Publication number | Publication date |
---|---|
CN112416852A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5349536A (en) | Method for optimally placing components of a VLSI circuit | |
US8601409B1 (en) | Compression method and system for use with multi-patterning | |
US8930869B2 (en) | Method, program, and apparatus for aiding wiring design | |
US6694502B2 (en) | Data structure for fine-grid multi-level VLSI routing and method for storing the data structure in a computer readable medium | |
CN112416852B (zh) | 环形互连结构路由确定方法及装置 | |
CN115829017B (zh) | 一种基于芯粒的数据处理的方法、装置、介质及设备 | |
CN112613266A (zh) | 一种片上网络拓扑结构、路由路径确定方法、装置及电子设备 | |
US8769244B2 (en) | SIMD parallel computer system, SIMD parallel computing method, and control program | |
CN105809389A (zh) | 一种bom树的生成方法及装置 | |
US20060112366A1 (en) | Method and system for optimized automated IC package pin routing | |
US8898606B1 (en) | Layout pattern correction for integrated circuits | |
US10719982B2 (en) | Surface extrction method, apparatus, and non-transitory computer readable storage medium thereof | |
CN114695220A (zh) | 晶圆的传输方法、装置及半导体工艺设备 | |
CN110032407B (zh) | 提升cpu并行性能的方法及装置和电子设备 | |
Kubo et al. | Global routing by iterative improvements for two-layer ball grid array packages | |
US7676781B1 (en) | Method and mechanism for implementing a minimum spanning tree | |
CN113743044B (zh) | 时序路径修正方法、装置、介质及芯片结构 | |
JP2007241516A (ja) | 施設検索プログラム | |
CN109753533A (zh) | 一种多源关系型数据库客户端开发方法及装置 | |
US7725869B1 (en) | Method and apparatus for modeling multiple instances of an electronic circuit using an imperative programming language description | |
US7017139B2 (en) | Triangular assignment of pins used for diagonal interconnections between diagonal chips in a multi-chip module | |
CN115563050A (zh) | 众核计算芯片及数据访问方法 | |
CN111950228A (zh) | 布线方法、装置、设备及存储介质 | |
US7401203B2 (en) | Method for wiring allocation and switch configuration in a multiprocessor environment | |
CN114115804B (zh) | 一种乘法器转换方法、系统、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |