一种用于片上网络NoC的测试感知映射方法与流程

文档序号:13010324阅读:384来源:国知局
一种用于片上网络NoC的测试感知映射方法与流程

本发明涉及片上网络,特别是涉及一种用于片上网络noc的测试感知映射方法。



背景技术:

片上网络(network-on-chip,noc)的核心思想是将计算机网络的技术引入到芯片设计中,从体系结构上彻底解决片内通信的瓶颈问题。随着技术进步,集成电路工艺的发展,芯片的集成度越来越高,各种新型嵌入式系统越来越多,原有的单核处理器已无法满足嵌入式系统对于高性能高使用频率的要求;因此,片上多核系统成为了理想的选择;片上多核系统是将多个处理器或者功能模块集成到一个芯片上,因其在处理性能、功耗、可靠性等方面的优势被广泛地应用。随着多核系统规模的扩大,原有的总线型或者点对点型的通信架构已经不能满足系统上的通信需求,存在延迟、通信性能瓶颈以及设计效率问题。而片上网络作为一种新型的通信架构,因为其高可扩展性、低功耗、高可靠性、高带宽等诸多优点。

随着亚微米技术的迅速发展,间歇性故障已经逐渐成为实现片上网络(noc)高可靠性的限制因素之一;而要检测间歇性故障就需要增加测试频率,这样的话就会影响应用程序的执行。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种用于片上网络noc的测试感知映射方法,防止区域碎片化,降低拥塞概率,避免测试使用映射占用的链接,减少系统延迟,并平衡通信距离和区域邻接度。

本发明的目的是通过以下技术方案来实现的:一种用于片上网络noc的测试感知映射方法,包括以下步骤:

s1.确定映射首节点:根据片上网络noc中各节点的空闲邻节点数、可测链路数以及与控制节点的距离,确定映射首节点;其中,所述步骤s1包括以下子步骤:s101.根据片上网络noc中各节点的空闲邻节点数,对片上网络noc的节点进行筛选;判断筛选结果是否唯一,若是,直接将该节点作为映射首节点;若否,将筛选结果加入初步筛选节点集;s102.根据初步筛选节点集中各节点的可测链路数,对初步筛选节点集中包含的节点进行过滤,判断过滤结果是否唯一,若是,将过滤获得的节点直接作为映射首节点;若否,将筛选结果加入预选节点集;s103.根据预选节点集中各节点到控制节点的距离,对预选节点集中包含的节点进行选择,判断选择结果是否唯一,若是,将选择得到的节点直接作为映射首节点;若否,将选择结果中任一节点作为映射首节点。

s2.进行任务映射:将片上网络noc的应用程序看作一组通信任务,将通信任务按照通信量进行排序,形成任务队列,从首节点开始,按照确定性映射策略对应用程序的各组通信任务进行映射;其中,所述步骤s2包括以下子步骤:s201.将片上网络noc的应用程序看作一组通信任务;s202.将通信任务按照通信量进行排序;s203.将第一个通信任务在首节点上进行映射,并为其余通信任务生成任务序列;s204.根据测试在线状态及生成的任务序列,对其余通信任务进行映射。所述任务队列包括目标任务和父任务组成;所述目标任务表示应该被映射的任务,父任务是与目标任务间具有最大通信量的前任务。

优选地,所述步骤s101包括以下子步骤:计算片上网络noc中各节点的空闲邻节点数;对网络noc各节点的空闲邻节点数进行比较,确定空闲邻节点数的最大值;判断具有最大空闲邻节点数的节点是否唯一,若是,将该节点直接作为映射首节点;若否,将具有最大空闲邻节点数的各个节点作为筛选结果,全部加入初步筛选节点集。

优选地,所述步骤s102包括以下子步骤:根据确定性xy路由算法,计算初步筛选节点集中各节点的可测链路数;对各节点的可测链路数进行比较,确定可测链路数的最大值;判断具有最大可测链路数的节点是否唯一,若是,将该节点作为映射的首节点,若否,将具有最大可测链路数的各个节点作为筛选结果,全部加入预选节点集。

优选地,所述步骤s103包括以下子步骤:计算预选结果集中各节点到片上网络noc控制节点的距离;对各节点到控制节点的距离进行比较,确定距离最小值;判断到控制节点距离等于上述距离最小值的节点是否唯一,若是,将该节点直接作为映射首节点;若否,从到控制节点距离等于上述距离最小值的各个节点中,任意选择一个作为映射首节点。

