用于计算机设备的基于应用优先级的功率管理的制作方法

文档序号:20274802发布日期:2020-04-03 19:30阅读:129来源:国知局
用于计算机设备的基于应用优先级的功率管理的制作方法

本发明的实施例总体上涉及计算的技术领域,并且更具体地涉及用于计算机设备的功率管理。



背景技术:

本文中所提供的背景描述是出于总体上呈现本公开的上下文的目的。除非在本文中另有指示,否则本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为包含在本部分中而被承认为现有技术。

随着集成电路(ic)制造技术改进,越来越多的功能和组件正被集成到计算机设备上。附加的组件和功能以及增加的性能需求可能会消耗更多的功率并对计算机设备生成更多的热。用于计算机设备的功率管理越来越重要。

附图说明

通过下列结合附图的详细描述,将容易地理解实施例。为了便于该描述,相同的附图标记指示相同的结构元件。通过示例方式而非通过限制的方式在附图的各图中示出各实施例。

图1图示了根据各个实施例的示例计算机设备,该示例计算机设备包括用于基于功率信息来控制由一个或多个处理器操作不同的应用的功耗的功率控制单元。

图2图示了根据各个实施例的存储在控制寄存器中的示例功率信息,该示例功率信息用于由功率控制单元使用以控制由一个或多个处理器操作应用的功耗。

图3图示了根据各个实施例的另一示例计算机设备,该示例计算机设备包括用于基于功率信息来控制由一个或多个处理器操作不同应用的功耗的功率控制单元。

图4图示了根据各个实施例的供计算机设备的功率控制单元基于功率信息来控制由一个或多个处理器操作应用的功耗的示例过程。

图5图示了根据各实施例的适用于实施本公开的各方面的示例计算机设备。

图6图示了根据各实施例的具有用于实施参考图1-5所述的方法的指令的存储介质。

图7图示了环境,其中可实施参考图1-6描述的各个实施例。

具体实施方式

可以在计算机设备的一个或多个处理器上操作许多应用。一个应用可以具有与另一应用不同的功耗操作特性。例如,一些应用可受益于“涡轮”(“turbo”)模式,其中至一个或多个处理器的增加的功率用于操作应用。可以在固定功率资源(例如,电压或频率)上操作一些其他应用(例如,嵌入式应用或物联网(iot)应用)。增加的功率资源或功耗可能向那些嵌入式应用或iot应用提供很少的额外益处或不向那些嵌入式应用或iot应用提供额外益处。许多当前的功率管理产品和解决方案基于关于各种应用的功耗需求的最坏情况条件来控制功率资源或功耗,而这些最坏情况条件可能没有考虑到不同应用的功耗的不同操作特性,并且无法实现对计算机设备的更好的功率管理。

如本文所公开的基于应用优先级的用于计算机设备的功率管理可以将不同的应用分类为不同的优先级类别,并且确定基于应用优先级类别来控制要在一个或多个处理器上操作的应用的功耗。在这样做时,本文公开的功率管理方案可以将更多的功率资源提供给重要的应用以改善性能,同时将更低的功率资源提供给不太重要的应用以将计算机设备的功耗保持为低。在实施例中,计算机设备可以是独立式计算机设备、iot设备、交通工具嵌入式计算机设备(vecd)(诸如,自主或半自主驾驶车辆(以下简称为adv)系统)、引擎/电子控制单元(ecu)、车载导航系统等、或任何其他计算机设备。

在实施例中,计算机设备可以包括一个或多个处理器、以及耦合到这一个或多个处理器的功率控制单元。功率控制单元可以接收第一功率信息和第二功率信息。第一功率信息可以包括针对要在一个或多个处理器上操作的第一应用的第一优先级信息,并且第二功率信息可以包括针对要在一个或多个处理器上操作的第二应用的第二优先级信息,其中第一优先级信息可以与第二优先级信息不同。功率控制单元可以确定基于针对要在一个或多个处理器上操作的第一应用的第一功率信息来控制第一功耗,并确定基于针对要在一个或多个处理器上操作的第二应用的第二功率信息来控制第二功耗。

在实施例中,可以公开用于控制具有一个或多个处理器的计算机设备的功率源的方法。该方法可以包括:接收针对要在一个或多个处理器上操作的第一应用的第一功率信息,该第一功率信息包括第一优先级信息,并且接收针对要在一个或多个处理器上操作的第二应用的第二功率信息,该第二功率信息包括第二优先级信息,其中第一优先级信息与第二优先级信息不同。之后,该方法可以包括:确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗;并且确定基于针对第二应用的第二功率信息来控制一个或多个处理器的第二功耗。

在实施例中,可以公开一种或多种非暂态计算机可读介质,该非暂态计算机可读介质包括用于操作计算机设备的功率控制单元的指令。响应于功率控制单元对指令的执行,功率控制单元可以接收第一功率信息和第二功率信息。第一功率信息可以包括针对要在计算机设备的一个或多个处理器上操作的第一应用的第一优先级信息,并且第二功率信息可以包括针对要在一个或多个处理器上操作的第二应用的第二优先级信息,其中第一优先级信息与第二优先级信息不同。功率控制单元可以进一步确定基于针对第一应用的第一功率信息来控制第一功耗,并且确定基于针对第二应用的第二功率信息来控制第二功耗。

在以下描述中,参考形成本文一部分的附图,其中贯穿各附图,相同的标记指示相同的部分,并且其中通过图示的方式示出了可实施的实施例。应理解,可利用其他实施例,并且可作出结构或逻辑的改变而不背离本公开的范围。因此,以下详细描述不应以限制的意义来理解,并且实施例的范围由所附权利要求及其等效方案来限定。

按照在理解要求保护的主题时最有帮助的方式,可将各种方法的操作依次描述为多个分立的动作或操作。然而,不应将描述的次序解释为暗示这些操作必然依赖于次序。具体而言,可以不按照呈现的次序执行这些操作。能以不同于所描述的实施例的次序执行所描述的操作。在附加的实施例中,可执行各种附加操作和/或可省略、拆分或组合所描述的操作。

对于本公开的目的,短语“a或b”和“a和/或b”意思是(a)、(b)或(a和b)。出于本公开的目的,短语“a、b和/或c”意思是(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或(a、b和c)。

说明书可使用短语“在实施例中”或“在多个实施例中”,其可各自可指代相同或不同实施例中的一个或多个。此外,如相对于本公开的实施例所使用的术语“包含”、“包括”、“具有”等是同义的。

如在下文(包括权利要求书)中所使用,术语“模块”或“例程”可指代专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的、或组)和/或存储器(共享的、专用的、或组)、组合逻辑电路和/或提供所描述功能的其他合适的组件,是以上组件的部分,或者包括以上组件。

在本公开记载“一个”或“第一”要素或其等效物的情况下,这种公开包括一个或多个此类要素,既不要求也不排除两个或更多个此类要素。此外,所标识的要素的顺序指示符(例如,第一、第二或第三)用于在要素之间进行区分,并且不指示或暗示所要求或所限定数量的此类要素,也不指示此类要素的特定位置或顺序,除非另外特别声明。

