高效的系统管理同步和存储器分配的制作方法

文档序号:6501708阅读:112来源:国知局
专利名称:高效的系统管理同步和存储器分配的制作方法
领域本发明涉及计算机系统领域,并且更具体地说,涉及系统管理模式优化。
背景计算机系统在我们的社会中正变得越来越普遍,所述计算机系统包括从诸如例如个人数字数据助理和蜂窝电话的小型手持电子设备到诸如机顶盒和其他消费类电子的专用电子组件,再到完全可移动设备、桌面和服务器系统的一切事物。但是,系统变的越小和越便宜,高效的存储器分配和系统管理的需求就变得越重要。
一直以来,服务器系统的传统特征在于同一系统中(多处理器系统)的大量的常规存储器和多个物理处理器,其中物理处理器是指单个处理器管芯(die)或单个封装(package)。服务器系统可用的大量资源已经导致效率极其低下的存储器空间分配和严重浪费的执行时间。
典型地,系统中可以产生两种类型的系统管理中断(SMI),所述系统管理中断包括例如电池电量低的硬件(异步)SMI,或例如操作系统(OS)请求处理器改变频率或功率水平的软件(同步)SMI。通常硬件SMI可以由任何一个处理器来处理而无需知道其他处理器的状态保存区的信息。
但是,在处理SMI请求之前,软件产生的SMI可能要求多处理器系统中所有的处理器进入SMI,因为处理软件SMI的操作可能需要访问每个处理器的状态保存区的能力。在处理SMI之前使得多个处理器进入系统管理模式的过程常被称为同步。
当前的多处理器系统通常利用效率低下的超时方法来同步处理器。例如,如果接收到SMI,每个处理器在处理该SMI之前可以等待一个指定的时间量以确保每个处理器都已经进入系统管理模式(SMM)。作为一个示例说明性的实施例,多处理器系统中的处理器在处理SMI之前可以等待它执行最长指令要花费的时间量,以确保其他处理器已经进入SMM。因此,每个处理器可能已经进入了SMI,但是系统处于空闲,等待超时周期(period)耗尽而浪费了执行时间。
此外,目前的多处理系统分配系统管理存储器空间的效率低下。由于当前寻址限制,典型的SMM区域可能至少需要64kB。但是,并不是该存储器空间的所有都被SMM代码和/或数据填满。此外,通常给每个处理器指派分开的且是不同的64kB SMM空间。因此,每个64kB SMM空间具有不被用到但是对单个处理器是专用的存储器空间。
然而,这些效率低下的同步和系统管理存储器分配方法不限于多处理器服务器系统。实际上,这些低效率也可以存在于其他系统中,例如移动多处理器系统。超线程技术(HT)是一项来自加利福尼亚州圣塔克莱拉市的Intel公司的技术,所述技术使得能够使用信号物理处理器并行地执行线程。HT在一个物理处理器(同一管芯)上包括两个逻辑处理器。逻辑处理器是操作系统(OS)可见的独立处理器,能够执行代码并且维持相对于系统中其他处理器来说独特的体系结构状态。HT是通过包括多个体系结构状态来实现的,所述多个体系结构状态共享一套执行资源。
因此,HT使得人们能够在移动平台中实现多(逻辑)处理器系统。如上所示,效率低下的存储器分配和处理器同步存在于传统的多处理器系统(例如服务器系统)中。因此,随着多处理器系统开始渗入资源(例如存储器)受限的移动领域,对于上述的低效率的优化的需求就变得愈发重要。
附图简要说明本发明是以示例性的方式描述的,并且不应认为本发明受附图限制。


