一种基于离散蝙蝠算法的片上网络映射方法

文档序号:9688026阅读:326来源:国知局
一种基于离散蝙蝠算法的片上网络映射方法
【技术领域】
[0001] 本发明设及片上网络技术领域,尤其设及一种基于离散骗幅算法的片上网络映射 方法。
【背景技术】
[0002] 随着半导体工艺技术的高速发展,集成电路工艺已经进入了纳米时代,集成电路 上的晶体管资源越来越多,单个忍片上的晶体管数量可W多达几十亿个。先进的半导体工 艺和片上集成度的不断提高,使得单个忍片上可W集成众多功能模块,从而构成一个片上 系统(System-on-化ip,SoC)。但随着人们对忍片功能需求的提高和半导体工艺技术的不断 进步,片上系统的复杂度越来越高,片上系统也由单核处理器向多核处理器发展,基于总线 结构的片上系统在多核处理器通信问题上面临着严峻的挑战,主要体现在带宽、吞吐量限 审IJ,可拓展性,可重用性,信号完整性,时钟同步和功耗等方面。
[0003] 为了解决上述问题,研究人员将计算机网络技术移植到忍片设计中,采用路由和 分组交换技术作为片上通信技术,提出了片上网络(Network-〇n-chip,NoC)的概念。片上网 络是片上系统发展的一个重要方向,它从体系结构上解决了总线结构面临的各种问题。
[0004] 卡内基梅隆大学的Ogras U.Y.等人曾提出了片上网络设计空间的概念,并将片上 网络研究归纳为Ξ大类关键问题:基础架构、通讯机制和映射优化。映射优化是指给定核通 信任务图和拓扑结构的基础上,确定每个处理单元(IP核)在片上网络拓扑结构中所放的位 置,W满足特定的设计要求,如使得能耗,延时等性能达到最优。映射优化是线性规划问题, 是典型的NP-hard问题,该问题的捜索空间随系统规模呈阶乘增长。

【发明内容】

