[go: up one dir, main page]

CN103098019B - Method, apparatus and system for preserving processor state for efficient transition between processor power states - Google Patents

Method, apparatus and system for preserving processor state for efficient transition between processor power states Download PDF

Info

Publication number
CN103098019B
CN103098019B CN201180002799.2A CN201180002799A CN103098019B CN 103098019 B CN103098019 B CN 103098019B CN 201180002799 A CN201180002799 A CN 201180002799A CN 103098019 B CN103098019 B CN 103098019B
Authority
CN
China
Prior art keywords
processor
task
state
switching
operating system
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.)
Expired - Fee Related
Application number
CN201180002799.2A
Other languages
Chinese (zh)
Other versions
CN103098019A (en
Inventor
R·穆拉利达
H·瑟沙德瑞
B·弗莱明
V·路德拉穆尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103098019A publication Critical patent/CN103098019A/en
Application granted granted Critical
Publication of CN103098019B publication Critical patent/CN103098019B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

本发明公开了提供处理器状态以用于实现处理器的功率状态转换的技术。在一实施例中,在处理器上执行的操作系统检测将处理器转换至空闲处理器功率状态的机会。在特定实施例中,操作系统通过调用任务切换启动转换,其中描述处理器状态的信息被保存至任务切换段。

The present invention discloses a technique for providing processor states for implementing power state transitions of a processor. In one embodiment, an operating system executing on a processor detects an opportunity to transition the processor to an idle processor power state. In a specific embodiment, the operating system initiates the transition by invoking a task switch, wherein information describing the processor state is saved to a task switch segment.

Description

用于保存处理器状态以在处理器功率状态之间高效转换的方法、装置和系 统Method, apparatus and system for preserving processor state for efficient transition between processor power states system

背景技术 Background technique

1.技术领域 1. Technical field

实施例一般涉及用于计算机平台中的功率管理的技术。更具体地,某些实施例提供用于保存或恢复处理器状态以支持计算机平台在处理器功率状态之间转换的方法。Embodiments generally relate to techniques for power management in computer platforms. More specifically, certain embodiments provide methods for saving or restoring processor state to support computer platforms transitioning between processor power states.

2.背景技术 2. Background technology

在集成电路(IC)制造和计算机设备制造的其他方面的改进已允许更小和/或更密集的集成平台架构。在这样的平台中的电路一般倾向于对功率使用的低效日益敏感,和/或对管芯空间的低效使用日益敏感。因此,在功率效率、管芯尺寸和/或管芯利用方面的逐步改进提供在这些平台中日益增大的性能增益。在诸如手持设备(例如智能电话、平板电脑等)的平台之类的小形状因数平台的情况下尤其是这样。Improvements in integrated circuit (IC) fabrication and other aspects of computer equipment fabrication have allowed for smaller and/or denser integrated platform architectures. Circuitry in such platforms generally tends to be increasingly sensitive to inefficient use of power, and/or to inefficient use of die space. Thus, incremental improvements in power efficiency, die size, and/or die utilization provide increasing performance gains in these platforms. This is especially true in the case of small form factor platforms such as platforms for handheld devices (eg, smartphones, tablets, etc.).

现有计算机平台以不同的方式包括一个或多个用于管理对这些平台的处理器的功率分配或这些平台的处理器的功率使用的特征。例如,这些特征可例如响应于用户发起的平台挂起或休眠请求而以不同的方式实现处理器空闲状态。为了支持诸如C6功率状态之类的处理器空闲功率状态,平台必须确保处理器的状态信息在处理器处于该处理器空闲功率状态期间不丢失。在现有技术中,处理器以不同的方式包括专用硬件,用于将处理器状态卸载到芯片上的差别供电区域或用于在与处理器的另一通用功率域分开的专用功率域中连续保持处理器状态。Existing computer platforms variously include one or more features for managing power allocation to or power usage by processors of those platforms. For example, these features may implement processor idle states differently, eg, in response to a user-initiated platform suspend or hibernate request. In order to support processor idle power states such as the C6 power state, the platform must ensure that the processor's state information is not lost while the processor is in this processor idle power state. In the prior art, processors have variously included dedicated hardware for offloading processor state to differentially powered regions on the chip or for continuous Keep processor state.

对用于实现处理器空闲功率状态的这些技术的依赖已经强加了如下要求:处理器的IC芯片上包括各种实现电路,例如寄存器、功率分配迹线、控制逻辑等中的一个或多个。这些要求到现在为止对减小处理器管芯空间和/或改善处理器管芯空间利用率的努力强加了一定限制。Reliance on these techniques for implementing processor idle power states has imposed the requirement that various implementing circuits, such as one or more of registers, power distribution traces, control logic, etc. be included on the processor's IC die. These requirements have heretofore imposed certain constraints on efforts to reduce processor die space and/or improve processor die space utilization.

附图简述Brief description of the drawings

通过示例而非限制的方式在附图中的各图中示出了本发明的各个实施例,其中:Various embodiments of the invention are shown, by way of example and not limitation, in the several figures of the accompanying drawings, in which:

图1示出了根据实施例的用于提供对处理器状态信息的访问的系统的选择元件的框图。Figure 1 shows a block diagram of selected elements of a system for providing access to processor state information, according to an embodiment.

图2示出了根据实施例的用于提供对处理器状态信息的访问的系统的执行操作系统和硬件的选择元件的框图。2 shows a block diagram of selected elements of an executing operating system and hardware of a system for providing access to processor state information, according to an embodiment.

图3示出了根据实施例的用于存储处理器状态信息的任务状态段的选择元件的框图。Figure 3 shows a block diagram of selected elements of a task state segment for storing processor state information, according to an embodiment.

图4示出了根据实施例的用于提供对处理器状态信息的访问的算法的选择元件的流程图。4 shows a flow diagram of selected elements of an algorithm for providing access to processor state information, according to an embodiment.

具体实施方式 detailed description

诸实施例以不同的方式提供对处理器状态的访问,以实现使处理器在处理器功率状态之间转换的目的。各个实施例可在计算机平台上实现,例如,该计算机平台利用平台的处理器和存储器来执行操作系统(OS)。该平台的处理器可能缺少能够独立维持部分或全部处理器状态以供稍后恢复和/或使用(例如,用于当处理器从处理器空闲返回到较高功率的运行处理器状态时)的专用电路。然而,各个实施例不限于此。Embodiments provide access to processor state in different ways for the purpose of transitioning the processor between processor power states. Various embodiments may be implemented on a computer platform that, for example, utilizes the platform's processor and memory to execute an operating system (OS). The processor of this platform may lack the ability to independently maintain some or all of the processor state for later restoration and/or use (for example, when the processor returns from processor idle to a higher power running processor state) dedicated circuit. However, various embodiments are not limited thereto.

“处理器状态信息”或简称的“处理器状态”指的是描述一个或多个处理器在特定时刻处理例如由处理器高速缓存或以其它方式存储的数据、要执行的当前(或下一个)指令、堆栈的状态、确定异常处理的参数、错误处理等的状态的信息,或者以其它方式确定处理器在特定时间点正在如何执行处理和/或将如何执行处理的信息。提供对处理器状态的访问可包括,例如,提供处理器状态以存储在处理器外部,例如,以备处理器转换到处理器空闲状态。替换地或附加地,提供对处理器状态的访问可包括使得处理器状态可用于装载到处理器中,例如,以备从处理器空闲状态转换到较高功率的运行处理器状态。"Processor state information" or simply "processor state" refers to information that describes the data, current (or next ) instructions, the state of the stack, information that determines the status of parameters for exception handling, error handling, etc., or otherwise determines how the processor is and/or will perform processing at a particular point in time. Providing access to the processor state may include, for example, providing the processor state for storage external to the processor, eg, in case the processor transitions to a processor idle state. Alternatively or additionally, providing access to the processor state may include making the processor state available for loading into the processor, eg, in preparation for transitioning from a processor idle state to a higher power run processor state.

在某些实施例中,OS可发起到(或从)处理器空闲功率状态的转换。通过说明而非限制的方式,响应于检测使处理器在处理器功率状态之间转换的机会,在该处理器上执行的OS可触发处理器以执行任务切换。在某些实施例中,任务切换可将处理器的部分或全部状态保存至任务切换储存库——例如,在OS的正常运行时间执行期间对OS的通用任务切换可用的存储器中的数据结构。虽然某些实施例不限于此,但是存储器中任务切换储存库的位置、任务切换储存库中的数据的排列和/或由其他平台数据对任务切换储存库的引用可与加利福尼亚州圣克拉拉市的英特尔公司的x86架构的使用相兼容。In some embodiments, the OS may initiate a transition to (or from) a processor idle power state. By way of illustration and not limitation, in response to detecting an opportunity to cause the processor to transition between processor power states, an OS executing on the processor may trigger the processor to perform a task switch. In some embodiments, the task switch may save some or all of the state of the processor to a task switch repository—eg, a data structure in memory that is available to the OS's general purpose task switches during uptime execution of the OS. While certain embodiments are not limited thereto, the location of the task-switching repository in memory, the arrangement of data in the task-switching repository, and/or references to the task-switching repository by other platform data may be compared to the Santa Clara, CA Compatible with the use of Intel Corporation's x86 architecture.

例如,任务切换储存库可包括任务状态段(TSS)。通过说明而非限制的方式,任务切换可将段寄存器状态、控制寄存器状态、EFLAG寄存器状态、EIP寄存器状态和段选择器状态中的一个或多个保存至TSS。虽然本文中描述了在访问TSS方面的某些实施例的特征,但应当理解,这些特征可扩展用于其他实施例以访问各种附加或替代的任务切换储存库中的任何一个。For example, a task switch repository may include a task state segment (TSS). By way of illustration and not limitation, a task switch may save one or more of segment register state, control register state, EFLAG register state, EIP register state, and segment selector state to the TSS. While features of certain embodiments are described herein in terms of accessing the TSS, it should be understood that these features can be extended for other embodiments to access any of a variety of additional or alternative task switch repositories.

在实施例中,任务切换可包括切换处理器以停止执行在OS上运行的应用的任务。在这些情况下,例如,可在该应用未接收任何需要停止功率状态转换的操作的指示的情况下执行任务切换。In an embodiment, task switching may include switching the processor to stop executing tasks of applications running on the OS. In these cases, for example, a task switch may be performed without the application receiving any indication that operations need to cease power state transitions.

替代或附加地,例如,发起用于处理器功率状态转换的任务切换的OS可包括将所述处理器从在OS上下文中执行任务切换到在另一上下文中执行功率管理任务。例如,处理器可切换至与OS上下文不同的上下文的任务。通过说明而非限制的方式,任务切换可包括将处理器切换至执行单线程上下文或其他上下文,用于执行不是OS的任何任务的功率管理任务。例如,这样的功率管理任务可包括基本输入/输出系统(BIOS)或其他固件任务。Alternatively or additionally, for example, an OS initiating a task switch for a processor power state transition may include switching the processor from executing a task in an OS context to executing a power management task in another context. For example, a processor may switch to a task in a context different from the OS context. By way of illustration and not limitation, a task switch may include switching a processor to execute a single thread context or other context for performing power management tasks of any task other than the OS. For example, such power management tasks may include basic input/output system (BIOS) or other firmware tasks.

图1示出了根据某些示例性实施例的系统100的选择元件。系统100可包括具有电源150的平台105,该电源150用于以不同的方式为平台105的其他部件供电。虽然各个实施例的范围不限于此,但是平台105可包括个人计算机(PC)、个人数字助理(PDA)、因特网设备、蜂窝电话、膝上计算机、平板设备、移动单元、无线通信设备和/或任何其他计算设备中的一个或多个。FIG. 1 illustrates selected elements of a system 100 in accordance with certain exemplary embodiments. System 100 may include platform 105 having a power supply 150 for powering other components of platform 105 in various manners. Although the scope of the various embodiments is not limited thereto, the platform 105 may include a personal computer (PC), a personal digital assistant (PDA), an Internet appliance, a cellular phone, a laptop computer, a tablet device, a mobile unit, a wireless communication device, and/or One or more of any other computing devices.

根据某些实施例,平台105可包括直接或间接耦合至一个或多个其他部件(例如存储器125和系统互连135)的处理单元110。附加或替代地,处理单元110可有权访问基本输入/输出系统(BIOS)指令——例如存储在存储器125或独立存储器件(120)中的该指令。例如,处理单元110可按不同的方式经由一个或多个地址和/或数据总线耦合至平台105的部件。应当理解,与此类总线不同或除此类总线之外的互连可用于连接处理单元110。例如,一个或多个专用线路、交叉线等可用于将处理单元110连接至存储器125.According to some embodiments, platform 105 may include processing unit 110 coupled directly or indirectly to one or more other components such as memory 125 and system interconnect 135 . Additionally or alternatively, processing unit 110 may have access to basic input/output system (BIOS) instructions, such as those stored in memory 125 or a separate storage device (120). For example, processing unit 110 may be variously coupled to components of platform 105 via one or more address and/or data buses. It should be understood that interconnects other than or in addition to such buses may be used to connect processing units 110 . For example, one or more dedicated lines, crossover lines, etc. may be used to connect processing unit 110 to memory 125.

如下所述,处理器110可包括一个或多个核115(未示出)以执行操作系统(OS)。在各个实施例中,执行OS可实现一个或多个特征——例如,高级配置和电源接口(ACPI)和/或操作系统电源管理(OSPM)代码——以提供平台105上的功率分布和/或消耗的管理。As described below, processor 110 may include one or more cores 115 (not shown) to execute an operating system (OS). In various embodiments, the executing OS may implement one or more features—for example, Advanced Configuration and Power Interface (ACPI) and/or Operating System Power Management (OSPM) code—to provide power distribution and/or or consumption management.

此外,处理单元110可包括诸如例如静态随机存取存储器(SRAM)之类的高速缓存存储器(未示出),或多种类型的内部集成存储器中的任何一种。存储器125可包括动态随机存取存储器(DRAM)、非易失性存储器等等。在一个示例中,存储器125可存储可由处理单元110执行的软件程序。Additionally, processing unit 110 may include cache memory (not shown), such as, for example, static random access memory (SRAM), or any of various types of internally integrated memory. The memory 125 may include dynamic random access memory (DRAM), non-volatile memory, and the like. In one example, memory 125 may store software programs executable by processing unit 110 .

互连135可将平台105的各种部件互连,用于数据和/或控制消息的各种交换。通过说明而非限制的方式,互连135可包括以太网接口、通用串行总线(USB)接口、外设部件互连接口等等中的一个或多个。附加或替代地,互连135可包括用于控制通过互连135而互连的各种部件的电路。例如,互连135可包括诸如I/O控制器中枢、平台控制器中枢、存储器控制器中枢等的一个或多个控制器中枢。Interconnect 135 may interconnect various components of platform 105 for various exchanges of data and/or control messages. By way of illustration and not limitation, interconnect 135 may include one or more of an Ethernet interface, a universal serial bus (USB) interface, a peripheral component interconnect interface, and the like. Additionally or alternatively, interconnect 135 may include circuitry for controlling various components interconnected by interconnect 135 . For example, interconnect 135 may include one or more controller hubs such as an I/O controller hub, a platform controller hub, a memory controller hub, and the like.

为了说明某些实施例的各个特征,互连135被示为将处理单元110耦合至用于在平台105处接收通信的输入设备130、用于从平台140发送通信的输出设备140和用于在平台105中存储数据的存储145。通过说明而非限制的方式,输入设备130和输出设备140中的其一或两者可包括键盘、小键盘、鼠标、触摸屏、显示器、生物识别设备等等中的一个或多个。存储设备145可包括硬盘驱动器(HDD)、固态驱动器(SSD)、紧致盘(CD)驱动器、数字多功能盘驱动器(DVD)、和/或其他计算机介质输入/输出(I/O)设备中的一个或多个。在一实施例中,输入设备130、输出设备140和存储设备145中的一个或多个可以是外置的,并且耦合至平台105——例如,作为平台105外围的各种设备。To illustrate various features of certain embodiments, interconnect 135 is shown coupling processing unit 110 to input device 130 for receiving communications at platform 105, output device 140 for sending communications from platform 140, and for A store 145 in which data is stored in the platform 105 . By way of illustration and not limitation, one or both of input devices 130 and output devices 140 may include one or more of a keyboard, keypad, mouse, touch screen, display, biometric device, and the like. Storage devices 145 may include hard disk drives (HDD), solid-state drives (SSD), compact disk (CD) drives, digital versatile disk drives (DVD), and/or other computer media input/output (I/O) devices one or more of . In an embodiment, one or more of input devices 130 , output devices 140 , and storage devices 145 may be external and coupled to platform 105 —eg, as various devices that are peripheral to platform 105 .

应当理解,根据各种实施例,平台105的各种附加或替代的设备、电路块等中的任何一种可耦合至处理单元110。也应当理解,平台105的特定架构——例如,平台105的设备、电路块等相对于处理单元110的相对配置——不限于某些实施例。It should be understood that any of various additional or alternative devices, circuit blocks, etc. of platform 105 may be coupled to processing unit 110 according to various embodiments. It should also be understood that the particular architecture of platform 105—eg, the relative configuration of devices, circuit blocks, etc. of platform 105 relative to processing unit 110—is not limited to certain embodiments.

根据某些实施例,系统100可经由到网络155的连接与其他设备交换数据——例如,使用平台105的网络接口卡、无线网络接口、或天线(未示出)。该网络连接可包括任何类型的网络连接,诸如以太网连接、数字用户线路(DSL)、电话线、同轴电缆等。网络155可以是任何类型的网络,诸如因特网、电话网络、电缆网络、无线网络(诸如例如符合IEEE标准802.11(1999)、一个或多个IEEE802.11相关标准、用于无线城域网的IEEE802.16标准之类的网络),等等。According to some embodiments, system 100 may exchange data with other devices via a connection to network 155—for example, using platform 105's network interface card, wireless network interface, or antenna (not shown). The network connection may include any type of network connection, such as an Ethernet connection, Digital Subscriber Line (DSL), telephone line, coaxial cable, and the like. Network 155 may be any type of network, such as the Internet, a telephone network, a cable network, a wireless network (such as, for example, in accordance with IEEE Std 802.11 (1999), one or more IEEE 802.11 related standards, IEEE 802. 16 standard or something), and so on.

根据一个实施例,处理单元110——例如,一个或多个核115的特定处理核——可按不同的方式以两个或更多个处理器功率状态运行。如这里所使用的,功率状态指的是被输送到处于该功率状态的设备或设备的组合或由该设备或设备的组合使用的功率的一个或多个特性——例如,电压电平、电流电平、时钟频率等等。平台105可提供硬件和/或执行软件以支持、发起或以其它方式实现处理器核在这些功率状态之间的转换。According to one embodiment, processing unit 110—eg, a particular processing core of one or more cores 115—may operate differently in two or more processor power states. As used herein, a power state refers to one or more characteristics of power delivered to or used by a device or combination of devices in that power state—for example, voltage level, current level, clock frequency, etc. Platform 105 may provide hardware and/or execute software to support, initiate, or otherwise effectuate transitions of processor cores between these power states.

图2示出了根据实施例的用于提供对处理器状态信息的访问的平台200的选择元件。例如,平台200可包括平台105的部分或全部特征。FIG. 2 illustrates selected elements of a platform 200 for providing access to processor state information, according to an embodiment. For example, platform 200 may include some or all of the features of platform 105 .

通过说明而非限制的方式,平台200可包括用于执行操作系统(OS)250的处理器核205。为了说明一个实施例的某些特征,处理器核210被示为存在于平台200的片上系统(SoC)205中。应当理解,在替代的实施例中,处理器核210可存在于平台的一个或任何SoC的外部——例如,在隔离的单核或多核CPU IC芯片中。By way of illustration and not limitation, platform 200 may include a processor core 205 for executing an operating system (OS) 250 . To illustrate certain features of one embodiment, processor core 210 is shown as residing in system on chip (SoC) 205 of platform 200 . It should be understood that in alternative embodiments, processor core 210 may reside external to one or any SoC of the platform—for example, in an isolated single-core or multi-core CPU IC chip.

处理器核210可按不同的方式耦合至平台200的一个或多个其他部件——例如,包括存在于SoC 205之上或在SoC 205之外的部件。通过说明而非限制的方式,SoC 205可包括具有电路或其他逻辑以执行渲染计算或图形数据的其他处理的图形模块215。替代或附加地,SoC 205可包括具有用于向显示器提供视频信息的接口、驱动器或其他电路/逻辑的显示模块220。替代或附加地,SoC 205可包括存储器控制器225,所述存储器控制器225包括用于管理对平台200的数据存储部件的访问的电路或其他逻辑。替代地或此外,SoC 205可包括功率管理单元(PMU)230,以按不同的方式检测、确定或以其它方式提供与平台200的一个或多个部件的功率管理相关的数据和/或控制消息。Processor core 210 may be coupled to one or more other components of platform 200 in various ways—eg, including components that reside on SoC 205 or are external to SoC 205 . By way of illustration and not limitation, SoC 205 may include graphics module 215 having circuitry or other logic to perform rendering calculations or other processing of graphics data. Alternatively or additionally, SoC 205 may include a display module 220 having interfaces, drivers, or other circuitry/logic for providing video information to a display. Alternatively or additionally, SoC 205 may include a memory controller 225 including circuitry or other logic for managing access to the data storage components of platform 200 . Alternatively or in addition, SoC 205 may include a power management unit (PMU) 230 to variously detect, determine, or otherwise provide data and/or control messages related to power management of one or more components of platform 200 .

在各个实施例中,耦合至处理器核210的平台200的部分或全部部件(在各个替代的实施例中)可以与平台200的一个或任何SoC分离。同样地,应当理解,平台200的这些其他耦合部件的组合和/或配置仅仅是说明性的,并且该平台200可根据不同的实施例包括耦合至处理器核210的一个或多个附加或替代的部件的多种组合中的任一种。In various embodiments, some or all components of platform 200 coupled to processor core 210 may (in various alternative embodiments) be separate from one or any SoC of platform 200 . Likewise, it should be understood that combinations and/or configurations of these other coupling components of platform 200 are illustrative only, and that platform 200 may include one or more additional or alternative components coupled to processor core 210 according to various embodiments. Any of a variety of combinations of components.

OS 250可在处理器核210的一个或多个运行(即非空闲)处理器功率状态期间呈现基线运行时间执行。在这样的标准运行时间执行期间,OS 250可执行各种任务。当处理器核210在执行OS 250的指令时,例如,通过代表OS 250执行任务,处理器核210可以说在OS 250的上下文中运行。在OS 250的上下文中所执行的任务可包括,但是不限于用于执行在OS 250上运行的应用的操作的任务、用于OS 250实现中断处理的任务、用于OS250实现异常处理的任务,等等。OS 250 may exhibit baseline runtime execution during one or more running (ie, non-idle) processor power states of processor core 210 . During such standard runtime execution, OS 250 may perform various tasks. When processor core 210 is executing instructions of OS 250 , for example, by performing tasks on behalf of OS 250 , processor core 210 is said to be running within the context of OS 250 . Tasks executed in the context of the OS 250 may include, but are not limited to, tasks for performing operations of applications running on the OS 250, tasks for the OS 250 to implement interrupt handling, tasks for the OS 250 to implement exception handling, etc.

在这样的运行时间执行期间,OS 250可按不同的方式在这些任务之间切换,同时保持运行处理器功率状态。例如,OS 250可请求任务切换调用于保存处理器核210中的信息,该信息描述了当前执行任务的执行状态,OS 250还将描述将要被切换至的下一任务(例如,开始或重新开始执行的任务)的执行状态的其他信息载入处理器核210。通过说明而非限制的方式,OS 250可信号通知一个或多个任务切换,使得处理器核210通过分别访问存储器235的任务状态段(TSS)240a、…、240n中对应的一个来按不同的方式保存和/或加载各个任务的任务状态。During such runtime execution, OS 250 may switch between these tasks in different ways while maintaining the running processor power state. For example, OS 250 may request a task switching call to save information in processor core 210 that describes the execution state of the currently executing task, OS 250 will also describe the next task to be switched to (e.g., start or restart Other information about the execution state of the executed task) is loaded into the processor core 210. By way of illustration and not limitation, OS 250 may signal one or more task switches, causing processor core 210 to switch on a different task state segment (TSS) 240a, . . . way to save and/or load task state for individual tasks.

在一实施例中,OS 250可包括处理器管理器255——例如,来自一组执行指令的功能,该执行指令用于评估或以其它方式检测处理器核210的一个或多个处理器空闲状况。在一实施例中,处理器管理器255可包括LinuxOS的CPUIDLE管理器例程。替代地或此外,处理器管理器255可包括使用OS功率管理(OSPM)代理可得的一个或多个处理器空闲/负载检测功能,诸如那些在高级配置和电源接口(ACPI)公开标准(诸如2010年4月5日发布的ACPI修订4.0a版本)中可得的功能。虽然本文按照处理器管理器255来描述,但应当理解,根据本发明各个实施例,OS 250可包括或以其它方式提供用于检测处理器空闲状况的多种附加或替代的检测逻辑中的任何一种。In one embodiment, OS 250 may include processor manager 255—for example, functionality from a set of executable instructions for evaluating or otherwise detecting one or more processor idles of processor core 210. situation. In one embodiment, processor manager 255 may include the CPUIDLE manager routine of LinuxOS. Alternatively or in addition, processor manager 255 may include one or more processor idle/load detection functions available using OS Power Management (OSPM) agents, such as those described in the Advanced Configuration and Power Interface (ACPI) open standard such as Functionality available in ACPI Amendment 4.0a, released April 5, 2010). Although described herein in terms of processor manager 255, it should be understood that OS 250 may include or otherwise provide any of a variety of additional or alternative detection logic for detecting processor idle conditions in accordance with various embodiments of the present invention. A sort of.

