基于预测的三维片上网络动态频率调整方法与流程

文档序号:11154940阅读:291来源:国知局
基于预测的三维片上网络动态频率调整方法与制造工艺

本发明主要涉及到微处理器的设计领域,特指一种基于预测的三维片上网络动态频率调整方法。



背景技术:

为了满足人们对微处理器日益增长的性能需求,微处理器的设计也经历了单核、多核到众核的变化。随着微处理器核心数量的增大,传统的基于总线的互联通信方式逐渐成为了系统性能的瓶颈,片上网络(NoC)作为一种新型互联通信方式被广泛应用。而三维片上网络(3D NoC)是普通NoC的第三维扩展,拥有更高的带宽,是理想的众核互联通信方案。

但是,在同一个芯片上堆叠更多的处理单元增加了功率密度,同时也增长了散热路径,导致热量积累的更快,超高的温度可能会永久性的破坏电子元器件。为了解决这一问题,很多温度管理方法被提出。

传统的温度管理方法大致可分为时间层面的温度管理方法和空间层面的温度管理方法。时间层面的温度管理方法是通过减缓过热节点的活动来达到降温目的,如门控技术。当节点温度超过警戒值的时候,通常采用关停整个过热节点,禁止其运作来降低温度,虽然这种方法能在较短的时间内取得降温的目的,但是严重的影响整个系统的性能。空间层面的温度管理方法是通过转移过热节点的任务来达到降温目的,如任务调度,进程迁移等。将分配给过热节点的任务迁移到正常节点去执行,这样过热节点可以执行较少或不执行任务而降低温度,虽然这种方法不会减缓过热节点的活动,但是需要更长的时间使过热节点的温度降低。

在上述时间层面的温度管理方法中还有一种叫做动态频率调整,其大致过程为:

1、当NoC系统中任意节点的温度超过预定值T时,整个系统的工作频率为零,处于不工作状态,最大程度上降低系统温度。

2、当NoC系统中任意节点的温度超过预定值T的80%时,整个系统的工作频率为0.8*fmax,处于非全速运行状态,系统中各个节点温度上升变缓或是开始下降。

3、当NoC系统中任意节点的温度不超过预定值T的60%时,整个系统的工作频率保持不变,处于全速运行状态状态,此时系统无需降温。

但是,上述调整方法仅仅是针对二维平面的动态频率调整方法,而且是全局性的调整,对整个系统的性能影响很大。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、灵活高效、能够保证系统整体性能的基于预测的三维片上网络动态频率调整方法。

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

一种基于预测的三维片上网络动态频率调整方法,其步骤为:

S1:对三维片上网络进行系统分区;将整个系统分成若干区域,每一个区域称为频率调整区;

S2:对三维片上网络的系统温度进行预测;在系统运行过程中,采集每个分区的每个处理节点的输入功率和实时温度的数据信息,对下一时刻节点的温度进行预测计算,并根据预测结果是否超过阈值温度而产生温度过高信号或者是复位信号;

S3:对三维片上网络的频率进行调整;接收温度预测信号之后,对不同分区进行相应的频率调整措施。

作为本发明的进一步改进:所述步骤S1中,在一个区域内部各个节点使用同一个时钟信号,属于不同区域的节点使用不同的时钟信号,不同的区域的时钟信号采用相同或不同的时钟频率。

作为本发明的进一步改进:所述步骤S1中,分区的原则为采用等分区域划分方式,或采用不等分区域划分方式。

作为本发明的进一步改进:各个区域之间的数据通信通过异步FIFO完成,所述异步FIFO为双端口双时钟结构的异步FIFO,每个端口在相应的时钟控制下进行数据贮存与传输,两个时钟分别与FIFO连接的两个分区的时钟频率相同。

作为本发明的进一步改进:所述步骤S3中,根据预测信号以及来源区域进行判断,对温度过高区域做出降频处理,对温度正常区域做出保持原频率处理。

