确定终端处理器电压的方法和终端与流程

文档序号:11773593阅读:226来源:国知局
确定终端处理器电压的方法和终端与流程

本发明涉及通信领域,尤其涉及确定终端处理器电压的方法和终端。



背景技术:

在由电池进行供电的终端中,系统功耗是一个非常重要的问题,其中,中央处理器(centralprocessingunit,cpu)在运行时的功耗占系统功耗的主要部分,因此,在保证cpu运行速度的情况下,一般通过将cpu设置在最低电压下工作来节省系统功耗。

目前测量终端中cpu的最低工作电压一般有两种方法。一种方法是利用量产cpu的机台,例如自动测试机器(automatictestequipment,ate),测量几百颗不同cpu做统计分析跟较准。具体地,可以利用统计模型的数据将不同的cpu做出分类,例如可以将这些cpu分为偏快低压类和偏慢高压类,即运行速度较快、工作电压较低类,以及运行速度较慢、工作电压较高类,对于每类cpu测量最低工作电压的统计值。由于不同cpu之间的差异,因此这种统计模型存在较大误差,必须预加一定余量才能保证稳定量产。另外,由于量产cpu的机台与实际应用的终端上的运行环境不同,而在较准时,一样是采用了多数量样本的统计模型,因此较准过程也会产生误差,从而导致了必须再增加一定余量才能保证更加稳定的量产。除此之外,由于cpu会有老化的现象,但在机台上无法反映老化的情况,所以使用此方法生产cpu,还需要预加老化的余量,才能保证量产cpu在终端上使用一段时间后仍能保持良好的性能。

另外一种方法是利用量产cpu的机台,例如ate,对每一颗cpu分别做测试和校准,确定出每颗cpu的最低工作电压。与第一种方法相比,虽然此方法减少了cpu统计模型的误差但仍无法解决校准与老化问题的误差。另外由于此方法需要在量产机台上进行每颗cpu的测试来确定最低工作电压,因此,该方法大大增加了量产机台的测试时间与测试成本。



技术实现要素:

本申请提供了一种确定终端处理器电压的方法和终端,能够更加准备地测量处理器的最低工作电压。

第一方面,提供了一种确定终端处理器电压的方法,该终端包括辅助处理器和cpu,该方法包括:在终端的开机过程中,该辅助处理器完成系统初始化后,确定cpu的最低工作电压;该辅助处理器将该cpu的当前电压设置为该最低工作电压;该cpu在该最低工作电压下完成该终端的开机过程并控制该终端工作。

因此,本申请的确定终端处理器电压的方法,在终端开机过程中,由辅助处理器确定cpu的最低工作电压,并可以使终端正常开机工作,相比于在生产处理器时,通过测试机台对处理器的最低工作电压的测量,可以减少测试时间和测试成本,提高测试精度,更加准确的测试处理器的最低工作电压,并且还可以克服在机台测试的校准余量的误差和处理器老化导致的误差。

可选地,该cpu可以在多个频率下工作,则辅助处理器测量该cpu的最低工作电压,可以测量每个工作频率对应的最低工作电压。例如,该cpu的工作频率有四个,分别为1ghz、1.5ghz、2ghz和2.5ghz,则分别测量在工作频率为1ghz、1.5ghz、2ghz和2.5ghz时的最低工作电压,以便于在cpu工作时,根据工作频率设置对应的最低工作电压。

可选地,由于cpu工作环境的温度可能会发生变化,因此可以在测量cpu最低工作电压时,记录当前工作环境温度,以便于当cpu温度发生变化时,对最低工作电压进行温度补偿。

结合第一方面,在第一方面的一种实现方式中,该确定cpu的最低工作电压,包括:该辅助处理器确定该cpu能够正常工作的初始工作电压v0;该辅助处理器将该cpu的当前电压从vi-1降低为vi,i依次取1、2、3……;当该辅助处理器确定该cpu在电压为vi时能够正常工作时,该辅助处理器将该cpu的当前电压从vi降低到vi+1;当该辅助处理器确定该cpu在电压为vi时不能够正常工作时,该辅助处理器确定该cpu的该最低工作电压为vi-1。

