用于多核心处理器的低功率操作的方法和装置.pdf

上传人:54 文档编号:1276751 上传时间:2018-04-12 格式:PDF 页数:16 大小:486.40KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010293647.X

申请日:

2010.09.26

公开号:

CN102033596A

公开日:

2011.04.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 1/32申请日:20100926|||公开

IPC分类号:

G06F1/32; G06F9/50

主分类号:

G06F1/32

申请人:

英特尔公司

发明人:

G·M·塞里恩

地址:

美国加利福尼亚

优先权:

2009.09.26 US 12/567,755

专利代理机构:

永新专利商标代理有限公司 72002

代理人:

刘瑜;王英

PDF下载: PDF下载
内容摘要

描述了用于多核心处理系统的低功率操作的装置、系统和方法的实施例。装置可以包括例如功率管理模块,该功率管理模块可操作来初始化低功率模式,检测一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。描述了并要求保护其他实施例。

权利要求书

1: 一种方法, 包括 : 检测用于低功率模式的一个或多个未聚合的软件线程 ; 以及 聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行, 其中, 所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
2: 根据权利要求 1 所述的方法, 包括 : 降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。
3: 根据权利要求 1 所述的方法, 包括 : 向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。
4: 根据权利要求 3 所述的方法, 包括 : 基于利用率阈值来应用所述线性抑制。
5: 根据权利要求 1 所述的方法, 包括 : 通过功率管理模块来检测所述多核心处理器的每一个处理器核心的功率特性或热特 性; 以及 通过所述功率管理模块基于所述功率特性或热特性来选择所述一组处理器核心。
6: 根据权利要求 1 所述的方法, 包括 : 通过所述功率管理模块接连地减少所述一组处理器核心中的处理器核心的数量 ; 以及 通过所述功率管理模块聚合所述一个或多个未聚合的软件线程, 以在减少后的所述一 组处理器核心上运行。
7: 根据权利要求 1 所述的方法, 包括 : 聚合所述一个或多个未聚合的软件线程, 以在所述多核心处理器的多个处理器核心之 一上运行。
8: 一种装置, 包括 : 功率管理模块, 其可操作来检测用于低功率模式的一个或多个未聚合的软件线程, 并 且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行, 其 中, 所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
9: 根据权利要求 8 所述的装置, 其中, 所述功率管理模块可操作来降低所述一组处理 器核心中的一个或多个处理器核心的处理器性能状态。
10: 根据权利要求 8 所述的装置, 其中, 所述功率管理模块可操作来向所述一组处理器 核心中的一个或多个处理器核心应用线性抑制。
11: 根据权利要求 10 所述的装置, 其中, 所述功率管理模块可操作来基于利用率阈值 来应用所述线性抑制。
12: 根据权利要求 8 所述的装置, 其中, 所述功率管理模块可操作来检测所述多核心处 理器的每一个处理器核心的功率特性或热特性, 并且基于所述功率特性或热特性来选择所 述一组处理器核心。
13: 根据权利要求 8 所述的装置, 其中, 所述功率管理模块可操作来接连减少所述一组 处理器核心中的处理器核心的数量, 并且聚合所述一个或多个未聚合的软件线程以在减少 后的所述一组处理器核心上运行。
14: 根据权利要求 8 所述的装置, 其中, 所述功率管理模块可操作来聚合所述一个或多 个未聚合的软件线程, 以在所述多核心处理器的多个处理器核心之一上运行。 2
15: 一种制品, 包括计算机可读存储介质, 所述计算机可读存储介质包含指令, 所述指 令如果被处理器执行则使得系统能够 : 检测用于低功率模式的一个或多个未聚合的软件线程 ; 以及 聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行, 其中, 所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。
16: 根据权利要求 15 所述的制品, 包括如果被执行则使得所述系统能够降低所述一组 处理器核心中的一个或多个处理器核心的处理器性能状态的指令。
17: 根据权利要求 15 所述的制品, 包括如果被执行则使得所述系统能够向所述一组处 理器核心中的所述一个或多个处理器核心应用线性抑制的指令。
18: 根据权利要求 17 所述的制品, 包括如果被执行则使得所述系统能够基于利用率阈 值来应用所述线性抑制的指令。
19: 根据权利要求 15 所述的制品, 包括如果被执行则使得所述系统能够进行以下操作 的指令 : 检测所述多核心处理器的每一个处理器核心的功率特性或热特性, 并且基于所述 功率特性或热特性来选择所述一组处理器核心。
20: 根据权利要求 15 所述的制品, 包括如果被执行则使得所述系统能够进行以下操作 的指令 : 接连地减少所述一组处理器核心中的处理器核心的数量, 并且聚合所述一个或多 个未聚合的软件线程以在减少后的所述一组处理器核心上运行。
21: 根据权利要求 15 所述的制品, 包括如果被执行则使得所述系统能够进行以下操作 的指令 : 聚合所述一个或多个未聚合的软件线程, 以在所述多核心处理器的多个处理器核 心之一上运行。
22: 一种系统, 包括 : 多核心处理器 ; 以及 功率管理模块, 其可操作来检测用于低功率模式的一个或多个未聚合的软件线程, 并 且聚合所述一个或多个未聚合的软件线程以在所述多核心处理器的一组处理器核心上运 行, 其中, 所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核 心。
23: 根据权利要求 22 所述的系统, 其中, 所述功率管理模块可操作来降低所述一组处 理器核心中的一个或多个处理器核心的处理器性能状态。
24: 根据权利要求 22 所述的系统, 其中, 所述功率管理模块可操作来向所述一组处理 器核心中的一个或多个处理器核心应用线性抑制。
25: 根据权利要求 24 所述的系统, 其中, 所述功率管理模块可操作来基于利用率阈值 来应用所述线性抑制。
26: 根据权利要求 22 所述的系统, 其中, 所述功率管理模块可操作来检测所述多核心 处理器的每一个处理器核心的功率特性或热特性, 并且基于所述功率特性或热特性来选择 所述一组处理器核心。
27: 根据权利要求 22 所述的系统, 其中, 所述功率管理模块可操作来接连地减少所述 一组处理器核心中的处理器核心的数量, 并且聚合所述一个或多个未聚合的软件线程以在 减少后的所述一组处理器核心上运行。
28: 根据权利要求 22 所述的系统, 其中, 所述功率管理模块可操作来聚合所述一个或 3 多个未聚合的软件线程, 以在所述多核心处理器的多个处理器核心之一上运行。
29: 根据权利要求 22 所述的系统, 包括 : 易失性存储器, 用于存储所述功率管理模块。

说明书


