处理器设计中用于动态功率管理的系统和方法

文档序号:6568972阅读:155来源:国知局
专利名称:处理器设计中用于动态功率管理的系统和方法
技术领域
本发明涉及处理器设计中用于动态功率管理的系统和方法。
背景技术
计算机系统设计包含了许多设计方法来达到最大性能。 一种这样 的设计方法是流水线式的。流水线是一种实现技术,由此使得多个指 令在执行时重叠进行。流水线可以分段成"级",其中每个级包括一个 或多个指令单元或执行单元。流水线级包括"停滞点",它是在流水线 上用于检验停滞条件的位置。例如,流水线级可包括发布单元,其中 该发布单元检验与等待发出的指令相应的停滞。
流水线停滞条件来源于各种各样的原因,诸如执行非流水线指令, 进入单步模式,执行去归一化指令或识别数据损害。停滞条件把相应 的流水线级驱动到停滞状态,这些停滞条件中的许多停滞条件可能持 续一段扩展的时间间隔。
某些处理器设计包含了用于控制流水线级的软件和硬件功率管理 技术。软件功率管理的例子是对于软件对处理器编程以从完全功率模 式切换到休眠模式或緩慢模式。硬件功率管理的例子是当单个的流水 线处在空闲状态时禁用该流水线。然而,发现了这样的挑战,当流水 线级停滞时,流水线仍被看作为"工作的"流水线,所以,软件或硬 件功率管理都不关断流水线时钟。
所以,所需要的是当流水线级检测到停滞条件时有效地节省功率 的系统和方法。

发明内容
已经发现,上述的挑战通过用于使用停滞条件来指示空闲检测逻辑关断在流水线级内的寄存器时钟以节省功率的系统和方法而得以解 决。停滞条件也沿流水线向上传播到上游流水线级,以使得上游流水 线级也关断它们的时钟。
流水线包括多个流水线"级",其中每个级包括一个或多个指令单 元或执行单元。每个流水线级包括停滞检测逻辑、空闲检测逻辑、和 流水线单元,诸如指令单元或执行单元。流水线级的停滞检测逻辑和 空闲检测逻辑可以结合到流水线级的流水线单元中,或者可以是独立 的检测逻辑。停滞检测逻辑检测在流水线单元内的停滞条件,以及空 闲检测逻辑检测在流水线单元内的空闲条件。
当流水线级的空闲检测逻辑检测到空闲条件时,它发送空闲信号 到它的流水线单元,该流水线单元又关断加到它们的寄存器的时钟。
;条件;,停滞检测逻辑发送信号到流;线的空闲检;逻辑:该信 号又指示空闲检测逻辑发送信号来关断寄存器时钟。另外,停滞检测 逻辑把停滞信号传播到上游流水线级,上游流水线级又指示它们的检 测逻辑关断寄存器时钟。
在一个实施例中,当停滞检测逻辑检测到停滞条件时,停滞检测
发出指令,以便填充流水i级。'、 " 在另 一个实施例中,如果处理器设计包含了停滞检测关断时钟作 为硬件功率管理机制,则处理器可以使用空闲条件来指示停滞检测逻 辑在空闲条件期间关断时钟。代替诸如以停滞条件在流水线级和上游 流水线级处关断时钟,空闲条件指示停滞检测逻辑关断特定的流水线 级的时钟。