通过说明而非限制的方式,可执行处理器管理器255以确定、接收当前处理器空闲、处理器空闲改变的当前速率、预期的将来处理器空闲、预期的处理器空闲改变的将来速率等的水平或类型的指示,或以其它方式检测当前处理器空闲、处理器空闲改变的当前速率、预期的将来处理器空闲、预期的处理器空闲改变的将来速率等的水平或类型。应当理解,检测处理器核210的空闲状态可包括检测处理器核210的相应负载状态。By way of illustration and not limitation, processor manager 255 can be executed to determine, receive information about current processor idle, current rate of change in processor idle, expected future processor idle, expected future rate of change in processor idle, etc. An indication of the level or type, or otherwise detect the level or type of current processor idling, current rate of change in processor idling, expected future processor idling, expected future rate of change in processor idling, etc. It should be understood that detecting the idle state of the processor core 210 may include detecting a corresponding load state of the processor core 210 .

例如,OS 250可包括调度器(未示出)或以其它方式有权对其访问,该调度器负责调度OS 250的下一个操作、线程等。处理器管理器255可检测OS 250的调度器已确定不存在或预期不存在被安排以供OS 250来执行的就绪操作或线程。For example, OS 250 may include or otherwise have access to a scheduler (not shown) responsible for scheduling the next operation, thread, etc. of OS 250 . Processor manager 255 may detect that the scheduler of OS 250 has determined that there are no or are not expected to be ready operations or threads scheduled for execution by OS 250 .

