进入低功率模式前的硬件驱动处理器状态存储的制作方法

文档序号:6468612阅读:120来源:国知局
专利名称:进入低功率模式前的硬件驱动处理器状态存储的制作方法
技术领域
本发明涉及数据处理领域以及特别地涉及在进入处理器电源断 开的低功率模式之前存储处理器的状态。
背景技术
已知在没有工作需要处理器处理时可以将处理器的时钟关闭一 段时间。这减少了功率消耗,然而由于通过硅的漏电流仍然存在功率 的损耗。这些功率损耗可以通过对核关闭电源来减小,但这具有缺点 就是处理器的状态可能会丟失。重要的是当离开低功率模式时,系统 应该恢复到它之前没有改变的状态,以便处理操作可以平稳以及有效 地继续进行。如果信息/状态在低功率模式过程中丟失以致需要整个系 统在重启时要重自举并初始化,这将是非常不利的。已知提供系统状 态可以在其中保存以及恢复的数据处理系统。
为了便于这种类型的在低功率模式期间的省电,已知在数据处理 系统中提供电源断开软件例程,其在需要进入低功率或电源断开模式 时执行并用来在某个非易失性存储中保存系统状态,以便当系统重新 开始操作时软件的互补篇可以操作以及可以从非易失性存储器中恢 复该状态信息。然后处理就可以在相同点以及相同系统状态下重新开 始。这个方法的 一项重大缺点是需要执行状态的存储及恢复的软件相 当慢。此外,可能有一些系统状态信息对负责保存系统状态的软件是 不可访问的,例如高速緩冲存储器的内容,紧耦合存储器的内容以及 其他关于系统的相对低级硬件状态信息等。在这种情况下,当重新开 始处理时,它以^f又当电源断开出现时近似的系统状态重新开始。因此, 可能要求重新填充所有的高速緩冲存储器,而这是一项相对緩慢以及消耗功率的操作。此外,在重启系统时,简单重启需要的一些状态例 如页表映射等无法得到。
可选择的硬件状态保存系统。在这个系统中,使用处理器中出现的扫 描链以提取处理器状态以及然后将此状态存储在存储器中。随后通过 使用扫描链将此状态扫描回进去,可以将其恢复。这个系统的缺点是 扫描链将核的整个状态扫描出入,而低功率模式之后恢复系统可能并 不需要整个状态。此外,这种方式扫描链的使用需要在执行时间完成, 这里它们需要正确地连接以及适当地平衡和控制。
制造存储及恢复处理器状态而没有已有技术的至少一些缺点的 系统将是有利的。

