终端处理器调节方法及终端处理器调节装置与流程

文档序号:16548392发布日期:2019-01-08 20:58阅读:212来源:国知局
终端处理器调节方法及终端处理器调节装置与流程

本发明涉及处理器调节技术领域,具体而言,涉及一种终端处理器调节方法及终端处理器调节装置。



背景技术:

随着智能手机的普及,人们对手机的性能要求越来越高,其中,卡顿和耗电问题显得尤为突出,然而这两个因素大部分情况下是互斥的关系。

现有技术中,通常采用提高手机运行内存,或是中央处理器cpu等的消耗,来解决卡顿问题。

但是提高手机运行内存和增加cpu消耗,就会导致手机的耗电量加快,从而大大降低手机的续航能力。



技术实现要素:

本发明的目的在于,针对上述现有技术中的不足,提供一种终端处理器调节方法及终端处理器调节装置,以解决手机卡顿与手机待电量相互冲突的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了一种终端处理器调节方法,包括:获取第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、及第k-1时刻的伪偏导估计数其中k为大于或等于3的整数。

根据上述第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、第k-1时刻的伪偏导估计数及预设的第k+1时刻的卡顿参数y(k+1)*,采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数

根据上述第k-1时刻的处理器参数u(k-1)、第k时刻的卡顿参数y(k)、预设的第k+1时刻的所述卡顿参数y(k+1)*及第k时刻的伪偏导估计数采用mfac算法,计算第k时刻的处理器参数u(k),其中,所述第k时刻的卡顿参数y(k)为k时刻实时采集的数据。

根据该第k时刻的处理器参数u(k),调整第k时刻的实际处理器参数u(k)。

进一步地,上述采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数包括:

采用公式计算第k时刻的伪偏导估计数其中,η为步长序列,δu(k-1)为第k-1、第k-2时刻的处理器参数u(k-1)和u(k-2)的差值。

进一步地,上述采用mfac算法,计算第k时刻的处理器参数u(k),包括:

采用公式计算第k时刻的处理器参数u(k),其中,ρ为步长序列,λ为权重因子。

进一步地,上述处理器参数u(k)包括:处理器中不同类型核的个数分布和每种类型核的核频率;上述卡顿参数y(k)包括帧率和掉帧数。

进一步地,上述预设的第k+1时刻的卡顿参数y(k+1)*恒定为[60,0]。

第二方面,本申请实施例提供了一种终端处理器调节装置,包括:获取模块、计算模块及确定模块。

获取模块,用于获取第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、及第k-1时刻的伪偏导估计数其中k为大于或等于3的整数。

计算模块,用于根据上述第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、第k-1时刻的伪偏导估计数及预设的第k+1时刻的卡顿参数y(k+1)*,采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数根据上述第k-1时刻的处理器参数u(k-1)、第k时刻的卡顿参数y(k)、预设的第k+1时刻的卡顿参数y(k+1)*及第k时刻的伪偏导估计数采用mfac算法,计算第k时刻的处理器参数u(k),其中,第k时刻的卡顿参数y(k)为k时刻实时采集的数据。

确定模块,用于根据第k时刻的处理器参数u(k),调整第k时刻的实际处理器参数u(k)。

进一步地,计算模块具体用于:

采用公式计算第k时刻的伪偏导估计数其中,η为步长序列,δu(k-1)为第k-1、第k-2时刻的处理器参数u(k-1)和u(k-2)的差值。

进一步地,计算模块具体还用于:

采用公式计算第k时刻的处理器参数u(k),其中,ρ为步长序列,λ为权重因子。

进一步地,处理器参数u(k)包括:处理器中不同类型核的个数分布和每种类型核的核频率;卡顿参数y(k)包括帧率和掉帧数。

进一步地,上述预设的第k+1时刻的卡顿参数y(k+1)*恒定为[60,0]。

本申请的有益效果是:通过采用无模型自适应控制mfac算法,根据预设的恒定卡顿参数值,构建处理器参数与卡顿参数的平衡关系式,利用当前时刻实时采集的卡顿参数求取当前时刻的处理器参数,通过该处理器参数对手机终端实际的处理器参数进行调整,以使手机既能不卡顿,还能相对较省电。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的终端处理器调节方法流程示意图;

图2为本申请实施例提供的终端处理器调节方法的时序关系图;

图3为本申请实施例提供的终端处理器调节装置结构示意图一;

图4为本申请实施例提供的终端处理器调节装置结构示意图二。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

