邏輯核的動(dòng)態(tài)映射的制作方法
【專利摘要】本發(fā)明公開了一種將邏輯核動(dòng)態(tài)地重新映射到物理核的處理器。在一個(gè)實(shí)施方案中,該處理器包括多個(gè)物理核,并且配置成存儲(chǔ)邏輯核至多個(gè)物理核的映射。該處理器還包括分配單元,該分配單元配置成在處理器引導(dǎo)進(jìn)程之后將邏輯核重新映射到多個(gè)物理核。在一些實(shí)施方案中,分配單元配置成響應(yīng)接收到多個(gè)物理核中的一個(gè)或多個(gè)已經(jīng)進(jìn)入待機(jī)狀態(tài)的指示,重新映射邏輯核。處理器可以配置成在第一物理核退出待機(jī)狀態(tài)時(shí),以多個(gè)物理核中第二物理核的執(zhí)行狀態(tài)加載多個(gè)物理核中的第一物理核。
【專利說明】邏輯核的動(dòng)態(tài)映射
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容一般涉及處理器,更確切地來說,涉及將工作負(fù)荷分布在多個(gè)處理器核之間。
[0002]現(xiàn)有技術(shù)的描述
[0003]延長集成電路的壽命常常是重要的設(shè)計(jì)目標(biāo),因?yàn)樵谠S多情況中,消費(fèi)者需要能夠超長時(shí)間以及在顯著應(yīng)力下可靠地工作的電路。開發(fā)者因此嘗試將影響集成電路的使用壽命的多種因素納入考慮。
[0004]影響處理器的壽命預(yù)期值的一個(gè)重要因素是處理器隨時(shí)間推移所經(jīng)受的工作負(fù)荷。超長時(shí)間高工作負(fù)荷下運(yùn)行的處理器(如用于服務(wù)器系統(tǒng)中的處理器)可能經(jīng)受與電子遷移、電介質(zhì)擊穿或熱引發(fā)的磨耗相關(guān)的更大量的硅應(yīng)力。這些因素進(jìn)而可能顯著地縮短處理器的使用壽命。相應(yīng)地,在一些情況中,降低處理器的工作負(fù)荷對(duì)于改善其壽命預(yù)期值可能是值得期望的。
[0005]實(shí)施方案概述
[0006]本公開內(nèi)容描述將邏輯核動(dòng)態(tài)地重新映射到物理核的結(jié)構(gòu)和方法的多種實(shí)施方案。
[0007]在一個(gè)實(shí)施方案中,公開了 一種處理器。該處理器包括多個(gè)物理核,并且配置成存儲(chǔ)邏輯核至多個(gè)物理核的映射。該處理器還包括分配單元,該分配單元配置成在處理器引導(dǎo)進(jìn)程之后將邏輯核重新映射到多個(gè)物理核。
[0008]在一個(gè)實(shí)施方案中,公開了一種方法。該方法包括處理器上的多個(gè)物理核執(zhí)行一組任務(wù),其中該組任務(wù)基于邏輯核至多個(gè)物理核的映射來分配。該方法還包括在操作系統(tǒng)執(zhí)行時(shí)處理器將邏輯核重新映射到多個(gè)物理核。基于重新映射分配一組附加任務(wù)。
[0009]在一個(gè)實(shí)施方案中,公開了 一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該存儲(chǔ)介質(zhì)包括數(shù)據(jù)結(jié)構(gòu),由計(jì)算機(jī)系統(tǒng)上可執(zhí)行的程序?qū)υ摂?shù)據(jù)結(jié)構(gòu)操作。程序操作數(shù)據(jù)結(jié)構(gòu)是可執(zhí)行的以執(zhí)行一部分進(jìn)程以制造包括由數(shù)據(jù)結(jié)構(gòu)描述的電路的處理器。由數(shù)據(jù)結(jié)構(gòu)描述的電路包括多個(gè)物理核。該處理器配置成存儲(chǔ)邏輯核至多個(gè)物理核的映射。該電路還包括分配單元,該分配單元配置成在處理器引導(dǎo)進(jìn)程之后將邏輯核重新映射到多個(gè)物理核。
[0010]附圖簡(jiǎn)述
[0011]圖1是示出包括多核處理器的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施方案的方框圖,該多核處理器配置成將邏輯核動(dòng)態(tài)地重新映射到物理核。
[0012]圖2是示出可以包括在多核處理器中的分配單元的一個(gè)實(shí)施方案的方框圖。
[0013]圖3是示出可以包括在分配單元中的確定單元的一個(gè)實(shí)施方案的方框圖。
[0014]圖4是示出用于將邏輯核動(dòng)態(tài)地重新映射到物理核的方法的一個(gè)實(shí)施方案的流程圖。
[0015]圖5是示出示例性計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施方案的方框圖。
[0016]詳述
[0017]本說明書包括對(duì)“一個(gè)實(shí)施方案”或“實(shí)施方案”的引述。因此,短語“在一個(gè)實(shí)施方案中”或“在實(shí)施方案中”的出現(xiàn)不一定是指同一實(shí)施方案??梢耘c本公開內(nèi)容一致的任何適合方式將特定的特征、結(jié)構(gòu)或特性進(jìn)行組合。
[0018]術(shù)語。下文段落提供本公開內(nèi)容(包括所附權(quán)利要求)中出現(xiàn)的術(shù)語的定義和/或語。
[0019]“包括”。此術(shù)語是開放式的。正如所附權(quán)利要求中所使用的,此術(shù)語不排除另外的結(jié)構(gòu)或步驟??紤]權(quán)利要求,其列舉:“一種裝置,其包括一個(gè)或多個(gè)處理器單元…”此類權(quán)利要求不排除該裝置包括另外的組件(例如,網(wǎng)絡(luò)接口單元、圖形電路等)。
[0020]“配置成”。可以將多種單元、電路或其他組件描述為或要求權(quán)利為“配置成”執(zhí)行一個(gè)或多個(gè)任務(wù)。在此類語境中,“配置成”用于通過指示單元/電路/組件包括在操作期間執(zhí)行這些一個(gè)或多個(gè)任務(wù)的結(jié)構(gòu)(例如電路)來暗含結(jié)構(gòu)。因此,當(dāng)指定的單元/電路/組件當(dāng)前未工作(例如,未開啟),可以說單元/電路/組件配置成執(zhí)行該任務(wù)。與“配置成”語言一起使用的單元/電路/組件包括硬件-例如,電路、存儲(chǔ)可執(zhí)行以執(zhí)行操作的程序指令的存儲(chǔ)器等。列舉單元/電路/組件“配置成”執(zhí)行一個(gè)或多個(gè)任務(wù)顯性地意味著玉對(duì)該單元/電路/組件援用35U.S.C.§112,第六段。此外,“配置成”還可以包括由軟件和/或固件(例如,F(xiàn)PGA或執(zhí)行軟件的通用處理器)操控以能夠執(zhí)行涉及的任務(wù)的方式工作的通用結(jié)構(gòu)(例如,通用電路)?!芭渲贸伞边€可以包括調(diào)適制造進(jìn)程(例如半導(dǎo)體加工設(shè)施)以加工調(diào)適成實(shí)現(xiàn)或執(zhí)行一個(gè)或多個(gè)任務(wù)的裝置(例如集成電路)。
[0021]“第一”、“第二”等。正如本文所使用的,這些術(shù)語用作它們所引導(dǎo)的名詞的標(biāo)記,而不意味著任何類型的排序(例如,空間上、時(shí)間上、邏輯上等)。例如,在具有8個(gè)處理元件或核的處理器中,術(shù)語“第一 ”和“第二”處理元件可以用于指代8個(gè)處理元件中的任何兩個(gè)。換言之,“第一”和“第二”處理元件不限于邏輯處理元件O和I。
[0022]“基于”。正如本文所使用的,此術(shù)語用于描述影響確定的一個(gè)或多個(gè)因素。此術(shù)語不排斥可能影響確定的其他因素。即,確定可能僅基于這些因素,或至少部分地基于這些因素。考慮短語“基于B來確定A”。雖然B可能是影響A的確定的因素,但是此類短語不排斥A的確定也基于C。在其他情況中,可以僅基于B來確定A。
[0023]“處理器”。此術(shù)語具有本領(lǐng)域中常規(guī)和被接受的含義,并且包括能夠執(zhí)行指令的裝置。處理器可以非限制性地指代中央處理單元(CPU)、協(xié)處理器、算法處理單元、圖形處理單元、數(shù)字信號(hào)處理器(DSP)等。處理器可以是具有單個(gè)或多個(gè)流水線的超標(biāo)量處理器。處理器可以包括各自配置成執(zhí)行指令的單個(gè)或多個(gè)核。
[0024]“物理核”。此術(shù)語具有本領(lǐng)域中常規(guī)和被接受的含義,并且包括具有處理器的物理(即,有形)電路,其中該電路配置成能夠執(zhí)行指令。處理器可以包括多個(gè)物理核。
[0025]“邏輯核”。此術(shù)語具有本領(lǐng)域中常規(guī)和被接受的含義,并且包括與多核處理器中的物理核關(guān)聯(lián)且用于將任務(wù)分配到該核的標(biāo)識(shí)符。例如,在一個(gè)實(shí)施方案中,任務(wù)可以指定其由映射到物理核PO的邏輯核LO來執(zhí)行,而非直接指定在PO上執(zhí)行該任務(wù)。如果邏輯核LO隨后被重新映射到另一個(gè)物理核P1,則現(xiàn)在可以在核Pl上執(zhí)行任務(wù)。相應(yīng)地,“邏輯核”是不同時(shí)間處可能對(duì)應(yīng)于或可能不對(duì)應(yīng)于相同物理核的核的標(biāo)識(shí)符。
[0026]“引導(dǎo)進(jìn)程”。此術(shù)語具有本領(lǐng)域中常規(guī)和公認(rèn)的含義,并且包括初始化計(jì)算機(jī)系統(tǒng)和為計(jì)算機(jī)系統(tǒng)加載操作系統(tǒng)的進(jìn)程。引導(dǎo)進(jìn)程還可以包括初始化I/o裝置,測(cè)試存儲(chǔ)
吳坐
-nfrO[0027]大多數(shù)現(xiàn)代操作系統(tǒng)支持基于每個(gè)核的相應(yīng)工作負(fù)荷將任務(wù)分配到多核處理器中的不同處理器核的能力。例如,如果處理器包括兩個(gè)處理器核,并且一個(gè)核在重工作負(fù)荷下工作,而另一個(gè)不是,則操作系統(tǒng)(或一些其他機(jī)構(gòu))可以在這些處理器核之間重新分配任務(wù)。在核之間重新分配任務(wù)不僅能夠提高任務(wù)的性能,而且能夠通過減少過載的核早期地?zé)龤У臋C(jī)會(huì)來改善處理器的壽命預(yù)期值。
[0028]獲得工作負(fù)荷的均勻分配可能是困難的,因?yàn)椴僮飨到y(tǒng)可能允許某些任務(wù)只在特定核上執(zhí)行。例如,用于在某些操作系統(tǒng)下設(shè)置實(shí)時(shí)節(jié)目節(jié)拍的定時(shí)器滴答信號(hào)中斷被定向到邏輯自引導(dǎo)處理器核,且無法分配到其他核。其他示例包括處理器間中斷和IO裝置中斷,處理器間中斷請(qǐng)求特定核一致性地處理給定應(yīng)用進(jìn)程(例如,旨在改善親和力-即,進(jìn)程可以發(fā)現(xiàn)其高速緩存中已經(jīng)存在的相同高速緩存存儲(chǔ)器訪問數(shù)據(jù)集的概率),以及IO裝置中斷可以通過裝置編程定向到特定核。當(dāng)指定特定核來以此方式執(zhí)行若干任務(wù)時(shí),該核可以具有比其他核更高的工作負(fù)荷,并由此具有更短的壽命預(yù)期值。
[0029]此外,電源管理中的最近發(fā)展嘗試將單個(gè)CPU核為活動(dòng)時(shí)所在的系統(tǒng)的電壓和頻率提升到熱極限內(nèi)可達(dá)到的最高電壓和頻率。雖然這實(shí)現(xiàn)了提高的性能,但是它進(jìn)一步增加了娃降解率(degradation rate)?!?br>
[0030]有多種途徑來緩解硅降解隨時(shí)間推移的影響。典型地,使用作為芯片規(guī)范的一部分的一組工作負(fù)荷和環(huán)境操作條件,對(duì)硅降解建模。這些假設(shè)用于估計(jì)硅降解隨時(shí)間推移的影響,特別是估計(jì)晶體管閾值電壓、飽和電流和躍遷速率的影響。這可以用于通過對(duì)工作頻率設(shè)置足夠抵御長期損耗的隔離帶來限制賦予該部分的性能。雖然這能夠覆蓋一些方面的硅降解,但是它不覆蓋熱引起的機(jī)械磨耗,從而需要與確保的使用壽命相關(guān)地從開始就限制系統(tǒng)的峰值性能。
[0031]一些系統(tǒng)嘗試主動(dòng)性地管理待機(jī)時(shí)間段期間操作降速的電壓和頻率以減少硅應(yīng)力。雖然這有助于緩解問題,因?yàn)榭梢灶A(yù)見到典型的系統(tǒng)會(huì)經(jīng)歷高活動(dòng)性和低活動(dòng)性的時(shí)間段,但是這僅僅是局部性解決方案,僅可以用于縮減前一段引述的工作頻率隔離帶。
[0032]一些系統(tǒng)嘗試通過將邏輯核映射到物理核,并在BIOS開機(jī)自檢階段期間更改映射來緩解此問題。例如,在第一引導(dǎo)期間,具有兩個(gè)物理核PO和Pl的處理器可以將這些核分別映射到邏輯核LO和LI。然后可以對(duì)物理核PO執(zhí)行指定邏輯核LO的任務(wù),然后可以對(duì)物理核Pl執(zhí)行指定邏輯核LI的任務(wù)。復(fù)位時(shí),處理器可以將邏輯核LO和LI分別重新映射到物理核Pl和PO。如果邏輯核LO —般具有比LI更重的工作負(fù)荷,在每次復(fù)位期間重新映射邏輯核能夠使物理核PO和Pl在核的壽命期間呈現(xiàn)更好的工作負(fù)荷分配。在復(fù)位期間執(zhí)行此類重新映射相對(duì)簡(jiǎn)單,因?yàn)椴僮飨到y(tǒng)尚未加載,并且軟件無法預(yù)設(shè)特定核來處理中斷。本公開內(nèi)容認(rèn)識(shí)到以此方式重新映射邏輯核的問題在于,對(duì)于服務(wù)器以及(某種程度)對(duì)于桌上型計(jì)算機(jī)來說,復(fù)位事件典型地是不頻繁的。
[0033]本公開內(nèi)容描述用于將邏輯核動(dòng)態(tài)地重新映射到物理核的多種技術(shù)。正如下文將描述的,多核處理器可以存儲(chǔ)邏輯核至多個(gè)物理核的映射。此映射可以被操作系統(tǒng)、I/o裝置等使用以對(duì)物理核中的多個(gè)不同核分配任務(wù)。在一個(gè)實(shí)施方案中,多核處理器包括分配單元,該分配單元配置成在活動(dòng)系統(tǒng)上(即,在處理器引導(dǎo)進(jìn)程之后)將邏輯核重新映射到物理核。例如,最初可以將第一邏輯核映射到第一物理核。然后可以將尋址到第一邏輯核的任務(wù)分配到第一物理核來執(zhí)行。分配單元然后可以執(zhí)行第一邏輯核到物理核中的第二物理核的重新映射。由此,然后可以將尋址到第一邏輯核的任務(wù)分配到第二物理核以取代第一物理核來執(zhí)行。如果第一邏輯核典型地具有比其他邏輯核更高的工作負(fù)荷,則在許多情況中,可以將其更高的工作負(fù)荷更均勻地分配在物理核上而無需重新引導(dǎo)處理器。
[0034]相應(yīng)地,在許多情況中,本文描述的處理器能夠比未配置成執(zhí)行動(dòng)態(tài)重新映射的其他處理器更頻繁地切換邏輯至物理核的分配。在多種實(shí)施方案中,這種更頻繁的重新映射可以促成工作負(fù)荷在多個(gè)核之間的更均勻的分配而不考慮OS、I/O和系統(tǒng)裝置編程,同時(shí)仍滿足功能體系結(jié)構(gòu)的規(guī)范。由此,處理器可以體驗(yàn)到單個(gè)計(jì)算實(shí)體上減小的硅應(yīng)力,并且延長了總體使用壽命。增加硅壽命還可以轉(zhuǎn)化成附加的可靠性和性能上升,因?yàn)槟軌蚩s減針對(duì)硅降解的工作頻率隔離帶。此外,制造時(shí)每個(gè)部分的硅應(yīng)力測(cè)試(常常稱為“老化”測(cè)試)可以更為有限,因?yàn)轱L(fēng)險(xiǎn)已降低-這降低了制造成本。
[0035]現(xiàn)在轉(zhuǎn)到圖1,其中示出計(jì)算機(jī)系統(tǒng)100的一個(gè)實(shí)施方案的方框圖。在示出的實(shí)施方案中,計(jì)算機(jī)系統(tǒng)100包括處理器110、存儲(chǔ)器120和基本輸入/輸出系統(tǒng)(B10S)130。處理器110包括處理器核112A-C (在一些實(shí)施方案中,處理器110可以包括比示出的更多或更少的核112)和分配單元114。處理器110經(jīng)由互連115耦合到存儲(chǔ)器120以及經(jīng)由互連125耦合到B10S130。在示出的實(shí)施方案中,存儲(chǔ)器120配置成存儲(chǔ)操作系統(tǒng)122和一個(gè)或多個(gè)保存的執(zhí)行狀態(tài)124。
[0036]處理器110可以是任何適合類型的多核處理器。處理器110可以是通用處理器,如中央處理單元(CPU)。處理器110可以是專用處理器,如加速處理單元(APU)、數(shù)字信號(hào)處理器(DSP)、圖形處理單元(GPU)等。處理器110可以是加速邏輯,如專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)等。處理器110可以是多線程超標(biāo)量處理器。
[0037]存儲(chǔ)器120可以是任何適合類型的存儲(chǔ)器。存儲(chǔ)器120可以使用不同的物理存儲(chǔ)器介質(zhì)(如硬盤存儲(chǔ)裝置、軟盤存儲(chǔ)裝置、移動(dòng)盤存儲(chǔ)裝置、閃存存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器(RAM-靜態(tài)RAM (SRAM)、擴(kuò)充的數(shù)據(jù)輸出(EDO) RAM、同步動(dòng)態(tài)RAM (SDRAM)、雙數(shù)據(jù)速率(DDR)SDRAM,RAMBUS RAM等)、只讀存儲(chǔ)器(ROM -可編程ROM (PROM)、電可擦寫可編程ROM(EEPROM)等)等來實(shí)現(xiàn)。
[0038]B10S130是配置成執(zhí)行處理器110的引導(dǎo)進(jìn)程的基本輸入/輸出系統(tǒng)的一個(gè)實(shí)施方案。在多種實(shí)施方案中,此引導(dǎo)進(jìn)程可以包括識(shí)別和初始化計(jì)算機(jī)系統(tǒng)100中的1/0裝置,如視頻卡、鼠標(biāo)、鍵盤等。此引導(dǎo)進(jìn)程可以包括測(cè)試存儲(chǔ)器120中的裝置的完整性。在一個(gè)實(shí)施方案中,B10S130可以通過從永久性存儲(chǔ)裝置將操作系統(tǒng)122加載到存儲(chǔ)器120中的RAM中,并使處理器110開始執(zhí)行操作系統(tǒng)122來促成引導(dǎo)進(jìn)程。正如下文將描述的,在多種實(shí)施方案中,分配單元114配置成在B10S130完成執(zhí)行處理器110的引導(dǎo)進(jìn)程之后將邏輯核重新映射到核112。
[0039]處理器核112是物理核的一個(gè)實(shí)施方案,其配置成執(zhí)行指令以執(zhí)行一個(gè)或多個(gè)任務(wù)。在多種實(shí)施方案中,這些任務(wù)可以由操作系統(tǒng)122分配(例如,以便處理時(shí)間滴答信號(hào)中斷)。這些任務(wù)可以由其他核112分配(例如,以便處理處理器間中斷(IPI))。這些任務(wù)可以由1/0裝置來分配(例如,以便服務(wù)于接收的輸入)。如上文所提到的,在多種實(shí)施方案中,一些任務(wù)可以基于邏輯核至物理核112的映射來分配。例如,操作系統(tǒng)122可以將特定任務(wù)分配到第一邏輯核L0,這可以對(duì)應(yīng)于一個(gè)實(shí)施方案中的自引導(dǎo)處理器。如果邏輯核LO當(dāng)前映射到處理器112A,則處理器112A可以執(zhí)行該任務(wù)。但是,如果邏輯核LO映射到處理器112B,則處理器112B轉(zhuǎn)而可以執(zhí)行該任務(wù)。
[0040]在一些實(shí)施方案中,核112可以配置成在不同的工作狀態(tài)下工作,這些工作狀態(tài)由處理器110預(yù)定義,并且可以包括不同的電源狀態(tài)和不同的性能狀態(tài)。在一些實(shí)施方案中,這些電源狀態(tài)和/或性能狀態(tài)分別對(duì)應(yīng)于高級(jí)配置和電源接口(ACPI)標(biāo)準(zhǔn)定義的“C”和“P”狀態(tài)。性能狀態(tài)是核112以特定電壓/頻率執(zhí)行指令時(shí)的狀態(tài)。例如,在一個(gè)實(shí)施方案中,如果存在顯著的處理需求,則核112可以在其最高性能狀態(tài)下工作,這可以稱為性能狀態(tài)PO。在此類實(shí)施方案中,PO對(duì)應(yīng)于核112的最大工作頻率和最高電源設(shè)置。如果存在較小的需求,則核112可以在較低性能狀態(tài)(例如,性能狀態(tài)P1、P2等)下工作,其中核112在較低工作頻率和較低電源設(shè)置下工作。電源狀態(tài)可以指示(例如)是否核112是全面工作狀態(tài),還是完全或部分地?cái)嚯?。例如,在一個(gè)實(shí)施方案中,如果存在對(duì)核112的一些處理需求,則核112可以在允許指令執(zhí)行的電源狀態(tài)下工作,此類狀態(tài)稱為電源狀態(tài)CO。如果存在很少或不存在對(duì)核112的需求,則在一個(gè)實(shí)施方案中,核112可以在較低電源狀態(tài)下工作,如暫掛狀態(tài)或停止時(shí)鐘(stop-clock)狀態(tài),此類狀態(tài)可以分別地稱為電源狀態(tài)Cl或C2。由此,電源狀態(tài)可以指核112全面工作(S卩,執(zhí)行指令)時(shí)的狀態(tài)或核112不在執(zhí)行指令時(shí)的多個(gè)不同待機(jī)狀態(tài)。
[0041]在一個(gè)實(shí)施方案中,每個(gè)核112配置成在進(jìn)入待機(jī)狀態(tài)時(shí)將其執(zhí)行狀態(tài)124(不要與上文描述的核的工作狀態(tài)混淆)存儲(chǔ)到存儲(chǔ)器120。在多種實(shí)施方案中,核112的保存的執(zhí)行狀態(tài)124可以包括寄存器的內(nèi)容、程序計(jì)數(shù)器、堆棧指針等。保存的執(zhí)行狀態(tài)124還可以包括指令高速緩存(1-高速緩存)的內(nèi)容、數(shù)據(jù)高速緩存(D-高速緩存)的內(nèi)容、轉(zhuǎn)換后備緩沖(TLB)信息等。在一個(gè)實(shí)施方案中,當(dāng)核112退出待機(jī)狀態(tài)時(shí),核112配置成重新加載其執(zhí)行狀態(tài)124,并使用重新加載的狀態(tài)124來恢復(fù)執(zhí)行指令。正如下文將描述的,在一些實(shí)施方案中,核112可以配置成響應(yīng)邏輯核至物理核的重新映射而加載另一個(gè)核112的保存的狀態(tài)124。
[0042]在一個(gè)實(shí)施方案中,分配單元114配置成生成邏輯核至物理核112的映射(B卩,邏輯核映射),并執(zhí)行邏輯核至物理核112的動(dòng)態(tài)重新映射。正如本文所使用的,動(dòng)態(tài)重新映射是指B10S130執(zhí)行了處理器110的引導(dǎo)進(jìn)程之后執(zhí)行的重新映射。換言之,在一個(gè)實(shí)施方案中,分配單元114配置成,在操作系統(tǒng)122已被加載且正在執(zhí)行之后將邏輯核重新映射到物理核112。在示出的實(shí)施方案中,分配單元114設(shè)在處理器110中,但是不在特定核112內(nèi)。在一些實(shí)施方案中,分配單元114可以設(shè)在核112內(nèi)或分配在多個(gè)核112中間(S卩,核112可以執(zhí)行分配單元114的操作)。在一些實(shí)施方案中,分配單元114可以設(shè)在處理器110的北橋邏輯內(nèi)。在一些實(shí)施方案中,分配單元114可以設(shè)在處理器110外部,如B10S130內(nèi)。在一些實(shí)施方案中,可以將描述為由分配單元114執(zhí)行的操作分拆到計(jì)算機(jī)系統(tǒng)100內(nèi)的多個(gè)塊中間。
[0043]在一個(gè)實(shí)施方案中,當(dāng)分配單元114將不同的邏輯核重新映射到該核112時(shí),處理器Iio配置成將核112的執(zhí)行狀態(tài)傳遞到另一個(gè)核112。例如,如果核112A分配到邏輯核L0,則當(dāng)LO重新映射到核112B時(shí),處理器110可以將核112A的狀態(tài)傳遞到核112B。在一個(gè)實(shí)施方案中,處理器110配置成經(jīng)由核112之間的互連在核112之間傳遞執(zhí)行狀態(tài)。在一個(gè)實(shí)施方案中,處理器110可以配置成通過將該狀態(tài)存儲(chǔ)到存儲(chǔ)器120 (作為狀態(tài)124),然后將該狀態(tài)重新加載到另一個(gè)核112上來傳遞執(zhí)行狀態(tài)。在一些實(shí)施方案中,處理器110配置成在核112進(jìn)入和退出待機(jī)電源狀態(tài)(如上文描述的)時(shí)存儲(chǔ)和重新加載執(zhí)行狀態(tài)。正如下文將描述的,在一些實(shí)施方案中,處理器Iio可以配置成使一個(gè)或多個(gè)核112響應(yīng)分配單元114執(zhí)行重新映射而進(jìn)入和退出待機(jī)狀態(tài)。作為備選,分配單元114可以配置成在一個(gè)或多個(gè)核112轉(zhuǎn)入或轉(zhuǎn)出待機(jī)狀態(tài)時(shí)執(zhí)行重新映射。在多種實(shí)施方案中,處理器110可以配置成在沒有操作系統(tǒng)或軟件知識(shí)的情況下傳遞執(zhí)行狀態(tài)。
[0044]接下來結(jié)合圖2描述分配單元114。
[0045]現(xiàn)在轉(zhuǎn)到圖2,其中示出分配單元114的一個(gè)實(shí)施方案。在示出的實(shí)施方案中,分配單元114包括映射寄存器210、確定單元220和計(jì)數(shù)器寄存器230。要注意,雖然單元210-230示出為在單個(gè)單元114內(nèi),但是在一些實(shí)施方案中,單元210-230可以分散在計(jì)算機(jī)系統(tǒng)100中的多個(gè)單元中間。
[0046]在一個(gè)實(shí)施方案中,映射寄存器210配置成存儲(chǔ)表示邏輯核至物理核的映射(示出為邏輯核映射212)的標(biāo)識(shí)符。在一些實(shí)施方案中,寄存器210可以包括每個(gè)核112的相應(yīng)寄存器,并且相應(yīng)寄存器210可以配置成存儲(chǔ)映射到該核112的邏輯核。相應(yīng)地,寄存器210可以包括將分配到核112A的邏輯核的第一寄存器、存儲(chǔ)分配到核112B的邏輯核的第二寄存器等。在多種實(shí)施方案中,操作系統(tǒng)122、核112、I/O裝置等可以配置成從寄存器210讀取邏輯映射212以確定要將任務(wù)分配到哪里(即,核112中哪些核要執(zhí)行任務(wù))。
[0047]在一個(gè)實(shí)施方案中,確定單元220配置成識(shí)別何時(shí)要執(zhí)行邏輯核至物理核的重新映射,以及確定邏輯核重新映射。確定單元220可以使何時(shí)要執(zhí)行重新映射的決策基于多種適合條件的任一個(gè)條件。在一個(gè)實(shí)施方案中,確定單元220配置成響應(yīng)接收到一個(gè)或多個(gè)核112已進(jìn)入待機(jī)狀態(tài)的指示執(zhí)行重新映射。正如上文提到的,處理器110可以在重新映射期間將一個(gè)核112的執(zhí)行狀態(tài)124傳遞到另一個(gè)核112。在一些實(shí)施方案中,處理器110配置成通過使核112在退出待機(jī)狀態(tài)時(shí)加載另一個(gè)核112的執(zhí)行狀態(tài)124來執(zhí)行此傳遞。通過在核112已進(jìn)入待機(jī)狀態(tài)之后執(zhí)行重新映射,在一個(gè)實(shí)施方案中,處理器110能夠?qū)⒁粋€(gè)核112的狀態(tài)傳遞到另一個(gè)核,而不會(huì)迫使核112進(jìn)入待機(jī)狀態(tài),因?yàn)樗呀?jīng)處于此狀態(tài)。在一個(gè)實(shí)施方案中,確定單元220配置成按規(guī)則的間隔(例如,在確定自前一次重新映射起已經(jīng)過去特定量時(shí)間量之后)執(zhí)行重新映射。在此類實(shí)施方案中,分配單元114可以配置成使一個(gè)或多個(gè)核112進(jìn)入或退出待機(jī)狀態(tài)以協(xié)助在重新映射期間執(zhí)行狀態(tài)124的傳遞。在其他實(shí)施方案中,分配單元114可以配置成使用如上文描述的那些其他技術(shù)來協(xié)助傳遞執(zhí)行狀態(tài)。在一個(gè)實(shí)施方案中,確定單元220配置成基于對(duì)核112確定的工作負(fù)荷執(zhí)行重新映射。例如,確定單元220可以配置成在確定特定核112的工作負(fù)荷已超過閾值(例如,核112A以在特定性能狀態(tài)下工作持續(xù)特定量時(shí)間)之后執(zhí)行重新映射。在示出的實(shí)施方案中,確定單元220配置成基于從操作系統(tǒng)122接收的核信息222和/或從核112接收的核信息224確定是否要執(zhí)行重新映射。正如下文將結(jié)合圖3描述的,此類信息可以包括指示核112的電源狀態(tài)和/或性能狀態(tài)的工作狀態(tài)信息、指定核112的溫度的溫度信息等。
[0048]確定單元220還可以基于多種適合標(biāo)準(zhǔn)的任一個(gè)標(biāo)準(zhǔn)來確定邏輯核重新映射。在一個(gè)實(shí)施方案中,確定單元220配置成基于物理核112的預(yù)定排序重新映射邏輯核。例如,確定單元220最初可以將邏輯核映射到初始物理核112 (例如,核112A),然后依次將邏輯核重新映射到下一個(gè)物理核112 (例如,核112B)。在另一個(gè)實(shí)施方案中,確定單元220可以配置成基于隨機(jī)生成的序列將邏輯核分配到物理核112。在一些實(shí)施方案中,確定單元220可以配置成基于接收的信息222和/或224來確定重新映射。正如下文將描述的,在一個(gè)實(shí)施方案中,確定單元220可以配置成基于一個(gè)或多個(gè)核112的工作狀態(tài)來確定重新映射。在一個(gè)實(shí)施方案中,確定單元220可以配置成基于從一個(gè)或多個(gè)核112測(cè)量的溫度來確定重新映射。在一些實(shí)施方案中,確定單元220可以配置成基于核112的工作狀態(tài)信息和溫度信息的組合來確定邏輯核重新映射。在多種實(shí)施方案中,確定單元220可以配置成是否要將邏輯核的其中一些或全部重新映射到物理核。例如,確定單元220最初可以確定要重新映射邏輯核的僅一個(gè)子集(例如,基于核112的溫度信息),然后確定要重新映射全部核112 (例如,基于核112的當(dāng)前工作負(fù)荷)。
[0049]在一個(gè)實(shí)施方案中,計(jì)數(shù)器寄存器230配置成存儲(chǔ)確定單元220在確定是否要執(zhí)行邏輯核重新映射時(shí)能夠使用的信息。在一個(gè)實(shí)施方案中,計(jì)數(shù)器寄存器230配置成指示自上次映射或重新映射其已經(jīng)過去的時(shí)間的值。在一個(gè)實(shí)施方案中,計(jì)數(shù)器寄存器230配置成存儲(chǔ)對(duì)應(yīng)于每個(gè)核112的指示核112已在特定電源和/或性能狀態(tài)下工作多久的值。例如,寄存器230可以存儲(chǔ)指定核112A已經(jīng)在超頻性能狀態(tài)下工作持續(xù)最后N秒的值。在一個(gè)實(shí)施方案中,計(jì)數(shù)器寄存器230配置成存儲(chǔ)對(duì)應(yīng)于每個(gè)核112的指示核112已在高于特定閾值溫度的溫度下工作多久的值。
[0050]現(xiàn)在轉(zhuǎn)到圖3,其中示出確定單元220的方框圖。如上文所提到的,在多種實(shí)施方案中,確定單元220配置成識(shí)別何時(shí)要執(zhí)行重新映射,以及確定重新映射。在示出的實(shí)施方案中,確定單元220包括工作狀態(tài)單元310和溫度單元320。
[0051]在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成為確定單元220處理電源和性能信息312。在多種實(shí)施方案中,信息312包括每個(gè)核112的電源狀態(tài)和性能狀態(tài)的指示。信息312還可以包括指定何時(shí)核112從一種狀態(tài)轉(zhuǎn)變到另一種狀態(tài)(例如指定核112A從性能狀態(tài)Pl轉(zhuǎn)變到性能狀態(tài)PO)的指示。在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成從操作系統(tǒng)122接收信息312。在另一個(gè)實(shí)施方案中,工作狀態(tài)單元310可以配置成直接地從核112接收信息。在一些實(shí)施方案中,工作狀態(tài)單元310配置成在計(jì)數(shù)器寄存器230中存儲(chǔ)以及檢索與信息312關(guān)聯(lián)的信息(示出為計(jì)數(shù)器信息332)。
[0052]在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成使用處理的信息312來協(xié)助確定單元220確定是否要?jiǎng)?chuàng)建新邏輯核映射332。在一些實(shí)施方案中,工作狀態(tài)單元310配置成響應(yīng)一個(gè)或多個(gè)核112轉(zhuǎn)變到新工作狀態(tài)促成邏輯核重新映射。例如,在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成響應(yīng)至少一個(gè)核112進(jìn)入待機(jī)狀態(tài)促成重新映射。如上所提到的,在一些實(shí)施方案中,核112可以配置成重新映射之后,在進(jìn)入待機(jī)狀態(tài)時(shí)存儲(chǔ)其執(zhí)行狀態(tài)124,并且可以在退出待機(jī)狀態(tài)時(shí)重新加載另一個(gè)核112的執(zhí)行狀態(tài)124。在一些實(shí)施方案中,工作狀態(tài)單元310配置成基于核112已經(jīng)處于特定性能狀態(tài)或電源狀態(tài)多久來促成重新映射。例如,工作狀態(tài)單元310可以配置成在確定特定核112已經(jīng)處于高性能狀態(tài)(例如,PO)下持續(xù)比指定時(shí)間更長時(shí)促成重新映射。相似地,工作狀態(tài)單元310可以配置成在確定特定核112已經(jīng)在超頻狀態(tài)下工作持續(xù)比指定時(shí)間更長時(shí)促成重新映射。在一些實(shí)施方案中,工作狀態(tài)單元310可以配置成基于該核的工作狀態(tài)和該狀態(tài)下持續(xù)的時(shí)間來計(jì)算每個(gè)核112的工作負(fù)荷得分。工作狀態(tài)單元310可以配置成如果個(gè)別得分超過閾值或如果總得分超過總閾值,則促成重新映射。在一些實(shí)施方案中,可以將此類得分與溫度單元320生成的得分組合(如下文描述)以確定何時(shí)應(yīng)該執(zhí)行重新映射。[0053]在一個(gè)實(shí)施方案中,工作狀態(tài)單元310還配置成使用處理的信息312來協(xié)助確定單元220確定邏輯核映射332。在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成促使確定單元220將邏輯核重新映射到在待機(jī)狀態(tài)下工作的物理核112,并且不對(duì)非在待機(jī)狀態(tài)下工作的物理核112重新映射邏輯核。在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成促使確定單元220將從處于較高工作狀態(tài)的核112向處于較低工作狀態(tài)的核112重新映射邏輯核。在一個(gè)實(shí)施方案中,工作狀態(tài)單元310配置成促使確定單元220在將邏輯核重新映射到已經(jīng)處于較高工作狀態(tài)而持續(xù)較短時(shí)間段的核112之前,先將邏輯核重新映射到已經(jīng)處于較高工作狀態(tài)而持續(xù)較長時(shí)間段的核112。
[0054]在一個(gè)實(shí)施方案中,溫度單元320配置成為確定單元220處理溫度信息322。在多種實(shí)施方案中,信息322包括在整個(gè)處理器110收集的一個(gè)或多個(gè)溫度。在一個(gè)實(shí)施方案中,溫度單元320配置成從位于核112上的多個(gè)傳感器接收信息322。在一些實(shí)施方案中,溫度單元320可以配置成在計(jì)數(shù)器寄存器320中存儲(chǔ)以及檢索與信息322關(guān)聯(lián)的信息332。
[0055]在一個(gè)實(shí)施方案中,溫度單元320配置成使用處理的信息322來協(xié)助確定單元220確定是否要?jiǎng)?chuàng)建新邏輯核映射332。在一些實(shí)施方案中,溫度單元320可以配置成響應(yīng)確定核112已經(jīng)超過最大溫度閾值,促使確定單元220執(zhí)行邏輯核重新映射。在一個(gè)實(shí)施方案中,溫度單元320可以配置成確定核112是否超過閾值溫度,以及如果情況如此,則確定核112已經(jīng)超過該溫度多久。在核112已超過該溫度持續(xù)指定時(shí)間段之后,溫度單元320可以配置成促成邏輯核重新映射。在一個(gè)實(shí)施方案中,溫度單元320可以配置成基于從核112收集的溫度和處于這些溫度下持續(xù)的時(shí)間,計(jì)算每個(gè)核112的工作負(fù)荷得分。然后溫度單元320可以配置成如果這些得分超過閾值,則促成重新映射。在一些實(shí)施方案中,可以將此類得分與工作狀態(tài)單元310生成的得分組合以確定何時(shí)應(yīng)該執(zhí)行重新映射。
[0056]在一個(gè)實(shí)施方案中,溫度單元320還配置成使用處理的信息322來協(xié)助確定單元220確定邏輯核映射332。在一個(gè)實(shí)施方案中,溫度單元320配置成促使確定單元220將從處于較高溫度工作的核112向處于較低溫度工作的核112重新映射邏輯核。在一個(gè)實(shí)施方案中,溫度單元320可以配置成促使確定單元220在將邏輯核重新映射到已經(jīng)處于較高溫度而持續(xù)較短時(shí)間段工作的核112之前,將邏輯核重新映射到已經(jīng)處于相似溫度而持續(xù)較長時(shí)間段的核112。
[0057]現(xiàn)在轉(zhuǎn)到圖4,示出用于動(dòng)態(tài)地重新映射邏輯核的方法400的流程圖。方法400是可以通過多核處理器(如處理器110)執(zhí)行的方法的一個(gè)實(shí)施方案。在多種實(shí)施方案中,可以多次執(zhí)行方法400以便執(zhí)行后續(xù)重新映射。在一些情況中,執(zhí)行方法400可以在處理器核中產(chǎn)生更好的工作負(fù)荷分布,進(jìn)而可以改善處理器的使用壽命。
[0058]在步驟410中,處理器110存儲(chǔ)邏輯核至物理核的映射。如上文所論述的,在多種實(shí)施方案中,此映射可以被操作系統(tǒng)、其他核、I/o裝置等用于對(duì)物理核(例如,核112)分配任務(wù)來執(zhí)行。在一個(gè)實(shí)施方案中,處理器110將映射存儲(chǔ)在分配單元(例如分配單元114)的一組寄存器(例如,寄存器230)中。在其他實(shí)施方案中,處理器110將映射存儲(chǔ)在如存儲(chǔ)器(例如存儲(chǔ)器120)、BIOS (例如,B10S130)等內(nèi)的其他位置。在一些情況中,存儲(chǔ)的映射可以是(例如)計(jì)算機(jī)系統(tǒng)(例如系統(tǒng)100)的引導(dǎo)進(jìn)程期間生成的初始映射。在其他情況中,存儲(chǔ)的映射可以是先前執(zhí)行的重新映射期間生成的映射。
[0059]在步驟420中,處理器110 (例如使用分配單元114)在引導(dǎo)進(jìn)程之后將邏輯核重新映射到物理核。然后在多種實(shí)施方案中,可以使用此重新映射將后續(xù)任務(wù)分配給物理核以便執(zhí)行。如上文論述的,處理器110 (例如使用確定單元220)可以基于多種條件中的任一個(gè)條件來識(shí)別何時(shí)要執(zhí)行重新映射。在一個(gè)實(shí)施方案中,處理器110可以按規(guī)律的間隔執(zhí)行重新映射。在一些實(shí)施方案中,處理器110可以基于物理核的一個(gè)或多個(gè)工作狀態(tài)來確定要執(zhí)行重新映射。例如,在一個(gè)實(shí)施方案中,處理器110可以響應(yīng)一個(gè)或多個(gè)核進(jìn)入待機(jī)狀態(tài)而確定要執(zhí)行重新映射。在一些實(shí)施方案中,處理器110可以基于從核收集的溫度信息來確定要執(zhí)行重新映射。
[0060]正如上文論述的,處理器110可以基于多種適合標(biāo)準(zhǔn)的任一個(gè)標(biāo)準(zhǔn)來確定重新映射。在一個(gè)實(shí)施方案中,處理器110可以基于物理核的預(yù)定排序來將邏輯核重新映射到物理核。例如,如果邏輯核LO被分配到物理核PO,并且物理核Pl在排序中緊接在PO之后,則可以將邏輯核LO重新映射到核P1。在一些實(shí)施方案中,處理器110可以基于核的工作狀態(tài)來確定重新映射。例如,在一個(gè)實(shí)施方案中,處理器110可以將邏輯核從處于較高工作狀態(tài)的物理核(例如,處于性能狀態(tài)PO的物理核)重新映射到處于較低工作狀態(tài)的物理核(例如,處于性能狀態(tài)Pl的物理核)。在一些實(shí)施方案中,處理器110可以基于從物理核測(cè)量的溫度來確定重新映射。例如,在一個(gè)實(shí)施方案中,處理器110可以將邏輯核從在較高溫度下工作的物理核重新映射到在較低溫度下工作的物理核。
[0061]在多種實(shí)施方案中,處理器110響應(yīng)重新映射在物理核之間傳遞執(zhí)行狀態(tài)。如上所述,在一些實(shí)施方案中,處理器110通過將執(zhí)行狀態(tài)存儲(chǔ)到存儲(chǔ)器,然后將執(zhí)行狀態(tài)重新加載到第二核上,以將執(zhí)行狀態(tài)從第一核傳遞到第二核。在一個(gè)實(shí)施方案中,處理器110通過促使第一核進(jìn)入待機(jī)狀態(tài)來執(zhí)行存儲(chǔ),在該待機(jī)狀態(tài)中,該核將其執(zhí)行狀態(tài)存儲(chǔ)到存儲(chǔ)器。處理器110可以通過促使第二核退出待機(jī)狀態(tài)并重新加載執(zhí)行狀態(tài)來執(zhí)行重新加載。
[0062]示例性計(jì)算機(jī)系統(tǒng)
[0063]現(xiàn)在轉(zhuǎn)到圖5,其中示出可以包括處理器110的示例性計(jì)算機(jī)系統(tǒng)500的一個(gè)實(shí)施方案。計(jì)算機(jī)系統(tǒng)500包括處理器子系統(tǒng)580,該處理器子系統(tǒng)經(jīng)由互連560 (例如,系統(tǒng)總線)耦合到系統(tǒng)存儲(chǔ)器520和I/O接口 540。I/O接口 540耦合到一個(gè)或多個(gè)I/O設(shè)備550。計(jì)算機(jī)系統(tǒng)500可以是多種類型的設(shè)備的任一種,包括(但不限于)服務(wù)器系統(tǒng)、個(gè)人計(jì)算機(jī)系統(tǒng)、桌面型計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、主機(jī)計(jì)算機(jī)系統(tǒng)、手持式計(jì)算機(jī)、工作站、網(wǎng)絡(luò)計(jì)算機(jī)、如移動(dòng)電話、傳呼機(jī)或個(gè)人數(shù)字助理(PDA)的消費(fèi)設(shè)備。計(jì)算機(jī)系統(tǒng)500還可以是任何類型的聯(lián)網(wǎng)的外圍設(shè)備,如存儲(chǔ)設(shè)備、交換機(jī)、調(diào)制解調(diào)器、路由器等。雖然出于方便,示出單個(gè)的計(jì)算機(jī)系統(tǒng)500,但是系統(tǒng)500還可以作為一起操作的兩個(gè)或更多個(gè)計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)。
[0064]處理器子系統(tǒng)580可以包括一個(gè)或多個(gè)處理器或處理單元。例如,處理器子系統(tǒng)580可以包括耦合到一個(gè)或多個(gè)資源控制處理元件520的一個(gè)或多個(gè)處理單元(每個(gè)處理單元可以具有多個(gè)處理元件或核)。在計(jì)算機(jī)系統(tǒng)500的多種實(shí)施方案中,可以將處理器子系統(tǒng)580的多個(gè)實(shí)例耦合到互連560。在多種實(shí)施方案中,處理器子系統(tǒng)580 (或580內(nèi)的每個(gè)處理器單元或處理元件)可以包括高速緩存或其他形式的板載存儲(chǔ)器。在一個(gè)實(shí)施方案中,處理器子系統(tǒng)580可以包括上文描述的處理器110。
[0065]系統(tǒng)存儲(chǔ)器520可以被處理器子系統(tǒng)580使用。系統(tǒng)存儲(chǔ)器520可以使用不同的物理存儲(chǔ)器介質(zhì)(如硬盤存儲(chǔ)裝置、軟盤存儲(chǔ)裝置、移動(dòng)盤存儲(chǔ)裝置、閃存存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器(RAM-靜態(tài)RAM (SRAM)、擴(kuò)充的數(shù)據(jù)輸出(EDO) RAM、同步動(dòng)態(tài)RAM (SDRAM)、雙數(shù)據(jù)速率(DDR) SDRAM、RAMBUS RAM等)、只讀存儲(chǔ)器(ROM -可編程ROM (PROM)、電可擦寫可編程ROM (EEPROM)等)等來實(shí)現(xiàn)。計(jì)算機(jī)系統(tǒng)500中的存儲(chǔ)器不限于如存儲(chǔ)器520的主存儲(chǔ)裝置。相反,計(jì)算機(jī)系統(tǒng)500還可以包括其他形式的存儲(chǔ)裝置,如處理器子系統(tǒng)580中的高速緩存存儲(chǔ)器和1/0設(shè)備550上的輔助存儲(chǔ)裝置(例如,硬盤驅(qū)動(dòng)器、存儲(chǔ)裝置陣列等)。在一些實(shí)施方案中,這些其他形式的存儲(chǔ)裝置還可以存儲(chǔ)處理器子系統(tǒng)580可執(zhí)行的程序指令。
[0066]根據(jù)多種實(shí)施方案,1/0接口 540可以是耦合到其他設(shè)備并與之通信的多種類型的接口的任一種。在一個(gè)實(shí)施方案中,I/o接口 540是從前端到一個(gè)或多個(gè)后端總線的橋芯片(例如,南橋)。1/0接口 540可以經(jīng)由一個(gè)或多個(gè)對(duì)應(yīng)總線或其他接口耦合到一個(gè)或多個(gè)1/0設(shè)備550。1/0設(shè)備的實(shí)例包括存儲(chǔ)設(shè)備(硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、移動(dòng)閃存裝置、存儲(chǔ)陣列、SAN或其關(guān)聯(lián)的控制器)、網(wǎng)絡(luò)接口設(shè)備(例如局域網(wǎng)或廣域網(wǎng))或其他設(shè)備(例如,圖形設(shè)備、用戶接口設(shè)備等)。在一個(gè)實(shí)施方案中,計(jì)算機(jī)系統(tǒng)500經(jīng)由網(wǎng)絡(luò)接口設(shè)備連接到網(wǎng)絡(luò)。
[0067]可以將計(jì)算機(jī)系統(tǒng)(例如計(jì)算機(jī)系統(tǒng)500)執(zhí)行的程序指令存儲(chǔ)在多種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上。一般來說,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括計(jì)算機(jī)可讀取以向計(jì)算機(jī)提供指令和/或數(shù)據(jù)的任何非臨時(shí)性/有形存儲(chǔ)介質(zhì)。例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括諸如磁介質(zhì)或光介質(zhì),例如磁盤(固定或移動(dòng))、磁帶、CD-ROM或DVD-ROM、CD-R、CD-RW、DVD-R、DVD-Rff或藍(lán)光的存儲(chǔ)介質(zhì)。存儲(chǔ)介質(zhì)還可以包括易失性或非易失性存儲(chǔ)器介質(zhì),如RAM(例如,同步動(dòng)態(tài)RAM (SDRAM)、雙數(shù)據(jù)速率(DDR、DDR2、DDR3等)SDRAM、低功率DDR (LPDDR2等)SDRAM,Rambus DRAM (RDRAM)、靜態(tài)RAM (SRAM)等)、R0M、閃存存儲(chǔ)器、可經(jīng)由如通用串行總線(USB)接口的外設(shè)接口訪問的非易失性存儲(chǔ)器(例如,閃存存儲(chǔ)器)等。存儲(chǔ)介質(zhì)可以包括微機(jī)電系統(tǒng)(MEMS),以及可經(jīng)由通信介質(zhì)(如網(wǎng)絡(luò)和/或無線鏈路)訪問的存儲(chǔ)介質(zhì)。
[0068]在一些實(shí)施方案中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以用于存儲(chǔ)被程序讀取且直接或間接地用于制造上文描述的處理器110的硬件的指令。例如,指令可以概述一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),該一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)描述高級(jí)設(shè)計(jì)語言(HDL)(如Verilog或VHDL)中的硬件功能行為級(jí)或寄存器傳遞級(jí)(RTL)描述。該描述可以被合成工具讀取,合成工具可以將描述合成以產(chǎn)生網(wǎng)表(netlist)。該網(wǎng)表可以包括表示處理器110的功能的一組門(例如,合成庫中定義的)。然后可以放置和路由網(wǎng)表來產(chǎn)生描述應(yīng)用于掩膜的幾何形狀的數(shù)據(jù)集。然后可以在多種半導(dǎo)體制造步驟中使用這些掩膜以產(chǎn)生與處理器110對(duì)應(yīng)的一個(gè)或多個(gè)半導(dǎo)體電路。
[0069]雖然上文描述了具體實(shí)施方案,但是這些實(shí)施方案無意限制本公開內(nèi)容的范圍,即使針對(duì)特定特征僅描述了一個(gè)實(shí)施方案。除非另行說明,否則本公開內(nèi)容中提供的特征的示例應(yīng)是說明性的,而非限制性的。正如對(duì)從本公開內(nèi)容獲益的本領(lǐng)域技術(shù)人員顯而易見的,上文描述應(yīng)旨在涵蓋此類替代、修改和等效物。
[0070]本公開內(nèi)容的范圍包括本文公開的任何特征或多個(gè)特征的組合(無論顯性還是隱含的)或其任何概括,無論它是否緩解了本文涉及的問題的任何一個(gè)或全部。相應(yīng)地,可以在本申請(qǐng)(或?qū)ζ湟髢?yōu)先權(quán)的申請(qǐng))提交審查期間提出對(duì)特征的任何此類組合的新權(quán)利要求。具體來說,參考所附權(quán)利要求書,可以將從屬權(quán)利要求中的特征與獨(dú)立權(quán)利要求的特征組合,以及可以將相應(yīng)的獨(dú)立權(quán)利要求中的特征以任何適合的方式且不僅是所附權(quán)利要求書中枚舉的特定組合中來進(jìn)行組合。
【權(quán)利要求】
1.一種處理器,其包括: 多個(gè)物理核,其中所述處理器配置成存儲(chǔ)邏輯核至所述多個(gè)物理核的映射;以及 分配單元,所述分配單元配置成在所述處理器引導(dǎo)進(jìn)程之后將所述邏輯核重新映射到所述多個(gè)物理核。
2.如權(quán)利要求1所述的處理器,其中所述分配單元配置成接收所述多個(gè)物理核中的一個(gè)或多個(gè)已經(jīng)進(jìn)入待機(jī)狀態(tài)的指示,以及其中所述分配單元配置成響應(yīng)接收到所述指示重新映射所述邏輯核。
3.如權(quán)利要求2所述的處理器,其中所述處理器配置成響應(yīng)所述多個(gè)物理核的第一物理核進(jìn)入待機(jī)狀態(tài),存儲(chǔ)所述第一物理核的執(zhí)行狀態(tài),以及其中所述處理器配置成響應(yīng)所述第一物理核退出待機(jī)狀態(tài),以所述多個(gè)物理核的第二物理核的執(zhí)行狀態(tài)加載所述第一物理核。
4.如權(quán)利要求1所述的處理器,其中所述分配單元配置成確定自執(zhí)行所述邏輯核的前次重新映射起已經(jīng)過去的時(shí)間量,以及其中所述分配單元配置成響應(yīng)所述時(shí)間量超過閾值,重新映射所述邏輯核。
5.如權(quán)利要求1所述的處理器,其中所述分配單元配置成確定所述多個(gè)物理核中的一個(gè)或多個(gè)的相應(yīng)工作負(fù)荷,以及其中所述分配單元配置成基于所述一個(gè)或多個(gè)確定的工作負(fù)荷,將所述邏輯核的一個(gè)或多個(gè)重新映射到所述多個(gè)物理核的一個(gè)或多個(gè)。
6.如權(quán)利要求1所述的處理器,其中所述分配單元配置成接收所述多個(gè)物理核的一個(gè)或多個(gè)的溫度信息,以及其中所述分配單元配置成基于所述接收的溫度信息,將所述邏輯核的一個(gè)或多個(gè)重新映射到所述多個(gè)物理核的一個(gè)或多個(gè)。
7.如權(quán)利要求1所述的處理器,其中所述處理器配置成存儲(chǔ)所述多個(gè)物理核中第一物理核的執(zhí)行狀態(tài)和所述多個(gè)物理核中第二物理核的執(zhí)行狀態(tài),以及其中所述處理器配置成響應(yīng)所述分配單元將映射到所述第一和第二物理核的邏輯核重新映射,以所述第二物理核的存儲(chǔ)的執(zhí)行狀態(tài)加載所述第一物理核,以及以所述第一物理核的存儲(chǔ)的執(zhí)行狀態(tài)加載所述第二物理核。
8.如權(quán)利要求1所述的處理器,其中所述處理器配置成將所述多個(gè)物理核中的一個(gè)超頻,以及其中所述分配單元配置成基于所述物理核已超頻的時(shí)間長度,將邏輯核重新映射到所述超頻的物理核。
9.如權(quán)利要求1所述的處理器,其中所述分配單元配置成執(zhí)行所述邏輯核的子集至所述多個(gè)物理核中的多個(gè)物理核的重新映射,而不重新映射全部邏輯核。
10.一種方法,其包括: 處理器上的多個(gè)物理核執(zhí)行一組任務(wù),其中所述一組任務(wù)是基于邏輯核至所述多個(gè)物理核的映射來分配;以及 當(dāng)操作系統(tǒng)在執(zhí)行時(shí),所述處理器將所述邏輯核重新映射到所述多個(gè)物理核,其中基于所述重新映射分配一組附加任務(wù)。
11.如權(quán)利要求10所述的方法,還包括: 響應(yīng)邏輯核從所述第一物理核重新映射到所述第二物理核,所述處理器將當(dāng)前執(zhí)行狀態(tài)從所述多個(gè)物理核中的第一物理核傳遞到所述多個(gè)物理核中的第二物理核。
12.如權(quán)利要求11所述的方法,其中所述傳遞包括將所述執(zhí)行狀態(tài)存儲(chǔ)到耦合至所述處理器的存儲(chǔ)器,并將所述執(zhí)行狀態(tài)重新加載在所述第二物理核上。
13.如權(quán)利要求12所述的方法,其中所述傳遞包括所述第二物理核退出待機(jī)狀態(tài)以重新加載所述第一物理核的執(zhí)行狀態(tài)。
14.如權(quán)利要求10所述的方法,其中所述處理器基于所述多個(gè)物理核中的多個(gè)的相應(yīng)性能狀態(tài)來確定重新映射。
15.如權(quán)利要求14所述的方法,其中所述重新映射包括將邏輯核從處于較高性能狀態(tài)的第一物理核重新映射到處于較低性能狀態(tài)的第二物理核。
16.如權(quán)利要求10所述的方法,其中所述處理器基于從所述多個(gè)物理核收集的一個(gè)或多個(gè)溫度來確定重新映射。
17.如權(quán)利要求10所述的方法,還包括: 所述處理器按規(guī)則的間隔執(zhí)行所述邏輯核至所述多個(gè)物理核的重新映射。
18.—種包括由計(jì)算機(jī)系統(tǒng)上可執(zhí)行的程序操作的數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序操作所述數(shù)據(jù)結(jié)構(gòu)以執(zhí)行一部分進(jìn)程以制造包括由所述數(shù)據(jù)結(jié)構(gòu)描述的電路的處理器,所述數(shù)據(jù)結(jié)構(gòu)描述的電路包括: 多個(gè)物理核,其中所述處理器配置成存儲(chǔ)邏輯核至所述多個(gè)物理核的映射;以及 分配單元,所述分配單元配置成在所述處理器引導(dǎo)進(jìn)程之后將所述邏輯核重新映射到所述多個(gè)物理核。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述處理器配置成在存儲(chǔ)器中存儲(chǔ)來自所述多個(gè)物理核中的所述第 一物理核的執(zhí)行狀態(tài),并將所述執(zhí)行狀態(tài)加載在所述多個(gè)物理核的所述第二物理核上來響應(yīng)邏輯核從所述第一物理核重新映射到所述第二物理核。
20.如權(quán)利要求18所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述存儲(chǔ)介質(zhì)存儲(chǔ)硬件描述語言(HDL)數(shù)據(jù)、Verilog數(shù)據(jù)或圖形數(shù)據(jù)庫系統(tǒng)II (⑶SII)數(shù)據(jù)。
【文檔編號(hào)】G06F9/50GK103477324SQ201280018246
【公開日】2013年12月25日 申請(qǐng)日期:2012年4月13日 優(yōu)先權(quán)日:2011年4月14日
【發(fā)明者】邁克爾·J·奧斯本, 塞巴斯蒂安·J·努斯鮑姆 申請(qǐng)人:超威半導(dǎo)體公司