首页> 中国专利> 包括基于非内核域在功率节省状态下的驻留时间确定装置的最佳功率状态的用于能量效率和能量节约的方法、装置及系统

包括基于非内核域在功率节省状态下的驻留时间确定装置的最佳功率状态的用于能量效率和能量节约的方法、装置及系统

摘要

处理器可确定驻留在功率节省状态下的非内核域的实际驻留时间,并且基于实际驻留时间,处理器可确定处理器的最佳功率节省状态(P状态)。响应于非内核域进入功率节省状态,中断生成器(IG)可生成第一中断并且设备驱动器或操作系统可使用第一中断开始计时器(第一值)。响应于非内核域退出功率节省状态,IG可生成第二中断并且设备驱动器或操作系统可使用第二中断停止计时器(终值)。功率管理单元可使用终值和第一值确定实际驻留时间。

著录项

  • 公开/公告号CN103959202A

    专利类型发明专利

  • 公开/公告日2014-07-30

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201280059871.X

  • 申请日2012-12-05

  • 分类号G06F1/32;G06F9/06;G06F13/14;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人张欣

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 00:50:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-01

    授权

    授权

  • 2014-08-27

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20121205

    实质审查的生效

  • 2014-07-30

    公开

    公开

说明书

领域

本公开涉及集成电路中的能量效率和能量节约以及用于在其上执行的 代码,并且具体地但并非排他地涉及基于非CPU域的功率状态驻留确定集 成电路的最佳功率状态。

背景

半导体处理和逻辑设计的进步已经提高了可出现在集成电路器件上的 逻辑数量。其结果是,计算机系统配置已经从系统中的单或多集成电路演 进到单独集成电路上的多硬件线程、多内核、多设备、和/或计算机系统。 附加地,随着集成电路的密度增长,也放大了对计算机系统(从嵌入式系 统到服务器)的功率要求。而且,软件低效及其对硬件的要求已经造成了 计算设备能量消耗的增长。事实上,某些研究表明,计算机消耗对于美国 的全部供电的大约13%。其结果是,非常需要与集成电路相关联的能量效 率和节约。并且,随着服务器、桌上计算机、笔记本、超级本、移动电话、 处理器、嵌入式系统等等变得更加流行(从包括在典型的计算机、汽车以 及电视中到生物技术),计算设备销售的影响很好地延伸到能量消耗范围 之外,达到对美国经济的显著直接的影响,因为计算设备相关的销售已经 与美国国内生产总值具有很大的因果关系。尽管已经在此展示与美国相关 的具体统计数据,对增强能量效率以及降低能量或功率消耗的需要在全世 界适用。

例如,计算机系统可包括处理器,处理器可包括多个处理内核、非内 核区域、图形处理单元、以及许多这种处理模块。这些模块中的一个或多 个可在不同且独立的时钟频率下运行并且可通常被称为“多频域”。除处 理内核域(或内核域)之外的那些域(例如,GPU,非内核)可被称为非 内核域。这些内核在功率节省(或C)状态(诸如C0至C7)下的驻留时 间可由功率控制单元或操作系统或设备驱动器来确定。然而,当前技术仅 测算非内核域诸如GPU的驻留时间,并且这种测算的驻留时间仅仅是测算 值并且可能不准确或不能代表实际驻留时间。其结果是,基于非内核域的 经测算驻留时间确定的处理器的功率状态(或P状态)可能不是最佳的并 且可能错过了功率节省机会。

附图简要说明

通过举例而非通过限制在附图中展示在此所述的本发明。为了展示的 简单和清晰,图中所示元件无需按比例绘制。例如,为了清晰的目的,一 些元件的尺寸可能相对于其他元件被放大。而且,当考虑合适时,已经在 附图中重复参考标号以便表明相应的或类似的元件。

图1展示处理器100,根据一个实施例,该处理器可确定一个或多个 非内核域在功率节省状态下的驻留时间。

图2是流程图200,其展示一种技术,根据一个实施例,处理器可通 过该技术确定一个或多个非内核域在功率节省状态下的驻留时间。

