用于片上网络的一种不规则拓扑结构生成方法

文档序号:7693689阅读:114来源:国知局
专利名称:用于片上网络的一种不规则拓扑结构生成方法
技术领域
本发明属于集成电路设计、尤其涉及片上互连网络设计领域。
背景技术
集成电路一直按照摩尔定律推进,单芯片所集成的IP (Intellectual Property)核数 目越来越多,传统的基于总线的片上互连结构已经在带宽、功耗、可靠性、扩展性等方面表 现出越来越多的局限性,片上通信己经取代计算成为集成电路设计的瓶颈。片上网络 (Network-on-Chip, NoC)作为集成电路设计领域的一项关键技术,用于解决芯片规模增大 所带来的片上互连问题。片上网络主要由路由器、网络接口和物理链路构成。拓扑结构是片上网络研究的一个热点问题,该方面的研究可以分成规则拓扑结构的研究 和非规则拓扑结构的研究。规则型结构具有重用性;不规则型结构是针对具体的应用设计的结构,虽然能够提供更好的通信性能,但是不具有可重用性。在拓扑结构研究中,具体应用 被抽象为一个有向通信图,TP核被抽象为有向通信图的节点,而IP核之间的业务量被抽象 为带权重的有向通信图的边。目前,在不规则拓扑结构的研究中仍没有很好解决的一个问题 就是设计自动化问题,即如何根据具体的有向通信图生成最优或较优的非规则拓扑。发明内容本发明的目的是为片上网络提供一种不规则拓扑结构生成方法,该方法能根据具体的应 用生成较优的不规则拓扑结构。该方法的基本思想是将描述具体应用的有向通信图的节点分成很多小集合。所谓集合, 就是满足以下条件的有向通信图的节点的组合1)集合内部各个节点向集合外其他各个节点 传输的业务量的总和不会超过一个路由器端口所能承受的最大业务量,该集合外部各个节点 向集合内部每个节点传输的业务量的总和不会超过一个路由器端口所能承受的最大业务量, 由于一个节点最多连接到一个路由器端口,因此路由器端口所能承受的最大业务量至少应大 于任意一个节点的向其他所有节点传输的业务量的总和,也至少应该大于所有其它节点向某 节点传输的业务量的总和;2)考虑到路由器设计的复杂度,各路由器的端口数不能超过5, 因此一个集合里的节点数目不能超过4。属于同一个集合的所有节点被连接到同一个边缘路 由器上。该方法可以分为三个步骤1)把描述片上网络应用的通信图中的节点分成很多小集 合,每个集合中的所有节点用一个边缘路由器连接后形成新的节点,从而形成新的有向通信 图;对新的有向通信图继续进行集合划分,直到不能形成一个新的集合,或者节点数目小于 或等于5为止。2)根据最终形成的通信图的节点数目确定核心网络路由器数目并生成核心网 络。3)縮减冗余的边缘路由器简化网络。在描述本发明的具体步骤前,我们先定义五个概念1)构成集合^的所有节点都称为集 合^的元素。2)如果两个集合存在共同的元素,则称两个集合存在交集。3)如果集合S中 的所有元素属于集合^且^中存在元素不属于S,则称集合^包含集合S,表示为Bc^否 则称集合J不包含集合S,表示为BC^。 4) 一个集合中的各个节点与集合外的每个节点之 间的通信量的总和称为该集合的外界通信量。5)对于边缘路由器,连接有向通信图节点的端 口称为本地端口,其它端口称为网络端口, 一个边缘路由器可以有多个本地端口但只有一个网络端口。假定某有向通信图的节点数目为",则所有可能构成集合的节点组合的数目为本发明的特征在于所述方法是在计算机上先后按以下步骤依次实现的步骤(1).将描述应用的通信图输入计算机(包括通信图的节点数和任意节点到任意其 它节点的业务量),设置路由器端口所能承受的最大业务量,清空集合缓存库,初始化W并令 ''=1;步骤(2).判断第Z个口j能构成集合的节点组合《是否满足成为一个集合的条件;如果满 足成为一个集合的条件,则转到步骤(3);如果不满足成为一个集合的条件,则转到步骤(5); 歩骤(3).判断集合缓存库里是否存在一个或多个集合D,使得/^cD或flcz^如果不存在,则转到步骤(4);如果存在某些集合D使得Z)ce,则删除这些集合D后转到步骤(4);如果存在某些集合D使得《cZ),则转到歩骤(5);步骤(4).判断f是否与集合缓存库中的某些集合存在交集;如果不存在交集,则转到步骤(5);如果存在交集,则对存在交集的集合的交集部分进行重新分配,使得这些集合仍 然是集合且它们的外界通信量的总和最小;如果多种分配方式均能使这些集合的外界通信量 的总和达到最小,则选择能使这些集合的外界通信量大小最接近的分配方式;最后将分配后 得到的新集合存入集合缓存库中替换分配前的集合并转到步骤(5);步骤(5).,自加l,然后判断/是否等于W + l;如果f不等于7V + l,则跳转到步骤(2); 如果Z等于W + 1,则转到步骤(6);步骤(6).判断集合缓存库中是否有集合以及集合数目是否大于5;如果有集合且集合 数目大于5,则把集合缓存库中的每个集合中的所有节点用一个边缘路由器连接成一个新的 大节点,形成新的通信图,清空集合缓存库,根据新的通信图更新W,令 1并跳转到步骤 (2);如果有集合但集合数目不大于5,则集合划分结束,把集合缓存库中的每个集合中的所有节点用一个边缘路由器连接成一个新的大节点,形成新的通信图并跳转到步骤(7):如果没有集合,则集合划分结束并转到步骤(7);步骤(7).根据最终通信图的节点数2,确定核心网络路由器数目,生成核心网络若e",则核心网络路由器数目为1,然后把2个节点直接连接到一个核心网络路由器上,由 上面的定义可知,每个节点输入和输出的总业务量都小于一个路由器端口所能承受的业务量, 因此所生成的核心网络满足通信要求,T是结束该步骤;若2>5,则核心网络路由器数目等于e,然后把e个核心网络路由器连成一个环,再把2个节点分别连到e个核心网络路由器上,接着分配路由路径,并在保证每个核心网络路由器的端口数不超过5的条件下通过添 加核心网络路由器端口和链路来满足通信要求。步骤(8).删除冗余的边缘路由器,简化网络;假定p为删除之前某边缘路由器S的本地端口数,;fc为删除之前边缘路由器五的网络接口所连接的路由器F的端口数,如果"^6,则删除边缘路由器£,并把与边缘路由器£本地端口相连的节点直接连接到路由器^上,使其端口数为/t + p-l,刚好满足不超过5的条件。由上述方法简化后的网络,仍然满足通信要求,解释如下在路由器F中,对于与被删除的边缘路由器£本地端口相连的节点相连的端 口,由节点的定义可知经过这些路由器端口的业务量不会超过一个路由器端口所能承受的业 务量;对于其它端口,由于在删除边缘路由器£前后,经过这些端口的业务量不变,因此这 些端口的业务量仍然不会超过一个路由器端口所能承受的业务量。该方法有如下优点1)满足应用的通信性能要求;2)多个IP核接在同一个路由器,能 很好节省路由器的数目,从而减小了实现面积;3)多个IP核接在同一个路由器,有效缩短 了通信路径长度,从而减小通信功耗。例如,对于MPEG4解码器,该方法生成的片上网络拓 扑结构只需要4个路由器,路由器的总端口数目为18,很好节省了片上网络的实现面积。


