掌桥专利:专业的专利平台
掌桥专利
首页

一种处理器的功率调整方法及装置

文献发布时间:2023-06-19 11:32:36


一种处理器的功率调整方法及装置

技术领域

本申请涉及半导体芯片领域,特别涉及一种调整处理器的功率的方法。

背景技术

在半导体芯片领域,由于大量电子器件被集成在很小的面积中,芯片的散热能力是限制芯片频率以及核数提升的主要瓶颈之一。为了保证处理器长时间可靠运行,防止因为发热而损坏,处理器工作时通常会被限定在一定的功耗范围内。而处理器的性能主要受其功率影响。也就是说,处理器的性能会受到其功耗范围的影响。

在工业实践中,处理器生产厂家往往会根据每种型号的处理器的散热能力和功率,为该型号处理器设定一个特定的最大功耗值,称为热设计功耗(Thermal DesignPower, TDP)。虽然TDP有利于保护处理器不会因为温度过高而损坏,但是TDP也限制了处理器的最大性能。当前很多业务场景中都存在短期业务量突发的情况,为了应对这些突发但又持续较短时间的高计算性能需求,需要使用远超出平均计算能力需求的处理器,使得企业购买硬件设备的成本大幅度增加。

发明内容

为了解决现有技术中,处理器的最大功率受到固定的热设计功耗的限制,从而难以应对突发的高计算性能需求的问题,本申请提供一种调整处理器功率的方法,可以当处理器的使用率超过阈值时,调整处理器的功率,使调整后的处理器的功率超过该处理器对应的TDP的值,从而在短时间内提高处理器的计算性能。

第一方面,本申请提供一种调整处理器功率的方法,该方法用于计算机装置,该计算机装置包括处理器,该方法包括:确定该处理器的使用率超过第一阈值;调整该处理器的TDP,其中,调整后的该处理器的TDP大于该处理器的预设TDP。

通过执行上述方法,计算机装置可以在处理器的使用率达到一定程度时,暂时调整处理器的TDP。由于处理器通常具有功率保护功能,当处理器的功率达到或接近TDP时,会采用降低频率等方式降低处理器的功率。因此,该方法调高处理器的TDP,从而可以在不触发功率保护功能的前提下使处理器的功率超过预设的TDP,以应对当前业务对于处理器的性能的需求。

根据第一方面,在本申请的一种实现方式中,在调整处理器的TDP之前,该方法还包括:获取处理器的当前温度;确定该处理器的最高温度与该处理器的当前温度的差值大于等于第二阈值。

通过执行上述方法,可以在调整处理器的TDP之前,先确认当前处理器的温度距离最高温度是否还有足够的余量,从而提高系统的稳定性。

根据第一方面,在本申请的另一种实现方式中,在调整处理器的TDP之前,该方法还包括:获取风扇的当前转速,其中,该风扇用于为处理器散热;确定该风扇的当前转速与该风扇的最大转速的比值小于等于第三阈值。

通过执行上述方法,可以在调整处理器的TDP之前,先确认计算机装置对于处理器的散热能力是否还有余量,可以在处理器的功率升高之后依然可以使处理器的温度保持在安全范围内,从而提高了计算机装置运行的稳定性。

根据第一方面,在本申请的另一种实现方式中,在调整处理器的TDP之前,该方法还包括:确定该处理器的TDP的增加量;向电源控制器发送电能请求,该电能请求中携带该处理器的TDP的增加量的信息;接收电源控制器发送的响应,该响应用于指示该电源控制器已将处理器的TDP的增加量大小的电能分配给计算机装置。

通过执行上述方法,可以在调整处理器的TDP之前,先根据处理器的TDP的增加量向电源控制器请求相应的电能,从而可以为功率提高后的处理器提供足够的电能,增加计算机装置运行的稳定性。

根据第一方面,在本申请的另一种实现方式中,在调整处理器的TDP之后,该方法还包括:监控该处理器在单位时间内发生的错误数;当该处理器在单位时间内发生的错误数大于等于第四阈值时,降低该处理器的TDP。

通过执行上述方法,可以在调整处理器的TDP之后,通过监控处理器在单位时间内的错误数来监控处理器工作的可靠性。当处理器在单位时间内发生的错误数过多时,降低处理器的TDP,从而提高了计算机装置运行的可靠性。

根据第一方面,在本申请的另一种实现方式中,在调整处理器的TDP之后,该方法还包括:监控处理器在超过预设TDP的功率下运行的时长,当处理器在超过预设TDP 的功率下运行的时长超过第五阈值时,发出警告。

通过执行上述方法,可以在调整处理器的TDP之后,监控处理器在超过预设TDP 的功率下运行的时长。当处理器长时间运行在该功率下时,不仅会对计算机装置运行的可靠性产生影响,也会影响处理器的使用寿命,因此需要发出警告,以提醒用户选用额定功率更高的处理器。

根据第一方面,在本申请的另一种实现方式中,调整所述处理器的TDP的步骤具体包括:根据该处理器的最高温度与该处理器的当前温度的差值以及该风扇的当前转速与该风扇的最大转速的比值确定调整后的该处理器的TDP。

通过执行上述方法,可以根据计算机装置对处理器的散热能力的余量决定处理器增加的TDP,从而提高了计算机装置运行的稳定性和处理器运行的效率。