在本申请中可使用术语“与……耦合”和“耦合至”等。“耦合”可意指以下一个或多个。“耦合的”可意指两个或更多个元件直接物理或电气接触。然而,“耦合”还可意指两个或更多个元件彼此间接接触,但仍彼此协作或交互,并且可意指一个或多个其他元件被耦合或连接在被称为彼此耦合的元件之间。作为示例而非限制,“耦合”可意指两个或更多个元件或设备通过诸如例如主板之类的印刷电路板上的电连接而耦合。作为示例而非限制,“耦合”可意指两个或更多个元件/设备通过诸如有线和/或无线网络之类的一个或多个网络链接来协作和/或交互。作为示例而非限制,计算装置可包括“耦合”在主板上或通过一个或多个网络链接耦合的两个或更多个计算设备。

如本文中所使用,术语“电路”是指被配置成用于提供所描述的功能的硬件组件、是这些硬件组件的部分或者包括这些硬件组件,这些硬件组件诸如,电子电路、逻辑电路、处理器(共享的、专用的或组)和/或存储器(共享的、专用的或组)、专用集成电路(asic)、现场可编程器件(fpd)(例如,现场可编程门阵列(fpga)、可编程逻辑器件(pld)、复杂pld(cpld)、高容量pld(hcpld)、结构化asic、或可编程片上系统(soc)、数字信号处理器(dsp)等。在一些实施例中,电路可执行一个或多个软件或固件程序,以提供所描述的功能中的至少一些。

如本文中所使用,术语“处理器电路”可指能够顺序地且自动地执行算术或逻辑操作序列,记录、存储和/或传输数字数据的电路,是该电路的部分,或者包括该电路。术语“处理器电路”可指一个或多个应用处理器、一个或多个基带处理器、物理中央处理单元(cpu)、单核处理器、双核处理器、三核处理器、四核处理器、和/或能够执行或以其他方式操作计算机可执行指令的任何其他设备,这些计算机可执行指令诸如程序代码、软件模块和/或函数进程。

如本文中所使用,术语“接口电路”可指提供两个或更多个组件或设备之间的信息交换的电路,是该电路的部分,或者包括该电路。术语“接口电路”可指一个或多个硬件接口(例如,总线、输入/输出(i/o)接口、外围组件接口、网络接口卡等)。

如本文中所使用,术语“计算机设备”可描述能够顺序地且自动地执行算术或逻辑操作序列、被装备成用于将数据记录/存储在机器可读介质上并且传送和接收来自通信网络中的一个或多个其他设备的数据的任何物理硬件设备。计算机设备可被认为与计算机、计算平台、计算设备等同义,并且可在此后时不时地被称为计算机、计算平台、计算设备等。术语“计算机系统”可包括任何类型经互连的电子设备、计算机设备、或其组件。另外,术语“计算机系统”和/或“系统”可指计算机的彼此通信地耦合的各种组件。此外,术语“计算机系统”和/或“系统”可指彼此通信地耦合并且被配置成用于共享计算和/或联网资源的多个计算机设备和/或多个计算系统。“计算机设备”、“计算机系统”等的示例可包括蜂窝电话或智能电话、功能电话、平板个人计算机、可穿戴计算设备、自主传感器、膝上型计算机、台式个人计算机、视频游戏控制台、数字媒体播放器、手持式消息收发设备、个人数字助理、电子书阅读器、增强现实设备、服务器计算机设备(例如,独立式、机架式、刀片式等)、云计算服务/系统、网络元件、车载信息娱乐(ivi)、车载娱乐(ice)设备、仪表盘(ic)、抬头显示(hud)设备、机载诊断(obd)设备、仪表板(dashtop)移动装备(dme)、移动数据终端(mdt)、电子引擎管理系统(eems)、电子/引擎控制单元(ecu)、电子/引擎控制模块(ecm)、嵌入式系统、微控制器、控制模块、引擎管理系统(ems)、联网或“智能”装置、机器类型通信(mtc)设备、机器对机器(m2m)、物联网(iot)设备、和/或任何其他类似的电子设备。此外,术语“交通工具嵌入式计算机设备”可指物理地安装在交通工具上、内置在交通工具中、或以其他方式嵌入在交通工具中的任何计算机设备和/或计算机系统。

如本文中所使用,术语“网络元件”可被认为与联网的计算机、联网硬件、网络装备、路由器、交换机、集线器、网桥、无线电网络控制器、无线电接入网络设备、网关、服务器和/或任何其他类似设备同义,和/或可被称为以上各设备。术语“网络元件”可描述有线或无线通信网络的并且被配置成用于主控虚拟机的物理计算设备。此外,术语“网络元件”可描述为网络与一个或多个用户之间的数据和/或话音连接性提供无线电基带功能的装备。术语“网络元件”可被认为与“基站”同义和/或可被称为“基站”。如本文中所使用,术语“基站”可被认为与节点b、增强或演进型节点b(enb)、下一代节点b(gnb)、基站收发器(bts)、接入点(ap)、路边单元(rsu)等同义和/或被称为以上各项,并且可以描述为网络与一个或多个用户之间的数据和/或话音连接性提供无线电基带功能的装备。如本文中所使用,术语“交通工具对交通工具”和“v2v”可指涉及作为消息源或消息目的地的交通工具的任何通信。另外,如本文中所使用的“交通工具对交通工具”和“v2v”还可包括或等同于交通工具对基础设施(v2i)通信、交通工具对网络(v2n)通信、交通工具对行人(v2p)通信、或v2x通信。

如本文中所使用,术语“信道”可指用于传送数据或数据流的任何有形或无形传输介质。术语“信道”可与“通信信道”、“数据通信信道”、“传输信道”、“数据传输信道”、“接入信道”、“数据访问信道”、“链路”、“数据链路”、“载波”、“射频载波”、和/或表示传送数据所通过的路径或介质的任何其他类似术语同义,和/或等同于这些术语。另外,术语“链路”可指两个设备之间为了传送和接收信息的目的通过无线电接入技术(rat)的连接。

图1图示了根据各个实施例的示例计算机设备100,该示例计算机设备100包括用于基于功率信息来控制由一个或多个处理器(例如,处理器103)操作不同的应用(例如,应用141和应用143)的功耗的功率控制单元101。为清楚起见,下面可以将计算机设备100的特征描述为用于理解示例计算机设备的示例,该示例计算机设备可以包括用于基于功率信息来控制由一个或多个处理器操作不同的应用的功耗的功率控制单元。应当理解,计算机设备100中可以包括更多或更少的组件。此外,应当理解,计算机设备100内的设备和组件中的一个或多个可以包括来自以下描述的附加和/或变化的特征,并且可以包括本领域普通技术人员将视为和/或称为计算机设备的设备和组件的任何设备和组件。

在实施例中,计算机设备100可以包括功率控制单元101、处理器103、和功率源107。此外,计算机设备100可以包括用于处理器103的操作系统105。功率控制单元101可提供有第一功率信息111,其中该第一功率信息111可以包括第一优先级信息113和可选的附加信息。功率控制单元101可提供有第二功率信息121,其中该第二功率信息121可以包括第二优先级信息123和可选的附加信息。第一优先级信息113可以与第二优先级信息123不同。处理器103可以被配置成用于保存第一功率信息133和第二功率信息135,该第一功率信息133和第二功率信息135可以各自存储在控制寄存器中。另外,处理器103可以操作第一应用141和第二应用143。操作系统105可以包括调度器151。在实施例中,除了本公开的教导之外,功率控制单元101、处理器103、操作系统105、和功率源107可以分别是本领域普通技术人员将视为和/或称为功率控制单元、处理器、操作系统、或功率源的任何功率控制单元、处理器、操作系统、或功率源。另外,对于计算机设备100,可能存在图1中未示出的其他设备或组件,诸如输入设备、存储器、显示设备。

在实施例中,第一功率信息133可以由操作系统105的调度器151分配,并且可以包括针对第一应用141的功率资源信息。类似地,第二功率信息135可以由调度器151分配,并且可以包括针对第二应用143的功率资源信息。功率控制单元101可以从处理器103中的控制寄存器接收第一功率信息133,并且可以将接收到的第一功率信息存储为第一功率信息111。类似地,功率控制单元101可以从处理器103中的控制寄存器接收第二功率信息135,并且可以将接收到的第二功率信息存储为第二功率信息121。第一功率信息111或第二功率信息121的更多细节可以在图2中示出。功率控制单元101可以确定基于针对第一应用141的第一功率信息111来控制第一功耗,并且确定基于针对第二应用143的第二功率信息121来控制第二功耗。功率控制单元101的操作的更多细节可以在图4中示出。

在实施例中,功率源107可以是用于将功率提供至计算机设备100的一个或多个组件(例如,处理器103)的直流(dc)功率源或交流(ac)功率源。在一些实施例中,功率源107可以包括一个或多个电池组。功率源107可以通过电压调节器(未示出)耦合到计算机设备100的组件。即使仅示出一个功率源107,也可以使用附加功率源。在一些实施例中,功率控制单元101可以通过控制功率源107向处理器103供电来操作第一应用141来确定基于针对应用的功率信息来控制功耗。

在实施例中,计算机设备100可以是片上系统(soc),该片上系统(soc)将功率控制单元101、处理器103、高速缓存、随机存取存储器(ram)、外围功能或其他功能集成到一个芯片上。在一些实施例中,功率源107也可以与处理器103和功率控制单元101集成。可代替地,计算机设备100可以是集成在同一电路板上的系统以包括功率控制单元101、处理器103和其他组件。计算机设备100可以用于各种应用,诸如无线通信、数字信号处理、安全和其他应用。例如,计算机设备100可以是vecd(诸如,图7所示的vecd)、ecu、车载导航系统、可穿戴设备、智能电话、计算机平板设备、膝上型计算机、游戏控制器、机顶盒、信息娱乐控制台、iot设备或其他设备。

在实施例中,处理器103可以是中央处理单元(cpu)。在一些实施例中,处理器103可以是可执行程序(例如,应用141或应用143)的可编程设备。在实施例中,处理器103可以是微控制器、16位处理器、32位处理器、64位处理器、单核处理器、多核处理器、数字信号处理器、嵌入式处理器或任何其他处理器。此外,处理器103可以包括多个核。处理器103能以操作频率或电压操作。在一些实施例中,功率控制单元101可以通过控制处理器103以特定操作频率或电压来操作第一应用141来确定基于针对应用141的功率信息111来控制功耗。通常,处理器103操作第一应用141的更高的操作频率或电压可能消耗更多的功率。

在实施例中,操作系统105可以是管理用于计算机设备100的硬件资源或软件资源的任何系统软件,并且可以将服务提供给应用(例如,应用141或应用143)。操作系统105可以是androidos、ios、linux、实时操作系统(rtos)、汽车信息娱乐操作系统等。例如,操作系统105可以是实时操作系统,诸如,vxworks、pikeos、ecos、qnx、montavistalinux、rtlinux、windowsce或其他操作系统。

在实施例中,应用(例如,应用141或应用143)可以是程序的线程、或进程的组件,应用可以是可由操作系统105的调度器151独立管理的最小编程指令序列。应用141可以用作以下描述的示例。对应用141的任何描述可同样适用于应用143。在一些实施例中,应用141可以包括在处理器103上同时执行的多个线程。在实施例中,应用141可以包括用于收集数据的程序的线程、用于下载交通信息的程序的线程、用于车载信息娱乐的程序的线程、用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程、用于控制相机的程序线程、用于控制传感器的程序的线程或任何其他程序。

在实施例中,不同的应用可以具有不同的功耗操作特性。操作系统105中包括的调度器151可以维持功率类别或应用类别的列表,并且可以进一步向各个应用(诸如,应用141)分配功率类别或应用类别。第一功率信息111中包括的第一优先级信息113可以指示针对应用141的此类功率类别。调度器151可以进一步将可在图2中示出的其他计算资源或功率资源分配给应用(例如,应用141)。

在实施例中,当应用141可以利用固定功率供给(例如,固定电压或固定频率功率供给)时,应用141可以是服务质量(qos)应用类别的应用。例如,当应用141可用于嵌入式计算机设备或iot设备时,应用141可以是服务质量应用类别的应用。当嵌入式计算机设备或iot设备可能以低于固定频率或电压功率供给的频率或电压消耗功率时,该嵌入式计算机设备或iot设备可能无法操作应用141以满足为应用141指定的服务质量。另一方面,当嵌入式计算机设备或iot设备能以高于固定频率或电压功率供给的频率或电压消耗功率时,对于由嵌入式计算机设备或iot设备操作的应用141的性能几乎没有或没有获益。

作为另一示例,应用141可以是用于网络计算机设备的服务质量应用类别的应用,其中,可以针对网络计算机设备可能遇到的最坏情况通信量为应用141指定服务质量。如果网络计算机设备可能以低于固定频率或电压功率供给的频率或电压消耗功率,则网络计算机设备可能无法操作应用141以满足为应用141指定的服务质量。另一方面,网络计算机设备没有理由以高于固定频率或电压的功率供给的频率或电压来操作应用141,因为对于应用141的性能几乎没有或没有益处。

作为又一示例,当应用141可能是由车载汽车系统操作的用于车载信息娱乐的程序的线程或用于车载信息娱乐的娱乐任务(例如,视频或音频回放)时,该应用141可以是服务质量应用类别的应用。如果车载汽车系统可能以低于固定频率或电压功率供给的频率或电压消耗功率,则车载汽车系统可能无法操作应用141的娱乐任务。另一方面,车载汽车系统没有理由以高于固定频率或电压功率供给的频率或电压消耗功率来操作应用141,因为以更多的功率操作应用141几乎没有或没有益处。

在实施例中,应用141可以是任务关键应用类别的应用,可以不断地为计算机设备100的重要的或基本功能操作这种任务关键应用类别的应用。例如,应用141可以是由车载汽车系统操作的用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程或自主驾驶任务。对于任务关键应用类别的应用,可以为应用141分配保证的最小计算资源和功率资源,例如,用于处理器103的最小电压或操作频率,低于此最小电压或操作频率时,应用141可能无法执行期望的任务,例如,自主驾驶任务、或控制仪表板。此外,应用141可以受益于高于保证的最小计算资源和功率资源的更多计算资源或功率资源。例如,当车载汽车系统可能消耗用于应用141(例如,自主驾驶任务、或控制仪表板)的更多计算资源或功率资源时,应用141可以能够更准确地执行自主驾驶任务,并且处理更多信息以作出更好的决策。因此,在应用141可能是任务关键型应用类别的应用时,车载汽车系统可以在不影响其他任务的情况下以最大允许的频率或电压消耗功率来操作应用141。

在实施例中,应用141可以是响应性应用类别的应用,该响应性应用类别的应用可以响应于一些外部因素而操作,并且当外部因素存在时可以持续有限的时间段。例如,应用141可以是用于控制相机的程序的线程、或者用于控制交通工具的传感器的程序的线程。响应性应用类别的应用可具有更短的持续时间。例如,交通工具的驾驶员可以激活左转灯并开始左转。对于短时间,能以全分辨率开启交通工具的侧相机或传感器,并且应用141可以在转向过程中控制相机或传感器。应用141可以是响应性应用类别的应用,因为它是响应于驾驶员的左转动作处于操作。当应用141可能是响应性应用类别的应用时,应用141可以具有与任务关键应用类别的功耗操作特性相似的功耗操作特性。应用141可以被分配保证最小的计算资源和功率资源(例如,处理器103的最小电压或操作频率),并且可以进一步在不影响其他任务的情况下以最大允许的频率或电压消耗功率。当交通工具完成由驾驶员执行的左转时,分配给应用141的功率源可以结束。

在实施例中,当应用141可以扮演在后台操作的支持性角色时,应用141可以是后台应用类别的应用。例如,应用141可以是由作为后台应用的车载汽车系统操作的用于收集数据的程序、用于下载交通信息的程序的线程。作为后台应用类别,应用141可以没有严格的截止日期,并且可以在空闲的计算资源和功率资源可用时在不同时间操作。例如,应用141可以在不影响由处理器103操作的任何其他应用的情况下由计算机设备100以功率控制单元101或处理器103允许的最低可能的频率或电压操作。

在实施例中,当应用141可能被分配灵活的计算资源和功率资源时,应用141可以是用户体验应用类别的应用,并且只要来自功率源107的功率预算存在,就可以动态地调整功率资源。与任务关键应用类别或响应性应用类别的应用不同,作为用户体验应用类别,应用141可以不具有保证的最小计算资源和功率资源(例如,最小电压或操作频率)。进一步与服务质量应用类的应用不同,作为用户体验应用类别,应用141可以受益于更多的计算资源和功率资源。此外,应用141可以不仅受益于处理器103允许的最低可能的频率或电压,因此与后台应用类别的应用不同。

上文所述不同的功率类别或应用类别(例如,服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别)仅作为示例,并且不是限制性的。对于应用141,可以存在其他附加的或不同种类的功率类别或应用类别。在一些实施例中,可以由数字值而不是描述性术语来表示功率类别或应用类别,以表示不同应用之间的相对重要性,使得控制单元101可以基于功率类别或应用类别来分配不同的功率资源。在实施例中,应用可以属于多个应用类别,其中最高的或功率最敏感的类别是控制性的。

在实施例在,功率控制单元101可以确定基于针对要在处理器103上操作的第一应用141的第一功率信息111来控制第一功耗,并且确定基于针对要在处理器103上操作的第二应用143的第二功率信息121来控制第二功耗。功率控制单元101可以通过控制功率源107向处理器103供电、或者通过控制处理器103的操作频率或电压来操作第一应用来确定基于针对第一应用141的第一功率信息111来控制第一功耗。功率控制单元101的操作的更多细节可以在图4中图示出。

图2图示了根据各个实施例的存储在控制寄存器中的示例功率信息211,该示例功率信息211用于功率控制单元使用以控制由一个或多个处理器操作应用的功耗。功率信息211可以类似于如图1所示的功率信息111、功率信息121、功率信息133或功率信息135。功率信息211可以存储在控制寄存器中,以供功率控制单元101使用以控制由处理器103操作应用141或应用143的功耗。

在实施例中,功率信息211可以包括优先级信息213和可选的附加信息215。功率信息211可以存储在64位、32位控制寄存器或其他尺寸的控制寄存器中。根据在计算机设备上操作的应用的类别,优先级信息213可以占用12位、或8位,而附加信息215可以占用52位、或56位、或者其他数量的位。另外,优先级信息213可以位于控制寄存器的最高有效的位、控制寄存器的最低有效的位、或它们之间的某处。

在实施例中,优先级信息213可以类似于用于操作应用141或应用143的优先级信息113、或优先级信息123,如图1中所示。在实施例中,优先级信息213可以指示应用可以是从服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别中选择的功率类别的应用。在一些其他实施例中,优先级信息213可以被分配为数值而不是详细名称。例如,根据在计算机设备上操作的应用,优先级信息213可以是1至10之间的整数值、或者任何其他合适的范围。

在实施例中,附加信息215可以包括用于操作应用的最小允许电压、最大允许电压、最小允许频率、或最大允许频率,如针对各种应用类别所讨论。附加信息215可以进一步被划分为多个部分。如所示,附加信息215可以被划分为五个部分:部分s2、部分s3、部分s4、部分s5和部分s6,每个部分表示不同的参数。例如,部分s2可以表示对于任务关键型应用类别的应用不能被违反的保证的最小计算资源和功率资源。部分s3可以表示对于应用没有理由超过的最大计算资源和功率资源。部分s4可以表示没有硬限制的能量性能偏好。部分s5可以表示对于应用的期望的计算资源和功率资源分配。部分s6可以表示用于功率信息211的时间窗口。

图3图示了根据各个实施例的另一示例计算机设备300,该示例计算机设备300包括用于基于功率信息来控制由一个或多个处理器(例如,处理器303、处理器304、处理器306)操作不同应用的功耗的功率控制单元301。功率控制单元301和处理器303可以类似于如图1所示的功率控制单元101和处理器103。

在实施例中,计算机设备300可以用于各种应用,诸如无线通信、数字信号处理、安全、和其他应用)。例如,计算机设备100可以是vecd(诸如,图7所示的vecd)、ecu、车载导航系统、可穿戴设备、智能电话、计算机平板设备、膝上型计算机、游戏控制器、机顶盒、信息娱乐控制台、iot设备或其他设备。