基于对当前的或预期的未来处理器空闲情况的检测,处理器管理器255可确定空闲情况表示将处理器核210转换到处理器空闲状态——例如,C6(或较低)功率状态的机会。响应于这样的机会的识别,处理器管理器255可启动这样的功率状态转换。在一实施例中,启动功率状态转换可包括处理器管理器255执行对OS 250的任务切换逻辑260的调用。进而,任务切换逻辑260可为处理器核210的硬件提供低阶信号以执行任务切换。在一实施例中,当OS 250保持在一个或多个运行功率状态时,任务切换将处理器核210的状态保存至TSS——例如可用于任务切换的存储器235的TSS240a、…、240n中的一个。Based on detection of current or anticipated future processor idle conditions, processor manager 255 may determine that an idle condition represents an opportunity to transition processor core 210 to a processor idle state—e.g., a C6 (or lower) power state . In response to identification of such an opportunity, processor manager 255 may initiate such a power state transition. In an embodiment, initiating a power state transition may include processor manager 255 executing a call to task switch logic 260 of OS 250 . Furthermore, the task switching logic 260 may provide low-level signals to the hardware of the processor core 210 to perform task switching. In one embodiment, while OS 250 remains in one or more operating power states, task switching saves the state of processor core 210 to a TSS—such as TSS 240a, . . . , 240n of memory 235 available for task switching. One.