应理解,对于cpu的首次工作电压测试,即该cpu之前从未进行过最低工作电压测试,辅助处理器确定cpu的初始工作电压v0,可以通过制程监控器(processmonitor)获取。该制程监控器用于标记该cpu的运行速度, 通过该运行速度与工作电压的对应关系,确定该运行速度对应的工作电压即为该cpu的初始工作电压。

应理解,对于cpu的非首次工作电压测试,即该cpu之前开机时已经进行过最低工作电压测试,再次开机进行最低工作电压测试时,辅助处理器可以通过获取上一次测量最低工作电压保存的电压值,确定该cpu本次的初始工作电压。

可选地,辅助处理器可以在存储单元内保存每次开机进行的每次电压测试时的工作电压,该cpu可以在存储单元内保存每次工作电压对应的测试结果特征值,以便于,辅助处理器获取该测试结果特征值进行对比。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定cpu的最低工作电压,包括:该辅助处理器确定该cpu不能够正常工作的初始工作电压v0;该辅助处理器将该cpu的当前电压从vi-1增加为vi,i依次取1、2、3……;当该辅助处理器确定该cpu在电压为vi时不能够正常工作时,该辅助处理器将该cpu的当前电压从vi增加到vi+1;当该辅助处理器确定该cpu在电压为vi时能够正常工作时,该辅助处理器确定该cpu的该最低工作电压为vi。

应理解,辅助处理器确定该cpu的初始工作电压,该初始工作电压不能使该cpu正常工作,即该初始工作电压低于cpu的最低工作电压,则可以通过增加电压,获取最低工作电压。

应理解,cpu的工作电压从初始工作电压v0降低为v1,以及后续从vi-1降低为vi,i依次取1、2、3……;或者从初始工作电压v0增加到v1,以及后续从vi-1增加到vi,i依次取1、2、3……,任意两个连续的工作电压vi-1与vi之间的差值可以根据实际情况设定,且每个差值之间可以相等,也可以不相等。

应理解,测试电压之间的差值的设置,可能影响测试最低工作电压的精确度。选择差值较小的电压进行测量,可以获得更准确的最低工作电压。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定cpu的最低工作电压,包括:该辅助处理器确定该cpu的工作电压域(v0,v1),该cpu在电压为v0时不能正常工作、在电压为v1时能够正常工作;该辅助处理器在该工作电压域(v0,v1)内确定m个电压值,并对该cpu进行m次电压测量;该辅助处理器根据该m次的电压测量,在该工作电压域(v0,v1)内确定n个电压值,该cpu在该n个电压值中每个电压 值下能够正常工作,n小于或等于m;该辅助处理器将该n个电压值中最小的电压值,确定为该cpu的该最低工作电压。

应理解,辅助处理器在工作电压域(v0,v1)内确定m个电压值进行电压测量,可选地,可以先取(v0,v1)内任意电压值v2,例如,该v2为v0和v1的平均值,辅助处理器设置cpu的电压为v2,确定该cpu是否可以在电压v2下正常工作,若cpu可以在电压v2下正常工作,则辅助处理器可以确定cpu的最低工作电压位于(v0,v2)范围内;若cpu不能够在电压v2下正常工作,则辅助处理器可以确定cpu的最低工作电压位于(v2,v1)范围内。辅助处理器继续在该新确定的范围内确定新的电压值进行测量,不断缩小cpu的最低工作电压的范围,直到经过m次测量,确定cpu的最低工作电压位于(vi,vj)范围内,则确定该cpu的最低工作电压为vj。

应理解,上述方法中,在m次测量中,会存在n个电压值,n小于或等于m,使得该cpu在该n个电压值中的每个电压值下都可以正常工作,而最后确定的该cpu的最低工作电压vj为该n个电压值中最小值。因此,可以将上述方法扩展,例如,在cpu的工作电压域(v0,v1)内任意确定m个电压值分别进行测量,则在该m个电压值的测量过程中,该m个电压值中可能存在n个电压值,该n个电压值中每个电压值都可以使得cpu正常工作,n小于或等于m,则辅助处理器可以在该n个电压值中,确定n个电压值中最小值为cpu的最低工作电压。

