掌桥专利:专业的专利平台
掌桥专利
首页

芯片及其功耗管理方法、电子装置

文献发布时间:2024-04-18 19:53:33


芯片及其功耗管理方法、电子装置

技术领域

本公开的实施例涉及一种芯片及其功耗管理方法和电子装置。

背景技术

随着芯片制造工艺水平的提升,例如CPU的处理器芯片的规模越来越大、运行的频率越来越快,功耗与温度成为其不可忽视的关键因素。当CPU芯片电流消耗过大或电流波动过大而超出主板与封装的供电能力上限时,将导致电压不稳,从而使CPU芯片工作出错;若大电流持续时间过长而超出主板与封装的散热能力上限时,将导致温度升高,甚至可能导致CPU芯片烧毁。当前CPU芯片通常在片上实现有自适应功耗管理系统,通过CPU芯片内部的固件与硬件协同,监测当前芯片活跃事件,自动调节芯片电流、功耗与温度。

发明内容

本公开的至少一个实施例提供了一种芯片,该芯片包括:数据总线和控制总线;多个功能模块,分别配置为连接到所述数据总线和所述控制总线,并且通过所述数据总线进行数据传输;分布式功耗与温度监测网络,分布在所述芯片中且配置为收集所述芯片的活动数据和温度数据;功耗管理处理单元,配置为通过所述控制总线接收所述活动数据与所述温度数据,基于所述活动数据与所述温度数据计算所述芯片的功耗数据,并且基于所述功耗数据来输出调节所述多个功能模块与所述数据总线之间的数据传输带宽的控制信号;以及多个节流开关,配置为基于所述控制信号来分别调节所述多个功能模块与所述数据总线之间的数据传输带宽。

例如,在至少一个实施例的芯片中,所述多个功能模块包括处理器核、主存控制器、外设控制器、芯粒连接器中的一个或多个。

例如,在至少一个实施例的芯片中,所述活动数据包括所述多个功能模块各种的操作次数的多个计数。

例如,在至少一个实施例的芯片中,所述分布式功耗与温度监测网络包括分布在所述多个功能模块的多个计数器,被进一步配置为,通过所述多个计数器对所述多个功能模块各自的操作分别进行计数,以及通过所述控制总线收集与统计所述多个功能模块各自的操作的计数值。

例如,在至少一个实施例的芯片中,所述分布式功耗与温度监测网络还包括设置在所述芯片中的一个或多个温度传感器以收集所述芯片的温度数据。

例如,在至少一个实施例的芯片中,所述功耗管理处理单元还被配置为对所述分布式功耗与温度检测网络进行配置,包括:指定需要检测的功能模块;指定需要使能的计数器;以及指定需要检测的温度传感器。

例如,在至少一个实施例的芯片中,所述功耗管理处理单元被进一步配置为,统计所述芯片在当前之前一段时间内的活动的种类与数目以及实时温度,以及基于所述芯片在所述实时温度下的不同种类的活动的功耗权重,计算出所述芯片的当前功耗值。

例如,在至少一个实施例的芯片中,所述多个节流开关分别设置在所述多个功能模块和所述数据总线之间。

例如,在至少一个实施例的芯片中,所述多个节流开关每个包括使能寄存器、节流数目寄存器和节流控制阀门,所述使能寄存器基于所述功耗数据而被使能或不使能,所述节流数目寄存器基于所述使能寄存器是否被使能而向所述节流控制阀门发送节流控制数目信号,所述节流控制阀门基于所述节流控制数目信号来分别调节所述多个功能模块与所述数据总线之间的数据传输带宽。

例如,在至少一个实施例的芯片中,所述功耗管理处理单元被进一步配置为对被选择的节流开关执行以下操作:对所述节流数目寄存器进行配置,其中,所述节流数目寄存器包括用于功耗未超标时的节流数目的第一寄存器和用于功耗超标时的节流数目的第二寄存器;当芯片功耗未超标时,将所述使能寄存器配置为不使能,并且所述节流控制阀门收到的节流控制数目N等于所述第一寄存器的配置值;以及当所述芯片功耗超标时,将所述使能寄存器配置为使能,并且所述节流控制阀门收到的节流控制数目N等于所述第二寄存器的配置值。所述节流控制阀门配置为基于节流控制数目N来调节经过所述被选择的节流开关的数据传输带宽,N为大于或等于0的整数。