例如,处理器核210可切换至用于与OS 250上下文不同的上下文的任务。通过说明而非限制的方式,任务切换可包括将处理器切换至执行单线程上下文或其他上下文,用于执行不是OS 250的任何任务的功率管理任务。这样的功率管理任务例如可包括功率管理固件245的任务——例如基本输入/输出系统(BIOS)任务。For example, processor core 210 may switch to a task for a different context than OS 250 context. By way of illustration and not limitation, a task switch may include switching a processor to execute a single-threaded context or other context for performing power management tasks other than any task of the OS 250 . Such power management tasks may include, for example, tasks of power management firmware 245 - such as basic input/output system (BIOS) tasks.

图3示出根据一实施例被提供至(或来自)TSS 305的处理器状态300的选择元件,其中所述提供是用于支持处理器功率状态转换的任务切换。例如,TSS 305可包括TSS 240a的部分或全部特征。FIG. 3 illustrates selection elements of a processor state 300 provided to (or from) a TSS 305 , where the provisioning is a task switch to support processor power state transitions, according to an embodiment. For example, TSS 305 may include some or all of the features of TSS 240a.

在一实施例中,TSS 305还可用于处理器状态的另一提供(例如存储或卸载),其中该另一提供是用于任务切换,其中在整个该任务切换中,上述的处理器保持在相同的运行处理器功率状态。In one embodiment, TSS 305 may also be used for another provision of processor state (such as store or offload), where the other provision is for a task switch, wherein throughout the task switch, the aforementioned processor remains at Same running processor power state.