第一实施例

图1为本申请实施例提供的终端处理器调节方法流程示意图,图2为本申请实施例提供的终端处理器调节方法的时序关系图。

该方法可以由手机、平板电脑、计算机、服务器、智能电视机等终端设备执行,但不具体限制。如图1所示,该终端处理器调节方法包括:

s101、获取第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)及第k-1时刻的伪偏导估计数其中k为大于或等于3的整数。

具体地,参照图2,可以按照预设时间段划分周期,即截取一段时间从第0时刻开始采集数据,第k时刻即为第k时间段。

其中,第k时刻可以表示当前时间所在的时间段。

s102、根据上述第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、第k-1时刻的伪偏导估计数及预设的第k+1时刻的卡顿参数y(k+1)*,采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数

具体地,预设的第k+1时刻的卡顿参数为保证终端不卡顿的较优卡顿参数,当当前采集的卡顿参数y(k)等于或接近y(k+1)*时,此时终端使用过程较顺畅。

需要说明的是,mfac(modelfreeadaptivecontrol,无模型自适应控制)算法,其网络控制系统的规模和结构较为复杂,并且网络环境随时都在变化,mfac算法只依靠当前的在线数据便可对系统进行控制,可以很好地适应系统的变化。另外,采用mfac算法进行计算,其控制原理简单易用,计算量小,并且鲁棒性强,仅利用输入输出数据参与计算,无需建立受控系统模型。

s103、根据上述第k-1时刻的处理器参数u(k-1)、第k时刻的卡顿参数y(k)、预设的第k+1时刻的卡顿参数y(k+1)*及第k时刻的伪偏导估计数采用mfac算法,计算第k时刻的处理器参数u(k),其中,第k时刻的卡顿参数y(k)为k时刻实时采集的数据。

需要说明的是,该终端系统中,第0时刻的处理器参数u(0)和第1时刻的处理器参数u(1)为给定的数值,或者也可为通过实时采集获得的数值。另外,伪偏导估计数的初始值也为给定的数值。

具体地,卡顿参数y(k)表示终端的卡顿情况,处理器参数u(k)表示处理器的运行载荷,可通过对处理器参数u(k)进行实时调整,来使得卡顿参数y(k)和处理器参数u(k)达到平衡,从而使得终端在使用过程中,既能减少出现卡顿情况,同时处理器的运行消耗也能达到较较优,尽量不会出现超负荷运行,从而尽最大可能的保证了终端的续航能力。

s104、根据该第k时刻的处理器参数u(k),调整第k时刻的实际处理器参数u(k)。

需要说明的是,上述计算出来的处理器参数u(k),与当前时刻实时采集的卡顿参数y(k)满足平衡关系,即,若当前采集的卡顿参数y(k)不满足较优卡顿参数条件时,此时,可通过提高终端处理器参数u(k),即提高处理器的负荷,来优化系统,解决卡顿现象的同时,处理器的负荷又不会太高,不会较大的影响终端续航能力。若当前集的卡顿参数y(k)满足较优卡顿参数条件时,此时,可通过降低终端处理器参数u(k),即降低处理器的负荷,从而达到在不卡顿的条件下,还能进行续航的效果。

本实施例中,通过采集终端中处理器参数u(k)和卡顿参数y(k)的历史数据,利用无模型自适应控制mfac算法,实时构建出卡顿参数y(k)与处理器参数u(k)之间的平衡关系式,通过该平衡关系式,及当前k时刻实时采集的卡顿参数y(k),从而计算获得当前时刻较优的处理器参数u(k),利用该计算结果u(k),对终端中实际的处理器参数u(k)进行调整,以达到终端不卡顿的同时,还有较好的续航能力的目的。

进一步地,上述采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数包括:

采用公式计算第k时刻的伪偏导估计数其中,η为步长序列,δu(k-1)为第k-1、第k-2时刻的处理器参数u(k-1)和u(k-2)的差值。

具体地,公式中,δu(k-1)代表处理器参数差值,即当前时刻和其前一时刻处理器参数的差值,此处,δu(k-1)=u(k-1)-u(k-2)。

进一步地,上述采用mfac算法,计算第k时刻的处理器参数u(k),包括:

采用公式计算第k时刻的处理器参数u(k),其中,ρ为步长序列,λ为权重因子。