发明内容
本发明的第一方面提供一种数据处理装置包括用于处理数据的 处理器,所述处理器包括用于控制向存储器传输数据的存储器接口逻 辑,所述处理器在第一供电域中^皮供电;用于存储由所述处理器处理 的数据的存储器,所述存储器在第二供电域中被供电;与所述处理器 和所述存储器耦合的系统总线,其可操作以对由所述存储器接口逻辑 在所述处理器和所述存储器正常处理操作期间通过所述系统总线发 出的存储器传输请求作出响应而在所述处理器和所述存储器之间传 输数据;其中所述处理器对指示了所述数据处理装置应该进入低功率 模式的低功率请求进行响应以使用所述存储器接口逻辑通过所述系 统总线来控制传输指示了所述处理器的当前状态的状态数据到所述 存储器,所述状态数据足以在离开所述低功率模式后使所述处理器恢 复到等效程序状态;在所述存储器中存储所述状态数据;以及使所述 第一供电域断开电源。
本发明提供使得响应于低功率请求而使硬件自动存储处理器的 状态,从而使处理器在低功率模式下能够完全断开电源。本发明利用已有的用于在正常处理操作中存储数据到存储器的硬件来执行这种 存储操作。这对处理器区域是有效的以及也意味着不需要在执行层次 为这种状态存储任务特别设计硬件。此外,由于存储是由处理器控制 的,被存储的状态可以由处理器确定以及可以限制在要重启处理器所 需要的那些。因此,可以有效选择相关的状态而不是存储处理器全部 的状态。这与使用硬件完成存储一起提高了存储过程的速度。
在一些实施例中,所述数据处理装置还包括用于控制所述第一供
电域电源开启及断开的控制器;所述控制器由所述第二供电域供电并 且包括用于存储状态恢复指示符的数据存储;其中所述控制器对检测 到所述低功率请求作出响应,存储指示对所述低功率请求作出响应而 使所述处理器断开电源的状态恢复指示符值;所述控制器对指示了所 述处理器应该电源开启的输入信号作出响应而使所述第 一供电域电 源开启以及依据所述状态恢复指示符值向所述处理器发出信号指示 所述电源开启是标准复位还是状态恢复复位;以及所述处理器对所述 控制器指示所述电源开启要响应于所述状态恢复复位作出响应,从所 述存储器加载存储的状态数据。
本发明的实施例可以通过当电源断开前状态已经存储到存储器 时在电源控制器中存储状态复位指示符值来区别标准复位信号以及 状态恢复复位信号。因此,电源控制器可以对标准复位作出响应将处 理器电源开启,或者可以对状态恢复复位作出响应将处理器电源开启 并且接着发信号给处理器以加载状态使处理器能够从其曾被电源断 开的那一点继续处理。因此,本发明的实施例能够使用其中许多在常 规数据处理装置中已有的硬件处理两种不同的复位。
在一些实施例中,配置所述处理器以对所述低功率请求作出响应 在所述存储器内的堆栈上存储所述状态数据,所述处理器包括用于对 所述低功率请求作出响应堆栈所述状态数据到所述堆栈中,以及用于 对随后的电源开启信号作出响应从所述堆栈将所述状态退栈的堆栈/ 退栈逻辑。
9尽管数据可以以任何构架存储在存储器中,但将其存储在存储器 的堆栈上以及使用用于堆栈状态数据以及退栈的堆栈/退栈逻辑可为 有利的。堆栈对于存储数据串出入存储器是便利的方式。
在一些实施例中,所述状态恢复指示符值包括所述堆栈的栈顶的 地址。
尽管状态恢复指示符可以采用许多格式,如果状态数据要存储在 堆栈上那么状态恢复指示符值方便的格式是指示堆栈栈顶的地址。这 使得该为状态恢复复位的信息能够与从何处取回状态数据的信息一 起发送给处理器。
在一些实施例中,所述数据处理装置还包括中断控制器,配置所 述处理器用于对接收到中断作出响应存储所述处理器的一些状态数 据到所述存储器内所述堆栈的至少一部分上,以及对所述中断完成作 出响应恢复所述一些状态。
数据处理装置可包括中断控制器,以及如果用来存储关于复位的 状态的堆栈/退栈逻辑与用来对中断作出.响应存储状态的堆栈/退栈逻 辑是同 一个的话是很方便的。以这种方式重复使用这个硬件是实施数 据处理装置的有效方式。在中断之后需要存储的状态只是处理器状态
的子集而不^A以在如果处理器曾^:电源断开而恢复处理器的状态。 因此, 一般只使用用于存储处理器复位状态的堆栈的一部分在中断后 存储状态。此外,堆栈/退栈逻辑只需要访问该状态的一部分。因此, 用来在进入低功率模式时存储处理器状态数据的堆栈/退栈逻辑实际 上是用来在中断之后存储状态的堆栈/退栈逻辑的延伸形式。应该注意 用中断我们指的是任何"唤醒事件,,,因此与常规中断一样,中断控 制器也对复位或其他系统事件例如多处理器系统所需要的事件等作 出响应。
低功率请求信号可能采用多种形式在一些实施例中它包括对当 处理器一段时间没有要处理的指令时处理器发出的等待中断信号。 在一些实施例中,所述中断控制器包括用来接收多个中断的多个
10中断输入,所述多个中断输入中至少一个包括电源开启信号。
电源开启信号可能以多种形式被处理器接收,但在一些实施例中它作为 一个中断在中断控制器处接收。.
在一些实施例中,所述中断控制器包括在所述第一供电域中被供电的中断控制电路;在第二供电域中被供电的中断请求监视电路;所述中断请求监视电路适用于在所述低功率模式下的操作期间监视所述电源开启信号。
中断控制器可以采用多种形式,但在一些实施例中以两部分形成,第一部分在第一供电域中被供电以及第二部分在第二供电域中。将中断控制器按这种方式分开能够在进入低功率模式时增加省电。如果监视电源开启信号的中断请求监视电路在第二供电域中那么只可按这种方式将其分开。
在一些实施例中,所述中断控制电路包括用于接收所述中断请求的中断输入以及配置成用于向所述处理器选择性地提供接收到的中断请求;所述中断控制电路被设置成用于传输中断选择信息到所述中断请求监视电路,所述中断选择信息标识了指示离开所述低功率模式的中断请求;所述中断请求监视电路包括被配置成用于存储由所述中断控制电路传输到中断请求监视电路的所述选择信息的选择信息存储;以及所述中断请求监视电路包括用于接收所述中断请求的中断输入,以及用于对接收到的由所述存储的中断选择信息标识的中断请求作出响应以触发对所述第一供电域电源开启。
为了使中断监视电路能够识别电源开启信号,信息在中断控制电路断开电源前从其发出。这个信息标识了哪些中断应该触发电源开启。这样发送信号使评定中断优先级的中断控制器的复杂部分能够在它向监视逻辑发出关于待接收中断的相关优先级信息后电源断开进入低功率模式,这使监4^L逻辑能够是简单逻辑以及因此不消耗很多功率而仍然能够识别需要服务的中断以及对任何接收到的作出响应使能够电源开启。在一些实施例中,所述处理器包括流水线处理器,以及对所述低功率请求作出响应所述数据处理装置被配置成用于挂起载入任何其他指令到所述流水线处理器中,以及在存储所述状态数据到所述存储器以及将所述第一供电域电源断开之前完成对所述流水线处理器中等待指令的处理。
对低功率请求作出响应而在将处理器电源断开前完成等待指令的处理可能是有利的。以这种方式处理低功率请求使得需要发送存储
在存^f渚器中的状态,与如果仍有一些指令在流水线上等;f寺而这时需要发送的状态相比,会减少。
在一些实施例中,配置所述数据处理装置成用于依据所述数据处理装置当前的操作条件选择要存储到所述存储器中的状态数据。
发送到存储器的状态的量可取决于处理器的操作条件。因此,在一些实施例中处理器可以依据操作条件选择待发送的状态数据量。这使得发送的状态数据量能够减少到依据处理器在进入低功率模式时的操作条件所需要的量。
例如,在一些实施例中所述数据处理装置可响应于所述存储器保护单元可操作,存储所述存储器保护数据作为所述状态数据的部分到所述存储器中;响应于所述存储器保护单元被关闭,不存储存储器保护数据作为所述状态数据的部分到所述存储器中。
在一些操作条件中,存储器保护单元不可操作。如果处理器检测到这个那么处理器就知道此时不需要发送存储器保护信息到存储器以存储因为当进入低功率模式时存储器保护单元不可操作它在复位时就不需要被恢复。
存储的状态数据需要足够使处理器在离开低功率模式后能够重新开始处理。因此,它包括例如程序计数器(program counter),堆栈指针以及至少处理器内寄存器的子集等数据。
本发明另一个方面提供在进入低功率模式前用于数据处理的装置内保存状态的方法,所述用于数据处理的装置具有用于数据处理的处理器,所述处理器包括用于控制向存储器传输数据的存储器接口
逻辑,所述处理器在第一供电域中被供电;用于存储由所述处理器处理的数据的存储器,所述存储器在第二供电域中被供电;与所述处理器和所述存储器耦合的系统总线,其可操作以对由所述存储器4妄口逻辑在所述处理器和所述存储器正常处理操作中通过所述系统总线发出的存储器传输请求作出响应而在所述处理器和所述存储器之间传输数据;所述方法包括步骤对指示所述数据处理装置应该进入低功率模式的低功率请求进行响应使用所述存储器接口逻辑通过所述系统总线传输指示在所述数据处理装置内的所述处理器的当前状态的状态数据到所述存储器;在所述存储器中存储所述状态数据;以及使所述第 一供电域电源断开。
上述以及其他本发明的目的,特点以及优势通过下面说明性实施例的详细说明可以清楚地了解,与附图联系起来看这些详细说明。