例如,用于一种或两种类型的任务切换(即用于处理器功率状态转换或用于不变的运行处理器功率状态)的TSS 305的可用性可由存储器中的TSS 305的位置和/或TSS305内的处理器状态信息的排列而产生。替代地或此外,用于两种类型的任务切换的TSS 305的可用性可由在TSS 305外部的且引用TSS 305的寄存器、表格、指针或其他平台数据元件(未示出)而产生,例如指示TSS 305是一种处理器状态储存库,该处理器状态储存库在OS的正常运行时间执行期间能够访问以实现通用任务切换。For example, the availability of a TSS 305 for one or both types of task switching (i.e., for processor power state transitions or for an unchanged running processor power state) can be determined by the location of the TSS 305 in memory and/or generated by the arrangement of processor state information within the TSS305. Alternatively or in addition, the availability of TSS 305 for both types of task switching may arise from registers, tables, pointers, or other platform data elements (not shown) external to TSS 305 and referencing TSS 305, such as indicating the TSS 305 is a processor state repository that is accessible during uptime execution of the OS to enable generic task switching.

通过说明而非限制的方式,平台中TSS 305的位置、排列和/或对TSS305的引用可与具有加利福尼亚州圣克拉拉市英特尔公司的x86架构的TSS305的使用相兼容。更具体地,TSS 305可包括用于存储编码段315的选择器的CS寄存器310、用于存储数据段325的选择器的DS寄存器320以及用于存储堆栈段335的选择器的SS寄存器330中的一个或多个。By way of illustration and not limitation, the location, arrangement, and/or reference to TSS 305 in the platform may be compatible with the use of TSS 305 with x86 architecture from Intel Corporation, Santa Clara, CA. More specifically, the TSS 305 may include a CS register 310 for storing the selector for the encoding segment 315, a DS register 320 for storing the selector for the data segment 325, and an SS register 330 for storing the selector for the stack segment 335. one or more of .

