本发明涉及物联网芯片,尤其涉及一种用于降低功耗的芯片预启动方法和装置。
背景技术:
1、在集成电路芯片启动时,由于存在瞬时电压、芯片瞬时启动以及芯片预启动等过程,因此将导致集成电路芯片在启动时功率消耗较大,而这不仅会对集成电路芯片造成一定损害,还将对包含该集成电路芯片的整个装置造成一定的损害。因此如何降低芯片启动时的功耗,是当前集成电路芯片行业内的研究重点。
2、而现有技术所提供的,针对芯片启动时的功耗降低方法具体为:通过在集成电路芯片的输入端添加电压稳定装置,控制输入该芯片的输入电压上限,以此实现在芯片启动时,降低芯片的启动功耗。然而通过上述方法降低芯片的启动功耗,不仅增加了芯片的芯片体积,而且还无法降低芯片在瞬时启动和预启动过程中的功耗量,因此采用上述功耗降低方法将导致芯片在瞬时启动和预启动时的瞬时功耗消耗大。
技术实现思路
1、本发明提供了一种用于降低功耗的芯片预启动方法和装置,以实现降低芯片预启动时的瞬时功耗,减少了对芯片的损耗,同时还提高了芯片启动效率的技术效果。
2、为了解决上述技术问题,本发明实施例提供了一种用于降低功耗的芯片预启动方法,包括以下步骤:
3、获取芯片预启动时的启动流程、功耗影响因素以及芯片的仿真结构模型,对所述启动流程进行识别,获得芯片预启动时的启动功能信息;
4、基于所述仿真结构模型模拟所述启动功能信息,获得仿真启动功耗信息;
5、基于所述仿真启动功耗信息和所述功耗影响因素对所述启动功能信息进行评价,获得功耗评价信息;
6、根据所述功耗评价信息对所述启动功能信息进行排序,获得启动功能序列,继而基于所述启动功能序列对芯片的所述启动流程进行序列预启动。
7、本发明提供的芯片预启动方法首先将获取芯片预启动时的启动流程、功耗影响因素以及芯片的仿真结构模型,并对芯片的的启动流程进行识别,确定芯片在预启动时的启动功能信息。本发明所获取的芯片的功耗影响因素,即在芯片启动时可能导致芯片产生功耗的因素,包括芯片的启动速率或启动数据量等启动内容。对芯片启动流程识别后获得的启动功能信息,即芯片启动流程中涉及的各项启动模块信息,以及各模块启动时的启动流程,为后续对芯片进行仿真启动提供数据基础。
8、在确定了芯片预启动时的启动功能信息之后,系统即可通过芯片的仿真结构模型对芯片的启动功能信息进行仿真启动,模拟芯片预启动的全过程,以此确定芯片预启动时的启动功耗信息,即通过模型仿真确定芯片在预启动时各功耗影响因素会产生的功耗信息,为后续对功耗信息进行评价提供参考数据。
9、而在确定了芯片仿真预启动时的仿真启动功耗信息后,系统则将根据功耗影响因素和仿真启动功耗信息对启动功能信息进行功耗评价,即通过功耗影响因素和仿真模型输出的仿真启动功耗信息确定启动功能信息中各项功耗影响因素的价值,即确定启动功能信息对应的功耗影响因素的功耗评价信息。
10、进一步确定了芯片预启动时各启动功能信息对应的功耗评价信息后,系统即可根据功耗评价信息,即各功耗影响因素的功耗价值对启动功能信息进行排序,即对启动功能信息中各模块的启动价值进行排序,并根据排序后的启动功能序列对芯片的启动流程进行序列预启动。通过启动功能序列对芯片进行序列预启动,不仅避免了预启动过程中,各启动功能信息同时启动将导致的瞬时功耗增大的问题,还降低了芯片瞬时启动时的功耗,进而降低了芯片预启动时功耗对芯片的损耗程度。而通过排序后的启动功能序列即启动价值对芯片进行预启动,即优先启动了启动价值较大的模块,还提高了通过序列启动方式对芯片进行预启动时的启动效率,进而降低了芯片进行预启动时的总功耗。
11、作为优选例子,所述对所述启动流程进行识别,获得芯片预启动时的启动功能信息,包括:
12、按照芯片预启动时各模块的模块类型将所述启动流程拆分为子启动流程,并识别所述模块类型确定各模块的模块功能信息;
13、将各模块的所述模块功能信息和子启动流程相互关联,并整合为芯片预启动的所述启动功能信息。
14、为了便于后续模型对芯片进行仿真启动,系统在通过芯片的仿真结构模型对芯片的预启动流程进行预启动仿真之前,还将按照芯片预启动时各模块的模块类型将芯片的预启动流程拆分成与各模块对应的子启动流程,并对各模块的模块类型进行识别,确定各模块的模块功能信息。将识别获取的模块功能信息与其对应的子启动流程相互关联并整合,即可获得芯片的启动功能信息。
15、系统通过将芯片的总启动流程按照模块类型拆分为各模块对应的子启动流程,将启动流程细化为若干个子启动流程的组合,便于后续通过识别启动功能信息确定各模块的启动价值和对应功耗,提高了系统后续针对各启动功能信息的功耗识别精准度。
16、作为优选例子,在所述整合为芯片预启动时的所述启动功能信息之后,还包括:
17、对所述启动功能信息中的模块功能信息进行识别,确定各模块的模块关键度,并根据所述子启动流程确定流程节点,以及各流程节点的启动方式;
18、根据所述启动方式对应的启动时长,计算获得各所述子启动流程对应的总启动时长,将所述模块关键度、所述总启动时长作为所述启动功能信息的功能价值信息;
19、获取所述启动方式的启动特征信息和功耗影响因素的影响特征信息,并计算所述启动特征信息和所述影响特征信息之间的相似度,根据所述相似度为每个所述启动方式匹配唯一对应的所述功耗影响因素,继而根据匹配的所述功耗影响因素调整所述启动功能信息对应的所述功耗影响因素。
20、在对仿真模型进行启动仿真之前,系统还将对识别获得的启动功能信息进行进一步识别,确定芯片预启动流程中各模块的模块关键度、并根据各模块对应的子启动流程确定其相应的流程节点,以及各流程节点对应的启动方式,即系统将对每两个流程节点之间的启动流程进行启动方式识别适配,并根据相应匹配方式将每个启动方式适配至对应的流程节点。
21、确定了各流程节点的启动方式后,即可确定每个启动方式对应的启动时长,并以此计算每个子启动流程所包含的所有节点对应的启动时长的总和,即每个子启动流程的总启动时长,继而将计算获得的启动功能信息对应的总启动时长、模块关键度作为启动功能信息对应的功能价值信息,为后续进行功耗影响因素匹配提供参照数据。
22、为了便于后续仿真模型对芯片的启动功能信息进行仿真功耗信息获取,系统还将获取每个启动方式的启动特征信息,以及每个功耗影响因素的影响特征信息,并分别计算其对应的相似度,将相似度最高的功耗影响因素作为对应启动方式的专属功耗影响因素。即确定的启动特征信息为该启动方式对应的启动流程的流程特征,而对应的功耗影响因素的影响特征信息也即为影响该启动流程功耗的影响特征。根据上述匹配方式将每个启动方式均匹配上对应的功耗影响因素,并根据匹配后的结果对系统初始确定的启动功能信息中的功耗影响因素进行调整,提高了对启动功能信息的识别全面性,同样也提高了后续系统计算各模块功耗价值的精确性。同时,确定了每个启动方式对应的功耗影响因素,也便于后续系统对模块的启动优先度进行排序。
23、作为优选例子,所述基于所述仿真结构模型模拟所述启动功能信息,获得仿真启动功耗信息,包括:
24、基于芯片的所述启动流程识别获取所述启动功能信息的启动序列,通过所述仿真结构模型按照所述启动序列模拟所述启动功能信息的启动过程,获得所述启动功能信息对应的启动过程信息;
25、将所述启动过程信息中各时间点的功耗信息进行排序处理,获得所述仿真启动功耗信息。
26、在对芯片的启动功能信息进行仿真预启动模拟时,系统首先将根据芯片的启动流程识别获取启动功能信息的启动序列,并通过仿真模型按照识别的启动序列对芯片的启动功能信息进行启动模拟,获得芯片预启动时的启动过程信息,将启动过程信息中各个时间点的功耗信息进行排序处理,即获得了仿真模型输出的仿真启动功耗信息。通过启动序列对芯片的启动功能信息进行启动模拟,提高了输出的仿真启动功耗信息的精准性、可靠性和实用性。
27、作为优选例子,所述基于所述仿真启动功耗信息和所述功耗影响因素对所述启动功能信息进行评价,获得功耗评价信息,包括:
28、通过拟合算法对所述仿真启动功耗信息进行排序分布处理,获得功耗分布信息,并基于所述功耗分布信息获取所述启动功能信息的功耗分布范围;
29、获取芯片的输入功率,并基于所述输入功率和所述启动功能信息对应启动方式的启动时长,获取所述启动功能信息的子启动功耗值,获取所述功耗影响因素的影响权重值,基于所述功耗影响因素、所述影响权重值和所述子启动功耗值计算获得实际功耗值;
30、根据模块关键度识别所述启动功能信息,获得启动优先度,将所述启动优先度、所述功耗分布范围和所述实际功耗值整合为所述功耗评价信息。
31、获得了仿真模型输出的仿真启动功耗信息后,系统将通过拟合算法对仿真功耗信息进行排序分布处理,获得功耗分布信息,并基于获得的功耗分布信息识别获取启动功能信息的功耗分布范围。进而根据获取的芯片的输入功率和启动功能信息中多个启动方式对应的总启动时长,获取启动功能信息的子启动功耗值,即每个启动方式所对应的启动功耗值。并根据每个功耗影响因素的影响权重值和子启动功耗值计算确定每种启动方式对启动功能信息所造成的实际功耗值。该实际功耗值不仅考虑了每个功耗影响因素的影响权重值,即该功耗影响因素对芯片预启动时功耗的影响程度,还考虑了每个启动方式自身的子启动功耗值,综合考虑上述两种因素计算确定的实际功耗值准确性更高,考虑也更全面。
32、在获取了实际功耗值之后,系统即可根据模块关键度识别启动功能信息获得启动优先度,即各模块的启动优先度,并将启动优先度、功耗分布范围和实际功耗值整合为功耗评价信息,提高了功耗评价信息的精准度和全面性,使得功耗评价信息得以从更全面的角度分析各模块启动时的功耗。
33、作为优选例子,所述根据所述功耗评价信息对所述启动功能信息进行排序,获得启动功能序列,包括:
34、基于所述功耗评价信息中的功耗分布范围和实际功耗值,计算获得功耗评价值,并根据启动优先度计算获得功能评价值,继而根据所述功耗评价值和所述功能评价值获得启动价值;
35、按照所述启动价值对所述启动功能信息进行排序,获得所述启动功能序列。
36、在确定了功耗评价信息后,系统还将根据功耗评价信息中的实际功耗值和功耗分布范围计算确定功耗评价值,即功耗价值,以及根据启动优先度计算确定功能评价值,即模块的功能价值,再根据上述两者计算获得的启动价值对启动功能信息进行排序,获得启动功能序列。
37、系统通过功耗评价值和功能评价值确定各模块的启动价值,提高了确定的启动价值的准确性和精准性。
38、作为优选例子,所述基于所述功耗评价信息中的功耗分布范围和实际功耗值,计算获得功耗评价值,并根据启动优先度计算获得功能评价值,具体为:
39、基于所述启动功能信息中的子启动流程,在所述功耗分布范围中识别获得对应子功耗分布范围,并通过功耗评价策略对所述子功耗分布范围和所述实际功耗值进行识别处理,获得所述功耗评价值;
40、通过启动功能评价策略对所述启动优先度进行识别处理,获得所述功能评价值。
41、通过在功耗分布范围中根据各启动功能信息中的子启动流程识别确定各启动方式的子功耗分布范围,再通过功耗评价策略对子功耗分布范围和实际功耗值进行识别,获得功耗评价值,因此识别确定的功耗评价值包括了其对应的启动方式以及功耗范围。而根据启动优先度确定的功能评价值,则包括了其对应的模块的启动优先度。
42、作为优选例子,所述基于所述启动功能序列对芯片的所述启动流程进行序列预启动,包括:
43、基于所述启动功能序列中的启动价值对所述启动功能信息进行识别,获得初始序列启动组,并将所述启动功能信息填充至所述初始序列启动组中,获得候选序列启动组;
44、按照所述启动价值对所述候选序列启动组进行排序处理,获得启动序列,将所述启动序列整合至所述候选序列启动组中,获得序列启动组,并根据所述序列启动组对芯片的所述启动流程进行序列预启动。
45、在根据启动功能序列对芯片进行预启动之前,系统还将根据启动功能序列中的启动价值对启动功能信息进行识别,获得每个启动功能信息中的初始序列启动组,并将启动功能信息填充至初始启动序列组中,获得候选启动序列组。确定了候选启动序列组之后,按照启动价值对候选启动序列组进行排序处理,获得候选启动序列组对应的启动序列,而包含了启动序列的候选启动序列组即为序列启动组,并可作为系统进行芯片预启动时的参照数据。系统通过启动价值将启动功能信息划分为多个序列启动组,不仅提高了芯片分组启动时的合理性,还确保了分组启动后的芯片得以正常运行。
46、作为优选例子,所述根据所述序列启动组对芯片的所述启动流程进行序列预启动,包括:
47、对所述序列启动组进行识别处理,获得对应的启动次序和启动方式,并基于所述序列启动组中的所述启动功能信息的启动时长,计算获得组启动时长;
48、基于所述组启动时长和所述启动次序,计算获得所述序列启动组的启动时间点,并根据所述启动时间点对所述序列启动组中的所述启动功能信息,按照对应的所述启动序列,进行序列预启动处理。
49、在系统对芯片进行预启动时,首先将对序列启动组进行识别,获得每个序列启动组的启动次序和对应的启动方式,并根据每个序列启动组中启动功能信息所对应的启动时长,计算确定每个序列启动组的组启动时长。继而根据计算确定的组启动时长和启动次序计算确定各序列启动组的启动时间点,再根据确定的启动时间点对序列启动组中各启动功能信息,按照其对应的启动序列进行序列启动处理,以此实现芯片的序列预启动全过程。系统通过划分序列组减少了芯片预启动时的启动功能信息的数目,以此降低了芯片的瞬时启动功耗,以及芯片在预启动时的总启动功耗,优化了芯片的预启动流程。
50、相应的,本发明实施例还提供了一种用于降低功耗的芯片预启动装置,所述芯片预启动装置包括数据获取模块、预启动仿真模块、功耗评价模块和预启动模块;其中:
51、所述数据获取模块用于获取芯片预启动时的启动流程、功耗影响因素以及芯片的仿真结构模型,对所述启动流程进行识别,获得芯片预启动时的启动功能信息;
52、所述预启动仿真模块用于基于所述仿真结构模型模拟所述启动功能信息,获得仿真启动功耗信息;
53、所述功耗评价模块用于基于所述仿真启动功耗信息和所述功耗影响因素对所述启动功能信息进行评价,获得功耗评价信息;
54、所述预启动模块用于根据所述功耗评价信息对所述启动功能信息进行排序,获得启动功能序列,继而基于所述启动功能序列对芯片的所述启动流程进行序列预启动。