首页 / 专利库 / 化学元素和化合物 / 电子 / 动态电压和频率调节方法、片上系统及设备

动态电压频率调节方法、片上系统及设备

阅读:481发布:2024-02-25

专利汇可以提供动态电压频率调节方法、片上系统及设备专利检索,专利查询,专利分析的服务。并且本公开提供了动态 电压 和 频率 调节(DVFS)方法、片上系统及设备。动态电压和频率调节方法包括:在第一调度时间调度DVFS的执行以调整目标设备的频率或电压;监视目标设备的操作频率;以及基于目标设备的操作频率选择性地推迟在稍后的调度时间的DVFS的执行;其中当目标设备的操作频率等于或低于给定最低频率时推迟在下一调度时间的DVFS的执行。,下面是动态电压频率调节方法、片上系统及设备专利的具体信息内容。

1.一种动态电压频率调节(DVFS)方法,包括:
在第一调度时间调度DVFS的执行以调整目标设备的频率或电压;
监视目标设备的操作频率;以及
基于目标设备的操作频率,选择性地推迟在稍后调度时间的DVFS的执行,其中当目标设备的操作频率等于或低于给定最低频率时推迟在下一调度时间的DVFS的执行。
2.如权利要求1所述的方法,其中基于目标设备的操作频率,选择性地迫使中央处理器(CPU)从空闲状态到运行状态以执行DVFS。
3.如权利要求2所述的方法,其中当目标设备的操作频率等于或低于给定最低频率时,在下一调度时间不迫使空闲的CPU到运行状态以执行DVFS。
4.如权利要求1所述的方法,其中所述目标设备是存储器接口
5.如权利要求1所述的方法,其中当执行DVFS时,目标设备的操作频率或被供应的电压被降低。
6.一种片上系统(SOC),包括:
中央处理器(CPU)、存储器、和由CPU控制的目标设备,所述存储器具有由CPU可执行的存储指令以执行下述步骤:
在第一调度时间调度动态电压和频率调节(DVFS)的执行以调整目标设备的频率或电压;
监视目标设备的操作频率;以及
当目标设备的操作频率等于或低于给定最低频率时推迟在下一调度时间的DVFS的执行,
其中当目标设备的操作频率等于或低于给定最低频率时,在下一调度时间不迫使CPU从空闲状态到运行状态以执行DVFS。
7.如权利要求6所述的SOC,其中基于目标设备的操作频率,选择性地迫使CPU从空闲状态到运行状态以执行DVFS。
8.如权利要求6所述的SOC,其中所述目标设备是存储器接口。
9.如权利要求6所述的SOC,其中所述目标设备是非CPU知识产权(IP)。
10.如权利要求6所述的SOC,还包括由CPU控制的第二目标设备,其中存储器还包括由CPU可执行以实施用于调整第二目标设备的频率或电压的DVFS的存储指令。
11.如权利要求9所述的SOC,其中第二目标设备是输入/输出(I/O)接口。
12.如权利要求6所述的SOC,其中当执行DVFS时,目标设备的操作频率或被供应的电压被降低。
13.如权利要求6所述的SOC,其中所述SOC被具体实现在智能电话、照相机、可穿戴智能设备、或物联网(IoT)中的一个中。
14.一种可穿戴电子设备,包括:
片上系统(SOC),包括:
中央处理器(CPU)、存储器、和由CPU控制的存储器接口,所述存储器具有由CPU可执行的存储指令以:
在第一调度时间调度动态电压和频率调节(DVFS)的执行以调整目标设备的频率或电压;
监视目标设备的操作频率;以及
基于目标设备的操作频率,选择性地推迟在稍后调度时间的DVFS的执行;
连接到存储器接口的存储设备;以及
显示器,
其中当目标设备的操作频率等于或低于给定最低频率时,在下一调度时间不迫使CPU从空闲状态到运行状态以执行DVFS。
15.如权利要求14所述的可穿戴电子设备,其中基于目标设备的操作频率,选择性地迫使CPU从空闲状态到运行状态以执行DVFS。
16.如权利要求14所述的可穿戴电子设备,其中所述目标设备是存储器接口。
17.如权利要求14所述的可穿戴电子设备,其中所述目标设备是非CPU知识产权(IP)。

说明书全文

动态电压频率调节方法、片上系统及设备

[0001] 相关申请的交叉引用
[0002] 本申请要求于2014年3月28日提交的韩国专利申请第10-2014-0037257号的优先权,其公开通过引用全面合并于此。

技术领域

[0003] 本发明构思的实施例涉及动态电压和频率调节(DVFS),并且更具体地,涉及一种存储有可执行以防止DVFS在低功率模式中不必要的执行的程序的片上系统(SoC)及其操作方法以及包括该片上系统的设备。

背景技术