选择器CS寄存器310、DS寄存器320和SS寄存器330可容易地载入具有任务切换的处理器或从具有任务切换的处理器卸载,例如分别用于恢复或保存在将要执行任务切换时的任务执行的当前状态。Selectors CS register 310, DS register 320, and SS register 330 can be easily loaded into or unloaded from a processor with task switching, e.g., for restoring or saving task execution, respectively, when a task switch is about to be performed current state of .

例如,TSS 305可包括与由x86架构处理器实现的任务切换相兼容的各种替代或附加的结构。通过说明而非限制的方式,TSS 305可包括一个或多个附加的数据段寄存器——说明性地表示为可存储附加的数据段345、355、365的各个选择器的ES寄存器340、FS寄存器350和GS寄存器360。替代地或此外,TSS 305可存储EFLAG寄存器370以存储指示用于执行与TSS 305相关联的任务的处理器操作的模式(例如,单阶模式、中断处理模式、任务链模式等等)的各个标志。替代地或此外,TSS 305可存储EIP寄存器375以存储指向用于执行任务的当前指令的指针。通过访问具有x86架构处理器的TSS来存储和/或恢复处理器状态的技术已得到充分的证实,并不限于各种实施例,各种实施例扩展这些和其他此类技术以应用于支持处理器功率状态转换的任务切换。For example, TSS 305 may include various alternative or additional structures compatible with task switching implemented by x86 architecture processors. By way of illustration and not limitation, the TSS 305 may include one or more additional data segment registers - illustratively ES registers 340, FS registers of respective selectors that may store additional data segments 345, 355, 365 350 and GS register 360. Alternatively or in addition, TSS 305 may store EFLAG register 370 to store individual flags indicating the mode of processor operation (e.g., single-level mode, interrupt handling mode, task chaining mode, etc.) used to execute tasks associated with TSS 305 . sign. Alternatively or in addition, TSS 305 may store EIP register 375 to store a pointer to the current instruction for executing the task. Techniques for storing and/or restoring processor state by accessing the TSS with x86 architecture processors are well documented and are not limited to various embodiments, which extend these and other such techniques to support processing Task switching for power state transitions of the controller.

应当理解,在TSS 305中所显示的结构仅仅是说明性的,并且该TSS305可包括任何多个附加的或替代的结构和/或信息以存储处理器状态。此外,此类结构和/或信息可指示TSS 305对处理器的可用性,用于处理器访问以实现与处理器的功率状态转换相关的任务切换(例如,转换至空闲处理器功率状态或从空闲处理器功率状态转换)和何时处理器将保持在单个运行功率状态的任务切换中的任一个。It should be understood that the structure shown in TSS 305 is merely illustrative, and that TSS 305 may include any number of additional or alternative structures and/or information to store processor state. Additionally, such structures and/or information may indicate the availability of the TSS 305 to the processor for processor access to effectuate task switches associated with power state transitions of the processor (e.g., transitioning to an idle processor power state or from an idle processor power state transition) and task switching when the processor will remain in a single run power state.

图4示出根据实施例的用于提供处理器状态的方法400的选择元件。例如,可由执行OS的平台105的硬件来执行方法400。在实施例中,在410处,方法400可包括OS检测用于执行OS的处理器转换到第一功率状态的机会。例如,OS可确定处理器空闲情况指示通过使处理器进入空闲处理器功率状态可获得节能。FIG. 4 illustrates selected elements of a method 400 for providing processor status, according to an embodiment. For example, method 400 may be performed by hardware of platform 105 executing an OS. In an embodiment, at 410, method 400 may include the OS detecting an opportunity for a processor executing the OS to transition to the first power state. For example, the OS may determine that a processor idle condition indicates that power savings are available by placing the processor into an idle processor power state.

响应于检测到该机会,在420处,OS可启动功率状态转换。在实施例中,OS启动转换可包括OS触发通过处理器的任务切换。所触发的任务切换可将处理器的处理器状态的至少一部分保存至平台的任务切换储存库的至少一部分。在实施例中,平台中的数据的一个或多个特征——例如,在任务切换储存库中的数据的排列、在平台中的任务切换储存库的位置、在任务切换储存库外部的且引用任务切换储存库的数据——可指示任务切换储存库可供访问以实现与处理器的功率状态转换相关联的任务切换(例如,转换到空闲处理器功率状态或从空闲处理器功率状态转换)和用于何时处理器将保持在单个运行功率状态的任务切换这二者之一。In response to detecting the opportunity, at 420, the OS can initiate a power state transition. In an embodiment, the OS initiated transition may include the OS triggering a task switch by the processor. The triggered task switch may save at least a portion of the processor state of the processor to at least a portion of the platform's task switch repository. In an embodiment, one or more characteristics of the data in the platform—for example, the arrangement of the data in the task-switching repository, the location of the task-switching repository in the platform, external to the task-switching repository and references Data for a task switch repository—may indicate that a task switch repository is accessible to effectuate a task switch associated with a processor's power state transition (e.g., transitioning to or from an idle processor power state) and task switching for when the processor will remain in a single operating power state.

本文描述了用于提供对处理器状态的访问的技术和架构。在下面的描述中,出于说明目的阐述了众多具体细节以便提供对某些实施例的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实施某些实施例。在其他实例中,以框图形式示出了结构和设备以避免混淆描述。This document describes techniques and architectures for providing access to processor state. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of certain embodiments. It will be apparent, however, to one skilled in the art that certain embodiments may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the description.

在本说明书中对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。在本说明书各处出现的短语“在一个实施例中”并不一定均指代同一实施例。Reference in this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. The appearances of the phrase "in one embodiment" in various places in this specification are not necessarily all referring to the same embodiment.

