时脉调整装置与时脉调整方法
技术领域
本发明是有关于一种逻辑电路的适应性调整技术,且特别是有关于一种动态调整操作电压和/或工作时脉的调整装置及其方法。
背景技术
动态电压及频率调整(Dynamic Voltage and Frequency Scaling;DVFS)是通过动态调整电压与频率,以节省电脑系统或逻辑电路的功耗。由于各个集成电路的制程在技术上的不同以及受到环境温度的影响,所产生的集成电路在操作参数上会有一定程度的飘移。具备不同制程条件的集成电路在进行动态电压及频率的调整中,具有最佳制程条件的集成电路在向上调整操作电压的幅度不需如具有最差制程条件的集成电路,便可满足电路时序需求。
然而,由于需要让最佳制程条件的集成电路符合最差制程条件,将使得具有最佳制程条件的集成电路产生较大的漏电流,并在向上调整操作电压时容易造成高热及热杂讯,反而不利于集成电路的时脉上调。相反的,具有最差制程条件的集成电路的操作电压需要向上调整较大幅度,以使电路运作速度变快。并且,具有最差制程条件的集成电路的漏电流较小,在向上调整较大幅度的电压及时脉时较不会有发热等问题。因此,同一组参考电压及时脉的设定不适用在具备不同制程条件的集成电路上。
目前在集成电路内的DVFS技术中,是预先将数组预设的电压与频率制作成一个电压控制表格,并依据软件的运算需求来利用此电压控制表格调整电压与频率。此技术无法解决在不同制程条件情况下的参数调整,仅能考虑最差制程条件,造成调整工作时脉与操作电压的效率低落。因此,找寻可有效地调整集成电路的工作时脉与操作电压的相关技术是值得探讨的课题。
发明内容
本发明提供一种时脉调整装置及时脉调整方法,其可通过时脉调整装置的性能调整模块依据时间关系与空间关系来获得多个对应于目前环境温度或操作情况的当前性能码,藉以判断是否需要调整逻辑电路的工作时脉以及其操作电压。时脉调整装置还能够平稳且顺利地调整逻辑电路的工作时脉及操作电压,避免逻辑电路因时脉及电压的调整而发生错误甚至损坏。
本发明提出一种时脉调整装置,包括第一硬件性能监控器与性能调整模块,第一硬件性能监控器在时间区间内依据逻辑电路的操作条件产生有关于传输门延迟的多个当前性能码,每个当前性能码对应位于时间区间内的每个时间点。性能调整模块耦接第一硬件性能监控器,接收当前性能码,依据当前性能码以判断是否调整逻辑电路的工作时脉以及操作电压,以使所述操作电压适用于所述工作时脉。其中,性能调整模块依据当前性能码中的最差值以判断是否向上调整操作电压,且依据当前性能码中的平均值以判断是否向下调整操作电压。
在本发明的一实施例中,上述的性能调整模块包括性能分析器、电压控制器与时脉调整器。性能分析器耦接第一硬件性能监控器,接收当前性能码以产生时脉调整信号以及电压调整信号。电压控制器耦接性能分析器,接收电压调整信号以控制外部电压调节器,以调整操作电压使其适用于所述工作时脉。时脉调整器耦接性能分析器,接收时脉调整信号以调整逻辑电路的工作时脉。
在本发明的一实施例中,时脉调整装置更包括时脉除法器,所述时脉除法器耦接于时脉调整器以及逻辑电路之间,时脉除法器接收时脉调整器所产生的回路时脉并产生逻辑电路的工作时脉。当工作时脉要被向上调整,电压控制器评估上调电压值并控制外部电压调节器以调升操作电压至该上调电压值,且性能分析器通过第一硬件性能监控器的当前性能码得知该上调电压值仍无法使逻辑电路达到所需的预定效能时,时脉调整器使能所述时脉除法器以对工作时脉进行降频,且将时脉调整器的回路时脉调升至上调频率值,通过电压控制器调整外部电压调整器藉以微幅调升操作电压,至性能分析器判断第一硬件性能监控器产生的当前性能码足以使逻辑电路达到预定效能时,时脉调整器禁能时脉除法器以使回路时脉的频率等同于工作时脉的频率。
在本发明的一实施例中,时脉调整装置更包括多个第二硬件性能监控器,其中第一硬件性能监控器以及多个第二硬件性能监控器分别设置于逻辑电路的硬件结构的不同位置。
在本发明的一实施例中,性能调整模块判断不调整工作时脉时,或是在调整工作时脉的频率之后,执行操作电压微调程序。
在本发明的一实施例中,当工作时脉要被向上调整时,性能调整模块将一预设性能码提升至上调预估值,调升操作电压至上调电压值,等待操作电压稳定,且在操作电压稳定后调升工作时脉的频率至上调频率值。
在本发明的一实施例中,性能调整模块比对第一硬件性能监控器的当前性能码与预设性能码,以判断操作电压是否稳定。
在本发明的一实施例中,当工作时脉要被向下调整时,性能调整模块将预设性能码降低至下调预估值,调降工作时脉的频率至下调频率值,且在调整工作时脉之后调降操作电压至下调电压值。
从另一角度来看,本发明提出一种时脉调整方法,适用于逻辑电路,所述时脉调整方法包括下列步骤:在时间区间内依据逻辑电路的操作条件产生有关于传输门延迟的多个当前性能码,每个当前性能码对应位于时间区间内的每个时间点。接收当前性能码,依据当前性能码以判断是否调整逻辑电路的工作时脉以及调整用以产生使逻辑电路符合该工作时脉的操作电压。依据当前性能码中的最差值来判断是否向上调整操作电压。以及,依据当前性能码中的平均值来判断是否向下调整操作电压。
在本发明的一实施例中,上述的时脉调整方法更包括下列步骤:当工作时脉要被向上调整、电压控制器评估上调电压值并控制外部电压调节器以调升操作电压至该上调电压值,且性能分析器通过第一硬件性能监控器的当前性能码得知该上调电压值仍无法使逻辑电路达到预定效能时,使能时脉除法器以对工作时脉进行降频,并将锁相回路的回路时脉的频率调升至上调频率值,并通过电压控制器调整外部电压调整器以微幅调升操作电压,藉以持续依据该些当前性能码来判断该逻辑电路是否达到该预定效能。当性能分析器判断第一硬件性能监控器产生的当前性能码足以使逻辑电路达到预定效能,也就是回路时脉的频率稳定在上调频率值时,时脉调整器禁能时脉除法器以使回路时脉的频率等同于工作时脉的频率。
在本发明的一实施例中,上述的时脉调整方法更包括下列步骤:当不调整工作时脉时、或是在调整工作时脉的频率之后,执行操作电压微调程序。
在本发明的一实施例中,上述的时脉调整方法,其中操作电压微调程序包括下列步骤:判断当前性能码中的最差值与预设性能码之间的差值是否小于第一门槛值。若当前性能码中的最差值与预设性能码之间的差值小于第一门槛值,则调升操作电压。若当前性能码中的最差值与预设性能码之间的差值大于第一门槛值,则判断当前性能码中的平均值与预设性能码之间的差值是否小于第二门槛值。若当前性能码中的平均值与预设性能码之间的差值不小于第二门槛值,则调降操作电压并更新预设性能码。
在本发明的一实施例中,向上调整操作电压包括下列步骤:将预设性能码提升至上调预估值。调升操作电压至上调电压值;等待操作电压稳定。以及,在操作电压稳定后,比对当前性能码中的最差值及预设性能码之间的差值,若符合需求则调升工作时脉的频率至上调频率值。
在本发明的一实施例中,向下调整操作电压包括下列步骤:将预设性能码降低至下调预估值。调降工作时脉的频率至下调频率值。以及,在调整工作时脉之后,调降操作电压至下调电压值。
基于上述,本发明可通过时脉调整装置的性能调整模块依据时间关系(如,每隔一段时间进行多次侦测)与空间关系(如,在多个可能造成较差制程或电压条件的位置上设置硬件性能监控器)来获得多个对于目前环境温度或操作情况的当前性能码,并通过这些当前性能码来判断是否需要调整逻辑电路的工作时脉以及其操作电压。并且,在欲调升工作时脉的情况下,由于会先行调升操作电压,且当所量测得到的当前性能码并未达到预定效能的话,时脉调整装置将通过时脉除法器来先行减缓工作时脉的频率,藉以将提供给逻辑电路的工作时脉与回路时脉暂时性地进行区隔,并通过微幅调升操作电压的方式使得逻辑电路的性能能够适用该回路时脉所产生的的频率,以避免逻辑电路在时脉调整器(锁相回路)升频时发生误动作的情况而使其故障或损毁。此外,本发明实施例的硬件性能监控器可顾及集成电路电压衰退与电压不均等问题,进而针对不同制程条件的集成电路提供适合的标准,不须迁就具有最差制程条件的集成电路。藉此,时脉调整装置能够平稳地且顺利地调整逻辑电路的工作时脉及操作电压,避免逻辑电路因时脉及电压的调整而发生错误。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1为本发明一示范性实施例的时脉调整装置的方块图。
图2为本发明一示范性实施例的时脉调整方法的流程图。
图3为图1的时脉调整装置的第一实施例方块图。
图4为图1的时脉调整装置的第二实施例方块图。
图5绘示为图1的时脉调整装置的第二实施例装设在集成电路内部的示意图。
图6为本发明第二实施例的时脉调整方法的上调操作电压的流程图。
图7为图1的时脉调整装置的第二实施例调升时脉的波型图。
图8为本发明一实施例的时脉调整方法的下调操作电压的流程图。
图9为本发明一实施例的执行操作电压微调程序的流程图。
【符号说明】
10:电路
20:外部电压调节器
110:时脉调整装置
120、122、124:硬件性能监控器
130:性能调整模块
132:性能分析器
134:电压控制器
136:时脉调整器
150:逻辑电路
160:电源处理电路
170:发热区
CPLL_CLK:回路时脉
CPU_CLK:工作时脉
CPU_CLK req:时脉调整要求
DIV_EN:除频使能信号
I_OUT:输出电流
POWER:操作电压
S210~S920:步骤
t1~t7:时间点
具体实施方式
目前在集成电路内的DVFS技术仅能考虑最差制程条件,无法解决在不同制程条件情况下的参数调整,造成调整工作时脉与操作电压的效率低落。本发明的时脉调整装置的性能调整模块可依据时间关系与空间关系来获得多个对于目前环境温度或操作情况的当前性能码,藉以判断是否需要调整逻辑电路的工作时脉以及其操作电压。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。但本发明的范围并不仅限于下述实施例。
图1为本发明一示范性实施例的时脉调整装置的方块图。此电路10包括时脉调整装置110与逻辑电路150。时脉调整装置110包括有性能调整模块130与第一硬件性能监控器120。此性能调整模块130耦接外部电压调节器20。于本实施例中,第一硬件性能监控器120以及逻辑电路150可以设置在同一个机体电路上实现,而性能调整模块130则不一定要实施在与逻辑电路150相同的同一个集成电路中,应用本实施例者可依其需求而进行适当地调整。逻辑电路150可由现场可编程门阵列(Field Programmable Gate Array;FPGA)实现,或是设置于微处理器或中央处理单元(Central Processor Unit;CPU)内,但并不限制于此。
电路10耦接电压调节器20。在此示范性实施例中,外部电压调节器20的输出端可连接电路10,用以提供操作电压POWER给电路10。而时脉调整装置110的性能调整模块130耦接电压调节器20。第一硬件性能监控器120的输出端耦接性能调整模块130的输入端。第一硬件性能监控器120用来追踪在当前的操作条件下门的传输延迟,并输出性能码(performance code)至性能调整模块130。性能码的内容包括门的传输延迟(propagation delay)。在不同的时间点,门的传输延迟时间也会有所不同。性能调整模块130的输出端耦接第一硬件性能监控器120与逻辑电路150,用以将工作时脉CPU_CLK传输至逻辑电路150与第一硬件性能监控器120。当基于运算需求而要调升工作时脉CPU_CLK时,性能调整模块130可依据一时间区间中不同时间点所测得的当前性能码,来判断是否能调整工作时脉CPU_CLK以及调整操作电压POWER,以使操作电压POWER满足工作时脉CPU_CLK的需求,此性能调整模块130可依据时间区间中不同时间点所测得的当前性能码中的最差值来判断是否调升工作时脉CPU_CLK与操作电压POWER,也可依据当前性能码中的平均值来判断是否调降工作时脉CPU_CLK与操作电压POWER,并供给逻辑电路150与第一硬件性能监控器120调整过的工作时脉CPU_CLK。
特别说明的是,于本实施例中,第一硬件性能监控器120与逻辑电路150是使用共同时脉源,藉以节省硬件成本。
请同时参照图1及图2。图2为本发明一示范性实施例的时脉调整方法的流程图。第一硬件性能监控器120在一时间区间内依据逻辑电路150的操作条件产生有关于传输门延迟(propagation gate delay)的多个当前性能码(步骤S210),其中每个当前性能码对应位于时间区间内的每个时间点。性能调整模块130接收当前性能码(步骤S220),并依据当前性能码以判断是否能调整逻辑电路150的工作时脉CPU_CLK,以及调整操作电压POWER,以使操作电压POWER满足工作时脉CPU_CLK的需求。性能调整模块130依据当前性能码中的最差值来判断是否向上调整操作电压POWER(步骤S230)。若是的话就向上调整操作电压POWER(步骤S240),若否的话则进入步骤S250,性能调整模块130依据当前性能码中的平均值来判断是否向下调整操作电压POWER(步骤S250),若是的话性能调整模块130就向下调整操作电压POWER(步骤S260),若否的话则回到步骤S210。其中,决定参考电压的相关参数可为操作电压POWER及工作时脉CPU_CLK的至少其中之一。藉此,本发明可通过时脉调整装置110的性能调整模块130依据时间关系,例如每隔一段时间进行多次侦测,来获得多个对于目前环境温度或操作情况的当前性能码,并通过这些当前性能码来判断是否需要调整逻辑电路150的工作时脉CPU_CLK以及其操作电压POWER。藉此,时脉调整装置110能够平稳地且顺利地调整逻辑电路150的工作时脉CPU_CLK及操作电压POWER,避免逻辑电路150因时脉及电压的调整而发生错误。
请参照图3。图3为图1的时脉调整装置的第一实施例方块图。上述的性能调整模块130可包括性能分析器132、电压控制器134与时脉调整器136。性能分析器132耦接第一硬件性能监控器120,用以接收当前性能码以产生时脉调整信号以及电压调整信号。电压控制器134耦接性能分析器132。电压控制器134接收性能分析器132产生的电压调整信号,以控制外部电压调节器20,进而调整操作电压POWER,以使操作电压POWER满足工作时脉CPU_CLK的需求。在此实施例中,时脉调整器136可包括时脉控制器138与锁相回路139。时脉调整器136的时脉控制器138耦接性能分析器132,用以接收性能分析器132产生的时脉调整信号,以调整输入至逻辑电路150的工作时脉CPU_CLK。在此实施例中,信号CPU_CLK req是电脑系统中相关软件所提出的中央处理单元的工作时脉调整要求。信号CPU_CLK req可从电路10外部输入至时脉控制器138,以调整输入至逻辑电路150的工作时脉CPU_CLK。于部分实施例中,信号CPU_CLK req可由逻辑电路150发出。又或者于部分实施例中,电路10是集成电路的一部分,信号CPU_CLK req可由集成电路的其他部分发送,或是从集成电路外部发送。时脉控制器138耦接并可控制锁相回路139,使锁相回路139提供一个具有准确相位的周期性的输出信号(例如:工作时脉CPU_CLK)给逻辑电路150与第一硬件性能监控器120。
请参阅图4所示,图4为图1的时脉调整装置的第二实施例方块图。在此实施例中,时脉调整装置10更可包括时脉除法器140。所述时脉除法器140耦接于时脉调整器136以及逻辑电路150之间,且时脉除法器140分别与时脉调整器136的时脉控制器138与锁向回路139耦接。时脉除法器140接收时脉调整器136的锁向回路139所产生的回路时脉CPLL_CLK,并产生工作时脉CPU_CLK传送至逻辑电路150。请注意,在时脉除法器140未启动的情况下,回路时脉CPLL_CLK的频率与工作时脉CPU_CLK的频率应为相同。
接下来会针对时脉调整装置110实际装设在集成电路的情况进行说明。请同时参阅图4与图5,图5绘示为图1的时脉调整装置的第二实施例装设在集成电路内部的示意图。请注意,在此段针对图5的说明中,逻辑电路指的是集成电路的布局区域,而且电路10设置于集成电路内。时脉调整装置10在此实施例中包括第一硬件性能监控器120与两个第二硬件性能监控器122、124。其中第一硬件性能监控器120以及第二硬件性能监控器122、124分别设置于电路10中逻辑电路150的硬件结构的不同位置。在此实施例中,第一硬件性能监控器120与第二硬件性能监控器122、124设置于集成电路中可能具有较高温度或是可能发生电压衰退(IR drop)的实体位置。例如,第一硬件性能监控器120设置于远离操作电压POWER的输入脚位处,这是因为距离操作电压POWER的输入脚位越远,电压衰退越严重;第二硬件性能监控器122设置于靠近电源处理电路160的发热区170一带;第二硬件性能监控器124设置于靠近输出电流I_OUT处。因为集成电路在环境温度高、或是发生电压衰退的位置上将使传输门延迟的情况较严重,因而需要较大的操作电压POWER或是需要进行适应性调整才能达到预期的效能。以图5为例,集成电路的温度最高处例如位于电源处理电路160的发热区170。第一硬件性能监控器120因距离发热区170有一段距离,故无法准确监控到集成电路中最高的温度,而第二硬件性能监控器122因为设置位置接近发热区170,故可有效监控到发热处170的温度。性能分析器132可接收第一硬件性能监控器120与第二硬件性能监控器122、124的性能码,并取硬件性能监控器120、122、124的性能码中的最差值(即为靠近集成电路温度最高处的第二硬件性能监控器122输出的性能码)作为判断操作电压POWER是否上调以及上调幅度的依据。
请同时参考图4、图6与图7。图6为本发明第二实施例的时脉调整方法的上调操作电压的流程图。图7为图1的时脉调整装置的第二实施例调升时脉的波型图。具体一点来说明,当向上调整操作电压POWER(图2步骤S240),对应图7的时间点t1,从电路10外部传入时脉控制器138的中央处理单元时脉的调整要求CPU_CLK req,代表电路10外部要求提升工作时脉CPU_CLK,例如从1GHz提升到目标值1.2GHz,此时电压控制器134会评估一上调电压值,使性能调整模块130将预设性能码逐步提升至上调预估值(步骤S610)。此时在时间点t1至t2的期间中,性能调整模块130控制外部电压调节器20调升操作电压POWER至上调电压值(步骤S620),并在时间点t2至t3的期间等待操作电压POWER稳定(步骤S630)。第一硬件性能监控器120会持续依据上调电压值、操作电压与回路时脉连动产生多个当前性能码。在此实施例中,可由性能调整模块130在经过一延迟时间后比对第一硬件性能监控器120的当前性能码与预设性能码,以判断操作电压POWER是否稳定。在部分实施例中,也可使用性能调整模块130在预设的一时间区间内可一次性或多次性地比对第一硬件性能监控器120的该些当前性能码,且在该些当前性能码的差值小于一预设值时,判断操作电压POWER为稳定。若是让性能调整模块130多次性地比对第一硬件性能监控器120的该些当前性能码,可以加速该些当前性能码的差值是否小于一预设值的判断过程,从而迅速收敛上述判断流程所花费的时间。此外,在此实施例中,当操作电压POWER调升至上调电压值时(此时为时间点t2),性能调整模块130调升工作时脉CPU_CLK的频率,此时回路时脉CPLL_CLK从1GHz上升至1.1GHz,故工作时脉CPU_CLK也同步从1GHz上升至1.1GHz。值得注意的是,在调升工作时脉CPU_CLK前,需先提升操作电压POWER,如此一来电路10才可正常调升工作时脉CPU_CLK。
在图6步骤S630后,性能调整模块130通过当前性能码得知上调电压值是否能使逻辑电路达到预定效能(步骤S640,对应图7时间点t3至t4)。预设性能码可为预先设定的数位门单元的传输延迟值,因此可以通过当前性能码与预设性能码的比较来得知逻辑电路是否因为操作电压的上调而符合其性能。于本实施例中,在时脉除法器140未启动的情况下,回路时脉CPLL_CLK的频率与工作时脉CPU_CLK的频率是相同的。又当前性能码的最差值的数值在已低于预设性能码的数值时,表示逻辑电路在提升时脉后可能会因此发生误动作的情况。于此时,若当前性能码的最差值大于预设性能码的数值时,代表逻辑电路150达到原先预期的效能(时间点t3),则性能调整模块130便调升回路时脉CPLL_CLK的频率至所述上升调整值(步骤S700),且通过微幅调升操作电压POWER,以获取此操作电压下对应上调频率值的当前性能码。于此时,工作时脉CPU_CLK等同回路时脉CPLL_CLK的频率。在步骤S700之后则执行操作电压微调程序(步骤S690),以些微调整操作电压的方式来维持最佳操作电压POWER。相对地,若当前性能码的最差值小于预设性能码的数值时,则代表逻辑电路150在操作电压上升后可能无法达到原先预期的效能。则如图7的时间点t4所示,时脉控制器138传输使能信号DIV_EN来使能时脉除法器140,以对工作时脉CPU_CLK进行降频(步骤S650),以避免逻辑电路150在锁相回路139升频时误动作。时脉除法器140接收回路时脉CPLL_CLK并产生降频后的工作时脉CPU_CLK,例如工作时脉CPU_CLK的时脉频率从1.1GHz降到550MHz,时脉除法器140先行减缓工作时脉CPU_CLK的频率,让锁相回路139所产生的回路时脉与逻辑电路150的工作时脉之间能有个暂时性区隔,使锁相回路139传输的时脉可经过时脉除法器140处理后再传输至逻辑电路150。工作时脉CPU_CLK能在时脉除法器140使能期间暂时降频,进而使回路时脉CPLL_CLK可以上调到目标频率,使第一硬件性能监控器120能够获取逻辑电路150在回路时脉CPLL_CLK上调到目标频率时的性能码。此外,通过微幅调升操作电压的方式使得逻辑电路150性能能够符合稳定需求。于本实施例中,时脉除法器140是将原本的回路时脉CPLL_CLK除以2,也就是时脉除法器140的除频倍率为2,藉以让工作时脉CPU_CLK从原先的1.1GHz降到550MHz,应用本实施例者也可任意调整时脉除法器140的除频倍率,在此并未限制。
当时脉除法器140使能以使工作时脉CPU_CLK降频后,回路时脉CPLL_CLK的频率会调升至上调频率值(步骤S660),而且通过微幅调升操作电压POWER(时间点t4至t6),以获取该操作电压下对应上调频率值的当前性能码。
接下来,性能调整模块130会在调升回路时脉CPLL_CLK的频率至上调频率值(时间点t5,步骤S660)之后,执行操作电压微调程序(步骤S670)。操作电压微调程序会持续依据当前性能码来判断此逻辑电路是否达到此预定效能。若逻辑电路还是没有达到预定效能,则会在操作电压微调程序(如图9所示)中通过微调操作电压以调整当前性能码与预设性能码之间的关系。操作电压微调程序将于下述描述中详细说明。
在时间点t5时,工作时脉CPU_CLK从550MHz升高至600MHz,此时工作时脉CPU_CLK为回路时脉CPLL_CLK的频率除以2,因此回路时脉CPLL_CLK达到所需求的1.2GHz。当上述当前性能码的最差值大于预设性能码的数值时,时脉控制器138传输给禁能时脉除法器140的使能信号DIV_EN由高电位降至低电位,用以禁能时脉除法器140(步骤S680)。工作时脉的CPU_CLK的频率便因此从600MHz上升到1.2GHz,且工作时脉CPU_CLK的频率等同于回路时脉CPLL_CLK的频率。更进一步地说,时脉调整装置110因为设置有时脉除法器140,而时脉除法器140可调整锁相回路139输出的时脉,故锁相回路139只需产生一种时脉CPLL_CLK,即可分别供应适合的时脉给硬件性能监控器120、122与逻辑电路150。并且,在时脉除法器140使能期间,时脉调整装置110可以逐步微幅调整操作电压以使逻辑电路效能满足回路时脉CPLL_CLK的需求,藉此便可避免逻辑电路在时脉除法器140禁能后误动作。
在此针对向下调整操作电压POWER的步骤流程进行说明。图8为本发明一实施例的时脉调整方法的向下调整操作电压的流程图。请同时参考图2与图8。具体说明,当希望向下调整操作电压POWER时(图2步骤S260),性能调整模块130会先将预设性能码降低至下调预估值(步骤S810),使得硬件性能监控器能够得知工作时脉将要下调。然后,性能调整模块130调降工作时脉CPU_CLK的频率至下调频率值(步骤S820)。在调整工作时脉CPU_CLK之后,性能调整模块130才会调降操作电压POWER至下调电压值(步骤S830)。请注意,性能调整模块130会先行调降工作时脉CPU_CLK之后,才会继续调降操作电压POWER,如此才可使电路10正常运作。另外,性能调整模块130除了在调整工作时脉CPU_CLK的频率之后会执行操作电压微调程序(例如:步骤S670、S690、S840)以外,性能调整模块130也会在判断不需调整工作时脉CPU_CLK的时候,周期性或非周期性地执行操作电压微调程序。
在此描述执行操作电压微调程序的步骤流程。请参照图9,图9为本发明一实施例的执行操作电压微调程序的流程图。性能调整模块130会判断当前性能码中的最差值与预设性能码之间的差值是否小于一第一门槛值(步骤S910)。于本实施例中,当前性能码中的最差值应大于预设性能码。如步骤S910的结果为是,则性能调整模块130调升操作电压POWER(步骤S920),并等待操作电压POWER稳定后(步骤S930),再回到步骤S910。如在步骤S910判断的结果为否,接下来,性能调整模块130会判断当前性能码中的平均值与预设性能码之间的差值是否小于一第二门槛值(步骤S940)。于本实施例中,当前性能码中的平均值必定会大于预设性能码。如步骤S940的结果为否,则性能调整模块130调降操作电压POWER(步骤S950),并等待操作电压POWER稳定后(步骤S960),接着回到步骤S910。如在步骤S940判断的结果为是,则回到步骤S910。通过此操作电压微调程序,便可持续监控操作电压的情形,让图1的逻辑电路150能够平稳、顺畅地运作。于本实施例中,第二门槛值的数值不小于第一门槛值的数值,而预设性能码的数值则小于第一门槛值。如果当前性能码的平均值大于第二门槛值的话,则需下调操作电压POWER;如果当前性能码的最差值小于第一门槛值,则需上调操作电压POWER。
综上所述,本发明可通过时脉调整装置110的性能调整模块130依据时间关系(如,每隔一段时间进行多次侦测)与空间关系(如,在多个可能造成较差制程或电压条件的位置上设置硬件性能监控器120、122、124)来获得多个对于目前环境温度或操作情况的当前性能码,并通过这些当前性能码来判断是否需要调整逻辑电路150的操作电压以满足工作时脉CPU_CLK的性能及耗能需求。并且,时脉调整装置110通过时脉除法器140在逻辑电路150性能无法如期上升时先行减缓工作时脉CPU_CLK的频率,并在外部电压调节器20使逻辑电路150性能抬升到预期情况时恢复工作时脉CPU_CLK的频率,以避免逻辑电路150性能未能及时上升而使集成电路故障或损毁。此外,硬件性能监控器120、122、124可考虑集成电路电压衰退与电压不均问题。而针对不同制程条件提供适合的标准,不须迁就具有最差制程条件的集成电路。藉此,时脉调整装置110能够平稳地且顺利地调整逻辑电路150的工作时脉CPU_CLK及操作电压POWER,避免逻辑电路150因时脉及电压的调整而发生错误。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定者为准。