这样,通过限制测试次数确定cpu的最低工作电压,可以不断缩小cpu的最低工作电压的范围,可以确定更准确的最低工作电压。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:当该辅助处理器在预设时间内,获取到该cpu在电压为vi时确定的测试结果特征值ti,且该ti与预设值相符时,该辅助处理器确定该cpu在电压为vi时能够正常工作;当该辅助处理器在该预设时间内,获取到该ti,且该ti与该预设值不相符时,该辅助处理器确定该cpu在电压为vi时不能正常工作;当该辅助处理器在该预设时间内,没有获取到该ti,该辅助处理器确定该cpu在电压为vi时不能正常工作。

这样,通过设置预设时间,例如,设置定时器计时,根据预设时间确定cpu是否正常工作,可以提高测试效率。

第二方面,提供了一种终端,用于执行上述第一方面或第一方面的任意 可能的实现方式中的方法。具体地,该终端包括cpu和辅助处理器,该辅助处理器用于:确定cpu的最低工作电压;该辅助处理器还用于:将该cpu的当前电压设置为该最低工作电压;该cpu用于:在该最低工作电压下完成该终端的开机过程并控制该终端工作。

第三方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

附图说明

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

图1是根据本发明实施例的确定终端处理器电压的方法的示意性流程图。

图2是根据本发明实施例的终端中处理器工作模式和测试模式的示意图。

图3是根据本发明实施例的确定终端处理器电压的方法的示意性流程图。

图4是根据本发明实施例的终端的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

图1示出了根据本发明实施例的确定终端处理器电压的方法100的示意性流程图,该方法100可以由终端执行,该终端可以靠电池供电,例如,该终端可以为智能手机,或智能笔记本电脑等。该终端包括两个处理器,辅助处理器和cpu,该方法100具体包括:

s110,在终端开机过程中,辅助处理器完成系统初始化后,确定该cpu 的最低工作电压。

应理解,在现有技术中,终端一般只通过一个cpu完成终端开机过程,终端在开机过程中,由该cpu控制并执行终端开机的全过程,以及在终端开机后控制终端正常工作运行。而在本发明实施例中的终端通过两个处理器完成终端的开机过程,该两个处理器可以称为cpu和辅助处理器,通过该两个处理器可以在终端开机过程中完成cpu的最低工作电压的测量过程,并由cpu控制终端在开机后的正常工作和运行。可选地,该辅助处理器也可以为另一个cpu,即该终端可以包括两个cpu。

具体地,对于终端的开机过程,可以按照时间顺序分为两部分,一部分为终端的系统初始化过程,另一部分为系统最后开机作业部分,其中,该辅助处理器主要用于终端开机的第一部分,即系统初始化过程,并在完成系统初始化后,由辅助处理器测量cpu的最低电压。该系统初始化过程与现有技术类似,可以包括该终端各部分的上电过程,以及内存的初始化过程,该内存可以为动态随机存取存储器(dynamicrandomaccessmemory,dram)。辅助处理器完成该系统初始化后,该cpu可以进入电压测试模式,测量该cpu的最低工作电压。

与现有终端中的处理器类似,该cpu可以为多核处理器,测量该目标处理的最低工作电压,可以分别测量该cpu包括的多个核中每个核的最低工作电压,或者也可以将多个核看成一个整体,测量该cpu的最低工作电压即为每个核的最低工作电压。因此,本发明实施例中测量cpu的最低工作电压,该cpu可以指处理器中任意一个核,也可以指该处理器中的多核,本发明实施例并不限于此。