现在参照附图仅仅作为例子描述
具体实施例方式
图1是显示关断到流水线单元的时钟并把停滞信号传播到上游流 水线级的流水线级的图示;图2是显示在空闲条件期间关断时钟的空闲检测逻辑和在停滞条 件期间指示空闲检测逻辑关断时钟的停滞检测逻辑的图示;图3是显示在检测流水线级停滞条件和指示空闲检测逻辑关断寄 存器时钟时采取的步骤的流程图;图4是显示检验流水线级的空闲条件和从停滞检测逻辑接收的停 滞信号时采取的步骤的流程图;图5是显示在关断寄存器的相应时钟之前加载流水线寄存器的流 水线级的图示;图6是能够实施本发明的计算设备的框图;以及图7是能够实施本发明的计算设备的另一个框图。
具体实施方式
图1是显示关断到流水线单元(例如,指令单元和执行单元)的时 钟并把停滞信号传播到上游流水线级的流水线级的图示。设计者通过 把停滞和空闲检测点包括在流水线内检测流水线是停滞还是空闲的位 置处而把流水线分段成"级"。设备100包括第0级110、第1级130、 和第2级170。每个级包括一个或多个流水线单元,每个流水线单元 包括多个寄存器(关于流水线单元寄存器的进一步的细节见图2和相应 的正文)。第2级170包括第2停滞检测器175、第2空闲检测器180和后 端流水线单元185。第2停滞检测器175和第2空闲检测器180可以 结合到后端流水线单元185中,或者可以是如图所示的独立的检测逻 辑。第2停滞检测器175检测在后端流水线单元185内的停滞条件, 第2空闲检测器180检测后端流水线单元185中的空闲条件(关于停滞 条件和空闲条件的进一步的细节见图4, 5和相应的正文)。后端流水 线单元185包括执行单元,诸如定点单元和浮点单元。当第2空闲检测器180检测到空闲条件时,第2空闲检测器180 发送空闲信号到后端流水线单元185,该后端流水线单元关断到后端 流水线185内的寄存器的时钟。当第2停滞检测器175检测到停滞条件时,第2停滞检测器175激活第2停滞信号195,该第2停滞信号 指示第2空闲检测器180关断到后端流水线185的寄存器的时钟。另 外,第2停滞检测器175发送第2停滞信号195到上游流水线级(第1 级130),该信号指示上游流水线级也关断它的时钟。第1级130包括第1停滞检测器135、第1空闲检测器140和指 令单元,它们是调度(dispatch)单元145、译码单元150、依赖性 (dependency )单元155和发布单元160。第1停滞检测器135和第1 空闲检测器140可以结合到指令单元中,或者可以是如图所示的独立 的检测逻辑。第1停滞检测器135和第1空闲检测器140分别检测在 指令单元内的停滞和空闲条件(关于停滞条件和空闲条件的进一步的 细节见图4, 5和相应的正文)。当第1空闲检测器140检测到空闲条件时,第1空闲检测器140 发送空闲信号到指令单元,这些指令单元关断它们的寄存器时钟。当 第1停滞检测器135检测到停滞条件或检测到第2停滞信号195被激 活时,第1停滞检测器135激活第1停滞信号190,该第1停滞信号 指示第1空闲检测器140关断到指令寄存器的时钟。另外,第1停滞 检测器135发送第l停滞信号190到它的上游流水线级(第O级llO), 该第l停滞信号指示上游流水线级也关断它的时钟。第0级110包括第0停滞检测器115、第0空闲检测器120和获 取单元125。第0停滞检测器115和第0空闲检测器120可以结合到 获取单元125中,或者可以是如图所示的独立的检测逻辑。第O停滞 检测器115和第0空闲检测器120分别检测在获取单元125内的停滞 和空闲条件(关于停滞条件和空闲条件的进一步的细节见图4, 5和相 应的正文)。当第0空闲检测器120检测到空闲条件时,第0空闲检测器120 发送空闲信号到获取单元125,以关断寄存器时钟。当第O停滞检测 器115检测到停滞条件或检测到第1停滞信号190被激活时,第0停 滞检测器115激活第0停滞信号198,该第0停滞信号指示第0空闲 检测器120关断到获取单元125的时钟。正如可以看到的,当流水线级检测到来自下游流水线级的停滞信 号时,流水线级关断它自身的时钟,并把停滞信号传播回上游流水线 级。在一个实施例中,当停滞检测逻辑检测到停滞条件时,停滞检测 逻辑允许相应的上游流水线级在检测到停滞条件后的几个循环周期内发出指令,这可导致完全的流水线(对于进一步细节见图5和相应的正 文)。在另一个实施例中,如果处理器设计包含了停滞检测来关断时钟 作为硬件功率管理机制,则处理器可以使用空闲条件来指示停滞检测 逻辑在空闲条件期间关断时钟。代替诸如以停滞条件在流水线级和上 游流水线级处关断时钟,空闲条件指示停滞检测逻辑关断特定的流水 线级的时钟。空闲条件可能来自刷新条件、不可用的资源条件、禁用 的线程条件、和禁用的处理器条件。图2是显示在空闲条件期间关断时钟的空闲检测逻辑和在停滞条 件期间指示空闲检测逻辑关断时钟的空闲检测逻辑的图示。当流水线 级检测到空闲条件时,流水线级关断用于被包括在该流水线级中的寄 存器的时钟。当流水线级检测到停滞条件时,该流水线级发送信号到 空闲检测逻辑,以关断时钟,并发送停滞信号到上游流水线级,以指 示上游流水线级也关断它的时钟。第2级170包括与图1所示相同的第2停滞检测器175和第2空 闲检测器180。第2级170也包括作为设备的流水线的一部分的寄存 器290-294。寄存器290-294由通过门280馈送的时钟200进行时钟同 步。当第2空闲检测器180没有检测到空闲条件时,第2空闲信号270 是低电平,这使得门275的输出为高电平。当门275的输出为高电平 时,时钟280通过门280馈送,并对寄存器2卯-294进行时钟同步。 然而,当第2空闲检测器180检测到空闲条件时,第2空闲信号270 是高电平,它通过门275倒相,并通过使用门280关断加到寄存器 290-294的时钟200。当第2停滞检测器175检测到停滞条件时,第2停滞检测器175 激活第2停滞信号195,该第2停滞信号指示第2空闲检测器180激活第2空闲信号270,从而关断加到寄存器290-294的时钟200。另夕卜, 第2停滞检测器175发送第2停滞信号195到位于第1级130的第1 停滞检测器135。当第l停滞检测器135检测到第2停滞信号195为高电平,或者 检测到在第1级130中的停滞条件时,第1停滞检测器135激活第1 停滞信号190,该第1停滞信号被发送到第0停滞检测器115,并且还 指示第1空闲检测器140激活第1空闲信号240。第1空闲信号240 通过门245倒相,并通过使用门250关断加到寄存器260-264的时钟 200。另外,当第1空闲检测器140检测到第1级130中的空闲条件时, 第1空闲检测器140也激活第1空闲信号240以关断加到寄存器 260-264的时钟200。笫1级130、第1停滞检测器135和第1空闲检 测器140是与图1所示的那些部件相同的。当第O停滞检测器115检测到第1停滞信号190为高电平,或者 检测到在第0级110中的停滞条件时,第0停滞检测器115激活第0 停滞信号198,该第0停滞信号指示第0空闲检测器120激活第0空 闲信号210。第0空闲信号210通过门215倒相,并通过使用门220 关断加到寄存器230-234的时钟200。另外,当第0空闲检测器120 检测到第0级110中的空闲条件时,第0空闲检测器120也激活第0 空闲信号210,以关断加到寄存器230-234的时钟200。第0级110、 第O停滞检测器115和第0空闲检测器120是与图1所示的那些部件 相同的。图3是显示在检测流水线级停滞条件并指示空闲检测逻辑关断寄 存器时钟时采取的步骤的流程图。在流水线级检测到停滞条件的情况 下,流水线级发送信号到空闲检测逻辑以关断时钟,并且还发送停滞 信号到上游流水线级,它指示该上游流水线级也关断它的时钟。处理过程从300开始,此后,流水线级检验下游流水线级308的 停滞条件(步骤305)。下游流水线级308是在所讨论的流水线级之后的 级,并把停滞信号提供到该流水线级,该停滞信号标识下游流水线级 308是否停滞(对于停滞信号传播的进一步细节见图1, 2和相应的正文)。做出关于下游流水线级308是否处在停滞状态的判断(判决310)。 停滞状态可能是由诸如以下的情形造成的1) ERAT丢失当处理器的获取单元遇到ERAT丢失并在把 ERAT丢失的转换放置在ERAT之前停止获取指令时。2) 高速緩存丢失当获取单元丟失在指示高速緩存中的指令并在 获取数据从次级存储器返回之前停止获取时。3) 数据依赖性当译码单元识别指令的源寄存器匹配于仍旧未完 成的更老的指令并在所依赖的数据可用之前停止发出指令时。4) 非流水线指令某些浮点指令是非流水线指令,它在下一个要 发布的是浮点指令时使得流水线停滞。5) 上下文同步指令(CSI): CSI指令,诸如"Sync",在更老的指 令完成之前使得流水线停滞。如果流水线检测到下游流水线级308停滞,则判决310分支转移 到"是"支路312,此后停滞检测逻辑激活停滞信号,该停滞信号被发 送到空闲检测逻辑以及上游流水线级318(步骤315)。空闲检测逻辑顺 次关断用于当前级的时钟(对于有关空闲检测处理的进一步细节见图4 和相应的正文)。在步骤320,流水线级检验下游流水线级308的停滞 条件,以及做出有关下游流水线级308是否仍旧停滞的判断(判决330)。 如果下游流水线级308仍是停滞的,则判决330分支转移到"是,,支路 332,它循环返回以继续检验下游流水线级308的停滞条件,这个循环 继续进行,直至下游流水线级308从停滞状态出来为止,这时,判决 330分支转移到"否"支路338,此后,停滞信号去激活(步骤340),它 指示空闲检测逻辑恢复加到流水线级的寄存器的时钟。另一方面,如果在判决310中流水线级检测到下游流水线级308 没有处在停滞状态,则判决310分支转移到"否"支路318,此后,流 水线级检验流水线级本身是否具有停滞条件,诸如以上讨论的停滞条 件之一(步骤345)。做出有关流水线级是否检测到在它本身的级内的停 滞条件的判断(判决350)。如果流水线级没有检测到停滞条件,则判决350分支转移到"否"支路352,绕过停滞状态步骤。另一方面,如果流水线级检测到停滞条件,则判决350分支转移 到"是,,支路358,此后,流水线级激活停滞信号,加到空闲检测逻辑 和上游流水线级318(步骤360)。空闲检测逻辑顺次关断用于当前级的 时钟(对于有关空闲检测处理的进一步细节见图4和相应的正文)。在步骤365,流水线级检验它的停滞条件,并做出关于流水线级 是否仍停滞的判断(判决370)。如果流水线级仍是停滞的,则判决370 分支转移到"是"支路372,它循环返回,以继续监视流水线级的停滞 条件。这个循环继续进行,直至流水线级从停滞状态出来为止,这时, 判决370分支转移到"否"支路378,此后,流水线级重置它的停滞信 号,因此空闲检测逻辑恢复加到当前级的时钟。做出关于是否继续检验停滞条件的判断(判决390)。如果流水线级 应当继续检验停滞条件,则判决390分支转移到"是"支路392,其循 环返回以检验停滞条件。这个循环继续进行,直至流水线级应当停止 检验停滞条件为止,这时,判决390分支转移到"否,,支路398,此后, 处理在399处结束。图4是显示检验流水线级的空闲条件以及从停滞检测逻辑接收的 停滞信号时采取的步骤的流程图。在流水线检测到空闲条件或停滞条 件的情况下,流水线关断寄存器时钟,以便节省功耗。处理过程从400开始,此后,在步骤410,处理过程检验流水线 级的空闲条件。流水线处于空闲的原因可以是1)由于刷新,2)由于 程序流,或3)由于静止不动。当发生刷新(获取错误、支路误预测等 等)时,流水线刷新来自刷新点和刷新点以上的所有指令。结果是在指 令被重新获取和重新进入到流水线之前流水线变为空闲的。关于程序 流程,处理器可以具有多个定点和浮点流水线。当程序没有利用所有 的流水线时,某些流水线是工作的,而其它流水线在任意给定的时间 是空闲的。关于流水线由于静止是空闲的情况,在多处理器单芯片设 计中,如果一个处理器是工作的而其余处理器是静止的,则处在静止 的处理器都是空闲的。做出关于流水线级是否处在空闲状态的判断(判决420)。如果流水 线级处在空闲状态,则判决420分支转移到"是"支路428,此后在步 骤440,处理关断寄存器时钟。另一方面,如果流水线级不是处在空 闲阶段,则判决420分支转移到"否"支路422,此后在步骤425,处理的进一步细节见图3和相应的正文)。做出关于停滞信号是否激活的判断(判决430)。如果停滞信号不是 激活的,则判决430分支转移到"否"支路432,它循环返回,以继续 检验空闲条件。另一方面,如果停滞信号是激活的,则判决430分支 转移到"是"支路438,此后在步骤440处理关断时钟。做出关于检测到的条件(空闲或停滞)是否仍旧有效的判断(判决 450)。如果条件仍旧是有效的,则判决450分支转移到"是"支路452, 它循环返回,继续检验该条件。这个循环继续进行,直至该条件不再 有效为止,这时,判决450分支转移到"否,,支路458,此后在步骤460, 处理恢复加到寄存器的时钟。做出关于是否继续监视空闲和停滞条件的判断(判决470)。如果处 理应当继续监视空闲和停滞条件,则判决470分支转移到"是"支路 472,它循环返回,继续监视这些条件。这个循环继续进行,直至处理 应当停止监视空闲和停滞条件为止,这时,判决470分支转移到"否,, 支路478,此后,处理在480结束。图5是显示在关断寄存器的相应时钟之前加栽流水线寄存器的流 水线级的图示。在一个实施例中,当检测到停滞条件时,流水线级在 关断它的时钟之前加载每个寄存器,以填满流水线。图5显示第0级110、第0停滞检测器115和第1级130,它们是 与图1所示的那些部件相同的。第0级110包括第0停滞信号198和 寄存器230-234,它们是与图2所示的那些部件相同的,以及填充检测 500-520。当第O停滞检测器115激活第O停滞信号198以关断加到寄 存器230-234的时钟时,填充检测520监视寄存器234并继续时钟同 步寄存器234,直至它加载指令为止,这时填充检测520关断加到寄存器234的时钟。填充检测520还把通知填充检测510寄存器234被加载的信号发 送到填充检测510。这样,填充检测510监视寄存器232,并继续时钟 同步寄存器232,直至它加栽指令为止,这时,填充检测510关断加 到寄存器232的时钟。填充检测510还把通知填充检测500寄存器232被加栽的信号发 送到填充检测500。这样,填充检测500监视寄存器230,并继续时钟 同步寄存器230,直至它加载指令为止,这时,填充检测500关断加 到寄存器230的时钟。结果,每个寄存器230-234在关断它们各自的 时钟之前被加载指令。图6显示了信息处理系统,它是能够执行这里描述的计算操作的 计算机系统的一个简化的例子。宽带处理器结构(BPA)600包括多个异 构处理器、公共存储器和公共总线。异构处理器是共享公共存储器和 公共总线的具有不同指令集的处理器。例如,异构处理器之一可以是 数字信号处理器,而另一个异构处理器可以是微处理器,二者共享同 一个存储器空间。BPA 600通过输入输出670发送和接收至/来自外部设备的信息, 并使用处理器单元总线660把该信息分发到控制层面610和数据层面 640。控制层面610管理BPA 600,并把工作分发到数据层面640。控制层面610包括处理单元620,它运行操作系统(OS)625。例如, 处理单元620可以是嵌入到BPA 600中的强大PC内核,而OS 625 可以是Linux操作系统。处理单元620管理用于BPA 600的公共存储 器映射表。存储器映射表对应于被包括在BPA600中的存储器位置, 诸如L2存储器630以及被包括在数据层面640中的非私有存储器。数据层面640包括协同处理复合体(SPC)645, 650和655。每个SPC 被用来处理数据信息,并且每个SPC可以具有不同的指令集。例如, BPA 600可以被用在无线通信系统中,并且每个SPC可以负责单独的 处理任务,诸如调制、芯片速率处理、编码和网络接口。在另一个例 子中,每个SPC可以具有相同的指令集,并且可被并行地用来执行从并行处理中获益的操作。每个SPC包括协同处理单元(SPU)。 SPU最 好是单指令、多数据(SIMD)处理器,诸如数字信号处理器、微控制器、 微处理器、或这些内核的组合。在一个优选实施例中,每个SPU包括 本地存储器、寄存器、四个浮点单元和四个整数单元。然而,取决于 所需要的处理能力,可以使用数目更大或更小的浮点单元和整数单元。 SPC 645、 650和655被连接到处理器单元总线660,该总线在控 制层面610、数据层面640和输入/输出670之间传送信息。总线660 是片上的相干多处理器总线,该总线在I/0 670、控制层面610和数据 层面640之间传送信息。输入/输出670包括灵活的输入-输出逻辑,它 根据被连接到BPA 600的外围设备把接口管脚动态地分配给输入输出 控制器。图7显示了信息处理系统701,它是能够执行这里描述的计算操 作的计算机系统的一个简化的例子。信息处理系统701包括被耦合到 主机总线702的处理器700。二级(L2)高速緩存存储器704也被耦合到 主机总线702。主机到PCI桥路706被耦合到主存储器708,包括高 速緩存存储器和主存储器控制功能,以及提供总线控制以处理在PCI 总线710、处理器700、 L2高速緩存704、主存储器708和主机总线 702之间的传输。主存储器708被耦合到主机到PCI桥路706以及主 机总线702。主存储器708被耦接到主机到PCI桥路706以及主机总 线702。由主机处理器700单独使用的设备,诸如LAN卡730,被耦 合到PCI总线710。服务处理器接口和ISA接入通孔712提供PCI总 线710与PCI总线714之间的接口 。这样,PCI总线714与PCI总线 710隔离。诸如闪存存储器718那样的设备4皮耦合到PCI总线714。 在一个实施方式中,闪存存储器718包括BIOS码,其结合了所需的 处理器可执行代码,用于各种不同的低级系统功能和系统引导功能。PCI总线714提供用于由主机处理器700和服务处理器716共享 的、例如包括闪存存储器718的各种设备的接口 。 PCI到ISA桥路735 提供总线控制以处理在PCI总线714与ISA总线740之间的传输,通 用串行总线(USB)功能745,功率管理功能755,以及可包括未示出的其它功能单元,诸如实时时钟(RTC)、 DMA控制、中断支持、和系统 管理总线支持。非易失性RAM 720附连到ISA总线740。服务处理器 716包括JTAG和I2C总线722,用于在初始化步骤期间与处理器700 通信。JTAG/I2C总线722也被耦合到L2高速緩存704。主机到PCI 桥路706和主存储器708提供在处理器、服务处理器、L2高速緩存、 主机到PCI桥路、和主存储器之间的通信路径。服务处理器716还访 问系统电力资源,用于关断信息处理设备701的电源。外围设备和输入/输出(I/0)设备可以附连到被耦合到ISA总线740 的各种接口 (例如并行接口 762、串行接口 764、键盘接口 768、和鼠 标接口 770)。作为替代,许多1/0设备可以由被附连到ISA总线740 的超级I/O控制器(未示出)来供给,为了把计算机系统701附连到另一个计算机系统,以通过网络复 制文件,LAN卡730被耦合到PCI总线710。同样地,为了通过^f吏用 电话线连接把计算机系统701连接到ISP,从而连接到互联网,把调 制解调器775连接到串行端口 764和PCI-到-ISA桥路735。虽然在图6和7中描述的计算机系统能够执行这里描述的处理,这个计算机系统仅仅是计算机系统的一个例子。本领域技术人员将会意识到,许多其它计算机系统设计也能够执行这里描述的处理。本发明的优选实施方式之一是客户端应用程序,即在代码模块中 的一个指令集(程序代码),它例如可以驻留在计算机的随机访问存储器中。在由计算机请求之前,该指令集可被存储在另一个计算机存储 器中,例如硬盘驱动器,或可移除的存储器,诸如光盘(最终使用在 CD ROM中)或软盘(最终使用在软盘驱动器中),或经由互联网或其它 计算机网络下载。因此,本发明可以实施为在计算机中使用的计算机 程序产品。另外,尽管所描述的各种方法在通过软件选择性激活或重 新配置的通用计算机中方便地实现,但本领域技术人员也认识到,这 样的方法可以以硬件、固件、或被构建来执行所需方法步骤的更为专 用的设备来实现。虽然显示和描述了本发明的特定实施例,但本领域技术人员将明白,基于这里的教导,可以做出改变和修改而不背离本发明及其更广 义的范围。所以,所附权利要求应当在它们的范围内包括本发明的范 围内所有的这样的改变和修改。而且,应当理解的是,本发明仅仅由 所附权利要求限定。本领域技术人员将会理解,如果要求特定数目的 所引入的权利要求要素,则这样的目的将在权利要求中明确地描述, 在没有这样的描述的情形下,不存在这样的限制。对于非限制性例子, 为了有助于了解,以下的所附权利要求包含使用导引性词组"至少一 个"和"一个或多个"来引入权利要求要素。然而,这样的词组的使用不应当看作为是指通过不定冠词"一个"对权利要求要素的引导把包含这 样引导的权利要求要素的任何特定的权利要求限定为只包含一个这样 的要素的发明,即使在同一个权利要求包括导引性词组"一个或多个" 或"至少一个,,,以及不定冠词"一个,,时;同样的情形对于定冠词在权利要求中的使用也是适用的。
权利要求
1.一种计算机实施的方法,包括检测在一个流水线级内的停滞条件,该流水线级被包括在多个流水线级内;响应于所述检测,激活停滞信号到空闲控制逻辑;以及根据所述停滞信号的激活,通过使用空闲控制逻辑关断加到被包括在该流水线级中的一个或多个寄存器的时钟。
2. 权利要求l的方法,还包括检测被包括在该多个流水线级内的下游流水线级中的下游停滞条 件;以及响应于检测到下游停滞条件,激活停滞信号。
3. 权利要求2的方法,还包括 判断下游停滞条件已结束;以及 响应于所述判断,去激活停滞信号。
4. 权利要求l的方法,还包括把停滞信号传播到被包括在该多个流水线级内的上游流水线级;以及其中所述传播导致上游流水线级关断加到^f皮包括在上游流水线级 中的一个或多个寄存器的时钟。
5. 权利要求l的方法,其中所述停滞条件是从包含ERAT丢失、 高速緩存丟失、数据依赖性和非流水线指令的组中选出的。
6. 权利要求l的方法,还包括 识别寄存器之一是否包括一个指令;以及 等待关断该寄存器的时钟直到识别出所迷寄存器包括指令。
7. 权利要求l的方法,其中在流水线级关断加到它的相应寄存器 的时钟的同时,被包括在该多个流水线级内的下游流水线级不关断加 到它的相应寄存器的时钟。
8. 权利要求l的方法,还包括通过使用空闲控制逻辑检测流水线级中的空闲条件;以及 响应于检测到空闲条件,通过使用空闲控制逻辑关断加到被包括 在流水线级中的一个或多个寄存器的时钟。
9. 一种计算机实施的方法,包括检测 一个流水线级内的空闲条件,该流水线级被包括在多个流水 线级内;响应于所述检测,激活空闲信号到停滞控制逻辑;以及 根据所述空闲信号的激活,通过使用停滞控制逻辑关断加到被包 括在该流水线级中的一个或多个寄存器的时钟。
10. 权利要求9的方法,其中所述空闲条件是从包含刷新条件、 不可用的资源条件、禁用的线程条件和禁用的处理器条件的组中选出 的。
11. 一种信息处理系统,包括 一个或多个处理器;被包括在处理器中的一个或多个流水线,该一个或多个流水线中的每个流水线包括多个流水线级; 由处理器可存取的存储器; 由处理器可存取的一个或多个非易失性存储装置; 用于关断时钟的功率管理工具,所述功率管理工具用来 检测在一个流水线级内的停滞条件,该流水线级被包括在该多个流水线级内;响应于所述检测,激活停滞信号到空闲控制检测;以及 根据所述停滞信号的激活,通过使用空闲控制检测关断加到被包 括在该流水线级中的一个或多个寄存器的时钟。
12. 权利要求11的信息处理系统,其中所述功率管理工具还用来 检测被包括在该多个流水线级内的下游流水线级的下游停滞条件;以及响应于检测到下游停滞条件,激活停滞信号。
13. 权利要求12的信息处理系统,其中所述功率管理工具还用来判断下游停滞条件已结束;以及 响应于所述判断,去激活停滞信号。
14. 权利要求11的信息处理系统,其中所述功率管理工具还用来 把停滞信号传播到被包括在该多个流水线级内的上游流水线级;以及其中所述传播导致上游流水线级关断加到被包括在上游流水线级 中的一个或多个寄存器的时钟。
15. 权利要求11的信息处理系统,其中所述停滞条件是从包含 ERAT丢失、高速緩存丢失、数据依赖性和非流水线指令的组中选出 的。
16. 权利要求15的信息处理系统,其中所述功率管理工具还用来 识别寄存器之一是否包括一个指令;以及 等待关断该寄存器的时钟直到识别出所述寄存器包括指令。
17. 权利要求11的信息处理系统,其中所述功率管理工具还用来 通过使用空闲控制逻辑检测流水线级中的空闲条件;以及响应于检测到空闲条件,通过使用空闲控制逻辑关断加到被包括 在流水线级中的一个或多个寄存器的时钟。
18. 权利要求ll的信息处理系统,包括宽带处理器结构,该结构 包括共享存储器的多个异构处理器,该多个异构处理器使用不同的指 令集。
全文摘要
提出了一种处理器设计中用于动态功率管理的系统和方法。流水线级的停滞检测逻辑检测停滞条件,并发送信号到空闲检测逻辑,以关断流水线的寄存器时钟。停滞检测逻辑还监视下游流水线级的停滞条件,并且当下游流水线级也处在停滞条件时指示空闲检测逻辑关断流水线级的寄存器。另外,当流水线级的停滞检测逻辑从下游流水线级或从它本身的流水线单元检测到停滞条件时,流水线级的停滞检测逻辑通知上游流水线级关断它的时钟,从而节省更多的功率。
文档编号G06F1/32GK101268432SQ200680034188
公开日2008年9月17日 申请日期2006年9月11日 优先权日2005年9月27日
发明者C·M·阿伯纳西, D·西皮, J·J·德蒙特, R·A·菲尔豪沃, R·豪尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1