例如,在至少一个实施例的芯片中,当所述功能模块为处理核时,对于用于所述处理核的节流开关,所述节流控制数目为访存指令节流数目,所述节流控制阀门收到所述处理核的访存指令数目为M,并且所述节流控制阀门放行到所述数据总线上的访存指令数目为M-N,其中,N为大于或等于0的整数,M为大于或等于0的整数,当N大于或等于M时,访存指令数目取0。

例如,在至少一个实施例的芯片中,当所述功能模块为主存控制器时,对于用于所述主存控制器的节流开关,所述节流控制数目为访存指令节流数目,所述节流控制阀门收到所述数据总线的访存请求数目为M,并且所述节流控制阀门允许所述数据总线对所述主存控制器的访存请求数目为M-N,其中,N为大于或等于0的整数,M为大于或等于0的整数,当N大于或等于M时,访存请求数目取0。

例如,在至少一个实施例的芯片中,当所述功能模块为芯粒连接器时,对于用于所述芯粒连接器的节流开关,所述节流控制数目为跨芯粒数据请求节流数目,所述节流控制阀门收到所述芯粒连接器的数据请求数目为M,并且所述节流控制阀门放行到所述数据总线的数据请求数目为M-N,其中,N为大于或等于0的整数,M为大于或等于0的整数,当N大于或等于M时,数据请求数目取0。

例如,在至少一个实施例的芯片中,所述第一寄存器的值和所述第二寄存器的值相同或不同。

例如,在至少一个实施例的芯片中,所述功耗管理处理单元还被配置为基于不同的功能模块与所述数据总线之间的数据通路的优先级配置不同的带宽。

本公开的至少一个实施例提供了一种电子装置,该电子装置包括如上任一实施例所述的芯片。

本公开的至少一个实施例提供了一种芯片的功耗管理方法,包括:由分布在所述芯片中的分布式功耗与温度监测网络收集所述芯片的活动数据和温度数据,并通过控制总线将所述活动数据与所述温度数据发送给功耗管理处理单元;由功耗管理处理单元基于所述活动数据与所述温度数据计算所述芯片的功耗数据,并且基于所述功耗数据来输出调节多个功能模块与数据总线之间的数据传输带宽的控制信号;以及由多个节流开关基于所述控制信号来分别调节所述多个功能模块与所述数据总线之间的数据传输带宽。

例如,在至少一个实施例的功耗管理方法中,所述的功耗管理方法还包括:由所述分布式功耗与温度监测网络通过多个计数器对所述多个功能模块各自的操作分别进行计数,以及通过所述控制总线收集与统计所述多个功能模块各自的操作的计数值,其中,所述多个功能模块包括处理器核、主存控制器、外设控制器、芯粒连接器中的一个或多个,所述活动数据包括所述多个功能模块各种的操作次数的多个计数,所述分布式功耗与温度监测网络包括分布在所述多个功能模块的多个计数器。

例如,在至少一个实施例的功耗管理方法中,所述的功耗管理方法还包括:由所述功耗管理处理单元统计所述芯片在当前之前一段时间内的活动的种类与数目以及实时温度,以及基于所述芯片在所述实时温度下的不同种类的活动的功耗权重,计算出所述芯片的当前功耗值。

例如,在至少一个实施例的功耗管理方法中,由多个节流开关基于所述控制信号来分别调节所述多个功能模块与所述数据总线之间的数据传输带宽,包括:由所述功耗管理处理单元对分别设置在所述多个功能模块和所述数据总线的所述多个节流开关中被选择的节流开关执行以下操作:

对所述被选择的节流开关的节流数目寄存器进行配置,其中,所述节流数目寄存器包括用于功耗未超标时的节流数目的第一寄存器和用于功耗超标时的节流数目的第二寄存器,所述第一寄存器的值和所述第二寄存器的值相同或不同,

当所述芯片功耗未超标时,将所述被选择的节流开关的使能寄存器配置为不使能,并且所述被选择的节流开关的节流控制阀门收到的节流控制数目N等于所述第一寄存器的配置值,