在本发明实施例中,辅助处理器完成系统初始化后,测量cpu的最低工作电压。具体地,如图2所示,该终端中可以分为两个部分,一部分为工作系统,一部分为测试系统,每个系统都包括可以使cpu和辅助处理正常工作或信息交互的装置或模块。辅助处理器可以与工作系统和测试系统同时相连,而该终端可以使该cpu在工作系统和测试系统之间的切换,例如,该终端中可以包括一个多工器,当cpu进入最低工作电压测试模式时,多工器切换该cpu与测试系统相连,并且使该cpu与工作系统断开连接,当cpu完成最低工作电压的测量,进入正常工作模式时,该多工器再切换该cpu与工作系统相连,断开与测试系统之间的连接,这样可以使得cpu在 进行最低工作电压测量时,若该cpu出错,可以不影响该终端的其他功能的运行,保证该终端的正常工作与最低工作电压的测量互相不受影响。例如,该cpu在测试模式时,只与测试系统相连,也就是只能通过测试系统与辅助处理器进行与测试过程中相关的信息的交互,因此,当cpu在测试过程中出错时,不会影响工作系统的运行,也不影响辅助处理器与工作系统相连部分的正常工作。另外,辅助处理器可以与工作系统或测试系统相连,也可以读取工作系统或测试系统中的存储单元,例如,读取测试系统中的存储单元,可以确定该cpu的最低工作电压,与工作系统相连,可以进行对终端开机时的系统初始化过程。

可选地,该工作系统中可以包括存储单元,该存储单元可以为静态随机存取存储器(staticrandomaccessmemory,dram),还可以为闪存(flasheeprommemory)。该工作系统中还可以包括周边系统(peripheralsystem),该周边系统包括除了存储单元外使终端系统正常运作的其他组件,例如,i2c(inter-integratedcircuit)总线、时钟源(clocksource)等。

可选地,该测试系统中包括存储单元,该存储单元可以为dram,还可以为闪存。该测试系统中还可以包括其他组件,例如,计数器,用于在cpu进行电压测试时记录测试次数;系统中断控制器,用于cpu与其他处理器,例如辅助处理器之间的信息交互。

具体地,对于辅助处理器确定cpu的最低工作电压的方法,可以通过多种方式确定,例如,可以如图3所示,图3示出了根据本发明实施例的确定目标处理的最低工作电压的方法200。这里先以通过递减电压的方式确定最低工作电压为例进行说明。

s210,终端的开机过程中,先由辅助处理器完成系统初始化。

这样可以使得cpu进入电压测试模式,辅助处理器可以开始测试cpu的最低工作电压。

s220,辅助处理器为cpu设置测试时的电压。

具体地,对于进入本次开机的第一轮电压测试,辅助处理器先确定cpu的初始工作电压v0。

具体地,可以先确定该cpu是否为首次进行最低工作电压测量。当确定该cpu为首次进行最低工作电压的测量时,例如,对于终端的第一次开机过程,该终端中的cpu首次进行最低工作电压的测量,则cpu可以通过 制程监控器(processmonitor)获取初始工作电压。该制程监控器可以用于标记该cpu的运行速度,通过该运行速度与工作电压的对应关系,例如查找该运行速度与工作电压的映射表,确定该运行速度对应的工作电压即为该cpu的初始工作电压。

当确定该cpu不是首次进行最低工作电压的测量时,可以通过读取存储单元,获取cpu在前一次最低工作电压的测量时的保存的测试电压值,根据该测试电压值设置初始工作电压,其中,该存储单元可以用于存储该cpu在进行最低工作电压的测量时保存的测试电压值,该测试电压值可以包括该cpu每次开机测量获得的最低工作电压,还可以包括在测量最低工作电压过程中每次设置的电压值。可选地,该存储单元可以为dram,或者还可以为寄存器(registerfile)。在本发明实施例中,该cpu进入测试模式后,先对该cpu设置初始工作电压,该初始工作电压满足能够使该cpu正常工作。可选地,若该cpu在初始工作电压下无法正常工作,则可以通过增加该cpu的工作电压,使得增加后的工作电压可以让cpu正常工作,进而将该增加后的工作电压看作初始工作电压,从而使得该初始工作电压满足能够使得cpu正常工作。

