掉电控制方法、装置、设备及介质与流程

文档序号:15256984发布日期:2018-08-24 20:46阅读:214来源:国知局

本发明涉及电源管理技术领域,尤其涉及一种掉电控制方法、装置、设备及介质。



背景技术:

芯片是电子设备中配置的一种常见的元器件。随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,功耗增加将导致芯片发热量的增大和可靠性的下降。为了降低芯片的功耗,在芯片设计过程中通常采用低功耗设计,例如:如果短时间内不需要cpu(centralprocessingunit,中央处理器)进行操作,那么就对cpu进行掉电处理。

然而,cpu掉电之后需要重新加载代码才能够恢复工作,并且需要在对cpu进行掉电处理之前记录cpu的状态信息,以便于再次上电时cpu能够恢复掉电之前的状态。相关技术中,将代码和状态信息存储在tcm(tightlycoupledmemory,一个固定大小且紧密地耦合至cpu的高速缓存)中,便于cpu快速地访问tcm存储的代码和状态信息。正是由于tcm中存储有代码和状态信息,所以低功耗设计时对tcm中存储有代码和状态信息的存储单元通常不做掉电处理,即保持带电状态,从而tcm中的代码和状态信息不会因为掉电而遗失。便于cpu再次上电时利用tcm中的代码和状态信息快速恢复到工作状态。虽然对tcm中的部分存储单元(即存储有代码和状态信息的存储单元)保持带电状态能够在cpu上电时快速恢复工作状态,但是tcm中保持带电状态的存储单元仍然增加了芯片在进入低功耗状态下的功耗。



技术实现要素:

本发明实施例提供了一种掉电控制方法、装置、设备及介质,以降低芯片功耗。

第一方面,本发明实施例提供了一种掉电控制方法,所述方法包括:

在确定cpu满足掉电条件时,将所述cpu的掉电信息存储到第一带电存储模块,所述第一带电存储模块在所述cpu处于掉电状态期间保持带电;

将所述掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元;

对所述cpu以及所述第二带电存储模块包括的可用存储单元进行掉电处理,所述可用存储单元为所述第二带电存储模块中除所述部分存储单元外剩余的存储单元。

可选地,在确定cpu满足掉电条件时,将所述cpu的掉电信息存储到第一带电存储模块,包括:

在确定cpu满足掉电条件时,启动dma控制器;

通过所述dma控制器将所述掉电信息存储到所述第一带电存储模块。

可选地,将所述掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元,包括:

将所述掉电信息的存储地址信息和所述dma控制器的启动信息存储到所述第二带电存储模块包括的部分存储单元;

对所述cpu以及所述第二带电存储模块包括的可用存储单元进行掉电处理,包括:

对所述cpu、所述dma控制器以及所述第二带电存储模块包括的可用存储单元进行掉电处理。

可选地,所述方法还包括:

在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块;

根据被搬移的掉电信息,对所述cpu进行上电处理。

可选地,在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息,包括:

在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述dma控制器的启动信息;

根据所读取的启动信息,启动所述dma控制器;

通过所述dma控制器从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块,包括:

根据所读取的存储地址信息,通过所述dma控制器将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块。

第二方面,本发明实施例提供了一种掉电控制装置,所述装置包括:

第一存储模块,被配置为在确定cpu满足掉电条件时,将所述cpu的掉电信息存储到第一带电存储模块,所述第一带电存储模块在所述cpu处于掉电状态期间保持带电;

第二存储模块,被配置为将所述掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元;

处理模块,被配置为对所述cpu以及所述第二带电存储模块包括的可用存储单元进行掉电处理,所述可用存储单元为所述第二带电存储模块中除所述部分存储单元外剩余的存储单元。

可选地,所述第一存储模块包括:

第一启动子模块,被配置为在确定cpu满足掉电条件时,启动dma控制器;

第一存储子模块,被配置为通过所述dma控制器将所述掉电信息存储到所述第一带电存储模块。

可选地,所述第二存储模块包括:

第二存储子模块,被配置为将所述掉电信息的存储地址信息和所述dma控制器的启动信息存储到所述第二带电存储模块包括的部分存储单元;

所述处理模块包括:

处理子模块,被配置为对所述cpu、所述dma控制器以及所述第二带电存储模块包括的可用存储单元进行掉电处理。

可选地,所述装置还包括:

读取模块,被配置为在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

搬移模块,被配置为根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块;

上电模块,被配置为根据被搬移的掉电信息,对所述cpu进行上电处理。

可选地,所述读取模块包括:

第一读取子模块,被配置为在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述dma控制器的启动信息;

第二启动子模块,被配置为根据所读取的启动信息,启动所述dma控制器;

第二读取子模块,被配置为通过所述dma控制器从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

所述搬移模块包括:

搬移子模块,被配置为根据所读取的存储地址信息,通过所述dma控制器将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块。

第三方面,本发明实施例提供了一种掉电控制设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