在实施例中,功率控制单元301、处理器303、处理器304、和处理器306可以集成到soc310上。此外,计算机设备300可以进一步包括附加的soc,例如,可类似于soc310的soc320和soc330。例如,soc320或soc330还可以包括功率控制单元和一个或多个处理器。计算机设备300还可以包括嵌入式控制器308和操作系统305。

在实施例中,功率源307可以是用于将功率提供至计算机设备300的一个或多个组件的直流(dc)功率源或交流(ac)功率源。在一些实施例中,功率源307可以包括一个或多个电池组。功率源307可以通过电压调节器(未示出)耦合到计算机设备300的组件。即使仅示出一个功率源307,也可以使用附加功率源。例如,处理器中的每一个(例如,处理器303、处理器304、或处理器306)可以具有相应的功率源。此外,每个soc(例如soc310、soc320和soc330)可以具有其相应的功率源。在一些实施例中,功率控制单元301可以通过控制功率源307向处理器303供电来确定基于针对应用的功率信息来控制功耗。

在实施例中,功率控制单元301可以包括功率信息311。功率信息311可以类似于如图1所示的功率信息111,并且可以包括优先级信息。功率控制单元101还可以包括未示出的附加功率信息。处理器303可以包括功率信息333,该功率信息333可以类似于功率信息133并且可以存储在控制寄存器中。此外,处理器103可以操作一个或多个应用。