当所述芯片功耗超标时,将所述使能寄存器配置为使能,并且所述被选择的节流开关的节流控制阀门收到的节流控制数目N等于所述第二寄存器的配置值,

使所述节流控制阀门基于所述节流控制数目N来调节经过所述被选择的节流开关的数据传输带宽,N为大于或等于0的整数。

例如,在至少一个实施例的功耗管理方法中,所述功耗管理方法还包括:由所述功耗管理处理单元基于不同的功能模块与所述数据总线之间的数据通路的优先级配置不同的带宽。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。

图1示出了示例性的芯片的架构图。

图2示出了位于内核与数据总线接口处的节流开关的架构图。

图3示出了位于主存控制器与数据总线接口处的节流开关的架构图。

图4示出了位于芯粒连接器与数据总线接口处的节流开关的架构图。

图5示出了本公开的至少一实施例提供的一种芯片的功耗管理方法。

图6示出了本公开的至少一实施例提供的一种电子装置的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

目前,在通过调节频率的方式来降低系统性能与功耗的情况下,芯片电路中的时钟频率通常由锁相环(PLL)等模拟电路产生。锁相环降低频率时需要较长的调节时间(例如,微秒级)才能稳定频率输出,且芯片中各种数据缓存与异步接口设计,往往对时钟频率有特定要求,调节其时钟频率前需要多种准备工作与配置更改,才能保障其正常功能不因频率变更而出错。为了给频率调节留出足够的调节时间,往往需要设置较低的调节阈值,在电流消耗超出供电能力或功耗超出散热能力之前的较长时间就需要开始降低芯片频率与性能,给供电能力与散热能力留出较多冗余的安全边际。但是,这造成性能浪费。当供电高峰缓解,CPU芯片需要回复性能时,PLL提升频率也需要较长的调节时间(例如,微秒级)才能稳定频率输出。因为频率调节时间较长,使用调频机制来降低功耗与稳定供电,适用于CPU负载变化不剧烈的场景,因此不适合作为电压突发剧烈波动的场景下的应急机制。

此外,一部分系统时钟如数据总线时钟往往是全局性时钟,对其降频将无差别影响所有数据通路的带宽与吞吐量,使得高优先级的数据传输与低优先级的数据传输都将同时受到影响,从而不能针对性的分配功耗给高优先级的数据传输任务。

本公开的发明人在研究中提出,为了提升电流调节的响应速度,可以通过限制CPU芯片片内指定的数据通路的带宽,在数据总线入口与出口上设置节流开关,降低SOC内指定的数据通路的数据吞吐量,从而迅速降低SOC功耗与散热。该技术方案无需调整时钟频率,配置简单且生效迅速,响应时间与退出时间可以均为纳秒级,适合作为电压突发剧烈波动的场景下的应急机制,且可针对不同数据传输通路的节流开关设置不同的阈值,对不同优先级的数据通路分配不同的功耗占比。

基于上述理解,本公开的至少一实施例提供了一种芯片,该芯片包括:数据总线和控制总线、多个功能模块、分布式功耗与温度监测网络、功耗管理处理单元、多个节流开关。多个功能模块分别配置为连接到数据总线和控制总线,并且通过数据总线进行数据传输;分布式功耗与温度监测网络分布在芯片中且配置为收集芯片的活动数据和温度数据;功耗管理处理单元配置为通过控制总线接收活动数据与温度数据,基于活动数据与温度数据计算芯片的功耗数据,并且基于功耗数据来输出调节多个功能模块与数据总线之间的数据传输带宽的控制信号;多个节流开关配置为基于控制信号来分别调节多个功能模块与数据总线之间的数据传输带宽。

本公开的上述实施例所提供的芯片可以针对不同数据通路有针对性的调节带宽,从而在优先保障高优先级数据传输的性能与延时的前提下快速调节芯片功耗。

本公开的至少一实施例还提供了一种对应于上述芯片的功耗管理方法和包括上述芯片的电子装置。

上述实施例的功耗管理方法和电子装置的技术效果与上述芯片的技术效果相同。

下面将结合具体示例对本公开的各个实施例进行说明。

