一种基于温度等级的超前阶梯式缓冲区调节方法与流程

文档序号:11148050 阅读:1394 来源:国知局
一种基于温度等级的超前阶梯式缓冲区调节方法与制造工艺

本发明主要涉及到微处理器的片上网络领域,特指一种基于温度等级的超前阶梯式缓冲区调节方法。



背景技术:

随着集成电路制造工艺遵循摩尔定律的快速发展,片上集成度的指数增长,微处理器等复杂的集成电路芯片的功耗越来越大,已经接近封装和散热的极限,不但带来生产和运维成本的增加,而且给芯片的稳定性带来巨大挑战。三维片上网络(3D-NoC)技术减小了全局互连线的长度并且以更低的功耗提供了更大的带宽。然而由于互连线的缩短以及流量的增加产生了大量的热量,为了减小面积、延迟等,众核的排列更为紧密,由于块堆叠以及更大功耗密度导致散热更加的困难,从而导致更高的功耗密度,因此会导致更严重的温度问题。同时,更长的热消散路径以及不同层之间的热导不同,导致即使一个流量分配平衡的网络,温度的分配也是不平衡的。温度问题会影响系统性能,增加漏流功耗,这些反过来又作用于温度,进一步导致更加严重的温度问题,因此大部分的微处理器的厂商将对CPU主存的竞争转向对整体体系结构的研究,做到性能和功耗的均衡。

在三维片上网络(NoC)体系结构中,不同的互连模块通过路由节点连接,一个三维Mesh 拓扑结构的NoC,每个节点都嵌入一个路由器负责与相邻节点连接,每个路由器有东(E)、南(S)、西(W)、北(N)、上(UP)、下(DOWN)和本地(LO)七个端口,每个端口带有相应的输入缓冲区,其中本地端口与处理节点相连。在NoC 设计中,缓冲区大小直接影响数据包的传输延时,因此对存在严重资源限制的NoC的缓冲区资源做出合理的分配是NoC 研究的热点之一。

为了解决温度问题,一些在时间和空间上对温度进行管理的方法被普遍的提出和应用,其中最主要的是动态温度管理和温度感知自适应路由。对于采用动态温度管理的方法,会极大的降低网络的有效性并导致较低的吞吐率,使规则的拓扑结构将会变的不规则,流量将会被拥塞在扼杀节点处,增大传输延时,极大影响了整个系统的性能和吞吐率;对于一些路由调节算法,以前大部分的工作只考虑了温度问题或是只考虑了流量问题,传统的选择策略基于温度问题进行路径的选择会导致局部的拥塞问题,造成流量的极大不均衡并由此导致温度的不平衡,基于流量信息进行路径的选择导致未察觉潜在的热点,造成巨大的性能影响。

综上所述,将动态温度管理方法和自适应路由算法相结合将会成为解决大规模3D-NoC问题的很好的方法。在这一方面,当前最新的技术是一种简单的动态缓冲区拥塞感知路由技术,这种技术根据相邻路由间的温度增长率的比值来进行缓冲区的动态调控,在路由方面采用环形拥塞感知路由和垂直路由相结合的路由选择算法,在选择策略方面采用一种基于缓冲区利用率大小的方法来进行路径选择。

但是上述方法仍然存在着一些问题,例如该技术采用的根据温度增长率比值对缓冲区进行的调控不是很精确,仅考虑温度的增长率会忽略温度基数的问题,造成错误的调控;同时因为采用相邻路由间的温度增长率的比较,结合温度增长率自身的特点会导致及其频繁的调控,也会造成大量的功耗。该技术采用的垂直路由方法将大量的传输集中在底层,这样虽然有降低温度的可能性,但是会造成大量的拥塞,同时增加传输延迟。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、易实现、功耗较低、准确度和灵活性高的基于温度等级的超前阶梯式缓冲区调节方法。

为解决上述技术问题,本发明采用以下技术方案:

一种基于温度等级的超前阶梯式缓冲区调节方法,其步骤为:

S1:计算温度等级;获得当前节点的温度,预测得到下一时刻的温度值,并得到当前温度的变化速度,进一步得到经过t时间的温度值;将温度分为若干个等级,当t时间后的温度值达到某等级时,给定温度等级指示值;

S2:将温度等级指示值作为分级指示信号送入与当前节点相连的周边路由节点,根据分级指示信号对缓冲区大小进行调节。

作为本发明的进一步改进:所述步骤S1的具体步骤为:

S101:得到当前的温度Tnow,预测得到下一时间的温度Tpre,时间间隔为tk,由此计算出温度的变化速度为(Tpre-Tnow)/tk

S102:结合当前的温度与给定的时间段t,计算t时刻后的温度Tt=Tnow+t*( Tpre-Tnow) /tk

S103:将温度分为几个等级,当温度达到等级要求时,给定温度等级指示值,用于下一阶段缓冲区调控。

作为本发明的进一步改进:所述步骤S2中,当温度增加达到设定等级时,将相应缓冲区调小;当温度减小又低于设定等级时,将相应缓冲区调大,以达到缓冲区的阶梯控制。

作为本发明的进一步改进:所述步骤S2中,在节点之间进行温度等级信号的传输;当得到了相应的温度等级信号后,每个节点与各个方向相邻节点均由一个温度等级指示信号线连接,用来传输温度等级信号。

作为本发明的进一步改进:所述节点将一个方向上的温度等级指示信号通过temp_level端口经过信号线temp_level_to_d传输给下个路由对应方向的temp_level_neighbor端口,其中d代指方向;每个路由通过每个方向上的temp_level_neighbor端口的信号值对每个方向上的缓冲区大小进行调节。