[000引本发明提出了一种基于离散骗幅算法的片上网络映射方法,旨在针对于具体的片 上网络映射问题能够获得更优的映射结果。
[0006] 为实现上述目的,本发明的技术方案为:
[0007] -种基于离散骗幅算法的片上网络映射方法,包括W下步骤:
[0008] 步骤1:初始化算法的参数,生成初始的骗幅种群,所述参数包括:骗幅数量,算法 迭代次数,最大频率Qmax和最小频率Qmin,脉冲发射率的最大值Rmax和最小值Rmin ;
[0009] 步骤2:计算每个骗幅个体的适应值,并找出种群中的最佳个体X*;
[0010] 步骤3:根据当前迭代次数来更新脉冲发射率Ri(t);
[0011] 步骤4:对于骗幅个体i,产生新的解x/ ;
[0012] 步骤5:判断rand(0,l)是否大于脉冲发射率Ri,如果是,对当前最佳个体进行局部 捜索,产生新的解X/ ;
[001引步骤6:计算新的解X/的适应值,并根据新的解X/的适应值来计算响度Ai;
[0014]步骤7:如果新的解x/的适应值小于个体i当前的适应值,且rand(0,l)大于响度 Ai,则用新的解X/来更新当前个体i的位置;
[0015] 步骤8:如果新的解x/的适应值比种群最佳个体X*的适应值小,则令新的解x/为 种群中的最佳个体;
[0016] 步骤9:重复步骤4-8直至遍历整个骗幅种群,若运行迭代次数到达预设最大值,捜 索停止,输出种群的最佳个体及其适应值;否则增加当前代数,跳回到步骤3。
[0017] 在上述的片上网络映射方法中,每个骗幅个体是通过下面的方式进行表示的:
[001引骗幅的位置为:义=扣,义2,...,义(1)。其中,义1,义2,...,义(1为自然数1,2^..,(1的一个全 排序,而d是实际问题中IP核的个数。X的每个分量表示IP核在拓扑结构上放置的位置,若X2 =7,则表示IP核2放置在拓扑结构中节点7的位置。
[0019] 步骤1中的初始的骗幅种群通过下面的方式产生:
[0020] 初始的骗幅种群的一部分个体随机产生,另一部分个体通过种群初始化算法产 生。种群初始化算法是本发明基于片上网络映射问题提出的使得初始种群个体具有更好的 适应度值的算法。其本质是使得具有较大通信量的通信链路上的两个处理单元(IP核)尽量 相邻。其具体步骤如下:
[0021 ] (11)选择具有最大通信量的通信链路;
[0022] (12)若通信链路上的两个节点都没映射,则选择一节点映射到拓扑图中的任一个 无节点映射的位置A,另一节点映射到与位置A最相邻,即曼哈顿距离最小且无节点映射的 位置B;否则跳到(13);
[0023] (13)若通信链路上其中一个节点已映射,则另一节点映射在拓扑图中最相邻,即 曼哈顿距离最小的无节点映射位置;否则跳到(14);
[0024] (14)若通信链路上两个节点都已映射,直接跳到(15);
[0025] (15)若所有IP核都已映射到拓扑图中,则输出结果;否则在核任务图中去除该通 信链路,并跳到(11)。
[0026] 步骤2中的每个骗幅个体适应值是通过下面的式子计算产生的:
[0027]
[002引其中,C代表核任务图中IP核集合,任意一个顶点CiEC代表一个待映射的IP核,Wij 代表1P核ci、cj的核间通信数据量,map(ci)指每个骗幅个体中IP核Cl在拓扑结构上映射的 位置,hopcount (a, b)代表拓扑结构图中节点a,b的曼哈顿距离。
[0029] 步骤3中脉冲发射率的更新采用下面的公式:
[0030]
[0031 ]其中Rmax和Rmin分别为设定的脉冲发射率的最大值和最小值,tmax为骗幅迭代的最 大代数,t为当前的代数。
[0032] 步骤4中对于骗幅个体i,产生新的解x/采用下面的方式:
[0033] 首先,给出下面的定义:
[0034] 给出下面的定义:
[0035] (21)用置换序列来表示骗幅的速度;如v={(l,3),(2,5)}可表示骗幅的速度;
[0036] (22)骗幅位置和速度的加法运算实现了骗幅位置的移动,使骗幅到达一个新的位 置;骗幅新的位置为原来的位置通过速度的置换序列来改变;如:
[0037] v=(2,3,4, l,5),v= Κ1,3) ,(2,5)},则新的位置为:x=(5,l,4,3,2);
[0038] (23)骗幅位置和位置相减得到的是速度,即置换序列;如:XI = (2,3,4,1,5),X2 = (5,1,4,3,2), ,Μν = χι-χ2= {(5,2) ,(1,3)};
[0039] (24)骗幅的速度和速度相加得到的是速度,为两个速度置换序列的并集;如:VI = {(1,3),(2,5)},乂2={(2,4)},贝11乂 = 乂1+乂2={(1,3),(2,5),(2,4)};
[0040] (25)骗幅的速度乘W系数β的结果仍是速度;令i3 = a+b,a为β的整数部分,b为β的 小数部分;av的结果为原来置换序列的a次重复,bv的结果为原来置换序列的截断,如b = 0.7,v={(l,3),(2,5),(4,6)},速度的置换序列个数为3,而3X0.7 = 2.1,取整后为2,则速 度bv= {(1,3),(2,5)}。最后新的速度βν为得到的两个置换序列av和bv的并集
[0041] 在d维空间中,骗幅个体i在第t次迭代时的位置每、速度的更新公式为:
[004引其中β£[0,1]是来自均匀分布的随机向量,X*是在骗幅种群中的最佳个体;
[0046] 对于骗幅个体i,新的解x/是根据定义(21)-(化)W及更新公式产生的。
[0047] 步骤5中,对当前最佳个体进行局部捜索是按照下面的步骤进行的;
[0048] (31)在拓扑结构图中选择一个节点,记为Nodel;
[0049] (32)找出选择的节点所映射的IP核,记为IP1;
[0050] (33)随机选择节点在拓扑图中的一个相邻节点,并且找出其对应的IP核,分别记 为Node2和IP2;
[0051] (34)随机选择IP1在通信任务图中有通信
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1