根据第一方面,在本申请的另一种实现方式中,调整处理器的TDP,包括:利用计算机装置的基本输入输出系统或基带管理控制控制器调整处理器的TDP。

第二方面,本申请提供一种调整处理器功率的方法,该方法用于计算机装置,该计算机装置包括处理器,该方法包括:确定处理器的使用率超过第一阈值;调整处理器获取的监控电流值以使处理器的电压升高,其中,调整后的处理器获取的监控电流值小于处理器的实际电流值。

通过执行上述方法,计算机装置可以通过调低处理器获取的监控电流值的方式来调整处理器的功率。由于在监控处理器的功率时,处理器获取到的监控电流值是可以修改的。因此,通过这种方法,可以在处理器的实际功率已经超过预设的TDP时,所监控的处理器的功率还未超过预设的TDP,从而可以在不触发功率保护功能的前提下调整处理器的功率。

根据第二方面,在本申请的一种实现方式中,在调整处理器获取到的监控电流值之前,该方法还包括:获取处理器的当前温度;确定该处理器的最高温度与该处理器的当前温度的差值大于等于第二阈值。

根据第二方面,在本申请的另一种实现方式中,在调整处理器获取到的监控电流值之前,该方法还包括:获取风扇的当前转速,其中,该风扇用于为处理器散热;确定该风扇的当前转速与该风扇的最大转速的比值小于等于第三阈值。

根据第二方面,在本申请的另一种实现方式中,在调整处理器获取到的监控电流值之前,该方法还包括:预测处理器的功率的增加量,并根据该增加量向电源控制器发送电能请求,该电能请求中携带预测的处理器的功率的增加量;接收电源控制器发送的响应,该响应用于指示该电源控制器已将处理器的功率的增加量大小的电能分配给计算机装置。

根据第二方面,在本申请的另一种实现方式中,在调整处理器获取到的监控电流值之后,该方法还包括:监控该处理器在单位时间内发生的错误数;当该处理器在单位时间内发生的错误数大于等于第四阈值时,调高处理器获取到的监控电流。

根据第二方面,在本申请的另一种实现方式中,在调整处理器获取到的监控电流值之后,该方法还包括:监控处理器在超过预设TDP的功率下运行的时长,当处理器在超过预设TDP的功率下运行的时长超过第五阈值时,发出警告。

根据第二方面,在本申请的另一种实现方式中,调整处理器获取到的监控电流包括:根据该处理器的最高温度与该处理器的当前温度的差值以及该风扇的当前转速与该风扇的最大转速的比值确定调整后的该处理器获取到的监控电流值。

第三方面,本申请提供一种计算机装置,该计算机装置包括:处理模块;监控模块,用于确定处理模块的使用率超过第一阈值;调整模块,用于调整处理模块的TDP,其中,调整后的处理模块的TDP大于该处理模块的预设TDP。

根据第三方面,在本申请的一种实现方式中,监控模块还用于:在调整模块调整处理模块的TDP之前,获取处理模块的当前温度;确定该处理模块的最高温度与该处理模块的当前温度的差值大于等于第二阈值。

根据第三方面,在本申请的另一种实现方式中,监控模块还用于:在调整模块调整处理模块的TDP之前,获取风扇的当前转速,其中,该风扇用于为处理模块散热;确定该风扇的当前转速与该风扇的最大转速的比值小于等于第三阈值。

根据第三方面,在本申请的另一种实现方式中,监控模块还用于:在调整模块调整处理模块的TDP之前,确定处理模块的TDP的增加量;向电源控制器发送电能请求,该电能请求中携带该处理模块的TDP的增加量的信息;接收电源控制器发送的响应,该响应用于指示该电源控制器已将处理模块的TDP的增加量大小的电能分配给计算机装置。

根据第三方面,在本申请的另一种实现方式中,监控模块还用于:在调整模块调整处理模块的TDP之后,监控该处理模块在单位时间内发生的错误数;调整模块还用于:当该处理模块在单位时间内发生的错误数大于等于第四阈值时,降低该处理模块的TDP。

根据第三方面,在本申请的另一种实现方式中,监控模块还用于:在调整模块调整处理模块的TDP之后,在调整模块调整处理模块获取的监控电流值之后,监控该处理模块在超过所述预设TDP的功率下运行的时长;当该处理模块在超过所述预设TDP的功率下运行的时长超过第五阈值时,发出警告。

根据第三方面,在本申请的另一种实现方式中,监控模块用于:根据该处理模块的最高温度与该处理模块的当前温度的差值以及该风扇的当前转速与该风扇的最大转速的比值确定调整后的该处理模块的TDP。

根据第三方面,在本申请的另一种实现方式中,调整模块用于:利用计算机装置中的基本输入输出系统或基带管理控制器调整处理模块的TDP。

第四方面,本申请提供一种计算机装置,该计算机装置包括:处理模块;监控模块,用于确定处理模块的使用率超过第一阈值;调整模块,用于调整处理模块获取的监控电流值,其中,调整后的处理模块获取的监控电流值小于处理模块的实际电流值。