用于多核心处理器的低功率操作的方法和装置

    背景技术
     近些年来, 现代计算系统的性能已经迅速地提高。性能已经演进出的一个具体领 域是处理器技术。当今的计算系统中的许多处理器包括多个核心。对于大小不断减小的计 算系统而言, 由多核心处理器提供的处理能力的提高也导致了功耗和生热的提高。随着多 核心处理器中的处理能力和核心数量不断提高, 减小功耗和生热成为着重考虑的问题。因 此, 期望当可能时适配多核心处理器以节能和减少生热。 因此, 对调整多核心处理器系统的 功耗和生热的技术有实际需要。附图说明
     图 1 说明了装置的一个实施例。
     图 2 说明了第一逻辑图的一个实施例。
     图 3 说明了第二逻辑图的一个实施例。
     图 4 说明了系统的一个实施例。 具体实施方式
     实施例一般地涉及被设计来减小在使用多核心处理器的计算系统中的功耗和生 热的技术。各个实施例提供了包括功率管理模块的技术, 用于初始化计算系统的低功率模 式, 检测一个或多个未聚合 (un-affinitized) 的软件线程, 并且聚合 (affinitize) 该一个 或多个未聚合的软件线程, 以在多核心处理器的一组处理器核心上运行, 其中, 该组处理器 核心包括的处理器核心数量少于多核心处理器的处理器核心的总数。 描述了并要求保护其 他实施例。
     随着向多核心处理器的使用的不断推进, 运行活动工作负载时的功耗已经在稳步 升高。 虽然多核心处理器已经提供了显著的性能优势, 但是, 运行活动工作负载时的相关功 耗已经使得计算系统在更高的温度下工作, 并且由于在工作期间使用风扇和其他冷却设备 而导致产生更多的噪声。另外, 许多流行的现代操作系统未提供用于在运行中添加和移除 处理器核心的手段。 此外, 处理器的添加和移除通常包括高开销操作, 而强制聚合例如通常 包括较低开销操作。
     在传统的计算系统中, 当前可用于减小功耗的仅有手段可以是强制多核心处理器 的所有核心降低性能状态 ( 例如, P 状态 ), 然后抑制这些核心以试图并维持功率和 / 或温 度在特定水平以下。对于多核心操作, 可获得的最大抑制量通常不足以将功耗减小为达到 冷却和安静阈值, 因为时控核心泄露可能是显著的。 在传统的计算系统中, 可用于减小功率 的仅有手段还可以是将核心布置在低功率或未时控状态中。就这一点而言, 当今并没有有 效的手段来限制在执行活动工作负载的多核心处理器的功耗。因此, 本文描述的各种实施 例提供了当执行活动工作负载时减小多核心处理器功耗和生热的有效手段, 由此实现多核 心处理器系统的冷却和安静工作。
     实施例可以包括一个或多个部件。 部件可以包括被布置来执行特定操作的任何结构。每一个部件可以如给定的一组设计参数或性能约束所期望的被实现为硬件、 软件或其 任何组合。虽然通过示例以具有特定布置的特定部件描述了实施例, 但是实施例可以包括 具有替代布置的部件的其他组合。
     值得注意的是, 对于 “一个实施例” 或 “实施例” 的任何引用表示结合实施例描述 的特定特征、 结构或特性被包括在至少一个实施例中。 在说明书中各处出现的短语 “在一个 实施例中” 和 “在实施例中” 并不一定全都指同一实施例。
     图 1 说明了装置的一个实施例。图 1 说明了装置 100 的框图。在一些实施例中, 装置 100 可以包括计算系统。如图 1 中所示, 装置 100 包括多个部件, 诸如功率管理模块 102、 存储器 104、 操作系统 106 和多核心处理器 108, 多核心处理器 108 包括核心 108-1-m。 然而, 实施例不限于在此图中所示的部件或配置。
     在各个实施例中, 多核心处理器 108 可以包括中央处理单元, 该中央处理单元包 括一个或多个处理器核心 108-1-m。处理器 108 可以包括任何类型的处理单元, 诸如 CPU、 多处理单元、 精简指令集计算机 (RISC)、 具有流水线的处理器、 复杂指令集计算机 (CISC) 和数字信号处理器 (DSP) 等。
     在各个实施例中, 存储器 104 可以包括任意合适类型的存储器单元、 存储器设备、 存储器制品、 存储器介质、 存储设备、 存储制品、 存储介质和 / 或存储单元, 例如, 存储器, 可 移动或不可移动介质、 、 易失性或非易失性存储器或介质、 可擦除或不可擦除介质、 可写或 可重写介质、 数字或模拟介质、 硬盘、 软盘、 光盘只读存储器 (CD-ROM)、 可记录光盘 (CD-R)、 可重写光盘 (CD-RW)、 光学盘、 磁介质、 磁 - 光介质、 可移动存储器卡或盘、 各种类型数字通 用盘 (DVD)、 磁带、 卡带等等。
     在一些实施例中, 操作系统 (OS)106 可以包括在装置 100 的各个硬件组件和用 户之间的接口。在各个实施例中, OS 106 可以负责活动的管理和协调以及计算系统 100 的资源的共享。在一些实施例中, OS 106 可以作为在计算系统 100 上运行的各种计算 应用的宿主。例如, 在一些实施例中, OS 106 可以包括在华盛顿雷德蒙德的 Microsoft 的 操作系统。描述了并要求保护其他实施例。在各个实施例中, 功率管理模块 102 可以包括软件驱动程序或应用, 用于管理计 算系统 100 的功率和生热。在一些实施例中, 功率管理模块 102 可以包括在 OS 106 下运行 的软件驱动程序, 该软件驱动程序控制特定功率方案 ( 诸如冷却和安静功率方案或低功率 方案 ) 的进入和管理。在各个实施例中, 低功率方案可以包括可配置的方案, 该可配置的方 案减小在活动工作负载期间的处理器功耗。应当明白, 虽然功率管理模块 102 被示出为在 计算系统 100 中的独立组件, 但是其可以作为 OS 106 的一部分被包括在存储器 104 中, 或 包括在任何其他位置或配置中, 并且仍然落入所描述的实施例内。描述了并要求保护其他 实施例。
     在一些实施例中, 功率管理模块 102 可操作来初始化计算系统 100 的低功率模式。 与正常或传统的操作模式相比较, 低功率模式 ( 或冷却和安静模式 ) 可以包括可配置的功 率方案, 该可配置的功率方案被适配来使得计算系统 100 以减小的功耗、 减小的生热和减 小的噪声来工作。
     可以通过用户按下按钮或基于检测的系统性能和 / 或系统或组件状况而进入特 定功率方案, 来使得进行低功率模式的初始化。例如, 在一些实施例中, 功率管理模块 102
     可以接收与功耗和 / 或当前由计算系统 100 的各个组件产生的热量或噪声水平相关的信 息, 并且可以自动地进入低功率模式内。 在一些实施例中, 用户可以通过下述方式来手动地 启动低功率模式 : 在硬件或软件中按下按钮以使能低功率模式, 或者使能或激活低功率模 式系统偏好。描述了并要求保护其他实施例。
     在各个实施例中, 功率管理模块 102 可以监控活动工作负载, 并且在进入低功率 模式后重新分配特定的工作负载。 例如, 功率管理模块 102 可以监控与在计算系统 100 上运 行的一个或多个活动应用相关的软件线程。 软件线程可以包括例如被执行来执行任务的指 令。在一些实施例中, 在诸如计算系统 100 的多核心系统中, 线程或任务可以同时 ( 例如, 并行 ) 运行, 其中每一个处理器 108 或每一个处理器核心 108-1-m 运行一个特定的线程或 任务。 虽然一些传统的计算系统的确包含聚合线程的能力, 但是通常并未实现这个能力, 因 为要获得任何实质的益处通常需要专门的系统知识。在许多传统系统中, 大多数应用不将 它们的任务聚合到特定的处理器。例如, 在传统系统中, OS 调度器可以简单地以它的判断 在逻辑处理器上运行软件线程。换句话说, 在传统计算系统中的 OS 调度器可以调度线程在 所有可用的逻辑处理器 ( 例如, 处理器核心 108-1-m) 上运行。
     在一些实施例中, 功率管理模块 102 可操作来检测一个或多个未聚合的软件线 程。例如, 功率管理模块 102 可以例如针对线程创建、 删除和 / 或模式改变而持续监控诸如 OS 106 的 OS 环境, 并且可以识别未聚合并且未免除聚合或排除聚合的线程。 在各个实施例 中, 功率管理模块 102 可操作来聚合一个或多个未聚合的软件线程, 以在多核心处理器 108 的一组处理器核心上运行。例如, 功率管理模块 102 可以聚合一个或多个未聚合的软件线 程, 以在少于多核心处理器 108 的处理器核心总数的处理器核心上运行。描述了并要求保 护其他实施例。
     在一些实施例中, 当在低功率模式中时, 功率管理模块 102 可以持续地将所有未 聚合的软件线程聚合到配置的特定一组逻辑处理器。在各个实施例中, 当已知处理器拓扑 时, 可以设定或选择软件线程被聚合来在其上运行的一组处理器核心, 使得排除与专用物 理处理器核心相关的逻辑处理器。 例如, 功率管理模块 102 可操作来检测多核心处理器 108 的处理器核心 108-1-m 的每一个的功率特性或热特性, 并且基于功率特性或热特性来选择 用于聚合的一组处理器核心。
     在一些实施例中, 当作为调用低功率模式的结果, OS 调度器停止在某些核心上调 度工作时, 这些核心自然变得空闲并且进入处理器低功率状态。虽然这可能例如使得在更 少数量的处理器核心上有更高的利用率 (utilization), 但是计算系统 100 的整体性能可 能与功耗、 生热或噪声产生一起降低。此外, 在一些实施例中, 功率管理模块 102 可操作来 接连地减少在所选择的一组处理器核心中的处理器核心的数量, 并且聚合一个或多个未聚 合的软件线程以在减少后的该组处理器核心上运行, 从而持续地减小功耗和生热以及噪声 产生。描述了并要求保护其他实施例。
     在各个实施例中, 可以通过下述方式来调用计算系统的最低功率操作 : 将所有的 软件线程聚合到一个处理器核心, 有效地仿真处理器除热操作实现的效果。 例如, 在一些实 施例中, 功率管理模块 102 可操作来聚合一个或多个未聚合的软件线程, 以在多核心处理 器 108 的多个处理器核心 108-1-m 之一上运行。
     将所有的软件线程聚合到一个处理器核心可以使得减小计算系统 100 的功耗和生热以及噪声产生。 然而, 在一些实施例中, 可以通过下述方式来进一步减小功耗和生热以 及噪声产生 : 在已经实现了有效的单个核心操作后, 将 OS 106 使用的处理器性能状态降低 到配置数量的较低性能状态。例如, 功率管理模块 102 可操作来降低针对线程聚合选择的 一组处理器核心中的一个或多个多核心处理器 108-1-m 的处理器性能状态。在各个实施例 中, 可以通过针对剩余的核心将 OS P 状态使用限制为单个最低功率 P 状态来实现较低功率 操作。描述了并要求保护其他实施例。
     在一些实施例中, 在所有线程已经被聚合来在单个处理器核心上执行并且该核心 正工作在其最低 P 状态后, 可以使用线性抑制来实现进一步的活动工作负载功率降低。例 如, 功率管理模块 102 可操作来向一组处理器核心中的一个或多个处理器核心应用线性抑 制。然而, 在各个实施例中, 线性抑制操作本身可能具有影响系统性能的功率花费。因此, 例如, 可以检测利用率, 并且可以仅当利用率升高到高于可配置的阈值时应用抑制。例如, 功率管理模块 102 可操作来基于利用率阈值来应用线性抑制。
     在一些实施例中, 可以将利用率阈值设定在对系统的正回馈点 ( 例如, 抑制将减 小功率而不是提高功率的点 ) 处。
     图 2 说明了逻辑流程 200 的一个实施例。逻辑流程 200 可以由各个系统和 / 或设 备执行, 并且可以如给定的一组设计参数或性能约束所要求的被实现为硬件、 软件和 / 或 其任何组合。 例如, 逻辑流程 200 的一个或多个操作可以通过要由逻辑设备 ( 例如, 计算机、 处理器 ) 执行的可执行的编程或计算机可读指令来实现。逻辑流程 200 可以描述上面参照 装置 100 和功率管理模块 102 所描述的节能特征。 在各个实施例中, 在 202, 可以进入或初始化低功率模式。 例如, 用户可以通过按下 按钮或以其他方式指示期望进入计算系统上的低功率模式来选择低功率模式。 在 204, 可以 检测一个或多个软件线程。例如, 设备驱动程序或其他应用程序可以被配置为持续监控和 检测被调度来由多核心处理器执行的软件线程。在 206, 确定检测到的软件线程是否被聚 合。如果一个或多个线程已经被聚合或者免除聚合或排除聚合, 则这些线程的聚合不被改 变。如果未检测到未聚合的线程, 则软件线程的持续监控和检测可以进行。
     在一些实施例中, 如果一个或多个线程未被聚合并且未免除聚合或排除聚合, 则 在 206 可以聚合这些线程。例如, 可以将未聚合的线程调度来在少于多核心处理器的可用 核心总数的处理器核心上执行。在对检测到的未聚合的线程进行强制聚合后, 在 210 确定 使能和 / 或期望静态配置还是动态配置。例如, 可以选择包括预定性能准则的静态配置, 或 者可以选择包括性能目标的动态配置, 所述性能目标被满足, 而无论产生何种配置。 描述了 并要求保护其他实施例。
     如果选择了静态配置, 则在 222, 为剩余的处理器或处理器核心选择预定性能状态 ( 例如, P 状态 )。在 224, 确定是否已经选择了最低 P 状态, 并且如果是, 则在 226 确定是否 已经满足了利用率阈值。如果是, 则在 228 可以应用抑制。描述了并要求保护其他实施例。
     在各个实施例中, 如果选择了动态确认, 则在 212 确定是否期望更多的节能或是 否已经满足了建立的热或声目标。如果期望额外的节能或还没有满足目标, 则在 214 可以 降低针对软件线程的聚合所选择的核心的性能状态 ( 例如, P 状态 )。在各个实施例中, 在 216 确定是否期望进一步的节能或是否仍未满足热或声目标。如果期望额外的节能或还没 有满足目标, 则在 218 确定是否已经超过了利用率阈值, 并且如果已经超过, 则在 220 可以
     应用线性抑制。
     在一些实施例中, 动态配置可以包括接连地聚合线程以使用逻辑处理器, 直到满 足目标。例如, 动态配置可以包括 : 接连减少所使用的核心数量, 直到满足目标。描述了并 要求保护其他实施例。
     在各个实施例中, 可以因为任何数量的原因在任何时间退出低功率模式, 所述原 因包括但是不限于例如用户选择的退出或基于性能的退出。在一些实施例中, 在 240 可以 检测从低功率模式的退出。在各个实施例中, 例如, 当退出抑制和 P 状态与核心使用时和 / 或当已经达到目标时, 在动态配置中可以发生退出。在从低功率模式退出的情况下, 在 242 可以对聚合的线程进行去聚合, 并且在 244, 系统可以恢复正常操作。描述了并要求保护其 他实施例。
     虽然根据软件线程描述了某些实施例, 但是应当明白, 可以使用任何数量的线程 和多核心处理器的任何数量的核心, 并且仍然落在所描述的实施例内。此外, 应当明白, 在 一些实施例中, 逻辑流程 200 可以被实现或布置来并行地执行任务, 包括基本同时地处理 多个线程和控制多个核心。此外, 也应当明白, 逻辑流程 200 仅是逻辑流程的一个示例, 并 且可以实现不同数量、 顺序和 / 或布置的在逻辑流程 200 中描述的操作, 并仍然落在所描述 的实施例内。描述了并要求保护其他实施例。
     图 3 说明了第二逻辑流程 300 的一个实施例。和上面参考逻辑流程 200 所描述的 一样, 逻辑流程 300 可以通过各种系统和 / 或设备来执行, 并且可以如给定的一组设计参数 或性能约束所期望的实现为硬件、 软件和 / 或其任何组合。例如, 逻辑流程 300 的一个或多 个操作可以通过要由逻辑设备 ( 例如, 计算机、 处理器 ) 执行的可执行编程或计算机可读指 令来实现。
     在一个实施例中, 在 302, 可以初始化低功率模式。 例如, 功率管理模块 102 可以初 始化计算系统 100 的低功率或冷却和安静操作模式。 在 302, 可以检测一个或多个未聚合的 软件线程。例如, 功率管理模块 102 可以检测被调度来由多核心处理器 108 执行的一个或 多个未聚合的软件线程。
     在各个实施例中, 在 306, 该一个或多个未聚合的软件线程可以被聚合以在多核心 处理器的一组处理器核心上运行。在一些实施例中, 该组处理器核心包括少于多核心处理 器的处理器核心总数的处理器核心。 例如, 在一个实施例中, 该一个或多个未聚合的软件线 程可以被聚合以在多核心处理器 108 的多个处理器核心 108-1-m 之一上运行。描述了并要 求保护其他实施例。
     在一些实施例中, 可以检测多核心处理器的每一个处理器核心的功率特性和 / 或 热特性, 并且可以基于功率特性和 / 或热特性来选择所述一组处理器核心。例如, 功率管理 模块 102 可以监控各个计算系统 100 组件, 并且基于这些组件的特性来选择用于软件线程 聚合的一组处理器核心 108-1-m。
     在各个实施例中, 在一组处理器核心中的处理器核心的数量可以被接连减少, 并 且一个或多个未聚合的软件线程可以被聚合以在减少的该组处理器核心上运行。例如, 功 率管理模块 102 可操作来持续监控多核心处理器 108 和多核心处理器 108 正在执行或被调 度来由多核心处理器 108 执行的任何软件线程, 并且当有保证时, 可以进一步减少用于软 件线程聚合的该组所选择的核心。在一些实施例中, 当除了使用线程聚合实现的节能之外还期望进一步的节能时, 可以降低在所述一组处理器核心中的一个或多个处理器核心的性能状态。例如, 如果多核 心处理器 108 的单核心正在用于执行多个软件线程, 则可以通过降低该单个核心的 P 状态 来实现额外的节能。如果向一组处理器核心中的一个或多个处理器核心应用线性抑制, 则 还可以实现进一步的节能。在各个实施例中, 基于利用率阈值来应用线性抑制。描述了并 要求保护其他实施例。
     图 4 是示例性系统实施例的图。具体而言, 图 4 是示出可以包括各种部件的系统 400 的图。例如, 图 4 示出了系统 400, 其可包括处理器 402、 芯片组 404、 输入 / 输出 (I/O) 设备 406、 随机存取存储器 (RAM)( 例如动态 RAM(DRAM))408、 只读存储器 (ROM)410, 以及各 种平台组件 414( 例如风扇、 贯流式风机、 散热片、 DTM 系统、 冷却系统、 外壳、 通风口等等 )。 这些部件可以用硬件、 软件、 固件或其任意组合来实现。然而实施例并不限于这些部件。
     如图 4 所示, I/O 设备 406、 RAM 408 和 ROM 410 通过芯片组 404 耦合到处理器 402。 芯片组 404 可通过总线 412 耦合到处理器 402。相应地, 总线 412 可包括多个线。
     处理器 402 可以是包括一个或多个处理器核心的中央处理单元, 并且可包括具有 任何数量的处理器核心的任何数量的处理器。处理器 402 可包括任何类型的处理单元, 例 如, CPU、 多重处理单元、 精简指令集计算机 (RISC)、 具有流水线的处理器、 复杂指令集计算 机 (CISC)、 数字信号处理器 (DSP), 等等。 尽管没有示出, 但是系统 400 可包括各种接口电路, 例如以太网接口和 / 或通用串 行总线 (USB) 接口, 等等。在一些示例性实施例中, I/O 设备 406 可包括连接到接口电路的 一个或多个输入设备, 用于输入数据和命令到系统 400 中。例如, 输入设备可包括键盘、 鼠 标、 触摸屏、 轨迹垫、 轨迹球、 isopoint、 语音识别系统, 等等。类似地, I/O 设备 406 可包括 连接到接口电路的一个或多个输出设备, 用于向操作者输出信息。 例如, 输出设备可包括一 个或多个显示器、 打印机、 扬声器, 和 / 或期望的其它输出设备。例如, 一个输出设备可以是 显示器。显示器可以是阴极射线管 (CRT)、 液晶显示器 (LCD), 或任何其它类型的显示器。
     系统 400 也可具有有线或无线网络接口, 以通过到网络的连接与其它设备交换数 据。网络连接可以是任何类型的网络连接, 例如以太网连接、 数字用户线 (DSL)、 电话线路、 同轴电缆等。网络可以是任何类型的网络, 例如因特网、 电话网络、 电缆网络、 无线网络、 分 组交换网络、 电路交换网络, 等等。
     本文给出了许多具体的细节以提供对实施例的透彻理解。然而, 本领域技术人员 将理解, 可以在没有这些具体细节的情况下实践这些实施例。在其它实例中, 公知的操作、 组件和电路没有进行详细描述, 以免模糊这些实施例。 可以意识到, 本文公开的具体的结构 和功能细节可以是代表性的, 并且并不必然限制这些实施例的范围。
     可以使用硬件部件、 软件部件或两者的组合来实现各种实施例。硬件部件的例子 可包括处理器、 微处理器、 电路、 电路部件 ( 如晶体管、 电阻器、 电容器、 电感器等等 )、 集成 电路、 专用集成电路 (ASIC)、 可编程逻辑器件 (PLD)、 数字信号处理器 (DSP)、 现场可编程门 阵列 (FPGA)、 逻辑门、 寄存器、 半导体器件、 芯片、 微芯片、 芯片组等。软件的例子可包括软 件组件、 程序、 应用、 计算机程序、 应用程序、 系统程序、 机器程序、 操作系统软件、 中间件、 固 件、 软件模块、 例程、 子例程、 函数、 方法、 过程、 软件接口、 应用程序接口 (API)、 指令集、 计算 代码、 计算机代码、 代码段、 计算机代码段、 字、 值、 符号, 或它们的任意组合。确定是否使用
     硬件部件和 / 或软件部件来实现实施例可根据任何数量的因素而改变, 所述因素例如, 期 望的计算速率、 功率级别、 热容忍性、 处理循环预算、 输入数据速率、 输出数据速率、 存储器 资源、 数据总线速度和其它设计或性能约束。
     可以使用措辞 “耦合” 和 “连接” 及其派生词来描述一些实施例。这些术语不是旨 在表示彼此同义。例如, 可以使用术语 “连接” 和/或 “耦合” 来描述一些实施例, 以指示两 个或更多部件彼此直接物理或电气接触。然而, 术语 “耦合” 还可以意味着两个或更多部件 彼此不直接接触却仍然彼此共同操作或交互。
     例如, 可以使用可存储指令、 指令集或计算机可执行代码的机器可读或计算机可 读介质或制品来实现一些实施例, 当机器或处理器执行该指令、 指令集或计算机可执行代 码时, 可以导致机器或处理器执行根据实施例的方法和 / 或操作。该机器可以包括, 例如, 任意合适的处理平台、 计算平台、 计算设备、 处理设备、 计算系统、 处理系统、 计算机、 处理器 等等, 并且可以使用硬件和 / 或软件的任意合适组合来实现。机器可读介质或制品可以包 括, 例如, 任意合适类型的存储器单元、 存储器设备、 存储器制品、 存储器介质、 存储设备、 存 储制品、 存储介质和 / 或存储单元, 例如, 存储器, 可移动或不可移动介质、 易失性或非易失 性存储器或介质、 可擦除或不可擦除介质、 可写或可重写介质、 数字或模拟介质、 硬盘、 软 盘、 光盘只读存储器 (CD-ROM)、 可记录光盘 (CD-R)、 可重写光盘 (CD-RW)、 光学盘、 磁介质、 磁 - 光介质、 可移动存储器卡或盘、 各种类型数字通用盘 (DVD)、 磁带、 卡带等等。指令可 以包括使用任意合适的高级、 低级、 面向对象、 可视、 编译和 / 或解释编程语言来实现的任 意合适类型的代码, 例如, 源代码、 已编译代码、 已解释代码、 可执行代码、 静态代码、 动态代 码、 已加密代码等等。 若非具体声明另有所指, 否则可以意识到, 诸如 “处理” 、 “计算” 、 “运算” 、 “确定” 等 等的术语是指计算机或计算系统或类似的电子计算设备的动作和 / 或过程, 其将计算系统 的寄存器和 / 或存储器中被表示为物理量 ( 例如, 电子 ) 的数据操作和 / 或变换为计算系 统的存储器、 寄存器或其它此类信息存储、 传输或显示设备中被类似地表示为物理量的其 它数据。实施例不限于该环境。
     应该注意到, 不必按照所述的次序或任意特定次序来执行本文所述的方法。 此外, 参考本文所确定的方法所描述的各种活动可以以串行或并行方式执行。
     虽然本文说明并且描述了具体的实施例, 但是应该意识到, 对于所示的具体实施 例, 可以使用用于实现同一目的的任意配置来代替。本公开旨在覆盖各实施例的任意和全 部改变或变化。应该理解, 以示例性的方式而不是限制性的方式进行了上述描述。在阅读 了上述描述之后, 上述实施例的组合以及本文中未具体描述的其它实施例对于本领域技术 人员而言将是显而易见的。 因此, 各实施例的范围包括使用以上组合、 结构和方法的任意其 它应用。
     要强调的是, 提供了本公开的摘要以符合 37C.F.R.§1.72(b), 其要求摘要以允许 读者快速确定本技术公开的特性。 提交了摘要但是要理解该摘要不会用于解释或限制权利 要求的范围和意义。 另外, 在前述详细描述中可以看到, 为了流水化本公开的目的而将各种 特征组合到单个实施例中。 不能将本公开的该方法解释为反应了所要求保护的实施例需要 的特征比每个权利要求中明确表述的更多。 而是, 根据所附权利要求所反应的, 发明性的主 题所依赖的特征少于单个公开实施例中的全部特征。因此, 将所附权利要求并入该详细描
     述, 其中每个权利要求自己表示独立的优选实施例。 在所附权利要求中, 使用术语 “包括” 和 “其中” 来分别作为术语 “包含” 和 “在其中” 的纯英语的等效词语。并且, 术语 “第一” 、 “第 二” 和 “第三” 等等仅被作为标记而并非旨在将数字要求强加在其对象上。
     虽然已经采用专用于结构特征和 / 或方法动作的语言描述了本主题, 但是要理 解, 在所附权利要求中所定义的主题不必限于上述具体特征或动作。 而是, 上述具体特征和 动作是作为实现权利要求的示例性形式而被公开的。

