覆盖处理器配置设置的制作方法

文档序号:6656945阅读:473来源:国知局
专利名称:覆盖处理器配置设置的制作方法
技术领域
本发明涉及基于处理器的系统,尤其涉及覆盖处理器部件的处理器配置设置。
背景技术
处理器,例如系统的中央处理单元(CPU)通常包括多个处理器部件(feature),例如高速缓存、缓冲器、阵列等等。处理器还可以包括作为逻辑单元的各种处理器部件,例如分支预测单元和预取(prefetch)单元等等。一种提高处理器性能的方法是,通过使用多级流水线结构,其中,各种流水线部件可以用于更加有效地执行指令。
为了使处理器有效地执行指令,可以在处理器的生产过程中,将处理器中的特定部件缺省设置为有效(enabled)或无效(disabled)状态。通常,该缺省状态在用户级控制下不能修改。即,当制造处理器时能够缺省地使得特定处理器部件有效或无效,不同的缺省配置可以用于不同的目标市场。换言之,当前实际情况是“始终有效或无效”,而不管在处理器上执行的应用程序。因此,根据预定策略使得特定处理器部件有效或无效,通常这是在将系统发送给终端用户之前确定的。
例如,在生产过程中,处理器的硬件预取器典型地配置为缺省状态。当包含该处理器的系统引导时,例如,在基本输入/输出系统(BIOS)执行过程中,设置该缺省状态。因此,硬件预取器的控制对于终端用户不可见,并且不能由终端用户进行重新配置。
因此存在相对于特定处理器部件来提高处理器性能的需求。


