存储属性选项板的制作方法

文档序号:6415865阅读:180来源:国知局

专利名称::存储属性选项板的制作方法
技术领域
:本发明涉及计算机系统;更具体地说,涉及包括指定存储器各区段的存储属性的存储属性选项板的计算机存储器系统。现有技术描述Intel公司制造的PentiumPro处理器包含两个交互作用的机构,它们一起用来设置存储器特定区段的有效存储类型。存储类型的范围寄存器(MTRR)为物理地址的范围规定存储属性。页表可以将存储属性动态地分配给存储器的线性寻址页。用MTRR足以描述通常由BIOS建立的有专门调准和长度限制的静态物理范围,但它不能描述动态线性寻址的程序数据结构。页表可以将存储属性动态地分配给存储器的线性寻址页。这使操系统(OS)和应用程序灵活地将存储属性应用到任何数据结构上。PentiumPro处理器中的页表仅给出所有存储属性包括写通(WT)和不可高速缓存(UC)的一个子集。页目录和页表项含有两位,即页高速缓存禁止(PCD)和页写通(PWT),它们被用来选择存储类型。而余下的两种存储类型可用余下的仅有保留位来指定,这样做将防止将来引入新的存储属性。因此需要一种方法来以灵活和可扩展方式给线性存储种类提供页表存储类型编码。发明概述本发明涉及一种有存储属性选项板接收存储属性标志信号并响应该存储属性标志信号而选择线性存储属性信号的计算机系统。有效存储属性选择器接收线性存储属性信号并响应该线性存储属性信号选择有效的存储属性信号。存储管理电路接收有效的存储属性信号后响应该有效的存储属性信号提供存储管理信号。本发明的具体实施方案可包含物理属性寄存器以提供物理存储属性信号给有效的存储属性选择器,且其中的有效存储属性选择器响应线性和物理的存储属性信号选择有效的存储属性信号。附图简述从下面所给的详细描述和本发明的各实施方案将能更充分地了解本发明,然而不应将本发明局限于此所述的具体实施方案中而只能是作为其说明和理解。图1是按本发明实施的一种方案设计的有代表性计算机原理框图。图2是图1计算机系统中典型处理器的某些组件的原理性框图。图3是一幅示图,它按本发明的一种实施方案图解分页体系的存储属性表标志安排。优选实施方案详述本发明涉及一种计算机系统,其中的线性存储属性是指定的。在本发明的有些实施方案中,物理存储属性也通过例如MTRR指定。存储属性选项板(MAP)接收标志信号并响应该标志信号选择线性存储属性。用一个有效的存储属性选择器接收的线性存储属性信号,还可以接收来自物理属性寄存器的物理存储属性信号并响应它有选择有效的存储属性信号以呈送一个有效的存储属性。在本发明的优选实施方案中,可将线性存储属性写入一个或多个寄存器中。这就允许程序或OS的编写人员灵活地选择存储属性包括将来的存储属性。本发明允许程序将选选定的存储属性应用到特写的存储器区段上,因此使计算机系统得以提供更高的性能。在优选实施方案中,存储属性选项板是一个微处理器。本发明不限于使用特殊类型的微处理器。实际上,本发明采用通常理解的结构和信号的微处理器和存储器来描述。可是本发明的特定实施方案包括了目前用于Intel公司销售的PentiumPro微处理器及相关芯片集的结构。然而,本发明不限于用于下面所举的PentiumPro微处理中所用的结构和信号。PentiumPro微处理器的基本结构和信号在PentiumPro系列的开发人员手册卷1技术规格、卷2程序员参考手册和卷3操作系统编写人员手册(具体地说就是卷3的第11章)(Intel公司,1996)中有描述。如其中所用的那样,“存储属性”一词包括但不限于称之为与PentiumPro处理器有关的“存储类型”的东西。参考图1,计算机系统10含有一个处理器14,也可以把处理器14叫作微处理器。计算机系统10含有各种存储器,这些存储器相应于处理器14有不同的大小和访问速度。这些存储器包括主存16、L2高速缓存20和外围设备22,举例来说就是硬驱。数据也可以读写到L1高速缓存,(L1是处理器14的一个内部部件)。而且计算机系统10可以包括1个或多个附加的处理器,其中处理器26是代表。处理器26可与处理器14共享主存16。其数据通过各总线包括总线28、PCI总线30、背面总线34和总线36发送。存储器控制器38控制各存储器与处理器14及处理器26(如果出现的话)的数据传送。计算机系统10仅是一个示例。按照本发明,计算机系统不要求含有计算机系统10的所有部件(例如独立的L2高速缓存)。再者,存储控制器38也不限于有特殊的装置,例如有监视、查看、回写或写通高速缓存的装置。参见图2,存储属性选项板(MAP)50接收存储属性标志信号。在优选实施方案中,MAP接收3个存储属性标志信号PCD、PWT和MAP标志信号(它们在导线54、56和58上)。PCD(页高速缓存禁止)和PWT(页写通)用于PentiumPro处理器。在PentiumPro处理器中,PCD和PWT信号分别控制寄存器CR3的第4和第3标志位。在PentiumPro处理器中,寄存器CR3叫作页目录基址寄存器,除非当CR4的物理地址扩展(PAE)位被设定,而这时CR3寄存器被称作页目录指示表。PCD和PWT位是提供给页目录项和页表项的。MAP标志信号是第三个标志信号,它可以在控制寄存器CR3,页目录项和页表项的保留位位置上。MAP信号位可以是小页表项(例如4K)的第7位和转换成大页(例如2M/4M)的页目录项的第12位,这只是举例而已。MAP标志位不是为寄存器CR3页目录或页目录指示项定义的,因此假定它为0。当然,存储属性标志信号不要求被叫做PCD、PWT和MAP信号或CR3寄存器、页目录项或页表项一起提供。MAP50中的选择器52存放在寄存器60(该寄存器被分成8个线性属性寄存器R0、R1、...R7)中的8个线性存储属性中选择出一个来。可以是一个多路器的选择器52根据导线54、56和58上的标志信号PCD、PWT和MAP的状态将寄存器R0、R1、...R7的一个寄存器的内容提供导线82。(可用任何多路技术。)寄存器60中的内容可以是MSR的地址OX277,它在0循环时通过ECX寄存器或作OS的一个参数传送给“rdmsr”(读模专用寄存器)和“wrmsr”(写模专用寄存器)指令,如在PentiumPro处理器中的那样。因此,寄存器60的内容或其一部分可在程序操作期间更改;这样程序员就可灵活地选择存储属性。寄存器60的内容可有层次的定义。(在本发明的其他实施方案中通过改变一个小寄存器的内容,使许多属性可由少至1、2个标志信号访问)。寄存器60可以是一个64位的读/写可寻址的模专用寄存器(MSR),或者是彼此有不同地址的独立的线性属性寄存器R0、R1、...R7。数据可通过总线62从寄存器64写入寄存器60。如图2所示,寄存器64可以是一个微处理器的内部寄存器,例如ECX寄存器。或者,寄存器64作为存储器中的一个存储单元,例属于某微处理器的内部或外部部件。寄存器64可表示一组有不同存储单元的寄存器。其属性数据可通过存储器的指针访问,并可由寄存器64描述。寄存器64和寄存器60之间可能有外加的电路(这里未图示)。属性数据可通过导线66、68...80从寄存器60那里读出。在优选实施方案中,导线66、68...80和82是N位宽的。N可以是3、8或一些其他的数字。总线62和导线66、68...80也表示合适的读和或写电路。寄存器60可称作调配寄存器因为选择器52已准备好访问它。寄存器64可叫作一个外部寄存器(不管它是不是在处理器14的外部)因为它在MAP50的外部。下面是寄存器60的一个例子31272624231918161511108732063595856555150484743424039353432在寄存器60的上述举例中,位0-7构成寄存器R0,位8-15构成寄存器R1,...,位56-63构成寄存器R7。(在这个意义上,可把寄存器60想象为多个寄存器。再者,如解释的那样,这些寄存器可以处在不同的地址上。)存储属性0(MA0)在寄存器0的位0-2中。MA0、MA1、...MA7指明包含在寄存器60中的8个存储属性可通过MAP50得到。这样MAP50是一个8入口、8位宽的可程控表。在本举例中,Rsvd是每个页属性的最高有效位并留作将来扩充用。当然,存储属性MA0、MA1、...MA7可用多于或少于3位来表示。在有些实现图2结构的方案中可能少于8个存储属性。在这些情况下,有些属性可包含在一个以上的寄存器60项中,或者希望不维持某些标志信号的组合。物理属性寄存器84在导线86上将物理存储属性信号提供给有效存储属性选择器88。物理存储属性信号表示物理存储属性。物理属性寄存器84可以是MTRR而物理存储属性信号可能是MTRR的存储类型信号。有效的存储属性选择器88也从选择器52那里接收导线82上的线性存储属性信号。线性存储属性信号表示线性存储属性。有效存储属性选择器88遵照导线的规则在导线92上产生有效存储属性信号,给存储器管理电路90接收。存储器管理电路90响应有效存储属性信号在导线94上提供存储器管理信号。如图示的那样,存储器管理电路90包含在处理器14中,但也可以在该处理器的外边。存储器管理信号用于控制存储器的操作,例如下面表1既述的就是。与Intel公司的处理器(包括Intel486处理器、Pentium处理器及PentiumPro处理器以及在这些处理器上运行的现有软件)的相容性可通过在复位时写入寄存器60的正确值来保持。这些初始值可程控以便与以前有的页表存储类型及MTRR提供全面的后向兼容。此外,缺省设置也为在软件使用为MAP50定义的页表保留位情况下提供兼容性。在寄存器60中,(如表2所示的那样)MA0-MA7的每个寄存器的3位采用用于PentiumPro处理器的MTRR的同一编码就能指定(例如)一个存储属性(摘自PentiumPro系列开发者手册卷3表11-5、11-14页);现复制如下,如本技术规定的表1那样表1</tables>对表1所作的修改是,编码′000是UC,而111是UC-,说明如下。根据本发明的一种实施方案,编码111仍然未为内容变化不定的MTRR(VMTRR)定义并试图继续写以产生通用保护(GP)缺省。试图将一个未定义的存储类型编码写入MAP会产生一个GP缺省,象内容变化不定的MTRR那样。按本发明的一种实施方案表1也是MTRR的存储属性及它们的特性的一个例子。下面的表2示出了MAP、PCD和PWT标志信号是怎样用来将标志放入MAP50以及在复位后寄存器60可能包含什么内容。表2</tables>WB(回写)和WT(写通)已在表1中定义。UC-和UC是UC(不可高速缓存)的举例,已在表1中定义。当PCD、PWT=10时出现UC-。当PCD、PWT=11时出现UC。如下面的表3所示,在有效的存储属性选择器88中,来自物理属性寄存器84的WC战胜MAP50的UC-。反过来,在有效存储属性选择器88中,来自MAP50的UC战胜来自物理属性寄存储器84的WC。在优选实施方案中,寄存器60中的所有8项可用来描述4K/2M/4M的页结构。MAP的标志位未在CR3寄存器中定义(当物理地址扩充(PAE)启动时是页目录指示表,而当它不描述大页时是页目录)。在这些情况下,只能用PCD和PWT标志信号将标志放入MAP50限定OS只用寄存器60的头4个入口来描述分页体系的存储属性。分页体系每一层的MAP标志安排举例都示于图3。禁止MAP标志位的非零值的保留位缺省,但对所有其他保留位仍然出现缺省。这对模A/BK页、模B4MB页和模C4K/2M页每一页来说,都可为真。有效存储属性选择器88用映射法来根据线性存储属性和物理存储属性选择有效的存储属性信号加给导线82(似为92-译注)。映射法的一个举例在下面的表3中给出表3表3的映射法假定CRO寄存器中的高速缓存禁止(CD)和非写通(NW)标志(如果出现)都被置为0。在表3的特定实施方案中,当其中的线性存储属性是WT及物理存储属性是WP或WC时,有效存储属性则未定义。当线性存储属性是WP及物理存储属性是WC或WT时,有效存储属性也未定义。然而,在其他实施方案中,在这些情况下,可以定义有效存储属性。UC-MTRR表示不要求用来自MTRR和处理器的UC属性来探测它们的高速缓存情况因为数据从未能被高速缓存。因为性能的原因最好不要这样做。UC-页表示要求用来自页表和处理器的UC属性来检测它们的高速缓存因为来自页假名的数据可以高速缓存。总之,术语“××-页”表示属性××来自页表,其中页表胜过MTRR。术语“××-MTRR”表示属性××来自MTRR,其中MTRR战胜页表。下面的注释用于表3和原打算与Microsoft的OS一道工作的本发明的特定实施方案。对WindowsNT4.0服务程序包3之前的某些Microsoft操作系统(OS)(例如,DOS,Windows3.1、Windows95、早期的WindowsNT版本)来说,当该OS给不可高速缓存的存储器编码时,软件,例如快速视频执行程序,可以不通知OS就将MTRR的存储类型由UC改成WC。在这种情况下,WC将战胜UC。OSNT4.0服务程序包3在页表中用UC-而不是UC来战胜MTRR中的WC。UC-和UC已在上面在谈到表1作了描述。禁止PentiumPro处理器上的MTRRN导致了UC的有效存储类型而不管有无恢复分页以及设备PCD和PWT标志位。对由MAP启动的处理器来说,上述行为可以更改。如果分页和MTRR被禁止了,则有效存储类型为UC。如果MTRR被禁止了而分页被启动了,则可用来自页表/MAP的有效存储类型。补充的信息和实施方案本发明的各种结构本领域的技术人员可根据其所知的任何材料和方法来实施。当然,在微处理器中有许多部件图中未作描述或叙述。在两种图示的结构中间可能还有中间结构(如缓冲器)或信号。有些导线可能不是连续的(如图示的那样)而被中间结构中断了。图中方框的边界是为了便于图示说明。实际的器件将没有包括这样定义的边界。图示的部件的相应尺寸不表示实际的相应尺寸。在操作意义中使用的“连结”一词和相关的术语不必限于直接连接。如果本技术规格规定某个部件含有“可能”、“能够”或“最好”字样,则不要求包含该特殊部件。由OS通过用CPUID指令可发现MAP的特征;具体来说,就是OS可用EAX寄存器中的1值执行CPUID指令,而后通过检查EDX寄存器返回值的第16位来确定是否支持该特征。如果MAP被支持,则许可OS用为编程页属性表而指定的模专用寄存器并用以前在页表中保留的MAP-标志位。OS可负责保证对MAP项所作的更改以这样的方式进行,即维持处理器的高速缓存和转换监视缓冲器(TLB)的一致性,包括进行例如一串具体的操作其中包括清理处理器的高速缓存和TLB。在本发明的一种实施方案中,(与图2中所描述的方法不同),存储属性选项板响应标志信号PCD、PWT和MAP的特定状态在并行线上产生单个的位。例如,如果有8个属性会有8根并行线,而一次只有一根维持器信号。有效存储属性选择器将接收来自并行线的属性并对其上的信号作出相应的响应。MAP可让任何存储类型在页表中指定,由此可由具有不同存储类型的两种不同线形页来映射单一的物理页。这样做可能导致模糊的结果,因此劝你不要这样做。特别是,最好不要对可高速缓存的页取WC页的别名因为WC写不需要检查处理器的高速缓存器。不希望连带改变MAP的OS可能在所有处理器上都有等效的MAP项值。将页目录用作页表并启动页大小扩充(PSE)和物理地址扩充(PAE)的OS应仔细察看将MAP标志用于4KB页表项(PTE)的用法。OS只能用MAP项的MAO-3作4KB的页表项(PTE)(它也被用作PDE)因为页表项的MAP-标志位(第7位)表示页的大小。如果当该存储器用作PTE时OS试图访问MAP的MA4-7项,它会无意中设置PS位因为这时该存储器被作为一个PDE来访问了。如果OS想将页表存储类型象在MAP中那样定义成永远是有效存储类型,则它可将缺省的MTRR存储类型置成回写并禁止MTRR,其中包括OS希望通过用页表单独管理的区域或禁止所有的MTRR。在优选实施方案中,MAP50在所有支持它的处理器上永远是开启着的,因而每当使能分页时就要进行查表和为所有分页模式(例如PSE、PAE)进行查表。MAP50可以被叫作页属性表。在本发明中,线性存储器被广义地解释为包含叫作线性、逻辑和虚地址的东西。最好线性存储属性信号一次表示仅一个线性存储属性,物理存储属性信号一次表示仅一个物理存储属性,有效存储属性信号一次表示仅一个有效存储属性。反过来说,一个或多个信号一次可同时表多个属性。另一种MAP实施方案涉及优先位问题。该实施方案可以有特殊值来进行测试和有将来的属性扩充。MAP中的每项将含2个优先位,这2个优先位将使该项永远取代MTRR或被MTRR永远取代。每个项的2位优先编码已在表4中示出表4另外,如表5那样可用单一位表5最后,整个MAP表可有2位或单1位。表4和5的方法不作要求。如果OS想要让MAP50永远处于上风,则OS可禁止MTRR。OS可挑选8个最有用的存储属性组合并用这些属性组合于所有处理器上的整个系统。可是,每个过程只能改变一次。立即会有特殊的指令对来存储/恢复整个MAP。只要可能,随时都可为CR3和页目录指示表(PDPT)定义新的一位MAP[2]并用3位来标识MAP0-7。在有些实施方案中,上述情况在每种情况中都可起作用,除非是模B或模C的4K页目录,按定义那里没有保留位且第7位为0。因此OS可用所有8个MAP项来描述其分页结构,除非在描述这两种模的页表。寄存器60不必在处理器14中,而比方说可在主存16中。本发明提供一种灵活的,可编程和可扩展的方法来使所有当前和将来的存储属性既适用于OS也适用于应用程序。它还为OS提供一个始终的存储属性使用模型;方法是使所有存储属性通过单一机构得到而不是使有些功能在页表中有些功能在MTRR中。从本发明的公开中获得益处的本领域的技术人员将知道可在本发明的范围中根据前述说明和图纸做出许多其他的变化方案。据比,提出以下的权利要求其中包括对属于本发明范围的任何修正方案。权利要求1.一种计算机系统,包含接收存储属性标志信号并响应存储属性标志信号选择线性存储属性信号的存储属性选项板;接收线性存储属性信号并响应线性存储属性信号选择有效的存储属性信号的有效存储属性选择器;接收有效的存储属性信号并响应该有效的存储属性信号提供存储器管理信号的存储管理电路。2.如权利要求1的系统,还包括提供供物理信号给有效的存储属性选择器的物理属性寄存器和其中的有效存储属性选择器,它响应线性存储属性信号和物理属性信号选择有效的存储属性信号。3.如权利要求1的系统,其中的物理属性寄存器包含MTRR。4.如权利要求1的系统,其中的存储属性标志信号由页表项提供。5.如权利要求1的系统,其中的存储属性选项板包含存储线性存储属性信号的调配寄存器。6.如权利要求5的系统,还包含至少一个外部寄存器,该寄存器储存存储属性信号,然后传送给调配寄存器,其中该外部寄存器可由程序和操作系统访问。7.如权利要求5的系统,还包含有从主存读存储属性信号并将存储属性信号写到调配寄存器的电路。8.如权利要求5的系统,其中存储属性选项板包含一个与有效存储属性选择器连接的选择器并在每个选项板和该选择间有宽度为N的导线。9.如权利要求1的系统,其中包含一台含有存储属性选项板和有效存储属属选择器的微处理器。10.如权利要求1的系统,其中的存储管理电路含在该处理器中。11.如权利要求1的系统,包含一台个人计算机。12.如权利要求1的系统,还包含一个响应存储管理信号的存储管理控制器。13.一种计算机系统,包含接收存储属属性标志信号并响应该存储属性信号选择线性存储属性信号的一个存储属性选项板;给有效存储属性选择器提供物理属性信号的物理属性寄存器;接收线性存储属性信号并响应该线性存储属性信号和物理属性信号选择有效的存储属性信号的有效存储属性选择器;和接收有效的存储属性信号并响应该有效的存储属性信号提供存储管理信号的存储管理电路。14.如权利要求13的系统,其中的存储属性选项板包含存储线性存储属性信号的调配寄存器。15.如权利要求14的系统,还包含至少一个外部寄存器,该寄存器储存存储属性信号而后传送给调配寄存器,其中的外部寄存器可由程序和操作系统访问。16.如权利要求14的系统,还包含有从主存读存储属性信号并将该存储属性信号写到调配寄存器的电路。17.如权利要求13的系统,还包含一个响应存储管理信号的存储控制器。18.一种计算机系统,包含接收存储属性标志信号并响应物理存储标志信号选择线性存储属性信号的一个存储属性选项板;提供物理属性信号给有效存储属性选择器的物理属性寄存器;接收线性存储属性信号并响应该线性存储属性信号和物理属性信号选择有效的存储属性信号的一个有效存储属性选择器。19.如权利要求18的系统,其中的存储属性选项板包含存储线性存储属性信号的调配寄存器,该系统还包含至少一个外部寄存器,用来将存储属性信号储存到它那里然后传送给调配寄存器;其中的外部寄存器可由程序和操作系统访问。20.如权利要求19的系统,还包括从主存读取存储属性信号并将该存储属性信号写到调配寄存器的电路。全文摘要本发明涉及一台计算机系统,线性存储属性在该系统中指定。物理存储属性也在物理属性寄存器中指定。存储属性选项板(MAP)接收标志信号并响应该标志信号选择线性存储属性。有效存储属性选择器接收选定的线性存储属性信号和物理存储属性信号(如果出现)并响应这些信号,选择有效的存储属性信号表示一个有效的存储属性。在优选实施方案中,可以有程控方法将线性存储属性写入一个或多个寄存器,从而让程序或操作系统灵活地选择一个存储属性,包括当前不用的存储属性。本发明让某个程序应用选择的存储属性于存储器的某个特定区段,因此让该计算机系统提供更高的性能。文档编号G06F12/10GK1276892SQ98810327公开日2000年12月13日申请日期1998年7月21日优先权日1997年8月18日发明者L·E·哈金,B·E·比格贝,S·沙希德扎德,S·S·塔卡申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1