在多核心環(huán)境中管理硬件錯(cuò)誤的方法和裝置制造方法
【專利摘要】在多核心環(huán)境中管理硬件錯(cuò)誤的方法和裝置包括將處理器核心分配為主處理器核心組和備用處理器核心組。主處理器核心組由操作系統(tǒng)使用,以及備用處理器核心組專用于軟件應(yīng)用。當(dāng)一個(gè)處理器核心錯(cuò)誤發(fā)生時(shí),可執(zhí)行處理器核心交換,將故障的主處理器核心交換為備用處理器核心而不中斷操作系統(tǒng)的執(zhí)行。
【專利說明】在多核心環(huán)境中管理硬件錯(cuò)誤的方法和裝置
【背景技術(shù)】
[0001]現(xiàn)有的高性能計(jì)算依賴于使用許多處理器核心來實(shí)現(xiàn)各種密集的和復(fù)雜的計(jì)算和處理。一些計(jì)算設(shè)備特定地為這些任務(wù)設(shè)計(jì)并且可能包括多個(gè)處理器插槽,同時(shí)每個(gè)處理器具有多個(gè)處理器核心。同樣地,高性能計(jì)算系統(tǒng)可以利用五十個(gè)或更多個(gè)處理器核心或者線程來執(zhí)行各種工作負(fù)荷。這樣的系統(tǒng)可以包括“小核心”,“小”和“大”核心的組合,或者全是“大”核心。小核心可以被定義為較低性能的處理器核心,被設(shè)計(jì)用于高并行計(jì)算,而大核心被定義為通用的計(jì)算核心,例如通常那些在標(biāo)準(zhǔn)服務(wù)器計(jì)算設(shè)備中發(fā)現(xiàn)的那樣。
[0002]在多核心或許多核心系統(tǒng)中,單一處理器核心的故障可以導(dǎo)致包括任何其余的正常核心的整個(gè)系統(tǒng)的不可恢復(fù)的錯(cuò)誤。整個(gè)系統(tǒng)的關(guān)鍵故障的可能性被大量的處理器核心所放大。例如,在具有五十個(gè)處理器核心的系統(tǒng)中,五十個(gè)處理器核心之一出現(xiàn)故障能引起整個(gè)系統(tǒng)的故障。另外,在處理器裸晶的一個(gè)位置中的一個(gè)處理器核心的故障可能會(huì)在相鄰的核心和片上施加不適當(dāng)?shù)膲毫?。進(jìn)一步地,處理器核心的損失可能增加其余核心的工作負(fù)荷,這可能惡化處理器核心或片中的任何電流問題。一些系統(tǒng)包括軟件措施來管理處理器核心錯(cuò)誤。然而,這些軟件措施典型地增加系統(tǒng)工作負(fù)荷并且沒有考慮核心或片的布局以及其對(duì)系統(tǒng)上持續(xù)計(jì)算的健康度和吞吐量的影響。
【專利附圖】
【附圖說明】
[0003]本文中描述的本發(fā)明以示例而非限制的方式以附圖來闡述。為了闡述的簡潔和清楚,附圖中所述的元素不一定按比例繪制。例如,為了清楚起見,一些元素的尺寸可以相對(duì)于其它元素夸大比例。進(jìn)一步的,在認(rèn)為適當(dāng)時(shí),參考標(biāo)記已在附圖之間重復(fù)以便指示相應(yīng)的或者類似的元素。
[0004]圖1是用于多核心環(huán)境中管理硬件錯(cuò)誤的計(jì)算設(shè)備的至少一個(gè)實(shí)施例的簡化框圖;
[0005]圖2是圖1的計(jì)算設(shè)備的軟件環(huán)境的至少一個(gè)實(shí)施例的簡化框圖;
[0006]圖3是用于分配圖1計(jì)算設(shè)備的處理器核心的方法的至少一個(gè)實(shí)施例的簡化流程圖;
[0007]圖4是用于執(zhí)行圖1的計(jì)算設(shè)備上的應(yīng)用的方法的至少一個(gè)實(shí)施例的簡化流程圖;以及
[0008]圖5是用于管理圖1的計(jì)算設(shè)備的硬件錯(cuò)誤的方法的至少一個(gè)實(shí)施例的簡化流程圖。
【具體實(shí)施方式】
[0009]雖然本公開的概念容許各種修改和備選形式,但是其中特定示范實(shí)施例已在附圖中以示例的方式示出并且將在本文中詳細(xì)描述。然而,應(yīng)該理解的是,不意在將本公開的概念限制到所公開的特定形式,而是相反,意在覆蓋和本公開的內(nèi)容以及附加的權(quán)利要求一致的所有的修改、等價(jià)和備選。
[0010]在以下的描述中,大量特定的細(xì)節(jié)比如邏輯實(shí)現(xiàn)、操作碼、規(guī)定操作數(shù)的方式、資源分割/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和內(nèi)部關(guān)聯(lián)關(guān)系以及邏輯分割/集成選擇被提出,以便提供本公開的更加全面的理解。然而,將被理解的是,本領(lǐng)域技術(shù)人員可以實(shí)踐本發(fā)明的實(shí)施例而不需要這樣的特定細(xì)節(jié)。在其它實(shí)施例中,控制結(jié)構(gòu)、門級(jí)電路和完全軟件執(zhí)行序列沒有被詳細(xì)的描述以便不使本發(fā)明變得難懂。本領(lǐng)域的普通技術(shù)人員在所包含的描述下將能夠?qū)崿F(xiàn)合適的功能性而不需要過度試驗(yàn)。
[0011]在說明書中“一個(gè)實(shí)施例”,“實(shí)施例”,“示例性實(shí)施例”等的引用指示所描述的實(shí)施例可以包括特定的特征、結(jié)構(gòu)或者特性,但是可能不一定每一個(gè)實(shí)施例都包括該特定的特征、結(jié)構(gòu)或者特性。而且,這樣的語句不一定指相同的實(shí)施例。進(jìn)一步地,當(dāng)特定的特征、結(jié)構(gòu)或特性結(jié)合實(shí)施例被描述時(shí),應(yīng)該認(rèn)為與其它實(shí)施例相關(guān)聯(lián)實(shí)現(xiàn)這樣的特征、結(jié)構(gòu)或者特性屬于本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi),而無論是否明確描述。
[0012]本發(fā)明實(shí)施例可以在硬件、固件、軟件或者其任何組合中執(zhí)行。在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)的本發(fā)明實(shí)施例可以包括在組件之間的一個(gè)或者多個(gè)基于總線的互連和/或在組件之間的一個(gè)或多個(gè)點(diǎn)對(duì)點(diǎn)互連。本發(fā)明的實(shí)施例也可以實(shí)現(xiàn)為指令,該指令由短暫性或者非短暫性機(jī)器可讀介質(zhì)攜帶或者存儲(chǔ)在短暫性或者非短暫性機(jī)器可讀介質(zhì)上,該介質(zhì)可以被一個(gè)或多個(gè)處理器讀取和執(zhí)行。機(jī)器可讀介質(zhì)可以體現(xiàn)為機(jī)器(例如計(jì)算設(shè)備)可讀形式的任何設(shè)備、機(jī)構(gòu)或用于存儲(chǔ)或傳輸信息的物理結(jié)構(gòu)。例如,機(jī)器可讀介質(zhì)可以包括體現(xiàn)為只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁盤存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃存設(shè)備;小型或者微型SD卡;存儲(chǔ)棒;電信號(hào)以及其它。
[0013]在附圖中,示意性元素(比如表示設(shè)備、模塊、指令塊和數(shù)據(jù)元素的那些)的特定布置或順序?yàn)榱艘子诿枋隹梢员皇境觥H欢?,本領(lǐng)域技術(shù)人員應(yīng)該理解的是,附圖中示意性元素的特定順序或布置不意味著暗示處理的特殊順序或序列或者處理的分離是需要的。進(jìn)一步的,附圖包含示意性元素不意味著暗示這樣的元素在所有的實(shí)施例都是需要的或者由這樣的元件所代表的特征不可以包含在一些實(shí)施例中,或者在一些實(shí)施例中由這樣的元件所代表的特征不可以與其它元素組合。
[0014]一般來說,用于代表指令塊的示意性元素可以利用任何合適的機(jī)器可讀指令的形式被執(zhí)行,機(jī)器可讀指令的合適的形式比如軟件或固件應(yīng)用、程序、功函數(shù)、模塊、例程、處理、過程、插件、Java程序、微件、編碼片段和/或其它,并且每一個(gè)這樣的指令可以使用任意合適的編程語言、庫、應(yīng)用編程接口(API),和/或其它軟件開發(fā)工具來實(shí)現(xiàn)。例如,一些實(shí)施例可以利用Java、C++和/或其它編程語言來實(shí)現(xiàn)。類似地,用于代表數(shù)據(jù)或信息的示意性元素可以使用任意合適的電子布置或結(jié)構(gòu)來實(shí)現(xiàn),合適的電子布置或結(jié)構(gòu)比如寄存器、數(shù)據(jù)存儲(chǔ)器、表、記錄、數(shù)組、索引、散列、映射、樹、列表、圖表、文件(任一文件類型的)、文件夾、目錄、數(shù)據(jù)庫和/或其它。
[0015]進(jìn)一步地,在附圖中,其中連接元素,比如實(shí)線或點(diǎn)劃線或者箭頭,都用來表示兩個(gè)或者多個(gè)其它示意性元素之間或之中的連接、關(guān)系或者關(guān)聯(lián),任何這樣連接元素的缺失不意味著暗示沒有連接、關(guān)系或者關(guān)聯(lián)可以存在。換句話說,元件之間的某些連接、關(guān)系或者關(guān)聯(lián)可能沒有在圖中示出并不導(dǎo)致本發(fā)明公開內(nèi)容的晦澀。另外,為了易于描述,單一連接元素可以被用于代表元件之間的多個(gè)連接、關(guān)系或者關(guān)聯(lián)。例如,連接元素代表信號(hào)、數(shù)據(jù)或者指令的通信,本領(lǐng)域技術(shù)人員應(yīng)該理解的是,這樣的元素可以代表一個(gè)或者多個(gè)信號(hào)路徑(例如,總線),其可能被需要以用于影響通信。
[0016]現(xiàn)在參考圖1,計(jì)算設(shè)備100用于管理多核心環(huán)境中的硬件錯(cuò)誤,多核心環(huán)境包括一個(gè)或多個(gè)多核心處理器102。每一個(gè)多核心處理器102包括一個(gè)或多個(gè)處理器核心104以致計(jì)算設(shè)備100包括兩個(gè)或多個(gè)處理器核心。例如,在一些實(shí)施例中,計(jì)算設(shè)備100可以包括五十或更多處理器核心。在使用中,源于處理器核心104的計(jì)算設(shè)備100的硬件錯(cuò)誤通過在處理器核心的主組202和備用組204之間分配處理器核心104來管理(參見圖2)。這樣做,正如下面所詳細(xì)描述的那樣,建立了主硬件描述表212 (參見圖2)和分離的備用硬件描述表214 (參見圖2),其中主硬件描述表212代表主組202的處理器核心104中的每一個(gè),分離的備用硬件描述表214代表備用組204的處理器核心104中的每一個(gè)。
[0017]主硬件描述表212的處理器核心104受到在計(jì)算設(shè)備100上執(zhí)行的操作系統(tǒng)的影響的同時(shí),備用硬件描述表214的處理器核心104是“摘要的”或者否則不直接對(duì)于操作系統(tǒng)內(nèi)核可訪問。備用硬件描述表214的處理器核心104備用于和分配到在計(jì)算設(shè)備100上以計(jì)算請(qǐng)求響應(yīng)的方式執(zhí)行的軟件應(yīng)用(例如,計(jì)算密集的應(yīng)用)上。為了這樣做,在軟件應(yīng)用和備用組204的分配的處理器核心104之間建立了消息通過接口(MPI)。處理器核心錯(cuò)誤一旦隨著分配的處理器核心104之一而發(fā)生,相關(guān)聯(lián)的中斷就被限制到處理器核心104的備用組204(即,中斷不由處理器核心104的主組202接收)。這樣,相關(guān)聯(lián)的軟件應(yīng)用(或相關(guān)聯(lián)軟件應(yīng)用的任務(wù))可以重啟并且備用組204的新處理器核心104可以被分配到軟件應(yīng)用(或其任務(wù))。備選地,處理器核心錯(cuò)誤一旦隨著主硬件描述表212的處理器核心104之一而發(fā)生,就可以執(zhí)行處理器核心交換,用來自備用組204的處理器核心104來代替主組202的故障/已故障的處理器核心104。在一個(gè)實(shí)施例中,處理器核心交換是基于處理器裸晶中故障/已故障的處理器核心104的位置來執(zhí)行的以便使預(yù)期錯(cuò)誤最小化以及使等待時(shí)間最小化(例如,備用組204的替換處理器核心104可以基于主組202的故障/已故障的處理器核心104的裸晶位置來選擇)。另外,執(zhí)行處理器核心交換而不影響操作系統(tǒng),其通過使用內(nèi)嵌的固件、硬件、系統(tǒng)軟件等在主組202的處理器核心104上執(zhí)行。為了這樣做,正如下面所討論的,計(jì)算設(shè)備100的上下文被中止,如在典型的系統(tǒng)管理模式(SMM)或者類似的錯(cuò)誤處理狀態(tài)中執(zhí)行的。這樣,即使在處理器核心故障的情況下,操作系統(tǒng)的執(zhí)行也可以不被中斷(例如,操作系統(tǒng)不需要被重啟)。
[0018]如圖1所示,處理器102包括控制器106和處理器寄存器108,其可以包括為處理器102的內(nèi)存儲(chǔ)器的存儲(chǔ)器位置??刂破?06可以體現(xiàn)為用于控制對(duì)處理器核心104的操作和訪問的控制電路和相關(guān)聯(lián)的固件/微碼。例如,如下面更加詳細(xì)地討論的,控制器106配置處理器寄存器108用于將處理器核心分配到備用組204以及管理對(duì)處理器核心104的主組202和備用組204的訪問。另外,如下面更加詳細(xì)地討論的,處理器寄存器108包括用于每一處理器核心104的寄存器標(biāo)記、位或其它指示符以便指示相應(yīng)處理器核心104是否已故障(或者正故障)并控制或限制由相應(yīng)處理器核心104對(duì)相應(yīng)處理器組202、204引起的硬件中斷的廣播。
[0019]計(jì)算設(shè)備100可以體現(xiàn)為任何類型的計(jì)算設(shè)備,比如移動(dòng)計(jì)算設(shè)備、智能電話、計(jì)算平板、移動(dòng)互聯(lián)網(wǎng)設(shè)備、膝上計(jì)算機(jī)、數(shù)字助手、臺(tái)式計(jì)算機(jī)、服務(wù)器和/或其它能夠執(zhí)行這里所描述的功能的計(jì)算設(shè)備。如圖1所示,說明性計(jì)算設(shè)備100進(jìn)一步包括I/O子系統(tǒng)110、存儲(chǔ)器112、數(shù)據(jù)存儲(chǔ)器114和一個(gè)或多個(gè)附加外圍設(shè)備116。在一些實(shí)施例中,幾個(gè)前述元件可能被并入在計(jì)算設(shè)備100的主板上,同時(shí)其它元件可以通過例如外圍接口與主板通信的耦合。進(jìn)一步地,應(yīng)該理解的是,計(jì)算設(shè)備100可以包括其它組件、子組件和通常在多核心計(jì)算設(shè)備或系統(tǒng)中出現(xiàn)的設(shè)備,為了使描述清楚這些設(shè)備未在圖1中示出。
[0020]計(jì)算設(shè)備100的I/O子系統(tǒng)110可以體現(xiàn)為電路和/或組件以便于處理器102和/或計(jì)算設(shè)備100的其它組件的輸入/輸出操作。在一些實(shí)施例中,I/O子系統(tǒng)110可以包含例如存儲(chǔ)器控制器集線器(MCH或者“北橋”)、輸入/輸出控制器集線器(ICH或者“南橋”)以及固件設(shè)備。在這樣的實(shí)施例中,I/O子系統(tǒng)110的固件設(shè)備可以體現(xiàn)為例如存儲(chǔ)器設(shè)備以用于存儲(chǔ)基本輸入/輸出系統(tǒng)(B1S)數(shù)據(jù)和/或指令和/或其它信息(例如,計(jì)算設(shè)備100的引導(dǎo)期間使用的B1S驅(qū)動(dòng)器)。然而,在其它實(shí)施例中,可以使用具有其它的配置的I/o子系統(tǒng)。例如,在一些實(shí)施例中,I/O子系統(tǒng)110可以體現(xiàn)為平臺(tái)控制器集線器(PCH)。在這樣的實(shí)施例中,存儲(chǔ)器控制器集線器(MCH)可以被并入處理器102或者以其它方式與處理器102關(guān)聯(lián),并且處理器102可以與存儲(chǔ)器112直接通信(如圖1中虛線所示)。另外,在其它實(shí)施例中,I/O子系統(tǒng)110可以形成芯片上系統(tǒng)(SoC)的一部分,并且和處理器102以及計(jì)算設(shè)備100的其它組件一起并入在單個(gè)集成電路芯片上。
[0021]處理器102通過多個(gè)信號(hào)路徑通信耦合到I/O子系統(tǒng)110。這些信號(hào)路徑(和其它圖1所示的信號(hào)路徑)可以體現(xiàn)為任何類型的能夠易于在計(jì)算設(shè)備100的組件之間通信的信號(hào)路徑。例如,信號(hào)路徑可以體現(xiàn)為例如任何數(shù)量的點(diǎn)對(duì)點(diǎn)鏈路、線路、纜線、光導(dǎo)、印刷電路板跡線、通路、總線、插入設(shè)備和/或類似的。
[0022]計(jì)算設(shè)備100的存儲(chǔ)器112可以體現(xiàn)為或否則包括一個(gè)或多個(gè)存儲(chǔ)器設(shè)備或數(shù)據(jù)存儲(chǔ)位置,包括例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器設(shè)備(DRAM)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器設(shè)備(SDRAM)、雙數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器設(shè)備(DDRSDRAM)、屏蔽只讀存儲(chǔ)器(ROM)設(shè)備、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)設(shè)備、閃存設(shè)備和/或其它易失性和/或非易失性存儲(chǔ)器設(shè)備。存儲(chǔ)器112通過大量信號(hào)路徑通信耦合到I/O子系統(tǒng)110。盡管在圖1中僅示出單個(gè)存儲(chǔ)器設(shè)備112,但在其它實(shí)施例中計(jì)算設(shè)備100可以包括附加存儲(chǔ)器設(shè)備。各種數(shù)據(jù)和軟件可以被存儲(chǔ)在存儲(chǔ)器112中。例如,形成由處理器102來執(zhí)行的軟件堆棧的一個(gè)或多個(gè)操作系統(tǒng)、應(yīng)用、程序、庫和驅(qū)動(dòng)器在執(zhí)行期間可以駐留在存儲(chǔ)器112中。
[0023]數(shù)據(jù)存儲(chǔ)114可以體現(xiàn)為任何類型的設(shè)備或者多個(gè)設(shè)備,其配置成用于短期或者長期的數(shù)據(jù)存儲(chǔ),比如例如存儲(chǔ)器設(shè)備和電路、存儲(chǔ)卡、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器或其它數(shù)據(jù)存儲(chǔ)設(shè)備。例如,在計(jì)算設(shè)備100上執(zhí)行的操作系統(tǒng)和各種軟件應(yīng)用可以被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)114中。另外,由這些軟件應(yīng)用所產(chǎn)生的數(shù)據(jù)可以被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)114上用于之后的取回并用于如軟件應(yīng)用所需要的用途。
[0024]計(jì)算設(shè)備100的外圍設(shè)備116可以包括任何數(shù)量的附加輸入/輸出設(shè)備、接口設(shè)備和/或其它外圍設(shè)備。例如,夕卜圍設(shè)備116可以包括顯不器、鍵盤、鼠標(biāo)、揚(yáng)聲器和/或其它外圍設(shè)備。外圍設(shè)備116通過多個(gè)信號(hào)路徑與I/O子系統(tǒng)110通信耦合由此允許I/O子系統(tǒng)110和/或處理器102接收來自外圍設(shè)備116的輸入以及發(fā)送輸出給外圍設(shè)備116。
[0025]現(xiàn)在參考圖2,在使用中,計(jì)算設(shè)備100建立了軟件環(huán)境200。軟件環(huán)境200包括一個(gè)或多個(gè)軟件應(yīng)用220,其在計(jì)算設(shè)備100的操作系統(tǒng)222上執(zhí)行。軟件應(yīng)用220可以體現(xiàn)為任何類型的能夠如下所述利用備用組204的處理器核心104的軟件應(yīng)用。例如,在一個(gè)實(shí)施例中,軟件應(yīng)用200包含計(jì)算密集、多線程應(yīng)用。
[0026]軟件環(huán)境200也包括固件224,比如基礎(chǔ)輸入/輸出系統(tǒng)(B1S)固件,其控制應(yīng)用220和操作系統(tǒng)222對(duì)處理器核心104的訪問。為了這樣做,如上所述,固件224建立主處理器核心描述表212,其說明性地體現(xiàn)為多改進(jìn)式編程中斷控制器(APIC)描述表(MADT)。當(dāng)然,其它類型的硬件描述表、列表或數(shù)據(jù)集可以被使用在其它實(shí)施例中。主處理器核心描述表212識(shí)別主組202的每一個(gè)沒有分配的處理器核心104。然而,備用組204的被分配的處理器核心104沒有列在主處理器核心描述表212中。在初始化期間,操作系統(tǒng)222訪問主處理器核心描述212以便識(shí)別那些可用于操作系統(tǒng)222的處理器核心104。因?yàn)閭溆媒M204的被分配的處理器核心104沒有在主處理器核心描述表212中列出,備用組204的被分配的處理器核心104從操作系統(tǒng)222 “摘要”出,以及如此操作系統(tǒng)222在普通操作期間不直接使用備用組204的處理器核心104。
[0027]固件224也建立了備用處理器核心描述表214,其說明性的體現(xiàn)為虛擬消息通過接口(VMPI)表。再次,其它類型的硬件描述表、列表或數(shù)據(jù)集可以被用在其它實(shí)施例中。備用處理器核心描述表214識(shí)別處理器核心104的備用組204的分配的處理器核心104中的每一個(gè)。在應(yīng)用220的執(zhí)行期間,備用處理器核心描述表214的處理器核心104被分配到所需的軟件應(yīng)用220 (或軟件應(yīng)用220的單個(gè)任務(wù)/線程)。
[0028]為了易于與處理器核心104的交互,固件224也在操作系統(tǒng)222和主組202的處理器核心104之間建立改進(jìn)式配置和功率接口(ACPI),并在應(yīng)用220和備用組204的處理器核心104之間建立消息通過接口(MPI)。操作系統(tǒng)222使用ACPI以便與主組202的處理器核心104通信并且應(yīng)用220使用MPI以便與備用組204的處理器核心通信。
[0029]軟件環(huán)境200也包括一個(gè)或多個(gè)處理器微碼226,其可以由處理器102的控制器106執(zhí)行。微碼226管理和控制對(duì)處理器核心104的訪問。例如,如上所述,微碼226保持處理器寄存器108以易于處理器核心104在主組202和備用組204之間的分配。盡管圖2的說明性實(shí)施例中示出和描述為處理器微碼226,但應(yīng)該理解的是在其它實(shí)施例中B1SSMM或者其它嵌入的操作編碼可以被用于管理和控制對(duì)處理器核心104的訪問。
[0030]在圖2所述的實(shí)施例中,處理器寄存器108包括大量的標(biāo)記、位或者其它指示符,其可用于指示處理器核心104的狀態(tài)并控制由其產(chǎn)生的錯(cuò)誤處理。例如,處理器寄存器108包括備用核心標(biāo)記230,其可以由微碼226用于(例如,“設(shè)置為”)指示相應(yīng)的處理器核心104已經(jīng)被分配給備用組204。處理器寄存器108還包括故障核心標(biāo)記232,其可以通過微碼226用于指示相應(yīng)處理器核心104已經(jīng)故障或者正故障。另外,處理器寄存器108包括虛擬消息通過接口(VMPI)中斷標(biāo)記234,其可以由微碼226用于指示由相應(yīng)處理器核心104所引起的任何中斷應(yīng)該只被廣播到備用組204的處理器核心104或者以其它方式僅可由備用組204的處理器核心104訪問。
[0031]如下更詳細(xì)描述的那樣,一旦處理器核心錯(cuò)誤在計(jì)算設(shè)備100的操作期間發(fā)生,固件224和/或微碼226就可以執(zhí)行某些動(dòng)作以易于計(jì)算設(shè)備100從硬件錯(cuò)誤中恢復(fù)。例如,如果處理器核心錯(cuò)誤由備用組204的處理器核心104引起的,則由其產(chǎn)生的硬件錯(cuò)誤僅廣播到備用組204的那些處理器核心104以及由此是可恢復(fù)的。為了這樣做,固件224指令應(yīng)用220重啟,這使得備用組204的新處理器核心104被分配到應(yīng)用220。備選地,如果處理器核心錯(cuò)誤是由主組202的處理器核心104引起的,則固件224/微碼226可以執(zhí)行處理器核心交換(如果錯(cuò)誤是可恢復(fù)的)來用備用組204的處理器核心104替換主組202的已故障的/故障的處理器核心104。這樣,處理器核心錯(cuò)誤可以被處理而不中止或者重啟操作系統(tǒng)222的執(zhí)行。
[0032]現(xiàn)在參考圖3,在使用中,計(jì)算設(shè)備100可以執(zhí)行方法300以便將處理器核心104分配為主組202和備用組204。方法300開始于塊302,其中計(jì)算設(shè)備100執(zhí)行預(yù)引導(dǎo)初始化過程(例如,存儲(chǔ)器112可以被初始化)。在塊304中,微碼226配置處理器寄存器108用于處理器核心104的分配。為了這樣做,如上所述,固件224或微碼226可以配置處理器寄存器108以用來與備用核心標(biāo)記230、故障核心標(biāo)記232和VMPI中斷標(biāo)記234—起使用。微碼226也可以設(shè)置備用核心標(biāo)記230和VMPI中斷標(biāo)記234以用于分配給備用組204的那些處理器核心104。
[0033]在塊306中,固件224建立主處理器核心描述表212。如上所述,主處理器核心描述表212識(shí)別主組202的每一個(gè)沒有分配的處理器核心104。類似地,在塊308中,固件224建立備用處理器核心描述表214。再次,如上所述,備用處理器核心描述表214識(shí)別處理器核心104的備用組204主組202的每一個(gè)分配的處理器核心104。另外,在塊310中,固件224建立錯(cuò)誤處理器用于主處理器核心描述表212和備用處理器核心描述表214的處理器核心104 (例如,參見圖5的方法500)。
[0034]現(xiàn)在參考圖4,在計(jì)算設(shè)備100已執(zhí)行方法300的初始化以及處理器核心分配過程之后,計(jì)算設(shè)備100可以加載操作系統(tǒng)222并且執(zhí)行一個(gè)或多個(gè)軟件應(yīng)用220。為了這樣做,計(jì)算設(shè)備100可以執(zhí)行方法400以用于在計(jì)算設(shè)備100上執(zhí)行軟件應(yīng)用。方法400開始于塊402,其中操作系統(tǒng)122被加載到計(jì)算設(shè)備100上。在塊404中,計(jì)算設(shè)備100確定是否執(zhí)行軟件應(yīng)用220。如果是,則方法400前進(jìn)到塊406,其中計(jì)算設(shè)備100確定軟件應(yīng)用220是否要使用備用組204的分配的處理器核心104。如果否,則在塊408中,使用來自主組202的處理器核心104來執(zhí)行軟件應(yīng)用220。然而,如果軟件應(yīng)用220要使用備用組204的分配的處理器核心104,則方法400前進(jìn)到塊410,其中備用組204的一個(gè)或多個(gè)處理器核心被分配給軟件應(yīng)用220。計(jì)算設(shè)備100可以使用任何合適的方法或者算法(例如,負(fù)載平衡算法)來選擇分配給軟件應(yīng)用220的備用組204的處理器核心104。隨后,在塊412中,使用備用組204的分配的處理器核心104來執(zhí)行軟件應(yīng)用。應(yīng)該理解的是,在一些實(shí)施例中,在計(jì)算設(shè)備100上執(zhí)行的每一個(gè)軟件應(yīng)用220被分配有來自備用組204的處理器核心104。
[0035]現(xiàn)在參考圖5,在執(zhí)行軟件應(yīng)用220期間,一個(gè)或多個(gè)硬件錯(cuò)誤可能會(huì)發(fā)生。這樣,計(jì)算設(shè)備100可以執(zhí)行方法500來管理硬件錯(cuò)誤。方法500開始于塊502,其中計(jì)算設(shè)備100確定是否已發(fā)生硬件錯(cuò)誤。在一些實(shí)施例中,響應(yīng)于硬件錯(cuò)誤產(chǎn)生系統(tǒng)管理中斷(SMI)。如果硬件錯(cuò)誤沒有發(fā)生,方法500循環(huán)回到塊502以便繼續(xù)監(jiān)視硬件錯(cuò)誤。然而,如果硬件錯(cuò)誤已經(jīng)發(fā)生,則方法500前進(jìn)到塊504,其中計(jì)算設(shè)備100確定硬件錯(cuò)誤是否是處理器核心錯(cuò)誤。如果計(jì)算設(shè)備100確定硬件錯(cuò)誤不是處理器核心錯(cuò)誤(例如,硬件錯(cuò)誤可能是存儲(chǔ)器錯(cuò)誤),則方法500前進(jìn)到塊506,其中硬件錯(cuò)誤被如常處理。
[0036]然而,如果硬件錯(cuò)誤被確定為處理器核心錯(cuò)誤,則方法500前進(jìn)到塊508,其中計(jì)算設(shè)備100的固件224確定處理器核心錯(cuò)誤是否由備用組204的處理器核心104引起。如果是,則處理器核心錯(cuò)誤是可恢復(fù)的,并且方法500前進(jìn)到塊510,其中固件224通知軟件應(yīng)用220重啟,并且在塊514中固件返回控制到操作系統(tǒng)222。如上所述,當(dāng)應(yīng)用220被重啟,備用組204的一個(gè)或多個(gè)新的處理器核心104將被分配給應(yīng)用220 (即,不太可能在備用組204的相同的處理器核心104上執(zhí)行該應(yīng)用)。另外,如上所述,如果處理器核心錯(cuò)誤是由備用組204的處理器核心104所引起的,則作為處理器核心錯(cuò)誤的結(jié)果產(chǎn)生的系統(tǒng)管理中斷(SMI)僅廣播到備用組的那些處理器核心104,而不廣播到主組202的處理器核心104。
[0037]返回參考?jí)K508,如果固件224確定處理器核心錯(cuò)誤是由主組202的處理器核心104所引起的,則方法500前進(jìn)到塊516,其中固件224確定處理器核心錯(cuò)誤是否是可恢復(fù)的錯(cuò)誤。如果否,那么方法500則運(yùn)行塊518,其中控制被返回到操作系統(tǒng)222用于附加錯(cuò)誤處理(如果是可用的)。然而,在塊516中,如果固件224確定處理器核心錯(cuò)誤是可恢復(fù)的錯(cuò)誤,則方法500前進(jìn)到塊520,其中固件224更新與負(fù)責(zé)處理器核心錯(cuò)誤的處理器核心104關(guān)聯(lián)的錯(cuò)誤跟蹤計(jì)數(shù)器。錯(cuò)誤跟蹤計(jì)數(shù)器可以體現(xiàn)為任何類型的軟件計(jì)數(shù)器或寄存器以用于跟蹤由相應(yīng)處理器核心104引起的處理器核心錯(cuò)誤發(fā)生的次數(shù)。在塊522,固件224確定相關(guān)聯(lián)的處理器核心104的錯(cuò)誤跟蹤計(jì)數(shù)器是否已達(dá)到參考閾值(例如,相應(yīng)的處理器核心104已經(jīng)產(chǎn)生的處理器核心錯(cuò)誤的數(shù)量等于或者大于參考閾值)。如果否,方則法500前進(jìn)到塊514,其中固件224返回控制給操作系統(tǒng)222以便允許操作系統(tǒng)222重新嘗試執(zhí)行最近執(zhí)行的指令或程序。
[0038]然而,如果相應(yīng)處理器核心104的錯(cuò)誤閾值已經(jīng)達(dá)到,則方法500前進(jìn)到塊524,其中固件224/微碼226執(zhí)行處理器核心交換。也就是,已故障的或故障的處理器核心104(即,引起處理器核心錯(cuò)誤的處理器核心104)被來自備用組204的處理器核心104替換。為了這樣做,在塊526中固件224更新主處理器核心描述表212以增加來自備用組204的替換處理器核心104。另外,固件224更新備用處理器核心描述表214來移除替換處理器核心104。固件224可以使用任何合適的方法或者算法以便選擇備用組204的哪些處理器核心要用作替換核心。例如,在一個(gè)實(shí)施例中,固件224基于主組202的已故障或故障處理器核心104的裸晶位置選擇備用組204的處理器核心來用作替換核心。
[0039]在塊526中,通過重設(shè)備用核心標(biāo)記230來指示替換處理器核心104不再分配給備用組204,微碼226也更新處理器寄存器108。另外,微碼226也可以設(shè)置已故障或者故障處理器核心104的故障核心標(biāo)記232。進(jìn)一步的,在塊524中,固件224和/或微碼226嘗試移動(dòng)故障處理器核心104的狀態(tài)信息和上下文(例如,寄存器設(shè)置等)到替換處理器核心104中。然而,在一些情況下,故障處理器核心104的完整上下文不可以被獲得。在塊528中,固件224清除與替換處理器核心104相關(guān)聯(lián)的錯(cuò)誤計(jì)數(shù)器并且方法500循環(huán)返回到塊502以監(jiān)視另外的硬件錯(cuò)誤。
[0040]雖然本公開已經(jīng)在附圖和前述描述中被說明并描述,但這樣的說明和描述的性質(zhì)應(yīng)認(rèn)為是示例性的而不是限制,應(yīng)該理解的是,僅示出并且描述說明性實(shí)施例,希望保護(hù)與本公開內(nèi)容和弓I述的權(quán)利要求書相一致的所有的變化和修改。
【權(quán)利要求】
1.一種方法,包括: 將計(jì)算設(shè)備的多個(gè)處理器核心的至少一個(gè)處理器核心分配給處理器核心備用組; 在所述計(jì)算設(shè)備上僅使用所述多個(gè)處理器核心中沒有分配的處理器核心來執(zhí)行操作系統(tǒng); 在所述計(jì)算設(shè)備上使用處理器核心的所述備用組執(zhí)行軟件應(yīng)用; 檢測(cè)由所述多個(gè)處理器核心中的處理器核心導(dǎo)致的處理器核心錯(cuò)誤;以及 響應(yīng)于已由沒有分配的處理器核心引起所述處理器核心錯(cuò)誤,在所述沒有分配的處理器核心和處理器核心的所述備用組之間執(zhí)行處理器核心交換。
2.權(quán)利要求1所述的方法,其中,分配至少一個(gè)處理器核心包括至少分配所述多個(gè)處理器核心的三分之一到處理器核心的所述備用組。
3.權(quán)利要求1所述的方法,其中,分配至少一個(gè)處理器核心包括配置所述計(jì)算設(shè)備的處理器寄存器用于處理器核心的所述備用組的使用。
4.權(quán)利要求3所述的方法,其中,配置處理器寄存器包括為所述多個(gè)處理器核心的每一個(gè)處理器核心建立寄存器標(biāo)記,所述寄存器標(biāo)記可用來指示相關(guān)聯(lián)的處理器核心是否已被分配到處理器核心的所述備用組。
5.權(quán)利要求3所述的方法,其中配置處理器寄存器包括為所述多個(gè)處理器核心的每一個(gè)處理器核心建立寄存器標(biāo)記,所述寄存器標(biāo)記可用來指示相關(guān)聯(lián)的處理器核心是否已經(jīng)故障。
6.權(quán)利要求3所述的方法,其中配置處理器寄存器包括為所述多個(gè)處理器核心的每一個(gè)處理器核心建立中斷寄存器標(biāo)記,所述中斷寄存器標(biāo)記可用于引起任何來自所述相關(guān)聯(lián)處理器核心的硬件中斷發(fā)源只被廣播到處理器核心的所述備用組中的其它處理器核心而不被廣播到任何沒有分配的處理器核心。
7.權(quán)利要求1所述的方法,進(jìn)一步包括為所述沒有分配的核心建立主處理器核心描述表,以及為處理器核心的所述備用組建立備用處理器核心描述表,所述主處理器核心描述表只包括所述沒有分配的核心。
8.權(quán)利要求7所述的方法,進(jìn)一步的,其中執(zhí)行所述操作系統(tǒng)包括使所述操作系統(tǒng)僅受到所述主處理器核心描述表中的所列所述處理器核心的影響。
9.權(quán)利要求7所述的方法,進(jìn)一步的,其中執(zhí)行所述軟件應(yīng)用包括在所述軟件應(yīng)用和所述備用處理器核心描述表中所列的至少一個(gè)所述處理器核心之間建立消息通過接口。
10.權(quán)利要求1所述的方法,進(jìn)一步包括: 響應(yīng)于所述處理器核心錯(cuò)誤產(chǎn)生系統(tǒng)管理中斷;以及 響應(yīng)于由處理器核心的所述備用組的分配的處理器核心引起的所述處理器核心錯(cuò)誤,將所述系統(tǒng)管理中斷僅廣播到處理器核心的所述備用組的所述分配的處理器核心。
11.權(quán)利要求1所述的方法,進(jìn)一步包括確定處理器核心錯(cuò)誤是否是由沒有分配的處理器核心引起的。
12.權(quán)利要求11所述的方法,進(jìn)一步包括響應(yīng)于確定由沒有分配的處理器核心引起所述處理器核心錯(cuò)誤,指令所述軟件應(yīng)用重啟。
13.權(quán)利要求12所述的方法,進(jìn)一步包括響應(yīng)于所述軟件應(yīng)用重啟將處理器核心的所述備用組中的新處理器核心分配給所述軟件應(yīng)用。
14.權(quán)利要求11所述的方法,進(jìn)一步包括: 響應(yīng)于確定所述處理器核心錯(cuò)誤是由沒有分配的處理器核心引起的,確定所述處理器核心錯(cuò)誤是否是可恢復(fù)的;以及 響應(yīng)于確定所述處理器核心錯(cuò)誤是不可恢復(fù)的,將控制從所述計(jì)算系統(tǒng)的固件返回到所述操作系統(tǒng)用于所述處理器核心錯(cuò)誤的處理。
15.權(quán)利要求11所述的方法,進(jìn)一步包括: 響應(yīng)于確定所述處理器核心錯(cuò)誤是由沒有分配的處理器核心引起的,確定所述處理器核心錯(cuò)誤是否是可恢復(fù)的;以及 遞增與引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心相關(guān)聯(lián)的錯(cuò)誤計(jì)數(shù)器。
16.權(quán)利要求15所述的方法,進(jìn)一步包括: 比較所述錯(cuò)誤計(jì)數(shù)器與參考閾值;以及 響應(yīng)于所述錯(cuò)誤計(jì)數(shù)器小于所述參考閾值,將控制從所述計(jì)算系統(tǒng)的固件返回到所述操作系統(tǒng),以允許所述操作系統(tǒng)來重新嘗試執(zhí)行在所述處理器核心錯(cuò)誤的產(chǎn)生之前的最后的軟件指令。
17.權(quán)利要求15所述的方法,進(jìn)一步包括: 比較所述錯(cuò)誤計(jì)數(shù)器與參考閾值;以及 響應(yīng)于所述錯(cuò)誤計(jì)數(shù)器等于所述參考閾值執(zhí)行所述處理器核心交換。
18.權(quán)利要求1所述的方法,其中執(zhí)行處理器核心交換包括用來自處理器核心的所述備用組的替換處理器核心來代替引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心。
19.權(quán)利要求18所述的方法,其中代替所述沒有分配的處理器核心包括用所述替換處理器核心代替所述沒有分配的處理器而不中斷所述操作系統(tǒng)的執(zhí)行。
20.權(quán)利要求18所述的方法,其中代替所述沒有分配的處理器核心包括將來自引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心的上下文移動(dòng)到所述替換處理器核心。
21.權(quán)利要求20所述的方法,其中移動(dòng)來自引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心的所述上下文給所述替換處理器核心包括:將與所述替換處理器核心相關(guān)聯(lián)的虛擬核心識(shí)別數(shù)設(shè)置為與引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心相關(guān)聯(lián)的虛擬核心識(shí)別數(shù)。
22.權(quán)利要求18所述的方法,其中代替所述沒有分配的處理器核心包括更新處理器核心寄存器以便指示所述沒有分配的處理器核心已經(jīng)故障并且所述替換處理器核心不再分配給處理器核心的所述備用組。
23.權(quán)利要求18所述的方法,其中代替所述沒有分配的處理器核心包括更新主硬件描述表以(i)移除引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心以及(ii)增加所述替換處理器核心,在所述主硬件描述表中,每一個(gè)所述沒有分配的處理器核心被列出。
24.權(quán)利要求23所述的方法,其中代替沒有分配的處理器核心包括更新備用硬件描述表以移除所述替換處理器,在所述備用硬件描述表中,處理器核心的所述備用組中的每一個(gè)處理器核心被列出。
25.一種計(jì)算設(shè)備,包括: 多個(gè)處理器核心; 存儲(chǔ)器;固件邏輯,用來(i)將所述多個(gè)處理器核心中的至少一個(gè)分配給處理器核心的備用組,(ii)在所述存儲(chǔ)器中建立備用處理器核心硬件描述表,其包括每一個(gè)分配的處理器核心,以及(iii)在所述存儲(chǔ)器中建立主處理器硬件描述表,其包括每一個(gè)沒有分配的處理器核心;以及 處理器控制邏輯,控制處理器寄存器來指所述示多個(gè)處理器核心中的每一個(gè)處理器核心是分配的處理器核心還是沒有分配的處理器核心, 其中,響應(yīng)于已由沒有分配的處理器核心引起處理器核心錯(cuò)誤,所述固件邏輯和所述處理器控制邏輯中的至少一個(gè)用來在所述沒有分配的處理器核心與所述分配的處理器核心之間執(zhí)行處理器核心交換。
26.權(quán)利要求25所述的計(jì)算設(shè)備,其中所述固件邏輯用于至少分配所述多個(gè)處理器核心的三分之一到處理器核心的所述備用組。
27.權(quán)利要求25所述的計(jì)算設(shè)備,其中處理器寄存器包括寄存器標(biāo)記,其可用于指示所述相關(guān)聯(lián)的處理器核心是否已故障。
28.權(quán)利要求25所述的計(jì)算設(shè)備,其中所述處理器寄存器包括中斷寄存器標(biāo)記,其可用于引起任何來自所述相關(guān)聯(lián)處理器核心的硬件中斷發(fā)源只被廣播到處理器核心的所述備用組中的其它處理器核心而不被廣播到任何沒有分配的處理器核心。
29.權(quán)利要求25所述的計(jì)算設(shè)備,其中僅所述主處理器核心硬件描述表中所列的所述分配的處理器核心可以由在計(jì)算設(shè)備上執(zhí)行的操作系統(tǒng)使用。
30.權(quán)利要求25所述的計(jì)算設(shè)備,其中所述固件邏輯用于在所述計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用與所述備用處理器核心描述表中所列的至少一個(gè)分配的處理器核心之間建立消息通過接口。
31.權(quán)利要求25所述的計(jì)算設(shè)備,其中所述處理器控制邏輯用于響應(yīng)于由處理器核心的所述備用組的分配的處理器核心引起的所述處理器核心錯(cuò)誤,將響應(yīng)于所述處理器核心錯(cuò)誤產(chǎn)生的系統(tǒng)管理中斷僅廣播到處理器核心的所述備用組中的所述分配的處理器核心。
32.權(quán)利要求25所述的計(jì)算設(shè)備,其中所述固件邏輯用于確定處理器核心錯(cuò)誤是否是由沒有分配的處理器核心引起的。
33.權(quán)利要求32所述的計(jì)算設(shè)備,其中所述固件邏輯用于響應(yīng)于確定由沒有分配的處理器核心引起所述處理器核心錯(cuò)誤,指令在所述計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用使用處理器核心的所述備用組來重啟。
34.權(quán)利要求33所述的計(jì)算設(shè)備,其中所述處理器控制邏輯用于響應(yīng)于軟件應(yīng)用的重啟將處理器核心的所述備用組中的新處理器核心分配給所述軟件應(yīng)用。
35.權(quán)利要求32所述的計(jì)算設(shè)備,其中固件邏輯用于: 響應(yīng)于確定所述處理器核心錯(cuò)誤是由沒有分配的處理器核心引起的,確定所述處理器核心錯(cuò)誤是否是可恢復(fù)的;以及 響應(yīng)于確定所述處理器核心錯(cuò)誤是不可恢復(fù)的,將控制返回到所述計(jì)算設(shè)備上執(zhí)行的操作系統(tǒng)用于所述處理器核心錯(cuò)誤的處理。
36.權(quán)利要求32所述的計(jì)算設(shè)備,其中所述固件邏輯用于: 響應(yīng)于確定所述處理器核心錯(cuò)誤是由沒有分配的處理器核心引起的,確定所述處理器核心錯(cuò)誤是否是可恢復(fù)的;以及遞增與引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心相關(guān)聯(lián)的錯(cuò)誤計(jì)數(shù)器。
37.權(quán)利要求36所述的計(jì)算設(shè)備,其中所述固件邏輯用于: 比較所述錯(cuò)誤計(jì)數(shù)器與參考閾值;以及 響應(yīng)于所述錯(cuò)誤計(jì)數(shù)器小于所述參考閾值,返回控制到在所述計(jì)算設(shè)備上執(zhí)行的操作系統(tǒng)以允許所述操作系統(tǒng)來重新嘗試執(zhí)行在所述處理器核心錯(cuò)誤的產(chǎn)生之前的最后的軟件指令。
38.權(quán)利要求36所述的計(jì)算設(shè)備,其中所述固件邏輯用于: 比較所述錯(cuò)誤計(jì)數(shù)器與參考閾值;以及 響應(yīng)于所述錯(cuò)誤計(jì)數(shù)器等于所述參考閾值執(zhí)行所述處理器核心交換。
39.權(quán)利要求1所述的計(jì)算設(shè)備,其中執(zhí)行處理器核心交換包括用來自處理器核心的所述備用組的替換處理器核心代替引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心。
40.權(quán)利要求39所述的計(jì)算設(shè)備,其中代替所述沒有分配的處理器核心包括用所述替換處理器核心代替所述沒有分配的處理器而不中斷所述計(jì)算設(shè)備上的操作系統(tǒng)的執(zhí)行。
41.權(quán)利要求39所述的計(jì)算設(shè)備,其中代替所述沒有分配的處理器核心包括將來自引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心的上下文移動(dòng)到所述替換處理器核心。
42.權(quán)利要求41所述的計(jì)算設(shè)備,其中移動(dòng)來自引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心的所述上下文到所述替換處理器核心包括:將與所述替換處理器核心相關(guān)聯(lián)的虛擬核心識(shí)別數(shù)設(shè)置為與引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心相關(guān)聯(lián)的虛擬核心識(shí)別數(shù)。
43.權(quán)利要求39所述的計(jì)算設(shè)備,其中代替所述沒有分配的處理器核心包括更新處理器核心寄存器以指示所述沒有分配的處理器核心已經(jīng)故障并且所述替換處理器核心不再分配給處理器核心的所述備用組。
44.權(quán)利要求39所述的計(jì)算設(shè)備,其中代替所述沒有分配的處理器核心包括所述更新主硬件描述表以(i)移除引起所述處理器核心錯(cuò)誤的所述沒有分配的處理器核心以及(ii)增加所述替換處理器核心。
45.權(quán)利要求44所述的計(jì)算設(shè)備,其中代替所述沒有分配的處理器核心包括更新所述備用硬件描述表以移除所述替換處理器。
46.一種或多種機(jī)器可讀介質(zhì),包括多個(gè)存儲(chǔ)其上的指令,所述指令響應(yīng)執(zhí)行被執(zhí)行導(dǎo)致計(jì)算設(shè)備執(zhí)行權(quán)利要求1-24中任一項(xiàng)所述的方法。
【文檔編號(hào)】G06F11/22GK104137072SQ201180076125
【公開日】2014年11月5日 申請(qǐng)日期:2011年12月30日 優(yōu)先權(quán)日:2011年12月30日
【發(fā)明者】R·斯萬森, M·布盧蘇, R·B·巴恩森, N·蘭加納桑, D·隆巴德 申請(qǐng)人:英特爾公司