图1示出具有多处理器的设备的方框图,所述多个处理器共享执行资源、缓存和储存装置(storage)。
图2a示出具有耦合到储存介质的多个处理器的系统的方框图。
图2b示出具有耦合到控制器中心(hub)的多个处理器的系统的方框图,所述控制器中心耦合到存储器。
图3示出具有包括多个逻辑处理器的物理处理器的系统的方框图。
图4示出具有重叠的系统管理存储器空间的图3的储存介质。
图5示出图4的存储器空间的一部分,所述存储器空间可以存储多个处理器的系统管理状态的表示。
图6示出在处理系统管理中断之前同步第一和第二处理器的流程图。
图7示出用于在处理SMI之前同步第一和第二处理器以及用于更新储存介质以反映新系统管理状态的例证性实施方案的流程图。
图8示出了在处理SMI之前用到的同步字节(synchronization byte)的例证性的实施例,所述同步字节在引导(boot)过程中被用于同步第一和第二处理器。
图9示出了用于给第一和第二处理器有效地指派系统管理存储器空间的流程图。
详细描述在以下描述中阐述了大量具体的细节,例如具体的存储器地址、存储器大小和组件配置的实施例,以提供对发明的完整理解。然而,本领域技术人员将会清楚,无需使用这些具体的细节可以实现本发明。此外,没有详细描述公知的组件和方法,例如例程引导(routine boot-up)步骤(例如上电自检(POST))、具体的系统管理模式(SMM)实现以及具体的系统管理中断处理程序代码,以免不必要地模糊本发明。
在此描述的方法和装置用于对多处理器同步和系统管理存储器空间分配进行优化。处理器的同步可以发生在进入不同处理器模式之前的任何时候。例如,当多处理系统中的多个处理器接收到SMI时,它们可以在处理SMI之前同步。
本领域技术人员将会很容易理解,所公开的在多个处理器之间同步多个处理器和有效分配系统管理空间的方法可以适用于任何级别的计算机系统(个人数字助理、移动平台、桌面平台和服务器平台)以及任何数量的处理器。例如,具有四个或更多个处理器的多处理器系统在进入系统管理模式(SMM)之前可以使用该方法来同步所有的四个处理器。因为任何的多个处理器必将包括两个处理器,所以在此只讨论两个处理器的同步,以免被更复杂的系统模糊本发明。
图1-3示出了可以具体实施在此描述的方法的一些硬件的例证性的实施例。如上所述,在此描述的方法可以用于任何多处理器系统;因此所述方法只在参考图3时详细描述,以免因为重复模糊本发明。
图1描述了具有多个逻辑处理器的设备105的方框图。物理处理器是指物理处理器管芯或单个的封装。逻辑处理器是操作系统(OS)可见的独立处理器,能够执行代码并保存相对于系统中其他处理器来说独特的体系结构状态。超线程技术(HT)是一项来自加利福尼亚州圣塔克莱拉市的Intel公司的技术,所述技术使得能够使用信号物理处理器并行地执行线程。HT在一个物理处理器上包括两个逻辑处理器,并且通过复制体系结构状态来实现,其中每个体系结构状态共享一套处理器执行资源。
设备105可以包括第一处理器110和第二处理器115。设备105可以是物理处理器。设备105也可以是嵌入式系统、单个物理处理器或具有至少两个处理器的任何其他设备。处理器110和115可以是逻辑处理器。例如,设备105可以包括体系结构状态寄存器120和125,所述体系结构状态寄存器120和125各自保存独特的体系结构状态。很容易理解,设备105可以包括多于两个的逻辑处理器,所述逻辑处理器各自具有与其相关联的体系结构状态寄存器以保存各自的体系结构状态。处理器110和115共享相同的执行资源130、缓存135和储存介质140。
储存介质140可以是任何类型的可以存储数据的储存装置。例如,储存介质140可以是用于存储信息的寄存器。储存介质140还可以是缓存135的另一层次。储存介质140还可以是一种形式的置于设备105上的系统存储器。
参照图2a,示出了具有多个处理器的系统的例证性的实施例。系统可以包括第一处理器205和第二处理器210。处理器205和210可以是物理处理器,其中每个处理器位于分开的管芯或分开的封装上。系统还可以包括将处理器205和210耦合到图2a中的储存介质220或图2b中的控制器中心230的互联215。如图2b所示,控制器中心230也可以通过第二互联235耦合到储存介质220。
图3示出了具有多个处理器的系统的实施例。处理器305可以包括共享执行资源330、缓存335和系统总线340的第一处理器310和第二处理器315。体系结构状态寄存器320和325可以分别保存处理器320和325的独特的体系结构状态。系统总线340将处理器305耦合到控制中心345。控制中心345可以通过第二总线350被耦合到储存介质355。储存介质355可以是任何存储数据的设备。例如,储存介质可以是系统存储器。系统存储器可以包括同步随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、同步动态随机访问存储器(SDRAM)、双倍数据速率RAM(DDR)、Rambus(R)或任何其他类型的系统存储器。储存介质355也可以是寄存器、闪存存储器或缓存355的另一层次。
参见图4和图5,示出了在储存介质355中为第一和第二处理器分配系统管理模式(SMM)存储器空间的例证性的实施例。图4描述了可以被指派给第一处理器的第一SMM存储器空间405和可以被指派给第二处理器的第二SMM存储器空间410。第一SMM空间405和第二SMM空间410重叠以产生重叠区域415。
第一非重叠区域420、第二非重叠区域425和/或第三重叠区域435可以用于为每个处理器保留分开的存储器空间。例如,分开的存储器空间420和425可以用于存储第一和第二处理器的保存状态区域。作为另一个实施例,非重叠区域420可以是第一和第二处理器的基地址(SMBase)间的偏移,而435和425被用于存储第一和第二处理器的状态保存区。图4还示出了重叠区域415中的同步区430,所述同步区430可用于存储用于第一处理器和/或第二处理器的同步信息。
参照图5,示出了同步区430的例证性的实施例。同步区430可以是表示第一处理器和/或第二处理器的状态的同步字节(synchbyte)。正如稍后参考图6-10描述的,同步区430可以被存储在图3所示储存介质355内的任何位置。单元505、510和515示出了同步字节可能包含的值的实施例,所述值分别表示单元520、525和530中描述的状态。处理器状态以及图4和图5将参照图6-10描述的方法更加详细地讨论。
参见图6,以高层次的流程图示出了用于在处理SMI之前同步第一和第二处理器的方法。在方框605中接收到SMI。通常产生SMI来请求处理器的服务。SMI可以由异步(硬件)或同步(软件)事件产生。当在系统中产生SMI时,系统中的每个处理器会接收/锁存该SMI。
作为例证性的实施例,方框605中的第一SMI可以由如图3所示的控制器中心345产生。作为另一个实施例,方框605中的所述第一SMI可以由位于第一处理器、第二处理器或分离地(separately)位于系统中的控制器(未示出)产生。作为再一个实施例,方框605中的所述第一SMI可以通过改变物理处理器(例如图3中所描绘的处理器305)或控制器中心(例如图3所述控制器中心345)上的管脚的逻辑电平来产生。
在方框610中,第一处理器核查第二处理器的状态。可以通过处理器之间的通信来实现对第二处理器的状态的检查。作为例证性的实施例,图7在方框705中示出了通过检查储存介质,例如图3和图4中的储存介质355,第一处理器可以如何检查第二处理器的状态。
储存介质355可以是任何存储信息的介质。作为实施例,储存介质355可以是位于第一处理器、第二处理器或多处理器系统(未示出)中的至少一个寄存器。作为另一个实施例,储存介质355可以是缓存335或不在处理器305之上的任何其他缓存的一部分。作为再一个实施例,储存介质355可以是系统存储器。
储存介质355可以保存第一处理器和/或第二处理器的直接状态信息。此外,储存介质可以保存表示第一处理器和/或第二处理器状态的信息。例如,储存介质355可以在例如图4和图5中所描绘的同步区430的同步区中存储状态信息。同步区430可以存储表示不同处理器状态的不同值。
作为指导性(instructive)的实施例,存储在同步区430中的第一值可以表示第二处理器处于非活动(inactive)状态。非活动状态可以是任何低功率状态,例如睡眠、待机、挂起、休眠、等待SIPI、睡眠、深度睡眠、重启或任何第二处理器不响应中断的其他模式。此外,存储在同步区430中的第二值可以表示第二处理器处于活动(active)状态但未处于SMI模式,所述SMI模式也常被称为系统管理模式(SMM)。活动但未处于SMI模式的状态可以是第二处理器正在响应中断和/或执行代码但未处于SMM的任何状态。此外,存储在同步区430中的第三值可以表示第二处理器处于活动状态并且处于SMI模式。活动并且处于SMI模式的状态可以是第二处理器是活动的并且还处于SMM的任何状态。
回头参照图5,示出了可以作为同步字节被存入同步区430中的表示值的例证性的实施例。当同步区430将第一值01b存入单元510时,所述第一值表示第二处理器是非活动的/正在睡眠,如单元520所述。但是,当同步区430存储如单元505中所示的第二值00b时,所述第二值表示第二处理器是活动的但未处于SMI模式,所以第一处理器可以等待第二处理器,如单元520所述。类似地,当同步区430存储如单元515中所示的第三值10b时,所述第三值表示第二处理器是活动的并且处于SMI模式。因此,第一处理器可以在第一和第二处理器两者上处理SMI,如单元530所述。
再参照图6,来自方框605的SMI在方框615中被处理。通常,处理SMI的操作需要(entail)为硬件和软件提出的请求提供服务。处理SMI可以包括为所产生的SMI请求提供服务的任何操作。例如,处理SMI可以包括执行SMI处理程序代码来为SMI提供服务。
如方框620所示,如果同步区430存储了表示第二处理器处于非活动状态的值,第一处理器可以处理方框605中产生的SMI,而不需等待第二处理器进入SMI模式。一旦第二处理器开始醒来(进入了它响应中断的状态),第二处理器可以更新储存介质来反映它当前的状态,如图7的方框710所示。
当进入第二处理器响应中断且未处于SMI模式的状态时,第二处理器可以更新同步区430中的值来反映活动但未处于SMI模式的状态。当同步区430表示的是活动且未处于SMI的状态时,第一处理器在处理来自方框605的SMI之前应该等待第二处理器进入SMI模式,如方框625所示。同样地,当第二处理器进入SMI模式时,它应该将同步区更新为图5的10b值,所述10b值表示第二处理器现在处于SMI模式。如果第二处理器的状态是活动的且处于SMI模式,那么所述SMI可以被第一处理器或第二处理器在第一和第二处理器两者上处理。
参看图8,以高层次流程图的格式示出了在两个处理器的引导序列(boot sequence)期间优化的同步的例证性的实施例。同步值805被示为连续地通过流程图的过程,以描述图4和图5中所示的同步区430可能保存的值。同步值805可以被存储在储存介质355中的任何位置。对于本实施例来说,同步值805应该与图5的值表一致,以使描述更加简单。因此,一旦方框810中开始初始化/重启,同步值805可以被置为01b来表示第二处理器是非活动的。与此同时,如果产生了任何SMI,第二处理器锁存/接收SMI但不处理它们。
然而,在接收到SMI后,第一处理器可以通过检查同步区430以读取同步值805来核查核查第二处理器的状态。如果同步值805是01b,代表第二处理器是非活动的,则第一处理器可以随后处理SMI而不用等待第二处理器。第一处理器也可以完成其他的例程引导步骤,例如在方框815中初始化SMI、在方框820中完成上电自检(POST)、在方框825中唤醒第二处理器。
当第二处理器在方框830中醒来时,它应该将同步值805置为00b来表示它是活动的但未处于SMI模式。第一处理器可以在方框835中进入SMI并且通过检查同步值805来核查查第二处理器的状态。因为同步值805现在应该被置为00b,第一处理器可以等待/循环直到第二处理器进入SMI并且将同步值805置为10b。
随后,在方框840中,第二处理器可以进入SMI模式,并且将同步值805置为10b来表示它是活动的并且处于SMI模式。此时,第二处理器可以在SMI模式中等待/循环直到第一处理器已将同步值805置为00b来表示它是活动的但未处于SMI模式。在第二处理器等待期间,第一处理器可以前进到方框845中,在第一和第二处理器两者上处理SMI。一旦第一处理器已经在第一和第二处理器两者上处理了SMI,它可以退出SMI模式,并且在方框850中将同步值805置为00b。第二处理器可以随后在方框855中退出SMI模式。
参照图9,示出了有效分配系统管理存储器空间的方法。在方框905中,第一系统管理存储器空间/区间(range),例如图4中的第一存储器空间/区间405被指派给第一处理器。在方框910中,第二系统管理存储器空间/区间,例如第二存储器空间/区间405被指派给第二处理器,从而第一存储器空间405和第二存储器空间410相互重叠,产生重叠区域/区间415。第一存储器空间405和第二存储器空间410的重叠可以分别留下第一和第二非重叠区域/区间,例如非重叠区域/区间420和425,如图4所示。
重叠区域415可以被用于存储系统管理数据,例如SMI处理程序代码。重叠区域415还可以被用于存储第一和第二处理器中的一个或两个的状态保存区。很容易理解,第一和第二非重叠区域420和425可以被置于与图4中所描绘的相对于重叠区域415的方位不同的方位。
非重叠区域420和425还可以用于存储任何种类的数据。例如第一非重叠区域420可以存储第一处理器的状态保存区,而第二非重叠区域425可以存储第二处理器的状态保存区。作为另一个实施例,第一非重叠区域420可以是第一和第二处理器的SMM空间之间的偏移,而在重叠区域415中的状态保存区435和非重叠区域425可以分别被用于存储第一和第二处理器的状态保存区。此外,非重叠区域420和425在存储器中可以是任意大小。作为例证性的实施例,第一和第二非重叠区域420和425可以是每个处理器状态保存区的大小。典型的状态保存区可以是2KB,但也可以大小不同。第一存储器空间405和第二存储器空间410之间的偏移,如非重叠区域420所示,也可以大小不同。例如偏移可以是状态保存区的大小,或者它可以是存储在任一个存储器空间中的最大的SMI处理程序代码的大小。
重叠区域415的一部分也可以将两个处理器的系统管理状态存入同步区430中,如图4所示;虽然这样,同步区430可以被置于储存介质355的任何位置。但是,将同步区430存储在重叠区域是有利的,这样的话两个处理器可以很容易的从同步区430中读取信息和修改同步区430。
如上所述,多处理器系统可用的资源越少,在系统管理中的高效的同步和存储器分配的需求变得越大。允许处理器直接地或通过储存介质传送彼此的状态的操作,允许多处理器系统进行有效同步而不浪费任何执行时间或资源。此外,重叠每个处理器的系统管理存储器空间/区间节省了宝贵的存储器空间,也允许同步信息能够很容易地被任何处理器存储和修改。
在前面的详细说明中,参考本发明的具体示例性的实施方案描述了本发明。但是,很明显地,正如所附权利要求书所阐述的,可以对本发明做出各种修改和变化,而不背离本发明的较宽的精神和范围。因此,本说明书和附图可以被视为描述性的而非限制性的。
权利要求
1.一种方法,包括接收系统管理中断(SMI);使用第一处理器来核查第二处理器的状态;以及(a)如果所述第二处理器的所述状态是非活动的,使用所述第一处理器处理所述SMI;(b)如果所述第二处理器的所述状态是活动的且未处于SMI模式,等待所述第二处理器进入SMI模式;(c)如果所述第二处理器的所述状态是活动的且处于SMI模式,在所述第一和所述第二处理器两者上处理所述SMI。
2.如权利要求1所述方法,其中使用第一处理器核查第二处理器的所述状态的操作包括使用所述第一处理器检查储存介质,其中所述储存介质存储表示所述第二处理器的状态的值。
3.如权利要求2所述方法,其中所述储存介质是系统存储器。
4.如权利要求3所述方法,其中所述系统存储器将表示所述第二处理器的状态的值存入同步字节。
5.如权利要求4所述方法,其中所述同步字节在包括第一值时表示所述第二处理器处于非活动状态。
6.如权利要求4所述方法,其中所述同步字节在包括第二值时表示所述第二处理器是活动的但未处于SMI模式。
7.如权利要求4所述方法,其中所述同步字节在包括第三值时表示所述第二处理器处于活动状态且处于SMI模式。
8.如权利要求2所述方法,其中所述储存介质是寄存器。
9.如权利要求2所述方法,其中所述寄存器位于所述第二处理器中。
10.如权利要求2所述方法,其中所述储存介质的默认值表示所述第二处理器的非活动状态。
11.如权利要求2所述方法,还包括使用所述第二处理器更新所述储存介质,以反映所述第二处理器的当前状态。
12.如权利要求11所述方法,其中更新所述储存介质的操作包括如果所述第二处理器将要进入低功率状态,则将值写入所述储存介质中来表示非活动状态。
13.如权利要求11所述方法,其中更新所述储存介质的操作包括如果所述第二处理器正在醒来并且未处于SMI模式,则将值写入所述储存介质中来表示活动且未处于SMI模式的状态。
14.如权利要求11所述方法,其中更新所述储存介质的操作包括如果所述第二处理器正在进入SMI模式,则将值写入所述储存介质中来表示活动且处于SMI模式的状态。
15.如权利要求1所述方法,还包括在接收所述SMI之前产生所述SMI。
16.如权利要求15所述方法,其中产生所述SMI的操作通过软件来实现。
17.如权利要求15所述方法,其中产生所述SMI的操作通过硬件来实现。
18.如权利要求1所述方法,其中所述第一和第二处理器是逻辑处理器。
19.如权利要求1所述方法,其中所述第一和第二处理器是物理处理器。
20.一种方法,包括指派用于系统管理的第一存储器空间给第一处理器;以及指派用于系统管理的第二存储器空间给第二处理器,其中所述第二存储器空间与所述第一存储器空间部分重叠,留下至少第一非重叠区域。
21.如权利要求20所述方法,其中所述第一和第二存储器空间的所述重叠还留下第二非重叠区域。
22.如权利要求20所述方法,其中所述第一非重叠区域的大小至少是所述第一处理器的状态保存区的大小。
23.如权利要求21所述方法,其中所述第二非重叠区域的大小至少是所述第二处理器的状态保存区的大小。
24.如权利要求23所述方法,其中第一和第二非重叠区域的大小至少是所述第二处理器的系统管理中断(SMI)处理程序代码的大小。
25.如权利要求20所述方法,其中所述重叠区域包括用于存储至少是所述第二处理器的所述系统管理状态的同步区。
26.如权利要求20所述方法,其中所述重叠区域包括所述第一处理器的所述状态保存区。
27.如权利要求26所述方法,其中所述第一非重叠区域包括所述第二处理器的所述状态保存区。
28.如权利要求20所述方法,其中所述第一和第二存储器空间位于系统存储器中。
29.如权利要求20所述方法,其中所述第一和第二处理器是逻辑处理器。
30.如权利要求20所述方法,其中所述第一和第二处理器是物理处理器。
31.一种微处理器,包括耦合到储存介质的第一逻辑处理器和第二逻辑处理器,其中所述储存介质存储所述第二逻辑处理器的所述系统管理状态。
32.如权利要求31所述微处理器,其中所述储存介质是位于所述处理器中的一个中的寄存器。
33.如权利要求31所述微处理器,其中所述储存介质表示所述第二处理器处于非活动状态。
34.如权利要求31所述微处理器,其中所述储存介质表示所述第二处理器处于活动且未处于SMI的状态。
35.如权利要求31所述微处理器,其中所述储存介质表示所述第二处理器处于SMI模式。
36.一种装置,包括耦合到第一和第二逻辑处理器的储存介质,所述储存介质包括被指派给所述第一处理器用于系统管理的第一存储器区间和被指派给所述第二处理器用于系统管理的第二存储器区间,其中所述第一和第二存储器区间部分重叠,留下第一和第二非重叠区间。
37.如权利要求36所述装置,其中所述第一和第二非重叠区间的大小至少分别是所述第一和第二处理器的状态保存区的大小。
38.如权利要求36所述装置,其中所述第一和第二处理器是逻辑处理器。
39.如权利要求36所述装置,其中所述第一和第二处理器是物理处理器。
40.如权利要求36所述装置,其中所述重叠区域包括同步区,所述同步区可以被所述第一和第二处理器两者修改。
41.如权利要求40所述装置,其中所述同步区包括同步字节,所述同步字节表示至少一个处理器的所述系统管理状态。
42.如权利要求41所述装置,其中所述同步字节被用于在处理系统管理中断之前同步所述第一和第二处理器。
43.一种系统,包括耦合到第一和第二处理器的控制器中心;耦合到所述第一和第二处理器的储存介质,所述储存介质存储至少所述第二处理器的所述系统管理状态,其中所述第一处理器在接收到第一系统管理中断(SMI)后核查所述第二处理器的所述系统管理状态。
44.如权利要求43所述系统,其中,如果所述第二处理器的所述系统管理状态是非活动的,则所述第一处理器处理所述SMI而不等待所述第二处理器。
45.如权利要求43所述系统,其中,如果所述第二处理器的所述系统管理状态是活动的且未处于SMI模式,则所述第一处理器等待所述第二处理器进入SMI模式并且更新所述储存设备。
46.如权利要求43所述系统,其中,如果所述第二处理器的所述系统管理状态是活动的且处于SMI模式,则在所述第一和第二处理器两者上处理所述SMI。
47.如权利要求43所述系统,其中所述储存介质是系统存储器。
48.如权利要求47所述系统,其中系统存储器包括同步字节,所述同步字节存储至少表示所述第二处理器系统管理状态的值。
49.如权利要求43所述系统,其中所述储存设备是寄存器。
50.如权利要求43所述系统,其中所述储存设备是闪存存储器。
51.如权利要求43所述系统,其中所述第一和第二处理器是逻辑处理器。
52.如权利要求43所述系统,其中所述第一和第二处理器是物理处理器。
53.一种系统,包括耦合到存储器的第一处理器,所述第一处理器包括在所述存储器中被指派用于系统管理的第一地址区间;以及耦合到所述存储器的第二处理器,所述第二处理器包括在所述存储器中被指派用于系统管理的第二地址区间,其中所述第一和第二地址区间部分地重叠,留下第一非重叠区间和第二非重叠区间。
54.如权利要求53所述系统,其中所述第一和第二非重叠区间至少是每个处理器的保存状态区间的大小。
55.如权利要求53所述系统,其中所述第一和第二非重叠区间至少是所述第二处理器的所述系统管理中断(SMI)处理程序代码的大小。
56.如权利要求53所述系统,其中所述存储器是系统存储器。
57.如权利要求53所述系统,其中所述第一和第二处理器是逻辑处理器。
58.如权利要求53所述系统,其中所述第一和第二处理器是物理处理器。
全文摘要
在本文中描述了用于优化多处理器同步和系统管理存储器空间分配的方法和装置。当接收到系统管理中断时,第一处理器核查第二处理器的状态,所述核查操作可以通过核查存有表示第二存储器的状态值的储存介质来实现。第一处理器根据第二处理器的状态处理SMI或者等待第二处理器。此外,系统管理存储器被分配,其中指派给第一处理器的第一系统管理存储器空间与指派给第二处理器的第二系统管理存储器空间重叠,留下第一和第二非重叠区域。
文档编号G06F12/02GK1890640SQ200480036294
公开日2007年1月3日 申请日期2004年10月6日 优先权日2003年10月6日
发明者巴恩斯·库珀, 格兰特·小林 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1