进入安全系统环境的定向唤醒的制作方法

文档序号:6498194阅读:240来源:国知局
进入安全系统环境的定向唤醒的制作方法
【专利摘要】本文公开了用于定向唤醒进入安全系统环境的处理器、方法和系统的诸个实施例。在一个实施例中,处理器包括解码单元,控制单元,消息传递单元。解码单元用于接收安全系统环境唤醒指令。控制单元用于为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处理器设置唤醒抑制指示符。消息传递单元用于将唤醒消息发送至多个响应逻辑处理器,其中该唤醒消息将被设置有所述唤醒抑制指示符的多个响应逻辑处理器的每个响应逻辑处理器所忽略。
【专利说明】进入安全系统环境的定向唤醒

【技术领域】
[0001] 本公开文本属于信息处理领域,并且更具体地,属于信息处理系统中的安全性领 域。

【背景技术】
[0002] 信息处理系统,诸如那些包括来自英特尔公司的英特尔酷睿⑧处理器家族的处 理器之类的,可支持在安全系统环境内的操作。安全系统环境可包括可信部分和不可信部 分。该系统的裸平台硬件以及可信软件可被包括于可信部分中。从不可信部分至可信部分 源的直接访问可被阻止,以保护该系统可能包含的任何秘密免于被发现或更改。这些秘密 可包括在该信息处理系统上生成的或存储的密码、密钥以及私人的或保密的信息。
[0003] 经由安全系统进入协议的执行,该系统的裸平台硬件可被包括在可信部分或域 中。例如,初始化处理器可执行安全进入("SENTER")指令,该系统中的所有代理必须按顺 序对安全进入指令进行适当响应,为了该协议能够成功。这些响应代理可被阻止在安全输 入过程中执行任何程序指令或处理任何外部事务,由此,初始化处理器可:验证签名密码模 块是认证的及可信的,执行该签名密码模块来配置系统以支持可信操作,(使用哈希扩展功 能加密地)测量并随后初始化已测量的虚拟机监视器("MVMM")的执行。该MVMM可创造 一个或多个虚拟机环境,在该虚拟机环境中运行不可信软件,如此,不可信软件就不具备对 系统资源的直接访问。
[0004] 附图描沭
[0005] 本发明是通过附随附图中的示例而非限制来进行说明的。
[0006] 图1示出信息处理系统,其中本发明的实施例可以是现存的和/或可操作。
[0007] 图2示出处理器,其中本发明的实施例可以是现存的和/或可操作。
[0008] 图3示出芯片集,其中本发明的实施例可以是现存的和/或可操作。
[0009] 图4示出根据本发明实施例的定向唤醒进入安全系统环境的方法。