图1示出了根据本公开至少一实施例的示例性的芯片的架构图。如图1所示,该芯片可以包括数据总线101和控制总线102、多个功能模块、分布式功耗与温度监测网络103、功耗管理处理单元104和多个节流开关中。

如图1所示,例如,多个节流开关可以包括节流开关201、202、203和204,多个功能模块可以包括内核108、芯粒连接器105、主存控制器106和外设控制器107等,其中,内核108、芯粒连接器105、主存控制器106或外设控制器107可以为任意合适的数量。同时,该系统例如为多个内核108分别提供私有缓存(例如一级(L1)缓存),另外还可以提供可被多个内核108共享的共享缓存(最后级缓存(LLC))。

如图1所示,芯片可以具有N(N为大于或等于1的整数)个内核108、芯粒连接器105、主存控制器106或外设控制器107。这里,内核108指芯片中的处理器核,以作为运算核心,例如,内核108可以具有多种可能的架构,例如X86、ARM、RISC-V等;芯粒(die)是指不同功能或不同工艺的小芯片裸片,可以互联后一起封装构成芯片系统;芯粒连接器105是指用来将芯粒互联在一起的连接技术,通常使用高速的串并转换器(Serdes)PHY进行,并遵循一套特定的数据传输协议,业界常见的标准有UCIE(Universal Chiplet Interconnect Express);主存控制器106用于挂载系统内存,即系统内存通过该主存控制器106接入到芯片;外设控制器107可以用于挂载存储介质,例如硬盘、网络接口等。

如图1所示,多个功能模块分别连接到数据总线101和控制总线102,并且通过数据总线101进行数据等的传输,通过控制总线102进行地址和控制信息等的传输。例如,内核108、芯粒连接器105、主存控制器106和外设控制器107分别连接到数据总线101和控制总线102,内核108、芯粒连接器105、主存控制器106和外设控制器107彼此之间可以通过数据总线101和控制总线102进行通信,执行大量的数据、地址、控制信号的传输。

例如,在至少一个实施例中,分布式功耗与温度监测网络103分布在芯片中且配置为收集芯片的活动数据和温度数据。例如,分布式功耗与温度监测网络103还包括设置在芯片中的一个或多个温度传感器以收集芯片的温度数据。例如,对于分布式功耗与温度监测网络103,可以在多个功能模块中的每处设置与其对应的一个或多个温度传感器,一个或多个温度传感器可以耦接到控制总线102,并且一个或多个温度传感器通过控制总线102将测得的温度信息发送给例如功耗管理处理单元104。在至少一个示例中,功耗管理处理单元可以是功耗管理微处理器,例如功耗管理微处理器包括已进行配置的固件。本公开的实施例对于温度传感器的类型、构造等不作限制。

例如,在至少一个实施例中,分布式功耗与温度监测网络103还包括分布在多个功能模块的多个计数器。例如,每个功能模块可以布置有一个或多个计数器,计数器在芯片有活动时自动计数以获得芯片的活动数据,活动数据通过控制总线被定期收集起来。例如,计数器可以统计芯片中不同活动的种类和次数。例如,这里所提及的“活动”是指芯片内任何操作,不同的IP或模块功能不同,其“活动”也就不同。例如,内核108的操作或活动可以是加减乘除操作、取指操作、译码操作等,主存的操作或活动通常是读写数据的各种命令。总线的操作是各种方向的数据传输。例如,不同操作单次产生的功耗可能相同或不同,即,在特定的芯片温度下,所述芯片中的不同模块进行的不同操作可能具有相同或不同的功耗,不同功能模块的不同操作或同一功能模块内不同的操作的功耗权重值可以相同或不同。本公开的实施例对于计数器的类型、构造等不作限制。

例如,在至少一个实施例中,分布式功耗与温度监测网络103被进一步配置为,通过多个计数器对多个功能模块各自的操作分别进行计数,以及通过控制总线102收集与统计多个功能模块各自的操作的计数值。

例如,在至少一个实施例中,功耗管理处理单元104配置为通过控制总线接收活动数据与温度数据,基于活动数据与温度数据计算芯片的功耗数据,并且基于功耗数据来输出调节多个功能模块与数据总线之间的数据传输带宽的控制信号。