用于多核心处理器的低功率操作的方法和装置.pdf_第1页
第1页 / 共16页
用于多核心处理器的低功率操作的方法和装置.pdf_第2页
第2页 / 共16页
用于多核心处理器的低功率操作的方法和装置.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《用于多核心处理器的低功率操作的方法和装置.pdf》由会员分享,可在线阅读,更多相关《用于多核心处理器的低功率操作的方法和装置.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102033596A43申请公布日20110427CN102033596ACN102033596A21申请号201010293647X22申请日2010092612/567,75520090926USG06F1/32200601G06F9/5020060171申请人英特尔公司地址美国加利福尼亚72发明人GM塞里恩74专利代理机构永新专利商标代理有限公司72002代理人刘瑜王英54发明名称用于多核心处理器的低功率操作的方法和装置57摘要描述了用于多核心处理系统的低功率操作的装置、系统和方法的实施例。装置可以包括例如功率管理模块,该功率管理模块可操作来初始化低功率模式,检测一个或。

2、多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。描述了并要求保护其他实施例。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书8页附图4页CN102033599A1/3页21一种方法,包括检测用于低功率模式的一个或多个未聚合的软件线程;以及聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。2根据权利要求1所述的方法,包括。

3、降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。3根据权利要求1所述的方法,包括向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。4根据权利要求3所述的方法,包括基于利用率阈值来应用所述线性抑制。5根据权利要求1所述的方法,包括通过功率管理模块来检测所述多核心处理器的每一个处理器核心的功率特性或热特性;以及通过所述功率管理模块基于所述功率特性或热特性来选择所述一组处理器核心。6根据权利要求1所述的方法,包括通过所述功率管理模块接连地减少所述一组处理器核心中的处理器核心的数量;以及通过所述功率管理模块聚合所述一个或多个未聚合的软件线程,以在减少后的所述一组处理器核心上运行。