优选地,所述步骤s204包括以下子步骤:对于第一个通信任务后的任一通信任务,统计当前片上网络noc上的可用节点;基于到父任务节点的距离,对片上网络noc上的可用节点进行筛选,获得可用节点集;基于到父任务节点的测试链路数,对可用节点集中的节点进行筛选,获得目标节点集;判断目标节点集中包含的节点是否唯一,若是,将该节点作为目标任务的映射节点;若否,将目标节点集中任一节点作为目标任务的映射节点。

其中,所述可用节点集的筛选方式如下:统计当前片上网络的可用节点;计算可用节点到父任务节点的距离;筛选出到父任务节点距离最小的一个或多个可用节点,形成可用节点集。所述目标节点集的筛选方式如下:计算可用节点集中,各节点到父任务节点的测试链路数;筛选出到父任务节点测试链路数最大的一个或多个节点,形成目标节点集。

本发明的有益效果是:(1)在进行映射首节点确定时,根据片上网络noc中各节点的空闲邻节点数,对片上网络noc的节点进行筛选,能够防止区域碎片化,降低拥塞概率;根据各节点的可测链路数对节点进行过滤,能够避免测试使用映射占用的链接,平衡链路利用率并提高可靠性;根据各节点到控制节点的距离对节点进行选择,能够减少系统延迟;

(2)在进行通信任务映射时,基于到父任务节点的距离和到父任务节点的测试链路数,对片上网络noc上的可用节点进行筛选;能够很好地平衡通信距离和区域邻接度。

附图说明

图1为本发明的原理框图;

图2为本发明的测试感知映射方法与传统算法ff、nn、cona、wena的最大测试时间比较示意图;

图3为本发明的测试感知映射方法与传统算法ff、nn、cona、wena的平均测试时间比较示意图;

图4为本发明的测试感知映射方法与传统算法ff、nn、cona、wena的测试中断率比较示意图;

图5为本发明的测试感知映射方法与传统算法ff、nn、cona、wena的平均曼哈顿距离比较示意图;

图6为本发明的测试感知映射方法与传统算法ff、nn、cona、wena的平均延迟比较示意图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

如图1所示,一种用于片上网络noc的测试感知映射方法,包括以下步骤:

s1.确定映射首节点:根据片上网络noc中各节点的空闲邻节点数、可测链路数以及与控制节点的距离,确定映射首节点;其中,所述步骤s1包括以下子步骤:s101.根据片上网络noc中各节点的空闲邻节点数,对片上网络noc的节点进行筛选;判断筛选结果是否唯一,若是,直接将该节点作为映射首节点;若否,将筛选结果加入初步筛选节点集;s102.根据初步筛选节点集中各节点的可测链路数,对初步筛选节点集中包含的节点进行过滤,判断过滤结果是否唯一,若是,将过滤获得的节点直接作为映射首节点;若否,将筛选结果加入预选节点集;s103.根据预选节点集中各节点到控制节点的距离,对预选节点集中包含的节点进行选择,判断选择结果是否唯一,若是,将选择得到的节点直接作为映射首节点;若否,将选择结果中任一节点作为映射首节点。

s2.进行任务映射:将片上网络noc的应用程序看作一组通信任务,将通信任务按照通信量进行排序,形成任务队列,从首节点开始,按照确定性映射策略对应用程序的各组通信任务进行映射;其中,所述步骤s2包括以下子步骤:s201.将片上网络noc的应用程序看作一组通信任务;s202.将通信任务按照通信量进行排序;s203.将第一个通信任务在首节点上进行映射,并为其余通信任务生成任务序列;s204.根据测试在线状态及生成的任务序列,对其余通信任务进行映射。所述任务队列包括目标任务和父任务组成;所述目标任务表示应该被映射的任务,父任务是与目标任务间具有最大通信量的前任务。

在本申请的实施例中,所述步骤s101包括以下子步骤:计算片上网络noc中各节点的空闲邻节点数;对网络noc各节点的空闲邻节点数进行比较,确定空闲邻节点数的最大值;判断具有最大空闲邻节点数的节点是否唯一,若是,将该节点直接作为映射首节点;若否,将具有最大空闲邻节点数的各个节点作为筛选结果,全部加入初步筛选节点集。

