欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

上下文狀態(tài)管理技術(shù)的制作方法

文檔序號:6562281閱讀:147來源:國知局
專利名稱:上下文狀態(tài)管理技術(shù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實施例涉及微處理器架構(gòu),尤其涉及在微處理器內(nèi)管理上下文狀態(tài)信息。
背景技術(shù)
現(xiàn)代微處理器可執(zhí)行要求改變上下文狀態(tài)的許多功能。例如,微處理器可當(dāng)在諸如軟件“線程”的指令組之間進行切換時改變上下文狀態(tài)信息。例如,在軟件線程之間改變時,一組指令的上下文狀態(tài)可保持于一存儲器位置且另一組指令的上下文狀態(tài)可從存儲器恢復(fù)并載入微處理器。
參考軟件線程,“上下文狀態(tài)”可表示處理器內(nèi)上下文切換之間要保持的每個軟件線程的狀態(tài)的一部分。上下文狀態(tài)可存入處理器架構(gòu)寄存器、控制寄存器或諸如存儲器的其它存儲區(qū)。上下文狀態(tài)通常由大量比特表示,這些比特的值定義了特殊的上下文狀態(tài)。
術(shù)語“上下文切換”通常表示從一個處理器執(zhí)行狀態(tài)變到另一個,諸如軟件線程切換。上下文切換通常由操作系統(tǒng)或由用戶的程序來執(zhí)行。例如,上下文切換可因調(diào)用用戶程序內(nèi)的子例程而發(fā)生,其中當(dāng)發(fā)生對子例程的調(diào)用時調(diào)用程序的上下文被保存于諸如“堆?!钡拇鎯^(qū)中,且當(dāng)從所調(diào)用的子例程返回時從該存儲區(qū)恢復(fù)。
通常,由于存儲器中上下文狀態(tài)保存區(qū)域的組織結(jié)構(gòu)以及與這些保存區(qū)域被尋址的粒度大小,以可包括在給定時間上所需的更多上下文狀態(tài)信息的組將上下文狀態(tài)保存在存儲器中或恢復(fù)到處理器寄存器。結(jié)果,每次從存儲器恢復(fù)上下文狀態(tài)時,會替換大量不必要的處理器狀態(tài)信息。例如,操作系統(tǒng)或用戶程序可僅請求屬于處理器內(nèi)執(zhí)行的特殊軟件線程或其它進程的上下文狀態(tài)信息的子集。然而,現(xiàn)有技術(shù)的上下文狀態(tài)保存和恢復(fù)機制會要求屬于一線程或其它進程的所有上下文狀態(tài)被恢復(fù)和/或保存,以檢索屬于所關(guān)心的線程或進程的任何上下文狀態(tài)信息。
因此,現(xiàn)有技術(shù)的上下文狀態(tài)管理技術(shù)導(dǎo)致性能和資源的低效率。


附圖中,作為示例而非限制來說明本發(fā)明的實施例,圖中相同的標(biāo)號表示相似的元件,其中圖1是示出根據(jù)本發(fā)明一個實施例的具有保存區(qū)域片段的保存區(qū)域的示圖。
圖2是示出根據(jù)本發(fā)明一個實施例的使用保存狀態(tài)片段的操作的示圖。
圖3示出了其中使用中的比特矢量被用于緩和空恢復(fù)和空保存操作的至少一個實施例的操作。
圖4是示出根據(jù)本發(fā)明一個實施例的指示和檢測保存區(qū)片段內(nèi)的錯誤的技術(shù)的流程圖。
圖5是其中可使用本發(fā)明的至少一個實施例的共享總線計算機系統(tǒng)。
圖6是其中可使用本發(fā)明的至少一個實施例的點對點計算機系統(tǒng)。
具體實施例方式
本發(fā)明的實施例涉及微處理器架構(gòu)。更具體地,本發(fā)明的實施例涉及管理處理器上下文狀態(tài)。本發(fā)明的至少一個實施例將擴展功能引入某些現(xiàn)有技術(shù)的上下文狀態(tài)管理技術(shù),以便在讀取和更新微處理器內(nèi)的上下文狀態(tài)信息時提升資源和性能效率。
操作系統(tǒng)和/或用戶程序通常使用諸如動態(tài)隨機存取存儲器(DRAM)的存儲器結(jié)構(gòu)中的區(qū)域(“保存區(qū)”),用于在上下文切換時存儲上下文狀態(tài)。在其它現(xiàn)有技術(shù)的系統(tǒng)中,諸如異常處理機的一些軟件例程可按需要(動態(tài)地)在諸如堆棧的存儲器存儲區(qū)內(nèi)分配該保存區(qū)。指令集架構(gòu)通常定義一個獲得多個指令來處理存儲器中上下文狀態(tài)的存儲或者從存儲器的上下文狀態(tài)的恢復(fù)。例如,在一個指令集架構(gòu)中,兩個指令(例如,“FXSAVE”和“FXRSTOR”)可用于分別地將上下文狀態(tài)存入存儲器并從存儲器向處理器的寄存器恢復(fù)上下文狀態(tài)。在其它指令集架構(gòu)中,可使用兩個以上或以下的指令來管理上下文狀態(tài)信息。
在本發(fā)明部分的至少一個實施例中,定義保存區(qū)的“片段”或“分段”,它們可被初始化并被用于在不初始化、保存或恢復(fù)整個保存區(qū)的情況下存儲和訪問上下文狀態(tài)信息。在本發(fā)明的一個實施例中,允許訪問上下文狀態(tài)保存區(qū)的片段節(jié)省了用于更新、初始化或讀取上下文狀態(tài)信息所必需的時間量和存儲區(qū)。
此外,在本發(fā)明的至少一個實施例中,提供保存區(qū)內(nèi)的“使用中”比特或使用中比特組(“比特矢量”),以指示特定的保存區(qū)片段或保存區(qū)片段組是否包含有效信息。使用中的比特或比特矢量可通過消除在從存儲器向處理器寄存器恢復(fù)上下文狀態(tài)后進行有效性檢查的需要而進一步提升上下文狀態(tài)管理效率。相反,使用中的比特或比特矢量可簡單地被讀取,確定相應(yīng)的片段是否包含有效信息。
本發(fā)明的實施例還可包括一種機制,用于在片段內(nèi)保存包含的用于確定該片段是否已被初始化的上下文狀態(tài)信息之前確定保存區(qū)片段是否已被初始化。在一個實施例中,可通過讀取與該片段相關(guān)聯(lián)的初始化比特來檢查保存區(qū)片段以確定它是否已被初始化。更具體地,在本發(fā)明的一個實施例中,使用中比特或比特矢量可用于確定特殊片段是否已被初始化。在一個實施例中,上下文狀態(tài)由將一個或多個片段寫為初始值的軟件例程(例如“微碼”)初始化,而在其它實施例中,處理器可包括用于初始化上下文狀態(tài)的邏輯。
這里將描述各種實施例的其它特點,其中包括用于清除上下文狀態(tài)信息的保存區(qū)片段的機制、用于檢測和處理上下文狀態(tài)保存區(qū)片段內(nèi)的錯誤的機制、以及用于啟用和管理其狀態(tài)在一個或多個上下文狀態(tài)保存區(qū)片段中反映的附加架構(gòu)特征的機制。具體地,將描述關(guān)于監(jiān)視處理器的各種性能方面的至少一個架構(gòu)特征,它們可使用這里所述的各種上下文狀態(tài)管理特征和技術(shù)。
此外,本發(fā)明的至少一個實施例可包括模塊架構(gòu),用以允許實現(xiàn)擴展數(shù)量的上下文狀態(tài)保存區(qū)片段以存儲與處理器的其它特征相關(guān)的上下文信息。此外,在一個實施例中,擴展數(shù)量的上下文狀態(tài)保存區(qū)片段和相應(yīng)的上下文狀態(tài)信息可按對處理器正執(zhí)行的操作系統(tǒng)透明的方式被包括。換言之,至少一個實施例包括上下文狀態(tài)管理技術(shù),該技術(shù)不必涉及在使用本發(fā)明實施例的處理器上對正在執(zhí)行的操作系統(tǒng)的修改或?qū)υ摬僮飨到y(tǒng)的通知。
圖1示出了根據(jù)本發(fā)明一個實施例的包括保存區(qū)片段的保存區(qū)。特別是,保存區(qū)100是被分成“n”個片段的512字節(jié)的緩沖器。在圖1所示的實施例中,每個片段是512/n個字節(jié),但在其它實施例中根據(jù)存儲區(qū)的大小以及片段數(shù)量,每個片段可以更大或更小。圖1所示的每個片段可存儲不同類型的上下文狀態(tài)信息,其示例將在以下進一步描述。在一個實施例中,保存區(qū)100包括首部區(qū)105,它包含使用中比特矢量來指示每個片段的狀態(tài)信息。
在一個實施例中,保存區(qū)片段表示其中可保存、初始化和恢復(fù)上下文狀態(tài)信息的保存區(qū)中存儲的最小粒度尺寸。在至少一個實施例中,可相互獨立地初始化、使用和管理保存區(qū)片段。此外,當(dāng)需要附加上下文狀態(tài)的新架構(gòu)特征被添加到圖1的保存區(qū)相對應(yīng)的處理器時,可相應(yīng)地添加新的保存區(qū)片段。然而,在一些實施例中,單個保存區(qū)片段可包括與一個或多個特征(包括添加的特征)相關(guān)聯(lián)的上下文狀態(tài)信息。
保存區(qū)片段還可被復(fù)位到初始狀態(tài)而不影響其它片段的狀態(tài),諸如在恢復(fù)操作、錯誤恢復(fù)操作期間。例如,在一個實施例中,如果執(zhí)行恢復(fù)操作,未由恢復(fù)操作更新的所有處理器上下文狀態(tài)都被設(shè)定為初始化狀態(tài)。該初始化的處理器上下文狀態(tài)隨后可存儲回它們相應(yīng)的保存區(qū)片段。
根據(jù)所使用的計算機系統(tǒng)的需要,可以實現(xiàn)用于圖1所示的保存區(qū)片段的許多示例。在本發(fā)明的一個實施例中,可以分別避免將狀態(tài)上下文保存到保存區(qū)片段及從保存區(qū)片段恢復(fù)狀態(tài)上下文,即通過確保上下文狀態(tài)在上下文保存操作和上下文恢復(fù)操作之間或當(dāng)處理器被復(fù)位時被置于初始化狀態(tài)而處于初始化狀態(tài)中。
例如,圖2示出了使用至少一個保存區(qū)片段存儲信息以指示相應(yīng)的上下文狀態(tài)信息(“狀態(tài)元素”)何時在使用中或另外有效的操作。特別地,圖2示出了保存區(qū)200中存儲的三個上下文狀態(tài)區(qū)片段201、203、205內(nèi)的三個不同的上下文狀態(tài),以及根據(jù)時間將它們恢復(fù)入機器狀態(tài)210。參考圖2,在圖2所示的機器上下文狀態(tài)210的實例中初始化的上下文狀態(tài)由“I”表示,而在使用中的上下文狀態(tài)實例由“U”表示。
在時間實例“1”處,機器上下文狀態(tài)處于由“I”表示的初始化狀態(tài),而在時間實例“2”,機器上下文經(jīng)由處理器中執(zhí)行的指令被更改為由“U”表示的第一上下文狀態(tài)。在時間實例“3”處,第一上下文狀態(tài)被存儲到上下文狀態(tài)區(qū)片段201,且在時間實例“4”處相應(yīng)的機器上下文狀態(tài)被再次初始化或“清零”,由“I”表示。在時間實例“5”,將第二上下文狀態(tài)從保存區(qū)片段203恢復(fù)到機器狀態(tài)且機器狀態(tài)再次在使用中,由“U”指示。在時間實例“6”,機器狀態(tài)再次經(jīng)由處理器中執(zhí)行的指令被更改,且在時間實例“7”,將機器狀態(tài)存儲到上下文保存區(qū)片段203。在時間實例“8”,機器上下文狀態(tài)再次被初始化到初始狀態(tài)值,且機器上下文狀態(tài)在時間實例“8”被標(biāo)記為不使用。類似地,在時間實例“9”,執(zhí)行保存區(qū)片段205中存儲的上下文狀態(tài)的空恢復(fù),該操作不用新狀態(tài)信息更新機器上下文狀態(tài)。在時間實例“10”,處理器不用任何新信息更新機器上下文狀態(tài),因而在時間實例“11”,執(zhí)行空存儲以將機器上下文狀態(tài)(是初始化狀態(tài))存回保存區(qū)片段205。
在本發(fā)明的一個實施例中,可通過檢測與被保存或恢復(fù)的上下文狀態(tài)相對應(yīng)的“使用中”比特的狀態(tài)來替換空保存操作(即,將不使用的、初始化的或另外無效的機器上下文保存到保存區(qū)片段的那些操作)和/或空恢復(fù)操作(即,從保存區(qū)片段將不使用的、初始化的或另外無效的上下文狀態(tài)恢復(fù)到機器狀態(tài)的那些操作)。例如,在一個實施例中,使用中比特矢量在保存區(qū)內(nèi)維持,以指示一個或多個保存區(qū)片段內(nèi)的上下文狀態(tài)信息是否包含不使用或另外無效的信息用于在上下文狀態(tài)不使用或另外無效的情況下使上下文狀態(tài)不必從保存區(qū)片段讀出到機器狀態(tài)。
同樣,使用中比特矢量可協(xié)同處理器內(nèi)的機器狀態(tài)加以維護以指示機器狀態(tài)內(nèi)的上下文狀態(tài)信息是否是不使用的或另外無效的,以使在上下文狀態(tài)不使用或另外無效的情況下該上下文狀態(tài)不必從機器狀態(tài)存入保存區(qū)片段。在一些實施例中,可為保存區(qū)片段和機器狀態(tài)兩者維持一使用中的比特矢量,而在其它實施例中,可為保存區(qū)片段和機器狀態(tài)中的任一個或兩者維持一個使用中比特矢量。
在一個實施例中,一個或多個指令可用于更新使用中的比特矢量,以指示與特殊保存區(qū)片段相對應(yīng)的上下文狀態(tài)信息是否在使用中。例如,在一個實施例中,一個指令(例如,一個指令集架構(gòu)中的“STMXCSR”)可由處理器執(zhí)行,以設(shè)定該使用中比特矢量來指示與一個或多個保存區(qū)片段相對應(yīng)的狀態(tài)信息當(dāng)前在使用中或者指示該保存區(qū)片段另外包含有效數(shù)據(jù)。
圖3示出了一個實施例的操作,其中為保存區(qū)片段和機器狀態(tài)維持使用中的比特矢量。圖3類似于圖2,區(qū)別在于保存區(qū)包含條目數(shù)等于保存區(qū)片段數(shù)的使用中比特矢量320。在一個實施例中,每個使用中矢量320條目包含一個比特用于指示例如當(dāng)初始化片段時相應(yīng)的保存區(qū)片段是否包含有效信息或者它是否包含無效信息。類似地,為機器狀態(tài)維持一使用中比特矢量325,以指示例如當(dāng)將機器狀態(tài)置入初始狀態(tài)時與特殊保存區(qū)片段相對應(yīng)的機器狀態(tài)是否包含有效信息或者與特殊保存區(qū)片段相對應(yīng)的機器狀態(tài)是否是無效的。
在圖3所示的實施例中,空保存和空恢復(fù)操作是不必要的,因為在執(zhí)行空保存或空恢復(fù)操作之前程序或邏輯可首先檢測狀態(tài)信息是有效的還是無效的。在一個實施例中,如果空保存或空恢復(fù)操作對應(yīng)于無效的狀態(tài)信息,則不需要執(zhí)行任何空保存或空恢復(fù)操作,節(jié)省了操作周期。
在本發(fā)明的一個實施例中,當(dāng)監(jiān)視微處理器內(nèi)的各種事件或“情況”時,分別地將上下文狀態(tài)信息存儲到存儲區(qū)片段或從存儲區(qū)片段恢復(fù)上下文狀態(tài)信息。例如,在一個實施例中,在情況專用組或“信道”中維持機器狀態(tài)。信道可保存配置信息,包括處理器內(nèi)要監(jiān)視的條件(“觸發(fā)”條件),以及應(yīng)響應(yīng)于其采取的動作,諸如異步地將控制轉(zhuǎn)移到軟件線程內(nèi)的某一指令地址。此外,在一個實施例中,信道可以是有效或無效的,且如果信道不是有效的,則該信道可以被保存或恢復(fù)或者不可以被保存或恢復(fù)。
在一個實施例中,通過執(zhí)行一指令來編程信道信息,該指令可使用諸如32或64位寄存器的寄存器中存儲的輸入。除了信道信息之外,上下文狀態(tài)信息還可包括可應(yīng)用于一個或多個信道的首部信息。根據(jù)一個實施例,以下示出了用于兩個信道的上下文狀態(tài)信息和相應(yīng)的首部信息,它們可存儲在存儲區(qū)片段中或可恢復(fù)到處理器上下文狀態(tài)