本文中所详细描述的某些部分是根据对在计算机存储器中的数据位进行运算的算法和符号表示提出的。这些算法的描述和表达是计算领域的技术人员所使用的用于将他们工作的本质最有效地传达给本领域的其他技术人员的手段。这里的算法一般被认为是导致预期结果的步骤的自相容序列。这些步骤是需要物理量的物理操纵的那些步骤。通常(尽管不是必须),这些量采取能够被存储、传输、组合、比较以及以其他方式操纵的电或磁的信号的形式。主要由于普遍使用的原因,已证明有时将这些信号称为位、值、元素、符号、字符、术语、数字等等是方便的。Some portions of the detailed description herein are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the computing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm here is generally considered to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

然而,应该记住,所有这些以及类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标识。除非具体说明,否则如从以下讨论所显而易见的,应理解贯穿说明书使用诸如“处理”、“计算”、“运算”、“确定”、“显示”等等之类术语的讨论指的是计算机系统或类似的电子计算设备的动作和进程,这些动作或进程将计算机系统寄存器和存储器内表示为物理(例如,电子)量的数据操纵和/或变换成计算机系统存储器、寄存器或其他这种信息存储、传输或显示设备内类似地表示为物理量的其他数据。It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as will be apparent from the following discussion, it should be understood that discussions throughout the specification using terms such as "process," "calculate," "operate," "determine," "display," etc. refer to computer systems or similar electronic computing device acts and processes that manipulate and/or transform data represented as physical (e.g., electronic) quantities within computer system registers and memory into computer system memory, registers, or other such information storage , transmit or display other data similarly expressed as physical quantities within a device.

