用于基于消息的细粒度片上系统功率门控的系统和方法

文档序号:10694564阅读:193来源:国知局
用于基于消息的细粒度片上系统功率门控的系统和方法
【专利摘要】提供了用于基于消息的片上系统(SoC)功率门控的系统实施方式和方法实施方式。实施方式使得能够进行细粒度SoC功率门控而不造成大量延迟,并且实质性地最大程度降低SoC功率。在实施方式中,一种用于基于消息的功率门控的第一SoC资源中的方法包括:在第一SoC资源处接收来自第二SoC资源的唤醒通知消息(WNM),其中,WNM包括来自第二SoC资源的结果消息预期到达第一SoC资源的时间;第一SoC资源根据来自第二SoC资源的结果消息预期到达第一SoC资源的时间来确定唤醒时间;设置唤醒时间定时器在所述唤醒时间处到期;以及当唤醒时间定时器到期且第一SoC资源休眠时,唤醒第一SoC资源。
【专利说明】用于基于消息的细粒度片上系统功率口控的系统和方法
[0001] 本申请要求于2014年3月11日提交的题为"Systems and Methods for Messaging-based Fine Granularity System-on-a-Chip Power Gating(用于基于消息的 细粒度片上系统功率口控的系统和方法r的美国非临时申请第14/204,555号的权益,该美 国非临时申请通过引用并入本文中。
技术领域
[0002] 本发明设及用于管理片上系统(system on a chip,SoC)功率口控的系统和方法, W及在特定实施方式中设及基于消息的细粒度SoC功率口控。
【背景技术】
[0003] 片上系统(system on a chip,SoC)是一种将计算机或其他电子系统的多个关键 部件集合成单个忍片的集成电路(integrated circuit, 1C) eSoC可W在单个忍片基板上包 含数字信号、模拟信号、混合信号和/或射频功能。降低片上系统(system on a chip,SoC) 的总体功耗是低功率设计的主要目标。存在有用于实现该目标的各种技术,例如,对SoC的 完整分区进行口控。功率口控的一个主要问题在于决定何时能够在不损害系统的操作性能 的情况下对SoC的各个分区进行功率口控。对于必须满足明确延迟限制的实时系统而言,运 点尤为重要。SoC架构一般包括使用通过片上网络(Network-on-a-化ip,NoC)或高级扩展接 口(Advanced Extensible Inte;rface,AXI)互连网络的消息来互相通信的一组计算/存储 资源。运些资源之间的通信包括具有操作指令和/或数据的消息。

【发明内容】

