一种低功耗Soc芯片
文献发布时间:2024-04-18 19:58:21
技术领域
本发明属于芯片领域,特别是涉及一种低功耗Soc芯片。
背景技术
Soc芯片又为系统级芯片,也有称片上系统,即集成嵌入软件的完整系统芯片。现有Soc芯片虽具有良好的处理功能,但缺少根据任务量控制核心运行的功能,无法及时监控芯片核心的运行情况,更不能根据所处理任务量的大小进行智能调控,导致Soc芯片在处理小型任务时,仍存在较大功耗情况。
发明内容
本发明提供了一种低功耗Soc芯片,可根据运算工作量智能启动处理模块,降低能耗。
本发明提供一种低功耗Soc芯片,所述低功耗Soc芯片包括:
至少一个第一处理模块,至少一个第二处理模块,所述第一处理模块、第二处理模块均用于处理工作任务,且所述第一处理模块运算能力低于所述第二处理模块;
监测模块,所述监测模块用于监测第一处理模块、第二处理模块的运行状态;
存储模块,所述存储模块用于记录第一处理模块、第二处理模块的运行状态及运行信息;
控制模块,所述控制模块用于根据运算工作量,控制第一处理模块、第二处理模块的运行状态。
进一步地,所述低功耗Soc芯片包括运行分配过程:
监测当前运行需求,确定运算工作量;
确定运算工作量大小,启动若干个第一处理模块和/或若干个第二处理模块,以使运算工作量满足第一预设条件。
更进一步地,若所述运算工作量无法满足第一预设条件,则对当前运算工作量进行拆分,形成第一运行处理过程、第二运行处理过程,启动若干个第一处理模块和若干个第二处理模块,使第一运行处理过程运行于第一处理模块,第二运行处理过程运行于第二处理模块,并确保满足第二预设条件,所述第一运行处理过程的工作量小于第二运行处理过程的工作量。
更进一步地,所述第一预设条件为:
所述运算工作量不超过启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的80%。
更进一步地,所述第一预设条件还包括:
所述运算工作量不低于启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的50%。
更进一步地,所述第二预设条件为:
所述第一运行处理过程的工作量不超过若干个第一处理模块处理能力上限的80%。
更进一步地,所述第一运行处理过程的工作量不低于若干个第一处理模块处理能力上限的40%。
更进一步地,所述监测模块还包括监测过程,所述监测过程用于监测第一处理模块、第二处理模块运行过程,在所述第一处理模块、第二处理模块发生运行故障时,启用其它的第一处理模块和/或第二处理模块处理后续的运行请求,并重启发生故障的第一处理模块、第二处理模块。
更进一步地,所述监测过程包括:
监测第一处理模块、第二处理模块运行过程;
若所述第一处理模块和/或第二处理模块发生运行故障,则识别后续的运算请求工作量;
根据运算请求工作量,启动非故障的若干个第一处理模块和/或第二处理模块,以满足第一预设条件;
重启发生运行故障的第一处理模块和/或第二处理模块。
更进一步地,所述重启发生运行故障的第一处理模块和/或第二处理模块包括:
记录发生运行故障时,对应第一处理模块和/或第二处理模块的运行程序及运行数据;
保存运行程序及运行数据;
重启第一处理模块和/或第二处理模块;
将重启后的第一处理模块和/或第二处理模块再次该运行程序;
导入运行数据,使运行程序处于故障发生时的运行状态。
本发明与现有技术相比,通过设置监控模块、第一处理模块、第二处理模块,利用监控模块对第一处理模块、第二处理模块进行监控,并配合控制模块,对工作量进行评估,根据工作量的大小智能启用对应的第一处理模块和/或第二处理模块,降低能耗。
附图说明
图1为本发明实施例的运行分配过程;
图2为本发明实施例的监测过程。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
本发明实施例公开一种低功耗Soc芯片,所述低功耗Soc芯片包括:
至少一个第一处理模块,至少一个第二处理模块,所述第一处理模块、第二处理模块均用于处理工作任务,且所述第一处理模块运算能力低于所述第二处理模块;
其中,本发明实施例的第二处理模块、第一处理模块分别为大小核处理芯片,第二处理模块的处理性能大于第一处理模块,通过该设计,在运算工作量较小时,只需运行第一处理模块,而不需运行第二处理模块,利用小核运行消耗小的特点,实现低功耗处理效果;
监测模块,所述监测模块用于监测第一处理模块、第二处理模块的运行状态;
其中,监控模块具体为监控电路,用于获取第一处理模块、第二处理模块的运行状态,识别第一处理模块、第二处理模块在运行状态下是否有正常运行;
存储模块,所述存储模块用于记录第一处理模块、第二处理模块的运行状态及运行信息;
其中,存储模块获取监控模块的监控信息,并保存,以记录第一处理模块、第二处理模块的运行状态及运行信息;
控制模块,所述控制模块用于根据运算工作量,控制第一处理模块、第二处理模块的运行状态。
其中,控制模块用于根据运算工作量,控制对应的第一处理模块、第二处理模块运行处理,使运算工作量与当前运行的处理模块相匹配,从而降低当前处于运行状态的处理模块算力被浪费的情况。
本发明实施例通过设置监控模块、第一处理模块、第二处理模块,利用监控模块对第一处理模块、第二处理模块进行监控,并配合控制模块,对工作量进行评估,根据工作量的大小智能启用对应的第一处理模块和/或第二处理模块,降低能耗。
可选的,如图1所示,所述低功耗Soc芯片包括运行分配过程:
监测当前运行需求,确定运算工作量;
其中,由控制模块获取当前礴待运行程序所需要的运算工作量;
确定运算工作量大小,启动若干个第一处理模块和/或若干个第二处理模块,以使运算工作量满足第一预设条件。
其中,由控制模块对运算工作量大小进行衡量,基于第一预设条件,启用对应的若干个第一处理模块和/或若干个第二处理模块。
特别的,所述第一预设条件为:
所述运算工作量不超过启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的80%。
其中,控制模块可以根据运算工作量,启动单个或多个第一处理模块、单个或多个第二处理模块、第一处理模块和第二处理模块的混合,实现综合性控制。
本发明实施例通过控制第一预设条件为所述运算工作量不超过启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的80%,使当前的处理模块处理能力具有部分冗余,可以对应处理使用者在当前运算工作量之外新添加的运算工作量,保持Soc处理芯片的运行流畅性。
特别的,所述第一预设条件还包括:
所述运算工作量不低于启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的50%。
本发明实施例通过控制第一预设条件为所述运算工作量不低于启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的50%,最大化利用当前处理模块的处理能力,降低对处理模块运算能力的浪费。
特别的,若所述运算工作量无法满足第一预设条件,则对当前运算工作量进行拆分,形成第一运行处理过程、第二运行处理过程;
其中,识别当前运算工作量对应的一个或多个运行程序,将可拆分到不同核心运行的运行程序进行分别拆分,形成第一运行处理过程、第二运行处理过程;
启动若干个第一处理模块和若干个第二处理模块,使第一运行处理过程运行于第一处理模块,第二运行处理过程运行于第二处理模块,并确保满足第二预设条件;
所述第一运行处理过程的工作量小于第二运行处理过程的工作量。
其中,在当前运算工作量无法满足第一预设条件(即所述运算工作量不超过启动后的若干个第一处理模块和/或若干个第二处理模块处理能力上限的80%)时,则说明当前运算工作量较大,芯片接近满负荷运行。
为满足芯片的正常响应,则对当前运算工作量进行重新分配,形成第一运行处理过程、第二运行处理过程,并确保第一运行处理过程的工作量小于第二运行处理过程的工作量,则将第二运行处理过程交由处理能力更强的第二处理模块进行处理。而处理能力较弱的第一处理模块则对工作量小的第一运行处理过程进行运行。
特别的,所述第一运行处理过程的工作量不超过若干个第一处理模块处理能力上限的80%。
其中,本发明实施例通过对当前运算工作量进行针对性拆分,形成第一运行处理过程、第二运行处理过程,将较多的处理任务交由第二处理模块进行处理,确保第一处理模块保留冗余的运算能力,可以对用户的小运算量程序进行响应,避免用户在使用过程中感觉存在卡顿等情况。
特别的,所述第一运行处理过程的工作量不低于若干个第一处理模块处理能力上限的40%。
本发明实施例通过控制第二预设条件为所述运算工作量不低于若干个第一处理模块处理能力上限的40%,最大化利用当前第一处理模块的处理能力,降低对第一处理模块运算能力的浪费。
特别的,所述监测模块还包括监测过程,所述监测过程用于监测第一处理模块、第二处理模块运行过程,在所述第一处理模块、第二处理模块发生运行故障时,启用其它的第一处理模块和/或第二处理模块处理后续的运行请求,并重启发生故障的第一处理模块、第二处理模块。
其中,监控模块通过对第一处理模块、第二处理模块的监控,可以有效识别卡顿、卡死等故障情况。
特别的,如图2所示,所述监测过程包括:
监测第一处理模块、第二处理模块运行过程;
若所述第一处理模块和/或第二处理模块发生运行故障,则识别后续的运算请求工作量;
其中,可在第一处理模块和/或第二处理模块发生运行故障时,识别后续的运算请求工作量,进行运行程序的分割,方便后续其它第一处理模块和/或第二处理模块对后续运算请求工作量的处理;
根据运算请求工作量,启动非故障的若干个第一处理模块和/或第二处理模块,以满足第一预设条件;
重启发生运行故障的第一处理模块和/或第二处理模块。
本发明实施例通过监控过程,可在当前运行的处理模块发生故障后,及时对后续运行程序进行识别,并启用其它处理模块进行接续处理,避免因单一的卡顿、卡死导致整体芯片运行过程的崩溃,提高芯片的运行可持续性。
特别的,所述重启发生运行故障的第一处理模块和/或第二处理模块包括:
记录发生运行故障时,对应第一处理模块和/或第二处理模块的运行程序及运行数据;
其中,运行程序及运行数据具体指代第一处理模块和/或第二处理模块在进行数据处理时最后处理的运行程序及对应的处理状态,识别到故障发生前已经处理出的程序内容;
保存运行程序及运行数据;
其中,通过保存运行程序及运行数据,可后续对运行过程复现,避免重新运行;该运行程序及运行数据优先存储于存储模块中,若数据量较大,则可导出至与芯片数据相连的内存、存储中;
重启第一处理模块和/或第二处理模块;
其中,通过重启第一处理模块和/或第二处理模块,使第一处理模块和/或第二处理模块脱离故障状态;
将重启后的第一处理模块和/或第二处理模块再次该运行程序;
导入运行数据,使运行程序处于故障发生时的运行状态。
本发明实施例通过导入运行数据,可直接基于运行程序在故障发生前的状态进行继续运行,提高运行效率,避免重复运算。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,技术人员阅读本申请说明书后依然可以对本发明的具体实施方式进行修改或者等同替换,但这些修改或变更均未脱离本发明申请待批权利要求保护范围之内。
- 实现系统级芯片SOC低功耗控制的方法及SOC
- 一种低功耗SOC唤醒模块及低功耗SOC