用于64位寻址的调用选通扩充的制作方法

文档序号:6634984阅读:255来源:国知局
专利名称:用于64位寻址的调用选通扩充的制作方法
技术领域
本发明涉及处理器的领域,尤其涉及处理器中地址及操作数长度。
背景技术
x86架构(熟知为IA-32架构)在市场上已广泛为大众所接受,而且是一项相当成功的产品。因此,使用x86架构设计处理器具有相当多的优点。此类型的处理器的优点为可以将容量大的软件写入x86架构中(考量此处理器可以执行该软件,且因此使用该处理器的计算机系统在市场上接受度颇高,是因为具有大量可使用的软件之故)。
当计算机系统持续发展时,必须更进一步使用64位的地址长度(有时候指操作数长度)。较大的地址长度允许程序具有较大的内存足迹(footprint,为程序中的指令所占据的内存容量及由程序所操作的数据量),以在内存空间内操作。较大的操作数长度允许在较大的操作数上操作,或者是在操作数进行更精准的操作。更有效的应用及/或操作系统可以使用64位地址及/或操作数长度。
不完全令人满意的是x86架构限制在最大为32位的操作数长度,及32位的地址长度之内。操作数长度指由处理器操作的位数目(例如在来源或标的操作数中位的数目)。该地址长度指由处理器产生的地址中位的数目。因此,使用x86架构的处理器不符合需要64位地址或操作数长度的应用上的需要。

发明内容
文中提出的处理器可以解决上述说明中大部份的问题。其中提出一个支持第一处理模式的处理器,在该模式中,地址长度是大于32位。该位地址长度可以额定为64位,但是在该第一处理模式中,也可以配置任何超过32位的地址长度,可多到且包含64位。第一处理模式的建立方式为将在控制用寄存器中的致能指示置于致能状态,且将在分段描述符(descriptor)中第一作业模式指示及第二作业模式指示置于先前定义的状态中。可以使用该第一作业模式指示及第二作业模式指示的其它结合方式以对于可以与x86处理器架构兼容的32位及16位处理方式提供兼容的模式(而该致能指示仍在致能状态)。
兼容模式可以允许执行32位或16位码,而经由致能指示,使得第一处理模式致能,有必要从该32位或16位码中调用(call)在该第一处理模式下操作的码。例如,该操作系统可以在第一处理模式下操作,而应用程序则在32或16位模式下操作。定义一个调用选通描述符(callgate descriptor),其中此调用选通描述符占据分段描述符表中至少两登录项。经由占据两登录项,各该登录项可以储存一个分段描述符,该调用选通描述符可以具有足够的空间以储存超过32位的地址。因此,一个调用的码分段可以参考调用选通描述符,而该调用选通描述符可以参考标的码分段,而且可以在该标的码分段的地址空间内提供一个地址,甚至该地址超过调用码分段中的地址长度仍可进行该作业。而且,经由使得该调用选通描述符占据两个登录项,该分段描述符表可以持续储存兼容模式分段的分段描述符。因此,在分段描述符表中调用选通描述符及兼容模式分段描述符可以共同存在。另外,可以将在为该调用选通描述符所占据的第二登录项中的类型字段的区域比率编码为无效型式,使得当不使用第二登录项于码分段时,将导致处理器发出异常信号。
广言之,本发明提供一种处理器,包含执行核心,配置此执行核心以执行指定分段选择器的分支指令。配置该处理器,使可从分段描述符(descriptor)表中读取至少第一登录项,以响应该分段选择器,而且其中,如果该第一登录项指示调用选通描述符,则在该分段描述符表中的第二登录项储存该调用选通描述符中其余部份。另外,本发明提出计算机系统,包含处理器及输入/输出(I/O)装置,配置此装置使得该计算机系统与另一耦合该I/O装置的计算机系统之间可以通讯。
而且,本发明提供一种方法包含从分段描述符表中读取调用选通描述符,该调用选通描述符包含在该分段描述符表中的第一登录项及第二登录项,其中各该第一登录项及该第二登录项可储存分段描述符;以及从该调用选通描述符中取出补偿数据,该补偿数据定位第一指令,此第一指令为可在标的码分段中执行者。