根据第四方面,在本申请一种实现方式中,监控模块还用于:在调整模块调整处理模块获取的监控电流值之前,获取处理模块的当前温度,确定该处理模块的最高温度与该处理模块的当前温度的差值大于等于第二阈值。

根据第四方面,在本申请另一种实现方式中,监控模块还用于:在调整模块调整处理模块获取的监控电流值之前,获取风扇的当前转速,其中,该风扇用于为处理模块散热;确定该风扇的当前转速与该风扇的最大转速的比值小于等于第三阈值。

根据第四方面,在本申请另一种实现方式中,监控模块还用于:在调整模块调整处理模块获取的监控电流值之前,预测处理模块增加的功率值;向电源控制器发送电能请求,该电能请求中携带该处理模块增加的功率值;接收电源控制器发送的响应,该响应用于指示该电源控制器已将处理模块增加的功率值大小的电能分配给计算机装置。

根据第四方面,在本申请另一种实现方式中,监控模块还用于:在调整模块调整处理模块获取的监控电流值之后,监控该处理模块在单位时间内发生的错误数;调整模块还用于:当该处理模块在单位时间内发生的错误数大于等于第四阈值时,调整该处理模块获取的监控电流值。

根据第四方面,在本申请另一种实现方式中,监控模块还用于:在调整模块调整处理模块获取的监控电流值之后,监控该处理模块在超过所述预设TDP的功率下运行的时长;当该处理模块在超过所述预设TDP的功率下运行的时长超过第五阈值时,发出警告。

根据第四方面,在本申请另一种实现方式中,监控模块用于:根据该处理模块的最高温度与该处理模块的当前温度的差值以及该风扇的当前转速与该风扇的最大转速的比值确定处理模块获取的监控电流值。

根据第四方面,在本申请的另一种实现方式中,调整模块用于:利用计算机装置中的基本输入输出系统或基带管理控制器调整处理模块获取的监控电流值。

第五方面,本申请提供一种计算机装置,该计算机装置包括存储器和处理器,该存储器用于存储程序代码,该处理器用于调用存储器中的程序代码以执行第一方面或第二方面中任意一种实现方式提供的方法。

第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储程序代码,该程序代码可以被计算机装置调用以执行第一方面或第二方面中任意一种实现方式提供的方法。

第七方面,本申请提供一种处理器,该处理器包括监控模块和核心,其中,监控模块用于确定处理器的使用率超过第一阈值;核心用于调整处理器的TDP,其中,调整后的处理器的TDP大于处理器的预设TDP。

根据第七方面,在本申请的一种实现方式中,在核心调整处理器的TDP之前,监控模块还用于:获取处理器的当前温度;确定该处理器的最高温度与该处理器的当前温度的差值大于等于第二阈值。

根据第七方面,在本申请的另一种实现方式中,在核心调整处理器的TDP之前,监控模块还用于:获取风扇的当前转速,其中,该风扇用于为处理器散热;确定该风扇的当前转速与该风扇的最大转速的比值小于等于第三阈值。

根据第七方面,在本申请的另一种实现方式中,在核心调整处理器的TDP之前,监控模块还用于:确定该处理器的TDP的增加量,并根据该增加量向电源控制器发送电能请求,该电能请求中携带处理器的TDP的增加量;接收电源控制器发送的响应,该响应用于指示该电源控制器已将处理器的TDP的增加量大小的电能分配给计算机装置。

根据第七方面,在本申请的另一种实现方式中,在核心调整处理器的TDP之后,监控模块还用于:监控该处理器在单位时间内发生的错误数;当该处理器在单位时间内发生的错误数大于等于第四阈值时,调低处理器的TDP。

根据第七方面,在本申请的另一种实现方式中,在核心调整处理器的TDP之后,监控模块还用于:监控处理器在超过预设TDP的功率下运行的时长,当处理器在超过预设TDP的功率下运行的时长超过第五阈值时,发出警告。

根据第七方面,在本申请的另一种实现方式中,监控模块用于:根据该处理器的最高温度与该处理器的当前温度的差值以及该风扇的当前转速与该风扇的最大转速的比值确定调整后的处理器的TDP。

根据第七方面,在本申请的另一种实现方式中,核心用于利用所述计算机装置中的基本输入输出系统BIOS或基带管理控制器BMC调整所述处理器的TDP。

附图说明

图1是本申请所提供的一种计算机装置的架构示意图。

图2是本申请所提供的另一种计算机装置的架构示意图。

图3A是本申请所提供的一个实施例的流程示意图。

图3B是本申请所提供的另一个实施例的流程示意图。

图4是本申请所提供的一种处理器与电源控制器连接的架构示意图。

图5是本申请所提供的另一个实施例的流程示意图。

图6是本申请所提供的一种计算机装置的功能结构的示意图。

图7是本申请所提供的一种计算机装置的结构的示意图。

图8是本申请所提供的一种处理器的结构的示意图。

具体实施方式

TDP的主要作用是指导处理器的热设计的工作开展,合理地限定处理器的最大工作功耗,从而较好地平衡散热成本和性能收益。在当前的设计中,处理器的TDP都是一个固定的值。处理器的生产厂家在设计处理器时,根据不同型号的处理器的特性,为每种型号的处理器设定一个TDP的值。其中,设定TDP值时所考虑的因素包括处理器的晶元漏电流、门电容和晶体管数量等,这些因素会影响处理器的发热以及散热能力。在实践中,当前的各个生产厂家都是根据处理器频率和处理核的数量来划分处理器的型号,并设定TDP的值,每种型号的处理器对应的TDP的值是固定不变的。