作为本发明的进一步改进:所述步骤S3包括以下几种调整方式:

(a)当仅仅接收到一个分区的调整信号时,仅仅降低这个收到调整信号分区的时钟频率,直至收到复位信号才将该分区的时钟频率恢复到初始值;

(b)当接收到少数几个分区的调整信号时,降低这些收到调整信号分区的时钟频率,直至收到复位信号才将相应分区的时钟频率恢复到初始值;

(c)当接收到全部分区的调整信号时,降低所有收到调整信号分区的时钟频率,进行全局式频率调整,直至收到复位信号才将相应分区的时钟频率恢复到初始值。

作为本发明的进一步改进:所述步骤S2中,通过获取节点的输入功率以及当前的实时温度,计算出下一时刻系统中节点的温度;若节点预测温度超过一特定温度T,就将该信息传递到频率调整模块,为后续的动态频率调整做准备;若节点预测温度没有超过该特定温度,就传递复位信息给频率调整模块。

与现有技术相比,本发明的优点在于:

1、本发明的基于预测的三维片上网络动态频率调整方法,将整个系统进行分区,每一个分区可以认为是简单小型系统,对每个分区分别进行全局式动态频率调整,而整个系统实则进行的是分布式动态频率调整,从而提高了频率调整方法的灵活性,降低了因频率调整带来的系统系能的下降。这是因为全局式动态频率调整对于简单小型系统而言是可以采用的,而对于3D NoC众核系统却不适用。在一种极限情况下,仅仅因为整个系统中一个节点温度过高而采取全局式动态频率调整将会造成整个系统性能的严重下降。

2、本发明的基于预测的三维片上网络动态频率调整方法,频率调整部分相比于现有的调整策略具有更好的时效性。现有的频率调整方法是被动式的,需要等待节点温度超过特定的温度值后,才能进行相应的调整。而本发明提出的频率调整方法是主动预测式的,频率调整模块接收来自温度预测模块的信息,在节点温度过高之前提前采取频率调整,无需被动的等待。

附图说明

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

图2是本发明在具体应用实例中一种分区方法的原理示意图。

图3是本发明在具体应用实例中分区后各区域之间通信的原理示意图。

图4是本发明在具体应用实例中对三维片上网络的系统温度进行预测的流程示意图。

图5是本发明在具体应用实例中对三维片上网络的频率进行调整的流程示意图。

图6是本发明在具体应用实例中动态频率调整的执行过程示意图。

图7是本发明方法应用于实施例时的原理示意图。

具体实施方式

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

如图1所示,本发明的基于预测的三维片上网络动态频率调整方法,步骤为:

S1:对三维片上网络进行系统分区;

将整个系统分成若干区域,每一个区域称为频率调整区,在区域内部各个节点使用同一个时钟信号,而属于不同区域的节点使用不同的时钟信号,不同的区域的时钟信号根据相应的要求可以采用相同或不同的时钟频率。经过分区后的系统就可以根据实际情况进行分布式的频率调整或者是全局式的频率调整,从而降低了因动态频率调整而带来的性能开销。

上述划分的原则应该遵循实际系统的工作方式,本实施例进行的是等分区域划分,但不局限于等分区域划分。

S2:对三维片上网络的系统温度进行预测;

在整个系统运行过程中,温度预测模块采集每个分区的每个处理节点的输入功率和实时温度的数据信息,对下一时刻节点的温度进行预测计算,并根据预测结果是否超过阈值温度而产生温度过高信号或者是复位信号,除了信号本身,还包含了信号的区域来源信息。

即:通过获取节点的输入功率以及当前的实时温度,根据相应的温度预测方法计算出下一时刻系统中节点的温度。若节点预测温度超过一特定温度T,就将该信息传递到频率调整模块,为后续的动态频率调整做准备,若节点预测温度没有超过该特定温度,就传递复位信息给频率调整模块。由于传递给频率调整模块的信号均为基于下一时刻的预测信息,所以该方法无需等待实际温度超过界限值而提前采取了调整。