图3展示流程图300,该流程图展示一种技术,根据一个实施例,处 理器可通过该技术基于一个或多个非内核域的驻留时间确定处理器的功率 状态(P状态)。

图4展示计算机系统700,根据一个实施例,该计算机系统可确定一 个或多个非内核域在功率节省状态下的驻留时间。

详细说明

以下说明描述了一种用于基于非内核域中的功率状态驻留确定装置的 最佳功率状态的多个实施例。在以下说明中,列出了许多特定细节,诸如 逻辑实现方式、资源划分或共享、或复制实现方式、系统组件的类型和相 互关系、以及逻辑划分或集成选择,以便提供本发明的更透彻理解。然而, 本领域普通技术人员将认识到本发明可在没有这些特定细节的情况下实 施。在其他实例中,未详细地展示控制结构、门级电路、以及全软件指令 序列,以便不混淆本发明。通过所包括的说明,本领域普通技术人员将能 够在没有不适当的试验的情况下实施适当的功能。

在说明书中对“一个实施例”、“一实施例”、“一示例实施例”的 引用表明所述实施例可包括具体的特征、结构或特性,但是每个实施例可 能无需包括该具体的特征、结构或特性。而且,这种短语无需指代相同的 实施例。而且,当结合实施例描述具体的特征、结构或特性时,认为其在 本领域普通技术人员结合显式地或未显式地描述的其他实施例实施这种特 征、结构或特性的知识范围内。

本发明的实施例可在硬件、固件、软件或其任意组合中实施。本发明 的实施例还可实施为存储在机器可读介质上的指令,这些指令可由一个或 多个处理器读取并执行。机器可读介质可包括任意用于存储或发送机器(例 如,计算设备)可读形式的信息。

例如,机器可读介质可包括只读存储器(ROM);随机存取存储器 (RAM);磁盘存储介质;光学存储介质;闪存设备;电、光、声光或其 他类似的信号。而且,固件、软件、例程以及指令可在此描述为执行某些 动作。然而,应当认识到这种描述仅用于方便并且认识到这种动作事实上 来自计算设备、处理器、控制器以及其他执行固件、软件、例程以及指令 的设备。

尽管参考特定集成电路中(诸如在计算平台或多处理器中)的能量节 约和能量效率描述以下实施例,其他实施例可适用于其他类型的集成电路 和逻辑设备。类似的技术和在此所述的实施例的教导可应用于其他类型的 也可受益于更好的能量效率和能量节约的电路或半导体器件。例如,所公 开的实施例不限于桌上和膝上计算机系统并且还可用在其他设备中,诸如 手持式设备、片上系统(SOC)、以及嵌入式应用。手持式设备的一些示 例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)、 以及手持式PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、 片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN) 交换机、或能够执行以下教导的功能和操作的任意其他系统。而且,在此 所述的装置、方法、以及系统不限于物理计算设备,而是还可涉及用于能 量节约和效率的软件优化。如将从以下描述变得非常明显的是,在此所 述的装置、方法、以及系统的实施例(无论参照硬件、固件、软件还是其 组合)对于“绿色科技”未来而言是至关重要的,诸如对于涵盖美国或世 界经济的很大一部分的产品的功率节约和能量效率而言。

在一个实施例中,处理器可确定非内核域在功率节省状态(多种)下 的实际驻留时间,并且基于实际驻留时间,处理器可确定处理器的合适P 状态。在一个实施例中,处理器可包括功率控制单元、中断生成单元、以 及用于确定一个或多个非内核域(例如,图形处理单元)的实际驻留时间 的一个或多个计时器或计数器。基于例如GPU在功率节省状态(例如,C1 至C7)下的驻留时间,处理器可确定处理器的P状态。其结果是,处理器 可选择处理器的最佳P状态,并且可很好地利用功率节省机会以节约处理 器中的功率。

