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

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

文檔序號:6609323閱讀:400來源:國知局
專利名稱:提高多內(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)工作負載、校準(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)核的時鐘的方法,該方法包括至少部分地基于工作負載,計算執(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)核處理器性能 的方法和裝置。在下面的描述中,給出了大量具體細節(jié)以提供對本發(fā)明更 透徹的理解。然而,本領(lǐng)域內(nèi)的技術(shù)人員將會認識到?jīng)]有這些具體細節(jié)也 可實施本發(fā)明。利用所包含的描述,本領(lǐng)域內(nèi)的技術(shù)人員不必進行太多試 驗就能夠?qū)崿F(xiàn)適當(dāng)?shù)倪壿嬰娐贰?br> 如上所述,在遵守功率約束的同時提高處理器性能會存在一個問題。 現(xiàn)有的方法包括以降低整體性能為代價來降低電壓或頻率。相反,所要求 的主題物在遵守功率約束的同時提高了整體性能。例如,"為處理器系統(tǒng) 定量分配執(zhí)行內(nèi)核的數(shù)量"這一原理使得在若干內(nèi)核等待存儲器事務(wù)完成 時的空閑狀態(tài)下禁止其時鐘,因而提高頻率。例如,所要求的主題物利用 了通過禁止到某些處理器內(nèi)核的時鐘而形成的這些內(nèi)核的空閑時間段,從 而獲得了較少的功耗。因此,由于降低了功耗,所以可以利用更高的頻 率。在一個實施例中,對于所述工作負載計算合適的執(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ū)懖僮鳎摯?儲器地址未駐留在耦合到處理器的任何緩存中("所有緩存級中的缺 失")。因此,啟動對主存儲器的訪問。如果發(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)?;蛘?,所述等待狀態(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ù)對多工作負載的蒙特卡洛仿真,對16內(nèi)核多處理器而計算的 花費在執(zhí)行上的時間百分比。獨立的橫軸示出了 2、 4、 6、 8、 10、 12、 14 和16的ECL。而且,在利用1%、 30%、 40%和50%的(針對于執(zhí)行時 間的)存儲器引用職責(zé)周期而仿真的不同工作負載處,對每個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ù)量;XE表示執(zhí)行時間百分比;而%
M表示存儲器引用時間百分比。該公式如下
int(N X (%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) 。 "P" 和"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)核中的至少一個處理器內(nèi)核選擇電壓和頻率工作點的方法,包括預(yù)測在所有所述多個處理器內(nèi)核上運行的多個線程的活動性級別;至少部分地基于所述活動性級別,啟用所述多個處理器內(nèi)核中的一個子集。
2. 如權(quán)利要求1所述的方法,其中,所述活動性級別是執(zhí)行內(nèi)核極限,所述執(zhí)行內(nèi)核極限至少部分地基于對熱功率考慮因素的遵守。
3. 如權(quán)利要求2所述的方法,其中,所述執(zhí)行內(nèi)核極限至少部分地基 于一個公式,其中N表示具有上下文的線程數(shù)量;。/。E表示執(zhí)行時間百分 比;而MM表示存儲器引用時間百分比,該公式如下<formula>formula see original document page 2</formula>
4. 一種用于禁用到多個處理器內(nèi)核中的至少一個處理器內(nèi)核的時鐘的方法,包括響應(yīng)于執(zhí)行依賴于存儲器操作的操作,向至少一個處理器內(nèi)核發(fā)出至 少一個信號;響應(yīng)于發(fā)出到處理器內(nèi)核的所述至少一個信號,禁用到所述處理器內(nèi) 核的至少一個時鐘、阻止指令,并使得所述至少一個處理器進入緩存一致 的低功率狀態(tài)。
5. 如權(quán)利要求4所述的方法,還包括至少部分基于執(zhí)行內(nèi)核極限和 電壓頻率對來定義工作點,以及基于對與等待或定量分配隊列有關(guān)的多個 內(nèi)核狀態(tài)的分析來調(diào)整所述工作點。
6. —種用于禁用到多個處理器內(nèi)核中的至少一個處理器內(nèi)核的時鐘 的方法,包括至少部分基于執(zhí)行依賴于存儲器操作的操作,向一個處理器內(nèi)核發(fā)出 信號,所述信號禁用到該處理器內(nèi)核的時鐘; 響應(yīng)于所述信號阻止指令發(fā)射操作; 將該內(nèi)核轉(zhuǎn)換到緩存一致的低功率操作狀態(tài);為被禁用的處理器內(nèi)核分配標(biāo)識符;以及如果執(zhí)行內(nèi)核的數(shù)量小于等于預(yù)定的執(zhí)行內(nèi)核極限,則在所述存儲器 操作完成時解除用于所述被禁用的處理器內(nèi)核的信號。
7. 如權(quán)利要求6所述的方法,還包括至少部分基于執(zhí)行內(nèi)核極限和 電壓頻率對來定義工作點,以及基于對與等待或定量分配隊列有關(guān)的多個 內(nèi)核狀態(tài)的分析來調(diào)整所述工作點。
8. —種用于禁用到多個處理器內(nèi)核中的至少一個處理器內(nèi)核的時鐘 的內(nèi)核定量分配邏輯,包括用于計算執(zhí)行內(nèi)核極限的工作負載電路;用于至少部分基于執(zhí)行依賴于存儲器操作的操作來向一個處理器內(nèi)核 發(fā)出信號的發(fā)送器電路,所述信號禁用到該處理器內(nèi)核的時鐘;以及用于如果執(zhí)行內(nèi)核的數(shù)量小于等于所述執(zhí)行內(nèi)核極限,則在所述存儲 器操作完成時解除用于被禁用的處理器內(nèi)核的信號的比較電路。
9. 如權(quán)利要求8所述的邏輯,還包括用于至少部分基于執(zhí)行內(nèi)核極 限和電壓頻率對來定義工作點,以及基于對與等待或定量分配隊列有關(guān)的 多個內(nèi)核狀態(tài)的分析來調(diào)整所述工作點的工作負載電路。
10. —種用于禁用到多個處理器內(nèi)核中的至少一個處理器內(nèi)核的時鐘 的內(nèi)核定量分配邏輯,包括用于計算執(zhí)行內(nèi)核極限的工作負載電路;用于至少部分基于執(zhí)行依賴于存儲器操作的操作來向一個處理器內(nèi)核 發(fā)出信號的發(fā)送器電路,所述信號禁用到該處理器內(nèi)核的時鐘;用于如果執(zhí)行內(nèi)核的數(shù)量小于等于執(zhí)行內(nèi)核極限,則在所述存儲器操 作完成時解除用于被禁用的處理器內(nèi)核的信號的比較電路;用于向所述被禁用的處理器內(nèi)核分配標(biāo)識符的分配電路;并且如果執(zhí)行內(nèi)核的數(shù)量小于等于預(yù)定的執(zhí)行內(nèi)核極限,則所述發(fā)送器電 路在所述存儲器操作完成時解除用于所述被禁用的處理器內(nèi)核的信號。
11. 如權(quán)利要求IO所述的邏輯,還包括用于至少部分基于執(zhí)行內(nèi)核 極限和電壓頻率對來定義工作點,以及基于對與等待或定量分配隊列有關(guān) 的多個內(nèi)核狀態(tài)的分析來調(diào)整所述工作點的工作負載電路。
12. —種多內(nèi)核處理器系統(tǒng),包括至少一個多內(nèi)核處理器,其耦合到緩存,并至少耦合到兩條用于接收 請求和響應(yīng)的順時鐘方向的總線;以及內(nèi)核定量分配邏輯,用于管理已啟用內(nèi)核的數(shù)量以使其小于或等于執(zhí) 行內(nèi)核極限。
13. 如權(quán)利要求12所述的系統(tǒng),其中,所述執(zhí)行內(nèi)核極限至少部分地 基于一個公式,其中N表示具有上下文的線程數(shù)量;。/。E表示執(zhí)行時間百 分比;而。/。M表示存儲器引用時間百分比,該公式如下int(NX(%E/ (%E+%M)))。
14. 如權(quán)利要求12所述的系統(tǒng),還包括一個系統(tǒng)接口,該接口包括 用于存儲器DIMM的多個存儲器控制器;用于處理到其他處理器管芯或I/O子系統(tǒng)的互連鏈路的路由器邏輯;以及所述內(nèi)核定量分配邏輯。
15. 如權(quán)利要求12所述的系統(tǒng),還包括至少兩條逆時鐘方向的總線,用于接收請求和響應(yīng)。
16. 如權(quán)利要求12所述的系統(tǒng),其中,所述緩存是具有多個獨立存儲體的第三級存儲器。
全文摘要
本發(fā)明公開了一種用于提高多內(nèi)核處理器性能的系統(tǒng)、裝置和方法,以使內(nèi)核定量分配邏輯可啟用多內(nèi)核處理器的內(nèi)核來遵守各種功率約束和熱約束。
文檔編號G06F1/32GK101320289SQ20071010680
公開日2008年12月10日 申請日期2004年7月13日 優(yōu)先權(quán)日2003年7月15日
發(fā)明者丹尼爾·W·貝利, 托德·達頓, 特里格韋·福薩姆 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1