自适应可调节的流水线以及适应性地调节流水线的方法与流程

文档序号:13679948阅读:371来源:国知局
技术领域本发明总体涉及流水线式的数据处理单元,具体是用于适应性地调节流水线的系统和方法,以及采用这种系统和方法的流水线式的数据处理单元。

背景技术:
功率警觉计算(power-awarecomputing)在处理器和/或流水线结构的设计中是需要重要关注的问题。在功率警觉计算中,处理器通常被设计为在多个频率和电压等级上运行。已知的功率警觉计算方法包括动态频率调整(dynamicfrequencyscaling),其中通过将时钟频率降低到最低要求的水平来获得低的处理器利用期间;以及动态电压和频率调整,其中较低的时钟频率允许供给电压的相应下降。同时,目前大多数处理器采用流水线架构,其中指令执行过程被分解成一系列能够被按顺序执行的分立的流水线级(pipelinestages)。许多数据处理或者计算功能块采用流水线结构。流水线在数据设计领域是一种基本的、常用的结构。对于一些流水线,其中的每个级采用门控时钟(clockgating)技术。门控时钟能够节约功耗,因为在空闲期间,能够将时钟关断以节约寄存器的动态功率消耗。

技术实现要素:
当数字芯片采用流水线架构时,在频率较高时,需要相对较长的流水线,在频率较低时,仅仅只需要相对较短的流水线。对此,当具有相对较长的流水线的数据处理块运行在较低的频率时,该流水线有时仍然具有很大的正时序余量(positivetimingslack),这不利于节约功耗。也就是说,无需用该相对较长的流水线来运行该较低的频率,短的流水线就已足够。然而,当前的流水线一般具有固定的流水线结构,其具有固定数量的级,并且在制造完成后,该流水线的级结构是不能改变的。从数字设计的基本知识可知,仅仅只有组合单元进行真正的数据处理和计算,其产生的中间结果存储在中间的级的寄存器中,并且这些寄存器的时钟翻转(clocktoggles)并不真正产生作用。因此,当运行在较低频率时,就有机会节约一些功耗。因此,期望提供一种新的流水线结构,其能够适应性地根据需要改变或调节其结构以节约功耗。为了实现上述目的,本发明的提供了下列的技术方案。在体现本发明第一方面的示例性实施方式中,提供了一种数据处理单元,该数据处理单元包括控制器;和包括多个流水线级的流水线;该控制器被配置成响应于该流水线所运行的频率的改变而旁路(bypass)或者开启(activate)所述多个流水线级中的至少一个。该数据处理单元可进一步包括用于所述多个流水线级中的每个的门控时钟单元;该控制器被配置成响应于所述多个流水线级中的至少一个的旁路或者开启而停止或者开启时钟引脚(clockpin)。在体现本发明的第二方面的示例性实施方式中,提供了一种适应性地调节流水线的方法。该方法包括响应于流水线的运行频率的下降旁路流水线中的至少一个流水线级的寄存器。该方法还可包括响应于该流水线的运行频率的上升开启该流水线中的至少一个流水线级的被旁路的寄存器并开启传送至所述至少一个流水线级的被旁路的寄存器的时钟信号。下面将更详细地描述本发明的其它方面和实施方式。附图说明附图以示例的方式图示了本发明,其并不构成对本发明的限制。在附图中相同的数字表示相同的部件,其中:图1为传统的流水线结构的一部分示意性实施例;图2显示了一种根据示例性实施方式的适应性的可调节流水线结构;图3显示了另一种根据示例性实施方式的适应性的可调节流水线结构;图4显示了另一种根据示例性实施方式的适应性的可调节流水线结构;图5是根据一种示例性实施方式的用于适应性地调节流水线结构的方法的示意流程图;图6A显示了一种流水线结构的示意图;图6B显示了图6A中的流水线结构,其中旁路了三个流水线级并且停止了传输到该三个流水线级的相应的时钟信号;图6C显示了图6A中的流水线结构,其中旁路了四个流水线级并且停止了传输到该四个流水线级的相应的时钟信号;图7显示了根据数据序列中无效数据或有效数据到达的位置来动态地旁路或开启流水线结构的级的简化示意图。具体实施方式下面将参照附图中所示的一些实施例具体描述本发明的一些示例性实施方式。在下文的描述中,描述了一些具体的细节以提供对本发明的更深的理解。然而,对于本领域的技术人员来说显而易见的是,即使不具有这些具体细节中的一些,本发明也可被实施。另一方面,一些公知的工艺步骤和/或结构没有被详细描述以避免不必要地使本发明变得难以理解。图1为一种传统的流水线的一部分的示意图。为了便于说明,图1显示的流水线结构的该部分包括三个级S1、S2和S3。但是流水线结构并不局限于具有三个级,而是可以有更长的流水线或更短的流水线。然而,不管该已知的流水线结构的级的数量是多少,在设计完成后,该传统的流水线结构的级的数量是固定的,即,在运行过程中,级的数量不会改变。同时,在图1所示的实施例中,该流水线结构采用了门控时钟技术,每个流水线级具有与其相连接的门控时钟单元,例如集成门控时钟单元ICG,该门控时钟单元包括时钟引脚输入(clk)、输入使能信号(EN)和门控时钟输出。图1中的流水线能够运行在多个频率,例如2GHz、1GHz、500MHz等等。假定该流水线结构有能力运行在高的频率,然而,当该流水线结构运行在相对较低的频率时,其仍然具有较大的正时序余量,因而未能充分利用可用的时序,因此是不利于节约功耗的。也就是说,无需用该相对较长的流水线来运行该较低的频率。当运行在相对较低的频率时,较短的流水线就已足够。因此,本发明提供了一种适应性的可调节的流水线结构以及一种根据频率或者变化的工作负载适应性地调节该流水线结构的方法。因此,本发明的各方面提供了一种流水线结构以及改变或重新调整流水线的方法,以使得在需要时,将一些流水线级“去除”以节约功耗,并且当需要时(例如需要高性能时),将一些级“加回”。图2显示了本发明的一种示例性的自适应可调节的流水线。为了说明的方便,图2复制了图1显示的三个流水线级S1、S2和S3;然而,该流水线结构也可以包括其它数量的级。如图2所示,在每个级的寄存器之后增加了多路选择器(MUX)207。当一个级不需要工作时,例如在低频率模式时,通过该多路选择器可旁路该级的寄存器,并且输入到该级的寄存器的输入数据将被直接发送到下一级,以继续后续的处理;输入到该被旁路的级的寄存器的时钟信号也能被停止从而这些寄存器不会再翻转,从而节约了这些被绕过的级的寄存器的功耗。更具体地,如图2所示,该流水线200在每个级的寄存器之后还包括多路选择器(MUX)207和可操作地连接到该多路选择器的控制器(未显示)。该控制器通过向相应的一个或多个多路选择器发送控制信号clps以对旁路一个或多个寄存器以及停止输入至一个或多个寄存器的时钟信号进行控制。例如,当响应于流水线的运行频率的下降而需要旁路一个或多个寄存器时,该控制器可向相应的MUX提供控制信号1,从而旁路掉相应的流水线级的寄存器,并且停止该级的寄存器的时钟,由此旁路了流水线的级,从而能够节约该流水线的功耗。相反,当需要高的性能时,当响应于流水线的频率的上升而需要开启一个或多个被旁路的级的寄存器时,该控制器可向相应MUX207提供控制信号0,由此开启相应的级的寄存器,从而能够提高该流水线的处理性能。优选地,如图3和4所示,当寄存器处于旁路模式(即,停止模式)时,应停止其时钟引脚的信号(即,与门控时钟技术一起实施),这能够节约更多的功耗。因为不需要这些寄存器工作,它们的时钟引脚也就不需要翻转了。通过旁路一个或多个级寄存器并停止其时钟引脚,降低了流水线的级的数量,相反,通过开启(activate)一个或多个级的寄存器及相应的时钟引脚,增加了该流水线的级的数量。因此,当流水线的运行频率降低时,本发明的流水线能够根据需要停止一些级以节约更多的功耗;当流水线的运行频率升高时,本发明的流水线能够根据需要开启一些被停止的级以提高性能。因而,本发明的自适应可调节的流水线能够支持宽的频率范围并且在低频范围能够节约更多的功耗。在一种实施方式中,门控时钟技术能够为流水线的级的气泡(即,无效)数据(bubbledata)停止无用的时钟翻转。然而,对于每一个有效数据,每一级的寄存器仍然需要翻转,有效数据和中间结果需要通过每一级,但是,有时这是不必要的,因此,通过旁路掉一些级并且停止这些级的寄存器的相应的时钟引脚,本发明的流水线和停止方法能够减少一些时钟翻转,因而能够进一步节约与一些级的寄存器的中间值翻转相关的功耗。在一种实施方式中,当流水线的一个或多个级被旁路掉并且其相应的寄存器被停止时,能够进一步切断提供至这些寄存器的电源,由此,能够节约它们的泄露功耗。本发明还提供了一种用于适应性地调节流水线结构的方法。图5是本发明的用于适应性地调节流水线结构的方法的示意性流程图500。该方法包括步骤510,在该步骤中,响应于流水线运行频率的下降停止流水线中的至少一个级的寄存器并且停止传送到该至少一个级的寄存器的时钟信号。通过这种方式,降低了该流水线的级数。从而与现有技术中的固定型流水线(其不能调节流水线级数)相比,本发明的方法能够节约功耗。此外,本发明的方法可进一步包括步骤520,在该步骤中,响应于该流水线结构的运行频率的上升而开启流水线中至少一个级的被旁路的寄存器并且开启传送至该至少一个级的被旁路的寄存器的时钟信号。通过这种方式,与停止模式相比,增加了该流水线的运行的级数。从而与现有技术中的固定型流水线相比,开启更多的级能够进一步根据需要调节流水线结构的性能。本发明的方法能够根据流水线的运行频率的下降程度调节待停止的级的寄存器的数量。也就是说,根据运行频率的下降程度,流水线能够被设置在不同的停止模式。例如,假定流水线具有N个级,其中N表示级的数量并且N是大于1的自然数。该具有N个级的流水线能运行在频率F。当没有级被停止时,该流水线处于全速模式。当该流水线的实际运行频率下降到频率F的一半时,可旁路该流水线的一半的级的寄存器,并且停止这些寄存器的相应的时钟引脚。此时,该流水线的运行模式为1/2停止模式。同理,当该流水线的实际运行频率下降到频率F的1/3时,可旁路该流水线的2/3的级的寄存器,并且停止这些寄存器的相应的时钟引脚。此时,该流水线的运行模式为2/3停止模式。此外,当该流水线的实际运行频率下降到频率F的1/4时,可旁路该流水线的3/4的级的寄存器,并且停止这些寄存器的相应的时钟引脚。此时,该流水线的运行模式为3/4停止模式。以相同的方式可以实现其它的模式,当然流水线的级数应当能够支持所想要设置的模式。由此,例如图6A显示了具有6个级的示意性的流水线(即,N=6)。如果该流水线能够运行的全速频率F是1GHz,当该频率变为例如500MHz时,优选旁路该流水线的3个级,并且旁路该3个级的寄存器的相应的时钟引脚,如图6B所示,其中用虚线表示的寄存器代表被停止的寄存器。由此,该流水线的实际运行级数下降至3个。同样,如果实际运行频率下降至2/6GHz(即,333MHz),则旁路掉该流水线的4个级中的寄存器,并且停止该4个级的寄存器的相应的时钟引脚,如图6C所示。由此,该流水线的实际运行级数下降至2个。也就是说,该流水线仅仅只有1/3的级在运行,这是2/3停止模式。通过本发明的方法,能够根据流水线的运行频率适应性地调节流水线的级数。类似地,本发明的调节方法也能够用于具有其它级数的流水线。当需要更高的性能时,能够增加流水线的级数。例如,虽然在0.82-1.2v之间的电压下并运行在1GHz-100MHz之间的具有6个级的流水线能够满足一般的工作负载要求,但是处理器能够被设计在具有12个级的最大流水线深度。如果需要该处理器具有更高的性能,可以施加更高的电压,例如1.5v(其是能够被施加的最大的电压),这能够使得该6级流水线达到1.3GHz。这是该6级流水线所能实现的最高的性能,但是这是在已经被施加了最大的电压的情况下实现的,并且不能再进一步提高性能。然而,为了进一步提高性能,在本发明中,能够将流水线的级数提高到12,即,开启其它的6个级,从而能够在1.2v电压时达到2GHz。此时,该流水线运行在深流水线模式。如果还需要更好的性能,则可将电压进一步提高到最大电压1.5v,从而能够达到2.5GHz。由此可见,本发明能够扩展高性能的范围。有多种方法将全速模式切换到停止模式,反之亦然。在一示例性实施方式中,以从全速模式至半速停止模式为例,该切换方法可包括下述步骤:首先,停止输入到流水线的数据序列;在该流水线中的内部数据已被处理完毕并且该流水线中没有有效数据之后,通过停止该流水线的一半的级将该流水线的模式改变至半速模式,最终向该流水线提供半速的数据序列,从而该全速模式被切换为半速模式。类似地,如果希望恢复全速模式,首先停止输入至该流水线的数据序列,在该流水线中的内部数据已被处理完毕之后,开启被停止的级,最后可向该流水线提供全速的数据序列,由此,该半速模式被切换到了全速模式。应当理解的是,基于相同的方法,上述描述的转换方法也适用于从一个运行模式至其它停止模式例如1/3、1/4、1/5、或者1/6模式等等之间的转换。作为选择,每个循环可具有有效信号以标记是否存在有效数据(其以前被使用在门控时钟技术中,有效数据逐级地进入流水线,并且逐级地执行门控时钟技术,使得能够节约一些功耗,这是低功耗设计领域最基本的技术)。控制器使用该有效信号以监测哪一级是无效的并且逐个地关闭相应的寄存器。由此,例如,只要在输入期间间隔地加入无效数据,经过几个循环之后,整个流水线就全部进入了半速模式。在进入半速模式之后,该控制器可以停止工作,只需要向该流水线发送半速的数据即可。以相似的方式,能够实现从半速模式动态切换回全速模式,即,启动控制模块,提供不间断的全速的数据,在控制模块的控制下经过转换的过程,流水线就回到了全速模式。在一实施方式中,若输入至流水线的数据序列包括无效数据,则可以在控制器的控制下,根据无效数据或者有效数据到达的位置动态地停止或者开启流水线的级。也就是说,在控制器的控制下,根据无效数据或者有效数据到达的位置能够动态地停止或者开启流水线的一个或多个级并停止或者开启相应的时钟引脚。特别地,如果数据输入不规律,中间夹杂着不规律的气泡(无效数据),可根据需要动态地停止或者开启相应的流水线级。控制器知道哪个无效数据到达了哪个级,从而相应地停止该无效数据将要达到的级。控制器还知道有效数据将要到达的级,从而会开启那个级。例如,如图7所示,当有一串数据A□□B□□C□□□D□E□F□到来(其中“□”代表无效数据)时,在E时刻,流水线在控制器的控制下,有些级的寄存器被开启,有些级的寄存器被停止,在下一个循环,会根据需要重新控制各级中的寄存器的开启或停止。与现有技术中的固定型流水线相比,本发明具有多个有益的技术效果,例如包括,在停止模式中,对于轻的工作负载,更短的流水线能够在低的工作频率,从而能节约大约20%的动态功耗。其中,流水线的性能与其功耗之比要比固定型流水线高。在深流水线模式中,本发明在重的工作负载时能够运行在高的频率,流水线的性能和芯片所占用的面积之比要高于采用并行流水线的性能和芯片所占用的面积之比,从而使得,对于低成本小芯片,本发明能够提高性能。例如,下表1显示了一些流水线的级的寄存器的功耗等相关数据。表1:从该表可知,平均来说,流水线的级的寄存器动态功耗约占处理器的总动态功耗(级处理器由于切换而消耗的功耗)的40%。由此,如果流水线的1/2的级被停止,则能够节约一半的寄存器动态功耗,从而节约了大约20%的动态功耗。对于本领域的技术人员来说显而易见的是,可以在不背离本发明的精神和权利要求的范围的情况下对本发明作不同的修改和变型。因此,如果对本发明的修改和变型落入了权利要求和它们的等同物的范围内,那么应当认为本发明覆盖了对本发明所描述的不同实施例的修改和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1