图1是根据本发明的一个实施例的,处理器的部分状态寄存器的的框图;
图2是根据本发明的另一实施例的,多个覆盖寄存器的框图;图3是根据本发明的一个实施例的,用于耦合覆盖寄存器的逻辑实现;图4是根据本发明的另一实施例的覆盖寄存器的框图;图5是根据本发明的一个实施例的方法的流程图;以及图6是根据本发明的一个实施例的代表性计算机系统的框图。
具体实施例方式
在各种实施例中,可以实现处理器的微结构配置的不同方面的用户级软件控制。虽然这种用户级控制可以采用多种不同方法实现,但是在特定实施例中,在处理器中可以存在一个或多个附加寄存器,以便存储与处理器配置有关的信息。在一个实施例中,附加寄存器可以称为微结构配置寄存器,或者MCR。作为处理器状态的一部分,MCR在环境(context)切换过程中被保存和恢复。在特定实施例中,MCR中的每个位可以对应于特定微结构部件的有效或无效状态。作为附加寄存器,MCR的读写非常快,在速度上可以与修改处理器中的通用目的(GP)寄存器相比拟。
现在参考图1,其示出了根据本发明的一个实施例的,在处理器中的部分状态寄存器的框图。图1的状态寄存器可以存在于符合Intel结构(IA-32或x86)规范的处理器中,尽管本发明的范围并不局限于此。即,虽然在此主要参考IA-32处理器进行讨论,但实施例可以在英特尔(Intel)公司的其他处理器,例如ITANIUM处理器,或者其他制造商的具有类似或不同指令集结构(ISA)的处理器中实现。如图1所示,状态寄存器可以在处理器的内核中,并且可以用于存储关于给定环境的处理器状态的信息。虽然以图1中出现的特定寄存器来示出,但是应该理解,在其他实施例中,除了其他程序执行寄存器之外,还可能存在附加状态寄存器、控制寄存器和状态寄存器。
如图1所示,现有寄存器可以包括多个GP寄存器10。这种寄存器可以用于在处理器工作时存储各种信息,例如逻辑运算和算术运算的操作数、地址计算的操作数、存储器指针等等。另外,状态和控制(EFLAGS)寄存器20可以包括各种状态标记、控制标记和系统标记。EFLAGS寄存器20可以用于报告程序状态。指令指针(EIP)寄存器30可以用于存储指向程序的要执行的下一个指令的指针。
如图1进一步所示,可以存在多个段寄存器40。段寄存器40可以存储段选择子(selector),段选择子充当用于识别存储器段的指针。换言之,这种段寄存器40寻址存储器中的代码段、数据段和堆栈段。
如图1进一步所示,存在至少一个微结构配置寄存器(MCR)50。MCR 50可以用于存储与不同处理器部件有关的信息。例如,MCR 50的每个条目(entry)或者位可以对应于不同的处理器部件。MCR 50可以是结构上可见的,从而使得其可以被多个软件级经由ISA访问。每个位的输出可以关联到相应部件或者其他处理器硬件,以便控制部件的有效和无效。根据给定位的状态,可以使相应部件有效或无效。
例如,当制造处理器时,可以以缺省的方式使得特定部件有效或无效。然而,在工作中,特定部件可以在软件控制下使得其缺省设置改变(例如有效变为无效)。这种软件控制可以在用户级软件中实现,例如应用程序中。采用这种方式,可以实现处理器部件的非操作系统(OS)控制或非BIOS控制。
总之,图1中所示的寄存器以及在图1中未示出的其他寄存器,例如结构控制寄存器(例如控制寄存器0、控制寄存器1、控制寄存器2、控制寄存器3等等),都可以被认为是环境寄存器,因为这些寄存器都可以根据运行在处理器上的给定环境而采用不同的值编程。当多任务OS停止运行一个进程(例如,应用程序或者软件线程)并开始运行另一个进程时,就可能发生环境切换。一旦环境切换,在这些寄存器中存储的值就可以被分开保存,以便为当前环境保存处理器状态。然后,可以为这些寄存器加载该新的环境的状态,以便提供其处理器状态。在另一次环境切换时,例如回到原环境,则可以将保存的处理器状态恢复到寄存器。
特定处理器部件在给定程序阶段期间可以是适当的或不适当的。因此,在工作中,MCR 50的位可以根据与特定处理器部件对于给定应用程序的效用、效率等等有关的信息而被有效或无效。例如,可以通过预定策略、动态调试(profiling),或者可以在特定程序阶段期间,知道使得特定部件有效或无效可以提高整体程序的性能。软件可以确定覆盖处理器配置设置的适当性,并以多种方式使处理器部件有效或无效。首先,当诸如应用程序的软件被写时,程序员可以插入代码,以在程序的特定阶段使得所期望的部件打开或关闭(即有效或无效)。在其他实施例中,编译器可以确定对于特定程序阶段,期望特定处理器部件,并且在编译过程中,编译器可以插入代码以便实现一个或多个处理器部件的期望的有效或无效。再进一步,在可控运行时环境(managed runtime environment,MRTE)中(例如JavaTM或.net环境),可以执行调试,并且调试的结果可以指示在特定程序阶段特定处理器部件是适当的,而在其他阶段是不适当的。
一旦进入第一程序阶段,(例如)MCR 50的适当的位被设置为或者使特定部件有效或者无效。一旦退出该程序阶段,MCR位被重置为其原始值。由于MCR 50的内容是处理器状态的一部分,并且在环境切换过程中被保留,因此其对于给定软件进程和线程是确定的。
在其他实施例中,在动态调试过程中的,可以确定当应用程序到达特定程序计数器(PC)值时,使给定部件有效或无效。在其他的实施例中,可以使给定部件对于特定程序类型有效或无效。例如,可以使得硬件预取器(HWP)(例如跨距(striding)硬件预取器)对于科学计算应用程序有效,而对于数据库应用程序则将其无效,因为这些不同类型应用程序的机制使得预取器对于数据库操作效果较差。
虽然本发明的实施例可以与多种微结构或其他处理器部件一起使用,但是以下讨论涉及HWP。在服务器类型应用程序的MRTE的情况下,HWP在计算的无用存储单元收集(GC)阶段过程中可以提供非常大的性能提高,但是可能损害整体性能。因此为了提高性能,可以在计算的正常阶段使得HWP无效,但是在无用存储单元收集期间使得其有效。当MRTE的虚拟机(VM)进入无用存储单元收集阶段时,其访问MCR 50并将与HWP配置相对应的位设置为“有效”。当完成无用存储单元收集阶段时,该位设定为“无效”。
在其他实施例中,多个寄存器可以用于提供处理器部件的用户级控制。采用该方式,诸如微结构部件之类的处理器部件的控制可以支持缺省地应用到所有软件线程的处理器配置设置,并且可以支持每个软件线程的提示(hint),以便覆盖该缺省。因此,可以存在第一寄存器,以便存储与缺省处理器配置设置有关的信息,并且可以存在一个或多个覆盖寄存器,以便由软件使用来覆盖缺省设置。然后根据在覆盖寄存器中的信息,通过强制部件有效或无效,可以重写处理器配置设置。
现在参考图2,示出了根据本发明的另一实施例的多个寄存器的框图。如图2所示,存在处理器配置寄存器(PCR)70。PCR 70可以包括N位,其中,每个位对应于不同的处理器部件,例如微结构部件等等。PCR 70可以存储与处理器配置设置相对应的值,其在所有进程中都可以作为缺省来应用。例如,值1可以指示相应部件为有效,而值0可以指示相应部件无效。
然而,在PCR 70中的值可以基于给定软件线程的用户级控制而被重写。具体地,可以根据在有效覆盖寄存器(EOR)80和无效覆盖寄存器(DOR)90中的信息,覆盖PCR 70的缺省设置。可以在给定软件线程执行期间对EOR 80和DOR 90编程,以便覆盖缺省设置,并且使得处理器部件被有效或无效。例如,开发应用程序的独立软件厂商(ISV)可以包括代码,以便在例如特定程序阶段期间,使得特定处理器部件有效,以改善程序的操作和效率。
在不同的实施例中,PCR 70、EOR 80和DOR 90的相应的位可以在逻辑上组合,以便实现处理器部件的期望的有效或无效。寄存器可以采用不同方式进行逻辑上的联合,以便在用户控制下实现部件选择。
现在参考图3,示出了根据本发明的一个实施例的,用于耦合覆盖寄存器的逻辑电路实现。具体地,图3示出了PCR 70、EOR 80和DOR 90的相应的位。如在图3中进一步所示,逻辑门可以用于耦合相应的位。具体地,OR门92可以从PCR 70和EOR 80接收相应的位。进而,OR门92的输出端可以耦合到AND门94的输入端,AND门94还被耦合来接收DOR 90的相应的位的反相输出。AND门94的结果输出可以用于控制相应处理器部件的处理器配置设置。例如,AND门94的输出可以提供给处理器部件的电路,以便由此使得该部件有效或无效。
使用图3中所示的逻辑电路实现,这三个寄存器的位设置的组合可以使得相关处理器部件被有效或无效。具体地,在不考虑EOR 80和DOR 90的正常操作情况下,PCR 70的0位的值1表示相应部件被有效。EOR 80和DOR 90的0位的值1表示PCR 70的值分别被覆盖为有效和无效。即,EOR 80的一个位的有效的高位值用于强迫相应部件打开,而在DOR 90中的有效的高位用于强迫相应的部件关闭。
例如,在桌面系统中,与HWP相对应的PCR位可以“在工厂中”(或者通过BIOS由原始设备制造商(OEM))设置为1,从而使得HWP缺省为有效。因为对于运行在桌面系统上的应用程序而言是期望这种HWP的,因此应用程序(即用户级)代码不需要对覆盖寄存器做任何事情,并且EOR 80和DOR 90的相应位被缺省设置为0。因此,该部件的缺省行为由PCR位给出,即对于桌面系统而言使得HWP有效。
然而对于服务器系统而言,希望在缺省情况下使得HWP无效。在该情况下,与HWP相对应的PCR位“在工厂中”被设置为0。对于该缺省设置,EOR 80和DOR 90的相应位为0,并且因此HWP缺省为无效。在程序或程序的特定部分的执行过程中,可以期望使得HWP有效。例如,JavaTM应用程序可以运行在服务器系统上。根据调试,知道HWP可以提高在GC阶段期间的性能,因此在GC期间可以使得HWP有效,但是在应用程序期间的其他部分则被无效。因为HWP缺省为关闭,所以在GC期间,软件将EOR 80的相应位设置为1。DOR 90的相应位保持为其缺省值0。根据图3所示的逻辑电路实现,这就给出了来自AND门94的最终的输出1,如所期望的,使得HWP有效。
相反地,假设相同的JavaTM应用程序运行在桌面系统上。在此,在工厂中将PCR位设置为1。因为,在非GC阶段期间,应用程序在HWP无效时运行的更加有效率,因此在GC阶段的末尾,软件将相应的DOR位设置为1。DOR 90的该值表示无效覆盖,并且使得HWP无效。应用程序在HWP无效的情况下执行,直到下一个GC阶段开始为止,这时,其重新设置DOR位为0,这使得HWP有效。因为软件在适当的程序位置设置位,因此对于环境切换的保存/恢复开销将会减少。
如上所述,软件提示设置可以是特定于软件线程的,并且可以在环境切换时保存和恢复。在对保存和恢复过程进行优化以便仅仅保存那些并非为逻辑0的设置的设计中,可以在覆盖寄存器有用时才对其设置。如果覆盖位将提供与处理器配置设置相同的设置,即,不需要覆盖时(其是无用的),则不设置相应的覆盖位。在这种实施例中,对EOR 80和DOR 90的适当的位的输入可以是特定于软件的位和相应的处理器配置设置位的反相值进行逻辑AND后的输出。如果硬件不支持与特定于软件的位相关联的功能,则不进行覆盖,并且它们是无用的。因此,这些位是只读的,具有的值为0。
在特定实施例中,硬件可以覆盖软件提示覆盖。即,根据特定信息,硬件可以确定软件提示值不会改进程序执行或者对于给定硬件实现是不适当的,因此硬件可以覆盖这些软件提示。
由此,如果硬件能够在经验上确定软件提示覆盖所建议的设置没有效果,则硬件可以清除该覆盖位。例如,硬件可以首先接收软件提示,并由此执行应用程序。然而,硬件可以确定执行是无效率的,并且有效或无效部件不会提高处理器的性能或者会破坏另一种类型的执行约束,例如热限制。在这种情况下,硬件可以选择覆盖软件提示。在其他实施例中,硬件可以在其已经根据提示值来使用处理器部件的情况下选择覆盖一个软件提示。或者它可以在硬件已经具有对处理器部件的更好的控制和理解的情况下选择覆盖该软件提示。如果软件建议硬件应该尝试不确定的优化,该优化具有巨大的潜在优势但是进行尝试可能开销很大,那么硬件覆盖可能是适当的,因此指示潜在收益的可能性的责任在于软件。
现在参考图4,示出了根据本发明的另一实施例的覆盖寄存器的框图。如图4所示,可以存在处理器配置寄存器(PCR)70、有效覆盖寄存器(EOR)80和无效覆盖寄存器(DOR)90。在图4的实施例中,可以配置覆盖寄存器,以提供软件覆盖寄存器的硬件覆盖。具体地,如图4所示,EOR 80和DOR 90的位可以接收重置信号。该信号可以用于为相应位覆盖特定于软件的值。
例如,对于给定处理器部件,PCR 70的相应位可以设置为缺省值0。然而,应用程序希望覆盖该设置,并使得部件变得有效。因此,该软件使得EOR 80的相应位被设置为值1。DOR 90的相应位可以保持缺省设置0,这使得用图3所示的逻辑电路实现使相应部件为有效。然而,在硬件选择覆盖特定于软件的值的实施例中,重置信号可以施加到EOR 80的相应位,使得该位值返回其缺省值0。采用该方式,硬件覆盖该软件提示。虽然显示为直接耦合到EOR 80和DOR 90的位,但是在其他实施例中,重置信号可以耦合到逻辑电路,该逻辑电路的输出可以用于覆盖软件提示值。在环境切换时,由于受到软件提示的硬件覆盖的影响而存在于寄存器中的值可以被保存。
因此本发明的实施例允许处理器部件的动态配置。此外,在本发明的各种实施例中,不需要OS特权以使得处理器部件有效或无效,实现了快速访问,并且便于相对于各种处理器部件(例如HWP)来对应用程序性能进行更精细的优化。这样可以实现对处理器配置的用户级提示和/或者覆盖,代替对于所有进程将这种管理限制到OS和BIOS。因此,应用程序可以动态地配置一个或多个处理器部件,并且仅仅对该程序如此进行。可以使用软件覆盖提示来控制其他处理器部件,例如分支预测逻辑电路等等。例如,在特定程序阶段期间可以使得分支预测有效,而在其他阶段使得其无效。还有其他的部件可以包括诸如动态随机存取存储器(DRAM)页打开/关闭策略、高速缓存分配策略、总线协议、其他存储器协议等等。
现在参考图5,示出了根据本发明的一个实施例的方法的流程图。如图5所示,方法200可以由软件执行,以覆盖期望的处理器部件。在框210,可以选择要覆盖的处理器部件。然后在包含一个或多个覆盖寄存器的实现中,可以设置适当的覆盖寄存器(框220)。例如,参考图3的实现,为了使得缺省为无效(例如,PCR 70具有相应的位值0)的处理器部件变为有效,EOR 80可以将它的相应位设置为值1。
然后,在硬件可以选择覆盖这种软件提示值的实施例中,接下来可以确定硬件是否想要覆盖该软件提示(菱形框230)。如果是,则可以将适当的覆盖寄存器(在该情况中为EOR 80)重置(框240),并且将控制传递到框250。如果硬件选择不覆盖该软件提示,则控制可以从菱形框230直接传递到框250。
然后,可以将覆盖寄存器和处理器配置寄存器的相应的位应用到逻辑电路实现中(框250)。例如,参考图3,PCR 70和EOR 80的相应的位可以应用到OR门92,OR门92的输出可以与DOR 90的相应的位一起应用到AND门94。根据AND门94的输出,可以使用该逻辑电路实现的输出来覆盖处理器配置设置(框260)。
上述覆盖处理器配置设置的操作可以在程序的第一个环境期间执行。例如,第一个环境可以对应于一个软件线程,例如程序的GC阶段。接下来,可以确定是否发生环境切换(菱形框270)。例如,在程序的GC阶段末尾可能发生环境切换。如果不发生环境切换,则控制可以循环回菱形框270。
在环境切换时,可以保存在覆盖寄存器和处理器配置寄存器中的值(框280)。例如,这些值可以与在其他环境寄存器中的值一起进行保存,以便允许在随后的到原始环境的环境切换中,恢复处理器的状态值。
在环境切换之后,覆盖寄存器和处理器配置寄存器可以加载用于新环境的值(框290)。例如,如果这种环境可以预先激活,则与处理器状态分开保存的值可以被恢复。
各个实施例可以实现为计算机程序,所述计算机程序可以存储在存储介质上,所述存储介质具有对计算机系统进行编程以执行所述实施例的指令。该存储介质可以包括但不局限于包括软盘、光盘、光盘只读存储器(CD-ROM)、可写光盘(CD-RW)以及磁光盘在内的任何类型的盘,诸如只读存储器(ROM)、随机存取存储器(RAM)(例如动态和静态RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁或光卡之类的半导体器件,以及适合于存储电子指令的任何类型的介质。其他实施例可以实现为由可编程控制器件执行的软件模块。
现在参考图6,示出了根据本发明的一个实施例的计算机系统的框图。如图6所示,计算机系统包括处理器501。在一个实施例中,处理器501可以经由前端总线520耦合到存储器集线器530,存储器集线器530可以经由存储器总线耦合到共享主存储器540。根据本发明的一个实施例,处理器501可以包括各种寄存器。具体地,如图6所示,处理器501可以包括处理器配置寄存器(PCR)502、有效覆盖寄存器(EOR)504、以及无效覆盖寄存器(DOR)506。在这些寄存器中的每一个中的相应的位可以耦合到逻辑电路507,逻辑电路507可以用于将这些位进行逻辑组合,以便覆盖对于给定处理器部件的处理器配置设置。如图6所示,逻辑电路507可以耦合到各种处理器资源,例如HWP 508和分支预测单元(BPU)509。根据逻辑电路507的输出,这些处理器部件可以被有效或无效。如上所述,这种部件选择可以在用户控制下进行。
存储器集线器530还可以(通过集线器链路)耦合到输入/输出(I/O)集线器535,输入/输出集线器535耦合到I/O扩展总线555和外围总线550。在各种实施例中,I/O扩展总线555可以耦合到各种I/O设备,例如键盘和鼠标等等。外围总线550可以耦合到各种元件,例如外围设备570,外围设备570可以是存储器设备,诸如闪速存储器、内插卡等等。尽管本说明参考了图6的系统的具体元件,但是所示的实施例的各种变形都是可能的。
虽然已经参考有限数量的实施例描述了本发明,但是本领域技术人员应该理解,可以从中导出的各种变形和改变。应由附加的权利要求覆盖落入本发明的真实精神和范围中的所有的这种变形和改变。
权利要求
1.一种方法,包括通过用户级软件控制处理器的部件。
2.如权利要求1所述的方法,还包括通过在覆盖寄存器中设置与所述部件相对应的覆盖位来使得所述部件无效。
3.如权利要求1所述的方法,还包括在程序的第一阶段期间使得所述部件无效,以及在所述程序的第二阶段期间使得所述部件有效。
4.如权利要求3所述的方法,其中,所述部件包括硬件预取器,所述第二阶段包括垃圾收集。
5.如权利要求1所述的方法,还包括在程序执行期间动态地控制所述部件。
6.一种方法,包括在覆盖寄存器中设置与处理器部件相对应的条目,以便覆盖所述处理器部件的处理器配置设置;以及使用所述覆盖寄存器中的所述条目来覆盖所述处理器部件的所述处理器配置设置。
7.如权利要求6所述的方法,还包括在用户控制下设置所述条目。
8.如权利要求6所述的方法,还包括在程序的第一部分期间设置所述条目,以及在所述程序的第二部分期间重置所述条目。
9.如权利要求6所述的方法,还包括当环境切换时存储所述覆盖寄存器中的条目。
10.如权利要求6所述的方法,还包括根据程序的动态调试设置所述条目。
11.如权利要求6所述的方法,还包括在硬件控制下覆盖所述覆盖寄存器中的所述条目。
12.如权利要求6所述的方法,其中,覆盖所述处理器配置设置包括,执行所述覆盖寄存器中的所述条目与处理器配置寄存器中的相应条目之间的逻辑运算。
13.一种装置,包括第一寄存器,用于存储第一覆盖信息,以覆盖至少一个处理器部件的缺省设置。
14.如权利要求13所述的装置,还包括处理器配置寄存器,用于存储所述至少一个处理器部件的所述缺省设置。
15.如权利要求14所述的装置,还包括用于存储第二覆盖信息的第二寄存器,所述第二覆盖信息用于覆盖所述至少一个处理器部件的所述缺省设置。
16.如权利要求15所述的装置,还包括第一逻辑电路,用于耦合所述处理器配置寄存器与所述第一寄存器的相应的条目。
17.如权利要求16所述的装置,还包括第二逻辑电路,用于将所述第一逻辑电路的输出与所述第二寄存器的相应条目进行耦合。
18.如权利要求15所述的装置,其中,所述第一寄存器和所述第二寄存器分别在用户控制下存储所述第一覆盖信息和所述第二覆盖信息。
19.如权利要求15所述的装置,其中,所述第一寄存器用于覆盖所述至少一个处理器部件的有效状态,所述第二寄存器用于覆盖所述至少一个处理器部件的无效状态。
20.一种包括机器可访问存储介质的物品,所述机器可访问存储介质包含指令,如果执行所述指令,则使系统执行下列步骤在覆盖寄存器中设置与处理器部件相对应的条目,以便覆盖所述处理器部件的处理器配置设置;以及利用所述覆盖寄存器中的所述条目,覆盖所述处理器部件的所述处理器配置设置。
21.如权利要求20所述的物品,还包括以下指令,即,如果执行所述指令,则使得所述系统在环境切换时存储所述覆盖寄存器中的条目。
22.如权利要求20所述的物品,还包括以下指令,即,如果执行所述指令,则使得所述系统在第一程序阶段中设置所述条目,以及在第二程序阶段中重置所述条目。
23.如权利要求20所述的物品,还包括以下指令,即,如果执行所述指令,则使得所述系统根据程序的动态调试来设置所述条目。
24.一种系统,包括处理器,具有处理器配置寄存器,该处理器配置寄存器用于存储至少一个处理器部件的缺省设置,其中,所述处理器配置寄存器是结构上可见的;以及动态随机存取存储器,其耦合到所述处理器。
25.如权利要求24所述的系统,还包括第一寄存器,用于存储第一覆盖信息,所述第一覆盖信息用于覆盖所述缺省设置。
26.如权利要求25所述的系统,其中,所述动态随机存取存储器包括以下指令,即,如果执行所述指令,则使得所述系统在程序的第一部分期间设置所述第一覆盖信息,以及在所述程序的第二部分期间重置所述第一覆盖信息。
27.如权利要求25所述的系统,其中,所述动态随机存取存储器包括以下指令,即,如果执行所述指令,则使得所述系统在环境切换时存储所述第一寄存器和所述处理器配置寄存器中的条目。
28.一种装置,包括结构上可见的寄存器,用于存储使得处理器部件有效或无效的信息。
29.如权利要求28所述的装置,其中,所述结构上可见的寄存器包括多个位,每个位与所述处理器部件中相应的一个相关联。
30.如权利要求28所述的装置,其中,所述结构上可见的寄存器可以由用户级软件控制。
31.如权利要求28所述的装置,其中,所述信息由用户级软件动态改变。
全文摘要
在一个实施例中,本发明包括一种方法,用于在覆盖寄存器中设置与处理器部件相对应的条目,以便覆盖所述处理器部件的处理器配置设置,并且使用该条目覆盖所述处理器部件的处理器配置设置。例如,可以采用用户级应用程序来设置所述条目。
文档编号G06F9/30GK101031881SQ200580033154
公开日2007年9月5日 申请日期2005年9月30日 优先权日2004年10月6日
发明者E·巴拉吉, C·纽伯恩 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1