4、。7根据权利要求1所述的方法,包括聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。8一种装置,包括功率管理模块,其可操作来检测用于低功率模式的一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。9根据权利要求8所述的装置,其中,所述功率管理模块可操作来降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。10根据权利要求8所述的装置,其中,所述功率管理模块可操作来向所述一组处理器核心中的一个或多个处理器核心应用线性抑制。

5、。11根据权利要求10所述的装置,其中,所述功率管理模块可操作来基于利用率阈值来应用所述线性抑制。12根据权利要求8所述的装置,其中,所述功率管理模块可操作来检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。13根据权利要求8所述的装置,其中,所述功率管理模块可操作来接连减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。14根据权利要求8所述的装置,其中,所述功率管理模块可操作来聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。权。

6、利要求书CN102033596ACN102033599A2/3页315一种制品,包括计算机可读存储介质,所述计算机可读存储介质包含指令,所述指令如果被处理器执行则使得系统能够检测用于低功率模式的一个或多个未聚合的软件线程;以及聚合所述一个或多个未聚合的软件线程以在多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。16根据权利要求15所述的制品,包括如果被执行则使得所述系统能够降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态的指令。17根据权利要求15所述的制品,包括如果被执行则使得所述系统能够向所述一组处理器核心中的。

7、所述一个或多个处理器核心应用线性抑制的指令。18根据权利要求17所述的制品,包括如果被执行则使得所述系统能够基于利用率阈值来应用所述线性抑制的指令。19根据权利要求15所述的制品,包括如果被执行则使得所述系统能够进行以下操作的指令检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。20根据权利要求15所述的制品,包括如果被执行则使得所述系统能够进行以下操作的指令接连地减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。21根据权利要求15所述的制品,包括如果被执行则使。

