CN103842933B - 多核平台中的受约束引导技术 - Google Patents
多核平台中的受约束引导技术 Download PDFInfo
- Publication number
- CN103842933B CN103842933B CN201280047606.XA CN201280047606A CN103842933B CN 103842933 B CN103842933 B CN 103842933B CN 201280047606 A CN201280047606 A CN 201280047606A CN 103842933 B CN103842933 B CN 103842933B
- Authority
- CN
- China
- Prior art keywords
- processor
- core
- power consumption
- wake events
- consumption state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
描述了与多核平台中的受约束引导技术有关的方法和装置。在一个实施例中,处理器可包括控制哪一些特定核要上电/断电和/或这些核至少部分地基于来自OS和/或软件应用的输入需要进入哪一种功率状态的逻辑。还要求保护和公开了其他实施例。
Description
领域
本公开一般涉及电子领域。更具体地,本发明的实施例涉及多核平台中的受约束引导技术。
背景
为了改进性能,一些系统包括具有多个处理核的处理器(也称为多核系统)。当前,这些系统中的大多数集中于提供高性能,并且可能存在以某一水平内置的一些受限功率管理。例如,这些多核系统中的一些系统可具有执行每核Cx状态的能力。每一C状态可指示特定水平的功能。例如,C0可指示处理器正在操作,C1可指示处理器不在执行指令、但是可几乎同时地返回执行状态,C2可指示处理器维持所有软件可视信息、但是可能花费更长时间返回全执行状态,C3可指示处理器休眠且不需要保持其高速缓存相干等。
然而,对主动(aggressive)操作系统(OS)或软件(SW)驱动的功率管理的支持通常是极少的,尤其是从OS的角度来看。此外,大多数当前OS管理功能策略即使从处理器功率管理角度来看也没有倾向于随多核系统很好地缩放,或者随平台在整体上很好地缩放。
因此,如何利用各种功耗状态可能对处理器的性能和/或功耗具有直接影响。
附图简述
参考附图提供详细描述。在附图中,附图标记的最左边数字标识附图标记首先出现在其中的附图。在不同的附图中使用相同的附图标记来指示相同或相似的项目。
图1、5和6示出可用于实现本文中所讨论的各个实施例的计算系统的实施例的方框图。
图2示出根据实施例的计算系统的处理器核以及其他组件的各部分的方框图。
图3-4示出根据一些实施例的流程图。
详细描述
在以下描述中,为了提供对各个实施例的透彻理解,阐述了大量具体细节。然而,在没有这些具体细节的情况下,可实践本发明的各个实施例。在其他实例中,未详细地描述公知方法、过程、组件、以及电路,从而不混淆本发明的特定实施例。此外,可使用诸如集成半导体电路(“硬件”)、组织成一个或多个程序(“软件”)的计算机可读指令、或者硬件和软件的一些组合之类的各种手段来执行本发明的实施例的各方面。出于本公开的目的,对“逻辑”的引用应当意味着硬件、软件、或者其一些组合。同样,对“指令”和“微操作”(uop)的使用是互换的,如本文中所讨论的。
本文中所讨论的一些实施例可用于提供多核处理器中的受约束引导技术。如本文中所讨论的,术语“受约束”引导或状态通常指其中一个或多个处理器核进入或引导到比全操作状态消耗更少功率的功耗状态(例如,未完全在CO状态中)的状态或引导技术。在一些实施例中,本文中所讨论的至少一些功耗状态可与在2010年4月5日发布的高级配置和电源接口(ACPI)规范下定义的那些功耗状态一致。
在一个实施例中,处理器可包括控制哪个(哪些)特定核要上电/断电和/或这些核至少部分地基于来自OS软件和/或软件应用的输入而需要进入哪一种功率状态的逻辑。此外,控制核上电/断电以及上电/断电的水平的能力可用于基于工作负荷、情境、使用等优化平台功耗。此外,本文中所讨论的至少一些OS操作可由软件应用、固件等互换地执行。
在实施例中,当从低功率状态退出时,只有特定处理器核可达到全功率状态,并且其余处理器核可保持在“受约束”状态中(例如,未完全在CO中)。这进而将大大地降低总平台功耗。
此外,虽然多核系统提供了显著的性能改进,但是在OS或SW级下的功率管理通常取决于传统OS支持。例如,一些当前OS(诸如)支持使所有非引导处理器(例如,对最终断电/上电而言不是关键的非引导处理器)完全断电/停用,但是该方法可具有高等待时间、高功率影响,并且还可能不需要(有时取决于情境)使该系统中的所有核完全上电(例如,其中存在需要唤醒CPU核的单个中断且不是真正需要使所有CPU上电且同时运行的情境)。本文中所讨论的技术可用于具有性能状态设置的任何类型的处理器,诸如参考图1以及5-6所讨论的处理器。更具体地,图1示出根据本发明的实施例的计算系统100的方框图。系统100可包括一个或多个处理器102-1至102-N(通常在本文中被称为“(诸)处理器102”或“处理器102”)。处理器102可经由互连网络或总线104通信。每一处理器可包括各个组件,为了清楚起见,只参考处理器102-1讨论一些组件。因此,其余处理器102-2至102-N中的每一个处理器可包括参考处理器102-1所讨论的相同或类似的组件。
在实施例中,处理器102-1可包括一个或多个处理器核106-1至106-M(在本文中被称为“(诸)核106”或更一般地被称为“核106”)、共享高速缓存108、路由器110、和/或处理器控制逻辑或单元120。处理器核106可在单个集成电路(IC)芯片上实现。此外,该芯片可包括一个或多个共享和/或私有的高速缓存(诸如高速缓存108)、总线或互连(诸如总线或互连网络112)、存储器控制器(诸如参考图5-6所讨论的那些存储器控制器)、或者其他组件。
在一个实施例中,路由器110可用于在处理器102-1和/或系统100的各个组件之间通信。此外,处理器102-1可包括一个以上路由器110。此外,多个路由器110可通信以在处理器102-1内部或外部的各个组件之间实现数据路由。
共享高速缓存108可存储由处理器102-1的一个或多个组件(诸如核106)利用的数据(例如,包括指令)。例如,共享高速缓存108可在本地高速缓存存储在存储器114中的数据,以供处理器102的组件更快速地访问。在一个实施例中,高速缓存108可包括中级高速缓存(诸如级2(L2)、级4(L3)、级4(L4)或其他级高速缓存)、最后一级高速缓存(LLC)、和/或其组合。此外,处理器102-1的各个组件可直接通过总线(例如,总线112)和/或存储器控制器或中枢与共享高速缓存108通信。如图1所示,在一些实施例中,核106中的一个或多个可包括级1(L1)高速缓存116-1(在本文中通常被称为“L1高速缓存116”)。
在一个实施例中,控制单元120可控制哪个(哪些)特定核106要上电/断电和/或这些核中有多少个核需要基于来自OS和/或软件应用(例如,可存储在存储器114中的OS和/或软件应用)的输入而被上电/断电(bring up/down)。此外,控制单元120可控制核的上电/断电以及上电/断电的水平,从而基于平台中存在的工作负荷、情境、使用等状况(例如,如由OS和/或软件应用确定的)来优化平台功耗,。
图2示出根据本发明的实施例的计算系统的处理器核106以及其他组件的各部分的方框图。在一个实施例中,图2所示的箭头示出指令通过核106的流向。一个或多个处理器核(诸如处理器核106)可在诸如参考图1所讨论的单个集成芯片(或管芯)上实现。此外,该芯片可包括一个或多个共享和/或私有的高速缓存(例如,图1的高速缓存108)、互连(例如,图1的互连104和/或112)、控制单元、存储器控制器、或者其他组件。
如图2所示,处理器核106可包括获取指令以供核106执行的获取单元202(包括具有条件分支的指令)。这些指令可从诸如存储器114和/或参考图5-6所讨论的存储器设备之类的任何存储设备获取。核106还可包括对所获取指令进行解码的解码单元204。例如,解码单元204可将所获取指令解码成多个uop(微操作)。另外,核106可包括调度单元206。调度单元206可执行与存储经解码的指令(例如,从解码单元204接收到的)相关联的各种操作,直至这些指令准备好分派,例如直至经解码的指令的所有源值变得可用。在一个实施例中,调度单元206可将经解码的指令调度和/或发出(或分派)到执行单元208,以供执行。执行单元208可执行经分派的指令——在它们被解码(例如,由解码单元204)和分派(例如,由调度单元206)之后。在一个实施例中,执行单元208可包括一个以上执行单元。执行单元208还可执行各种运算操作,诸如加法、减法、乘法、和/或除法,并且可包括一个或多个运算逻辑单元(ALU)。在一个实施例中,协处理器(未示出)连同执行单元208可执行各种运算操作。
此外,执行单元208可无序地执行指令。因此,在一个实施例中,处理器核106可以是无序处理器核。核106还可包括引退单元210。引退单元210可引退所执行指令——在它们被提交之后。在一个实施例中,所执行指令的引退可导致存储器状态因这些指令的执行而被提交,这些指令所使用的物理寄存器被解除分配(de-allocate)等。核106还可包括总线单元214,用以实现经由一个或多个总线(例如,总线104和/或112)在处理器核106的组件与其他组件(诸如参考图1所讨论的组件)之间的通信。核106还可包括一个或多个寄存器216,用以存储由核106的各个组件存取的数据(诸如与功耗状态设置有关的值)。
此外,虽然图1示出控制单元120经由互连112耦合到核106,但是在各个实施例中,控制单元120可位于其他地方(诸如核106内部),经由总线104耦合到该核等。
图3示出根据一个实施例的约束初始化操作的流程图。在一些实施例中,参考图1-2以及4-6所讨论的各个组件可用于执行参考图3所讨论的一个或多个操作。例如,控制单元120可用于控制一个或多个处理器核106的功耗状态。在一些实施例中,操作304-308中的一个或多个操作可由固件执行。同样,在各个实施例中,操作310-312、318、336、338以及344中的一个或多个操作可由OS执行。
如本文中所讨论的,“线程”通常指逻辑处理器或处理的最小单元(它可由OS和/或软件应用调度)。“线程”可以与或者可以不与同一物理半导体集成电路(IC)封装中的另一逻辑处理器共享资源。“核”通常指与同一物理半导体IC封装中的一个或多个其他处理器核共存的处理器核。处理器核可以与或者可以不与其他处理器或处理器核共享资源。“封装”通常指包含任意数量的核和线程的物理IC芯片。
在一些实施例中,在架构上且在没有普遍损耗的情况下,可考虑在任何多核系统上,存在以下情况中的一种或多种情况:(1)存在一个自引导处理器(BSP)核、和/或主/主要处理器核(或线程);(2)存在作为辅助处理器核或处理器线程(例如,它们依靠BSP核来发起/处理在平台中的一个或多个处理器核之间共享的功率管理特征或者其他特征)的一个或多个非BSP核。
在一些实施例中,改变非SBP处理器的状态的OS例程可包括:分别用于停用和启用非BSP核处理器的“disable_nonboot_cpus()(停用_非引导_cpus())”和“enable_nonboot_cpus()(启用_非引导_cpus())”。在一般恢复顺序中,一旦在302重置处理器(并且在304任选地加载微代码补丁),引导流就经过“enable_nonboot_cpus()”流以启用非BSP核。这可包括:
(1)启动处理器间中断(SIPI):为了唤醒辅助线程或核,BSP将SIPI发送到每一线程和核。该SIPI可通过使用BSP的LAPIC(本地高级可编程中断控制器)来发送,例如指示应用处理器(AP)应当开始执行的物理地址。
(2)AP唤醒状态:一旦接收到SIPI,AP就将开始执行由SIPI消息指向的代码。
一旦固件准备好尝试引导OS,在332所有AP处理器被放回其通电状态(“Wait-for-SIPI(等待SIPI)”)中(如将在下文中进一步讨论的),这可通过BSP核将之后跟随有INITDEASSERT IPI的INIT ASSERT IPI发送到该系统中的所有AP(除原始核以外的所有核)来实现。该过程正常具有高等待时间,并且如果该过程针对平台/处理器中的所有非BSP核不得不重复,则它可显著地增加整个平台恢复过程的等待时间。
根据一些实施例,引导非BSP核至受约束状态可通过具有如图3所示的低等待时间短引导流来优化。尽管参考图3讨论了进入封装级C6,但是在各个实施例中可进入其他封装级(例如,除了CO以外)。通常,为了进入封装级C6(最深的X86处理器状态),核的线程应当已经请求了C6,否则微代码可拾取两个处理器线程状态中的较低者。
在一些实施例中,线程0或BSP核可执行如图3所示的操作302-320。例如,在重置状态302之后(例如,从如参考图4所讨论的待机状态或空闲状态起),在304可任选地应用微代码补丁。在306,可初始化存储器控制器(诸如图5的存储器控制器510)。在308,可还原平台及其上下文(例如,从图1的存储器114或图5的存储器512)。在310,恢复OS内核。在312,可初始化平台的其余部分。如果在314平台被线程0/BSP核确定为处于执行状态,则在316可执行短引导(例如,至C6);否则,在318可启用非引导核。在320,完成自待机恢复。
参考图3,线程1或非BSP核可执行操作330-344。即,每一流334且在重置状态330之后,可将第一非BSP核引导到受约束引导状态中。更具体地,在332,第一非BSP核可等待SIPI(例如,从316),如以上所讨论的。在336,线程1可接收IPI(例如,在316从线程0)且作为IPI处理机的一部分,在一些实施例中,在338可反复地作出对C6的请求。在340,如果确定要进入受约束引导(例如,何时完成线程1上的所有相应任务),则在342可进入深度睡眠状态(例如,C6)。否则,在344可执行高等待时间引导流,例如通过启用用于初始化存储器管理单元(MMU,诸如图5的存储器控制器510)的低存储器。同样,在344,可建立每核GDT(全局描述符表)和/或TSS(任务状态段)。同样,在344,在一些实施例中可执行浮点初始化和/或与BP(引导处理器)启用局部中断的同步。此外,当响应于非定时器中断唤醒平台时,OS可启用非BSP线程并将其初始化至先前已知的良好状态,从而在平台处于有效状态时不损害性能。
在若干情况下,可使用该短引导流334。例如,对于定时器唤醒执行状态,在由于定时器中断而唤醒平台仅执行OS同步的空闲情境中,在处理定时器中断之后相对很快地再次进入深度睡眠状态是可能的。在此情境中,非BSP处理器线程达到其全电位,并且尝试再次进入深度睡眠状态,这可能存在显著的功耗惩罚。替代地,非BSP线程可引导到受约束状态,并且导致进入具有较少功耗惩罚的深度睡眠状态。
图4示出根据实施例的在空闲期间用于基于定时器的中断处理的受约束初始化操作的流程图。在一些实施例中,参考图1-3以及5-6所讨论的各个组件可用于执行参考图3所讨论的一个或多个操作。例如,控制单元120可用于控制一个或多个处理器核106的功耗状态。
在402平台从S0ix唤醒之后,在404,OS(例如,OS功率管理(OSPM)驱动器)可确定唤醒源。“SOix”通常指通过平台级功率管理而实现的经改进空闲功率状态,该经改进空闲功率状态是事件驱动(例如,基于OS或软件应用输入)的,而不是由用户驱动或者在平台空闲太长时间(预编程时间)的情况下的常规空闲功率状态。如果在402唤醒的原因是非定时器的或交互的,则该事件可被发送到OSPM框架且由OSPM框架处理,而无需快速地重试。
在一个实施例中,如果平台功率状态是S0ix,则这可被视为针对S0ix状态重试的提示。CPU空闲驱动器逻辑406(在一个实施例中该CPU空闲驱动器逻辑406可在控制单元120中实现)接收来自OSPM驱动器404的消息或信号,并且在412产生对CPU状态的保存。同样,可将功率管理命令发送到(例如,向南)复杂的系统控制器单元(SCU)(用于S0i2/3),并且根据实施例,在412可将CPU状态存储在SCU存储器(例如,SRAM)中。如果在410,BSP和非BSP核/线程两者处于深度睡眠(例如,C6)状态,则在411,平台进入S0ix。如图4所示,CPU空闲调节器(governor)逻辑408(在一个实施例中该CPU空闲调速器逻辑408可在控制单元120中实现)可与逻辑406通信从而例如基于与传送延迟值相关联的等待时间提示,进入甚至更深的状态(例如,C7)。
一些实施例提供用于以下的技术:(1)基于平台空闲和/或基于平台的唤醒源选择性地引导非BSP核至全电位状态或“受约束状态”;(2)通过减少引导非BSP核的等待时间更快速地引导平台;和/或(3)减少在全功率状态(例如,CO)中花费的时间,这进而将有助于节省功率。
图5示出根据本发明的一个实施例的计算系统500的方框图。计算系统500可包括经由互联网络(或总线)540通信的一个或多个中央处理单元(CPU)502或处理器。处理器502可包括通用处理器、网络处理器(该网络处理器处理在计算机网络503上通信的数据)、或者其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂的指令集计算机(CISC))。此外,处理器502可具有单或多核设计。具有多核设计的处理器502可在同一集成电路(IC)管芯上集成不同类型的处理器核。同样,具有多核设计的处理器502可被实现为对称或非对称的多处理器。在一个实施例中,处理器502中的一个或多个处理器可与图1的处理器102相同或相似。例如,处理器502中的一个或多个处理器可包括参考图1-4所讨论的控制单元120。同样,参考图1-4所讨论的操作可由系统500的一个或多个组件执行。
芯片组506还可与互联网络504通信。芯片组506可包括存储器控制中枢(MCH)508。MCH508可包括与存储器512(该存储器512可与图1的存储器114相同或相似)通信的存储器控制器510。存储器512可存储可由CPU502或者包括在计算系统500中的任何其他设备执行的数据,包括指令顺序。在本发明的一个实施例中,存储器512可包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)、或者其他类型的存储设备。还可利用诸如硬盘之类的非易失性存储器。附加设备可经由诸如多CPU和/或多系统存储器之类的互联网络504通信。
MCH508还可包括与显示设备516通信的图形接口514。在本发明的一个实施例中,图形接口514可经由加速图形端口(AGP)与显示设备516通信。在本发明的一个实施例中,显示器516(诸如平板显示器)可通过例如信号转换器与图形接口514通信,该信号转换器将存储在诸如视频存储器或系统存储器之类的存储设备中的图像的数字表示翻译成由显示器516解释和显示的显示信号。在由显示器516解释并且随后在显示器516上显示之前,显示设备所产生的显示信号可经过各种控制设备。
中枢接口518可允许MCH508和输入/或输出控制中枢(ICH)520通信。ICH520可提供与计算系统500通信的到I/O设备的接口。ICH520可通过诸如外围组件互连(PCI)桥、通用串行总线(USB)控制器、或者其他类型的外围桥或控制器之类的外围桥(或控制器)524与总线522通信。桥524可提供CPU502和外围设备之间的数据通道。可利用其他类型的拓扑。同样,多条总线可通过例如多个桥或控制器与ICH520通信。此外,在本发明的各个实施例中,与ICH520通信的其他外围设备可包括集成驱动电子设备(IDE)或小计算机系统接口(SCSI)硬驱动、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动、数字输出支持件(例如,数字视频接口(DVI))、或者其他设备。
总线522可与音频设备526、一个或多个盘驱动528、以及网络接口设备530(该网络接口设备530与计算机网络503通信)通信。其他设备可经由总线522通信。同样,在本发明的一些实施例中,各个组件(诸如网络接口设备530)可与MCH508通信。例如,处理器502和MCH508可组合以形成单一芯片。此外,在本发明的其他实施例中,图像加速器516可被包括在MCH508内。
此外,计算系统500可包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器可包括以下存储器中的一个或多个:随机存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、盘驱动(例如,528)、软盘、压缩盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁电-光盘、或者能够存储电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。
图6示出根据本发明的一个实施例的排列在点对点(PtP)配置的计算系统600。具体而言,图6示出其中处理器、存储器、以及输入/输出设备通过大量点对点接口互连的系统。参考图1-5所讨论的操作可由系统600的一个或多个组件执行。
如图6所示,系统600可包括若干处理器,其中为了清楚起见,只示出两个处理器602和604。处理器602和604各自可包括本地存储器控制器中枢(MCH)606和608,以实现与存储器610和612的通信。存储器610和/或612可存储各种数据,诸如参考图5的存储器512所讨论的那些数据。
在一个实施例中,处理器602和604可以是参考图5所讨论的处理器502中的一个处理器。处理器602和604可分别经由点对点(PtP)接口614使用PtP接口电路616和618来交换数据。同样,处理器602和604各自可经由各个PtP接口622和624使用点对点接口电路626、628、630和632与芯片组620交换数据。芯片组620还可经由图形接口636(例如,使用PtP接口电路637)与图形电路634交换数据。
本发明的至少一个实施例可设置在处理器602和604内。例如,图1-4的控制单元120可位于处理器602和604内。然而,本发明的其他实施例可存在于图6的系统600内的其他电路、逻辑单元、或设备中。此外,本发明的其他实施例可在图6所示的若干电路、逻辑单元、或设备之间分布。
芯片组620可使用PtP接口电路641与总线640通信。总线640可与诸如总线桥642和I/O设备643之类的一个或多个设备通信。经由总线644,总线桥642可与诸如键盘/鼠标645、通信设备646(诸如调制解调器、网络接口设备、或者可与计算机网络503通信的其他通信设备)、音频I/O鼠标647、和/或数据存储设备648之类的其他设备通信。数据存储设备648可存储可由处理器602和/或604执行的代码649。
在本发明的各个实施例中,本文中例如参考图1-6所讨论的操作可被实现为硬件(例如,逻辑电路)、软件、固件、或者其组合,其可被提供为计算机程序产品,例如包括其上存储有用于对计算机编程以执行本文中所讨论的过程的指令(或软件程序)的(例如,非瞬态)机器可读或计算机可读介质。机器可读介质可包括存储设备,诸如参考图1-6所讨论的那些存储设备。另外,这种计算机可读介质可被下载为计算机程序产品,其中可借助于体现在载波或者其他传播介质中的数据信号经由通信链接(例如,总线、调制解调器、或网络连接)将该程序从远程计算机(例如,服务器)传输到请求计算机(例如,客户机)。
在说明书中对“一个实施例”、“实施例”、或“一些实施例”的引用意味着结合实施例所描述的特定特征、结构、或特性可被包括在至少一种实现中。在说明书中词组“在一个实施例中”出现在各个地方可以是或者可以不是全部引用同一实施例。
同样,在该描述和权利要求中,可使用术语“耦合”和/或“连接”、及其派生词。在本发明的一些实施例中,“连接”可用于指示两个或两个以上元件彼此直接物理或电接触。“耦合”可意味着两个或两个以上元件直接物理或电接触。然而,“耦合”还可意味着两个或两个以上元件可以彼此不直接接触,但是仍然可以彼此协同操作或交互。
由此,虽然本发明的实施例已经以结构特征和/或方法动作专用的语言进行了描述,但是应当理解要求保护的主题可以不限于所描述的特定特征或动作。相反,特定特征和动作被公开为实现要求保护的主题的样本形式。
Claims (30)
1.一种处理器,包括:
多个处理器核;以及
控制逻辑,所述控制逻辑与所述多个处理器核中的第一处理器核及第二处理器核耦合,以从低功耗状态检测唤醒事件且使所述多个处理器核中的所述第二处理器核进入比全操作功耗状态消耗更少功率的降低的功耗状态,
其中,响应于所述唤醒事件,所述控制逻辑用以使至少所述第一处理器核进入所述全操作功耗状态,其中所述控制逻辑基于所述唤醒事件的源使包括所述第二处理器核在内的所述多个处理器核中的任何其余处理器核进入所述降低的功耗状态。
2.如权利要求1所述的处理器,其特征在于,响应于所述唤醒事件,所述多个处理器核中的第三处理器核进入所述全操作功耗状态。
3.如权利要求1所述的处理器,其特征在于,还包括存储操作系统软件的存储器,其中所述操作系统软件触发所述唤醒事件。
4.如权利要求3所述的处理器,其特征在于,所述操作系统软件基于定时器触发所述唤醒事件。
5.如权利要求1所述的处理器,其特征在于,所述控制逻辑基于在包括所述处理器的平台中存在的工作负荷、情境、以及使用状况中的一个或多个来确定所述第二处理器核是否进入所述降低的功耗状态。
6.如权利要求1所述的处理器,其特征在于,所述低功耗状态包括空闲状态和待机状态。
7.如权利要求1所述的处理器,其特征在于,还包括存储应用软件的存储器,其中所述应用软件触发所述唤醒事件。
8.如权利要求7所述的处理器,其特征在于,所述应用软件基于定时器触发所述唤醒事件。
9.如权利要求1所述的处理器,其特征在于,响应于所述唤醒事件,所述第一处理器核将至少一个处理器间中断传送到所述第二处理器核。
10.如权利要求1所述的处理器,其特征在于,所述第一处理器核是自引导处理器核而所述第二处理器核是非自引导处理器核。
11.如权利要求1所述的处理器,其特征在于,所述唤醒事件指示从平台空闲状态的恢复。
12.一种用于受约束引导的方法,包括:
在处理器的第一处理器核处从低功耗状态检测唤醒事件;以及
使所述处理器的第二处理器核进入比全操作功耗状态消耗更少功率的降低的功耗状态,
其中,响应于所述唤醒事件,使至少所述第一处理器核进入所述全操作功耗状态,其中包括所述第二处理器核在内的所述处理器的多个处理器核中的任何其余处理器核基于所述唤醒事件的源进入所述降低的功耗状态。
13.如权利要求12所述的方法,其特征在于,还包括:响应于所述唤醒事件,使所述处理器的第三处理器核进入所述全操作功耗状态。
14.如权利要求12所述的方法,其特征在于,还包括:执行代码以触发唤醒事件。
15.如权利要求12所述的方法,其特征在于,还包括基于在包括所述处理器的平台中存在的工作负荷、情境、以及使用状况中的一个或多个,确定所述第二处理器核是否进入所述降低的功耗状态。
16.如权利要求12所述的方法,其特征在于,还包括响应于所述唤醒事件,所述第一处理器核将至少一个处理器间中断传送到所述第二处理器核。
17.一种计算系统,包括:
存储操作系统软件功率管理驱动器的存储器;以及
与所述存储器耦合的处理器,用以执行所述操作系统软件功率管理驱动器,所述处理器包括:
多个处理器核;以及
与所述多个处理器核中的至少第一处理器核及第二处理器核耦合的控制逻辑,用以从低功耗状态检测唤醒事件且使所述多个处理器核中的所述第二处理器核进入比全操作功耗状态消耗更少功率的降低的功耗状态,其中,响应于所述唤醒事件,所述控制逻辑用以使至少所述第一处理器核进入所述全操作功耗状态,其中所述控制逻辑基于所述唤醒事件的源使包括所述第二处理器核在内的所述多个处理器核中的任何其余处理器核进入所述降低的功耗状态。
18.如权利要求17所述的系统,其特征在于,响应于所述唤醒事件,所述多个处理器核中的第三处理器核进入所述全操作功耗状态。
19.如权利要求17所述的系统,其特征在于,所述操作系统软件功率管理驱动器触发所述唤醒事件。
20.如权利要求19所述的系统,其特征在于,所述操作系统软件功率管理驱动器基于定时器触发所述唤醒事件。
21.如权利要求17所述的系统,其特征在于,所述控制逻辑基于在所述计算系统中存在的工作负荷、情境、以及使用状况中的一个或多个来确定所述第二处理器核是否进入所述降低的功耗状态。
22.如权利要求17所述的系统,其特征在于,所述低功耗状态包括空闲状态和待机状态。
23.如权利要求17所述的系统,其特征在于,所述存储器存储应用软件,其中所述应用软件触发所述唤醒事件。
24.如权利要求23所述的系统,其特征在于,所述应用软件基于定时器触发所述唤醒事件。
25.如权利要求17所述的系统,其特征在于,响应于所述唤醒事件,所述第一处理器核将至少一个处理器间中断传送到所述第二处理器核。
26.一种用于受约束引导的设备,包括:
用于在处理器的第一处理器核处从低功耗状态检测唤醒事件的装置;以及
用于使所述处理器的第二处理器核进入比全操作功耗状态消耗更少功率的降低的功耗状态的装置,
其中,响应于所述唤醒事件,使至少所述第一处理器核进入所述全操作功耗状态,其中包括所述第二处理器核在内的所述处理器的多个处理器核中的任何其余处理器核基于所述唤醒事件的源进入所述降低的功耗状态。
27.如权利要求26所述的设备,其特征在于,还包括:用于响应于所述唤醒事件,使所述处理器的第三处理器核进入所述全操作功耗状态的装置。
28.如权利要求26所述的设备,其特征在于,还包括:用于执行代码以触发所述唤醒事件的装置。
29.如权利要求26所述的设备,其特征在于,还包括:用于基于在包括所述处理器的平台中存在的工作负荷、情境、以及使用状况中的一个或多个、确定所述第二处理器核是否进入所述降低的功耗状态的装置。
30.如权利要求26所述的设备,其特征在于,还包括:用于响应于所述唤醒事件,使所述第一处理器核将至少一个处理器间中断传送到所述第二处理器核的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2848DE2011 | 2011-09-30 | ||
IN2848/DEL/2011 | 2011-09-30 | ||
PCT/US2012/057597 WO2013049371A2 (en) | 2011-09-30 | 2012-09-27 | Constrained boot techniques in multi-core platforms |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103842933A CN103842933A (zh) | 2014-06-04 |
CN103842933B true CN103842933B (zh) | 2017-05-17 |
Family
ID=47996742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047606.XA Active CN103842933B (zh) | 2011-09-30 | 2012-09-27 | 多核平台中的受约束引导技术 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9552039B2 (zh) |
EP (1) | EP2761394B1 (zh) |
JP (1) | JP5972981B2 (zh) |
KR (1) | KR101599319B1 (zh) |
CN (1) | CN103842933B (zh) |
TW (1) | TWI454905B (zh) |
WO (1) | WO2013049371A2 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
CN103472251B (zh) * | 2013-08-22 | 2016-05-18 | 浙江工业大学 | 一种降低流速剖面仪信号处理单元功耗的方法及装置 |
CN109165189B (zh) * | 2013-08-28 | 2020-12-08 | 威盛电子股份有限公司 | 微处理器及其配置方法、以及计算机可读存储介质 |
US10101786B2 (en) | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
US9563431B2 (en) * | 2014-12-26 | 2017-02-07 | Intel Corporation | Techniques for cooperative execution between asymmetric processor cores |
US10198274B2 (en) * | 2015-03-27 | 2019-02-05 | Intel Corporation | Technologies for improved hybrid sleep power management |
KR102375925B1 (ko) | 2015-08-31 | 2022-03-17 | 삼성전자주식회사 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
US9465664B1 (en) | 2015-09-09 | 2016-10-11 | Honeywell International Inc. | Systems and methods for allocation of environmentally regulated slack |
JP6249121B1 (ja) * | 2017-03-30 | 2017-12-20 | 日本電気株式会社 | 消費電力削減装置、消費電力削減方法および消費電力削減プログラム |
CN111133414A (zh) * | 2017-12-25 | 2020-05-08 | 英特尔公司 | 存储器初始化前多线程并行计算平台 |
TWI729491B (zh) * | 2019-09-11 | 2021-06-01 | 立端科技股份有限公司 | 運用通用型輸入輸出接腳之乙太網路通訊系統以及具有該乙太網路通訊系統之網路伺服器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690924A (zh) * | 2004-04-21 | 2005-11-02 | 讯宝科技公司 | 提供增强的状态机功率管理的系统及方法 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768585A (en) * | 1995-11-21 | 1998-06-16 | Intel Corporation | System and method for synchronizing multiple processors during power-on self testing |
US5724527A (en) * | 1995-12-28 | 1998-03-03 | Intel Corporation | Fault-tolerant boot strap mechanism for a multiprocessor system |
US6260150B1 (en) | 1998-03-10 | 2001-07-10 | Agere Systems Guardian Corp. | Foreground and background context controller setting processor to power saving mode when all contexts are inactive |
US6317839B1 (en) | 1999-01-19 | 2001-11-13 | International Business Machines Corporation | Method of and apparatus for controlling supply of power to a peripheral device in a computer system |
US6802018B2 (en) | 2000-12-27 | 2004-10-05 | Intel Corporation | Method and apparatus to directly access a peripheral device when central processor operations are suspended |
US7313797B2 (en) | 2002-09-18 | 2007-12-25 | Wind River Systems, Inc. | Uniprocessor operating system design facilitating fast context switching |
KR100563691B1 (ko) | 2003-06-09 | 2006-03-28 | 엘지전자 주식회사 | 컴퓨터 시스템에서의 전원 관리장치 및 방법 |
US7583985B2 (en) * | 2004-03-26 | 2009-09-01 | Broadcom Corporation | MAC controlled sleep mode/wake-up mode with staged wake-up for power management |
US7979699B2 (en) * | 2004-05-19 | 2011-07-12 | Intel Corporation | Processing capacity on demand |
CN100474214C (zh) * | 2004-08-05 | 2009-04-01 | 松下电器产业株式会社 | 信息处理装置 |
US7165132B1 (en) | 2004-10-01 | 2007-01-16 | Advanced Micro Devices, Inc. | Processing node including a plurality of processor cores and an interconnect configurable in a test-mode to cause first and second transaction source indicators to be interchanged |
US7373530B2 (en) | 2005-03-16 | 2008-05-13 | Microsoft Corporation | Systems and methods for providing power-loss protection to sleeping computers systems |
JP2007102313A (ja) | 2005-09-30 | 2007-04-19 | Toshiba Corp | 制御装置およびマルチプロセッサ制御方法 |
US20080098245A1 (en) | 2006-03-22 | 2008-04-24 | G2 Microsystems, Inc. | Power management system and method |
US9015501B2 (en) * | 2006-07-13 | 2015-04-21 | International Business Machines Corporation | Structure for asymmetrical performance multi-processors |
US7949887B2 (en) * | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US7685409B2 (en) | 2007-02-21 | 2010-03-23 | Qualcomm Incorporated | On-demand multi-thread multimedia processor |
EP2003534A3 (en) * | 2007-06-11 | 2009-02-18 | MediaTek Inc. | Method of and apparatus for reducing power consumption within an integrated circuit. |
US8762692B2 (en) | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
US7882333B2 (en) | 2007-11-05 | 2011-02-01 | Dell Products L.P. | Architectural enhancements to CPU microcode load mechanism using inter processor interrupt messages |
US8140823B2 (en) | 2007-12-03 | 2012-03-20 | Qualcomm Incorporated | Multithreaded processor with lock indicator |
US7962771B2 (en) * | 2007-12-31 | 2011-06-14 | Intel Corporation | Method, system, and apparatus for rerouting interrupts in a multi-core processor |
JP5045512B2 (ja) | 2008-03-17 | 2012-10-10 | 富士通株式会社 | 回路設計支援装置及び回路設計支援方法 |
JP5598945B2 (ja) * | 2008-03-17 | 2014-10-01 | 日本電気株式会社 | 情報処理システムおよびその制御方法 |
US8458722B2 (en) | 2008-06-09 | 2013-06-04 | International Business Machines Corporation | Thread selection according to predefined power characteristics during context switching on compute nodes |
US8683247B2 (en) | 2008-06-12 | 2014-03-25 | Advanced Micro Devices, Inc. | Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor |
US8402290B2 (en) * | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8190938B2 (en) * | 2009-01-29 | 2012-05-29 | Nokia Corporation | Method and apparatus for controlling energy consumption during resource sharing |
KR20090046841A (ko) | 2009-02-18 | 2009-05-11 | 에이알엠 리미티드 | 마스터 및 슬레이브를 갖는 데이터 처리장치에서의 전력 관리 |
CN101526845B (zh) | 2009-04-24 | 2011-02-16 | 威盛电子股份有限公司 | 电源管理方法及其相关芯片组 |
US8156275B2 (en) | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8447994B2 (en) * | 2009-07-24 | 2013-05-21 | Advanced Micro Devices, Inc. | Altering performance of computational units heterogeneously according to performance sensitivity |
EP2316322A3 (en) | 2009-11-02 | 2011-06-29 | LG Electronics Inc. | Robot cleaner |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8689037B2 (en) * | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US20110161592A1 (en) * | 2009-12-31 | 2011-06-30 | Nachimuthu Murugasamy K | Dynamic system reconfiguration |
US8656198B2 (en) | 2010-04-26 | 2014-02-18 | Advanced Micro Devices | Method and apparatus for memory power management |
US8438416B2 (en) | 2010-10-21 | 2013-05-07 | Advanced Micro Devices, Inc. | Function based dynamic power control |
US8775836B2 (en) | 2010-12-23 | 2014-07-08 | Intel Corporation | Method, apparatus and system to save processor state for efficient transition between processor power states |
CN103765409A (zh) * | 2011-09-06 | 2014-04-30 | 英特尔公司 | 有功率效率的处理器体系结构 |
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
-
2012
- 2012-09-25 TW TW101135104A patent/TWI454905B/zh active
- 2012-09-27 KR KR1020147008090A patent/KR101599319B1/ko active IP Right Grant
- 2012-09-27 JP JP2014532120A patent/JP5972981B2/ja active Active
- 2012-09-27 CN CN201280047606.XA patent/CN103842933B/zh active Active
- 2012-09-27 WO PCT/US2012/057597 patent/WO2013049371A2/en active Application Filing
- 2012-09-27 US US14/125,497 patent/US9552039B2/en active Active
- 2012-09-27 EP EP12836731.5A patent/EP2761394B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690924A (zh) * | 2004-04-21 | 2005-11-02 | 讯宝科技公司 | 提供增强的状态机功率管理的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013049371A3 (en) | 2013-05-23 |
JP5972981B2 (ja) | 2016-08-17 |
CN103842933A (zh) | 2014-06-04 |
EP2761394A2 (en) | 2014-08-06 |
EP2761394A4 (en) | 2015-05-06 |
KR101599319B1 (ko) | 2016-03-03 |
US9552039B2 (en) | 2017-01-24 |
TW201337534A (zh) | 2013-09-16 |
US20140115368A1 (en) | 2014-04-24 |
EP2761394B1 (en) | 2018-11-14 |
WO2013049371A2 (en) | 2013-04-04 |
JP2015507772A (ja) | 2015-03-12 |
KR20140067071A (ko) | 2014-06-03 |
TWI454905B (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103842933B (zh) | 多核平台中的受约束引导技术 | |
JP5774707B2 (ja) | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング | |
US9904346B2 (en) | Methods and apparatus to improve turbo performance for events handling | |
TWI494850B (zh) | 通透地提供給作業系統之非對稱多核心處理器系統 | |
EP3140729B1 (en) | Thread waiting in a multithreaded processor architecture | |
JP5932044B2 (ja) | 消費電力を低減する優先度に基づくアプリケーションイベント制御(paec) | |
CN102023844B (zh) | 并行处理器及其线程处理方法 | |
TW201337771A (zh) | 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統 | |
KR20140008442A (ko) | 프로세서의 언코어 회로의 전력 소비 감소 | |
US20160314024A1 (en) | Clearance mode in a multicore processor system | |
US9026829B2 (en) | Package level power state optimization | |
US10437308B2 (en) | Predictive virtual machine halt | |
US20230185623A1 (en) | Method of task transition between heterogenous processors | |
Kelly | Complementing Green Hardware with Green Software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210420 Address after: Tokyo, Japan Patentee after: Sony Corp. Address before: California, USA Patentee before: INTEL Corp. |
|
TR01 | Transfer of patent right |