一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于处理器的功率优化定时器模块的制作方法

2022-11-23 07:23:33 来源:中国专利 TAG:


1.本公开涉及用于处理器的功率优化定时器模块。


背景技术:

2.嵌入式系统经常使用通用的、可配置的定时器来驱动周期性事件。在许多情况下,功能上不要求这些事件必须相互同步,并且它们可能不需要以精确的节奏发生。嵌入式系统也被针对低功率消耗进行了优化,因此它们可能在定时器驱动的事件之间进入低功率状态。当处理器(例如,中央处理单元(central processing unit,cpu))尽可能长时间地保持在低功率状态中,并且只唤醒来做成批的工作,而不是唤醒来做每个个体工作时,可以实现最优的系统行为。当通用的、非同步的定时器(通常存在于微控制器中,并且是作为cpu外设的知识产权块提供的)被用来为系统事件定时时,嵌入式系统的唤醒频次可能超过必要频次。


技术实现要素:

3.根据本公开的一方面,提供了一种用于功率优化定时器电路的装置,所述装置包括:处理器电路,来执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将所述多个参数提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数对多个定时器事件进行分批。
4.根据本公开的一方面,提供了一种用于功率优化定时器电路的装置,所述装置包括:处理器电路,来执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将所述多个参数提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数和若干个定时器事件的最小唤醒时段按定期时间间隔对多个定时器事件进行分批。
5.根据本公开的一方面,提供了一种具有功率优化定时器电路的系统,所述系统包括:存储器;与所述存储器耦合的处理器电路;与所述处理器电路通信地耦合的无线接口,其中所述处理器电路用于执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将所述多个参数提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数和若干个定时器事件的最小唤醒时段按定期时间间隔对多个定时器事件进行分批。
附图说明
6.通过以下给出的详细描述并且通过本公开的各种实施例的附图,将更充分理解本公开的实施例,然而详细描述和附图不应当被理解为将本公开限制到特定实施例,而只是用于说明和理解的。
7.图1图示了一种典型的系统,其中处理器(cpu)唤醒精确地发生在要求事件时。
8.图2a根据一些实施例图示了功率优化定时器模块的初始化过程的流程图。
9.图2b根据一些实施例图示了功率优化定时器模块的运行时过程的流程图。
10.图3根据一些实施例图示了用于功率优化定时器的系统体系结构。
11.图4根据一些实施例图示了具有优化定时器的优化系统行为。
12.图5根据一些实施例图示了具有功率优化定时器的片上系统(soc)。
具体实施方式
13.一些实施例描述了一种定时器知识产权(intellectual property,ip)块,当它被给予关于对周期性事件的要求的细节(例如,它们必须大致以何种频次发生,它们不发生得太频繁或太不频繁是否很重要,长期平均的事件总数是否很重要,等等)时,该定时器ip块自动确定cpu将被唤醒以为这些周期性事件服务的间隔。一些实施例描述了一种硬件机制,它将细节从固件实现中抽象出来,并且允许cpu在必要时唤醒。在一些实施例中,对于固件必须处理的每个周期性事件,ip提供接口来注册该事件的细节。这个接口是应用编程接口(application programming interface,api)。该api包括大致事件时段(例如,时间的范围)、到达偏好(例如,晚、早、无偏好)、长期数量要求(例如,真或假)的字段。在一些实施例中,固件在系统配置期间配置其要求的所有事件,虽然有可能在运行时添加、去除或修改个体事件。
14.在运行时,每当基于批处理算法需要处理一个或多个事件时,优化定时器ip将中断cpu。cpu将被呈现以一个接口,表明哪些事件需要被处理。当cpu完成了对这些事件的处理时,它将向该接口写回以表明这些事件已完成。批处理算法将中断cpu以进行事件处理,其时段等于最频繁事件(t
min
)。在那时,它将考虑是否有任何其他事件也应当被呈现给cpu接口以便处理。或者,基于定时器的中断可以被基于事件的异步中断所替代,这将导致不规则的唤醒时段,这取决于生成中断的异步事件。对于没有按最小时段(t
min
)操作的事件,如果以下条件为真,则它们将被呈现给cpu:事件时段将在下一个t
min
时段期满之前期满,并且到达偏好没有被设置为晚;事件时段已经期满;和/或长期平均显示出要求更多的事件。
15.各种实施例有许多技术效果。例如,独立固件模块(它们可能与彼此没有关系并且可能都要求来自周期性定时器的服务)可以不需要为最优系统行为而被耦合。这些独立的固件模块可以简单地向定时器ip注册其要求,并且它将决定中断间隔来优化系统行为。本文描述的方案导致了固件复杂性的降低,这进一步导致了更快的上市时间和更少的缺陷。其他技术效果将从各种附图和实施例中清楚显现。
16.在接下来的描述中,论述了许多细节以提供对本公开的实施例的更透彻说明。然而,本领域技术人员将会清楚,没有这些具体细节也可以实现本公开的实施例。在其他情况下,以框图形式而不是详细示出公知的结构和设备,以避免模糊本公开的实施例。
17.注意,在实施例的相应附图中,用线条来表示信号。一些线条可能更粗,以指示出更多的构成信号路径,和/或在一端或多端具有箭头,以指示出主信息流方向。这种指示并不打算是限制性的。更确切地说,这些线条与一个或多个示范性实施例被联合使用来帮助更容易理解电路或逻辑单元。由设计需要或偏好决定的任何所表示的信号可实际上包括可在任一方向上行进并且可利用任何适当类型的信号方案来实现的一个或多个信号。
18.图1图示了一种典型的系统100,其中处理器(cpu)唤醒精确地发生在要求事件时。系统100示出了在各种时间被触发的若干个事件(例如,事件a、事件b和事件c)。对于每个事
件,系统100唤醒来处理该事件。由于频繁的唤醒,系统100将很难实现低功率消耗,并且很难为系统100调节功率策略。
19.图2a根据一些实施例图示了功率优化定时器模块的初始化过程的流程图200。这里,y轴是从上到下增大的时间,而x轴示出了过程流程。虽然各种过程的各种箭头是以特定的顺序被示出的,但顺序可被修改。例如,一些过程可以在其他过程之前被执行,而一些过程可以被同时执行。流程图200示出了若干个动作者,包括处理器201(例如,执行一个或多个指令的处理器电路、处理器核心和/或片上系统)、事件注册接口202(例如,api)、运行时中断接口203(例如,api)、以及定时器优化模块或电路204。块201a示出了作为初始化过程的一部分的各种配置。在一些实施例中,在块201a中执行的功能是在嵌入式软件中实现的,该嵌入式软件不是操作系统的一部分。在一些实施例中,在块201a中执行的功能是在固件中实现的,该固件可被操作系统访问。在一些实施例中,对于每个事件,处理器201配置若干个参数。在一些实施例中,参数的配置是由在处理器201上执行的固件执行的。
20.在205,处理器201配置大致事件时段参数。这个参数可包括值的范围。大致事件时段参数是事件必须被处理的大致时段。大致事件时段参数被提供给事件注册接口202,该接口进而将其提供给定时器优化模块或电路204。在206,处理器201配置到达偏好参数。这个参数可具有若干个可能的值,包括晚、早或无偏好。到达偏好参数指示出,在事件不能精确地在期望的时段到达的情况下,倾向于比期望时段更早或更晚地处理该事件的偏好。在207,处理器201配置长期数量要求。这个参数可具有真值或假值。如果长期的事件总数是重要的,而该要求没有得到满足,则将安排“追赶”事件。这里的“追赶”事件一般是指比正常情况更频繁地安排的事件,以使得每段时期的事件总数达到一定的目标。例如,如果某个事件应当每秒发生10次,而在一秒钟之后它只发生了8次,则将安排2个额外的追赶事件,以便达到10个事件的目标。
21.在208,配置了使能参数。这个参数使得特定的事件能够传播到处理器201。经常有这样的情况:不希望某些事件被处理(例如,防止某些进程被中断,在低功率状态中禁止不必要的事件,等等)。这个使能参数只是允许在运行时开启或关闭事件。在为每个事件配置各种参数之后,处理器201设置全局使能209。全局使能209使能或禁止所有事件。经常有这样的情况,即不希望处理任何事件。在这种情况下,全局使能209可以禁止所有事件。在设置全局使能209(例如,以使能所有事件)后,在210,事件注册接口202(它是一个api)将所配置的参数通知给时间优化模块/电路204。
22.对于固件必须处理的每个周期性事件,提供api来作为注册该事件的细节的接口。这个api被示出在表格1中。固件在系统配置期间配置其要求的所有事件,虽然有可能在运行时添加、去除或修改个体事件。
23.表格1
[0024][0025]
在各种实施例中,在211,定时器优化模块或电路204确定最小唤醒时段(t
min
)。每个事件具有大致事件时段,并且所有这些事件时段的最小值被确定为t
min
定时器优化模块或电路204。在初始化过程中,各种参数被配置并且经由事件注册接口202被传递给定时器优化模块或电路204,并且t
min
被确定,在此之后,定时器模块或电路204对于处理器201何时应当接收中断进行优化。该过程是参考图2b描述的运行时过程。
[0026]
图2b根据一些实施例图示了功率优化定时器模块的运行时过程的流程图220。这里,y轴是从上到下增大的时间,而x轴示出了过程流程。虽然各种过程的各种箭头是以特定的顺序被示出的,但顺序可被修改。例如,一些过程可以在其他过程之前被执行,而一些过程可以被同时执行。流程图220示出了若干个动作者,包括处理器201(例如,处理器核心和/或片上系统)、事件注册接口202(例如,api)、运行时中断接口203(例如,api)、以及定时器优化模块或电路204。在运行时,每当需要处理一个或多个事件时,定时器优化模块或电路204(也被称为优化定时器ip 204)就会基于定时器优化模块或电路204执行的批处理方案来中断cpu 201。在一些实施例中,cpu 201被呈现以一个接口,表明哪些事件需要被处理。当cpu 201完成了对这些事件的处理时,它向该接口写回以表明这些事件已完成。
[0027]
块212图示了一种迭代运行时过程,该过程在每个最小唤醒时段t
min
中被执行一次,直到所有事件都被处理为止。这里,定时器优化模块/电路204执行定时器优化,然后设置“挂起(pending)”中断,该中断由定时器优化模块/电路204经由运行时中断接口203通知给处理器201。在一些实施例中,定时器优化模块/电路204是硬件和/或软件,它在块213为每个事件执行循环操作。如果在块214全局被使能,则循环操作继续进行。如果被使能,则块214指定每事件使能和/或全局使能。如果全局被使能,则定时器优化模块/电路204执行块215。
[0028]
定时器优化模块/电路204的批处理方案中断处理器201(例如,cpu201)以进行事件处理,其时段等于最频繁事件(t
min
)。此时,批处理方案考虑是否有任何其他事件也应当被呈现给cpu 201接口以进行处理。或者,基于定时器的中断可以被基于事件的异步中断所
替代,这将导致不规则的唤醒时段,这取决于生成中断的异步事件。
[0029]
对于没有按最小时段(t
min
)操作的事件,如果某些条件为真,则它们被呈现给cpu 201。在块215,定时器优化模块/电路204检查任何以下条件是否为真。这些条件是:1)事件时段将在下一个t
min
时段期满之前期满,并且到达偏好没有被设置为晚;2)事件时段已经期满;或者3)长期平均显示出要求更多的事件。在一些实施例中,可以添加额外的条件。如果满足这些条件中的任何一个,则定时器优化模块/电路204将中断设置为如箭头216所示的“挂起”,并且将该信息提供给运行时中断接口203。运行时中断接口203是一个api,它向处理器201传递消息,从而使得处理器201应当被中断。这是由箭头217指示的。因此,若干个事件被分批在一起,并且中断被发出给处理器201以处理这些事件。来自各种实施例的批处理方案导致处理器201的唤醒更少,并且功率策略变得更容易优化,因为唤醒时段是可预测的。
[0030]
图3根据一些实施例图示了用于功率优化定时器的系统体系结构300。系统体系结构是流程图200和220的替代视图。体系结构300包括处理器201(例如,图5的片上系统)、提供事件注册接口202和运行时注册接口203的一个或多个api、定时器优化模块或电路204、以及定时器321。在各种实施例中,定时器优化模块或电路204和/或定时器321是用硬件、软件或者它们的组合来实现的。在一些实施例中,定时器优化模块或电路204和/或定时器321是soc的一部分。在一些实施例中,处理器201是处理器核心。
[0031]
在一些实施例中,处理器201经由一个或多个api(事件注册接口202和运行时注册接口203)与定时器优化模块或电路204交互。处理器301向事件注册接口202提供每个基于时间的中断301a的配置。事件注册接口提供一个api,用于配置如事件参数302所指示的表格1的各种字段。这些参数包括大致时间段205,到达偏好206,长期数量要求207和使能参数208。在设置全局使能209的字段之后,配置被传递给到定时器优化模块或电路204的配置301b以优化事件的批处理。在各种实施例中,定时器优化模块204为呈现给它的所有事件确定最小时段(t
min
)。定时器优化模块204考虑是否有任何其他事件也应当被呈现给处理器201接口以便处理。或者,基于定时器的中断可以被基于事件的异步中断所替代,这将导致不规则的唤醒时段,这取决于生成中断的异步事件。
[0032]
对于没有按最小时段(t
min
)操作的事件,如果某些条件为真,则它们被呈现给cpu 201。定时器优化模块/电路204检查任何以下条件是否为真。这些条件是:1)事件时段将在下一个t
min
时段期满之前期满,并且到达偏好没有被设置为晚;2)事件时段已经期满;或者3)长期平均显示出要求更多的事件。运行时中断接口203包括事件寄存器或字段303。事件寄存器或字段303包括中断的状态(例如,挂起或不挂起),以及确认指示。如果满足这些条件中的任何一个,则定时器优化模块/电路204在事件挂起字段中将中断设置为“挂起”,如箭头316所示,并且将该信息提供给运行时中断接口203。然后,运行时中断接口203对于该事件将该字段设置为“挂起”。因此,处理器201被消息317通知“挂起”状态。然后,处理器201处理中断以服务该批事件,并且向运行时中断接口203发送确认消息,如箭头318所示。该确认消息是在事件303的确认字段中指示的。这个字段向处理器201和/或定时器优化模块或电路204表明,中断不再是挂起的,因为它正在被处理或服务。因此,处理器201被定期(例如,周期性地)中断,以服务由定时器优化模块/电路204基于本文论述的标准而分组的事件批次。
[0033]
图4根据一些实施例图示了具有优化定时器的优化系统行为400。优化系统行为400示出了在各种时间被触发的若干个事件(例如,事件a、事件b和事件c)。在各种实施例中,该方案(例如,参考图2a-图2b和图3论述的)对事件进行分批,以便系统在预定的时间(或者按定期的时间间隔)周期性地唤醒。这与系统在事件发出时唤醒来处理事件是不同的。在这个示例中,事件a、b和c被一起分组为批次401,并且处理器201被中断一次,以在该中断期间服务于事件a、b和c。此后,在这个示例中,事件b和c被一起分组为批次402,并且处理器201再次被中断以在该中断期间服务于事件b和c。这些中断是可预测的,这使得功率策略更容易优化,因为唤醒时段是可预见的。
[0034]
图5根据一些实施例图示了具有功率优化定时器的片上系统(soc)。要指出,图5的具有与任何其他附图中的元素相同的标号(或名称)的那些元素可按与所描述的相似的任何方式操作或工作,但不限于此。在一些实施例中,任何块(例如,处理器核心)可具有优化定时器。
[0035]
在一些实施例中,设备5500表示适当的计算设备,例如计算平板、移动电话或智能电话、膝上型电脑、桌面型电脑、物联网(internet-of-things,iot)设备、服务器、可穿戴设备、机顶盒、具备无线能力的电子阅读器,等等。将会理解,某些组件被概括示出,并且在设备5500中没有示出这种设备的所有组件。
[0036]
在一示例中,设备5500包括soc(片上系统)5501。在图5中利用虚线来图示soc 5501的示例边界,其中一些示例组件被图示为被包括在soc 5501内——然而,soc 5501可包括设备5500的任何适当组件。
[0037]
在一些实施例中,设备5500包括处理器5504。处理器5504可包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑器件、处理核心,或者其他处理实现,例如多个计算、图形、加速器、i/o和/或其他处理芯片的分解组合。处理器5504执行的处理操作包括对其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括关于与人类用户或与其他设备的i/o(输入/输出)的操作、关于功率管理的操作、关于将计算设备5500连接到另一设备的操作,等等。处理操作还可包括与音频i/o和/或显示i/o有关的操作。
[0038]
在一些实施例中,处理器5504包括多个处理核心(也称为核心)5508a、5508b、5508c。虽然在图5中只图示了三个核心5508a、5508b、5508c,但处理器5504可包括任何其他适当数目的处理核心,例如数十个或者甚至数百个处理核心。处理器核心5508a、5508b、5508c可被实现在单个集成电路(ic)芯片上。此外,芯片可包括一个或多个共享的和/或私有的缓存、总线或互连、图形和/或存储器控制器,或者其他组件。
[0039]
在一些实施例中,处理器5504包括缓存5506。在一示例中,缓存5506的一些部分可专用于个体核心5508(例如,缓存5506的第一部分专用于核心5508a,缓存5506的第二部分专用于核心5508b,等等依此类推)。在一示例中,缓存5506的一个或多个部分可以是在两个或更多个核心5508之间共享的。缓存5506可被分割成不同的级别,例如第1级(l1)缓存、第2级(l2)缓存、第3级(l3)缓存,等等。
[0040]
在一些实施例中,处理器核心5504可包括取得单元来取得指令(包括带有条件分支的指令)来供核心5504执行。可以从诸如存储器5530之类的任何存储设备取得指令。处理器核心5504也可包括解码单元来对取得的指令解码。例如,解码单元可以将取得的指令解
hub,pch),等等。
[0046]
例如,控制中枢5532说明了连接到设备5500的附加设备的一个或多个连接点,例如,通过这些附加设备用户可与系统交互。例如,可附接到设备5500的设备(例如,设备5529)包括麦克风设备、扬声器或立体声系统、音频设备、视频系统或其他显示设备、键盘或小键盘设备、或者用于特定应用的其他i/o设备,例如读卡器或其他设备。
[0047]
如上所述,控制中枢5532可与音频设备、显示器5522等等交互。例如,通过麦克风或其他音频设备的输入可为设备5500的一个或多个应用或功能提供输入或命令。此外,取代显示输出,或者除了显示输出以外,还可提供音频输出。在另一示例中,如果显示器5522包括触摸屏,则显示器5522也充当输入设备,该输入设备可至少部分由控制中枢5532来管理。在计算设备5500上也可以有额外的按钮或开关来提供由控制中枢5532管理的i/o功能。在一个实施例中,控制中枢5532管理诸如加速度计、相机、光传感器或其他环境传感器之类的设备,或者可被包括在设备5500中的其他硬件。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如对噪声进行过滤,调整显示器以进行亮度检测,对相机应用闪光灯,或者其他特征)。
[0048]
在一些实施例中,控制中枢5532可以利用任何适当的通信协议耦合到各种设备,例如pcie(peripheral component interconnect express,快速外围组件互连)、usb(universal serial bus,通用串行总线)、thunderbolt、高清晰度多媒体接口(high definition multimedia interface,hdmi)、firewire,等等。
[0049]
在一些实施例中,显示器5522表示提供视觉和/或触觉显示来供用户与设备5500交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示器5522可包括显示接口、显示屏、和/或用于向用户提供显示器的硬件设备。在一些实施例中,显示器5522包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。在一示例中,显示器5522可以直接与处理器5504进行通信。显示器5522可以是像在移动电子设备或膝上型电脑设备中那样的内部显示设备或者经由显示接口(例如,displayport等等)附接的外部显示设备中的一个或多个。在一个实施例中,显示器5522可以是头戴式显示器(head mounted display,hmd),例如立体显示设备,来用于虚拟现实(virtual reality,vr)应用或增强现实(augmented reality,ar)应用中。
[0050]
在一些实施例中,虽然在附图中没有图示,但除了处理器5504以外(或者取代处理器5504),设备5500还可包括图形处理单元(graphics processing unit,gpu),该图形处理单元包括一个或多个图形处理核心,其可控制在显示器5522上显示内容的一个或多个方面。
[0051]
控制中枢5532(或者平台控制器中枢)可包括硬件接口和连接器,以及软件组件(例如,驱动器、协议栈),来进行例如到外围设备5524的外围连接。
[0052]
将会理解,设备5500既可以是其他计算设备的外围设备,也可以有外围设备连接到它。设备5500可具有“坞接”连接器来连接到其他计算设备,以便例如管理设备5500上的内容(例如,下载和/或上传、改变、同步)。此外,坞接连接器可允许设备5500连接到某些外设,这些外设允许计算设备5500控制例如到视听或其他系统的内容输出。
[0053]
除了专属坞接连接器或其他专属连接硬件以外,设备5500还可经由常见的或者基于标准的连接器来进行外围连接。常见类型可包括通用串行总线(universal serial bus,
usb)连接器(其可包括若干种不同硬件接口中的任何一种)、包括minidisplayport(mdp)在内的displayport、高清晰度多媒体接口(high definition multimedia interface,hdmi)、firewire、或者其他类型。
[0054]
在一些实施例中,连通性电路5531可耦合到控制中枢5532,例如除了直接耦合到处理器5504以外或者取代直接耦合到处理器5504。在一些实施例中,显示器5522可耦合到控制中枢5532,例如除了直接耦合到处理器5504以外或者取代直接耦合到处理器5504。
[0055]
在一些实施例中,设备5500包括存储器5530,其经由存储器接口5534耦合到处理器5504。存储器5530包括用于存储设备5500中的信息的存储器设备。
[0056]
在一些实施例中,存储器5530包括装置来维持稳定的钟控,如参考各种实施例所描述。存储器可包括非易失性存储器设备(如果到存储器设备的电力中断,状态不会变化)和/或易失性存储器设备(如果到存储器设备的电力中断,则状态是不确定的)。存储器设备5530可以是动态随机访问存储器(dynamic random-access memory,dram)设备、静态随机访问存储器(static random-access memory,sram)设备、闪存设备、相变存储器设备、或者具有适当的性能来用作进程存储器的某种其他存储器设备。在一个实施例中,存储器5530可充当设备5500的系统存储器,以存储数据和指令来在一个或多个处理器5504执行应用或进程时使用。存储器5530可存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与设备5500的应用和功能的执行有关的系统数据(无论是长期的还是暂时的)。
[0057]
各种实施例和示例的元素也可以以用于存储计算机可执行指令(例如,实现本文论述的任何其他过程的指令)的机器可读介质(例如,存储器5530)的形式来提供。机器可读介质(例如,存储器5530)可包括但不限于闪存、光盘、cd-rom、dvd rom、ram、eprom、eeprom、磁卡或光卡、相变存储器(phase change memory,pcm)、或者适合用于存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可以作为计算机程序(例如,bios)被下载,该计算机程序可经由通信链路(例如,调制解调器或网络连接)借由数据信号被从远程计算机(例如,服务器)传送到作出请求的计算机(例如,客户端)。
[0058]
在一些实施例中,设备5500包括温度测量电路5540,例如用于测量设备5500的各种组件的温度。在一示例中,温度测量电路5540可以被嵌入,或者耦合或附接到其温度要被测量和监视的各种组件。例如,温度测量电路5540可测量核心5508a、5508b、5508c、电压调节器5514、存储器5530、soc 5501的主板和/或设备5500的任何适当组件中的一个或多个的温度(或者其内的温度)。在一些实施例中,温度测量电路5540包括低功率混合反向(low power hybrid reverse,lphr)带隙基准(bandgap reference,bgr)和数字温度传感器(digital temperature sensor,dts),它利用亚阈值金属氧化物半导体(metal oxide semiconductor,mos)晶体管和pnp寄生双极结晶体管(bi-polar junction transistor,bjt)器件来形成作为可配置bgr或dts操作模式的基础的反向bgr。lphr体系结构使用低成本mos晶体管和标准的寄生pnp器件。基于反向带隙电压,lphr可作为可配置的bgr工作。通过比较可配置bgr与经缩放的基极-发射极电压,该电路也可作为具有线性传递函数的dts来运转,并具有单温度修整以获得高准确性。
[0059]
在一些实施例中,设备5500包括功率测量电路5542,例如用于测量设备5500的一个或多个组件消耗的功率。在一示例中,除了测量功率以外,或者取代测量功率,功率测量电路5542还可以测量电压和/或电流。在一示例中,功率测量电路5542可以被嵌入,或者耦
identification,fid)信号,并且基于fid信号按适当的频率生成时钟信号。
[0064]
在一些实施例中,设备5500包括向设备5500的各种组件供应电力的电池5518。仅作为示例,电池5518被图示为在向处理器5504供应电力。虽然在附图中没有图示,但设备5500可包括充电电路,以例如基于从交流电(alternating current,ac)适配器接收的ac电力供应来对电池进行再充电。
[0065]
在一些实施例中,电池5518周期性地检查实际电池容量或能量,并且充电到预设的电压(例如,4.1v)。电池随后决定电池容量或能量。如果容量或能量不足,那么电池中的装置或者与电池相关联的装置就会将充电电压略微增大到容量充足的点(例如,从4.1v到4.11v)。周期性检查并且略微增大充电电压的过程被执行,直到充电电压达到规格限制(例如4.2v)为止。本文描述的方案具有益处,例如可以延长电池寿命,可以降低能量储备不足的风险,可以尽可能地使用突发功率,和/或甚至可以使用更高的突发功率。
[0066]
在一些实施例中,电池5518是多电池系统,具有取决于工作负载的负载共享机制。该机制是一种能量管理系统,它在三种模式中操作——能量节省模式、平衡器模式和极速模式。能量节省模式是一种正常模式,其中多个电池(总体示为电池5518)以最小的电阻耗散向其自己的一组负载提供电力。在平衡模式中,电池通过在活跃模式中操作的开关而连接,使得共享的电流与相应的电池充电状态成反比。在极速模式中,两个电池都通过开关(例如,接通开关)并联连接,以向处理器或负载提供最大功率。在一些实施例中,电池5518是混合电池,它包括快速充电电池和高能量密度电池。快速充电电池(fast charging,fc)是指能够比高能量密度电池(high energy,he)更快充电的电池。fc可以是当今的锂离子电池,因为它能够比he更快地充电。在一些实施例中,控制器(电池5518的一部分)优化混合电池的序列和充电速率,以最大化电池的充电电流和充电速度两者,同时使得电池寿命能够更长。
[0067]
在一些实施例中,充电电路(例如,5518)包括降压-升压转换器。这个降压-升压转换器包括drmos或者drgan器件,用于替代传统的降压-升压转换器的半桥。这里的各种实施例是参考drmos来描述的。然而,实施例适用于drgan。drmos器件由于降低了寄生性和优化了mosfet封装,因此允许更好的功率转换效率。由于死区时间管理是在drmos内部的,因此死区时间管理比传统的降压-升压转换器更准确,从而带来了更高的转换效率。更高的操作频率允许了更小的电感器尺寸,这进而又减小了包括基于drmos的降压-升压转换器的充电器的z高度。各种实施例的降压-升压转换器包括用于drmos器件的双折自举(dual-folded bootstrap)。在一些实施例中,除了传统的自举电容器以外,还添加了折叠式自举电容器,这些折叠式自举电容器将电感器节点交叉耦合到两组drmos开关。
[0068]
在一些实施例中,设备5500包括功率控制单元(power control unit,pcu)5510(也称为功率管理单元(power management unit,pmu)、功率管理控制器(power management controller,pmc)、功率单元(p单元),等等)。在一示例中,pcu 5510的一些部分可以由一个或多个处理核心5508实现,并且pcu 5510的这些部分被利用虚线框来象征性图示并且被标注为pcu 5510a。在一示例中,pcu 5510的一些其他部分可被实现在处理核心5508的外部,并且pcu 5510的这些部分被利用虚线框来象征性图示并且被标注为pcu 5510b。pcu 5510可为设备5500实现各种功率管理操作。pcu 5510可包括硬件接口、硬件电路、连接器、寄存器等等,以及软件组件(例如,驱动器、协议栈),来为设备5500实现各种功
率管理操作。
[0069]
在各种实施例中,pcu或者pmu 5510是以层次化方式组织的,形成层次化功率管理(hierarchical power management,hpm)。各种实施例的hpm构建了一种能力和基础设施,允许了对平台的封装级管理,同时仍然迎合可能存在于封装中的构成管芯之间的自治岛屿。hpm并不假定物理分区到域的预定映射。hpm域可与集成在小管芯内部的功能对齐,与小管芯边界对齐,与一个或多个小管芯对齐,与配套管芯对齐,甚至与分立的cxl器件对齐。hpm解决了同一管芯的多个实例的集成,与集成在同一管芯或者单独管芯上的专有功能或者第三方功能(甚至是经由cxl(例如,flexbus)连接的加速器)相混合,这些加速器可能在封装内部,或者以分立的外形参数存在。
[0070]
hpm使设计者能够满足可缩放性、模块化和后期绑定的目标。hpm还允许利用可能已经存在于其他管芯上的pmu功能,而不是在平坦方案中被禁用。hpm使得能够管理任何任意的功能集合,与它们的集成水平无关。各种实施例的hpm是可缩放的、模块化的,可与对称的多芯片处理器(multi-chip processor,mcp)一起工作,也可与非对称的mcp一起工作。例如,hpm不需要信号pm控制器和封装基础设施,就能增长到超出合理的缩放限制。hpm使得能够在封装中后期添加管芯,而不需要基础管芯基础设施中的改变。hpm解决了不同工艺技术节点的管芯耦合在单个封装中的分解解决方案的需求。hpm还解决了封装内和封装外的配套管芯集成解决方案的需求。
[0071]
在各种实施例中,每个管芯(或者小管芯)包括功率管理单元(pmu)或者p单元。例如,处理器管芯可具有监督者p单元,被监督者p单元,或者双重角色的监督者/被监督者p单元。在一些实施例中,i/o管芯具有其自己的双重角色p单元,例如监督者和/或被监督者p单元。每个管芯中的p单元可以是通用p单元的实例。在一个这样的示例中,所有的p单元具有相同的能力和电路,但被(动态地或者静态地)配置为扮演监督者、被监督者和/或两者的角色。在一些实施例中,用于计算管芯的p单元是计算p单元的实例,而用于io管芯的p单元是不同于计算p单元的io p单元的实例。取决于角色,p单元获取特定的责任来管理多芯片模块和/或计算平台的功率。虽然各种p单元被描述为多芯片模块或者片上系统中的管芯,但p单元也可以是外部设备的一部分,例如i/o设备的一部分。
[0072]
这里,各种p单元不一定要是相同的。hpm体系结构可以操作非常不同类型的p单元。p单元的一个共同特征是,它们被预期接收hpm消息,并且被预期能够理解这些消息。在一些实施例中,io管芯的p单元可能与计算管芯的p单元不同。例如,io p单元中的每一类寄存器的寄存器实例的数目与计算管芯的p单元中的不同。io管芯有能力成为cxl连接器件的hpm监督器,但计算管芯可能不需要有这种能力。io管芯和计算管芯也具有不同的固件流程,以及可能不同的固件镜像。这些都是实现方式可以做出的选择。hpm体系结构可选择具有一个超集固件镜像,并且选择性地执行与固件所关联的管芯类型相关的流程。或者,对于每个p单元类型,可以有一个客户固件;它可允许每个p单元类型的固件存储要求的大小更加精简。
[0073]
每个管芯中的p单元可被配置为监督者p单元、被监督者p单元或者具有监督者/被监督者的双重角色。这样,p单元可以为各种域执行监督者或被监督者的角色。在各种实施例中,p单元的每个实例能够自主地管理本地专用资源,并且包含聚合数据和在实例间通信的结构,以使得被配置为共享资源监督者的实例能够进行共享资源管理。提供了一种基于
消息和导线的基础设施,它可被复制并且配置来促进多个p单元之间的管理和流动。
[0074]
在一些实施例中,功率和热阈值由监督者p单元传达给被监督者p单元。例如,监督者p单元了解每个管芯的工作负载(当前和未来)、每个管芯的功率测量值以及其他参数(例如,平台级功率边界),并且为每个管芯确定新的功率限制。这些功率限制随后被监督者p单元经由一个或多个互连和架构传达给被监督者p单元。在一些实施例中,架构指的是一组架构和互连,其中包括第一架构、第二架构和快速响应互连。在一些实施例中,第一架构被用于监督者p单元和被监督者p单元之间的共同通信。这些共同通信包括基于若干个因素(例如,未来的工作负载、用户行为,等等)规划的管芯的电压、频率和/或功率状态的变化。在一些实施例中,第二架构被用于监督者p单元和被监督者p单元之间的更高优先级的通信。更高优先级的通信的示例包括由于可能的热失控条件、可靠性问题等等而要扼制的消息。在一些实施例中,快速响应互连被用于传达所有管芯的快速或者硬扼制。在此情况下,例如,监督者p单元可向所有其他p单元发送快速扼制消息。在一些实施例中,快速响应互连是传统的互连,其功能可由第二架构来执行。
[0075]
各种实施例的hpm体系结构实现了对称和/或非对称管芯的可缩放性、模块化和后期绑定。这里,对称管芯是相同大小、类型和/或功能的管芯,而非对称管芯是不同大小、类型和/或功能的管芯。层次化方案还允许了利用可能已经存在于其他管芯上的pmu功能,而不是在传统的平坦功率管理方案中将其禁用。hpm并不假定物理分区到域的预定映射。hpm域可与集成在小管芯内部的功能对齐,与小管芯边界对齐,与一个或多个小管芯对齐,与配套管芯对齐,甚至与分立的cxl器件对齐。hpm使得能够管理任何任意的功能集合,与它们的集成水平无关。在一些实施例中,基于一个或多个因素宣布p单元为监督者p单元。这些因素包括存储器大小、物理约束(例如,引脚输出数目)、以及传感器的位置(例如,温度、功率消耗,等等),以确定处理器的物理限制。
[0076]
各种实施例的hpm体系结构提供了一种缩放功率管理的手段,使得单个p单元实例不需要意识到整个处理器。这使得功率管理的粒度能够更小,并且改善了响应时间和有效性。层次化结构维持了对用户的单片视图。例如,在操作系统(os)级别,hpm体系结构给予os单一的pmu视图,即使pmu在物理上是分布在一个或多个监督者-被监督者配置中的。
[0077]
在一些实施例中,hpm体系结构是集中式的,其中一个监督者控制所有被监督者。在一些实施例中,hpm体系结构是分散的,其中各种管芯中的各种p单元通过对等通信来控制整体功率管理。在一些实施例中,hpm体系结构是分布式的,其中对于不同的域,有不同的监督者。分布式体系结构的一个示例是树状体系结构。
[0078]
在一些实施例中,设备5500包括功率管理集成电路(power management integrated circuit,pmic)5512,以例如为设备5500实现各种功率管理操作。在一些实施例中,pmic 5512是可重配置功率管理ic(reconfigurable power management ic,rpmic)和/或imvp(mobile voltage positioning,移动电压定位)。在一示例中,pmic在与处理器5504分离的ic管芯内。这可为设备5500实现各种功率管理操作。pmic 5512可包括硬件接口、硬件电路、连接器、寄存器,等等,以及软件组件(例如,驱动器、协议栈),来为设备5500实现各种功率管理操作。
[0079]
在一示例中,设备5500包括pcu 5510或pmic 5512的一者或两者。在一示例中,pcu 5510或者pmic 5512中的任何一者在设备5500中可以不存在,因此这些组件是利用虚线来
图示的。
[0080]
设备5500的各种功率管理操作可以由pcu 5510、由pmic 5512或者由pcu 5510和pmic 5512的组合来执行。例如,pcu 5510和/或pmic 5512可以为设备5500的各种组件选择功率状态(例如,p状态)。例如,pcu 5510和/或pmic 5512可以为设备5500的各种组件选择功率状态(例如,根据acpi(advanced configuration and power interface,高级配置和电力接口)规范)。仅作为示例,pcu 5510和/或pmic 5512可以使得设备5500的各种组件转变到睡眠状态、转变到活跃状态、转变到适当的c状态(例如,c0状态,或者另一适当的c状态,根据acpi规范),等等。在一示例中,pcu 5510和/或pmic 5512可以控制由vr 5514输出的电压和/或由时钟生成器输出的时钟信号的频率,例如分别通过输出vid信号和/或fid信号。在一示例中,pcu 5510和/或pmic 5512可以控制电池功率使用、电池5518的充电以及与功率节省操作有关的特征。
[0081]
时钟生成器5516可包括锁相环(phase locked loop,pll)、锁频环(frequency locked loop,fll)、或者任何适当的时钟源。在一些实施例中,处理器5504的每个核心具有其自己的时钟源。这样,每个核心可按独立于其他核心的操作频率的频率来进行操作。在一些实施例中,pcu 5510和/或pmic 5512执行自适应或者动态频率缩放或调整。例如,如果核心没有在以其最大功率消耗阈值或限度进行操作,则可增大该处理器核心的时钟频率。在一些实施例中,pcu 5510和/或pmic 5512确定处理器的每个核心的操作条件,并且当pcu 5510和/或pmic 5512确定核心在以低于目标性能水平操作时,机会主义地调整该核心的频率和/或供电电压,而核心钟控源(例如,该核心的pll)不会失去锁定。例如,如果核心在从电力供应轨汲取电流,该电流小于为该核心或处理器5504分配的总电流,则pcu 5510和/或pmic 5512可临时增大对于该核心或处理器5504的功率汲取(例如,通过增大时钟频率和/或电力供应电压水平),从而使得该核心或处理器5504可以按更高的性能水平来运转。这样,可以为处理器5504临时地增大电压和/或频率,而不会违反产品可靠性。
[0082]
在一示例中,pcu 5510和/或pmic 5512可例如至少部分基于从功率测量电路5542、温度测量电路5540接收测量、接收电池5518的充电水平、和/或接收可用于功率管理的任何其他适当的信息,来执行功率管理操作。为此,pmic 5512通信地耦合到一个或多个传感器,来感测/检测对于系统/平台的功率/热行为有影响的一个或多个因素中的各种值/变化。一个或多个因素的示例包括电流、电压垂落、温度、操作频率、操作电压、功率消耗、核心间通信活动,等等。这些传感器中的一个或多个可被设在计算系统的一个或多个组件或者逻辑/ip块的物理近邻(和/或与其热接触/耦合)。此外,(一个或多个)传感器在至少一个实施例中可直接耦合到pcu 5510和/或pmic 5512,以允许pcu 5510和/或pmic 5512至少部分基于由这些传感器中的一个或多个检测到的(一个或多个)值来管理处理器核心能量。
[0083]
还图示了设备5500的示例软件栈(虽然没有图示该软件栈的所有元素)。仅作为示例,处理器5504可以执行应用程序5550、操作系统5552、一个或多个功率管理(power management,pm)特定应用程序(例如,统称为pm应用5558),等等。pm应用5558也可以被pcu 5510和/或pmic 5512执行。os 5552也可包括一个或多个pm应用5556a、5556b、5556c。os 5552也可包括各种驱动器5554a、5554b、5554c等等,其中一些可以专用于功率管理目的。在一些实施例中,设备5500还可包括基本输入/输出系统(basic input/output system,bios)5520。bios 5520可以与os 5552通信(例如,经由一个或多个驱动器5554),与处理器
5504通信,等等。
[0084]
例如,pm应用5558、5556、驱动器5554、bios 5520等等中的一个或多个可用于实现功率管理特定任务,例如控制设备5500的各种组件的电压和/或频率,控制设备5500的各种组件的唤醒状态、睡眠状态和/或任何其他适当的功率状态,控制电池功率使用、电池5518的充电、与功率节省操作有关的特征,等等。
[0085]
在一些实施例中,电池5518是锂金属电池,具有压力室,以允许电池上的压力均匀。压力室由用于给予电池均匀压力的金属板(例如均压板)支撑。压力室可包括受压气体、弹性材料、弹簧板,等等。压力室的外皮可以自由弯曲,其边缘受到(金属)皮肤的约束,但仍在压缩电池单元的板上施加均匀的压力。压力室给电池以均匀的压力,这用于实现高能量密度的电池,例如,电池寿命增加20%。
[0086]
在一些实施例中,电池5518包括混合技术。例如,(一个或多个)高能量密度电荷(例如,锂离子电池)携带设备和低能量密度电荷携带设备(例如,超级电容器)的混合被用作电池或者存储设备。在一些实施例中,控制器(例如,硬件、软件或者它们的组合)被用于分析峰值功率模式,并且使得对基于高能量密度电荷携带设备的电池单元的整体寿命的影响最小化,同时使得峰值功率削匀特征的服务时间最大化。该控制器可以是电池5518的一部分或者是p单元5510b的一部分。
[0087]
在一些实施例中,在pcu 5510a/b上执行的pcode具有为pcode的运行时支持使能额外的计算和遥测资源的能力。这里,pcode指的是由pcu 5510a/b执行以管理soc 5501的性能的固件。例如,pcode可以为处理器设置频率和适当的电压。pcode的一部分是可经由os 5552来访问的。在各种实施例中,提供了机制和方法,这些机制和方法基于工作负载、用户行为和/或系统条件来动态地改变能量性能偏好(energy performance preference,epp)值。在os 5552和pcode之间可以有定义明确的接口。该接口可以允许或者促进几个参数的软件配置和/或可以向pcode提供提示。作为示例,一epp参数可以告知pcode算法是性能还是电池寿命更为重要。
[0088]
这种支持也可由os 5552完成,其方式是将机器学习支持包括为os 5552的一部分,并且或者通过机器学习预测来调节os提示给硬件(例如,soc 5501的各种组件)的epp值,或者通过以与动态调节技术(dynamic tuning technology,dtt)驱动器所做的类似的方式将机器学习预测递送给pcode。在这种模型中,os 5552可以看到与dtt可用的相同的遥测集合。作为dtt机器学习提示设置的结果,pcode可调节其内部算法,以实现激活类型的机器学习预测之后的最优功率和性能结果。作为示例,pcode可以增大对处理器利用率变化的责任,以使能对用户活动的快速响应,或者可通过减小对处理器利用率的责任或者通过调节能量节省优化以节省更多的功率和增大性能损失来增大对于能量节省的偏向。这种方案可以促进节省更多的电池寿命,以防使能的活动的类型相对于系统能够使能的失去一些性能水平。pcode可包括用于动态epp的算法,该算法可取得两个输入,一个来自os 5552,另一个来自软件,例如dtt,并且可以选择性地选择提供更高的性能和/或响应能力。作为此方法的一部分,pcode可在dtt中使能一个选项来对于不同类型的活动为dtt调节其反应。
[0089]
在一些实施例中,pcode改善了soc在电池模式中的性能。在一些实施例中,pcode允许了电池模式中的大幅提高的soc峰值功率极限水平(从而允许了更高的极速模式性能)。在一些实施例中,pcode实现了功率扼制,并且是英特尔的动态调节技术(dtt)的一部
分。在各种实施例中,峰值功率极限被称为pl4。然而,实施例适用于其他峰值功率极限。在一些实施例中,pcode以防止系统意外关断(或者黑屏)的方式设置vth阈值电压(平台将对soc进行扼制的电压水平)。在一些实施例中,pcode根据阈值电压(vth)计算psoc,pk soc峰值功率极限(例如,pl4)。这是两个依从的参数,如果一个被设置,则另一个可以被计算出来。pcode被用于基于系统参数,以及操作的历史,来最优地设置一个参数(vth)。在一些实施例中,pcode提供了一种方案来基于可用电池功率(其变化缓慢)动态地计算扼制水平(psoc,th)并且设置soc扼制峰值功率(psoc,th)。在一些实施例中,pcode基于psoc,th来决定频率和电压。在这种情况下,扼制事件对soc性能的负面影响较小。各种实施例提供了一种允许最大性能(pmax)框架来进行操作的方案。
[0090]
在一些实施例中,vr 5514包括电流传感器,来感测和/或测量通过vr 5514的高侧开关的电流。在一些实施例中,电流传感器使用在反馈中带有电容耦合输入的放大器,来感测放大器的输入偏移,这可在测量期间来进行补偿。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来在输入共模规格被放松的区域中操作放大器,从而使得反馈环增益和/或带宽更高。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来从转换器输入电压操作传感器,其方式是通过采用高psrr(电力供应抑制比)调节器来创造一个局部、干净的供应电压,对开关区域中的电力网造成更少的干扰。在一些实施例中,该设计的一个变体可被用于对输入电压和控制器供应之间的差异进行采样,并将其重创建于电源的漏极电压和复制开关之间。这允许了传感器不被暴露于电力供应电压。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来补偿电流感测期间输入电压中的与电力输送网络相关(pdn相关)的变化。
[0091]
一些实施例使用三个组件来基于usb type-c设备5529的状态调整soc 5501的峰值功率。这些组件包括os峰值功率管理器(os 5552的一部分)、usb type-c连接器管理器(os 5552的一部分)、以及usb type-c协议设备驱动器(例如,驱动器5554a、5554b、5554c之一)。在一些实施例中,当usb type-c电力汇宿设备附接到soc 5501或者与soc 5501脱离时,usb type-c连接器管理器向os峰值功率管理器发送同步请求,并且当电力汇宿转变设备状态时,usb type-c协议设备驱动器向峰值功率管理器发送同步请求。在一些实施例中,当usb type-c连接器附接到电力汇宿并且活跃时(例如,高功率设备状态),峰值功率管理器从cpu取得功率预算。在一些实施例中,当usb type-c连接器脱离或者附接并且电力汇宿设备空闲时(最低设备状态),峰值功率管理器将功率预算归还给cpu以获得性能。
[0092]
在一些实施例中,提供了逻辑来为bios加电流程和睡眠退出流程(例如,s3、s4和/或s5)动态地挑选最佳操作处理核心。对引导处理器(bootstrap processor,bsp)的选择被转移到早期加电时间,而不是在任何时间的固定硬件选择。为了获得最大的启动性能,该逻辑在早期加电时选择最快的胜任核心作为bsp。此外,为了实现最大的功率节省,该逻辑选择功率效率最高的核心作为bsp。选择bsp的处理器或切换发生在启动以及加电流程(例如,s3、s4和/或s5流程)期间。
[0093]
在一些实施例中,这里的存储器是以多级别存储器体系结构来组织的,并且其性能由分散方案来支配。该分散方案包括p单元5510和存储器控制器。在一些实施例中,该方案基于应用在如何使用远离处理器核心的存储器级别,对于平台5500中的逐渐远离处理器的存储器级别,动态地平衡若干个参数,例如功率、热能、成本、时延和性能。在一些示例中,
对远端存储器(far memory,fm)的状态的决策作出是分散的。例如,处理器功率管理单元(p单元)、近端存储器控制器(near memory controller,nmc)和/或远端存储器主机控制器(far memory host controller,fmhc)在其各自的级别上对fm的功率和/或性能状态作出决策。这些决策被协调起来,以便对于给定的时间,提供fm的最优功率和/或性能状态。存储器的功率和/或性能状态自适应地变化,以适应变化中的工作负载和其他参数,即使当(一个或多个)处理器处于特定功率状态中时。
[0094]
在一些实施例中,实现了硬件和软件协调处理器功率状态策略(例如,c状态的策略),该策略通过考虑到在进入空闲的核心上预期调度的线程的性能和/或响应性需求,提供最优的功率状态选择,以为运行用户关键任务的核心实现改善的每周期指令(instructions per cycle,ipc)和性能。该方案提供了为在片上系统上运行的重要和/或用户关键的线程提供响应性增益的能力。耦合到多个处理核心的p单元5510接收来自操作系统5552的提示,该提示指示出基于情境切换中的线程的优先级,对于多个处理核心中的至少一个处理核心的功率状态或性能状态的偏向。
[0095]
说明书中提及“一实施例”、“一个实施例”、“一些实施例”或者“其他实施例”的意思是联系这些实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不一定包括在所有实施例中。“一实施例”、“一个实施例”或者“一些实施例”的各种出现不一定全都指的是相同的实施例。如果说明书陈述“可”、“可能”或者“可以”包括某一组件、特征、结构或特性,那么并不是必须要包括该特定组件、特征、结构或特性。如果说明书或权利要求提及“一”元素,那么并不意味着只有一个该元素。如果说明书或权利要求提及“一额外”元素,那么并不排除有多于一个该额外元素。
[0096]
在整个说明书各处,以及在权利要求中,术语“连接”的意思是直接连接,例如连接的事物之间的电连接、机械连接或磁连接,没有任何中间设备。
[0097]
术语“耦合”的意思是直接或间接连接,例如连接的事物之间的直接电连接、机械连接或磁连接,或者通过一个或多个无源或有源中间设备的间接连接。
[0098]
这里的术语“邻近”一般指的是一事物的位置与另一事物挨着(例如,紧挨着或者接近并且其间有一个或多个事物)或者毗邻(例如,与其邻接)。
[0099]
术语“电路”或“模块”可以指被布置为与彼此合作来提供期望的功能的一个或多个无源和/或有源组件。
[0100]
术语“信号”可以指至少一个电流信号、电压信号、磁信号、或者数据/时钟信号。“一”和“该”的含义包括多数指代。“在
……
中”的含义包括“在
……
中”和“在
……
上”。
[0101]
术语“模拟信号”是任何这样的连续信号:对于该连续信号,该信号的时变特征(变量)是某个其他时变量的表示,即,类似于另一时变信号。
[0102]
术语“数字信号”是这样的物理信号:它是例如任意比特流的或者数字化的(采样并且模数转换的)模拟信号的离散值(量化离散时间信号)的序列的表示。
[0103]
术语“缩放”一般是指将某个设计(图解和布局)从一个工艺技术转换到另一个工艺技术并且可随后减小布局面积。在一些情况下,缩放也指从一个工艺技术到另一个工艺技术扩大设计的规模并且可随后增大布局面积。术语“缩放”一般也指在同一技术节点内缩小或扩大布局和器件的规模。术语“缩放”还可以指相对于另一参数(例如,电力供应水平)对信号频率进行的调整(例如,减慢或加速——即分别是缩小或放大)。
[0104]
术语“基本上”、“接近”、“大致”、“近似”和“大约”一般是指在目标值的 /-10%内。
[0105]
除非另有指明,否则使用序数形容词“第一”、“第二”和“第三”等等来描述共同对象只是表明相似对象的不同实例被引用,而并不打算暗示这样描述的对象必须在时间上、空间上、排名上或者以任何其他方式处于给定的序列中。
[0106]
对于本公开而言,短语“a和/或b”和“a或b”的意思是(a)、(b)或者(a和b)。对于本公开而言,短语“a、b和/或c”的意思是(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或者(a、b和c)。
[0107]
说明书中和权利要求中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“上”、“下”等等——如果有的话——是用于描述性目的的,而并不一定用于描述永久的相对位置。
[0108]
要指出,附图的具有与任何其他附图的元素相同的标号(或名称)的那些元素可以按与所描述的相似的任何方式来操作或工作,但不限于此。
[0109]
对于实施例而言,这里描述的各种电路和逻辑块中的晶体管是金属氧化物半导体(metal oxide semiconductor,mos)晶体管或其衍生物,其中mos晶体管包括漏极、源极、栅极和体端子。晶体管和/或mos晶体管衍生物也包括三栅和finfet晶体管、栅极全包围圆柱体晶体管、隧道效应fet(tunneling fet,tfet)、方形线晶体管、或者矩形带状晶体管、铁电fet(ferroelectric fet,fefet)、或者像碳纳米管或自旋器件之类的实现晶体管功能的其他器件。mosfet对称源极和漏极端子是相同的端子并且在这里可被互换使用。另一方面,tfet器件具有非对称源极和漏极端子。本领域技术人员将会明白,在不脱离本公开的范围的情况下,可以使用其他晶体管,例如双极结晶体管(bjt pnp/npn)、bicmos、cmos,等等。
[0110]
这里,术语“管芯”(die)一般是指一块连续的半导体材料(例如硅),其中晶体管或者构成处理器核心的其他组件可位于其中。多核心处理器可在单个管芯上具有两个或更多个处理器,但另一种情况是,可分别在两个或更多个管芯上提供两个或更多个处理器。每个管芯具有专用的功率控制器或者功率控制单元(p单元)功率控制器或者功率控制单元(p单元),其可动态或者静态地被配置为监督者或者被监督者。在一些示例中,管芯具有相同的尺寸和功能,即,对称的核心。然而,管芯也可以是不对称的。例如,一些管芯的尺寸和/或功能与其他管芯不同。每个处理器也可以是小管芯或者小芯片。这里的术语“小管芯”(dielet)或者“小芯片”(chiplet)一般是指物理上分立的半导体管芯,通常以如下方式与相邻的管芯连接:使跨管芯边界的架构像单个架构那样运作,而不是作为两个分立的架构运作。从而,至少一些管芯可以是小管芯。每个小管芯可包括一个或多个p单元,它们可动态或静态地被配置为监督者、被监督者或者这两者。
[0111]
这里,术语“架构”(fabric)一般是指具有已知的一组源、目的地、路由规则、拓扑和其他属性的通信机制。源和目的地可以是任何类型的数据处理功能单元,例如功率管理单元。架构可以是沿着管芯的x-y平面的二维跨越和/或沿着垂直和水平放置的管芯的堆叠的x-y-z平面的三维(3d)跨越。单个架构可跨越多个管芯。架构可采取任何拓扑,例如网状拓扑、星形拓扑、菊链状拓扑。架构可以是具有多个代理的片上网络(network-on-chip,noc)的一部分。这些代理可以是任何功能单元。
[0112]
这里,术语“处理器核心”一般是指独立的执行单元,它可在某个时间与其他核心并行地运行一个程序线程。处理器核心可包括专用的功率控制器或者功率控制单元(p单元),其可被动态地或者静态地配置为监督者或者被监督者。在一些示例中,这个专用p单元也被称为自主p单元。在一些示例中,所有的处理器核心都具有相同的大小和功能,即,对称
的核心。然而,处理器核心也可以是不对称的。例如,一些处理器核心的大小和/或功能与其他处理器核心不同。处理器核心可以是虚拟处理器核心或者物理处理器核心。
[0113]
这里,术语“互连”是指两个或更多个点或节点之间的通信链路,或者通道。它可包括一个或多个单独的传导路径,例如导线、通孔、波导、无源组件和/或有源组件。它也可包括架构。
[0114]
这里,术语“接口”一般是指用于与互连进行通信的软件和/或硬件。接口可包括逻辑和i/o驱动器/接收器,以通过互连或者一条或多条导线发送和接收数据。
[0115]
这里,术语“域”(domain)一般是指具有类似属性(例如,供应电压、操作频率、电路或逻辑的类型、和/或工作负载类型)和/或由特定代理控制的逻辑或者物理周界。例如,域可以是由特定监督者控制的一组逻辑单元或者功能单元。域也可被称为自主周界(autonomous perimeter,ap)。域可以是整个片上系统(soc)或者是片上系统的一部分,并且由p单元管理。
[0116]
这里,术语“监督者”(supervisor)一般是指功率控制器或者功率管理单元(“p单元”),其单独地或者与一个或多个其他p单元合作地,监视和管理一个或多个关联的电力域的功率和性能相关参数。功率/性能相关参数可包括但不限于域功率、平台功率、电压、电压域电流、管芯电流、负载线、温度、设备时延、利用率、时钟频率、处理效率、当前/未来工作负载信息、以及其他参数。它可以为一个或多个域确定新的功率或性能参数(限制、平均操作,等等)。这些参数随后可经由一个或多个架构和/或互连,被传达给被监督者p单元,或者直接传达给被控制或者监视的实体,例如vr或者时钟扼制控制寄存器。监督者了解一个或多个管芯的工作负载(当前和未来)、一个或多个管芯的功率测量值和其他参数(例如,平台级功率边界),并且确定一个或多个管芯的新功率限制。这些功率限制随后由监督者p单元经由一个或多个架构和/或互连传达给被监督者p单元。在一个管芯具有一个p单元的示例中,监督者(svor)p单元也被称为监督者管芯。
[0117]
这里,术语“被监督者”(supervisee)一般是指功率控制器或者功率管理单元(“p单元”),其单独地或者与一个或多个其他p单元合作地,监视和管理一个或多个关联的电力域的功率和性能相关参数,并且接收来自监督者的指令,以为其关联的电力域设置功率和/或性能参数(例如,供应电压、操作频率、最大电流、扼制阈值,等等)。在一个管芯具有一个p单元的示例中,被监督者(svee)p单元也可被称为被监督者管芯。注意,p单元可以作为svor、svee或者同时作为svor/svee p单元。
[0118]
此外,在一个或多个实施例中可按任何适当的方式来组合特定的特征、结构、功能或特性。例如,在与两个实施例相关联的特定特征、结构、功能或特性不互斥的任何地方,可将第一实施例与第二实施例相组合。
[0119]
虽然已经结合其特定实施例描述了本公开,但本领域普通技术人员根据前述描述,将会清楚这种实施例的许多替换、修改和变化。本公开的实施例打算包含落在所附权利要求的宽广范围内的所有这样的替换、修改和变化。
[0120]
此外,为了图示和论述的简单,并且为了不模糊本公开,在给出的附图内可能示出或者不示出到集成电路(ic)芯片和其他组件的公知电力/接地连接。另外,可能以框图形式示出布置以避免模糊本公开,并且同时也考虑到了如下事实:关于这种框图布置的实现的具体细节是高度取决于要在其内实现本公开的平台的(即,这种具体细节应当完全在本领
域技术人员的视野内)。在阐述具体细节(例如,电路)以便描述本公开的示例实施例的情况下,本领域技术人员应当清楚,没有这些具体细节,或者利用这些具体细节的变体,也可实现本公开。说明书从而应当被认为是说明性的,而不是限制性的。
[0121]
描述了各种实施例作为示例。可以按任何适当方式来组合这些示例。例如,示例5可以与示例3和/或示例7相组合。
[0122]
示例1:一种装置,包括:处理器电路,来执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将其提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数对多个定时器事件进行分批。
[0123]
示例2:如示例1所述的装置,其中,所述多个参数包括所述多个定时器事件中的每个定时器事件的大致事件时段。
[0124]
示例3:如示例1所述的装置,其中,所述多个参数包括所述多个定时器事件中的每个定时器事件的到达偏好。
[0125]
示例4:如示例1所述的装置,其中,所述多个参数包括所述多个定时器事件中的每个定时器事件的长期数量要求。
[0126]
示例5:如示例1所述的装置,其中,所述多个参数包括所述多个定时器事件中的每个定时器事件的使能参数。
[0127]
示例6:如示例1所述的装置,其中,所述定时器电路用于在周期性的时间在运行时中断所述处理器电路。
[0128]
示例7:如示例6所述的装置,其中,所述周期性的时间是基于所述多个定时器事件之中的最频繁事件的。
[0129]
示例8:如示例1所述的装置,其中,所述定时器电路用于:当大致事件时段将在所述处理器电路的下一唤醒时段之前期满时,将中断字段设置为挂起。
[0130]
示例9:如示例1所述的装置,其中,所述定时器电路用于:当定时器事件的事件时段已经期满时,将中断字段设置为挂起。
[0131]
示例10:如示例1所述的装置,其中,所述定时器电路用于:当长期平均显示出对于给定时间段希望有更多事件时,将中断字段设置为挂起。
[0132]
示例11:如示例1所述的装置,其中,所述定时器电路从配置所述多个参数所针对的所述多个定时器事件之中确定最小唤醒时段。
[0133]
示例12:如示例1所述的装置,其中,所述应用编程接口包括事件注册接口来为每个定时器事件注册所述多个参数。
[0134]
示例13:一种装置,包括:处理器电路,来执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将其提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数和若干个定时器事件的最小唤醒时段按定期时间间隔对多个定时器事件进行分批。
[0135]
示例14:如示例13所述的装置,其中,所述定时器电路从配置所述多个参数所针对的所述多个定时器事件之中确定所述最小唤醒时段。
[0136]
示例15:如示例13所述的装置,其中,所述多个参数包括:所述多个定时器事件中的每个定时器事件的大致事件时段;所述多个定时器事件中的每个定时器事件的到达偏
好;所述多个定时器事件中的每个定时器事件的长期数量要求;以及所述多个定时器事件中的每个定时器事件的使能参数。
[0137]
示例16:如示例13所述的装置,其中,所述定时器电路用于:当大致事件时段将在所述处理器电路的下一唤醒时段之前期满时,将中断字段设置为挂起。
[0138]
示例17:如示例13所述的装置,其中,所述定时器电路用于:当定时器事件的事件时段已经期满时,将中断字段设置为挂起。
[0139]
示例18:如示例13所述的装置,其中,所述定时器电路用于:当长期平均显示出对于给定时间段希望有更多事件时,将中断字段设置为挂起。
[0140]
示例19:一种系统,包括:存储器;与所述存储器耦合的处理器电路;与所述处理器电路通信地耦合的无线接口,其中所述处理器电路用于执行一个或多个指令,其中所述处理器电路用于为每个定时器事件配置多个参数,并且将其提供给应用编程接口;以及定时器电路,来接收由所述处理器电路配置的所述多个参数,并且根据所述多个参数和若干个定时器事件的最小唤醒时段按定期时间间隔对多个定时器事件进行分批。
[0141]
示例20:如示例19所述的系统,其中,所述定时器电路从配置所述多个参数所针对的所述多个定时器事件之中确定所述最小唤醒时段,其中,所述多个参数包括:所述多个定时器事件中的每个定时器事件的大致事件时段;所述多个定时器事件中的每个定时器事件的到达偏好;所述多个定时器事件中的每个定时器事件的长期数量要求;以及所述多个定时器事件中的每个定时器事件的使能参数。
[0142]
提供了摘要,它将允许读者确定本技术公开的性质和主旨。摘要是带着如下理解提交的:它不会被用于限制权利要求的范围或含义。特此将所附权利要求纳入到详细描述中,其中每个权利要求独立作为一个单独的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献