在实施例中,功率控制单元301、处理器303、和操作系统305的操作可以执行如针对图1所展示的如针对功率控制单元101、处理器103和操作系统105所描述的类似操作的操作。例如,功率信息333可以由操作系统305的调度器分配,并且可以包括针对要由处理器303操作的应用的功率资源信息。功率控制单元301可以从处理器303中的控制寄存器接收第一功率信息333,并且可以将接收到的第一功率信息存储为第一功率信息311。功率控制单元301可以确定基于针对应用的功率信息311来控制功耗。

图4图示了根据各个实施例的供计算机设备的功率控制单元基于功率信息来控制由一个或多个处理器操作应用的功耗的示例过程400。在实施例中,过程400可以是由图1中的功率控制单元101或图3中的功率控制单元301基于如图1所示的功率信息111中或功率信息121中的功率信息来执行的过程。功率信息111或功率信息121可以具有如图2所示的功率信息211的格式。在实施例中,过程400可以是由图7所示的vecd的功率控制单元执行的过程。

过程400可以在交互401和/或交互411处开始。在交互401期间,功率控制单元可以接收针对要在一个或多个处理器上操作的第一应用的第一功率信息,该第一功率信息包括第一优先级信息。例如,在交互401处,功率控制单元101可以接收针对要在处理器103上操作的第一应用141的第一功率信息111,该第一功率信息包括第一优先级信息113。