在一个实施例中,中断生成单元可响应于非内核域进入功率节省状态 (或C状态)而生成第一中断。在一个实施例中,中断生成单元可从功率 控制单元或从内核区域中的诸个处理内核之一接收第一信号。在一个实施 例中,处理内核可轮询(poll)状态寄存器以确定非内核域是否已经进入功 率节省状态以及将第一更新信号发送到功率控制单元。在其他实施例中, 处理内核可直接将第一信号发送到中断生成单元。在一个实施例中,设备 驱动器或操作系统或功率控制单元可使用第一中断以开始计时器或计数 器。在一个实施例中,计时器可响应于从设备驱动器或OS或PCU之一接 收到信号而从第一值开始。在一个实施例中,开始值可被复制到寄存器中 用于在稍后的时间点计算非内核域的驻留时间。在其他实施例中,开始值 可由用户或诸个处理内核之一来配置,并且所配置的开始值可响应于OS 或设备驱动器接收到第一中断而被加载到计数器中。

在一个实施例中,中断生成单元可响应于非内核域退出功率节省状态 而生成第二信号。在一个实施例中,处理内核可将第二更新信号发送到功 率控制单元,功率控制单元进而可将第二信号发送到中断生成单元。在其 他实施例中,处理内核可直接将第二信号发送到中断生成单元。在一个实 施例中,中断生成单元可响应于接收到第二信号而生成第二中断。在一个 实施例中,OS、或设备驱动器、或处理内核之一可将停止或停止信号发送 到计时器。

在一个实施例中,由计时器寄存的终值可被存储到寄存器。在一个实 施例中,终值和第一值可用于确定非内核域在功率节省状态下的实际驻留 时间。在一个实施例中,实际驻留时间值可用于确定处理器的最佳功率节 省状态。在一个实施例中,功率控制单元可基于实际驻留时间值确定处理 器的最佳功率节省状态。其结果是,和基于驻留时间的测算而选择的功率 节省状态相比,为处理器选择的最佳功率节省状态可提供机会来节约更多 的功率。

在图1中展示了可基于非内核域在功率节省状态下的实际驻留时间确 定处理器的最佳功率节省状态的处理器101的实施例。在一个实施例中, 处理器100可包括许多域,诸如内核105、非内核150、图形处理单元GPU 170、计数器/计时器175、以及中断生成单元180。在一个实施例中,除 内核域105之外的任意域可被称为“非内核域”。例如,图形处理单元(GPU) 170可以是非内核域之一。而且,为了简明,仅在图1中描绘了三个域,然 而,处理器101可包括许多这种域,并且每个域(或为内核或为非内核) 可在不同的时钟频率值下运行并且这种域还可被称为多频域。在一个实施 例中,内核105可包括许多处理内核(P内核)诸如110-A至110-N,分别 与p内核110-A至110-N相关联的逐内核高速缓存120-A至120-N,以及 分别与p内核110-A至110-N相关联的中级高速缓存130-A至130-N。在 一个实施例中,内核105和非内核150可支持点到点双向总线,以便增强 处理内核(p内核)110之间,以及内核区域105同非内核区域150之间的 通信。

在一个实施例中,p内核110中的每一个可包括指令队列IQ106、节 流器(throttler)107、活动累计逻辑AAL108、指令获取单元IFU112、解 码单元113、保留站(reservation station)RS114、执行单元EU115、浮点执 行单元FPU116、重排序缓冲器ROB117、以及回退(retirement)单元RU118。 在一个实施例中,每个P内核110-A至110-N可代表独立的域。在其他实 施例中,如果p内核110-A至110-N中的每一个在相同的时钟频率下运行, 则所有p内核110-A至110-N可总体上被称为单个独立域。上述功率管理 技术适用于上述任意场景以及其中存在可被称为非内核域的处理器100的 多个部分的其他场景。在此,为了简明,所有p内核110-A至110-N被表 示为单个域,即内核105。

在一个实施例中,每个处理内核110-B至110-N可包括类似于在处理 内核110-A中所描绘的模块的模块,并且为了简明,未在此示出处理内核 110-B至110-N中的每一个的内部细节。在一个实施例中,逐内核高速缓存 120可包括可支持更高存取速度的存储器技术,这可例如降低指令和数据获 取的延时。在一个实施例中,非内核区域150可包括存储器控制器155、末 级高速缓存LLC160、归属(home)代理HA161、高速缓存代理CA162、路 由代理RA163、全局时钟/PLL164、接口165、以及功率管理单元168。

