专利名称:一种超低功耗处理器流水线结构的制作方法
技术领域:
本发明涉及计算机硬件设计领域,涉及处理器的流水线结构,具体涉及一种通过原位延时错误检测修正机制来利用非关键流水级时间裕量的流水结构,具体应用到利用自适应电压缩放(AVS)原理降低处理器动态功耗的处理器内核设计中。
背景技术:
芯片的集成度和工作速度随着集成电路制造技术的发展而不断增加,功耗已经成为处理器设计中与性能同等重要的设计指标。集成电路中功耗来源包括与电压的平方、频率和电容成正比的动态功耗和与漏电流成正比的静态功耗,其中动态功耗是最主要的功耗。电源电压和频率越低,动态功耗就越低。目前降低处理器功耗的重要手段是对其进行电源管理和模式控制,通常处理器系统都有各自不同的软硬件策略来辅助电源管理和功耗控制,其中电源管理技术主要包括动态电压与频率缩放技术(DVFS )和自适应电压缩放技术(AVS)。动态电压与频率缩放技术(DVFS)是根据系统所运行的应用程序对计算能力的不同需要,动态调节处理器的运行频率和电压(对于同一系统,频率越高,需要的电压也越高),从而达到节能的目的。DVFS技术的工作流程一般为:采集与系统负载有关的信号,计算当前的系统负载;根据系统的当前负载,预测系统在下一时间段需要的性能。在预测系统下一时间段需要的性能时,目前有多种预测算法可以选择,但要根据具体的应用来决定。这些预测算法,既可由软件实现,也可由硬件实现。预测成功后,将预测的性能转换成需要的频率,从而调整处理器的时钟设置;再根据新的频率计算相应的电压。所以这种技术一般基于软件设计比较简单,但是对频率和电压的调节必须保证处理器能正常工作。自适应电压缩放技术(AVS)是基于跟踪系统处理器的性能变化,由自适应先进电源控制器(APC)做出自适应电压调整。APC通过总线接口将系统处理器的性能(频率)、温度变化准确地传递给外部自适应电源管理芯片。然后,该电源管理芯片根据性能需求自动调整供给系统处理器的电压,使处理器运行在能确保应用软件正确运行的最低电压和频率下。AVS技术的具体实现有多种方法,比如基于延时链的AVS技术,该方法中运用延时链来反映系统的关键路径,周期性地把信号输入给延时链,动态地检测延时链的输出结果,根据输出结果情况来调节电源电压和时钟频率。如当延时链不满足时序要求时输出的结果是错误的,系统电路不能正常工作,需要将电源电压提高。这是由于电源电压的降低,导致所有器件的延迟变大,电路的建立时间违例,从而引起系统处理数据的结果不正确。由于系统内部无法判断并恢复这种错误,这就存在供电电压安全限度,保证系统能在最坏情况下能正确运行。目前很多电源管理技术的实现方法都存在供电电压安全限度,这限制了电源电压的进一步降低,从而导致功耗的降低也很受限制。如何进一步降低动态功耗已经成为电源管理技术中的瓶颈。CPU (Central Processing Unit)流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令按照“先入先出”的原则进行“并行”处理,以加速程序运行过程的技术。指令的每步有各自独立的电路来处理,指令每完成一步,就进到下一步,由下一步电路单元进行处理,而上一步电路单元则处理下一条指令相应的步骤。采用流水线技术后,并没有加速单条指令的执行,每条指令的操作步骤一个也不能少,只是多条指令的不同操作步骤同时执行,因而从总体上看加快了指令流速度,缩短了程序执行时间。为了进一步满足普通流水线设计所不能适应的更高时钟频率的要求,高档位处理器中的流水线的深度(级数)在逐代增多。流水线级数越多,每级所花的时间越短,时钟周期就可以设计得越短,指令速度越快,指令平均执行时间也就越短。典型的CPU流水线分为五级,如图1所示。对一条指令而言,CPU从IF级开始操作,从指令高速缓存取指令:ID级对指令进行译码并取得相关数据;EX级执行程序;MEM级从数据高速缓访问数据;WB级将执行结果写回到寄存器文件。通过5级流水线操作,能使CPU中同时有5条指令在同一时钟周期并行运行,每一时钟周期执行5条指令,成倍低提高了 CPU的运行速度。
发明内容
本发明公开了一种超低功耗处理器流水线结构,该处理器流水线结构通过改变现有流水线结构中寄存器的结构,同时增加寄存器内部检错电路和流水线外部纠错电路,打破了传统的电源管理技术中的供电电压安全限度的限制,电源电压能进一步降低,并能有效利用错误数的高低来实时有效地调节电压,这使得处理器内核的功耗能得到进一步的降低。本发明技术方案如下:一种超低功耗处理器流水线结构,如图2所示,包括多级流水线单元(例如五级流水线单元:IF级、ID级、EX级、MEM级和WB级),一个电压控制调节单元,一个计数器,一个比较器;相邻两级流水线单元之间连接有一个流水级寄存器单元;所述流水级寄存器单元为一个DL寄存器(如图3所示),包括一个触发器、一个锁存器、一个异或门和一个二输入选择器;DL寄存器中,触发器在DL寄存器时钟clkl上升沿来临时将上一级流水线单元输出的数据作为输出a传输至异或门的一个输入端,锁存器在DL寄存器时钟clkl为高电平时将上一级流水线单元输出的数据作为输出b传输至异或门的另一个输入端,二输入选择器在异或门输出信号Error作用下选择触发器的输出a或锁存器的输出b作为本级流水级寄存器单元的输出Q ;当触发器的输出a和锁存器的输出b —致时,异或门输出信号Error为低电平,此时二输入选择器选择触发器的输出a作为输出并传至下一级流水线单元;当触发器的输出a和锁存器的输出b不一致时,异或门输出信号Error为高电平,此时二输入选择器选择锁存器的输出b作为输出并传至下一级流水线单元。所述最后一级DL寄存器(五级流水线结构中对应MEM级和WB级流水器处理单元之间的DL寄存器)的异或门输出信号Error经反相处理后与整个处理器流水线结构的时钟elk相与得到DL寄存器时钟clkl ;同时,最后一级的DL寄存器的异或门输出信号Eiror还通过所述计数器进行高电平计数,计数器在一个计数周期内的输出结果E sample与整个处理器流水线结构的参考错误数E—通过所述比较器进行比较,产生比较输出结果E diff ;当E_s,ple>E_ref时,比较器输出结果E diff用于所述电压控制调节单元提高处理器流水线的电源电压;当E—sample〈E 时,比较器输出结果E diff用于所述电压控制调节单元降低处理器流水线的电源电压;当E sample=E 时,比较器输出结果E diff用于所述电压控制调节单元维持处理器流水线的电源电压。本发明提供的超低功耗处理器流水线结构,应当理解为一种基于自适应电压缩放(AVS)电源管理技术的处理器流水线结构。该处理器流水线结构是在图1所示的常规五级处理器流水线结构的基础上,通过改进寄存器结构,将常规寄存器改成本发明提供的DL寄存器。所述DL寄存器(如图3所示),包括一个触发器、一个锁存器、一个异或门和一个二输入选择器;DL寄存器中,触发器在DL寄存器时钟clkl上升沿来临时将上一级流水线单元输出的数据作为输出a传输至异或门的一个输入端,锁存器在DL寄存器时钟clkl为高电平时将上一级流水线单元输出的数据作为输出b传输至异或门的另一个输入端,二输入选择器在异或门输出信号Error作用下选择触发器的输出a或锁存器的输出b作为本级流水级寄存器单元的输出Q。当异或门输出信号Error为低电平时,说明上一级流水线单元满足时序要求,没有错误产生,此时二输入选择器选择触发器的输出a作为输出并传至下一级流水线单元;当异或门输出信号Error为高电平时,说明上一级流水线单元不满足时序要求,有错误产生,此时二输入选择器选择锁存器的输出b作为输出并传至下一级流水线单
J Li ο由于本发明提供的超低功耗处理器流水线结构中DL寄存器采取了触发器和锁存器并行二选一输出的结构形式,使得整个处理器流水线结构存在这样的原位延时检测及修正机制:当上级流水线单元的关键路径延时超过一个时钟周期但不超过一个时钟周期加上下一时钟周期中的高电平时间时,本级寄存器单元仍然能够将正确的数据(通过锁存器)传递至下一级流水线单元。这样一来,如果下一级流水线单元处理数据所需的时间较短,就可以在时钟周期的下一个上升沿到来时完成数据处理,那么下一级寄存器单元中的触发器和锁存器的数据将恢复一致;即使下一级流水线单元处理数据所需的时间较长,无法在时钟周期的下一个上升沿到来时完成数据处理,这时还可以继续利用后面几级流水线单元的时间裕度来处理本级因时钟周期太短不能处理完的数据,即使前几级流水线单元出现一些错误导致相应寄存器单元内触发器和锁存器数据不一致的情况,但只要当流水线的最后一级寄存器单元中触发器和锁存器的数据相同,整条指令执行的结果都是正确的。上述原位延时检测及修正机制的处理方式有效利用了后续时钟周期的冗余时间,允许流水线处理过程中有错误产生,从而有利于进一步降低电源电压,最终获得更低的动态功耗。本发明提供的超低功耗处理器流水线结构工作时,在计数器的一个计数周期内,如果系统工作在较高的电源电压下,则每级流水线单元应当均能够正常工作,每级寄存器单元的时钟clkl与整个处理器流水线时钟elk 一致,每级寄存器单元中触发器和锁存器的数据也一致,故每级寄存器单元的输出Q为触发器输出a,异或门输出Error为低电平,最后一级寄存器单元的异或门输出Error也为低电平,计数器的计数输出E sample〈E Mf,比较器输出结果E diff用于所述电压控制调节单元降低处理器流水线的电源电压;当电源电压降低到一定程度时,流水线单元或许开始出错,每一级寄存器单元中触发器和锁存器的数据也开始出现不一致现象,每级寄存器单元的输出Q或许为触发器输出a,也或许为锁存器输出b,但只要最后一级寄存器单元的异或门输出Error低电平,则每级寄存器单元的时钟clkl与整个处理器流水线时钟elk仍然保持一致,当计数器一个计数周期的计数输出Esample仍然小于E Mf时,电压控制调节单元仍可以继续降低处 器流水线的电源电压;当电源电压持续降低到一定程度后,流水线单元开始频繁出错,最后一级寄存器单元的异或门输出Error为高电平时,DL寄存器单元的时钟clkl将变为低电平(该低电平将持续整数倍处理器流水线时钟clk,以等待整条指令的完成),同时计数器“加一”;在计数器的一个计数周期内,异或门输出Error为高电平的次数(相当于整条指令出错的次数)超过E ref时,电压控制调节单元将提高处理器流水线的电源电压;在计数器的一个计数周期内,如果Esample=E_ref,电压控制调节单元将维持处 器流水线的电源电压,而此时的电源电压将是维持系统最低功耗的电源电压。而计数器的计数周期可设置成处理器流水线时钟elk的整数倍(例如50 200倍)。综上所述,本发明提供的处理器流水线结构基于对寄存器结构的改进,同时增加寄存器内部检错电路和流水线外部纠错电路,打破了传统的电源管理技术中的供电电压安全限度的限制,电源电压能进一步降低,并能有效利用错误数的高低来实时有效地调节电压,这使得处理器内核的功耗能得到进一步的降低。
图1为常见的处理器流水结构。图2为本发明提出的超低功耗的处理器流水线结构。图3为本发明中的流水级DL (Double Latch)寄存器结构。图4为本发明中DL寄存器广生的时序不意图。图5为EX阶段借用MEM阶段时间裕量来处理数据的时序示意图。
具体实施例方式下面结合附图和具体实施方式
做进一步的说明。一种超低功耗处理器流水线结构,如图2所示,包括多级流水线单元(例如五级流水线单元:IF级、ID级、EX级、MEM级和WB级),一个电压控制调节单元,一个计数器,一个比较器;相邻两级流水线单元之间连接有一个流水级寄存器单元;所述流水级寄存器单元为一个DL寄存器(如图3所示),包括一个触发器、一个锁存器、一个异或门和一个二输入选择器;DL寄存器中,触发器在DL寄存器时钟clkl上升沿来临时将上一级流水线单元输出的数据作为输出a传输至异或门的一个输入端,锁存器在DL寄存器时钟clkl为高电平时将上一级流水线单元输出的数据作为输出b传输至异或门的另一个输入端,二输入选择器在异或门输出信号Error作用下选择触发器的输出a或锁存器的输出b作为本级流水级寄存器单元的输出Q ;当触发器的输出a和锁存器的输出b —致时,异或门输出信号Error为低电平,此时二输入选择器选择触发器的输出a作为输出并传至下一级流水线单元;当触发器的输出a和锁存器的输出b不一致时,异或门输出信号Error为高电平,此时二输入选择器选择锁存器的输出b作为输出并传至下一级流水线单元。所述最后一级DL寄存器(五级流水线结构中对应MEM级和WB级流水器处理单元之间的DL寄存器)的异或门输出信号Eiror经反相处理后与整个处理器流水线结构的时钟elk相与得到DL寄存器时钟clkl ;同时,最后一级的DL寄存器的异或门输出信号Eiror还通过所述计数器进行高电平计数,计数器在一个计数周期内的输出结果E sample与整个处理器流水线结构的参考错误数E—通过所述比较器进行比较,产生比较输出结果E diff ;当E_s,ple>E_ref时,比较器输出结果E diff用于所述电压控制调节单元提高处理器流水线的电源电压;当E—sample〈E 时,比较器输出结果E diff用于所述电压控制调节单元降低处理器流水线的电源电压;当E sample=E 时,比较器输出结果E diff用于所述电压控制调节单元维持处理器流水线的电源电压。图4是本发明中的DL寄存器产生的时序示意图。在时钟周期I和周期2期间,在时钟上升沿来临是组合逻辑部分已经处理完数据,即关键路径满足时序中建立时间要求,触发器在上升沿来临时和锁存器在高电平时期传输的数据一致,Error始终保持为低电平。在时钟周期3期间,由于组合逻辑部分处理数据所需时间太长,不满足触发建立时间要求,在时钟上升沿来临时虽然两个储存单元传递的数据一致,但是由于不是正确结果,所以导致在时钟周期4高电平时期锁存器传输的数据有改变,导致触发器输出a和锁存器输出b不同,异或门输出Error变为高电平。在时钟周期4中,继续处理数据,通过锁存器可以将正确的数据结果传到下一级进行处理,同时由于本级接收了新的数据,需对新的数据进行处理,如果在该周期内处理完数据,此时在时钟周期5的上升沿来临时,两个储存单元传递的数据一致,Error恢复为低电平。图5是关键级流水线单元借用其下一级流水线单元非关键阶段的时间来处理数据的时序示意图,这能有效地降低了关键级处理数据的压力。比如关键级为EX阶段,其下一级为MEM阶段,在前两个时钟周期上升沿来临时,EX和MEM都满足时序要求,能正确地处理并传递数据,两个阶段后的Error信号都始终为低电平。但在时钟周期2中由于执行阶段处理组合逻辑电路的关键路径超过了时钟周期,在时钟周期3的上升沿来临时执行阶段没有得到正确的数据data4,所以执行阶段Eiror EX信号变为高电平。此时EX阶段可以借用MEM阶段的时间,继续处理得到数据data4,并且通过锁存器高电平传递给MEM阶段,MEM阶段利用剩余的时钟周期处理接收到的新数据data4,在时钟周期4的上升沿来临时,MEM阶段已完成访存,MEM阶段的Error信号始终保持为低电平,另外此时Eiror EX信号恢复为低电平。在本发明的硬件电路中由于使用了高电平有效的锁存器来传输储存数据,所以对处理器流水线单元的组合逻辑电路的最短路径有一定要求。当正确的数据传递到一级流水线单元中时,如果组合逻辑部分最短路径在锁存器为高电平时就处理完成得到正确结果,这会导致锁存器传递该数据并与触发器中储存的信号比较,最终产生虚假的Error高电平信号。为了降低虚假的Eiror高电平信号的产生概率,可以找出处理器流水线单元的组合逻辑电路部分的最短路径,给它添加一定的缓冲器,使得最短路径的延时大于每个处理器流水线时钟elk的高电平时间;也可以适当降低处理器流水线时钟elk中高电平时间(即适当降低处理器流水线时钟elk的占空比)。如果单独采用添加缓冲器的手段来降低虚假的Eiror高电平信号的产生概率,则会给处理器流水线结构引入额外的功耗;如果单独采用适当降低处理器流水线时钟elk的占空比的手段来降低虚假的Error高电平信号的产生概率,则可能会导致关键级流水线单元可借用的下一级流水线单元非关键阶段的时间裕量不足。因此,可同时采用前两种手段进行折衷处理来降低虚假的Error高电平信号的产生概率。
权利要求
1.一种超低功耗处理器流水线结构,包括多级流水线单元,一个电压控制调节单元,一个计数器,一个比较器;相邻两级流水线单元之间连接有一个流水级寄存器单元;所述流水级寄存器单元为一个DL寄存器,包括一个触发器、一个锁存器、一个异或门和一个二输入选择器;DL寄存器中,触发器在DL寄存器时钟clkl上升沿来临时将上一级流水线单元输出的数据作为输出a传输至异或门的一个输入端,锁存器在DL寄存器时钟clkl为高电平时将上一级流水线单元输出的数据作为输出b传输至异或门的另一个输入端,二输入选择器在异或门输出信号Error作用下选择触发器的输出a或锁存器的输出b作为本级流水级寄存器单兀的输出Q ;当触发器的输出a和锁存器的输出b —致时,异或门输出信号Error为低电平,此时二输入选择器选择触发器的输出a作为输出并传至下一级流水线单元;当触发器的输出a和锁存器的输出b不一致时,异或门输出信号Error为高电平,此时二输入选择器选择锁存器的输出b作为输出并传至下一级流水线单元; 所述最后一级DL寄存器的 异或门输出信号Error经反相处理后与整个处理器流水线结构的时钟elk相与得到DL寄存器时钟clkl ;同时,最后一级的DL寄存器的异或门输出信号Error还通过所述计数器进行高电平计数,计数器在一个计数周期内的输出结果E_sample与整个处理器流水线结构的参考错误数E_m通过所述比较器进行比较,产生比较输出结果E_diff ;E_sample>E_ref时,比较器输出结果E_diff用于所述电压控制调节单元提高处理器流水线的电源电压;当E_sample<E_ref时,比较器输出结果E_diff用于所述电压控制调节单元降低处理器流水线的电源电压;当E_sample=E_ref时,比较器输出结果E_diff用于所述电压控制调节单元维持处理器流水线的电源电压。
2.根据权利要求1所述的超低功耗处理器流水线结构,其特征在于,所述计数器的计数周期设置成处理器流水线时钟elk的整数倍。
3.根据权利要求2所述的超低功耗处理器流水线结构,其特征在于,所述计数器的计数周期设置成处理器流水线时钟elk的50 200倍。
4.根据权利要求1所述的超低功耗处理器流水线结构,其特征在于,在处理器流水线单元的组合逻辑电路部分的最短路径中添加缓冲器,使得最短路径的延时大于每个处理器流水线时钟elk的高电平时间。
5.根据权利要求1所述的超低功耗处理器流水线结构,其特征在于,在处理器流水线单元的组合逻辑电路部分的最短路径中添加缓冲器,使得最短路径的延时大于每个处理器流水线时钟elk的高电平时间;同时,适当降低处理器流水线时钟elk中高电平时间,即适当降低处理器流水线时钟elk的占空比。
全文摘要
一种超低功耗处理器流水线结构,属于计算机硬件设计领域,包括多级流水线单元,一个电压控制调节单元,一个计数器,一个比较器;相邻两级流水线单元之间连接有一个流水级寄存器单元;所述流水级寄存器单元为一个DL寄存器,包括一个触发器、一个锁存器、一个异或门和一个二输入选择器。本发明提供的处理器流水线结构通过改变现有流水线结构中寄存器的结构,同时增加寄存器内部检错电路和流水线外部纠错电路,打破了传统的电源管理技术中的供电电压安全限度的限制,电源电压能进一步降低,并能有效利用错误数的高低来实时有效地调节电压,这使得处理器内核的功耗能得到进一步的降低。
文档编号G06F1/32GK103218029SQ20131012053
公开日2013年7月24日 申请日期2013年4月9日 优先权日2013年4月9日
发明者贺雅娟, 夏婷婷, 罗韬, 甘武兵, 张波 申请人:电子科技大学