可选地,对于本次开机的第一轮之后的其他次电压测试,辅助处理器会根据每次确定的电压值,更新cpu的当前电压,使得cpu进入新的一轮电压测试。

s230,辅助处理器在目标处理进入当前一次的电压测试时,启动定时器。

具体地,当辅助处理器为目标处理器确定了当前工作电压,并开始进行当前一次的电压测试时,辅助处理器启动定时器计时,以便于该辅助处理器可以确定该cpu是否完成在当前电压下的运行,或者在当前电压下出错。

可选地,作为一个实施例,可以在该终端中设置定时器,通过该定时器确定该cpu是否能够正常工作。具体地,当cpu进入电压测试模式后,对于任意一次测量过程,例如,测量该cpu在工作电压为vi时是否能够正常工作,则在cpu的工作电压被设置为vi时,辅助处理器可以启动定时器。当定时器计时未超时时,辅助处理器可以继续执行s240;但是当定时器计时超时时,执行s260。

可选地,该定时器的时间可以根据时间应用进行设定,例如,该定时器设置的时间要大于该cpu在正常情况下,完整运行,确定出测试结果特征 值的时间,以便于辅助处理器可以通过定时器,确定该cpu是否是正常工作。

s240,cpu在当前设置的工作电压vi下运行,确定测试结果特征值ti,辅助处理器获取该测试结果特征值ti。

在本发明实施例中,为了确定该cpu在当前电压下是否可以正常工作,可以通过测试结果特征值进行判断。具体地,可以使cpu运行任意一段程序,则该cpu可以确定运行后获得的测试结果特征值。例如,对于任意一次电压测试,该cpu的电压为vi,对应地,该cpu确定出运行后获得的测试结果特征值ti,并且可以将该测试结果特征值ti保存到测试系统中的存储单元中,以便于该辅助处理器获取该测试结果特征值,并继续执行s250。可选地,若该辅助处理器读取该存储单元,而未获取在电压为vi时的测试结果特征值ti,可以返回继续执行s230,确定定时器是否超时。直到定时器超时,若该辅助处理器仍未获取到当前电压为vi时的测试结果特征值ti,则辅助处理器可以执行s260。

s250,辅助处理器将得到的测试结果特征值与预设值进行对比。

具体地,对于任意一次的电压测试来说,辅助处理器获取到cpu的当前电压为vi时的测试结果特征值ti,将该测试结果特征值ti与预设值进行比较,当获取的测试结果特征值ti与预设值相符,说明cpu可以在该电压下正常工作,则辅助处理器将电压从vi降低到vi+1,即将cpu的当前电压更新为vi+1,继续进行s220,即执行新的一轮电压测试,直到确定该cpu不能正常工作;若获取的测试结果特征值ti与预设值不相符,说明该cpu在该电压下不能正常工作,则执行s260,确定该cpu的最低工作电压。

s260,辅助处理器确定cpu的最低工作电压。

当辅助处理器在定时器超时后,仍未获取到当前电压下cpu的测试结果特征值时,或者是辅助处理器对比当前电压下cpu的测试结果特征值与预设值不相符时,都可以确定该cpu在当前电压下无法正常工作,则可以确定该cpu的前一次电压值为最低工作电压值。具体地,若cpu的当前电压设置为vi,而辅助处理器在定时器超时时,仍然没有获取到该vi对应的测试结果特征值ti,也就是cpu在定时器设置时间内没有确定出测试结果特征值ti;或者辅助处理器获得到电压vi对应的测试结果特征值ti,但是该测试结果特征值ti与预设值不符,则辅助处理器都可以确定该cpu不能正常工 作,则确定该cpu的最低工作电压为vi-1。

可选地,作为一个实施例,以当前一次开机的首次电压测试为例,首先为该cpu设置初始工作电压,确定cpu在初始工作电压能够正常工作后,将cpu的工作电压从初始工作电压值v0降低为v1,确定该cpu是否可以在工作电压为v1时正常工作。