在一个实施例中,活动传感器179可感测在内核105、非内核150、以 及GPU170中发生的活动。在一个实施例中,活动传感器179可被设置在 内核和非内核域中的每个模块的数据路径中,以便使得活动传感器179能 够检测架构和数据活动值。在一个实施例中,存储在AAL108中的每个域 的状态可用于确定该域是否已经进入或退出功率节省状态。

在一个实施例中,处理内核110-A可监控GPU170的活动等级,以便 确定GPU是否已经进入功率节省状态,诸如C2、C3、C6、或C7。在一 个实施例中,处理内核110-A可将第一信号发送到功率管理单元168,或处 理内核110-A可将第一信号直接发送到中断生成单元180。在一个实施例 中,处理内核110-A可监控GPU170的架构或数据活动值。在其他实施例 中,处理内核110-A可从GPU170检取(retrieve)活动值并且然后确定GPU 是否正在进入或退出功率节省状态。在这种情况下,处理内核110-A可从 GPU170的寄存器读取AAL值或任意其他状态值。在一个实施例中,处理 内核110-A可在确定GPU170正在进入功率节省状态之后发送第一信号。

在一个实施例中,功率管理单元168可响应于接收到第一信号而生成 第一更新信号。在一个实施例中,第一更新信号可被发送至中断生成单元 180。在一个实施例中,功率管理单元168可例如响应于从处理内核110-A 接收到第二信号而生成第二更新信号。在一个实施例中,第二更新信号可 被发送至中断生成单元180。在一个实施例中,功率管理单元168可接收非 内核域在功率节省状态下的实际驻留时间,并且基于实际驻留时间,功率 管理单元168可确定处理器101的最佳功率状态(P状态)。在一个实施例 中,功率管理单元168可至少部分地基于一个或多个非内核域(诸如GPU 170以及非内核150)的实际驻留时间控制提供给处理器101的时钟频率或 电压。

在一个实施例中,功率管理单元168被描绘为非内核150中的单个模 块,然而,功率管理功能可分布在域105、150、和170之间。在其他实施 例中,非内核150和GPU170中的每个处理内核110可具有独立的功率管 理单元,其可控制提供给处理内核110以及非内核150和GPU170中的模 块的功率值。

在一个实施例中,中断生成单元180可响应于接收到第一信号或第一 更新信号而生成第一中断。在一个实施例中,第一中断可表明非内核域(诸 如GPU170)可能正在进入功率节省状态(例如,或C状态Cx)。在一个 实施例中,中断生成单元180可响应于接收到第二信号或第二更新信号而 生成第二中断。在一个实施例中,第二中断可表明非内核域(诸如GPU170) 可能正在退出功率节省状态(Cx)。在一个实施例中,中断生成单元180 所生成的中断可以是成对的形式并且可通过与中断相关联的标识符来标 识。

例如,第一中断和第二中断可用于确定GPU170在功率状态Cx下的 实际驻留时间,因此,第一中断(IF_170_x)和第二中断(SI_170_x)可由 非内核域标识符(即,用于GPU的170)以及然后功率节省状态(即Cx) 标识符来标识。同样,第一(IF_170_y)和第二中断(SI_170_y)可表示一 对用于测量GPU170在功率节省状态Cy下的驻留状态。同样,第一 (IF_170_y)和第二中断(SI_170_y)可表示一对,其用于测量非内核150 在功率节省状态Cy下的驻留状态。

在一个实施例中,驱动器190或OS195可使用第一中断(IF_170_x) 来用开始值(或第一值)发起计数器/计时器175。在一个实施例中,计数 器/计时器175的启动(onset)表明GPU170已经进入功率节省状态Cx。在一 个实施例中,驱动器190或OS195可响应于接收到第二中断(SF_170_x) 来停止或停止计数器/计时器175。在一个实施例中,驱动器190可表示图 形驱动器。在一个实施例中,为了清晰,计数器/计时器175被示出为处理 器101内的分离的模块。但是,计数器/计时器模块175可被设置在内核105、 非内核150、或GPU170内。

