一种基于应用划分的片上网络ip核映射方法

文档序号:9453034阅读:273来源:国知局
一种基于应用划分的片上网络ip核映射方法
【技术领域】
[0001] 本发明涉及一种片上IP核到网络节点的映射方法,具体涉及一种基于应用划分 的片上网络IP核映射方法。
【背景技术】
[0002] 随着集成电路工艺的飞速发展,芯片上集成的晶体管越来越多,使得设计人员能 够将不同功能的模块单元集成到同一个芯片上,形成了片上系统(SystemonChip,SoC)。 SoC采用具有可重用性的知识产权(IntellectualProperty,IP)核,提高了系统的设计效 率,缩短了系统的设计周期。然而,当前SoC中普遍采用的传统总线结构不能充分适应这一 发展趋势。片上网络(NetworkonChip,NoC)因为其良好的并行性,可扩展性和模块化设 计而得到越来越多的重视。片上网络设计的关键问题主要包括有:拓扑结构的选择,路由算 法的设计,交换机制的选择以及映射优化等。映射优化是将一个应用映射到NoC拓扑结构 上,保证应用顺利完成,并且针对特定优化目的实现开销最小。映射优化是NoC设计中的关 键一步,它影响着网络的时延,能耗等性能指标。在软硬件协调设计中已经很好地解决了任 务的分配和调度问题,因此需要将重点放在IP核到网络节点的分配问题上。NoC映射问题 已经被证明为NP-hard问题,属于二次分配问题范畴,当IP核总数为N时,将会有总共N! 种映射方案。
[0003] 片上网络规模正在不断增大,单一功能模块不再仅限于一个,模块间的通信也将 更加灵活。然而当前的映射算法并没有针对这一情况进行优化,例如在原来的制造工艺下, 一个芯片只能集成8个IP核实现单视频流硬件处理应用,现在由于工艺的进步,IP核以及 内部连线所需面积变小,芯片上可以集成16个IP核,能够完成双屏显示视频流硬件处理 并行应用,然而当前算法只是针对原有的单任务应用进行优化算法,仅将原有的映射好的8 个IP核直接复制以实现双应用并行处理,资源浪费较大,能耗较高。

【发明内容】