与现有技术相比,本发明的优点在于:本发明的基于温度等级的超前阶梯式缓冲区调节方法,可以极为方便的得到当前节点的温度等级,根据温度等级,对其周边路由相对于其方向上的缓冲区进行调整,具有调节方便,功耗低,温控效果好的优点,最终能够准确的控制缓冲区的大小,减少频繁而无用的调控,降低调控所产生的总功耗,并且增加了调控的力度与灵活性。

附图说明

图1是本发明方法的整体流程示意图。

图2是本发明在具体应用实例中温度等级的计算流程图。

图3是本发明在具体应用实例中进行缓冲区调节的流程示意图。

图4是本发明在具体应用实例中路由缓冲区的原理示意图。

具体实施方式

以下将结合说明书附图和具体实施例对本发明做进一步详细说明。

本发明所提及的“缓冲区”是指路由的输入缓冲区,用来缓存进入路由的飞片,等待路由计算、开关分配等一系列后续的操作。目前提出的大多数片上路由的缓冲区管理使用的是FIFO策略,使用简单的虫孔片上路由器结构,以飞片作为最小的流控单元进行传输控制,本发明正是基于上述的结构及功能提出了本调节方法。

如图1所示,本发明的基于温度等级的超前阶梯式缓冲区调节方法,步骤为:

S1:计算温度等级;

采用传感器获得当前节点的温度,并根据预测算法得到下一时刻的温度值,根据计算得到当前温度的变化速度(温度变化率),进一步得到经过t时间的温度值;将温度分为几个等级,当t时间后的温度值达到某等级时,给定温度等级指示值,以便于下一阶段缓冲区调控。

即:如图2所示,利用传感器得到当前的温度Tnow,使用简单的预测方法得到下一时间的温度Tpre,时间间隔为tk,由此计算出温度的变化速度为(Tpre-Tnow)/tk;结合当前的温度与给定的时间段t,计算t时刻后的温度Tt=Tnow+t*( Tpre-Tnow) /tk;同时通过一系列的研究与实验,将温度分为几个等级,当温度达到等级要求时,给定温度等级指示值,以便于下一阶段缓冲区调控。

S2:将温度等级指示值(分级指示信号)送入与当前节点相连的周边路由节点,根据温度等级指示值(分级指示信号)对缓冲区大小进行调节。

当温度增加达到某些等级时,按照要求将缓冲区调小;当温度减小又低于某些等级时,按照要求将缓冲区调大,以达到缓冲区的阶梯控制,致使更少的包穿过过热路由;而堆积在过热路由的入栈缓冲区部分,同时因为热是由包的流动而产生的,并不会因为包的堆积而使其过热,因此这样做并不会加重过热路由的负担,还可以达到将过热路由同时变为拥塞路由的作用,以方便之后的路由选择。

在上述过程中,需要在节点之间传输温度等级信号;即,当得到了相应的温度等级后,每个节点与各个方向相邻节点均由一个温度等级指示信号线连接,用来传输温度等级信号。对于每个方向上,如图3所示,将该方向上的温度等级指示信号通过temp_level端口经过信号线temp_level_to_d(d代指方向)传输给下个路由对应方向的temp_level_neighbor端口,每个路由通过每个方向上的temp_level_neighbor端口的信号值对每个方向上的缓冲区大小进行调节。

在具体应用时,每个路由器有七个端口及相应的输入缓冲区,但此处不考虑本地端口,垂直方向上采用一个路由算法,在下面也会介绍,此处只考虑东西南北四个端口,如图4所示,一个路由节点与其周边节点相连的关系,取A-H为例,在进行传输时,如果21不为满,则可以将飞片入栈,根据一系列的规则与计算得到输出的方向,同时,等待可以传输该飞片时按照先进先出的规则进行传输。当得到节点A的t时刻温度大于温度极限1时,对于H路由,北方向上的temp_level_neighbor信号就为T1,因此北方向上的缓冲区21按照T1大小进行改变,为max_buffer_size-2*T1,以达到更少的包穿过A,控制A的温度,并且将包拥塞在A部分,将过热区变为拥塞区,这样当绕过拥塞区的时候,就同时也绕过了过热区域,如果温度仍然增高,预测t时刻温度到达T2时,将缓冲区改为max_buffer_size-2*T2,同理继续增高则缓冲区继续减小,如果t时刻温度降低导致低于某些值时,将缓冲区的值进行相对于减小的增加,其他方向上与A方向原理相同。

单纯的根据温度大小进行判断会存在温度高而变化率低或温度低而变化率高等情况,而单纯的根据变化率则会存在虽然变化率很大,但因为温度基数低而导致的温度不高或虽然变化率很小,但因为温度基数高而导致的温度过高问题。本发明的基于温度等级的超前阶梯式缓冲区调节方法,采用结合当前温度与当前温度变化速度的方法,根据一定的计算得出的温度等级作为调控的依据,而不是简单的温度大小或温度变化率大小进行调控,这可以有效的避免上述问题造成的错误或多余调控,增加调控的准确性。

同时温度是实时变化的,采用某一节点自身的一些参数进行计算控制而不是与周围节点的比较关系进行控制,这可以使温控不受周围环境温度影响,防止了周围温度过高,造成本节点相对温度低而产生的过热节点未调控情况,导致的烧毁或温度不平衡;或者周围温度过低,造成本节点相对温度高而产生的过低节点被调控,导致多余的调控和资源的浪费。此外比较进行控制将会产生频繁的比值变化,需要进行频繁的调控,而采用当温度高于或低于某一定值时进行阶梯式调控的方法,可以准确的控制缓冲区的大小,减少频繁而无用的调控,降低调控所产生的总功耗,并且增加了调控的力度与灵活性。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

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