例如,在至少一个实施例中,可以首先在对上述芯片进行仿真与测试时可以得到不同温度下一段时间内的功耗值,并统计该功耗值对应的一段时间内的芯片活动种类与数目,计算得到每种活动对应的功耗权重并存入芯片的例如非易失性存储空间,在芯片实际使用过程中,功耗管理处理单元104便可以统计最近一段时间内不同活动的种类与数目,结合其功耗权重,从而计算出芯片的当前功耗值。

例如,在至少一个实施例中,可以通过EDA工具预估出芯片的功耗,也可以在芯片上实测得到功耗,同时可以通过片上的计数器得到各种活动的数量。例如,针对不同的场景(例如,不同的应用)测量芯片的不同功耗值,不同种类的活动计数可能不同,可以通过不同场景下芯片的功耗值、活动种类以及活动计数建立多元一次方程,对该多元一次方程进行求解,再对求解后的值进行归一化处理,即可得到每种活动的功耗权重。

例如,在至少一个实施例中,多个节流开关分别对应设置在多个功能模块和数据总线之间。例如,多个节流开关配置为基于控制信号来分别调节多个功能模块与数据总线101之间的数据传输带宽。例如,当功耗超过特定阈值时,功耗管理处理单元104即采取调节措施,通过不同的节流开关来限制不同通路的数据传输率,从而达到管控功耗的目的。

例如,在至少一个实施例中,功耗管理处理单元104还被配置为对分布式功耗与温度检测网络103进行配置,例如,这些进行配置的操作包括:指定需要检测的功能模块;指定需要使能的计数器;以及指定需要检测的温度传感器。例如,功耗管理处理单元104可以根据实际需要选择特定的一个或多个功能模块进行检测,并对需要检测的功能模块进行计数器使能(Enable),从而获得需要检测的功能模块的各种操作的计数值。例如,功耗管理处理单元104可以根据实际需要选择特定的一个或多个温度传感器进行温度检测,以获得例如芯片的实时温度值。

图2示出了根据至少一个示例的位于内核108与数据总线101接口处的节流开关201的架构图。图3示出了根据至少一个示例的位于主存控制器106与数据总线101接口处的节流开关203的架构图。图4示出了根据至少一个示例的位于芯粒连接器105与数据总线101接口处的节流开关202的架构图。

例如,在至少一个实施例中,多个节流开关中的每个包括使能寄存器、节流数目寄存器和节流控制阀门。使能寄存器基于功耗数据而被使能或不使能,节流数目寄存器基于使能寄存器是否被使能而向节流控制阀门发送节流控制数目信号,节流控制阀门基于节流控制数目信号来分别调节多个功能模块与数据总线之间的数据传输带宽,其中,节流数目寄存器包括用于功耗未超标时的节流数目的第一寄存器和用于功耗超标时的节流数目的第二寄存器。

例如,如图2所示的节流开关201的示例性结构中,使能寄存器可以是功耗超标触发节流的使能寄存器301,第一寄存器可以是功耗未超标时的节流数目寄存器302,第二寄存器可以是功耗超标时的节流数目寄存器303,并且节流控制阀门可以是访存指令发射阈门304。功耗超标触发节流的使能寄存器301可以基于功耗数据而被使能或不使能,功耗超标时的节流数目寄存器303或功耗未超标时的节流数目寄存器302可以基于功耗超标触发节流的使能寄存器301是否被使能而向访存指令发射阈门304发送节流控制数目信号。访存指令发射阈门304基于节流控制数目信号来调节内核与数据总线101之间的数据传输带宽。

虽然图2中示出了节流开关201位于内核108的外围,但本公开的实施例不限于此。例如,节流开关201也可以位于内核108的内部。

例如,如图3所示的节流开关203的示例性结构中,使能寄存器可以是功耗超标触发节流的使能寄存器401,第一寄存器可以是功耗未超标时的节流数目寄存器402,第二寄存器可以是功耗超标时的节流数目寄存器403,并且节流控制阀门可以是访存命令接收阈门404。功耗超标触发节流的使能寄存器401可以基于功耗数据而被使能或不使能,功耗超标时的节流数目寄存器403或功耗未超标时的节流数目寄存器402可以基于功耗超标触发节流的使能寄存器401是否被使能而向访存命令接收阈门404发送节流控制数目信号。访存命令接收阈门404基于节流控制数目信号来调节主存控制器106与数据总线101之间的数据传输带宽。