S3:对三维片上网络的频率进行调整;

接收温度预测信号之后(来自温度预测模块的信息),进行相应的频率调整措施。即,频率调整模块根据前述信号以及来源区域进行判断,最终对温度过高区域做出降频处理,对温度正常区域做出保持原频率处理。整个系统在分布式的频率调整后继续运行,并且没有节点超过阈值温度。

在具体应用实例中,步骤S3可以包含以下几种典型的调整方式,但并不局限于以下方式。

(a)当频率调整模块仅仅接收到一个分区的调整信号时,该模块仅仅降低这个收到调整信号分区的时钟频率,直至收到复位信号才将该分区的时钟频率恢复到初始值;

(b)当频率调整模块接收到少数几个分区的调整信号时,该模块降低这些收到调整信号分区的时钟频率,直至收到复位信号才将相应分区的时钟频率恢复到初始值;

(c)当频率调整模块接收到全部分区的调整信号时,该模块降低所有收到调整信号分区的时钟频率,进行全局式频率调整,直至收到复位信号才将相应分区的时钟频率恢复到初始值。

如图2所示,为在具体应用实例中所述步骤S1中所采用的一种分区方法。该实施例系统为一个8*8*4的3D NoC系统,被等分成了4个区域,分别为区域1,区域2,区域3,区域4。这种等分分区仅仅是众多分区方式之一,分区要依据实际系统的工作方式。在每个区域内部使用的是同一个时钟信号,域内处理节点诸如发送数据,数据传输路径的选择,数据的接收等各项操作均同步于该时钟信号,而区域间的时钟信号相互独立,在数值上可相等也可不相等。如图3所示,由于区域之间使用的时钟信号的频率可能并不相同,为保证区域之间的数据通信的稳定可靠,其间的通信依靠异步FIFO完成。该异步FIFO为双端口双时钟结构的异步FIFO,每个端口在相应的时钟控制下进行数据贮存与传输,两个时钟分别与FIFO连接的两个分区的时钟频率相同。如图7所示,为本发明方法应用于该实施例时的原理示意图。

如图4所示,为在具体应用实例中所述步骤S2的完整执行流程。在3D NoC系统正常运行的过程中,每个分区内的每个处理节点都会有功率的输入,并在运行过程中产生热量。温度预测模块采集节点的输入功率以及相应的实时温度,利用采集到的信息来计算得出下一时刻节点的温度值Tnext,然后判断该温度值是否超过阈值温度T。如果超过阈值温度,该模块就产生温度过高信号,如果没有超过阈值温度,该模块就产生复位信号。这两种信号作为温度预测模块的最终输出,并传输到频率调整模块作为输入。

如图5所示,为在具体应用实例中所述步骤S3的完整执行流程。频率调整模块在接收温度预测模块产生的结果后,首先判断这个信号是温度过高信号还是复位信号,完成后确定该信号的来源区域。若为温度过高信号,进一步的确定该信号的来源区域,最后将相应区域的时钟频率下调,若为复位信号,进一步确定该信号的来源区域,最后将相应区域的时钟频率恢复或者保持为初始频率值。

如图6所示,为本发明在具体应用实例中3D NoC系统动态频率调整执行过程示意图。在系统全速运行过程中,温度预测模块监测到区域1内节点温度下一时刻要超过阈值温度,向频率调整模块发送区域1温度过高信号,在频率调整模块收到这一信号后,立刻降低区域1的时钟频率,此时区域1内所有处理节点工作在降频状态下。当区域1内部处理节点任务负载降低时,相应的节点温度也会下降,温度预测模块检测区域1内节点温度下一时刻在阈值温度以下,则向频率调整模块发送区域1复位信号,频率调整模块根据此信号立刻恢复了区域1的时钟频率为原频率,此时区域1工作在全速状态下。图中(a)、(b)、(c)表示不同的频率调整等级和程度。

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

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