CN105637494A - 用于处理定制事件的技术 - Google Patents
用于处理定制事件的技术 Download PDFInfo
- Publication number
- CN105637494A CN105637494A CN201380080241.5A CN201380080241A CN105637494A CN 105637494 A CN105637494 A CN 105637494A CN 201380080241 A CN201380080241 A CN 201380080241A CN 105637494 A CN105637494 A CN 105637494A
- Authority
- CN
- China
- Prior art keywords
- event
- equipment
- acpi
- message
- general purpose
- 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.)
- Pending
Links
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
各个实施例一般涉及装置和方法,用于从非运行以在平台处理设备上直接引起***事件的设备接收中断,从而在所述平台处理设备上引起所述***事件;基于所述中断并响应于接收到所述中断而生成具有信息的通用事件消息。此外,基于在所述通用事件消息中的信息生成具有所述信息的定义事件消息;以及基于在所述定义事件消息中的信息,将中断发送给平台处理设备的操作***以在所述平台处理设备上引起***事件。
Description
技术领域
本文所描述的实施例一般涉及处理定制事件以及在计算***上激活(invoke)***事件。
背景技术
***事件(例如操作状态之间的转换(transition))通常由操作***及其相关联软件(例如功率管理软件)所控制和协调。更具体地,操作***紧密控制哪些事件能够以及不能够激活计算***的各种操作状态之间的转换。在一些情况下,必须在当计算机***启动且由计算***制造商和操作***开发商所控制时知道和定义这些事件。然而,这种对事件可以或不可以引起操作状态之间的转换的紧密控制限制了其他设备制造商开发在操作***已经启动后激活或引起操作状态之间的转换的设备的能力。
附图说明
通过示例而非限制,在附图中示出了本发明的实施例,在附图中相似的附图标记指代相似的元件。
图1示出了计算***的第一示例性实施例。
图2示出了计算***的第二示例性实施例。
图3示出了处理定制事件的第一流程图。
图4示出了处理定制事件的第二流程图。
图5示出了处理定制事件的第一信号图。
图6示出了第一计算架构的实施例。
图7示出了第二计算架构的实施例。
具体实施方式
各个实施例一般涉及在启动计算***之前或之后开发的设备,其检测或接收定制事件以激活***事件,例如操作状态之间的转换。在一些实施例中,这些设备可能不是直接运行以激活***事件的。然而,各个实施例为设备提供了通过利用其它能够直接激活***事件的设备来激活***事件的能力。
直接地能够激活***事件的设备可以是高级配置与电源接口(ACPI)设备,或者是基本输入/输出***(BIOS)的任意其它设备配置和功率管理***。例如,ACPI设备可以是电源控制按钮、睡眠控制按钮或者人机接口设备(HID),其有能力直接与操作***和功率管理软件通信以激活***事件并引起功率状态之间的转换。
在各个实施例中,接收或检测定制事件的设备可以附接到或关联于虚拟(ACPI)设备,以允许所述设备与能够激活***事件的ACPI设备通信。更具体地,虚拟ACPI设备可以为接收或检测定制事件的设备提供网关,以传达:***事件是期望的。在一个例子中,设备可以经由一个或多个消息或者中断来传达(communicate):具体***事件(例如较低功率状态和活动工作状态之间的转换)是期望的,或者反之亦然。所附接的ACPI设备可以接收所述消息和/或中断,并生成用于将***事件传达给能够直接激活***事件的ACPI设备的消息或中断。能够直接激活***事件的ACPI设备可以生成调用(call)操作***的函数或方法从而激活(invoke)***事件的中断。操作***可以激活***事件,例如将计算***从较低功率状态转换到用户可以与计算***接口的正常操作状态。在另一例子中,操作***可以响应于从能够直接激活***事件的ACPI设备处接收到中断而将计算***转换到较低功率状态,以节约电池寿命和功率。这种间接法的目的在于使得不必彼此相关的定制事件能够出于为新的使用模型使用已知的操作***功能的目的而被绑定。这些和其它细节在下文的说明中将变得更加清晰。
在总体上参考本文所使用的记号法和命名法,可以依照在计算机或计算机网络上执行的程序过程来呈现后续详细描述。本领域的技术人员使用这些过程描述和表示法来最有效地向本领域其他技术人员传达其工作的实质。
这里的过程通常被认为是导致期望结果的自相容操作序列。这些操作要求对物理量进行物理操作。虽然不是必要的,但是通常这些量采取能够被存储、转移、组合、比较或以其它方式操纵的电、磁或光信号的形式。主要出于共通使用的原因,已证明通常以比特、值、元素、符号、字符、术语、数字等提及这些信号是方便的。但是需要注意的是,所有这些和类似术语将与适当的物理量相关联,且仅是施加到这些量上的方便标签。
此外,所执行的操纵通常是以例如“加”或“比较”等术语提及的,所述术语一般与人类操作员所执行的脑力操作相关联。在本文所描述的形成一个或多个实施例的部分的任意操作中,人类操作员的这种能力是不必要的,或者在大部分情况下是不期望的。相反,所述操作是机器操作。用于执行各种实施例的操作的有用机器包括通用数字计算机或类似设备。
各个实施例还涉及用于执行这些操作的装置或***。这种装置可以专门构造用于所要求的目的,或者其可以包括由存储在计算机中的计算机程序选择性活化或重新配置的通用计算机。本文所呈现的程序并非固有地与特定计算机或其它装置相关。各种通用机器可以用于根据本文的教导编写的程序,或者构造更专用的装置来执行所要求的方法步骤也可能被证明是方便的。所要求的用于这些多种机器的结构将从给定的描述中变得清晰。
图1示出了示例性计算***100或平台处理设备(包括设备105_1、105_2和105_3)的总体概述。在各个实施例中,计算***100可以是任意类型的计算设备,包括但不限于,工作站、服务器计算机、个人计算机、便携式计算机、基于微处理器的娱乐家电、移动设备等。图1示出了仅具有三个设备的计算***100。但是,各个实施例并不局限于此方式,并且计算***100可以包括任意数量的设备。
在各个实施例中,设备105_1、105_2和105_3可以是用于接收或检测定制事件的任意类型设备、传感器、接口等。设备105_1、105_2和105_3可以包括但不限于:运动检测传感器、加速计、温度传感器、网络接口设备、触敏传感器、麦克风、电池或电源检测传感器、光检测传感器等。一个或多个设备105可以接收或检测定制事件,例如高于或低于热阈值的温度、计算设备100的移动、与计算设备100的接触、声音、低于或高于电池电量阈值的电池的电池寿命、与另一设备的连接、远程定制事件消息、低于或高于光阈值的环境光,等等。定制事件可以是由设备105所检测到的任意事件。
例如,设备105可以是热传感器,并且可以检测到计算***100的内部温度高于定义的热阈值。设备105可以就“温度高于热阈值”传达信息或数据,并且可以生成并且发送一个或多个消息从而为计算***100指示或开始睡眠事件或掉电到较低功率状态,为的是不会过热以及损坏***组件。或者,一个或多个消息可以被生成并发送以指示计算***100退出较低功率状态,从而使风扇或其它冷却装置被开始以冷却计算设备100。
在另一例子中,设备105可以是运动检测传感器例如加速计,并且可以以图案或非图案形式检测计算设备105的运动。基于检测到的运动,设备105可以传达信息或数据以将计算***100唤醒或掉电。在各个实施例中,可以使用一种特定的运动/图案来唤醒计算设备,并且可以使用另一种运动/图案来将计算***100置于较低功率状态。
在第三例子中,设备105可以是网络接口设备,并且可以从耦合的设备经由一个或多个网络连接(未示出)接收信息或数据,以将计算设备100置于较低功率状态,或将计算***100从较低功率状态唤醒。
在另一例子中,设备105可以是光传感器,并且可以检测高于或低于光阈值的环境光。更具体地,设备105可以检测计算设备105周围的环境光已经跌落到定义的光阈值之下,表示用户已经离开房间并且灯已关。设备105可以发送信息以将计算设备100置于较低功率状态。可选地,设备105可以检测环境光高于定义的光阈值,并且信息可以被发送以唤醒计算***100。
在另一例子中,设备105可以是电池电量检测传感器,并且可以检测电池电量高于或低于电池电量阈值。设备105然后可以发送或传达该信息,以唤醒计算***100或将计算***100置于较低功率状态。
在另一例子中,设备105可以是麦克风,并且可以检测声音、噪声、指令、口头命令等。设备105可以发送或传达信息以基于检测到的声音和来自设备105的信息将计算***100置于较低功率状态或将计算***100从较低功率状态唤醒。
此外,设备105可以检测或接收定制事件,以引起另一事件,例如在计算***100上的***事件。例如,该定制事件可引起***事件,例如将计算机***100转换到较低功率状态,或者将计算***100从较低功率状态唤醒。在一些实施例中,计算***100可以返回到完全或局部操作状态,包括对组件和设备中的一些或所有通电。当在较低功率状态时,可以关闭计算***100的各种组件和设备。较低功率状态可以是任意较低功率状态,例如由ACPI规范所定义的低功率状态之一。
如将要关于图2讨论的,每个设备105_1、105_2和105_3可以与设备驱动器(包括中断应对组件)相关联。设备驱动器可以包括一个或多个组件,例如中断应对组件,并且通常与设备105进行通信是通过设备105的硬件所连接到的一个或多个互连(例如,计算机总线或通信子***)。在一些实施例中,设备105可以将数据或信息发送给相关联的设备驱动器,以经由一个或多个组件(例如,中断应对组件)激活一个或多个例程或函数。例如,设备105可以检测或接收定制事件,然后通过一个或多个互连就“已经发生定制事件”将信息或数据向相关联的设备驱动器传达。所述信息或数据可以经由到中断应对组件的中断而被传达给设备驱动器。
响应于接收到“已经发生定制事件”的信息或数据,设备驱动器可以生成信息和/或一个或多个消息,以就“已经发生定制事件,并且需要动作”向计算***100的一个或多个其它组件传达。在各种实施例中,设备驱动器可以生成通用事件消息,该消息具有表明是将计算***转换到较低功率状态还是将计算***从较低功率状态唤醒的信息。所述通用事件消息可以允许或使能设备制造商创建新的定制事件,来在设备已经启动之后在计算***或平台处理设备上激活或引起特定动作。
如下文更详细讨论的,与设备105相关联的设备驱动器可以将通用消息发送或传达到附接的高级配置与电源接口(ACPI)设备152。更具体地,通用事件消息可以是对与ACPI设备152相关联的ACPI设备驱动器的方法进行的中断调用(interruptcall)的形式。例如,通用事件消息可以是对ACPI设备驱动器的唤醒方法进行的中断调用,或者是对ACPI设备152的ACPI设备驱动器的睡眠方法进行的中断调用。
在各个实施例中,计算***100可以包括基本输入/输出***(BIOS150),其包括高级配置与电源接口(ACPI)设备152_1、152_2和152_3以及事件使能ACPI设备158。虽然图1示出了BIOS150具有三个ACPI设备152和一个事件使能ACPI设备158,但是BIOS150可以包括任意数量的ACPI设备152和事件使能ACPI设备158。BIOS150可以是与高级配置与电源接口(ACPI)兼容的基本输入/输出***。更具体地,BIOS150可以兼容2011年12月6日公布的ACPI规范修订版5.0(“ACPI规范”)和/或较早或较晚修订版。
ACPI规范将计算***电源状态定义为“S状态”,并且这些状态在ACPI规范中标示为S0、S1、S2、S3、S4和S5。另外,S状态还可以包括S0空闲状态以及连接备用状态,该连接备用状态递送低延迟连接空闲状态的。在通常使用中,这些S状态可用于计算***的功率管理。S状态包括三类,在ACPI规范中标示为“工作”、“睡眠”和“软关机”状态。工作状态包括S0状态;睡眠状态包括S0空闲、S1、S2、S3和S4状态;而软关机状态包括S5状态。在计算***的工作、睡眠和软关机状态之间的转换通常由操作***的功率管理软件进行控制。在各个实施例中,BIOS150可以与ACPI规范的任意版本兼容。
在一些实施例中,设备105_1、105_2和105_3中的每个分别可以针对高级配置与电源接口(ACPI)设备加载或附接到高级配置与电源接口设备,高级配置与电源接口设备例如ACPI设备105_1、105_2和105_3。ACPI设备152可以是虚拟ACPI设备。虚拟ACPI设备可以定义于存储器的存储器空间中,并且每个设备105可以各自附接到虚拟ACPI设备152中不同的一个。通过附接到ACPI设备152,设备105可以与包括BIOS150的固件或计算***100的其它硬件子***通信。例如,ACPI设备152可以与事件使能ACPI设备158经由固件以及一个或多个互连进行通信。
如前所讨论,设备105可以检测定制事件,并且相关联的设备驱动器可以生成通用事件消息,该消息具有将计算***100转换到特定操作状态的信息。与设备105相关联的设备驱动器可以将通用事件消息传达到耦合的ACPI设备152,以处理所述消息并使能特定动作。在一些实施例中,与设备105相关联的设备驱动器可以将通用事件消息作为对ACPI设备152的ACPI设备驱动器的方法的中断调用来通信。在一个例子中,与设备105相关联的设备驱动器可以调用与ACPI设备152相关联的设备驱动器的唤醒方法,以传达通用事件消息来唤醒计算***100。在另一例子中,设备驱动器可以调用与ACPI设备152相关联的设备驱动器的睡眠方法,以传达通用事件消息从而将计算***100置于较低功率状态。
与ACPI设备152相关联的设备驱动器可以接收用于来自与设备105相关联的设备驱动器的通用事件消息的中断调用,并且可以处理所述通用事件消息。包括ACPI设备驱动器的ACPI设备152可以基于通用事件消息生成定义事件消息。例如,ACPI设备驱动器可以生成具有指示何时期望唤醒事件的信息的定义事件消息。另外,ACPI设备驱动器可以生成具有指示何时期望睡眠事件的信息的定义事件消息。唤醒事件发生在计算***退出较低功率状态并返回到局部或完全操作状态的时候。睡眠事件发生在计算***被置于较低功率状态并且一个或多个组件掉电的时候。定义事件消息可以用于基于定制事件将激活动作通知给事件使能ACPI设备158。
事件使能ACPI设备158可以是能够处理或直接引起在计算***100上发生的动作或事件的任意ACPI设备,其中所述动作或事件并非是设备105直接可运行以开始或引起的。更具体地,事件使能ACPI设备158可能已经定义了当计算***100启动并加载到BIOS105中时可以被编程或确定的动作。
在一些实施例中,事件使能ACPI设备158可以是电源按钮ACPI设备、睡眠按钮ACPI设备和/或人机接口(HID)设备。电源按钮ACPI设备、睡眠按钮ACPI设备和HID设备可以与可操作以生成使得事件在计算***100上发生的信息的设备驱动器相关联。例如,电源按钮ACPI设备可操作以在电源按钮ACPI设备和相关联的设备驱动器检测到按压或按下按钮时,生成将计算***100从较低功率状态唤醒或将计算***100置于较低功率状态的信息。在另一例子中,睡眠按钮ACPI设备可以用与电源按钮ACPI设备相类似的方式进行操作,并生成信息以基于检测到的按压或按下睡眠按钮的ACPI设备及其相关联设备驱动器来将计算***100从较低功率状态唤醒或者将计算***100置于较低功率状态。在第三例子中,HID设备可以是能够基于被按压的键而将计算***100从较低功率状态唤醒或者将计算***100置于较低功率状态的键盘。
在各种实施例中,事件使能ACPI设备158及其相关联设备驱动器可以基于从ACPI设备152和ACPI设备驱动器接收到的信息而开始或生成中断。例如,设备105可以检测定制事件,例如传感器阈值被超过;并且事件使能ACPI设备158可以从ACPI设备152及相关联的设备驱动器接收信息并生成中断。事件使能ACPI设备158及相关联的设备驱动器可以是可操作的以基于从ACPI设备152及相关联的设备驱动器接收到的消息而在计算设备100上引起***事件,例如在功率状态之间转换。事件使能ACPI驱动器可以经由一个或多个互连以及ACPI/BIOS中的固件从ACPI设备驱动器接收定义事件消息。事件使能ACPI设备驱动器可以处理定义事件消息,以激活***事件或动作。更具体地,事件使能ACPI设备驱动器可以基于定义事件消息而生成中断,并调用操作***的中断应对器。例如,如果定义事件消息是定义的唤醒事件消息,则事件使能ACPI设备驱动器可以生成中断以唤醒计算***100。在另一例子中,如果定义事件消息是定义的睡眠事件消息,则事件使能ACPI设备驱动器可以生成中断以将计算***100置于较低功率状态。
在各个实施例中,计算***100可以包括操作***(OS)120,其包括但不限于:AppleAndroidBerkeleySoftwareWindowsPhone等。在各个实施例中,操作***120用作程序和计算机硬件之间的中介。操作***120通常是管理计算机硬件资源的软件集合,并为计算***100提供用于计算机程序的共通服务。
操作***120可以包括一个或多个中断应对器,包括中断应对器122以应对(handle)由BIOS150的一个或多个组件(包括但不限于:事件使能ACPI设备158及相关联的设备驱动器)生成的中断。例如,中断应对器122可以经由一个或多个互连从事件使能ACPI设备158的设备驱动器接收中断,该中断指示或表明操作***120退出或进入较低功率状态。中断应对器122接下来可以将信息作为一个或多个消息或信号发送给处理电路,以表明需要立即注意的事件已经发生。处理电路通过例如以下进行响应:挂起其当前活动、保存其状态、以及通过为计算设备100执行指令以退出较低功率状态或进入较低功率状态来应对该事件。
图2示出了另一示例性计算***200或平台处理设备。在各个实施例中,计算***200可以与计算***100相同或类似以处理定制事件。计算***200包括设备205和具有中断应对组件215的相关联设备驱动器210。设备205可以与设备105_1、105_2和105_3之一相同或类似。设备驱动器210可以与设备205通过一个或多个互连(例如,计算机总线或通信子***)通信。在一些实施例中,设备驱动器210可以向设备205发布命令,并且设备205可以向设备驱动器210发送数据或信息以激活一个或多个例程或函数。更具体地,设备205可以检测一个或多个定制事件,并通过一个或多个互连就“已经发生定制事件”将信息或数据向设备驱动器210传达。
在一些实施例中,可以将信息或数据经由中断传达给设备驱动器210,并且中断应对组件215可以处理接收到的中断。更具体地,中断应对组件215可以从设备接收中断,并生成信息和/或一个或多个消息,以就“已经发生定制事件,并且需要动作”向计算***200的一个或多个其它组件传达。在各个实施例中,中断应对组件215可以生成通用事件消息或通知,其包括表明将计算***200从较低功率状态唤醒或者将计算***200置于较低功率状态的信息。通用事件消息可以允许设备205激活其可能并非直接地运行以激活的动作。
中断应对组件215可以将通用事件消息或通知发送给ACPI设备驱动器254的耦合的通用事件应对组件256。在各个实施例中,ACPI设备驱动器254可以是用于ACPI设备252的设备驱动器。通用事件应对组件256可以接收通用事件消息,并生成定义事件消息或通知。在各个实施例中,通用事件应对组件256可以生成定义事件消息,其具有的信息表明定制事件将要激活***事件,例如,基于通用事件消息中的信息将计算***200从较低功率状态转换出或置于较低功率状态。
通用事件应对组件256可以将定义事件消息发送或传达给事件使能ACPI设备驱动器260的定义事件应对组件262,以处理所述定义事件消息。事件使能ACPI设备驱动器260可以是用于可操作以引起或开始在计算***200上发生***事件的事件使能ACPI设备258的设备驱动器。在各个实施例中,定义事件消息可以在通用事件应对组件和定义事件应对组件之间直接通信,或者通过一个或多个利用ACPI/BIOS150中的固件的互连进行通信。
定义事件应对组件262可以从通用事件应对组件262接收定义事件消息,并处理该消息。具体地,定义事件应对组件262可以基于定义事件消息来生成***中断。例如,当定义事件消息包括表明计算***200将要退出较低功率状态的信息时,定义事件应对组件262可以生成***中断以将计算***200从较低功率状态唤醒。在另一例子中,当定义事件消息包括表明计算***200将要置于较低功率状态的信息时,定义事件应对组件262可以生成***中断以将计算***200置于较低功率状态。被生成以将计算***200从较低功率状态唤醒或将计算***200置于较低功率状态的中断,可以是与当事件使能ACPI设备258检测到事件本身时所生成的相同的中断。但是,在该情况下,中断是基于接收到定义事件消息而不是基于由事件使能ACPI设备258所检测到的事件而生成的。
计算***200可以包括操作***220,后者具有中断应对器222以接收并处理由定义事件应对组件262所生成的中断。在各个实施例中,操作***220和中断应对器222可以分别与操作***120和中断应对器122相同。定义事件应对组件262可以生成***中断,并调用中断应对器222所应对的操作***220的方法或函数。***中断可以是对将计算***200从较低功率状态唤醒的方法或函数的调用,或者可以是对将计算***200置于较低功率状态的方法或函数的调用。
中断应对器222可以接收调用并处理该调用,以使得***事件发生。例如,中断应对器222可以接收对将计算***200从较低功率状态唤醒的函数的调用,并且中断应对器222可以处理所述调用,从而计算***200退出较低功率状态。在另一例子中,中断应对器222可以接收对将计算***200置于较低功率状态的函数的调用,并且中断应对器222可以处理所述调用,从而计算***200被置于较低功率状态。
图3示出了用于定制事件处理的过程流程图300。在决策框302处,一个或多个设备可以基于检测到事件或通过一个或多个接口接收到的信息确定是否已经发生了定制事件。如前所讨论,计算***或平台处理设备(例如,***100和200)可以包括任意数量的设备来检测定制事件。例如,***100和200可以包括温度传感器,其可以确定或检测计算***的温度何时高于或低于预定阈值,这表明计算***是过热还是以正常温度运行。在另一例子中,***100和200可以包括运动传感器(例如,加速计),以检测计算***的运动。在第三例子中,***100和200可以包括网络接口,其可以经由一个或多个连接从远程或耦合的设备接收指令或定制事件。
在框304处,如果检测到定制事件,则设备可以生成中断并且将所述中断发送到耦合或相关联的设备驱动器,以通知“已经发生定制事件并且在计算***上期望特定行为或动作”。每个设备均具有特定的设备驱动器,该设备驱动器可操作以将指令发送给耦合的设备并从设备接收中断。如前所讨论,每个设备驱动器可以包括中断应对组件,以接收并处理来自耦合的或连接的设备的中断。
在框306处,中断应对组件可以基于并响应于从相关联的设备接收到中断而生成通用事件消息。在一些实施例中,当从设备接收到的中断表明期望的行为是唤醒计算***时,中断应对组件可以生成通用事件消息,该通用事件消息具有将计算***从较低功率状态唤醒的信息。当从设备接收到的中断表明期望的行为是将计算***置于较低功率状态时,中断应对组件可以生成通用事件消息以将计算***置于较低功率状态。中断应对组件可以基于从设备接收到的中断和中断所表明的期望行为而生成其它类型的通用事件消息。
在各个实施例中,在框308处,中断处理单元可以将通用事件消息发送给被附接在计算***的基本输入/输出***(BIOS)中的高级配置与电源接口(ACPI)设备。如前所讨论,用于检测或接收定制事件的每个设备可以附接到虚拟ACPI设备或与其耦合,以与所述虚拟ACPI设备和BIOS的其它组件以及计算***的硬件组件传达消息。
在各个实施例中,ACPI设备可以包括具有通用事件应对组件的ACPI设备驱动器。通用事件应对组件可以从设备的设备驱动器接收通用事件消息。在框310处,通用事件应对组件可以处理通用事件消息,并基于所述通用事件消息生成定义事件消息。例如,通用事件应对组件可以基于在通用事件消息中的信息生成这样的定义事件消息:该定义事件消息具有将计算***从较低功率状态唤醒的信息。在另一例子中,当通用事件消息表明期望的行为是将计算***置于较低功率状态时,通用事件应对组件可以生成这样的定义事件消息:该定义事件消息具有将计算***置于较低功率状态的信息。
在框312处,通用事件应对组件可以将定义事件消息发送给另一ACPI设备,该另一ACPI设备能够或可操作以引起期望的行为或***事件在计算***上发生。ACPI设备可以是可以使用或配置为在计算***上引起期望的行为的事件使能ACPI设备。例如,事件使能ACPI设备可以是电源按钮设备,其可操作以检测对按钮的按压或按下,并生成指令或中断以将计算***从较低功率状态唤醒或者将计算***置于较低功率状态。
事件使能ACPI设备可以包括事件使能ACPI设备驱动器和定义事件应对组件。定义事件应对组件可以从通用事件应对组件接收定义事件消息,并且可以处理定义事件消息。具体地,在框314处,定义事件应对组件可以基于定义事件消息生成***中断。例如,若定义事件消息表明期望的行为是将计算***从较低功率状态唤醒,定义事件应对组件可以生成***中断以将计算***从较低功率状态唤醒。在第二例子中,若定义事件消息表明期望的行为是将计算***置于较低功率状态,则定义事件应对组件可以生成***中断以将计算***置于较低功率状态。
在框316处,定义事件应对组件可以将***中断发送给计算***的操作***的中断应对器。在各个实施例中,定义事件应对组件可以经由对在操作***中的方法或函数的调用来将***中断发送或传达。在框318处,中断应对器可以处理***中断。更具体地,中断应对器可以基于***中断以及由所定义的事件应对组件所调用的方法来激活期望的行为。例如,若***中断表明期望的行为是唤醒计算***,中断应对器可以引起或开始让计算***退出较低功率状态或从较低功率状态中被唤醒。在另一例子中,若***中断表明计算***将要被置于睡眠,中断应对器可以将计算***置于较低功率状态。在一些实施例中,***中断可以通过由***中断所调用的方法表明计算***将要被置于较低功率状态或者从较低功率状态被唤醒。在各个实施例中,中断应对器可以处理***中断,并且操作***可以执行期望的行为或引起期望的行为发生。计算***接下来可以等待将待要发生的定制事件包括在内的另一事件,以便处理。
图4示出了逻辑流程400的实施例。逻辑流程400可以表示本文所描述的一个或多个实施例所执行的一些或全部操作。例如,逻辑流程400可以示出***100和200所执行的操作。
在图4所示出的图示实施例中,逻辑流程400可以包括:在框405处,从非运行以(notoperativeto)在平台处理设备上直接引起事件的设备接收在平台处理设备上引起事件的中断。更具体地,中断应对组件可以接收来自设备的中断。设备可以基于检测到或接收到的定制事件来生成中断,如前所述,并且发送或调用所述中断应对组件的方法。中断应对组件可以是与生成中断的设备相关联的设备驱动器的一部分。
在框410处,逻辑流程400可以包括,基于中断并响应于接收到所述中断而生成具有信息的通用事件消息。基于所生成的中断以及定制事件,中断应对组件生成具有信息的通用事件消息以引起***事件,例如将计算***从较低功率状态唤醒或者将计算***置于较低功率状态。
中断应对组件可以将通用事件消息发送给用于与设备相关联或附接到设备的高级配置与电源接口(ACPI)设备的ACPI设备驱动器的通用事件应对组件。在一些实施例中,中断应对组件可以发送通用事件消息,作为对通用事件应对组件的方法或函数的调用。
逻辑流程400可以包括:在框415处,基于在通用事件消息中的信息,生成具有信息的定义事件消息。具体地,通用事件应对组件可以生成定义事件消息,以基于接收到的通用事件消息或中断应对组件所调用的方法而在计算设备上引起***事件。定义事件消息可以包括信息以引起***事件,例如从较低功率状态唤醒计算***或者将计算***置于较低功率状态。定义事件消息可以被发送到事件使能ACPI设备驱动器的定义事件应对组件。如前所讨论,事件使能ACPI设备和事件使能ACPI设备驱动器运行以在计算***上引起***事件。
在框420处,逻辑流程400可以包括,基于在定义事件消息中的信息,将平台处理设备的操作***中断,以在平台处理设备上引起事件。例如,定义事件消息可以包括表明基于定制事件期望唤醒事件的信息,并且定义事件应对组件可以生成中断以将计算***从较低功率状态唤醒。在另一例子中,定义事件消息可以基于定制事件包括表明期望睡眠事件的信息,并且定义事件应对组件可以生成中断以将计算***置于较低功率状态。
图5示出了用于通过计算***(例如图1的计算***100和图2的计算***200)处理定制事件的第一信号图500。第一信号图500示出了设备505、设备驱动器510、ACPI设备驱动器554、事件使能ACPI设备驱动器560以及中断应对器522。这些组件可以类似于或等同于在图1和图2中发现的类似命名的组件。
在各个实施例中,在线570处,设备505可以接收或检测定制事件。定制事件可以是由传感器、设备或接口(例如,运动检测传感器、加速计、温度传感器、网络接口设备、触敏传感器、麦克风、电池或电源检测传感器、光检测传感器等)检测或接收到的任意事件。在各个实施例中,定制事件可以是在与设备505相耦合的计算***已启动之前或之后定义的任意事件。
在线572处,设备505可以向与设备505相关联的设备驱动器510传达已经检测或接收到定制事件的信息。在一些实施例中,设备505可以经由一个或多个信号通过与设备505耦合的计算***的一个或多个互连将信息传达给设备驱动器510。在一些实例中,设备505可以通过一个或多个互连经由中断传达信息。然而,各个实施例并不局限于该种方式,并且可以以任意方式通过任意信号技术将信息传达给设备驱动器510。
在线574处,设备驱动器510可以基于定制事件确定定制事件将要在计算***上激活或引起***事件,并生成通用事件消息。在各个实施例中,设备驱动器510可以确定在计算设备上是否将要激活***事件(例如睡眠事件或唤醒事件)。然而,在计算***上还可以激活其它***事件,并且各个实施例并不局限于此。
通用事件消息可以被生成,并且包括用于确定通过计算设备的其它组件将要在计算***上激活的***事件的信息。在线576处,设备驱动器510可以将通用事件消息传达给所耦合或附接的ACPI设备和ACPI设备驱动器554。在一些实施例中,设备驱动器510可以经由对ACPI设备驱动器554的方法或函数进行中断调用,来传达通用事件消息。例如,当***事件是唤醒事件时,设备驱动器510可以调用ACPI设备驱动器554的唤醒源方法或函数;或者当***事件是睡眠事件时,调用ACPI设备驱动器554的睡眠源方法或函数。然而,各个实施例并不局限于该种方式,并且设备驱动器可以通过用于在计算***的组件之间传达消息或通知的任意信令协议来传达通用事件消息。
在一些实施例中,在线578处,ACPI设备驱动器554可以生成定义事件消息。定义事件消息可以包括表明将在计算***上激活***事件的信息,并且可以基于通用事件消息中的信息。在一些实施例中,在定义事件消息中包含的信息可以基于由从设备驱动器510接收到的中断所调用的方法或函数。
在线580处,ACPI设备驱动器554可以将定义事件消息发送给事件使能ACPI设备和可操作以在计算***上直接引起***事件的事件使能ACPI设备驱动器560。可以经由任意通信消息收发协议通过计算***的一个或多个互连将定义事件消息发送给事件使能ACPI设备驱动器560。
在线582处,事件使能ACPI设备驱动器560可以基于在定义事件消息中的信息生成中断以在计算***上激活***事件。在线584处,中断可以调用操作***中的方法或函数并由中断应对器522进行应对。所述中断可以基于在定义事件消息中的信息调用函数,以在计算***上激活***事件。例如,当***事件是唤醒事件时,事件使能ACPI设备驱动器560可以调用操作***的方法或函数来将计算***从较低功率状态唤醒;而当***事件是睡眠事件时,则调用操作***的方法或函数来将计算***置于较低功率状态。
在线586处,中断应对器522可以处理中断,并且操作***可以激活***事件。例如,当***事件是唤醒事件时,操作***可以使得计算***退出较低功率状态;并且当***事件是睡眠事件时,将计算***置于较低功率状态。
图6示出了适于实现前述各个实施例的示例性计算架构600的实施例。在一个实施例中,计算架构600可以包括或实现为计算设备100和计算设备200的一部分。
如该申请中所使用的,术语“***”和“组件”意图指代计算机相关实体、任意硬件、硬件和软件的组合、软件、或者执行的软件,其例子由示例性计算架构600提供。例如,组件可以是但不限于:在处理器上运行的过程、处理器、硬盘驱动、(光和/或磁存储介质的)多个存储驱动、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在服务器上运行的应用和服务器均可以是组件。一个或多个组件可以驻留在过程和/或执行线程中,并且组件可以集中在一个计算机上和/或分布在两个或更多计算机之间。此外,组件可以通过各种类型的通信介质以通信方式彼此耦合以协调操作。所述协调可能涉及信息的单向或双向交换。例如,组件可以以通过通信介质传达的信号形式来将信息进行传达。所述信息可以实现为分配给各个信号线的信号。在这种分配中,每个消息是信号。然而,其它的实施例可以替代地采用数据消息。这种数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口以及总线接口。
计算架构600包括各种共通计算元件,例如,一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片组、控制器、***组件、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等。然而,实施例并不局限于由计算架构600的实现方式。
如图6所示,计算架构600包括处理单元604、***存储器606以及***总线608。处理单元604可以是各种商用处理器中的任意一种。
***总线608提供了用于***组件(包括但不限于***存储器606)到处理单元604的接口。***总线608可以是若干类型的总线结构中的任意一种,所述总线结构还可以连接到存储器总线(具有或不具有存储器控制器)、***组件总线以及使用多种商业总线架构中任一种的局部总线。接口适配器可以经由槽架构连接到***总线608上。示例性槽架构可以包括但不限于:加速图形端口(AGP)、插件总线、(扩展)工业标准架构((E)ISA)、微通道架构(MCA)、NuBus、***组件互连(扩展)(PCI(X))、快速PCI、个人计算机存储卡国际协会(PCMCIA)等。
计算架构600可以包括或实现各种制品。制品可以包括计算机可读存储介质到存储逻辑器件。计算机可读存储介质的例子可以包括能够存储电子数据的任意有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等。逻辑器件的例子可以包括利用任意适当类型的代码实现的可执行计算机程序指令,所述代码例如源代码、变异代码、翻译代码、可执行代码、静态代码、动态代码、面向对象代码、可视化代码等。实施例还可以至少部分地实现为包含于非瞬态计算机刻度介质中或上的指令,其可以由一个或多个处理器读取并执行以使能本文所描述的操作的性能。
***存储器606可以包括各种类型的一个或多个高速存储器单元形式的计算机可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、氧化硅氧氮化物(SONOS)存储器、磁卡或光卡、设备阵列(例如,独立磁盘冗余阵列(RAID)驱动)、固态存储器设备(例如,USB存储器、固态驱动(SSD))以及任意其它类型的适于存储信息的存储介质。在图6所示的图示实施例中,***存储器606能够包括非易失性存储器610和/或易失性存储器612。基本输入/输出***(BIOS)可以存储于非易失性存储器610中。
计算机602可以包括一个或多个低速存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动(HDD)614、软磁盘驱动(FDD)616以读取或写入可移除磁盘618,以及光盘驱动620以读取或写入可移除光盘622(例如,CD-ROM或DVD)。HDD614、FDD616和光盘驱动620可以分别通过HDD接口624、FDD接口626和光驱动接口628连接到***总线608。用于外部驱动实现方式的HDD接口624可以包括通用串行总线(USB)和IEEE1394接口技术两者中的至少一者或两者。
驱动及相关联的计算机可读介质提供了易失性和/或非易失性存储数据存储设备、数据结构、计算机可执行指令等。例如,多个程序模块可以存储于驱动和存储器单元610、612中,包括操作***630、一个或多个应用程序632、其它程序模块634以及程序数据636。在一个实施例中,一个或多个应用程序632、其它程序模块634和程序数据636可以包括例如***100的各种应用和/或组件。
用户能够通过一个或多个有线/无线输入设备将命令和信息输入到计算机602,所述输入设备例如是键盘638以及诸如鼠标640的定点设备。其它输入设备可以包括麦克风、红外(IR)远程控制、射频(RF)远程控制、游戏板、手写笔、读卡器、软件狗、指纹读取器、手套、绘图板、游戏杆、键盘、视网膜阅读器、触摸屏(例如,电容、电阻等)、轨迹球、轨迹板、传感器、触笔等。这些和其它输入设备通常通过与***总线608耦合的输入设备接口642连接到处理单元604,但是能够通过其它接口(例如,并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等)进行连接。
监视器644或其它类型的显示器设备也可以经由诸如视频适配器646的接口连接到***总线608。监视器644可以在计算机602的内部或外部。除了监视器644外,计算机通常还包括其它***输出设备,例如扬声器、打印机等。
计算机602可以利用逻辑连接经由到一个或多个远程计算机(例如,远程计算机648)的有线和/或无线通信在联网环境中操作。远程计算机648可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐家电、对等设备或其它常见网络节点,并通常包括关于计算机602描述的多个或全部元件,但是出于简洁的目的,仅示出了存储器/存储设备650。所描绘的逻辑连接包括到局域网(LAN)652和/或较大网络(例如,广域网(WAN)654)的有线/无线连接。这种LAN和WAN联网环境在办公室和公司中是常见的,并且利于企业范围的计算机网络,例如内联网,其全部都可以连接到例如因特网的全球通信网络上。
当在LAN联网环境中使用时,计算机602通过有线和/或无线通信网络接口或适配器656连接到LAN652。适配器656能够促进到LAN652的有线和/或无线通信,其还可以包括其上布置的无线接入点以与适配器656的无线功能进行通信。
当在WAN联网环境中使用时,计算机602可以包括调制解调器658,或者链接到WAN654上的通信服务器上,或者具有用于通过WAN654建立通信的其它单元(例如,通过因特网)。调制解调器658可以是内部或外部以及有线和/或无线设备,其经由输入设备接口642连接到***总线608上。在联网环境中,相对计算机602或其部分描述的程序模块可以存储于远程存储器/存储设备650中。可以理解的是,所示出的网络连接是示例性的,并且可以使用其它单元建立计算机之间的通信链路。
计算机602可操作以利用标准IEEE802族与有线和无线设备或实体进行通信,例如可操作地布置于无线通信(例如,IEEE802.11空中调制技术)中的无线设备。这至少包括WiFi(或无线保真)、WiMax以及BluetoothTM无线技术等。因此,通信可以是预定义的结构,如具有传统网络,或者简单地是至少两个设备之间的自组织通信。WiFi网络使用称为IEEE802.11x(a、b、g、n等)的无线电技术,以提供安全、可靠、快速的无线连接。WiFi网络可以用于将计算机彼此连接或将计算机连接到因特网以及有线网络(其使用IEEE802.3相关介质和函数)。
图7示出了***700的一个实施例。在各个实施例中,***700可以表示适于与本文描述的一个或多个实施例一起使用的***或架构,例如图1的计算***100、图2的计算***200、图3的逻辑流程300、图4的逻辑流程400以及图5的信令500。实施例并不局限于此方面。
如图7所示,***700可以包括多个元件。可以根据设计或性能约束的给定集合,来使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块或其任意组合来实现一个或多个元件。虽然图7通过例子示出了在特定拓扑中有限数量的元件,但可以理解的是可以根据给定实现方式,在***700中使用任意适当拓扑中的更多或更少元件。实施例并不局限于该上下文。
在各个实施例中,***700可以包括处理器电路702。可以使用任意处理器、处理电路或逻辑设备来实现处理器电路702。
在一个实施例中,***700可以包括存储器单元704以耦合到处理器电路702上。根据给定实现方式,存储器单元704可以经由通信总线743或者通过处理器电路702和存储器单元704之间的专用通信总线耦合到处理器电路702上。可以使用能够存储数据的任意机器可读或计算机可读介质(包括易失性和非易失性存储器)实现存储器单元704。在一些实施例中,机器可读或计算机可读介质可以包括非瞬态介质。实施例并不局限于该上下文。
在各个实施例中,***700可以包括收发机744。收发机744可以包括能够利用各种适当的无线通信技术发送和接收信号的一个或多个无线电装置。这种技术可以涉及跨一个或多个无线网络进行通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨上述网络通信时,收发机744可以根据任意版本的一个或多个适用标准进行操作。实施例并不局限于该上下文。
在各个实施例中,***700可以包括显示器745。显示器745可以构成能够显示从处理器电路702接收到的信息的***示设备。
在各个实施例中,***700可以包括存储设备746。存储设备746可以实现为非易失性存储设备,例如但不限于:磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附接的存储设备、闪速存储器、电池备份SDRAM(同步DRAM)和/或网络可访问存储设备。在实施例中,存储设备746可以包括用于例如当包括多个硬驱动时增加对有价值数字介质的存储性能增强保护的技术。存储设备746的其它例子可以包括硬盘、软盘、光盘只读存储器(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、光盘磁介质、磁光介质、可移除存储器卡或盘、各种类型的DVD设备、磁带设备、卡带设备等。实施例并不局限于该上下文。
在各个实施例中,***700可以包括一个或多个I/O适配器747。I/O适配器747的例子可以包括通用串行总线(USB)端口/适配器、IEEE1394火线端口/适配器等。实施例并不局限于该上下文。
详细公开现在转向提供属于其它实施例的例子。下文提供的例子1-27意在示例性的而非限制性的。
各个实施例一般指向这样的***、设备、装置和方法:从非运行以在平台处理设备上直接引起***事件的设备接收在平台处理设备上引起***事件的中断,基于中断并响应于接收中断而生成具有信息的通用事件消息。此外,可以基于在通用事件消息中的信息生成具有信息的定义事件消息,并且可以基于在定义事件消息中的信息,将中断发送给平台处理设备的操作***,以在平台处理设备上引起事件。
在第一例子中,一种装置或计算***可以包括:存储器,收发机,处理电路,在处理电路上执行的中断应对组件,所述中断应对组件用于从非运行以直接引起***事件的设备接收在所述装置上引起***事件的中断,响应于接收到所述中断而生成通用事件消息,并将所述通用事件消息发送给通用事件应对组件。所述装置还可以包括在所述处理电路上执行的通用事件应对组件,用于接收所述通用事件消息,响应于接收到所述通用事件消息而生成定义事件消息,并将所述定义事件消息发送给定义事件应对组件。所述装置还可以包括在所述处理电路上执行的定义事件应对组件,用于从所述通用事件应对组件接收所述定义事件消息,并生成在所述装置上引起所述***事件的***中断。
在第二例子中并根据第一例子,装置或计算***可以包括设备,用于检测或接收定制事件,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令;以及所述装置可以包括中断应对组件,以基于所述设备检测或接收所述定制事件而接收所述中断。
在第三例子中并根据前述任一例子,装置或计算***可以包括:定义事件应对组件,将在所述装置上引起所述***事件的所述***中断发送给操作***的中断应对器,并且所述操作***在所述装置上执行所述***事件。
在第四例子中并根据前述任一例子,装置或计算***可以包括***事件,***事件包括唤醒事件或睡眠事件,并且当所述***事件是唤醒事件时,所述操作***开始使得所述装置退出较低功率状态;并且当所述***事件是睡眠事件时,所述操作***开始将所述装置置于较低功率状态。
在第五例子中并根据前述任一例子,装置或计算***可以包括通用事件消息和定义事件消息,其包括用于确定所述***事件是唤醒事件还是睡眠事件的信息,并且所述定义事件应对组件基于所述信息生成中断。
在第六例子中并根据前述任一例子,装置或计算***可以包括:与高级电源与配置接口(ACPI)兼容的基本输入/输出***(BIOS),其包括ACPI设备和事件使能ACPI设备,所述ACPI设备耦合所述事件使能ACPI设备以及所述设备,并且所述事件使能ACPI设备运行以在所述装置上直接引起所述***事件。
在第七例子中并根据前述任一例子,装置或计算***可以包括ACPI设备,所述ACPI设备包括ACPI设备驱动器,所述ACPI设备驱动器包括所述通用事件应对组件,并且所述事件使能ACPI设备包括事件使能ACPI设备驱动器,所述事件使能ACPI设备驱动器包括从所述通用事件应对组件接收定义事件消息的所述定义事件应对组件。
在第八例子中并根据前述任一例子,装置或计算***可以包括所述ACPI设备,其包括虚拟ACPI设备,所述虚拟ACPI设备附接到所述设备,并为所述设备提供到与所述ACPI兼容的BIOS以及所述事件使能ACPI设备的接口。
在第九例子中并根据前述任一例子,装置或计算***可以包括事件使能ACPI设备,其包括以下中的至少一个:电源按钮设备、睡眠按钮设备或人机接口设备。
在第十例子中并根据前述任一例子,一种计算机实现的方法可以包括:从非运行以在平台处理设备上直接引起***事件的设备接收在所述平台处理设备上引起所述***事件的中断;基于所述中断并响应于接收到所述中断而生成具有信息的通用事件消息;基于在所述通用事件消息中的信息,生成具有所述信息的定义事件消息;以及基于在所述定义事件消息中的信息,中断所述平台处理设备的操作***,以在所述平台处理设备上引起***事件。
在第十一例子中并根据前述任一例子,计算机实现的方法可以包括:检测或接收定制事件,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令。
在第十二例子中并根据前述任一例子,计算机实现的方法可以包括:将在所述平台处理设备上引起所述***事件的所述***中断传达给操作***的中断应对器;并且在所述平台处理设备上执行所述***事件。
在第十三例子中并根据前述任一例子,计算机实现的方法可以包括***事件,其包括唤醒事件或睡眠事件,并且所述方法包括:当所述***事件是唤醒事件时,开始使得所述平台处理设备退出较低功率状态;并且当所述***事件是睡眠事件时,开始将所述平台处理设备置于较低功率状态。
在第十四例子中并根据前述任一例子,计算机实现的方法可以包括:基于通用事件消息和定义事件消息中的信息来确定所述***事件是唤醒事件还是睡眠事件;以及基于所述确定生成所述***中断。
在第十五例子中并根据前述任一例子,计算机实现的方法可以包括:将高级配置与电源接口(ACPI)设备与所述平台处理设备相关联,以为运行以在所述平台处理设备上直接引起所述***事件的事件使能ACPI设备提供接口。
在第十六例子中并根据前述任一例子,一种物品包括含有多条指令的计算机可读存储介质,所述指令当被执行时使得处理器组件能够用于:从非运行以在平台处理设备上直接引起***事件的设备接收在所述平台处理设备上引起所述***事件的中断;基于所述中断并响应于接收到所述中断而生成具有信息的通用事件消息;基于在所述通用事件消息中的信息,生成具有所述信息的定义事件消息;以及基于在所述定义事件消息中的信息,中断所述平台处理设备的操作***,以在所述平台处理设备上引起所述***事件。
在第十七例子中并根据前述任一例子,物品可以包括当被执行时使得所述处理器组件能够用于以下操作的指令:检测或接收定制事件,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令。
在第十八例子中并根据前述任一例子,物品可以包括当被执行时使得所述处理器组件能够用于以下操作的指令:将在所述平台处理设备上引起所述***事件的所述***中断传达给操作***的中断应对器;并且在所述平台处理设备上执行所述***事件。
在第十九例子中并根据前述任一例子,事件可以包括唤醒事件或睡眠事件,并且所述物品可以包括当被执行时使得所述处理器组件能够用于以下操作的指令:当所述***事件是唤醒事件时,开始使得所述平台处理设备退出较低功率状态;并且当所述***事件是睡眠事件时,开始将所述平台处理设备置于较低功率状态。
在第二十例子中并根据前述任一例子,物品可以包括当被执行时使得所述处理器组件能够用于以下操作的指令:基于通用事件消息和定义事件消息中的信息来确定所述***事件是唤醒事件还是睡眠事件;并且基于所述确定生成所述***中断。
在第二十一例子中并根据前述任一例子,物品可以包括当被执行时使得处理器组件能够用于以下操作的指令:将高级配置与电源接口(ACPI)设备与所述平台处理设备相关联,以为运行以在所述平台处理设备上直接引起所述***事件的事件使能ACPI设备提供接口。
在第二十二例子中并根据前述任一例子,装置或设备可以包括用于从非运行以直接引起***事件的设备接收在所述装置上引起所述***事件的中断的单元,用于基于所述中断并响应于接收到所述中断,而生成具有信息的通用事件消息的单元,用于基于在所述通用事件消息中的信息,生成具有信息的定义事件消息的单元;以及用于基于在所述定义事件消息中的信息,中断所述平台处理设备的操作***以在所述平台处理设备上引起所述***事件的单元。
在第二十三例子中并根据前述任一例子,装置可以包括:用于由所述设备检测或接收定制事件的单元,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令。
在第二十四例子中并根据前述任一例子,装置可以包括:用于将在所述平台处理设备上引起所述***事件的所述***中断传达给操作***的中断应对器的单元;以及用于在所述平台处理设备上执行所述***事件的单元。
在第二十五例子中并根据前述任一例子,所述***事件可以包括唤醒事件或睡眠事件,并且所述装置可以包括:用于当所述***事件是唤醒事件时开始使得所述平台处理设备退出较低功率状态的单元;以及用于当所述***事件是睡眠事件时开始将所述平台处理设备置于较低功率状态的单元。
在第二十六例子中并根据前述任一例子,装置可以包括:用于基于通用事件消息和定义事件消息中的信息来确定所述***事件是唤醒事件还是睡眠事件的单元;以及用于基于所述确定生成所述***中断的单元。
在第二十七例子中并根据前述任一例子,装置可以包括:用于将高级配置与电源接口(ACPI)设备与所述平台处理设备相关联以为运行以在所述平台处理设备上直接引起所述***事件的事件使能ACPI设备提供接口的单元。
可以利用表达“一个实施例”或“实施例”以及其派生词描述一些实施例。这些术语表示根据实施例描述的特定特征、结构或特性包含于至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”不必指代同一实施例。此外,可以使用表达“耦合”和“连接”及其派生词描述一些实施例。这些术语不必用作彼此的同义词。例如,可以利用术语“连接”和/或“耦合”来表明两个或更多元件彼此直接物理或电接触来描述一些实施例。然而,术语“耦合”还可以表示两个或更多元件彼此并不直接接触,但仍然彼此协作或互动。
需要强调的是,提供本公开的摘要是为了让读者快速确定技术公开的本质。可以理解的是,所述摘要并不用于解释或限制权利要求的范围或含义。另外,在前述详细描述中,可以看到在单个实施例中将各个特征分组到一起以使得本公开条理化。所公开的方法并不应被解释为反映“所要求保护的实施例必需比每个权利要求中明确表述的更多的特征”的意图。而是,如后续权利要求反映的,发明主题在于比单个公开实施例的所有特征更少的特征。因此,后续权利要求并入到具体实施方式中,每个权利要求自身作为单独的实施例。在附加权利要求中,术语“包括(including)”和“其中(inwhich)”分别用作各个术语“包括(comprising)”和“其中(wherein)”的简明英语等价词。此外,术语“第一”、“第二”、“第三”等仅用作标签,并不意图在其对象上施加数量要求。
以上所描述的包括公开架构的例子。自然,其不可能描述组件和/或方法的每个可想到的组合,但是本领域普通技术人员可以想到多个其它组合和置换。因此,新颖的架构意图涵盖所有这样的落入随附权利要求的精神和范围内的替代、修改和变型。
Claims (21)
1.一种装置,包括:
处理电路;
在所述处理电路上执行的中断应对组件,用于从非运行以直接引起***事件的设备接收在所述装置上引起所述***事件的中断,响应于接收到所述中断而生成通用事件消息,并将所述通用事件消息发送给通用事件应对组件;
在所述处理电路上执行的所述通用事件应对组件,用于接收所述通用事件消息,响应于接收到所述通用事件消息而生成定义事件消息,并将所述定义事件消息发送给定义事件应对组件;以及
在所述处理电路上执行的所述定义事件应对组件,用于从所述通用事件应对组件接收所述定义事件消息,并生成在所述装置上引起所述***事件的***中断。
2.根据权利要求1所述的装置,所述设备检测或接收定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令;以及
所述中断应对组件基于所述设备检测或接收所述定制事件而接收所述中断。
3.根据权利要求1或2所述的装置,所述定义事件应对组件将在所述装置上引起所述***事件的所述***中断发送给操作***的中断应对器,并且所述操作***在所述装置上执行所述***事件。
4.根据权利要求3所述的装置,所述***事件包括唤醒事件或睡眠事件,并且当所述***事件是唤醒事件时,所述操作***开始使得所述装置退出较低功率状态;并且当所述***事件是睡眠事件时,所述操作***开始将所述装置置于较低功率状态。
5.根据权利要求4所述的装置,所述通用事件消息和所述定义事件消息包括用于确定所述***事件是唤醒事件还是睡眠事件的信息,并且所述定义事件应对组件基于所述信息生成所述中断。
6.根据权利要求1或2所述的装置,包括:
与高级电源与配置接口(ACPI)兼容的基本输入/输出***(BIOS)包括ACPI设备和事件使能ACPI设备,所述ACPI设备耦合所述事件使能ACPI设备以及所述设备,并且所述事件使能ACPI设备运行以在所述装置上直接引起所述***事件。
7.根据权利要求6所述的装置,所述ACPI设备包括ACPI设备驱动器,所述ACPI设备驱动器包括所述通用事件应对组件,并且所述事件使能ACPI设备包括事件使能ACPI设备驱动器,所述事件使能ACPI设备驱动器包括从所述通用事件应对组件接收所述定义事件消息的所述定义事件应对组件。
8.根据权利要求6所述的装置,所述ACPI设备包括虚拟ACPI设备,所述虚拟ACPI设备附接到所述设备,并为所述设备提供到与所述ACPI兼容的BIOS以及所述事件使能ACPI设备的接口。
9.根据权利要求6所述的装置,所述事件使能ACPI设备包括以下中的至少一个:电源按钮设备、睡眠按钮设备或人机接口设备。
10.一种计算机实现的方法,包括:
从非运行以在平台处理设备上直接引起***事件的设备接收在所述平台处理设备上引起所述***事件的中断;
基于所述中断并响应于接收到所述中断而生成具有信息的通用事件消息;
基于在所述通用事件消息中的信息,生成具有所述信息的定义事件消息;以及
基于在所述定义事件消息中的信息,中断所述平台处理设备的操作***,以在所述平台处理设备上引起所述***事件。
11.根据权利要求10所述的计算机实现的方法,包括:
由所述设备检测或接收定制事件,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令。
12.根据权利要求10或11所述的计算机实现的方法,包括:
将在所述平台处理设备上引起所述***事件的***中断传达给操作***的中断应对器;并且
在所述平台处理设备上执行所述***事件。
13.根据权利要求12所述的计算机实现的方法,所述***事件包括唤醒事件或睡眠事件,并且所述方法包括:当所述***事件是唤醒事件时,开始使得所述平台处理设备退出较低功率状态;并且当所述***事件是睡眠事件时,开始将所述平台处理设备置于较低功率状态。
14.根据权利要求13所述的计算机实现的方法,包括:
基于通用事件消息和定义事件消息中的信息来确定所述***事件是唤醒事件还是睡眠事件;以及
基于所述确定生成所述***中断。
15.根据权利要求10或11所述的计算机实现的方法,包括:
将高级配置与电源接口(ACPI)设备与所述平台处理设备相关联,以为运行以在所述平台处理设备上直接引起所述***事件的事件使能ACPI设备提供接口。
16.一种物品,包括含有多条指令的计算机可读存储介质,所述指令当被执行时使得处理器组件能够用于:
从非运行以在平台处理设备上直接引起***事件的设备接收在所述平台处理设备上引起所述***事件的中断;
基于所述中断并响应于接收到所述中断,生成具有信息的通用事件消息;
基于在所述通用事件消息中的信息,生成具有所述信息的定义事件消息;以及
基于在所述定义事件消息中的信息,中断所述平台处理设备的操作***,以在所述平台处理设备上引起所述***事件。
17.根据权利要求16所述的物品,包括当被执行时使得所述处理器组件能够用于以下操作的指令:
处理定制事件,所述定制事件包括以下中的至少一个:检测高于热阈值的热条件,检测运动事件,通过接口接收事件消息,以及通过麦克风接收命令。
18.根据权利要求16或17所述的物品,包括当被执行时使得所述处理器组件能够用于以下操作的指令:
将在所述平台处理设备上引起所述***事件的所述***中断传达给操作***的中断应对器;以及
在所述平台处理设备上执行所述***事件。
19.根据权利要求16或17所述的物品,所述***事件包括唤醒事件或睡眠事件,并且所述物品包括当被执行时使得所述处理器组件能够用于以下操作的指令:当所述事件是唤醒事件时,开始使得所述平台处理设备退出较低功率状态;并且当所述事件是睡眠事件时,开始将所述平台处理设备置于较低功率状态。
20.根据权利要求19所述的物品,包括当被执行时使得所述处理器组件能够用于以下操作的指令:
基于通用事件消息和定义事件消息中的信息来确定所述***事件是唤醒事件还是睡眠事件;并且
基于所述确定生成所述***中断。
21.根据权利要求16或17所述的物品,包括当被执行时使得所述处理器组件能够用于以下操作的指令:
将高级配置与电源接口(ACPI)设备与所述平台处理设备相关联,以为运行以在所述平台处理设备上直接引起所述***事件的事件使能ACPI设备提供接口。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/070004 WO2015072992A1 (en) | 2013-11-14 | 2013-11-14 | Techniques for processing custom events |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105637494A true CN105637494A (zh) | 2016-06-01 |
Family
ID=53057775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380080241.5A Pending CN105637494A (zh) | 2013-11-14 | 2013-11-14 | 用于处理定制事件的技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10394623B2 (zh) |
EP (1) | EP3069256A4 (zh) |
CN (1) | CN105637494A (zh) |
WO (1) | WO2015072992A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
CN111221402A (zh) * | 2018-11-26 | 2020-06-02 | 超威半导体(上海)有限公司 | 多层低功率状态 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064529A1 (en) * | 2004-09-23 | 2006-03-23 | International Business Machines Corporation | Method and system for controlling peripheral adapter interrupt frequency by transferring processor load information to the peripheral adapter |
US20090055665A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Power Control of Servers Using Advanced Configuration and Power Interface (ACPI) States |
CN101739369A (zh) * | 2008-11-13 | 2010-06-16 | 索尼株式会社 | 中断检测装置和信息处理*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905900A (en) * | 1997-04-30 | 1999-05-18 | International Business Machines Corporation | Mobile client computer and power management architecture |
US6792491B2 (en) | 2001-12-21 | 2004-09-14 | Intel Corporation | Invoking ACPI source language code from interrupt handler |
US7051137B2 (en) * | 2002-10-31 | 2006-05-23 | Intel Corporation | Event delivery |
US7424632B2 (en) * | 2004-02-13 | 2008-09-09 | Microsoft Corporation | Systems and methods that facilitate state machine power and wake state management |
US7895309B2 (en) | 2006-01-11 | 2011-02-22 | Microsoft Corporation | Network event notification and delivery |
US7953996B2 (en) | 2006-12-18 | 2011-05-31 | Hewlett-Packard Development Company, L.P. | ACPI to firmware interface |
CN104169879B (zh) | 2012-04-24 | 2019-01-04 | 英特尔公司 | 用于动态中断重新配置的方法和计算机*** |
US9439142B2 (en) * | 2013-03-15 | 2016-09-06 | Samsung Electronics Co., Ltd. | Power saving for low latency deterministic networks in wireless personal area networks |
-
2013
- 2013-11-14 WO PCT/US2013/070004 patent/WO2015072992A1/en active Application Filing
- 2013-11-14 EP EP13897514.9A patent/EP3069256A4/en not_active Withdrawn
- 2013-11-14 US US15/026,137 patent/US10394623B2/en active Active
- 2013-11-14 CN CN201380080241.5A patent/CN105637494A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064529A1 (en) * | 2004-09-23 | 2006-03-23 | International Business Machines Corporation | Method and system for controlling peripheral adapter interrupt frequency by transferring processor load information to the peripheral adapter |
US20090055665A1 (en) * | 2007-08-22 | 2009-02-26 | International Business Machines Corporation | Power Control of Servers Using Advanced Configuration and Power Interface (ACPI) States |
CN101739369A (zh) * | 2008-11-13 | 2010-06-16 | 索尼株式会社 | 中断检测装置和信息处理*** |
Also Published As
Publication number | Publication date |
---|---|
EP3069256A4 (en) | 2017-04-26 |
WO2015072992A1 (en) | 2015-05-21 |
US10394623B2 (en) | 2019-08-27 |
EP3069256A1 (en) | 2016-09-21 |
US20160253222A1 (en) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589336B (zh) | 多处理器设备 | |
TWI502377B (zh) | 行動裝置以及於行動裝置上運行兩種平台系統或應用程式的方法 | |
TWI590041B (zh) | 將電腦系統從睡眠狀態喚醒的方法及設備 | |
KR102294180B1 (ko) | 전자장치 및 전자장치의 전원제어 방법 | |
KR102314673B1 (ko) | 서버, 전자 장치 및 전자 장치의 정보 제공 방법 | |
KR102465543B1 (ko) | 어플리케이션 및 컴포넌트를 제어하는 방법 및 전자장치 | |
CN104076903A (zh) | 推迟挂起 | |
CN113703799B (zh) | 计算设备及其bios更新方法和介质 | |
US9632692B2 (en) | Method and system to implement a quasi-user interface for applications on an electronic device | |
CN105993001A (zh) | 用于在操作***之间切换的技术 | |
EP2835717A2 (en) | User device and method to process sensor output using a plurality of processors | |
CN105739847A (zh) | 智能电子装置、智能电子装置唤醒屏幕的***与方法 | |
CN104699535B (zh) | 一种信息处理方法及电子设备 | |
CN105637494A (zh) | 用于处理定制事件的技术 | |
CN101984644A (zh) | 基于Android操作***手机的温度报警方法 | |
CN105278942B (zh) | 组件管理方法及装置 | |
CN104024981A (zh) | 用于导致与热补救相关联的功耗降低的***和方法 | |
CN112069843A (zh) | 射频信号处理方法、装置和电子设备 | |
TW201017534A (en) | Computer system and method for transmitting system information of configuration management program thereof | |
JP2015122030A (ja) | 情報処理装置、監視プログラム及び監視方法 | |
WO2020113469A1 (zh) | 开机检测方法、开机检测装置及移动终端 | |
CN103984543A (zh) | 一种在国产飞腾处理器上实现待机、休眠及唤醒的方法 | |
CN102591467A (zh) | 一种具有自我管理功能的键盘及其管理方法 | |
KR102417186B1 (ko) | 노트북 컴퓨터의 동작 방법 | |
US10429988B2 (en) | Touch screen support by emulating a legacy device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |
|
RJ01 | Rejection of invention patent application after publication |