虽然图3中示出了节流开关203位于主存控制器106的外围,但本公开的实施例不限于此。例如,节流开关203也可以位于主存控制器106的内部。

例如,如图4所示的节流开关202的示例性结构中,使能寄存器可以是功耗超标触发节流的使能寄存器501,第一寄存器可以是功耗未超标时的节流数目寄存器502,第二寄存器可以是功耗超标时的节流数目寄存器503,并且节流控制阀门可以是数据请求接收阈门504。功耗超标触发节流的使能寄存器501可以基于功耗数据而被使能或不使能,功耗超标时的节流数目寄存器503或功耗未超标时的节流数目寄存器502可以基于功耗超标触发节流的使能寄存器501是否被使能而向数据请求接收阈门504发送节流控制数目信号。数据请求接收阈门504基于节流控制数目信号来调节芯粒连接器105与数据总线101之间的数据传输带宽。

虽然图4中示出了节流开关202位于芯粒连接器105的外围,但本公开的实施例不限于此。例如,节流开关202也可以位于芯粒连接器105的内部。

例如,在至少一个实施例中,功耗管理处理单元104被进一步配置为对被选择的节流开关执行以下操作:对节流数目寄存器进行配置,当芯片功耗未超标时,将使能寄存器配置为不使能(例如,使能寄存器的值为0),并且节流控制阀门收到的节流控制数目N等于第一寄存器的配置值,以及当芯片功耗超标时,将使能寄存器配置为使能(例如,使能寄存器的值为1),并且节流控制阀门收到的节流控制数目N等于第二寄存器的配置值。

例如,如图2所示,当对芯片上电后,功耗管理处理单元可以通过控制总线102,先将功耗未超标时的节流数目寄存器302和功耗超标时的节流数目寄存器303配置为具有相同或不同的值,然后可通过控制总线102从分布式功耗与温度监测网络103收集芯片活动数据与温度数据,并以此计算芯片的实时功耗。

例如,如图3所示,当对芯片上电后,功耗管理处理单元104可以通过控制总线102,先将功耗未超标时的节流数目寄存器402和功耗超标时的节流数目寄存器403配置为具有相同或不同的值,然后可通过控制总线102从分布式功耗与温度监测网络103收集芯片活动数据与温度数据,并以此计算芯片的实时功耗。

例如,如图4所示,当对芯片上电后,功耗管理处理单元104可以通过控制总线102,先将功耗未超标时的节流数目寄存器502和功耗超标时的节流数目寄存器503配置为具有相同或不同的值,然后可通过控制总线102从分布式功耗与温度监测网络103收集芯片活动数据与温度数据,并以此计算芯片的实时功耗。

例如,当芯片的实时功耗未超标时,功耗管理处理单元104将功耗超标触发节流的使能寄存器配置为不使能,此时节流控制阀门收到的节流控制数目N等于功耗未超标时的节流数目寄存器的配置值;当芯片的实时功耗超标时,功耗管理处理单元104将功耗超标触发节流的使能寄存器配置为使能,此时节流控制阀门收到的节流控制数目N等于功耗超标时的节流数目寄存器的配置值。

例如,节流控制阀门配置为基于节流控制数目N来调节经过被选择的节流开关的数据传输带宽,N为大于或等于0的整数。

例如,如图2所示,在至少一个实施例中,例如,当功能模块为内核108时,对于用于内核108的节流开关201,节流控制数目为访存指令节流数目,访存指令发射阀门304收到内核108的访存指令数目为M,并且访存指令发射阀门304放行到数据总线101上的访存指令数目为M-N,其中,N为大于或等于0的整数,M为大于或等于零的整数,当N大于或等于M时,M-N取0,即节流控制阀门不放行任何访存指令到数据总线上。