在本申请的实施例中,所述步骤s102包括以下子步骤:根据确定性xy路由算法,计算初步筛选节点集中各节点的可测链路数;对各节点的可测链路数进行比较,确定可测链路数的最大值;判断具有最大可测链路数的节点是否唯一,若是,将该节点作为映射的首节点,若否,将具有最大可测链路数的各个节点作为筛选结果,全部加入预选节点集。

需要说明的是,在片上网络noc中,链路利用率lutilization可表示为:

其中,nc(t)表示在每个运行周期内所用的链接数量,nl表示网络中的链路数,ts表示总的运行周期,当链路利用率小于10%,其表示链路大部分处于空闲模式,该链路即可被看做可测链路。

在本申请的实施例中,所述步骤s103包括以下子步骤:计算预选结果集中各节点到片上网络noc控制节点的距离;对各节点到控制节点的距离进行比较,确定距离最小值;判断到控制节点距离等于上述距离最小值的节点是否唯一,若是,将该节点直接作为映射首节点;若否,从到控制节点距离等于上述距离最小值的各个节点中,任意选择一个作为映射首节点。

在本申请的实施例中,所述步骤s204包括以下子步骤:对于第一个通信任务后的任一通信任务,统计当前片上网络noc上的可用节点;基于到父任务节点的距离,对片上网络noc上的可用节点进行筛选,获得可用节点集;基于到父任务节点的测试链路数,对可用节点集中的节点进行筛选,获得目标节点集;判断目标节点集中包含的节点是否唯一,若是,将该节点作为目标任务的映射节点;若否,将目标节点集中任一节点作为目标任务的映射节点。

在本申请的实施例中,所述可用节点集的筛选方式如下:统计当前片上网络的可用节点;计算可用节点到父任务节点的距离;筛选出到父任务节点距离最小的一个或多个可用节点,(由于可能存在多个节点到父任务节点距离相同,且相较于其他节点到父任务节点的距离,该距离最小,故筛选出的节点时一个或多个),形成可用节点集。所述目标节点集的筛选方式如下:计算可用节点集中,各节点到父任务节点的测试链路数;筛选出到父任务节点测试链路数最大的一个或多个节点(由于可能存在多个节点到父任务节点测试链路数相同,且相较于其他节点到父节点的测试链路数,该测试链路数最大,故筛选出的节点为一个或多个),形成目标节点集。

如图2所示,展示了本发明的测试感知映射方法(简称tama)与传统算法ff、nn、cona、wena的最大测试时间比较示意图;从图中可见,相比与其他算法,tama算法的最大测试时间最低,这意味着我们的tama算法可以选择更好的时间来测试链路,以避免影响任务映射。

如图3所示,展示了本发明的测试感知映射方法(tama)与传统算法ff、nn、cona、wena的平均测试时间比较示意图。从该图可以看出,tama的平均测试时间最低,这使得tama能够实现更高的测试频率,从而更好地抵抗间歇性故障;如果检测到故障链路,可以应用合适的方法进行容错或修复它。

需要说明的是,在片上网络noc的映射和测试过程中,需要遵循一个基本原则,那就是应用程序的映射具有使用路径的绝对优先级,当应用程序请求使用链路时,测试立即停止。如图4所示,展示了本发明的测试感知映射方法(tama)与传统算法ff、nn、cona、wena的测试中断率比较示意图;测试中断率tinterrupted可建模为:

其中,tc表示在所有运行期间,在应用映射时测试链路的总数,tic表示因映射要使用链路,因此请求而中断测试的数目;从图4中可以看出,与其他方法相比,tama的测试中断率最低。

如图5所示,展示了本申请的测试感知映射方法(tama)与传统算法ff、nn、cona、wena的平均曼哈顿距离(awmd)比较示意图,awmd值越小,意味着功耗越小;图中可见,tama算法的平均曼哈顿距离小于ff、nn算法,与cona算法几乎相同,略大于wena算法,从功耗上看,tama算法优于大多数现有算法。

如图6所示,展示了本发明的测试感知映射方法与传统算法ff、nn、cona、wena的平均延迟比较示意图,可见,tama的平均延迟时间几乎与wena和cona相同,且低于ff算法和nn算法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1