类似地,在交互411期间,功率控制单元可以接收针对要在一个或多个处理器上操作的第二应用的第二功率信息,该第二功率信息包括第二优先级信息。例如,在交互411处,功率控制单元101可以接收针对要在处理器103上操作的第二应用143的第二功率信息121,该第二功率信息121包括第二优先级信息123。

在交互403期间,功率控制单元可以确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗。例如,在交互403期间,功率控制单元101可以确定基于针对第一应用141的第一功率信息111来控制处理器103的第一功耗。

类似地,在交互413期间,功率控制单元可以确定基于针对第二应用的第二功率信息来控制一个或多个处理器的第二功耗。例如,在交互413处,功率控制单元101可以确定基于针对第二应用143的第二功率信息121来控制处理器103的第二功耗。

在实施例中,当针对第一应用141的第一功率信息111中包括的第一优先级信息113用于指示第一应用141是服务质量应用类别的应用时,功率控制单元101可以确定消耗如由第一功率信息111指示的固定频率功率来操作第一应用141,这可以由第一功率信息111中包括的附加信息向处理器103指示以操作第一应用141。

在实施例中,当针对第一应用141的第一功率信息111中包括的第一优先级信息113用于指示第一应用141是任务关键型应用类别的应用时,功率控制单元101可以确定以最大允许的频率消耗功率,这可以由第一功率信息111中包括的附加信息向处理器103指示以操作第一应用141。

在实施例中,当针对第一应用141的第一功率信息111中包括的第一优先级信息113用于指示第一应用141是后台应用类别的应用时,功率控制单元101可以确定以功率控制单元101允许的最低可能的频率消耗功率来操作第一应用141,这可以由第一功率信息111中包括的附加信息向处理器103指示以操作第一应用141。

另外,功率控制单元101可以对处理器103执行其他功率管理操作。例如,功率控制单元101可以检测处理器103的功率、热、或电流限制。一旦检测到此类功率、热、或电流限制,功率控制单元101就能以类似的比率均匀地缩放由处理器103操作的所有应用的功率资源。另外或替代地,功率控制单元101可以选择性地减少处理器103操作不同的应用的功率资源或功耗。

例如,当针对第一应用141的第一功率信息111中包括的第一优先级信息113低于针对第二应用143的第二功率信息121中包括的第二优先级信息123时,在功率控制单元101用于降低由处理器103操作第二应用143的第二功耗之前,功率控制单元101可以降低由处理器103操作第一应用141的第一功耗。在实施例中,当第一优先级信息113用于指示第一应用141是后台应用类别的应用时,当第二优先级信息123用于指示第二应用是用户体验应用类别、任务关键型应用类别或响应性应用类别的应用时,第一优先级信息113可以具有相比第二优先级信息123更低的优先级。类似地,当第一优先级信息113用于指示第一应用141是用户体验应用类别的应用时,当第二优先级信息123用于指示第二应用是任务关键型应用类别的应用时,第一优先级信息113可以具有相比第二优先级信息123更低的优先级。

图5图示了示例计算机设备500,该示例计算机设备500作为实施本公开的所选择的多个方面可以是合适的。设备500可以是如图1和图3所示的计算机设备100或计算机设备300、或如图7所示的vecd的示例。如所示,设备500可包括一个或多个处理器502,每个处理器具有一个或多个处理器核,或者以及任选地包括硬件加速器503(其可以是asic或fpga)。在替代实施例中,硬件加速器503可以是处理器502的部分,或者一起被集成在soc上。另外,设备500可包括存储器504和大容量存储506,该存储器504可以是多个已知的永久存储介质中的任何一个。此外,500可以包括输入/输出设备508。进一步地,设备500可以包括通信接口510和514。通信接口510和514可以是多个已知的通信接口中的任何一个。可经由系统总线512将这些元件彼此耦合,该系统总线512可表示一个或多个总线。在多个总线的情况下,可由一个或多个总线桥(未示出)桥接它们。此外,设备500可以包括功率控制单元505,该功率控制单元505可以是如图1和图3所示的功率控制单元101或功率控制单元301的示例。

这些元件中的每个元件可执行在本领域中已知的其常规功能。具体而言,如结合图1至图4所描述,可以采用功率控制单元505来存储和主控编程指令的执行,这些编程指令实现与基于针对要在一个或多个处理器上操作的应用的功率信息来控制功耗相关联的操作和/或其他功能,这些编程指令统称为计算逻辑522,该计算逻辑522提供当前公开中描述的实施例的能力。可通过由(多个)处理器502支持的汇编指令或可编译成此类指令的诸如例如c之类的高级语言来实现各种元件。能以硬件(例如,经由硬件加速器503)实现与基于针对要在一个或多个处理器上操作的应用的功率信息来控制功耗相关联的、不以软件实现的操作。如结合图1至图4所描述,能以硬件加速器实现与基于针对要在一个或多个处理器上操作的应用的功率信息来控制功耗相关联的、不以软件实现的操作。

这些元件502-522的数量、能力和/或容量可根据设备500被配置成支持的其他设备的数量而变化。在其他方面,元件502-522的构成是已知的,并相应地将不作进一步描述。

如本领域技术人员将领会的那样,本公开可被具体化为方法或计算机程序产品。相应地,除了以如之前所描述的硬件具体化之外,本公开可以采取完全软件实施例(包括固件、驻留软件、微代码等)或结合硬件与软件方面的实施例的形式,它们一般全部可称为“电路”、“模块”或“系统”。

此外,本公开可采取计算机程序产品的形式,该计算机程序产品具体化在任何有形的或非暂态的表达介质中,该表达介质具有具体化在介质中的计算机可用的程序代码。图6图示出示例计算机可读非暂态存储介质,其可适合用于存储指令,响应于由装置对这些指令的执行,这些指令使该装置实施本公开的所选择的多个方面。如所示,非暂态计算机可读存储介质602可包括数条编程指令604。编程指令604可被配置成用于使设备(例如,设备500)响应于在功率控制单元中的编程指令的执行来执行例如与功率控制单元101或功率控制单元301相关联的各种操作,如图1和图3所示。

