專利名稱::于處理器中建立的操作模式的制作方法
技術領域:
:本發(fā)明涉及處理器領域,尤其涉及處理器中地址及操作數(shù)長度。
背景技術:
:x86架構(gòu)(熟知為IA-32架構(gòu))在市場上已廣泛地為大眾所接受,而且是一項相當成功的產(chǎn)品。因此,使用x86架構(gòu)設計處理器具有相當多的優(yōu)點。此類型的處理器的優(yōu)點為可以將容量大的軟件寫入x86架構(gòu)中(考量此處理器可以執(zhí)行該軟件,且因此使用該處理器的計算機系統(tǒng)在市場上接受度頗高,是因為具有大量可使用的軟件之故)。隨著計算機系統(tǒng)持續(xù)發(fā)展,愈需要使用64位的地址長度(有時后指操作數(shù)長度operandsize)。較大的地址長度允許程序具有較大的內(nèi)存足印(footprint,為程序中的指令所占據(jù)的內(nèi)存容量及由程序所操作的數(shù)據(jù)量),以在內(nèi)存空間內(nèi)操作。較大的操作數(shù)長度允許在較大的操作數(shù)上操作,或者是在操作數(shù)進行更精準的操作。更有效的應用及/或操作系統(tǒng)可以使用64位地址及/或操作數(shù)長度。不完全令人滿意的是x86架構(gòu)限制在最大為32位的操作數(shù)長度,及32位的地址長度之內(nèi)。操作數(shù)長度指由處理器操作的位數(shù)目(例如在來源或標的操作數(shù)中位的數(shù)目)。該地址長度指由處理器產(chǎn)生的地址中位的數(shù)目。因此,使用x86架構(gòu)的處理器不符合需要64位地址或操作數(shù)長度的應用上的需要。
發(fā)明內(nèi)容上面所概述的問題可由以下所說明的處理器解決。支持第一處理模式的處理器,在該模式中,地址長度是大于32位,而該操作數(shù)的長度可以是32或64位。該位地址長度可以額定為64位,但是在處理模式的多種不同實施例中,在該處理模示中,可以配置超過32位的地址長度,可多到且包含64位。第一處理模式的建立方式為將在控制用寄存器中的致能指示(enableindication)置于致能狀態(tài),且將在分段描述符(segmentdescriptor)中的第一操作模式指示及一第二操作模式指示設定在預先定義的狀態(tài)中??梢允褂迷摰谝徊僮髂J街甘炯暗诙僮髂J街甘镜钠渌Y(jié)合方式以對于可以與x86處理器架構(gòu)兼容的32位及16位處理方式提供兼容的模式(而該致能指示仍在致能狀態(tài))。最好,可以提供64位的處理,且提供與x86兼容的架構(gòu),因此支持現(xiàn)有的碼以寫入x86處理器架構(gòu)中。而且,經(jīng)由對于64位或16位處理提供兼容模式,而對于第一處理模式的致能指示仍在控制寄存器的致能狀態(tài)中,可以簡化軟件的兼容性。例如具有第一處理模式的優(yōu)點的編碼的操作系統(tǒng)仍可開展出寫入32位或16位模式的應用。該處理器可以在第一處理模式下操作,而執(zhí)行操作系統(tǒng)碼。在執(zhí)行應用碼時,處理器可以在32或16位模式下操作(如由在對應的分段描述符中的第一及第二操作模式中所指向者)。但是,當執(zhí)行一操作模式的調(diào)用(call),或者是當一異常或中斷導致執(zhí)行操作模式碼時,該致能指示可以指示該處理器該操作系統(tǒng)碼在第一操作模式中,而因此允許第一處理模式在該開關處建立起來(基于對應該操作系統(tǒng)的分段描述符中的第一及第二操作模式指示)。另外,如果有控制寄存器中的致能指示在不致能狀態(tài)時,可以支持16及32位x86操作模式。如果致能指示不致能,則第一操作模式指示不定義,且如果該處理器的操作模式為16或32位,則該第二操作模式指示可以加以決定??梢允褂媚承┠J剑?,如果處理器支持一分段描述符,而該分段描述符在不同的型式將定義第一操作模式指示項時,可以使用上述的模式。廣言之,考慮一種處理器。該處理器包含一分段寄存器及一控制寄存器。配置該分段寄存器的配置以儲存辨識該分段描述符的分段選擇器,該分段描述符說明第一操作模式指示項及一第二操作模式指示項。配置該控制寄存器的配置以儲存一致能指示。為了響應該致能指示,該第一處理模式,及該第二處理模式,配置該處理器的操作模式指示項以建立一操作模式。另外,考慮一處理器,包含一分段寄存器及一控制寄存器,配置該寄存器的配置以儲存一致能指示。配置該分段寄存器的配置以儲存一分段選擇器,及來自分段描述符的信息,該分段選擇器包含一進入一分段描述符表的索引,其中該分段描述符表儲存在與該處理器耦合的內(nèi)存中,且分段描述符儲存在由該索引指示的登錄項中的分段描述符表中。該處理器是作成以從該分段描述符表中讀取該分段描述符,作為該分段選擇器的響應,且該分段描述符包含一操作模式指示項。該處理器是配置成以在一操作模式下操作,其中在該操作模式下,虛擬地址大于32位以響應在致能狀態(tài)下的致能指示,及在第一狀態(tài)下的操作模式指示項。而且,本發(fā)明提出一方法,其中在一處理器中建立一操作模式,以響應在處理器內(nèi)的控制寄存器中的致能指示,在分段描述符中的第一操作模式指示項,及在分段描述符中的第二操作模式指示項。取出操作數(shù),且產(chǎn)生地址,以響應該操作模式。閱讀下文中的說明及參考附圖即可更進一步了解本發(fā)明的特征及優(yōu)點。圖1為處理的一實施例的方塊圖。圖2為用于32/64模式的分段描述符一實施例的方塊圖。圖3為用于兼容模式的分段描述符的一實施例的方塊圖。圖4為依據(jù)圖1所示的處理器的一實施例的兼容模式及遺留模式的作業(yè)的方塊圖。圖5為顯示操作模式的一實施例的表,為分段描述符及控制用寄存器數(shù)值的函數(shù)。圖6為顯示使用指令首段以越位內(nèi)設操作模式的一實施例的表。圖7為一寄存器的一實施例的方塊圖。圖8表示一全域描述符表及一本地描述符表的實施例。圖9為一32/64調(diào)用選通描述符(callgatedescriptor)的一實施例的方塊圖。圖10為一指令格式的方塊圖。圖11為包含圖1的處理器的計算機系統(tǒng)的實施例的方塊圖。圖12為包含圖1的處理器的計算機系統(tǒng)的另一實施例的方塊圖。本發(fā)明可作多種修改及變更的型式,附圖僅顯示特定的實施例作為范例,而且此將于下文中加以說明。須了解,所附的圖標及其說明并非用于限制本發(fā)明于這些特定的型式,相反地,本發(fā)明涵蓋由權利要求所定義的本發(fā)明的精神及觀點中所有的修改,變更及對等的實例。具體實施例方式茲參照圖1,其中顯示處理器10的一實施例的方塊圖。本發(fā)明也適用于其它的實施例,或以其它的實施例完成本發(fā)明。在圖1的實施例中,處理器10包含指令快取緩沖存儲器12,執(zhí)行核心14,數(shù)據(jù)快取緩沖存儲器16,外部接口單元18,內(nèi)存管理單元(MMU)20,寄存器文件22。在所示的實施例中,MMU20包含一組分段寄存器24,第一控制寄存器26,第二控制寄存器28,本地描述符表列寄存器(LDTR)30,全域描述符表列寄存器(GDTR)32。該指令快取緩沖存儲器12耦合該外部接口單元18,執(zhí)行核心14,MMU20。執(zhí)行核心14更進一步耦合該MMU20,寄存器文件22,及數(shù)據(jù)快取緩沖存儲器16,數(shù)據(jù)快取緩沖存儲器16更進一步耦合該MMU20及外部接口單元18。外部接口單元18更進一步耦合MMU20及外部接口。一般說來,處理器10使用一與x86架構(gòu)兼容的處理器架構(gòu),且包含其它額外的架構(gòu)特征以支持64位的處理。配置處理器10以建立一操作模式,可響應儲存在碼分段描述符中儲存的信息,而該分段描述符是對應現(xiàn)在的執(zhí)行碼,且可以更進一步響應儲存在一個或多個控制寄存器中的致動指示。在本文中,“操作模式”一詞指用于多種不同的可程序可選擇的處理器屬性所指定的預設數(shù)值(defaultvalue)。例如,操作模式指定一預設的操作數(shù)長度(defaultoperandsize),及一預設的地址長度(defaultaddresssize)。該預設的操作數(shù)長度特定一指令的操作數(shù)中的位數(shù),除非是一指令的編碼已超過該預設數(shù)值,否則該預設的地址長度指定在一指令的內(nèi)存操作數(shù)的一地址中。該預設的地址長度至少指定內(nèi)存操作數(shù)中的虛擬地址(virtualaddress)的長度,且也可以用于指定實際地址(physicaladdress)的長度。另外,實際地址的長度也可以與預設地址的長度不相關,且也可以與此將于下文中加以說明的LEM位有關(即如果LEM位已清除,而如果設定LEM位的話,則一配置的相關長度大于32位而小于64位),或者是與另一控制位相關(即實際的地址延伸位,或在另一控制寄存器中的PAE位)。在本文中“虛擬地址”指在經(jīng)一地址轉(zhuǎn)譯機構(gòu)(如一調(diào)用機構(gòu))轉(zhuǎn)譯成“實際地址”前所產(chǎn)生的一地址,其為實際上用于近接(access)一內(nèi)存的地址。另外,在本文中,一“分段描述符(segmentdescriptor)”為一由軟件產(chǎn)生且由處理器使用以辨識內(nèi)存的一分段的近接控制及狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。一“分段描述符表(segmentdescriptortable)”表示在內(nèi)存中的一個表,包含多個登錄項,各登錄項可儲存一分段描述符。在所示的實施例中,MMU20產(chǎn)生一操作模式,且傳送該操作模式予一執(zhí)行核心14。執(zhí)行核心14使用操作模式執(zhí)行該指令。尤其是,執(zhí)行核心14從寄存器文件22或內(nèi)存中取出具有該內(nèi)設操作數(shù)長度的操作數(shù)(如果該內(nèi)存操作數(shù)為可快速存取緩沖者,則經(jīng)由該數(shù)據(jù)快取緩沖存儲器16,或者是如果該內(nèi)存操作數(shù)非快速存取緩沖者,或漏失數(shù)據(jù)快取緩沖存儲器16,則經(jīng)由該外部接口單元18),除非一特定的指令編碼越位(override)該預設的地址長度,在此例子中,使用越位的地址長度。同樣地,執(zhí)行核心14產(chǎn)生內(nèi)存操作數(shù)的地址,其中該地址具有預設的操作數(shù)長度,除非是一預設的指令編碼越位該預設的操作數(shù)長度,在此一例子中使用越位的地址長度。在其它的實施例中,用于產(chǎn)生該操作模式的信息可以在處理器10的某些部位中局部加上陰影,其中該處理器使用該操作模式(如執(zhí)行核心14),且可以從該局部陰影的拷貝中決定該操作模式。如上所述,MMU20產(chǎn)生該操作模式,以響應一個對應將執(zhí)行的碼的分段描述符,而且更進一步響應在控制寄存器中的一或多個數(shù)值。來自碼分段描述符中的信息儲存在分段寄存器24中的一寄存器(此寄存器稱為CS,或碼分段codesegment)。另外,控制寄存器26儲存一用于致能一操作模式的致能指示(LMEenableindication),其中該預設地址長度大于32位(“32/64模式”),且大于在32位及16位操作模式中某些兼容的模式。該預設的操作數(shù)長度在32/64模式中可以是32位者,但是如果需要的話,該數(shù)個指令可以越位具有一64位操作數(shù)長度的預設32位操作數(shù)長度。如果LME指示在一致能狀態(tài)的話,則除了32位及16位的模式外,可以使用該32/64模式。如果LME指示在一不致能模式,則不致能該32/64模式。在一實施例中,在32/64模式,可以配置預設的地址長度,但是可以有任何的數(shù)值多達或包含64位。而且,在一給定的配置中,虛擬地址的長度可以與在該配置中實際地址的長度不同。須了解文中說明的致能指示可以是致能狀態(tài)的位,而該狀態(tài)在該位的致能狀態(tài),且為具有不致能狀態(tài)的位,而該狀態(tài)在該位的清除狀態(tài)。但是,也有可能是其它的編碼狀態(tài),包含使用多位方式的編碼,及一編碼方式,其中致能狀態(tài)為清除狀態(tài),而不致能狀態(tài)為設定狀態(tài)。因此,此說明的其余部位可以將在控制寄存器26中的LME指示以做為LME位,而其中已設定致能狀態(tài),且清除不致能狀態(tài)。但是,如上所述,也可以是LME指示的其它編碼狀態(tài)。分段寄存器24儲存來自分段描述符的信息,而該分段描述符現(xiàn)在正為將被處理器10所執(zhí)行的碼所使用。如上所述,CS為分段寄存器24中的一項,且指定內(nèi)存的碼分段。該碼分段儲存將執(zhí)行的碼。更進一步的分段寄存器可以定義出多種不同的數(shù)據(jù)分段(即,由SS分段寄存器所定義的堆棧數(shù)據(jù)分段,且最多可以由DS,ES,F(xiàn)S及GS分段寄存器定義出4個數(shù)據(jù)分段)。圖1表示一個基本上分段寄存器24A的內(nèi)容,其中包含一選擇字段24AA及一描述符字段24AB。選擇字段24AA負載一分段選擇器,以動作一特定的分段,作為為執(zhí)行核心14所執(zhí)行的某些分段負載指令的響應。該分段選擇器辨識在內(nèi)存的分段描述符表中的分段描述符。尤其是,處理器10可以使用兩個分段描述符表一個本地描述符表及一個全域描述符表。本地描述符表的基礎地址是型式在LDTR30中。同樣地,全域描述符表是儲存在GDTR32中。在分段選擇器內(nèi)的一位(表指示位)選擇描述符表,且分段描述符的其余部份作為進入選擇的表的指示。當一指令負載一分段選擇器進入分段寄存器24中的一項時,MMU20從選擇的分段描述符表中讀取說明的分段描述符,且將來自分段描述符的儲存信息儲存在分段描述符字段中(即用于分段寄存器24A的分段描述符字段24AB)。儲存在分段描述符字段中的信息可以包含分段描述符中任何適當?shù)淖蛹?subset),如果需要的話包含所有的分段描述符。另外,如果需要的話從分段描述符或者是其它來源中得到的其它信息可以儲存在分段描述符字段中。例如,一實施例中可以將來自碼分段描述符的操作模式指示譯碼,且儲存譯碼的數(shù)值,而非該操作模式指示中原先的數(shù)值。如果一指令導致CS加載一指令選擇器的話,則可以改變碼分段,且因此改變處理器10的操作模式。此將于下文中加以說明分段描述符表。在一實施例中,在32/64模式中只有使用CS分段寄存器。該數(shù)據(jù)分段寄存器則予以忽略。在16及32位模式中,可以動作碼分段及數(shù)據(jù)分段。而且,在控制寄存器28中的第二致能指示(PE)影響該MMU20的操作。該PE致能指示可以用于致能保護模式,其中可以使用分段及/或調(diào)用地址轉(zhuǎn)譯。如果PE致能指示為不致能狀態(tài),則非分段及調(diào)用機構(gòu),且處理10在一“實際模式”中(在狀態(tài)模式中,由執(zhí)行核心14產(chǎn)生的地址為實際地址)。與LME指示類似的處為,PE指示中可以為一位,其中該致能狀態(tài)為將設定的位,而不致能狀態(tài)為該被清除的位。但是,如上所述本發(fā)明中考量使用其它的實施例。須了解MMU20可以使用其它的硬件機構(gòu),如上所述者。例如,MMU20包含調(diào)用硬件,以從虛擬地址向?qū)嶋H地址配置調(diào)用地址轉(zhuǎn)譯功能。該調(diào)用硬件可以包含一轉(zhuǎn)譯旁視緩沖器(translationlookasidebuffer(TLB))以儲存調(diào)用的轉(zhuǎn)譯。須了解控制寄存器26及28可以配置如一結(jié)構(gòu)控制寄存器(即控制寄存器26可以是CR4,且控制寄存器28可以是CR0)。另外,控制寄存器中的一或兩者可以配置如一模式特定的寄存器,以允許使用其它的架構(gòu)控制寄存器,而不會干擾到32/64模式。一般,指令快取緩沖存儲器12可以是用于儲存指令字節(jié)的快取緩沖存儲器。執(zhí)行核心14定義來自執(zhí)行用的指令快取緩沖存儲器12的指令。指令快取緩沖存儲器12可以使用任何適當?shù)目烊【彌_存儲器配置。如果在一指令快取緩沖存儲器12中漏失了得到的一項指令,則指令快取緩沖存儲器12可以與外部接口單元18進行通訊,而將漏失的快取緩沖存儲器線填入指令快取緩沖存儲器12中。另外,指令快取緩沖存儲器12可以與MMU20通訊,以接收用于從指令快取緩沖存儲器12中取得的虛擬地址的實際地址模式。執(zhí)行核心14執(zhí)行配置指令快取緩沖存儲器12中的取得的指令。執(zhí)行核心14取得來自寄存器文件22中的寄存器操作數(shù),且更新在寄存器文件22中的標的寄存器。由操作模式及對于一特定的指令中操作模式中任何的越位控制該寄存器操作數(shù)的長度。同樣地,執(zhí)行核心14從數(shù)據(jù)快取緩沖存儲器16中得到內(nèi)存操作數(shù),且更新在數(shù)據(jù)快取緩沖存儲器16中的標的內(nèi)存位置,以進行內(nèi)存操作數(shù)的快取緩沖存儲器作業(yè),且儲存在數(shù)據(jù)快取緩沖存儲器16中。內(nèi)存操作數(shù)的長度同樣地由操作模式及對于一特定分段的操作模式的任何越位所控制。而且,由執(zhí)行核心14產(chǎn)生的內(nèi)存操作數(shù)的地址由該操作模式及對于一特定指令的操作模式中的任何越位所控制。執(zhí)行核心14可以使用適當?shù)闹噶?。例如,?zhí)行核心14可以是管線核心,一超尺寸核心,或其結(jié)合。執(zhí)行核心14可以依據(jù)設計上的選擇使用不規(guī)則隨機執(zhí)行方式,或者是依據(jù)設計上的選擇進行規(guī)則的執(zhí)行方式。如同如處理器10及對于一特定指令的任何的越位所指示的64位,32位,16位,8位寄存器的方式近接該包含64位寄存器的寄存器文件22。此將于下文中加以說明用于一實施例的寄存器的格式,茲參照圖7。在寄存器文件22中包含的寄存器可以包含如LEAX,LEBX,LECX,LEDX,LEDI,LESI,LESP,及LEBP寄存器。寄存器文件22可以基本上包含LEIP寄存器。另外,執(zhí)行核心14可以使用寄存器再編名型式,其中在寄存器文件22中任何的寄存器可以對映到一架構(gòu)的寄存器中。在寄存器文件22中寄存器的數(shù)目的配置與此一實施例有關。數(shù)據(jù)快取緩沖存儲器16為一以用于儲存數(shù)據(jù)的快取緩沖存儲器。數(shù)據(jù)快取緩沖存儲器16可以使用任何適當?shù)募軜?gòu),其中包含直接對映(direct-mapped),設定相關,及完全的相關配置。如果在數(shù)據(jù)快取緩沖存儲器16中沒有得到一數(shù)據(jù)或沒有更新該數(shù)據(jù),則數(shù)據(jù)快取緩沖存儲器16與外部接口單元18通訊,以將漏失的快取緩沖存儲器線寫入數(shù)據(jù)快取緩沖存儲器16中。另外,如果數(shù)據(jù)快取緩沖存儲器16使用一可回寫快取緩沖存儲器作業(yè)方式,可以在數(shù)據(jù)快取緩沖存儲器16中讀取的更新的快取緩沖存儲器線路可以與外部接口單元18通訊以回寫入內(nèi)存中。數(shù)據(jù)快取緩沖存儲器16可以與MMU20通訊,以接收虛擬地址的模式,因此將該虛擬地址寫入該數(shù)據(jù)快取緩沖存儲器16。外部接口單元18與在處理器10允許的系統(tǒng)通訊。如上所述,外部接口單元18可以與用于指令快取緩沖存儲器12及數(shù)據(jù)快取緩沖存儲器16的快取緩沖存儲器線路通訊,而且也可以與MMU20通訊。例如,外部接口單元18可以近接分段描述符表,及/或依據(jù)MMU20的行動準則近接該調(diào)用表。須了解如果需要的話,處理器10包含一整合位準2(L2)的快取緩沖存儲器。而且,可以配置外部接口單元18的配置,使得除了與該系統(tǒng)通訊外,尚可以與一旁側(cè)的快取緩沖存儲器通訊。茲參照圖2,其中顯示對于32/64模式的碼分段描述符40的一實施例的方塊圖。當然,在本發(fā)明中仍依據(jù)應用或考量其它的實施例以達成此實施例的目的。在圖2所示的實施例中,碼分段描述符40包含8個字節(jié),其中最大有效位為4個字節(jié)。4個最大有效位儲存的數(shù)值地址與最小有效位的數(shù)值地址大。4個字節(jié)中各群的最大有效位在圖2中以位31顯示(以下的圖3中也一樣),且最小有效位在該圖中以位0顯示。在4個字節(jié)內(nèi)的短垂直線限制各位,且長垂直線限制一位,但是也限制一字段(在圖2及圖3中均同)。與以下圖3說明的32位及16位碼分段描述符不同,該碼分段描述符40不包含一基礎地址或限制。處理器10使用一用于32/64模式的平坦虛擬地址(而非使用在32位及16位模式中的分段線性地址近接)。因此,在分段描述符40中反轉(zhuǎn)碼分段描述符40中的部份,否則這些將儲存在基礎地址中且限制在其內(nèi)。須注意,由分段所提供的虛擬地址在文中也稱為“線性地址”。而文中的“虛擬地址”包含任何的地址,其經(jīng)由一轉(zhuǎn)譯地址轉(zhuǎn)譯為實際上用于尋址內(nèi)存的實際上地址,其中包含在非分段架構(gòu)中產(chǎn)生的線性地址及其它的虛擬地址。分段描述符40包含一D位42及一L位44(可以為用于32/64模式碼分段中的一項),一可使用位(AVL)46,一呈現(xiàn)(P)位48,一描述符優(yōu)先準位(DPL)50,一型式字段52。使用一D位42及L位44以決定執(zhí)行核心14的操作模式,如下文的圖5中所示者。使用P位48以指示在內(nèi)存中存在該分段否。如果位設定P位48,則呈現(xiàn)該分段,且可以從該分段中取出數(shù)據(jù)碼。如果清除P位48,則不呈現(xiàn)該分段,且產(chǎn)生一異常指示,以將該分段加載內(nèi)存中(例如,從磁盤儲存器,或經(jīng)一網(wǎng)絡連結(jié))。一DPL指示該分段的優(yōu)先準位。處理器10使用4個優(yōu)先準位(在DPL字段中編碼如0到3,而位準0為最大優(yōu)先準位)。在更大的優(yōu)先準位下,某些分段及處理器來源(如配置及控制寄存器)為唯一可執(zhí)行或可近接者,且試著在由一異常所導致的較低優(yōu)先準位下,執(zhí)行這些指令或近接這些來源。當來自碼分段描述符40的信息加載CS分段寄存器時,該DPL成為處理器10的現(xiàn)在優(yōu)先準位(CPL)型式字段52編碼分段的型式。對于碼分段,型式字段52的最大有效位中的兩位可被設定(最大有效位從一系統(tǒng)分段中辨識出其為一碼或一數(shù)據(jù)分段,且第二最大有效位從一數(shù)據(jù)分段中辨識出其是否為一碼分段),且其余的位可以編碼其它的分段型式信息(如唯執(zhí)行,執(zhí)行且可以讀取,或執(zhí)行且只有讀取,一致,及是否可以近接該碼分段)。須注意,雖然在碼分段描述符中的數(shù)個指示項以位的方式加以說明,而其中設定及清除數(shù)值已定義其意義,但是在其它的實施例中也可以使用反向編碼,且如果需要的話,可以使用數(shù)個。因此,例如,D位42及L位44依據(jù)是一操作模式指示中的例子,如果需要的話,其可以是一個或多個位,此類似于上述的致能指示的說明。茲參照圖3,其中顯示用于32及16位兼容模式的碼分段描述符54的一實施例的方塊圖。也可以使用及考量其它的實施例。如同圖2所示的實施例,碼分段描述符54包含8個字節(jié),其中包含4個最大有效位,此最大有效位位在4個最小有效位之前。碼分段描述符54包含類似上述碼分段描述符40的說明中的D位42,L位44,AVL位46,P位48,DPL50及型式字段52。另外,碼分段描述符54包含一個基礎地址字段(參考數(shù)字為56A,56B,及56C),一個限制字段(參考數(shù)字為57A,及57B),及一個G位58?;A地址字段包含一基礎地址,此地址加入邏輯取得地址(儲存在LEIP寄存器中)以形成架構(gòu)的線性地址,然后此線性地址可以經(jīng)由調(diào)用模式機構(gòu)模式成為實際的地址。該限制字段儲存一個分段限制,此定義該分段的長度。不允許在大于分段數(shù)目的一邏輯地址處近接一字節(jié),因此,此動作導致發(fā)生異常狀態(tài)。G位58決定分段限制字段的尺寸。如果G位58設定該限制的長度為4字節(jié)頁(例如將12個最小有效的0加到限制字段的限制中)。如果清除G位58,則使用該項限制。當沒有經(jīng)由在控制寄存器26中的LME位致能32/64模式時,則用于32及16位模式中的碼分段描述符與碼分段描述符54類似,只是反轉(zhuǎn)該L位,且定義該位為0。須更進一步了解在依據(jù)此實施例的32及16位模式中(兩者均具有LME位設定的兼容模式,及LME位清除的模式),也可以使用數(shù)據(jù)分段。數(shù)據(jù)分段描述符可以類似碼分段描述符54,唯定義D位42以指示該分段的上界或定義該預設的堆棧尺寸(用于堆棧分段)。茲參照圖4,其中顯示在控制寄存器26及兼容模式中LME位的代表性例子中允許在配置32/64模式及32及16位模式中具有高度的伸縮性。方塊60指示當設定LME位中的基本上作業(yè)方式,方塊62指示當清除LME位時,基本上作業(yè)方式。如方塊60所示,當設定LME位中的基本上作業(yè)方式,則支持的兼容模式允許一個64位的操作系統(tǒng)(即顯示一種操作系統(tǒng),該操作系統(tǒng)是設計成利用超過32位及/或64位的數(shù)據(jù)操作數(shù)的虛擬及實際地址空間)。用于操作系統(tǒng)的碼分段可以由圖2所示的32/64模式碼分段描述符40所定義,且因此可以設定L位。因此,對于由該操作系統(tǒng)及該操作系統(tǒng)維持的數(shù)據(jù)結(jié)構(gòu)而言,該操作系統(tǒng)可以善用擴充的虛擬地址空間及實際地址空間的優(yōu)點(其中包含如分段描述符表及調(diào)用轉(zhuǎn)譯表)。該操作系統(tǒng)也使用在32/64模式中定義的64位的數(shù)據(jù)型式,該32/64模式是使用經(jīng)由越位預設32位操作數(shù)長度的指令編碼。而且,經(jīng)由在分段描述符表中的一或多個32位兼容模式分段描述符(L位清除,D位設定,即圖2所示的分段描述符),且分支于兼容模式分段之一,該操作系統(tǒng)可以開始一個32位的應用程序。同樣地,經(jīng)由在分段描述符表中建立一個或多個16位兼容模式分段描述符(清除L位,清除D位,即,圖2中所示的分段描述符54),該操作系統(tǒng)可以開始一16位的應用程序。因此,一個64位的操作系統(tǒng)可以維持其能力以在兼容模式中執(zhí)行現(xiàn)存的32位及16位應用程序。因此,一個64位的操作系統(tǒng)可以維持在兼容模式中執(zhí)行現(xiàn)存的32位及16位應用程序的能力。如果該程序需要擴大能力的話,可以采用32/64模式的特定應用程序,或者是可以維持32位或16位。當處理器10正執(zhí)行32位應用程序時,該處理器10的操作模式為32位。因此,一般該應用程序與以32位模式及LME位清除的狀態(tài)下執(zhí)行相同的方式執(zhí)行(即當時操作系統(tǒng)如同一32位的操作系統(tǒng))。但是,應用程序可以調(diào)用一操作系統(tǒng)服務,歷經(jīng)一異常狀態(tài),或終止操作。在每一個例子中,處理器10可以回到執(zhí)行該操作系統(tǒng)碼的步驟(如圖4的箭頭64中所示者)。因為操作系統(tǒng)碼在32/64模式下操作,操作系統(tǒng)服務常規(guī),異常處理器等的地址超過32位。因此,在回到操作系統(tǒng)碼之前,該處理器10必需產(chǎn)生一個大于32位的地址。LME位提供處理器10一項指示,其中說明操作系統(tǒng)在32/64模式下操作,甚至現(xiàn)在的操作模式為32位,且因此處理器10可以提供較大的地址空間以操作系統(tǒng)調(diào)用及異常狀態(tài)。在一個實施例中,使用儲存在分段描述符表中的中斷分段描述符以處理該異常狀態(tài)。如果設定LME位的話,則全域分段描述符可以是16字節(jié)的登錄項,其中包含處理該異常狀態(tài)的操作系統(tǒng)常規(guī)的64位地址。如果清除LME位,則全域分段描述符可以為8字節(jié)的登錄項,其中包含一個32位的地址。因此,處理器10近接全域描述符表,以響應該LME指示(即如果設定LME位則讀取16字節(jié)的登錄項,且如果清除LME位,則讀取8字節(jié)的登錄項)。因此,可以由64位的操作系統(tǒng)處理該異常狀態(tài),甚至該應用程序正在32位的兼容模式下執(zhí)行時。而且,如果清除該LME位時,處理器10支持32位(或16位)的操作系統(tǒng)。同樣地,在處理器10內(nèi)的調(diào)用機構(gòu)可以基于LME位的狀態(tài),在不同的操作方式下操作。因為操作系統(tǒng)基本上在比應用程序還要高的優(yōu)先準位下執(zhí)行,所以小心地控制從應用程序向操作系統(tǒng)的轉(zhuǎn)換,以確定應用程序只可以執(zhí)行允許的操作系統(tǒng)常規(guī)。尤其是,必需小心的控制優(yōu)先準位的改變。在一個實施例中,處理器10可以至少支持兩個機構(gòu)以執(zhí)行操作系統(tǒng)調(diào)用。有一種方法可以經(jīng)由在分段描述符表中的調(diào)用選通(gate)(此將于下文中加以說明)。另一種方法可以由處理器10支持的SYSCALL指令,其中使用一模式特定的寄存器作為操作系統(tǒng)常規(guī)的地址來源。更新模式特定的寄存器為具有優(yōu)先作業(yè)的權力,且因此只有在較高優(yōu)先準位下執(zhí)行的碼(即操作系統(tǒng)碼)可以由該SYSCALL指令使用的模式特定寄存器中建立該地址。對于SYSCALL方法,可以定義出第二模式特定的寄存器以儲存操作系統(tǒng)常規(guī)的地址中最大有效位中的32位。因此,如果設定LME位的話,可以從儲存在最小有效位的32位內(nèi)的模式特定的寄存器中讀取該地址。另外,由SYSCALL指令使用的模式特定寄存器指令可以擴充為64位,且該地址可以為基于LME位的狀態(tài)下的32位(模式特定寄存器的最小有效位的32位)或64位。如上所述,具有LME位設定可以允許處理器10在一系統(tǒng)中操作,其中在該系統(tǒng)中,操作系統(tǒng)為64位,且一個或多個應用程序不為64位者(前如圖所示的32位或16位,其操作方式與上述說明的方式類似)。另外,如方塊62中所示者,具有LME位清除的地址允許處理器10在與x86架構(gòu)兼容的32位或16位模式下操作。如上所述,指定用于處理異常及操作系統(tǒng)調(diào)用的機構(gòu)以處理將設定或清除的LME位,且因此可以未修改下操作該32位及16位模式,甚至處理器10可以在32/64模式下操作。而且,經(jīng)由當清除LME位時,提供該x86兼容的32及16位模式(且不曉得L位,其在這些模式下反轉(zhuǎn)),處理器10可以在一系統(tǒng)下操作,其中對于某些非32/64模式的其它原因定義該L位,而且如果設定LME位時,仍可以支持32/64模式。因此,使用一32位操作系統(tǒng)及32或16位應用程序的系統(tǒng)可以使用該處理器10。然后,該系統(tǒng)可以升級到一64位的操作系統(tǒng),而不必改變處理器10。圖4中沒有顯示的是一個與LME位設定共同操作的64位的操作系統(tǒng)及一個64位的應用程序。用于上述用于64位操作系統(tǒng)及32位應用程序的操作系統(tǒng)常規(guī)的機構(gòu)可以等效地應用到64位的應用程序。另外,上述機構(gòu)也支持用于支持64位補償?shù)恼{(diào)用選通(此將于下文中加以說明)。茲參照圖5,如圖所示的表70說明依據(jù)處理器10的一實施例的LME位,在碼分段描述符(descriptor)中的L位,在碼分段描述符及處理器10的對應操作模式中的D位的狀態(tài)。也可以使用或來源其它的實施例。如表70中所示者,如果清除LME位的話,則反轉(zhuǎn)L位(即定義為0)。但是,如果清除LME位的話,則處理器10可以處理L位如一不注意事項。因此,x86兼容的16位及32位模式如果清除LME位的話,則可以由處理器10提供。如果設定LME位,且清除在碼分段中的L位,則由處理器10相關一兼容的操作模式,且D位選擇16位或32位的模式。如果設定LME位及該位LME位,且清除D位,則對于該處理器10選擇32/64模式。最后,如果LME,L及D位均設定時所選擇的模式可反轉(zhuǎn)。如上所述,及以下依圖6的說明,32/64操作模式均在超過32位(配置上與64位無關,但是可以上達64位)的預設地址長度,及32位的預設操作數(shù)長度。該32位的程序操作數(shù)長度可以經(jīng)由一特定的指令編碼,越位到64位。選擇32位的預設操作數(shù)長度以使得對于某些程序的平均指令長度達到最小(考量越位64位,包含在增加指令長度時,指令編碼中的指令首段),其中有這些程序中,對于為該程序執(zhí)行的多項數(shù)據(jù)操作中,32位即是敷使用。對于此程序(其可以為現(xiàn)在的程序的實際數(shù)目),移動到一64位的操作數(shù)長度實際上可以減少由該程序所達到的執(zhí)行性能(即增加執(zhí)行的時間)。某一部份上,此項減少的作業(yè)有助于使得當儲存64位的數(shù)值時,由該程序使用的數(shù)據(jù)結(jié)構(gòu)的內(nèi)存中的長度兩倍。如果32位即足敷使用時,則這些數(shù)據(jù)結(jié)構(gòu)將儲存32位的數(shù)值。所以,如果將64位的數(shù)值使用在32位的數(shù)值即足夠使用的環(huán)境中,則當近接數(shù)據(jù)結(jié)構(gòu)時,增加近接的字節(jié)的數(shù)目,且增加的內(nèi)存頻寬(以及由各數(shù)值所占用的增加的快取緩沖存儲器空間)可以導致增加執(zhí)行時間。因此,選擇32位作為預設的操作數(shù)長度,且該預設數(shù)值可以經(jīng)由一特定的指令的編碼,而越位。茲參照圖6,其中表72示使用指令首段的實施例,以越位一特定指令的操作模式。也可以使用及考量其它的實施例。執(zhí)行核心14及依據(jù)表72對于一特定的指令決定地址長度及操作系統(tǒng)的長度。尤其是對于圖6所示的實施例,可以使用指令首段字節(jié)(地址長度越位首段字節(jié))以越位該預設的地址長度,而且,使用其它的指令首段字節(jié)(該操作數(shù)長度越位該首段字節(jié))以越位該預設的操作數(shù)長度。將越位首段字節(jié)的地址長度編碼為67(16進制),且編碼越位首段字節(jié)的操作數(shù)長度為66(16進制)。則特定指令中的越位首段的數(shù)目形成該表的列。而該表中的行指示特定指令的操作數(shù)長度及地址長度,是基于在對應列中的操作模式及越位首段的數(shù)目。越位首段的數(shù)目指對應型式的越位首段的數(shù)目(即地址長度列為基于越位首段地址長度的數(shù)目,而操作數(shù)長度列為越位首段的操作數(shù)長度的數(shù)目)。在越位首段的數(shù)目中標示為“0”的列表示用于各操作模式下預設操作數(shù)的長度及地址長度。須了解32位及16位模式的行與兼容模式(LME設定)及標準模式(LME清除)有關。而且,當預設的地址長度為在32/64模式中的64位時,該地址位的實際數(shù)目可以如上所述獨立配置。在32/64模式位的模式中的地址長度越位首段中內(nèi)涵內(nèi)將地址長度從64位(對于一給定的配置小于64位,但是大于32位)改變?yōu)?2位,如表72中所示者。另外,在32/64模式下的操作數(shù)長度越位首段的內(nèi)涵將該操作數(shù)長度從32位改變?yōu)?4位。達到必需提供16位的操作數(shù)(如支持在“C”程序語言中的短整數(shù)的數(shù)據(jù)型式)。因此,在32/64模式中的雙操作數(shù)長度越位首段中的兩項選擇16位的操作數(shù)長度。多于兩個的操作數(shù)長度越位首段的內(nèi)容導致與雙操作數(shù)長度越位首段的內(nèi)容相同的操作數(shù)長度。同樣地,一個的地址長度越位首段的內(nèi)容導致與一地址長度越位首段的內(nèi)容相同的地址長度。對于32位的模式,越位首段的內(nèi)容使得預設的32位長度成為16位長度,且多于一個的越位首段的內(nèi)容具有與一越位首段的內(nèi)容相同的效應。同樣地,對于16位的模式,單一越位首段的內(nèi)容導致預設的16位長度成為32位,且多于一個的越位首段的內(nèi)容與一越位首段的內(nèi)容具有相同的效應。茲參照圖7,其中顯示LEAX寄存器74的一實施例。在寄存器文件22中的其它寄存器類似此寄存器。可以使用或考量其它的實施例。在圖7所示的實施例中,寄存器74包含64位,而最大有效位標示為位63,而最小有效位標示為0。圖7標基于一指令的操作數(shù)長度近接的LEAX寄存器的某些部位(如果選擇A寄存器作為操作數(shù)的話)。尤其是,如果操作數(shù)長度為64位,則近接寄存器74的全部事項(如圖7的粗體標示“LEAX”中所示者)。如果操作數(shù)長度為32位,則近接寄存器74的位310(圖7的粗標示“AX”中所示者)。如果操作數(shù)長度為16位,則近接寄存器的位160(如圖7的粗體標示“AX”中所示者)??梢曰诓僮髂J郊叭魏卧轿皇锥蔚膬?nèi)容,選擇上述的操作數(shù)長度。但是,定義特定指令的OP碼,其可近接一8位的寄存器(在圖7中為AH或AL)。茲參照圖8,其中的方塊圖顯示全域描述符(descriptor)表80及一本地擴充器表82的一實施例??赡芸剂科渌膶嵤├H鐖D8及上述的說明者,由GDTR提供全域分段描述符表80的基礎地址,而由LDTR30提供本地描述符表82的基礎地址。因此,為了支持在虛擬地址空間內(nèi)隨意放置全域擴充器表80及本地描述符表82。如果清除LME位,GDTR32及LDTR32可以第二64位的基礎地址。如果清除LME位,則基礎地址的最大有效位的32位可以用于位在該描述符表。配置全域描述符表80及本地描述符表82的配置以儲存多種不同型式的分段描述符(descriptor)。例如,圖8中顯示32/64模式碼分段描述符84,86,90及兼容模式描述符92,94。各描述符84-94全域在對應描述符表中的一登錄項,其中一登錄項可以儲存一分段描述符(對于圖2,圖3說明的實施例為8字節(jié))。在全域描述符表80的描述符中的另一型式為本地描述符表描述符96,其對于本地描述符表82定義一系統(tǒng)指令,且在提供LDTR30中的基礎地址。LDTR30使用LLDT指令予以初始化,其中該指令有分段選擇器作為一操作數(shù),而該分段選擇器是定位在全域描述符表80中的描述符96中。如果需要的話,全域描述符表80可以儲存不同本地描述符表的多個LDT描述符。因為如果設定LME位LDT描述符96可以儲存64位的補償值,所以LDT描述符96可以中斷全域描述符表80中的單一登錄項。同樣地,各項工作在描述符表80及82的一項的可以具有一工作狀態(tài)(TSS)描述符,以儲存與該工作相關的某些信息。因此,TSS描述符可以占據(jù)兩個登錄項以允許在該64位地址空間的任何處所中儲存該TSS信息。該本地及全域描述符表可以用于儲存調(diào)用選通描述符。例如,圖8中顯示調(diào)用選通描述符100,102及104。調(diào)用選通描述符支持64位的補償,而且因此可以占據(jù)對應描述符表中的兩個登錄項。以下圖9中說明基本上的32/64調(diào)用選通描述符。經(jīng)由維持分段描述符表80,82為8個字節(jié),且對于包含64位補償?shù)拿枋龇褂脙蓚€登錄項,用于16及32位模式的描述符可以儲存在相同的表中,作為包含64位補償?shù)拿枋龇?。因此,在兼容模式下的應用可以在如?4位操作系統(tǒng)中一般在相同的分段描述符表中具有適當?shù)拿枋龇R话?,使用調(diào)用選通以管理具有低優(yōu)先準位的碼分段及具有高優(yōu)先準位的碼分段之間的轉(zhuǎn)譯(即一應用過程調(diào)用一操作系統(tǒng)常規(guī))。低優(yōu)先準位的碼包含一調(diào)用及其它的分支指令,其指定一分段描述符作為標的(且指定補償于該分段中,其中在該例子中不了解此狀態(tài))。該分段描述符辨識在描述符表內(nèi)的調(diào)用選通描述符,且包含需要執(zhí)行較對優(yōu)先準位碼時所需要的最小優(yōu)先準位。當處理器10執(zhí)行調(diào)用或其它的分支指令時,指令將該描述符表指向分段選擇器,且定位該調(diào)用選通。如果處理器10中現(xiàn)在的優(yōu)先準位及要求的優(yōu)先準位(其為分段選擇器的某些部位,且可以用于優(yōu)先準位核對目的的用的低優(yōu)先準位)均反映具有夠格的優(yōu)先準位時(即在數(shù)值上,該優(yōu)先準位小于或等于在調(diào)用選通描述符中的最小優(yōu)先準位時),則可以處理該調(diào)用。調(diào)用選通描述符包含標的分段(具有較大的優(yōu)先準位的碼分段)的分段選擇器,且包含在標的分段內(nèi)的補償,其中此分段是為開始進行碼取得作業(yè)的分段。處理器10取出該分段選擇器及來自該調(diào)用選通描述符的補償值,且讀取該標的分段描述符,以開始取得具有一較高優(yōu)先準位的碼。另外,如果在現(xiàn)在的優(yōu)先準位或要求的優(yōu)先準位中存在任何一項其優(yōu)先準位小于在調(diào)用選通描述符中的最小優(yōu)先準位時(即現(xiàn)在或要求優(yōu)先準位中任何一項其數(shù)值大于該最小優(yōu)先準位時),則在近接該調(diào)用選通描述符,且不近接該標的描述符時,處理器10發(fā)出一異常信號。因此,可以小心地控制在高優(yōu)先準位下近接該碼的作業(yè)。如上所述,調(diào)用選通描述符包含一標的分段選擇器,及在該分段內(nèi)的補償。圖8中顯示對于標的分段描述符的參考,其為從一調(diào)用選通描述符到另一描述符的箭頭。例如,調(diào)用選通描述符100參考模式描述符90;調(diào)用選通描述符102參考32/64模式描述符86,且調(diào)用選通描述符104參考32/64模式描述符84。如圖8中所示者,調(diào)用選通描述符可以儲存在描述符表中,或可以在其它的表或相同的表中參考一描述符。而且,一調(diào)用選通描述符可以為一個32/64模式描述符或一兼容模式描述符。一般,當處理器10使用分段選擇器從描述符表中的一項讀取一描述符時,讀取一描述符表。但是,如果設定LME位,且處理器10偵測到該登錄項為調(diào)用選通描述符LDT描述符,或TSS描述符時,處理器10在該表中讀取下一登錄項,以得到描述符中其余部份。因此,在該具有不同長度的兼容模式描述符(或標準模式描述符)中可以同時存在調(diào)用選通描述符,LDT描述符及TSS描述符,而不必定義表登錄項的長度,而不處理對占據(jù)一登錄項的描述符定義該表的管理方式。而且,因為調(diào)用選通描述符,LDT描述符及TSS描述符的第二部份可以如一分段描述符一般近接,所以當如以下圖9中所示者,當在描述符表中儲存該描述符時,在第二部份中為描述符的型式字段的描述符的某些部位可以加以設定。另外,處理器10可以在每次執(zhí)行描述符表的讀取作業(yè)時,從描述符表中讀取兩個連續(xù)的登錄項,如果第一登錄項為調(diào)用選通,LDT描述符型式,或TSS描述符型式時,則也可以使用該第二登錄項。須了解在任何的操作模式(32/64模式,32位兼容模式,16位兼容模式)中的碼操作可以當設定LME位時參考一調(diào)用選通描述符。因此,甚至該常規(guī)的地址在使用調(diào)用選通機構(gòu)時的32位或16位的地址空間的外部,則32或16位的應用仍可以調(diào)用一操作系統(tǒng)常規(guī)。另外,調(diào)用選通描述符可以參考具有任何操作模式的碼分段。操作系統(tǒng)可以確定在調(diào)用選通中功能的最大有效位的32位為0(對于32位的標的分段),或在調(diào)用選通中補償?shù)淖畲笥行坏?8位為0(對于16位的標的分段)。茲參照圖9,其中顯示一調(diào)用選通描述符120的一實施例的方塊圖。也可以配置及考量其它的實施例以達到同一目的。與圖2及圖3類似,顯示的最大有效字節(jié)在最小有效字節(jié)的上方。以4字節(jié)為一群的最大有效位顯示如位31,而最小有效位中顯示如位0。在四個字節(jié)內(nèi)的數(shù)個垂直線限制各位,且長的垂直線限制位,也限制一字段。如上所述,一調(diào)用選通描述符全域描述符表中的兩個登錄項。圖9中的水平虛線分割調(diào)用選通描述符120成為上部位(在該線之上)及一下部位(在該線之下)。下部位儲存在由調(diào)用選通的分段選擇器所指引的登錄項中,而上部位儲存在下一連續(xù)的登錄項中。調(diào)用選通描述符120包含一標的分段選擇器(字段122),一補償字段(字段124A,124B及124C),一出現(xiàn)(P)位126,一描述符優(yōu)先準位(DPL)128,一型式字段130及一虛擬型式字段132。P位類似上述說明的P位48。標的分段選擇器辨識在描述符表內(nèi)的一表的登錄項,其中該描述符表儲存標的分段描述符(具有較高的優(yōu)先準位)。該補償值辨識開始取出碼的地址。在32/64模式中,因為碼分段沒有基礎地址,且使用平坦方式的線性尋址,所以在開始得到碼的地址為該補償。在其它的模式中,將補償值加入由標的分段描述符所定義的分段基礎中,以產(chǎn)生開始得到該碼的地址。如上所述,該補償可以包含在本實施例中的64個位。DPL128儲存調(diào)用常規(guī)中的最小優(yōu)先準位(均在現(xiàn)在的優(yōu)先準位及要求的優(yōu)先準位下),其可順利地通過該調(diào)用選通,且在標的分段描述符指定的優(yōu)先準位下執(zhí)行該調(diào)用常規(guī)。將型式字段130編碼為一調(diào)用選通說明型式。在一實施例中,此型式編碼為在x86架構(gòu)中定義的32位調(diào)用選通型式。另外,也可以使用其它的編碼方式。最后,編碼該虛擬型式字段132成為一無效的型式(如0),以確定如果出現(xiàn)一分段選擇器,其中該分段選擇器辨識儲存在調(diào)用選通描述符120的上半的描述符表登錄項中時,則由處理器10發(fā)出一異常信號。須注意LDT描述符96的下半部份類似32位的LDT描述符,而LDT描述符96的上半部位類似調(diào)用選通描述符120的上半部位。茲參照圖10,其中顯示用于為處理器10執(zhí)行的指令的指令格式140的方塊圖。也可以考量應用其它的實施例達成本實施例相同的目的。在圖10所示的實施例中,指令格式140包含一首段字段142,一OP碼字段144,一模式R/M(寄存器/內(nèi)存)字段146,一SIB(尺寸指示基礎)字段148,一位移字段150,一瞬間處理字段152。除了OP碼字段144外的各個字段均為可視需要選擇者。因此,指令字段140可以定義成一變動長度的指令。首段字段142用于該指令的任何的指令首段。如上所述,可以將一操作數(shù)長度越位首段及一地址首段越位首段編碼成為一指令,以越位該處理器10的操作模式。這些越位首段包含在該首段字段142中。如上所述,操作數(shù)長度越位首段及地址長度越位首段可以為包含在首段字段142中的字節(jié)。Op碼字段144包含該指令的op碼(即為將被執(zhí)行的指令集中的指令)。對于其它的指令,op碼中的一部份可以包含在模式R/M字段146內(nèi)。而且某些op碼特定一8位或16位的寄存器為一操作數(shù)。因此,op碼編碼可以用于越位由處理器10的操作模式指示的默認值。ModR/M字段146及SIB字段148指示該指令的操作數(shù)。位移字段150包含任何的位移信息,且瞬間處理字段152包含一瞬間操作數(shù)。計算機系統(tǒng)茲參照圖11,其中顯示一計算機系統(tǒng)200的一實施例的方塊圖,其中該計算機系統(tǒng)包含該處理器10,而處理器系經(jīng)一總線橋接器202耦合到多個系統(tǒng)組件。也可以考量使用其它的實施例達到相同的目的。在所示的系統(tǒng)中,主存儲器204經(jīng)一內(nèi)存總線206耦合到操作數(shù),且圖形控制器208經(jīng)一AGP總線210耦合到總線橋接器202。最后,多個PCI裝置212A至212B經(jīng)一PCI總線214耦合到總線橋接器202中??梢愿M一步提供第二總線橋接器216以將電子接口經(jīng)EISA/ISA總線220而適應一個或多個EISA或ISA裝置218。處理器10經(jīng)CPU總線224耦合到總線橋接器202,且耦合到選擇性L2快取緩沖存儲器228。另外,CPU總線224及至L2快取緩沖存儲器228的接口可以包含可以耦合外部接口單元18的外部接口??偩€橋接器202提供在處理器10,主存儲器204,圖形控制器208,及連結(jié)到PCI總線214的裝置之間的接口。當從連接到總線橋接器202的裝置中的一項接收到操作時,總線橋接器202辨識操作的目的(即一特定的裝置,或者是在PCI總線214的例子中,該標的為在PCI總線214上)。總線橋接器202路由該操作到標的裝置中。產(chǎn)生總線橋接器202將為來源裝置或總線使用的協(xié)議的操作轉(zhuǎn)譯為由標的裝置或總線使用的協(xié)議。另外對于PCI總線214提供到ISA/EISA的接口處,如果需要的話,第二總線橋接器#尚提供其它額外的功能??稍诘诙偩€橋接器216外或與其整合的輸入/輸出控制器(圖中沒有顯示)也可以包含在計算機系統(tǒng)200中,以對于鍵盤或鼠標222提供操作上的支持,且如果需要的話,對于多種不同的串行或并行接口提供該支持。在另一實施例中,外部快取緩沖存儲器單元(圖中沒有顯示)可以更進一步耦合在其它實施例的處理器10及總線橋接器202之間的CPU總線224。另外,該外部快取緩沖存儲器可以耦合到總線橋接器202中,且對于外部快取緩沖存儲器的快取緩沖存儲器控制邏輯也可以整合入該總線橋接器202內(nèi)。L2快取緩沖存儲器226顯示以后側(cè)配置的型式提供予處理器10。須注意L2快取緩沖存儲器228可以與處理器10分開,整合于具有處理器10的卡匣(如開槽1或開槽A)中,甚至整合在具有處理器10的半導體基體中。主存儲器204為一內(nèi)存,其中儲存應用程序,且由此,可以執(zhí)行處理器10。適當?shù)闹鞔鎯ζ靼珼RAM(動態(tài)隨機存取內(nèi)存)。例如可以使用多排方式的SDRAM(同步DRAM),或者是也可以使用RambusDRAM(RDRAM)。以多種不同的周邊裝置顯示PCIA因此212A至212B,例如可為卡路適配卡,視訊加速器,聲霸卡,硬或軟盤驅(qū)動器,或驅(qū)動器控制器,SCSI(小型計算機系統(tǒng)接口)轉(zhuǎn)接器,及電話卡。同樣地,ISA裝置可以是多種不同的周邊裝置,如調(diào)制解調(diào)器,聲音卡,及多種數(shù)據(jù)辨識卡,如GPIB或字段總線適配卡。提供圖形控制器208以控制在顯示224上的文字及影像的顯示。圖形控制器228可以以一基本上的圖形加速器顯示,習知技術中一般為三維數(shù)據(jù)結(jié)構(gòu),其可以有效地從主存儲器204中讀取或讀取。圖形控制器208因此可以為主AGP總線210,其要求或接收近接一標的接口,其中該接口在該總線橋接器202內(nèi),因此得以近接主存儲器204。專用的圖形總線適于快速從主存儲器204中得到數(shù)據(jù)。對于某些操作,更進一步配置圖形控制器208的型式使在總線上產(chǎn)生PCI協(xié)議轉(zhuǎn)譯??偩€橋接器202的AGP接口因此可以在功能上包含傳送APG協(xié)議及PCI協(xié)議標的及初始器轉(zhuǎn)換的功能。顯示器224為任何型式的電子顯示器而可以顯示影像或文字者。適當?shù)娘@示器226包含陰影射線管(“CRT”),液晶顯示器(“LCD”)等。須注意當在上述說明中使用AGP,PCI,及ISA或EISA總線作為說明例子時,實際上如果需要的話也可以使用任何的總線架構(gòu)取代上述說明的總線。更進一步說明計算機系統(tǒng)200可以為包含額外處理器的多處理計算機系統(tǒng)(如以計算機系統(tǒng)200的操作組件顯示的處理器10a)。處理器10a可以類似處理器10。尤其是,處理器10a可以為處理器10的復制品。處理器10a可以經(jīng)一獨立的總線(如圖11中所示者)連接總線橋接器202,或可以共享處理器10內(nèi)的CPU總線224。而且,處理器10a可以耦合選擇性的L2快取緩沖存儲器228a,此快取緩沖存儲器類似L2快取緩沖存儲器228。茲參照圖12,其中顯示計算機系統(tǒng)200的另一實施例。某些,也可以考量使用其它的實施例達成相同的目的。在圖12的實施例中,計算機系統(tǒng)300包含數(shù)個處理節(jié)點312A,312B,312C及312D。各處理節(jié)點312經(jīng)包含在各對應的處理節(jié)點312A至312D內(nèi)的內(nèi)存控制器316A至316D藕合到對應的內(nèi)存314A至314D。另外,處理節(jié)點312A至312D包含用于與處理節(jié)點312A-312進行通訊的接口邏輯。例如,處理節(jié)點312A包含接口邏輯318A,以與處理節(jié)點312B進行通訊,包含接口邏輯318B,以與處理節(jié)點312進行C通訊,且包含第三接口邏輯318C,以與另一處理節(jié)點(圖中沒有顯示)進行通訊。同樣地,處理節(jié)點312B包含接口邏輯318D,318E及318F;處理節(jié)點312C包含接口邏輯318G,318G,318I;且處理節(jié)點312D包含接口邏輯318J,318K及318L。耦合處理節(jié)點312D以具有接口邏輯318L而與多個輸入/輸出裝置通訊(如在鏈狀配置中的裝置320A至320B)。在類似的型式中,也可以使用其它的處理節(jié)點以與其它的I/O裝置進行通訊。對處理節(jié)點312A至312D配置以包封為基礎的連結(jié),以交互處理節(jié)點之間的通訊作業(yè)。在本實施例中,配置該連結(jié)如單一方向的線集(如使用線324A以從處理節(jié)點312A向處理節(jié)點312B傳送包封,而使用線324B以從處理節(jié)點312B向處理節(jié)點312A傳送包封)。使用其它的線集324C至324H以在圖12中所示的其它處理節(jié)點之間傳送包封。一般,各線集324可以包含一個或多個數(shù)據(jù)線,一個或多個對應該數(shù)據(jù)線的時鐘線,及一個或多個指示將傳送的型式的控制線??梢砸钥烊【彌_存儲器同相相關型式中操作該連結(jié),以在處理節(jié)點之間進行通訊作業(yè),或者是以非同相相關的型式,在處理節(jié)點及I/O裝置之間進行通訊(或者是至傳統(tǒng)結(jié)構(gòu)的I/O總線的總線橋接器,如PCI總線或ISA總線)。而且,可以類似,在I/O裝置之間,使用一菊鍵(daisychain)結(jié)構(gòu),在非同相相關型式下操作該連結(jié)。須了解從一處理節(jié)點向另一處理節(jié)點傳送的包封可以通過一或多個中間節(jié)點。例如,由處理節(jié)點312A向處理節(jié)點312D傳送的包封可以通過處理節(jié)點312B或者是處理節(jié)點312C中的任何一項,如圖12中所示者??梢允褂萌魏芜m當?shù)某R?guī)算法。計算機系統(tǒng)300的其它實施例可以包含除圖12所示外的更多或更少的處理節(jié)點。一般,可以以在節(jié)點之間的線324上的一個或多個位時間傳送該包封。一位時間為在對應的時鐘線上的時鐘信號的上升端下降端。該包封可以包含用于建立交易的包封,用于維持快取緩沖存儲器同相的探針包封(probe包封),及來自一探針及命令的響應包封。除了內(nèi)存控制器及接口邏輯外,處理節(jié)點312A至312D可以包含一個或多個處理器。廣言之,處理節(jié)點包含至少一處理器,且可以視需要包含一內(nèi)存控制器,以與一內(nèi)存,且如果需要的話與其它的邏輯組件之間進行通訊。尤其是,各處理節(jié)點312A至312D包含處理器10中的一個或多個復本。外部接口單元18可以包含在該節(jié)點內(nèi)的接口邏輯318,及內(nèi)存控制器316。內(nèi)存314A至314D可以包含其它適當?shù)膬?nèi)存裝置。例如內(nèi)存314A至314D可以包含一個或多個RAMBUSDRAM(RDRAM),同步DRAM(SDRAM),靜態(tài)RAM等。計算機系統(tǒng)300的地址空間在內(nèi)存314A至314D之間劃分開。各處理節(jié)點312A至312D可以包含內(nèi)存對映件,用于決定那一地址對映到內(nèi)存314A至314D的對映關系,且因此對于特定地址的內(nèi)存要求路由到該處理節(jié)點312A至312D。在一實施例中,在計算機系統(tǒng)300內(nèi)之一地址的同相相關點為內(nèi)存控制器316A至316D,其中該控制器耦合到儲存對應該地址的字節(jié)的內(nèi)存。另言之,該內(nèi)存控制器316A至316D必需確定各近接內(nèi)存314A至314D的內(nèi)存可以以快取緩沖存儲器同相相關的方式產(chǎn)生。內(nèi)存控制器316A至316D可以包含用于介接內(nèi)存314A至314D的控制電路。另外,內(nèi)存控制器316A至316D可以包含對于詢問內(nèi)存要求的要求序列。一般,接口邏輯318A至318L可以包含多種不同的緩沖器以接收來自該連結(jié)的包封,且緩沖將在該連結(jié)上傳送的包封。計算機系統(tǒng)300可以使用任何適當?shù)牧鞒炭刂茩C構(gòu)以傳送該包封。例如,在一實施例中,各接口邏輯318儲存該連結(jié)的另一端的接收器內(nèi)各型式緩沖器的數(shù)目,其為接口邏輯將要介接者。該接口邏輯不傳送包封,除非接收的接口邏輯318存在一自由緩沖器以儲存該包封。當一接收緩沖器經(jīng)由路由包封進入其內(nèi)而饋入數(shù)據(jù)時,接收的接口邏輯傳送一訊息予該傳送接口邏輯以指示該緩沖器已饋入數(shù)據(jù)。此機構(gòu)稱為“以聯(lián)單為基礎(coupon-based)的系統(tǒng)”。I/O裝置320A至320B可以為任何適當?shù)腎/O裝置。例如I/O裝置320A至320B可以包含網(wǎng)絡適配卡,視訊卡,聲霸卡,硬或軟盤驅(qū)動器或驅(qū)動控制器,SCSI(小型計算機系統(tǒng)接口)轉(zhuǎn)接地,及電話卡,調(diào)制解調(diào)器,及多種不同的數(shù)據(jù)取得卡,如GPIB,字段總線適配卡。雖然文中已應較佳實施例說明本發(fā)明,但本領域技術人員可對上述實施例加以更改及變更,而不偏離本發(fā)明的精神及觀點。所以本發(fā)明的權利要求涵蓋本發(fā)明所有的變動及修改例。權利要求1.一種處理器,包含一分段寄存器,此分段寄存器的配置為作成用于儲存一分段選擇器,以辨識一分段描述符,該分段描述符包含第一操作模式指示項及第二操作模式指示項;一控制寄存器,此控制寄存器的配置用于儲存一致能指示,其中配置該處理器的配置以因應該致能指示,該第一操作模式指示項,及該第二操作模式指示項,而建立一操作模式。2.如權利要求1所述的處理器,其中如果該致能指示在一致能狀態(tài),且該第一操作模式指示項在第一狀態(tài)中,則該操作模式為第一操作模式,而其中如果該致能指示在該致能狀態(tài)中,則該操作模式為第二操作模式,該第一操作模式指示項在第二狀態(tài)中,且該第二操作模式指示項在該第一狀態(tài)中。3.如權利要求2所述的處理器,其中如果該致能指示在該致能狀態(tài)中,且該第一操作模式指示項在該第二狀態(tài)中,則該操作模式為多個可用的操作模式中的一操作模式,且其中選擇該多個操作模式中的操作模式,以響應該第二操作模式指示項的一狀態(tài)。4.如權利要求3所述的處理器,其中該多個操作模式中的一操作模式為32位的操作模式。5.如權利要求3所述的處理器,其中該多個操作模式中的一操作模式為16位的操作模式。6.如權利要求2所述的處理器,其中該第一操作模式包含大于32位的內(nèi)設地址長度。7.如權利要求6所述的處理器,其中該內(nèi)定地址長度作用在由該處理器產(chǎn)生的虛擬地址中。8.如權利要求7所述的處理器,其中依據(jù)為該處理器使用的分段機構(gòu)產(chǎn)生一虛擬地址。9.如權利要求7所述的處理器,其中更進一步將該內(nèi)定的地址長度作用到為該處理器產(chǎn)生的實際地址中。10.如權利要求1所述的處理器,其中如果該致能指示在一種不致能狀態(tài)中,則不定義該第一操作模式指示項,而配置該處理器的配置以建立該操作模式,作為該第二操作模式指示項的響應項。11.一種處理器,包含一分段寄存器,此分段寄存器的配置是作成為用以儲存一分段選擇器,及來自一分段描述符的信息,其中該分段選擇器包含指引一分段描述符表的索引,該表是儲存在一內(nèi)存中,而該處理器耦合該內(nèi)存,儲存在該分段描述符表的分段描述符以為該索引所指示的登錄項所儲存,其中配置該處理器的配置以從該分段描述符表中讀取該分段描述符,因此響應該分段選擇器,該分段描述符包含一操作模式指示項;以及一控制寄存器,此控制寄存器的配置是作成用以儲存一致能指示;該處理器的配置是配置成在一操作模式下操作,在該操作模式下,虛擬地址大于32位,以響應在致能狀態(tài)下的致能指示,且該操作模式指示項在第一狀態(tài)下。12.如權利要求11所述的處理器,其中該實際地址是在該操作模式下大于32位。13.如權利要求12所述的處理器,其中該實際地址的第一位數(shù)是小于或等于64位。14.如權利要求11所述的處理器,其中該虛擬地址的第一位數(shù)是小于或等于64位。15.如權利要求11所述的處理器,其中該分段描述符還包含一個優(yōu)先準位。16.如權利要求11所述的處理器,其中還包含第二控制寄存器,配置此控制寄存器以儲存第二致能指示其中配置處理器的配置以從該分段描述符表中讀取該控制寄存器,以響應在該致能狀態(tài)的第二致能指示。17.一種方法包含在處理器中建立操作模式,以響應在該處理器內(nèi)的控制寄存器,在分段描述符中的第一操作模式指示項,及在該分段描述符中的第二操作模式指示項中的致能指示;取出操作數(shù)且產(chǎn)生地址,以響應該操作模式。18.如權利要求17所述的處理器,其中該建立的動作包含步驟為建立第一操作模式,以響應在一致能狀態(tài)的致能指示,且該第一操作模式指示項在第一狀態(tài)中,且其中該第一操作模式包含大于32位的內(nèi)定地址長度。22.如權利要求18所述的方法,其中該建立的動作包含步驟為如果該致能指示在該致能狀態(tài)中,且該第一操作模式指示項在第二狀態(tài)中,則建立多個操作模式中的一操作模式,且選擇該多個操作模式中的一操作模式,以響應該第二操作模式指示項中的一狀態(tài)。全文摘要一種支持處理模式的處理器,在該模式中,地址長度是大于32位,而該操作數(shù)的長度可以是32或64位。該位地址長度可以額定為64位,但是在處理模式的多種不同實施例中,在該處理模示中,可以配置超過32位的地址長度,可多到且包含64位。處理模式的建立方式為:將在控制用寄存器中的致能指示置于致能狀態(tài),且將在分段描述符中將第一操作模式指示及第二操作模式指示設定在先前定義的狀態(tài)中??梢允褂迷摰谝徊僮髂J街甘炯暗诙僮髂J街甘镜钠渌Y(jié)合方式以對于可以與x86處理器架構(gòu)兼容的32位及16位處理方式提供兼容的模式(而該致能指示仍在致能狀態(tài))。文檔編號G06F9/318GK1423773SQ00818341公開日2003年6月11日申請日期2000年7月19日優(yōu)先權日2000年1月14日發(fā)明者凱文·J·馬克格瑞斯,麥克·T·克拉克申請人:先進微裝置公司