随着当前液冷、风冷等散热技术的发展,降低处理器温度的手段越来越多,成本也越来越低。这意味着可以通过降低处理器工作时的温度,来使处理器在更大的功率下工作,从而提供更高的频率和更强的计算性能。而由于当前的TDP的值是固定不变的,因此处理器的性能会受到最大功率的限制,无法进一步提升性能。当面临存在短期业余量突发的业务场景时,由于无法提供更好的计算性能以满足短期突发的高性能计算需求,只能选择远超出常规需求算力的处理器,使得硬件部署的成本显著增加。

为了使处理器可以在短时间内提供额外计算能力,本申请提供一种方法,可以在处理器的功率达到或者接近TDP的值的情况下,调整TDP的值,从而使得处理器的功率可以进一步提升。

图1是本申请所提供的一种计算机装置的架构示意图。

如图1所示,计算机装置100可分为硬件和软件两部分。硬件部分包括处理器110和存储器120。处理器110是计算机装置300的控制中心,用于执行相关程序,以实现本发明实施例所提供的技术方案。存储器120可以存储操作系统和其他的应用软件,在通过软件或者固件来实现本发明实施例所提供的技术方案时,用于实现本发明实施例提供的技术方案的代码会被保存在处理器120中,并由处理器110来执行。存储器120可以与处理器110集成在一起或集成在处理器110的内部,也可以是独立于处理器110的一个或多个存储单元

软件部分包括操作系统130、基本输入输出系统(Basic Input/Output System,BIOS) 140以及应用软件150。操作系统130是管理计算机硬件和软件资源的系统软件,也是计算机装置的内核和基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。为了方便用户操作,大多数操作系统会提供一个让用户与系统交互的操作界面。

BIOS的作用是在通电引导阶段运行硬件初始化,以及为操作系统和程序提供运行时服务。除了使硬件初始化之外,BIOS通常还具有显示处理器温度以及调整温度保护策略等功能。

应用软件(application software),又称应用程序(application program),是计算机软件的主要分类之一,是指为针对用户的某种特殊应用目的所撰写的软件。例如,应用软件可以是用于实现功率控制、温度管理等目的程序。

图2是本申请所示提供的另一种计算机装置的架构示意图。

如图2所示,计算机装置200包括中央处理器(central processor unit,CPU)210、南桥芯片220、内存230、基带管理控制器(Baseboard Management Controller,BMC)240、脉冲宽度调制(pulse width modulation,PWM)风扇250、独立磁盘冗余阵列(RedundantArray of Independent Disks,RAID)卡260、存储器270和输入输出(Input/Output,I/O)接口。

CPU210的作用和处理器110作用类似,主要是解释计算机指令以及处理计算机软件中的数据,此处不再赘述。

图1中的存储器120在图2中被细分成了内存230和存储器270。其中,内存又称主存储器,其作用是用于暂时存放CPU210中的运算数据、以及与硬盘等外部存储器交换数据。图2中的存储器270是指辅助存储器,其特点是容量大、价格低,通常用于存储暂时不用的程序和数据。存储器270可以通过RAID卡260与CPU210相连,其中,RAID 卡260是用于将多个存储器270构成磁盘阵列,以提高计算机装置200中存储数据的容错率。

南桥芯片220是计算机装置200的主板芯片组的一部分。芯片组包括北桥芯片和南桥芯片,其中,北桥芯片用来处理高速信号。由于在当前的设计中,北桥芯片通常被集成在CPU中,因此在图1中未示出。南桥芯片220用于处理低速信号,包含大多数周边设备接口、多媒体控制器和通信接口功能。南桥芯片220可以通过北桥芯片与中央处理器连接,或者与集成了北桥芯片的中央处理器连接。另外,南桥芯片220可以通过外围组件快速互联(peripheral component interconnect express,PCIe)接口与BMC240连接。

BMC240与南桥芯片220连接,作用是方便计算机装置远程管理、监控、安装以及重启等操作。BMC240通常设计为当计算机装置接通电源时即运行,从而独立于计算机装置运行的其他程序,从而可以在计算机装置发生故障时进行故障恢复。

PWM250风扇是一种可以调节转速的风扇,可以通过调整电压或者调整PWM信号来调节PWM风扇250的转速。具体来说,PWM信号可以具有不同的占空比(duty cycle),通过向PWM风扇250输入具有特定的占空比的PWM信号,来设定PWM风扇250的转速。

I/O接口280是用于计算机装置200和外部设备的信息交换。I/O接口可以是通用串行总线(Universal Serial Bus,USB)、串行ATA(Serial Advanced TechnologyAttachment, SATA)等接口,本申请不对此进行限定。

需要指出的是,上述提到的CPU仅为方便叙述,本申请不限定处理器的类型,既可以是CPU,也可以是图形处理器(graphic processor unit,GPU)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等其他类型的处理器。

图3是本申请所提供的一个实施例的流程示意图。

S301:监控处理器的运行参数。

