欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

生成一組處理器的硬件熱分布的方法和系統(tǒng)的制作方法

文檔序號:6561304閱讀:277來源:國知局
專利名稱:生成一組處理器的硬件熱分布的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本申請涉及熱分布(thermal profile),尤其是處理器的熱分布。更具體地,本申請涉及生成多核心系統(tǒng)的硬件熱分布的計算機(jī)實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng),及計算機(jī)可用代碼。
背景技術(shù)
第一代單元(cell)處理器是多核心芯片,其由64位Power PC處理器核心和8個協(xié)處理器核心組成,能進(jìn)行大量浮點處理,針對計算密集工作負(fù)載和寬帶富媒體(rich media)應(yīng)用而優(yōu)化。高速存儲器控制器及高帶寬總線接口也被集成在片上。單元的突破性多核心體系結(jié)構(gòu)及極高速通信性能傳送大大改進(jìn)的實時應(yīng)答,在許多情況下是最近PC處理器的性能的十倍。單元是操作系統(tǒng)中性的,并且同時支持多個操作系統(tǒng)。這類處理器的應(yīng)用范圍從具有引人注目的強(qiáng)真實性的下一代游戲系統(tǒng),到在家庭中形成數(shù)字媒體及流內(nèi)容的集線器的系統(tǒng),到用于開發(fā)及分配數(shù)字內(nèi)容的系統(tǒng),以及到加速可視化及超級計算應(yīng)用的系統(tǒng)。
當(dāng)前的高性能多核處理器經(jīng)常受發(fā)熱問題的限制。標(biāo)準(zhǔn)的解決方案包含降溫及電源管理。降溫可能昂貴和/或難于封裝。電源管理通常是粗動作,如果不是所有處理器達(dá)到對熱限制起反應(yīng),則會進(jìn)行過多″節(jié)制″。例如熱管理的其它技術(shù)通過只節(jié)制超出規(guī)定溫度的部件來幫助解決這些粗動作的問題。甚至通過改進(jìn)熱管理,具有獲得應(yīng)用的分布的方法的系統(tǒng)對于防止處理器被節(jié)制是有利的。

發(fā)明內(nèi)容
本發(fā)明的不同方面提供了生成一組處理器的硬件熱分布的計算機(jī)實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng),及計算機(jī)可用代碼。在產(chǎn)生采樣信息的一組工作負(fù)載的執(zhí)行期間采樣一組處理器的熱狀態(tài)。采樣信息與該組處理器的熱特性組合。基于采樣信息和該組處理器的特性產(chǎn)生熱指標(biāo)(thermal index)。