[0004] DVFS是动态地调整操作频率和操作电压的技术。DVFS可以在电子系统中使用以降低电消耗。
[0005] 通常使用的DVFS周期地检查调整目标电路的使用,调整提供给调整目标电路的操作频率和操作电压以降低调整目标电路中的电力消耗。
[0006] 执行DVFS的电子系统可以在某种程度上降低电流消耗,但是当电子系统处于空闲状态中时,DVFS可能继续执行并消耗电力。
[0007] 一些SoC使用掉电(power down)模式和DVFS两者以降低电力消耗。当在低功率模式期间SoC中的CPU被唤醒以执行DVFS时,电力消耗不均衡地浪涌。

发明内容

[0008] 一种DVFS方法包括:在第一调度时间执行DVFS以调整目标设备的频率或电压;监视目标设备的操作频率;以及基于目标设备的操作频率在稍后的调度时间选择性地推迟DVFS的执行;其中当目标设备的操作频率等于或低于参考频率时,推迟在下一调度时间的DVFS的执行;其中基于目标设备的操作频率,选择性地迫使中央处理器(CPU)从空闲状态到运行状态以执行DVFS;其中当目标设备的操作频率等于或低于参考频率时,在下一调度时间不迫使空闲的CPU到运行状态以执行DVFS;以及其中目标设备是存储器接口
[0009] 一种片上系统(SOC),包括CPU、存储器和由CPU控制的目标设备,所述存储器存储可由CPU执行的指令,用于在第一调度时间执行DVFS以调整目标设备的频率或电压;监视目标设备的操作频率;以及当目标设备的操作频率等于或低于参考频率时,推迟在下一调度时间执行DVFS;其中基于目标设备的操作频率,选择性地迫使CPU从空闲状态到运行状态以执行DVFS;其中当目标设备的操作频率等于或低于参考频率时,在下一调度时间不迫使CPU从空闲状态到运行状态以执行DVFS;其中目标设备是存储器接口;其中目标设备是非CP IP;该SOC还包括由CPU控制的第二目标设备,其中存储器还包括可由CPU执行的存储指令以用于:执行DVFS以调整第二目标设备的频率或电压;其中第二目标设备是I/O接口。
[0010] 一种可穿戴电子设备,包括片上系统(SOC),连接到存储器接口的存储设备,以及显示器,所述SOC包括CPU、存储器和由CPU控制的存储器接口,所述存储器具有可由CPU执行的存储指令以用于:在第一调度时间执行DVFS以调整目标设备的频率或电压;监视目标设备的操作频率;以及基于目标设备的操作频率在稍后的调度时间推迟DVFS的执行。
[0011] 附图描述
[0012] 从以下结合附图对实施例的描述,本发明总体构思的这些和/或其他方面将变得清楚和更加容易理解。附图中:
[0013] 图1是根据本发明构思的示例实施例的系统的框图
[0014] 图2是在图1中示出的系统中执行的DVFS的时序图;
[0015] 图3是用于描述图1中示出的系统的操作的流程图
[0016] 图4是在图1中示出的系统中执行的DVFS的状态图;
[0017] 图5是根据图4中示出的DVFS的状态图的条件状态图。具体实施例
[0018] 现在将参照附图更全面地描述本发明构思,附图中示出了本发明的实施例。然而,本发明可以以许多不同的形式来具体实现,不应被解释为局限于此出阐述的示例性实施例。相反,提供这些实施例是为了使本公开全面和完整,并向本领域技术人员充分传达本发明的范围。附图中,为清楚起见,可能夸大了层和区域的大小及相对大小。相同的参考标记始终指代相同的元件。
[0019] 将会理解,当一个元件被称为“连接”或“耦接”到另一元件时,它可以直接连接或耦接到所述另一元件,或者也可以存在居间的元件。相反,当一个元件被称为“直接连接”或“直接耦接”到另一元件时,不均在居间的元件。此处使用的术语“和/或”包括相关列出项目中的任何一个以及其中的一个或多个的所有组合,并且术语“和/或”可以缩写为“/”。
[0020] 将会理解,尽管此处可能使用术语第一、第二等等来描述不同的元件,但这些元件不应受到这些术语的限制。这些术语仅仅用于将一个元件与另一个元件区分开来。例如,第一信号可以被称为第二信号,类似地,第二信号也可以被称为第一信号,这样做不会偏离本公开的教导。
[0021] 此处使用的术语仅仅是为了描述特定实施例,并非意图限制本发明。与此处使用的,单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文明确给出相反指示。还将理解,当在本说明书中使用词语“包括”和/或“包含”时,表明存在所描述的特征、区域、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、区域、整体、步骤、操作、元件、组件和/或它们的组合。
[0022] 除非另外定义,否则此处使用的所有术语(包括技术术语和科学术语)所具有的含义与本发明所属领域的普通技术人员通常理解的含义相同。还将理解,诸如通常使用的词典中定义的那些术语应该被解释为所具有的含义与它们在相关领域和/或本申请的上下文中的含义一致,而不应理想化地或过分形式化地对其进行解释,除非此处明确地如此定义。
[0023] 在本发明构思的实施例的下面描述中,当在调度时间(或时间点)中DVFS目标硬件的频率不是最低频率,并且CPU在调度时间处于运行状态时,自发的DVFS(或自发的DVFS调用)或自发调用DVFS(VID)意味着在调度时间执行用于DVFS目标硬件的DVFS。
[0024] 在执行DVFS时,通过由CPU控制的定时器设置有关调度时间的消息,从而中断控制器在调度时间响应于定时器的输出信号而生成中断。因此,通过中断唤醒的CPU可以在调度时间控制DVFS的执行。
[0025] 当DVFS目标硬件的频率在调度时间不是最低频率并且CPU在调度时间处于空闲状态时,CPU在调度时间响应于中断而被迫使唤醒。从而,自发的DVFS或VID意味着在调度时间在目标硬件上执行。
[0026] 当DVFS目标硬件的频率在调度时间处于最低频率,并且CPU在调度时间处于空闲状态时,非自发的DVFS(或非自发的DVFS调用)、或非自发调用DVFS(IID)意味着在调度时间不执行用于DVFS目标硬件的DVFS。
[0027] 当调度时间不是由CPU控制的定时器设置的时,连接到定时器的中断控制器不在调度时间生成中断。在这种情况下,CPU在调度时间不被迫使唤醒以执行DVFS。
[0028] 因此,通过在调度时间之后的第一时间生成的第一中断唤醒的CPU可以控制DVFS的执行。然而,通过在调度时间之前的第二时间生成的第一中断唤醒的CPU可以推迟DVFS的执行直到调度时间。第一中断意味着除用于自发的DVFS的中断之外的中断。
[0029] 本发明构思的示范性实施例指向DVFS,DVFS可以当第一硬件动态地调整频率、第二硬件动态地调整操作电压、或第三硬件控制第一硬件和第二硬件、以及控制模控制DVFS过程时执行。DVFS过程可以包括自发的DVFS或VID以及非自发的DVFS或IID,并且可以由CPU执行控制模块
[0030] 第一硬件可以具体实现在时钟管理单元中,第二硬件可以具体实现在电力管理集成电路中,第三硬件可以具体实现在CPU中,并且控制模块可以具体实现在DVFS软件中。然而,控制模块还可以具体实现在硬件中。
[0031] 图1是根据本发明构思的示范性实施例的系统的框图。参照图1,系统100可以包括片上系统(SoC)200、电力管理IC(PMIC)300以及外部存储器400。
[0032] 系统100可以具体实现在便携式电子设备中。便携式电子设备可以具体实现在智能电话、笔记本PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静物摄影机、数字摄像机、便携式多媒体播放器(PMP)、私人导航设备或便携式导航设备(PND)、移动因特网设备(MID)、可穿戴智能设备、物联网(IoT)设备、或万物网(IoE)设备中。
[0033] SoC 200可以具体实现在应用处理器(AP)或移动AP中。
[0034] SoC 200可以包括存储器接口210、第一性能监视单元(PPMU)212、包括总线的内部逻辑220、第二PPMU 222、CPU 230、内部存储器231、硬件模块240、中断控制器250、电力管理单元(PMU)260以及时钟管理单元(CMU)270。
[0035] 存储器接口210便利SoC 200和外部存储器400之间的数据传送。根据本发明构思的实施例,当DVFS在存储器接口210上执行时,存储器接口210是可以在其中动态地调整第一操作电压PW1的DVFS目标硬件。
[0036] 第一PPMU 212可以监视存储器接口210的性能。例如,第一PPMU 212可以监视提供给存储器接口210的第一时钟CLK1的频率、存储器接口210的数据通讯比率(data traffic ratio)、和/或存储器接口210的使用。
[0037] 这里,数据通讯比率可以意味着数据正在传输的实际频率与参考频率之间的比率,例如,CLK1的实际频率是60MHz而从时钟发生器传递的CLK 1的参考频率是100MHz。在此情况下,数据通讯比率是60%。数据通讯还可以被称作“时钟计数”。
[0038] 存储器接口210的使用意味着存储器接口210被使用的时间段与固定的时间段的比率。
[0039] 根据本发明构思的示范性实施例,存储的软件SW 231包括用于由CPU 230执行以影响CVFS控制的存储的代码。运行SW 231的CPU 230可以读取相应于监视的结果的第一监视信号MT1。这里,第一PPMU 212可以作为CPU的从设备进行操作。例如,第一监视信号MT1可以包括第一时钟CLK1的频率,例如,参考频率以及数据通讯比率。CPU 230可以使用从第一监视信号MT1读取的第一时钟CLK1的频率和数据通讯比率来确定当前时间的频率以及下一时间(例如,调度时间)的下一频率。参考频率可以意味着从CMU 270提供到存储器接口210的第一时钟CLK1的频率。
[0040] 内部逻辑220可以意味着包括总线的内部逻辑电路。内部逻辑220还可以是DVFS目标硬件。例如,内部逻辑220可以使用第二时钟CLK2和第二操作电压PW2操作。当在内部逻辑220上执行DVFS时,第二时钟CLK2的频率以及第二操作电压PW2的电平可以被动态地调整。
[0041] 第二PPMU 222可以监视内部逻辑220的性能。例如,第二PPMU 222可以监视提供给内部逻辑220的第二时钟CLK2的频率、内部逻辑220的数据通讯比率、和/或内部逻辑220的使用。
[0042] CPU 230可以读取相应于监视的数据的第二监视信号MT2。这里,第二PPMU 222可以作为CPU 230的从设备操作。例如,第二监视信号MT2可以包括第二时钟CLK2的频率、参考频率以及数据通讯比率。基于监视的数据,CPU 230可以使用包括在第二监视信号MT2中的第二时钟CLK2的频率和数据通讯比率确定当前时间的频率以及下一时间(例如,调度时间)的下一频率。
[0043] 参考频率可以意味着从CMU 270提供到内部逻辑220的第二时钟CLK2的频率。
[0044] DVFS可以通过执行存储在SW 231中的DVFS软件来执行。当读取第一监视信号MT1和第二监视信号MT2时,处于运行状态中的CPU 230可以生成第一控制信号CTRL1和第二控制信号CTRL2,并且向CMU 270发送第一控制信号CTRL1,以及向PMIC 300发送第二控制信号CTRL2。
[0045] 当执行DVFS时,CMU 270可以响应于第一控制信号CTRL1增加或降低时钟,例如,CLK1和/或CLK2的频率。PMIC 300可以响应于第二控制信号CTRL2增加或降低用于DVFS的相应的操作电压,例如PW1和/或PW2的电平。
[0046] CPU 230可以使用从CMU 270输出的第三时钟CLK3来操作。
[0047] 为了执行自发的DVFS或VID,CPU 230可以计算用于自发的DVFS或VID的调度时间并且在定时器241中设置计算的调度时间。为了执行非自发的DVFS或VID,CPU 230计算用于非自发的DVFS或IID的调度时间,并且不在定时器241中设置计算的调度时间。调度时间信息可以存储在SW 231中。
[0048] 根据本发明构思的实施例,内部存储器SW 231可以具体实现为高速缓冲存储器
[0049] 例如,存储在SW 231中的由CPU 230执行的DVFS软件可以确定基于第一监视信号MT1计算的第一时钟CLK1的频率是否是最小频率,基于第二监视信号MT2计算的第二时钟CLK2的频率是否是最小频率,和/或CPU230的状态处于空闲状态还是运行状态。
[0050] 在本说明书中描述的最小频率可以意味着从SoC 200提供的频率当中的最小频率(在下文,称为第一最小频率)以及由软件,例如,DVFS软件SW确定的最小频率(在下文,称为第二最小频率)。例如,最小频率可以意味着第一最小频率和第二最小频率中的较高的频率;然而,不局限于此。
[0051] 硬件模块240可以包括多个定时器241。硬件模块240可以使用从CMU 270输出的第四时钟CLK4操作。例如,多个定时器241中的每一个可以具体实现为硬件或软件。多个定时器241中的每一个可以被用于调度操作系统OS和/或在调度时间生成中断有关的输出信号。
[0052] 中断控制器250可以在每个调度时间基于从每个定时器241输出的输出信号生成中断。
[0053] PMU 260可以控制电源向包括CPU 230和中断控制器250的组件供电。例如,PMU 260可以根据中断控制器250的控制来控制电源,其可以将CPU 230的状态从空闲状态改变为运行状态或者从运行状态改变为空闲状态。例如,空闲状态可以包括低功率模式。
[0054] 处于空闲状态中的CPU 230可以基于从中断控制器250输出的中断被唤醒。
[0055] 当DVFS被执行时,CMU 270可以响应于从CPU 230输出的第一控制信号CTRL1增加或降低将供应给每个元件210、220、230、和240的时钟CLK1、CLK2、CLK3和CLK4中的任一个或全部的频率。例如,当DVFS被执行时,CMU 270可以增加或降低将供应给存储器接口210的第一时钟CLK1的频率和/或将供应给内部逻辑220的第二时钟CLK2的频率。
[0056] 此外,当DVFS被执行时,PMIC 300可以响应于从CPU 230输出的第二控制信号CTRL2增加或降低将供应给每个元件210,220、230和240的操作电压。例如,PMIC 300可以增加或减少提供给存储器接口210的第一操作电压PW1和/或提供给内部逻辑220的第二操作电压PW2。
[0057] 将在本说明书中描述的DVFS可以执行在非CPU知识产权(IP)上。非CPU IP意味着IP不具有诸如CPU 230的CPU,并且IP可以是具有用户设计特征的硬件模块。
[0058] 为了在本说明书中的描述的方便起见,存储器接口210和具有总线的内部逻辑220被示出为DVFS目标硬件,例如,非CPU IP;然而,DVFS目标硬件,即,非CPU IP可以意味着图形处理单元(GPU)、图像信号处理机(ISP)、或显示处理器。
[0059] 外部存储器400可以通过总线201和存储器接口210发送或接收数据。外部存储器400可以存储DVFS软件SW。
[0060] 存储器接口210可以向内部存储器231发送从外部存储器400输出的DVFS软件SW,并且向外部存储器400发送从内部存储器231输出的DVFS软件SW。
[0061] 外部存储器400可以具体实现为易失性存储器或非易失性存储器。例如,易失性存储器可以具体实现为动态随机存取存储器(DRAM)或静态RAM(SRAM)。非易失性存储器可以具体实现为基于快闪的存储器、相变RAM(PRAM)、或磁RAM(MRAM)。
[0062] 图2是在图1中示出的系统中执行的DVFS的时序图,并且图3是用于描述图1中示出的系统的操作的流程图。参照图1到图3,根据本发明构思的示范性实施例的DVFS可以应用于上述非CPU IP。为了便于说明起见,DVFS目标硬件是存储器接口210。
[0063] 根据本发明构思的实施例,自发的DVFS或VID在第一段VID1的每个调度时间T1到T5执行。在初始时间T0,当CPU 230处于运行状态RUN中时,具有初始频率F5的第一时钟CLK1被提供给存储器接口210,并且具有与初始频率F5相对应的电平的第一操作电压PW1被提供给存储器接口210。因此,存储器接口210可以使用第一时钟信号CLK1和第一操作电压PW1进行操作。
[0064] 执行存储在SW 231中的DVFS码的CPU 230可以调度用于自发的DVFS的循环(或周期),例如,下一时间T1,并且在定时器241中设置调度时间T1。CPU 230可以编程调度时间T1和/或指示自发的DVFS需要在调度时间T1执行的第一信息。第一信息可以设置为内部变量。第一信息还可以存储在SW 231中并且在CPU 230的状态从运行状态RUN进入空闲状态IDLE之前由CPU 230访问
[0065] 中断控制器250响应于从定时器241输出的输出信号在调度时间T1生成中断。这里,处于空闲状态IDLE的CPU响应于中断被唤醒,并且唤醒的CPU 230执行DVFS码并从第一PPMU 212读取第一监视信息MT1。
[0066] 例如,参照图2和图3的流程图,CPU 230在调度时间T1中可以基于第一信息执行自发的DVFS。当CPU 230在调度时间T1处于空闲状态IDL中时,CPU 230响应于中断被唤醒,并且唤醒的CPU 230基于第一监视信息MT1确定存储器接口210的当前频率F5是否是最低频率Fmin(S110)。
[0067] 然而,当CPU 230处于运行状态RUN时,CPU 230响应于中断从第一PPMU 212读取第一监视信息MT1,并且基于第一监视信息MT1确定存储器接口210的当前频率F5是否是最低频率Fmin(S110)。
[0068] 唤醒的CPU 230可以确定当前时间是否是调度时间T1(S112)。例如,唤醒的CPU 230基于第一信息确定当前时间是否是CPU 230运行的时间(S112)。作为确定的结果,在当前时间是在调度时间T1之前时,CPU 230等待直到T1(S114)。即,自发的DVFS被推迟直到调度时间T1。
[0069] 作为在调度时间T1处的确定的结果,因为存储器接口210的当前频率F5不是最低频率Fmin,所以正在调度时间T1,即,运行时间运行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。因此,CMU 270将第一时钟CLK1的频率从F5降低到F3,并且PMIC 300将第一操作电压PW1的电平降低到相应于F3的电平。即,执行用于存储器接口210的自发的DVFS(S116)。
[0070] 作为自发的DVFS(S116)的前提,CPU 230需要处于运行状态RUN中。因此,当CPU 230处于空闲状态IDLE中时,CPU 230响应于中断被唤醒,并且CPU 230的状态改变为运行状态RUN。
[0071] CPU 230基于频率F5和F3调度用于自发的DVFS的下一DVFS时间T2,并且在定时器241中设置下一DVFS时间T2(S118)。例如,CPU 230可以在DVFS软件SW中编程调度时间T2和/或指示自发的DVFS需要在调度时间T2执行的第一信息。例如,F5可以意味着在当前时间T1处的当前频率,并且F3可以意味着在下一时间或调度时间T2处的下一频率。
[0072] 中断控制器250响应于从定时器241输出的信号在调度时间T2生成中断。CPU 230响应于中断读取存储在内部存储器231中的DVFS软件SW,并且从第一PPMU 212读取第一监视信息MT1。例如,当CPU 230处于空闲状态IDL中时,CPU 230响应于中断被唤醒,并且唤醒的CPU 230基于第一监视信息MT1确定存储器接口210的当前频率F3是否是最低频率Fmin(S110)。
[0073] 作为在调度时间T2处的确定的结果,因为存储器接口210的当前频率F3不是最低频率Fmin,所以正在调度时间T2,即,运行时间运行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。
[0074] 因此,CMU 270将第一时钟CLK1的频率从F3降低到F1,并且PMIC 300将第一操作电压PW1的电平降低到相应于F1的电平。即,用于存储器接口210的自发的DVFS被执行(S116)。
[0075] CPU 230基于频率F3和F1调度用于自发的DVFS的下一DVFS时间T3,并且在定时器241中设置下一DVFS时间T3(S118)。例如,CPU 230可以编程调度时间T3和/或指示自发的DVFS需要在调度时间T3执行的第一信息。
[0076] 例如,F3可以意味着在当前时间T2处的当前频率,并且F1可以意味着在下一时间或调度时间T3处中的下一频率。
[0077] 中断控制器250响应于从定时器241输出的信号在调度时间T3生成中断。
[0078] 因为CPU 230在调度时间T3中处于运行状态RUN,所以CPU 230响应于中断从第一PPMU 212读取第一监视信息MT1,并且基于第一监视信息MT1确定存储器接口210的当前频率F1是否是最低频率Fmin(S110)。
[0079] 作为在调度时间T3处的确定的结果,因为存储器接口210的当前频率F1不是最低频率Fmin,所以正在调度时间T3,即,运行时间运行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。因此,PMIC 300增加第一操作电压PW1的电平,并且CMU 270将第一时钟CLK1的频率从F1增加到Fmax。即,用于存储器接口210的自发的DVFS被执行(S116)。
[0080] CPU 230基于频率F1和Fmax调度用于自发的DVFS的下一DVFS时间T4,并且在定时器241中设置下一DVFS时间T4(S118)。例如,CPU 230可以编程调度时间T4和/或指示自发的DVFS需要在调度时间T4执行的第一信息。例如,F1可以意味着在当前时间T3处的当前频率,并且Fmax可以意味着在下一时间或调度时间T4处的下一频率。
[0081] 中断控制器250响应于从定时器241输出的信号在调度时间T4生成中断。
[0082] 因为CPU 230在调度时间T4处于运行状态RUN,所以CPU 230响应于中断从第一PPMU 212读取第一监视信息MT1,并且基于第一监视信息MT1确定存储器接口210的当前频率Fmax是否是最低频率Fmin(S110)。
[0083] 作为在调度时间T4处的确定的结果,因为存储器接口210的当前频率Fmax不是最低频率Fmin,所以正在调度时间T4,即,运行时间运行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。因此,CMU 270将第一时钟CLK1的频率从Fmax降低到F2,并且PMIC 300降低第一操作电压PW1。即,用于存储器接口210的自发的DVFS被执行(S116)。
[0084] CPU 230基于频率Fmax和F2调度用于自发的DVFS的下一DVFS时间T5,并且在定时器241中设置下一DVFS时间T5(S118)。例如,CPU 230可以编程调度时间T5和/或指示自发的DVFS需要在调度时间T5执行的第一信息。
[0085] 中断控制器250响应于从定时器241输出的信号在调度时间T5生成中断。
[0086] 因为CPU 230在调度时间T5中处于运行状态RUN,所以CPU 230响应于中断从第一PPMU 212读取第一监视信息MT1,并且基于第一监视信息MT1确定存储器接口210的当前频率F2是否是最低频率Fmin(S110)。
[0087] 作为确定的结果,因为存储器接口210的当前频率F2不是最低频率Fmin,所以正在调度时间T5,即,运行时间运行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。因此,CMU 270将第一时钟CLK1的频率从F2降低到Fmin,并且PMIC 300降低第一操作电压PW1。即,用于存储器接口210的自发的DVFS被执行(S116)。
[0088] CPU 230基于频率F2和Fmin调度用于非自发的DVFS的下一DVFS时间T6=TB,并且不在定时器241中设置下一DVFS时间T6(S118)。例如,CPU 230可以编程调度时间T6和/或指示非自发的DVFS需要在调度时间T6执行的第二信息。例如,第二信息可以被设置为内部变量。
[0089] 例如,在CPU 230的状态从运行状态RUN进入空闲状态IDLE之前,第二信息可以存储在内部存储器SW 231中。例如,CPU 230可以基于第一信息确定DVFS和/或DVFS方法的执行时间。
[0090] 如上所述,当在当前时间T1到T4处的当前频率不是最低频率,并且在调度时间T2到T5处的下一频率不是最低频率Fmin时,系统100可以在当前时间T1到T4执行自发的DVFS或VID,调度将在调度时间T2到T5执行的DVFS是自发的DVFS或VID,并且在定时器241中设置调度时间T2到T5。例如,调度时间可以被定义为100ms,而且是从当前时间开始经过了的时间。注意到,本领域普通技术人员将理解,如上利用给定定时、频率和电压信息与特征描述的自发的DVFS过程是示范性的以示出本发明构思的实施例,因此这种过程、信息和特征不对其进行限制性。
[0091] 参照图2示出在第二段IID2中从时间T6到T13的非自发的DVFS或IID的执行。
[0092] 定时器在每个时间T6到T13处不输出DVFS有关的输出信号,并且中断控制器250在时间T6到T12不输出中断信号。因为CPU 230从T6到T13处于空闲状态IDLE,所以DVFS从T6到T12不执行。
[0093] 然而,当中断控制器250在时间T13=TB’,例如,非调度时间生成除用于自发的DVFS的中断之外的第一中断时,CPU 230响应于第一中断被唤醒并且唤醒的CPU 230访问SW 231中的DVFS软件。SW 231中存储的DVFS可以包括调度时间T6和/或指示非自发的DVFS需要在调度时间T6执行的第二信息,CPU 230可以确定在当前时间T13将执行DVFS方法,以及基于第二信息确定当前时间T13是在调度时间T6之前还是之后。
[0094] 因为通过第一中断唤醒的CPU 230从第一PPMU 212读取第一监视信息MT1,所以基于第一监视信息MT1确定存储器接口210的当前频率Fmin是否是最低频率Fmin(S110)。
[0095] 作为确定的结果,当存储器接口210的当前频率Fmin处于最低频率(S110),并且CPU 230处于运行状态RUN(S120)时,CPU 230确定中断时间T13是否在调度时间T6之后(S124)。如果CPU 230处于运行状态RUN(S120),并且中断时间T13在调度时间T6之后(S124),则CPU 230向CMU 270输出第一控制信号CTRL1并向PMIC 300输出第二控制信号CTRL2以便控制非自发的DVFS。
[0096] 因此,PMIC 300增加第一操作电压PW1,并且CMU 270将第一时钟CLK1的频率从Fmin增加到F4。即,用于存储器接口210的非自发的DVFS被执行(S116)。
[0097] 当CPU 230在时间T13中不处于运行状态RUN时(S120),非自发的DVFS不执行直到CPU 230的状态变成运行状态RUN(S122)。如上所述,CPU 230的状态可以通过第一中断改变为运行状态。
[0098] 此外,当CPU 230不处于运行状态RUN时,非自发的DVFS的执行被推迟直到CPU 230的状态变成运行状态RUN。例如,CPU 230在调度时间T6之后从T7到T12不处于运行状态RUN中,用于存储器接口210的DVFS从时间T7到T12不被执行。例如,Fmin可以意味着在当前时间T13的当前频率,并且F4是在下一时间或调度时间T14的下一频率。如上所述,可以基于第一监视信息MT1确定当前频率和下一频率。
[0099] 在每个时间T6到T13,存储器接口210的当前频率是最低频率Fmin,并且CPU 230处于空闲状态IDLE中。因此,DVFS从T6到T12被跳过或不被调用,并且将在时间T6执行的DVFS被推迟到时间T13。即,在第二段IID2执行非自发的DVFS或IID。在第三段VID3中在时间T14执行自发的DVFS。
[0100] 在时间T13中非自发的DVFS被执行之后,CPU 230基于频率Fmin和F4调度用于自发的DVFS的下一DVFS时间T14,并且在定时器241中设置下一DVFS时间T14(S118)。例如,CPU 230可以在DVFS软件SW中编程调度时间T14和/或指示自发的DVFS需要在调度时间T14执行的第一信息。
[0101] 中断控制器25响应于从定时器241输出的信号在调度时间T14生成中断。
[0102] 当CPU 230在调度时间T14中处于运行状态RUN时,CPU 230响应于中断从第一PPMU 212读取第一监视信息MT1,并且基于第一监视信息MT1确定存储器接口210的当前频率F4是否是最低频率Fmin(S110)。
[0103] 如果确定存储器接口210的当前频率F4不是最低频率Fmin,则正在调度时间T14中执行的CPU 230向CMU 270输出第一控制信号CTRL1,并向PMIC 300输出第二控制信号CTRL2(S112)。
[0104] 因此,CMU 270将第一时钟CLK1的频率从F4降低到Fmin,并且PMIC 300降低第一操作电压PW1。即,在调度时间T14,用于存储器接口210的自发的DVFS被执行。
[0105] 执行存储在SW 231中的DVFS软件码的CPU 230可以取决于当前频率来编程调度时间T15和/或指示非自发的DVFS需要在调度时间T15中被执行的第二信息。然而,如果频率F4处于Fmin,则CPU 230不在定时器241中设置下一DVFS时间T15(S118)。因为定时器241在每个时间T15到T20不输出输出信号,所以中断控制器250在每个时间T15到T19不生成中断信号。因为CPU 230在每个时间T15到T19处于空闲状态IDLE,所以DVFS在每个时间T15到T19不被执行。
[0106] 在第四段IID4中的每个时间T15到T20,存储器接口210的当前频率是最低频率Fmin,并且CPU 230处于空闲状态IDLE中(S120)。因此,DVFS在每个时间T15到T19被跳过,并且在时间T15被执行的DVFS可以被推迟到时间T20=TC’。即,非自发的DVFS或IID可以在第四段IID4中被执行。
[0107] 当中断控制器250在时间T20生成除用于DVFS的中断之外的第一中断时,CPU 230响应于第一中断被唤醒,并且唤醒的CPU 230读取SW 231中的DVFS软件。因为DVFS软件包括调度时间T15和/或指示非自发的DVFS将在调度时间T15被执行的第二信息,所以CPU 230可以在当前时间T20确定DVFS方法以及当前时间T20是否在调度时间T15之后。
[0108] 即,通过第一中断被唤醒的CPU 230处于运行状态RUN(S120),并且当前时间T20在调度时间T15之后(S124),系统100可以执行非自发的DVFS或IID(S116)。
[0109] 从而,类似于如在第一段VID1中的时间T1到T5的描述,自发的DVFS或VID可以在第五段VID5中的每个调度时间T21到T25被执行。如参照第二段IID2中的每个时间T6到T12描述的,在第六段IID6中的调度时间T26执行非自发的DVFS或IID。
[0110] 图4是DVFS过程的示范性执行的状态图表示,并且图5是图4的状态的条件状态图。
[0111] 参照图4和图5,自发的DVFS启动初始步骤(或阶段)INP(210),例如,在初始时间T0(212)。
[0112] 当DVFS目标硬件在当前时间的当前频率和在下一时间(调度时间)中的下一频率中的每一个都不是最低频率Fmin时,执行情况1。
[0113] 例如,当在当前时间T1中的当前频率F5不是最低频率Fmin,并且在调度时间T2的下一频率F3不是最低频率Fmin时,在当前时间T1执行VID(212),并且当VID在当前时间T1结束时,调度用于VID的调度时间T2(214)。VID被阻塞并且推迟直到调度时间T2(S216)。在当前时间到达调度时间T2,即,运行时间时,假如CPU 230正在运行则根据CPU 230的控制执行VID(212)。
[0114] 作为另一示例,当在当前时间T3中的当前频率F1不是最低频率Fmin,并且在调度时间T4的下一频率Fmax不是最低频率Fmin时,在当前时间T3执行VID(212),并且当VID在当前时间T3结束时,调度用于VID的调度时间T4(S214)。VID被阻塞并且推迟直到调度时间T4(S216)。在当前时间变成调度时间T4,即,运行时间时,VID被执行(212)。
[0115] 当DVFS目标硬件在当前时间的当前频率和在调度时间的下一频率中的每一个都是最低频率Fmin时,执行情况2。
[0116] 例如,在当前时间T6中的当前频率Fmin是最低频率Fmin,并且在调度时间T7中的下一频率Fmin是最低频率Fmin时,DVFS在当前时间T6中不被执行(S218)。
[0117] 在T6之后,在下一时间T7中调度IID(220)。然而,因为CPU 230处于空闲状态IDLE,所以IID被阻塞或推迟(222)。然而,当CPU 230在时间T13中通过第一中断被唤醒,并且CPU 230的状态改变为运行状态RUN时,IID可以在时间T13中被执行(218)。
[0118] 当DVFS目标硬件在当前时间T5或T14中的当前频率不是最低频率Fmin,并且在调度时间T6或T15中的下一频率是最低频率Fmin时,执行情况3。
[0119] 例如,当VID在当前时间T5或T14中被执行时(212),IID在调度时间T6或T15中被调度(220)。因此,VID在调度时间T6或T15中被阻塞或推迟(216)。当时间T13或T20在调度时间T6或T15之后,并且CPU 230处于运行状态RUN时,IID在时间T13或T20被执行(218)。
[0120] 当DVFS目标硬件在当前时间T13或T20中的当前频率是最低频率Fmin,并且在调度时间T4或T21中的下一频率不是最低频率Fmin时,执行情况4。
[0121] 例如,在当前时间T13或T20执行IID(218)。当IID的执行完成时,VID在调度时间T14或T21被调度(214)。IID在调度时间T14或T21被阻塞或推迟,并且VID在时间T14或T21被调度(212)。
[0122] 如上所述,根据被发明构思的示范性实施例的片上系统在低功率模式中执行非自发的VDFS并且在正常操作模式中执行自发的DVFS,从而防止不必要的电力消耗。
[0123] 根据被发明构思的至少一个实施例,提供一种动态电压和频率调节(DVFS)方法,包括在第一调度时间调度执行DVFS以调整目标设备的频率或电压;监视目标设备的操作频率;以及基于目标设备的操作频率选择性地推迟在稍后调度时间DVFS的执行,其中当目标设备的操作频率等于或低于给定最低频率时推迟在下一调度时间的DVFS的执行。根据实施例,基于目标设备的操作频率,选择性地迫使CPU从空闲状态到运行状态以执行DVFS。根据另一实施例,当目标设备的操作频率等于或低于给定最低频率时,在下一调度时间不迫使空闲的CPU到运行状态以执行DVFS,其中当执行DVFS时目标设备的操作频率或被供应的电压被降低。
[0124] 虽然已经示出和描述了本一般发明构思的实施例,但是本领域技术人员将理解,可以在这些实施例中做出改变而不脱离范围由所附权利要求及其等同物所限定的本一般发明构思的原则和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