[0004] 根据实施方式,一种用于基于消息的功率口控的第一片上系统(system on a chip, SoC)资源中的方法包括:在第一 SoC资源处接收来自第二SoC资源的唤醒通知消息 (wakeup notification message,WNM),其中,WNM包括来自第二SoC资源的结果消息预期到 达第一 SoC资源的时间;第一 SoC资源根据来自第二SoC资源的结果消息预期到达第一 SoC资 源的时间来确定唤醒时间;设置唤醒时间定时器在所述唤醒时间处到期;W及当唤醒时间 定时器到期且第一SoC资源休眠时,唤醒第一SoC资源,其中,唤醒第一SoC资源包括唤醒第 一 SoC资源中的至少一个子资源。
[0005] 根据实施方式,一种片上系统(system on a chip, SoC)资源包括:与互连网络连 接的输入/输出(input/output,1/0)接口,该1/0接口被配置成经由互连网络接收来自第二 SoC资源的唤醒通知消息(wake叫notification message,WNM),其中,WNM包括来自第二 SoC资源的结果消息预期到达所述SoC资源的时间;W及禪接至1/0接口的功率管理控制器, 该功率管理控制器被配置成:根据来自第二SoC资源的结果消息预期到达所述SoC资源的时 间来确定唤醒时间;设置唤醒时间定时器在所述唤醒时间处到期;W及当唤醒时间定时器 到期且所述SoC资源休眠时,唤醒所述SoC资源。
[0006] 根据实施方式,一种数据处理系统包括:多个片上系统(system on a chip,SoC) 资源,所述多个SoC资源被配置为基于消息来互相通信;W及网络总线,该网络总线与多个 SoC资源中的每个SoC资源连接,其中,SoC资源中的每个SoC资源包括:输入/输出(input/ output,I/O)接口,该I/O接口与网络总线连接;至少一个资源处理子部件或资源存储子部 件,所述至少一个资源处理子部件或资源存储子部件与I/O接口连接;功率管理控制器,该 功率管理控制器与I/O接口连接;至少一个电源开关,所述至少一个电源开关与功率管理控 制器连接、与电源连接并且与连接至I/O接口的所述至少一个资源处理子部件或资源存储 子部件连接;W及唤醒时间定时器,该唤醒时间定时器与功率管理控制器连接,其中,I/O接 口被配置成接收来自SoC资源中的另一SoC资源的唤醒通知消息(wakeup notification message,WNM),其中,WNM包括来自SoC资源中的所述另一SoC资源的结果消息预期到达所述 SoC资源的时间,W及其中,功率管理控制器被配置成:根据来自SoC资源中的所述另一SoC 资源的结果消息预期到达所述SoC资源的时间来确定唤醒时间;设置唤醒时间定时器在所 述唤醒时间处到期;W及当唤醒时间定时器到期且资源处理子部件或资源存储子部件中的 至少一个资源处理子部件或资源存储子部件休眠时,唤醒所述至少一个资源处理子部件或 资源存储子部件。
【附图说明】
[0007] 为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,在附图 中:
[0008] 图1示出了实施方式的用于基于消息的细粒度SoC功率口控的SoC架构;
[0009] 图2示出了实施方式的基于消息的功率口控方法的概要时序图;
[0010] 图3示出了实施方式的具有功率管理控制器的SoC资源;W及
[0011] 图4示出了对用于基于消息的SoC功率口控的示例方法进行说明的流程图。
【具体实施方式】
[0012] 下文将详细论述当前优选实施方式的实施和使用。然而,应了解,本发明提供可在 各种具体上下文中体现的许多适用的发明构思。所论述的【具体实施方式】仅仅说明用于实施 和使用本发明的具体方式,而不限制本发明的范围。
[0013] 本文公开了用于低功率控制器的系统、方法和装置,低功率控制器优化SoC中的计 算/存储资源可被功率口控的时间段,进而降低总体SoC功耗。在实施方式中,基于数据流消 息的系统中出现的所有类型的计算/存储资源都可共用所述系统、方法和装置。所公开的系 统、方法和装置的一个优点在于对功率口控进行实时细粒度控制,W确保最大资源功率口 控时间,并使得在任何给定时间点处SoC的功耗最低,而不会给实时应用的处理增加额外延 迟。
[0014] 在实施方式中,细粒度功率口控方案的一个目标在于协调功率口控的使用与操 作/存储资源需要被唤醒W执行操作的时间。在实施方式中,系统架构是处理来自消息的数 据并向其他资源(数据流)发送新消息的独立资源的集合。系统资源的示例包括中央处理单 元山6]1付日1 processing unit,CPU)、数字信号处理器(digital si即al p;rocesso;r,DSP)、 硬件加速器集群化ardware accelerator cluster,HAC)W及存储子系统。在实施方式中, 为了进行协调,针对每个资源限定了操作时段和空闲时段。在实施方式中,资源的操作时段 被限定为资源非空闲时的任何时间。在实施方式中,空闲时段是取决于资源类型来限定的, 其中,某些类型的资源(例如,CPU和DSP)的空闲时段被限定为无程序线程运行且无程序线 程被调度运行(所述运行可由驻留实时操作系统(Real-time Operating System,RTOS)控 审IJ)的时间,其他类型的其他资源(例如,HAC)的空闲时段被限定为没有操作正在执行的时 间。在其他实施方式中,可W存在其他资源类型,W及在不同的实施方式中对空闲时段的限 定可W不同。
[0015] 本公开内容的实施方式能使细粒度功率口控处理算法对消息传递系统中的所有 类型的资源通用,其中所述细粒度功率口控处理算法能够使计算资源被功率口控成在短时 段(例如,十几个周期)内处于非活动状态。相比之下,传统技术包括需要使计算资源在大段 时间内处于非活动状态的粗功率口控技术。进一步地,本公开内容的实施方式还提供用于 在资源空闲时最大化休眠时段的技术,因此增加节能。此外,本公开内容的实施方式消除了 唤醒拖延,即,需要运行但必须等待资源被唤醒的操作,因为运样的延迟在处理实时应用的 系统中是不可容忍的。
[0016] 图1示出了实施方式的用于基于消息的细粒度SoC功率口控的SoC架构IOOdSoC架 构100包括连接多个资源的片上网络(Network on a化ip,NoC)DNoC 110可W包括网络总 线。资源包括多个DSP 102和104、多个硬件加速器化ardware accelerator,HAC) 106、108、 114和116、CPU集群112W及双倍数据速率(Double Data Rate,DDR)存储子系统118。资源 102、104、106、108、112、114、116和118中的每个资源经由中介层120与NoC 110连接,其中, 中介层120提供与其他资源102、104、106、108、112、114、116和118进行基于消息的通信的合 适设施。中介层120中的一些中介层120包括直接内存访问化irect Memo巧Access,DMA)部 件122。在其他实施方式中,SoC架构100可W包括图1所示出的部件和资源之外的其他的或 不同的部件和资源。
[0017] DSP集群102和104中的每个DSP集群包括共享内存控制器(shared memory controller,SMC) 128、多个二级(level 2,L2)共享内存缓存化2存储体)126和一组DSP子系 统130 (示出了DSP0至DSP3运4个DSP作为示例)。DSP处理子系统130之间共享L2存储体126。 DSP处理子系统130各自包括一级(level 1,L1)数据缓存化1D$)136和L1指令缓存化11$) m。
[001引 HAC 106、108、114和116用于比通用CPU例如CPU集群112上运行的软件更快地执行 一些功能。HAC 106、108、114和116被设计用于计算密集软件代码。齡(:的示例是图形加速 器。HAC 106、108、114和116可W是任何类型的电子处理器。CPU集群112可W包括可为任何 类型电子处理器的一个或更多个处理器。CPU集群11 2还包括多个串行器/解串器 (se;rialize;r/dese;rialize;r,SerDES)124,所述多个串行器/解串器124用于转换串行数据 与每个方向的并行接口之间的数据,W及通常用于补偿有限的输入/输出。DDR存储子系统 118可W包括任何类型的系统存储器,例如静态随机存取存储器(static random access memo;ry,SRAM)、动态随机存取存储器(dynamic random access memoir,DRAM)、同步动态随 机存取存储器(sync虹onous DRAM, SDRAM)、只读存储器(read-only memory,ROM) W及上述 存储器的组合等。在实施方式中,DDR存储子系统118可W包括启动时使用的ROM和执行程序 时使用的用于存储程序和数据的DRAM。
[0019] SoC 100被配置成提供基于消息的SoC功率口控。资源10 2、104、106、108、112、114、 116和118是独立的资源,所述独立的资源处理来自消息的数据W及向其他资源102、104、 106、108、112、114、116和118发送新消息。SoC 100被配置成协调功率口控方案和需要唤醒 操作/存储资源W在不存在附加延迟的情况下执行操作/存储资源的操作的时间。在实施方 式中,为了进行协调,资源的操作时段被限定为资源非空闲(即,不处于空闲状态)时的任何 时间,资源的空闲时段(或空闲状态时段)取决于资源类型被限定为如下:
[0020]
[0021] 为了理解所公开的功率口控方案,考虑下述简单的示例:资源R1执行操作,将数据 消息(data message,DM)发送给资源R2,之后R2基于所述消息(DM)来执行操作。进一步地, 假定当资源R1执行资源R1的操作时,资源R2空闲。因此,目标是当R1执行R1的操作时对资源 R2进行功率口控,并在R2接收到来自R1的DM之前将R2从功率口控状态中唤醒。鉴于当R1执 行操作时R2空闲,R2中的控制器对功率口控进行管理。R2接收来自R1的关于将来什么时间 R2需要执行操作的唤醒通知消息(wake-up notification message,WNM)。根据运些性能参 数,每个资源的功率管理控制器进行如下操作:
[0022] 参当接收到WNM时:
[0023] 0维护唤醒时间队列,该唤醒时间队列保持追踪需要唤醒设备的所有未来时间(例 如,未来唤醒时间)。设置定时器在最早唤醒时间处到期。
[0024] ?当唤醒定时器到期时:
[0025] 0如果资源休眠(即,处于休眠状态、低功率状态、较低功率状态或无功率状态),则 唤醒所述资源。
[0026] 0设置定时器在唤醒时间队列中调度的下一最早唤醒时间处到期,如果所述下一 最早唤醒时间存在的话。
[0027] ?当资源的空闲信号改变(空闲 <-〉活动)时:
[00%] 0如果资源变为空闲且如果从当前时间到当前唤醒时间之间的时间大于资源盈亏 平衡时间(即,为了弥补给资源上电的开销需要使资源保持在下电状态的最短时间,(可选 地)加上差错保护带)或未调度唤醒时间,则将所述资源置为休眠。
[0029] 中包含的时间值衡量各种输入情况下的操作的最佳完成时间。运些时间是例 如根据各种输入情况下的操作性能的表征来获得的。例如,DSP可被表征为DSP算法需要多 少周期进行处理。操作内有可W发送的至少两个可能的位置。在第一实施方式中,在R1 完成R1的操作紧之后并且在R1发送要被R2处理的DM之前,发送唤醒消息。然而,为了使所述 功率口控方案起作用,R1向R2发送DM的时间需要大于WMl传输时间和被功率口控的资源R2 的唤醒延迟时间。此外,差值需要大于盈亏平衡时间。可替代地,在第二实施方式中,是 在R1操作时段期间的某一更早的时间处发送的。在一个实施方式中,WNM是在R1中的操作开 始时发送的,W确保能够在可W实现最多节能的最早时间处将资源R2置为休眠,并且能够 及时唤醒R2无延迟地执行R2的操作。
[0030] 图2示出了实施方式的基于消息的功率口控方法200的概要时序图。资源的操作时 段首先由所要求的操作的绝对开始时间(T2S)来限定。绝对开始时间(T2S)是由接收到资源 通过信号发送上一操作完成(TIE)的一个或更多个消息来确定的。此时,在实施方式中,要 求资源完全可用。操作时段的绝对结束时间(T2E)是资源完成所要求的操作的时间加上向 后续资源发送结果完成消息所需要的时间(TMSG2)。要求唤醒下电资源的绝对时间(TWRA) 被限定为操作需要开始的时间(T2S)减去资源从休眠模式转变成活动模式所要求的时间 (TW)。因为上一操作或馈入操作的结束时间(TIE)与馈出操作的开始时间(T2S)相同,所W 相对于上一操作或馈入操作开始(T1S)的所要求的唤醒时间(TWR)可W计算为上一操作或 馈入操作的操作时段(T1E-T1S)减去将馈出资源从休眠模式转变成活动模式所要求的时间 (TW)。也就是:TWR = T1E-T1S-TW(再次相对于T1S)。因此,如果馈入操作发送了唤醒时间通 知,则可W确保在合适的时间(T2S)处资源可用。运使得资源在尽可能长的时间内保持在 "下电"状态。
[0031] 资源操作时段中存在有可W发送"唤醒"通知的两处。第一处是在馈入操作向资源 发送结果消息之前馈入操作结束时(T10E)。运就要求最大资源唤醒时间(TW)不能大于结果 消息传输时间(TMSG1)与被限定为唤醒通知延缓时间(选项1WNS)的唤醒通知传输时间(选 项1TWN)之间的差值。如果未能满足所述要求,则资源不能及时处于活动来处理操作消息, 造成唤醒拖延。
[0032] 用于发送唤醒通知消息(wake-up notification message,WNM)的第二处是在馈 入操作开始时(T1S)。运将为通知消息传输提供必要的时间,因为预期的最小操作时间大于 传输时间(选项2TWN)。因此,可使用更大的唤醒延缓时间(选项2WNS)。更大的唤醒延缓时间 使得能够及时唤醒功率口控的资源,而不会造成任何延迟,同时还能最大化功率口控时间。
[0033] 图3示出了实施方式的具有功率管理控制器的SoC资源300"S〇C资源302可W实现 为例如图1中所描绘的资源102、104、106、108、112、114、116和118中的任何资源,^及5〇(:资 源302可W被配置成实现图2中所示的方法200dSoC资源300包括输入/输出(input/output, I/O)接口 306、功率管理控制器304、资源处理/存储子部件308、电源310、电源开关316、唤醒 时间队列312和唤醒时间定时器314。I/O接口 306被配置成经由NoC从其他资源接收WNM。在 其他实施方式中,还可W利用不同于NoC的其他类型的互连网络。WNM指示SoC资源302预期 接收到下述结果消息的时间,SoC资源302必须无任何延迟地基于所述结果消息来执行一些 操作。1/0接口 306还被配置成经由NoC从其他SoC资源接收结果消息。1/0接口 306接收到的 WNM被提供给功率管理控制器304,功率管理控制器304使用WNM来确定是否对资源处理/存 储子部件308下电W及何时唤醒下电的资源处理/存储子部件308W使资源处理/存储子部 件308准备好在从另一 SoC资源接收到结果消息时执行操作。功率管理控制器304禪接至电 源310,通过使用电源开关316来使资源处理/存储子部件308下电或上电。在实施方式中,功 率管理控制器304可W控制电源开关316, W使得资源处理/存储子部件308中的仅部分资源 处理/存储子部件被下电或上电而其他资源处理/存储子部件保持在相反状态。因此,在任 何给定时间处,可W唤醒资源处理/存储子部件308中的部分资源处理/存储子部件,W及部 分资源处理/存储子部件可W休眠 W保存功率。资源处理/存储子部件可W包括处理器、 DSP、存储单元、存储设备、HAC子部件或者可W在SoC中实现的任何其他部件。功率管理控制 器304被配置成实现方法200, W及功率管理控制器304可W包括处理器和存储部件。空闲时 间内资源处理/存储子部件308可W处于下电,空闲时间的限定可W取决于其中可W实现功 率管理控制器304的SoC资源302的类型而不同。
[0034] 功率管理控制器304维护唤醒时间队列并且维护唤醒定时器,所述唤醒时间队列 保持追踪需要唤醒SoC资源302的所有未来时间。功率管理控制器304针对功率管理控制器 304接收到的每个WNM来计算唤醒时间。W下述方式来计算所述唤醒时间:使得给SoC资源 302提供足够的时间来上电并准备好在SoC资源302接收到结果消息时执行所要求的操作。 因此,例如,如果WNM指定结果消息会在时间Ta处到达SoC资源302且SoC资源302要花费时间 Tb来上电并准备好无延迟进行操作,则功率管理控制器304将唤醒时间Tw确定为Tw = Ta-Tb。 也就是说,将唤醒时间Tw设定为比Ta早时间段Tb(可加上某一余量),使得SoC资源302在时间 Ta处准备好基于结果消息来执行所要求的操作。功率管理控制器304设置唤醒时间定时器 314在基于预期的所有消息到达的唤醒时间队列312中的最早唤醒时间处到期。当唤醒时间 定时器314到期时,如果SoC资源302休眠,则功率管理控制器304唤醒SoC资源302(也就是 说,向电源310发信号,W通过接通电源开关316来为资源处理/存储子部件308供电),并设 置唤醒时间定时器314在唤醒时间队列312中调度的下一最早唤醒时间处到期,如果所述下 一最早唤醒时间存在的话。
[0035] 功率管理控制器304还计算由SoC资源302发送给另一 SoC资源的消息将到达所述 另一 SoC资源的时间,并向所述另一 SoC资源传输WNM,W醒指示在SoC资源302完成操作之后 所述另一资源将接收到来自SoC资源302的结果消息的时间,WNM还可W指示所述另一 SoC资 源预期执行的操作的类型。功率管理控制器304确定SoC资源302将要执行的操作的类型、 SoC资源在所述类型的操作上预期花费的时间量W及在SoC资源302传输结果消息后结果消 息到达所述另一 SoC资源要花费的时间量。当计算出结果消息预期到达所述另一资源的时 间时,功率管理控制器通过1/0接口 306向所述另一 SoC资源传输WNM。
[0036] 当SoC资源(或资源处理/存储子部件308中的一个资源处理/存储子部件)的状态 从活动变为空闲时,功率管理控制器304确定当前时间与下一唤醒时间之间的时间(即,当 前时间与下一唤醒时间之间的持续时间)是否大于资源盈亏平衡时间,如果当前时间与下 一唤醒时间之间的时间大于资源盈亏平衡时间或者未调度唤醒时间,则将资源置为休眠。 资源盈亏平衡时间是为了弥补给资源上电的开销需要使资源保持在下电状态的最短时间, 可选地,加上差错保护带时间段。
[0037] 在实施方式中,资源(例如,资源处理/存储子部件308)存在有多种休眠模式。例 如,在实施方式中,资源或子部件具有Ξ种休眠状态一一 1)浅度休眠模式、2)深度休眠模式 W及3)关机模式。功率管理控制器304直接与资源处理/存储子部件308连接,将一个或更多 个资源处理/存储子部件308置为浅度休眠模式或深度休眠模式。浅度休眠模式和深度休眠 模式可W是资源处理/存储子部件308自身直接支持的模式。为了将一个或更多个资源处 理/存储子部件308置为关机模式,功率管理控制器304可W指示与一个或更多个合适的资 源处理/存储子部件308连接的一个或更多个电源开关完全关闭至运些特定的资源处理/存 储子部件308的电源。不同的休眠模式就节能而言可W具有不同的优点,且就唤醒时间而言 具有不同的开销。例如,在实施方式中,关机模式提供的节能最多,但代价是唤醒时间最长。 在实施方式中,在运Ξ种模式中,浅度休眠模式提供的节能最少,但唤醒时间最短。深度休 眠模式相比于浅度休眠模式提供较多的节能,但唤醒时间较长。然而,深度休眠模式相比于 关机模式具有较短的唤醒时间,但提供的节能较少。由功率管理控制器304选择的特定的模 式可W是基于充分优化节能同时又能及时唤醒资源或子资源来无延迟地执行所要求的功 能或者使存储部件维护存储部件的内容来选择的。
[0038] 图4示出了对用于基于消息的SoC功率口控的示例方法400进行说明的流程图。方 法400可W由图3中的功率管理控制器304来实现。方法400从维护唤醒时间队列的框402处 开始。在框404处,接收WNM,计算针对WNM的唤醒时间,将所述唤醒时间加入唤醒时间队列。 在框406处,设置唤醒定时器在唤醒队列中的最早唤醒时间处到期。在框408处,功率管理控 制器确定唤醒定时器是否到期。如果在框408处唤醒定时器已经到期了,则方法400进行到 框410,在框410处,如果资源休眠,则功率管理控制器唤醒所述资源,并且设置唤醒定时器 在唤醒时间队列中调度的下一最早唤醒时间处到期,如果所述下一最早唤醒时间存在的 话。如果在框408中唤醒定时器没有到期或者在框410中在设置了唤醒时间定时器在下一最 早唤醒时间处到期之后,则方法400进行到框412,在框412处,功率管理控制器确定资源空 闲信号是否变成空闲。如果在框412处资源为非空闲,则方法400进行到框408(或进行到框 404)。如果在框412处资源空闲信号指示资源为空闲,则方法400进行到框414,在框414处, 如果唤醒时间队列中没有唤醒时间或者如果唤醒时间定时器中的当前唤醒时间大于资源 盈亏平衡时间,则功率管理控制器将资源置为休眠,在框414之后,方法400结束(或返回至 框404)。
[0039] 尽管主要参考电子系统和NoC进行了描述,然而所述系统、方法和设备也可应用于 其他系统,例如交叉连接(或纵横互连)类型的互连网络(而不是NoC)、具有光资源的片上光 网络(optical network on a chip,ON〇C),W及应用于光/电混合设备和系统。
[0040] 尽管进行了详细的描述,但应理解,可W在不脱离由所附权利要求书界定的本公 开内容的精神和范围的情况下,做出各种改变、替代和更改。此外,本公开内容的范围不意 在限于本文中所描述的特定实施方式,所属领域的普通技术人员将从本公开内容中容易了 解到,目前存在的或W后将开发的处理、机器、制造工艺、物质成分、装置、方法或步骤可W 执行与本文所述的对应实施方式大致相同的功能或者实现与本文所述的对应实施方式大 致相同的结果。因此,所附权利要求书的范围意在包括运些处理、机器、制造工艺、物质成 分、装置、方法或步骤。
【主权项】
1. 一种用于基于消息的功率门控的第一片上系统(SoC)资源中的方法,所述方法包括: 在所述第一SoC资源处接收来自第二SoC资源的唤醒通知消息(WNM),其中,所述WNM包 括来自所述第二SoC资源的结果消息预期到达所述第一 SoC资源的时间; 所述第一 SoC资源根据来自所述第二SoC资源的所述结果消息预期到达所述第一 SoC资 源的所述时间来确定唤醒时间; 设置唤醒时间定时器在所述唤醒时间处到期;以及 当所述唤醒时间定时器到期且所述第一 SoC资源休眠时,唤醒所述第一 SoC资源,其中, 唤醒所述第一 SoC资源包括唤醒所述第一 SoC资源中的至少一个子资源。2. 根据权利要求1所述的方法,还包括:当所述第一 SoC资源处于空闲状态且从当前时 间到所述唤醒时间定时器设置到期的当前唤醒时间之间的持续时间大于资源盈亏平衡时 间时,将所述第一SoC资源置为休眠状态,其中,所述休眠状态包括针对所述第一SoC资源中 的一个或更多个子部件的低功率状态。3. 根据权利要求2所述的方法,其中,所述盈亏平衡时间包括为了弥补给所述第一SoC 资源上电的开销需要使所述第一 SoC资源保持在下电状态的时间。4. 根据权利要求3所述的方法,其中,所述盈亏平衡时间还包括差错保护带,所述差错 保护带被附加到为了弥补给所述第一 SoC资源上电的开销需要使所述第一 SoC资源保持在 下电状态的所述时间。5. 根据权利要求1至4中任一项所述的方法,还包括:当所述SoC资源处于空闲状态且未 调度唤醒时间时,将所述第一SoC资源置为休眠状态,其中,所述休眠状态包括针对所述第 一 SoC资源中的一个或更多个子部件的低功率状态。6. 根据权利要求1至5中任一项所述的方法,还包括: 维护包括多个唤醒时间的唤醒时间队列,其中,所述唤醒时间队列保持追踪需要唤醒 所述第一SoC资源的未来唤醒时间;以及 设置所述唤醒时间定时器在所述多个唤醒时间中的最早到达的一个唤醒时间处到期。7. 根据权利要求1至6中任一项所述的方法,还包括: 确定针对要由所述第一 SoC资源完成的处理的时间段; 确定第三SoC资源,作为所述处理的完成结果而生成的第二结果消息要被发送至所述 第三SoC资源; 确定用于将所述第二结果消息从所述第一SoC资源传输至所述第三SoC资源的时间;以 及 向所述第三SoC资源发送第二WNM,其中,所述WM1包括第二唤醒时间,其中,所述第二唤 醒时间包括所述第三SoC资源预期接收到所述第二结果消息的时间,以及其中,所述第二唤 醒时间是根据针对要由所述第一 SoC资源完成的所述处理的所述时间段和用于将所述第二 结果消息从所述第一 SoC资源传输至所述第三SoC资源的所述时间而确定的。8. 根据权利要求1至7中任一项所述的方法,其中,根据来自所述第二SoC的所述结果消 息预期到达所述第一 SoC资源的所述时间来确定唤醒时间包括:确定使所述第一 SoC资源上 电并准备好无延迟进行操作所需要的时间量,以及将所述唤醒时间设置为下述时间:比来 自所述第二SoC资源的所述结果消息预期到达所述第一 SoC资源的所述时间至少提前了使 所述第一 SoC资源上电并准备好无延迟进行操作所需要的所述时间量。9. 根据权利要求2和5中任一项所述的方法,其中,所述休眠状态包括三种休眠模式中 的一种休眠模式,其中,所述三种休眠模式包括浅度休眠模式、深度休眠模式以及关机模 式,其中,所述浅度休眠模式在所述三种休眠模式中唤醒时间最短且节能最少,其中,所述 关机模式在所述三种模式中唤醒时间最长且节能最多,以及其中,所述深度休眠模式提供 介于所述浅度休眠模式提供的唤醒时间和节能与所述关机模式提供的唤醒时间和节能之 间的唤醒时间和节能。10. -种片上系统(SoC)资源,所述SoC资源包括: 与互连网络连接的输入/输出(I/O)接口,所述I/O接口被配置成经由所述互连网络接 收来自第二SoC资源的唤醒通知消息(WNM),其中,所述WNM包括来自所述第二SoC资源的结 果消息预期到达所述SoC资源的时间;以及 耦接至所述I/O接口的功率管理控制器,所述功率管理控制器被配置成:根据来自所述 第二SoC资源的所述结果消息预期到达所述SoC资源的所述时间来确定唤醒时间;设置唤醒 时间定时器在所述唤醒时间处到期;以及当所述唤醒时间定时器到期且所述SoC资源中的 至少一个子部件处于休眠状态时,唤醒所述SoC资源中的所述至少一个子部件。11. 根据权利要求10所述的SoC资源,其中,所述功率管理控制器还被配置成:当所述 SoC资源处于空闲状态且从当前时间到所述唤醒时间定时器设置到期的当前唤醒时间之间 的持续时间大于资源盈亏平衡时间时,将所述SoC资源置为休眠状态,其中,所述休眠状态 包括针对所述SoC资源中的一个或更多个子部件的低功率状态。12. 根据权利要求11所述的SoC资源,其中,所述盈亏平衡时间包括为了弥补给所述SoC 资源上电的开销需要使所述SoC资源保持在下电状态的时间。13. 根据权利要求12所述的SoC资源,其中,所述盈亏平衡时间还包括差错保护带,所述 差错保护带被附加到为了弥补给所述SoC资源上电的开销需要使所述SoC资源保持在下电 状态的所述时间。14. 根据权利要求10至13中任一项所述的SoC资源,其中,所述功率管理控制器还被配 置成:当所述SoC资源处于空闲状态且未调度唤醒时间时,将所述SoC资源置为休眠状态,其 中,所述休眠状态包括针对所述SoC资源中的一个或更多个子部件的低功率状态。15. 根据权利要求10至14中任一项所述的SoC资源,其中,所述功率管理控制器还被配 置成: 维护包括多个唤醒时间的唤醒时间队列,其中,所述唤醒时间队列保持追踪需要唤醒 所述SoC资源的未来唤醒时间;以及 设置所述唤醒时间定时器在所述多个唤醒时间中的最早到达的一个唤醒时间处到期。16. 根据权利要求10至15中任一项所述的SoC资源,其中,所述功率管理控制器还被配 置成: 确定针对要由所述SoC资源完成的处理的时间段; 确定第三SoC资源,作为所述处理的完成结果而生成的第二结果消息要被发送至所述 第三SoC资源; 确定用于将所述第二结果消息从所述SoC资源传输至所述第三SoC资源的时间;以及 向所述第三SoC资源发送第二WNM, 其中,所述WNM包括第二唤醒时间,其中,所述第二唤醒时间包括所述第三SoC资源预期 接收到所述第二结果消息的时间,以及其中,所述第二唤醒时间是根据针对要由所述SoC资 源完成的所述处理的所述时间段和用于将所述第二结果消息从所述SoC资源传输至所述第 三SoC资源的所述时间而确定的。17. 根据权利要求10至16中任一项所述的SoC资源,其中,所述功率管理控制器被配置 成:确定使所述SoC资源上电并准备好无延迟进行操作所需要的时间量,以及将所述唤醒时 间设置为下述时间,所述时间比来自所述第二SoC资源的所述结果消息预期到达所述SoC资 源的所述时间至少提前了使所述SoC资源上电并准备好无延迟进行操作所需要的所述时间 量,以根据来自所述第二SoC资源的所述结果消息预期到达所述SoC资源的所述时间来确定 所述唤醒时间。18. 根据权利要求10至17中任一项所述的SoC资源,其中,所述休眠状态包括三种休眠 模式中的一种休眠模式,其中,所述三种休眠模式包括浅度休眠模式、深度休眠模式以及关 机模式,其中,所述浅度休眠模式在所述三种休眠模式中唤醒时间最短且节能最少,其中, 所述关机模式在所述三种模式中唤醒时间最长且节能最多,以及其中,所述深度休眠模式 提供介于所述浅度休眠模式提供的唤醒时间和节能与所述关机模式提供的唤醒时间和节 能之间的唤醒时间和节能。19. 一种数据处理系统,包括: 多个片上系统(SoC)资源,所述多个SoC资源被配置为基于消息来互相通信;以及 网络总线,所述网络总线与所述多个SoC资源中的每个SoC资源连接, 其中,所述SoC资源中的至少一个SoC资源包括: 输入/输出(I/〇)接口,所述I/〇接口与所述网络总线连接; 至少一个资源处理子部件或资源存储子部件,所述至少一个资源处理子部件或资源存 储子部件与所述I/O接口连接; 功率管理控制器,所述功率管理控制器与所述I/O接口连接; 电源,所述电源与所述功率管理控制器连接且与连接至所述I/O接口的所述至少一个 资源处理子部件或资源存储子部件连接;以及 唤醒时间定时器,所述唤醒时间定时器与所述功率管理控制器连接, 其中,所述I/O接口被配置成接收来自所述SoC资源中的另一SoC资源的唤醒通知消息 (WNM),其中,所述WNM包括来自所述SoC资源中的所述另一SoC资源的结果消息预期到达所 述SoC资源中的所述至少一个SoC资源的时间,以及 其中,所述功率管理控制器被配置成:根据来自所述SoC资源中的所述另一SoC资源的 所述结果消息预期到达所述SoC资源中的所述至少一个SoC资源的所述时间来确定唤醒时 间;设置所述唤醒时间定时器在所述唤醒时间处到期;以及当所述唤醒时间定时器到期且 所述SoC资源中的所述至少一个SoC资源中的至少一个子资源休眠时,唤醒所述SoC资源中 的所述至少一个SoC资源中的所述至少一个子资源。20. 根据权利要求19所述的数据处理系统,其中,所述功率管理控制器还被配置成:当 所述SoC资源中的所述至少一个SoC资源处于空闲状态且从当前时间到所述唤醒时间定时 器设置到期的当前唤醒时间之间的持续时间大于资源盈亏平衡时间时,将所述SoC资源中 的所述至少一个SoC资源置为休眠状态,其中,所述休眠状态包括针对所述至少一个资源处 理子部件或资源存储子部件的低功率状态。21. 根据权利要求20所述的数据处理系统,其中,所述盈亏平衡时间包括为了弥补给所 述SoC资源中的所述至少一个SoC资源上电的开销需要使所述SoC资源中的所述至少一个 SoC资源保持在下电状态的时间。22. 根据权利要求21所述的数据处理系统,其中,所述盈亏平衡时间还包括差错保护 带,所述差错保护带被附加到为了弥补给所述SoC资源中的所述至少一个SoC资源上电的开 销需要使所述SoC资源中的所述至少一个SoC资源保持在下电状态的所述时间。23. 根据权利要求19至22中任一项所述的数据处理系统,其中,所述功率管理控制器还 被配置成:当所述SoC资源中的所述至少一个SoC资源处于空闲状态且未调度唤醒时间时, 将所述SoC资源中的所述至少一个SoC资源置为休眠状态,其中,所述休眠状态包括针对所 述至少一个资源处理子部件或资源存储子部件的低功率状态。24. 根据权利要求19至23中任一项所述的数据处理系统,其中,所述功率管理控制器还 被配置成: 维护包括多个唤醒时间的唤醒时间队列,其中,所述唤醒时间队列保持追踪需要唤醒 所述SoC资源中的所述至少一个SoC资源的未来唤醒时间;以及 设置所述唤醒时间定时器在所述多个唤醒时间中的最早到达的一个唤醒时间处到期。25. 根据权利要求19至24中任一项所述的数据处理系统,其中,所述功率管理控制器还 被配置成: 确定针对要由所述SoC资源中的所述至少一个SoC资源完成的处理的时间段; 确定所述SoC资源中的第二SoC资源,作为所述处理的完成结果而生成的第二结果消息 要被发送至所述第二SoC资源; 确定用于将所述第二结果消息从所述SoC资源中的所述至少一个SoC资源传输至所述 第二SoC资源的时间;以及 向所述第二SoC资源发送第二WNM,其中,所述第二WNM包括第二唤醒时间,其中,所述第 二唤醒时间包括所述第二SoC资源预期接收到所述第二结果消息的时间,以及其中,所述第 二唤醒时间是根据针对要由所述SoC资源中的所述至少一个SoC资源完成的所述处理的所 述时间段和用于将所述第二结果消息从所述SoC资源中的所述至少一个SoC资源传输至所 述第二SoC资源的所述时间而确定的。26. 根据权利要求19至25中任一项所述的数据处理系统,其中,所述功率管理控制器还 被配置成:根据来自所述另一 SoC资源的所述结果消息预期到达所述SoC资源中的所述至少 一个SoC资源的所述时间以及根据使所述SoC资源中的所述至少一个SoC资源上电并准备好 无延迟进行操作所需要的时间量来确定所述唤醒时间,以及将所述唤醒时间设置为下述时 间:比来自所述另一 SoC资源的所述结果消息预期到达所述SoC资源中的所述至少一个SoC 资源的所述时间至少提前了使所述SoC资源中的所述至少一个SoC资源上电并准备好无延 迟进行操作所需要的所述时间量。27. 根据权利要求19至26中任一项所述的数据处理系统,其中,所述网络总线包括片上 网络(NoC)和纵横式互连网络中之一。28. 根据权利要求20和23中任一项所述的数据处理系统,其中,所述休眠状态包括三种 休眠模式中的一种休眠模式,其中,所述三种休眠模式包括浅度休眠模式、深度休眠模式以 及关机模式,其中,所述浅度休眠模式在所述三种休眠模式中唤醒时间最短且节能最少,其 中,所述关机模式在所述三种模式中唤醒时间最长且节能最多,以及其中,所述深度休眠模 式提供介于所述浅度休眠模式提供的唤醒时间和节能与所述关机模式提供的唤醒时间和 节能之间的唤醒时间和节能。
【文档编号】H04W4/22GK106063304SQ201580009598
【公开日】2016年10月26日
【申请日】2015年3月10日
【发明人】马克·布朗, 迈赫兰·巴盖里, 彼得·严, 艾伦·葛加理
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1