图2展示了描绘处理器100的操作的流程图,该处理器100可根据一 个实施例基于非内核域在功率节省状态下的实际驻留时间确定处理器的最 佳功率节省状态。

在方框205,处理内核(诸如处理内核110-A)可确定非内核域(例如, GPU170)是否正在进入功率节省状态(例如,Cx),并且,如果非内核 域正在进入功率节省状态,则控制前进到方框220,否则自循环(loopback)。 在一个实施例中,处理内核110-A或任意其他组件(诸如功率管理单元168、 专用微控制器、逻辑电路、固件、软件、或其任意组件的组合)可判定非 内核域是否正在进入功率节省状态并且可使用诸如AAL108的寄存器中的 状态值的内容来做出这种判定。

在一个实施例中,AAL108可存储处理内核110-A以及还有非内核域 170的活动等级、工作负荷等级、使用率等级、指令吞吐量、热等级、电压、 电流、时钟频率值以及其他此类状态值。在一个实施例中,可使用专用传 感器或提供用于监控状态值的检测设备来获取活动等级、工作负荷等级、 使用率等级、指令吞吐量、热等级、电压、电流和频率值。在其他实施例 中,非内核域170可具有用于存储状态值的寄存器,并且处理内核110-A 可检取这种状态值,以便确定非内核域170是否正在进入或退出功率节省 状态。在其他实施例中,处理内核110-A可接收非内核域170的状态,并 且非内核域170可确定非内核170是否正在进入或退出功率节省状态。

在方框220,处理内核110-A或功率控制单元168可分别通过向中断 生成单元180发送第一信号或第一更新信号来启动中断生成单元180。

在方框230,OS195或设备驱动器190可检查中断生成单元180是否 生成了进入(entry)中断(或第一中断),并且如果生成了进入中断,控制前 进到方框240,否则自循环。

在方框240,OS195或设备驱动器190可将计数器/计时器175初始化 到第一值(或开始值)并且可允许计数器/计时器175计数。在一个实施例 中,计数器/计时器175可被提供有时钟信号,并且时钟信号的频率可被设 置为使得计数器/计时器175所寄存的值可表示非内核域在功率节省状态下 的实际驻留时间。

在方框250,处理内核(诸如处理内核110-A)可确定非内核域(例如, GPU170)是否正在退出功率节省状态(例如,Cx),并且,如果非内核 域退出功率节省状态,控制前进到方框260,否则自循环。在一个实施例中, 处理内核110-A或任意其他组件(诸如功率管理单元168、专用微控制器、 逻辑电路、固件、软件、或其任意组件的组合)可确定非内核域是否正在 退出功率节省状态并且可使用寄存器诸如AAL108中的状态值的内容来做 出这种确定。在一个实施例中,处理内核110-A可包含上述状态值,以便 确定非内核域170是否正在退出功率节省状态。

在方框260,处理内核110-A或功率控制单元168可分别通过向中断 生成单元180发送第二信号或第二更新信号来启动中断生成单元180。

在方框270,OS195或设备驱动器190可检查中断生成单元180是否 生成了退出中断(或第二中断),并且如果生成了退出中断,控制前进到 方框280,否则自循环。

在方框280,OS195或设备驱动器190可停止或停止计数器/计时器 175,并且计数器/计时器175所寄存的第二值(或终值)可被检取并存储在 寄存器中。

在方框290,功率控制单元168可测量或确定非内核域(诸如GPU170) 在功率节省状态Cx下的驻留时间。在一个实施例中,功率管理单元168可 使用第一(或开始)和第二(终)值确定实际驻留时间。在方框295,功率 管理单元168可将非内核域的实际驻留时间存储在存储器(诸如驻留时间 寄存器RTR168-1)中。

图3展示描绘功率管理单元的操作的流程图,根据一个实施例,所述 操作可基于非内核域在功率节省状态下的实际驻留时间确定处理器的最佳 功率节省状态。