在替代实施例中,相反,编程指令604可设置在多个计算机可读的非暂态存储介质602上。在替代实施例中,编程指令604可设置在诸如信号之类的计算机可读暂态存储介质602上。可以利用一种或多种计算机可用或计算机可读介质的任何组合。计算机可用介质或计算机可读介质可以例如是但不限于电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非排他性列表)将包括下述项:具有一条或多条线的电连接件、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储设备、诸如支持互联网或内联网的传输介质之类的传输介质、或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而被电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。在本文档的上下文中,计算机可用介质或计算机可读介质可以是可以包含、存储、传送、传播、或传输程序以供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备一起使用的任何介质。计算机可用介质可包括被传播的数据信号与随其具体化在基带中或作为载波的一部分的计算机可用程序代码。可使用任何合适的介质(包括但不限于无线、有线、光纤缆线、rf等)来传送该计算机可用程序代码。

用于执行本公开的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,这一种或多种编程语言包括诸如java、smalltalk、c++等的面向对象的编程语言以及诸如“c”编程语言或类似的编程语言的常规的过程编程语言。该程序代码可完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立式软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一场景中,可通过任何类型的网络(包括局域网(lan)或广域网(wan))将远程计算机连接至用户的计算机,或可(例如,通过使用互联网服务提供商的互联网)进行至外部计算机的连接。

参照根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图描述了本公开。将会理解,可由计算机程序指令来实现流程图说明和/或框图的每一个框以及流程图说明和/或框图中的框的组合。可将这些计算机程序指令提供给通用计算机的处理器、专用计算机、或其他可编程数据处理装置来生产机器,使得经由计算机的处理器或其他可编程数据处理装置执行的这些指令创建用于实现在流程图和/或框图的一个或多个框中所指定的功能/动作的装置。

也可将这些计算机程序指令存储在计算机可读介质中,该计算机可读介质可指示计算机或其他可编程数据处理装置按照特定方式运作,使得存储在该计算机可读介质中的这些指令生产制品,该制品包括实现流程图和/或框图的一个或多个框中所指定的功能/动作的指令装置。

也可将这些计算机程序指令加载到计算机或其他可编程数据处理装置上以使一系列操作步骤在该计算机或其他可编程装置上执行来产生计算机实现的进程,使得在该计算机或其他可编程装置上执行的这些指令提供用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的进程。

图中的流程图和框图图示了根据本公开的各实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。在这方面,流程图或框图中的每一个框可表示包括用于实现(多个)所指定的逻辑功能的一条或多条可执行指令的代码模块、代码段或代码部分。还应当注意,在一些替代实现中,框中所标注的多个功能可不按图中所标注的次序发生。例如,取决于所涉及的功能,实际上可基本上同时执行连续地示出的两个框,或者有时可按相反的次序来执行这些框。也将注意,可由执行所指定功能或动作的专用基于硬件的系统或专用硬件和计算机指令的多种组合来实现框图和/或流程图说明中的每一个框和框图和/或流程图说明中的多个框的组合。如在本文中所使用,“计算机实现的方法”可以指由以下各项执行的任何方法:一个或多个处理器、具有一个或多个处理器的计算机系统、诸如智能电话(其可以包括一个或多个处理器)的移动设备、平板计算机、膝上型计算机、机顶盒、游戏控制台等。

可将实施例实现为计算机进程、计算系统或实现为制品,诸如,计算机可读介质的计算机程序产品。计算机程序产品可以是计算机存储介质,该计算机存储介质可由计算机系统读取并对计算机程序指令编码以执行计算机进程。

所附权利要求书中的所有“装置+功能”元件或“步骤+功能”元件的对应的结构、材料、动作及等效物旨在包括用于结合明确要求其权利的其他要求保护的元件来执行该功能的任何结构、材料或动作。已出于说明和描述的目的呈现了本公开的描述,但是该描述不旨在是穷举性的,也不限于按所公开形式的本公开。许多修改和变型对本领域普通技术人员将是显而易见的,而不背离本公开的范围和精神。选择并描述实施例是为了最好地解释本公开的原理和实际应用,并且使其他本领域普通技术人员能够理解对具有各种修改的实施例的公开适用于所构想的特定用例。

图7图示出环境700,其中可实施参考图1-6描述的各个实施例。环境700包括交通工具701、无线接入节点703和云计算服务705(也称为“云705”、“该云705”、等)。交通工具701可以是具有具有vecd711的adv,该vecd711具有功率控制单元,该功率控制单元用于基于功率信息来控制由一个或多个处理器操作不同应用的功耗。出于说明性目的,提供了以下描述,包括在二维(2d)高速公路/公路/道路环境中的交通工具701的部署场景。然而,本文描述的实施例也适用于任何类型的交通工具,诸如具有用于基于功率信息来控制由一个或多个处理器操作不同应用的功耗的功率控制单元的卡车、公共汽车、摩托车、轮船或汽艇、和/或任何其他机动设备。例如,诸如轮船、渡船、驳船、气垫船等之类的水上交通工具能以与交通工具701相同或相似的方式(例如,使用v2x电路和基础设施)进行交互和/或通信,并且此类交通工具也可以实现功率控制单元以用于基于功率信息来控制由一个或多个处理器操作不同应用的功耗。本文描述的实施例还可适用于其中可以将交通工具701可实现为飞行物体(诸如,飞机、无人机、无人飞行器(uav)、和/或任何其他类似机动设备)的三维(3d)部署场景。

交通工具701可以是用于运输人员或货物的任何类型的机动交通工具或设备,其可配备有用于驾驶、停车、乘客舒适性和/或安全性等的控件。如本文所用的术语“电机”、“机动的”等可指将一种形式的能量转换成机械能的设备,并且可包括内燃机(ice)、压缩内燃机(cce)、电动机和混合动力(例如,包括ice/cce和(多个)电动机)。尽管图7仅示出了单个交通工具701,但是交通工具701可以表示具有不同品牌、型号、装饰等的多个单独的机动交通工具,这些交通工具在本文中可以统称为“交通工具701”。在实施例中,如先前提到的,交通工具701可包括vecd711(例如,关于图1所示和描述的计算机设备100或图3所示的计算机设备300)。vecd711可以是安装在交通工具上、内置到交通工具中、或以其他方式嵌入在交通工具中的、并且能够基于功率信息来控制由一个或多个处理器操作不同应用的功耗的任何类型的计算机设备。在一些实施例中,vecd711可以是用于控制交通工具701的一个或多个系统的计算机设备,这一个或多个系统诸如,ecu、ecm、嵌入式系统、微控制器、控制模块、ems、obd设备、dme、mdt等。

vecd711可包括可被配置用于执行根据本文所讨论的各实施例的各种功能的一个或多个处理器(具有一个或多个处理器核并且可选地,一个或多个硬件加速器)、存储器设备、通信设备等。例如,vecd711可以是图5所示的计算机设备500,并且可以执行存储在计算机可读介质(例如,如图6所示的计算机可读介质602)中的指令,或可以利用逻辑(例如,利用适当的比特流、逻辑块等)进行预配置,以基于功率信息来控制由一个或多个处理器操作不同应用的功耗。下面参照图1-6讨论用于基于功率信息来控制由一个或多个处理器操作不同应用的功耗的各种方法、步骤、过程等。

由vecd711获得的数据可包括来自嵌入在交通工具701中的一个或多个传感器的传感器数据、来自被包括在其他交通工具701(未示出)中的其他vecd701的数据分组、来自云705和/或网络基础设施(例如,蜂窝通信网络的核心网络元件等)的数据分组和/或数据流、来自机载导航系统(例如,全球导航卫星系统(gnss)、全球定位系统(gps)等)的导航信令/数据等。在实施例中,vecd711还可包括通信电路和/或输入/输出(i/o)接口电路或结合通信电路和/或输入/输出(i/o)接口电路来操作,以获得用于各种源的数据。