某些实施例也涉及用于执行本文中的操作的装置。该装置可专门构造成用于所需目的,或者它可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储介质中,诸如但不限于包括软盘、光盘、CD-ROM和磁-光盘的任意类型的盘、只读存储器(ROM)、诸如动态RAM(DRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电EPROM(EEPROM)、磁或光卡、或适用于存储电子指令且各自耦合到计算机系统总线的任意类型的介质。Certain embodiments are also directed to means for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on a computer readable storage medium such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs and magneto-optical disks, read-only memory (ROM), disks such as dynamic RAM (DRAM) random access memory (RAM), erasable programmable read-only memory (EPROM), electrical EPROM (EEPROM), magnetic or optical cards, or any type of memory card suitable for storing electronic instructions and each coupled to a computer system bus medium.

本文中出现的算法和显示不固有地关联于任何特定计算机或其它装置。各种通用系统可根据本文的教导与程序一起使用,或者可证明构造更为专用的装置来执行所需的方法步骤是方便的。用于多种这些系统的所需结构将从以下的描述中出现。此外,某些实施例并不参照任何专用编程语言进行描述。将理解,可将多种编程语言用于实现如本文所述的这些实施例的教导。The algorithms and displays presented herein are not inherently tied to any particular computer or other device. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. Furthermore, certain embodiments are not described with reference to any specific programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments as described herein.

除本文中描述的内容之外,可对所公开的本发明的实施例和实现作出多种修改,而不背离它们的范围。因此,本文中的说明和示例应当以说明而非限制性的意义来解释。本发明的范围应当仅参照所附权利要求来度量。In addition to what is described herein, various modifications may be made to the disclosed embodiments and implementations of the invention without departing from their scope. Accordingly, the descriptions and examples herein are to be interpreted in an illustrative rather than a restrictive sense. The scope of the invention should be measured only with reference to the appended claims.

Claims (30)

1. the method being used for the power management of processor, including:
By the detection of operating system OS for the processor performing described operating system OS is changed to first The chance of power rating;And
In response to the detection of described chance, described operating system OS starts conversion, including described operating system OS triggers the task switching of described processor, and the switching of described task is by the processor state of described processor At least some of preservation switches at least some of of storage vault to task, and wherein said task switching storage vault is also Can accessed another task for constant operation processor power rating switch.
2. the method for claim 1, it is characterised in that described first power rating includes processor Idle condition.
3. the method for claim 1, it is characterised in that the switching of described task includes described process The power management that device switches to perform in another context from performing operating system O/S context of task is appointed Business.
4. method as claimed in claim 3, it is characterised in that another context described be single-threaded up and down Literary composition.
5. method as claimed in claim 3, it is characterised in that perform described power management tasks and include holding Row firmware.
6. method as claimed in claim 5, it is characterised in that perform described power management tasks and include holding Row basic input/output bios code.
7. the method for claim 1, it is characterised in that the switching of described task includes described process Device is from the task switching performing the application of operation on described operating system OS, wherein not to described application Instruction needs to stop performing the switching of described task in the case of the operation of described conversion.
8. the method for claim 1, it is characterised in that by the processor state of described processor At least some of task switching preserved includes posting segment register state, control buffer status, EFLAG One or more preservations in storage state, EIP register state and segment selector state to described task is cut Change the task switching of storage vault.
9. it is used for a device for the power management of processor, including:
Memorizer, has task switching storage vault, and described task switching storage vault includes one or more task State section;And
Coupleding to the processor of described memorizer, described processor execution operating system OS is used for detection will The chance to the first power rating changed by described processor, and described to start in response to detecting described chance Conversion, triggers the task switching of described processor including described operating system OS, and described task switches institute State at least some of at least preserved to described task switching storage vault of the processor state of processor Point, wherein said task switching storage vault can also be accessed for constant operation processor power rating Another task switches.
10. device as claimed in claim 9, it is characterised in that the process of described operating system OS Device manager is used for the chance of described conversion for detection.
11. devices as claimed in claim 9, it is characterised in that described first power rating includes place Reason device idle condition.
12. devices as claimed in claim 9, it is characterised in that the switching of described task includes described behaviour Make system OS to switch to perform another from performing operating system O/S context of task by described processor Power management tasks in context.
13. devices as claimed in claim 12, it is characterised in that another context described is single line Journey context.
14. devices as claimed in claim 12, it is characterised in that perform described power management tasks Including performing firmware.
15. devices as claimed in claim 9, it is characterised in that the switching of described task includes described behaviour Make system OS by described processor from the task switching performing the application of operation on described operating system OS, Wherein do not needing to stop in the case of the operation of described conversion, perform described appointing to described application instruction Business switching.
16. devices as claimed in claim 9, it is characterised in that by the processor shape of described processor At least some of task switching preserved of state include by segment register state, control buffer status, One or more preservations in EFLAG buffer status, EIP register state and segment selector state are to institute State the task switching of task switching storage vault.
17. 1 kinds of equipment for the power management of processor, including:
For by the detection of operating system OS for the processor conversion by performing described operating system OS extremely The device of the chance of the first power rating;And
For the detection in response to described chance, described operating system OS starts conversion, including described operation System OS triggers the device of the task switching of described processor, and the switching of described task is by the place of described processor At least some of preservation of reason device state switches at least some of of storage vault to task, and wherein said task is cut Change storage vault and can also be accessed another task switching for constant operation processor power rating.
18. equipment as claimed in claim 17, it is characterised in that described first power rating includes Processor idle states.
19. equipment as claimed in claim 17, it is characterised in that the switching of described task includes institute State processor to switch to perform the power in another context from performing operating system O/S context of task Management role.
20. equipment as claimed in claim 19, it is characterised in that another context described is single line Journey context.
21. equipment as claimed in claim 19, it is characterised in that perform described power management tasks Including performing firmware.
22. equipment as claimed in claim 21, it is characterised in that perform described power management tasks Including performing basic input/output bios code.
23. equipment as claimed in claim 17, it is characterised in that the switching of described task includes institute State processor and switch, wherein not to institute from performing the task of the application of operation on described operating system OS State application instruction to need to stop in the case of the operation of described conversion, perform the switching of described task.
24. equipment as claimed in claim 17, it is characterised in that by the processor of described processor At least some of task switching preserved of state include by segment register state, control buffer status, One or more preservations in EFLAG buffer status, EIP register state and segment selector state are to institute State the task switching of task switching storage vault.
25. 1 kinds of computer systems, including:
Memorizer;
Coupleding to the processor of described memorizer, described processor execution operating system OS is used for detection will The chance to the first power rating changed by described processor, and described to start in response to detecting described chance Conversion, triggers the task switching of described processor including described operating system OS, and described task switches institute At least some of preservation of the processor state stating processor switches at least some of of storage vault to task, its Described in task switching storage vault can also be accessed for another of constant operation processor power rating Task switches;And
Coupleding to the antenna of described processor, described antenna is by described computer system and wireless network phase coupling Close.
26. computer systems as claimed in claim 25, it is characterised in that described operating system OS Processor management device for detection for the chance of described conversion.
27. computer systems as claimed in claim 25, it is characterised in that described first power shape State includes processor idle states.
28. computer systems as claimed in claim 25, it is characterised in that the switching of described task will Described processor switches to perform the merit in another context from performing operating system O/S context of task Rate management role.
29. computer systems as claimed in claim 28, it is characterised in that perform described power tube Reason task includes performing firmware.
30. computer systems as claimed in claim 25, it is characterised in that by described processor At least some of task switching preserved of processor state includes segment register state, controls depositor shape One or more preservations in state, EFLAG buffer status, EIP register state and segment selector state Task switching to described task switching storage vault.
CN201180002799.2A 2010-12-23 2011-12-06 Method, apparatus and system for preserving processor state for efficient transition between processor power states Expired - Fee Related CN103098019B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3082DE2010 2010-12-23
IN3082/DEL/2010 2010-12-23
PCT/US2011/063485 WO2012087566A2 (en) 2010-12-23 2011-12-06 Method, apparatus and system to save processor state for efficient transition between processor power states

Publications (2)

Publication Number Publication Date
CN103098019A CN103098019A (en) 2013-05-08
CN103098019B true CN103098019B (en) 2016-10-19

Family

ID=46314728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180002799.2A Expired - Fee Related CN103098019B (en) 2010-12-23 2011-12-06 Method, apparatus and system for preserving processor state for efficient transition between processor power states

Country Status (3)

Country Link
CN (1) CN103098019B (en)
TW (1) TWI464572B (en)
WO (1) WO2012087566A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034087A1 (en) * 2014-09-03 2016-03-10 Mediatek Inc. Method for handling mode switching with less unnecessary register data access and related non-transitory machine readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013340A (en) * 2007-03-02 2007-08-08 中兴通讯股份有限公司 Method for reducing power consumption of wireless network interface card
CN101246389A (en) * 2006-09-29 2008-08-20 英特尔公司 Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state
CN101263456A (en) * 2005-09-15 2008-09-10 英特尔公司 Method and apparatus for fast recovery
CN102033600A (en) * 2009-09-25 2011-04-27 英特尔公司 Method, system and apparatus for low-power storage of processor context information

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US7373530B2 (en) * 2005-03-16 2008-05-13 Microsoft Corporation Systems and methods for providing power-loss protection to sleeping computers systems
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101263456A (en) * 2005-09-15 2008-09-10 英特尔公司 Method and apparatus for fast recovery
CN101246389A (en) * 2006-09-29 2008-08-20 英特尔公司 Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state
CN101013340A (en) * 2007-03-02 2007-08-08 中兴通讯股份有限公司 Method for reducing power consumption of wireless network interface card
CN102033600A (en) * 2009-09-25 2011-04-27 英特尔公司 Method, system and apparatus for low-power storage of processor context information

Also Published As

Publication number Publication date
WO2012087566A2 (en) 2012-06-28
WO2012087566A3 (en) 2012-08-16
TW201237615A (en) 2012-09-16
CN103098019A (en) 2013-05-08
TWI464572B (en) 2014-12-11

Similar Documents

Publication Publication Date Title
US8775836B2 (en) Method, apparatus and system to save processor state for efficient transition between processor power states
US10706496B2 (en) Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor
US8776066B2 (en) Managing task execution on accelerators
US8810584B2 (en) Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time
US10248183B2 (en) System and method for power management
US20100211769A1 (en) Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
US20130238918A1 (en) Connected Standby Sleep State
US9335813B2 (en) Method and system for run-time reallocation of leakage current and dynamic power supply current
US20160202746A1 (en) Indicating critical battery status in mobile devices
US9323307B2 (en) Active display processor sleep state
US11809875B2 (en) Low-power pre-boot operations using a multiple cores for an information handling system
CN103098019B (en) Method, apparatus and system for preserving processor state for efficient transition between processor power states
US20140237475A1 (en) Sleep/wake with suppression and donated importance
US9760145B2 (en) Saving the architectural state of a computing device using sectors
US10061597B2 (en) Computing device with first and second operating systems
US10884464B2 (en) Systems and methods for thermal throttling via processor core count reduction and thermal load line shift
US20240028222A1 (en) Sleep mode using shared memory between two processors of an information handling system
CN101995905A (en) computer
US12106818B2 (en) Power control of a memory device in connected standby state
US8533721B2 (en) Method and system of scheduling out-of-order operations without the requirement to execute compare, ready and pick logic in a single cycle
JP2014531099A (en) Switching operating context

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161019

Termination date: 20191206

CF01 Termination of patent right due to non-payment of annual fee