图1以示意框形示出根据本发明实施例的数据处理装置;图2示出根据本发明实施例的数据处理装置的另一个实施例;图3示出根据本发明实施例的系统的集成电路电源控制器,处理器以及存储器;
图4示出根据本发明实施例的集成电路;图5更详细地示出图4中的中断控制器;图6示出说明根据本发明实施例的方法的流程图。
具体实施例方式
图1示出具有处理器20的数据处理装置10,处理器20带有通过系统总线30与存储器40连接的存储器接口 22。 CPU处理器在第一供电域52中,而存储器40以及电源控制器45在第二供电域54中。
数据处理器20根据接收的指令处理数据以及存储一些这样处理过的数据到存储器40中。对存储器40的数据的存储以及提取由存储器接口還辑22控制。因此,在正常数据处理操作中处理器20处理数据,它使用存储器接口逻辑22通过系统总线30发送和/或从存储器40中提取至少其中一些数据。
处理器20在其供电由电源控制器45控制的第一供电域52中。存储器40以及电源控制器45在第二供电域54中。为了省电在处理器20不操作时电源控制器45适用于对指示要进入低功率模式的信号作出响应而停止处理器20的时钟或将第一供电域电源断开。如果要进入的低功率模式是要关闭第 一供电域的一种模式,那么在这之前需要存储处理器20的状态以便处理器可以重新启动。要求进入低功率模式的信号可能例如是等待中断WFI (wait for interrupt)信号。处理器20工作以对在处理器20接收到这个作出响应,使用在正常处理过程中用于存储数据到存储器中的标准硬件存储处理器的架构状态到存储器40,其中标准硬件也就是存储接口逻辑22以及系统总线30。一旦状态被存储到存储器中接着发送信号到电源控制器45以及将第一供电域52电源断开。
电源控制器45接着监视功率请求线47以监视电源开启信号以及对此信号作出响应而工作以对第一供电域52进行电源开启。此电源开启信号可能由于对中断的响应而被产生以及这在稍后详细说明。
对第一供电域52电源开启作出响应CPU 20恢复它使用存储器接口逻辑22存储到存储器40中的状态。它然后准备好从进入低功率模式时它停止的那一点继续处理。
图2示出才艮据本发明另一个实施例的数据处理装置10。在这个实施例中处理器20是带有读取,解码以及执行级的流水线处理器。数据处理装置10也包括具有在第一供电域52中的中断控制器部分71以及在第二供电域54中的中断轮询逻辑72的中断控制器70。中断输入到控制器70的中断控制器部分71以及中断轮询逻辑部分72。中断控制器70处理中断以及发送相应的信号到处理器20。对中断控制器70接收到例如等待中断信号等指示要进入低功率模式的信号作出响应,中断控制器70发送^f氐功率请求信号到处理器20。对此信号作出响应处理器20挂起由流水线的提取级对指令的提取以及继续处理流水线内任何等待的指令。当流水线完成了对任何等待的指令的处理,接着足以恢复处理器到它能够继续从下一条指令执行的点的处理器架构状态被存储到存储器40内。在这个实施例中,协同使用堆栈/退栈逻辑24与存储器接口 22以将架构状态存储到存储器40内的堆栈42上。存储的状态包括程序计数器,堆栈指针以及来自寄存器组(register bank)的值。它也可能包括存储器保护细节,允许位,中断优先级以及等待或活动位。 一旦状态已经被载入堆栈42,从处理器20发送信号到电源控制器45指示状态已经被存入存储器40以及可以将处理器电源断开了。电源控制器45然后将第一域52电源断开以及在数据存储46中存储指示已经以已将状态存储到存储器40的方式进入低功率模式的指示符。
一旦第一域52电源断开那么中断控制器部分71以及处理器20就不再被供电。然而,第二供电域54仍然被供电以及因此,中断轮询逻辑72主动轮询中断以;险测电源开启信号。在这方面中断轮询逻辑可能接收所有中断或者它可能只接收所有中断的子集。子集将包括所有可能产生处理器电源开启的中断。此外,在电源断开前从中断控制器部分71接收关于哪些中断应该生成电源开启信号的信息以及存储在中断轮询逻辑中以便轮询逻辑能够从所存储的数据确定何时发出电源开启信号。
对检测到与所存储的中断中之一符合的中断作出响应,中断轮询逻辑72向电源控制器45发出电源开启信号,电源控制器45将第一域52电源开启。这时电源控制器45检查是否在数据存储器46中有存储的值。如果有值被存储那么它向处理器20发送信号指示需要恢复状态。那么堆栈/退栈逻辑24与存储器接口 22—起使得该堆栈42退栈以及将处理器20之前的状态载回处理器中。然后处理器就准备前
好从进入低功率模式前接收的指令的后续指令重新启动处理。
应该注意的是由于所有在流水线内等待的指令在存储状态之被执行,比如果没有发生那的话的情况,需要存储更少的状态。如果在流水线内存在一些等待的部分执行的指令,像提取緩冲以及解码信息等的内容也需要被保存以及恢复。
堆栈/退栈逻辑24也祐:使用在中断的处理中,且对中断作出响应
将相关状态外存到堆栈42。通常,这比需要用来重启处理器的状态要
使能够在电源断开前存储以及恢复处理器的架构状态。
在这方面应该注意的是外围在低功率模式下也可被断开电源,尽管这在图中没有显示。在这种情况下外围电路的架构状态也被存储在存储器中以便在电源开启后这种状态也能够被恢复。设置堆栈/退栈逻辑用于也有权访问此状态,以便它能执行状态的存储以及恢复。
应该注意的是在电源断开过程中如果接收到高优先级的中断那么电源断开进程本身可以被中断。在这种情况下状态的存储被挂起以及堆栈从它达到的那一点退栈以及然后,在此中断被服务之前存储用于服务此中断的合适状态到堆栈。
图3显示4艮据另一个实施例的电源控制器45,处理器20以及存储器40。可以看出电源控制器45与处理器20直接接口。当控制器用电源事件检测逻辑48检测到指示要进入低功率模式的电源事件时,它向处理器20发送电源断开信号。为了进入电源断开状态处理器首先存储它所有必要的状态到从由电源控制器45赋予的存储地址46起始的堆栈。在确定存储哪些状态时,电源控制器45使用操作状态抬r测逻辑41,其检测处理器操作状态以及因此检测哪些状态需要被存储。例如,如果存储器保护单元49是操作的,则关于存储器安全状态的信息则需要被存储而如果它不是操作的那么就不需要存储这个。一旦存储进程完成处理器向接着可以关闭到处理器20的电源的系统发送信号。电源控制器45继续被供电以及监视某些信号47以确定是否需要电源开启。如果它检测到这样的电源开启事件那么控制器45将此信号发送给系统,系统将处理器20的电源重新开启。当电源重新加载时处理器20处于复位状态以及控制器断定信号说明此复位不是标准复位而是状态恢复电源开启事件。然后处理器20从存储器40恢复它所有的必需状态。这包括例如程序计数器以及堆栈指针等。然后处理器20可以开始从进入低功率模式前它停止的地方操作。
图4以示意图示出被分成两个供电域的集成电路2。具体地提供了电源可控域52其可以在低功率模式下为了省电而电源断开,以及提供了在低功率模式下不电源断开的持续供电域54。通过以这种方式将集成电路分割,当不需要时可以安全电源断开的集成电路元件可以在电源可控域52中提供,而为了保证集成电路的正确功能必须在操作模式持续供电的元件可以在持续供电域54中提供。
在电源可控域52中,提供有用于处理指令和数据的中央处理单元20。中央处理单元20可以在没有指令和/或数据等待处理时电源断开而不会丟失数据或有碍功能。另外,中央处理单元20可以在正在处理指令和/或数据时电源断开而通过在电源可控域52电源断开前将系统当前状态的拷贝存储到存储器上不会丟失当前处理的任务。因此,中央处理单元20可以很方便地在电源可控域52中提供。
在持续供电域54中,提供有通过地址和数据总线30与中央处理单元耦合的存储器40,其存储由中央处理单元20生成或使用的数据。为了在ii^低功率模式时可以保留存储器40的内容而将存储器40置于持续供电域54中是有价值的。这对于系统特别是中央处理单元20的当前操作状态在电源可控域切换到低功率模式前保存到存储器40中以使中央处理单元20在随后能够再开始进程是特别重要的。
持续供电域54也包括电源控制器45,其被配置成用于对从中央处理单元20通过低功率请求信号线发到电源控制器45的低功率请求信号作出响应而将电源可控域电源断开。电源控制器45 ;故配置成用于通过电源线3各43对电源可控J成电源开启。
17集成电路2还包括中断控制器70,其处理为了通过中央处理单元20服务由多个中断源发出的中断请求。中断源可能包括集成电路元件,外部的芯片外的源,或软件生成的中断。与集成电路其他的元件相反,中断控制器70不仅仅提供在一个供电域内,而是分布在电源可控域52以及持续供电域54之中。更加具体地,中断控制器70的第一部分71在电源可控域52内提供,而中断控制器70的第二部分72在持续供电域54内提供。这样,中断控制器70在不使用时可以电源断开而不妨碍中断控制器70操作的功能元件可以在第 一部分71内提供,也就是在电源可控域52内,而中斯控制器70剩余的不能在被电源断开而不妨碍中断控制器70操作的功能元件在第二部分72内提供,也就是在持续供电域54内。
更具体地,中断控制器70在电源可控域52内提供的第一部分71包括中断控制电路,其具有用于从中断源接收中断请求信号50的中断输入,以及其确定中断请求信号50中的哪些(如果有的话)应该通过中断请求接口 39传送到中央处理单元20。中断控制电路包括用于指定特定中断请求信号的优先级的优先级逻辑,以及能够基于当前应用的中断请求信号、由优先级逻辑指定的中断请求信号各自的优先级、以及中央处理单元20的当前操作状况而选择中断请求以传输给中央处理单元20的决策逻辑。中断控制电路:故配置成用于通过中断请求接口 39向中央处理单元20提供选择的中断请求信号。要理解,当第一域被切换到低功率模式时中断控制电路将被电源断开。
某些中断请求涉及十分重要的处理任务即中央处理单元20以及中断控制电路71应该离开低功率模式被电源开启以服务中断请求。对由中央处理单元20在低功率请求信号线路12上发出的〗氐功率请求信号作出响应,由中断控制电路71确定以及选择哪些中断请求应该引起离开低功率模式。选择的中断请求50在电源可控域52电源断开前然后通过中断请求识别信号线路73从中断控制电路71传输到中断控制器70的第二部分72。这样,应该引起离开低功率模式的识别中断请求的选择信息在中断控制器70的第 一部分71电源断开前被提供给中断控制器70的第二部分72。
中断控制器70在持续供电域54内提供的第二部分72包括中断请求监视电路,其具有用于接收中断请求信号的中断输入,以及其监视通过中断请求信号线路50接收到的由中断源发出的中断请求信号。中断请求监视电路将每个接收到的中断请求与由中断控制电路传送到中断控制器70的第二部分72的选择信息比较。在两者匹配的情况下,中断请求监视电路被配置成用于通过电源开启请求信号线路发送电源开启请求信号到电源控制器45。电源控制器45被配置成用于作出响应将电源可控域电源开启由此激活中央处理单元20以及中断控制电路71以能够服务中断请求。
图5中,以示意图示出中断控制器70在持续供电域54和电源可控域52之中的分布的更加详细的实施方式。如同图1所示,电源可控域52包括中央处理单元20以及中断控制器70的中断控制电路71 。在中央处理单元20和中断控制电^各71之间提供中断请求接口 39以使中断控制器70能够向中央处理单元20传送中断请求,以及使中央处理单元能够向中断控制器70传送控制数据。中断控制电路71包括中断控制逻辑212以及中断状态存储214。中断状态存储214存储中断控制器70的当前中断状态。特别地,中断状态存储214保存指示当前哪些中断请求在中断控制器70等待的信息,以及与这些请求有关的任何优先级信息。中断控制逻辑212被配置成用于从在中断状态存储214中保存的中断状态信息以及中央处理单元20的当前操作状态确定当前等待的中断请求中哪些(如果有)应该^皮传到中央处理单元20以服务。中断控制逻辑212还可对通过低功率请求线路12接收到的低功率请求信号作出响应,依据当前中断状态确定哪些中断请求应该引起电源可控域离开低功率模式。然后选择的中断请求通过选择信息信号线路传送到中断控制器70的中断请求监视电路。
在持续供电域内提供的中断请求监视电路包括中断等待逻辑412以及选择信息存储414。选择信息存储414用来存储通过选择信息信号线路33从中断控制电路71传送的选择信息。中断等待逻辑412用来监视从中断源通过中断请求信号线路50接收的中断,以及在接收到的中断中之一被识别为指示了存储在选择信息存储器414中的选择信息中的从低功率模式离开的中断的情况下,在电源开启请求信号线路上应用电源开启请求信号。当电源开启请求信号已经断定在电源开启请求信号线路上以及电源可控域52已经电源开启离开低功率模式时,中断请求监视电路72通过中断就绪信号线路420向中断控制电路71传送中断就绪信号,以及通过中断详细信息信号线路422向中断控制电路71传送指示已经接收到哪个中断请求的中断详细信息。中断就绪信号线路420以及中断详细信息信号线路422的提供对于处理脉冲中断特别重要,脉冲中断可在电源可控域以及因此中断控制电路71电源开启之时在中断请求信号线路50处已经终止。至于多级中断,中断就绪信号线路420以及中断详细信息信号线路422是可选的,因为中断控制线路可以直接通过查看中断请求信号线路50上提供的信号确定接收的中断。
图6是显示用于从操作模式进入低功率模式以及从低功率模式返回操作模式的方法的流程图。开始数据处理装置监视低功率请求。对接收到低功率请求作出响应发送存储状态信号到处理器。对此信号作出响应处理器采取行动挂起向处理器流水线的指令输入以及它接着执行流水线内所有等待指令。如此处理器减少了需要存储的状态数据量。当处理器完成这一步时,现在比没有执行这一步可能的处理器状态少的处理器架构状态被发送到存储器。然后状态恢复指示符被存储在电源控制器内以及第一供电域被电源断开。然后处理装置进入低功率模式。在这个模式中电源控制器监视电源开启请求。当它接收到电源开启请求时它将第一供电域电源开启。这包括处理器。当它完成这后电源控制器接着检查状态恢复指示符是否被存储在电源控制器内。如果是那么它发送"恢复存储在存储器中的状态,,请求到处理器以及存储在存储器中的状态被卸回处理器于是处理器可以再开始正常操作模式。如果没有恢复存储在电源控制器内的状态指示符,那么这是正常复位以及没有状态需要从存储器中下载。
尽管这里已经参考附图详细说明了本发明的说明性实施例,可以理解本发明并不限于这些精确的实施例,以及本领域内才支术人员可以实现各种变化和改动而不偏离由附加权利要求界定的本发明的范围和精神。
权利要求
1. 一种数据处理装置包括(i)用于处理数据的处理器,所述处理器包括用于控制向存储器传输数据的存储器接口逻辑,所述处理器在第一供电域内被供电;(ii)用于存储由所述处理器处理的数据的存储器,所述存储器在第二供电域内被供电;(iii)与所述处理器以及所述存储器耦合的系统总线,其可操作以对由所述存储器接口逻辑在所述处理器和所述存储器正常处理操作期间通过所述系统总线发出的存储器传输请求作出响应而在所述处理器和所述存储器之间传输数据;其中(iv)所述处理器可对指示所述数据处理装置应该进入低功率模式的低功率请求作出响应以(v)使用所述存储器接口逻辑通过所述系统总线控制指示所述处理器的当前状态的状态数据到所述存储器的传输,所述状态数据足以使得所述处理器在离开所述低功率模式后恢复到等效程序状态;(vi)在所述存储器中存储所述状态数据;以及(vii)使所述第一供电域电源断开。
2. 如权利要求1所述的数据处理装置,所述数据处理装置还包 括用于控制所述第一供电域电源开启以及断开的控制器;(i) 所述控制器由所述第二供电域供电并包括用于存储状态恢复 指示符的数据存储;其中(ii) 所述控制器对检测到所述低功率请求作出响应,存储指示 对所述低功率请求作出响应而使所述处理器电源断开的状态恢复指 示符值;(iii) 所述控制器可对指示所述处理器应该电源开启的输入信号 作出响应而使所述第一供电域电源开启以及依据所述状态恢复指示 符值向所述处理器发出信号指示所述电源开启是标准复位或是状态恢复复位;以及(iv)响应于所述控制器指示所述电源开启是响应于所述状态恢 复复位,所述处理器从所述存储器加载所述存储的状态数据。
3. 如权利要求1所述的数据处理装置,其中所述处理器配置成 用于对所述低功率请求作出响应而在所述存储器内的堆栈上存储所 述状态数据,所述处理器包括用于对所述低功率请求作出响应而堆栈 所述状态数据到所述堆栈以及用于对随后的电源开启信号作出响应 而从所述堆栈使所述状态退栈的堆栈/退栈逻辑。
4. 如权利要求3所述的数据处理装置,所述数据处理装置还包 括用于控制所述第 一供电域电源开启及断开的控制器;(i )所述控制器由所述第二供电域供电并包括用于存储状态恢复 指示符的数据存储;其中;(ii) 所述控制器对^r测到所述低功率请求作出响应,存储指示 对所述低功率请求作出响应而使所述处理器电源断开的状态恢复指 示符值;(iii) 所述控制器可对指示所述处理器应该电源开启的输入信号 作出响应而使所述第 一供电域电源开启以及依据所述状态恢复指示 符值向所述处理器发出信号指示所述电源开启是标准复位或是状态 恢复复位;以及(iv) 响应于所述控制器指示所述电源开启是响应于所述状态恢 复复位,所述处理器从所述存储器加载所述存储的状态数据。其中所述状态恢复指示符值包括所述堆栈的栈顶地址。
5. 如权利要求3所述的数据处理装置,所述数据处理装置还包 括中断控制器,所述处理器配置成用于对接收到中断作出响应而存储 所述处理器的一些状态数据到所述存储器内至少所述堆栈的一部分 上,以及对所述中断完成作出响应而恢复所述一些状态。
6. 如权利要求5所述的数据处理装置,其中所述低功率请求包 括由所述处理器发出的等待中断信号指令。
7. 如权利要求5所述的数据处理装置,其中所述中断控制器包 括用于接收多个中断的多个中断输入,所述多个中断输入中至少一个 包括电源开启信号。
8. 如权利要求7所述的数据处理装置,其中所述中断控制器包括(i) 在所述第一供电域中被供电的中断控制电路;以及(ii) 在所述第二供电域中被供电的中断请求监视电路;(iii) 所述中断请求监视电路适用于监视在所述低功率模式下操 作期间的所述电源开启信号。
9. 如权利要求8所述的数据处理装置,其中所述中断控制电路 包括用于接收所述中断请求的中断输入以及配置成用于向所述处理 器选择性地提供所接收到的中断请求;(i) 所述中断控制电路被设置成用于传输中断选择信息到所述中 断请求监视电路,所述中断选择信息标识指示离开所述低功率才莫式的 中断请求为所述电源开启信号;(ii) 所述中断请求监视电路包括被配置成用于存储由所述中断 控制电路传输到中断请求监视电路的所述选择信息的选择信息存储; 以及(iii) 所述中断请求监视电路包括用于接收所述中断请求的中断 输入,以及可对所接收到的由所述存储的中断选择信息标识为所述电 源开启信号的中断请求作出响应以触发所述第一供电域的电源开启。
10. 如权利要求1所述的数据处理装置,其中所述处理器包括流 水线处理器,以及所述数据处理装置配置成用于对所述低功率请求作 出响应而挂起载入任何其他指令到所述流水线处理器中,以及在存储 所述状态数据到所述存储器以及将所述第一供电域电源断开前完成 对所述流水线处理器中等待指令的处理。
11. 如权利要求1所述的数据处理装置,其中所述数据处理装置 配置成用于依据所述数据处理装置当前的操作情况选择存储到所述存储器中的状态。
12. 如权利要求1所述的数据处理装置,其中所述数据处理装置 还包括存储器保护单元以及所述数据处理装置可响应于(i) 所述存储器保护单元是在操作的,以存储所述存储器保护数 据作为所述状态数据的部分到所述存储器;以及(ii) 所述存储器保护单元是被关闭的,以不存储存储器保护数 据作为所述状态数据的部分到所述存储器。
13. 如权利要求l所述的数据处理装置,其中所述状态数据包括 足以使所述处理器能够在离开所述低功率模式后重新开始处理数据 的架构状态数据。
14. 如权利要求13所述的数据处理装置,其中所述处理器包括 多个寄存器,所述状态数据包括存储在所述多个寄存器的子集内的数 据、程序计数器、以及堆栈指针。
15. —种在进入低功率模式前在用于数据处理的装置内保存状态 的方法,所述用于处理数据的装置具有(i) 用于处理数据的处理器,所述处理器包括用于控制向存储器 传输数据的存储器接口逻辑,所述处理器在第 一供电域内被供电;(ii) 用于存储由所述处理器处理的数据的存储器,所述存储器 在第二供电域内被供电;(iii) 与所述处理器以及所述存储器耦合的系统总线,其可操作作期间通过所述系统总线发出的存储器传输请求作出响应而在所述 处理器和所述存储器之间传输数据;所述方法包括以下步骤(iv) 对指示所述数据处理装置应该进入低功率模式的低功率请 求作出响应(v) 使用所述存储器接口逻辑通过所述系统总线传输指示在所 述数据处理装置内的所述处理器当前状态的状态数据到所述存储器;(vi) 在所述存储器中存储所述状态数据;以及(Vii)使所述第一供电域电源断开。
16. 如权利要求15所述的方法,所述方法包括其他以下步骤(i) 所述控制器对所述低功率请求作出响应,存储指示对所述低 功率请求作出响应而使所述处理器电源断开的状态恢复指示符值;(ii) 当所述处理器电源断开时在所述控制器检测电源开启请求;(iii) 对所述电源开启请求作出响应而使所述第一供电域电源开 启以及向所述处理器发送信号指示所述电源开启是是状态恢复复位 而不是标准复位;以及(iv) 对所述指示所述电源开启是响应于所述状态恢复复位的信 号作出响应,从所述存储器载入所述存储的状态数据到所述处理器。
17. 如权利要求15所述的方法,其中所述向所述存储器存储所 述状态数据的步骤包括在所述存储器内的堆栈上存储所述状态数据。
18. 如权利要求16所述的方法,其中所述向所述存储器存储所 述状态数据的步骤包括在所述存储器内的堆栈上存储所述状态数据; 以及其中所述状态恢复指示符值包括所述堆栈的栈顶地址。
19. 如权利要求17所述的方法,其中所述方法包括以下其他步 骤对中断作出响应而存储所述处理器的一些状态数据到所述存储器 内至少所述堆栈的一部分上,以及对所述中断完成作出响应而恢复所 述一些状态。
全文摘要
一种数据处理装置包括用于处理数据的处理器,所述处理器在第一供电域中供电;用于存储由所述处理器处理的数据的存储器,所述存储器在第二供电域中供电;与所述处理器和所述存储器耦合的系统总线,其可操作以对存储器传输请求作出响应而在所述处理器和所述存储器之间传输数据;其中所述处理器对指示所述数据处理装置应该进入低功率模式的低功率请求进行响应以通过所述系统总线控制指示所述处理器的当前状态的状态数据到所述存储器的传输,所述状态数据足以在离开所述低功率模式后恢复所述处理器到等效程序状态;在所述存储器中存储所述状态数据;以及所述第一供电域电源断开。
文档编号G06F11/14GK101464819SQ20081018398
公开日2009年6月24日 申请日期2008年12月19日 优先权日2007年12月19日
发明者S·J·克拉斯克, S·阿克斯福特 申请人:Arm有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1