由于处理器是计算机装置中的重要器件,且处理器在运行时会产生较大的热量,因此,需要在处理器运行时监控处理器的运行参数,包括处理器的使用率、发热以及散热能力、功率等。具体如下:

处理器的运行频率是指处理器每秒进行运算的次数,其中,每进行一次运算的时间称之为处理器的周期。例如,当处理器以1GHz的频率运行时,意味着该处理器每秒进行10亿次运算,以及每秒包含10亿个该处理器的周期。为了使处理器平稳运行,处理器往往不是满负荷运行的,处理器在其一部分周期中进行了运算,而在另一部分周期中保持空闲状态。则一段时间内,处理器进行运算的周期数与该段时间内的总周期数的比值被称为该处理器的使用率。

对处理器的发热监控可以通过监控处理器的温度来实现。处理器的温度通常包括:处理器的封装外壳温度Tcase和处理器的结温Tj,其中,结温通常较封装外壳温度更高。在监控处理器的发热时,既可以使用封装外壳温度来衡量,也可以采用处理器的结温来衡量,本申请不对此进行限定。

处理器的散热能力通常和风扇的转速相关,当处理器对应的风扇转速越快时,此时的散热能力越强,但也意味着散热能力的余量越少。在本申请实施例的一种实现方式中,可以计算风扇的每分钟转速(revolutions per minute,RPM)与风扇设计的最大转速的比值,当该比值较小时,说明散热能力的余量较大,此时散热不会成为提高处理器功率的瓶颈;而该比值较大时,说明散热能力的余量较小,此时不宜再提高处理器的功率,否则处理器因为功率升高而增加的热量将很难被处理。

处理器的功率是根据加在处理器上的电压和流过处理器的电流确定的。处理器通常包含电压检测装置,可以自行检测处理器当前的电压值。而处理器的电流值往往需要从处理器外部的器件中获取。计算机装置根据所检测的电压值以及获取的电流值确定处理器监控功率。

S302:确定处理器的使用率超过第一阈值。

处理器的计算能力和该处理器的功率以及使用率正相关。当处理器的功率与TDP的值有着较大差值的时候,如果需要提升处理器的计算能力,可以通过调整处理器的功率来提升处理器的计算能力。而当处理器的功率与TDP的值的差值较小时,TDP的限制使得处理器的功率难以再进一步有大幅度的提升,此时只能通过提高处理器的使用率来提高处理器的计算能力。

当检测到处理器的使用率在一定时间内超过第一阈值时,说明处理器计算能力的增加余量较小,无法再满足性能需求的继续增长。此时如果突发高计算性能需求的短期业务,则处理器的计算能力将无法满足业务的需求。为了进一步提高处理器的计算能力,需要调整TDP的值,使处理器的功率还可以根据调整后的TDP的值再提高。其中,第一阈值的数值可以是一个固定值,例如80%,也可以根据不同型号的处理器分别进行设定,本申请不对此进行限定。

S303:评估处理器的发热以及散热能力。

由于处理器的发热量会随着处理器功率的增加而增加,因此,如果需要增加处理器的功率,需要对计算机装置的发热以及散热能力进行评估。其中,对发热以及散热能力的评估主要包括以下两个方面。

第一方面,考虑处理器所能承受的最高温度与处理器当前温度的差值。处理器的最高温度是指处理器包含的器件在不损坏的前提下所能承受的温度的最大值。虽然部分厂商在生产处理器时,会提供温度保护功能,使得处理器不会因为过热而损坏。但是,在本申请所提供的一种实现方式中,为了确保处理器不会因为功率超过TDP的值导致过热而损坏,从而适用于更多场景中,所以在提高处理器的功率之前先计算处理器的最高温度与处理器当前温度的差值,即处理器当前温度还能够提升的余量。如果该差值大于等于第二阈值时,说明处理器的温度还有一定的提升空间,这种情况可以提高处理器的功率;如果该差值小于等于第二阈值时,说明处理器的温度已经比较接近最高温度了,这种情况下不适宜再提高处理器的功率。其中,第二阈值可以是一个预设的固定值,例如,设定第二阈值为30摄氏度,当处理器的最高温度是80摄氏度,而处理器的当前温度是 40摄氏度时,此时处理器的最高温度和处理器的当前温度的差值时40摄氏度,大于第二阈值,因此可以提高处理器的功率。在另一种实现方式中,第二阈值可以根据处理器将要提高的功率通过一定的计算方法得出,例如,当预计将处理器的功率提高20W,根据计算方法得出处理器的功率提高20W将会使得处理器的温度提升10摄氏度,则将10摄氏度作为第二阈值。

对于上述计算处理器所能承受的最高温度与处理器当前温度的差值,可以利用处理器的外壳温度(Case Temperature)或者其他部分的温度,本申请不对此进行限定。

第二方面,考虑计算机装置散热能力的余量。计算机装置的散热通常包括风冷和液冷两种类型,其中,风冷是指用空气作为媒介冷却需要冷却的物体,例如采用风扇加快计算机装置内发热的器件与周围空气之间的热交换,以及在机箱内由风扇和计算机装置的部件位置配合形成风道以加强散热效果;水冷是指使用液体在泵的带动下强制循环带走散热器的热量,从而降低计算机装置内部件的温度。由于当前大多数的计算机装置都采用风冷的方式对处理器进行散热,因此本实施例以风冷方式散热举例进行说明。