当该辅助处理器在定时器未超时,获取该cpu在电压为v1时的测试结果特征值t1,若获取到了该测试结果特征值t1,对比工作电压为v1时的测试结果特征值t1与预设值相符时,可以确定该cpu在工作电压为v1时能够正常工作,则继续降低工作电压,从v1降低为v2,继续确定该cpu是否能够在该工作电压下正常工作。直到该辅助处理器对比工作电压为vi时的测试结果特征值ti与预设值不相符时,可以确定该cpu在工作电压为vi时不能正常工作,则可以确定该cpu的最低工作电压为vi-1。

当该辅助处理器在定时器超时时,仍然未获取到该cpu在电压为v1时的测试结果特征值t1,即在定时器预设时间内,cpu未确定出测试结果特征值t1,则辅助处理器确定该cpu不能在电压为v1时正常工作,则可以确定该cpu的最低工作电压为v0。同样地,对于cpu在电压为v1时能够正常工作,而继续降低电压进行测试,对于之后任一次测试,为cpu设置电压vi,当定时器超时时,仍未获取到该电压vi的测试结果特征值ti,则可以确定该cpu不能正常工作,则可以确定该cpu的最低工作电压为vi-1。

应理解,上述实施例以初始工作电压能够使cpu正常工作为前提,使测试电压递减确定出最低工作电压,即初始工作电压高于最低工作电压,类似的,还可以设置初始工作电压不能够使cpu正常工作为前提,使测试电压递增确定出最低工作电压,即初始工作电压低于最低工作电压。

具体地,将初始工作电压v0设置较低,使得cpu不能在该电压下正常工作,则增加该电压值为v1,当根据类似上述方法确定该cpu在该电压v1下仍然不能正常工作,则继续增加电压值到v2,直到电压值增加到vi时,cpu可以正常工作,则该cpu的最低工作电压即为vi。

应理解,cpu的工作电压从初始工作电压v0降低为v1,以及后续从vi-1降低为vi,i依次取1、2、3……;或者从初始工作电压v0增加到v1,以及后续从vi-1增加到vi,i依次取1、2、3……,任意两个连续的工作电压vi-1与vi之间的差值可以根据实际情况设定,且每个差值之间可以相等,也可以不相等。 具体地,若考虑保证测量该cpu的最低工作电压的精确度,则可以将vi-1与vi之间的差值设置较小,但这样会增加测试次数,使得测试过程持续时间较长;若考虑测试过程持续时间,或者测试的速度,则可以将vi-1与vi之间的差值设置较大,但是这样会影响测试精度,测试获得的最低工作电压值存在误差。因此,可以考虑测试精度和测试效率,选择合适的电压差值。

可选地,作为一个实施例,还可以同时利用递增和递减电压的方式测量电压。具体地,辅助处理器确定cpu的工作电压域(v0,v1),其中,cpu在电压为v0时不能正常工作、在电压为v1时能够正常工作,即工作电压域(v0,v1)包括cpu的最低工作电压值,辅助处理器可以通过多次测量,确定出cpu的最低工作电压。例如,辅助处理器可以首先在工作电压域(v0,v1)内确定任意电压值v2,例如,该v2为v0和v1的平均值,辅助处理器设置cpu的电压为v2,根据类似图3的判断流程,确定该cpu是否可以在电压v2下正常工作,若cpu可以在电压v2下正常工作,则辅助处理器可以确定cpu的最低工作电压位于(v0,v2)范围内;若cpu不能够在电压v2下正常工作,则辅助处理器可以确定cpu的最低工作电压位于(v2,v1)范围内。辅助处理器继续在新确定的范围内确定新的电压值进行测量,不断缩小cpu的最低工作电压的范围,直到经过预设次数的测量,例如经过m次测量,确定cpu的最低工作电压位于(vi,vj)范围内,则确定该cpu的最低工作电压为vj。

