两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

在處理器中配置功率管理功能的制作方法

文檔序號:11250429閱讀:1603來源:國知局
在處理器中配置功率管理功能的制造方法與工藝
本申請是針對pct國際申請?zhí)枮閜ct/us2013/048042、國際申請日為2013年6月27日、進入中國國家階段的申請?zhí)枮?01380040201.8,題為“在處理器中配置功率管理功能”的發(fā)明專利申請的分案申請。各實施例涉及集成電路的功率管理。
背景技術(shù)
:半導(dǎo)體處理和邏輯設(shè)計的進步可使集成電路設(shè)備上可以存在的邏輯量增大。結(jié)果,計算機系統(tǒng)配置從系統(tǒng)中的單一或多個集成電路發(fā)展到單個集成電路上的多個硬件線程、多個核、多個設(shè)備和/或完整的系統(tǒng)。另外,隨著集成電路的密度增長,計算系統(tǒng)(從嵌入式系統(tǒng)到服務(wù)器)的功率要求也逐步升高。此外,軟件低效率以及其對硬件的要求也導(dǎo)致計算設(shè)備能源消耗的增大。事實上,某些研究指出,計算設(shè)備消耗諸如美國之類的國家的全部電力供應(yīng)的相當(dāng)大的百分比。結(jié)果,迫切需要與集成電路相關(guān)聯(lián)的能量效率和節(jié)省。隨著服務(wù)器、臺式計算機、筆記本、超極本、平板電腦、移動電話、處理器、嵌入式系統(tǒng)等等變得越來越流行(從包括在典型的計算機中、汽車,以及電視機到生物技術(shù)),這些需要將增大。功率和熱管理問題是在基于計算機的系統(tǒng)中的所有部分中都需要考慮的問題。在服務(wù)器領(lǐng)域,電力的成本驅(qū)動對低功率系統(tǒng)的需求,而在移動系統(tǒng)中,電池壽命以及熱限制使這些問題相關(guān)。優(yōu)化系統(tǒng)以便在最小功耗下取得最大性能通常是使用操作系統(tǒng)(os)或系統(tǒng)軟件來控制硬件元件來完成的。最現(xiàn)代的os使用高級配置和電源接口(acpi)標準(例如,2006年10月10日發(fā)布的rev.3.0b)來優(yōu)化這些領(lǐng)域的系統(tǒng)。acpi實現(xiàn)允許處理器核處于不同的節(jié)能狀態(tài)或c狀態(tài)(也被稱為低功率或閑置狀態(tài)),一般被稱為c0到cn狀態(tài),c0是活動狀態(tài),較高的是較深的睡眠狀態(tài)。除節(jié)能狀態(tài)之外,在acpi中還提供性能狀態(tài)或所謂的p狀態(tài)。這些性能狀態(tài)可以允許當(dāng)核處于活動狀態(tài)(c0)時對性能-功率級別進行控制。一般而言,可以有多個p狀態(tài)可用,從p0-pn??梢杂幸话惚环Q為超頻(turbo)模式的一系列較高頻率/性能狀態(tài)。附圖說明圖1是根據(jù)本發(fā)明的一實施例的系統(tǒng)的一部分的框圖。圖2是根據(jù)本發(fā)明的一個實施例的用于處理從多核處理器內(nèi)的線程接收到的性能狀態(tài)請求的方法的流程圖。圖3是根據(jù)本發(fā)明的另一實施例的處理器的框圖。圖4是根據(jù)本發(fā)明的一個實施例的通信量傳感器的框圖。圖5是根據(jù)本發(fā)明的一個實施例的處理器的框圖。圖6是根據(jù)本發(fā)明的一個實施例的處理器核的框圖。圖7是根據(jù)本發(fā)明的另一實施例的多核處理器的框圖。圖8是根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖。具體實施方式各實施例提供有效率地并且可配置地以動態(tài)功率/性能級別操作處理器的技術(shù),以允許在系統(tǒng)內(nèi)細微地調(diào)整處理器,以解決對于其中配置了處理器的給定類型的平臺的問題。各實施例可以特別適用于多核處理器,其中,多個核中的每一個都可以在獨立電壓和頻率點操作。如此處所使用的,術(shù)語“域”被用來表示在相同電壓和頻率點操作的硬件和/或邏輯的集合。另外,多核處理器還可以包括其他非核處理引擎,諸如固定功能單元、圖形引擎等等。這樣的處理器可包括核之外的獨立域,諸如與圖形引擎相關(guān)聯(lián)的一個或多個域(此處被稱為圖形域),以及與非核電路相關(guān)聯(lián)的一個或多個域,此處被稱為非核或系統(tǒng)代理。雖然可以在單一半導(dǎo)體管芯上形成多域處理器的許多實現(xiàn),但是,其他實現(xiàn)可以通過其中不同的域可以存在于單一封裝的不同的半導(dǎo)體管芯上的多芯片封裝來實現(xiàn)。如此處所使用的,術(shù)語“硬件線程”、“線程”,以及邏輯核全部都可互換地使用。根據(jù)基于os的acpi機制,處理器還可以在各種功率和性能狀態(tài)或級別操作。相對于功率狀態(tài),acpi指定不同的功率消耗狀態(tài),一般被稱為c狀態(tài),c0,c1到cn狀態(tài)。當(dāng)核活躍時,它在c0狀態(tài)運行,而當(dāng)核空閑時,它可以被置于核低功率狀態(tài),也叫做核非零c狀態(tài)(例如,c1-c6狀態(tài))。當(dāng)多核處理器的所有核都處于核低功率狀態(tài)時,可以將處理器置于封裝低功率狀態(tài),諸如封裝c6低功率狀態(tài)。除這些功率狀態(tài)之外,處理器還可以被配置成在多種性能狀態(tài),p狀態(tài),即,從p0到pn中的一種狀態(tài)下操作。一般而言,p1性能狀態(tài)可以對應(yīng)于可以由os請求的最高保證的性能狀態(tài)。除此p1狀態(tài)之外,os還可以請求較高性能狀態(tài),即,p0狀態(tài)。如此,此p0狀態(tài)可以是機會性狀態(tài),其中,當(dāng)有功率和熱預(yù)算可用時,處理器硬件可以配置處理器或其至少一些部分,以便以高于保證的頻率操作。在許多實現(xiàn)中,處理器可包括多個高于此p1頻率的所謂的元頻率(binfrequency),此處也被稱為超頻模式頻率。最高這樣的頻率可以對應(yīng)于最大超頻頻率(p01),這是域可以操作的最高頻率。如此,此最大超頻頻率是大于p1頻率的多個超頻模式頻率的最高端,并對應(yīng)于能夠?qū)崿F(xiàn)的最大非保證的最高性能級別。如此處所描述的,可以跨所有核或基于每個硬件線程地啟用/禁用超頻。各實施例提供配置機制,以與處于數(shù)據(jù)封裝級別和單個核級別(通過硬件線程)的超頻控制一起操作。注意,術(shù)語“性能狀態(tài)”或“p狀態(tài)”可以與術(shù)語“操作頻率”(或更一般而言“頻率”)可互換地使用,因為核的操作頻率與其性能具有直接關(guān)聯(lián)。因此,如此處所使用的,較高性能狀態(tài)與較高操作頻率相互關(guān)聯(lián)。根據(jù)本發(fā)明的一個實施例的處理器可以包括完全集成電壓調(diào)節(jié)(fivr),以便可以提供每核p狀態(tài)(pcps)。如此,可以在彼此獨立的頻率操作核。雖然參考特定集成電路(諸如在計算平臺或處理器中)描述了下列實施例,但其他實施例也適用于其他類型的集成電路和邏輯設(shè)備??梢詫⒋颂幩枋龅母鲗嵤├念愃频募夹g(shù)和教示應(yīng)用于也可以得益于更好的能量效率和能量節(jié)約的其他類型的電路或半導(dǎo)體器件。例如,所公開的各實施例不僅限于任何特定類型的計算機系統(tǒng),也可以用于諸如手持式設(shè)備、片上系統(tǒng)(soc)設(shè)備以及嵌入式應(yīng)用之類的其他設(shè)備中。手持式設(shè)備的某些示例包括蜂窩電話、網(wǎng)際協(xié)議設(shè)備、數(shù)碼相機、個人數(shù)字助理(pda)以及手持式pc。嵌入式應(yīng)用通常包括微控制器、數(shù)字信號處理器(dsp)、網(wǎng)絡(luò)計算機(netpc)、機頂盒、網(wǎng)絡(luò)中樞、廣域網(wǎng)(wan)交換機,或能夠執(zhí)行下面所描述的功能和操作的任何其他系統(tǒng)。此外,此處所描述的設(shè)備、方法,以及系統(tǒng)也不僅限于物理計算設(shè)備,但是,也可以涉及對于節(jié)能和效率的軟件優(yōu)化。如在下面的描述中顯而易見地看出,此處所描述的方法、設(shè)備以及系統(tǒng)的各實施例(無論引用硬件、固件、軟件或其組合)為未來的“綠色技術(shù)”所不可缺少的,諸如,用于涵蓋美國經(jīng)濟的大部分的產(chǎn)品中的電能節(jié)省和能量效率。雖然處理器可以具有各種動態(tài)功率/性能特征,但是,各實施例可以被用來提供這樣的特征中的某些或全部的可配置性。為了此處的說明,將詳細地描述三個動態(tài)功率/性能特征:每個核p狀態(tài)(pcps)、非核頻率調(diào)整(ufs)以及有能量效率的超頻(eet)。pcps特征允許多核處理器的單個核在總體功率、電氣、熱以及庫存單位(sku)約束內(nèi)以不同頻率并行地操作。ufs特征使用傳感器值來動態(tài)地調(diào)整非核互連頻率,以在核和非核互連之間更好地分配功率,以提高性能,在空閑情況下節(jié)省功率。eet特征基于核停止(例如,當(dāng)在核上執(zhí)行的一個或多個線程正在等待負載或存儲時),在核的超頻范圍內(nèi)動態(tài)地調(diào)整頻率。因為無論由于工作負荷混合還是應(yīng)用存儲器訪問模式導(dǎo)致停止的核不是頻率友好的并且不能從提高的操作頻率提供改善的性能,所以eet操作可以改善處理器中的功率/性能折衷。在各實施例中,可以提供可配置參數(shù),以允許用戶混合并匹配上述特征(和/或其他功率/性能特征)。另外,還可以使這些特征是可配置的,允許對系統(tǒng)進行微調(diào),滿足不同的市場細分的需求,包括但不限于云計算、高性能計算、數(shù)據(jù)中心以及存儲等等。如此,單一處理器可以提供可以利用跨計算連續(xù)性的微分的選擇實現(xiàn)的功率和性能特征,帶有范圍廣泛的使用模型。在各實施例中,pcps基于與物理核相關(guān)聯(lián)的邏輯核上的os請求的性能,允許單個物理核在不同的電壓/頻率點并行地操作。即,可以獨立于其他核(在整個系統(tǒng)功率和熱約束內(nèi))配置每一個核的操作點。在本發(fā)明的一個實施例中,由于集成在處理器中的完全集成的電壓調(diào)節(jié)器(fivr),pcps是可行的。此調(diào)節(jié)器允許每一個核的獨立配置,其中配置包括但不僅限于,電壓設(shè)置、頻率設(shè)置及影響每一個核的功率消耗的其他參數(shù)。與在共同的電壓/頻率點(跨所有邏輯核,os請求的性能的最大值)操作多核處理器的所有核相比,pcps可以通過只在os確定為合適的高度運行物理核來實現(xiàn)電能節(jié)省。各實施例可以通過只向?qū)で蠊β实暮朔峙涠嘤喙β暑A(yù)算來提高性能,允許它們更快地運行,并提高系統(tǒng)性能。在本發(fā)明的一個實施例中,處理器具有多個處理核和與多個處理核中的每一個耦合的功率控制模塊。功率控制模塊促進每一個核在獨立于其他核的性能狀態(tài)的性能狀態(tài)下操作,其中,不違犯封裝或系統(tǒng)的總體熱和電氣約束。如此,可以實現(xiàn)對功率消耗和性能更好的控制。例如,在多核處理器中,在熱約束的環(huán)境中,只有幾個核可以被允許在較高核頻率下運行,從而允許所希望的工作負荷的執(zhí)行,同時降低功率消耗,并因此降低溫度。在其中處理器內(nèi)的每一個核都具有其自己的電壓調(diào)節(jié)器的fivr實現(xiàn)中,可以提供一個或多個附加電壓調(diào)節(jié)器,用于與諸如非核邏輯、存儲器控制器邏輯、功率控制單元等處理器內(nèi)的其他組件一起使用。當(dāng)然,在某些實施例中,單一電壓調(diào)節(jié)器可以與處理器的一個或多個核和/或其他組件相關(guān)聯(lián)。在一個實施例中,可以為處理器的非核電路提供專用的電壓調(diào)節(jié)器,這將允許非核在不同的電壓和頻率下運行。對于以計算為中心的工作負荷,非核可以在較低的電壓和頻率下運行,導(dǎo)致在插槽級別朝向較高核頻率應(yīng)用功率節(jié)省。對于存儲器和io密集型工作負荷,非核可以在較高電壓和頻率下運行,而核可以在較低的電壓/頻率下運行,補償了非核中的較高功率消耗。在某些實施例中,可以擴展acpi表,以包括關(guān)于這些單個集成的電壓調(diào)節(jié)器的信息,以允許每個核p狀態(tài)控制。例如,可以使用4比特字段來傳遞p狀態(tài)信息,并將它映射到每一個調(diào)節(jié)器的控制電壓邏輯。如此,通過使用本發(fā)明的各實施例,可以控制每一個核,對于非對稱的工作負荷,在不同的頻率和/或電壓操作。作為一個示例,可以控制多個核中的一個或幾個在較高頻率和/或電壓下操作,而同時控制其余核在較低的電壓/頻率組合下操作,因此保持在給定熱設(shè)計功率(tdp)范圍內(nèi)。如此,對于給定工作負荷,可以實現(xiàn)確定性的并且最佳性能能力選擇。例如,尋求較高性能級別以便以第一方式處理數(shù)據(jù)的核可以在較高電壓/頻率下操作(這樣的核可以執(zhí)行諸如數(shù)據(jù)處理使用之類的任務(wù),諸如數(shù)據(jù)-復(fù)制服務(wù)、數(shù)據(jù)分析、奇偶校驗計算等等),而執(zhí)行例如管理任務(wù)的核可以在較低的電壓/頻率下運行,以為tdp約束的環(huán)境提供最佳混合。如此,給定了熱或tdp預(yù)算,并非當(dāng)可能時機會主義地以較高頻率運行所有核,而是各實施例以單個核為基礎(chǔ)提供確定性的行為?,F(xiàn)在參考圖1,所示是根據(jù)本發(fā)明的實施例的系統(tǒng)的一部分的框圖。如圖1所示,系統(tǒng)100可以包括各種組件,包括處理器110,如圖所示,該處理器110是多核處理器。處理器110可以通過外部電壓調(diào)節(jié)器160耦合到電源150,調(diào)節(jié)器160可以執(zhí)行第一電壓轉(zhuǎn)換,以向處理器110提供主要被調(diào)節(jié)的電壓。可以看出,處理器110可以是包括多個核120a-120n的單管芯處理器。另外,每一個核還可以與單個電壓調(diào)節(jié)器125a-125n相關(guān)聯(lián)。相應(yīng)地,可以提供fivr實現(xiàn),以允許對每一個單個核的電壓進行細粒度的控制,因而對功率和性能進行細粒度的控制。如此,每一個核都可以在獨立電壓和頻率下操作,允許大靈活性,并提供用于平衡功率消耗與性能的廣泛的機會。仍參考圖1,根據(jù)本發(fā)明的一個實施例,除可以提供用于執(zhí)行對處理器的多個功率管理特征的動態(tài)控制的信息之外,每一個核都還可包括各種硬件傳感器及其他電路。更具體而言,如圖1所示,每一個核都可包括核活動傳感器122和核停止傳感器124。在一個實施例中,核停止傳感器124可以被配置成確定核的對應(yīng)于等待存儲/負載的度量的停止速率。可以以各種方式來確定此停止速率,從核被停止的i周期的簡單計數(shù)到比較復(fù)雜的方式。在一個實施例中,核活動傳感器122可以被配置成確定核的活動率??梢砸愿鞣N方式來確定此活動率,從核活躍的的i周期的簡單計數(shù)到比較復(fù)雜的方式。在一個實施例中,核活動傳感器122可以被配置成計數(shù)其中核上的一個或多個線程處于活躍的c0狀態(tài)的周期。不失一般性,假設(shè)一個物理核與兩個邏輯處理器或硬件線程相關(guān)聯(lián),那么,該核具有等于當(dāng)一個或多個相關(guān)聯(lián)的邏輯核是活躍時(即,在觀察窗口,在c0狀態(tài)下)的時間活躍的或c0值。仍參考圖1,額外的組件可以存在于處理器內(nèi),包括輸入/輸出接口132、另一接口134以及集成的存儲器控制器136??梢钥闯?,這些組件中的每一個都可以由另一集成的電壓調(diào)節(jié)器125x來供電。在一個實施例中,接口132可以符合快速路徑互連(qpi)協(xié)議,該協(xié)議在高速緩存一致性協(xié)議中提供點對點(ptp)鏈路,該高速緩存一致性協(xié)議包括多個層,包括物理層、鏈路層以及協(xié)議層。接口134又可以符合外圍組件互連快速(pcietm)規(guī)范,例如,pciexpresstm規(guī)范基礎(chǔ)規(guī)范版本2.0(2007年1月17日)。盡管為便于說明未示出,但是,可以理解,額外的組件可以存在于處理器110內(nèi),諸如非核邏輯、功率控制單元、及其他組件,諸如內(nèi)部存儲器,例如,一個或多個級別的緩存存儲器層次結(jié)構(gòu)等等。此外,盡管在圖1的實現(xiàn)中是利用集成的電壓調(diào)節(jié)器示出的,但是,各實施例不是限制性的。在各實施例中,pcps基于與物理核相關(guān)聯(lián)的邏輯核上的os請求的性能,允許單個物理核在不同的電壓/頻率點并行地操作。與在共同的電壓/頻率點(跨所有邏輯核,os請求的性能的最大值)操作多核處理器的所有核相比,pcps可以通過只在os確定為合適的高度運行物理核來實現(xiàn)電能節(jié)省。各實施例可以通過只向?qū)で蠊β实暮朔峙涠嘤喙β暑A(yù)算來提高性能,允許它們更快地運行,并提高系統(tǒng)性能。相應(yīng)地,pcps配置允許將所有核組合為單一功率域或每個核具有功率域。功率域的數(shù)量又影響某些舊式p狀態(tài)行為的實現(xiàn),即,某些acpi參數(shù),包括sw_any控制參數(shù),如下面所描述的。基本輸入輸出系統(tǒng)(bios)對于pcps的支持包括配置標志和表條目。更具體而言,單一功率域(spd)指示符或標志可以存在于配置和狀態(tài)寄存器(csr)中,例如,作為寄存器的比特??梢枣i住此比特,在系統(tǒng)重新啟動/復(fù)位時,只讀一次。在一個實施例中,當(dāng)此比特被置位時,它是處理器將充當(dāng)用于功率目的的單一域的指示(如此,所有核都在單一p狀態(tài)下操作)。相反,當(dāng)此比特被復(fù)位時,它是處理器的每一個核都將充當(dāng)用于功率目的的單一域的指示(如此,每一個核都可以在獨立p狀態(tài)下操作)。pcps支持還可以通過每個功率域的bios中的acpi表條目來實現(xiàn)。為在n物理核系統(tǒng)中的實現(xiàn)pcps,可以指定n個acpi功率域條目。為將所有核視為映射到單一功率域,可以指定這些多個條目中的單一條目。可以提供單獨的條目,以便當(dāng)所有核映射到單一功率域時使用。在系統(tǒng)重新啟動時,acpi表和spd標志被讀取一次。如果有多個功率域條目,并且spd標志沒有置位,則可以使pcps的全部特征透明地對利用沒有對于pcps的支持的舊式操作系統(tǒng)部署的系統(tǒng)可用。根據(jù)acpi規(guī)范,不同的功率管理模式是可能的,每一個模式都指出來自線程的性能狀態(tài)變化請求對功率域具有什么影響。一般而言,有三個不同的功率管理模式可用,即,hw_all,sw_all和sw_any。一般而言,hw_all和sw_all類似地操作,因為給定功率域內(nèi)的活躍的線程的最高請求的性能狀態(tài)被選為要向該功率域施加的性能狀態(tài)。相反,sw_any功率管理模式將導(dǎo)致功率域的性能狀態(tài)是由該域上活躍的線程最近請求的性能狀態(tài)。現(xiàn)在參考表1,所示是使用此spd標志以及單一功率控制(pctl)標志來支持hw_all、sw_all、sw_any的acpi模式的行為,該標志也可以在雜項功率管理機特定的寄存器(msr)上可用(例如,misc_pwr_mgmt(msr0x1aa)),并且取決于標志的狀態(tài),一般提供單一功率控制或多個域功率控制的配置。表1表2基于是否提供支持pcps的bios,示出了舊式os的行為的圖示。表2注意,在上面的表2中,x是無關(guān)緊要的,n對應(yīng)于處理器中的核的數(shù)量?,F(xiàn)在參考表3,所示是根據(jù)本發(fā)明的一個實施例的利用pcps的可配置性的p狀態(tài)處理的偽代碼。表3事件:在任意邏輯核上的ospstate或cstate請求(即,硬件線程),即t,pstate(t)//如果cstate是c0,表示邏輯核活躍,因此其pstate被考慮//如果cstate>0,即非活躍,相關(guān)聯(lián)的pstate被忽視if(single-power-domain){//spdif(sw_anymode){//single_pctl標記/比特new_pstate=pstate(t);//在io_firmconfig_msr上可用}else{//sw_all&hw_allnewpstate=max(處于cocstate的所有邏輯核的pstate(也稱為活躍));//跨越與物理核相關(guān)聯(lián)的多個邏輯核的最大pstate的硬件合并對此加速,與跨所有的//物理核上的固件計算不同。}else{//sw_all&hw_all&sw_any//在硬件中實現(xiàn)且可用作物理核級io寄存器中的字段new_pstate=max(在c0cstate中相關(guān)聯(lián)的物理核上所有兄弟邏輯核的pstate);}if(new_pstate?。給ld_pstate){//發(fā)起核操作點變化流}如表3所示,用戶可以在bios中定義多個功率域,并禁用spd標志以獲得pcps功率和性能優(yōu)點,相應(yīng)地,進一步設(shè)置單一pctl標志,以判斷所有活躍的線程或最近請求的線程p狀態(tài)是否確定核p狀態(tài)。當(dāng)支持包括hw_all和sw_all的acpi模式時,其他用戶可以使用pcps。此外,帶有舊式os的部署可能禁用spd標志,并每個物理核地枚舉功率域。對于試圖始終在相同頻率運行所有它們的核的部署,諸如其中尋求簡化客戶端記帳的云服務(wù)環(huán)境,不管os(舊式還是新的),可以設(shè)置spd標志,確保所有核都在相同電壓/頻率點操作,并在這方面平均地使用資源。作為示例,當(dāng)云服務(wù)提供商安裝較聰明的測量系統(tǒng)時,可以啟用pcps,更多性能和電能節(jié)省是可獲得的,可以相應(yīng)地對用戶進行計費。在其中希望較大的單個線程性能的域中,帶有復(fù)位了的spd標志的pcps可以是最佳部署。試圖得益于新的處理器硬件而沒有時間利用pcps進行試驗的消費者可以利用置位的spd標志來運行系統(tǒng)?,F(xiàn)在參考圖2,所示是用于處理從多核處理器內(nèi)的線程接收到的性能狀態(tài)請求的方法的流程圖。可以看出,方法200從接收來自線程的功率和/或性能狀態(tài)請求開始(框210)。注意,此線程可以是硬件線程或邏輯核,且請求可以是在處理器的諸如功率控制單元(pcu)之類的功率控制器中被接收??闪磉x地,可以在處理器的pcps算法在其上面執(zhí)行的核內(nèi)接收請求。仍參考圖2,在菱形220,可以判斷正在執(zhí)行此線程的核是否處于低功率狀態(tài)。如果是,則可以忽略請求,控制進入菱形222,在那里,可以判斷封裝中的所有核是否都處于低功率狀態(tài)。如果是,則控制進入框225,在那里,封裝可以進入睡眠狀態(tài)。如果相反在菱形222,判斷封裝中的所有核并非都處于低功率狀態(tài),則控制進入框228,在那里,此核可以進入睡眠狀態(tài)以節(jié)省功率。注意,給定核上的所有線程都處于低功率狀態(tài),如此,核可以被置于睡眠或其他低功率狀態(tài),以允許將功率重新分布到處于更活躍狀態(tài)的其他核。如此,當(dāng)核進入低功率狀態(tài)時,可以收獲否則分配給該核的功率,用于在其他核之間分配,例如,允許核中的一個或多個進入超頻模式。如果相反封裝中的所有核都處于睡眠狀態(tài),則可以將整體封裝置于睡眠狀態(tài),以降低功率消耗。如果核不處于低功率狀態(tài),則控制進入菱形230,在那里,可以判斷處理器是否被配置成在單一功率域模式下操作。在一個實施例中,此判斷可以基于,例如,存在于處理器的控制寄存器中的spd指示符。仍參考圖2,如果在菱形230判斷處理器正在在單一功率域模式下操作,則控制進入菱形240,在那里,可以判斷第一功率管理模式是否是活躍的。在一個實施例中,此第一功率管理模式可以對應(yīng)于sw_any的acpi模式。在一個實施例中,可以從msr的字段中獲取關(guān)于處理器正在哪種功率模式下操作的的判斷。接著,可以通過os行為確定包括hw_all模式和sw_all模式的其他功率模式,該os行為在高級別跟蹤應(yīng)用行為和策略,是每個線程地設(shè)置p狀態(tài)變化的寄存器值的主控。如此,在菱形240,如果判斷第一功率管理模式是活躍的,則控制進入框260,在那里,所有核的候選性能狀態(tài)都可以被設(shè)置為請求的性能狀態(tài)。即,在此第一功率模式下,最近性能狀態(tài)請求正在控制,如此,所有核都可以共同地被設(shè)置在此請求的性能狀態(tài)下。如果相反在菱形240判斷第一功率管理模式不活躍,則控制進入框250,在那里,所有核的候選性能狀態(tài)都可以被設(shè)置為所有活躍的核的最大請求的性能狀態(tài)。在此情況下,可以跨所有核的活躍的線程掃描,如此,確定最大請求的性能狀態(tài),并允許處理器的控制進入此性能狀態(tài)。如果判斷處理器正在在單一功率域模式下操作,則控制進入框270,在那里,可以判斷第一功率管理模式是否是活躍的。如果是,則控制進入框272,在那里,核的候選性能狀態(tài)可以被設(shè)置為請求的性能狀態(tài)。否則,如果第一功率管理模式不活躍,則控制進入框274,在那里,核的候選性能狀態(tài)都可以被設(shè)置為核上的所有活躍的線程的最大請求的性能。如此,可以實現(xiàn)每個核性能狀態(tài)操作,每一個核都可以在獨立性能狀態(tài)下執(zhí)行。如此,可以實現(xiàn)更大的性能,同時盡可能地節(jié)省功率。從全部框250、260、272以及274,控制接下來轉(zhuǎn)到菱形280,以判斷新設(shè)置的候選性能狀態(tài)是否不同于以前的活躍的性能狀態(tài)。如果不,方法可以結(jié)束。否則,如果存在性能狀態(tài)的差異,則控制進入框290,在那里,功率控制器可以執(zhí)行更改,如此,將合適的功率域操作移動到新設(shè)置的性能狀態(tài)。雖然在圖2的實施例中以此高級別示出的,但是,可以理解,本發(fā)明的范圍在這方面不受限制。如上文所描述的,ufs允許對非核互連頻率進行動態(tài)控制,以在核和非核之間更好地分配功率,以提高性能。各實施例可以監(jiān)測各種信息,包括但不限于,互連流量、核活動級別,及確定處理器的非核電路的使用,檢測擁擠和利用不足的其他信息。此信息可用于使這樣的電路的操作頻率適應(yīng)變化的工作負荷特征,如此,獲得功率和性能優(yōu)點。注意,此非核電路可包括互連結(jié)構(gòu),以將核耦合到緩存及其他芯片內(nèi)和芯片外電路,一個或多個緩存存儲器,以及諸如pcu之類的某些非核邏輯電路等等。當(dāng)處理器封裝處于閑置狀態(tài)時,即,當(dāng)全部核都處于低功率狀態(tài)時,僅有的通信量源于附接的輸入/輸出(io)設(shè)備和多插槽系統(tǒng)中的兄弟插槽。在這樣的情況下,可以將互連操作頻率降低到足以充裕地滿足io和插槽間通信量需求的值,該值此處被稱為io流量閾值頻率。雖然本發(fā)明的范圍在這方面不受限制,但是,在某些實施例中,此閾值頻率可以在大致1.2和4.0千兆赫(ghz)(作為示例)之間。在確定用于操作非核的適當(dāng)?shù)念l率時,可以評估涉及互連的實際使用的不同的信息。在一個實施例中,可以從各種傳感器和檢測器(包括上文所描述的核活動傳感器和核停止傳感器)中獲取這樣的信息。通過使用來自這些傳感器的信息,可以識別涉及非核競爭、共享緩存中的壓力或帶寬限制的信息。然而,核停止不提供對沿著互連的局部的擁擠的可見性,也不確定性地指出利用不足,關(guān)于這兩者的信息對更好的功率利用和性能可能是有價值的。為此,各實施例還可以提供一組分布式的可配置的通信量傳感器,這些傳感器可用于測量非核電路內(nèi)的各點處的通信量。在一個實施例中,這樣的傳感器可以位于耦合到互連的每一個接口單元處,例如,在每一個互連停止處,在那里,互連被配置為環(huán)形互連。然而,其他拓撲可以是環(huán)形、網(wǎng)格、星形、樹形,等等。可以使用通信量傳感器來測量沿著每一種數(shù)據(jù)類型的每一個方向,以及沿著每一個互連段的通信量。如此,各實施例可以監(jiān)測互連的使用來檢測通信量擁擠、利用不足以及非核競爭。pcu接收所有傳感器數(shù)據(jù),且可以使用pcu的非核頻率控制邏輯來分析數(shù)據(jù),以根據(jù)需要,使非核頻率適應(yīng)。根據(jù)本發(fā)明的一個實施例的非核頻率調(diào)整算法的目標是在核和互連功率平面之間分配功率,以提高總體系統(tǒng)性能,并可能節(jié)省功率。在每一個功率平面,可以修改電壓和頻率?,F(xiàn)在參考表4,所示是根據(jù)本發(fā)明的一個實施例的非核頻率調(diào)整算法的偽代碼。表4在所示出的代碼中,uncore_floor是服務(wù)質(zhì)量(qos)最低值設(shè)置,表示允許的最低非核頻率,而io_plimit是從多插槽組件和/或附接的io設(shè)備中的兄弟插槽舒服地維持通信量的適當(dāng)?shù)淖畹椭怠4藚?shù)可以是基于來自這些組件的通信量的動態(tài)量。現(xiàn)在參考圖3,所示是根據(jù)本發(fā)明的另一個實施例的處理器的框圖。如圖3所示,處理器300可以包括多個代理3100-310n。這些代理中的每一個都可以對應(yīng)于給定通信量代理,該給定通信量代理可以充當(dāng)通過互連315在代理之間傳遞的通信量的接收器和源,互連315在圖3所示出的實施例是環(huán)形互連。雖然本發(fā)明的范圍在這方面不受限制,但是,可以存在許多不同類型的代理,包括核、處理引擎,固定功能單元、io連接、存儲器,插槽間連接等等。為傳遞用于非核頻率控制的通信量信息,可以在每一個代理310和pcu320之間提供進一步的互連330a-330n??梢钥闯?,可以存在雙向路徑,以便可以傳遞,例如,配置與每一個互連停止相關(guān)聯(lián)的通信量傳感器的控制信息。另外,還可以提供輪詢或推信息的控制信號。接著,將對應(yīng)的通信量傳感器數(shù)據(jù)傳遞到pcu320。注意,圖3中的各種代理310的例圖一般被理解為包括互連邏輯(一般被稱為接口單元)的小部分,包括緩沖器、控制邏輯等等,以允許通過在給定代理和互連315之間連接的互連停止在代理之間傳遞信息。另外,這些互連停止中每一個都可以包括一個或多個通信量傳感器。雖然在某些實施例中位于此位置,但是,可以理解,通信量傳感器可以位于別處,諸如位于代理本身的接口處,或沿著互連的其他部分?,F(xiàn)在參考圖4,所示是根據(jù)本發(fā)明的實施例的通信量傳感器的框圖。如圖4所示,通信量傳感器370可以是位于互連停止處或與互連相關(guān)聯(lián)的其他接口邏輯處的單一通信量傳感器。一般而言,根據(jù)本發(fā)明的一個實施例,通信量傳感器370可以包括各種存儲器以提供傳感器的控制和配置,以及允許維護通信量測量值。如圖4所示,通信量傳感器370可以包括控制寄存器380。在各實施例中,控制寄存器380可以包括多個字段,其中每一個字段都可以在,例如,pcu邏輯的控制之下設(shè)置??梢钥闯觯刂萍拇嫫?80可包括互連上的每一種類型的可能的通信的通信量類型字段372,包括控制字段、地址字段、數(shù)據(jù)字段以及確認字段。另外,控制寄存器370可以包括復(fù)位讀取(reset-on-read)字段375、索引字段377以及寫入字段378。一般而言,通信量類型字段372(例如,控制、地址、數(shù)據(jù)和確認字段)中每一個都可包括多個比特,每一個比特都指出是否計數(shù)特定方向的通信量。相應(yīng)地,這些通信量類型字段可以充當(dāng)過濾器,以便通信量傳感器只計數(shù)某些方向的通信量,例如,用于效率和功率消耗目的。在一個實施例中,可以控制方向的三維,即,北/南、東/西,進/出。在一個實施例中,這些字段中的任何一個的給定比特的邏輯高值表示將計數(shù)沿指示的方向的對應(yīng)的類型的通信量。注意,可以通過增大多個計數(shù)器3900-390m中的對應(yīng)的計數(shù)器中的值,進行計數(shù)操作本身。每一個這樣的計數(shù)器都可以維護沿著給定方向元組的數(shù)據(jù)類型的計數(shù)?;仡^參考控制寄存器370,可以設(shè)置復(fù)位讀取字段375,以指出應(yīng)該在讀取操作時復(fù)位計數(shù)器390。接著,可以使用索引字段377來索引單個計數(shù)或所有計數(shù)中的最大值。即,在一個實施例中,一組比特值可以對應(yīng)于要被讀取的計數(shù)器。例如,對于6個不同的計數(shù)器(例如,一種通信量類型,上/下、進/出,左/右),3個比特可以唯一地索引計數(shù)器中的一個。相反,如果索引字段377被設(shè)置為全部為零,則可以提供所有計數(shù)中的最大值。最后,可以響應(yīng)于輪詢請求,設(shè)置寫入字段378,以便可以將指出的計數(shù)器(例如,根據(jù)索引字段377)寫入到狀態(tài)寄存器385中。在各實施例中,如此,狀態(tài)寄存器385可以包含要被讀取或被寫入的值,其大小可以確定為保存可能的最大通信量計數(shù)。不失一般性,通信量可以被確定為每一種類型和方向的通信量的函數(shù)。如此,通信量的變化的組合是可能的,諸如確認之外的加權(quán)數(shù)據(jù)。如此,為實現(xiàn)控制寄存器370的寫入,pcu可以提供要被存儲在狀態(tài)寄存器385中的值,然后,在寫入操作時,例如,如由寫入字段379所指示的,可以將狀態(tài)寄存器385中的值存儲到控制寄存器370中。這樣一來,通信量傳感器的靈活的彼此獨立的配置是可能的。雖然在圖4的實施例中以此高級別示出的,但是,可以理解,本發(fā)明的范圍在這方面不受限制。此外,還可以理解,可以在每一互連停止上復(fù)制圖4所示出的通信量傳感器370。在許多實施例中,單一通信量傳感器可以與每一個互連停止相關(guān)聯(lián),例如,位于輸入端口或輸出端口處的,但是,各實現(xiàn)可以避免每個互連停止,提供兩個這樣的通信量傳感器,以便縮小有效面積和功率消耗。進一步地,可以理解,pcu(例如,圖3的pcu320)可以包括傳感器掩碼,以存儲有選擇地控制傳感器的操作的信息。在一個實施例中,此掩碼可以包括多個比特,每一個比特都與給定通信量傳感器相關(guān)聯(lián)。如此,可以關(guān)閉與互連停止相關(guān)聯(lián)的傳感器,以節(jié)省功率和處理時間。例如,第一(例如,高)狀態(tài)的比特可以啟用對應(yīng)的傳感器,第二(例如,低)狀態(tài)的比特可以禁用對應(yīng)的傳感器。如此,可以禁用充當(dāng)中繼的互連停止(或不那么關(guān)鍵的停止)。如此,在一個實施例中,可以提供多個通信量傳感器,每一個都測量代理被耦合到的互連的點處的通信量。在這樣的實施例中,傳感器可包括控制存儲器以存儲控制信息,以指出要被測量的通信量的方向和類型,狀態(tài)存儲器以存儲通信量測量值并響應(yīng)于請求向控制器提供測量值,以及多個計數(shù)器,每一個計數(shù)器都存儲對于方向和通信量類型的通信量測量值。注意,控制器可以被包括到pcu中,其中控制器可以用于設(shè)置控制存儲器并讀取或被傳遞來自狀態(tài)存儲器的流量測量值。控制器還可以包括傳感器掩碼以存儲一組指示符,每一個指示符都與傳感器相關(guān)聯(lián),并具有禁用對應(yīng)的傳感器的第一值以及啟用傳感器的第二值。根據(jù)各實施例,可以使用csr寄存器中的ufs啟用/禁用標志,來配置ufs控制,該標志在系統(tǒng)重新啟動時可以只讀取一次。注意,此csr可以是存儲spd標志的相同csr,或者也可以是不同的csr。另外,用戶還可以配置ufs適應(yīng)周期性,在一個實施例中,該適應(yīng)周期性可以以毫秒為單位來設(shè)置,還可以存儲在諸如系統(tǒng)代理功率管理寄存器之類的csr中。為執(zhí)行ufs,功率控制電路使用存儲在msr中的數(shù)據(jù),該msr提供用于非核頻率的最高和最低值。如此,用戶可以配置他是否希望:帶有其相關(guān)聯(lián)的功率/性能優(yōu)點的完整的ufs(并進一步提供控制ufs適應(yīng)周期性的能力);讓非核互連在核頻率下操作(假如啟用了單一功率域操作);或固定頻率非核。具有可接受的性能(當(dāng)前部署購買新的服務(wù)器硬件)的消費者可以選擇跟隨核頻率的非核互連,以便這些消費者將立即得益于更快的處理器硬件。對存儲器延遲、數(shù)據(jù)檢索時間等等敏感的消費者/應(yīng)用,諸如搜索引擎應(yīng)用可以選擇禁用ufs,并設(shè)置最低值和最高值非核頻率,以獲取固定的非核頻率。某些用戶可以選擇實驗,以確定滿足給定服務(wù)質(zhì)量(qos)度量的理想最低值。利用適當(dāng)?shù)卦O(shè)置的最低值頻率,啟用ufs特征將帶來額外的功率/性能優(yōu)點。對于帶有已知應(yīng)用程序設(shè)置的特征的市場部分,通過設(shè)置觀察窗口長度,也可以進行ufs適應(yīng)周期性調(diào)節(jié),觀察窗口長度,在一個實施例中,可以作為如上文所描述的控制寄存器的字段來存儲。在一個實施例中,此周期性調(diào)節(jié)字段可以具有以毫秒的整數(shù)倍設(shè)置的值。選擇的觀察窗口長度越長,非核頻率控制對應(yīng)用設(shè)置的行為中的變化的響應(yīng)性越低。另一方面,非常短的窗口可能會通過顛簸,妨礙給定工作負荷的進度?,F(xiàn)在參考表5,所示是根據(jù)本發(fā)明的一個實施例的用于實現(xiàn)可配置的ufs控制的偽代碼。表5在上面的表5的代碼中,如果ufs標志被禁用,則非核頻率可以跟隨核頻率的值(假設(shè)單一功率域?qū)崿F(xiàn)),以便在每次更新時非核頻率被更新到核頻率。否則,如果非核最低和最高值的配置的設(shè)置不相同,并且滿足適應(yīng)時段,則可以對各種信息進行分析,包括非核互連通信量、核停止、io通信量以及插槽間通信量,還有其他信息。如果這樣的分析判斷應(yīng)該縮小非核頻率,則這樣的頻率降低可以發(fā)生。相反,如果基于分析判斷應(yīng)該發(fā)生增大,則這樣的增大可以發(fā)生。注意,在最低和最高值相等的情況下,可以提供固定的非核頻率。當(dāng)處理器在超頻范圍內(nèi)操作時,功率與頻率是非線性的。除非性能改善是通過在超頻范圍內(nèi)操作來獲得的,增大的功率消耗是不正當(dāng)?shù)?。各實施例可以使用有能量效率的超頻(eet)來幫助基于核度量信息,諸如核停止(與數(shù)據(jù)負載或存儲的物理核相關(guān)聯(lián)的所有邏輯線程的等待的程度),確定超頻范圍中的核操作頻率。停止是在核上運行的應(yīng)用的工作負荷混合和緩存/存儲器訪問模式的函數(shù)。緩存友好的應(yīng)用是其全部工作集容納在緩存中的那些。相比之下,緩存流式傳送或超負荷應(yīng)用不斷地尋求新的數(shù)據(jù)并掃過緩存。增大的停止表示應(yīng)用程序不太可能得益于以較高頻率運行,而不會有停止中的相應(yīng)的縮小。eet算法試圖將尋求超頻的核向?qū)τ诖鎯ζ鞯钠渫V故强扇萑痰挠行实夭僮鞯念l率(如由可配置的閾值確定的)傾斜,以便燃燒的功率與獲得的性能成比例。此外,該算法還考慮任何用戶/os指定的能量性能偏向(epb)。在一個實施例中,epb可以基于向基于os的用戶偏好菜單的用戶輸入,以指出用戶的關(guān)于功率/性能折衷的偏好。利用性能偏向,在沒有停止的核上運行的應(yīng)用可以被授予最大超頻頻率,但是,利用能量偏向,核可以將其頻率增大一個單位階躍。為實現(xiàn)eet算法,各實施例可以檢測核停止和核活躍的循環(huán),例如,通過核活動傳感器和核停止傳感器,以確定核被停止的循環(huán)與它處于活躍的狀態(tài)的循環(huán)的比例,被稱為以核為中心的非產(chǎn)出時間。此以核為中心的非產(chǎn)出時間可以是有意義的,并且可靠的,不管實際核和非核互連操作頻率如何,如此,使用單一閾值將核分類為停止或不停止是很好的。在各實施例中,此閾值可以是可配置的,并可以是系統(tǒng)epb的函數(shù)。eet算法周期性地分析所有核允許的超頻模式,以基于在觀察時間間隔內(nèi)核是否被分類為停止,判斷是否應(yīng)該增大、降低它們的頻率或使其保持不變。運行在連續(xù)的觀察循環(huán)上將內(nèi)容納在它們的專用緩存中的應(yīng)用的核(假設(shè)存在功率預(yù)算,沒有違犯電氣、熱或其他約束)將到達最大超頻頻率。在工作負荷混合變化并且緩存競爭增大的情況,隨著時間的推移,受影響的核的超頻頻率將縮小,例如,在系統(tǒng)被配置成用于能量偏向時,急劇地縮小,或在利用性能偏向配置時,比較慢地縮小。各實施例可以以諸如處理器的pcu的固件之類的固件來實現(xiàn)eet算法。此算法可以將涉及核停止和核活躍的周期的硬件傳感器數(shù)據(jù)以及任何用戶/操作系統(tǒng)配置的能量性能偏置作為輸入,以適應(yīng)核操作點。還可以理解,eet算法可以具有廣泛的靈活性,因為它使用可配置的閾值以及它用來再訪問超頻允許的核的周期性。進一步地,配置可以是指定的能量性能偏置的函數(shù)。用于適應(yīng)核頻率的算術(shù)表達式可以是核停止的函數(shù)。只要函數(shù)滿足下列警告,它就是合理的:在有利的停止狀態(tài)下,核頻率單調(diào)地上升,在不利的停止狀態(tài)下,單調(diào)地下降。至于閾值,假設(shè)帶有包括根據(jù)本發(fā)明的一個實施例的處理器以及給定os的計算機系統(tǒng)的消費者運行他們自己的應(yīng)用程序并具有他們自己的功率,性能以及服務(wù)質(zhì)量需求。這些值將是用戶/os控制的epb的函數(shù)。在某些實施例中,可以有基于epb來設(shè)置這些閾值的圖形用戶界面(例如,儀表板)或其他掛鉤(hook)。注意,每一個物理核都可以具有對應(yīng)于其邏輯核epb的最小值的epb?,F(xiàn)在參考表6,所示是不同的epb的示例閾值。注意,可以使用基準,在硅工藝之后調(diào)整這些值。表6epb值活躍的閾值拒絕閾值(第一)允許閾值(第二)能量205010平衡的205010性能206020在某些實施例中,處理器可以為性能、平衡的以及能量性能偏向提供預(yù)定值。在某些實施例中,第二(允許)閾值可以比第一(拒絕)閾值小2到8倍或更多。在一個實施例中,這些是實數(shù),表示觀察窗口時間的一小部分。不失一般性,下面的表7是根據(jù)本發(fā)明的一個實施例的eet算法的實現(xiàn)的偽代碼。表7注意,在表7中,在確定候選性能狀態(tài)(new_pstate)之后,應(yīng)用最小函數(shù),該最小函數(shù)包括電氣設(shè)計點考慮,最后應(yīng)用該最小函數(shù)是因為這取決于尋求超頻的核的數(shù)量以及它們的超頻的度。最小函數(shù)的另一參數(shù)是熱約束,因為過去的活動和環(huán)境影響處理器溫度,因此影響核可以在多大程度上超頻,而不會熔化。根據(jù)一實施例,可以使eet只在pcps的上下文中可用,并可以使用可配置參數(shù)來啟用或禁用。在一個這樣的實現(xiàn)中,諸如bios設(shè)置的eet標志之類的eet啟用指示符可用于啟用/禁用eet。當(dāng)eet被啟用時,當(dāng)處理器在超頻范圍內(nèi)操作時,單個核可以在不同的,獨立的頻率操作,取決于給定核遇到的停止。相比之下,當(dāng)eet被禁用時,超頻預(yù)算被均勻地分布到尋求在超頻模式頻率下操作的所有核。作為進一步的可配置參數(shù),可以通過設(shè)置適應(yīng)時段長度(在一個實施例中,該適應(yīng)時段長度可以存儲在控制寄存器的字段中),可以提供eet適應(yīng)時段作為用戶控制的參數(shù)。在一個實施例中,此適應(yīng)時段字段可以具有以毫秒的整數(shù)倍設(shè)置的值。作為這些eet可配置參數(shù)的使用情況的示例,云服務(wù)器部署可以選擇關(guān)閉eet,這樣一來,在所有運行的應(yīng)用間均勻地分配所有超頻預(yù)算(并可以可任選地禁用所有超頻操作,允許核至多在最大保證的頻率下運行,以使冷卻成本低)。在其中可以基于核頻率來記帳的部署中,可以打開超頻模式操作,以允許在滑動標尺的基礎(chǔ)上記帳,對于在超頻模式下操作的用戶,按指數(shù)規(guī)律地更多地計費。作為其他示例,在線電子商務(wù)中心,諸如銀行、航空公司或娛樂流式傳送可以選擇啟用eet,并在可以動態(tài)地滿足峰值負載時獲得提高的超頻性能。在希望限制冷卻和功率需求的系統(tǒng)中,可以禁用超頻模式,在這樣的情況下,eet也被禁用。參考現(xiàn)在表8,所示是根據(jù)本發(fā)明的實施例的用于執(zhí)行eet控制的偽代碼。表8如此,在上面的表8的代碼中,當(dāng)系統(tǒng)不處于單一功率域模式并且eet操作根據(jù)禁用的eet標志而被禁用時,可以通過確定多余功率預(yù)算,并將此多余功率預(yù)算除以尋求超頻操作的核的數(shù)量,將超頻功率預(yù)算均勻地分布到尋求超頻操作模式的所有核。這允許每一個這樣的核在高于保證的操作頻率的共同頻率下操作。否則,如果eet被啟用,并且發(fā)生了適應(yīng)時段;對于試圖在超頻操作模式下操作的每一個核,可以基于給定能量效率策略和諸如核停止信息之類的各種信息,調(diào)整核操作頻率。在一個實施例中,可以,例如,使用上面表7中所示出的偽代碼,設(shè)置這樣的分析和超頻模式頻率?,F(xiàn)在參考圖5,所示是根據(jù)本發(fā)明的實施例的處理器的框圖。如圖5所示,處理器400可以是包括多個核410a-410n的多核處理器。在一個實施例中,每一個這樣的核都可以被配置成在多個電壓和/或頻率下操作。另外,還可以獨立地控制每一個核以在選擇的電壓和/或頻率下操作,如上文所討論的。為此,每一個核還可以與對應(yīng)的電壓調(diào)節(jié)器412a-412n相關(guān)聯(lián)。盡管為便于說明未示出,但是,可以理解,每一個核410都可包括核活動傳感器和核停止傳感器。各種核都可以通過互連415而耦合到包括各種組件的非核或系統(tǒng)代理邏輯420。可以看出,非核420可以包括作為末級高速緩存的共享高速緩存器430。另外,非核還可以包括集成的存儲器控制器440、各種接口450和功率控制單元455以及上文所描述的分布式流量傳感器。在各實施例中,功率控制單元455可以與os功率管理代碼進行通信,受向msr的os寫入的影響,每個邏輯處理器一個。例如,基于從os接收到的請求和關(guān)于正在由核處理的工作負荷的信息,功率控制單元455可以使用包括的功率管理配置控制邏輯457,在一個實施例中,該邏輯457可以執(zhí)行固件,以允許用戶根據(jù)本發(fā)明的一個實施例控制多個功率管理特征的實現(xiàn)。基于上文所描述的信息,功率控制單元455可以在考慮到核的活動級別的情況下,動態(tài)地并且獨立地控制一個或多個核的頻率和/或電壓。進一步參考圖5,處理器400可以,例如,通過存儲器總線,與系統(tǒng)存儲器460進行通信。另外,通過接口450,可以連接到諸如外圍設(shè)備、大容量存儲器等各種芯片外組件。盡管在圖5的實施例中利用此特定實現(xiàn)示出的,但是,本發(fā)明的范圍在這方面不受限制。現(xiàn)在參考圖6,所示是根據(jù)本發(fā)明的一個實施例的處理器核的框圖。如圖6所示,處理器核500可以是多級流水線化的無序處理器。如圖6所示,核500可以由于集成的電壓調(diào)節(jié)器509,而在各種電壓和頻率下操作。在各實施例中,此調(diào)節(jié)器可以接收例如從外部電壓調(diào)節(jié)器傳入的電壓信號,還可以進一步例如從耦合到核500的非核邏輯接收一個或多個控制信號。如圖6所示,核500包括前端單元510,該前端單元510可以被用來獲取要被執(zhí)行的指令并準備它們供以后在處理器中使用。例如,前端單元510可以包括獲取單元501、指令緩存503以及指令解碼器505。在某些實現(xiàn)中,前端單元510還可以包括跟蹤緩存,以及微代碼存儲器以及微操作存儲器。獲取單元501可以例如從存儲器或指令緩存503獲取宏指令,并將它們饋送到指令解碼器505,以將它們解碼為基元,即,用于由處理器執(zhí)行的微操作。在前端單元510和執(zhí)行單元520之間耦合了無序(ooo)引擎515,該引擎515可以被用來接收微指令并準備它們以供執(zhí)行。更具體而言,ooo引擎515可以包括各種緩沖器以重新排序微指令流,并分配執(zhí)行所需的各種資源,以及將邏輯寄存器的重命名提供到諸如寄存器組530和擴充寄存器組535之類的各種寄存器組內(nèi)的存儲位置。寄存器組530可以包括用于整數(shù)和浮點運算的分開的寄存器組。擴展寄存器組535可以提供用于矢量大小的單元的存儲器,例如,每個寄存器256或512比特。在執(zhí)行單元520中可以存在各種資源,包括,例如,各種整數(shù)、浮點以及單指令多數(shù)據(jù)(simd)邏輯單元,以及其他專門的硬件。例如,這樣的執(zhí)行單元可以包括一個或多個算術(shù)邏輯單元(alu)522以及其他這樣的執(zhí)行單元??梢韵蚧赝诉壿?,即,重新排序緩沖器(rob)540,提供來自執(zhí)行單元的結(jié)果。更具體而言,rob540可以包括各種陣列和邏輯以接收與執(zhí)行的指令相關(guān)聯(lián)的信息。然后,由rob540檢查此信息,以判斷是否可以有效地回退指令,結(jié)果數(shù)據(jù)被提交到處理器的架構(gòu)狀態(tài),或是否發(fā)生了阻止指令的適當(dāng)?shù)幕赝说囊粋€或多個異常。當(dāng)然,rob540也可以處理與回退相關(guān)聯(lián)的其他操作。如圖6所示,rob540耦合到緩存550,緩存550在一個實施例中可以是低級別緩存(例如,l1緩存),雖然本發(fā)明的范圍在這方面不受限制。此外,執(zhí)行單元520還可以直接耦合到緩存550。從緩存550,可以與較高級別的緩存,系統(tǒng)存儲器等等發(fā)生數(shù)據(jù)通信。盡管在圖6的實施例中以此高級別示出的,但是,可以理解,本發(fā)明的范圍在這方面不受限制。例如,盡管圖6的實現(xiàn)是對于諸如所謂的x86指令集架構(gòu)(isa)之類的無序機器,但是,本發(fā)明的范圍在這方面不受限制。即,其他實施例可以在有序處理器、精簡指令集計算(risc)處理器,諸如基于arm的處理器,或可以通過仿真引擎和相關(guān)聯(lián)的邏輯電路來模仿不同的isa的指令和操作的另一種類型的指令集架構(gòu)(isa)的處理器中實現(xiàn)?,F(xiàn)在參考圖7,所示是根據(jù)本發(fā)明的另一個實施例的多核處理器的框圖。如圖7的實施例所示,處理器600包括多個域。具體而言,核域610可包括多個核610a–610n,圖形域620可包括一個或多個圖形引擎,還可以進一步存在系統(tǒng)代理域650。在各實施例中,系統(tǒng)代理域650可以處理功率控制事件和功率管理,以便可以控制域610和620的單個單元(諸如核和/或圖形引擎),以在考慮到在給定單元中發(fā)生的活動(或不活動)的情況下,在合適的超頻模式頻率,獨立地動態(tài)地操作。域610和620中的每一個都可以在不同的電壓和/或功率下操作,此外,域內(nèi)的單個單元中的每一個都還可以基于如此處所描述的功率管理特征的用戶配置,在獨立頻率和電壓下操作。注意,盡管只利用三個域示出,但是,應(yīng)理解,本發(fā)明的范圍在這方面不受限制,在其他實施例中可以存在于更多的域。一般而言,除各種執(zhí)行單元和另外的處理元件之外,每一個核610都還可以包括低級別緩存。各種核又可以彼此耦合并耦合由llc6400-640n的多個單元構(gòu)成的共享緩存存儲器。在各實施例中,可以在核和圖形引擎,以及各種媒體處理電路之間共享llc640??梢钥闯觯绱?,環(huán)形互連630將核耦合在一起,并在核、圖形域620和系統(tǒng)代理電路650之間提供互連。在一個實施例中,互連630可以是核域的一部分。然而,在其他實施例中,環(huán)形互連可以是其自己的域,并可以基于此處所描述的可配置的ufs控制,對其進行控制,以在獨立或依賴的頻率下操作。進一步可以看出,系統(tǒng)代理域650可以包括顯示控制器652,該顯示控制器652可以提供對相關(guān)聯(lián)的顯示器的控制以及到它的接口。進一步可以看出,系統(tǒng)代理域650可以包括功率控制單元655,該功率控制單元655可包括根據(jù)本發(fā)明的一個實施例的超頻控制邏輯659,以基于對應(yīng)的核的活動信息和eet配置,獨立地或在共同的超頻模式頻率下,控制核的超頻模式頻率。在圖7中進一步可以看出,處理器600還可以包括集成的存儲器控制器(imc)670,該imc670可以提供到諸如動態(tài)隨機存取存儲器(dram)之類的系統(tǒng)存儲器的接口??梢源嬖诙鄠€接口6800-680n,以在處理器及其他電路之間實現(xiàn)互連。例如,在一個實施例中,可以提供至少一個直接媒體接口(dmi)接口以及一個或多個外圍組件互連快速(pcietm)接口。更進一步,為在諸如額外的處理器或其他電路之類的其他代理之間提供通信,也可以提供符合快速路徑互連(qpi)協(xié)議的一個或多個接口。雖然在圖7的實施例中以此高級別示出的,但是,可以理解,本發(fā)明的范圍在這方面不受限制。各實施例可以以許多不同的系統(tǒng)類型來實現(xiàn)。現(xiàn)在參考圖8,所示是根據(jù)本發(fā)明的實施例的系統(tǒng)的框圖。如圖8所示,多處理器系統(tǒng)700是點對點互連系統(tǒng),并包括通過點對點互連750耦合的第一處理器770和第二處理器780。如圖8所示,處理器770和780中的每一個都可以是多核處理器,包括第一和第二處理器核(即,處理器核774a和774b,處理器核784a和784b),雖然潛在地更多核可以存在于處理器中。處理器中的每一個都可包括pcu或其他邏輯以基于發(fā)生的核活動,執(zhí)行對大于保證的操作頻率(獨立地或在共同的超頻模式頻率)的準許的操作頻率的動態(tài)控制,以有效率地消耗能量,如此處所描述的,以及允許單域功率控制或pcps功率控制?;诖颂幩枋龅目膳渲玫脑O(shè)置,處理器還可以進一步根據(jù)給定配置,控制非核頻率。仍參考圖8,第一處理器770還包括存儲器控制器中樞(mch)772和點對點(p-p)接口776和778。類似地,第二處理器780包括mch782和p-p接口786和788。如圖8所示,mch772和782將處理器耦合到相應(yīng)的存儲器,即,存儲器732和存儲器734,它們可以是本地連接到相應(yīng)的處理器的系統(tǒng)存儲器(例如,dram)的一部分。第一處理器770和第二處理器780可以分別通過p-p互連752和754來耦合到芯片組790。如圖8所示,芯片組790包括p-p接口794和798。此外,芯片組790還包括接口792,接口792通過p-p互連739而將芯片組790與高性能圖形引擎738耦合。芯片組790又可以通過接口796耦合到第一總線716。如圖8所示,各種輸入/輸出(i/o)設(shè)備714可以耦合到第一總線716,以及將第一總線716耦合到第二總線720的總線橋接器718。各種設(shè)備可以耦合到第二總線720,包括,例如,鍵盤/鼠標722、通信設(shè)備726和數(shù)據(jù)存儲單元728,數(shù)據(jù)存儲單元730諸如磁盤驅(qū)動器或可以包括代碼630的其他大容量存儲設(shè)備。進一步地,音頻i/o724可以耦合到第二總線720。各實施例可以被包括到其他類型的系統(tǒng)中,包括諸如智能蜂窩電話、平板電腦、上網(wǎng)本、ultrabooktm等等之類的移動設(shè)備。通過提供處理器性能特征的配置,并促進它們的混合并匹配,單一處理器可以更好地滿足不同的市場部分的需要,而不會有sku的爆炸。通過提供如上文所描述的spd指示符,結(jié)合固件(硬件和軟件支持),處理器可以無縫地作為前一代產(chǎn)品和新的完整功能的產(chǎn)品,并進一步可以允許基于舊式os的系統(tǒng)以對os不可見的方式利用pcps。通過提供對ufs的可配置的控制,互連系統(tǒng)可以在非核頻率跟隨核頻率的情況下操作,或作為固定非核頻率產(chǎn)品,或作為動態(tài)工作負荷敏感的自適應(yīng)互連系統(tǒng)。另外,周期性參數(shù)還允許控制對工作負荷變化的系統(tǒng)響應(yīng)速度。eet啟用/禁用特征允許可用的超頻預(yù)算在超頻請求核之間平均分配,或更小心的控制,例如,基于應(yīng)用存儲器相關(guān)性特征。通過使用本發(fā)明的各實施例,延遲敏感的消費者可以將非核頻率最低值設(shè)置得足夠高,以滿足qos需求,或?qū)⒆畹秃妥罡咧翟O(shè)置為相同值以關(guān)閉ufs。試圖得益于新的硬件但不得益于新的功率特征的消費者可以關(guān)閉以上全部所描述的功率管理特征??闪磉x地,諸如云服務(wù)器使用模型之類的用戶可以禁用這些特征,直到諸如支持基于使用來對它們的消費者/應(yīng)用進行記帳的點可用。對于諸如室內(nèi)的數(shù)據(jù)中心之類的其他用戶,可以利用以上全部所描述的功率管理特征來獲得功率/性能優(yōu)點。最后,舊式os消費者可以使用這些特征,雖然它們不可見,并且不由os支持。各實施例可以用于許多不同類型的系統(tǒng)中。例如,在一個實施例中,通信設(shè)備可以被配置為執(zhí)行此處所描述的各種方法和技術(shù)。當(dāng)然,本發(fā)明的范圍不僅限于通信設(shè)備,相反,其他實施例可以涉及其他類型的用于處理指令的設(shè)備,包括指令的一個或多個機器可讀的介質(zhì),所述指令,響應(yīng)于在計算設(shè)備上執(zhí)行,導(dǎo)致設(shè)備執(zhí)行此處所描述的方法和技術(shù)中的一個或多個。各實施例可以以代碼來實現(xiàn),并可以存儲在在其上存儲了指令的非瞬時的存儲介質(zhì)上,指令可以被用來對系統(tǒng)進行編程以執(zhí)行指令。存儲介質(zhì)可以包括,但不僅限于,任何類型的磁盤,包括軟盤、光盤、固態(tài)驅(qū)動器(ssd)、光盤只讀存儲器(cd-rom)、光盤可重寫(cd-rw),以及磁光盤、諸如只讀存儲器(rom)之類的半導(dǎo)體器件、諸如動態(tài)隨機存取存儲器(dram)、和靜態(tài)隨機存取存儲器(sram)之類的隨機訪問存儲器(ram)、可擦除編程只讀存儲器(eprom)、閃存、電可擦除編程只讀存儲器(eeprom)、磁卡或光卡,或適于存儲電子指令的任何其他類型的介質(zhì)。盡管是參考數(shù)量有限的實施例來描述本發(fā)明的,但是,那些精通本技術(shù)的人將從其中理解很多修改和變體。所附權(quán)利要求書涵蓋所有這樣的修改和變體都將在本發(fā)明的真正的精神和范圍內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新宁县| 怀宁县| 通渭县| 砚山县| 将乐县| 平邑县| 新密市| 彝良县| 盘山县| 龙井市| 灌南县| 开鲁县| 黄大仙区| 平乡县| 洱源县| 梁山县| 北碚区| 龙海市| 兴仁县| 河东区| 开江县| 万山特区| 营山县| 东辽县| 新竹县| 邵阳市| 徐水县| 连州市| 民和| 惠东县| 固原市| 临泉县| 乌兰县| 巩留县| 二连浩特市| 阿坝县| 鄂托克前旗| 凌源市| 张家港市| 宁乡县| 喀喇|