在采用风冷方式散热的情况下,计算机装置的散热能力主要由风扇转速决定。当风扇转速高时,发热的器件与周围空气的热交换越剧烈,散热能力也就越强。而每一个风扇都有它的最大每分钟转速(revolutions per minute)。对于为处理器散热的风扇,该风扇当前的RPM与该风扇最大RPM的比值,即为计算机装置当前对处理器已使用的散热能力的比例。因此,在提高处理器的功率时,需要考虑到这一比值。具体来说,当风扇当前的RPM与该风扇最大RPM的比值小于等于第三阈值时,说明计算机装置当前对处理器并未使用过多比例的散热能力,即使处理器因为功率上升产生更多的热量,计算机装置也可以通过提高风扇转速的方式增强对处理器的散热能力,因此可以提高处理器的功率;当风扇当前的RPM与该风扇最大RPM的比值大于第三阈值时,说明计算机装置当前已对处理器使用了过多比例的散热能力,当处理器因为功率上升产生更多的热量时,计算机装置将很难再提高对处理器的散热能力,因此不宜提高处理器的功率。

液冷是利用泵使散热管中的冷却液循环并进行散热,液冷散热系统通常具有以下部件:液冷块、循环液、泵、管道和液体箱或换热器。其中,液冷块是一个内部留有通道的金属块,由铜或铝制成,与发热器件接触并将吸收发热器件的热量。循环液由水泵的作用在循环的管路中流动,吸收了发热器件热量的液体就会从发热器件上的液冷块中流走,而新的低温的循环液将继续吸收发热器件的热量。管道连接泵、液冷块和液体箱,其作用是让循环液在一个密闭的通道中循环流动而不外漏,让液冷散热系统正常工作。液体箱用来存储循环液,换热器是一个类似散热片的装置,循环液将热量传递给具有大表面积的散热片,散热片上的风扇则将流入空气的热量带走。

液冷的散热能力可以通过以下公式近似得到,Q=c*m*dt。其中,Q是指液冷系统的散热能力,c是液体的比热容,m是液体的质量,和液体管的粗细以及液体的流速正相关,而液体的流速与液压正相关,dt是指液体与散热对象的温差。在判断液冷散热系统的散热余量时,可以根据当前液冷管的液压与液冷散热系统的最大液压的差值或比值以及当前液体的温度得出。例如,可以判断液冷管的液压距离液冷散热系统的最大液压的余量是否超过预设值或者当前液体的温度距离处理器所能承受的最大温度的余量是否超过预设值,从而决定是否放开对处理器功率的限制。

S304:评估计算机装置对应的电源的负载能力。

如果调整处理器的TDP的值,会导致处理器的实际功率值的增加,此时需要判断计算机装置对应的电源能否提供足够的电能以支撑增加的功率,即对电源的负载能力进行评估。如图4所示,对电源的负载能力进行评估可分为如下几个步骤进行:

S3041:计算机装置预测处理器的功率的增加值。

S3042:计算机装置向第一电源控制器发送电能请求,该电能请求携带预测的处理器的功率的增加值,该第一电源控制器用于控制向计算机装置的供电。其中,所预测的处理器功率的增加值可以是处理器的TDP增加值。

S3043:第一电源控制器根据电能请求,判断是否可以提供预测的处理器所增加的功率。

S3044:当第一电源控制器确定电源可以提供处理器所增加的功率时,第一电源控制器向计算机装置发送同意响应,该同意响应用于表示第一电源控制器会将或者已将计算机装置所请求的电能分配给计算机装置。

S3045:当第一电源控制器无法提供处理器所增加的功率时,第一电源控制器向计算机装置发送拒绝响应,该拒绝响应用于表示第一电源控制器确定电源无法提供计算机装置所请求的电能而拒绝将计算机装置所请求的电能分配给计算机装置。

S305:调整处理器的TDP,调整后的处理器的TDP大于预设的TDP。

当确定处理器的使用率超过第一阈值时,需要使处理器的功率进一步提高以满足业务需求。且当处理器具有足够的散热能力余量以及电源可以提供足够的电能时,可以使处理器的功率突破预设的TDP的值。在本实施例中,可以提高TDP的值,使处理器的功率可以提升至预设的TDP的值和提高后的TDP的值之间。例如,原先的TDP的值是 50瓦(watt,W),根据业务需要将该TDP的值调整为60W,则当TDP的值调整后,处理器的功率可以上升至50W至60W之间,从而超过预设的TDP的值。

在第一种方法中,由于需要直接调整TDP的值,而在现有技术中,同一型号的处理器的TDP的值是确定的。因此,本申请所提供的处理器,可以在制造时就预置了调整TDP 的功能,可以根据需要调整TDP的值。其中,调整TDP的功能可以通过BMC、BIOS 或者是以软件代码的形式实现,本申请不对此进行限定。

调整TDP的值的做法,既可以是一种自动开启功能,也可以是需要用户或者管理员确认后进行的。