由于,在经过上述的该m次测量中,会存在n个电压值,n小于或等于m,使得该cpu在该n个电压值中的每个电压值下都可以正常工作,而最后确定的该cpu的最低工作电压vj即为该n个电压值中最小值。因此,上述方法还可以扩展为,在cpu的工作电压域(v0,v1)内任意确定m个电压值分别进行测量,其中,cpu在电压为v0时不能正常工作、在电压为v1时能够正常工作,即工作电压域(v0,v1)包括cpu的最低工作电压值,则在该m个电压值的测量过程中,该m个电压值中可能存在n个电压值,该n个电压值中每个电压值都可以使得cpu正常工作,n小于或等于m,则辅助处理器可以在该n个电压值中,确定n个电压值中最小值为cpu的最低工作电压。

应理解,辅助处理器对cpu的测试次数m,可以根据实际情况进行设定。例如,考虑测量准确度,可以将该m值设置较大,但是这样测试次数过 多,会影响测试时长,影响终端开机时间;若考虑开机时间问题,则可以将该m值设置较小,但是会影响测试精度,因此,可以考虑多个因素,设置该测量次数m。

在本发明实施例中,该cpu可以在多个工作频率下工作,因此,测量该cpu的最低工作电压包括测量该cpu在相应的工作频率下的最低工作电压。例如,该cpu的工作频率包括1ghz、1.5ghz、2ghz和2.5ghz,则分别测量cpu在工作频率为1ghz、1.5ghz、2ghz和2.5ghz时的最低工作电压,以便于在cpu工作时,根据工作频率设置对应的最低工作电压,例如,该cpu工作频率为1ghz时,则设置该cpu的工作电压为工作频率1ghz对应的最低工作电压。

在本发明实施例中,cpu中还可以包括温度传感器(temperaturesensor),通过该温度传感器测量该cpu的工作环境温度,当确定该cpu的最低工作电压后,可以同时记录该cpu的工作环境温度,获得在该温度下的最低工作电压,以便于在cpu的工作环境温度发生改变时,对工作电压进行温度补偿,这样可以保证cpu在最低工作电压下工作时,即使温度发生改变,仍然可以进行温度补偿,保证cpu正常工作。

在本发明实施例中,cpu还可以包括电压传感器(voltagesensor),当系统在运行时,可以通过该电压传感器确定是否发生电压跌落,当发生电压跌落过大时,可以通过降低cpu的频率,避免该cpu由于电压跌落过大导致的系统异常。

s120,辅助处理器将cpu的当前电压设置为最低工作电压。

s130,该cpu在该最低工作电压下完成该终端的开机过程并控制终端工作。

在本发明实施例中,当确定cpu的最低工作电压后,即该cpu完成测试,则该cpu可以通过工作系统进入正常工作模式,令该cpu在该最低工作电压下工作,使得该cpu继续完成终端开机过程的第二部分,完成系统最后开机作业,例如,完成终端的操作系统的启动,使得终端完成开机过程,终端进入正常工作,并由该cpu继续控制该终端正常运行。可选地,cpu进入正常工作状态后,辅助处理器将终端的控制权转移至cpu,cpu控制终端工作,同时辅助处理器也可以辅助终端进行其他工作,使得终端正常运行,或者改辅助处理器不再进行其他工作,本发明实施例并不限于此。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

因此,本发明实施例的确定终端处理器电压的方法,通过在终端开机过程中,由辅助处理器完成系统初始化,并测量cpu的最低工作电压,然后通过在最低工作电压下工作的cpu,完成终端开机的最后开机作业,使得该终端完成开机正常工作,这样相比于在生产处理器时,通过测试机台对处理器的最低工作电压的测量,可以减少测试时间和测试成本,提高测试精度,更加准确的测试处理器的最低工作电压,并且还可以克服在机台测试的校准余量的误差和处理器老化导致的误差。

上文中结合图1至图3,详细描述了根据本发明实施例的确定终端处理器电压的方法,下面将结合图4,描述根据本发明实施例的终端。

如图4所示,根据本发明实施例的终端300包括cpu310和辅助处理器320,具体地:

该辅助处理器320用于:在终端的开机过程中,完成系统初始化后,确定cpu310的最低工作电压;

