亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

提高多內(nèi)核處理器性能的方法、系統(tǒng)和裝置的制作方法

文檔序號:6423925閱讀:175來源:國知局
專利名稱:提高多內(nèi)核處理器性能的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明所公開的內(nèi)容涉及功率管理領(lǐng)域。更具體地說,本發(fā)明的公開內(nèi)容涉及一種盡管有功率約束也可提高多內(nèi)核(multi-core)處理器性能的新方法和裝置。
背景技術(shù)
對于多種類型的系統(tǒng)和集成設(shè)備例如服務(wù)器、膝上計算機、處理器和桌面計算機來說,功率管理方案可減少功耗從而實現(xiàn)低功率的應(yīng)用。一般地,對系統(tǒng)和集成設(shè)備采用軟件方法來支持多功率狀態(tài),從而至少部分地基于中央處理單元(CPU)的活動性來優(yōu)化性能。
當(dāng)前的功率管理方案或者降低電壓或頻率,或者同時降低二者,從而減少功耗。然而,這使得整體性能降低了。而且,一些方法包含了若干模擬設(shè)計,這些模擬設(shè)計具有和用于暫態(tài)工作負(fù)載、校準(zhǔn)及調(diào)諧的循環(huán)穩(wěn)定性相關(guān)的許多挑戰(zhàn)。
隨著多內(nèi)核的處理器的引入,功率管理成為了一個很大的問題,因為多個內(nèi)核以高頻率和高電壓運行,并且需要遵守多種功率約束,例如熱極限、最大電流以及Vcc范圍等。

發(fā)明內(nèi)容
為了解決以上問題,本發(fā)明提供了一種盡管有功率約束也可提高多內(nèi)核(multi-core)處理器性能的新方法和裝置。根據(jù)本發(fā)明的一個方面,所要求的主題物是一種用于在多個處理器內(nèi)核當(dāng)中禁止到其中至少一個處理器內(nèi)核的時鐘的方法,該方法包括至少部分地基于工作負(fù)載,計算執(zhí)行內(nèi)核極限;執(zhí)行n個可用線程,其中n是整數(shù);啟用m個處理器內(nèi)核,其中m是整數(shù),并小于或等于可用線程的數(shù)量n。
根據(jù)本發(fā)明的另一方面,還提供了一種用于為多個處理器內(nèi)核中的至少一個處理器內(nèi)核選擇電壓和頻率工作點的方法,包括預(yù)測在所有所述多個處理器內(nèi)核上運行的多個線程的活動性級別;至少部分地基于所述活動性級別,啟用所述多個處理器內(nèi)核中的一個子集。
根據(jù)本發(fā)明的另一方面,本發(fā)明所要求的主題物中還包括一種用于多個多內(nèi)核處理器的狀態(tài)圖,其包括用于未分配線程的內(nèi)核的第一狀態(tài);第二狀態(tài),該狀態(tài)讓一個隊列存儲分配有線程的內(nèi)核;用于啟用所述內(nèi)核以運行線程的第三狀態(tài);以及用于禁止內(nèi)核的第四狀態(tài)。
根據(jù)本發(fā)明的又一方面,本發(fā)明還提供了一種用于多個多內(nèi)核處理器的狀態(tài)圖的方法,該方法包括向未分配線程的內(nèi)核分配第一狀態(tài);對于存儲分配有線程的內(nèi)核的隊列,分配第二狀態(tài);比較已啟用的內(nèi)核數(shù)量和執(zhí)行內(nèi)核極限,如果所述已啟用內(nèi)核的數(shù)量小于所述執(zhí)行內(nèi)核極限,則分配第三狀態(tài)以啟用所述內(nèi)核來運行一個線程;以及分配第四狀態(tài)以禁止內(nèi)核。
根據(jù)本發(fā)明的另外一方面,所要求的主題物中還包括一種多內(nèi)核處理器系統(tǒng),該系統(tǒng)包括至少一個多內(nèi)核處理器,其耦合到緩存,并至少耦合到兩條用于接收請求和響應(yīng)的順時鐘方向的總線;和內(nèi)核定量分配邏輯,用于管理已啟用內(nèi)核的數(shù)量以使其小于或等于執(zhí)行內(nèi)核極限。


