提供多重系統(tǒng)鏡像的處理器的制造方法
【專利摘要】示例處理器包括多個處理核組件、一個或多個存儲器接口組件、和管理組件,其中一個或多個存儲器接口組件中的每一個被多個處理核組件共享,并且其中管理組件被配置成分配多個處理核組件中的每一個給多個系統(tǒng)鏡像中的一個。
【專利說明】提供多重系統(tǒng)鏡像的處理器
【背景技術(shù)】
[0001]當(dāng)單核處理器在極大程度上達(dá)到它們的復(fù)雜度和速度的物理極限時,多核處理器被引入以提升處理器技術(shù)空間。不像在單個集成電路(IC)中通常包括單個處理器核的單核處理器,多核處理器在單個IC中通常包括兩個或更多個處理器核。例如,雙核處理器在單個IC中包括兩個處理器核,并且四核處理器在單個IC中包括四個處理器核。
[0002]與IC中的處理器核的數(shù)量無關(guān),多核體系結(jié)構(gòu)的益處典型地是相同的:增強的性能和/或多任務(wù)的有效同時處理(即并行處理)。諸如臺式電腦、膝上電腦和服務(wù)器的消費者設(shè)備或企業(yè)設(shè)備利用這些益處來改進(jìn)當(dāng)運行諸如防病毒掃描、翻錄/刻錄介質(zhì)、文件檢索、服務(wù)多個外部請求等處理器密集處理時的響應(yīng)時間。
【專利附圖】
【附圖說明】
[0003]示例實施例被描述在隨后的詳細(xì)說明中并且參考附圖,其中:
[0004]圖1描繪了根據(jù)實施例的處理器;
[0005]圖2描繪了根據(jù)實施例的系統(tǒng);
[0006]圖3描繪了根據(jù)另一個實施例的處理器;
[0007]圖4描繪了根據(jù)又一個實施例的處理器;
[0008]圖5描繪了根據(jù)實施例的處理流程圖;以及
[0009]圖6描繪了根據(jù)另一個實施例的處理流程圖。
【具體實施方式】
[0010]本公開的各個實施例針對多核處理器體系結(jié)構(gòu)。更具體地說,各個實施例針對多核處理器體系結(jié)構(gòu),其中每個處理器核被分配給多個系統(tǒng)鏡像中的一個,并且諸如存儲器接口的處理器組件和輸入/輸出組件由多個系統(tǒng)鏡像共享。如下面更詳細(xì)的描述,這個新穎且先前無法預(yù)料的方法提供了單個處理器插槽的更高效率且有效的利用。
[0011]作為【背景技術(shù)】,已認(rèn)識到用電流技術(shù)可達(dá)到的處理器密度超過多個應(yīng)用要求的單個系統(tǒng)鏡像。對于這些應(yīng)用,更多的核,以及在某些情況下專用處理器單元,不會添加成比例于它們增加的成本的價值。相反地,與多核處理器中的每個核關(guān)聯(lián)的處理能力如果被利用則通常是根本不能充分利用。盡管諸如“虛擬化”和“物理化”的解決方案已被引入以解決這些低效率問題,但是這樣的解決方案具有它們自身各自的缺點。而且,不能直接地解決如何高效地且有效地利用多核處理器中的每個處理器核的問題。例如,虛擬軟件(例如虛擬機)通常被設(shè)計成共享在管理程序下運行的多個系統(tǒng)鏡像之中的服務(wù)器中的多個高性能處理器。該軟件是有益的因為其使得信息技術(shù)(IT)基礎(chǔ)結(jié)構(gòu)更靈活和更便于管理。而且,通過合并較小數(shù)量的高利用率的服務(wù)器,減少了硬件和能源成本。然而,虛擬軟件通常關(guān)聯(lián)于高許可費,并且關(guān)聯(lián)的管理程序可被認(rèn)為是大的缺陷區(qū)域或故障的單個點。此外,虛擬軟件強加在主機系統(tǒng)上的性能開銷。因此,當(dāng)存在與虛擬解決方案關(guān)聯(lián)的各種益處時,也存在著與該解決方案關(guān)聯(lián)的各種缺點。
[0012]相比之下,物理化被定位在從虛擬化開始的頻譜的另一端。物理化利用包括在密集體系結(jié)構(gòu)中的低性能處理器的多個輕量級服務(wù)器??傮w目標(biāo)是通過對每個“微服務(wù)器(micrsoserver) ”節(jié)點挑選正確大小的處理器來實現(xiàn)最大價值、性能和/或每瓦特的性能。該方法的益處在于通過消除對昂貴的虛擬軟件的需求并進(jìn)一步通過關(guān)注系統(tǒng)封裝效率來減少運行成本。然而,缺點是在每個微服務(wù)器節(jié)點中利用重復(fù)組件。例如,輸入/輸出組件、存儲器、和/或存儲器接口被冗余地包含在每個微服務(wù)器節(jié)點中。而且,“一個服務(wù)器,一個應(yīng)用”物理化模型通常是固定的并且難于管理。
[0013]本申請的各個實施例通過利用允許多個系統(tǒng)鏡像共享單個處理器插槽的硬件和/或固件機構(gòu)解決至少上述問題。換句話說,各個實施例配置處理器插槽來運行多個較小的系統(tǒng)鏡像而不是一個大的系統(tǒng)鏡像。盡管每個較小的系統(tǒng)鏡像可認(rèn)為其擁有整個處理器插槽,事實上,每個系統(tǒng)鏡像可被運行在處理器插槽的一部分上并且與其它系統(tǒng)鏡像共享處理器組件。
[0014]本發(fā)明的體系結(jié)構(gòu)通過分配處理器核給不同的系統(tǒng)鏡像,并且通過由不同的系統(tǒng)鏡像共享諸如輸入/輸出和存儲器的高成本且通常未充分利用的組件來實現(xiàn)。結(jié)果,可以減少每個系統(tǒng)鏡像的成本,可以高效率地利用處理器核和關(guān)聯(lián)組件,并且可以減輕風(fēng)險。例如,當(dāng)與虛擬化解決方案相比時,可以消除管理程序許可費和大故障域。當(dāng)與物理化相比時,可以消除不可改變的規(guī)定和冗余的組件。因此,該體系結(jié)構(gòu)解決與虛擬化和物理化關(guān)聯(lián)的缺點,同時提升處理器效率到先前預(yù)料不到的水平。下面將參照各個示例實施例和各個附圖對本發(fā)明的體系結(jié)構(gòu)進(jìn)行進(jìn)一步描述。
[0015]在本公開的一個示例實施例中,提供一種處理器。處理器包括多個處理核組件、一個或多個存儲器接口組件、以及一個或多個輸入/輸出組件。多個處理核組件中的每一個被分配給多個獨立且孤立的系統(tǒng)鏡像中的一個。一個或多個存儲器接口組件中的每一個由多個獨立且孤立的系統(tǒng)鏡像共享。并且一個或多個輸入/輸出組件被分配給多個獨立且孤立的系統(tǒng)鏡像。
[0016]在本公開的另一個示例實施例中,提供一種系統(tǒng)。該系統(tǒng)包括處理器和一個或多個存儲器組件。處理器包括多個處理核組件、一個或多個存儲器接口組件、以及一個或多個輸入/輸出組件。多個處理核組件中的每一個被分配給多個獨立且孤立的系統(tǒng)鏡像中的一個。一個或多個存儲器接口組件中的每一個由多個獨立且孤立的系統(tǒng)鏡像共享。一個或多個輸入/輸出組件被分配給多個獨立且孤立的系統(tǒng)鏡像。一個或多個存儲器組件中的每一個通信地聯(lián)接到一個或多個存儲器接口組件中的一個。并且一個或多個存儲器組件的存儲器容量的一部分被分配給多個獨立且孤立的系統(tǒng)鏡像中的每一個。
[0017]在本公開的又一個示例實施例中,提供另一種處理器。處理器包括多個處理核組件、每個由多個處理核組件共享的一個或多個存儲器接口組件、以及配置成分配多個處理核組件中的每一個給多個系統(tǒng)鏡像中的一個的管理組件。
[0018]正如本文使用的,“系統(tǒng)鏡像”意欲指的是運行單個操作系統(tǒng)(OS)或管理程序?qū)嵗膯蝹€計算節(jié)點,并且包括至少一個處理器核、分配的存儲器以及分配的輸入/輸出組件。
[0019]圖1描繪了根據(jù)實施例的處理器100。處理器100包括多個處理器核(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190),每一個將在下面詳細(xì)描述。很顯然,在圖1中描繪的處理器100表示概括的說明并且在沒有脫離處理器100的范圍的情況下其它組件可被添加或現(xiàn)存的組件可被移除、修改或重新排列。
[0020]每個處理器核(110-140)是被配置成讀取和執(zhí)行程序指令的處理設(shè)備。每個核(110-140)可包括,例如,控制單元(CU)和算術(shù)邏輯單元(ALU)。該CU可被配置成定位、分析和/或執(zhí)行程序指令。該ALU可被配置成進(jìn)行計算、比較、運算和/或邏輯操作。總體上,每個核可進(jìn)行諸如提取、解碼、執(zhí)行和/或回寫。盡管僅四個處理器核示出在圖1中,應(yīng)當(dāng)理解根據(jù)各個實施例或多或少的處理器核可被包含在處理器100中。而且,應(yīng)當(dāng)理解處理器核(110-140)不必須是同樣的,并且可以根據(jù)處理能力、大小、速度和/或其它參數(shù)而變化。例如,兩個處理器核可包括比在相同的處理器100上的兩個其它處理器核更大的處理能力。
[0021]每個存儲器接口組件(150-160)被配置成與一個或多個存儲器組件(未示出)接口,并且管理在一個或多個存儲器組件中來去的數(shù)據(jù)流動。例如,每個存儲器接口組件可包含被配置成從一個或多個存儲器組件讀取并且向一個或多個存儲器組件寫入的邏輯。
[0022]每個輸入/輸出組件(170-190)被配置成提供在處理器的其它內(nèi)部組件(例如處理器核)和在板上的處理器的外部的組件(例如視頻卡)中來去的數(shù)據(jù)流動。示例輸入/輸出組件可以是例如根據(jù)外設(shè)部件互連(PCI)、PC1-擴(kuò)展(PC1-extended,PC1-X)和/或PC1-快速(PC1-express, PCIe)配置的。這樣的輸入/輸出組件可以用作母板級互連,用集成外設(shè)(例如安裝處理器的集成電路)和附加外設(shè)(例如擴(kuò)充插件板)二者連接處理器100。類似于上面關(guān)于處理器核描述的,應(yīng)當(dāng)理解,處理器100上的輸入/輸出組件(170-190)不必須是同樣的,并且每個可以例如根據(jù)能力而改變。
[0023]在各個實施例中,多個處理器核組件(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190)可以被集成到單個集成電路模上??商鎿Q地,在各個實施例中,多個處理器核組件(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190)可被集成在單個芯片封裝中的多個集成電路模上。與實施方式無關(guān),多個處理器核組件(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190)可通過一個或多個通信總線通信地聯(lián)接。
[0024]現(xiàn)在轉(zhuǎn)向處理器100的操作,本公開的各個實施例在單個處理器100上配置多個系統(tǒng)鏡像。系統(tǒng)鏡像在一個系統(tǒng)鏡像不受另一個系統(tǒng)鏡像影響、控制和/或依賴于另一個系統(tǒng)鏡像的范圍內(nèi)可以是獨立的。系統(tǒng)鏡像可以在每個系統(tǒng)鏡像可以彼此分離的范圍內(nèi)孤立,使得關(guān)于一個系統(tǒng)鏡像的信息不能由另一個系統(tǒng)鏡像訪問。例如,具有第一公司數(shù)據(jù)的系統(tǒng)鏡像不會受具有第二公司數(shù)據(jù)的系統(tǒng)鏡像影響或被具有第二公司數(shù)據(jù)的系統(tǒng)鏡像訪問,即使二者運行在單個處理器上。
[0025]多個處理器核(110-140)中的每一個可以被分配給不同的獨立且孤立的系統(tǒng)鏡像。可替換地或此外,一組處理器核(110-140)可以被分配給獨立且孤立的系統(tǒng)鏡像。例如,如圖1中所示,第一處理器核110和第二處理器核120可以被分配給系統(tǒng)鏡像#1,第三處理器核130可以被分配給系統(tǒng)鏡像#2,并且第四處理器核可以被分配給系統(tǒng)鏡像#3。
[0026]其它處理器組件可以被類似地分配給一個或多個系統(tǒng)鏡像或由一個或多個系統(tǒng)鏡像共享。例如,如圖1中所示,第一輸入/輸出組件170可以被分配給系統(tǒng)鏡像#1,第二輸入/輸出組件180可以被分配給系統(tǒng)鏡像#2,并且第三輸入/輸出組件190可以被分配給系統(tǒng)鏡像#3。更進(jìn)一步地,第一存儲器接口 150和第二存儲器接口 160可以由每個系統(tǒng)鏡像共享。
[0027]管理邏輯可以被配置成分配處理器核(110-140)、存儲器接口組件(150-160)、和/或輸入/輸出組件(170-190)給各個系統(tǒng)鏡像。在某些實施例中,一個或一組處理器核被指定為“君主”,并且被配置成執(zhí)行管理邏輯以提供該分配。即,一個或一組處理器核可以負(fù)責(zé)給各個系統(tǒng)鏡像分配多個處理器核組件,以及存儲器接口和輸入/輸出組件。此外,該君主可以負(fù)責(zé)例如啟用/禁用處理器核組件,分配共享的存儲器容量給系統(tǒng)鏡像(參照圖2更詳細(xì)地討論),控制每核的復(fù)位功能,和/或跟蹤錯誤和其它有關(guān)事件。在君主核內(nèi)和/或在每個最高級功能框內(nèi)的增強的邏輯可以允許核、存儲器地址范圍、和輸入/輸出設(shè)備之間的隔離。君主核可以將處理器100配置進(jìn)多個、獨立的系統(tǒng)鏡像(例如系統(tǒng)鏡像#1、系統(tǒng)鏡像#2和系統(tǒng)鏡像#3),利用啟用并被分配給系統(tǒng)鏡像的核或核組,以及例如主存儲器(未示出)的所選擇的地址范圍和輸入/輸出組件(170-190)或輸入/輸出根端口的子集。君主核可控制每個最高級功能單元的復(fù)位功能,使得即使其它資源繼續(xù)操作在其它系統(tǒng)鏡像中片上資源也可以被重新配置。君主核可以進(jìn)一步跟蹤錯誤(或影響共享資源的其它相關(guān)事件)并且采取合適的動作通知受影響的系統(tǒng)鏡像。這樣的跟蹤邏輯可以被君主核虛擬化,或在管理邏輯中為每個系統(tǒng)鏡像實體復(fù)制。
[0028]在參照圖3和圖4下面討論的可替換實施例中,分離的管理組件可以被包含在處理器100中以通過管理邏輯實施君主處理器核的上述功能。因此,在那個實施方式中,可以不利用君主處理器核或處理器核組。
[0029]圖2描繪了根據(jù)一個實施例的系統(tǒng)200。系統(tǒng)200包括處理器100、第一存儲器210和第二存儲器220。很顯然,圖2中描繪的系統(tǒng)200表示概括的說明并且在沒有脫離系統(tǒng)200的范圍的情況下其它組件可被添加或現(xiàn)存的組件可被移除、修改或重新排列。
[0030]處理器100類似于上面參照圖1描述的處理器,并且包括多個處理器核(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190)。第一存儲器210和第二存儲器220可以對應(yīng)于存儲數(shù)據(jù)、指令等的任意典型的存儲設(shè)備。例如,第一存儲器210和第二存儲器220可以包括易失性存儲器或非易失性存儲器。易失性存儲器的示例包括但不限于靜態(tài)隨機存儲器(SRAM)和動態(tài)隨機存儲器(DRAM)。非易失性存儲器的示例包括但不限于電可擦除只讀存儲器(EEPROM)、只讀存儲器(ROM)和閃存。第一存儲器210可以被通信地聯(lián)接到處理器100的第一存儲器接口 150,并且第二存儲器220可以被通信地聯(lián)接到處理器100的第二存儲器接口 160。這可以例如通過在基于雙倍數(shù)據(jù)速率(DDR)接口規(guī)格(例如DDR3)運行的存儲器接口和存儲器之間的總線完成。
[0031]系統(tǒng)鏡像(例如系統(tǒng)鏡像#1、系統(tǒng)鏡像#2和系統(tǒng)鏡像#3)和它們各自的核(110-140)可以共享第一存儲器210和/或第二存儲器220的存儲器容量。即,第一存儲器210和/或第二存儲器220的存儲器容量的一部分可以被分配給多個獨立且孤立的系統(tǒng)鏡像的每一個。例如,如圖2中所示,第一存儲器210和第二存儲器220可以被共享,使得系統(tǒng)鏡像#1、系統(tǒng)鏡像#2和系統(tǒng)鏡像#3每個利用存儲器容量的一部分。當(dāng)?shù)谝淮鎯ζ?10和第二存儲器220可以被共享時,與存儲器接口(未示出)互連的地址轉(zhuǎn)換墊片的包含物可以表現(xiàn)出每個系統(tǒng)鏡像具有獨立于其它系統(tǒng)鏡像的專用存儲器樣子。
[0032]在某些實施例中,第一存儲器210和第二存儲器220可以基于地址范圍而被劃分。例如,系統(tǒng)鏡像#1可以被分配地址范圍0-200,系統(tǒng)鏡像#2可以被分配地址范圍201-300,并且系統(tǒng)鏡像#3可以被分配地址范圍301-400。盡管系統(tǒng)鏡像被示出為在第一存儲器210和第二存儲器220中具有相同的地址范圍,應(yīng)當(dāng)理解,系統(tǒng)鏡像還可以具有在不同存儲器中的不同的分配的地址范圍。而且,盡管在圖2中出現(xiàn)的第一存儲器210和第二存儲器220是相同的,應(yīng)當(dāng)理解,在各個實施例中第一存儲器210和第二存儲器220可以在類型、大小、速度和其它參數(shù)方面不同。例如,第一存儲器210可以具有比第二存儲器220更大的存儲器容量。而且,盡管圖2示出每個存儲器由每個系統(tǒng)鏡像共享,應(yīng)當(dāng)理解,每個存儲器不必須由每個系統(tǒng)鏡像共享。例如,一個存儲器可以由系統(tǒng)鏡像#1和系統(tǒng)鏡像號#2共享,而另一個存儲器可以由系統(tǒng)鏡像#2和系統(tǒng)鏡像#3共享。另外,一個存儲器可以僅由單個系統(tǒng)鏡像使用。如上所討論的,該存儲器容量分布可以由君主處理器核確定,或可替換地由管理組件確定。
[0033]圖3描繪了根據(jù)另一實施例的處理器300。類似于參照圖1描述的處理器,處理器300包括多個處理器核(110-140)、多個存儲器接口組件(150-160)和多個輸入/輸出組件(170-190)。然而,此外處理器還包括管理組件310。管理組件310可以被集成到處理器300中并且被配置成基于這里提供的管理邏輯而關(guān)于系統(tǒng)鏡像進(jìn)行各種處理。
[0034]例如,管理組件310可以負(fù)責(zé)將處理器300配置進(jìn)多個獨立且孤立的系統(tǒng)鏡像中。管理組件310可以分配多個處理器核(110-140)到不同的系統(tǒng)鏡像,并且該分配可基于(至少部分地)當(dāng)前的系統(tǒng)需求、預(yù)期的系統(tǒng)需求、和/或預(yù)定義的設(shè)置(例如,基于運行的總成本、電力消耗、許可成本管理(較少核的許可通常成本較低)和/或備用資源的要求的設(shè)置)。例如,管理組件310可分配多個核給預(yù)期要求顯著處理能力的系統(tǒng)鏡像。相比之下,管理組件可以僅分配單個核給預(yù)期要求最小處理能力的系統(tǒng)鏡像。在某些實施例中,該分配可以是動態(tài)的,這里核可以基于實時的處理能力要求而再分配給不同的系統(tǒng)鏡像。而在其它實施例中,該分配可以基于預(yù)定義的設(shè)置(例如由管理者提供的設(shè)置)。
[0035]管理組件310還可以負(fù)責(zé)啟用和禁用處理核。該功能可促進(jìn)以節(jié)電和最小化散熱的方式更高效地使用處理核。例如,如果核當(dāng)前沒有被使用,管理組件310可停止該核或使該核處于低電狀態(tài)。
[0036]管理組件310可附加地負(fù)責(zé)并被配置成在多個系統(tǒng)鏡像之間分配一個或多個存儲器的容量。正如提及的,這可以通過分配每個系統(tǒng)鏡像共享存儲器內(nèi)的地址范圍而完成。然而,分配給每個系統(tǒng)鏡像的存儲器的數(shù)量不必須相等。
[0037]管理組件310可以進(jìn)一步被配置成跟蹤錯誤或可影響一個或多個核、存儲器、存儲器接口和輸入/輸出組件的其它相關(guān)事件,并且采取合適的動作來通知這些組件。作為這些處理的一部分,管理組件310可以控制核接著核或鏡像接著鏡像基礎(chǔ)的復(fù)位功能,這里一個核/鏡像可以在不在處理器300上復(fù)位其它核/鏡像的情況下被復(fù)位。因此,要求核/鏡像復(fù)位的所檢測的事件對處理器上的其它核/鏡像不產(chǎn)生有害的影響。
[0038]而且,管理組件310可以被配置成分配輸入/輸出組件(170-190)和關(guān)聯(lián)的端口給各自的系統(tǒng)鏡像。在某些情況下,一個或多個輸入/輸出組件(170-190)和關(guān)聯(lián)的端口可以專用于系統(tǒng)鏡像,并且在其它情況下,一個或多個輸入/輸出組件(170-190)和關(guān)聯(lián)的端口可以由一個或多個系統(tǒng)鏡像共享。
[0039]特別是對于PCIe輸入/輸出組件,一個或多個PCIe根端口可以被分配給每個系統(tǒng)鏡像。通過這些根端口,系統(tǒng)鏡像可以訪問各種輸入/輸出結(jié)構(gòu),諸如以太網(wǎng)、無線帶寬技術(shù)、光纖信道和網(wǎng)絡(luò)附加存儲。通常在根端口(例如I/o高級可編程中斷控制器(1APIC))或地址重新映射設(shè)施共享之間的元件,可以被復(fù)制來維持系統(tǒng)鏡像之間的獨立性。一旦每個系統(tǒng)鏡像被分配給一個或多個PCIe根端口,可以以各種方式將輸入/輸出線路路由到它們的最終目的地。根據(jù)某些實施例的一個方法是直接路由到需要的輸入/輸出資源。另一個方法是利用處理器上的PCIe開關(guān)以允許根端口到輸入/輸出資源的任意連接。又一個方法是利用接近目的地設(shè)備的端點來允許多功能PCIe設(shè)備由多個系統(tǒng)鏡像共享。而且,PCIe功能可以直接實施在處理器上以允許直接連接到特定的輸入/輸出結(jié)構(gòu),諸如以太網(wǎng)。此外,小的以太網(wǎng)開關(guān)可以被包含在處理器上使得多個系統(tǒng)鏡像可以共享以太網(wǎng)連接。由于片上開關(guān)容量,根端口可以不限于它們本身的寬度,并且較寬的物理連接可提供訪問來從給定系統(tǒng)鏡像突發(fā)存取,以利用處理器提供的全帶寬。
[0040]圖4描繪了根據(jù)另一個實施例的處理器400。類似于參照圖3描述的處理器300,處理器400包括多個處理器核(I 10-140)、多個存儲器接口組件(150-160)、多個輸入/輸出組件(170-190)和管理組件310。然而,此外處理器400還包括高速緩沖存儲器420。高速緩沖存儲器420可以是在多個系統(tǒng)鏡像之間共享的末級高速緩沖存儲器。通過將系統(tǒng)鏡像標(biāo)識符合并到高速緩沖存儲器索引中來分配可用的高速緩沖存儲器的獨立部分給每個系統(tǒng)鏡像,正如通過管理組件310編程的,高速緩沖存儲器420可以被所有支持的系統(tǒng)鏡像利用。在某些實施例中,高速緩沖存儲器的分配與分配給每個系統(tǒng)鏡像的核的數(shù)量直接成比例。在其它實施例中,高速緩沖存儲器的分配基于另一個尺度(例如當(dāng)前的或預(yù)期的系統(tǒng)鏡像要求)并且不與分配給每個系統(tǒng)鏡像的核的數(shù)量直接成比例。
[0041]圖5描繪了根據(jù)實施例的處理流程圖500。應(yīng)當(dāng)理解,圖5中描繪的處理表示概括的說明,并且在沒有脫離本公開的范圍和精神的情況下,其它處理可以被添加或現(xiàn)有的處理可以被移除、修改或再排列。而且,應(yīng)當(dāng)理解,該處理可以表示可導(dǎo)致諸如管理組件或“君主”處理器核的設(shè)備響應(yīng)、執(zhí)行行動、改變狀態(tài)、和/或做出決定的可執(zhí)行指令、管理邏輯或功能等效電路。在某些實施例中,可執(zhí)行指令或管理邏輯駐留在管理組件或君主處理器上并由其執(zhí)行,而在其它實施例中,執(zhí)行指令或管理邏輯至少部分地駐留在與管理組件或君主處理器通信的另一個組件上。圖5沒有意欲限制所描述的實施例的實施方式,而是圖示本領(lǐng)域技術(shù)人員可使用來設(shè)計/制造電路、生成軟件、或使用硬件和軟件的組合來執(zhí)行所圖示的處理的功能信息。
[0042]該處理可以在框510處開始,此時多核處理器被啟動。這可以例如在處理器接收供應(yīng)電力時和在系統(tǒng)鏡像或關(guān)聯(lián)的操作系統(tǒng)起動之前發(fā)生。
[0043]在框520處,管理組件(或一個/多個“君主”處理器核)可以確定或接收關(guān)于當(dāng)前資源需求的信息。例如,管理組件可以確定或接收請求三個系統(tǒng)鏡像充分地處理系統(tǒng)處理的信息。這個確定可以基于例如發(fā)送請求并接收來自其它系統(tǒng)設(shè)備的響應(yīng)的管理組件或基于由例如管理者或制造者預(yù)先編程的設(shè)置做出。
[0044]在框530處,管理組件(或一個/多個“君主”處理器核)可以確定或接收關(guān)于處理器上可用的資源的信息。這樣的資源可以是例如處理器核、輸入/輸出組件、存儲器接口、存儲器和高速緩沖存儲器。例如,參照圖1-4,管理組件可以確定或接收關(guān)于存在四個處理器核、兩個存儲器接口、兩個存儲器、三個輸入/輸出組件、和一個高速緩沖存儲器可用于分配的信息。
[0045]然后,管理組件(或一個/多個“君主”處理器核)可以在框540處確定每個核的系統(tǒng)鏡像分配。這可以基于管理組件上的處理或基于接收自另一個組件的指令而發(fā)生。例如,如圖1中所示,第一處理器核110和第二處理器核120可以被分配給系統(tǒng)鏡像#1、第三處理器核130可以被分配給系統(tǒng)鏡像#2,并且第四處理器核可以被分配給系統(tǒng)鏡像#3。在這個示例中,系統(tǒng)鏡像#1要求比系統(tǒng)鏡像#2和#3更多的處理資源,并且因此附加的處理器核被分配給這個系統(tǒng)鏡像。
[0046]在框550處,管理組件(或一個/多個“君主”處理器核)可以確定或接收關(guān)于輸入/輸出組件分配的信息。如上所述,每個系統(tǒng)鏡像可以被分配不同的輸入/輸出組件,或多個系統(tǒng)鏡像可以共享輸入/輸出組件。特別是對于PCIe輸入/輸出組件,一個或多個PCIe根端口可以被分配給每個系統(tǒng)鏡像,并且通過這些根端口,系統(tǒng)鏡像可以訪問諸如以太網(wǎng)、無線帶寬技術(shù)、光纖信道和網(wǎng)絡(luò)附加存儲的各種輸入/輸出結(jié)構(gòu)。
[0047]在框560處,管理組件(或一個/多個“君主”處理器核)可以確定或接收關(guān)于每個系統(tǒng)鏡像的存儲器分配的信息。這可以包括附接存儲器(例如RAM/R0M)以及高速緩沖存儲器的分配。關(guān)于附接存儲器,該存儲器可以被所有的或部分的系統(tǒng)鏡像共享。在某些實施例中,這個分配基于地址區(qū)域而發(fā)生。例如,參照圖2,系統(tǒng)鏡像#1可以被分配地址范圍0-200,系統(tǒng)鏡像#2可以被分配地址范圍201-300,并且系統(tǒng)鏡像#3可以被分配地址范圍301-400。關(guān)于高速緩沖存儲器,該高速緩沖存儲器可以被系統(tǒng)鏡像共享。這可以以下述方式完成,例如通過將系統(tǒng)鏡像標(biāo)識符合并到高速緩沖存儲器索引中來分配可用的高速緩沖存儲器的獨立部分給每個系統(tǒng)鏡像,正如通過管理組件編程的。
[0048]在框570處,在確定對各個系統(tǒng)鏡像的各種分配之后,多核處理器可以進(jìn)行根據(jù)規(guī)定的分配的操作。
[0049]圖6描繪了根據(jù)實施例的處理流程圖600。應(yīng)當(dāng)理解,圖6中描繪的處理表示概括的說明,并且在沒有脫離本公開的范圍和精神的情況下其它處理可以被添加或現(xiàn)有的處理可以被移除、修改或再排列。而且,應(yīng)當(dāng)理解,該處理可以表示可導(dǎo)致諸如管理組件或“君主”處理器核的設(shè)備響應(yīng)、執(zhí)行動作、改變狀態(tài)、和/或做出決定的可執(zhí)行指令、管理邏輯或功能等效電路。在某些實施例中,可執(zhí)行指令或管理邏輯駐留在管理組件或君主處理器上并由其執(zhí)行,而在其它實施例中,可執(zhí)行指令或管理邏輯至少部分地駐留在與管理組件或君主處理器通信的另一個組件上。圖6沒有意欲限制所描述的實施例的實施方式,而是圖示本領(lǐng)域技術(shù)人員可使用來設(shè)計/制造電路、生成軟件、或使用硬件和軟件的組合來執(zhí)行所圖示的處理的功能信息。
[0050]該處理可以在框610處開始,此時管理組件(或一個/多個君主核)開始監(jiān)控處理器。這可以包括管理組件監(jiān)控系統(tǒng)鏡像、處理器組件(例如輸入/輸出、高速緩沖存儲器、存儲器控制器等)和/或關(guān)聯(lián)的組件(例如附接存儲器)。這可以發(fā)生在例如處理器核已被分配給系統(tǒng)鏡像以及在這些系統(tǒng)鏡像加入與運轉(zhuǎn)之后。作為監(jiān)控的一部分,管理組件可以監(jiān)控處理器的事件、工作量水平和/或配置指令。
[0051]在框620處,管理組件可以檢測事件。該事件可以是,例如,諸如存儲器錯誤或損壞數(shù)據(jù)錯誤的錯誤。管理組件可以評估這個事件并且確定特定的行動過程。例如,在框630處,響應(yīng)于接收到存儲器錯誤事件,管理組件可以確定受影響的系統(tǒng)鏡像并通知每個系統(tǒng)鏡像關(guān)于該事件。然后,該系統(tǒng)鏡像可以在收到事件通知后采取適當(dāng)?shù)男袆印?商鎿Q地或此外,在框640處,響應(yīng)于該事件,管理組件可以采取適當(dāng)?shù)男袆樱T如分配備用設(shè)備、啟動鏡像遷移、和/或使系統(tǒng)鏡像復(fù)位。管理組件可以對鏡像接著鏡像基礎(chǔ)的復(fù)位功能進(jìn)行控制,使得一個或多個系統(tǒng)鏡像可以在不復(fù)位一個或多個其它系統(tǒng)鏡像的情況下被復(fù)位。其后,該處理可以回復(fù)到管理組件(或一個/多個君主核)繼續(xù)監(jiān)控處理器的框610。
[0052]另外,作為監(jiān)控處理的一部分,管理組件可以在框650處確定工作量水平。然后,管理組件可以在框660處基于當(dāng)前工作量水平進(jìn)行動態(tài)再分配。這樣的動態(tài)再分配可以包括處理器核、存儲器、和/或輸入/輸出組件的再分配。例如,響應(yīng)于管理組件確定一個系統(tǒng)鏡像因處理器密集處理而處于重負(fù)荷并且另一個系統(tǒng)鏡像僅是輕負(fù)荷,該管理組件可以再分配附加的處理器核給該重負(fù)荷系統(tǒng)鏡像。此外,如果需要管理組件可以再分配存儲器容量和/或輸入輸出組件給該重負(fù)荷系統(tǒng)鏡像。其后,處理可回復(fù)到管理組件(或一個/多個君主核)繼續(xù)監(jiān)控處理器的框610。
[0053]而且,作為監(jiān)控處理的一部分,管理組件可以在框670處接收配置指令。這樣的配置指令可以來自例如另一個系統(tǒng)組件(例如另一個處理器)或潛在的管理者或管理節(jié)點。該指令可以包括特定系統(tǒng)鏡像配置變化,諸如所分配的處理器核的數(shù)量、所分配的存儲器的數(shù)量、輸入/輸出組件的數(shù)量、添加/移除的系統(tǒng)鏡像等。響應(yīng)于接收到這個配置信息,管理組件可以至少部分地基于配置指令繼續(xù)進(jìn)行動態(tài)再分配。其后,處理可以回復(fù)到管理組件(或一個/多個君主核)繼續(xù)監(jiān)控處理器的框610。
[0054]參照前述的示例性實施例示出和描述了本公開。然而,應(yīng)當(dāng)理解,在沒有脫離被定義在隨后權(quán)利要求書中的本公開的精神和范圍的情況下,可以做出其它形式、細(xì)節(jié)和實施例。
【權(quán)利要求】
1.一種處理器,包括: 多個處理核組件; 一個或多個存儲器接口組件;以及 一個或多個輸入/輸出組件, 其中多個處理核組件中的每一個被分配給多個獨立且孤立的系統(tǒng)鏡像中的一個, 其中一個或多個存儲器接口組件中的每一個由多個獨立且孤立的系統(tǒng)鏡像共享,并且 其中一個或多個輸入/輸出組件被分配給多個獨立且孤立的系統(tǒng)鏡像。
2.根據(jù)權(quán)利要求1所述的處理器,進(jìn)一步包括:管理組件,所述管理組件用于分配多個處理核組件中的每一個給多個獨立且孤立的系統(tǒng)鏡像中的一個。
3.根據(jù)權(quán)利要求1所述的處理器,其中多個處理核組件中的一個用于分配多個處理核組件的每一個給多個獨立且孤立的系統(tǒng)鏡像中的一個。
4.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器用單模制造。
5.根據(jù)權(quán)利要求1所述的處理器,其中多個處理核組件的兩個或更多個被分配給多個獨立且孤立的系統(tǒng)鏡像中的一個。
6.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器不利用管理程序。
7.根據(jù)權(quán)利要求1所述的處理器,其中一個或多個存儲器接口組件中的每一個與存儲器組件通信地聯(lián)接,并且其中所述存儲器組件的存儲器容量的一部分被分配給多個獨立且孤立的系統(tǒng)鏡像中的每一個。
8.一種系統(tǒng),包括: 處理器,包括 多個處理核組件; 一個或多個存儲器接口組件;以及 一個或多個輸入/輸出組件, 其中多個處理核組件中的每一個被分配給多個獨立且孤立的系統(tǒng)鏡像中的一個, 其中一個或多個存儲器接口組件中的每一個由多個獨立且孤立的系統(tǒng)鏡像共享,并且 其中一個或多個輸入/輸出組件被分配給多個獨立且孤立的系統(tǒng)鏡像;以及 一個或多個存儲器組件, 其中一個或多個存儲器組件中的每一個與一個或多個存儲器接口組件中的每一個通信地聯(lián)接,并且 其中一個或多個存儲器組件的存儲器容量的一部分被分配給多個獨立且孤立的系統(tǒng)鏡像中的每一個。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中存儲器容量的所述部分是與所述存儲器組件關(guān)聯(lián)的存儲器地址范圍。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器進(jìn)一步包括管理設(shè)備來: 在多個獨立且孤立的系統(tǒng)鏡像之間分配存儲器組件容量; 分配一個或多個輸入/輸出組件給多個獨立且孤立的系統(tǒng)鏡像;或 檢測錯誤并通知多個獨立且孤立系統(tǒng)鏡像中的一個或多個關(guān)于所述錯誤。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器進(jìn)一步包括高速緩沖存儲器組件,其中所述高速緩沖存儲器組件由多個處理核組件共享。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中多個獨立且孤立的系統(tǒng)鏡像中的每一個可以在多個獨立且孤立的系統(tǒng)鏡像中的另一個沒有復(fù)位的情況下復(fù)位。
13.一種處理器,包括: 多個處理核組件; 一個或多個存儲器接口組件,每一個由多個處理核組件共享;以及 管理組件,用于分配多個處理核組件中的每一個給多個系統(tǒng)鏡像中的一個。
14.根據(jù)權(quán)利要求13所述的處理器,其中所述管理組件進(jìn)一步啟用和禁用多個處理核組件中的每一個。
15.根據(jù)權(quán)利要求13所述的處理器,其中所述管理組件進(jìn)一步接收來自管理者的命令并且至少部分地基于接收自所述管理者的命令來再分配多個處理核組件給多個系統(tǒng)鏡像。
【文檔編號】G06F15/80GK104272296SQ201280072799
【公開日】2015年1月7日 申請日期:2012年4月30日 優(yōu)先權(quán)日:2012年4月30日
【發(fā)明者】格雷格·萊薩日特, 文森特·恩吉耶, 帕特里克·克內(nèi)貝 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)