图1.该不规则拓扑结构生成方法的软件流程框2. MPEG 4解码器通信图。图3.集合划分后形成的新的通信图。图4.生成的初步拓扑结构。图5.生成的最终拓扑结构。
具体实施方式
在描述具体实施方式
以前,我们先定义五个概念1)构成集合乂的所有节点都称为集合^的元素。2)如果两个集合存在共同的元素,则称两个集合存在交集。3)如果集合5中的 所有元素属于集合力且^中存在元素不属于S,则称集合X包含集合S,表示为Bcz八否则 称集合^不包含集合6,表示为ScZ^。 4) 一个集合中的各个节点与集合外的每个节点之间 的通信量的总和称为该集合的外界通信量。5)对于边缘路由器,连接有向通信图节点的端口 称为本地端口,其它端口称为网络端口, 一个边缘路由器可以有多个本地端口但只有一个网 络端口。假定某有向通信图的节点数目为",则所有可能构成集合的节点组合的数目为jV = C 2+C 3+C 4 0该方法在计算机上运行,实现该方法的软件流程框图如图l所示。描述如下步骤(1).将描述应用的通信图输入计算机(包括通信图的节点数和任意节点到任意其 它节点的业务量),设置路由器端口所能承受的最大业务量,清空集合缓存库,初始化W并令步骤(2).判断第Z个可能构成集合的节点组合f是否满足成为一个集合的条件;如果满 足成为一个集合的条件,则转到步骤(3);如果不满足成为一个集合的条件,则转到步骤(5); 步骤(3).判断集合缓存库里是否存在一个或多个集合Z ,使得《cD或Dc^如果不存在,则转到步骤(4);如果存在某些集合D使得Dc/;,则删除这些集合Z)后转到步骤(4);如果存在某些集合D使得^c5,则转到步骤(5);步骤(4).判断S是否与集合缓存库中的某些集合存在交集;如果不存在交集,则转到步骤(5);如果存在交集,则对存在交集的集合的交集部分进行重新分配,使得这些集合仍 然是集合且它们的外界通信量的总和最小;如果多种分配方式均能使这些集合的外界通信量 的总和达到最小,则选择能使这些集合的外界通信量大小最接近的分配方式;最后将分配后 得到的新集合存入集合缓存库中替换分配前的集合并转到步骤(5);步骤(5).,自加l,然后判断/是否等于W + l;如果,'不等于7V + 1,则跳转到步骤(2); 如果,等于7V + 1,则转到步骤(6);步骤(6).判断集合缓存库中是否有集合以及集合数目是否大于5;如果有集合且集合 数目大于5,则把集合缓存库中的每个集合中的所有节点用一个边缘路由器连接成一个新的 大节点,形成新的通信图,清空集合缓存库,根据新的通信图更新W,令/ = 1并跳转到步骤 (2);如果有集合但集合数目不大于5,则集合划分结束,把集合缓存库中的每个集合中的 所有节点用一个边缘路由器连接成一个新的大节点,形成新的通信阁并跳转到步骤(7);如 果没有集合,则集合划分结束并转到步骤(7);步骤(7).根据最终通信图的节点数e,确定核心网络路由器数目,生成核心网络若2",则核心网络路由器数目为1,然后把2个节点直接连接到一个核心网络路由器上,由 上面的定义可知,每个节点输入和输出的总业务量都小于一个路由器端口所能承受的业务量, 因此所生成的核心网络满足通信要求,于是结束该步骤若e>5,则核心网络路由器数目等于e,然后把e个核心网络路由器连成一个环,再把e个节点分别连到e个核心网络路由器上,接着分配路由路径,并在保证每个核心网络路由器的端口数不超过5的条件下通过添加核心网络路由器端口和链路来满足通信要求。步骤(8).删除冗余的边缘路由器,简化网络;假定p为删除之前某边缘路由器fi的本地端口数,t为删除之前边缘路由器E的网络接口所连接的路由器F的端口数,如果yt + ;^6,则删除边缘路由器£,并把与边缘路由器£本地端口相连的节点直接连接到路由器^上,使其端口数为A + p-l,刚好满足不超过5的条件。由上述方法简化后的网络,仍然满足通信要求,解释如下在路由器F中,对于与被删除的边缘路由器£本地端口相连的节点相连的端 口,由节点的定义可知经过这些路由器端口的业务量不会超过一个路由器端口所能承受的业 务量;对于其它端口,由于在删除边缘路由器£前后,经过这些端口的业务量不变,因此这 些端口的业务量仍然不会超过一个路由器端口所能承受的业务量。下面给出一个MPEG 4解码器的片上网络拓扑结构生成例子。MPEG 4解码器的通信图如 图2所示,假定路由器所有端口的最大允许通信量为1793 (刚好等于"meml"节点的向其他 所有节点传输的业务量的总和)。其拓扑结构生成过程描述如下首先将MPEG 4解码器的通 信图输入计算机,然后根据上述步骤(1)到步骤(5)进行集合划分后得到四个集合,分别 是{"meml,,、"叩sp,,} , { "cpu,, 、 "mem2"、 "rast"}, { "vu". 、 "dsp"、 "au,,)禾口( "bab,,、"mem3"、 "risc"、 "idct" };由于集合数目小于5,则集合划分结束,把四个集合分布用四 个边缘路由器连接成四个新的大节点,形成的最终通信图如图3所示。由于最终通信图的顶点数目e为4,则核心网络路由器数目为1,将最终通信图的四个节点用一个核心网络路由器进行连接,得到初步拓扑结构(如图4所示);接着,删除冗余的边缘路由器,得到最终拓扑 结构(如图5所示)。对于MPEG 4解码器,该方法生成的片上网络拓扑结构只需要4个路由 器,路由器的总端口数目为18,很好节省了片上网络的实现面积。
权利要求
1.用于片上网络的一种不规则拓扑结构生成方法,其特征在于,所述方法是在计算机上先后按以下步骤生成的步骤(1).把描述具体应用的有向通信图输入计算机,其中节点表示单芯片中所集成的各个IP核,带权重的边表示各IP核之间的业务量,同时设置一个路由器端口所能承受的最大业务量并清空集合缓存库,所述集合是指满足以下条件的有向通信图的节点组合该集合内部各个节点向集合外其他各个节点传输的业务量的总和不会超过一个路由器端口所能承受的最大业务量,该集合外部各个节点向集合内部每个节点传输的业务量的总和不会超过一个路由器端口所能承受的最大业务量,每个集合里的节点数目至多不超过4个;各个路由器,包括核心网络路由器和边缘路由器,的端口至多为5个,每个节点最多连接到一个路由器的端口,并且初始化可能构成集合的节点组合数目N,<math-cwu><![CDATA[<math> <mrow><mi>N</mi><mo>=</mo><msubsup> <mi>C</mi> <mi>n</mi> <mn>2</mn></msubsup><mo>+</mo><msubsup> <mi>C</mi> <mi>n</mi> <mn>3</mn></msubsup><mo>+</mo><msubsup> <mi>C</mi> <mi>n</mi> <mn>4</mn></msubsup><mo>,</mo> </mrow></math>]]></math-cwu><!--img id="icf0001" file="S2008101044035C00011.gif" wi="27" he="4" top= "95" left = "122" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/-->其中n为所输入的有向通信图的节点数目,且令i=1;步骤(2).判断第i个可能构成集合的节点组合Pi是否满足成为一个集合的条件若满足成为一个集合的条件,则转步骤(3),若未满足成为一个集合的条件,则转步骤(5);步骤(3).判断集合缓存库里是否存在一个或多个集合D,使得<math-cwu><![CDATA[<math> <mrow><msub> <mi>P</mi> <mi>i</mi></msub><mo>&Subset;</mo><mi>D</mi> </mrow></math>]]></math-cwu><!--img id="icf0002" file="S2008101044035C00012.gif" wi="9" he="3" top= "138" left = "147" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/-->或<math-cwu><![CDATA[<math> <mrow><mi>D</mi><mo>&Subset;</mo><msub> <mi>P</mi> <mi>i</mi></msub><mo>:</mo> </mrow></math>]]></math-cwu><!--img id="icf0003" file="S2008101044035C00013.gif" wi="11" he="3" top= "138" left = "162" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/-->若不存在,则转到步骤(4),若存在某些集合D,使得<math-cwu><![CDATA[<math> <mrow><mi>D</mi><mo>&Subset;</mo><msub> <mi>P</mi> <mi>i</mi></msub><mo>,</mo> </mrow></math>]]></math-cwu><!--img id="icf0004" file="S2008101044035C00014.gif" wi="11" he="3" top= "157" left = "79" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/-->则删除这些集合D后转步骤(4),若存在某些集合D,使得<math-cwu><![CDATA[<math> <mrow><msub> <mi>P</mi> <mi>i</mi></msub><mo>&Subset;</mo><mi>D</mi><mo>,</mo> </mrow></math>]]></math-cwu><!--img id="icf0005" file="S2008101044035C00015.gif" wi="11" he="3" top= "169" left = "79" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/-->则转到步骤(5);步骤(4).判断Pi是否与集合缓存库中的某些集合D存在交集若不存在交集,则转到步骤(5),若存在交集,则对交集部分进行重新分配,使得这些重新分配后的集合仍然满足集合的条件且它们的外界通信量总和最小,然后把重新分配后得到的新集合存入集合缓存库中去替换重新分配前的集合,转步骤(5);步骤(5).使i+1,判断是否等于N+1;若不等于N+1,则返回步骤(2),若等于N+1,则转步骤(6);步骤(6).判断集合缓存库中的集合数目是否大于5若集合数目大于5,则把集合缓存库中的每个集合中的所有节点用一个边缘路由器连接成一个新的大节点,形成新的有向通信图,清空集合缓存库,再根据新的有向通信图的节点数目更新N值,令i=1,返回步骤(2),若集合数目不大于5,则集合划分结束,把集合缓存库中的每个集合的所有节点用一个边缘路由器连接成一个新的大节点,形成最终的有向通信图,转步骤(7),若没有集合,则集合划分结算并转步骤(7);步骤(7).根据最终通信图的节点数Q,确定核心网络路由器数目,生成核心网络若Q≤5,则核心网络路由器数目为1,然后把Q个节点直接连接到一个核心网络路由器上,并结束该步骤,若Q>5,则核心网络路由器数目等于Q,然后把Q个核心网络路由器连成一个环,再把Q个节点分别连到Q个核心网络路由器上,接着分配路由路径,并在保证每个核心网络路由器的端口数不超过5的条件下通过添加核心网络路由器端口和链路来满足通信要求。
2. 根据权利要求l所述的用于片上网络的一种不规则拓扑结构生成方法,其特征在于,在所 述步骤(7)之后,增加一个步骤(8):步骤(8).删除冗余的边缘路由器,简化网络 若A: + p ",其中,p为删除之前某边缘路由器的本地端口数,/t为删除之前某边缘路由器的网络接口所连接的路由器F的端口数,贝ij,删除该边缘路由器,并把与该边缘路由器本地端口相连的节点直接连接到路由器F上,使其端口数为"p-i。
3. 根据权利要求1所述的用于片上网络的一种不规则拓扑结构生成方法,其特征在于,在步 骤(4)中,若多种分配方式均能使这些集合的外界通信量的总和达到最小,则选择能使这些 集合的外界通信量大小最接近的分配方式。
全文摘要
用于片上网络的一种不规则拓扑结构生成方法属于片上互连网络设计领域,其特征在于,含有以下步骤把描述片上网络应用的通信图中的节点分成很多小集合,每个集合中的所有节点用一个边缘路由器连接后形成新的节点,从而形成新的有向通信图;对新的有向通信图继续进行集合划分,直到不能形成一个新的集合,或者节点数目小于或等于5为止;再根据最终形成的通信图的节点数目确定核心网络路由器数目并生成核心网络;缩减冗余的边缘路由器简化网络。本发明具有再满足具体应用的通信要求下,面积小、通信功耗低的优点。
文档编号H04L12/02GK101267315SQ20081010440
公开日2008年9月17日 申请日期2008年4月18日 优先权日2008年4月18日
发明者曾烈光, 林世俊, 厉 苏, 苏海波, 金德鹏, 雪 陈 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1