片上网络的拓扑结构和映射优化方法

文档序号:7741750阅读:260来源:国知局
专利名称:片上网络的拓扑结构和映射优化方法
技术领域
本发明涉及基于布图规划技术的一般性2D拓扑结构,特别涉及片上网络(NoC, Network-on-Chip)的拓扑结构和映射优化方法。
背景技术
随着集成电路的制造技术的不停发展,单个硅片上可以容纳的晶体管数目越来越 多,已经达到了数十亿门级,这意味着单个芯片中可集成越来越多的IP核。传统的总线结 构无法适应数十个乃至上百个IP核的通信要求。此时片上网络作为在单一芯片上实现的 基于网络通讯的多处理系统,很好地解决总线结构带来的问题(参见文献1-4),其将计算 机网络技术应用到芯片设计中来,得到了优于总线结构的结果。然而,现有的NoC设计(参见文献5-8)中,映射问题和拓扑结构一直未能实现优 化,劣化的映射影响在相应拓扑结构上的最终位置,同时,规则的拓扑结构造成芯片面积很 大的浪费,在此基础上,现有的NoC设计功耗较大。因此,有必要提供一种改进的片上网络的拓扑结构和映射优化方法上述提到的相关文献[ 1 ] Kumar S, Jantsch A, Soininen J P, et al. A network on chip architecture anddesign methodology[C],Proceedings of the IEEE Computer Society AnnualSymposium on VLSI, Pittsburgh,2002. 105-112[2]Dally W J, Towles B. Route packets, not wires :on_chip interconnectionnetworks[C], Proceedings of Design Automation Conference, Las Vegas, Nevada,2001,684-689[3]张磊、李华伟、李晓维。用于片上网络的容错通信算法[J],计算机辅助设计与 图形学学报,2007,19 (4) · 508-514[4]周干民、高明伦。NoC基础研究[D].合肥合肥工业大学[5]Chae-Eun Rhee, Han-You Jeong, Soonhoi Ha. Many-to-many core-switch mapping in 2_D mesh NoC architecturs[C], ICCD 2004,San Jose, CA,2004. 438-443.[6]Srinivasan Murali, Giovanni De Micheli.Bandwidth-constrained mappingof cores onto NoC architectures[C],Proceedings of Design,Automation and Test inEurope Conference and Exhibition (DATE 04). France :Paris,2004,896-901.[7]Jingcao Hu, Radu Marculescu. Energy-and performance-aware mapping forregular NoC architectures[J], IEEE Transactions on CAD of IC and Systems, 2005,24(4),551-562.[8]古海云、李长文、孙姝.不规则2D Mesh NoC映射算法研究[J].微电子学与计 算机.2008,25 (7). 56-60

发明内容
本发明的目的是提供一种片上网络的拓扑结构和映射优化方法,能优化网络结构 和映射,减小功耗。为了实现上述目的,本发明提供了一种片上网络的拓扑结构和映射优化方法,包 括如下步骤对布局中的每一个模块,从每个模块的右上角的顶点出发,优先向上绘制,再 向右绘制,一直绘制到布图的右上角;从每个模块的左下角的顶点出发,优先向下绘制,再 向左绘制,一直绘制到布图的左下角;基于布局的左下角到右上角的直线与第一折线相交 的顺序,给布局中的所有模块编号;对布局中的编号模块,从每个模块的左上角的顶点出 发,优先向上绘制,再向左绘制,一直绘制到布图的左上角;从每个模块的右下角的顶点出 发,优先向下绘制,再向右绘制,一直绘制到布图的左下角;基于布局的左上角到右下角的 直线与第二折线相交的顺序,获取优化拓扑结构的单序列;根据单序列与模块集合的映射 关系,获取优化映射的名称序列。在本发明的一个实施例中,所述方法还包括步骤将单序列解码成水平关系图和 垂直关系图,并将水平关系图和垂直关系图细分为上下左右共四个邻接关系图。在本发明的另一实施例中,所述方法还包括步骤根据名称序列和由单序列确定 的水平关系图和垂直关系图对序列对解码,确定各个模块的位置。在本发明的再一实施例中,所述方法还包括步骤通过比较单序列中整数元素的 大小和整数元素在单序列中的左右位置确定整数元素所对应的模块的上下左右关系。在本发明的又一实施例中,所述方法还包括步骤根据GXY路由算法确定整个片 上网络NoC的路由。其中,所述GXY路由算法的原则为先沿着水平方向路由,再沿着垂直方向路由,直 到将信号传送到目标模块。在本发明的再一实施例中,所述方法还包括步骤根据上下左右四个邻接关系图 判断模块相邻。在本发明的又一实施例中,所述方法还包括步骤根据模块相邻的判断结果确定 模块之间的距离,基于确定的片上网络的路由获取功耗。由上述技术方案可知,本发明片上网络的拓扑结构和映射优化方法通过两种绘制 方法确定优化拓扑结构的单序列,进而通过单序列和模块集合的映射关系,获取优化映射 的名称序列,因此,本方法可以优化网络结构和映射,减小功耗。另外,本发明采用了 GXY路 由算法确定整个片上网络NoC的路由,并依据模拟退火算法进行了优化,得到了功耗低且 面积小的布局结果。通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明 的实施例。


