两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

選擇處理器似乎遵循的架構(gòu)級(jí)別的方法、處理器及系統(tǒng)的制作方法

文檔序號(hào):6457627閱讀:197來源:國知局
專利名稱:選擇處理器似乎遵循的架構(gòu)級(jí)別的方法、處理器及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及處理器,具體地說,涉及配置處理器架構(gòu)以與軟件 兼容的方法。
背景技術(shù)
現(xiàn)今的計(jì)算設(shè)備能夠執(zhí)行多種任務(wù)。傳統(tǒng)計(jì)算設(shè)備可以執(zhí)行各種類型 的軟件產(chǎn)品,并且包括執(zhí)行設(shè)計(jì)為在早期硬件(如早期中央處理單元(CPU))上運(yùn)行的軟件的能力。計(jì)算設(shè)備由計(jì)算設(shè)備上運(yùn)行的操作系統(tǒng)(o/s)管理并通過操作系統(tǒng)執(zhí)行軟件產(chǎn)品。o/s管理系統(tǒng)的硬件和軟件資源并為應(yīng)用提供了與計(jì)算設(shè)備的硬件進(jìn)行交互的穩(wěn)定一致的方式。通常,當(dāng)針對(duì)給定處理器架構(gòu)級(jí)別編寫的程序在遵循定義更多指令或 其他功能的更高架構(gòu)級(jí)別的處理器上運(yùn)行時(shí),可能會(huì)因?yàn)闊o意中使用新的指令或功能而出錯(cuò)。例如,針對(duì)處理器A編寫并且遵循架構(gòu)A的程序包含 諸如沒有按照架構(gòu)的要求將指令中的保留字段設(shè)置為"0"之類的潛在"缺 陷"。當(dāng)程序在處理器A上運(yùn)行時(shí),由于處理器忽略這些字段,因此可能 不會(huì)出錯(cuò)。如果接著開發(fā)了架構(gòu)B并且該架構(gòu)定義了這些先前保留的字段, 則處理器B(遵循架構(gòu)B)不再忽略這些字段,當(dāng)程序在處理器B上執(zhí)行 時(shí),可能出現(xiàn)嚴(yán)重錯(cuò)誤。不幸的是,在本領(lǐng)域的目前狀態(tài)下,解決此問題的唯一方法是在遵循 較新的架構(gòu)級(jí)別的處理器上測試程序以發(fā)現(xiàn)任何隱藏的錯(cuò)誤。然后可以更 正這些錯(cuò)誤并將程序重新分發(fā)給所有用戶。在多數(shù)情況下,這是極其昂貴 的,并且如果程序由于缺乏支持或源代碼不可用而無法被 修改,則有時(shí)這 是不可能的。此外,當(dāng)針對(duì)處理器B編寫新程序時(shí)可能發(fā)生問題。例如,所述程序?qū)⒗锰幚砥鰾的新功能,但是需要確保所述程序在沒有新功能的處理器 A上正確執(zhí)行。目前,確保沒有任何可導(dǎo)致程序在處理器A上異常運(yùn)行的 潛在缺陷的唯一方法是在處理器A上測試程序。此方法需要處理器A可用, 并且如果程序被設(shè)計(jì)為在只遵循兩種架構(gòu)級(jí)別的處理器上運(yùn)行,則此方法 可能不會(huì)呈現(xiàn)問題。但是,當(dāng)程序被設(shè)計(jì)為在若千先前的架構(gòu)級(jí)別上運(yùn)行 時(shí),滿足獲得遵循每種早期架構(gòu)級(jí)別的處理器樣本的要求會(huì)非常麻煩。在要將正在執(zhí)行的程序遷移到一組處理器(每個(gè)處理器可能遵循不同 的架構(gòu)級(jí)別)的情況下會(huì)產(chǎn)生另一個(gè)問題。在此上下文中的遷移意味著當(dāng) 程序仍在運(yùn)行時(shí),將程序的執(zhí)行狀態(tài)從一個(gè)處理器轉(zhuǎn)移到另 一個(gè)處理器。 一種形式的程序遷移是邏輯分區(qū)遷移,其是在單個(gè)計(jì)算機(jī)的資源由一組獨(dú) 立邏輯分區(qū)共享的情況下的遷移。每個(gè)分區(qū)被配置為在給定架構(gòu)級(jí)別的架 構(gòu)功能上運(yùn)行。在分區(qū)遷移期間,其中將正在執(zhí)行的邏輯分區(qū)從源計(jì)算機(jī) 系統(tǒng)遷移到目標(biāo)計(jì)算機(jī)系統(tǒng),源計(jì)算機(jī)系統(tǒng)和目標(biāo)計(jì)算機(jī)系統(tǒng)的處理器可 能遵循不同的處理器架構(gòu)級(jí)別。由于程序可能針對(duì)特定架構(gòu)級(jí)別而設(shè)計(jì), 因此可進(jìn)行遷移的處理器組限于那些遵循程序設(shè)計(jì)所針對(duì)的架構(gòu)級(jí)別的處 理器。此限定可以限制遷移的可能性并相應(yīng)地限制程序遷移的多樣性。直到目前為止,如果出現(xiàn)上述問題,則顯然本領(lǐng)域的技術(shù)人員不了解 選擇處理器似乎遵循的架構(gòu)級(jí)別的適當(dāng)方法。由于對(duì)于程序而言,可以在 處理器架構(gòu)的增強(qiáng)(或更新或不同)級(jí)別上執(zhí)行非常重要,因此需要一種 機(jī)制來確保如果程序在遵循某一架構(gòu)級(jí)別的處理器上正確執(zhí)行,則程序無 需被修改便可在遵循所有后續(xù)架構(gòu)級(jí)別的處理器上運(yùn)行,即使程序包含上 述的潛在缺陷。此外,需要一種機(jī)制來確保程序能夠在早期處理器上正確 執(zhí)行而無需早期處理器物理地可用于程序測試。此外,需要一種允許程序 在所有處理器之間遷移而與該組處理器支持的架構(gòu)級(jí)別無關(guān)的方案。此類 方案還將允許程序在具有遵循不同架構(gòu)級(jí)別的處理器的兩個(gè)計(jì)算機(jī)系統(tǒng)之 間進(jìn)行運(yùn)行中的遷移。發(fā)明內(nèi)容本發(fā)明披露了一種在計(jì)算環(huán)境中選擇處理器似乎(appear)遵循的架 構(gòu)級(jí)別以允許高效的程序執(zhí)行并在不同的處理器架構(gòu)級(jí)別之間進(jìn)行遷移的 方法和系統(tǒng)。簡言之,所述方法利用可控制處理器要支持的架構(gòu)級(jí)別的"處 理器兼容性寄存器"(PCR)。在一個(gè)實(shí)施例中,所述PCR只能由超級(jí) 特權(quán)軟件來訪問。所述超級(jí)特權(quán)軟件設(shè)置PCR中指定處理器要支持的架構(gòu) 級(jí)別的位,以便當(dāng)程序在處理器上運(yùn)行時(shí),處理器根據(jù)程序設(shè)計(jì)所針對(duì)的 架構(gòu)級(jí)別來運(yùn)行。與處理器關(guān)聯(lián)的處理器兼容性寄存器(PCR)由計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)者 定義。在開始執(zhí)行程序或邏輯分區(qū)期間,在處理器處從諸如系統(tǒng)管理程序 之類的超級(jí)特權(quán)軟件程序來接收指令。所述指令通過設(shè)置與執(zhí)行程序或邏 輯分區(qū)所需的架構(gòu)級(jí)別對(duì)應(yīng)的適當(dāng)級(jí)別位(多個(gè))來^務(wù)改所述處理器兼容 性寄存器。所述方法還包括根據(jù)所述處理器兼容性寄存器的內(nèi)容來配置處 理器以便根據(jù)遵循指定架構(gòu)級(jí)別的處理器的要求運(yùn)行。所述PCR包括一個(gè)或多個(gè)標(biāo)識(shí)處理器似乎遵循的架構(gòu)級(jí)別的位。所述 一個(gè)或多個(gè)PCR位由僅當(dāng)處理器處于超級(jí)特權(quán)狀態(tài)時(shí)才能執(zhí)行的指令來 設(shè)置。所述處理器還包括用于以下操作的邏輯在處理器處接收指令,其 中所述指4^務(wù)改所述處理器兼容性寄存器;根據(jù)所述指令實(shí)施對(duì)所述處理 器兼容性寄存器的修改;以及根據(jù)所述處理器兼容性寄存器的內(nèi)容來選擇 所述處理器的架構(gòu)級(jí)別。在下面的詳細(xì)書面說明中,本發(fā)明的上述內(nèi)容以及其他目標(biāo)、功能和 優(yōu)點(diǎn)將變得顯而易見。