8、得所述系统能够进行以下操作的指令聚合所述一个或多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。22一种系统,包括多核心处理器;以及功率管理模块,其可操作来检测用于低功率模式的一个或多个未聚合的软件线程,并且聚合所述一个或多个未聚合的软件线程以在所述多核心处理器的一组处理器核心上运行,其中,所述一组处理器核心包括少于所述多核心处理器的处理器核心总数的处理器核心。23根据权利要求22所述的系统,其中,所述功率管理模块可操作来降低所述一组处理器核心中的一个或多个处理器核心的处理器性能状态。24根据权利要求22所述的系统,其中,所述功率管理模块可操作来向所述一组处理器核心中的一个。

9、或多个处理器核心应用线性抑制。25根据权利要求24所述的系统,其中,所述功率管理模块可操作来基于利用率阈值来应用所述线性抑制。26根据权利要求22所述的系统,其中,所述功率管理模块可操作来检测所述多核心处理器的每一个处理器核心的功率特性或热特性,并且基于所述功率特性或热特性来选择所述一组处理器核心。27根据权利要求22所述的系统,其中,所述功率管理模块可操作来接连地减少所述一组处理器核心中的处理器核心的数量,并且聚合所述一个或多个未聚合的软件线程以在减少后的所述一组处理器核心上运行。28根据权利要求22所述的系统,其中,所述功率管理模块可操作来聚合所述一个或权利要求书CN102033596AC。

10、N102033599A3/3页4多个未聚合的软件线程,以在所述多核心处理器的多个处理器核心之一上运行。29根据权利要求22所述的系统,包括易失性存储器,用于存储所述功率管理模块。权利要求书CN102033596ACN102033599A1/8页5用于多核心处理器的低功率操作的方法和装置背景技术0001近些年来,现代计算系统的性能已经迅速地提高。性能已经演进出的一个具体领域是处理器技术。当今的计算系统中的许多处理器包括多个核心。对于大小不断减小的计算系统而言,由多核心处理器提供的处理能力的提高也导致了功耗和生热的提高。随着多核心处理器中的处理能力和核心数量不断提高,减小功耗和生热成为着重考虑的问。