例如,如图3所示,在至少一个实施例中,例如,当功能模块为主存控制器106时,对于用于主存控制器106的节流开关203,节流控制数目为访存指令节流数目,访存指令接收阀门404收到数据总线101的访存请求数目为M,并且访存指令接收阀门404允许数据总线101对主存控制器106的访存请求数目为M-N,其中,N为大于或等于0的整数,M为大于或等于零的整数,当N大于或等于M时,M-N取0,即节流控制阀门不放行任何访存指令到主存控制器。

例如,如图4所示,在至少一个实施例中,例如,当功能模块为芯粒连接器105时,对于用于芯粒连接器105的节流开关202,节流控制数目为跨芯粒数据请求节流数目,数据请求接收阀门504收到芯粒连接器105的数据请求数目为M,并且数据请求接收阀门504放行到数据总线101的数据请求数目为M-N,其中,N为大于或等于0的整数,M为大于或等于零的整数,当N大于或等于M时,M-N取0,即节流控制阀门不放行任何来自芯粒连接器的请求进入当前芯粒。

例如,在至少一个实施例中,功耗管理处理单元104还被配置为基于不同的功能模块与数据总线101之间的数据通路的优先级配置不同的带宽。例如,内核108的性能对访存延时非常敏感,通常会给内核108的通路预留较大带宽;例如,外设在系统中重要性通常较低,且原本就延时就较大,系统性能对外设延时不太敏感,在功耗过高时,通常优先考虑限制外设的访存带宽,给外设分配较低的功耗占比。

例如,功耗管理单元104通过预先配置的节流控制数目N对相应的功能模块与数据总线101的带宽进行限制,节流控制数目N的数值可以通过固件来动态调整,固件可以定义不同的芯片功耗状态P0、P1和P2等等,不同状态下不同模块的节流控制数目N值的组合不同,在不同的温度下触发不同的状态跳转。

例如,在P0状态下,所有模块的节流控制数目N值被配置为0即可,不限制任何模块的带宽,性能优先,功耗最大。例如,在P1状态下,可以限制部分外设的带宽,将其节流控制数目N值配置为一个正数,此时内核和主存的优先级高于外设。当P0状态下出现温度过高,固件即触发CPU芯片进入P1状态,外设的带宽降低,从而节约部分功耗降低温度。例如,在P2状态下,可以同时限制外设、内核和主存的带宽,对性能影响最大,但功耗也最小。

本公开的一个或多个实施例不限于上述设置方式,各种状态组合和节流控制数目N值的定义不限于上述的几种,在本公开的基础上,可以根据实际情况选择限制或不限制特定功能模块的带宽,并且可以根据芯片的不同功耗状态对特定的功能模块的带宽进行不同程度的限制。

例如,在至少一个实施例中,提供了一种对应上述芯片的功耗管理方法,如上所述,芯片包括多个功能模块、分布式功耗与温度监测网络103、功耗管理处理单元104和多个节流开关。

图5示出了根据本公开至少一实施例的芯片的功耗管理方法的流程图。如图5所示,该功耗管理方法100包括如下步骤S101~S103:

步骤S101:由分布在芯片中的分布式功耗与温度监测网络收集芯片的活动数据和温度数据,并通过控制总线将活动数据与温度数据发送给功耗管理处理单元;

步骤S102:由功耗管理处理单元基于活动数据与温度数据计算芯片的功耗数据,并且基于功耗数据来输出调节多个功能模块与数据总线之间的数据传输带宽的控制信号;以及

步骤S103:由多个节流开关基于控制信号来分别调节多个功能模块与数据总线之间的数据传输带宽。

例如,同样参照图1至图5,对于上述步骤S101,由分布在芯片中的分布式功耗与温度监测网络103收集芯片的活动数据和温度数据,并通过控制总线102将活动数据与温度数据发送给功耗管理处理单元104。步骤S101可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于分布式功耗与温度监测网络103、控制总线102、功耗管理处理单元104等的描述。

例如,同样参照图1至图5,对于上述步骤S102,由功耗管理处理单元104基于活动数据与温度数据计算芯片的功耗数据,并且基于功耗数据来输出调节多个功能模块与数据总线101之间的数据传输带宽的控制信号。步骤S102可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于功耗管理处理单元104、多个功能模块、数据总线101等的描述。

例如,同样参照图1至图5,对于上述步骤S103,由多个节流开关基于控制信号来分别调节多个功能模块与数据总线101之间的数据传输带宽。步骤S103可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于多个节流开关、多个功能模块、数据总线101等的描述。