當(dāng)結(jié)合附圖閱讀時(shí),通過參考以下對(duì)示例性實(shí)施例的詳細(xì)說明,可以 最佳地理解發(fā)明本身及其優(yōu)選使用方式、進(jìn)一步的目的和優(yōu)點(diǎn),這些附圖 是圖1A是示出了其中特別適合實(shí)現(xiàn)本發(fā)明的計(jì)算設(shè)備的功能方塊圖; 圖IB是示出了其中特別適合實(shí)現(xiàn)本發(fā)明的處理器及其組件的功能方塊圖;圖2A-2C是示出了根據(jù)本發(fā)明的不同實(shí)施例的在實(shí)例處理器兼容性寄 存器(PCR)內(nèi)指定的"級(jí)別,,位的功能方塊圖;圖3A-3B是示出了根據(jù)本發(fā)明的另一實(shí)施例的允許溢出級(jí)別值繞回的 不同實(shí)例PCR的功能方塊圖;圖4是示出了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)管理程序根據(jù)其確定將PCR 設(shè)置到的架構(gòu)級(jí)別的過程的操作流程圖;以及圖5是示出了根據(jù)本發(fā)明的實(shí)施例的用于設(shè)置PCR位以標(biāo)識(shí)處理器似 乎遵循的架構(gòu)級(jí)別的過程的操作流程圖。
具體實(shí)施方式
本發(fā)明提供了 一種在計(jì)算環(huán)境中選擇處理器似乎遵循的架構(gòu)級(jí)別的方 法以及實(shí)現(xiàn)所述方法的裝置。所述方法利用"處理器兼容性寄存器"(PCR ), 其是一個(gè)控制處理器要支持的架構(gòu)級(jí)別的n位寄存器。在一個(gè)所描述的實(shí) 施例中,PCR只能由超級(jí)特權(quán)軟件來訪問。在計(jì)算架構(gòu)中,將超級(jí)特權(quán)軟 件的一個(gè)實(shí)例稱為"系統(tǒng)管理程序"。術(shù)語系統(tǒng)管理程序和超級(jí)特權(quán)軟件 將在此可互換地4吏用。系統(tǒng)管理程序設(shè)置PCR中指定處理器要支持的架構(gòu) 級(jí)別的位,以便當(dāng)程序在處理器上運(yùn)行時(shí),所述程序就像在遵循指定架構(gòu) 級(jí)別的處理器上執(zhí)行那樣地運(yùn)行。所述PCR由此通過使針對(duì)一種架構(gòu)級(jí)別 設(shè)計(jì)的程序能夠在遵循某些其他架構(gòu)級(jí)別的處理器上運(yùn)行而擴(kuò)展了程序的 有效壽命和適用性。在PCR中, 一個(gè)或多個(gè)定義的"級(jí)別"位控制特定處理器指令、功育fe、 函數(shù)、諸如專用寄存器(SPR)之類的寄存器,以及其他相關(guān)功能是否可 用于問題狀態(tài)(即,在用戶級(jí)應(yīng)用/程序的執(zhí)行期間)。PCR位還可以確定 如何解釋指令字段值,或可以定義其他處理器行為。每個(gè)級(jí)別位控制對(duì)應(yīng) 的處理器架構(gòu)級(jí)別中的新增功能的可用性。此外,在遵循某些架構(gòu)級(jí)別的處理器不可用的情況下,PCR允許程序 設(shè)計(jì)員在多種處理器架構(gòu)級(jí)別中測試代碼。對(duì)于無法承擔(dān)獲得多個(gè)處理器級(jí)別的小型企業(yè)和/或存在相對(duì)大量的處理器級(jí)別的情況,此優(yōu)點(diǎn)十分重 要。在處理器上執(zhí)行的程序可以是設(shè)計(jì)為在特定的遺留處理器架構(gòu)級(jí)別上 執(zhí)行的遺留程序。進(jìn)而,當(dāng)正在執(zhí)行的程序在一組處理器中進(jìn)行遷移的情 況下(每個(gè)處理器遵循與編寫程序所針對(duì)的級(jí)別不同/更高的架構(gòu)級(jí)別),利用PCR來提供無縫的遷移工具,以便程序要遷移到其的所有處理器都似 乎遵循同一架構(gòu)級(jí)別,即編寫程序所針對(duì)的特定架構(gòu)級(jí)別。在沒有PCR的 情況下,可向其進(jìn)4于遷移的處理器組將限于那些實(shí)際遵循此同一架構(gòu)級(jí)別 的處理器。此類限制將嚴(yán)格限制遷移的可能性并相應(yīng)地限制程序遷移的多 樣性。在下面對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)說明中,將充分詳細(xì)地描述可 以在其中實(shí)現(xiàn)本發(fā)明的特定示例性實(shí)施例,以便使本領(lǐng)域的技術(shù)人員能夠 實(shí)現(xiàn)本發(fā)明,并且將理解,可以使用其他實(shí)施例并在不偏離本發(fā)明的精神 或范圍的情況下^t出邏輯、架構(gòu)、編程、機(jī)械、電子和其他方面的更改。 因此,不應(yīng)以限制的意義來理解以下詳細(xì)說明,并且本發(fā)明的范圍僅由所 附權(quán)利^"求來限定。還將理解,使用特定參數(shù)名稱只是為了舉例,并非旨在暗示對(duì)本發(fā)明 的任何限制。因此,可以使用用于描述上述參數(shù)的不同命名/術(shù)語來實(shí)現(xiàn)本 發(fā)明而沒有任何限制。現(xiàn)在參考附圖,圖1A是總體示出其中特別適合實(shí)現(xiàn)本發(fā)明的計(jì)算設(shè) 備100的功能性方塊圖。計(jì)算設(shè)備100可以是任何計(jì)算設(shè)備,例如服務(wù)器、 個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)等。盡管此處在計(jì)算設(shè)備的上下文中進(jìn)行描述, 但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)現(xiàn)在使用具有變化的架構(gòu)的處理器執(zhí)行程序代 碼的其他設(shè)備中也具有等同的適用性。在此實(shí)例中,計(jì)算設(shè)備100包括處理器單元105、存儲(chǔ)器110、輸A/ 輸出控制器120以及存儲(chǔ)介質(zhì)125,它們都通過系統(tǒng)互連101相互連接。 計(jì)算設(shè)備100還可以包括其他與本討論無關(guān)的組件。處理器單元105有利 地包括微處理器或諸如數(shù)字信號(hào)處理器(DSP)之類的專用處理器,但是 備選地,可以是任何傳統(tǒng)形式的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器單元105還包括PCR 130,后者由本發(fā)明提供并按照此處所述的方式 使用。存儲(chǔ)器110包括多個(gè)級(jí)別的由處理器單元105執(zhí)行的軟件程序/代碼。 在此實(shí)施例中,存儲(chǔ)器110中存儲(chǔ)的軟件程序包括一個(gè)或多個(gè)用戶級(jí)問題 代碼(應(yīng)用116、 118)、特權(quán)級(jí)代碼(操作系統(tǒng)OS114),以;SJ1級(jí)特權(quán) 級(jí)代碼(系統(tǒng)管理程序112)。在此處描述的一個(gè)實(shí)施例中,系統(tǒng)管理程 序112檢索與4皮分配/執(zhí)行的邏輯分區(qū)或程序有關(guān)的架構(gòu)信息并設(shè)置PCR 130中的位以實(shí)現(xiàn)本發(fā)明的功能,如下面參考圖2-5所述??梢詫⒋鎯?chǔ)介質(zhì)125實(shí)現(xiàn)為任何非易失性存儲(chǔ)器,例如ROM存儲(chǔ)器、 閃速存儲(chǔ)器或磁盤驅(qū)動(dòng)器等。還可以將存儲(chǔ)介質(zhì)125實(shí)現(xiàn)為上述或其他技 術(shù)的任意組合,例如帶有高速緩存(RAM)存儲(chǔ)器的磁盤驅(qū)動(dòng)器等。在一 個(gè)實(shí)施例中,存儲(chǔ)介質(zhì)125用于在計(jì)算設(shè)備100可能斷電或無電源期間存 儲(chǔ)數(shù)據(jù)(同時(shí)用于特權(quán)代碼和超級(jí)特權(quán)代碼)。圖1B是總體示出了用于提供本發(fā)明的實(shí)現(xiàn)的處理器單元105的內(nèi)部 組件的功能性方塊圖??梢栽趩蝹€(gè)芯片上制造處理器105,并且處理器105 可以包括其上提供了執(zhí)行單元155 (如加載/存儲(chǔ)單元和/或浮點(diǎn)單元或定點(diǎn) 單元)和指令定序單元(ISU) 160的小片。指令定序單元160按適當(dāng)?shù)姆?式將指令分配到執(zhí)行單元155。處理器105還包括一系列寄存器165,其中示出了寄存器A131、寄存 器B132和處理器兼容性寄存器(PCR) 130。在一個(gè)實(shí)施例中,將處理器 小片實(shí)現(xiàn)為半導(dǎo)體集成電路。在另一個(gè)實(shí)施例中,處理器小片包括安裝在 單個(gè)小片上的多個(gè)處理器核心,并且每個(gè)處理器核心都包含一個(gè)安裝在其 上的PCR (130)。在處理器105的執(zhí)行期間,諸如PCR 130之類的特定寄存器只能由超 級(jí)特權(quán)軟件(系統(tǒng)管理程序112)來訪問,而諸如寄存器B 132之類的其 他寄存器可以由特權(quán)軟件和超級(jí)特權(quán)軟件來訪問。諸如寄存器A 131之類 的其他寄存器可以由用戶級(jí)軟件、特權(quán)軟件和超級(jí)特權(quán)軟件來訪問。在一 個(gè)實(shí)例中,PCR130是一個(gè)n位寄存器,其中n是大于l的整數(shù)。應(yīng)當(dāng)理解,圖1A和1B旨在以高級(jí)別示出計(jì)算機(jī)系統(tǒng)100的代表性主 要組件,并且單個(gè)組件可以比圖中示出的組件更復(fù)雜。還可以理解,可以 提供圖1A和1B中示出的組件之外或與其不同的組件,并且此類組件的數(shù) 量、類型和配置可以有所變化。例如,盡管示為具有單個(gè)處理器,但是可 以構(gòu)想在多處理器計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)本發(fā)明的功能。此外,在一個(gè)實(shí)施例 中,每個(gè)處理器都可以包括PCR,所述PCR可在一個(gè)或多個(gè)系統(tǒng)管理程 序的控制下被單獨(dú)修改以適應(yīng)同時(shí)在數(shù)據(jù)處理系統(tǒng)上運(yùn)行的多個(gè)架構(gòu)級(jí) 別。因此,僅通過實(shí)例的方式示出了圖1A和1B,并且其并非旨在暗示任 何有關(guān)本發(fā)明的限制。圖2A-2C是示出了處理器兼容性寄存器(PCR)的三個(gè)備選實(shí)施方式 (即PCR 200、 201和202 )的功能性方塊圖。具體參考PCR 200 (圖2A) 描述了此三個(gè)備選實(shí)施方式的功能,并且將理解,所述描述適用于每個(gè)提 供的PCR。在一個(gè)實(shí)施例中,PCR200只能由超級(jí)特權(quán)軟件(系統(tǒng)管理程 序)來訪問,問題狀態(tài)程序(如用戶應(yīng)用)以及特權(quán)代碼(如操作系統(tǒng)) 無法讀取或?qū)懭隤CR200。但是,也提供了其中PCR200可以由操作系統(tǒng) 來訪問的備選實(shí)施例。PCR 200是一個(gè)64位寄存器,該寄存器包括PCR 的三個(gè)低位220、 230和240 (分別是位61、 62和63 )。此外,PCR 200 包括一組61個(gè)保留位210 ( 0-60 )。三個(gè)低位220、 230和240用于定義在處于問題狀態(tài)時(shí)處理器要支持的 架構(gòu)級(jí)別,這通過控制諸如專用寄存器(SPR)之類的特定功能和其他相 關(guān)功能是否可用于該狀態(tài)來完成。PCR200中的剩余位#:<呆留以用于將來 的架構(gòu)級(jí)別。在備選實(shí)施方式中,將PCR201 (圖2B)的高位或PCR202 (圖2C )的中間位用于定義架構(gòu)級(jí)別,并且剩余位被再次保留以用于將來 的級(jí)別。由于PCR 200中的每個(gè)已定義位(220、 230、 240)僅在處理器處于 問題狀態(tài)時(shí)才控制處理器要支持的架構(gòu)級(jí)別,所以當(dāng)處理器未處于問題狀 態(tài)時(shí),所述位對(duì)功能沒有任何影響。當(dāng)處理器處于問題狀態(tài)時(shí),將PCR未 提供的功能視為以下項(xiàng)(a)將指令視為非法指令;(b)將SPR視為好像它們未針對(duì)實(shí)施方式進(jìn)行定義;以及(c)將指令中的字段視為好像字段 為0。在一個(gè)實(shí)施例中,為了使PCR能夠在開發(fā)新的處理器之后被更新,每 個(gè)已定義位在裙j殳置為1時(shí),將禁用給定架構(gòu)級(jí)別(即,在該架構(gòu)級(jí)別, 但未在前一個(gè)級(jí)別)中的新增功能。參考圖2A-2C,位vl 240禁用架構(gòu)的 vl中的新增功能。此外,位v2 230禁用架構(gòu)的v2中的新增功能。進(jìn)而, 位v3 220禁用架構(gòu)的v3中的新增功能。如果PCR的給定已定義(即,未 保留)低位被設(shè)置為1,則所有已定義高位也被設(shè)置為1。換言之,如果禁 用vl中的新增功能,則同樣必須禁用后續(xù)架構(gòu)級(jí)別(即,v2和v3)中的 所有新增功能。以這種方式定義位允許PCR被用于使處理器就像遵循每種 架構(gòu)級(jí)別那樣運(yùn)行。例如,如果將所有級(jí)別位(例如vl-v3)設(shè)置為'T,,則處理器遵循 架構(gòu)的級(jí)別v0并且禁用vl、 v2和/或v3中定義的所有新功能。在另一個(gè) 實(shí)例中,如果將級(jí)別位vl 240設(shè)置為"0"并且將級(jí)別位v2 230和v3 220 設(shè)置為"1",則僅禁用v2和v3中定義的新功能。在這種情況下,處理器 似乎遵循架構(gòu)級(jí)別vl。在再一個(gè)實(shí)例中,如果將級(jí)別位vl 240和v2 230 設(shè)置為"0"并且將級(jí)別位v3 220設(shè)置為'T,,則僅禁用v3中定義的新 功能,并且處理器似乎遵循架構(gòu)級(jí)別v2。最后,如果將所有級(jí)別位(例如 vl-v3)都設(shè)置為"0",則不禁用任何功能,并且處理器似乎遵循架構(gòu)級(jí) 別v3。當(dāng)定義下一個(gè)更高的架構(gòu)時(shí),下一個(gè)更高的未定義(即,首先保留) 位可用于禁用該下一個(gè)更高架構(gòu)級(jí)別的功能。對(duì)于PCR 200、 201和202,未指定給(或被用于標(biāo)識(shí))架構(gòu)級(jí)別的位 被"保留"并稱為保留位。此外,在一個(gè)實(shí)施例中,PCR130除級(jí)別位以 外還可以包含"功能位"。例如,功能位可以禁用處理器的特定功能(例 如, 一組向量指令)而與架構(gòu)級(jí)別無關(guān)。PCR中的一組位(例如高位)可 用于功能位。此實(shí)施方式的一種應(yīng)用是允許隨對(duì)軟件不可見的給定功能一 M送i殳計(jì),并且設(shè)計(jì)以后可被現(xiàn)場升級(jí)以包括/顯示/實(shí)施該功能。在多數(shù)實(shí)施方式中,PCR中的位要遠(yuǎn)多于架構(gòu)級(jí)別。在架構(gòu)級(jí)別多于可用PCR位的實(shí)施方式(例如,圖2A的PCR200的實(shí)例中存在65個(gè)以 上的架構(gòu)級(jí)別)中,將保留與不再受支持的架構(gòu)級(jí)別對(duì)應(yīng)的PCR的低位。 在此實(shí)施方式中,當(dāng)已將PCR的最高有效位指定給某個(gè)架構(gòu)級(jí)別并且要定 義新的架構(gòu)級(jí)別時(shí),可以將與新的架構(gòu)級(jí)別對(duì)應(yīng)的位定義為PCR的最低有 效位。在此情況下,已定義的PCR位被稱為"繞回"。雖然對(duì)于64位PCR 而言不太可能出現(xiàn)繞回,但是如果PCR的長度如要描述的圖3A-3B所示 的那樣僅為8位,則可能性會(huì)變大。圖3A-3B是示出其中發(fā)生已定義架構(gòu)級(jí)別的繞回的8位寬PCR 300 的功能性方塊圖。在該實(shí)例中,當(dāng)開發(fā)級(jí)別v9時(shí)發(fā)生繞回,并且將級(jí)別 v9定義為PCR的最低有效位。進(jìn)而,在其中已定義了 12個(gè)架構(gòu)級(jí)別(即 vO-vll)的圖3B示出的實(shí)施例中,僅支持最后五個(gè)級(jí)別(v7-vl1)并且位 1-4被"保留"以便以后進(jìn)行再次分配。PCR的若干變型是可能的,例如在處理器支持多個(gè)特斥又級(jí)別/狀態(tài)(即 問題狀態(tài)、特權(quán)狀態(tài)、超級(jí)特權(quán)狀態(tài)等)的實(shí)施方式中。在此類情況下, PCR可供特權(quán)代碼以及超級(jí)特權(quán)代碼使用。在操作系統(tǒng)需要為用戶級(jí)應(yīng)用 指定處理器架構(gòu)級(jí)別的情況下需要這種實(shí)施方式??梢詫CR實(shí)現(xiàn)為僅影響特定的特權(quán)級(jí)別或多個(gè)特權(quán)級(jí)別。例如,可 以將PCR實(shí)現(xiàn)為僅影響問題狀態(tài)代碼,從而使超級(jí)特權(quán)代碼和特權(quán)代碼 (例如操作系統(tǒng))能夠訪問與每個(gè)代碼的關(guān)聯(lián)特權(quán)級(jí)別對(duì)應(yīng)的所有處理器 功能。備選地,可以將PCR實(shí)現(xiàn)為影響問題代碼和特權(quán)代碼,例如當(dāng)操作 系統(tǒng)被設(shè)計(jì)為針對(duì)特定架構(gòu)級(jí)別時(shí)或操作系統(tǒng)未被設(shè)計(jì)為使用PCR時(shí)。此 外,還可以對(duì)PCR所影響的特權(quán)狀態(tài)進(jìn)行編程。如果需要PCR影響多個(gè)特權(quán)級(jí)別,則可以提供多個(gè)PCR,并且不同 的PCR適用于每個(gè)特權(quán)級(jí)別。例如,在具有三個(gè)狀態(tài)(包括問題狀態(tài)、特 權(quán)狀態(tài)和超級(jí)特權(quán)狀態(tài))的實(shí)施方式中,將PCR分別指定給每個(gè)狀態(tài),但 是只有處于更高特權(quán)狀態(tài)時(shí)才可以設(shè)置用于特定狀態(tài)的PCR。在此實(shí)例 中,與問題狀態(tài)關(guān)聯(lián)的PCR (PCR ,)將只影響問題狀態(tài)代碼并且可在 特權(quán)狀態(tài)和超級(jí)特4又(系統(tǒng)管理程序)狀態(tài)中訪問所述PCR。與特權(quán)狀態(tài)關(guān)聯(lián)的PCR (PCR特權(quán))將只影響特權(quán)狀態(tài)代碼并且可在超級(jí)特權(quán)狀態(tài)中 訪問所述PCR。與超級(jí)特權(quán)狀態(tài)關(guān)聯(lián)的PCR (PCR 系統(tǒng)管理f呈序 )將只影響超 級(jí)特權(quán)狀態(tài)代碼并且僅可在初始掃描輸入期間訪問所述PCR。因此,在此 實(shí)施方式中,只能從比PCR所影響的特權(quán)狀態(tài)(多個(gè))具有更高特權(quán)的特 權(quán)狀態(tài)來訪問PCR。參考圖IB,例如,寄存器RegA 131和RegB 132也 可以是PCR,并且可以將每個(gè)寄存器(RegA 131、 RegB 132和PCR 130) 指定給所支持狀態(tài)中的特定狀態(tài)。每個(gè)寄存器還可以具有不同的大小、布 局和位定義。當(dāng)如上所述提供了多個(gè)PCR時(shí),系統(tǒng)管理程序在分配分區(qū)時(shí)將PCR 問題和PCR特權(quán)初始化為初始級(jí)別,并且在分區(qū)的生命周期期間,操作系統(tǒng)能 夠在需要時(shí)修改PCR問題。通常,操作系統(tǒng)只是忽略或不注意PCR問題。現(xiàn) 在將描述的圖4提供了系統(tǒng)管理程序根據(jù)其確定應(yīng)將PCR位設(shè)置到的值的 過程。圖4和5是總體示出了系統(tǒng)管理程序(圖4 )和處理器(圖5 )在分配 分區(qū)期間更新PCR而執(zhí)行的過程的操作流程圖。所述過程4吏用圖1-3的組 件、數(shù)據(jù)和/或示例性操作環(huán)境來實(shí)現(xiàn)。盡管可以參考圖1-3中示出的組件 描述所述過程,但是應(yīng)當(dāng)理解,這只是為了方便并且可以采用替代組件。優(yōu)選地,所述過程的一個(gè)或多個(gè)步驟體現(xiàn)在包含計(jì)算機(jī)可讀代碼的計(jì) 算機(jī)可讀介質(zhì)中,以便當(dāng)計(jì)算機(jī)可讀代碼在計(jì)算設(shè)備上執(zhí)行時(shí)執(zhí)行一系列 步驟。在某些實(shí)施方式中,在不偏離所述過程及其等同物的范圍的情況下, 特定的過程步驟可以被組合、同時(shí)執(zhí)行或以不同順序執(zhí)行,或可以被忽略。參考啟用了系統(tǒng)管理程序的過程,圖4的過程從方塊401處開始并繼 續(xù)到方塊403,在方塊403,觸發(fā)系統(tǒng)管理程序以在處理器上分配分區(qū)。啟 動(dòng)分區(qū)執(zhí)行的控制程序調(diào)用系統(tǒng)管理程序以通知系統(tǒng)管理程序?qū)⑻幚砥髻Y 源分配給分區(qū)。在方塊405,系統(tǒng)管理程序檢索(或接收)與分區(qū)關(guān)聯(lián)的 各種配置參數(shù),所述參數(shù)包括與分區(qū)要在其上執(zhí)行的處理器架構(gòu)級(jí)別有關(guān) 的數(shù)據(jù)。根據(jù)所檢索的架構(gòu)級(jí)別參數(shù),系統(tǒng)管理程序標(biāo)識(shí)與分區(qū)遵循的級(jí) 別對(duì)應(yīng)的架構(gòu)級(jí)別,如方塊407所示。系統(tǒng)管理程序然后生成指令以將PCR的對(duì)應(yīng)位設(shè)置為用于已標(biāo)識(shí)的架構(gòu)級(jí)別的設(shè)置,如方塊409所示。系統(tǒng)管 理程序然后啟動(dòng)分區(qū)的執(zhí)行,如方塊411所示。過程然后在方塊413結(jié)束。參考圖5示出的處理器級(jí)別過程,所述過程從方塊501處開始并繼續(xù) 到方塊503,在方塊503,處理器接收修改PCR的指令。在方塊505,處 理器判定當(dāng)前的處理器特權(quán)狀態(tài)是否允許對(duì)PCR執(zhí)行所請(qǐng)求的修改。在一 個(gè)實(shí)施例中,此判定包含檢查是否在處理器處于超級(jí)特權(quán)(系統(tǒng)管理程序) 狀態(tài)時(shí)接收到指令。在當(dāng)前處理器特權(quán)狀態(tài)不允許請(qǐng)求的PCR修改(例如, 處理器未處于超級(jí)特權(quán)狀態(tài))時(shí),訪問PCR被拒絕,如方塊507所示。如 果當(dāng)前的處理器特權(quán)狀態(tài)確實(shí)允許請(qǐng)求的PCR修改(例如,處理器處于超 級(jí)特權(quán)狀態(tài)),則處理器根據(jù)接收的指令修改PCR,如方塊509所示。過 程然后在方塊511結(jié)束。因此,本發(fā)明的上述實(shí)施例提供了一種(在數(shù)據(jù)處理系統(tǒng)的處理器內(nèi)) 選擇處理器似乎遵循的架構(gòu)級(jí)別的方法。所述方法包括(a)設(shè)置處理器 內(nèi)的處理器兼容性寄存器(PCR)中的一個(gè)或多個(gè)位的值,所述值對(duì)應(yīng)于 在邏輯分區(qū)或程序的后續(xù)執(zhí)行期間處理器似乎遵循的架構(gòu)級(jí)別;以及(b) 才艮據(jù)PCR中的一個(gè)或多個(gè)位的值,自動(dòng)地將處理器配置為似乎遵循特定架 構(gòu)級(jí)別。應(yīng)當(dāng)理解,本發(fā)明的至少某些方面可以備選地在包^^呈序產(chǎn)品的計(jì)算 機(jī)可用介質(zhì)中實(shí)現(xiàn)。定義有關(guān)本發(fā)明的功能的程序可以通過各種信號(hào)承載 介質(zhì)被傳輸?shù)綌?shù)據(jù)存儲(chǔ)系統(tǒng)或計(jì)算機(jī)系統(tǒng),所述信號(hào)承載介質(zhì)包括但不限 于非可寫存儲(chǔ)介質(zhì)(例如CD-ROM)、可寫存儲(chǔ)介質(zhì)(例如硬盤驅(qū)動(dòng)器、 讀/寫CD-ROM,光介質(zhì)),以及通信介質(zhì),例如包括以太網(wǎng)、因特網(wǎng)、 無線網(wǎng)絡(luò)以及類似網(wǎng)絡(luò)系統(tǒng)的計(jì)算機(jī)和電話網(wǎng)絡(luò)。因此,應(yīng)當(dāng)理解,此類 信號(hào)承載介質(zhì)在承載或編碼有控制本發(fā)明的方法功能的計(jì)算機(jī)可讀指令 時(shí),代表本發(fā)明的備選實(shí)施例。進(jìn)而,將理解本發(fā)明可以由具有形式為此 處所述的硬件、軟件或軟件和硬件組合的裝置及其等同物的系統(tǒng)來實(shí)現(xiàn)。雖然參考優(yōu)選實(shí)施例具體示出和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人 員將理解,在不偏離本發(fā)明的精神和范圍的情況下,可以在其中做出形式 和細(xì)節(jié)上的各種更改。
權(quán)利要求
1.一種選擇處理器似乎遵循的架構(gòu)級(jí)別的方法,所述方法包括設(shè)置所述處理器內(nèi)的處理器兼容性寄存器中的一個(gè)或多個(gè)位的值,所述值對(duì)應(yīng)于在邏輯分區(qū)或程序的后續(xù)執(zhí)行期間所述處理器似乎遵循的架構(gòu)級(jí)別;以及根據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值,自動(dòng)地將所述處理器配置為似乎遵循特定架構(gòu)級(jí)別。
2. 根據(jù)權(quán)利要求l的方法,還包括 接收修改所述處理器兼容性寄存器的指令;根據(jù)與所述接收的指令內(nèi)包含的期望架構(gòu)級(jí)別有關(guān)的信息,動(dòng)態(tài)地修 改所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值;以及根據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值,從多個(gè)可 能的架構(gòu)級(jí)別中選擇所述處理器似乎遵循的所述特定架構(gòu)級(jí)別。
3. 根據(jù)權(quán)利要求2的方法,其中當(dāng)只有在所述處理器處于超級(jí)特權(quán)狀態(tài)下才能修改所述處理器兼容性 寄存器時(shí),所述動(dòng)態(tài)地修改進(jìn)一步包括僅在處理器工作在所述超級(jí)特權(quán) 狀態(tài)的期間接收到所述指令時(shí)才修改所述一個(gè)或多個(gè)位的值;以及當(dāng)在所述處理器處于超級(jí)特權(quán)狀態(tài)和特權(quán)狀態(tài)之一的情況下可以修改 所述處理器兼容性寄存器時(shí),所述動(dòng)態(tài)地修改進(jìn)一步包括僅在處理器工 作在所述超級(jí)特權(quán)狀態(tài)和所述特權(quán)狀態(tài)之一的期間接收到所述指令時(shí)才修 改所述一個(gè)或多個(gè)位的值。
4. 根據(jù)權(quán)利要求2的方法,其中所述處理器兼容性寄存器是所述處理 器內(nèi)的多個(gè)處理器兼容性寄存器中的一個(gè)處理器兼容性寄存器,其中所述 多個(gè)處理器兼容性寄存器在所述處理器分別處于超級(jí)特權(quán)狀態(tài)、特權(quán)狀態(tài) 或問題狀態(tài)時(shí)影響處理器工作,所述方法還包括在所述處理器處接收到所述指令時(shí),從超級(jí)特權(quán)狀態(tài)、特權(quán)狀態(tài)和問 題狀態(tài)中確定系統(tǒng)的工作狀態(tài);當(dāng)所述工作狀態(tài)是所述超級(jí)特權(quán)狀態(tài)時(shí),所述動(dòng)態(tài)地修改進(jìn)一步包括 修改在所述特權(quán)狀態(tài)和所述問題狀態(tài)中影響系統(tǒng)工作的所有處理器兼容性 寄存器的所述一個(gè)或多個(gè)位的值;當(dāng)所述工作狀態(tài)是所述特權(quán)狀態(tài)時(shí),所述動(dòng)態(tài)地修改進(jìn)一步包括僅 修改在所述問題狀態(tài)中影響系統(tǒng)工作的處理器兼容性寄存器的所述一個(gè)或 多個(gè)位的值;以及當(dāng)所述工作狀態(tài)是所述問題狀態(tài)時(shí),阻止修改所述處理器兼容性寄存 器的所述一個(gè)或多個(gè)位。
5. 根據(jù)權(quán)利要求1的方法,還包括在所述處理器似乎遵循由所述處理器兼容性寄存器中的所述一個(gè)或多 個(gè)位的值標(biāo)識(shí)的所述架構(gòu)級(jí)別的情況下,在所述處理器上后續(xù)地執(zhí)行程序;其中由超級(jí)特權(quán)或特權(quán)軟件來確定當(dāng)前架構(gòu)級(jí)別,所述軟件在分配所 述邏輯分區(qū)或程序時(shí)為所述程序檢索與所述特定架構(gòu)級(jí)別有關(guān)的信息;以 及其中所述處理器能夠支持由所述處理器兼容性寄存器的所述一個(gè)或多 個(gè)位的不同值分別選擇的多個(gè)處理器架構(gòu)級(jí)別。
6. 根據(jù)權(quán)利要求l的方法,還包括定義所述處理器兼容性寄存器中禁用所述處理器的特定功能的功能 位;以及在將功能位設(shè)置為禁用所述處理器的第一功能時(shí),禁用所述第一功能 而與所述處理器似乎遵循的所述架構(gòu)級(jí)別無關(guān)。
7. —種處理器,所述處理器包括 至少一個(gè)執(zhí)行單元;處理器兼容性寄存器,其指定在特定程序的執(zhí)行期間所述處理器似乎 遵循的架構(gòu)級(jí)別;邏輯,其選擇所述處理器似乎遵循的當(dāng)前架構(gòu)級(jí)別,所述邏輯包括用 于以下操作的邏輯設(shè)置所述處理器內(nèi)的處理器兼容性寄存器中的一個(gè)或多個(gè)位的值,所述值對(duì)應(yīng)于在邏輯分區(qū)或程序的后續(xù)執(zhí)行期間所述處理器似乎遵循的架構(gòu)級(jí)別;以及才艮據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值,自動(dòng) 地將所述處理器配置為似乎遵循特定架構(gòu)級(jí)別。
8. 根據(jù)權(quán)利要求7的處理器,還包括用于以下操作的邏輯 接收修改所述處理器兼容性寄存器的指令;根據(jù)與所述接收的指令內(nèi)包含的期望架構(gòu)級(jí)別有關(guān)的信息,動(dòng)態(tài)地修 改所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值;以及根據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值,從多個(gè)可 能的架構(gòu)級(jí)別中選擇所述處理器似乎遵循的所述特定架構(gòu)級(jí)別。
9. 根據(jù)權(quán)利要求8的處理器,其中當(dāng)只有在所述處理器處于超級(jí)特權(quán)狀態(tài)下才能修改所述處理器兼容性 寄存器時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于以下操作的邏輯 僅在處理器工作在所述超級(jí)特權(quán)狀態(tài)的期間接收到所述指令時(shí)才修改所述 一個(gè)或多個(gè)位的值;以及當(dāng)在所述處理器處于超級(jí)特權(quán)狀態(tài)和特權(quán)狀態(tài)之一的情況下可以修改 所述處理器兼容性寄存器時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于 以下操作的邏輯僅在處理器工作在所述超級(jí)特權(quán)狀態(tài)和所述特權(quán)狀態(tài)之 一的期間接收到所述指令時(shí)才修改所述一個(gè)或多個(gè)位的值。
10. 根據(jù)權(quán)利要求8的處理器,其中所述處理器兼容性寄存器是所述 處理器內(nèi)的多個(gè)處理器兼容性寄存器中的一個(gè)處理器兼容性寄存器,其中 所述多個(gè)處理器兼容性寄存器在所述處理器分別處于超級(jí)特權(quán)狀態(tài)、特權(quán) 狀態(tài)或問題狀態(tài)時(shí)影響處理器工作,所述處理器還包括在所述處理器處接收到所述指令時(shí),用于從超級(jí)特權(quán)狀態(tài)、特權(quán)狀態(tài) 和問題狀態(tài)中確定系統(tǒng)的工作狀態(tài)的邏輯;當(dāng)所述工作狀態(tài)是所述超級(jí)特權(quán)狀態(tài)時(shí),所述用于動(dòng)態(tài)地修改的邏輯 進(jìn)一步包括用于以下操作的邏輯修改在所述特權(quán)狀態(tài)和所述問題狀態(tài)中 影響系統(tǒng)工作的所有處理器兼容性寄存器的所述一個(gè)或多個(gè)位的值;當(dāng)所述工作狀態(tài)是所述特權(quán)狀態(tài)時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于以下^^作的邏輯僅修改在所述問題狀態(tài)中影響系統(tǒng)工作的處 理器兼容性寄存器的所述一個(gè)或多個(gè)位的值;以及當(dāng)所述工作狀態(tài)是所述問題狀態(tài)時(shí),用于阻止修改所述處理器兼容性 寄存器的所述一個(gè)或多個(gè)位的邏輯。
11. 根據(jù)權(quán)利要求7的處理器,還包括用于在所述處理器似乎遵循由所述處理器兼容性寄存器中的所述一個(gè) 或多個(gè)位的值標(biāo)識(shí)的所述架構(gòu)級(jí)別的情況下,在所述處理器上后續(xù)地執(zhí)行 程序的邏輯;其中由超級(jí)特權(quán)或特權(quán)軟件來確定當(dāng)前架構(gòu)級(jí)別,所述軟件在分配所及其中所述處理器能夠支持由所述處理器兼容性寄存器的所述一個(gè)或多 個(gè)位的不同值分別選擇的多個(gè)處理器架構(gòu)級(jí)別。
12. 根據(jù)權(quán)利要求7的處理器,其中所述處理器兼容性寄存器還包括 一個(gè)或多個(gè)功能位,并且所述處理器還包括用于定義所述處理器兼容性寄存器中禁用所述處理器的特定功能的功 能位的邏輯;以及在將功能位i殳置為禁用所述處理器的第一功能時(shí),用于禁用所述第一 功能而與所述處理器似乎遵循的所述架構(gòu)級(jí)別無關(guān)的邏輯。
13. —種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括存儲(chǔ)器,其中具有用于在操作的超級(jí)特權(quán)狀態(tài)期間執(zhí)行超級(jí)特權(quán)客戶 端的代碼;處理器,其通過互連連接到所述存儲(chǔ)器,所述處理器具有 至少一個(gè)執(zhí)行單元;處理器兼容性寄存器,其指定在特定程序的執(zhí)行期間所述處理器 似乎遵循的架構(gòu)級(jí)別;邏輯,其用于選擇所述處理器似乎遵循的當(dāng)前架構(gòu)級(jí)別,所述邏輯包括用于以下操作的邏輯設(shè)置所述處理器內(nèi)的處理器兼容性寄存器中的一個(gè)或多個(gè)位 的值,所述值對(duì)應(yīng)于在邏輯分區(qū)或程序的后續(xù)執(zhí)行期間所述處理 器似乎遵循的架構(gòu)級(jí)別;以及才艮據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值, 自動(dòng)地將所述處理器配置為似乎遵循特定架構(gòu)級(jí)別。
14. 根據(jù)權(quán)利要求13的數(shù)據(jù)處理系統(tǒng),所述處理器還包括 用于接收修改所述處理器兼容性寄存器的指令的邏輯; 用于根據(jù)與所述接收的指令內(nèi)包含的期望架構(gòu)級(jí)別有關(guān)的信息,動(dòng)態(tài)地修改所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值的邏輯;以及 用于根據(jù)所述處理器兼容性寄存器中的所述一個(gè)或多個(gè)位的值,從多 個(gè)可能的架構(gòu)級(jí)別中選擇所述處理器似乎遵循的所述特定架構(gòu)級(jí)別的邏 輯。
15. 根據(jù)權(quán)利要求14的數(shù)據(jù)處理系統(tǒng),其中當(dāng)只有在所述處理器處于超級(jí)特權(quán)狀態(tài)下才能修改所述處理器兼容性 寄存器時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于以下操作的邏輯 僅在處理器工作在所述超級(jí)特權(quán)狀態(tài)的期間接收到所述指令時(shí)才修改所述一個(gè)或多個(gè)位的值;以及當(dāng)在所述處理器處于超級(jí)特權(quán)狀態(tài)和特權(quán)狀態(tài)之一的情況下可以修改 所述處理器兼容性寄存器時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于 以下操作的邏輯僅在處理器工作在所述超級(jí)特權(quán)狀態(tài)和所述特權(quán)狀態(tài)之 一的期間接收到所述指令時(shí)才修改所述一個(gè)或多個(gè)位的值。
16. 根據(jù)權(quán)利要求13的數(shù)據(jù)處理系統(tǒng),其中所述處理器兼容性寄存 器是所述處理器內(nèi)的多個(gè)處理器兼容性寄存器中的一個(gè)處理器兼容性寄存 器,其中所述多個(gè)處理器兼容性寄存器在所述處理器分別處于超級(jí)特權(quán)狀 態(tài)、特權(quán)狀態(tài)或問題狀態(tài)時(shí)影響處理器工作,所述處理器還包括在所述處理器處接收到所述指令時(shí),用于從超級(jí)特權(quán)狀態(tài)、特權(quán)狀態(tài) 和問題狀態(tài)中確定系統(tǒng)的工作狀態(tài)的邏輯;當(dāng)所述工作狀態(tài)是所述超級(jí)特權(quán)狀態(tài)時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一步包括用于以下操作的邏輯修改在所述特權(quán)狀態(tài)和所述問題狀態(tài)中 影響系統(tǒng)工作的所有處理器兼容性寄存器的所述一個(gè)或多個(gè)位的值;當(dāng)所述工作狀態(tài)是所述特權(quán)狀態(tài)時(shí),所述用于動(dòng)態(tài)地修改的邏輯進(jìn)一 步包括用于以下操作的邏輯僅修改在所述問題狀態(tài)中影響系統(tǒng)工作的處 理器兼容性寄存器的所述一個(gè)或多個(gè)位的值;以及當(dāng)所述工作狀態(tài)是所述問題狀態(tài)時(shí),用于阻止修改所述處理器兼容性 寄存器的所述一個(gè)或多個(gè)位的邏輯。
17. 根據(jù)權(quán)利要求13的數(shù)據(jù)處理系統(tǒng),還包括用于在所述處理器似乎遵循由所述處理器兼容性寄存器中的所述一個(gè) 或多個(gè)位的值標(biāo)識(shí)的所述架構(gòu)級(jí)別的情況下,在所述處理器上后續(xù)地執(zhí)行 程序的邏輯;其中由超級(jí)特權(quán)或特權(quán)軟件來確定當(dāng)前架構(gòu)級(jí)別,所述軟件在分配所及其中所述處理器能夠支持由所述處理器兼容性寄存器的所述一個(gè)或多 個(gè)位的不同值分別選擇的多個(gè)處理器架構(gòu)級(jí)別。
18. 根據(jù)權(quán)利要求13的數(shù)據(jù)處理系統(tǒng),其中所述處理器兼容性寄存 器還包括一個(gè)或多個(gè)功能位,并且所述處理器還包括用于定義所述處理器兼容性寄存器中禁用所述處理器的特定功能的功 能位的邏輯;以及在將功能位i更置為禁用所述處理器的第一功能時(shí),用于禁用所述第一 功能而與所述處理器似乎遵循的所述架構(gòu)級(jí)別無關(guān)的邏輯。
19. 根據(jù)權(quán)利要求13的數(shù)據(jù)處理系統(tǒng),還包括多個(gè)處理器,其中每個(gè)處理器包括一個(gè)或多個(gè)處理器兼容性寄存器, 可在一個(gè)或多個(gè)系統(tǒng)管理程序的控制下獨(dú)立地^^改所述處理器兼容性寄存 器以適應(yīng)同時(shí)在所述數(shù)據(jù)處理系統(tǒng)上運(yùn)行的多個(gè)架構(gòu)級(jí)別。
全文摘要
本發(fā)明涉及一種選擇處理器似乎遵循的架構(gòu)級(jí)別的方法和系統(tǒng),具體地說,涉及一種當(dāng)執(zhí)行特定邏輯分區(qū)或程序并在不同的處理器架構(gòu)級(jí)別之間執(zhí)行遷移時(shí),在計(jì)算環(huán)境中選擇處理器似乎遵循的架構(gòu)級(jí)別的方法和系統(tǒng)。所述方法利用控制處理器要支持的架構(gòu)級(jí)別的“處理器兼容性寄存器”(PCR)。在一個(gè)實(shí)施例中,所述PCR只能由超級(jí)特權(quán)軟件來訪問。所述超級(jí)特權(quán)軟件設(shè)置所述PCR中指定處理器要支持的架構(gòu)級(jí)別的位,以便當(dāng)程序在處理器上運(yùn)行時(shí),所述處理器根據(jù)程序設(shè)計(jì)所針對(duì)的架構(gòu)級(jí)別來運(yùn)行。
文檔編號(hào)G06F9/48GK101221514SQ20081000177
公開日2008年7月16日 申請(qǐng)日期2008年1月8日 優(yōu)先權(quán)日2007年1月9日
發(fā)明者C·梅, G·R·弗拉齊耶, J·T·奧坎二世, M·J·科里甘, N·納亞爾, R·L·阿恩特, T·R·馬齊尼, W·J·阿姆斯特朗 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
华容县| 府谷县| 十堰市| 谷城县| 吴桥县| 金堂县| 睢宁县| 德昌县| 大足县| 克山县| 夹江县| 本溪| 鸡东县| 福鼎市| 叙永县| 北海市| 华宁县| 洛扎县| 新宾| 柳江县| 江安县| 惠安县| 利辛县| 平度市| 砚山县| 长兴县| 栖霞市| 四平市| 道真| 阿克苏市| 略阳县| 曲靖市| 平顶山市| 游戏| 天水市| 农安县| 吉安县| 济宁市| 兴安盟| 夏邑县| 登封市|