在所附權(quán)利要求書中提出了被認(rèn)為是本圖解實施例的特征的新穎特性。然而,參照下列結(jié)合附圖對圖解實施例進(jìn)行的詳細(xì)描述可以更好地理解圖解實施例自身,最優(yōu)使用模式,其它目的和優(yōu)點,其中圖1是描述數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示,其中圖解實施例的各方面可以被實現(xiàn);圖2是描述示出的數(shù)據(jù)處理系統(tǒng)的模塊圖,其中圖解實施例的各方面可以被實現(xiàn);圖3是單元寬帶引擎芯片的示例圖,其中圖解方面可以根據(jù)一個圖解實施例被實現(xiàn)。
圖4圖解了基于圖解實施例的示例性單元寬帶引擎芯片熱管理系統(tǒng);圖5基于一個圖解實施例圖解了可能出現(xiàn)中斷及動態(tài)節(jié)制的溫度和各點;圖6是基于一個圖解實施例,描述軟件熱分布的解析生成的操作的流程圖;圖7是基于一個圖解實施例,描述在模擬環(huán)境中通過運行時刻執(zhí)行來生成軟件熱分布的操作的流程圖;圖8是基于一個圖解實施例,描述通過在多核處理器上的運行時刻執(zhí)行來生成軟件熱分布和測量處理器活動的操作的流程圖;圖9是基于一個圖解實施例,描述使用熱采樣,通過在多核處理器上的運行時刻執(zhí)行來生成軟件熱分布的操作的流程圖;圖10是基于一個圖解實施例,描述多核處理器的硬件熱分布生成的操作的流程圖;及圖11是基于一個圖解實施例,描述多核處理器系統(tǒng)中的生成軟件熱分布以得到最優(yōu)功率及性能的操作的流程圖。
具體實施例方式
圖解實施例涉及多核心系統(tǒng)的一組處理器的硬件熱分布的生成。圖1-2作為可以實現(xiàn)圖解實施例的數(shù)據(jù)處理環(huán)境的示例圖。應(yīng)當(dāng)理解,圖1-2只是示例性的,并且不準(zhǔn)備聲明或暗示關(guān)于可以實現(xiàn)各方面或?qū)嵤├沫h(huán)境的任何限定。對所描述環(huán)境的許多修改可以在不偏離圖解實施例的實質(zhì)和范圍的前提下進(jìn)行。
現(xiàn)在參照附圖,圖1描述了可以實現(xiàn)圖解實施例的各方面的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是可以實現(xiàn)圖解實施例的計算機(jī)的網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,其是用于提供在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計算機(jī)之間的通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可以包含例如有線,無線通信鏈路或光纜的連接。
在所描述的例子中,服務(wù)器104和服務(wù)器106與存儲單元108連接到網(wǎng)絡(luò)102。另外,客戶機(jī)110,112和114連接到網(wǎng)絡(luò)102。這些客戶機(jī)110,112和114可以是例如個人計算機(jī)或網(wǎng)絡(luò)計算機(jī)。在所描述的例子中,服務(wù)器104向客戶機(jī)110,112和114提供例如引導(dǎo)文件,操作系統(tǒng)映像及應(yīng)用程序的數(shù)據(jù)??蛻魴C(jī)110,112和114在這個例子中是服務(wù)器104的客戶機(jī)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包含其它服務(wù)器,客戶機(jī)及未示出的其它設(shè)備。
在所描述的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是具有網(wǎng)絡(luò)102的因特網(wǎng),其表示使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議族彼此通信的網(wǎng)絡(luò)及網(wǎng)關(guān)的全世界集合。因特網(wǎng)的核心是包括成千上萬的商業(yè),政府,教育的主要節(jié)點或主計算機(jī)和路由數(shù)據(jù)和消息的其它計算機(jī)系統(tǒng)之間的高速數(shù)據(jù)通信線路的主干網(wǎng)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可以被實現(xiàn)成例如內(nèi)部網(wǎng),局域網(wǎng)(LAN),或廣域網(wǎng)(WAN)的大量不同類型的網(wǎng)絡(luò)。圖1用作一個例子,并且不作為對不同圖解實施例的結(jié)構(gòu)限定。
現(xiàn)在參考圖2,示出可以實現(xiàn)圖解實施例的各方面的數(shù)據(jù)處理系統(tǒng)的模塊圖。數(shù)據(jù)處理系統(tǒng)200是計算機(jī)的一個例子,例如圖1中的服務(wù)器104或客戶機(jī)110,其中可以定位實現(xiàn)圖解實施例的處理的計算機(jī)可用代碼或指令。
在所描述的例子中,數(shù)據(jù)處理系統(tǒng)200使用集線器體系結(jié)構(gòu),其包含北橋和存儲器控制器集線器(MCH)202及南橋和輸入/輸出(I/O)控制器集線器(ICH)204。處理單元206,主存儲器208和圖形處理器210被連接到北橋和存儲器控制器集線器202。圖形處理器210可以通過圖形加速端口(AGP)被連接到北橋和存儲器控制器集線器202。
在所描述的例子中,局域網(wǎng)(LAN)適配器212連接到南橋和I/O控制器集線器204。音頻適配器216,鍵盤和鼠標(biāo)適配器220,調(diào)制解調(diào)器222,只讀存儲器(ROM)224,硬盤驅(qū)動器(HDD)226,CD-ROM驅(qū)動器230,通用串行總線(USB)端口和其它通信端口232及PCI/PCIe設(shè)備234通過總線238和總線240連接到南橋和I/O控制器集線器204。PCI/PCIe設(shè)備可以包含例如筆記本計算機(jī)的以太網(wǎng)適配器,內(nèi)插式卡及PC卡。PCI使用卡總線控制器,而PCIe不使用。ROM 224可以是例如快擦寫二進(jìn)制輸入/輸出系統(tǒng)(BIOS)。
硬盤驅(qū)動器226及CD-ROM驅(qū)動器230通過總線240連接到南橋和I/O控制器集線器204。硬盤驅(qū)動器226及CD-ROM驅(qū)動器230可以使用例如集成驅(qū)動電子(IDE)或串行高級技術(shù)附連(SATA)接口。超級I/O(SIO)設(shè)備236可以被連接到南橋和I/O控制器集線器204。
操作系統(tǒng)在處理單元206上運行,并且協(xié)調(diào)及提供圖2中數(shù)據(jù)處理系統(tǒng)200內(nèi)的各種部件的控制。作為客戶機(jī),操作系統(tǒng)可以是例如MicrosoftWindowsXP(Microsoft和Windows是在美國,其它國家或兩者的微軟公司的商標(biāo))的商用操作系統(tǒng)。例如JavaTM編程系統(tǒng)的面向?qū)ο缶幊滔到y(tǒng)可以與操作系統(tǒng)結(jié)合運行,并且提供來自在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用程序?qū)Σ僮飨到y(tǒng)的調(diào)用(Java是在美國,其它國家,或兩者的Sun Microsystems公司的商標(biāo))。
作為服務(wù)器,數(shù)據(jù)處理系統(tǒng)200可以是例如IBM eServerTmpSeries計算機(jī)系統(tǒng),其運行先進(jìn)交互執(zhí)行程序(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)(eServer,pSeries及AIX是在美國,其它國家,或兩者的國際商用機(jī)器公司的商標(biāo),而Linux是在美國,其它國家,或兩者的Linus Torvalds公司的商標(biāo))。數(shù)據(jù)處理系統(tǒng)200可以是在處理單元206中包含多個處理器的對稱多處理器(SMP)系統(tǒng)??蛇x地,可以使用一個單處理器系統(tǒng)。
操作系統(tǒng),面向?qū)ο缶幊滔到y(tǒng)及應(yīng)用或程序的指令位于例如硬盤驅(qū)動器226的存儲設(shè)備上,并且可以被載入主存儲器208以便由處理單元206執(zhí)行。圖解實施例的處理由處理單元206使用計算機(jī)可用程序代碼來執(zhí)行,該計算機(jī)可用程序代碼可以位于例如主存儲器208,只讀存儲器224中,或位于一或多個外部設(shè)備226和230的存儲器中。
本領(lǐng)域普通技術(shù)人員理解,圖1-2中的硬件可以根據(jù)實現(xiàn)發(fā)生變化。例如快擦寫存儲器,等效非易失存儲器或光驅(qū)等等的其它內(nèi)部硬件或外部設(shè)備可以被用于增加或取代圖1-2中描述的硬件。同樣,圖解實施例的處理可以被應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。
在某些圖解例子中,數(shù)據(jù)處理系統(tǒng)200可以是個人數(shù)字助理(PDA),其配置快擦寫存儲器以提供存儲操作系統(tǒng)文件和/或用戶生成數(shù)據(jù)的非易失存儲器。
總線系統(tǒng)可以由例如圖2所示的總線238或總線240的一或多個總線組成。當(dāng)然,可以使用在連接到構(gòu)造或體系結(jié)構(gòu)的不同部件或設(shè)備之間提供數(shù)據(jù)傳送的任何類型通信構(gòu)造或體系結(jié)構(gòu)來實現(xiàn)總線系統(tǒng)。通信單元可以包含用于發(fā)送和接收數(shù)據(jù)的一或多個設(shè)備,例如圖2的調(diào)制解調(diào)器222或網(wǎng)絡(luò)適配器212。存儲器可以是圖2中的例如主存儲器208,只讀存儲器224或在北橋和存儲器控制器集線器202中找到的高速緩存。圖1-2描述的例子和上述例子不暗示結(jié)構(gòu)限定。例如,數(shù)據(jù)處理系統(tǒng)200也可以是除了PDA形式之外的平板計算機(jī),膝上型計算機(jī)或電話設(shè)備。
圖3是基于一個圖解實施例的單元寬帶引擎芯片的示例圖,其中圖解實施例的各方面可以實現(xiàn)。單元寬帶引擎芯片300是針對以例如游戲控制臺,桌面系統(tǒng)及服務(wù)器的富媒體應(yīng)用為目標(biāo)的分布式處理的單芯片多處理器實現(xiàn)。
單元寬帶引擎芯片300可以被邏輯上分成以下功能部件PowerPC處理器單元(PPE)301,協(xié)處理器部件(SPU)310,311及312,及存儲器流控制器(MFC)305,306及307。盡管通過例子示出協(xié)處理器單元和Power PC處理器單元,但可以支持任何類型的處理器單元。示例性單元寬帶引擎芯片300實現(xiàn)包含一個Power PC處理器單元301和8個協(xié)處理器單元,盡管圖3只示出三個協(xié)處理器單元(SPE)302,303及304。單元處理器的協(xié)處理器單元是設(shè)計成加速媒體及數(shù)據(jù)流工作負(fù)載的新處理器體系結(jié)構(gòu)的第一種實現(xiàn)。
每個協(xié)處理器單元包含具有其自身本地存儲(LS)區(qū)域313,314或315的一個協(xié)處理器部件(SPU)310,311或312,及與存儲器管理部件(MMU)316,317或318相關(guān)以保存及處理存儲器保護(hù)和訪問許可信息的專用存儲器流控制器(MFC)305,306或307。再次地,盡管通過例子示出協(xié)處理器單元,但可以支持任何類型的處理器。另外,單元寬帶引擎芯片300實現(xiàn)單元互連總線(EIB)319及其它I/O結(jié)構(gòu)以利于芯片內(nèi)和外部的數(shù)據(jù)流。
單元互連總線319充當(dāng)Power PC處理器單元301及協(xié)處理器單元302,303及304的主芯片內(nèi)總線。另外,單元互連總線319與其它專用于芯片外訪問的芯片內(nèi)接口控制器接口。芯片內(nèi)接口控制器包含存儲器接口控制器(MIC)320,其提供兩個極端數(shù)據(jù)速率I/O(XIO)存儲器通道321及322,以及單元寬帶引擎接口單元(BEI)323,其提供針對單元寬帶引擎300的兩個高速外部I/O通道及內(nèi)部中斷控制。單元寬帶引擎接口單元323被實現(xiàn)成總線接口控制器(BIC0 & BIC1)324及325及I/O接口控制器(IOC)326。連接到多個RRAC接口的兩個高速外部I/O通道提供單元寬帶引擎300的靈活輸入和輸出(F1exIO_0 & F1exIO_1)353。
每個協(xié)處理器單元310,311或312具有對應(yīng)的本地存儲區(qū)域313,314或315及協(xié)執(zhí)行單元(SXU)354,355或356。每個單個協(xié)處理器單元310,311或312可以只執(zhí)行其相關(guān)本地存儲區(qū)域313,314或315中的指令(包含數(shù)據(jù)載入及存儲操作)。為此,使用存儲器流控制器直接存儲器訪問操作,通過協(xié)處理器單元310,311及312的專用存儲器流控制器305,306及307執(zhí)行針對系統(tǒng)中其它地方的存儲設(shè)備所有所需數(shù)據(jù)傳送。
在協(xié)處理器單元310,311或312上運行的程序只使用本地存儲地址訪問其自身本地存儲區(qū)域313,314或315。然而,每個協(xié)處理器單元的本地存儲區(qū)域313,314或315也分配有總體系統(tǒng)的存儲器映射內(nèi)的實地址(RA)。這允許特權(quán)軟件把本地存儲區(qū)域映射到進(jìn)程的有效地址(EA),以利于一個協(xié)處理器單元的本地存儲和另一個協(xié)處理器單元的本地存儲之間的直接存儲器訪問傳送。Power PC處理器單元301也可以使用有效地址直接訪問任何協(xié)處理器單元的本地存儲。
存儲器流控制器直接存儲器訪問數(shù)據(jù)傳送命令總是使用一個本地存儲地址及一個有效地址。本地存儲地址直接尋址對應(yīng)于其中放置有直接存儲器訪問命令請求的存儲器流控制器命令隊列的相關(guān)協(xié)處理器單元310,311或312的本地存儲存儲器。然而,有效地址可以被用于訪問系統(tǒng)中包含其它協(xié)處理器單元302,303及304的本地存儲區(qū)域313,314及315的任何其它存儲器存儲區(qū)。
主存儲設(shè)備由系統(tǒng)中的Power PC處理器單元308,電源處理器單元(PPE)301,協(xié)處理器單元(SPE)302,303及304及I/O設(shè)備共享。在這個層次的存儲設(shè)備中保存的所有信息對系統(tǒng)中的所有處理器及設(shè)備可見。程序使用有效地址訪問這個層次的存儲器。由于存儲器流控制器協(xié)處理器單元命令隊列和存儲器流控制器代理命令隊列及控制和狀態(tài)設(shè)備被映射到有效地址空間,所以電源處理器單元301可以初始化涉及與任何協(xié)處理器單元(SPE)302,303及304相關(guān)的本地存儲區(qū)域的直接存儲器訪問操作。
協(xié)處理器單元程序通過產(chǎn)生和放置具有適當(dāng)有效地址和本地存儲地址的直接存儲器訪問數(shù)據(jù)傳送命令到其存儲器流控制器(MFC)305,306或307命令隊列來訪問主存儲設(shè)備。當(dāng)執(zhí)行時,所需數(shù)據(jù)在其自身本地存儲區(qū)域和主存儲設(shè)備之間傳送。存儲器流控制器(MFC)305,306或307提供針對由例如電源處理器單元(PPE)301的其它設(shè)備產(chǎn)生的命令的第二代理命令隊列。代理命令隊列通常被用于在啟動協(xié)處理器單元之前把程序存儲在本地存儲設(shè)備中。代理命令也可以被用于上下文存儲操作。
數(shù)據(jù)傳送的有效地址部分是更通用的,并且可以訪問包含所有協(xié)處理器單元本地存儲區(qū)域的主存儲設(shè)備。這些本地存儲區(qū)域被映射到有效地址空間。數(shù)據(jù)傳送被保護(hù)。通過存儲器管理單元把有效地址轉(zhuǎn)換為實地址。轉(zhuǎn)換過程允許系統(tǒng)存儲器的虛擬化及存儲保護(hù)。
單元寬帶引擎芯片300上的Power PC處理器單元301包括64位Power PC處理器單元308及Power PC存儲子系統(tǒng)309。Power PC處理器單元308包含處理器執(zhí)行單元(PXU)329,一級(L1)高速緩存330,存儲器管理單元(MMU)331及替換管理表(RMT)332。Power PC存儲子系統(tǒng)309包括可高速緩存接口單元(CIU)333,不可高速緩存單元(NCU)334,二級(L2)高速緩存328,替換管理表(RMT)335及總線接口單元(BIU)327??偩€接口單元327把Power PC存儲子系統(tǒng)309連接到單元互連總線319。
協(xié)處理器單元310,311或312及存儲器流控制器305,306及307通過具有容量的單向通道彼此通信。通道接口針對存儲器流控制器305,306及307,協(xié)處理器單元310,311及312傳送消息??偩€接口單元339,340及341把存儲器流控制器305,306及307連接到單元互連總線319。
存儲器流控制器305,306及307為協(xié)處理器單元310,311及312提供兩個主要功能。存儲器流控制器305,306及307在協(xié)處理器單元310,311或312的本地存儲區(qū)域313,314及315及主存儲設(shè)備之間移動數(shù)據(jù)。另外,存儲器流控制器305,306及307提供協(xié)處理器單元310,311及312和系統(tǒng)中其它設(shè)備之間的同步設(shè)備。
存儲器流控制器305,306及307實現(xiàn)具有四個功能單元直接存儲器訪問控制器(DMAC)336,337,和338,存儲器管理單元(MMU)316,317,和318,原子單元(ATO)342,343,和344,替換管理表(RMT)345,346,和347及總線接口單元(BIU)339,340,和341。直接存儲器訪問控制器336,337,和338維護(hù)及處理存儲器流控制器命令隊列(MFCCMDQ),其包括存儲器流控制器協(xié)處理器單元命令隊列(MFC SPUQ)和存儲器流控制器代理命令隊列(MFC PrxyQ)。具有16個條目的存儲器流控制器協(xié)處理器單元命令隊列處理來自協(xié)處理器單元通道接口的存儲器流控制器命令。具有8個條目的存儲器流控制器代理命令隊列通過存儲器映射輸入和輸出(MMIO)載入和存儲操作來處理來自其它設(shè)備的存儲器流控制器命令。典型的直接存儲器訪問命令在本地存儲器和主存儲設(shè)備之間移動數(shù)據(jù)。主存儲設(shè)備被有效地址直接存儲器訪問命令操作數(shù)尋址。本地存儲器被本地存儲地址(LSA)直接存儲器訪問命令操作數(shù)尋址。
在虛擬模式中,存儲器管理單元316,317,和318提供地址轉(zhuǎn)換和存儲保護(hù)設(shè)備,以處理來自直接存儲器訪問控制器336,337,和338的有效地址轉(zhuǎn)換請求并且回送所轉(zhuǎn)換的地址。每個協(xié)存儲器管理單元維護(hù)段后備緩沖區(qū)(SLB)和轉(zhuǎn)換后備緩沖區(qū)(TLB)。段后備緩沖區(qū)把有效地址轉(zhuǎn)換到虛擬地址(VA),并且轉(zhuǎn)換后備緩沖區(qū)把來自段后備緩沖區(qū)的虛擬地址轉(zhuǎn)換到實地址。
原子單元342,343,和344提供與系統(tǒng)中其它處理單元保持同步所必需的數(shù)據(jù)高速緩存等級。保持與系統(tǒng)中其它高速緩存的一致性。原子直接存儲器訪問命令為協(xié)處理器單元請求提供與其它單元同步的手段。
總線接口單元339,340及341的主要功能是給協(xié)處理器單元302,303及304提供到單元互連總線的接口。
單元互連總線319提供單元寬帶引擎芯片300上的所有處理器和連接到單元互連總線319的外部接口控制器之間的通信路徑。
存儲器接口控制器320提供單元互連總線319和一個或兩個極端數(shù)據(jù)速率I/O單元存儲器通道321及322之間的接口。極端數(shù)據(jù)速率(XDRTM)動態(tài)隨機(jī)訪問存儲器(DRAM)是Rambus提供的高速、高度串行存儲器。使用由Rambus提供的宏訪問極端數(shù)據(jù)速率動態(tài)隨機(jī)訪問存儲器,該宏在本文中稱作極端數(shù)據(jù)速率I/O單元存儲器通道321及322。
存儲器接口控制器320只是單元互連總線319上的從設(shè)備。存儲器接口控制器320確認(rèn)在其配置地址范圍中對應(yīng)于所支持的集線器中的存儲器的命令。
總線接口控制器324和325管理芯片內(nèi)和芯片外從單元互連總線319到兩個外部設(shè)備中的任意一個外部設(shè)備的數(shù)據(jù)傳送??偩€接口控制器324和325可以與I/O設(shè)備交換非一致傳輸,或可以擴(kuò)展單元互連總線319到另一個設(shè)備,該另一個設(shè)備甚至可以是另一個單元寬帶引擎芯片。當(dāng)用于擴(kuò)展單元互連總線時,在單元寬帶引擎中的高速緩存和附連外部設(shè)備中的高速緩存之間保持一致性。
I/O接口控制器326處理I/O接口設(shè)備發(fā)出的并且指定到一致單元互連總線319的命令。I/O接口設(shè)備可以是連接到I/O接口的任何設(shè)備,例如附連多個I/O設(shè)備的I/O橋接芯片或以非一致方式訪問的另一個單元寬帶引擎芯片300。I/O接口控制器326還截取單元互連總線319上指定到駐留在I/O橋接芯片或非一致單元寬帶引擎芯片300中或后面的存儲器映射寄存器的訪問,并且把它們路由到適當(dāng)I/O接口。I/O接口控制器326還包含內(nèi)部中斷控制器(IIC)349及I/O地址轉(zhuǎn)換單元(I/OTrans)350。
盡管已經(jīng)提供了如何實現(xiàn)不同部件的具體例子,但不表示對其中可以使用圖解實施例的各方面的體系結(jié)構(gòu)的限制。圖解實施例的各方面可以與任何多核處理器系統(tǒng)一起使用。
在執(zhí)行應(yīng)用程序期間,單元寬帶引擎芯片內(nèi)的區(qū)域的溫度可能上升。如果未經(jīng)檢查,溫度會上升超過導(dǎo)致不正確操作或物理損壞的最大指定結(jié)溫。為了避免這些情況,單元寬帶引擎芯片的數(shù)字熱管理單元監(jiān)視并且試圖控制操作期間單元寬帶引擎芯片內(nèi)的溫度。數(shù)字熱管理單元包括熱管理控制單元(TMCU)和10個分布式數(shù)字熱傳感器(DTS)。
8個協(xié)處理器單元的每個中有一個傳感器,一個傳感器位于PowerPC處理單元中,并且一個傳感器與線性熱敏二極管相鄰。線性熱敏二極管是計算溫度的片上二極管。這些傳感器被放置在與通常在執(zhí)行多數(shù)應(yīng)用程序期間經(jīng)歷溫度的最大上升的相關(guān)單元內(nèi)的區(qū)域相鄰的位置。熱控制單元監(jiān)視來自每個這樣的傳感器的反饋。如果傳感器的溫度上升超過可編程點,則熱控制單元可以被配置為產(chǎn)生到Power PC處理單元或一或多個協(xié)處理器單元的中斷,并且動態(tài)地節(jié)制相關(guān)Power PC處理單元或協(xié)處理器單元的執(zhí)行。
通過將Power PC處理單元或協(xié)處理器單元停止及運行可編程周期數(shù)來實現(xiàn)節(jié)制。中斷允許特權(quán)軟件在動態(tài)節(jié)制是試圖無需軟件干預(yù)便保持寬帶引擎芯片內(nèi)的溫度低于可編程水平的硬件設(shè)備時采取糾正措施。特權(quán)軟件把節(jié)制水平設(shè)置為等于或低于所推薦的設(shè)置。
如果節(jié)制Power PC處理單元、協(xié)處理器單元或特權(quán)軟件不能有效管理溫度并且溫度持續(xù)上升,則單元寬帶引擎芯片的時鐘在溫度達(dá)到配置數(shù)據(jù)定義的熱過載溫度時停止。熱過載特性保護(hù)單元寬帶引擎芯片免受物理損壞。從這種狀態(tài)恢復(fù)需要硬復(fù)位。注意由數(shù)字熱傳感器監(jiān)視的區(qū)域的溫度不必是相關(guān)Power PC處理單元或協(xié)處理器單元內(nèi)的最熱點。
圖4圖解了基于圖解實施例的,通過圖3的普適(pervasive)邏輯單元351提供的示例性單元寬帶引擎芯片熱管理系統(tǒng)。單元寬帶引擎芯片熱管理在10個分布式數(shù)字熱傳感器(DTS)(為了簡單只示出數(shù)字熱傳感器404,406,408和410)和熱管理控制單元(TMCU)402之間劃分。協(xié)處理器單元傳感器(SPU)440中的數(shù)字熱傳感器404和406,Power PC處理器單元傳感器442中的數(shù)字熱傳感器408,及與線性二極管相鄰的傳感器444中的數(shù)字熱傳感器410中的每個提供當(dāng)前溫度檢測信號,其指示溫度等于或低于由熱管理控制單元402設(shè)置的當(dāng)前溫度檢測范圍。熱管理控制單元402利用來自數(shù)字熱傳感器404,406,408和410的信號的狀態(tài)不斷地跟蹤每個Power PC處理單元或協(xié)處理器單元的數(shù)字熱傳感器404,406,408和410的溫度。當(dāng)跟蹤溫度時,熱管理控制單元402把當(dāng)前溫度提供為表示相關(guān)Power PC處理單元或協(xié)處理器單元內(nèi)的溫度的數(shù)值。在進(jìn)行制造時設(shè)置內(nèi)部校準(zhǔn)存儲器428以校準(zhǔn)各個傳感器。
除了上述熱管理控制單元402的單元之外,熱管理控制單元402還包含復(fù)用器446及450,工作寄存器448,比較器452及454,串化器456,熱管理(TM)控制狀態(tài)機(jī)458及數(shù)據(jù)流(DF)單元460。復(fù)用器446及450組合在單個介質(zhì)上傳送的各種出站及入站信號。工作寄存器448被用于保存在熱管理控制單元402中執(zhí)行的乘法的結(jié)果。比較器452及454提供兩個輸入的比較功能。比較器452是大于或等于比較器。比較器454是大于比較器。串化器456把來自源的低速并行數(shù)據(jù)轉(zhuǎn)換成用于傳送的高速串行數(shù)據(jù)。串化器456與協(xié)處理器單元傳感器440上的解串器462及464協(xié)同工作。解串器462及464把所接收的高速串行數(shù)據(jù)轉(zhuǎn)換成低速并行數(shù)據(jù)。熱管理控制狀態(tài)機(jī)458被用于啟動熱管理控制單元402的內(nèi)部初始化。數(shù)據(jù)流單元460控制到達(dá)和來自熱管理控制狀態(tài)機(jī)458的數(shù)據(jù)。
熱管理控制單元402可以被配置為使用中斷邏輯416產(chǎn)生到PowerPC處理單元的中斷,并且使用節(jié)制邏輯418動態(tài)地節(jié)制Power PC處理單元或協(xié)處理器單元的執(zhí)行。熱管理控制單元402把表示溫度的數(shù)值與可編程中斷溫度及可編程節(jié)制點相比較。如果溫度在編程中斷溫度范圍內(nèi),則產(chǎn)生到Power PC處理單元(如果使能)的外部中斷。
另外,第二可編程中斷溫度可以導(dǎo)致向系統(tǒng)控制器的發(fā)出提醒信號。如果溫度等于或超過節(jié)制點,則熱管理控制單元402通過動態(tài)地啟動及停止Power PC處理單元或協(xié)處理器單元來節(jié)制Power PC處理單元或協(xié)處理器單元的執(zhí)行。軟件可以使用動態(tài)熱管理寄存器來控制節(jié)制的比率及頻率。
圖5是基于一個圖解實施例說明溫度和可能出現(xiàn)中斷及動態(tài)節(jié)制的各點的曲線圖。在圖5中,線500表示Power PC處理單元的溫度,或如果協(xié)處理器單元正常運行;在標(biāo)記″N″的區(qū)域中沒有節(jié)制。當(dāng)溫度達(dá)到節(jié)制點時,熱管理控制單元開始節(jié)制相關(guān)Power PC處理單元或協(xié)處理器單元的執(zhí)行。發(fā)生節(jié)制的區(qū)域被標(biāo)記″T″。當(dāng)Power PC處理單元或協(xié)處理器單元的溫度下降到低于結(jié)束節(jié)制點時,執(zhí)行返回到正常操作。
如果出于任何原因,溫度持續(xù)上升并且達(dá)到處于或超過完全節(jié)制點的溫度,則Power PC處理單元或協(xié)處理器單元被停止,直到溫度下降到低于完全節(jié)制點。Power PC處理單元或協(xié)處理器單元停止的區(qū)域被標(biāo)記″S″。當(dāng)溫度處于或超過完全節(jié)制點時,停止Power PC處理單元或協(xié)處理器單元被稱作核心停止安全。
在這個示例性說明中,設(shè)置中斷溫度超過節(jié)制點;因此,在PowerPC處理單元或協(xié)處理器單元因這個情況曾經(jīng)停止的情況下通知軟件;假定熱中斷屏蔽寄存器(TM ISR)設(shè)置成活躍,從而允許在待處理中斷期間恢復(fù)Power PC處理單元或協(xié)處理器單元。如果動態(tài)節(jié)制被禁止,則特權(quán)軟件管理熱條件。不管理熱條件可以導(dǎo)致相關(guān)Power PC處理單元或協(xié)處理器單元的不正確操作,或由熱過載功能導(dǎo)致熱關(guān)機(jī)。
返回圖4,熱傳感器狀態(tài)寄存器包括熱傳感器當(dāng)前溫度狀態(tài)寄存器412及熱傳感器最大溫度狀態(tài)寄存器414。這些寄存器允許軟件讀取每個數(shù)字熱傳感器的當(dāng)前溫度,確定一個時間段內(nèi)達(dá)到的最高溫度,及當(dāng)溫度達(dá)到可編程溫度時導(dǎo)致中斷。熱傳感器狀態(tài)寄存器具有可以標(biāo)記為管理程序特權(quán)的相關(guān)實地址頁。
熱傳感器當(dāng)前溫度狀態(tài)寄存器412包含每個數(shù)字熱傳感器的當(dāng)前溫度的編碼。由于傳感器的溫度檢測的時延,讀出這些寄存器的時延及正常溫度波動,這些寄存器中報告的溫度是較早時間點的溫度,并且可能未反映軟件接收數(shù)據(jù)時的實際溫度。由于每個傳感器具有專用控制邏輯,所有傳感器被并行采樣。這些寄存器的內(nèi)容在下一個采樣周期開始時被更新。采樣周期的長度由SenSampTime配置字段控制。
熱傳感器最大溫度狀態(tài)寄存器414包含從最后讀取這些寄存器時開始每個傳感器達(dá)到的最大溫度的編碼。讀取這些寄存器使熱管理控制單元402把每個傳感器的當(dāng)前溫度復(fù)制到寄存器。在讀取之后,熱管理控制單元402從這個點開始繼續(xù)跟蹤最大溫度。每個寄存器的讀取是獨立的。一個寄存器的讀取不影響另一個寄存器的內(nèi)容。每個傳感器具有專用控制邏輯,所以所有傳感器被并行采樣。這些寄存器的內(nèi)容在下一個采樣周期開始時被更新。采樣周期的長度由SenSampTime配置字段控制。
中斷邏輯416中的熱傳感器中斷寄存器控制到Power PC處理器單元的熱管理中斷的生成。這個寄存器組包括熱傳感器中斷溫度寄存器420(TS_ITR1和TS_ITR2),熱傳感器中斷狀態(tài)寄存器422(TS_ISR),熱傳感器中斷屏蔽寄存器424(TS_IMR),及熱傳感器全局中斷溫度寄存器426(TS_GITR)。熱傳感器中斷溫度寄存器420和熱傳感器全局中斷溫度寄存器426包含導(dǎo)致到Power PC處理器單元的熱管理中斷的溫度的編碼。
當(dāng)傳感器在熱傳感器當(dāng)前溫度狀態(tài)寄存器412中的溫度編碼大于或等于相應(yīng)傳感器在熱傳感器中斷溫度寄存器420中的中斷溫度編碼時,設(shè)置熱傳感器中斷狀態(tài)寄存器422中的對應(yīng)狀態(tài)位(TS_ISR[Sx])。當(dāng)任何傳感器在熱傳感器當(dāng)前溫度狀態(tài)寄存器412中溫度編碼大于或等于熱傳感器全局中斷溫度寄存器426中的全局中斷溫度編碼時,設(shè)置熱傳感器中斷狀態(tài)寄存器422中的對應(yīng)狀態(tài)位(TS_ISR[Gx])。
如果任何熱傳感器中斷溫度狀態(tài)寄存器422位(TS_ISR[Sx])被設(shè)置,并且熱傳感器中斷屏蔽寄存器424中的對應(yīng)屏蔽位(TS_IMR[Mx])也未被設(shè)置,則對Power PC處理器單元發(fā)出熱管理中斷信號。如果任何熱傳感器中斷狀態(tài)寄存器422位(TS_ISR[Gx])被設(shè)置,并且熱傳感器中斷屏蔽寄存器424中的對應(yīng)屏蔽位(TS_IMR[Cx])也未被設(shè)置,則對Power PC處理器單元發(fā)出熱管理中斷信號。
為了清除中斷條件,特權(quán)軟件應(yīng)當(dāng)把熱傳感器中斷屏蔽寄存器中的任何對應(yīng)屏蔽位設(shè)置為′0′。為了使能熱管理中斷,特權(quán)軟件保證溫度小于對應(yīng)傳感器的中斷溫度,并且接著執(zhí)行以下序列。在溫度不低于中斷溫度時使能中斷可以導(dǎo)致產(chǎn)生立即熱管理中斷。
1.把′1′寫入熱傳感器中斷狀態(tài)寄存器422中的對應(yīng)狀態(tài)位。
2.把′1′寫入熱傳感器中斷屏蔽寄存器424中的對應(yīng)屏蔽位。
熱傳感器中斷溫度寄存器420包含位于協(xié)處理器單元,PowerPC處理器單元及鄰近線性熱敏二極管的傳感器的中斷溫度水平。這個寄存器中的編碼中斷溫度水平與在熱傳感器當(dāng)前溫度狀態(tài)寄存器412中編碼的對應(yīng)中斷溫度相比較。這些比較的結(jié)果被用于產(chǎn)生熱管理中斷。每個傳感器的中斷溫度水平是獨立的。
除了在熱傳感器中斷溫度寄存器420中設(shè)置獨立中斷溫度水平之外,熱傳感器全局中斷溫度寄存器426包含第二中斷溫度水平。這個水平應(yīng)用于單元寬帶引擎芯片中的全部傳感器。這個寄存器中所編碼的全局中斷溫度水平與每個傳感器編碼的當(dāng)前溫度相比較。這些比較的結(jié)果被用于產(chǎn)生熱管理中斷。
全局中斷溫度的目的是提供對單元寬帶引擎芯片中溫度上升的早期指示。特權(quán)軟件及系統(tǒng)控制器可以使用這個信息開始控制溫度的操作,例如,提高風(fēng)扇速度,重新平衡單元上的應(yīng)用軟件等等。
熱傳感器中斷狀態(tài)寄存器422識別哪些傳感器滿足中斷條件。中斷條件是指每個熱傳感器中斷狀態(tài)寄存器422位具有的特定條件,在滿足條件時,使得能夠發(fā)生中斷。只在對應(yīng)屏蔽位被設(shè)置的情況下才對Power PC處理器單元產(chǎn)生實際中斷。
熱傳感器中斷狀態(tài)寄存器422包含三組狀態(tài)位-數(shù)字傳感器全局閾值中斷狀態(tài)位(TS_ISR[Gx]),數(shù)字傳感器閾值中斷狀態(tài)位(TS_ISR[Sx]),及數(shù)字傳感器全局低于閾值中斷狀態(tài)位(TS_ISR[Gb])。
當(dāng)在熱傳感器當(dāng)前溫度狀態(tài)寄存器412中針對傳感器的溫度編碼大于或等于熱傳感器中斷溫度寄存器420中對應(yīng)傳感器的中斷溫度編碼,并且熱傳感器中斷屏蔽寄存器424的對應(yīng)指示位,TM_IMR[Bx]=′0′時,硬件設(shè)置熱傳感器中斷狀態(tài)寄存器422中的狀態(tài)位(TS_ISR[Sx])。另外,當(dāng)在熱傳感器當(dāng)前溫度狀態(tài)寄存器412中針對傳感器的溫度編碼低于熱傳感器中斷溫度寄存器420中的對應(yīng)傳感器的中斷溫度編碼,并且熱傳感器中斷屏蔽寄存器424的對應(yīng)指示位,TM_IMR[Bx]=′1′時,硬件設(shè)置熱傳感器中斷狀態(tài)寄存器422的TS_ISR[Sx]。
當(dāng)任何參與傳感器的當(dāng)前溫度大于或等于熱傳感器全局中斷溫度寄存器426的溫度,并且熱傳感器中斷屏蔽寄存器424的TS_IMR[BG]被設(shè)置成′0′時,硬件設(shè)置熱傳感器中斷狀態(tài)寄存器422的TS_ISR[Gx]。單個熱傳感器中斷狀態(tài)寄存器422的TS_ISR[Gx]位指示哪些單個傳感器滿足這些條件。
在熱傳感器中斷屏蔽寄存器424中的所有參與傳感器TS_IMR[Cx]具有低于熱傳感器全局中斷溫度寄存器426的溫度的當(dāng)前溫度,并且熱傳感器中斷屏蔽寄存器424的TS_IMR[BG]被設(shè)置成′1′時,硬件設(shè)置熱傳感器中斷狀態(tài)寄存器422,TS_ISR[Gb]。由于所有參與傳感器具有低于熱傳感器全局中斷溫度寄存器426的溫度的當(dāng)前溫度,所以針對全局低于閾值的中斷條件,只提供熱傳感器中斷狀態(tài)寄存器422的一個狀態(tài)位(TS_ISR[Gb])。
一旦熱傳感器中斷狀態(tài)寄存器422中的狀態(tài)位(TS_ISR[Sx],[Gx]或[Gb])被設(shè)置成′1′,則這個狀態(tài)被保持,直到被特權(quán)軟件重新設(shè)置為′0′。特權(quán)軟件通過把′1′寫入熱傳感器中斷狀態(tài)寄存器422中的對應(yīng)位,把狀態(tài)位重新設(shè)置為′0′。
熱傳感器中斷屏蔽寄存器424包含用于各個傳感器的兩個字段和用于全局中斷條件的多個字段。中斷條件是指每個熱傳感器中斷屏蔽寄存器424位具有的特定條件,在滿足條件時,使得能夠產(chǎn)生中斷。只在對應(yīng)屏蔽位被設(shè)置的情況下才對Power PC處理器單元產(chǎn)生實際中斷。
針對各個傳感器的兩個熱傳感器中斷屏蔽寄存器數(shù)字熱閾值中斷字段是TS_IMR[Mx]和TS_IMR[Bx]。熱傳感器中斷屏蔽寄存器424的TS_IMR[Mx]屏蔽位阻止中斷狀態(tài)位產(chǎn)生針對Power PC處理器單元的熱管理中斷。熱傳感器中斷屏蔽寄存器424的TS_IMR[Bx]方向位為中斷條件設(shè)置超過或低于熱傳感器中斷溫度寄存器420中的對應(yīng)溫度的溫度方向。設(shè)置熱傳感器中斷屏蔽寄存器424TS_IMR[Bx]為′1′,則會設(shè)置中斷條件的溫度為低于熱傳感器中斷溫度寄存器420中的對應(yīng)溫度。設(shè)置熱傳感器中斷屏蔽寄存器424的TS_IMR[Bx]為′0′,則會設(shè)置中斷條件的溫度為等于或超過熱傳感器中斷溫度寄存器420中的對應(yīng)溫度。
針對全局中斷條件的熱傳感器中斷屏蔽寄存器424字段是TS_IMR[Cx],TS_IMR[BG],TS_IMR[Cgb],及TS_IMR[A]。熱傳感器中斷屏蔽寄存器424的TS_IMR[Cx]屏蔽位阻止全局閾值中斷并且選擇哪些傳感器參與全局低于閾值的中斷條件。熱傳感器中斷屏蔽寄存器424的TS_IMR[BG]方向位選擇全局中斷條件的溫度方向。熱傳感器中斷屏蔽寄存器424的TS_IMR[Cgb]屏蔽位阻止全局低于閾值的中斷。熱傳感器中斷屏蔽寄存器424的TS_IMR[A]向系統(tǒng)控制器發(fā)出提醒。
設(shè)置熱傳感器中斷屏蔽寄存器424的TS_IMR[BG]為′1′,則會針對當(dāng)在熱傳感器中斷屏蔽寄存器424的TS_IMR[Cx]中設(shè)置的所有參與傳感器的溫度低于全局中斷溫度水平時出現(xiàn)的全局中斷條件設(shè)置溫度范圍。設(shè)置熱傳感器中斷屏蔽寄存器424的TS_IMR[BG]為′0′,則會針對當(dāng)任何參與傳感器的溫度大于或等于熱傳感器全局中斷溫度寄存器426中的對應(yīng)溫度時出現(xiàn)的全局中斷條件設(shè)置溫度范圍。如果熱傳感器中斷屏蔽寄存器424的TS_IMR[A]被設(shè)置成′1′,則當(dāng)任何熱傳感器中斷屏蔽寄存器424的TS_IMR[Cx]位及其對應(yīng)熱傳感器中斷狀態(tài)寄存器422狀態(tài)位(TS_ISR[Gx])都被設(shè)置為′1′時,發(fā)出提醒。另外,當(dāng)熱傳感器中斷屏蔽寄存器424的TS_IMR[Cgb]及熱傳感器中斷狀態(tài)寄存器422的TS_ISR[Gb]都被設(shè)置為′1′時,發(fā)出提醒。
當(dāng)任何熱傳感器中斷屏蔽寄存器424的TS_IMR[Mx]位及其對應(yīng)熱傳感器中斷狀態(tài)寄存器422狀態(tài)位(TS_ISR[Sx])都被設(shè)置為′1′時,對Power PC處理器單元產(chǎn)生熱管理中斷。當(dāng)任何熱傳感器中斷屏蔽寄存器424的TS_IMR[Cx]位及其對應(yīng)熱傳感器中斷狀態(tài)寄存器422狀態(tài)位TS_ISR[Gx]都被設(shè)置為′1′時,也產(chǎn)生熱管理中斷。另外,當(dāng)熱傳感器中斷屏蔽寄存器424的TS_IMR[Cgb]及熱傳感器中斷狀態(tài)寄存器422的TS_ISR[Gb]都被設(shè)置為′1′時,對Power PC處理器單元產(chǎn)生熱管理中斷。
節(jié)制邏輯418中的動態(tài)熱管理寄存器包含控制Power PC處理器單元或協(xié)處理器單元的執(zhí)行節(jié)制的參數(shù)。動態(tài)熱管理寄存器是一組寄存器,其包含熱管理控制寄存器430(TM_CR1和TM_CR2),熱管理節(jié)制點寄存器432(TM_TPR),熱管理停止時間寄存器434(TM_STR1和TM_STR2),熱管理節(jié)制比例寄存器436(TM_TSR),及熱管理系統(tǒng)中斷屏蔽寄存器438(TM_SIMR)。
熱管理節(jié)制點寄存器432設(shè)置傳感器的節(jié)制點??梢栽跓峁芾砉?jié)制點寄存器432中設(shè)置兩個獨立節(jié)制點,即ThrottlePPE和ThrottleSPE,一個用于Power PC處理器單元,一個用于協(xié)處理器單元。同樣,這個寄存器中包含用于退出節(jié)制以及停止Power PC處理器單元或協(xié)處理器單元的溫度點。Power PC處理器單元或協(xié)處理器單元的執(zhí)行節(jié)制在溫度等于或超過節(jié)制點時啟動。節(jié)制在溫度降到低于退出節(jié)制溫度(TM_TPR[EndThrottlePPE/EndThrottleSPE])時停止。如果溫度達(dá)到完全節(jié)制或停止溫度(TM_TPR[FullThrottlePPE/FullThrottleSPE]),則停止執(zhí)行PowerPC處理器單元或協(xié)處理器單元。熱管理控制寄存器430被用于控制節(jié)制行為。
熱管理停止時間寄存器434及熱管理節(jié)制比例寄存器436被用于控制節(jié)制的頻率及量。當(dāng)溫度達(dá)到節(jié)制點時,將對應(yīng)的Power PC處理器單元或協(xié)處理器單元停止一個由熱管理節(jié)制比例寄存器436中對應(yīng)比例值指定的時鐘周期數(shù)。接著,允許Power PC處理器單元或協(xié)處理器單元運行由熱管理停止時間寄存器434中的運行值指定的時鐘周期數(shù)乘以對應(yīng)比例值所得的周期數(shù)。這個序列繼續(xù)執(zhí)行,直至溫度低于退出節(jié)制(TM_TPR[EndThrottlePPE/EndThrottleSPE])。
熱管理系統(tǒng)中斷屏蔽寄存器438被用于選擇在中斷待處理時哪些中斷退出Power PC處理器單元的節(jié)制。
熱管理控制寄存器430獨立地設(shè)置每個Power PC處理器單元或協(xié)處理器單元的節(jié)制模式。在兩個寄存器之間劃分控制位。以下是可以獨立針對每個Power PC處理器單元或協(xié)處理器單元設(shè)置的五種不同模式。
動態(tài)節(jié)制禁止(包含核心停止安全)。
正常操作(使能動態(tài)節(jié)制及核心停止安全)。
總是節(jié)制Power PC處理器單元或協(xié)處理器單元(使能核心停止安全)。
核心停止安全禁止(禁止使能動態(tài)節(jié)制及核心停止安全)。
Power PC處理器單元或協(xié)處理器單元總是被節(jié)制,并且禁止核心停止安全。
特權(quán)軟件應(yīng)當(dāng)針對運行應(yīng)用程序或操作系統(tǒng)的Power PC處理器單元或協(xié)處理器單元將控制位設(shè)置為正常操作。如果Power PC處理器單元或協(xié)處理器單元不運行應(yīng)用程序代碼,則特權(quán)軟件應(yīng)當(dāng)把控制位設(shè)置為禁止?!錚ower PC處理器單元或協(xié)處理器單元總是被節(jié)制″模式被用于應(yīng)用程序開發(fā)。這些模式對確定應(yīng)用程序是否能夠在極端節(jié)制條件下進(jìn)行操作是有用的。當(dāng)特權(quán)軟件主動管理熱事件時,應(yīng)當(dāng)只準(zhǔn)許允許Power PC處理器單元或協(xié)處理器單元以動態(tài)節(jié)制或禁止核心停止安全模式來執(zhí)行。
熱管理系統(tǒng)中斷屏蔽寄存器438控制哪些Power PC處理器單元中斷導(dǎo)致熱管理邏輯臨時停止節(jié)制Power PC處理器單元。在中斷待處理時,針對兩個線程臨時暫停節(jié)制,不考慮中斷所針對的線程。當(dāng)中斷不再待處理時,只要節(jié)制條件仍然存在,節(jié)制可以恢復(fù)。協(xié)處理器單元的節(jié)制從來不基于系統(tǒng)中斷條件退出。可以覆蓋節(jié)制條件的Power PC處理器單元中斷條件如下外部遞減器(decrementer)管理程序遞減器系統(tǒng)差錯熱管理熱管理節(jié)制點寄存器432包含這樣的己編碼溫度點,在這些點處Power PC處理器單元或協(xié)處理器單元的執(zhí)行節(jié)制開始和結(jié)束。這個寄存器還包含這樣己編碼溫度點,在這些點處Power PC處理器單元或協(xié)處理器單元的執(zhí)行被完全節(jié)制。
熱管理節(jié)制點寄存器中的數(shù)值被用于設(shè)置用來在三個熱管理狀態(tài)之間改變的三個溫度點正常運行(N),Power PC處理器單元或協(xié)處理器單元節(jié)制(T),及Power PC處理器單元或協(xié)處理器單元停止(S)。針對Power PC處理器單元及協(xié)處理器單元支持獨立溫度點。
當(dāng)熱傳感器當(dāng)前溫度狀態(tài)寄存器412中傳感器的已編碼當(dāng)前溫度等于或大于節(jié)制溫度(ThrottlePPE/ThrottleSPE)時,在使能的情況下,開始對應(yīng)Power PC處理器單元或協(xié)處理器單元的執(zhí)行節(jié)制。執(zhí)行節(jié)制持續(xù)到對應(yīng)傳感器的已編碼當(dāng)前溫度小于已編碼溫度才結(jié)束節(jié)制(EndThrottlePPE/EndThrottleSPE)。作為安全措施,如果已編碼的當(dāng)前溫度等于或大于完全節(jié)制點(FullThrottlePPE/FullThrottleSPE),則停止對應(yīng)Power PC處理器單元或協(xié)處理器單元。
熱管理停止時間寄存器434控制應(yīng)用于處于熱管理節(jié)制狀態(tài)的具體Power PC處理器單元或協(xié)處理器單元的節(jié)制的量。熱管理停止時間寄存器中的數(shù)值用Power PC處理器單元或協(xié)處理器單元被停止的時間與它運行的時間的百分比來表示(核心停止(x)/32)。通過熱管理節(jié)制比例寄存器436控制Power PC處理器單元或協(xié)處理器單元停止及運行的實際時鐘周期數(shù)(NClks)。
熱管理節(jié)制比例寄存器436控制在熱管理節(jié)制狀態(tài)內(nèi)Power PC處理器單元或協(xié)處理器單元停止和運行的實際周期數(shù)。在這個寄存器中的數(shù)值是配置環(huán)(configuration ring)設(shè)置TM_Config[MinStopSPE]的倍數(shù)。實際停止和運行周期數(shù)通過以下等式計算協(xié)處理器單元運行及停止時間SPE_StopTime=(TM_STR1[StopCore(x)]*TM_Config[MinStopSPE])*TM_TSR[ScaleSPE]SPE_RunTime=(32-TM_STR1[StopCore(x)])*TM_Config[MinStopSPE])*TM_TSR[ScaleSPE]Power PC單元運行及停止時間PPE_StopTime=(TM_STR2[StopCore(8)]*TM_Config[MinStopPPE])*TM_TSR[ScalePPE]PPE_RunTime=(32-TM_STR2[StopCore(8)])*TM_Config[MinStopPPE])*TM_TSR[ScalePPE]運行及停止時間可以通過中斷及寫入各種熱管理寄存器的特權(quán)軟件改變。
盡管以下描述涉及一個指令流及一個處理器,但該指令流可以是一組指令流,并且該處理器可以是一組處理器。即,組可能僅僅是單指令流和單處理器,或兩個或更多指令流和處理器。
圖6是基于一個圖解實施例,描述軟件熱分布的解析生成的操作的流程圖。軟件熱分布也可以被稱作軟件熱指標(biāo)。軟件熱分布是包含關(guān)于硬件和/或軟件的熱特性的信息的數(shù)據(jù)結(jié)構(gòu)。
在操作開始時,執(zhí)行在一組處理器上執(zhí)行的程序或應(yīng)用程序的編譯,建立,或后處理(步驟602)。為了估測編譯,建立或后處理程序的每指令周期數(shù)(CPI)效率,分析編譯,建立或后處理程序的指令流(步驟604)。編譯器需要理解微結(jié)構(gòu)的詳細(xì)資料以優(yōu)化目標(biāo)代碼。通過這個知識,編譯器基于指令類型和操作數(shù)相關(guān)性為每個指令指定固定每指令周期數(shù)(CPI)。所估測的每指令周期數(shù)是性能效率的近似值,其可用于確定熱分布或熱指標(biāo)。在數(shù)據(jù)結(jié)構(gòu)內(nèi),將程序的每指令周期數(shù)存儲預(yù)定時間(步驟606)。預(yù)定時間可以是在分析程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。
接著,基于所存儲的每指令周期數(shù)的值產(chǎn)生熱指標(biāo)(步驟608)。熱指標(biāo)的生成在步驟610-616中描述。首先,從存儲器中檢索所存儲的每指令周期數(shù)值(步驟610)。處理該數(shù)值,使得檢索的數(shù)值與每指令周期數(shù)的倒數(shù)成比例(步驟612)。所處理的數(shù)值被保存為熱指標(biāo)(步驟614)。確定是否存在任何其它未處理的存儲數(shù)值(步驟616)。如果在步驟616存在需要處理的其它存儲數(shù)值,則操作返回到步驟610,否則操作結(jié)束。在這個示例性方面,熱指標(biāo)與每指令周期數(shù)的倒數(shù)(1/CPI)成比例。具有較低每指令周期數(shù)數(shù)值的程序使用更多機(jī)器資源,并且因而對系統(tǒng)的熱環(huán)境有較高影響(例如,較低CPI提高了處理器的溫度)。盡管信息流的每指令周期數(shù)被用于這個圖解實施例,但例如執(zhí)行單元或數(shù)據(jù)流單元傳送的每字節(jié)周期數(shù)的其它度量也可以用于計算熱指標(biāo)。
在步驟608-616針對程序產(chǎn)生的熱指標(biāo)可以通過編譯器產(chǎn)生。在這些例子的簡單形式中,熱指標(biāo)可以是表示各種執(zhí)行單元和數(shù)據(jù)流單元的強(qiáng)度的所分析信息的單個數(shù)或加權(quán)和??蛇x地,也可以使用每個處理器的執(zhí)行單元和數(shù)據(jù)流單元的值的向量。針對應(yīng)用程序產(chǎn)生熱指標(biāo)。硬件也具有基于核心的實現(xiàn)的熱指標(biāo)。核心的熱映射,熱效率,在小片上的位置等等可以被用于產(chǎn)生這個熱指標(biāo)。接著,一起使用兩個熱指標(biāo)以更加準(zhǔn)確地表示在所選擇的核心上運行的應(yīng)用程序的熱特性。在圖解實施例中,熱指標(biāo)將包含標(biāo)準(zhǔn)偏差信息,以便更加準(zhǔn)確地表示軟件的峰值,而不僅僅是對系統(tǒng)的平均熱影響。熱指標(biāo)可以各例如ELF注解的程序頭信息包含在一起。
圖6中處理的示例性實現(xiàn)如下。編譯器用于產(chǎn)生應(yīng)用程序的目標(biāo)代碼。在編譯期間,編譯器可以檢查指令序列。利用微結(jié)構(gòu)的詳細(xì)知識,針對目標(biāo)代碼產(chǎn)生所估測的CPI。接著,CPI的倒數(shù)被存儲在數(shù)據(jù)結(jié)構(gòu)中。數(shù)據(jù)結(jié)構(gòu)的內(nèi)容可以接著被加載器使用,以確定運行應(yīng)用程序的最佳核心。加載器也可以把應(yīng)用程序熱指標(biāo)與核心的熱指標(biāo)組合,以進(jìn)一步優(yōu)化應(yīng)用程序?qū)ο到y(tǒng)的熱環(huán)境的熱影響。
在這個圖解實施例中,與經(jīng)驗測量溫度、處理器活動比較,該方案的優(yōu)勢是經(jīng)驗測量把結(jié)果軟件熱指標(biāo)聯(lián)系到特定多核處理器芯片及工作負(fù)載水平,其中這個方案表示軟件的理想值。另外,這個圖解實施例不限于特定芯片或系統(tǒng)工作負(fù)載水平。
微處理器體系結(jié)構(gòu)上的軟件編譯,建立和/或后處理將使用一組機(jī)器資源。通過對軟件的精心分析,結(jié)合微處理器體系結(jié)構(gòu)的詳細(xì)知識,可以估測軟件將如何高效地使用機(jī)器的資源。資源效率(強(qiáng)度)將是軟件的熱影響的指示器。
圖7是基于一個圖解實施例,描述在模擬環(huán)境中通過運行時刻執(zhí)行來產(chǎn)生軟件熱分布的操作的流程圖。作為示例性方面,在模擬環(huán)境中使用運行時刻執(zhí)行可以使用圖4的熱管理控制單元402產(chǎn)生熱分布。
在操作開始時,在軟件模擬器上執(zhí)行在一組處理器上執(zhí)行的軟件程序或應(yīng)用程序(步驟702)。在執(zhí)行軟件模擬時,分析在處理器上執(zhí)行的硬件操作的類型及頻率(步驟704)。在這個示例性方面,基于周期的模擬器被用于更加準(zhǔn)確地產(chǎn)生每指令周期數(shù)(CPI)。例子將是后處理通過編譯器產(chǎn)生的目標(biāo)代碼。使用基于周期的模擬器模擬指令序列,以確定執(zhí)行指令流所需周期數(shù)。CPI是性能效率的近似值,其可用于確定熱分布或熱指標(biāo)。
模擬器需要微結(jié)構(gòu)的詳細(xì)資料,以模擬處理器的操作。通過這個知識,模擬器可以基于指令類型和操作數(shù)相關(guān)性估測每指令周期數(shù)。該估測比通過編譯器產(chǎn)生的估測更加準(zhǔn)確。所估測的每指令周期數(shù)是性能效率的近似值,其可用于確定熱分布或熱指標(biāo)。在數(shù)據(jù)結(jié)構(gòu)內(nèi)將軟件模擬的已分析信息存儲預(yù)定時間(步驟706)。預(yù)定時間可以是在分析運行程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。基于所分析的硬件的熱特性的知識,產(chǎn)生軟件熱指標(biāo)(步驟708)。熱指標(biāo)的生成在圖6的步驟610-616中描述。
作為一個例子,每指令周期數(shù)指示軟件模擬使用微處理器的內(nèi)部執(zhí)行流水線的強(qiáng)度;在這種情況下較低每指令周期數(shù)數(shù)值指示在執(zhí)行流水線上的較高強(qiáng)度。同樣,單位字節(jié)周期數(shù)指示軟件使用微處理器的數(shù)據(jù)流單元的強(qiáng)度。
圖7中處理的示例性實現(xiàn)如下。編譯器用于產(chǎn)生應(yīng)用程序的目標(biāo)代碼。在編譯之后,在基于周期的模擬器上執(zhí)行目標(biāo)代碼。作為目標(biāo)代碼的一部分模擬,記錄應(yīng)用程序的指令序列的準(zhǔn)確周期計數(shù)。接著,周期數(shù)除以序列中的指令數(shù)量以確定CPI。在模擬期間,模擬器可以檢查指令序列。利用微結(jié)構(gòu)的詳細(xì)知識,針對目標(biāo)代碼產(chǎn)生所估測的CPI。接著,CPI的倒數(shù)被存儲在數(shù)據(jù)結(jié)構(gòu)中。數(shù)據(jù)結(jié)構(gòu)的內(nèi)容可以接著被加載器使用,以確定運行應(yīng)用程序的最佳核心。加載器也可以把應(yīng)用程序熱指標(biāo)與核心的熱指標(biāo)組合,以進(jìn)一步優(yōu)化應(yīng)用程序?qū)ο到y(tǒng)的熱環(huán)境的熱影響。
這個方法與經(jīng)驗測量在多核處理器上的溫度及處理器活動比較的優(yōu)勢是,經(jīng)驗測量把結(jié)果軟件熱指標(biāo)聯(lián)系到特定多核處理器芯片,而這個方法表示軟件的理想值并且不限于特定芯片。接著,這可以被反饋到編譯器,以便優(yōu)化特定多處理器芯片的軟件和系統(tǒng)工作負(fù)載。
圖8是基于一個圖解實施例,描述通過在多核處理器上的運行時刻執(zhí)行來產(chǎn)生軟件熱分布,以及測量處理器活動的操作的流程圖。作為示例性方面,使用在多核處理器上的運行時刻執(zhí)行和測量處理器活動,可以使用圖4的熱管理控制單元402產(chǎn)生熱分布。
在操作開始時,在一或多個處理器上執(zhí)行例如程序或應(yīng)用程序的各種工作負(fù)載(步驟802)。使用應(yīng)用程序提供了具體應(yīng)用程序的熱指標(biāo)的更加準(zhǔn)確的指示。雖然工作負(fù)載不太準(zhǔn)確,但它們覆蓋應(yīng)用程序的廣大范圍,其省略了針對每個具體應(yīng)用執(zhí)行分析的需要。選擇工作負(fù)載以表示通常由系統(tǒng)的目標(biāo)市場段執(zhí)行的代碼的類型。工作負(fù)載是小代碼段,其表示應(yīng)用程序空間的計算方面??梢跃哂腥舾蔁嶂笜?biāo)數(shù)值,每個市場段一個。作為一個例子,選擇快速富立葉變換(FFT)工作負(fù)載,以表示在地理科學(xué)市場段(信號分析)中執(zhí)行的典型計算密集工作。工作負(fù)載對多核處理器的熱狀態(tài)具有變化的影響。雖然正執(zhí)行工作負(fù)載,但通過使用建立到多核處理器中的儀器來采樣操作的類型和頻率(步驟804)。在這個示例性方面中,處理器的性能監(jiān)視能力被用于監(jiān)視應(yīng)用程序的活動。一個例子是記錄由于高速緩存命中失誤或操作數(shù)相關(guān)性而導(dǎo)致的指令暫停的數(shù)量。該結(jié)果是關(guān)于在硬件上運行的工作負(fù)載或應(yīng)用程序的效率的測量。暫停數(shù)量的倒數(shù)與核心的應(yīng)用程序利用率成比例,并且因而可以被用作熱指標(biāo)。在步驟804中執(zhí)行的采樣可以是例如組合圖4中熱傳感器當(dāng)前溫度狀態(tài)寄存器412討論的任何類型的采樣??赡艿臏y量可以包含例如針對每個核心的指令暫?;蚧顒樱咚倬彺婊顒?,總線活動及存儲器訪問。接著,把從采樣獲得的信息及處理器的熱特性的知識在數(shù)據(jù)結(jié)構(gòu)內(nèi)存儲預(yù)定時間(步驟806)。預(yù)定時間可以是在分析運行程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。所存儲的信息可以接著用于產(chǎn)生軟件模塊的軟件熱指標(biāo),以預(yù)測多核處理器上的熱影響(步驟808),此后操作結(jié)束。熱指標(biāo)的生成在圖6的步驟610-616中描述。
存儲在數(shù)據(jù)結(jié)構(gòu)中的信息如何被轉(zhuǎn)換為熱指標(biāo)的一個例子是使用信息的加權(quán)和。例如,當(dāng)高速緩存命中失誤的數(shù)量提高時,處理的總體活動性較低并且對處理器具有較低熱影響。在這種情況下,高速緩存命中失誤的實際加權(quán)可以為負(fù)。權(quán)重取決于存儲在數(shù)據(jù)結(jié)構(gòu)中的信息。全部假定熱指標(biāo)是應(yīng)用程序?qū)μ幚砥鞯臒嵊绊懙臏y量。熱指標(biāo)越高,應(yīng)用程序越可能提高處理器的溫度。
與分析估測比較,這個方法的優(yōu)勢是經(jīng)驗測量把結(jié)果軟件″熱指標(biāo)″聯(lián)系到特定多處理器芯片及系統(tǒng)工作負(fù)載。接著,這可以被反饋到編譯器,以便優(yōu)化特定多處理器芯片的軟件和系統(tǒng)工作負(fù)載。
圖9是基于一個圖解實施例,描述使用熱采樣,通過在多核處理器上的運行時刻執(zhí)行來產(chǎn)生軟件熱分布的操作的流程圖。作為示例性方面,使用在使用熱采樣的多核處理器上的運行時刻執(zhí)行,可以使用圖4的熱管理控制單元402產(chǎn)生熱分布。
在操作開始時,在一或多個處理器上執(zhí)行例如程序或應(yīng)用程序的各種工作負(fù)載(步驟902)。使用應(yīng)用程序提供了具體應(yīng)用程序的熱指標(biāo)的更加準(zhǔn)確的指示。雖然工作負(fù)載不太準(zhǔn)確,但它們覆蓋應(yīng)用程序的廣大范圍,其省略了針對每個具體應(yīng)用執(zhí)行分析的需要。工作負(fù)載將對多核處理器的熱狀態(tài)有不同的影響。雖然工作負(fù)載正被執(zhí)行,但執(zhí)行多核處理器的熱狀態(tài)的采樣(步驟904)。在這個示例性方面,使用熱管理。處理器中的熱傳感器在執(zhí)行工作負(fù)載時被讀取。結(jié)果是應(yīng)用程序的熱量-時間曲線圖。一個例子是圖5中的溫度曲線圖,其中溫度在y軸上示出,并且時間在x軸上示出。接著,把從處理器的采樣獲得的信息在數(shù)據(jù)結(jié)構(gòu)內(nèi)存儲預(yù)定時間(步驟906)。預(yù)定時間可以是在分析運行程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。所存儲的信息可以接著用于產(chǎn)生軟件模塊的軟件熱指標(biāo),以預(yù)測多核處理器上的熱影響(步驟908),此后操作結(jié)束。在運行應(yīng)用程序時,存在許多方式產(chǎn)生采樣溫度的熱指標(biāo)。一個例子是得到所記錄的溫度的平均數(shù),并且加上相對平均數(shù)的溫度變化的標(biāo)準(zhǔn)偏差或2總和(sigma)。其它例子可以是如圖6的步驟610-616中描述的熱指標(biāo)的生成。
與分析估測比較,這個方法的優(yōu)勢是經(jīng)驗測量把結(jié)果軟件″熱指標(biāo)″聯(lián)系到特定多處理器芯片,系統(tǒng)工作負(fù)載及熱環(huán)境。接著,這可以被反饋到編譯器,以便優(yōu)化這個環(huán)境的軟件。
圖10是基于一個圖解實施例,描述多核處理器的硬件熱分布的生成的操作的流程圖。硬件熱分布是包含關(guān)于硬件或系統(tǒng)的熱性能的信息的數(shù)據(jù)結(jié)構(gòu)。由于相對其它核心的核心位置及系統(tǒng)的降溫解決方案,處理器上的某些核心可以具有更好的熱特性。硬件熱分布可以被考慮為處理器如何響應(yīng)熱密集工作負(fù)載的基準(zhǔn)。這個基準(zhǔn)可以基于系統(tǒng)的環(huán)境發(fā)生變化,(即系統(tǒng)在夏季的德克薩斯,極熱)。核心的熱映射,熱效率,在小片上的位置等等可以被用于產(chǎn)生這個熱指標(biāo)。硬件熱指標(biāo)可以相當(dāng)復(fù)雜或極簡單,例如僅僅是處理器的熱映射。作為示例性方面,使用在使用熱采樣的多核處理器上的運行時刻執(zhí)行,可以使用圖4的熱管理控制單元402產(chǎn)生熱分布。
在操作開始時,在一或多個處理器上執(zhí)行例如程序或應(yīng)用程序的各種工作負(fù)載(步驟1002)。工作負(fù)載將對多核處理器的熱狀態(tài)有不同的影響。雖然工作負(fù)載正被執(zhí)行,但執(zhí)行多核處理器中的熱狀態(tài)的采樣(步驟1004)。針對硬件熱分布,選擇工作負(fù)載以表示處理器的最大熱操作。通過周期性讀取當(dāng)前或最大溫度寄存器來采樣溫度,同時應(yīng)用程序運行及存儲信息到數(shù)據(jù)結(jié)構(gòu)。在單元寬帶引擎中,采樣可以在硬件或軟件中執(zhí)行。接著,把從處理器的采樣獲得的信息在數(shù)據(jù)結(jié)構(gòu)內(nèi)存儲預(yù)定時間(步驟1006)。預(yù)定時間可以是在分析運行程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。這里,選擇由一或多個預(yù)先收集及存儲的多核心系統(tǒng)的功率和/或性能的軟件熱分布構(gòu)成(步驟1008)。選擇可以基于加載和/或執(zhí)行的應(yīng)用程序的類型。來自多核處理器的熱狀態(tài)的采樣的所存儲信息結(jié)合所選擇的軟件熱分布被用來最優(yōu)管理多核心系統(tǒng)(步驟1010),此后操作結(jié)束。從所采樣的熱數(shù)據(jù)產(chǎn)生的熱指標(biāo)被用于選擇運行應(yīng)用程序的最優(yōu)核心,或即使應(yīng)用程序應(yīng)當(dāng)在當(dāng)前時間被調(diào)度。同樣,軟件可以使用其它節(jié)制對處理器的當(dāng)前熱狀態(tài)具有過高熱指標(biāo)的應(yīng)用程序的手段。熱指標(biāo)的生成在圖6的步驟610-616中描述。
圖11是基于一個圖解實施例,描述多核處理器系統(tǒng)中的最優(yōu)功率及性能的軟件熱分布的生成的操作的流程圖。在這個示例性方面中,在圖6,7,8,9及10中描述的所有以前的熱指標(biāo)及分布信息被用來優(yōu)化一個應(yīng)用程序或應(yīng)用程序組的各種線程的調(diào)度。硬件的熱指標(biāo)與軟件的熱指標(biāo)結(jié)合。調(diào)度接著被優(yōu)化,以達(dá)到在系統(tǒng)的熱環(huán)境上運行的應(yīng)用程序的最小影響。作為示例性方面,可以使用圖4的熱管理控制單元402產(chǎn)生多核處理器系統(tǒng)中的最優(yōu)功率及性能的軟件熱分布。
當(dāng)操作開始時,處理在程序已經(jīng)被初始化時進(jìn)行檢測(步驟1102)。在程序被初始化之前,使用圖6,7,8,9或10中的以前方法中的一個產(chǎn)生熱指標(biāo)或熱指標(biāo)組。步驟1104及1106是使用軟件熱指標(biāo)的解析生成的例子。為了估測運行程序的每指令周期數(shù)(CPI)效率,分析運行程序的指令流(步驟1104)。把運行程序的每指令周期數(shù)在數(shù)據(jù)結(jié)構(gòu)內(nèi)存儲預(yù)定時間(步驟1106)。預(yù)定時間可以是在分析運行程序的指令流之前設(shè)置的任何時間。數(shù)據(jù)結(jié)構(gòu)可以是例如寄存器或數(shù)據(jù)庫的任何類型的數(shù)據(jù)結(jié)構(gòu)。這里,選擇由一或多個預(yù)先收集及存儲的多核心系統(tǒng)的功率和/或性能的硬件和軟件熱分布構(gòu)成(步驟1108)。如果提供多個熱指標(biāo),則基于應(yīng)用程序的類型進(jìn)行選擇。用戶可以具有熱分布或應(yīng)用程序的指標(biāo),或用戶可以具有表示應(yīng)用程序的分類的一組工作負(fù)載的熱指標(biāo)或分布。
接著基于所存儲的每指令周期數(shù)的數(shù)值及硬件和軟件分布產(chǎn)生熱指標(biāo),以在系統(tǒng)的熱限制內(nèi)最優(yōu)管理功率及性能,例如調(diào)度執(zhí)行應(yīng)用程序或程序(步驟1110),此后操作結(jié)束。在這個示例性方面,熱指標(biāo)與每指令周期數(shù)的倒數(shù)(1/CPI)成比例。具有較低每指令周期數(shù)數(shù)值的程序使用較多機(jī)器資源,因而對系統(tǒng)的熱狀態(tài)有較大影響。盡管信息流的每指令周期數(shù)被用于這個圖解實施例,但例如執(zhí)行單元或數(shù)據(jù)流單元傳送的每字節(jié)周期數(shù)的其它度量也可以用于計算熱指標(biāo)。
在步驟1110針對程序產(chǎn)生的熱指標(biāo)可以通過編譯器產(chǎn)生。在簡單形式中,熱指標(biāo)可以是表示各種執(zhí)行單元和數(shù)據(jù)流單元的強(qiáng)度的單個數(shù)或加權(quán)和??蛇x地,也可以使用每個處理器的執(zhí)行單元和數(shù)據(jù)流單元的值的向量。在圖解實施例中,熱指標(biāo)將包含標(biāo)準(zhǔn)偏差信息,以便更加準(zhǔn)確地表示軟件的峰值,而不僅僅是對對系統(tǒng)的平均熱影響。熱指標(biāo)可以和例如ELF注解的程序頭信息包含在一起。
圖解實施例可以采取完全硬件實施例,完全軟件實施例或包含硬件和軟件兩個要素的實施例的形式。圖解實施例在軟件中實現(xiàn),其包含但不限于固件,駐留軟件,微碼等等。
此外,圖解實施例可以采取從提供用于計算機(jī)或任何指令執(zhí)行系統(tǒng)或與之相結(jié)合的程序代碼的計算機(jī)可用或計算機(jī)可讀介質(zhì)可獲得的計算機(jī)程序產(chǎn)品的形式。針對這個描述目的,計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是任何有形的設(shè)備,其可以包含,存儲,通信,傳播或傳送由指令執(zhí)行系統(tǒng),裝置或設(shè)備使用或與之相結(jié)合的程序。
介質(zhì)可以是電子,磁,光學(xué),電磁,紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計算機(jī)可讀介質(zhì)的例子包含半導(dǎo)體或固態(tài)存儲器,磁帶,可折卸計算機(jī)磁盤,隨機(jī)訪問存儲器(RAM),只讀存儲器(ROM),硬磁盤及光盤。光盤的當(dāng)前例子包含只讀光盤存儲器(CD-ROM),可讀/寫光盤(CD-R/W)及DVD。
適于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)包含通過系統(tǒng)總線直接或間接連接到存儲器元件的至少一個處理器。存儲器元件可以包含在程序代碼實際執(zhí)行期間使用的本地存儲器,批量存儲設(shè)備,及提供至少某些程序代碼的臨時存儲以便減少執(zhí)行期間從批量存儲設(shè)備檢索代碼的次數(shù)的高速緩沖存儲器。
輸入/輸出或I/O設(shè)備(包含但不局限于鍵盤,顯示器,點擊設(shè)備等等)可以直接或通過中間I/O控制器被連接到系統(tǒng)。
網(wǎng)絡(luò)適配器也可以被連接到系統(tǒng),以使數(shù)據(jù)處理系統(tǒng)能夠通過中間專用或公共網(wǎng)絡(luò)連接到其它數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)端打印機(jī)或存儲設(shè)備。調(diào)制解調(diào)器,電纜調(diào)制解調(diào)器及以太網(wǎng)卡僅僅是一些目前可用網(wǎng)絡(luò)適配器類型。
對圖解實施例進(jìn)行的描述只是為了圖解和描述,不被用來對具有公開形式的圖解實施例進(jìn)行詳細(xì)定義和限制。本領(lǐng)字段的普通技術(shù)人員顯然可以進(jìn)行許多修改和改變。選擇和描述實施例是為了提供對圖解實施例原理及其實際應(yīng)用的最優(yōu)說明,并且也是為了使本領(lǐng)字段的普通技術(shù)人員針對可以根據(jù)所考慮的具體使用情況進(jìn)行各種修改的各種實施例理解圖解實施例。
權(quán)利要求
1.一種用于為一組處理器產(chǎn)生硬件熱分布的計算機(jī)實現(xiàn)的方法,該計算機(jī)實現(xiàn)的方法包括在一組工作負(fù)載的執(zhí)行期間,采樣一組處理器的熱狀態(tài)以產(chǎn)生采樣信息;把采樣信息與該組處理器的熱特性組合;以及基于采樣信息和該組處理器的特性產(chǎn)生熱指標(biāo)。
2.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,還包括在數(shù)據(jù)結(jié)構(gòu)中存儲該采樣信息,其中使用數(shù)據(jù)結(jié)構(gòu)中的該采樣信息產(chǎn)生熱指標(biāo)。
3.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中通過使用建立在該組處理器中的儀器執(zhí)行對該組處理器的熱狀態(tài)的采樣。
4.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中熱指標(biāo)是針對該組工作負(fù)載的處理器的熱效率。
5.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中對熱狀態(tài)采樣一預(yù)定時間量。
6.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中熱指標(biāo)與被執(zhí)行的工作負(fù)載成比例。
7.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中所采樣的熱狀態(tài)和所產(chǎn)生的熱指標(biāo)被編譯器用來優(yōu)化應(yīng)用程序的熱分布。
8.如權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中熱指標(biāo)是單個數(shù)。
9.如權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中熱指標(biāo)是表示執(zhí)行單元組或數(shù)據(jù)流單元組的至少一個的強(qiáng)度的采樣信息的加權(quán)和。
10.如權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中熱指標(biāo)是執(zhí)行單元組或數(shù)據(jù)流單元組中的至少一個的值的向量。
11.一種數(shù)據(jù)處理系統(tǒng),包括總線系統(tǒng);連接到總線系統(tǒng)的通信系統(tǒng);連接到總線系統(tǒng)的存儲器,其中存儲器包含一組指令;以及連接到總線系統(tǒng)的處理單元,其中處理單元執(zhí)行指令組,以在一組工作負(fù)載的執(zhí)行期間,采樣一組處理器的熱狀態(tài)以產(chǎn)生采樣信息;把采樣信息與該組處理器的熱特性組合;以及基于采樣信息和該組處理器的特性產(chǎn)生熱指標(biāo)。
12.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中處理單元執(zhí)行該指令組以在數(shù)據(jù)結(jié)構(gòu)中存儲該采樣信息,其中使用數(shù)據(jù)結(jié)構(gòu)中的該采樣信息產(chǎn)生熱指標(biāo)。
13.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中通過使用建立在該組處理器中的儀器執(zhí)行對該組處理器的熱狀態(tài)的采樣。
14.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中熱指標(biāo)是針對該組工作負(fù)載的處理器的熱效率。
15.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中所采樣的熱狀態(tài)和所產(chǎn)生的熱指標(biāo)被編譯器用來優(yōu)化應(yīng)用程序的熱分布。
全文摘要
公開了生成一組處理器的硬件熱分布的方法和系統(tǒng)。為一組處理器的硬件熱分布的生成提供計算機(jī)實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng)及計算機(jī)可用代碼。在執(zhí)行一組工作負(fù)載以產(chǎn)生采樣信息期間,執(zhí)行處理器組的熱狀態(tài)的采樣。處理器組的所采樣的信息及熱特性被組合,并且基于所采樣的信息及該組處理器的特性產(chǎn)生熱指標(biāo)。
文檔編號G06F11/00GK1975628SQ20061012134
公開日2007年6月6日 申請日期2006年8月21日 優(yōu)先權(quán)日2005年11月29日
發(fā)明者小馬克西米諾·埃格拉, 馬克·理查德·納特, 詹姆斯·M·斯塔福德, 查爾斯·雷·約翰斯 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湟中县| 乃东县| 扶风县| 法库县| 平远县| 安宁市| 天祝| 长沙县| 商洛市| 永兴县| 财经| 米脂县| 扬中市| 克山县| 神池县| 顺义区| 永仁县| 泊头市| 丹寨县| 丹阳市| 辉南县| 随州市| 石河子市| 保康县| 昌都县| 望都县| 高淳县| 山东省| 宁津县| 西城区| 井陉县| 梓潼县| 龙门县| 高尔夫| 邓州市| 兴仁县| 鹤壁市| 浠水县| 庆安县| 铁岭县| 鄂托克前旗|