在本申请一种实现方式中,上述功能是自动开启的功能,该功能具体是使处理器的功率接近TDP的值时,调整TDP的值,该功能可以通过BIOS、BMC或者采用软件代码实现。

在本申请的另一种实现方式中,调整TDP的值是根据用户或者管理员确认后实现的。具体来说,当计算机装置需要进一步使处理器的功率提高并超过预设的TDP时,计算机系统会向用户呈现调整请求,该调整请求用于提示用户确认是否允许调整TDP的值。调整请求可以有多种呈现方法,本申请不对调整请求的设置方法进行限定。例如,可以在显示器上以弹窗的形式显示,并提示用户根据实际情况选择“是”或者“否”;或者,当计算机装置与扬声器相连时,可以通过语音的方式向提示用户确认是否允许调整TDP 的值。

对于处理器的TDP的增加值,在本申请的一种实现方式,可以根据处理器当前的运行参数来确定。例如,本申请提供如下一种量化公式,来确定调整后的TDP的值。

其中,各个参数所代表的是:

TDP

T

V

S306:监控处理器在超出该处理器预设的TDP的功率下运行的可靠性。

当处理器在超出该类型处理器预设的TDP的功率下运行时,它的可靠性很可能会受到影响。因此,当调整TDP的值后,需要评估的处理器在当前功率下运行的可靠性。评估处理器的可靠性可以根据处理器的结温以及单位时间内的软错误数量来进行。

结温(Junction Temperature)是指电子设备中半导体的实际工作温度,也是电子设备中实际半导体芯片(晶圆、裸片)的最高温度。如果处理器的工作温度超过最高结温,则处理器中的晶体管就会被破坏,器件也随即生效。由于结温比起表面温度更能反映处理器的实际状况。为了防止处理器因为温度过高而烧毁,结温更适合用来评估处理器运行时的可靠性。但本申请并不限定必须使用结温来评估处理器运行时的可靠性,使用处理器其他的温度,包括表面温度,来评估处理器运行时的可靠性,也位于本申请的保护范围中。

软错误也称为软性错误,是因为一个信号或者数据不正确造成的错误。在计算机装置中,软错误会造成程序中一个指令或者是一个数据的改变。软错误通常由两种,集成电路层级的软错误,以及系统层级的软错误。集成电路层级的软错误一般是因为有高能粒子撞击到集成电路,例如集成电路本身材料中放射性原子的衰变,会放出α粒子撞击集成电路,因为α粒子带有正电荷以及能量,因此若撞击到某个存储器单元,存储器单元中的数值就可能会变化。上述例子中的原子反应非常小,不会影响到集成电路的硬件结构。系统层级的软错误多半是在要处理的数据被噪声所影响,多半是在数据在总线时发生此情形,电脑会将噪声解读为数据比特,因此会造成程序定址或是处理代码的错误。当处理器的实际功率超出了预设的TDP的值时,如果单位时间内产生的软错误超过了第四阈值,则需要发出警告或者直接降低处理器的TDP的值,从而降低处理器的功率。

另外,本申请允许处理器在短时间内运行高于预设的TDP的值的功率下是为了应付突发的高计算性能需求,如果处理器长时间运行在高功率状态下,不仅会对计算机系统的可靠性产生影响,也会加快处理器的损耗。为了避免这种情况发生,计算机装置可以监控处理器在超出预设的TDP的值的功率下运行的时长,或者监控处理器在超出预设的 TDP的值的功率下运行的时长占整个工作时长的比例,如果该工作时长或者比例超出预设的阈值时,则发出警告,提示用户及时更高性能的处理器,以避免处理器长期工作在超过预设TDP的功率下。

图5是本申请所提供的另一个实施例的流程示意图。

S501:监控处理器的运行参数。

S502:确定处理器的使用率超过第一阈值。

S503:评估处理器的发热以及散热能力。

S504:评估计算机装置对应的电源的负载能力。

上述4个步骤可以分别参考图3中的步骤S501、S502、S503和S504,在此不再赘述。

S505:调整处理器获取的监控电流值,调整后的处理器获取的监控电流值小于处理器的电流值。

为了使处理器的功率超过预设的TDP的值,图3已经给出了通过调整TDP的值的方法,本实施例提供另一种方法。由于处理器是根据处理器的电压值和获取的监控电流值得到该处理器的监控功率的,如果处理器获取的监控电流值小于实际的电流值,则处理器的监控功率也小于处理器当前实际的功率,从而使处理器的最大功率值实际上可以进一步提高,从而超过预设的TDP的值。