11、题。因此,期望当可能时适配多核心处理器以节能和减少生热。因此,对调整多核心处理器系统的功耗和生热的技术有实际需要。附图说明0002图1说明了装置的一个实施例。0003图2说明了第一逻辑图的一个实施例。0004图3说明了第二逻辑图的一个实施例。0005图4说明了系统的一个实施例。具体实施方式0006实施例一般地涉及被设计来减小在使用多核心处理器的计算系统中的功耗和生热的技术。各个实施例提供了包括功率管理模块的技术,用于初始化计算系统的低功率模式,检测一个或多个未聚合UNAFFINITIZED的软件线程,并且聚合AFFINITIZE该一个或多个未聚合的软件线程,以在多核心处理器的一组处理器核心上运。

12、行,其中,该组处理器核心包括的处理器核心数量少于多核心处理器的处理器核心的总数。描述了并要求保护其他实施例。0007随着向多核心处理器的使用的不断推进,运行活动工作负载时的功耗已经在稳步升高。虽然多核心处理器已经提供了显著的性能优势,但是,运行活动工作负载时的相关功耗已经使得计算系统在更高的温度下工作,并且由于在工作期间使用风扇和其他冷却设备而导致产生更多的噪声。另外,许多流行的现代操作系统未提供用于在运行中添加和移除处理器核心的手段。此外,处理器的添加和移除通常包括高开销操作,而强制聚合例如通常包括较低开销操作。0008在传统的计算系统中,当前可用于减小功耗的仅有手段可以是强制多核心处理器的。

13、所有核心降低性能状态例如,P状态,然后抑制这些核心以试图并维持功率和/或温度在特定水平以下。对于多核心操作,可获得的最大抑制量通常不足以将功耗减小为达到冷却和安静阈值,因为时控核心泄露可能是显著的。在传统的计算系统中,可用于减小功率的仅有手段还可以是将核心布置在低功率或未时控状态中。就这一点而言,当今并没有有效的手段来限制在执行活动工作负载的多核心处理器的功耗。因此,本文描述的各种实施例提供了当执行活动工作负载时减小多核心处理器功耗和生热的有效手段,由此实现多核心处理器系统的冷却和安静工作。0009实施例可以包括一个或多个部件。部件可以包括被布置来执行特定操作的任何结说明书CN10203359。

14、6ACN102033599A2/8页6构。每一个部件可以如给定的一组设计参数或性能约束所期望的被实现为硬件、软件或其任何组合。虽然通过示例以具有特定布置的特定部件描述了实施例,但是实施例可以包括具有替代布置的部件的其他组合。0010值得注意的是,对于“一个实施例”或“实施例”的任何引用表示结合实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”和“在实施例中”并不一定全都指同一实施例。0011图1说明了装置的一个实施例。图1说明了装置100的框图。在一些实施例中,装置100可以包括计算系统。如图1中所示,装置100包括多个部件,诸如功率管理模块1。

15、02、存储器104、操作系统106和多核心处理器108,多核心处理器108包括核心1081M。然而,实施例不限于在此图中所示的部件或配置。0012在各个实施例中,多核心处理器108可以包括中央处理单元,该中央处理单元包括一个或多个处理器核心1081M。处理器108可以包括任何类型的处理单元,诸如CPU、多处理单元、精简指令集计算机RISC、具有流水线的处理器、复杂指令集计算机CISC和数字信号处理器DSP等。0013在各个实施例中,存储器104可以包括任意合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器,可移动或不可移动介质、易。

16、失性或非易失性存储器或介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器CDROM、可记录光盘CDR、可重写光盘CDRW、光学盘、磁介质、磁光介质、可移动存储器卡或盘、各种类型数字通用盘DVD、磁带、卡带等等。0014在一些实施例中,操作系统OS106可以包括在装置100的各个硬件组件和用户之间的接口。在各个实施例中,OS106可以负责活动的管理和协调以及计算系统100的资源的共享。在一些实施例中,OS106可以作为在计算系统100上运行的各种计算应用的宿主。例如,在一些实施例中,OS106可以包括在华盛顿雷德蒙德的MICROSOFT的操作系统。描述了并要。

17、求保护其他实施例。0015在各个实施例中,功率管理模块102可以包括软件驱动程序或应用,用于管理计算系统100的功率和生热。在一些实施例中,功率管理模块102可以包括在OS106下运行的软件驱动程序,该软件驱动程序控制特定功率方案诸如冷却和安静功率方案或低功率方案的进入和管理。在各个实施例中,低功率方案可以包括可配置的方案,该可配置的方案减小在活动工作负载期间的处理器功耗。应当明白,虽然功率管理模块102被示出为在计算系统100中的独立组件,但是其可以作为OS106的一部分被包括在存储器104中,或包括在任何其他位置或配置中,并且仍然落入所描述的实施例内。描述了并要求保护其他实施例。0016在。

18、一些实施例中,功率管理模块102可操作来初始化计算系统100的低功率模式。与正常或传统的操作模式相比较,低功率模式或冷却和安静模式可以包括可配置的功率方案,该可配置的功率方案被适配来使得计算系统100以减小的功耗、减小的生热和减小的噪声来工作。0017可以通过用户按下按钮或基于检测的系统性能和/或系统或组件状况而进入特定功率方案,来使得进行低功率模式的初始化。例如,在一些实施例中,功率管理模块102说明书CN102033596ACN102033599A3/8页7可以接收与功耗和/或当前由计算系统100的各个组件产生的热量或噪声水平相关的信息,并且可以自动地进入低功率模式内。在一些实施例中,用户。

19、可以通过下述方式来手动地启动低功率模式在硬件或软件中按下按钮以使能低功率模式,或者使能或激活低功率模式系统偏好。描述了并要求保护其他实施例。0018在各个实施例中,功率管理模块102可以监控活动工作负载,并且在进入低功率模式后重新分配特定的工作负载。例如,功率管理模块102可以监控与在计算系统100上运行的一个或多个活动应用相关的软件线程。软件线程可以包括例如被执行来执行任务的指令。在一些实施例中,在诸如计算系统100的多核心系统中,线程或任务可以同时例如,并行运行,其中每一个处理器108或每一个处理器核心1081M运行一个特定的线程或任务。虽然一些传统的计算系统的确包含聚合线程的能力,但是通。

20、常并未实现这个能力,因为要获得任何实质的益处通常需要专门的系统知识。在许多传统系统中,大多数应用不将它们的任务聚合到特定的处理器。例如,在传统系统中,OS调度器可以简单地以它的判断在逻辑处理器上运行软件线程。换句话说,在传统计算系统中的OS调度器可以调度线程在所有可用的逻辑处理器例如,处理器核心1081M上运行。0019在一些实施例中,功率管理模块102可操作来检测一个或多个未聚合的软件线程。例如,功率管理模块102可以例如针对线程创建、删除和/或模式改变而持续监控诸如OS106的OS环境,并且可以识别未聚合并且未免除聚合或排除聚合的线程。在各个实施例中,功率管理模块102可操作来聚合一个或多。

21、个未聚合的软件线程,以在多核心处理器108的一组处理器核心上运行。例如,功率管理模块102可以聚合一个或多个未聚合的软件线程,以在少于多核心处理器108的处理器核心总数的处理器核心上运行。描述了并要求保护其他实施例。0020在一些实施例中,当在低功率模式中时,功率管理模块102可以持续地将所有未聚合的软件线程聚合到配置的特定一组逻辑处理器。在各个实施例中,当已知处理器拓扑时,可以设定或选择软件线程被聚合来在其上运行的一组处理器核心,使得排除与专用物理处理器核心相关的逻辑处理器。例如,功率管理模块102可操作来检测多核心处理器108的处理器核心1081M的每一个的功率特性或热特性,并且基于功率特。

