技术领域
[0001] 本申请涉及集成电路技术领域,更具体地说,它涉及一种芯片的功耗控制方法、装置、设备以及存储介质。
相关背景技术
[0002] 随着电子产品的节能化发展,电子产品中的芯片的功耗是决定电子产品的使用能源量的关键因素。也就是说,芯片的功耗决定电子产品的用电量。
[0003] 现有的降低功耗的方法是,系统休眠时,数据保存在非易失性存储器中,其他部分断电。系统唤醒时,先加载系统,再做业务。
[0004] 但是在低功耗要求较高的应用领域中,如,便携式电脑领域中,无论是工作量少还是工作量多的情况下,均通过断电非易失性存储器以外的其他部分,唤醒时间和功耗无法满足这些对低功耗实际需求较高的应用领域。
具体实施方式
[0067] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0068] 本申请提供了一种芯片的功耗控制方法,参见图1,包括以下步骤:
[0069] S100:获取业务数据交互信息。
[0070] 本申请中,芯片包括不可断电的模块、存储模块和可断电的模块。不可断电的模块包括:计时器和电源单元。可断电的模块包括:中央处理单元(CPU)、数字前端单元(Digital Front End,DFE)、射频收发器(Radio Frequency transceiver,RF transceiver)。存储模块包括易失性存储器和非易失性存储器。易失性存储器可以是随机存储器(RandomAccess Memory,RAM)。非易失存储器可以是快闪存储器(Flash Memory)。业务数据可以是使用电脑浏览网页时下载的数据。业务数据还可以是使用单片机向执行设备发送的执行指令。业务数据交互信息包括业务数据的时间和业务数据的数量。CPU获取业务数据交互信息。
[0071] S200:根据业务数据交互信息,生成数据交互的时间值和交互的数据量。
[0072] 本申请中,数据交互的时间值具体是数据需要处理的时间。交互的数据量具体是数据需要处理的数量。
[0073] 可以理解的是,由数据交互的时间值可以确认芯片不需要处理数据的时间范围和需要处理的时间范围。也就是确认芯片进入睡眠的时间和睡眠后唤醒的时间。由交互的数据量可以确认芯片唤醒后处理的数据的字节量。
[0074] S300:当数据交互的时间值和交互的数据量在第一预设范围内时,将易失性存储器中的数据备份至非易失性存储器中。
[0075] 本申请中,第一预设范围包括第一睡眠时间范围和第一业务量范围。当数据交互的时间值和交互的数据量在第一预设范围内时,数据交互的时间值在第一睡眠时间范围内。交互的数据量在第一业务量范围内。数据交互时间在第一睡眠时间内,芯片不处理数据,芯片可以进入睡眠状态。数据量在第一业务量范围内时,芯片睡眠后唤醒的处理数据的字节量。
[0076] 可以理解的是,当数据交互的时间值和交互的数据量在第一预设范围内时,芯片准备进入第一睡眠状态。也就是说,芯片在睡眠期间不处理数据。芯片在唤醒后处理业务量在第一业务量范围内的数据。易失性存储器可以是RAM。RAM通常是作为操作系统或其他正在运行程序的临时存储介质,因此,RAM可称作系统内存。当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把数据写入到非易失性存储器中,例如快闪存储器。
[0077] 也就是说,易失性存储器当断电时,数据发生丢失。非易失性存储器当断电时,数据不会丢失。将易失性存储器中的数据保存在非易失性存储器中,避免在断电时由于易失性存储器中的数据消失而导致的数据丢失,从而保证数据的完整性。
[0078] S400:断电易失性存储器,以使所述芯片进入第一睡眠状态。
[0079] 具体地,易失性存储器可以是静态随机存取存储器(Static RandomAccess Memory,SRAM)。在准备进入第一睡眠状态时,易失性存储器、非易失性存储器和可断电模块均断电。只有不可断电模块在低功耗模式下工作。在第一睡眠状态时,芯片中电流为500nA。
[0080] 可以理解的是,静态随机存取存储器需要保持通电,才能够将存储的数据恒常保持。而非易失性存储器不需要保持通电就可以保持数据。由此可见,易失性存储器比非易失性存储器的耗电量大。断电易失性存储器节约了大部分的电能,降低了芯片的功耗。另外,先断电后准备进入睡眠状态。也就是说,在芯片还在工作状态时,进入睡眠状态之前,就先断了易失性存储器的电,相比于进入睡眠状态后再断电易失性存储器,断电时间更早,节约电能更多,降低功耗更多。
[0081] S500:当收到唤醒信号时,获取预设于非易失存储器中的启动代码。
[0082] 具体地,唤醒信号是用于将芯片从睡眠状态转为工作状态的指令。对于计算机来说,唤醒信号可以是来自鼠标的光标移动信号。对于手机来说,唤醒信号可以是来自开关按钮的触发电平信号。唤醒信号还可以是当睡眠时间已经过的时候计时器发出的电平信号。睡眠时间是根据数据交互的时间得到的。启动代码是用于将非易失性存储器中的数据和业务代码备份至易失性存储器中的指令。启动代码是预先设置在非易失性存储器中的程序。
[0083] 可以理解的是,相比于引导芯片将固化在只读存储器(Read OnlyMemory,ROM)中的自举程序(Boot Loader)加载至RAM中,并执行Boot Loader程序。一方面,在唤醒过程中,不需要从只读存储器中调用程序,因此,不需要为只读存储器供电,降低功耗。另一方面,减少启动时需要调用的存储器个数,减少了唤醒启动步骤,减少工作的时间,从而降低功耗。
[0084] 而且启动代码可以灵活设置,不需要专用的只读存储器,自适应性强。
[0085] 另外,由于非易失性存储器在断电情况下不会丢失数据,保证顺利调用启动代码。
[0086] 具体的,在本申请提供的一种优选实施方式中,S500:当收到唤醒信号时,获取预设于非易失存储器中的启动代码,具体包括以下步骤:
[0087] S501:根据分配给非易失存储器的重映射地址,获取预设于非易失存储器中的启动代码。
[0088] 本申请中,重映射地址是为了启动上电,再次分配的映射地址。重映射地址是芯片收到唤醒信号后读取的第一条指令的地址。CPU根据重映射地址,能在非易失性存储器中找到启动代码。非易失存储器具体是静态随机存取存储器。
[0089] 可以理解的是,芯片上电后,程序基本都是从0地址出开始运行的。也就是说,0地址映射了到什么存储器上,那么就从该存储器上读取启动的指令,开始正常工作。
[0090] 重映射就是0地址本来与只读存储器映射的,现在改为与静态随机存取存储器映射。重映射到静态随机存取存储器后,CPU的唤醒流程从0地址开始运行,就是从静态随机存取存储器上读取启动代码。换句话说,
[0091] 相比于现有的先执行固化在只读存储器中的Boot Loader代码,再根据Boot Loader代码开始启动芯片。一方面,通过地址重映射来改变寻找启动代码的路径,从而改变存储启动代码的存储器,可根据存储器的使用情况灵活配置用于存放启动代码的存储器,增加方法的适用性。另一方面启动代码可以更改,使本方法适用于各种启动的场景。
[0092] S600:利用启动代码,将非易失性存储器中的数据备份至易失性存储器。
[0093] 具体地,易失性存储器可以是静态随机存取存储器。非易失存储器可以是快闪存储器。
[0094] 可以理解的是,相比于快闪存储器,静态随机存取存储器的运行速度更快,因此,通过静态随机存取存储器进行数据处理的效率更高,提高芯片处理业务的效率。也就是说,利用易失性存储器来进行业务数据交互,提高业务处理的效率。
[0095] S700:断电非易失性存储器,以降低工作状态时功耗。
[0096] 具体地,断电非易失性存储器后,芯片进入工作状态。
[0097] 可以理解的是,唤醒后,利用易失性存储器处理数据,不需要非易失性存储器,断电非易失性存储器,降低芯片工作状态的功耗。
[0098] S800:根据易失性存储器中的数据和用于处理业务的业务代码,处理业务。
[0099] 本申请中,业务代码是预先保存在非易失性存储器中的。通过启动代码,业务代码被备份至易失性存储器中,使用易失性存储器就可以完成业务的处理,便于断电非易失性存储器。
[0100] 具体的,在本申请提供的一种优选实施方式中,参见图2,所述芯片的功耗控制方法还包括以下步骤:
[0101] S900:当业务处理完成后,根据数据交互的时间值和交互的数据量,判断是否满足芯片的各个模块电力分配策略的调整触发条件。
[0102] S903:当满足各个模块电力分配策略的调整触发条件时,判断数据交互的时间值和交互的数据量是否在第二预设范围内。
[0103] S904:当数据交互的时间值和交互的数据量在第二预设范围内时,控制所述芯片进入第二睡眠状态。
[0104] 本申请中,芯片包括不可断电的模块、存储模块和可断电的模块。其中存储模块包括快闪存储器、静态随机存取存储器。各个模块电力分配策略是决定不可断电模块、快闪存储器、静态随机存取存储器和可断电模块中的哪些模块供电的方法。调整触发条件是指当前的数据交互的时间值和交互的数据量不在当前的预设范围内。
[0105] 具体地,由数据交互的时间值确认芯片睡眠的时间长度,由交互的数据量确认芯片唤醒后需要处理的数据量。预设第一睡眠时间范围,以作为长时间睡眠的类别。预设第二睡眠时间范围,以作为短时间睡眠的类别。预设第一数据量范围,以作为唤醒后工作量少的类别。预设第二数据量范围,以作为唤醒后工作量多的类别。
[0106] 设定第一睡眠时间范围和第一数据量范围为第一预设范围,以作为长睡眠和醒后工作量少的类别。
[0107] 设定第二睡眠时间范围和第一数据量范围为第二预设范围,以作为短睡眠和醒后工作量少的类别。
[0108] 设定第一睡眠时间范围和第二数据量范围为第三预设范围,以作为长睡眠和醒后工作量多的类别。
[0109] 设定第二睡眠时间范围和第二数据量范围为第四预设范围,以作为短睡眠和醒后工作量多的类别。
[0110] 当前正在处理的数据交互时间和数据量均在第一预设范围内,在这种情况下,满足各个模块电力分配策略的调整触发条件具体是:当指待处理的数据交互时间和数据量均不在第一预设范围内时,触发电力分配策略的调整程序。策略的调整程序具体包括以下步骤:
[0111] S901:判断数据交互的时间值和交互的数据量是否在第一预设范围内。
[0112] S902:当数据交互的时间值和交互的数据量在第一预设范围内时,进入第一睡眠状态。
[0113] S903:当数据交互的时间值和交互的数据量不在第一预设范围内时,判断数据交互的时间值和交互的数据量是否在第二预设范围内。
[0114] S904:当数据交互的时间值和交互的数据量在第二预设范围内时,进入第二睡眠状态。
[0115] S905:当数据交互的时间值和交互的数据量不在第二预设范围内时,判断数据交互的时间值和交互的数据量是否在第三预设范围内。
[0116] S906:当数据交互的时间值和交互的数据量在第三预设范围内时,进入第三睡眠状态。
[0117] S907:当数据交互的时间值和交互的数据量不在第三预设范围内时,判断数据交互的时间值和交互的数据量是否在第四预设范围内。
[0118] S908:当数据交互的时间值和交互的数据量在第四预设范围内时,进入第四睡眠状态。
[0119] S909:当数据交互的时间值和交互的数据量不在第四预设范围内时,全面唤醒芯片。
[0120] 具体地,电力分配策略是当数据交互的时间值和交互的数据量在第一预设范围内时,执行第一策略,以使芯片进入第一睡眠状态。当数据交互的时间值和交互的数据量在第二预设范围内时,执行第二策略,以使芯片进入第二睡眠状态。数据交互的时间值和交互的数据量在第三预设范围内时,执行第三策略,以使芯片进入第三睡眠状态。数据交互的时间值和交互的数据量在第四预设范围内时,执行第四策略,以使芯片进入第四睡眠状态。
[0121] 具体地,第一策略包括以下具体步骤:将易失性存储器中的数据备份至非易失性存储器中。断电易失性存储器,只有不可断电模块保持用电,以使所述芯片进入第一睡眠状态。当收到唤醒信号时,获取预设于非易失存储器中的启动代码。利用启动代码,将非易失性存储器中的数据备份至易失性存储器。断电非易失性存储器,以降低工作状态时功耗。根据易失性存储器中的数据和用于处理业务的代码,处理业务。
[0122] 第二策略包括以下具体步骤:将易失性存储器中的数据备份至非易失性存储器中。将业务执行代码备份至特定易失性存储器中。断电易失性存储器和非特定易失性存储器,只有不可断电模块和特定易失性存储器保持用电,以使所述芯片进入第二睡眠状态。当收到唤醒信号时,获取特定易失性存储器中的业务执行代码。利用业务执行代码和非易失性存储器中的数据,处理业务。
[0123] 第三策略包括以下具体步骤:将易失性存储器中的数据备份至非易失性存储器中。断电易失性存储器,只有不可断电模块保持用电,以使所述芯片进入第三睡眠状态。当收到唤醒信号时,获取只读存储器中的Boot Loader代码。利用Boot Loader代码,启动系统,以恢复睡眠之前的工作状态,从而处理业务。
[0124] 第四策略包括以下具体步骤:设置睡眠时间。静态随机存取器进入保持用电的低功耗状态,以使所述芯片进入第四睡眠状态。当收到唤醒信号时,接着睡前的位置往下执行处理业务的流程,唤醒相关外设,以恢复睡眠之前的工作状态,从而处理业务。
[0125] 在第一策略情况下,睡眠模式为深度睡眠。睡眠时,芯片中只有不可断电模块工作,寄存器的备份多,因此,睡眠过程中使用电流较少。
[0126] 在第二策略情况下,睡眠模式为浅度睡眠。睡眠时,芯片中有不可断电模块和特定易失性存储器工作,因此,使用电流较多。
[0127] 在第三策略情况下,睡眠模式为极深度睡眠。睡眠时,芯片中只有不可断电模块工作,寄存器的备份少,因此,睡眠过程中使用电流最少。
[0128] 在第四策略情况下,睡眠模式为极浅度睡眠。睡眠时,芯片中有不可断电模块、易失性存储器和只读存储器等部分可断电模块工作,因此,睡眠过程中使用电流最多。
[0129] 存放Boot Loader代码的只读存储器是嵌入处理器芯片内的一小块掩模ROM。掩模ROM包含处理器在上电或复位时执行的第一个代码。
[0130] 可以理解的是,判断业务数据时间和业务数据的量在哪一个范围内,再根据范围值中对应的电力分配策略,调整数据和代码的保存位置,为芯片的各个模块分配电力,使芯片可根据具体业务情况灵活自动分配睡眠状态,使芯片具有降低功耗的自动适应性。而且一旦收到唤醒信号,芯片就快速进入工作状态,而且在工作量多的情况下,快速唤醒系统,减少工作的时间,从而降低功耗。
[0131] 另外,至少两种睡眠状态的选择,增加芯片睡眠状态调整的灵活适应性,使芯片适用范围更广。
[0132] 具体地,首先判断是否在第一预设范围,当在第一预设范围时,执行第一策略。当不在第一预设范围时,然后判断是否在第二预设范围,当在第二预设范围时,执行第二策略。当不在第二预设范围时,再判断是否在第三预设范围,当在第三预设范围时,执行第三策略。当不在第三预设范围时,最后判断是否在第四预设范围,当在第四预设范围时,执行第四策略。第一预设范围、第二预设范围、第三预设范围和第四预设范围共同涵盖了芯片睡眠情况的全部分。
[0133] 具体的,在本申请提供的一种优选实施方式中,参见图3,S904:当数据交互的时间值和交互的数据量在第二预设范围内时,控制所述芯片进入第二睡眠状态,具体包括以下步骤:
[0134] S9041:当数据交互的时间值和交互的数据量在第二预设范围内时,将易失性存储器中的数据备份至非易失性存储器中。
[0135] S9042:将业务执行代码备份至特定易失性存储器中。
[0136] S9043:断电非易失性存储器和非特定易失性存储器,以使所述芯片进入第二睡眠状态。
[0137] S9044:当收到唤醒信号时,获取特定易失性存储器中的业务执行代码。
[0138] S9045:利用业务执行代码和非易失性存储器中的数据,处理业务。
[0139] 所述第二预设范围中的交互数据量小于第一预设范围中的交互数据量,所述第二预设范围中的睡眠时间长度值短于第一预设范围中的睡眠时间长度值。
[0140] 具体地,当断电易失性存储器和非特定易失性存储器时,只有不可断电模块和特定易失性存储器保持用电,在断电步骤执行完成后,控制所述芯片进入第二睡眠状态。也就是说,在第二预设范围内,系统执行的是上述的第二策略。业务执行代码是用于处理业务数据的程序。
[0141] 可以理解的是,唤醒后直接在特定易失性存储器中获取业务执行代码,相比于使用固化在只读存储器中的Boot Loader代码,再获取业务执行代码的方式,减少启动的步骤,减少启动的时间,从而降低启动时的功耗。
[0142] 具体的,在本申请提供的一种优选实施方式中,所述易失性存储器为:静态随机存取存储器、动态随机存取存储器、同步动态随机存取存储器之一。
[0143] 可以理解的是,本申请的方法可以使用于静态随机存取存储器、动态随机存取存储器、同步动态随机存取存储器等多种多样的易失性存储器中,使方法的适用范围更广。
[0144] 具体的,在本申请提供的一种优选实施方式中,所述非易失性存储器为:快闪存储器、电可擦可编程只读存储器之一。
[0145] 可以理解的是,本申请的方法可以使用于快闪存储器、电可擦可编程只读存储器等多种多样的非易失性存储器中,使方法的适用范围更广。
[0146] 本申请还提供了一种芯片的功耗控制装置100,适应于一种芯片的功耗控制方法,参见图4,包括:
[0147] 信息获取单元1,用于获取业务数据交互信息;
[0148] 时间和数据生产单元2,用于根据业务数据交互信息,生成数据交互的时间值和交互的数据量;
[0149] 数据备份第一单元3,用于将易失性存储器中的数据备份至非易失性存储器中;
[0150] 电源控制第一单元4,用于断电易失性存储器,以使所述芯片进入第一睡眠状态;
[0151] 启动代码获取单元5,用于获取预设于非易失存储器中的启动代码;
[0152] 数据备份第二单元6,用于利用启动代码将非易失性存储器中的数据备份至易失性存储器;
[0153] 电源控制第二单元7,断电非易失性存储器,以降低工作状态时功耗;
[0154] 业务处理单元8,用于根据易失性存储器中的数据和用于处理业务的业务代码,处理业务。
[0155] 本申请中,芯片包括不可断电的模块、存储模块和可断电的模块。不可断电的模块包括:计时器和电源单元。可断电的模块包括:中央处理单元(CPU)、数字前端单元(Digital Front End,DFE)、射频收发器(Radio Frequency transceiver,RF transceiver)。存储模块包括易失性存储器和非易失性存储器。易失性存储器可以是随机存储器(RandomAccess Memory,RAM)。非易失存储器可以是快闪存储器(Flash Memory)。业务数据可以是使用电脑浏览网页时下载的数据。业务数据还可以是使用单片机向执行设备发送的执行指令。业务数据交互信息包括业务数据的时间和业务数据的数量。CPU获取业务数据交互信息。
[0156] 本申请中,数据交互的时间值具体是数据需要处理的时间。交互的数据量具体是数据需要处理的数量。
[0157] 可以理解的是,由数据交互的时间值可以确认芯片不需要处理数据的时间范围和需要处理的时间范围。也就是确认芯片进入睡眠的时间和睡眠后唤醒的时间。由交互的数据量可以确认芯片唤醒后处理的数据的字节量。
[0158] 本申请中,第一预设范围包括第一睡眠时间范围和第一业务量范围。当数据交互的时间值和交互的数据量在第一预设范围内时,数据交互的时间值在第一睡眠时间范围内。交互的数据量在第一业务量范围内。数据交互时间在第一睡眠时间内,芯片不处理数据,芯片可以进入睡眠状态。数据量在第一业务量范围内时,芯片睡眠后唤醒的处理数据的字节量。
[0159] 可以理解的是,当数据交互的时间值和交互的数据量在第一预设范围内时,芯片准备进入第一睡眠状态。也就是说,芯片在睡眠期间不处理数据。芯片在唤醒后处理业务量在第一业务量范围内的数据。易失性存储器可以是RAM。RAM通常是作为操作系统或其他正在运行程序的临时存储介质,因此,RAM可称作系统内存。当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把数据写入到非易失性存储器中,例如快闪存储器。
[0160] 也就是说,易失性存储器当断电时,数据发生丢失。非易失性存储器当断电时,数据不会丢失。将易失性存储器中的数据保存在非易失性存储器中,避免在断电时由于易失性存储器中的数据消失而导致的数据丢失,从而保证数据的完整性。
[0161] 具体地,易失性存储器可以是静态随机存取存储器(Static RandomAccess Memory,SRAM)。在准备进入第一睡眠状态时,易失性存储器、非易失性存储器和可断电模块均断电。只有不可断电模块在低功耗模式下工作。在第一睡眠状态时,芯片中电流为500nA。
[0162] 可以理解的是,静态随机存取存储器需要保持通电,才能够将存储的数据恒常保持。而非易失性存储器不需要保持通电就可以保持数据。由此可见,易失性存储器比非易失性存储器的耗电量大。断电易失性存储器节约了大部分的电能,降低了芯片的功耗。另外,先断电后准备进入睡眠状态。也就是说,在芯片还在工作状态时,进入睡眠状态之前,就先断了易失性存储器的电,相比于进入睡眠状态后再断电易失性存储器,断电时间更早,节约电能更多,降低功耗更多。
[0163] 具体地,唤醒信号是用于将芯片从睡眠状态转为工作状态的指令。对于计算机来说,唤醒信号可以是来自鼠标的光标移动信号。对于手机来说,唤醒信号可以是来自开关按钮的触发电平信号。唤醒信号还可以是当睡眠时间已经过的时候计时器发出的电平信号。睡眠时间是根据数据交互的时间得到的。启动代码是用于将非易失性存储器中的数据和业务代码备份至易失性存储器中的指令。启动代码是预先设置在非易失性存储器中的程序。
[0164] 可以理解的是,相比于引导芯片将固化在只读存储器(Read OnlyMemory,ROM)中的自举程序(Boot Loader)加载至RAM中,并执行Boot Loader程序。一方面,在唤醒过程中,不需要从只读存储器中调用程序,因此,不需要为只读存储器供电,降低功耗。另一方面,减少启动时需要调用的存储器个数,减少了唤醒启动步骤,减少工作的时间,从而降低功耗。
[0165] 而且启动代码可以灵活设置,不需要专用的只读存储器,自适应性强。
[0166] 另外,由于非易失性存储器在断电情况下不会丢失数据,保证顺利调用启动代码。
[0167] 具体地,易失性存储器可以是静态随机存取存储器。非易失存储器可以是快闪存储器。
[0168] 可以理解的是,相比于快闪存储器,静态随机存取存储器的运行速度更快,因此,通过静态随机存取存储器进行数据处理的效率更高,提高芯片处理业务的效率。也就是说,利用易失性存储器来进行业务数据交互,提高业务处理的效率。
[0169] 具体地,断电非易失性存储器后,芯片进入工作状态。可以理解的是,唤醒后,利用易失性存储器处理数据,不需要非易失性存储器,断电非易失性存储器,降低芯片工作状态的功耗。
[0170] 本申请中,业务代码是预先保存在非易失性存储器中的。通过启动代码,业务代码被备份至易失性存储器中,使用易失性存储器就可以完成业务的处理,便于断电非易失性存储器。
[0171] 进一步,所述启动代码获取单元5包括:重映射地址指示单元51,用于根据分配给非易失存储器的重映射地址,获取预设于非易失存储器中的启动代码。
[0172] 本申请中,重映射地址是CPU为了上电,再次分配的映射地址。CPU根据重映射地址,能在非易失性存储器中找到启动代码。非易失存储器具体是静态随机存取存储器。
[0173] 可以理解的是,芯片上电后,程序基本都是从0地址出开始运行的。也就是说,0地址映射了到什么存储器上,那么就从该存储器上读取指令,开始正常工作。重映射地址是芯片唤醒后读取的第一条指令的地址。
[0174] 重映射就是0地址本来与只读存储器映射的,现在改为与静态随机存取存储器映射。重映射到静态随机存取存储器后,CPU的唤醒流程从0地址开始运行,就是从静态随机存取存储器上读取启动代码。换句话说,通过地址重映射来改变寻找启动代码的路径,从而改变存储启动代码的存储器。
[0175] 相比于现有的先执行固化在只读存储器中的Boot Loader代码,再根据Boot Loader代码开始启动芯片。一方面存放启动代码的地址可灵活配置,增加方法的适用性。另一方面启动代码可以更改,使本方法适用于大部分的场景。
[0176] 本申请还提供了一种设备及计算机可读存储介质,其均具有本申请实施例提供的一种芯片的功耗控制方法具有的对应效果。
[0177] 本申请的实施例提供的一种设备,包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行指令时实现如上任一实施例所描述的芯片的功耗控制方法的步骤。设备可以是笔记本电脑、台式机、手机。处理器可以是计算机的中央处理器、手机的控制中枢系统。存储器可以是随机存储器(Random Access Memory,RAM)、快闪存储器(Flash Memory,Flash)。
[0178] 本申请的实施例提供的一种计算机可读存储介质,包括指令,所述指令指示设备执行时实现如上任一实施例所描述的芯片的功耗控制方法的步骤。
[0179] 具体地,计算机可读存储介质可以是随机存储器(RandomAccess Memory,RAM)、快闪存储器(Flash Memory,Flash)、只读存储器(Read OnlyMemory,ROM)、电可编程只读存储器、电可擦除可编程只读存储器、寄存器、硬盘、可移动磁盘、只读光盘(Compact Disc Reads Only Memory,CD ROM)以及技术领域内所公知的任意其它形式的存储介质。
[0180] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0181] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。