由下文中的说明可更进一步了解本发明的目的及优点,阅读时并请参考附图。其中,图1为处理器的实施例的方块图。
图2为用于32/64模式的分段描述符实施例的方块图。
图3为用于兼容模式的分段描述符的实施例的方块图。
图4为依据图1所示的处理器的实施例的兼容模式及遗留模式的作业的方块图。
图5为表,显示作业模式的实施例,其为分段描述符及控制用寄存器数值的函数。
图6的表显示使用指令首段以越位内设作业模式的实施例。
图7为寄存器的实施例的方块图。
图8为全域描述符表及本地描述符表的实施例。
图9为32/64调用选通描述符的实施例的方块图。
图10为指令格式的方块图。
图11为包含图1的处理器的计算机系统的实施例的方块图。
图12为包含图1的处理器的计算机系统的另一实施例的方块图。
本发明中包含多种修改及变更的型式,其特定的实施例显示在所附的图式中,而且此将于下文中加以说明。须了解,附图及其说明并非用于限制本发明于这些特定的型式,相反地,本发明涵盖由申请专利范围所定义的本发明的精神及观点中所有的修改,变更及对等的实例。
具体实施例方式
现在请参考图1,其中显示处理器10的一实施例的方块图。本发明也适用于其它的实施例,或以其它的实施例完成本发明。在图1的实施例中,处理器10包含一个指令快取缓冲存储器12、一个执行核心14、一个数据快取缓冲存储器16、一个外部接口单元18、一个内存管理单元(MMU)20、一个寄存器文件22。在所示的实施例中,MMU 20包含一组分段寄存器24、一个第一控制寄存器26、一个第二控制寄存器28、一个本地描述符表列寄存器(LDTR)30、一个全域描述符(descriptor)表列寄存器(GDTR)32。该指令快取缓冲存储器12耦合该外部接口单元18、执行核心14、MMU 20。执行核心14更进一步耦合该MMU 20、寄存器文件22、及数据快取缓冲存储器16。数据快取缓冲存储器16更进一步耦合该MMU 20及外部接口单元18。外部接口单元18更进一步耦合MMU 20及外部接口。
一般说来,处理器10使用与x86架构兼容的处理器架构,且包含其它额外的架构特征以支持64位的处理。配置处理器10以建立一个操作模式,其可响应储存在码分段描述符中储存的信息,而该分段描述符是对应现在的执行码,且可以更进一步响应储存在一个或多个控制寄存器中的致动指示。在本文中,“作业模式”一词指用于多种不同的可程序可选择的处理器属性所指定的内设数值。例如,作业模式指定一个内设的操作数长度,及一个内设的地址长度。该内设的操作数长度特定一个指令的操作数中的位数,除非是指令的编码已超过该内设数值,否则该内设的地址长度指定在指令的内存操作数的一地址中。该内设的地址长度至少指定内存操作数中的虚拟地址的长度,且也可以用于指定实际地址的长度。另外,实际地址的长度也可以与内设地址的长度不相关,且也可以与此将于下文中加以说明的LEM位有关(即如果LEM位已清除,而如果设定LEM位的话,则配置的相关长度大于32位而小于64位),或者是与另一控制位相关(即实际的地址延伸位,或在另一控制寄存器中的PAE位)。在本文中“虚拟地址”指在经地址转译机构(如调用机构)转译成“实际地址”前所产生的地址,其为实际上用于近接内存的地址。另外,在本文中,“分段描述符”为一个由软件产生且由处理器使用以定义内存的分段的近接控制及状态的数据结构。“分段描述符表”表示在内存中的一表,包含多个登录项,各登录项可储存一个分段描述符。
在所示的实施例中,MMU 20产生作业模式,且传送该作业模式予执行核心14。执行核心14使用作业模式执行指令。尤其是,执行核心14从寄存器文件22或内存中取出具有该内设操作数长度的操作数(如果该内存操作数为可快速存取缓冲者,则经由该数据快取缓冲存储器16,或者是如果该内存操作数非快速存取缓冲者,或漏失数据快取缓冲存储器16,则经由该外部接口单元18),除非特定的指令编码越位(override)该内设的地址长度,在此例子中,使用越位的地址长度。同样地,执行核心14产生内存操作数的地址,其中除非特定的指令编码越位内设的地址长度,两使用越位的地址长度,否则使用具有的内设地址长度。在其它的实施例中,用于产生该作业模式的信息可以在处理器10的某些部位中局部加上阴影,其中该处理器使用该作业模式(如执行核心14),且可以从该局部阴影的拷贝中决定该作业模式。
如上所述,MMU 20产生该作业模式,以响应一对应将执行的码的分段描述符,而且更进一步响应在控制寄存器中的一个或多个数值。来自码分段描述符中的信息储存在分段寄存器24中的其中一个寄存器(此寄存器称为CS,或码分段)。另外,控制寄存器26储存用于致能作业模式的致能指示(LME),其中该内设地址长度大于32位(“32/64模式”),且大于在32位及16位作业模式中某些兼容的模式。该内设的操作数长度在32/64模式中可以是32位者,但是如果需要的话,该数个指令可以越位具有64位操作数长度的内设32位操作数长度。如果LME指示在致能状态的话,则除了32位及16位的模式外,可以使用该32/64模式。如果LME指示在不致能模式,则不致能该32/64模式。在一个实施例中,在32/64模式,可以配置内设的地址长度,但是可以有任何的数值多达或包含64位。而且,在给定的配置中,虚拟地址的长度可以与在该配置中实际地址的长度不同。
须了解文中说明的致能指示可以是致能状态的位,而该状态在该位的设定状态,且为具有不致能状态的位,而该状态在该位的清除状态。但是,也有可能是其它的编码状态,包含使用多位方式的编码,及一种编码方式,其中致能状态为清除状态,而不致能状态为设定状态。因此,此说明的其余部位可以将在控制寄存器26中的LME指示以做为LME位,而其中已设定致能状态,且清除不致能状态。但是,如上所述,也可以是LME指示的其它编码状态。
分段寄存器24储存来自分段描述符的信息,而该分段描述符现在正为将由处理器10所执行的码所使用。如上所述,CS为分段寄存器24中的一项,且指定内存的码分段。该码分段储存将执行的码。更进一步的分段寄存器可以定义出多种不同的数据分段(即1,由SS分段寄存器所定义的堆栈数据分段,且最多可以由DS、ES、FS及GS分段寄存器定义出4个数据分段)。图1显示一个基本上分段寄存器24A的内容,其中包含选择字段24AA及描述符字段24AB。选择字段24AA负载分段选择器,以动作特定的分段,作为执行核心14所执行的某些分段负载指令的响应。该分段选择器辨识在内存的分段描述符表中的分段描述符。尤其是,处理器10可以使用两个分段描述符表一个本地描述符表及一个全域描述符表。本地描述符表的基础地址是储存在LDTR 30中。同样地,全域描述符表的基础地址是储存在GDTR 32中。在分段选择器内的位(表指示位)选择描述符表,且分段描述符的其余部份作为进入选择的表的指示。当指令负载分段选择器进入分段寄存器24中的一项时,MMU 20从选择的分段描述符表中读取对应的分段描述符,且将来自分段描述符的储存信息储存在分段描述符字段中(即用于分段寄存器24A的分段描述符字段24AB)。储存在分段描述符字段中的信息可以包含分段描述符中任何适当的子集,如果需要的话包含所有的分段描述符。另外,如果需要的话从分段描述符或者是其它来源中得到的其它信息可以储存在分段描述符字段中。例如,实施例中可以将来自码分段描述符的作业模式指示译码,且储存译码的数值,而非该作业模式指示中原先的数值。如果指令导致CS加载分段选择器的话,则可以改变码分段,且因此改变处理器10的作业模式。此将于下文中加以说明分段描述符表。
在一个实施例中,在32/64模式中只有使用CS分段寄存器。不晓得该数据分段寄存器。在16及32位模式中,可以动作码分段及数据分段。而且,在控制寄存器28中的第二致能指示(PE)影响MMU 20的操作。PE致能指示可以用于致能保护模式,其中可以使用分段及/或调用地址转译机构。如果PE致能指示为不致能状态,则禁能分段及调用机构,且处理10在“实际模式”中(在状态模式中,由执行核心14产生的地址为实际地址)。与LME指示类似的处为,PE指示中可以为一位,其中该致能状态为将设定的位,而不致能状态为清除的位。但是,如上所述本发明中考量使用其它的实施例。
须了解MMU 20可以使用其它的硬件机构,如上所述者。例如,MMU 20包含调用硬件,以从虚拟地址向实际地址配置调用地址转译功能。该调用硬件可以包含一个转译旁视缓冲器(translation lookasidebuffer(TLB))以储存调用的转译。
须了解控制寄存器26及28可以配置如结构控制寄存器(即控制寄存器26可以是CR4,且控制寄存器28可以是CR0)。另外,控制寄存器中的一或两者可以配置如模式特定的寄存器,以允许使用其它的架构控制寄存器,而不会干扰到32/64模式。
一般而言,指令快取缓冲存储器12可以是用于储存指令字节的快取缓冲存储器。执行核心14取出来自执行用的指令快取缓冲存储器12的指令。指令快取缓冲存储器12可以使用任何适当的快取缓冲存储器结构,包括直接转换、设定组合、和完全组合配置。如果在指令快取缓冲存储器12中漏失了得到的一项指令,则指令快取缓冲存储器12可以与外部指令单元进行通讯,而将漏失的快取缓冲存储器线填入指令快取缓冲存储器12中。另外,指令快取缓冲存储器12可以与MMU20通讯,以接收用于从指令快取缓冲存储器12中取得的虚拟地址的实际地址模式。
执行核心14执行从指令快取缓冲存储器12中的取得的指令。执行核心14取得来自寄存器文件22中的寄存器操作数,且更新在寄存器文件22中的标的寄存器。由作业模式及对于特定的指令中作业模式中任何的越位控制该寄存器操作数的长度。同样地,执行核心14从数据快取缓冲存储器16中得到内存操作数,且更新在数据快取缓冲存储器16中的标的内存位置,以进行内存操作数的快取缓冲存储器作业,且储存在数据快取缓冲存储器16中。内存操作数的长度同样地由作业模式及对于一特定指令的作业模式的任何越位所控制。而且,由执行核心14产生的内存操作数的地址长度由该作业模式及对于特定指令的作业模式中的任何越位所控制。
执行核心14可以使用任何适当的指令。例如,执行核心14可以是超管线核心,超尺寸核心,或其结合。执行核心14可以依据设计上的选择使用不规则随机执行方式,或者是依据设计上的选择进行规则的执行方式。
如同由处理器10及对于特定指令的任何的越位所指示的64位、32位、16位、8位寄存器的操作模式近接该包含64位寄存器的寄存器文件22。此将于下文中加以说明用于实施例的寄存器的格式,请参考附图7。在寄存器文件22中包含的寄存器可以包含如LEAX、LEBX、LECX、LEDX、LEDI、LESI、LESP、及LEBP寄存器。寄存器文件22可以进一步包含LEIP寄存器。另外,执行核心14可以使用寄存器再编名型式,其中在寄存器文件22中任何的寄存器可以对映到一架构的寄存器中。在寄存器文件22中执行寄存器的数目可相关于此一实施例。
数据快取缓冲存储器16为用于储存数据的高速快取缓冲存储器。数据快取缓冲存储器16可以使用任何适当的高速缓存架构,其中包含直接对映、设定相关、及完全的相关配置。如果在数据快取缓冲存储器16中没有得到数据或没有更新该数据,则数据快取缓冲存储器16与外部接口单元18通讯,以将漏失的快取缓冲存储器线写入数据快取缓冲存储器16中。另外,如果数据快取缓冲存储器16使用可回写快取缓冲存储器作业方式,可以在数据快取缓冲存储器16中读取的更新的快取缓冲存储器线路可以与外部接口单元18通讯以回写入内存中。数据快取缓冲存储器16可以与MMU 20通讯,以接收以虚拟地址表现于数据快取缓冲存储器16中的实际地址。
外部接口单元18与在处理器10的外部的系统部分通讯。如上所述,外部接口单元18可以与用于指令快取缓冲存储器12及数据快取缓冲存储器16的快取缓冲存储器线路通讯,而且也可以与MMU 20通讯。例如,外部接口单元18可以近接分段描述符表,及/或依据MMU20的行动准则近接该调用表。
须了解如果需要的话,处理器10包含整合位准2(L2)的快取缓冲存储器。而且,可以配置外部接口单元18的形态,使得除了与该系统通讯外,尚可以与旁侧的快取缓冲存储器通讯。
现在请参考图2,其中显示对于32/64模式的码分段描述符40的实施例的方块图。当然,在本发明中仍依据应用或考量其它的实施例以达成此实施例的目的。在图2所示的实施例中,码分段描述符40包含8个字节,其中最大有效位的4个字节显示前于最小有效的4个字节。4个最大有效字节储存的数值地址要较最小有效位的储存的数值地址大。4个字节中各群的最大有效位在图2中以位31显示(下图3中也一样),且最小有效位在该图中以位0显示。在4个字节内的短垂直线限制各位,且长垂直线限制一位,但是也限制一个字段(在图2及图3中均同)。
与下图3说明的32位及16位码分段描述符不同,该码分段描述符40不包含基础地址或限制。处理器10使用用于32/64模式的平坦虚拟地址空间(而非使用在32位及16位模式中的分段线性地址空间)。因此,在分段描述符40中反转码分段描述符40中的部份,否则这些将储存在基础地址中且限制在其内。须注意,由分段所提供的虚拟地址在文中也称为“线性地址”。而文中的“虚拟地址”包含任何的地址,其经由转译机构转译为实际上用于寻址内存的实际上地址,其中包含在非分段架构中产生的线性地址及其它的虚拟地址。
分段描述符40包含D位42及L位44(可以为用于32/64模式码分段中的一项)、一个可使用位(AVL)46、呈现(P)位48、描述符优先准位(DPL)50、型式字段52。使用D位42及L位44以决定执行核心14的作业模式,如下文的图5中所示者。由系统软件(例如操作系统)而可使用AVL位46。使用P位48以指示在内存中存在该分段否。如果位设定P位48,则呈现该分段,且可以从该分段中取出数据码。如果清除P位48,则不呈现该分段,且产生异常指示,以将该分段加载内存中(例如,从磁盘储存器,或经由网络连结)。DPL指示该分段的优先准位。处理器10使用4个优先准位(在DPL字段中编码如0到3,而位准0为最大优先准位)。在更大的优先准位下,某些指令及处理器来源(如形态及控制寄存器)为唯一可执行或可近接者,且试着在由异常所导致的较低优先准位下,执行这些指令或近接这些来源。当来自码分段描述符40的信息加载CS分段寄存器时,该DPL成为处理器10的现在优先准位(CPL)。型式字段52编码分段的型式。对于码分段,型式字段52的最大有效位中的两位可设定(最大有效位从系统分段中辨识出其为一码或一数据分段,且第二最大有效位从数据分段中辨识出其是否为一码分段),且其余的位可以编码其它的分段型式信息(如唯执行、执行且可以读取、或执行且只有读取、一致、及是否可以近接该码分段)。
须注意,虽然在码分段描述符中的数个指示项以位的方式加以说明,而其中设定及清除数值已定义其意义,但是在其它的实施例中也可以使用反向编码,且如果需要的话,可以使用数个。因此,例如,D位42及L位44依据是作业模式指示中的例子,如果需要的话,其可以是一个或多个位,此类似于上述的致能指示的说明。
现在请参考图3,其中显示用于32及16位兼容模式的码分段描述符54的实施例的方块图。也可以使用及考量其它的实施例。如同图2所示的实施例,码分段描述符54包含8个字节,其中包含4个最大有效位,此最大有效位位在4个最小有效位之前。
码分段描述符54包含类似上述码分段描述符40的说明中的D位42、L位44、AVL位46、P位48、DPL 50及型式字段52。另外,码分段描述符54包含基础地址字段(参考数字为56A,56B,及56C)、限制字段(参考数字为57A,及57B)、及G位58。基础地址字段储存基础地址,此地址加入逻辑取得地址(储存在LEIP寄存器中)以形成指示的线性地址,然后此线性地址可以经由调用转换机构选择地转换成为实际的地址。该限制字段储存分段限制,此定义该分段的长度。不允许在大于分段数目的逻辑地址处近接一字节,因此此动作导致发生异常状态。G位58决定分段限制字段的尺寸。如果G位58设定该限制的长度为4K字节页(例如将12个最小有效的0加到限制字段的限制中)。如果清除G位58,则使用该项限制。
当没有经由在控制寄存器26中的LME位致能32/64模式时,则用于32及16位模式中的码分段描述符与码分段描述符54类似,只是反转该L位,且定义该位为0。须更进一步了解在依据此一实施例的32及16位模式中(两者均具有LME位设定,及LME位清除的兼容模式),也可以使用数据分段。数据分段描述符可以类似码分段描述符54,唯定义D位42以指示该分段的上界或定义该内设的堆栈尺寸(用于堆栈分段)。
现在请参考图4,其中显示在控制寄存器26及兼容模式中LME位的代表性例子中允许在配置32/64模式及32及16位模式中具有高度的韧性。方块60指示当设定LME位中的基本上作业方式,方块62指示当清除LME位时,基本上作业方式,
如方块60所示,当设定LME位,则支持的兼容模式允许64位的操作系统(即在超过32位及/或64位的数据操作数中,显示操作系统以善用虚拟及实际地址空间的优点)以操作32位应用程序(即,所写的应用程序使用32位操作数及地址长度)。用于操作系统的码分段可以由图2所示的32/64模式码分段描述符40所定义,且因此可以设定L位。因此,对于由该操作系统及该操作系统维持的数据结构而言,该操作系统可以善用扩充的虚拟地址空间及实际地址空间的优点(其中包含如分段描述符表及调用转译表)。该操作系统也使用在32/64模式中定义的64位的数据型式,其中是经由越位内设32位操作数长度的指令编码。而且,经由建立在分段描述符表中的一个或多个32位兼容模式分段描述符(L位清除,D位设定,即图2所示的分段描述符),且分支于兼容模式分段之一,该操作系统可以开始一个32位的应用程序。同样地,经由在分段描述符表中建立一个或多个16位兼容模式分段描述符(清除L位,清除D位,即,图2中所示的分段描述符54),且分支于兼容模式分段之一,该操作系统可以开始16位的应用程序。因此,64位的操作系统可以维持其能力以在兼容模式中执行现存的32位及16位应用程序。如果该程序需要扩展能力的话,或者是可以维持32位或16位时,则特定的应用程序可以转向32/64模式。
当处理器10正执行32位应用程序时,该处理器10的作业模式为32位。因此,一般该应用程序与在32位模式,而LME位清除的状态下相同的方式执行(即当时操作系统如同32位的操作系统)。但是,应用程序可以调用操作系统服务,历经异常状态,或终止操作。在每一个例子中,处理器10可以回到执行该操作系统码的步骤(如图4的箭头64中所示者)。因为操作系统码在32/64模式下操作,操作系统服务常规,异常处理器等的地址超过32位。因此,在回到操作系统码之前,该处理器10必须产生大于32位的地址。LME位提供处理器10一项指示,其中说明操作系统在32/64模式下操作,甚至现在的作业模式为32位,且因此处理器10可以提供较大的地址空间以操作系统调用及异常状态。
在一个实施例中,使用储存在分段描述符表中的中断分段描述符以处理异常状态。如果设定LME位的话,则中断分段描述符可以是16字节的登录项,其中包含处理该异常状态的操作系统常规的64位地址。如果清除LME位,则中断分段描述符可以为8字节的登录项,其中包含32位的地址。因此,处理器10近接中断描述符表,以响应该LME指示(即如果设定LME位则读取16字节的登录项,且如果清除LME位,则读取8字节的登录项)。因此,可以由64位的操作系统处理该异常状态,甚至该应用程序正在32位的兼容模式下执行时。而且,如果清除该LME位时,处理器10支持32位(或16位)的操作系统。
同样地,在处理器10内的调用机构可以基于LME位的状态,在不同的操作方式下操作。因为操作系统基本上在比应用程序还要高的优先准位下执行,所以小心地控制从应用程序向操作系统的转换,以确定应用程序只可以执行允许的操作系统常规。尤其是,必须小心地控制优先准位的改变。在一实施例中,处理器10可以至少支持两个机构以执行操作系统调用。一种方法可以经由在分段描述符表中的调用选通(gate)(此将于下文中加以说明)。另一种方法可以由处理器10支持的SYSCALL指令,其中使用模式特定的寄存器作为操作系统常规的地址来源。更新模式特定的寄存器为具有优先作业的权力,且因此只有在较高优先准位下执行的码(即操作系统码)可以由该SYSCALL指令使用的模式特定寄存器中建立该地址。对于SYSCALL方法,可以定义出第二模式特定的寄存器以储存操作系统常规的地址中最大有效位中的32位。因此,如果设定LME位的话,可以从二个模式特定的寄存器中读取该地址。若清除了LME位,则可从储存最小有效32位的模式特定寄存器中读取地址。另外,由SYSCALL指令使用的模式特定寄存器指令可以扩充为64位,且该地址可以为基于LME位的状态下的32位(模式特定寄存器的最小有效位的32位)或64位。
如上所述,具有LME位设定可以允许处理器10在系统中操作,其中在该系统中,操作系统为64位,且一个或多个应用程序不为64位者(前如图所示的32位或16位,其操作方式与上述说明的方式类似)。另外,如图中所示者,具有LME位清除的地址允许处理器10在与x86架构兼容的32位或16位模式下操作。如上所述,指定用于处理异常及操作系统调用的机构设计为处理将设定或清除的LME位,且因此可以未修改下操作该32位及16位模式,甚至处理器10可以在32/64模式下操作。而且,经由当清除LME位时,提供该x86兼容的16及32位模式(且不晓得L位,其在这些模式下反转),处理器10可以在系统下操作,其中对于某些非32/64模式的其它原因定义该L位,而且如果设定LME位时,仍可以支持32/64模式。因此,使用32位操作系统及32或16位应用程序的系统可以使用该处理器10。然后,该系统可以升级到64位的操作系统,而不必改变处理器10。
图4中没有显示的是与LME位设定共同操作的64位的操作系统和64位的应用程序。用于上述用于64位操作系统及32位应用程序的操作系统常规的机构可以等效地应用到64位的应用程序。另外,支持用于支持64位补偿的调用选通(gate)(此将于下文中加以说明)。
现在请参考图5,如图所示的表70说明依据处理器10的一实施例的LME位,在码分段描述符中的L位,在码分段描述符及处理器10的对应作业模式中的D位的状态。也可以使用或来源其它的实施例。如表70中所示者,如果清除LME位的话,则反转L位(即定义为0)。但是,如果清除LME位的话,则处理器10可以处理L位如一不注意事项。因此,x86兼容的16位及32位模式如果清除LME位的话,则可以由处理器10提供。如果设定LME位,且清除在码分段中的L位,则由处理器10建立的兼容的作业模式,且D位选择16位或32位的模式。如果设定LME位及该L位,且清除D位,则对于该处理器10选择32/64模式。最后,如果LME,L及D位均设定时所选择的模式可反转。
如上所述,及下图6中的说明,32/64作业模式包括超过32位(配置上与64位无关,但是可以上达64位)的内设地址长度,及32位的内设操作数长度。该32位的程序操作数长度可以经由特定的指令编码,越位到64位。选择32位的内设操作数长度以使得对于某些程序的平均指令长度达到最小(考量越位64位,包含在增加指令长度时,指令编码中的指令首段),其中有这些程序中,对于为该程序执行的多项数据操作中,32位即足敷使用。对于此程序(其可以为现在的程序的实际数目),移动到64位的操作数长度实际上可以减少由该程序所达到的执行性能(即增加执行的时间)。某一部份上,此项减少的作业有助于使得当储存64位的数值时,由该程序使用的数据结构的内存中的长度两倍。如果32位即足敷使用时,则这些数据结构将储存32位的数值。所以,如果将64位的数值使用在32位的数值即足够使用的环境中,则当近接数据结构时,增加近接的字节的数目,且增加的内存频带宽(以及由各数值所占用的增加的快取缓冲存储器空间)可以导致增加执行时间。因此,选择32位作为内设的操作数长度,且该内设数值可以经由特定的指令的编码,而越位。
现在请参考图6,其中表72表示使用指令首段的实施例,以越位特定指令的操作模式。也可以使用及考量其它的实施例。执行核心14及依据表72对于特定的指令决定地址长度及操作数的长度。尤其是对于图6所示的实施例,可以使用指令首段字节(地址长度越位首段字节)以越位该内设的地址长度,而且,使用其它的指令首段字节(该操作数长度越位该首段字节)以越位该内设的操作数长度。将越位首段字节的地址长度编码为67(6进位下),且编码越位首段字节的操作数长度为66(6进位下)。则特定指令中的越位首段的数目形成该表的行。而该表中的列指示特定指令的操作数长度及地址长度,是基于在对应行中的作业模式及越位首段的数目。越位首段的数目指对应型式的越位首段的数目(例如地址长度列为基于越位首段地址长度的数目,而操作数长度列为越位首段的操作数长度的数目)。
在越位首段的数目中标示为“0”的行示用于各作业模式下内设操作数的长度及地址长度。须了解32位及16位模式的列与兼容模式(LME设定)及标准模式(LME清除)有关。而且,当内设的地址长度为在32/64模式中的64位时,该地址位的实际数目可以如上所述般相依配置。
在32/64位模式中的一个地址长度越位首段中内涵将地址长度从64位(对于给定的形态小于64位,但是大于32位)改变为32位,如表72中所示者。另外,在32/64位模式下的操作数长度越位首段的内涵将该操作数长度从32位改变为64位。希望达到必须提供16位的操作数(如支持在“C”程序语言中的短整数的数据型式)。因此,在32/64模式中二个操作数长度越位首段内容选择16位的操作数长度。多于两个的操作数长度越位首段的内容导致与双操作数长度越位首段的内容相同的操作数长度。同样地,多于一个的地址长度越位首段的内容导致与一个地址长度越位首段的内容相同的地址长度。
对于32位的模式,一个越位首段的内容使得内设的32位长度成为16位长度,且多于一个的越位首段的内容具有与越位首段的内容相同的效应。同样地,对于16位的模式,单一越位首段的内容导致内设的16位长度成为32位,且多于一个的越位首段的内容与一个越位首段的内容具有相同的效应。
现在请参考图7,其中显示LEAX寄存器74的实施例。在寄存器文件22中的其它寄存器类似此寄存器。可以使用或考量其它的实施例。在图7所示的实施例中,寄存器74包含64位,而最大有效位标示为位63,而最小有效位标示为0。图7显示基于指令的操作数长度近接的LEAX寄存器的某些部位(如果选择A寄存器作为操作数的话)。尤其是,如果操作数长度为64位,则近接寄存器74的全部事项(如图7的粗标示“LEAX”中所示者)。如果操作数长度为32位,则近接寄存器74的位310(图7的粗标示“AX”中所示者)。如果操作数长度为16位,则近接寄存器的位160(如图7的粗标示“AX”中所示者)。可以基于作业模式及任何越位首段的内容,选择上述的操作数长度。但是,定义特定指令的OP码,其可近接8位的寄存器(在图7中为AH或AL)。
现在请参考图8,其中的方块图显示全域描述符表80及一个本地扩充器表82的实施例。可能考量其它的实施例。如图8及上述的说明者,由GDTR 32提供全域分段描述符表80的基础地址,而由LDTR 30提供本地描述符表82的基础地址。因此,为了支持在虚拟地址空间内随意放置全域扩充器表80及本地描述符表82,GDTR 32及LDTR 30可以储存64位的基础地址。如果清除LME位,则基础地址的最大有效位的32位可以用于位在该描述符表。
配置全域描述符表80及本地描述符表82的形态以储存多种不同型式的分段描述符。例如,图8中显示32/64模式码分段描述符84、86、90及兼容模式描述符92、94。各描述符84-94占据在对应描述符表中的登录项,其中登录项可以储存一个分段描述符(对于第2、3图说明的实施例为8字节)。在全域描述符表80的描述符中的另一种型式为本地描述符表描述符96,其对于本地描述符表82定义系统分段,且提供储存在LDTR 30中的基础地址。LDTR 30使用LLDT指令予以初始化,其中该指令有分段选择器作为操作数,而该分段选择器是定位在全域描述符表80中的描述符96中。如果需要的话,全域描述符表80可以储存不同本地描述符表的多个LDT描述符。因为如果设定LME位LDT描述符96可以储存64位的补偿值,所以LDT描述符96可以占据全域描述符表80中的二个登录项。若清除了LME位,则LDT描述符96可以在全球描述符表80中占据一个登录项。同样地,各项工作在描述符表80及82的一项的可以具有工作状态分段(TSS)描述符,以储存与该工作相关的某些信息。因此,TSS描述符可以占据两个登录项以允许在该64位地址空间的任何处所中储存该TSS信息。
本地及全域描述符表可以用于储存调用选通描述符。例如,图8中显示调用选通描述符100、102及104。调用选通描述符支持64位的补偿,而且因此可以占据对应描述符表中的两个登录项。下图9中说明基本上的32/64调用选通描述符。
经由维持分段描述符表80、82为8个字节,且对于包含64位补偿的描述符使用两个登录项,用于16及32位模式的描述符可以储存在相同的表中,作为包含64位补偿的描述符。因此,在兼容模式下的应用操作可以在如同64位操作系统中一般在相同的分段描述符表中具有适当的描述符。
一般,使用调用选通以管理具有低优先准位的码分段及具有高优先准位的码分段之间的转译(例如,应用过程调用操作系统常规)。低优先准位的码包含调用及其它的分支指令,其指定分段选择器作为标的(且指定补偿于该分段中,该分段于此情况被忽略)。该分段选择器辨识在描述符表内的调用选通描述符,且包含需要执行较大优先准位码时所需要的最小优先准位。当处理器10执行调用或其它的分支指令时,处理器10将该描述符表指向分段选择器,且定位该调用选通。如果处理器10的现在的优先准位及要求的优先准位(其为分段选择器的某些部位,且可以用于优先核对目的用的较低的现用优先准位)均反映具有够格的优先准位时(即在数值上,该优先准位小于或等于在调用选通描述符中的最小优先准位时),则可以处理该调用。调用选通描述符包含标的分段(具有较大的优先准位的码分段)的分段选择器,且包含在标的分段内的补偿,其中此分段是为开始进行码取得作业的分段。处理器10取出该分段选择器及来自该调用选通描述符的补偿值,且读取该标的分段描述符,以开始取得具有较高优先准位的码。另外,如果在现在的优先准位或要求的优先准位中存在任何一项其优先准位小于在调用选通描述符中的最小优先准位时(即现在或要求优先准位中任何一项其数值大于该最小优先准位时),则在近接该调用选通描述符,且不近接该标的描述符时,处理器10发出异常信号。因此,可以小心地控制在高优先准位下近接该码的作业。
如上所述,调用选通描述符包含标的分段选择器,及在该分段内的补偿。图8中显示对于标的分段描述符的参考,其为从调用选通描述符到另一描述符的箭头。例如,调用选通描述符100参考模式描述符90;调用选通描述符102参考32/64模式描述符86,且调用选通描述符104参考32/64模式描述符84。如图8中所示者,调用选通描述符可以储存在描述符表中,或可以在其它的表或相同的表中参考描述符。而且,调用选通描述符可以为32/64模式描述符或兼容模式描述符。
一般而言,当处理器10使用分段选择器从描述符表中的一项读取描述符时,读取一个描述符表登录。但是,如果设定LME位,且处理器10侦测到该登录项为调用选通描述符、LDT描述符,或TSS描述符时,处理器10在该表中读取下一个后续的登录项,以得到描述符中其余部份。因此,在该具有不同长度的兼容模式描述符表(或标准模式描述符)中可以同时存在调用选通描述符、LDT描述符及TSS描述符,而不必再定义表登录项的长度,亦不处理对占据一登录项的描述符定义该表的管理方式。而且,因为调用选通描述符、LST描述符及TSS描述符的第二部份可以如一分段描述符一般近接,所以当如下图9中所示者,当在描述符表中储存该描述符时,在第二部份中为描述符的型式字段的描述符的某些部位可以加以设定为无效型式。另外,处理器10可以在每次执行描述符表的读取作业时,从描述符表中读取两个连续的登录项,如果第一登录项为调用选通、LDT描述符型式、或TSS描述符型式时,则也可以使用该第二登录项。
须了解在任何的作业模式(32/64模式、32位兼容模式、或16位兼容模式)中的码操作可以当设定LME位时参考调用选通描述符。因此,甚至该常规的地址在使用调用选通机构时的32位或16位的地址空间的外部,则32或16位的应用仍可以调用操作系统常规。另外,调用选通描述符可以参考具有任何作业模式的码分段。操作系统可以确定在调用选通中补偿的最大有效位的32位为0(对于32位的标的分段),或在调用选通中补偿的最大有效位的48位为0(对于16位的标的分段)。
现在请参考图9,其中显示调用选通描述符120的实施例的方块图。也可以配置及考量其它的实施例以达到同一目的。与图2及图3类似,显示的最大有效字节在最小有效字节的上方。以4字节为一群的最大有效位显示如位31,而最小有效位中显示如位0。在四个字节内的数个垂直线限制各位,且长的垂直线限制位,也限制一字段。如上所述,调用选通描述符占据描述符表中的两个登录项。图9中的水平虚线分割调用选通描述符120成为上部位(在该线之上)及下部位(在该线之下)。下部位储存在由调用选通的分段选择器所指引的登录项中,而上部位储存在下一连续的登录项中。
调用选通描述符120包含标的分段选择器(字段122)、补偿字段(字段124A、124B及124C)、出现(P)位126、描述符优先准位(DPL)128、型式字段130及虚拟型式字段132。P位类似上述说明的P位48。标的分段选择器辨识在其一描述符表内的表的登录项,其中该描述符表储存标的分段描述符(具有较高的优先准位)。该补偿值辨识开始取出码的地址。在32/64模式中,因为码分段没有基础地址,且使用平坦方式的线性寻址,所以在开始得到码的地址为该补偿。在其它的模式中,将补偿值加入由标的分段描述符所定义的分段基础中,以产生开始得到该码的地址。如上所述,该补偿可以包含在本实施例中的64个位。
DPL 128储存调用常规中的最小优先准位(均在现在的优先准位及要求的优先准位下),其可顺利地通过该调用选通,且在标的分段描述符指定的优先准位下执行该调用常规。
将型式字段130编码为调用选通说明型式。在一个实施例中,此型式编码为在x86架构中定义的32位调用选通型式。另外,也可以使用其它的编码方式。最后,编码该虚拟型式字段132成为无效的型式(如0),以确定如果出现分段选择器,其中该分段选择器辨识储存在调用选通描述符120的上半的描述符表登录项中时,则由处理器10发出异常信号。
须注意LDT描述符96的下半部份类似32位的LDT描述符,而LDT描述符96的上半部位类似调用选通描述符120的上半部位。
现在请参考图10,其中显示用于为处理器10执行的指令的指令格式140的方块图。也可以考量应用其它的实施例达成本实施例相同的目的。在图10所示的实施例中,指令格式140包含首段字段142、OP码字段144、模式R/M(寄存器/内存)字段146、SIB(尺寸指示基础)字段148、位移字段150、瞬间处理字段152。除了OP码字段144外的各个字段均为可视需要选择者。因此,指令字段140可以定义成变动长度的指令。
首段字段142用于指令的任何的指令首段。如上所述,可以将操作数长度越位首段及地址长度越位首段可编码成为指令,以越位该处理器10的作业模式。这些越位首段包含在该首段字段142中。如上所述,操作数长度越位首段及地址长度越位首段可以为包含在首段字段142中的字节。
OP码字段144包含指令的OP码(即为将被执行的指令集中的指令)。对于一些指令,操作数可以特定在OP码字段144中。对于其它的指令,OP码中的一部份可以包含在模式R/M字段146内。而且某些OP码特定8位或16位的寄存器为操作数。因此,OP码编码可以用于越位由处理器10的作业模式指示的内设值。
MOD R/M字段146及SIB字段148指示该指令的操作数。位移字段150包含任何的位移信息,且瞬间处理字段152包含一瞬间操作数。计算机系统现在请参考图11,其中显示计算机系统200的实施例的方块图,其中该计算机系统包含处理器10,而处理器是经由总线桥接器202耦合到多个系统组件。也可以考量使用其它的实施例达到相同的目的。在所示的系统中,主存储器204经内存总线206耦合到总线桥接器202,且图形控制器208经AGP总线210耦合到总线桥接器202。最后,多个PCI装置212A-212B经PCI总线214耦合到总线桥接器202中。可以更进一步提供第二总线桥接器216以将电子接口经EISA/ISA总线220而适应一个或多个EISA或ISA装置218。处理器10经CPU总线224耦合到总线桥接器202,且耦合到选择性L2快取缓冲存储器228。另外,CPU总线224及至L2快取缓冲存储器228的接口可以包含可以耦合外部接口单元18的外部接口。
总线桥接器202提供在处理器10、主存储器204、图形控制器208、及连结到PCI总线214的装置之间的接口。当从连接到总线桥接器202的装置中的一项接收到操作时,总线桥接器202辨识操作的标的(例如特定的装置,或者是在PCI总线214的例子中,该标的为在PCI总线214上)。总线桥接器202路由该操作到标的装置中。总线桥接器202将为来源装置或总线使用的协议的操作转译为由标的装置或总线使用的协议。
另外对于PCI总线214提供到ISA/EISA总线的接口处,如果需要的话,第二总线桥接器216尚提供其它额外的功能。可在第二总线桥接器216外或与其整合的输入/输出控制器(图中没有显示)也可以包含在计算机系统200中,以对于键盘或鼠标222提供操作上的支持,且如果需要的话,对于多种不同的串行或并行接口提供该支持。在另一实施例中,外部快取缓冲存储器单元(图中没有显示)可以更进一步耦合在其它实施例的处理器10及总线桥接器202之间的CPU总线224。另外,该外部快取缓冲存储器可以耦合到总线桥接器202中,且对于外部快取缓冲存储器的快取缓冲存储器控制逻辑也可以整合入该总线桥接器202内。L2快取缓冲存储器226显示以后侧配置的型式提供予处理器10。须注意L2快取缓冲存储器228可以与处理器10分开,整合于具有处理器10的卡匣(如开槽1或开槽A)中,甚至整合在具有处理器10的半导体基体中。
主存储器204为内存,其中储存应用程序,且由此,可以主要地执行处理器10。适当的主存储器204包含DRAM(动态随机存取内存)。例如可以使用多库方式的SDRAM(同步DRAM),或者是也可以使用Rambus(RDRAM)。
以多种不同的周边装置显示PCIA因此212A至212B,例如可为网络适配卡、视讯加速器、声霸卡、硬或软盘驱动器、或驱动器控制器、SCSI(小型计算机系统接口)转接器、及电话卡。同样地,ISA装置218可以是多种不同的周边装置,如调制解调器、声音卡、及多种数据辨识卡,如GPIB或字段总线适配卡。
提供图形控制器208以控制在显示226上的文字及影像的显示。图形控制器208可以以基本上的图形加速器显示,习知技术中一般为三维数据结构,其可以有效地从主存储器204中写入或读取。图形控制器208因此可以为主AGP总线210,其要求或接收近接标的接口,其中该接口在该总线桥接器202内,因此得以近接主存储器204。一个专用的图形总线适于快速从主存储器204中得到数据。对于某些操作,更进一步配置图形控制器208的型式使在AGP总线210上产生PCI协议转译。总线桥接器202的AGP接口因此可以在功能上包含传送APG协议及PCI协议标的及初始器转换的功能。显示器226为任何型式的电子显示器而可以显示影像或文字者。适当的显示器226包含阴极射线管(“CRT”)、液晶显示器(“LCD”)等。
须注意当在上述说明中使用AGP、PCI、及ISA或EISA总线作为说明例子时,实际上如果需要的话也可以使用任何的总线架构取代上述说明的总线。更进一步说明计算机系统200可以为包含额外处理器的多处理计算机系统(如以计算机系统200的操作组件显示的处理器10A)。处理器10A可以类似处理器10。尤其是,处理器10A可以为处理器10的复制品。处理器10A可以经独立的总线(如图11中所示者)连接总线桥接器202,或可以共享处理器10内的CPU总线224。而且,处理器10A可以耦合选择性的L2快取缓冲存储器228A,此快取缓冲存储器类似L2快取缓冲存储器228。
现在请参考图12,其中显示计算机系统200的另一实施例。某些,也可以考量使用其它的实施例达成相同的目的。在图12的实施例中,计算机系统300包含数个处理节点312A、312B、312C及312D。各处理节点经包含在各对应的处理节点312A-312D内的内存控制器316A-316D藕合到对应的内存314A-314D。另外,处理节点312A-312D包含用于与处理节点312A-312之间进行通讯的接口逻辑。例如,处理节点312A包含接口逻辑318A,以与处理节点312B进行通讯,包含接口逻辑318B,以与处理节点312C进行通讯,且包含第三接口逻辑318C,以与另一处理节点(图中没有显示)进行通讯。同样地,处理节点312B包含接口逻辑318D、318E及318F;处理节点312C包含接口逻辑318G、318H、318I;且处理节点312D包含接口逻辑318J、318K及318L。处理节点312D经接口逻辑318L而与多个输入/输出装置耦合通讯(如在链状配置中的装置320A至320B)。在类似的型式中,也可以使用其它的处理节点以与其它的I/O装置进行通讯。
对处理节点312A-312D配置以包封为基础的连结,以交互处理节点之间的通讯作业。在本实施例中,配置该连结如单方向的线集(如使用线324A以从处理节点312A向处理节点312B传送包封,而使用线324B以从处理节点312B向处理节点312A包封)。使用其它的线集324C至324H以在图12中所示的其它处理节点之间传送包封。一般,各线集324可以包含一个或多个数据线,一个或多个对应该数据线的时钟线,及一个或多个指示将传送的型式的控制线。可以以快取缓冲存储器同相相关型式中操作该连结,以在处理节点之间进行通讯作业,或者是以非同相相关的型式,在处理节点及I/O装置之间进行通讯(或者是至传统结构的I/O总线的总线桥接器,如PCI总线或ISA总线)。而且,可以类似,在I/O装置之间,使用菊键(daisy chain)结构,在非同相相关型式下操作该连结。须了解从处理节点向另一处理节点传送的包封可以通过一个或多个中间节点。例如,由处理节点312A向处理节点312D传送的包封可以通过处理节点312B或者是处理节点312C中的任何一项,如图12中所示者。可以使用任何适当的常规算法。计算机系统300的其它实施例可包括较的图12所示者更多个或较少的处理节点。
一般,可以在节点之间的线324上的一个或多个位时间传送该包封。一位时间为在对应的时钟线上的时钟信号的上升缘下降缘。该包封可以包含用于起始交易的指令包封,用于维持快取缓冲存储器同相的探针包封(probe包封),及响应探针及命令的响应包封。
除了内存控制器及接口逻辑外,处理器节点312A-312D可以包含一个或多个处理器。广言之,处理节点包含至少一个处理器,且可以视需要包含内存控制器,如果需要的话可与内存和其它的逻辑组件之间进行通讯。尤其是,各处理节点312A-312D包含处理器10中的一个或多个复本。外部接口单元18可以包含在该节点内的接口逻辑318,及内存控制器316。
内存314A至314D可以包含任何适当的内存装置。例如内存314A至314D可以包含一个或多个RAMBUS DRAM(RDRAM)、同步DRAM(SDRAM)、静态RAM等。计算机系统300的地址空间在内存314A-314D之间划分开。各处理节点312A-312D可以包含内存对映件,用于决定那一地址对映到内存314A-314D的对映关系,且因此对于特定地址的内存要求路由到该处理节点312A-312D。在一实施例中,在计算机系统300内的一地址的同相相关点为内存控制器316A-316D,其中控制器耦合到储存对应该地址的字节的内存。另言之,该内存控制器316A-316D必须确定各近接内存314A至314D的内存可以以快取缓冲存储器同相相关的方式产生。内存控制器316A-316D可以包含用于介接内存314A至314D的控制电路。另外,内存控制器316A-316D可以包含对于询问内存要求的要求序列。
一般,接口逻辑318A-318L可以包含多种不同的缓冲器以接收来自该连结的包封,且缓冲将在该连结上传送的包封。计算机系统300可以使用任何适当的流程控制机构以传送该包封。例如,在一实施例中,各接口逻辑318储存该连结的另一端的接收器内各型式缓冲器的数目计数,其为接口逻辑将要介接者。该接口逻辑318不传送包封,除非接收的接口逻辑318存在空置缓冲器以储存该包封。当接收缓冲器经由路由包封朝前而空置时,接收的接口逻辑传送讯息予该传送接口逻辑以指示该缓冲器已经空置。此机构称为“以联单为基础(coupon-based)的系统”。
I/O装置320A-320B可以为任何适当的I/O装置。例如I/O装置320A-320B可以包含网络适配卡、视讯加速器、声霸卡、硬或软盘驱动器或驱动控制器、SCSI(小型计算机系统接口)转接器、及电话卡、调制解调器、声卡及多种不同的数据取得卡,如GPIB、字段总线适配卡。
虽然文中已以较佳实施例说明本发明,但本领域技术人员可对上述实施例作多种更改及变更,而不偏离本发明的精神及观点。所以本发明的权利要求涵盖本发明所有的变动及修改例。
权利要求
1.一种处理器,包含执行核心,配置此执行核心以执行指定分段选择器的分支指令;其中配置该处理器,使可从分段描述符表中读取至少第一登录项,以响应该分段选择器,而且其中,如果该第一登录项指示调用选通描述符,则在该分段描述符表中的第二登录项储存该调用选通描述符中其余部份。
2.如权利要求1所述的处理器,其中更进一步配置该处理以从该调用选通描述符中取出补偿数据,且其中该补偿数据中至少第一部份储存在该第一登录项中,而该补偿数据中其余的部份储存在该第二登录项中。
3.如权利要求2所述的处理器,其中该补偿数据为64位。
4.如权利要求1所述的处理器,其中配置该处理器的架构使其可从该调用选通描述符中取出标的分段选择器,其中该标的分段选择器辨识标的分段描述符。
5.如权利要求4所述的处理器,其中该标的分段描述符包含第一作业模式指示,且其中该第一作业模式指示建立大于32位的内设地址长度。
6.如权利要求1所述的处理器,其中该第二登录项包含类型字段,且其中编码该类型字段,以指示该第二登录项为无效项。
7.如权利要求6所述的处理器,其中为了响应读取该第二登录项作为分段描述符,该处理器配置为可侦测该第二登录项是无效使用该类型字段。
8.一种方法,包含从分段描述符表中读取调用选通描述符,该调用选通描述符包含在该分段描述符表中的第一登录项及第二登录项,其中各该第一登录项及该第二登录项可储存分段描述符;以及从该调用选通描述符中取出补偿数据,该补偿数据定位第一指令,其为可在标的码分段中执行者。
9.如权利要求8所述的方法,其中该补偿数据为64位者。
10.如权利要求8所述的方法,尚包含步骤为只从该分段描述符表中的第三登录项中读取第一分段描述符。
11.如权利要求8所述的方法,尚包含步骤为从该调用选通描述符中抽取标的分段选择器,该标的分段选择器是用于辨识标的分段描述符。
12.如权利要求11所述的方法,尚包含步骤为读取该标的分段描述符,该标的分段描述符建立大于32位的内设地址长度。
13.如权利要求8所述的方法,其中各该第一登录项及该第二登录项具有类型字段。
14.如权利要求13所述的方法,尚包含步骤为在该第二登录项中设定该类型字段以指示其为无效者。
15.如权利要求14所述的方法,尚包含在该第一登录项中设定该类型字段以指示调用选通描述符。
16.如权利要求14所述的方法,尚包含步骤为试着从该第二登录项中读取分段描述符;以及决定该分段描述符为无效者,以响应在该第二登录项中的该类型字段。
17.一种计算机系统,包含处理器,包含执行核心,配置此执行核心以执行指定分段选择器的分支指令;其中配置该处理器,使其可从分段描述符表中读取至少第一登录项,以响应该分段选择器,而且其中,如果该第一登录项指示调用选通描述符,则在该分段描述符表中的第二登录项储存该调用选通描述符中其余部份;以及输入/输出(I/O)装置,配置此装置使得该计算机系统及另一可耦合该I/O装置的计算机系统之间可通讯。
18.如权利要求17所述的计算机系统,其中该I/O装置包含调制解调器。
19.如权利要求17所述的计算机系统,其中尚包含第二处理器,此第二处理器包含执行核心,配置此执行核心以执行指定分段选择器的分支指令;其中配置该处理器,使其可从分段描述符表中读取至少第一登录项,以响应该分段选择器,而且其中,如果该第一登录项指示调用选通描述符,则在该分段描述符表中的第二登录项储存该调用选通描述符中其余部份。
全文摘要
一个支持第一处理模式的处理器,在该模式中,地址长度是大于32位。该位地址长度可以额定为64位,但是在该第一处理模式中,也可以配置任何超过32位的地址长度,可多到包含64位。第一处理模式的建立方式为:将在控制用寄存器中的致能指示置于致能状态,且将在分段描述符中第一作业模式指示及第二作业模式指示置于先前定义的状态中。可以使用该第一作业模式指示及第二作业模式指示的其它结合方式以对于可以与x86处理器架构兼容的32位及16位处理方式提供兼容的模式(而该致能指示仍在致能状态)。为了从该32位或16位码中调用在第一处理模式中操作的码,定义调用选通描述符,其中此调用选通描述符占据该分段描述符表中至少两登录项。经由占据两登录项,各该登录项可以储存一个分段描述符,该调用选通描述符可以具有足够的空间以储存超过32位的地址。因此,调用的码分段可以参考调用选通描述符,而该调用选通描述符可以参考标的码分段,而且可以在该标的码分段的地址空间内提供地址,甚至该地址超过调用码分段中的地址长度仍可进行该作业。
文档编号G06F9/355GK1423774SQ00818343
公开日2003年6月11日 申请日期2000年7月19日 优先权日2000年1月14日
发明者凯文·J·马克格瑞斯 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1