附圖中示例性而非限制性地示出了本發(fā)明。
圖1示出了根據(jù)實施例而利用的方法的流程圖。
圖2示出了根據(jù)實施例而利用的柱狀圖。
圖3示出了根據(jù)實施例而利用的柱狀圖。
圖4示出了根據(jù)一個實施例的裝置。
具體實施例方式
下面的描述提供了用于盡管存在功率約束也可提高多內(nèi)核處理器性能的方法和裝置。在下面的描述中,給出了大量具體細(xì)節(jié)以提供對本發(fā)明更透徹的理解。然而,本領(lǐng)域內(nèi)的技術(shù)人員將會認(rèn)識到?jīng)]有這些具體細(xì)節(jié)也可實施本發(fā)明。利用所包含的描述,本領(lǐng)域內(nèi)的技術(shù)人員不必進行太多試驗就能夠?qū)崿F(xiàn)適當(dāng)?shù)倪壿嬰娐贰?br> 如上所述,在遵守功率約束的同時提高處理器性能會存在一個問題?,F(xiàn)有的方法包括以降低整體性能為代價來降低電壓或頻率。相反,所要求的主題物在遵守功率約束的同時提高了整體性能。例如,“為處理器系統(tǒng)定量分配執(zhí)行內(nèi)核的數(shù)量”這一原理使得在若干內(nèi)核等待存儲器事務(wù)完成時的空閑狀態(tài)下禁止其時鐘,因而提高頻率。例如,所要求的主題物利用了通過禁止到某些處理器內(nèi)核的時鐘而形成的這些內(nèi)核的空閑時間段,從而獲得了較少的功耗。因此,由于降低了功耗,所以可以利用更高的頻率。在一個實施例中,對于所述工作負(fù)載計算合適的執(zhí)行內(nèi)核極限。而且,在同一個實施例中,所述執(zhí)行內(nèi)核的數(shù)量小于或等于可用并就緒的線程的數(shù)量。線程是用于特定應(yīng)用的一個獨立指令集合。
在一個實施例中,所要求的主題物基于對運行在所有內(nèi)核上的線程的活動性水平進行總體性的預(yù)測,從而幫助選擇一個電壓/頻率工作點。例如,TPC-C線程往往在50-60%的時間中是活動的,它們40-50%的時間是空閑的,等待存儲器引用的完成。在這種環(huán)境下,在一個實施例中,可以指定這樣的執(zhí)行內(nèi)核極限,其等于管芯上內(nèi)核總數(shù)的60%;在此情形下,如果有8個內(nèi)核,則可以將執(zhí)行內(nèi)核極限設(shè)置為5。然后,可以指定一個電壓-頻率工作點,其對應(yīng)于在一個時刻只有5個活動的內(nèi)核,3個內(nèi)核不活動(低功率狀態(tài));這一工作頻率與如果允許所有8個內(nèi)核同時都活動時可以指定的頻率相比要高得多。所述內(nèi)核定量分配邏輯約束了管芯的工作,確保在任何給定的時刻都不會有超過5個(在此情形下)內(nèi)核是活動的。收集關(guān)于等待和定量分配隊列的占用情況的統(tǒng)計數(shù)據(jù)(下面將結(jié)合圖1進一步討論);以一定的間隔對這些統(tǒng)計數(shù)據(jù)進行分析,以確定是否應(yīng)改變工作點(執(zhí)行內(nèi)核極限及其關(guān)聯(lián)電壓/頻率對)。如果等待隊列總是為空而定量分配隊列總是為滿,這就指示了內(nèi)核在可以推進時卻沒有推進,并且指示了應(yīng)該提高執(zhí)行內(nèi)核極限并且降低電壓/頻率,以提高性能;相反,如果定量分配隊列總是為空而等待隊列總是為滿,這就指示了可以通過降低執(zhí)行內(nèi)核極限并提高電壓/頻率點來提高性能。
圖1示出了根據(jù)實施例而利用的方法的流程圖。在一個實施例中,該流程圖示出了用于狀態(tài)圖的方法。
在同一實施例中,所述狀態(tài)圖示出了用于系統(tǒng)中的處理器內(nèi)核的預(yù)定狀態(tài)機。在這一相同的實施例中,所述狀態(tài)機輔助“內(nèi)核的定量分配”,由于禁止了到等待存儲器事務(wù)完成的內(nèi)核的時鐘,因而提高了處理器性能。
在一個實施例中,所述狀態(tài)圖具有4個已定義的狀態(tài),如“內(nèi)核未分配”狀態(tài)202、“執(zhí)行”狀態(tài)204、“定量分配FIFO隊列”狀態(tài)206以及“等待”狀態(tài)208。一開始,如下定義“內(nèi)核未分配”狀態(tài)每個內(nèi)核都沒有所分配的線程。隨后,如果一個線程被分配到某個內(nèi)核,則所要求的主題物轉(zhuǎn)換到“定量分配FIFO隊列”狀態(tài)206。在一個實施例中,F(xiàn)IFO被定義為先進先出。
一轉(zhuǎn)換到“定量分配FIFO隊列”狀態(tài),則確定執(zhí)行內(nèi)核的數(shù)量和執(zhí)行內(nèi)核極限(ECL)之間的對比關(guān)系。在一個實施例中,處理器或系統(tǒng)規(guī)范確定了合適的執(zhí)行內(nèi)核極限以遵守?zé)峁β士紤]因素。在一個實施例中,ECL由應(yīng)用中下面將描述的公式來確定。當(dāng)執(zhí)行內(nèi)核的數(shù)量小于ECL時,如果某個特定的內(nèi)核是FIFO隊列中將得到處理的下一個內(nèi)核,則該內(nèi)核轉(zhuǎn)換到“執(zhí)行”狀態(tài)204。否則,該內(nèi)核仍處于“定量分配FIFO隊列”狀態(tài)206。
一進入“執(zhí)行”狀態(tài),所述內(nèi)核就保持這一狀態(tài),除非發(fā)生某個事件,例如存儲器引用和過熱事件和/或公平性超時(fairness timeout)。例如,公平性超時可被利用來防止可能出現(xiàn)的現(xiàn)場鎖定(live lock)狀態(tài)。在此上下文中,存儲器引用指的是對特定存儲器地址的讀或?qū)懖僮鳎摯鎯ζ鞯刂肺瘩v留在耦合到處理器的任何緩存中(“所有緩存級中的缺失”)。因此,啟動對主存儲器的訪問。
如果發(fā)生了上述事件,則內(nèi)核轉(zhuǎn)換到“等待”狀態(tài)208。事件一完成,內(nèi)核就轉(zhuǎn)換到“定量分配FIFO隊列”狀態(tài)。在所述特定的線程完成之前,在狀態(tài)204、206和208之間的這一循環(huán)序列會一直發(fā)生。線程一完成,內(nèi)核就轉(zhuǎn)換到“內(nèi)核未分配”狀態(tài)。
然而,所要求的主題物并不局限于所述狀態(tài)圖中的4個已定義的狀態(tài)。所要求的主題物支持不同數(shù)量的狀態(tài)。圖1只是示出了這樣的一個示例,其中將執(zhí)行內(nèi)核的數(shù)量限制為小于可用的線程的數(shù)量。例如,一個實施例可允許有多個等待狀態(tài)?;蛘撸龅却隣顟B(tài)可以被另一個隊列狀態(tài)取代。而且,根據(jù)觸發(fā)從執(zhí)行狀態(tài)退出的事件的屬性,狀態(tài)圖的其他實施例可對內(nèi)核實現(xiàn)多種優(yōu)先級,并且可具有不同的等待隊列(存儲器等待、熱等待、ACPI等待等等)。
一般地,內(nèi)核執(zhí)行存儲器讀或?qū)懖僮?,隨后執(zhí)行取決于所述操作的操作(例如它利用了存儲器讀操作所返回的數(shù)據(jù))。隨后,內(nèi)核“停滯”,等待該存儲器操作完成。在此情形下,它發(fā)出一個信號,向中央內(nèi)核定量分配邏輯表明它已停滯;這表明它可被內(nèi)核定量分配邏輯禁止。內(nèi)核定量分配邏輯通過讓所討論的內(nèi)核進入“短睡”狀態(tài)而對上述信號做出響應(yīng)——它向所述內(nèi)核發(fā)出“短睡”信號,使得該內(nèi)核阻止指令發(fā)射,然后轉(zhuǎn)換到(緩存一致的)低功率狀態(tài)。而且,內(nèi)核定量分配邏輯在等待隊列中為該內(nèi)核置入一個標(biāo)識符。當(dāng)存儲器操作完成時,該內(nèi)核解除所述“停滯”信號;內(nèi)核定量分配邏輯通過將所述內(nèi)核的標(biāo)識符從等待隊列移動到定量分配隊列,從而對該信號做出響應(yīng)。如果當(dāng)前正在執(zhí)行的(未“短睡”的)內(nèi)核的數(shù)量小于或等于執(zhí)行內(nèi)核極限,則內(nèi)核定量分配邏輯將最老的標(biāo)識符從定量分配隊列中去除,并解除到該內(nèi)核的“短睡”信號。
圖2示出了根據(jù)實施例而利用的柱狀圖。在一個實施例中,該柱狀圖示出了根據(jù)對多工作負(fù)載的蒙特卡洛仿真,對16內(nèi)核多處理器而計算的花費在執(zhí)行上的時間百分比。獨立的橫軸示出了2、4、6、8、10、12、14和16的ECL。而且,在利用1%、30%、40%和50%的(針對于執(zhí)行時間的)存儲器引用職責(zé)周期而仿真的不同工作負(fù)載處,對每個ECL都有一個圖柱。
對50%的存儲器引用職責(zé)周期進行分析,它顯示出這一事實,即執(zhí)行時間百分比在50%處飽和。因此,當(dāng)ECL等于可用線程的數(shù)量時,對存儲器引用的處理消耗了一半的執(zhí)行時間。
圖3示出了根據(jù)實施例而利用的柱狀圖。在圖2之外,圖3還示出了根據(jù)執(zhí)行時間百分比和頻率的乘積而計算的總體性能。所述總體性能還包含了頻率與ECL成反比這一事實。如上所述,這一關(guān)系的存在是因為當(dāng)減少執(zhí)行內(nèi)核的數(shù)量時,也使得功耗減少了。因此,可以提高頻率以保持穩(wěn)態(tài)熱極限。
另外,圖3示出了對于30%的存儲器引用職責(zé)周期來說,最大執(zhí)行時間百分比是70%。另外,飽和極限和線程數(shù)量的乘積標(biāo)識出飽和的開始。需要注意飽和的開始,這是因為這可能是改進性能或最優(yōu)性能的區(qū)域。
在一個實施例中,利用了一個自優(yōu)化公式來確定合適的ECL。在該公式中,N表示具有上下文的線程的數(shù)量;%E表示執(zhí)行時間百分比;而%M表示存儲器引用時間百分比。該公式如下int(N×(%E/(%E+%M)))圖4示出了根據(jù)一個實施例的裝置。在一個實施例中,該裝置示出了具有多個處理器410的多內(nèi)核處理器系統(tǒng),所述處理器分別耦合到第三級(L3)緩存的獨立存儲體(bank)。在同一實施例中,4條總線形成2個相反的旋轉(zhuǎn)“環(huán)”——順時針方向的請求/響應(yīng)(REQ0/RSP0)環(huán)(402和404)和逆時針方向的請求/響應(yīng)環(huán)(REQ1/RSP1)(406和408)?!癙”和“C”之間的圓圈表示用于每個環(huán)的一對狀態(tài)設(shè)備。這樣,利用一組循環(huán)流水線來將信息從每個處理器內(nèi)核/緩存存儲體傳遞到任意其他的處理器/緩存存儲體。該系統(tǒng)接口邏輯包含用于存儲器DIMM的存儲器控制器、用于處理到其他處理器管芯或I/O子系統(tǒng)的互連鏈路的路由器邏輯、以及多種其他系統(tǒng)控制邏輯(包括中央內(nèi)核定量分配控制器)。
盡管在附圖中已描述并示出了特定的示例性實施例,但應(yīng)當(dāng)理解到,這些實施例只是對這一廣泛發(fā)明的說明而非限制,本發(fā)明不應(yīng)被局限于所示出和描述的具體構(gòu)造和設(shè)置,因為對本領(lǐng)域內(nèi)的技術(shù)人員來說在研究所公開的內(nèi)容之后可作出多種其它的修改。
權(quán)利要求
1.一種用于在多個處理器內(nèi)核當(dāng)中禁止到其中至少一個處理器內(nèi)核的時鐘的方法,包括至少部分地基于工作負(fù)載,計算執(zhí)行內(nèi)核極限;執(zhí)行n個可用線程,其中n是整數(shù);啟用m個處理器內(nèi)核,其中m是整數(shù),并小于或等于可用線程的數(shù)量n。
2.如權(quán)利要求1所述的方法,其中,當(dāng)至少一個處理器內(nèi)核等待存儲器操作而處于空閑時間中時,禁止到該處理器內(nèi)核的時鐘。
3.如權(quán)利要求1所述的方法,其中,禁止到至少一個處理器內(nèi)核的時鐘導(dǎo)致功耗降低。
4.如權(quán)利要求1所述的方法,其中,禁止到至少一個處理器內(nèi)核的時鐘使得可提高該處理器內(nèi)核的工作頻率。
5.一種用于為多個處理器內(nèi)核中的至少一個處理器內(nèi)核選擇電壓和頻率工作點的方法,包括預(yù)測在所有所述多個處理器內(nèi)核上運行的多個線程的活動性級別;至少部分地基于所述活動性級別,啟用所述多個處理器內(nèi)核中的一個子集。
6.如權(quán)利要求5所述的方法,其中,所述活動性級別是執(zhí)行內(nèi)核極限,所述執(zhí)行內(nèi)核極限至少部分地基于對熱功率考慮因素的遵守。
7.如權(quán)利要求6所述的方法,其中,所述執(zhí)行內(nèi)核極限至少部分地基于一個公式,其中N表示具有上下文的線程數(shù)量;%E表示執(zhí)行時間百分比;而%M表示存儲器引用時間百分比,該公式如下int(N×(%E/(%E+%M)))。
8.一種用于多個多內(nèi)核處理器的狀態(tài)圖,包括用于未分配線程的內(nèi)核的第一狀態(tài);第二狀態(tài),該狀態(tài)讓一個隊列存儲分配有線程的內(nèi)核;用于啟用所述內(nèi)核以運行線程的第三狀態(tài);以及用于禁止內(nèi)核的第四狀態(tài)。
9.如權(quán)利要求8所述的狀態(tài)圖,其中,所述隊列是先進先出隊列。
10.如權(quán)利要求8所述的狀態(tài)圖,其中,如果所啟用的內(nèi)核的數(shù)量小于執(zhí)行內(nèi)核極限,則所述內(nèi)核從所述第二狀態(tài)轉(zhuǎn)換到所述第三狀態(tài)。
11.如權(quán)利要求10所述的狀態(tài)圖,其中,所述執(zhí)行內(nèi)核極限至少部分地基于一個公式,其中N表示具有上下文的線程數(shù)量;%E表示執(zhí)行時間百分比;而%M表示存儲器引用時間百分比,該公式如下int(N×(%E/(%E+%M)))。
12.如權(quán)利要求8所述的狀態(tài)圖,其中,如果所述內(nèi)核在等待存儲器操作完成時是空閑的,則該內(nèi)核從所述第三狀態(tài)轉(zhuǎn)換到所述第四狀態(tài)。
13.一種用于多個多內(nèi)核處理器的狀態(tài)圖的方法,包括向未分配線程的內(nèi)核分配第一狀態(tài);對于存儲分配有線程的內(nèi)核的隊列,分配第二狀態(tài);比較已啟用的內(nèi)核數(shù)量和執(zhí)行內(nèi)核極限,如果所述已啟用內(nèi)核的數(shù)量小于所述執(zhí)行內(nèi)核極限,則分配第三狀態(tài)以啟用所述內(nèi)核來運行一個線程;以及分配第四狀態(tài)以禁止內(nèi)核。
14.如權(quán)利要求13所述的方法,其中,所述隊列是先進先出隊列。
15.如權(quán)利要求13所述的方法,其中所述執(zhí)行內(nèi)核極限至少部分地基于一個公式,其中N表示具有上下文的線程數(shù)量;%E表示執(zhí)行時間百分比;而%M表示存儲器引用時間百分比,該公式如下int(N×(%E/(%E+%M)))。
16.如權(quán)利要求13所述的方法,其中,如果所述內(nèi)核在等待存儲器操作完成時是空閑的,則該內(nèi)核從所述第三狀態(tài)轉(zhuǎn)換到所述第四狀態(tài)。
17.一種多內(nèi)核處理器系統(tǒng),包括至少一個多內(nèi)核處理器,其耦合到緩存,并至少耦合到兩條用于接收請求和響應(yīng)的順時鐘方向的總線;以及內(nèi)核定量分配邏輯,用于管理已啟用內(nèi)核的數(shù)量以使其小于或等于執(zhí)行內(nèi)核極限。
18.如權(quán)利要求17所述的系統(tǒng),其中,所述執(zhí)行內(nèi)核極限至少部分地基于一個公式,其中N表示具有上下文的線程數(shù)量;%E表示執(zhí)行時間百分比;而%M表示存儲器引用時間百分比,該公式如下int(N×(%E/(%E+%M)))。
19.如權(quán)利要求17所述的系統(tǒng),還包括一個系統(tǒng)接口,該接口包括用于存儲器DIMM的多個存儲器控制器;用于處理到其他處理器管芯或I/O子系統(tǒng)的互連鏈路的路由器邏輯;以及所述內(nèi)核定量分配邏輯。
20.如權(quán)利要求17所述的系統(tǒng),還包括至少兩條逆時鐘方向的總線,用于接收請求和響應(yīng)。
21.如權(quán)利要求17所述的系統(tǒng),其中,所述緩存是具有多個獨立存儲體的第三級存儲器。
全文摘要
本發(fā)明公開了一種系統(tǒng)、裝置和方法,以使內(nèi)核定量分配邏輯可啟用多內(nèi)核處理器的內(nèi)核來遵守各種功率約束和熱約束。
文檔編號G06F1/32GK1577280SQ20041007091
公開日2005年2月9日 申請日期2004年7月13日 優(yōu)先權(quán)日2003年7月15日
發(fā)明者丹尼爾·W·貝利, 托德·達頓, 特里格韋·福薩姆 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1