CN111865782B - 三维集成电路及路由方法 - Google Patents
三维集成电路及路由方法 Download PDFInfo
- Publication number
- CN111865782B CN111865782B CN201910357347.4A CN201910357347A CN111865782B CN 111865782 B CN111865782 B CN 111865782B CN 201910357347 A CN201910357347 A CN 201910357347A CN 111865782 B CN111865782 B CN 111865782B
- Authority
- CN
- China
- Prior art keywords
- offset
- node
- channel
- equal
- network
- 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 34
- 229910052710 silicon Inorganic materials 0.000 claims abstract description 10
- 239000010703 silicon Substances 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 241000724291 Tobacco streak virus Species 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 239000000243 solution Substances 0.000 description 8
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 7
- 238000004088 simulation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 241000282341 Mustela putorius furo Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种三维集成电路及路由方法。所述三维集成电路包括:至少两层二维芯片;每个所述二维芯片通过硅穿孔通道TSV依次垂直连接;每个所述二维芯片与所述TSV形成一层三维网络;所述三维网络包括4个虚拟网络,每个所述虚拟网络包括共用于一条虚拟通道的两个子网络;每个所述子网络分别用于传输一类消息;其中,所述消息的类型依据所述消息的源节点和目的节点之间的偏移的三维方向划分类型。本发明实施例解决了现有技术中的三维集成电路中TSV的数量较多的问题。
Description
技术领域
本发明涉及半导体技术领域,尤其涉及一种三维集成电路及路由方法。
背景技术
随着集成电路的集成度的不断提高,每个芯片上的器件单元数量增加,芯片面积增大,单元间连线的增长,上述情况既影响电路的工作速度又占用很多面积,严重影响了集成电路的集成度和工作速度的进一步提高,基于此,三维集成电路应运而生。
目前,有大量致力于三维集成电路设计的研究。三维集成电路相对于传统的集成电路具有更高的密度、更好的性能、更多的灵活性以及更高的吞吐量。三维堆叠是三维集成电路中的一个重要部分,三维堆叠是将多层异构的二维的芯片(dies)使用硅穿孔通道(Through Silicon Vias,TSV)集成起来形成的三维拓扑结构。目前,三维拓扑结构在空间和成品率的开销上依赖于TSV的数量,因此TSV的数量相对较多;而TSV价格昂贵,需要大的面积开销,相比于水平链路成品率较低。因此,为了提高三维堆叠的性能,需要在两层三维网络之间设计较少的TSV,减少TSV的数量。
发明内容
本发明实施例提供一种三维集成电路及路由方法,用以解决现有技术中的三维集成电路中TSV的数量较多的问题。
一方面,本发明实施例提供一种三维集成电路,所述三维集成电路包括:
至少两层二维芯片;
每个所述二维芯片通过硅穿孔通道TSV依次垂直连接;
每个所述二维芯片与所述TSV形成一层三维网络;
所述三维网络包括4个虚拟网络,每个所述虚拟网络包括共用于一条虚拟通道的两个子网络;
每个所述子网络分别用于传输一类消息;其中,所述消息的类型依据所述消息的源节点和目的节点之间的偏移的三维方向划分类型;
所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有TSV的垂直通道;所述目的节点为所述消息的终点位置或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点;
根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
一方面,本发明实施例提供一种路由方法,所述方法应用于上述三维集成电路,所述方法包括:
在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有硅穿孔通道TSV的垂直通道;所述目的节点为所述消息的终点位置或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点;
根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述路由方法中的步骤。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述路由方法中的步骤。
本发明实施例提供的三维集成电路及路由方法,三维集成电路包括至少两层二维芯片,每个所述二维芯片通过TSV依次垂直连接,将每个所述二维芯片与所述TSV形成一层三维网络,并将每个三维网络划分为4个虚拟网络;所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,虚拟网络并查找该虚拟网络与上层三维网络之间的具有TSV的垂直通道,最后经由垂直通道,将所述消息传输至所述目的节点;在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的三维集成电路的示意图之一;
图2为本发明实施例提供的三维集成电路的示意图之二;
图3为本发明实施例提供的路由方法的步骤示意图;
图4为本发明实施例的第二子网络的信道依赖示意图;
图5-1至图5-6为本发明实施例的仿真示意图之一;
图6-1至图6-3为本发明实施例的仿真示意图之二;
图7为本发明实施例的仿真示意图之三;
图8为本发明实施例提供的服务器的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
图1示出了本发明实施例提供的一种路由方法的三维集成电路的架构示意图。
如图1所示,本发明实施例提供的三维集成电路,包括:至少两层二维芯片;每个二维芯片构成一层网络,如图1中所示,d0、d1、d2所对应的平面(x轴与y轴形成的平面);
每个所述二维芯片通过硅穿孔通道TSV(如图中E所指示双向箭头所示)依次垂直连接,即每层网络之间通过TSV依次垂直连接;
每个所述二维芯片与所述TSV形成一层三维网络,即x轴、y轴、垂直通道形成的三维网络,图1中每个空心圆为一个节点,如m点所示,每个节点的三维坐标为该点在x轴、y轴、z轴的坐标;需要说明的是,图1中x轴、y轴、z轴所形成的的坐标系为虚拟坐标系,其中每个z向的线段不一定真实存在,仅有存在TSV的为有效线段。
每层三维网络包括4个虚拟网络,每个所述虚拟网络包括共用于一条虚拟通道的两个子网络;如图1所示,每层三维网络包括x、y、z三个维度,每个所述维度包括+、-两个方向,每个所述方向对应两条虚拟通道,这样,针对每个节点,生成了8个子网络,将每两个可共用一条虚拟通道的子网络划分为一组虚拟网络。
本发明实施例中,每个虚拟网络与上层(消息传输的下一层)三维网络之间不一定都具有TSV,也就是说,每层三维网络与上层三维网络之间可能仅有一条TSV。
每个所述子网络分别用于传输一类消息;其中,所述消息的类型依据所述消息的源节点和目的节点之间的偏移的三维方向划分类型;偏移为目标节点与源节点之间的坐标之差,比如,在某条消息的源节点坐标为(0,1,3),目标节点的坐标为(1,2,2),则此条消息在x轴方向的偏移为+(正),y轴方向的偏移为+(正),z轴的偏移为-(负),则此消息对应的子网络为(x+,y+,z-)。
所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,首先根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有TSV的垂直通道;所述目的节点为所述消息的终点位置或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点。
其中,垂直通道为具有TSV的通道。
消息的源节点与目的节点之间可能间隔多层三维网络,而消息每到达一层三维网络时,重新确定源节点(即消息到达新的一层后的当前节点)和目的节点;若消息所在的当前三维网络的上层三维网络为消息的最终的目的节点,则所述目的节点为所述消息的终点位置;若不为消息终点,则所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点。
确定虚拟网络之后,查找该虚拟网络于上层三维网络之间的具有TSV的垂直通道,这样,在一个平面二维芯片的每个节点上不需要每个节点都有TSV,在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量,如图2所示,每层三维网络之间,仅有部分虚拟网络设置有TSV。
确定垂直通道后,根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;并将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点,完成消息的传输。
其中,源节点至第一节点坐标之间可能仅有一条单位虚拟通道,也可能具有多条顺次连接到的单位虚拟通道,每次选择新的虚拟通道之后,更新新的源节点以及新的目标节点;第二节点坐标至目的节点之间情况相同,在此不再赘述。
本发明上述实施例中,三维集成电路包括至少两层二维芯片,每个所述二维芯片通过TSV依次垂直连接,将每个所述二维芯片与所述TSV形成一层三维网络,并将每个三维网络划分为4个虚拟网络;所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,虚拟网络并查找该虚拟网络与上层三维网络之间的具有TSV的垂直通道,最后经由垂直通道,将所述消息传输至所述目的节点;在一个平面二维芯片的每个节点上不需要每个节点都有TSV,在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量。本发明实施例解决了现有技术中的三维集成电路中TSV的数量较多的问题。
继续参见图1,本发明实施例中,所述三维网络包括x、y、z三个维度,每个所述维度包括+、-两个方向,对于某个节点而言,每个所述方向对应两条虚拟通道;
所述子网络分别为:
第一子网络(x+y+z+),表示x+方向、y+方向、z+方向形成的网络;第二子网络(x+y+z-);
第三子网络(x+y-z+):第四子网络(x+y-z-);
第五子网络(x-y+z+);第六子网络(x-y+z-);
第七子网络(x-y-z+);第八子网络(x-y-z-);
其中,所述第四子网络、第八子网络对应第一虚拟网络,共用第一虚拟通道组{(Cx,1)、(Cy,1-)、(Cz,1-)};其中,(Cx,1)表示x方向上的第一条虚拟信道,x方向包括x+方向和x-方向,(Cy,1-)表示表示y-方向上的第一条虚拟信道,(Cz,1-)表示表示z-方向上的第一条虚拟信道;
所述第二子网络、第六子网络对应第二虚拟网络,共用第二虚拟通道组{(Cx,1)、(Cy,1+)、(Cz,2-)};其中,(Cy,1+)表示表示y+方向上的第一条虚拟信道,(Cz,2-)表示表示z-方向上的第二条虚拟信道;
所述第五子网络、第七子网络对应第三虚拟网络,共用第三虚拟通道组{(Cx,2-)、(Cy,2)、(Cz,1+)};其中,(Cx,2-)表示x-方向上的第二条虚拟信道,(Cy,2)表示表示y方向上的第二条虚拟信道,(Cz,1+)表示z+方向上的第一条虚拟信道;
所述第一子网络、第三子网络对应第四虚拟网络,共用第四虚拟通道组{(Cx,2+)、(Cy,2)、(Cz,2+)};其中,(Cx,2+)表示x+方向上的第二条虚拟信道,(Cz,2+)表示表示z+方向上的第二条虚拟信道。
本发明上述实施例中,三维集成电路包括至少两层二维芯片,每个所述二维芯片通过TSV依次垂直连接,将每个所述二维芯片与所述TSV形成一层三维网络,并将每个三维网络划分为4个虚拟网络;所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,虚拟网络并查找该虚拟网络与上层三维网络之间的具有TSV的垂直通道,最后经由垂直通道,将所述消息传输至所述目的节点;在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量。
参见图3,本发明实施例还提供了一种路由方法,应用于上述三维集成电路,所述方法包括:
步骤301,在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有硅穿孔通道TSV的垂直通道;所述目的节点为所述消息的终点位置或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点。
其中,消息的源节点与目的节点之间可能间隔多层三维网络,而消息每到达一层三维网络时,重新确定源节点和目的节点;若消息所在的当前三维网络的上层三维网络为消息的终点,则所述目的节点为所述消息的终点位置;若不为消息终点,则所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点。比如,消息到达了d0层,在d0层的当前节点位置为新的源节点,第一虚拟通道为新的源节点至所述第一节点坐标之间的虚拟通道;d1层不是消息终点时,选择d1层至d2层的新的垂直通道,目的节点为新的垂直通道在d1层的节点坐标;d1层是消息终点时,所述消息的终点位置为目的节点坐标。
结合图1,偏移为目标节点与源节点之间的坐标之差,比如,在某条消息的源节点坐标为(0,1,3),目标节点的坐标为(1,2,2),则此条消息在x轴方向的偏移为+(正),y轴方向的偏移为+(正),z轴的偏移为-(负),则此消息对应的子网络为(x+y+z-)。
每组xyz方向的偏移数据对应一个子网络,每两个子网络对应一组虚拟网络。
根据偏移确定确定虚拟网络之后,查找该虚拟网络于上层三维网络之间的具有TSV的垂直通道,这样,在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量,如图2所示,每层三维网络之间,仅有部分虚拟网络设置有TSV。
步骤302,根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标。
其中,确定垂直通道后,根据预设规则查找第一虚拟通道以及第二虚拟通道。
步骤303,将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
其中,源节点至第一节点坐标之间可能仅有一条单位虚拟通道,也可能具有多条顺次连接到的单位虚拟通道,每次选择新的虚拟通道之后,更新源节点以及目标节点;第二节点坐标至目的节点之间情况相同,在此不再赘述。
本发明上述实施例中,在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,虚拟网络并查找该虚拟网络与上层三维网络之间的具有TSV的垂直通道,最后经由垂直通道,将所述消息传输至所述目的节点;在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量。
可选地,本发明上述实施例中,所述步骤302包括:
根据所述源节点与所述垂直通道位于所述源节点所在三维网络的第一节点坐标之间的偏移,确定从所述源节点至所述第一节点坐标之间的第一虚拟通道;
确定所述垂直通道位于所述目的节点所在三维网络的第二节点坐标,根据所述第二节点坐标与所述目的节点之间的偏移,确定从所述第二节点坐标至目的节点之间的第二虚拟通道;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
其中,消息的源节点与目的节点之间可能间隔多层三维网络,而消息需要逐层传输;消息每到达一层三维网络时,重新确定新的源节点和目标节点,在每层之间按照上述步骤进行传输。
首先确定从所述源节点至所述第一节点坐标之间的第一虚拟通道,再确定第二节点坐标至目的节点之间的第二虚拟通道,最后将消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点,完成消息传输。
可选地,本发明上述实施例中,所述三维网络包括x、y、z三个维度,每个所述维度包括+、-两个方向,每个所述方向对应两条虚拟通道;
所述子网络分别为:
第一子网络(x+y+z+);第二子网络(x+y+z-);
第三子网络(x+y-z+):第四子网络(x+y-z-);
第五子网络(x-y+z+);第六子网络(x-y+z-);
第七子网络(x-y-z+);第八子网络(x-y-z-);
其中,所述第四子网络、第八子网络对应第一虚拟网络,共用第一虚拟通道组{(Cx,1)、(Cy,1-)、(Cz,1-)};(Cx,1)表示x方向上的第一条虚拟信道,(Cy,1-)表示表示y-方向上的第一条虚拟信道,(Cz,1-)表示表示z-方向上的第一条虚拟信道;
所述第二子网络、第六子网络对应第二虚拟网络,共用第二虚拟通道组{(Cx,1)、(Cy,1+)、(Cz,2-)};其中,(Cy,1+)表示表示y+方向上的第一条虚拟信道,(Cz,2-)表示表示z-方向上的第二条虚拟信道;
所述第五子网络、第七子网络对应第三虚拟网络,共用第三虚拟通道组{(Cx,2-)、(Cy,2)、(Cz,1+)};其中,(Cx,2-)表示x-方向上的第二条虚拟信道,(Cy,2)表示表示y方向上的第二条虚拟信道,(Cz,1+)表示z+方向上的第一条虚拟信道;
所述第一子网络、第三子网络对应第四虚拟网络,共用第四虚拟通道组{(Cx,2+)、(Cy,2)、(Cz,2+)};其中,(Cx,2+)表示x+方向上的第二条虚拟信道,(Cz,2+)表示表示z+方向上的第二条虚拟信道;
所述方法还包括:
在选择所述第一虚拟通道和/或所述第二虚拟通道时,根据所述消息对应的目标虚拟网络,确定所述目标虚拟网络对应的目标路由规则;
根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道。
其中,在选择所述第一虚拟通道和/或所述第二虚拟通道时,首先根据所述消息对应的目标虚拟网络,确定目标路由规则,再根据目标路由规则,选择对应的通道组中可转弯的通道作为目标通道,目标通道即第一虚拟通道和/或所述第二虚拟通道)。
具体地,当消息的目的节点在源节点的上层,那么消息属于z+消息,则消息类型可能是第一子网络(x+y+z+),第三子网络(x+y-z+),第五子网络(x-y+z+)或第七子网络(x-y-z+)。选择一个具有向上TSV的虚拟通道(即TSV,后文称具有TSV的节点为elevator,即垂直通道的节点),然后根据当前节点与elevator在x方向的相对位置,将消息插入第三虚拟网络(第三虚拟网络以x-y*z+表示,其中“*”表示包括“+,-”方向)或第四虚拟网络(第四虚拟网络以x+y*z+表示)中,按照在该虚拟网络的路由规则,消息从当前节点传输到选择的elevator,然后再使用TSV,到达相邻的上一层。消息每到达新的一层,都会重新选择elevator,再根据当前节点与elevator在x方向的相对位置插入到第三虚拟网络(x-y*z+)或第四虚拟网络(x+y*z+)中。所以消息在路由过程中能够使用这两个虚拟网络中任意的虚拟通道,所属的虚拟网络是变化的。
当消息的目的节点在源节点的下层,那么消息属于z-消息,则消息类型可能是第二子网络(x+y+z-),第四子网络(x+y-z-),第六子网络(x-y+z-)或第八子网络(x-y-z-),路由选择规则同上,在此不再赘述。
具体地,第一虚拟网络(x-y*z+)中:
消息在第一虚拟网络(x-y*z+)中路由是完全自适应的,可以使用xy平面的所有最短路径,没有任何的转弯限制。若x和y方向的偏移都不为0,那么可以随机选择(Cx,1)和(Cy,1-)中任意一条通道作为下一跳。若x和y两个偏移中的一个被消除,那么就消除余下的那一维的偏移。若x和y的偏移都为0,z方向的偏移小于0,那么表示到达当前层的elevator,通过垂直通道(Cz,1-)路由。下一个平面的elevator指的是消息选择的当前平面的elevator通过垂直通道在该虚拟网络中能到达的相邻平面的elevator。
当所述消息对应的虚拟网络为第一虚拟网络时,所述根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道的步骤,包括以下几种情况:
(1)当所述消息对应的虚拟网络为第一虚拟网络时,若当前节点(即当前的源节点)与下一节点(当前的目标节点)在x方向、y方向和z方向的偏移均不为0时,随机选第一虚拟通道组中的一条通道。
(2)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移小于0,z方向的偏移小于0,随机选(Cx,1)、(Cy,1-)或(Cz,1-)中的一条通道;
(3)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移小于0,z方向的偏移小于0,则随机选择(Cy,1-)或(Cz,1-)中的一条通道;
(4)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移小于0,则随机选择(Cx,1)或(Cz,1-)中的一条通道;
(5)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移小于0,z方向的偏移等于0,则随机选择(Cx,1)或(Cy,1-)中的一条通道;
(6)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,1);
(7)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移小于0,则选择通道(Cz,1-);
(8)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移小于0,z方向的偏移等于0,则选择通道(Cy,1-);
(9)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输。
进一步地,本发明实施例中,所述第三子网络在传输消息时,禁止y-到x+方向的转弯,即对于第三子网络的消息,x+通道必须在传输y-通道之前被传输完,传输完即当前节点的x坐标与elevator的x坐标相同,也就是没有x方向的位移差;当x+通道在走y-方向的通道之前被传输完,就不会存在走了y-再走x+的情况,因为x+方向已经没有偏移了;所述第七子网络在传输消息时,禁止y-到x-方向的转弯;所述第二子网络在传输消息时,禁止x+到y+方向的转弯,如图4所示,第二子网络(x+y+z-)的闭合环路代表在xy平面逆时针方向存在环的信道依赖,如果路由算法存在这样的环就有死锁,所以在右下角x+到y+设置了禁止的转弯(虚线箭头处);所述第六子网络在传输消息时,禁止x-到y+方向的转弯。
对于第二虚拟网络,所述根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道的步骤,包括以下几种情况:
(1)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移小于0,且消息不占据通道(Cx,1),则随机选择(Cx,1)、(Cy,1+)或(Cz,2-)的一条通道;
(2)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移小于0,且消息占据通道(Cx,1),则随机选择(Cx,1;Cz,2-)中的一条通道;
(3)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移大于0,z方向的偏移小于0,则随机选择(Cy,1+)或(Cz,2-)中的一条通道;
(4)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移小于0,则随机选择(Cx,1)或(Cz,2-)中的一条通道;
(5)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移等于0,则选择通道(Cy,1+);
(6)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,1);
(7)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移小于0,则选择通道(Cz,2-);
(8)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移大于0,z方向的偏移等于0,则选择通道(Cy,1+);
(9)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输;
同理,当所述消息对应的虚拟网络为第三虚拟网络时,包括以下几种情况:
(1)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,且所述消息对应的虚拟网络为第五子网络,则随机选择(Cx,2-)或(Cy,2+)或(Cz,1+)的一条通道;
(2)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第七子网络,且所述消息占据通道(Cy,2-),则随机选择(Cy,2-)或(Cz,1+)中的一条通道;
(3)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第七子网络,且所述消息占据通道(Cx,2-)或(Cz,1+),则随机选择(Cx,2-)或(Cy,2-)或(Cz,1+)中的一条通道;
(4)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移大于0,则随机选择(Cy,2)或(Cz,1+)中的一条通道;
(5)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移等于0,z方向的偏移大于0,则选择(Cx,2-)或(Cz,1+)中的一条通道;
(6)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第七子网络,则选择通道(Cx,2-);
(7)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第五子网络,则选择选择(Cx,2-)或(Cy,2+)中的一条通道;
(8)若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,2-);
(9)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移大于0,则选择通道(Cz,1+);
(10)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输;
(11)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移等于0,选择通道(Cy,2)。
当所述消息对应的虚拟网络为第四虚拟网络时,包括以下几种情况:
(1)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,且所述消息对应的虚拟网络为第一子网络,则随机选择(Cx,2+)或(Cy,2+)或(Cz,2+)的一条通道;
(2)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第三子网络,且所述消息占据通道(Cy,2-),则随机选择(Cy,2-)或(Cz,2+)中的一条通道;
(3)若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第三子网络,且所述消息占据通道(Cx,2+)或(Cz,2+),则随机选择(Cx,2+)或(Cy,2-)或(Cz,2+)中的一条通道;
(4)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移大于0,则随机选择(Cy,2)或(Cz,2+)中的一条通道;
(5)若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移等于0,z方向的偏移大于0,则随机选择(Cx,2+)或(Cz,2+)中的一条通道;
(6)若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第三子网络,则选择通道(Cx,2+);
(7)若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第一子网络,则选择选择(Cx,2+)或(Cy,2+)中的一条通道;
(8)若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,2+);
(9)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移大于0,则选择通道(Cz,2+);
(10)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移等于0,则选择通道(Cy,2);
(11)若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输。
作为第一示例,如图2所示,源节点为S1(1,2,0),目的节点为D1(4,4,2)。源节点和目的节点在x,y,z方向的偏移分别是dx=3,dy=2,dz=2,属于第一子网络(x+y+z+),所以消息被插入第四虚拟网络中。在第d0层(z=0),消息可以向任何一个方向路由,第一虚拟网络的第(1)条;直到某一方向上的偏移为0时,最后选择第四虚拟网络中的某条通道。在此给出一条路径:(1,2,0)→(1,3,0)→(1,3,1)→(2,3,1)→(2,4,1)→(3,4,1)→(4,4,1)→(4,4,2),到达目的节点。
使用的虚拟信道依次(cy,2+),(cy,2+),(cy,2+),(cy,2+),(cy,2+),(cy,2+),(cy,2+),(cy,2+)。
作为第二示例,第二个例子:源节点为S2(3,0,2),目的节点为D2(0,3,0)。源节点和目的节点在x,y,z方向的偏移分别是dx=-3,dy=3,dz=-2,属于第六子网络(x-y+z-),所以消息被插入第二虚拟网络(x*y+z-)虚拟网络中。需要注意,在第2层,消息在源节点按照随机选择一条边,若选择cx,1-到达节点(2,0,2)后,消息只能随机选择(cx,1-,cz,2-)中的一条信道,因为它占据着信道cx,1-;不能选择y+方向信道是因为第六类消息禁止cx,1-到cy,1+的转弯。这里给出其中一条路径(3,0,2)→(2,0,2)→(1,0,2)→(0,0,2)→(0,0,1)→(0,0,0)→(0,1,0)→(0,2,0)→(0,3,0),到达目的节点。使用的虚拟信道依次(cx,1),(cx,1),(cx,1-),(cz,2-),(cz,2-),(cy,1+),(cy,1+),(cy,1+)。
可选地,作为仿真结果,图5-1至图5-6中示出了分别在均匀(uniform),局部(local)和转置(transpose)通信模式下,4*4*4网络在80%垂直连接时平均延时结果。
图6-1至图6-3示出了分别在uniform,local和transpose通信模式下,4*4*4网络在全连接时平均延时结果。
图5-1至图5-6和图6-1至图6-3中,横坐标注入率的单位采用每个时钟周期每个计算结点注入微片的比例,平均延时的单位依然是时钟周期。从仿真结果可以看出,几种通信模式下,本发明实施例提供的路由算法(图中proposed)的饱和点,都晚于elevator-first和first-last路由算法,所以在平均延时上优于elevator-first和first-last路由算法。
具体地,图5-1中表示4*4*4网络在80%垂直连接基于uniform通信模式的平均延迟;
图5-2中表示4*4*4网络在80%垂直连接基于local通信模式的平均延迟;
图5-3中表示4*4*4网络在80%垂直连接基于transpose通信模式的平均延迟;
图5-4中表示4*4*4网络在50%垂直连接基于uniform通信模式的平均延迟;
图5-5中表示4*4*4网络在50%垂直连接基于local通信模式的平均延迟;
图5-6中表示4*4*4网络在50%垂直连接基于transpose通信模式的平均延迟;
图6-1中表示4*4*4网络在全连接基于uniform通信模式的平均延迟;
图6-2中表示4*4*4网络在全连接基于local通信模式的平均延迟;
图6-3中表示4*4*4网络在全接基于transpose通信模式的平均延迟;
图7示出了分别在uniform,local和transpose通信模式下,4*4*4三维部分垂直连接的堆叠片上网络本发明提供的算法与elevator-first,first-last基于百万秒差距PARSEC的性能比较。
图7中,blacks_bodyt指使用benchmark blackscholes和bodytrack一起运行得到的数据。其它的类似,有如下这几种应用benchmark:blackscholes,
bodytrack,canneal,dedup,ferret,fluidanimate,swaptions,vips,x264。
从仿真结果可以看出,本发明实施例提供的路由算法的平均延迟相对于另外两种算法都有所提高,比elevator-first路由算法提高的百分比更大。
本发明上述实施例中,在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,虚拟网络并查找该虚拟网络与上层三维网络之间的具有TSV的垂直通道,最后经由垂直通道,将所述消息传输至所述目的节点;在一个平面二维芯片的每个节点上不需要每个节点都有TSV,可以减少TSV的数量。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述路由方法中的步骤。
举个例子如下,当电子设备为服务器时,图8示例了一种服务器的实体结构示意图。
如图8所示,该服务器可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:
在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有硅穿孔通道TSV的垂直通道;所述目的节点为所述消息的终点位置或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点;
根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述路由方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种三维集成电路,其特征在于,包括:至少两层二维芯片;
每个所述二维芯片通过硅穿孔通道TSV依次垂直连接;
每个所述二维芯片与所述TSV形成一层三维网络;
所述三维网络包括4个虚拟网络,每个所述虚拟网络包括共用于一条虚拟通道的两个子网络;
每个所述子网络分别用于传输一类消息;其中,所述消息的类型依据所述消息的源节点和目的节点之间的偏移的三维方向划分类型;
所述三维集成电路在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有TSV的垂直通道;所述目的节点为所述消息的终点位置的节点,或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点;
根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
2.根据权利要求1所述的三维集成电路,其特征在于,所述三维网络包括x、y、z三个维度,每个所述维度包括+、-两个方向,每个所述方向对应两条虚拟通道;
所述子网络分别为:
第一子网络(x+y+z+);第二子网络(x+y+z-);
第三子网络(x+y-z+):第四子网络(x+y-z-);
第五子网络(x-y+z+);第六子网络(x-y+z-);
第七子网络(x-y-z+);第八子网络(x-y-z-);
其中,所述第四子网络、第八子网络对应第一虚拟网络,共用第一虚拟通道组{(Cx,1)、(Cy,1-)、(Cz,1-)};(Cx,1)表示x维度 两个方向上的第一条虚拟通道,(Cy,1-)表示表示y-方向上的第一条虚拟通道,(Cz,1-)表示表示z-方向上的第一条虚拟通道;
所述第二子网络、第六子网络对应第二虚拟网络,共用第二虚拟通道组{(Cx,1)、(Cy,1+)、(Cz,2-)};其中,(Cy,1+)表示表示y+方向上的第一条虚拟通道,(Cz,2-)表示表示z-方向上的第二条虚拟通道;
所述第五子网络、第七子网络对应第三虚拟网络,共用第三虚拟通道组{(Cx,2-)、(Cy,2)、(Cz,1+)};其中,(Cx,2-)表示x-方向上的第二条虚拟通道,(Cy,2)表示表示y维度 两个方向上的第二条虚拟通道,(Cz,1+)表示z+方向上的第一条虚拟通道;
所述第一子网络、第三子网络对应第四虚拟网络,共用第四虚拟通道组{(Cx,2+)、(Cy,2)、(Cz,2+)};其中,(Cx,2+)表示x+方向上的第二条虚拟通道,(Cz,2+)表示表示z+方向上的第二条虚拟通道。
3.一种路由方法,应用于如权利要求1或2中所述的三维集成电路,其特征在于,所述方法包括:
在每两层所述三维集成电路的三维网络之间传输消息时,根据所述消息的源节点与目的节点之间的偏移,确定所述消息的类型对应的虚拟网络以及所述虚拟网络与上层三维网络之间的具有硅穿孔通道TSV的垂直通道;所述目的节点为所述消息的终点位置的节点,或所述上层三维网络至其上层网络之间的下一垂直通道在所述上层三维网络的节点;
根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道;所述第一节点坐标为所述垂直通道在所述源节点所在虚拟网络的坐标,所述第二节点坐标为所述垂直通道在所述目的节点所在虚拟网络的坐标;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
4.根据权利要求3所述的方法,其特征在于,所述根据预设规则确定从所述源节点至第一节点坐标之间的第一虚拟通道以及从第二节点坐标至目的节点之间的第二虚拟通道的步骤,包括:
根据所述源节点与所述垂直通道位于所述源节点所在三维网络的第一节点坐标之间的偏移,确定从所述源节点至所述第一节点坐标之间的第一虚拟通道;
确定所述垂直通道位于所述目的节点所在三维网络的第二节点坐标,根据所述第二节点坐标与所述目的节点之间的偏移,确定从所述第二节点坐标至目的节点之间的第二虚拟通道;
将所述消息从所述源节点依次经由所述第一虚拟通道、垂直通道、第二虚拟通道传输至所述目的节点。
5.根据权利要求3所述的方法,其特征在于,所述三维网络包括x、y、z三个维度,每个所述维度包括+、-两个方向,每个所述方向对应两条虚拟通道;
所述子网络分别为:
第一子网络(x+y+z+);第二子网络(x+y+z-);
第三子网络(x+y-z+):第四子网络(x+y-z-);
第五子网络(x-y+z+);第六子网络(x-y+z-);
第七子网络(x-y-z+);第八子网络(x-y-z-);
其中,所述第四子网络、第八子网络对应第一虚拟网络,共用第一虚拟通道组{(Cx,1)、(Cy,1-)、(Cz,1-)};(Cx,1)表示x纬度两个方向上的第一条虚拟通道,(Cy,1-)表示表示y-方向上的第一条虚拟通道,(Cz,1-)表示表示z-方向上的第一条虚拟通道;
所述第二子网络、第六子网络对应第二虚拟网络,共用第二虚拟通道组{(Cx,1)、(Cy,1+)、(Cz,2-)};其中,(Cy,1+)表示表示y+方向上的第一条虚拟通道,(Cz,2-)表示表示z-方向上的第二条虚拟通道;
所述第五子网络、第七子网络对应第三虚拟网络,共用第三虚拟通道组{(Cx,2-)、(Cy,2)、(Cz,1+)};其中,(Cx,2-)表示x-方向上的第二条虚拟通道,(Cy,2)表示表示y纬度两个方向上的第二条虚拟通道,(Cz,1+)表示z+方向上的第一条虚拟通道;
所述第一子网络、第三子网络对应第四虚拟网络,共用第四虚拟通道组{(Cx,2+)、(Cy,2)、(Cz,2+)};其中,(Cx,2+)表示x+方向上的第二条虚拟通道,(Cz,2+)表示表示z+方向上的第二条虚拟通道;
所述方法还包括:
在选择所述第一虚拟通道和/或所述第二虚拟通道时,根据所述消息对应的目标虚拟网络,确定所述目标虚拟网络对应的目标路由规则;
根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道。
6.根据权利要求5所述的方法,其特征在于,当所述消息对应的虚拟网络为第一虚拟网络时,
所述根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道的步骤,包括:
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移小于0,z方向的偏移小于0,随机选(Cx,1)、(Cy,1-)或(Cz,1-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移小于0,z方向的偏移小于0,则随机选择(Cy,1-)或(Cz,1-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移小于0,则随机选择(Cx,1)或(Cz,1-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移小于0,z方向的偏移等于0,则随机选择(Cx,1)或(Cy,1-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,1);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移小于0,则选择通道(Cz,1-);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移小于0,z方向的偏移等于0,则选择通道(Cy,1-);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输。
7.根据权利要求5所述的方法,其特征在于,所述第三子网络在传输消息时,禁止y-到x+方向的转弯;所述第七子网络在传输消息时,禁止y-到x-方向的转弯;所述第二子网络在传输消息时,禁止x+到y+方向的转弯;所述第六子网络在传输消息时,禁止x-到y+方向的转弯;
所述根据所述目标路由规则,选择对应的通道组中可转弯的通道作为目标通道的步骤,包括:
当所述消息对应的虚拟网络为第二虚拟网络时,
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移小于0,且消息不占据通道(Cx,1),则随机选择(Cx,1)、(Cy,1+)或(Cz,2-)的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移小于0,且消息占据通道(Cx,1),则随机选择(Cx,1;Cz,2-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移大于0,z方向的偏移小于0,则随机选择(Cy,1+)或(Cz,2-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移小于0,则随机选择(Cx,1)或(Cz,2-)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移大于0,z方向的偏移等于0,则选择通道(Cy,1+);
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,1);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移小于0,则选择通道(Cz,2-);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移大于0,z方向的偏移等于0,则选择通道(Cy,1+);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输;
当所述消息对应的虚拟网络为第三虚拟网络时,
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移等于0,选择通道(Cy,2);
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,且所述消息对应的虚拟网络为第五子网络,则随机选择(Cx,2-)或(Cy,2+)或(Cz,1+)的一条通道;
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第七子网络,且所述消息占据通道(Cy,2-),则随机选择(Cy,2-)或(Cz,1+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第七子网络,且所述消息占据通道(Cx,2-)或(Cz,1+),则随机选择(Cx,2-)或(Cy,2-)或(Cz,1+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移大于0,则随机选择(Cy,2)或(Cz,1+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移等于0,z方向的偏移大于0,则选择(Cx,2-)或(Cz,1+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第七子网络,则选择通道(Cx,2-);
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第五子网络,则选择选择(Cx,2-)或(Cy,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移小于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,2-);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移大于0,则选择通道(Cz,1+);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输;
当所述消息对应的虚拟网络为第四虚拟网络时,
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,且所述消息对应的虚拟网络为第一子网络,则随机选择(Cx,2+)或(Cy,2+)或(Cz,2+)的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第三子网络,且所述消息占据通道(Cy,2-),则随机选择(Cy,2-)或(Cz,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移不等于0,y方向的偏移不等于0,z方向的偏移大于0,所述消息对应的虚拟网络为第三子网络,且所述消息占据通道(Cx,2+)或(Cz,2+),则随机选择(Cx,2+)或(Cy,2-)或(Cz,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移大于0,则随机选择(Cy,2)或(Cz,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移等于0,z方向的偏移大于0,则随机选择(Cx,2+)或(Cz,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第三子网络,则选择通道(Cx,2+);
若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移不等于0,z方向的偏移等于0,且所述消息对应的虚拟网络为第一子网络,则选择选择(Cx,2+)或(Cy,2+)中的一条通道;
若当前节点与下一节点之间在x方向的偏移大于0,y方向的偏移等于0,z方向的偏移等于0,则选择通道(Cx,2+);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移大于0,则选择通道(Cz,2+);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移不等于0,z方向的偏移等于0,则选择通道(Cy,2);
若当前节点与下一节点之间在x方向的偏移等于0,y方向的偏移等于0,z方向的偏移等于0,则选择当前虚拟网络的内部通道传输。
8.一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求3至7中任一项所述的路由方法中的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求3至7中任一项所述的路由方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357347.4A CN111865782B (zh) | 2019-04-29 | 2019-04-29 | 三维集成电路及路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357347.4A CN111865782B (zh) | 2019-04-29 | 2019-04-29 | 三维集成电路及路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865782A CN111865782A (zh) | 2020-10-30 |
CN111865782B true CN111865782B (zh) | 2021-08-06 |
Family
ID=72966289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910357347.4A Active CN111865782B (zh) | 2019-04-29 | 2019-04-29 | 三维集成电路及路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865782B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN102663204A (zh) * | 2012-04-25 | 2012-09-12 | 北京工业大学 | 3d集成电路自动布局中tsv位置的距离优化方法 |
CN103763205A (zh) * | 2014-01-14 | 2014-04-30 | 合肥工业大学 | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 |
CN103780243A (zh) * | 2014-01-28 | 2014-05-07 | 合肥工业大学 | 一种具有转移信号功能的3d芯片冗余硅通孔容错结构 |
CN104079480A (zh) * | 2014-05-30 | 2014-10-01 | 中国科学院计算技术研究所 | 一种三维集成电路片上网络的路由方法及其系统 |
CN107220209A (zh) * | 2017-07-15 | 2017-09-29 | 西安电子科技大学 | 基于层错的三维光片上网络架构、通信方法及光路由器 |
US9886275B1 (en) * | 2013-10-09 | 2018-02-06 | Mellanox Technologies Ltd. | Multi-core processor using three dimensional integration |
CN109561034A (zh) * | 2018-12-25 | 2019-04-02 | 中科曙光信息产业成都有限公司 | 三维网络拓扑结构及其路由算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891533B2 (en) * | 2012-06-07 | 2014-11-18 | Extreme Networks, Inc. | Methods systems and apparatuses for dynamically tagging VLANs |
US9508615B2 (en) * | 2015-02-09 | 2016-11-29 | Qualcomm Incorporated | Clock tree synthesis for low cost pre-bond testing of 3D integrated circuits |
-
2019
- 2019-04-29 CN CN201910357347.4A patent/CN111865782B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN102663204A (zh) * | 2012-04-25 | 2012-09-12 | 北京工业大学 | 3d集成电路自动布局中tsv位置的距离优化方法 |
US9886275B1 (en) * | 2013-10-09 | 2018-02-06 | Mellanox Technologies Ltd. | Multi-core processor using three dimensional integration |
CN103763205A (zh) * | 2014-01-14 | 2014-04-30 | 合肥工业大学 | 硅通孔负载全局均衡的三维片上网络延迟上界优化方法 |
CN103780243A (zh) * | 2014-01-28 | 2014-05-07 | 合肥工业大学 | 一种具有转移信号功能的3d芯片冗余硅通孔容错结构 |
CN104079480A (zh) * | 2014-05-30 | 2014-10-01 | 中国科学院计算技术研究所 | 一种三维集成电路片上网络的路由方法及其系统 |
CN107220209A (zh) * | 2017-07-15 | 2017-09-29 | 西安电子科技大学 | 基于层错的三维光片上网络架构、通信方法及光路由器 |
CN109561034A (zh) * | 2018-12-25 | 2019-04-02 | 中科曙光信息产业成都有限公司 | 三维网络拓扑结构及其路由算法 |
Non-Patent Citations (4)
Title |
---|
A Thermal-Driven Test Application Scheme for 3-Dimensional ICs;Dong Xiang et al.;《IEEE:ATS》;20121122;全文 * |
Cost-Effective test optimized scheme of TSV-Based 3D SoCs for Pre-bond Test;Kele Shen et al.;《IEEE:ISVLSI》;20140711;全文 * |
DfT Optimization for Pre-Bond Testing of 3D-SICs containing TSVs;Jia Li et al.;《IEEE:ICCD》;20101006;全文 * |
基于列分转弯模型的片上网络路由算法;蔡源等;《清华大学学报(自然科学版)》;20180723;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111865782A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180293345A1 (en) | Techniques for optimizing dual track routing | |
CN113709040B (zh) | 一种基于可扩展互联裸芯的封装级网络路由算法 | |
US10229087B2 (en) | Many-core processor system integrated with network router, and integration method and implementation method thereof | |
CN109189720B (zh) | 层次化片上网络拓扑结构及其路由方法 | |
Bahmani et al. | A 3D-NoC router implementation exploiting vertically-partially-connected topologies | |
US10218581B2 (en) | Generation of network-on-chip layout based on user specified topological constraints | |
EP3226490B1 (en) | Optical network-on-chip, optical router and signal transmission method | |
CN109561034A (zh) | 三维网络拓扑结构及其路由算法 | |
CN115277551B (zh) | 基于环形结构的模块化三维片上网络无死锁路由系统和方法 | |
CN102882783A (zh) | 基于tsv的三维集成电路的片上网络的拓扑架构、路由方法 | |
US20230350827A1 (en) | Near-memory computing module and method, near-memory computing network and construction method | |
CA3223804A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
CN101267394A (zh) | 三维mesh网中无死锁的平面自适应路由方法 | |
CN107094116B (zh) | 一种包含跨维度链路的直接网络路由方法和系统 | |
CN105095148A (zh) | 一种混合型三维片上网络 | |
CN111865782B (zh) | 三维集成电路及路由方法 | |
CN101242372A (zh) | k元N维mesh网中的无死锁路由方法 | |
KR101242172B1 (ko) | 하이브리드 광학 네트워크-온-칩 시스템 및 그의 라우팅 방법 | |
CN118041847A (zh) | 片上路由方法、装置、电子设备和存储介质 | |
Charif et al. | Rout3d: A lightweight adaptive routing algorithm for tolerating faulty vertical links in 3d-nocs | |
Kurokawa et al. | Xy based fault-tolerant routing with the passage of faulty nodes | |
CN114448862A (zh) | 基于3d片上网络的数据传输方法、装置、设备和介质 | |
US20170195211A9 (en) | Efficient High-Radix Networks for Large Scale Computer Systems | |
CN108063686A (zh) | 一种基于立方体结构的数据中心网络拓扑结构及构建方法 | |
Cai et al. | Deadlock-free adaptive routing based on the repetitive turn model for 3D network-on-chip |
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 |