[0004] 本发明的目的在于针对上述现有技术中的缺陷,提供一种基于应用划分的片上网 络IP核映射方法,通过重复的IP核实现多应用并行处理。
[0005] 为了实现上述目的,本发明采用的技术方案为,包括以下步骤:
[0006] 步骤一、根据应用确定通信核图和拓扑结构图,并对IP核和网络节点编号;
[0007] 步骤二、确定优化目标,经人工蜂群算法将单个应用所需IP核分配到网络中得到 子网络;
[0008] 步骤三、从组成子网络的四个边中选择与其余部分通信量最大的一个边,并将原 有的子网络作为已知条件,在该边的相邻处再用蜂群算法设计新子网络;
[0009] 步骤四、根据子网络同时运行的应用数量,选择最优的IP核进行通信。
[0010] 所述的步骤一中依次对应用的IP核从叫到mN。编号,Nc为IP核的数量;通过N2 的矩阵描述应用的通信核图,确定IP核间传送的流量B= 11 1 <i,j<N},其中,h1 描述IP核mi发送给IP核mj的流量,如果某对IP核间不存在通信则用0表示;
[0011] 在RXC的2DMesh网络中,对映射编码x=(nv......,11^,......,mN(:)按列优先排 列,若用一组二维坐标匕,7;)表示网络节点1^,则1;=1]1〇(1(;[-1,1?)+1,7;=[(;[-1)/1?]+1, 其中,R表示网络的行数,C为网络的列数,[?]表示对变量?进行向下取整。
[0012] 通过跳数来度量网络能耗,网络能耗为IbifDist(mi'mj<其中 \<u j<N 是IP核m;发送给IP核m_j的通信流量,Dist(m;,nij)是叫和m_j间的曼哈顿距离。
[0013] 在采用最短路由的 2DMesh网络中,DistOivm) =Ixi-Xjl+lyi-y」。
[0014] 根据网络能耗确立收益度评价函数为Fitness(x) = 1/Energy(x)。
[0015] 所述的人工蜂群算法将单个应用所需IP核分配到网络中包括:
[0016] 1)定义种群中个体数目PopSize,最大迭代次数Maxlter,引领蜂所占种群比例 LProb,跟随蜂所占种群比例FProb,侦查蜂所占种群比例SProb;
[0017] 通过随机生成PopSize个映射构成初始种群X(Xp......,x;,......,xPcipSize),每 个映射解陷入局部最优的次数Trial= (trails,......,trail;,......,trailPcipSize)= (〇,......,〇,......,〇),随机生成最佳映射BestM初始化当前迭代次数Curlter= 1 ;
[0018]2)根据优化目的计算每个映射的收益度Fitness(Xl),并按照收益度从高到低将 个体排序,按照蜜蜂执行任务的不同将其分类为引领蜂,跟随蜂和侦查蜂;检查将种群X中 的第一行的映射方案是否优于最佳映射BestM,若是则替换BestM;
[0019] 3)各类蜜蜂分别执行相应操作,分别为,
[0020] 3. 1)引领蜂是在下一轮搜索前存储着当前最佳映射方案的蜜蜂,它们的主要任务 是招募跟随蜂与其前往指定的食物源进行邻域搜索;引领蜂将其得到的食物源分享给跟随 蜂,然后到食物源附近进行邻域搜索,如果新发现的食物源优于原先的食物源,就按照贪婪 准则替换掉原有的食物源,否则依旧存储原来的食物源信息;其中,食物源即映射方案,邻 域搜索是在食物源附近产生新的随机解,其与原食物源的距离小于规定的距离;采用随机 选择原映射方案中的两个IP核,交换其位置的方法进行邻域搜索;
[0021] 3. 2)跟随蜂从引领蜂处获得食物源相关信息,根据下式判断是否跟随引领蜂邻域 搜索,
[0022]
[0023] 其中Pi是跟随蜂决定跟随第i个引领蜂的概率,PopSizeXLProb是引领蜂的总数 量;
[0024] 当跟随蜂决定跟随某个引领蜂时,它将前往该引领蜂对应食物源进行邻域搜索, 方法与引领蜂相同,同样地,如果新发现的食物源优于原先的食物源,就按照贪婪准则替换 掉原有的食物源,否则依旧存储原来的食物源信息;
[0025] 3. 3)侦查蜂使用贪婪准则在整个映射空间中产生新的随机映射,存储发现的最佳 食物源;
[0026] 4)判断每个个体的trial;是否大于等于Limit,若是,则强制将该个体X;转换为 侦查蜂,即随机生成新的映射,否则triali=trial;+1;
[0027] 5)检查当前Curlter是否达到最大迭代次数Maxlter,若是则输出BestM中的映 射,否则Curlter=Curlter+l,然后执行步骤2。
[0028] 所述的步骤2)中引领蜂占种群50 %,跟随蜂占种群40 %,侦查蜂占种群10 %。
[0029] 所述的步骤二中优化目标包括降低能耗或降低延时。
[0030] 步骤三中若新子网络在单应用运行时能耗高于原子网络,则放弃该子网络,并复 制原子网络以替换新子网络;若新子网络在单应用运行时能耗低于原子网络,则保留该新 子网络。
[0031] 步骤四中如果同时运行的应用数量等于子网络数,则每个应用在各自的子网络内 运行;如果同时运行的应用数量等于或小于子网络数,则选择在新设计的子网络中运行。
[0032] 与现有技术相比,本发明具有如下有益效果:通过采用人工蜂群算法将单个应用 所需IP核分配到网络中得到子网络,多次将原有子网络作为已知条件通过蜂群算法设计 另一个子网络,从而设计出多应用并列运行的片上网络,最终根据子网络同时运行的应用 数量,选择出最优的IP核进行通信,因此,在保证良好的多应用并行处理条件下,本发明能 够充分利用重复的IP核资源优化单应用性能,同时降低单应用运行时的能耗。
【附图说明】
[0033] 图1本发明映射方法的整体流程图
[0034] 图2本发明以多媒体系统视频为例实施的通信核图
【具体实施方式】
[0035] 下面结合附图对本发明做进一步的详细说明。
[0036] 本发明基于应用划分的片上网络IP核映射方法主要包括以下步骤,参见图1 :
[0037] 步骤1,根据应用确定通信核图和拓扑结构图,对IP核和网络节点编号,确定优化 目标。
[0038] 1. 1)选择需要映射的应用,确定其通信核
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1