22、性或热特性来选择用于聚合的一组处理器核心。0021在一些实施例中,当作为调用低功率模式的结果,OS调度器停止在某些核心上调度工作时,这些核心自然变得空闲并且进入处理器低功率状态。虽然这可能例如使得在更少数量的处理器核心上有更高的利用率UTILIZATION,但是计算系统100的整体性能可能与功耗、生热或噪声产生一起降低。此外,在一些实施例中,功率管理模块102可操作来接连地减少在所选择的一组处理器核心中的处理器核心的数量,并且聚合一个或多个未聚合的软件线程以在减少后的该组处理器核心上运行,从而持续地减小功耗和生热以及噪声产生。描述了并要求保护其他实施例。0022在各个实施例中,可以通过下述方式。

23、来调用计算系统的最低功率操作将所有的软件线程聚合到一个处理器核心,有效地仿真处理器除热操作实现的效果。例如,在一些实施例中,功率管理模块102可操作来聚合一个或多个未聚合的软件线程,以在多核心处理器108的多个处理器核心1081M之一上运行。0023将所有的软件线程聚合到一个处理器核心可以使得减小计算系统100的功耗和说明书CN102033596ACN102033599A4/8页8生热以及噪声产生。然而,在一些实施例中,可以通过下述方式来进一步减小功耗和生热以及噪声产生在已经实现了有效的单个核心操作后,将OS106使用的处理器性能状态降低到配置数量的较低性能状态。例如,功率管理模块102可操作。

24、来降低针对线程聚合选择的一组处理器核心中的一个或多个多核心处理器1081M的处理器性能状态。在各个实施例中,可以通过针对剩余的核心将OSP状态使用限制为单个最低功率P状态来实现较低功率操作。描述了并要求保护其他实施例。0024在一些实施例中,在所有线程已经被聚合来在单个处理器核心上执行并且该核心正工作在其最低P状态后,可以使用线性抑制来实现进一步的活动工作负载功率降低。例如,功率管理模块102可操作来向一组处理器核心中的一个或多个处理器核心应用线性抑制。然而,在各个实施例中,线性抑制操作本身可能具有影响系统性能的功率花费。因此,例如,可以检测利用率,并且可以仅当利用率升高到高于可配置的阈值时应。

25、用抑制。例如,功率管理模块102可操作来基于利用率阈值来应用线性抑制。0025在一些实施例中,可以将利用率阈值设定在对系统的正回馈点例如,抑制将减小功率而不是提高功率的点处。0026图2说明了逻辑流程200的一个实施例。逻辑流程200可以由各个系统和/或设备执行,并且可以如给定的一组设计参数或性能约束所要求的被实现为硬件、软件和/或其任何组合。例如,逻辑流程200的一个或多个操作可以通过要由逻辑设备例如,计算机、处理器执行的可执行的编程或计算机可读指令来实现。逻辑流程200可以描述上面参照装置100和功率管理模块102所描述的节能特征。0027在各个实施例中,在202,可以进入或初始化低功率模。

26、式。例如,用户可以通过按下按钮或以其他方式指示期望进入计算系统上的低功率模式来选择低功率模式。在204,可以检测一个或多个软件线程。例如,设备驱动程序或其他应用程序可以被配置为持续监控和检测被调度来由多核心处理器执行的软件线程。在206,确定检测到的软件线程是否被聚合。如果一个或多个线程已经被聚合或者免除聚合或排除聚合,则这些线程的聚合不被改变。如果未检测到未聚合的线程,则软件线程的持续监控和检测可以进行。0028在一些实施例中,如果一个或多个线程未被聚合并且未免除聚合或排除聚合,则在206可以聚合这些线程。例如,可以将未聚合的线程调度来在少于多核心处理器的可用核心总数的处理器核心上执行。在对。

27、检测到的未聚合的线程进行强制聚合后,在210确定使能和/或期望静态配置还是动态配置。例如,可以选择包括预定性能准则的静态配置,或者可以选择包括性能目标的动态配置,所述性能目标被满足,而无论产生何种配置。描述了并要求保护其他实施例。0029如果选择了静态配置,则在222,为剩余的处理器或处理器核心选择预定性能状态例如,P状态。在224,确定是否已经选择了最低P状态,并且如果是,则在226确定是否已经满足了利用率阈值。如果是,则在228可以应用抑制。描述了并要求保护其他实施例。0030在各个实施例中,如果选择了动态确认,则在212确定是否期望更多的节能或是否已经满足了建立的热或声目标。如果期望额外。

28、的节能或还没有满足目标,则在214可以降低针对软件线程的聚合所选择的核心的性能状态例如,P状态。在各个实施例中,在216确定是否期望进一步的节能或是否仍未满足热或声目标。如果期望额外的节能或还没有满足目标,则在218确定是否已经超过了利用率阈值,并且如果已经超过,则在220可以说明书CN102033596ACN102033599A5/8页9应用线性抑制。0031在一些实施例中,动态配置可以包括接连地聚合线程以使用逻辑处理器,直到满足目标。例如,动态配置可以包括接连减少所使用的核心数量,直到满足目标。描述了并要求保护其他实施例。0032在各个实施例中,可以因为任何数量的原因在任何时间退出低功率模。

29、式,所述原因包括但是不限于例如用户选择的退出或基于性能的退出。在一些实施例中,在240可以检测从低功率模式的退出。在各个实施例中,例如,当退出抑制和P状态与核心使用时和/或当已经达到目标时,在动态配置中可以发生退出。在从低功率模式退出的情况下,在242可以对聚合的线程进行去聚合,并且在244,系统可以恢复正常操作。描述了并要求保护其他实施例。0033虽然根据软件线程描述了某些实施例,但是应当明白,可以使用任何数量的线程和多核心处理器的任何数量的核心,并且仍然落在所描述的实施例内。此外,应当明白,在一些实施例中,逻辑流程200可以被实现或布置来并行地执行任务,包括基本同时地处理多个线程和控制多个。

30、核心。此外,也应当明白,逻辑流程200仅是逻辑流程的一个示例,并且可以实现不同数量、顺序和/或布置的在逻辑流程200中描述的操作,并仍然落在所描述的实施例内。描述了并要求保护其他实施例。0034图3说明了第二逻辑流程300的一个实施例。和上面参考逻辑流程200所描述的一样,逻辑流程300可以通过各种系统和/或设备来执行,并且可以如给定的一组设计参数或性能约束所期望的实现为硬件、软件和/或其任何组合。例如,逻辑流程300的一个或多个操作可以通过要由逻辑设备例如,计算机、处理器执行的可执行编程或计算机可读指令来实现。0035在一个实施例中,在302,可以初始化低功率模式。例如,功率管理模块102可。

31、以初始化计算系统100的低功率或冷却和安静操作模式。在302,可以检测一个或多个未聚合的软件线程。例如,功率管理模块102可以检测被调度来由多核心处理器108执行的一个或多个未聚合的软件线程。0036在各个实施例中,在306,该一个或多个未聚合的软件线程可以被聚合以在多核心处理器的一组处理器核心上运行。在一些实施例中,该组处理器核心包括少于多核心处理器的处理器核心总数的处理器核心。例如,在一个实施例中,该一个或多个未聚合的软件线程可以被聚合以在多核心处理器108的多个处理器核心1081M之一上运行。描述了并要求保护其他实施例。0037在一些实施例中,可以检测多核心处理器的每一个处理器核心的功率。