例如,在至少一个实施例的功耗管理方法中,功耗管理方法还包括:由分布式功耗与温度监测网络103通过多个计数器对多个功能模块各自的操作分别进行计数,以及通过控制总线102收集与统计多个功能模块各自的操作的计数值。该方法可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于分布式功耗与温度监测网络103、多个计数器、多个功能模块、控制总线102等的描述。

例如,在至少一个实施例的功耗管理方法中,由功耗管理处理单元104执行以下操作:指定需要检测的功能模块;指定需要使能的计数器;以及指定需要检测的温度传感器。上述操作可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于功耗管理处理单元104等的描述。

例如,在至少一个实施例的功耗管理方法中,功耗管理方法还包括:由功耗管理处理单元104统计芯片在当前之前一段时间内的活动的种类与数目以及实时温度,以及基于芯片在实时温度下的不同种类的活动的功耗权重,计算出芯片的当前功耗值。该方法可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于功耗管理处理单元104等的描述。

例如,在至少一个实施例的功耗管理方法中,功耗管理方法还包括:由功耗管理处理单元104基于不同的功能模块与数据总线101之间的数据通路的优先级配置不同的带宽。该方法可以由上述芯片实现,具体说明可以参考上述芯片的实施例中对于功耗管理处理单元104、功能模块、数据总线101等的描述。

本公开的上述实施例所提供的功耗管理方法可以针对不同数据通路有针对性的调节带宽,从而在优先保障高优先级数据传输的性能与延时的前提下快速调节芯片功耗。

例如,在至少一个实施例中,本公开还提供了一种电子装置,该电子装置包括如上所述的任一实施例的芯片。

图6为本公开至少一个实施例提供的一种电子装置的示意图。本公开实施例中的电子装置可以为但不限于诸如笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)等的移动终端以及诸如台式计算机等固定终端。

图6示出的电子装置1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。例如,如图6所示,在一些示例中,电子装置1000包括处理装置1001,该处理装置包括根据本公开任一实施例的芯片,该处理装置1001可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理,例如本公开的至少一实施例的功耗管理方法。在RAM 1003中,还存储有计算机系统操作所需的各种程序和数据。处理装置1001、ROM1002以及RAM 1003通过总线1004被此相连。输入/输出(I/O)接口1005也连接至总线1004。

例如,以下外设可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括诸如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;例如还可以包括诸如LAN卡、调制解调器等的网络接口卡的通信装置1009。通信装置1009可以允许电子装置1000与其他设备进行无线或有线通信以交换数据,经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸存储介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储装置1008。

虽然图6示出了包括各种装置的电子装置1000,但是应理解的是,并不要求实施或包括所有示出的装置,例如,可以替代地实施或包括更多或更少的装置。

例如,该电子装置1000还可以进一步包括外设接口(图中未示出)等。该外设接口可以为各种类型的接口,例如USB接口、闪电(lighting)接口等。该通信装置1009可以通过无线通信来与网络和其他设备进行通信,该网络例如为因特网、内部网和/或诸如蜂窝电话网络之类的无线网络、无线局域网(LAN)和/或城域网(MAN)。无线通信可以使用多种通信标准、协议和技术中的任何一种,包括但不局限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi(例如基于IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n标准)、基于因特网协议的语音传输(VoIP)、Wi-MAX,用于电子邮件、即时消息传递和/或短消息服务(SMS)的协议,或任何其他合适的通信协议。

本公开的上述实施例提供的芯片、电子装置以及芯片的功耗管理方法的技术效果均可以通过节流开关来调节芯片内连接功能模块与数据总线的传输通道的带宽,调节芯片内数据总线和与不同功能模块的数据吞吐量,从而迅速调节芯片的功耗与散热。

对于本公开,还有以下几点需要说明:

(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。

(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。

以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

相关技术
  • 基于环境温度进行芯片功耗调节的存储装置
  • 芯片功耗的调节方法、电路与装置
  • 芯片的低功耗系统、低功耗管理方法、控制装置及存储介质
  • 芯片时钟管理方法、装置及芯片、电子设备
技术分类

06120116337513