上表中示出的88個字節(jié)的上下文狀態(tài)信息包括與其上下文狀態(tài)信息分別包含在比特32-63和64-95中的兩個信道有關(guān)的0-7比特的首部信息。在一個實施例中,除其它信息之外,首部信息可包括每個信道的使用中比特。此外,以上上下文狀態(tài)信息包括8-15比特中的指令指針和比特16-31中的保留字段。
在一些實施例中,每個保存區(qū)片段可具有相應(yīng)的有效性指示符,用于指示錯誤數(shù)據(jù)是否被存入相應(yīng)的保存區(qū)片段,從而允許響應(yīng)于此采取各種動作。例如,在一個實施例中,響應(yīng)于在保存區(qū)片段內(nèi)檢測到錯誤,軟件、硬件邏輯或其某一組合可實現(xiàn)一算法來執(zhí)行各種操作,包括以下的一個或多個1)初始化包含錯誤的保存區(qū)片段,2)初始化與一些或全部保存區(qū)片段相對應(yīng)的處理器狀態(tài)信息。此外,在一個實施例中,可響應(yīng)于檢測到上下文狀態(tài)首部字段或除保存區(qū)片段外的其它字段內(nèi)的一區(qū)域來初始化處理器狀態(tài)。
在一個實施例中,當(dāng)保存區(qū)片段被恢復(fù)到處理器狀態(tài)時,可能檢測到錯誤。響應(yīng)于檢測到錯誤的情況,使用中比特可指示該片段無效,且因此使用中比特隨后在該片段被存儲到存儲器時被清零。因此,在一個實施例中,從使用中比特的觀察者的角度或許不能區(qū)別片段是否由于錯誤或由于缺少初始化而被指示為是無效的。
在一個實施例中,使用中比特矢量被用于反映每個保存區(qū)片段中存儲的狀態(tài)信息的有效性。例如,在每個保存區(qū)片段對應(yīng)于特別事件監(jiān)視信道的情況中,如以上討論的表中所示的,首部信息可包含使用中比特矢量,其比特各自指示保存區(qū)片段中保存的相應(yīng)一組信道信息的有效性。指示保存區(qū)片段是否包含錯誤可幫助軟件或處理器硬件確定是否恢復(fù)和后續(xù)使用包含在其中的上下文狀態(tài)信息。
圖4是示出根據(jù)本發(fā)明一個實施例的當(dāng)在保存區(qū)片段內(nèi)指示和檢測到錯誤時可執(zhí)行的各種操作的流程圖。在操作401,保存區(qū)片段內(nèi)出現(xiàn)的錯誤由使用中比特矢量中的相應(yīng)比特反映。在一個實施例中,使用中比特矢量可在與一定數(shù)目的事件監(jiān)視信道相對應(yīng)的保存區(qū)的首部字段內(nèi)。在其它實施例中,使用中比特矢量可與同各種軟件線程相對應(yīng)的保存區(qū)片段一起被存儲。
在操作405,在從保存區(qū)片段向機器狀態(tài)恢復(fù)上下文狀態(tài)信息之前檢測使用中比特。如果在410處在保存區(qū)片段中檢測到錯誤,則在操作415,包含錯誤的保存區(qū)片段內(nèi)存儲的上下文狀態(tài)信息不被恢復(fù)到機器狀態(tài)。另外地,在操作420,將檢測使用中比特的保存區(qū)片段內(nèi)存儲的上下文狀態(tài)信息恢復(fù)到機器狀態(tài)。在一個實施例中,可將使用中比特與掩碼字段進行比較,以檢測相應(yīng)保存區(qū)片段內(nèi)的錯誤,而在其它實施例中可使用其它檢測方法。
在一些實施例中,保存、恢復(fù)和/或初始化操作(例如指令)可使用掩碼字段來更改或讀取保存區(qū)片段的內(nèi)容。例如,在一個實施例中,其條目對應(yīng)于使用中比特矢量條目的掩碼字段可以是布爾邏輯操作(例如,XOR、AND、OR)的操作數(shù),其結(jié)果可確定使用中比特矢量的狀態(tài)并由此確定各種片段的有效性。
圖5示出了可使用本發(fā)明的一個實施例的前端總線(FSB)計算機系統(tǒng)。處理器505從一級(L1)高速緩沖存儲器510和主存儲器515訪問數(shù)據(jù)。在本發(fā)明的其它實施例中,高速緩沖存儲器可以是二級(L2)高速緩存或計算機系統(tǒng)存儲器分層結(jié)構(gòu)中的其它存儲器。此外,在一些實施例中,圖5的計算機系統(tǒng)可同時包含L1高速緩存和L2高速緩存。
圖5的處理器內(nèi)示出的是機器狀態(tài)的存儲區(qū)域506。在一個實施例中,存儲區(qū)域可以是一組寄存器,而在其它實施例中,該存儲區(qū)域可以是其它存儲器結(jié)構(gòu)。此外,根據(jù)一個實施例,圖5中示出了保存區(qū)片段的存儲區(qū)域507。在其它實施例中,保存區(qū)片段可以在其它裝置或存儲器結(jié)構(gòu)中。處理器可具有任意數(shù)量的處理核心。然而,本發(fā)明的其它實施例可在系統(tǒng)內(nèi)的其它裝置內(nèi)實現(xiàn),諸如分開的總線代理;或者以硬件、軟件或其組合分布在整個系統(tǒng)中。
主存儲器可以在各種存儲器源中實現(xiàn),諸如動態(tài)隨機存取存儲器(DRAM)、硬盤驅(qū)動器(HDD)520或包含各種存儲裝置和技術(shù)的經(jīng)由網(wǎng)絡(luò)接口530而遠離計算機系統(tǒng)的存儲器源。高速緩沖存儲器可位于處理器內(nèi)或靠近處理器,諸如在處理器的本地總線507上。
此外,高速緩沖存儲器可包含相對較快的存儲器單元,諸如六個晶體管(6T)單元或者近似相等或更快訪問速度的其它存儲器單元。圖5的計算機系統(tǒng)可以是總線代理的點對點(PtP)網(wǎng)絡(luò),諸如微處理器,它們經(jīng)由專屬于PtP網(wǎng)絡(luò)上的每個代理的總線信號進行通信。圖6示出了在點對點(PtP)配置中安排的計算機系統(tǒng)。特別地,圖6示出了一種系統(tǒng),其中處理器、存儲器和輸入/輸出設(shè)備通過一些點對點接口互連。
圖6的系統(tǒng)還可以包括若干處理器,為清楚起見僅示出其中的兩個處理器670和680。處理器670和680可各自包括本地存儲器控制器集線器(MCH)672、682,以與存儲器22、24相連。處理器670、680可經(jīng)由點對點(PtP)接口650使用PtP接口電路678和688交換數(shù)據(jù)。處理器670、680可各自經(jīng)由單獨的PtP接口652、653使用點對點接口電路676、694、686、698與芯片組690交換數(shù)據(jù)。芯片級690還可經(jīng)由高性能圖形接口639與高性能圖形電路638交換數(shù)據(jù)。本發(fā)明的實施例可位于具有任意數(shù)量處理核心的任一處理器內(nèi)或者在圖6的每個PtP總線代理內(nèi)。
然而,本發(fā)明的其它實施例可存在于其它電路、邏輯單元或圖6系統(tǒng)內(nèi)的設(shè)備中。此外,在本發(fā)明的其它實施例中,可以被分布在遍及圖6所示的若干電路、邏輯單元或設(shè)備中。
本發(fā)明實施例的各個方面可使用互補金屬氧化物半導(dǎo)體(CMOS)電路或邏輯裝置(硬件)來實現(xiàn),同時其它方面可使用機器可讀介質(zhì)上存儲的指令(軟件)來實現(xiàn),這些指令在由處理器執(zhí)行時將使得處理器執(zhí)行一方法以實施本發(fā)明的實施例。此外,本發(fā)明的一些實施例可單獨用硬件實行,而其它實施例可單獨用軟件實行。
雖然已參考說明性實施例描述了本發(fā)明,但該描述并非旨在是限制性的。本領(lǐng)域熟練技術(shù)人員顯而易見的說明書實施例和其它實施例的各種修改都被認(rèn)為在本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
1.一種裝置,包括包括多個片段用于存儲多個處理器上下文狀態(tài)信息的保存區(qū),其中所述多個片段的每一個中存儲的上下文狀態(tài)信息可獨立于所述多個片段中的其它片段中存儲的其它上下文狀態(tài)信息被恢復(fù)到處理器上下文狀態(tài)。
2.如權(quán)利要求1所述的裝置,其特征在于,所述保存區(qū)還包括使用中比特矢量。
3.如權(quán)利要求2所述的裝置,其特征在于,所述使用中比特矢量的每個條目指示相應(yīng)片段內(nèi)存儲的信息是否要被用作處理器上下文狀態(tài)。
4.如權(quán)利要求2所述的裝置,其特征在于,所述使用中比特矢量的每個條目是要指示相應(yīng)片段內(nèi)存儲的信息是否是有效信息。
5.如權(quán)利要求2所述的裝置,其特征在于,所述使用中比特矢量的每個條目是要指示相應(yīng)片段內(nèi)存儲的信息是否在使用中。
6.如權(quán)利要求1所述的裝置,其特征在于,所述多個片段的每一個中存儲的上下文狀態(tài)信息可獨立于在所述多個片段的其它片段中存儲其它上下文狀態(tài)信息而被保存到一片段。
7.如權(quán)利要求5所述的裝置,其特征在于,如果所述使用中比特矢量條目中的任一個指示一錯誤,則與錯誤相對應(yīng)的片段內(nèi)存儲的上下文狀態(tài)信息將不被恢復(fù)到處理器的機器上下文狀態(tài)。
8.如權(quán)利要求2所述的裝置,其特征在于,在將所述多個片段內(nèi)的上下文狀態(tài)信息恢復(fù)到所述處理器的機器上下文狀態(tài)之前,要檢查所述使用中比特矢量條目的狀態(tài)。
9.一種方法,包括檢查包括與多個保存區(qū)片段相對應(yīng)的多個條目的使用中比特矢量;確定所述使用中比特矢量內(nèi)的條目處于第一狀態(tài)還是第二狀態(tài);僅當(dāng)所述條目處于所述第一狀態(tài)時,將與所述條目相對應(yīng)的所述多個片段之一內(nèi)的上下文狀態(tài)信息恢復(fù)到處理器的機器上下文狀態(tài);如果所述條目處于所述第二狀態(tài),則忽略與所述條目相對應(yīng)的所述多個片段之一內(nèi)的上下文狀態(tài)信息。
10.如權(quán)利要求9所述的方法,其特征在于,所述條目指示所述多個片段之一內(nèi)的所述相應(yīng)上下文狀態(tài)信息是否有效。
11.如權(quán)利要求9所述的方法,其特征在于,還包括確定所述多個片段之一內(nèi)的相應(yīng)上下文狀態(tài)信息是否錯誤,且如果是這樣,則執(zhí)行由以下操作構(gòu)成的操作組中的任一個或全部初始化包含錯誤的所述多個片段中的一個,初始化與包含錯誤的所述多個片段中的一些或全部相對應(yīng)的處理器狀態(tài)信息,初始化與包含錯誤的所述多個片段中的一個或多個相對應(yīng)的首部信息。
12.如權(quán)利要求9所述的方法,其特征在于,還包括如果所述條目處于所述第二狀態(tài),則將與所述條目相對應(yīng)的所述多個片段之一內(nèi)的上下文狀態(tài)信息置入初始化狀態(tài)。
13.如權(quán)利要求9所述的方法,其特征在于,在將所述多個片段內(nèi)的任意上下文狀態(tài)信息恢復(fù)到所述處理器的機器狀態(tài)之前,檢查所述使用中比特矢量。
14.如權(quán)利要求9所述的方法,其特征在于,通過將其中的所述條目與比特掩碼字段進行比較來檢查所述使用中比特矢量。
15.如權(quán)利要求9所述的方法,其特征在于,還包括在將所述處理器的機器狀態(tài)保存到所述多個片段之一前,檢查第二使用中比特矢量。
16.如權(quán)利要求15所述的方法,其特征在于,僅當(dāng)所述第二使用中比特矢量的條目指示機器狀態(tài)有效時,將所述處理器的機器狀態(tài)保存到所述多個片段之一。
17.如權(quán)利要求15所述的方法,其特征在于,僅當(dāng)所述第二使用中比特矢量的條目指示機器狀態(tài)無效時,將所述處理器的機器狀態(tài)保存到所述多個片段之一。
18.一種系統(tǒng),包括處理器,用于存儲多個機器狀態(tài)信息和其條目各自對應(yīng)于所述多個機器狀態(tài)信息之一的第一使用中比特矢量;存儲器,用于存儲包含多個片段的保存區(qū),用于存儲多個處理器機器狀態(tài)信息及其條目各自對應(yīng)于所述多個片段之一的第二使用中比特矢量。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,機器狀態(tài)信息對應(yīng)于信道狀態(tài)信息,該信息包括用于指示其中將監(jiān)視所述處理器操作的各個方面的條件的觸發(fā)信息。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第二使用中比特矢量的每個條目都指示相應(yīng)片段內(nèi)存儲的信息是否要被用作所述處理器的機器上下文狀態(tài)。
21.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第二使用中比特矢量的每個條目是要指示相應(yīng)片段內(nèi)存儲的信息是否是有效信息。
22.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第二使用中比特矢量的每個條目是要指示相應(yīng)片段內(nèi)存儲的信息是否包含錯誤。
23.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述多個片段的每一個中存儲的機器狀態(tài)信息可獨立于將其它機器狀態(tài)信息存儲入所述多個片段中的其它片段中而保存到一片段。
24.如權(quán)利要求22所述的系統(tǒng),其特征在于,如果所述第二使用中比特矢量條目的任一個指示一錯誤,則與所述錯誤相對應(yīng)的片段內(nèi)存儲的機器狀態(tài)信息不被恢復(fù)到所述處理器的機器上下文狀態(tài)。
25.如權(quán)利要求18所述的系統(tǒng),其特征在于,分別在將所述多個片段內(nèi)的機器狀態(tài)信息保存到所述處理器的機器上下文狀態(tài)或從所述處理器的機器上下文狀態(tài)恢復(fù)所述機器狀態(tài)信息之前,要檢查所述第一或第二使用中比特矢量條目的狀態(tài)。
26.一種處理器,包括包括觸發(fā)條件的多個信道信息,其中監(jiān)視所述處理器操作的一方面,且其中所述信道信息包括用于存儲與所述多個信道信息相對應(yīng)的多個使用中比特的首部字段,其中所述使用中比特指示所述多個信道信息是否要被保存到多個保存區(qū)片段。
27.如權(quán)利要求26所述的處理器,其特征在于,僅當(dāng)與所述多個信道信息之一相對應(yīng)的所述使用中比特指示所述多個信道信息中的所述一個有效時,所述多個信道信息之一將被保存到所述多個保存區(qū)片段之一。
28.如權(quán)利要求26所述的處理器,其特征在于,僅當(dāng)與所述多個信道信息之一相對應(yīng)的所述使用中比特指示所述多個信道信息中的所述一個不包含錯誤時,所述多個信道信息之一將被保存到所述多個保存區(qū)片段之一。
29.如權(quán)利要求27所述的處理器,其特征在于,如果所述多個信道中的所述一個無效時,它將被置入初始化狀態(tài)。
30.如權(quán)利要求28所述的處理器,其特征在于,如果所述多個信道中的所述一個包含錯誤時,它將被置入初始化狀態(tài)。
全文摘要
一種用于管理上下文狀態(tài)信息的技術(shù)。至少一個實施例包括用于存儲多個機器上下文狀態(tài)信息的多個保存區(qū)片段。一個實施例包括至少一個使用中比特矢量,以指示所述多個機器上下文信息的狀態(tài)。
文檔編號G06F9/46GK1936847SQ20061013990
公開日2007年3月28日 申請日期2006年9月18日 優(yōu)先權(quán)日2005年9月19日
發(fā)明者C·紐波恩, D·羅杰斯, B·比格比, S·考申克, G·欽亞, 鄒翔, 王宏 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
井研县| 南安市| 明星| 宿迁市| 西丰县| 迁西县| 内江市| 从江县| 青河县| 出国| 丰顺县| 浙江省| 如皋市| 桃源县| 九寨沟县| 绥阳县| 三都| 安阳市| 大渡口区| 修水县| 邯郸县| 上饶县| 勐海县| 桑日县| 乐业县| 舞钢市| 如皋市| 清流县| 贡山| 江城| 垦利县| 略阳县| 连平县| 巴彦县| 赤峰市| 西华县| 开封市| 沙洋县| 保定市| 都兰县| 米泉市|