本发明实施例提供的掉电控制方法、装置、设备及介质,对在cpu处于掉电状态期间保持带电的第一带电存储模块充分利用,将掉电信息存储到第一带电存储模块,仅将掉电信息的存储地址信息存储到第二存储模块,然后对cpu以及第二存储模块中的大部分存储单元(除第二存储模块中的部分存储单元外)进行掉电处理,减少了芯片中带电模块的大小(由整个第二存储模块减少为第二存储模块中部分存储单元),降低了芯片功耗。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的掉电控制方法的流程图。

图2是本发明实施例提供的掉电控制装置的示意图。

图3是本发明实施例提供的掉电控制设备的示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例提供了一种掉电控制方法。图1是本发明实施例提供的掉电控制方法的流程图,如图1所示,该方法包括以下步骤:

步骤s11:在确定cpu满足掉电条件时,将所述cpu的掉电信息存储到第一带电存储模块,所述第一带电存储模块在所述cpu处于掉电状态期间保持带电;

步骤s12:将所述掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元;

步骤s13:对所述cpu以及所述第二带电存储模块包括的可用存储单元进行掉电处理,所述可用存储单元为所述第二带电存储模块中除所述部分存储单元外剩余的存储单元。

本发明实施例中,cpu满足掉电条件是为降低芯片的功耗而设置的条件,例如:短时间内不需要cpu进行操作,则cpu满足掉电条件;又例如:检测到用户输入的控制cpu掉电的指令,则cpu满足掉电条件。实际应用中,cpu满足掉电条件的形式多种多样,在此就不再一一赘述。

在确定cpu满足掉电条件时,将cpu的掉电信息存储到第一带电存储模块,第一带电存储模块在cpu处于掉电状态期间保持带电。cpu的掉电信息包括:对cpu进行掉电处理之前cpu的状态信息以及为了后续恢复工作而需要重新加载的代码。第一带电存储模块为在cpu处于掉电状态期间保持带电的存储模块,例如:ddr颗粒。

本发明实施例中,第二带电存储模块可以是tcm。因为tcm是一个固定大小且紧密地耦合至cpu的高速缓存,因此可以在对cpu进行掉电处理之前,将掉电信息的存储地址信息存储到tcm中的部分存储单元,然后对cpu和tcm中的可用存储单元(除存储有掉电信息的存储地址信息的存储单元外的存储单元)进行掉电处理。相比于相关技术中整个tcm保持带电状态的技术方案,本发明实施例中对tcm中的大部分存储单元和cpu一起进行掉电处理,有效减少了芯片中的带电模块,降低了芯片功耗。

本发明实施例考虑到在一些大型芯片中往往都带有ddr颗粒,ddr颗粒中一般存储着大量的有用数据,在对cpu进行低功耗处理的过程中,ddr颗粒通常是一直带电的。所以,本发明实施例提出在对cpu进行掉电处理之前将原本存在tcm中的代码和状态信息转移到ddr颗粒中,那么tcm中将不再需要存储大量的代码和状态信息,因此tcm中原本存储代码和状态信息的存储单元可以和cpu一起掉电。以此实现有效减小芯片中带电模块的大小,进而降低芯片的功耗。

采用上述技术方案,对在cpu处于掉电状态期间保持带电的第一带电存储模块充分利用,将掉电信息存储到第一带电存储模块,仅将掉电信息的存储地址信息存储到第二存储模块,然后对cpu以及第二存储模块中的大部分存储单元(除第二存储模块中的部分存储单元外)进行掉电处理,减少了芯片中带电模块的大小(由整个第二存储模块减少为第二存储模块中部分存储单元),降低了芯片功耗。

在将cpu的掉电信息存储到第一带电存储模块之后,为了再次上电时cpu能够恢复掉电之前的状态,将掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元。最后对cpu以及第二带电存储模块包括的可用存储单元进行掉电处理,可用存储单元为第二带电存储模块中除存储地址信息的部分存储单元外剩余的存储单元。

可选地,所述方法还包括:

在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块;

根据被搬移的掉电信息,对所述cpu进行上电处理。

由于将掉电信息的存储地址信息存储到第二带电存储模块的部分存储单元,且不对该部分存储单元进行掉电处理,仍保持带电状态,所以在对cpu进行掉电处理之后,如果需要cpu恢复到工作状态,则从该部分存储单元中获得掉电信息的存储地址信息,然后根据存储地址信息获取掉电信息,进而使cpu恢复到掉电处理之前的工作状态。

在掉电处理之后,如果需要cpu恢复工作状态,则可以从tcm中迅速获取掉电信息的存储地址信息,然后根据存储地址信息,从ddr颗粒中获取掉电信息,进而使得cpu恢复工作状态。

在一种实施方式中,步骤s11包括以下步骤:

在确定cpu满足掉电条件时,启动dma控制器;

通过所述dma控制器将所述掉电信息存储到所述第一带电存储模块。

相应地,步骤s12包括以下步骤:

将所述掉电信息的存储地址信息和所述dma控制器的启动信息存储到所述第二带电存储模块包括的部分存储单元;

相应地,步骤s13包括以下步骤:

对所述cpu、所述dma控制器以及所述第二带电存储模块包括的可用存储单元进行掉电处理。

可选地,在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息,包括:

在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述dma控制器的启动信息;

根据所读取的启动信息,启动所述dma控制器;

通过所述dma控制器从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块,包括:

根据所读取的存储地址信息,通过所述dma控制器将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块。

本发明实施例中,为了加快掉电信息的搬移,提出通过dma这种硬件方式对掉电信息进行搬移。在具体实施过程中,可以设计一个dma控制器负责掉电信息的搬移,通过硬件方式进行掉电信息的搬移,减轻cpu的负担并且加快掉电信息搬移的效率,便于cpu在上电后的快速恢复。

由于借助于dma控制器进行掉电信息的搬移,所以除将掉电信息的存储地址信息存储到第二带电存储模块外,还需将dma控制器的启动信息存储到第二带电存储模块。相应地,在对cpu进行掉电处理的同时,可以对dma控制器以及第二带电存储模块中的可用存储单元(除用于存储掉电信息的存储地址信息和dma控制器的启动信息之外的存储单元)进行掉电处理。

如果需要cpu恢复工作状态,则首先从第二带电存储模块中读取dma控制器的启动信息,然后根据该启动信息,启动dma控制器,接着,通过dma控制器从第二带电存储模块中读取掉电信息的存储地址信息,根据读取的存储地址信息,通过dma控制器读取掉电信息,最后根据掉电信息使得cpu恢复工作状态。

下面举例说明本发明实施例提供的掉电控制方法的实施过程:

1)在确定cpu满足掉电条件时,将cpu的掉电信息(例如:恢复工作状态时必要的代码)通过dma控制器从tcm搬到ddr颗粒中,并且在tcm内记录掉电信息在ddr中的地址或者是链表,以及用于启动dma控制器的启动信息。

2)电源管理模块控制cpu、tcm(tcm内记录掉电信息和启动信息的存储单元不掉电)的大部分存储单元以及dma控制器掉电。

3)当电源管理模块唤醒cpu后,cpu将tcm内记录的掉电信息以及启动信息配置给dma控制器,然后启动dma控制器。

4)dma控制器接收到启动命令后,开始将ddr中的掉电信息搬到tcm中,搬移结束后通知cpu。

5)cpu通过读取tcm中的掉电信息,恢复掉电前的工作状态。

基于同一发明构思,本发明实施例还提供一种掉电控制装置。图2是本发明实施例提供的掉电控制装置的示意图。如图2所示,该装置200包括:

第一存储模块201,被配置为在确定cpu满足掉电条件时,将所述cpu的掉电信息存储到第一带电存储模块,所述第一带电存储模块在所述cpu处于掉电状态期间保持带电;

第二存储模块202,被配置为将所述掉电信息的存储地址信息存储到第二带电存储模块包括的部分存储单元;

处理模块203,被配置为对所述cpu以及所述第二带电存储模块包括的可用存储单元进行掉电处理,所述可用存储单元为所述第二带电存储模块中除所述部分存储单元外剩余的存储单元。

可选地,所述第一存储模块包括:

第一启动子模块,被配置为在确定cpu满足掉电条件时,启动dma控制器;

第一存储子模块,被配置为通过所述dma控制器将所述掉电信息存储到所述第一带电存储模块。

可选地,所述第二存储模块包括:

第二存储子模块,被配置为将所述掉电信息的存储地址信息和所述dma控制器的启动信息存储到所述第二带电存储模块包括的部分存储单元;

所述处理模块包括:

处理子模块,被配置为对所述cpu、所述dma控制器以及所述第二带电存储模块包括的可用存储单元进行掉电处理。

可选地,所述装置还包括:

读取模块,被配置为在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

搬移模块,被配置为根据所读取的存储地址信息,将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块;

上电模块,被配置为根据被搬移的掉电信息,对所述cpu进行上电处理。

可选地,所述读取模块包括:

第一读取子模块,被配置为在确定所述cpu满足上电条件时,从所述第二带电存储模块包括的部分存储单元中读取所述dma控制器的启动信息;

第二启动子模块,被配置为根据所读取的启动信息,启动所述dma控制器;

第二读取子模块,被配置为通过所述dma控制器从所述第二带电存储模块包括的部分存储单元中读取所述掉电信息的存储地址信息;

所述搬移模块包括:

搬移子模块,被配置为根据所读取的存储地址信息,通过所述dma控制器将所述掉电信息从所述第一带电存储模块搬移到所述第二带电存储模块。

本发明实施例提供了一种掉电控制设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中掉电控制方法。

本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中。

结合图1描述的本发明实施例的掉电控制方法可以由掉电控制设备来实现。图3示出了本发明实施例提供的掉电控制设备的硬件结构示意图。

掉电控制设备可以包括处理器301以及存储有计算机程序指令的存储器302。

具体地,上述处理器301可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在数据处理装置的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种掉电控制方法。

在一个示例中,掉电控制设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。

通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线310包括硬件、软件或两者,将掉电控制设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的掉电控制方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种掉电控制方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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