具体地,本实施例中,终端系统的处理器参数u(k)和卡顿参数y(k)之间,满足非线性系统表达式:y(k+1)=f[y(k),u(k),u(k),k],其中,u(k)表示系统的输入,y(k)表示系统的输出。其输入输出可控与可测,即对预设的卡顿参数y(k+1)*,存在一有界的可行控制输入信号u(k),使得系统在此输入下输出y(k)等于系统的期望输出,即预设的卡顿参数y(k+1)*。另外,对于当前的控制输入信号u(k),满足其偏导数连续,且存在任意的k和δu(k)≠0,有δy(k+1)|≤b|δu(k),|,其中|δy(k+1)|=|y(k+1)|-|y(k)|,δu(k)=u(k)-u(k-1);b为常数。

这样,当δu(k)≠0时,一定存在一个称为伪偏导数的量,使得y(k+1)-y(k)=φt(k)δu(k),其中|φ(k)|≤b,b为常数。

上式y(k+1)-y(k)=φt(k)δu(k)称为系统的泛模型,泛模型其实是将非线性系统动态线性化的一种方式,通过引入伪梯度向量,可使原先的离散时间非线性系统被一系列的动态线性时变模型代替,但是,要使这种替代合理,和输入的控制信号有很大的关系,因为在动态闭环工作,必须保证δu(k)≠0,并且还需要保证u(k)的变化不能过大,否则,采用这种替换方法就是不合理的。

通过替换将上式表示为:δy(k)=φ(k-1)δu(k-1),这样,当前时刻的下一刻预测表示为:δy(k+1)=φ(k)δu(k)。其中,δy(k+1)=y*(k+1)-y(k),δu(k)=u(k)-u(k-1)。使用系统设计准则函数j(u(k))=|y*(k+1)-y(k+1)|2+λ|u(k)-u(k-1)|2,项λ|u(k)-u(k-1)|2的加入起到了限制控制量变化的效果,从而达到克服系统稳态误差的目的。使用准则函数对u(k)求导,并令其等于零之后,可得到处理器参数u(k)的计算表达式为:

其中,ρ为步长序列,可根据需求加以调整。权重系数λ的引入主要有以下两点作用,一是避免分母为零的情况,二是对处理器参数u(k)起到了限制作用,让δu(k)限定在一个有限的范围内,保证泛模型的合理化,同时达到限定伪梯度的作用。

另外,对于泛模型中伪梯度φ(k)的估计,采用如下估计准则函数:通过对该函数求导并令其为零,可得出伪梯度的估计算法为:

其中,的引入,起到了限制伪的作用梯度φ(k)的作用,η为步长序列,μ为权重因子,都是可调节参数,可根据实际情况进行适当的调整。

需要说明的是,mfac算法中,每迭代计算一次,就会求一个极小值,mfac算法中,最小准则函数在求导的时候,每次求导跨的步长即为步长序列。

根据上述计算过程,最终分别计算得到伪偏导数估计值φ(k)的计算公式,和处理器参数u(k)的计算公式将两个计算公式看做一方程组,相互配合进行计算,将公式计算出的φ(k)带入公式中,计算出u(k),k取大于或等于3的整数,如此进行多次迭代,最终求出处理器参数u(k)与当前采集的卡顿参数y(k)的平衡关系式。

例如:先根据系统给定的处理器参数初始值u(0)和u(1)、伪偏导数估计值的初始值当前实时采集的卡顿参数y(2)及预设的卡顿参数y(3)*,计算系统当前时刻的伪偏导数估计值另外,根据伪偏导数估计值当前实时采集的卡顿参数y(2)及预设的卡顿参数y(3)*,计算出使得当前终端系统中,终端的卡顿情况与续航情况达到较优时的处理器参数u(2),如此进行多次迭代计算,从而得到第k时刻,采集的卡顿参数y(k)和计算出来的处理器参数u(k)的平衡关系式。

进一步地,上述处理器参数u(k)包括:处理器中不同类型核的个数分布和每种类型核的核频率;上述卡顿参数y(k)包括帧率和掉帧数。

进一步地,上述预设的第k+1时刻的卡顿参数y(k+1)*恒定为[60,0]。

具体地,处理器中核类型包括:大核、中核、小核,每个类型核个数及其对应的核频率,决定了处理器的运行负荷。而卡顿参数中,每秒的fps(帧率)表示图形处理器处理场时每秒钟能够更新的次数,高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感。另外,当sf掉帧数为零时,用户也不会感觉到有卡顿现象存在。