该辅助处理器320还用于:将该cpu320的当前电压设置为该最低工作电压;

该cpu310用于:在该最低工作电压下完成该终端的开机过程并控制该终端工作。

因此,本发明实施例的终端,在开机过程中,由辅助处理器完成系统初始化,并测量cpu的最低工作电压,然后通过在最低工作电压下工作的cpu,完成终端开机的最后开机作业,使得该终端完成开机正常工作,这样相比于在生产处理器时,通过测试机台对处理器的最低工作电压的测量,可以减少测试时间和测试成本,提高测试精度,更加准确的测试处理器的最低工作电压,并且还可以克服在机台测试的校准余量的误差和处理器老化导致的误差。

可选地,该辅助处理器320具体用于:确定该cpu310能够正常工作的初始工作电压v0;将该cpu310的当前电压从vi-1降低为vi,i依次取1、2、3……;当确定该cpu310在电压为vi时能够正常工作时,将该cpu310的当前电压从vi降低到vi+1;当确定该cpu310在电压为vi时不能够正常工作时, 确定该cpu310的该最低工作电压为vi-1。

可选地,该辅助处理器320具体用于:确定该cpu310不能够正常工作的初始工作电压v0;将该cpu310的当前电压从vi-1增加为vi,i依次取1、2、3……;当确定该cpu310在电压为vi时不能够正常工作时,将该cpu310的当前电压从vi增加到vi+1;当确定该cpu310在电压为vi时能够正常工作时,确定该cpu310的该最低工作电压为vi。

可选地,该辅助处理器320具体用于:确定该cpu310的工作电压域(v0,v1),该cpu310在电压为v0时不能正常工作、在电压为v1时能够正常工作;在该工作电压域(v0,v1)内确定m个电压值,并对该cpu310进行m次电压测量;根据该m次的电压测量,在该工作电压域(v0,v1)内确定n个电压值,该cpu310在该n个电压值中每个电压值下能够正常工作,n小于或等于m;将该n个电压值中最小的电压值,确定为该cpu310的该最低工作电压。

可选地,该辅助处理器320具体用于:当在预设时间内,获取到该cpu310在电压为vi时确定的测试结果特征值ti,且该ti与预设值相符时,确定该cpu310在电压为vi时能够正常工作;当在该预设时间内,获取到该ti,且该ti与该预设值不相符时,确定该cpu310在电压为vi时不能正常工作;当在该预设时间内,没有获取到该ti,确定该cpu310在电压为vi时不能正常工作。

可选地,该终端还可以包括存储单元330,该存储单元330用于存储cpu310当前的工作电压vi以及对应的测试结果特征值ti,以便于辅助处理器320获取该工作电压vi以及该测试结果特征值ti,确定cpu310是否能够正常工作。

应理解,在本发明实施例中,该辅助处理器320可以是cpu,该辅助处理器320还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储单元330可以包括只读存储器和随机存取存储器,并可以向cpu310或者辅助处理器320提供指令和数据。存储单元330的一部分还可以包括非易失性随机存取存储器。例如,存储单元330还可以存储设备类型 的信息。

在实现过程中,上述方法的各步骤可以通过cpu310或者辅助处理器320中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储单元330,cpu310或者辅助处理器320可以读取存储单元330中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

应理解,根据本发明实施例的终端300可对应于执行本发明实施例中的方法100和200,并且终端300中的各个组成部分的上述和其它操作和/或功能分别为了实现图1至图3中的各个方法的相应流程,为了简洁,在此不再赘述。

因此,本发明实施例的终端,在开机过程中,由辅助处理器完成系统初始化,并测量cpu的最低工作电压,然后通过在最低工作电压下工作的cpu,完成终端开机的最后开机作业,使得该终端完成开机正常工作,这样相比于在生产处理器时,通过测试机台对处理器的最低工作电压的测量,可以减少测试时间和测试成本,提高测试精度,更加准确的测试处理器的最低工作电压,并且还可以克服在机台测试的校准余量的误差和处理器老化导致的误差。

本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的 存储介质中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。

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