
[0030]如负载监测模块14判断当前系统负载小于下限阈值,表示当前的系统负载过低,为了减少智能终端的能耗,需要减少工作CHJ核心的数量,并且增加空闲CPU核心的数量。此时,需要将第一核心组21中的一个CPU核心设置为进入深度休眠状态,进入深度休眠状态的CPU核心也就是设置在第二核心组22中。如负载监测模块14判断当前的系统负载大于下限阈值并且小于上限阈值,则不需要更改多个(PU核心的工作状态。
[0031]为了提高系统的稳定性,每次将第一核心组21的CPU核心设置至第二核心组时,只将第一核心组21中的一个CPU核心设置至第二核心组22中,也就是每次只新增一个空闲CPU核心,即每次只将第一核心组21的一个CPU核心设置到深度休眠状态。并且,每次将第二核心组22的CPU核心设置至第一核心组21时,只将第二核心组22的一个CPU核心设置至第一核心组21中,也就是每次只新增一个工作CPU核心,即每次只将第二核心组22的一个CPU核心设置退出深度休眠状态。
[0032]此外,为了提高系统的稳定性,在增加工作CPU核心或者增加空闲CPU核心时,均按照预定的顺序对多个CPU核心进行操作。例如,对多个CPU核心进行排序,如图2所示的,多个CPU核心按照CPUO、CPUI…CPU7的顺序进行排序,在增加工作CPU核心时,按照从CPUO、CPUl...CPU7的顺序进行增加。例如,图2所示的状态下,CPUO至CPU3均为工作CPU核心,如此时需要增加一个工作CHJ核心,则需要将CPU4设置退出深度休眠状态,S卩CPU4为下一个工作CPU核心。如再需要增加工作CPU核心,则将CPU5设置至第一核心组21。
[0033]在增加空闲CPU核心时,按照从CPU7、CPU6.CPU0的顺序进行增加,例如,图2所示的状态下,CPU4至CPU7均为空闲CPU核心,如此时需要增加一个空闲CPU核心,则需要将CPU3设置进入深度休眠状态,即CPU3为下一个空闲CI3U核心。如再需要增加工作CI3U核心,则将CPU2设置至第二核心组21。
[0034]可见,将CPU核心从第一核心组21设置到第二核心组22的顺序与将CPU核心从第二核心组22设置到第一核心组21的顺序相反,也就是增加工作CPU核心的顺序与增加空闲CPU核心的顺序相反,这样可以满足系统对增加核心与减少核心的机制的要求,确保系统运行的稳定性。
[0035 ]下面结合图3介绍本CPU核心控制方法的工作流程。首先,在系统启动后,对CPU核心进行分组,即执行步骤SI,在系统启动时,利用Cgroup的CPU核心set子系统创建两个CPU核心组,分别为第一核心组21以及第二核心组22。然后,执行步骤S2,将所有进程绑定到第一核心组21的多个CPU核心中,而第二核心组22的多个CPU核心均不绑定任何进程,且应用Linux系统的idle机制,处在第二核心组22中的所有CPU核心均自动地进入深度休眠状态。
[0036]并且,在系统启动后,还执行步骤S3,在内核创建一个线程,每隔预定的时间监测系统负载,例如,每隔100微秒监测一次系统负载,并且执行步骤S4,判断当前的系统负载是否大于上限阈值,如当前的系统负载大于上限阈值,则执行步骤S5,增加工作CPU核心的数量,并且减少空闲CI3U核心的数量。此时,将第二核心组22的一个(PU核心退出深度休眠状态,即执行加核的操作。
[0037]如判断当前的系统负载没有大于上限阈值,则执行步骤S6,判断当前的系统负载是否小于下限阈值,如小于下限阈值,表示可以减小工作CHJ核心的数量,则执行步骤S7,增加空闲CPU核心的数量,并且减少工作CPU核心的数量。此时,将第一核心组21的一个CPU核心设置到第二核心组22中,也就是将第一核心组21的一个CPU核心设置进入深度休眠状态,即执行减核的操作。
[0038]如判断当前的系统负载没有大于上限阈值,也没有小于下限阈值,则不需要对两组核心组的CPU核心进行加核或者减核操作,智能终端继续监测系统的负载情况。并且,智能终端还判断是否接收到关机指令,即执行步骤S8,如接收到关机指令,则执行步骤S9,执行关机操作。
[0039]当然,执行加核或者减核操作时,每次只增加一个工作CPU核心或者只增加一个空闲CPU核心,并且,增加工作CPU核心或者增加空闲CPU核心时,按照预定的顺序执行,从而确保系统的稳定性。
[0040 ]由于CPU核心进入深度休眠状态时消耗的电能与关闭CPU核心时消耗的电能相差很少,几乎可以认为CPU核心进入深度休眠状态后不消耗电能,因此本发明的方法可以降低智能终端的能耗。并且,CPU核心进入或者退出深度休眠状态所消耗的时间远远小于开启或者关闭CPU核心的时间,且CPU核心只需要接收到指定的定时器的指令即可以唤醒,也就是退出深度休眠状态,因此应用本发明的方法可以提高加核以及减核操作的效率,从而避免因加核不成功而影响系统稳定性。
[0041]当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,本发明的方法还可以应用在具有两个CPU核心或者更多CPU核心的智能终端上,或者,监测系统负载的时间间隔可以根据实际需要调节,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。
1.智能终端的CPU控制方法,所述智能终端设有二个以上的CPU核心,其特征在于,该方法包括: 设置执行任务的工作CHJ核心与不执行任务的空闲CPU核心,在系统负载大于上限阈值时,增加工作CPU核心的数量并减少空闲CPU核心的数量,在系统负载低于下限阈值时,增加空闲CPU核心的数量并减少工作CPU核心的数量;其中,所述空闲CRJ核心处于深度休眠状态。2.根据权利要求1所述的智能终端的CRJ控制方法,其特征在于: 将多个所述CPU核心划分为第一核心组及第二核心组,所述第一核心组中的CPU核心为所述工作CHJ核心,所述第二核心组的CPU核心为所述空闲CPU核心; 所述增加工作CPU核心的数量并减少空闲CPU核心的数量的步骤是将所述第二核心组的CPU核心设置为所述第一核心组的CPU核心; 所述增加空闲CPU核心的数量并减少工作CPU核心的数量的步骤是将所述第一核心组的CPU核心设置为所述第二核心组的CPU核心。3.根据权利要求2所述的智能终端的CRJ控制方法,其特征在于: 将所述第二核心组的CPU核心设置为所述第一核心组的CPU核心时,每次只将所述第二核心组的一个CPU核心设置为所述第一核心组的CPU核心; 将所述第一核心组的CPU核心设置为所述第二核心组的CPU核心时,每次只将所述第一核心组的一个CPU核心设置所述为第二核心组的CPU核心。4.根据权利要求3所述的智能终端的CRJ控制方法,其特征在于: 将CPU核心从所述第一核心组设置到所述第二核心组时,按设定顺序将CPU核心从所述第一核心组设置到所述第二核心组; 将CPU核心从所述第二核心组设置到所述第一核心组时,按与所述设定顺序相反的顺序将CPU核心从所述第二核心组设置到所述第一核心组。5.根据权利要求1至4任一项所述的智能终端的CPU控制方法,其特征在于: 在系统启动后,每隔预定时间监测系统负载,并判断系统负载是否大于所述上限阈值或者低于所述下限阈值。6.智能终端的CPU控制装置,所述智能终端设有二个以上的CPU核心,其特征在于,该装置包括:设置模块,用于设置执行任务的工作CHJ核心与不执行任务的空闲CRJ核心; 控制模块,在系统负载大于上限阈值时,增加工作CPU核心的数量并减少空闲CPU核心的数量,在系统负载低于下限阈值时,增加空闲CPU核心的数量并减少工作CPU核心的数量;其中,所述空闲CRJ核心处于深度休眠状态。7.根据权利要求6所述的智能终端的CRJ控制装置,其特征在于:还包括 分组模块,用于将多个所述CPU核心划分为第一核心组及第二核心组,所述第一核心组中的CPU核心为所述工作CPU核心,所述第二核心组的CPU核心为所述空闲CPU核心; 其中,所述控制模块在增加工作CPU核心的数量并减少空闲CPU核心的数量时将所述第二核心组的CPU核心设置为所述第一核心组的CPU核心;并在增加空闲CPU核心的数量并减少工作CPU核心的数量时将所述第一核心组的CPU核心设置为所述第二核心组的CPU核心。8.根据权利要求7所述的智能终端的CRJ控制装置,其特征在于: 所述控制模块将所述第二核心组的CPU核心设置为所述第一核心组的CPU核心时,每次只将所述第二核心组的一个(PU核心设置为所pg电子控股有限公司述第一核心组的CPU核心; 所述控制模块将所述第一核心组的CPU核心设置为所述第二核心组的CPU核心时,每次只将所述第一核心组的一个(PU核心设置所述为第二核心组的CPU核心。9.根据权利要求8所述的智能终端的CRJ控制装置,其特征在于: 所述控制模块还用于将CPU核心从所述第一核心组设置到所述第二核心组时,按设定顺序将CPU核心从所述第一核心组设置到所述第二核心组; 所述控制模块还用于将CPU核心从所述第二核心组设置到所述第一核心组时,按与所述设定顺序相反的顺序将(PU核心从所述第二核心组设置到所述第一核心组。10.根据权利要求6至9任一项所述的智能终端的CPU控制装置,其特征在于,还包括:负载监测模块,用于在系统启动后,每隔预定时间监测系统负载,并判断系统负载是否大于所述上限阈值或者低于所述下限阈值。
【专利摘要】本发明提供一种智能终端的CPU控制方法及控制装置,该智能终端设有多个CPU核心,该方法包括设置工作CPU核心与空闲CPU核心,在系统负载大于上限阈值时,增加工作CPU核心的数量并减少空闲CPU核心的数量,在系统负载低于下限阈值时,增加空闲CPU核心的数量并减少工作CPU核心的数量;其中,空闲CPU核心处于深度休眠状态。该装置包括设置模块,用于设置CPU核心与空闲CPU核心;还包括控制模块,在系统负载大于上限阈值时,增加工作CPU核心的数量并减少空闲CPU核心的数量,在系统负载低于下限阈值时,增加空闲CPU核心的数量并减少工作CPU核心的数量;其中,空闲CPU核心处于深度休眠状态。本发明能减小智能终端的能耗,并且提高系统的稳定性。
针对传统电子系统在休眠模式下无法实现零动态功耗及唤醒延迟大的问题,提出异步唤醒电路系统。通过将系统分为模拟与数字部分,利用异步电路控制时钟源的启停:休眠时关闭振荡器消除动态功耗,唤醒时通过异步...
针对多核异构SOC启动耗时及缺乏快速休眠唤醒协同的问题,提出通过第一核判断休眠条件并协调第二核进入STR休眠的方案,结合状态标志记录与异常处理机制,实现系统功耗优化与实时性保障。 ...
针对多核异构芯片休眠唤醒时资源分配冲突、事件处理不统一及场景适应性差的问题,提出由主核统一协调子核休眠意愿与资源分配的解决方案。通过休眠锁数判断机制、唤醒中断接管及资源动态配置,实现各核独立休...
针对多核控制器在车辆休眠状态下各核心持续监听唤醒事件导致的高功耗问题,提出通过冻结从核任务仅由主核监听唤醒事件的解决方案,实现从核完全休眠以降低功耗,提升电池续航。 ...
针对多核CPU在低负载时功耗高、突发任务易丢失的问题,提出通过任务队列动态监控负载,结合预设时间周期计算所需内核数量,实现内核的智能休眠与唤醒。当任务量超阈值时唤醒对应数量内核,任务量低时休眠...
一种基于fifo和arinc659总线的双余度计算机周期控制系统及方法