【具体实施方式】
[0010] 下文描述的是用于定向唤醒进入安全系统的装置,方法以及系统的实施例。在本 说明说,诸如组件以及系统配置之类的许多具体细节是为了提供对本发明更彻底的理解而 被阐述。然而,本领域技术人员将理解的是本发明可在没有此类具体细节的情况下予以实 践。另外,一些熟知的结构,电路以及类似物并未详细示出,以避免不必要地模糊本发明。此 夕卜,本说明会使用根据一个实施例中的指令名称(例如,"SENTER")来提及指令;其他实施 例中,这些指令或相似指令可具有不同名称。
[0011] 本发明的诸个实施例可被用于安全系统环境中的功耗管理。根据本发明实施例的 技术可被用于在进入安全系统环境之后有选择地唤醒处理器以及其他代理,以便系统功耗 可予以降低。
[0012] 图1示出信息处理系统100中的本发明实施例。信息处理系统100可以是个人计 算机、大型机、便携式计算机、手持式设备、机顶盒、服务器、或者其他任何计算系统。本实施 例中,系统100包括裸平台硬件110,其进而包括处理器120U30以及140、系统存储器150、 芯片集160、令牌170、设备180、以及非易失性存储器190。
[0013] 处理器120、130以及140中的每一个处理器可代表具有一个或多个执行核的组 件,其中每个执行核可基于任何各种各样不同形式的处理器,包括通用功能微处理器(诸 如来自英特尔?酷睿?处理器家族的或来自英特尔公司其他处理器家族中的处理器),或 来自另一个公司的另一种处理器,或者专用处理器或微控制器,或者可以是可重构核(例 如,现场可编程门阵列)。虽然图1示出三个此类处理器,但系统100可包括任何数量的处 理器,每个处理器包括以任何组合形式的任何数量的执行核以及执行线程。在某些实施例 中,处理器120、130或140任何一个或所有处理器可代表在一个或多个物理处理器上运行 的独立的硬件执行线程或"逻辑处理器"。
[0014] 系统存储器150可以是其上存储有诸如数据和/或程序代码之类的信息的任何诸 如动态随机存取存储器之类的任何介质,或者处理器120、130和140可读的任何其他形式 的介质,或者此类介质的任何组合。
[0015] 芯片集160可代表任何一组电路以及逻辑,该组电路和逻辑支持存储器操作、输 入/输出("I/O")操作、配置、控制、内部或外部接口、连接、或通信功能(例如,"黏合"逻 辑和总线桥)、和/或处理器120、130以及140和/或系统100的任何相似功能。芯片集 160的独立兀件可在一块单独芯片上,一对芯片上被组合在一起,分散在多个芯片上,和/ 或被部分地、全部地、多余地、或根据分布式方法被集成至一个或多个包括处理器120U30 和140中任何一个的处理器。
[0016] 令牌170可包括可信平台模块("TPM")172以及平台配置寄存器("PCR")174。 TPM 172可以是包括微控制器的组件,用于安全地存储密钥、密码、数字证书、以及其他用于 建立和维持安全性的信息。PCR 174可包括任何数量的用于存储系统配置信息的寄存器和 /或其他储存位置。TPM 172和/或PCR 174被配置成仅可被特定代理和/或在特定条件 下被访问。令牌170和/或TPM 172和PCR 174中的所有或任何一个均可被包括于芯片集 160或系统100中的任何组件内。
[0017] 设备180可代表任何数量的任何形式的I/O设备、外围设备、或其他设备,诸如键 盘、鼠标、轨迹球、定位设备、监视器、打印机、媒体卡、网络接口、信息存储设备等等。设备 180可体现在分立组件中,或可包括于与任何其他设备相集成的组件中。在一个实施例中, 设备180可代表在多功能I/O设备、外围设备、或其他设备中的单独功能。
[0018] 处理器120、130和140、系统存储器150、芯片集160、令牌170、以及设备180可彼 此耦合或通信,根据诸如直接地或间接地通过一个或多个并行、连续、流水、异步、同步、有 线、无线、或其他总线或点对点连接之类的任何已知的方法。系统100还可包括任何数量的 附加设备、代理、组件或连接。
[0019] 图2示出处理器200,其可代表图1中处理器120、130和140中的任何一个,或根 据本发明实施例的任何其他处理器。
[0020] 处理器200可包括高速缓存210,其可以是静态随机存取存储器,或其他任何形式 的存储器,用于存储诸如从系统存储器150处复制的数据之类的信息。处理器200 (或高速 缓存210)还可包括高速缓存控制逻辑220,用于控制高速缓存210是否运作在正常模式还 是高速缓存作为随机存取存储器("CRAM")模式。正常模式中,高速缓存210响应于高速 缓存命中而满足存储器请求,响应于高速缓存未命中而替换高速缓存线,并响应于侦听请 求而使高速缓存线无效或替换高速缓存线。CRAM模式中,高速缓存210如随机存取存储器 般运作,其中在该高速缓存存储器存储范围内的请求被该高速高速缓存存储器满足,并且 该高速缓存线不因响应于侦听请求而被替换或失效。
[0021] 处理器200还可包括指令单元230、控制单元240、执行单元250、消息传递单元 260、以及储存器270。储存器270是用于存储对本发明实施例的实施有用的任何信息或参 数,并且可包括任何形式的处理器200可访问的存储器,诸如寄存器或只读或可读写存储 器的阵列,或不同形式存储器的任何组合。图2中,储存器270可代表多个储存位置,其可 以是在处理器200中被物理地分开的,诸如若干个通用功能处理器寄存器、若干个特定模 式寄存器、以及若干个机器状态储存位置。
[0022] 指令单元230可包括任何电路、逻辑、或其他硬件或结构,诸如解码器,用于接收、 识别、解码、或以其他方式接收指令。控制单元240可包括任何电路、逻辑、或其他硬件或结 构,诸如微代码、状态机逻辑、可编程逻辑,或任何其他形式的控制逻辑,用于生成控制信号 或以其他方式响应于由指令单元230接收的指令和/或消息传递单元260接收的消息而控 制处理器200。
[0023] 执行单元250可包括任何电路、逻辑、或其他硬件或结构,用于执行由指令单元 230接收的指令。执行单元250可基于由控制单元240生成的控制信号来运作。消息传递 单元260可包括任何电路、逻辑、或其他硬件或结构,用于生成消息,该消息由处理器200发 送至系统100中的其他组件或代理,并且还用于接收被系统100中的其他组件或代理发送 至处理器200的消息。
[0024] 在处理器200的一个实施例中,指令单元210可以是用来接收处理器200的指令 ("SENTER"指令),该指令使处理器200开始过程,以在系统100中建立安全环境("SENTER" 过程)。响应于该SENTER指令,控制单元240生成控制信号,以使消息传递单元260生成 "SENTER"总线消息(或系统中其他形式的消息,该系统中处理器和其他代理通过除总线以 外的方式进行通信),该"SENTER"总线消息被其他处理器和代理的消息传递单元认作是 SENTER总线消息。执行该SENTER指令并发送该SENTER总线消息的处理器或执行线程被称 为"初始化逻辑处理器"("ILP")。
[0025] 系统中接收该SENTER总线消息的每个处理器、执行线程、或其他代理被称为"响 应逻辑处理器"("RLP")。响应于该SENTER总线消息,每个RLP执行动作来为安全环境的 建立而做准备,并且允许ILP继续启动安全环境。这些动作的其中之一可以是为了它们的 消息传递单元生成"ACK"总线消息,来确认收到SENTER总线消息。另一个动作可以是在确 认收到该SENTER总线消息之后进入睡眠状态。该睡眠状态可以是如下模式:其中RLP等待 ILP指示SENTER过程的成功完成,并且不执行任何指令或不做出访问任何系统资源的任何 尝试。
[0026] 图3示出芯片集300,其可代表芯片集160,或者执行根据本发明实施例的芯片集 160功能的任何其他芯片集或组件。芯片集300可包括消息传递单元310、控制单元320、 "EXISTS"储存位置330、" JOINS"储存位置340,以及"ALL_J0INED"储存位置350。
[0027] 消息传递单元310可包括任何电路、逻辑、或其他硬件或结构,用于生成被芯片集 300发送至系统100中的其他组件或代理的消息,并用于接收由系统100中其他组件或代理 所发送的消息。控制单元320可包括任何电路、逻辑或者诸如微代码、状态机逻辑、可编程 逻辑之类的其他硬件或结构,或任何其他形式的控制逻辑,用于生成控制信号或以其他方 式响应于被消息传递单元310接收的消息而控制芯片集200。
[0028] "EXISTS" 储存位置 330, "JOINS" 储存位置 340,以及"ALL_J0INED" 储存位置 350 中的每一个可包括寄存器或任何其他形式的信息储存器,也可包括任何位数的储存器。在 一个实施例中,控制单元320可使用EXISTS储存位置330来跟踪在系统100中运作的所有 逻辑处理器以及其他代理,并且使用JOINS储存位置340来跟踪所有已经确认SENTER总线 消息的逻辑处理器以及其他代理。当系统100中的如在EXISTS储存位置330中反映的所 有处理器和其他代理已经确认SENTER总线消息,如在JOINS储存位置340中所反映的那 样,则控制单元320可在"ALL_J0INED"储存位置350中设置指示符以向ILP指示:安全环 境的初始化可继续。应注意,在SENTER过程的本说明中,如在本说明的其他部分中一样,不 被要求描述的并且促使本发明实施例的许多细节已被省略,并且该过程的许多改变是可能 的。例如,通过前端处理器总线("FSB"),ILP和RLP被连接,其中FSB事务可包括每个事 务的发起者的标识符,并且芯片集300可被连接至该FSB以跟踪所有FSB逻辑处理器或其 他总线代理。
[0029] 回到图1,非易失性储存器190可代表系统100中任何数量的分立的非易失性储存 介质,诸如半导体闪存或磁性盘或光盘。非易失性储存器190可被用于存储在本发明实施 例中使用的软件组件。例如,非易失性储存器190可存储验证码模块("ACM")192以及已 测量的虚拟机监视器("MVMM")194。
[0030] ACM 192可在SENTER过程中被一个处理器或多个处理器执行,以执行建立安全环 境中涉及的任何数量的操作。例如,ACM 192可被用于初始化、配置、并测试系统100中的 组件,以使它们参与安全环境。在一个实施例中,ACM 192可被用于测试系统100的存储器 配置(这由系统100中任何处理器,芯片集,或其他组件的存储器控制功能所控制),以确保 对系统存储器150的特定页面或部分的访问可被限制或控制,以便使保护系统100所使用 的MVMM 194和/或其他软件当被存储于系统存储器150中时可被保护。在另一个实施例 中,ACM 192可被用于验证安全环境中使用的MVMM 194和其他任何软件,并且可被用于启 动MVMM 194的执行。
[0031] MVMM 194可以是任何虚拟机监视器、管理程序、或其他此类的软件程序,它是在 SENTER过程中被调用的可信实体,用于控制一个或多个虚拟机去执行其他软件程序(常被 称为已测量的启动环境,或"MLE"),其中某些软件程序是可信的,某些是不可信的。
[0032] 为了在系统100中建立安全环境,诸如操作系统("0S")或基本输入/输出系统 ("BIOS")之类的在系统100中的处理器120、130、140或任何其他处理器上运行的系统软 件可将ACM 192以及MVMM 194从非易失性存储器190转移至系统存储器150,随后使这些 处理器的其中之一(例如处理器120)执行SENTER指令。SENTER指令的执行可使处理器 120作为ILP以:发出SENTER总线消息,轮询ALL_J0INED储存位置350直到所有RLP已确 认该SNETER总线消息,配置高速缓存122运行于CRAM模式,并将ACM 192加载至高速缓存 122。高速缓存122可被配置成运行于CRAM模式,以使得高速缓存122可作为私有安全存 储器,其中处理器120可认证ACM 192。
[0033] ACM 192可包括安全初始化("SINIT")模块,其可被用于验证多种硬件设置,并且 执行其他功能作为建立安全系统环境中的一部分。完成后,该SINIT模块可使用指令(例 如,"EXITAC"指令)以退出验证码执行模式,并跳转至MVMM执行入口点。
[0034] 在处理器200的一个实施例中,指令单元210还可用于接收处理器200的指令 ("WAKEUP"指令),来将RLP从睡眠状态中唤醒。举例而言,该指令可被MVMM用作为SENTER 过程完成的一部分。响应于该WAKEUP指令,控制单元240生成控制信号以使消息传递单元 260生成"WAKEUP"总线消息(或系统中的其他消息,该系统中处理器以及其他代理通过除 总线之外的方式进行通信),该总线消息被其他处理器的消息传递单元识别为WAKEUP总线 消息。仅有ILP可成功执行WAKEUP指令并发送WAKEUP总线消息。
[0035] 本发明实施例提供通过将唤醒消息定向至特定RLP来选择性地唤醒一个或多个 RLP。本发明实施例可被用于指定唤醒消息是被定向至哪些RLP。
[0036] 在一个实施例中,其中ILP是英特尔?奔腾?处理器家族中的处理器,SENTER和 WAKEUP指令可以是更高级别指令(例如,GETSEC)的叶函数,并且存储器270可包括该处理 器的EAX、EBX、ECX以及EDX寄存器。叶函数可被识别并进一步由这些或其他寄存器或储 存位置中的值来定义。例如,软件可预加载具有"〇4h"(其中"h"指的是十六进制表示法) 或"08h"的EAX寄存器,随后使用GETSEC指令来使处理器200分别执行SENTER或WAKEUP 指令。
[0037] 另一个由"07h"的EAX值定义的叶函数(诸如SMCTRL)可被用于提供安全执行环 境控制能力,诸如非屏蔽系统管理中断。该叶函数还可被用于切换进入定向唤醒模式以及 切换离开定向唤醒模式。在一个实施例中,EBX寄存器中有"Olh"值的被执行的SMCTRL指 令可被用于切换进入定向唤醒模式,并且EBX寄存器中有"02h"值的被执行的SMCTRL指令 可被用于切换离开定向唤醒模式。
[0038] 换言之,当不在定向唤醒模式中的WAKEUP指令的执行可导致所有RLP的唤醒,当 在定向唤醒模式中的WAKEUP指令的执行可仅导致特定RLP的唤醒。在一个实施例中,将被 唤醒的特定RLP可通过ECX和/或EDX寄存器中的值来被确定。
[0039] 每个RLP可通过诸如其相应的本地高级可编程中断控制器("APIC")的标识值之 类的唯一的标识("ID")值来识别。然后,ECX和EDX寄存器中的值可被用作掩码,由此, 在该ID值上和掩码值上进行的逻辑AND操作的结果可指示该RLP是否将被唤醒。
[0040] 例如,假设RLP可以是多处理器封装中的多核处理器的多线程核中的线程。则在 一个实施例中,可使用8位ID值,其最高两位(位7 :6)可被用于识别封装,并且中间五位 (位5:1)可被用于识别核,并且最低位(位0)可被用于识别线程。在双封装、双核超线程 启用的处理器的情况下,该ID值可被赋值如下(其中"P"指示封装号,"C"指示核号,且"T" 指示线程号):
[0041] 对 P0C0T0,将 00h (或者 0000_0000b)赋值给 ID 值。
[0042] 对 P0C0T1,将 Olh (或者 0000_0001b)赋值给 ID 值。
[0043] 对 P0C1T0,将 02h (或者 0000_0010b)赋值给 ID 值。
[0044] 对 P0C1T1,将 03h (或者 0000_0011b)赋值给 ID 值。
[0045] 对 P1C0T0,将 40h (或者 0100_0000b)赋值给 ID 值。
[0046] 对 P1C0T1,将 41h (或者 0100_0001b)赋值给 ID 值。
[0047] 对 P1C1T0,将 42h (或者 0100_0010b)赋值给 ID 值。
[0048] 对 P1C1T1,将 43h (或者 0100_0011b)赋值给 ID 值。
[0049] 假设P0C0T0是ILP,则掩码值可被用于指定哪个线程或哪几个线程在执行WAKEUP 指令后将被保持在睡眠状态。然后,如果线程的ID值上的逻辑AND操作的结果以及掩码值 是零,则该线程被唤醒。
[0050] 例如,如果所有RLP线程在执行WAKEUP指令后应被唤醒,则ECX以及EDX值应被 设置为〇h。这可被用作默认配置。或者,为了将所有RLP线程在执行WAKEUP指令后保持在 睡眠状态,ECX以及EDX值应均被设为FFFF_FFFFh。或者,为了唤醒所有具有"0"封装ID 和"3"核ID的线程,ECX值应被设为FFFF_FFF8h且EDX值应被设为FFFF_FFFFh。或者,为 了唤醒所有具有" 1"封装ID的线程,无论核或线程ID,ECX值应被设为FFFF_FF80h且EDX 值应被设为FFFF_FFFFh。
[0051] 在其他实施例中,ID和掩码值可以是不同大小和/或格式,并且可被用于确定哪 个RLP根据任何其他方法将被唤醒。
[0052] 对每个将被保持在睡眠状态的RLP来说,ILP可在芯片集160或系统100中的任 何地方内设置指示符。在一个实施例中,PIC_EVENT_INHIBIT[LT_DOORBELL]控制位可被使 用,其中LT-WAKEUP事件是在LT-D00RBELL类别下的诸个子事件的其中之一。如果该控制 位是为特定线程而设置,那么该LT-WAKEUP事件将被RLP忽略。然后,作为安全系统环境退 出过程的一部分,例如,响应于GETSEC指令的SEXIT叶函数,这些控制位将被清除,以便这 些RLP可被唤醒用于EXIT事件。
[0053] 在其他实施例中,不同逻辑约定可被用于任何或所有位、指示符、或者其他值。例 如,指示符将被清除,而非被设为指示WAKEUP事件将被忽略,等等。
[0054] 图4示出本发明的方法实施例,根据本发明实施例的定向唤醒进入安全系统 环境的方法400。为了达到说明性目的,方法400的说明可涉及图1、2或3,和/或 英特尔?酷睿⑧处理器家族的指令和总线消息,然而本发明的方法200以及其他方法实施 例并不旨在为这些参考所限制。此外,方法400可代表对诸个分立方法的编译,这些方法的 每一个均在不同位置可由不同实体或人或自动执行。
[0055] 例如,方法400中执行的特定操作可由处理器200响应于由控制单元240而执行, 或由芯片集300响应于由控制单元320生成的控制信号而执行。响应于指令单元230将指 令解码成一个或多个微指令或微操作,和/或响应于消息传递单元260接收总线消息或其 他事务,处理器200中的控制信号可以被轮流生成;并且响应于消息传递单元310接收总线 消息或其他事务,芯片集300中的控制信号可被轮流生成。
[0056] 在框410中,系统100对安全系统环境的进入可由例如BIOS、引导加载器、0S向 ILP (例如,处理器120)发送SENTER指令来初始化。在框412中,处理器120可发送SENTER 总线消息。在框414中,系统100中的每个RLP(例如,处理器130和140)可发送ACK总线 消息。在框416中,所有RLP都已加入SENTER过程的指示可被设置在例如ALL_J0INED储 存位置350中。
[0057] 在框420中,ILP可开始执行它的ACM。在框422中,ACM的执行可初始化MVMM。
[0058] 在框430中,启用定向唤醒,例如,经由执行在EBX寄存器中具有"Olh"值的 SMCTRL指令。在框432中,例如,基于ECX和/或EDX值中的数值而识别将被唤醒的RLP。 在框434中,为每个将被保持在睡眠状态中的RLP设置唤醒抑制指示符。
[0059] 在框440中,ILP接收WAKEUP指令。在框442中,ILP发送WAKEUP总线消息。在 框444中,设置有唤醒抑制指示符的RLP忽略该WAKEUP消息并处于睡眠状态。在框446中, 没有设置唤醒抑制指示符的RLP响应于总线消息而被唤醒。
[0060] 在框450中,进行安全系统环境中应用程序和其他软件的执行。
[0061] 在框460中,ILP接收SEXIT指令。在框462中,所有唤醒抑制指示符被清除。在 框464中,安全系统环境被退出。
[0062] 在本发明范围内,图5中所示方法可按不同顺序来执行、省略所示框、添加额外 框、或以重排序、省略、或额外的框的组合方式被执行。例如,框444和446可同时发生。 [〇〇63] 因此,进入安全系统环境定向唤醒的装置,方法,以及系统已被公开。虽然特定实 施例已被公开,并在随附的附图中示出,但应理解此类实施例仅是说明性的而非广大发明 的限制,并且本发明并未受限于已示出和已说明的特定结构和安排,因为本领域技术人员 基于对本公开文本的学习可想到各种各样的其他更改。在诸如此类的【技术领域】中,发展是 快速的,并且进一步的提高并非是易于预见的,已公开的实施例可借助于已授权的技术改 进,且不背离本公开文本的原理或随附权利要求的范围,而在安排和细节中被更改。
【权利要求】
1. 一种处理器,包括: 解码单元,用于接收安全系统环境唤醒指令; 控制单元,用于为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处 理器设置唤醒抑制指示符; 消息传递单元,用于将唤醒消息发送至所述多个响应逻辑处理器,其中所述唤醒消息 将被设置有所述唤醒抑制指示符的所述多个响应逻辑处理器的每个响应逻辑处理器所忽 略。
2. 如权利要求1所述的处理器,其中所述控制单元还用于确定所述多个响应逻辑处理 器其中的哪些响应逻辑处理器将被保持在睡眠状态。
3. 如权利要求2所述的处理器,其中所述解码单元还用于接收安全系统环境唤醒指 令,以提供用于确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状 态的信息。
4. 如权利要求3所述的处理器,其中所述信息是掩码。
5. 如权利要求4所述的处理器,进一步包括AND逻辑,用于在掩码以及用于每个响应逻 辑处理器的标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处 理器将被保持在睡眠状态。
6. 如权利要求1所述的处理器,其中所述解码单元还用于接收安全系统环境退出指 令,并且所述控制单元还用于响应于所述解码单元接收所述安全系统环境退出指令而清除 所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
7. -种方法,包括: 接收安全系统环境唤醒指令; 为将要被保持在睡眠状态的多个响应逻辑处理器中的每个响应逻辑处理器设置使唤 醒抑制指示符;以及 将唤醒消息发送至所述多个响应逻辑处理器,其中所述唤醒消息将被设置有所述唤醒 抑制指示符的所述多个响应逻辑处理器中的每一个响应逻辑处理器所忽略。
8. 如权利要求7所述的方法,进一步包括:确定所述多个响应逻辑处理器中的哪些响 应逻辑处理器将被保持在睡眠状态。
9. 如权利要求8所述的方法,进一步包括:接收安全系统环境唤醒指令,以提供用于确 定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状态的信息。
10. 如权利要求9所述的方法,其中所述信息是掩码。
11. 如权利要求10所述的方法,进一步包括:在掩码以及用于每个响应逻辑处理器的 标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处理器将被保 持在睡眠状态。
12. 如权利要求7所述的方法,进一步包括:接收安全系统环境退出指令。
13. 如权利要求12所述的方法,进一步包括:响应于接收所述安全系统环境退出指令, 清除所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
14. 如权利要求7所述的方法,进一步包括:设置有对应的唤醒抑制指示符的所述多个 响应逻辑处理器中的每一个响应逻辑处理器忽略所述唤醒消息。
15. 如权利要求14所述的方法,进一步包括:响应于所述唤醒消息,对应的唤醒抑制指 示符被清除的每一个响应逻辑处理器被唤醒。
16. -种系统,包括: 多个响应逻辑处理器; 初始化逻辑处理器包括: 解码单元,用于接收安全系统环境唤醒指令, 控制单元,用于确定多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状 态,以及 消息传递单元,用于将唤醒消息发送至所述多个响应逻辑处理器;以及 多个唤醒抑制指示符,所述多个响应逻辑处理器中的每一个响应逻辑处理器有一个唤 醒抑制指示符。 其中设置有对应的唤醒抑制指示符的所述多个响应逻辑处理器中的每一个响应逻辑 处理器忽略所述唤醒消息。
17. 如权利要求16所述的系统,其中所述解码单元还用于接收安全系统环境唤醒指 令,以提供用于确定所述多个响应逻辑处理器中的哪些响应逻辑处理器将被保持在睡眠状 态的信息。
18. 如权利要求17所述的系统,其中所述信息是掩码。
19. 如权利要求18所述的系统,进一步包括AND逻辑,用于在掩码以及用于每个响应逻 辑处理器的标识值上执行逻辑AND操作,以确定所述多个逻辑处理器中的哪些响应逻辑处 理器将被保持在睡眠状态。
20. 如权利要求16所述的系统,其中所述解码单元还用于接收安全系统环境退出指 令,并且所述控制单元还用于响应于所述解码单元接收所述安全系统环境退出指令而清除 所述多个响应逻辑处理器中的每一个响应逻辑处理器的唤醒抑制指示符。
【文档编号】G06F21/30GK104115153SQ201280070088
【公开日】2014年10月22日 申请日期:2012年2月20日 优先权日:2012年2月20日
【发明者】T·E·林, W·C·泰赫 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1