如图5所示,处理器和第二电源控制器通过总线相连,该第二电源控制器用于控制向处理器的供电。该总线可以采用集成电路总线(Inter-Integrated Circuit,I

为了使处理器的实际功率能突破预设的TDP值,可以通过使处理器的监控功率小于处理器实际功率的方式避免触发处理器的功率保护功能。处理器可以获得自身的电压值,而计算机装置无法更改该电压值,但是计算机装置可以通过更改存储在第二电源控制器的寄存器中的参数等方法更改处理器获取的电流值,因此,在本方案实施例的一种实现方式中,当计算机装置需要调节处理器的功率值,使处理器的功率值超过预设的TDP值时,通过修改第二电源控制器的寄存器中的参数,使处理器所检测到的当前的监控功率值小于处理器当前的实际功率值,从而可以在处理器检测到的监控功率值小于预设的 TDP的情况下,使处理器的实际功率超过预设的TDP的值。

与步骤S306中提供的确定调整处理器的TDP的值的算法类似,处理器调整后的监控电流也可以根据处理器当前温度以及风扇的当前转速等参数确定。

S506:监控处理器在超过该处理器预设的TDP的功率下运行的可靠性。

与步骤S306类似,当处理器在超过处理器预设的TDP的功率下发生的错误过多或者运行时长过长时,发出警告,或者提高处理器获取的监控电流值,从而降低处理器的功率。

图6是本申请的实施例提供的用于调整处理器功率的计算机装置的功能模块的示意图。如图6所示,计算机装置600包括处理模块610、监控模块620和调整模块630,其中:

监控模块620,

用于确定处理模块610的使用率超过第一阈值;

调整模块630,用于调整处理模块610的TDP的值,其中,调整后的处理模块610 的TDP的值大于处理模块610预设的TDP的值。

上述计算机装置600还用于执行如图3A、图3B和图5所示的调整处理器功率的其他步骤。具体来说,监控模块620用于执行图3A中的步骤S301、步骤S302、步骤S303、步骤S304和步骤S306、图3B中的步骤3041和步骤3042以及图5中的步骤S501、步骤S502、步骤S503、步骤S504和步骤S306等步骤,调整模块630用于执行图3中的步骤S305和图5中的步骤S505等步骤,各个模块执行各个步骤的具体流程请见上文对图 3A、图3B和图5的介绍,此处不再赘述。

图7为依据本申请的实施例提供的用于调整处理器功率的计算机装置700的结构示意图。本实施例中的计算机装置700可以是上述各实施例中的计算机装置的其中一种具体实现方式。

如图7所示,该计算机装置700包括处理器701,处理器701与存储器705连接。处理器701可以为现场可编程门阵列(英文全称:Field Programmable Gate Array,缩写:FPGA),或数字信号处理器(英文全称:Digital Signal Processor,缩写:DSP)等计算逻辑或以上任意计算逻辑的组合。处理器701也可以为单核处理器或多核处理器。

存储器705可以是随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable read only memory,EEPROM)、寄存器或者本领域熟知的任何其它形式的存储介质,存储器可以用于存储程序指令,该程序指令被处理器701执行时,处理器701 执行上述实施例中的所述的方法。

连接线709用于在通信装置的各部件之间传递信息,连接线709可以使用有线的连接方式或采用无线的连接方式,本申请并不对此进行限定。连接709还连接有网络接口704。

网络接口704使用例如但不限于电缆或电绞线一类的连接装置,来实现与其他设备或网络711之间的通信,网络接口704还可以通过无线的形式与网络711互连。

本申请实施例的一些特征可以由处理器701执行存储器705中的程序指令或者软件代码来完成/支持。存储器705上在加载的软件组件可以从功能或者逻辑上进行概括,例如,图6所示的监控模块620和调整模块630。

在本申请的一个实施例中,当存储器705加载程序指令后,处理器701执行存储器中的上述功能/逻辑模块相关的事务。

此外,图7仅仅是一个计算机装置700的例子,计算机装置700可能包含相比于图7展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图7中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。例如,存储器和处理器可以在一个模块中实现,存储器中的指令可以是预先写入存储器的,也可以是后续处理器在执行的过程中加载的。

图8为依据本申请的实施例提供的用于调整处理器功率的处理器800的结构示意图。

如图8所示,处理器800包括核心(Core)810、内存控制器(Memory Controller,MC)820、缓存(Cache)830、监控模块840。其中,核心810是处理器内部的计算单元,是处理器的核心组件,负责为处理器提供算力。MC820负责处理器和内存之间的交互,一个用于管理与规划从内存到处理器之间传输速度的总线电路控制器,它可以是一个单独的芯片,也可以集成到有关的大型芯片里。缓存830用于减少处理器访问内存所需平均时间的部件,缓存830的容量远小于内存,但速度却可以接近处理器的频率。

处理器800还包括监控模块840,监控模块840可以监控处理器800的参数,例如核心的频率、电压以及温度等,并且可以从与处理器相连的第二电源控制器获取处理器800的电流。监控模块840可以根据处理器的电压以及获取的电流得到处理器800的功率,当该功率接近处理器800对应的TDP的值时,会向核心810发送指令,通过降低核心的频率来降低处理器800的功率。

核心810可以加载内存或者缓存830中的指令以执行以及调用监控模块840执行本申请图3和图5中的流程,例如,监控模块840可以确定处理器的使用率超过第一阈值,所述核心可以用于调整所述处理器的热设计功耗。其中,监控模块840既可以是一个独立的组件,例如监控模块840可以是最小指令集计算机输入/输出(minimal instruction setcomputer input/output,MISC I/O),该装置是处理器周边的I/O总线接口,可以内置传感器监控处理器的电压值,并通过总线获取处理器的电流值。监控模块840也可以被集成在其他部件上,例如监控模块840可以被集成在核心810中,本申请不对此进行限定。

相关技术
  • 一种处理器的功率调整方法及装置
  • 一种用于功率调整的UE、基站中的方法和装置
技术分类

06120112966451