32、特性和/或热特性,并且可以基于功率特性和/或热特性来选择所述一组处理器核心。例如,功率管理模块102可以监控各个计算系统100组件,并且基于这些组件的特性来选择用于软件线程聚合的一组处理器核心1081M。0038在各个实施例中,在一组处理器核心中的处理器核心的数量可以被接连减少,并且一个或多个未聚合的软件线程可以被聚合以在减少的该组处理器核心上运行。例如,功率管理模块102可操作来持续监控多核心处理器108和多核心处理器108正在执行或被调度来由多核心处理器108执行的任何软件线程,并且当有保证时,可以进一步减少用于软件线程聚合的该组所选择的核心。说明书CN102033596ACN102033。

33、599A6/8页100039在一些实施例中,当除了使用线程聚合实现的节能之外还期望进一步的节能时,可以降低在所述一组处理器核心中的一个或多个处理器核心的性能状态。例如,如果多核心处理器108的单核心正在用于执行多个软件线程,则可以通过降低该单个核心的P状态来实现额外的节能。如果向一组处理器核心中的一个或多个处理器核心应用线性抑制,则还可以实现进一步的节能。在各个实施例中,基于利用率阈值来应用线性抑制。描述了并要求保护其他实施例。0040图4是示例性系统实施例的图。具体而言,图4是示出可以包括各种部件的系统400的图。例如,图4示出了系统400,其可包括处理器402、芯片组404、输入/输出I/。

34、O设备406、随机存取存储器RAM例如动态RAMDRAM408、只读存储器ROM410,以及各种平台组件414例如风扇、贯流式风机、散热片、DTM系统、冷却系统、外壳、通风口等等。这些部件可以用硬件、软件、固件或其任意组合来实现。然而实施例并不限于这些部件。0041如图4所示,I/O设备406、RAM408和ROM410通过芯片组404耦合到处理器402。芯片组404可通过总线412耦合到处理器402。相应地,总线412可包括多个线。0042处理器402可以是包括一个或多个处理器核心的中央处理单元,并且可包括具有任何数量的处理器核心的任何数量的处理器。处理器402可包括任何类型的处理单元,例如。

35、,CPU、多重处理单元、精简指令集计算机RISC、具有流水线的处理器、复杂指令集计算机CISC、数字信号处理器DSP,等等。0043尽管没有示出,但是系统400可包括各种接口电路,例如以太网接口和/或通用串行总线USB接口,等等。在一些示例性实施例中,I/O设备406可包括连接到接口电路的一个或多个输入设备,用于输入数据和命令到系统400中。例如,输入设备可包括键盘、鼠标、触摸屏、轨迹垫、轨迹球、ISOPOINT、语音识别系统,等等。类似地,I/O设备406可包括连接到接口电路的一个或多个输出设备,用于向操作者输出信息。例如,输出设备可包括一个或多个显示器、打印机、扬声器,和/或期望的其它输出。

36、设备。例如,一个输出设备可以是显示器。显示器可以是阴极射线管CRT、液晶显示器LCD,或任何其它类型的显示器。0044系统400也可具有有线或无线网络接口,以通过到网络的连接与其它设备交换数据。网络连接可以是任何类型的网络连接,例如以太网连接、数字用户线DSL、电话线路、同轴电缆等。网络可以是任何类型的网络,例如因特网、电话网络、电缆网络、无线网络、分组交换网络、电路交换网络,等等。0045本文给出了许多具体的细节以提供对实施例的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践这些实施例。在其它实例中,公知的操作、组件和电路没有进行详细描述,以免模糊这些实施例。可以意识。

37、到,本文公开的具体的结构和功能细节可以是代表性的,并且并不必然限制这些实施例的范围。0046可以使用硬件部件、软件部件或两者的组合来实现各种实施例。硬件部件的例子可包括处理器、微处理器、电路、电路部件如晶体管、电阻器、电容器、电感器等等、集成电路、专用集成电路ASIC、可编程逻辑器件PLD、数字信号处理器DSP、现场可编程门阵列FPGA、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的例子可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口API、指令集、计算代码、计算机代码。

38、、代码段、计算机代码段、字、值、符号,或它们的任意组合。确定是否使用说明书CN102033596ACN102033599A7/8页11硬件部件和/或软件部件来实现实施例可根据任何数量的因素而改变,所述因素例如,期望的计算速率、功率级别、热容忍性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。0047可以使用措辞“耦合”和“连接”及其派生词来描述一些实施例。这些术语不是旨在表示彼此同义。例如,可以使用术语“连接”和/或“耦合”来描述一些实施例,以指示两个或更多部件彼此直接物理或电气接触。然而,术语“耦合”还可以意味着两个或更多部件彼此不直接接触却仍然彼此。

39、共同操作或交互。0048例如,可以使用可存储指令、指令集或计算机可执行代码的机器可读或计算机可读介质或制品来实现一些实施例,当机器或处理器执行该指令、指令集或计算机可执行代码时,可以导致机器或处理器执行根据实施例的方法和/或操作。该机器可以包括,例如,任意合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等等,并且可以使用硬件和/或软件的任意合适组合来实现。机器可读介质或制品可以包括,例如,任意合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器,可移动或不可移动介质、易失性或非易失性存储器或介质、可擦。

40、除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器CDROM、可记录光盘CDR、可重写光盘CDRW、光学盘、磁介质、磁光介质、可移动存储器卡或盘、各种类型数字通用盘DVD、磁带、卡带等等。指令可以包括使用任意合适的高级、低级、面向对象、可视、编译和/或解释编程语言来实现的任意合适类型的代码,例如,源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、已加密代码等等。0049若非具体声明另有所指,否则可以意识到,诸如“处理”、“计算”、“运算”、“确定”等等的术语是指计算机或计算系统或类似的电子计算设备的动作和/或过程,其将计算系统的寄存器和/或存储器中被表。

41、示为物理量例如,电子的数据操作和/或变换为计算系统的存储器、寄存器或其它此类信息存储、传输或显示设备中被类似地表示为物理量的其它数据。实施例不限于该环境。0050应该注意到,不必按照所述的次序或任意特定次序来执行本文所述的方法。此外,参考本文所确定的方法所描述的各种活动可以以串行或并行方式执行。0051虽然本文说明并且描述了具体的实施例,但是应该意识到,对于所示的具体实施例,可以使用用于实现同一目的的任意配置来代替。本公开旨在覆盖各实施例的任意和全部改变或变化。应该理解,以示例性的方式而不是限制性的方式进行了上述描述。在阅读了上述描述之后,上述实施例的组合以及本文中未具体描述的其它实施例对于本。

42、领域技术人员而言将是显而易见的。因此,各实施例的范围包括使用以上组合、结构和方法的任意其它应用。0052要强调的是,提供了本公开的摘要以符合37CFR172B,其要求摘要以允许读者快速确定本技术公开的特性。提交了摘要但是要理解该摘要不会用于解释或限制权利要求的范围和意义。另外,在前述详细描述中可以看到,为了流水化本公开的目的而将各种特征组合到单个实施例中。不能将本公开的该方法解释为反应了所要求保护的实施例需要的特征比每个权利要求中明确表述的更多。而是,根据所附权利要求所反应的,发明性的主题所依赖的特征少于单个公开实施例中的全部特征。因此,将所附权利要求并入该详细描说明书CN102033596A。

43、CN102033599A8/8页12述,其中每个权利要求自己表示独立的优选实施例。在所附权利要求中,使用术语“包括”和“其中”来分别作为术语“包含”和“在其中”的纯英语的等效词语。并且,术语“第一”、“第二”和“第三”等等仅被作为标记而并非旨在将数字要求强加在其对象上。0053虽然已经采用专用于结构特征和/或方法动作的语言描述了本主题,但是要理解,在所附权利要求中所定义的主题不必限于上述具体特征或动作。而是,上述具体特征和动作是作为实现权利要求的示例性形式而被公开的。说明书CN102033596ACN102033599A1/4页13图1说明书附图CN102033596ACN102033599A2/4页14图2说明书附图CN102033596ACN102033599A3/4页15图3说明书附图CN102033596ACN102033599A4/4页16图4说明书附图CN102033596A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1