需要说明的是,要让终端不出现卡顿,可以抽象成fps=60,sf=0,也就是说每秒的帧数要达到60且不出现掉帧的情况,这样人的肉眼才不觉得卡。上述预设的第k+1时刻的卡顿参数y(k+1)*即为系统中预期的卡顿参数。

具体地,本实施例中,第一方面,终端存在卡顿现象时,假设终端系统中,当前采集的fps=50,sf=2,即卡顿参数y(k)=[50,2],且此刻,系统的处理器参数中的核分布情况为:大核=1,中核=4,小核=3,大核频率=1092000,中核频率=184600,小核频率=-1,那么当前时刻,终端系统中处理器参数u(k)=[1,4,3,1092000,184600,-1]。因为当前采集的卡顿参数y(k)=[50,2]并未达到预期的较优卡顿参数y(k+1)*=[60,0],若是不提高处理器的运行负荷,终端将出现卡顿现象,但是若盲目的去提高处理器运行负荷,将会导致终端耗电量增大。因此,利用上述计算获得的处理器参数u(k)与卡顿参数y(k)的平衡关系式,可计算出使得终端既能不卡,且此时处理器运行负荷不会太高的处理器参数u(k),此处假设计算出来的处理器参数为u(k)=[4,3,1,1092000,1092000,-1],然后就可将系统实际的处理器参数u(k)=[1,4,3,1092000,184600,-1],根据计算出来的处理器参数进行调整,即调整为u(k)=[4,3,1,1092000,1092000,-1],此时,可达到优化系统的目的。

第二方面,终端不存在卡顿现象时,假设当前采集的卡顿参数fps和sf均为正常值,而此时,处理器的运行负荷有可能会超过正常水平,即超负荷运行,这样,有很大一部分运行消耗是不必要的,若一直处于超负荷运行状态,终端的待电时长将受到严重影响,即为了保证终端有较好的续航能力,此时,就需要对当前处理器的运行负荷进行适当的降低,根据上述计算获得的处理器参数u(k)与卡顿参数y(k)的平衡关系式,可计算出,在当前正常卡顿参数的情况下,处理器参数的较优值,该较优值下的处理器负荷,既能保证终端持续不卡顿,同时,也相对的降低了处理器的运行负荷,假设此时通过计算获得的处理器参数u(k)=[0,4,-1,0,184600,-1],则可相应的将系统实际的处理器参数u(k)=[1,4,3,1092000,184600,-1]调整至u(k)=[0,4,-1,0,184600,-1],即处理器的负荷得到降低,从而达到省电的目的。

第二实施例

图3为本申请实施例提供的终端处理器调节装置结构示意图一,如图3所示,该终端处理器调节装置包括:获取模块301、计算模块302、及确定模块303,其中:

获取模块301,用于获取第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、及第k-1时刻的伪偏导估计数其中k为大于或等于3的整数。

计算模块302,用于根据上述第k-1时刻的处理器参数u(k-1)、第k-2时刻的处理器参数u(k-2)、第k时刻的卡顿参数y(k)、第k-1时刻的伪偏导估计数及预设的第k+1时刻的卡顿参数y(k+1)*,采用无模型自适应控制mfac算法,计算第k时刻的伪偏导估计数根据上述第k-1时刻的处理器参数u(k-1)、第k时刻的卡顿参数y(k)、预设的第k+1时刻的卡顿参数y(k+1)*及第k时刻的伪偏导估计数采用mfac算法,计算第k时刻的处理器参数u(k),其中,第k时刻的卡顿参数y(k)为k时刻实时采集的数据。

确定模块303,用于根据第k时刻的处理器参数u(k),调整第k时刻的实际处理器参数u(k)。

进一步地,计算模块302具体用于:

采用公式计算第k时刻的伪偏导估计数其中,η为步长序列,δu(k-1)为第k-1、第k-2时刻的处理器参数u(k-1)和u(k-2)的差值。

进一步地,计算模块302具体还用于:

采用公式计算第k时刻的处理器参数u(k),其中,ρ为步长序列,λ为权重因子。

进一步地,处理器参数u(k)包括:处理器中不同类型核的个数分布和每种类型核的核频率;卡顿参数y(k)包括帧率和掉帧数。

进一步地,上述预设的第k+1时刻的卡顿参数y(k+1)*恒定为[60,0]。

上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图4为本申请实施例提供的终端处理器调节装置结构示意图二,如图4所示,该装置包括:处理器401和存储器402,其中:

存储器402用于存储程序,处理器401调用存储器402存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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