在方框310,功率管理单元168可检取存储在寄存器(诸如RTR168-1) 中的实际驻留时间值。在方框340,功率管理单元340可基于存储在RTR 168-1中的实际驻留时间值确定非内核域(诸如GPU170)、或处理器101、 或非内核域(诸如GPU170)和处理器101二者的最佳功率状态(P状态)。 在一个实施例中,功率管理单元168可使用实际驻留时间值确定处理器101 的最佳功率节省状态(P状态),并且其结果是,最佳功率节省状态(例如, Px)可不同于以其他方式基于所测算的驻留时间值来确定的非最佳功率节 省状态(Pk)

在方框360,功率管理单元168可检查功率状态是否需要从PL改变到 例如Px以便利用实际驻留时间值的测量所提供的功率节省机会。如果功率 状态需要从PL改变到Px,控制前进到方框380,否则自循环。

在方框380,功率管理单元168可基于功率管理单元168在方框340 中确定的最佳功率状态将处理器101的功率状态从PL状态改变到Px状态。

图4展示计算机系统400,根据一个实施例,该计算机系统可支持基 于非内核域在功率节省状态下的实际驻留时间确定处理器的最佳功率节省 状态。计算机系统400可包括处理器402,处理器402可包括多个域,诸如 内核区域(area)403、非内核区域404、非内核域405、以及功率管理单元PMU 406、和中断生成器407。例如,内核区域可包括许多处理内核,并且非内 核区域可包括存储器控制器、末级高速缓存、归属代理、高速缓存代理、 路由代理、全局时钟或PLL、以及接口。并且,非内核域405可表示图形 处理单元GPU。在一个实施例中,这些域可包括单指令多数据(SIMD)处 理器。在一个实施例中,处理内核、中断生成单元407以及PMU406可一 起合作运行以便确定非内核域407在功率节省状态(Cx)下的实际驻留时 间,并且实际驻留时间值可用于确定上述处理器402的最佳功率节省状态 (Px)。处理器402可支持包括图形设备驱动器的各种设备驱动器。

运行计算机系统400的处理器402可以是耦联到逻辑430的一个或多 个处理器内核。逻辑430可耦联到一个或多个I/O设备460,I/O设备460 可提供到计算机系统400的接口。例如,在一个实施例中,逻辑430可以 是芯片集逻辑。逻辑430耦联到存储器420,存储器420可以是任意种类的 存储,包括光、磁、或半导体存储。非内核域405(诸如图形处理器单元) 可通过帧缓冲器耦联到显示器440。在一个实施例中,机器可读存储介质 425可包括操作系统。在其他实施例中,存储器420可存储操作系统。

在一个实施例中,处理器402可确定非内核域405在功率节省状态(多 种)下的实际驻留时间,并且基于实际驻留时间,处理器402可确定处理 器402的合适P状态。在一个实施例中,处理内核可确定非内核域405是 否正在进入功率节省状态(例如,Cx)并且可生成到中断生成器IG407的 启动信号,中断生成器IG407进而可生成第一中断(或进入中断)。在一 个实施例中,设备驱动器或操作系统可使用第一中断开始计时器/计数器 408。

在一个实施例中,IG407可响应于非内核域退出功率节省状态接收第 二信号。在一个实施例中,处理内核可将第二信号发送到IG407。在一个 实施例中,OS、或设备驱动器、或逐个处理内核之一可将停止或停止信号 发送到计时器/计数器408。在一个实施例中,由计时器/计数器408寄存的 终值可被存储到寄存器中。在一个实施例中,终值和第一值可用于确定当 非内核域在驻留功率节省状态(Cx)下时的实际驻留时间。在一个实施例 中,实际驻留时间值可用于确定处理器402的最佳功率节省状态(P状态)。 其结果是,与基于驻留时间的测算选择的功率节省状态相比,为处理器402 选择的最佳功率节省状态可提供机会来节约更多的功率。

已经参照示例实施例描述了本发明的某些特征。然而,不旨在以限制 性的意义解释本说明。对本发明所涉及的对本领域普通技术人员明显的本 发明的示例实施例以及其他实施例各种修改被认为落入本发明的精神和范 围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号