交通工具701的通信电路可经由无线接入节点703与云705通信。无线接入节点703可以是被配置成用于将无线通信服务提供给与无线接入节点703相关联的覆盖区域或小区内的移动设备(例如,交通工具701中的vecd711或某个其他合适设备)的一个或多个硬件计算机设备。无线接入节点703可包括发射机/接收机(或替代地,收发机),该发射机/接收机被连接到一个或多个天线、一个或多个存储器设备、一个或多个处理器、一个或多个网络接口控制器和/或其他类似组件。一个或多个发射机/接收机可被配置成经由链路(例如,链路707)向一个或多个移动设备传送数据信号/从一个或多个移动设备接收数据信号。此外,一个或多个网络接口控制器可被配置成用于在另一回程连接(未示出)上与各种网络元件(例如,核心网络内的一个或多个服务器等)进行发射/接收。在实施例中,vecd711可生成数据并通过链路707将数据传送至无线接入节点703,并且无线接入节点703可通过回程链路709将数据提供至云705。另外,在交通工具701的操作期间,无线接入节点703可以通过链路709从云705获得旨在用于vecd711的数据,并且可以通过链路707将该数据提供给vecd711。交通工具701中的通信电路可根据如本文中所讨论的一个或多个无线通信协议来与无线接入节点703通信。

作为示例,无线接入节点703可以是与蜂窝网络相关联的基站(例如,lte网络中的enb、新无线电访问技术(nr)网络中的gnb、wimax基站等)、rsu、远程无线电头端、中继无线电设备、小蜂窝基站(例如,毫微微蜂窝、微微蜂窝、家庭演进型节点b(henb)等)、或其他类似网络元件。在其中无线接入节点是基站的实施例中,无线接入节点703可被部署在户外以在交通工具701不受束缚的情况下操作时(例如,当被部署在公共道路、街道、高速公路等上时)为交通工具701提供通信。

在一些实施例中,无线接入节点703可以是网关(gw)设备,该网关设备可包括一个或多个处理器、通信系统(例如,包括网络接口控制器、连接至一个或多个天线的一个或多个发射机/接收机,等等)以及计算机可读介质。在此类实施例中,gw可以是无线接入点(wap)、家庭/商业服务器(具有或不具有射频(rf)通信电路系统)、路由器、交换机、集线器、无线电信标和/或任何其他类似网络设备。在其中无线接入节点703是gw的实施例中,无线接入节点703可被部署在室内设置(诸如,车库、工厂、实验室或测试设施)中,并且可被用于在停车时、在开放市场上出售之前、或以其他方式不是在不受束缚的情况下操作时提供通信。

在实施例中,云705可表示互联网、一个或多个蜂窝网络、局域网(lan)或广域网(wan),该广域网(wan)包括专有和/或企业网络、传输控制协议(tcp)/基于网际协议(ip)的网络、或其组合。在此类实施例中,云705可与拥有或控制提供网络相关服务所必需的装备和其他元件的网络运营商相关联,该装备或其他元件诸如一个或多个基站或接入点(例如,无线接入节点703)、用于路由数字数据或电话呼叫的一个或多个服务器(例如,核心网络或骨干网络)等。用于经由此类服务进行通信的实现方式、组件和协议可以是本领域已知的,并且为了简洁而在本文中省略。

在一些实施例中,云705可以是提供对计算资源池的访问的计算机设备(例如,数据中心或数据仓库内或与数据中心或数据仓库相关联的服务器、存储设备、应用等)的系统。术语“计算资源”可以指计算环境内和/或特定计算机设备内的物理或虚拟组件,诸如,存储器空间、处理器时间、电功率、输入/输出操作、端口或网络插座等。在这些实施例中,云705可以是:私有云,其向单个组织提供云服务;公共云,其向公众提供计算资源并在所有消费者/用户之间共享计算资源;或者混合云或虚拟私有云,其使用资源的部分来提供公共云服务,同时使用其他专用资源来提供私有云服务。例如,混合云可包括私有云服务,该私有云服务也为某些应用或用户利用一个或多个公共云服务,诸如,提供从各种数据存储或数据源获得数据。在实施例中,公共云管理平台(例如,被实现为跨云705和数据库系统而主控的各种虚拟机和应用)可协调向交通工具701的vecd711的数据递送。用于经由此类服务进行通信的实现方式、组件和协议可以是本领域已知的,并且为了简洁而在本文中省略。

因此,已描述了本公开的各示例实施例,它们包括但不限于:

示例1可包括一种计算机设备,包括:一个或多个处理器;耦合到一个或多个处理器的功率控制单元,其中,该功率控制单元用于:接收针对要在一个或多个处理器上操作的第一应用的第一功率信息、以及针对要在一个或多个处理器上操作的第二应用的第二功率信息,第一功率信息包括第一优先级信息,第二功率信息包括第二优先级信息;其中第一优先级信息与第二优先级信息不同;确定基于针对要在一个或多个处理器上操作的第一应用的第一功率信息来控制第一功耗,并确定基于针对要在一个或多个处理器上操作的第二应用的第二功率信息来控制第二功耗。

示例2可以包括示例1的计算机设备,其中,第一优先级信息用于指示第一应用是从服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别中选择的功率类别的应用。

示例3可以包括示例1的计算机设备,其中,第一功率信息进一步包括最小允许电压、最大允许电压、最小允许频率、或最大允许频率。

示例4可以包括示例1的计算机设备,其中,第一应用包括用于收集数据的程序的线程、用于下载交通信息的程序的线程、用于车载信息娱乐的程序的线程、用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程、用于控制相机的程序线程、或用于控制传感器的程序的线程。

示例5可以包括示例1-4中的任一项的计算机设备,其中,功率控制单元用于通过控制功率源向一个或多个处理器供电来操作第一应用或通过控制一个或多个处理器的操作频率或电压来操作第一应用来确定基于针对第一应用的第一功率信息来控制第一功耗。

示例6可以包括示例1-4中的任一项的计算机设备,其中,针对第一应用的、包括第一优先级信息的第一功率信息由用于该计算机设备的操作系统的调度器分配,该第一功率信息存储在一个或多个处理器中的控制寄存器中,并且功率控制单元用于接收来自控制寄存器的第一功率信息。

示例7可以包括示例1-4中任一项的计算机设备,其中,功率控制单元用于确定一个或多个处理器消耗如由第一功率信息指示的固定频率功率来操作第一应用,并且其中,第一功率信息的第一优先级信息用于指示第一应用是服务质量应用类别的应用。

示例8可以包括示例1-4中任一项的计算机设备,其中,功率控制单元用于确定一个或多个处理器以如由第一功率信息指示的最大允许频率消耗功率来操作第一应用,其中,第一功率信息的第一优先级信息用于指示第一应用是任务关键型应用类别的应用。

示例9可以包括示例1-4中任一项的计算机设备,其中,功率控制单元用于确定一个或多个处理器以功率控制单元允许的最低可能的频率消耗功率来操作第一应用,其中,第一功率信息的第一优先级信息用于指示第一应用是后台应用类别的应用。

示例10可以包括示例1-4中任一项的计算机设备,其中,计算机设备是车载汽车系统、可穿戴设备、智能电话、计算机平板、膝上型计算机、游戏控制器、机顶盒、信息娱乐控制台、或物联网(iot)设备。