图1为本发明片上网络的拓扑结构和映射优化方法的流程图。图Ia展示了图1所示片上网络的拓扑结构和映射优化方法中的第一种拓扑结构 绘制方法。图Ib为在图Ia中绘制一条从左上角到右下角的直线的示意图。
图Ic展示了根据图Ib所示绘制方法对模块进行编号的方法。图Id展示了图1所示片上网络的拓扑结构和映射优化方法中的第二种拓扑结构 绘制方法。图Ie为在图Id中绘制一条从左下角到右上角的直线的示意图。图2a展示了图Id所示绘制方法确定的单序列解码的水平关系图。图2b展示了图Id所示绘制方法确定的单序列解码的垂直关系图。图2c展示了图Id所示绘制方法确定的单序列对应的拓扑结构图。图3展示了图Id所示绘制方法确定的单序列与模块集合的映射关系。图4展示了图1所示片上网络的拓扑结构和映射优化方法中序列对解码后的布局 中两模块的上下左右关系。图5展示了图1所示片上网络的拓扑结构和映射优化方法中模块之间的相邻关系。图6为图1所示片上网络的拓扑结构和映射优化方法中GXY路由算法实现路由的 示意图。图7为MPEG4的任务图。图8展示了基于图7所示任务图采用指数降温策略进行退火得到的优化布局结^ ο
具体实施例方式现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。见图1,本实施例片上网络的拓扑结构和映射优化方法,包括如下步骤步骤S10,对布局中的每一个模块,从每个模块的右上角的顶点出发,优先向上绘 制,再向右绘制,一直绘制到布图的右上角;从每个模块的左下角的顶点出发,优先向下绘 制,再向左绘制,一直绘制到布图的左下角;步骤S11,基于布局的左下角到右上角的直线与第一折线相交的顺序,给布局中的 所有模块编号;步骤S12,对布局中的编号模块,从每个模块的左上角的顶点出发,优先向上绘制, 再向左绘制,一直绘制到布图的左上角;从每个模块的右下角的顶点出发,优先向下绘制, 再向右绘制,一直绘制到布图的左下角;步骤S13,基于布局的左上角到右下角的直线与第二折线相交的顺序,获取优化拓 扑结构的单序列(Single-Sequence,SS);步骤S14,将单序列解码成水平关系图和垂直关系图,并将水平关系图和垂直关系 图细分为上下左右共四个邻接关系图;步骤S15,根据单序列与模块集合的映射关系,获取优化映射的名称序列 (Name-Sequence, NS);步骤S16,根据名称序列和由单序列确定的水平关系图和垂直关系图对序列对解 码,确定各个模块的位置;步骤S17,通过比较单序列中整数元素的大小和整数元素在单序列中的左右位置 确定整数元素所对应的模块的上下左右关系;
步骤S18,根据GXY路由算法确定整个片上网络NoC的路由;步骤S19,根据上下左右四个邻接关系图判断模块相邻;步骤S20,根据模块相邻的判断结果确定模块之间的距离,基于确定的片上网络的 路由获取功耗。由上可以看出,本方法采用双序列表示法_确定拓扑结构的单序列SS和确定映射 的名称序列NS,能对拓扑结构、映射进行优化,实现专用的多核设备的制造过程中功耗尽可 能低的目标。由于本方法采用单序列SS和模块名称序列NS表示布局,因此可称为SSNS布 局表不法。下面对实施例片上网络的拓扑结构和映射优化方法进行详细说明。确定优化拓扑结构的单序列第一种拓扑结构绘制方法Stepl 对布局中的每一个模块,从每个模块的右上角的顶点出发,优先向上绘制, 再向右绘制,一直绘制到布图的右上角。St印2:同理,从每个模块的左下角的顶点出发,优先向下绘制,再向左绘制,一直 绘制到布图的左下角,得到如图Ia所示的拓扑结构。第二种扑结构绘制方法Stepl 对布局中的每一个模块,从每个模块的左上角的顶点出发,优先向上绘制, 再向左绘制,一直绘制到布图的左上角。Step2:同理,从每个模块的右下角的顶点出发,优先向下绘制,再向右绘制,一直 绘制到布图的左下角。在图Ia中,绘制一条从左上角到右下角的直线,如图lb,按照直线与折线相交的 顺序,用数字给模块进行编号,得到图lc。如图lc,模块已用数字1-6进行了编号。运用第 二种拓扑结构绘制方法,对编号的模块进行拓扑结构绘制,得到如图Id所示的拓扑结构。 在图Id中,绘制一条从左下角到右上角的直线,如图le,按照直线与折线相交的顺序得到 一组序列(4,2,6,1,3,5)-确定拓扑结构的单序列SS。由上可以看出,对含有η个模块的拓扑结构布局问题,单序列SS的长 度仅为η,本方法是序列对表示法(参考H. Murata, K. Fujiyoshi, S. Nakatake, et a 1. . "Rectangle-Packing-based Module Placement, " IEEE/ACM InternationalConference on Computer-Aided Design(ICCAD), San Jose, California, USA,November 1995,472-479)的一种改进,仅仅用一个整数序列就能够把模块的上下左右 (ABLR)关系表示出来,确定拓扑结构,实现拓扑结构的优化。在NoC问题中,经过优化的拓 扑结构要远远优于一般的拓扑结构(如Mesh拓扑结构)。确定模块之间的上下左右关系在单序列SS中,通过比较单序列SS中整数元素的大小和整数元素在单序列SS中 的左右位置确定整数元素所对应的模块的上下左右关系。具体的定义如下(1)单序列SS中整数元素a在整数元素b的右边同时a < b时,整数元素a对应 的模块位于整数元素b对应的模块的上边。(2)单序列SS中整数元素a在整数元素b的左边同时a > b,整数元素a对应的 模块位于整数元素b对应的模块的下边。
(3)单序列SS中整数元素a在整数元素b的左边同时a < b,整数元素a对应的 模块位于整数元素b对应的模块的左边。(4)单序列SS中整数元素a在整数元素b的右边同时a > b,整数元素a对应的 模块位于整数元素b对应的模块的右边。图4展示了序列对(SP)解码后的布局中两模块的上下左右关系。如图,模块j的 左边界尚未离开上方的区域,故模块j的位置属于模块i的上方。单序列的解码
将单序列SS解码成唯一的水平关系图和垂直关系图(具体解码方法参考Kang Li, Juebang Yu, YongbingYu, Configuration of Floorplan and PlacementAlgorithm Using Horizontal and Vertical Contour Based on Single Sequence[C], InProceedings of Communications, Circuits and Systems,2008,1171-1174),该两图对应了 NoC 的一般性 2D拓 扑结构,可见本方法对单序列SS这一整数序列解码成布局较为简单。上述单序列SS (4,2,6, 1,3,5)解码的水平关系图和垂直关系图见图2a、2b所示,对应的2D拓扑结构见图2c。本发明采用邻接链表这种数据结构来存储图,根据指针的指向不同,将上述水平 关系图和垂直关系图分别存储为左右邻接链表和上下邻接链表。对右和上邻接链表,新的 边插到链表的尾端。直接遍历右和上邻接链表,得到左和下邻接链表,对于左和下邻接链 表,新的边插到链表的头结点后。确定优化映射的名称序列根据单序列与模块集合的映射关系,确定名称序列。例如上述单序列SS = (4,2, 6,1,3,5),模块集合 M = {SRAM, FIFO, ME, Input, VLC, CompBlock},单序列 SS 中的元素与 模块集合M中的元素构成的任何一种一一映射对应一种布局。由图3所示的映射关系可以得到与单序列SS对应的模块序列为(SRAM,FIF0,ME, Input, VLC, CompBlock),这个序列称为名称序列NS。将长度为2η的序列对(SP)用一个长度为η的单序列SS和一个长度为η的模 块名称序列NS来表示。根据名称序列NS和由单序列SS确定的水平关系图和垂直关系 图对序列对(SP)解码,确定各个IP模块的位置(以各IP模块的左下角的顶点坐标作为 它的位置,具体位置确定方法参考 Kang Li, Juebang Yu, YongbingYu, Configuration of Floorplan and Placement Algorithm Using Horizontaland Vertical Contour Based on Single Sequence[C], In Proceedings ofCommunications,Circuits and Systems,2008, 1171-1174)。这种方法得到的各个IP模块的位置都是紧紧相邻的。上述NoC的映射方法有如下益处1)由于各个IP模块的位置都是紧紧相邻的,因 此路由的距离也随之缩短,功耗也会降低;2)各个IP模块的位置紧紧相邻也可以减少整个 布图的面积;3)从上述算法可以看出,不用考虑模块重叠的问题。判断模块是否相邻假设模块Mi映射到单序列SS中的数字为Si,模块%映射到单序列SS中的数字为 Sjo则两模块相邻为1)右邻接关系图中,Si的邻接链表的第一个邻接点是Sj,则Mi在Mj的左边并且是 相邻的。2)左邻接关系图中,Si的邻接链表的第一个邻接点是Sj,则Mi在Mj的右边并且是相邻的。3)下邻接关系图中,Si的邻接链表的第一个邻接点是Sj,则Mi在Mj的上边并且是相邻的。4)上邻接关系图中,Si的邻接链表的第一个邻接点是Sj,则Mi在Mj的下边并且是 相邻的。基于上述定义,图5中与模块M相邻的模块有1)左相邻模块M左1,模块M左2 ;2)右相邻模块M右1,模块M右2 ;3)上相邻模块Mil,模块M上2 ;4)下相邻模块M下1,模块M下2,模块M下3。无死锁静态GXY路由算法基于单序列SS确定的拓扑结构,根据GXY路由算法确定整个片上网络NoC的路 由。其中GXY路由算法的原则为先沿着水平方向路由,再沿着垂直方向路由,直到将信号传 送到目标模块。下面详细描述GXY路由算法如何实现路由。如图6所示,假设路由起点模块为模 块Ms,终点模块为模块Mg,则具体路由步骤为stepl 确定模块Ms和模块Mg的相对位置关系模块Ms在模块Mg的右上方;st印2 令模块Ms向左路由一步(选取其中一个左相邻模块),并将新的模块记为 模块Ms ;令模块Mg向上路由一步(选取其中一个上相邻模块),并将新的模块记为Mg ;st印3 不断重复st印2,直到遇到相交点模块Merass ;St印4 将st印2中模块Ms和模块Mg路由的路径连接起来,连接的路径即为模块轧 到模块Mg路由方案。在模块Ms向左路由时,根据实际情况选取左相邻模块,当交换机都放在左下角时, 每次选取最后一个左相邻模块;在模块^向上路由时,根据实际情况选取上相邻模块,当交 换机都放在左下角,每次选取第一个上相邻模块。另外,不存在右相邻模块,则以第一个邻 接点作为右相邻模块,不存在上、下、左相邻模块为类似处理。由上可以看出,本方法采用了推广的XY维序路由算法GXY路由算法(generalized XY routing algorithm)确定整个片上网络NoC的路由,相比于传统的XY维序路由算法,不 仅克服了只能应用在规则的Mesh拓扑结构上的缺陷,能应用到不规则的2D拓扑结构上,而 且能够较大程度地降低功耗。NoC功耗计算由于NoC的电路规模巨大,而且在基于纳米工艺下进行加工,在单芯片上实现更 大规模电路集成的条件下,如何降低通信功耗成为设计者越来越关心的问题,因此功耗也 成为NoC最重要的约束。定义1 IP核通信任务图G(V,C)是一个有向图,每个顶点ν e V,表示一个IP模 块,每条有向边e C,表示从第i个IP核到第j个IP核的通信任务,权重表示通信 任务Cij的数据流量,单位为flit,通讯量与flit数成正比。定义2 NoC拓扑结构图P(R,L)是一个有向完全图,每个顶点r e R表示一个资 源节点,每条有向边Iu e L,表示从节点i到节点j的路径,其权值表示从节点i传输一个flit到节点j的功耗大小。给定IP核通信任务图G和NoC拓扑结构图P,寻找处理单元T到资源节点R的映 射函数Φ,NoC功耗的目标函数为
<formula>formula see original document page 9</formula>约束条件为<formula>formula see original document page 9</formula>(2)<formula>formula see original document page 9</formula> (3)其中,约束条件(2)和(3)表明每个处理单元只能被分配到一个资源节点上,而且 每个资源节点只能分配一个处理单元。其中,其中,E为NoC的总功耗,Wij.表示第i个IP核到第j个IP核的通信任务的 数据流量…表示从资源节点α传输一个数据流控制单元到资源节点。的功耗。 emaP{rt ),〃#( )的计算米用了 H_S. Wang 等人(参考 Hangsheng Wang, Xinping Zhu, Li-Shiuan Peh,et al. . Orion :A Power-Performance Simulator forInterconnection Networks,In Proceedings of MICRO 35,Istanbul,Turkey, November 2002,294-305)建立的体系结构 级的通讯功耗模型。具体地为 emap{n )map(rl) = ^ηο ββnode + ^IinkeIink(^)其中,en。de表示每个交换机处理1个flit数据所消耗的能量,elink表示每个flit 数据经过一个通道所消耗的能量,Nntxte表示路由过程中经过的交换机数目,Dlink表示从节点 A到节点r」的路由距离。若第i个IP模块与第j个IP模块相邻,则两模块之间的距离采用曼哈顿距离;若 第i个IP模块与第j个IP模块不相邻,则按路由路径重新对第i个IP模块、第j个IP模 块以及位于两模块之间的模块进行编号i,i+1,. . .,j-1,j,此时两模块之间的距离为<formula>formula see original document page 9</formula>其中,dk表示第k个IP模块与第k+Ι个IP模块之间的曼哈顿距离,由此可以求出 第i个IP模块与第j个IP模块之间的功耗大小为 <formula>formula see original document page 9</formula>再由公式(1)就可以计算出总的功耗。本发明复杂度分析解空间的复杂度采用BSG网格(整个芯片平均分成nXn个网格),其解空间为 丨,解空间的复杂 度远大于0((η! )2)。使用本发明SSNS布局表示法,若有η个模块,则解空间的复杂度为0((η ! )2)。因此,本发明SSNS布局表示法的解空间复杂度比采用BSG的解空间复杂度低。计算功耗的复杂度
采用BSG网格,在计算功耗时用Dijkstra算法,它的复杂度为节点个数的平方,由 于大小为nXn的布局矩阵共有(η+1)2个节点,那么要计算Cn2对模块之间的距离,计算功 耗的复杂度为Cn2X (η+1)4,即0(η6)。用本发明SSNS布局表示法,只需用布局解码后的模块坐标来计算两两模块之间 的曼哈顿距离,计算一对模块的最短距离的复杂度是常数级的。由于布局解码的复杂度为 0 (η2),计算功耗的复杂度为0(n2+Cn2),即0(n2)。因此,本发明SSNS布局表示法的计算功耗复杂度比采用BSG的计算功耗复杂度 低。考虑路由算法的计算功耗复杂度计算功耗的过程中若考虑到路由,根据上下左右关系图可得到模块A到模块B的 路由路径,复杂度仅为O(n)。由于布局中共有Cn2对模块,引入路由算法后,计算功耗的复 杂度为0(n3)。
因此,即使考虑到路由算法,本发明SSNS布局表示法的计算功耗复杂度仍比采用 BSG的计算功耗复杂度低。由NoC的映射和路由问题的解空间的复杂度可以看出,该问题是NP难题 (NP-Complete,非多项式算法难题),目前一般采用启发式算法进行求解。本发明采用模拟退火方法对片上网络的映射和路由问题进行优化求解。设NS和 SS的初始值均为1,2,3,...,η。可以用以下几种操作产生新的解操作1 交换NS中的若干对数字;操作2 将NS中的第i个数字插入到第j个位置;操作3 交换SS中的若干对数字;操作4 将SS中的第i个数字插入到第j个位置;操作5 设定一个概率值(如0. 0001),并以这个概率交换第i个模块的宽度和高度。采用指数降温策略进行退火,以图7所示的MPEG4的任务图进行实验,得到的优化 布局结果如图8所示。本方法依据模拟退火算法进行了对路由进行了优化,得到了功耗低 且面积小的布局结果。以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施 例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
权利要求
一种片上网络的拓扑结构和映射优化方法,包括如下步骤对布局中的每一个模块,从每个模块的右上角的顶点出发,优先向上绘制,再向右绘制,一直绘制到布图的右上角;从每个模块的左下角的顶点出发,优先向下绘制,再向左绘制,一直绘制到布图的左下角;基于布局的左下角到右上角的直线与第一折线相交的顺序,给布局中的所有模块编号;对布局中的编号模块,从每个模块的左上角的顶点出发,优先向上绘制,再向左绘制,一直绘制到布图的左上角;从每个模块的右下角的顶点出发,优先向下绘制,再向右绘制,一直绘制到布图的左下角;基于布局的左上角到右下角的直线与第二折线相交的顺序,获取优化拓扑结构的单序列;根据单序列与模块集合的映射关系,获取优化映射的名称序列。
2.如权利要求1所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步骤将单序列解码成水平关系图和垂直关系图,并将水平关系图和垂直关系图转化为上下 左右共四个邻接关系图。
3.如权利要求2所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步骤根据名称序列和由单序列确定的水平关系图和垂直关系图对序列对解码,确定各个模 块的位置。
4.如权利要求3所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步骤通过比较单序列中整数元素的大小和整数元素在单序列中的左右位置确定整数元素 所对应的模块的上下左右关系。
5.如权利要求4所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步 骤根据GXY路由算法确定整个片上网络NoC的路由。
6.如权利要求5所述的片上网络的拓扑结构和映射优化方法,其特征在于,GXY路由算 法的原则为先沿着水平方向路由,再沿着垂直方向路由,直到将信号传送到目标模块。
7.如权利要求5所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步骤根据上下左右四个邻接关系图判断模块相邻。
8.如权利要求7所述的片上网络的拓扑结构和映射优化方法,其特征在于,还包括步骤根据模块相邻的判断结果确定模块之间的距离,基于确定的片上网络的路由获取功
全文摘要
本发明公开了一种片上网络的拓扑结构和映射优化方法,其通过两种绘制方法确定优化拓扑结构的单序列SS,进而通过单序列SS和模块集合的映射关系,获取优化映射的名称序列,因此,本方法可以优化网络结构和映射,减小功耗。另外,本发明采用了GXY路由算法确定整个片上网络NoC的路由,并依据模拟退火算法进行了优化,得到了功耗低且面积小的布局结果。
文档编号H04L12/56GK101834780SQ20101010835
公开日2010年9月15日 申请日期2010年1月28日 优先权日2010年1月28日
发明者徐宁, 郑飞 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1