示例11可以包括示例1-4中的任一项的计算机设备,其中,功率控制单元进一步用于:检测一个或多个处理器的功率、热、或电流限制;在功率控制单元用于降低第二功耗以操作第二应用之前,降低第一功耗以操作第一应用,其中,针对第一应用的第一功率信息中包括的第一优先级信息低于针对第二应用的第二功率信息中包括的第二优先级信息。

示例12可以包括示例11的计算机设备,其中,第一应用是后台应用类别的应用,并且第二应用是用户体验应用类别、任务关键型应用类别、或响应性应用类别的应用;或者第一应用是用户体验应用类别的应用,并且第二应用是任务关键型应用类别的应用。

示例13可以包括用于通过具有一个或多个处理器的计算机设备的功率控制单元控制功耗的方法,该方法包括:接收针对要在一个或多个处理器上操作的第一应用的第一功率信息,该第一功率信息包括第一优先级信息;接收针对要在一个或多个处理器上操作的第二应用的第二功率信息,该第二功率信息包括第二优先级信息;其中第一优先级信息与第二优先级信息不同;确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗,并确定基于针对第二应用的第二功率信息来控制一个或多个处理器的第二功耗。

示例14可以包括示例13的方法,其中,第一优先级信息用于指示第一应用是从服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别中选择的功率类别的应用。

示例15可以包括示例13-14中的任一项的方法,其中,第一应用包括用于收集数据的程序的线程、用于下载交通信息的程序的线程、用于车载信息娱乐的程序的线程、用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程、用于控制相机的程序线程、或用于控制传感器的程序的线程。

示例16可以包括示例13-14中的任一项的方法,其中,第一功率信息进一步包括最小允许电压、最大允许电压、最小允许频率、或最大允许频率。

示例17可以包括示例13-14中的任一项的方法,其中,确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗包括:通过控制功率源向一个或多个处理器供电来操作第一应用、或通过控制一个或多个处理器的操作频率或电压来操作第一应用来确定基于第一功率信息来控制第一功耗。

示例18可以包括示例13-14中的任一项的方法,其中,针对第一应用的、包括第一优先级信息的第一功率信息由用于该计算机设备的操作系统的调度器分配,并且该第一功率信息存储在一个或多个处理器中的控制寄存器中。

示例19可包括示例13-14中任一项的方法,该方法进一步包括:检测一个或多个处理器的功率、热、或最大电流限制;在降低一个或多个处理器的第二功耗以操作第二应用之前,降低一个或多个处理器的第一功耗以操作第一应用,其中,针对第一应用的第一功率信息中包括的第一优先级信息低于针对第二应用的第二功率信息中包括的第二优先级信息。

示例20可以包括示例19的方法,其中,第一应用是后台应用类别的应用,并且第二应用是用户体验应用类别、任务关键型应用类别、或响应性应用类别的应用;或者第一应用是用户体验应用类别的应用,并且第二应用为任务关键型应用类别的应用。

示例21可以包括一种或多种非暂态计算机可读介质,包括指令,该指令使得计算机设备的功率控制单元响应于功率控制单元对这些指令的执行来操作功率控制单元用于:接收针对要在计算设备的一个或多个处理器上操作的第一应用的第一功率信息、以及针对要在一个或多个处理器上操作的第二应用的第二功率信息,第一功率信息包括第一优先级信息,第二功率信息包括第二优先级信息,其中第一优先级信息与第二优先级信息不同;确定基于针对第一应用的第一功率信息来控制第一功耗,并确定基于针对第二应用的第二功率信息来控制第二功耗。

示例22可以包括示例21的一种或多种非暂态计算机可读介质,其中,第一优先级信息用于指示第一应用是从服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别中选择的功率类别的应用。

示例23可以包括示例21-22中的任一项的一种或多种非暂态计算机可读介质,其中,第一功率信息进一步包括最小允许电压、最大允许电压、最小允许频率、或最大允许频率。

示例24可以包括示例21-22中的任一项的一种或多种非暂态计算机可读介质,其中,第一应用包括用于收集数据的程序的线程、用于下载交通信息的程序的线程、用于车载信息娱乐的程序的线程、用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程、用于控制相机的程序线程、或用于控制传感器的程序的线程。

示例25可以包括示例21-22中的任一项的一种或多种非暂态计算机可读介质,其中,针对第一应用的、包括第一优先级信息的第一功率信息由用于计算机设备的操作系统的调度器分配。

示例26可以包括一种或多种计算机可读介质,具有指令,这些指令在由一个或多个处理器执行指令时用于使计算机设备处理错误以执行示例13-20中任一项的方法。

示例27可以包括用于通过具有一个或多个处理器的计算机设备的功率控制单元控制功耗的设备,该设备包括:用于接收针对要在一个或多个处理器上操作的第一应用的第一功率信息的装置,第一功率信息包括第一优先级信息;用于接收针对要在一个或多个处理器上操作的第二应用的第二功率信息的装置,第二功率信息包括第二优先级信息;其中第一优先级信息与第二优先级信息不同;用于确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗的装置;以及用于确定基于针对第二应用的第二功率信息来控制一个或多个处理器的第二功耗的装置。

示例28可以包括示例27的设备,其中,第一优先级信息用于指示第一应用是从服务质量应用类别、后台应用类别、用户体验应用类别、任务关键型应用类别、或响应性应用类别中选择的功率类别的应用。

示例29可以包括示例27的设备,其中,第一应用包括用于收集数据的程序的线程、用于下载交通信息的程序的线程、用于车载信息娱乐的程序的线程、用于辅助驾驶的程序的线程、用于控制仪表板的程序的线程、用于控制相机的程序线程、或用于控制传感器的程序的线程。

示例30可以包括示例27-29中的任一项的设备,其中,第一功率信息进一步包括最小允许电压、最大允许电压、最小允许频率、或最大允许频率。

示例31可以包括示例27-29中的任一项的设备,其中,用于确定基于针对第一应用的第一功率信息来控制一个或多个处理器的第一功耗的装置包括:用于通过控制功率源向一个或多个处理器供电来操作第一应用、或通过控制一个或多个处理器的操作频率或电压来操作第一应用来确定基于第一功率信息来控制第一功耗的装置。

示例32可以包括示例27-29中的任一项的设备,其中,针对第一应用的、包括第一优先级信息的第一功率信息由用于该计算机设备的操作系统的调度器分配,并且该第一功率信息存储在一个或多个处理器中的控制寄存器中。

示例33可包括示例27-29中任一项的设备,该设备进一步包括:用于检测一个或多个处理器的功率、热、或最大电流限制的装置;以及用于在降低一个或多个处理器的第二功耗以操作第二应用之前降低一个或多个处理器的第一功耗以操作第一应用的装置,其中,针对第一应用的第一功率信息中包括的第一优先级信息低于针对第二应用的第二功率信息中包括的第二优先级信息。

示例34可以包括示例33的设备,其中,第一应用是后台应用类别的应用,并且第二应用是用户体验应用类别、任务关键型应用类别、或响应性应用类别的应用;或者第一应用是用户体验应用类别的应用,并且第二应用是任务关键型应用类别的应用。

虽然出于描述目的已在本文中说明和描述了某些实施例,但是本申请旨在包含本文所讨论的实施例的任何改编或变型。因此,明确地旨在仅由权利要求来限定本文所描述的实施例。

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