專利名稱:處理器、多處理器系統(tǒng)、處理器系統(tǒng)、信息處理裝置和溫度控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理器技術(shù),特別涉及可控制發(fā)熱量的處理器、多處理器系統(tǒng)、處理器系統(tǒng)、信息處理裝置和溫度控制方法。
背景技術(shù):
在LSI設(shè)計(jì)中,制造處理的細(xì)微化和元件的高集成化進(jìn)一步發(fā)展,作為芯片的性能界限,考慮發(fā)熱量在設(shè)計(jì)上變得非常重要。在芯片處于高溫時(shí),引起工作不良或者長期可靠性降低,所以采用了各種發(fā)熱對策。例如,采取在芯片的上部設(shè)置散熱風(fēng)扇,散發(fā)從芯片產(chǎn)生的熱量的方法。
而且,由于在芯片上的消耗功率分布不一樣,所以不能避免芯片的一部分異常地變?yōu)楦邷氐乃^“熱點(diǎn)”的問題。因此,還研究根據(jù)芯片的消耗功率分布,調(diào)度(scheduling)處理器的任務(wù)(例如,參照專利文獻(xiàn)1)。
專利文獻(xiàn)1美國專利申請公開第2002/0065049號說明書在芯片的一部分發(fā)熱時(shí),隨著時(shí)間經(jīng)過,由于熱傳導(dǎo)高溫區(qū)域擴(kuò)展到發(fā)熱位置的周圍,不久,芯片整體的溫度上升。以往的發(fā)熱對策是,宏觀地觀測芯片整體的溫度分布,并花費(fèi)數(shù)秒~1分鐘左右來散熱,時(shí)間響應(yīng)性不好。在最近的高集成化的LSI中,設(shè)計(jì)了在一個芯片中消耗數(shù)十瓦左右的功率的芯片,如果不用數(shù)十微秒的指令進(jìn)行放熱處理,則由于急劇的溫度上升引起動作不良。雖然局部地發(fā)熱,但是作為芯片整體處于安全的溫度的情況下,如果降低芯片的動作頻率,則犧牲處理器整體的處理性能,沒有效率。在這樣的情況下,本申請人認(rèn)識到在芯片的一部分發(fā)熱的情況下,在高溫區(qū)域通過熱傳導(dǎo)擴(kuò)大之前,精確地(pinpoint)檢測發(fā)熱位置,抑制在其之上的溫度上升的微觀水平下的發(fā)熱對策的必要性。
發(fā)明內(nèi)容
本發(fā)明是鑒于這樣的課題而完成的,其目的是提供一種處理器、多處理器系統(tǒng)、處理器系統(tǒng)、信息處理裝置和溫度控制方法,可在時(shí)間上和空間上以細(xì)微的水平控制芯片發(fā)熱量。
本發(fā)明的一個實(shí)施方式關(guān)于處理器。該處理器包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù);以及發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加。
“塊”是區(qū)分了處理器的區(qū)域的最小單位,與點(diǎn)形式的熱的峰值產(chǎn)生的區(qū)域的大小匹配而被區(qū)分。例如,塊可以是構(gòu)成處理器的晶體管等元件單體,也可以是某程度數(shù)量的元件的集合。在包含多個處理器的多處理器系統(tǒng)的情況下,塊可以是在各個處理器內(nèi)被區(qū)分的塊,也可以將各個處理器整體作為一個塊。
“命令單位”可以是命令碼的一個步驟,也可以是集中幾個命令步驟構(gòu)成的子程序或任務(wù)。
關(guān)于“塊”的大小和“命令單位”的粒度,根據(jù)發(fā)熱控制的要求精度和處理器的設(shè)計(jì)條件等存在設(shè)計(jì)的自由度。
本發(fā)明的另一個實(shí)施方式也關(guān)于處理器。該處理器包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱度數(shù)加法部,根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配而以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)對要執(zhí)行的命令進(jìn)行調(diào)度。
本發(fā)明的另一個實(shí)施方式也關(guān)于處理器。該處理器包括發(fā)熱度數(shù)保持寄存器,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱系數(shù)簡檔,將與要執(zhí)行的命令和與所述命令的執(zhí)行有關(guān)的塊以及該塊的發(fā)熱量的發(fā)熱系數(shù)對應(yīng)存儲;解碼器,解析要執(zhí)行的命令,以規(guī)定的命令單位指定與所述命令的執(zhí)行有關(guān)的所述塊和所述發(fā)熱系數(shù),并將其存儲在所述發(fā)熱系數(shù)簡檔中;發(fā)熱度數(shù)加法器,根據(jù)所述發(fā)熱系數(shù)簡檔,與所述命令的進(jìn)行匹配,以所述規(guī)定的命令單位累計(jì)相加所述塊的所述發(fā)熱度數(shù);以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
本發(fā)明的再一個實(shí)施方式關(guān)于多處理器系統(tǒng),該系統(tǒng)包含多個子處理器和主處理器,所述主處理器包括發(fā)熱度數(shù)保持部,保持所述子處理器內(nèi)的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù);發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù),將要執(zhí)行的命令在所述多個子處理器間進(jìn)行分配。
本發(fā)明的另一個實(shí)施方式也關(guān)于處理器。該處理器使解讀要執(zhí)行的命令的解碼器具有解析與所述命令的執(zhí)行有關(guān)的處理器內(nèi)的塊的發(fā)熱的功能。
本發(fā)明的另一個實(shí)施方式關(guān)于溫度控制方法。該方法通過與命令碼的進(jìn)行匹配,以規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中,以塊單位對命令碼的進(jìn)行所產(chǎn)生的發(fā)熱進(jìn)行檢測。
本發(fā)明的另一個實(shí)施方式關(guān)于溫度控制方法。該方法根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配,以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中,并根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
本發(fā)明的另一個實(shí)施方式關(guān)于溫度控制方法。該方法以規(guī)定的命令單位估計(jì)多處理器系統(tǒng)中的各處理器內(nèi)的塊的發(fā)熱量,并預(yù)測命令的進(jìn)行產(chǎn)生的塊的溫度變化,根據(jù)預(yù)測的溫度變化在所述處理器間分配命令。
而且,將以上的構(gòu)成要素的任意的組合、本發(fā)明的表現(xiàn)在方法、裝置、系統(tǒng)、計(jì)算機(jī)程序等之間變換的內(nèi)容,作為本發(fā)明的方式也有效。
按照本發(fā)明,可以抑制處理器的發(fā)熱量從而防止動作不良,并且不降低處理器的處理性能。
圖1是實(shí)施方式1的處理器系統(tǒng)的結(jié)構(gòu)圖。
圖2是圖1是處理器系統(tǒng)中的發(fā)熱控制的功能結(jié)構(gòu)的詳細(xì)說明圖。
圖3是圖1的發(fā)熱系數(shù)簡檔的說明圖。
圖4是說明圖1的運(yùn)算塊發(fā)熱度數(shù)寄存器中存儲的發(fā)熱度數(shù)的圖。
圖5是表示圖1的處理器系統(tǒng)中的發(fā)熱控制步驟的流程圖。
圖6是實(shí)施方式2的處理器系統(tǒng)的結(jié)構(gòu)圖。
標(biāo)號說明
12命令高速緩沖存儲器 14命令解碼器 16命令調(diào)度器 18執(zhí)行單元 20發(fā)熱系數(shù)簡檔 22運(yùn)算塊發(fā)熱度數(shù)寄存器 32發(fā)熱度數(shù)加法器 34發(fā)熱度數(shù)減法器 36熱點(diǎn)檢測器 100CPU核心 110主存儲器 200主處理器 210高速緩沖存儲器 220DRAM 230a、230b子處理器具體實(shí)施方式
實(shí)施方式1圖1是實(shí)施方式1的處理器系統(tǒng)的結(jié)構(gòu)圖。該處理器系統(tǒng)包括CPU核心100、主存儲器110,它們被連接到地址總線28和數(shù)據(jù)總線30。CPU核心100對主存儲器110指定地址從而進(jìn)行數(shù)據(jù)的讀出和寫入。CPU核心100包括命令高速緩沖存儲器12、命令解碼器14、命令調(diào)度器16、執(zhí)行單元18、發(fā)熱系數(shù)簡檔20、運(yùn)算塊發(fā)熱度數(shù)寄存器22。在主存儲器110中存儲命令24和運(yùn)算結(jié)果26。
CPU核心100從主存儲器110讀出的命令24被暫時(shí)高速緩存在命令高速緩沖存儲器12中。命令解碼器14對被高速緩存到命令高速緩沖存儲器12的命令24依次進(jìn)行解讀,提供給命令調(diào)度器16。命令調(diào)度器16按照由命令解碼器14解讀的命令24間的數(shù)據(jù)依存關(guān)系,進(jìn)行命令24的執(zhí)行順序的排列替換和執(zhí)行定時(shí)的調(diào)整,對命令24進(jìn)行調(diào)度并傳遞給執(zhí)行單元18。執(zhí)行單元18執(zhí)行被調(diào)度的命令24,將運(yùn)算結(jié)果26寫出到主存儲器110。
將處理器系統(tǒng)的芯片的區(qū)域整體區(qū)分為作為發(fā)熱控制對象的小的區(qū)域,并將該小的區(qū)域稱為塊或者運(yùn)算塊。運(yùn)算塊是構(gòu)成芯片的晶體管單體或者某個程度的數(shù)量的晶體管的集合。運(yùn)算塊與點(diǎn)方式地發(fā)熱的峰值出現(xiàn)的區(qū)域的大小匹配而被區(qū)分,但是運(yùn)算塊的大小可以通過發(fā)熱控制的目標(biāo)精度和處理器的要求規(guī)格自由地決定。而且,運(yùn)算塊可以以同一尺寸規(guī)則地被區(qū)分,也可以與各種運(yùn)算單元的邊界匹配而不規(guī)則地被區(qū)分。
發(fā)熱系數(shù)簡檔20是與對于每個命令步驟,將與該命令步驟的執(zhí)行有關(guān)的處理器系統(tǒng)的運(yùn)算塊和與該運(yùn)算塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù)對應(yīng)存儲的簡檔。運(yùn)算塊發(fā)熱度數(shù)寄存器22是用于累計(jì)并保持各運(yùn)算塊的發(fā)熱度數(shù)的寄存器。
圖2是詳細(xì)地說明CPU核心100中的發(fā)熱控制的功能結(jié)構(gòu)的圖。命令解碼器14具有發(fā)熱解析功能,根據(jù)處理器系統(tǒng)的硬件信息,指定與各命令步驟的執(zhí)行有關(guān)的運(yùn)算塊,預(yù)測該運(yùn)算塊的動作產(chǎn)生的發(fā)熱量并決定發(fā)熱系數(shù)。命令解碼器14將對于每個命令步驟指定的運(yùn)算塊的位置信息和發(fā)熱系數(shù)與命令步驟對應(yīng)地存儲在發(fā)熱系數(shù)簡檔20中。
圖3是說明發(fā)熱系數(shù)簡檔20的例子的圖。命令步驟40、運(yùn)算塊位置42和發(fā)熱系數(shù)44被對應(yīng)存儲。命令步驟40是通過命令解碼器14被解碼的每個步驟的命令,對MOV(傳送)、ADD(相加)、LD(裝載)、ST(存儲)等命令提供自變量。例如,命令步驟“MOV AX BX”是將CPU核心100的運(yùn)算寄存器BX的內(nèi)容代入運(yùn)算寄存器AX的命令,命令步驟“LD AX 2D”是將主存儲器110的地址2D的數(shù)據(jù)裝載到CPU核心100的運(yùn)算寄存器AX中的命令。
運(yùn)算塊位置42以將處理器系統(tǒng)的分組上的管芯(die)區(qū)分為矩形區(qū)域時(shí)的矩陣的索引被提供。發(fā)熱系數(shù)44是根據(jù)位于以運(yùn)算塊位置42表示的區(qū)域的運(yùn)算塊執(zhí)行了該命令時(shí)的發(fā)熱量的預(yù)測值而被決定的數(shù)值。
在處理器系統(tǒng)的LSI的配置布線完成以后的邏輯模擬中,如果利用模擬了程序碼時(shí)的結(jié)果,則可以以細(xì)微的時(shí)間步驟跟蹤處理器的晶體管的導(dǎo)通截止?fàn)顟B(tài)的變化。如果利用該結(jié)果,則可以對每個命令步驟完全地解析哪個運(yùn)算塊處于活動狀態(tài)。
對于運(yùn)算塊的發(fā)熱量,可以在電路設(shè)計(jì)時(shí)利用CAD工具等,考慮運(yùn)算塊的靜態(tài)的溫度特性而進(jìn)行預(yù)測。運(yùn)算塊的靜態(tài)的溫度特性主要根據(jù)物理的特性和元件的位置關(guān)系被量化。例如,CMOS在值反轉(zhuǎn)時(shí)P溝道和N溝道的兩個晶體管在一瞬間同時(shí)導(dǎo)通,流過貫通電流。這占CMOS的消耗功率的大半,消耗功率與CMOS的動作頻率成比例地增加。通過估計(jì)這樣的消耗功率可以預(yù)測運(yùn)算塊的發(fā)熱量。發(fā)熱系數(shù)是將發(fā)熱量的預(yù)測值量化的值。電路設(shè)計(jì)時(shí)的模擬結(jié)果和發(fā)熱預(yù)測量等信息被構(gòu)成為可作為硬件信息從命令解碼器14參考。
在圖3所述的例子中,在執(zhí)行命令步驟“MOV AX BX”中,與(2,3)和(2,4)的位置的運(yùn)算塊有關(guān),發(fā)熱系數(shù)為2,在執(zhí)行命令步驟“LD AX 2D”中,與(2,2)位置的運(yùn)算塊有關(guān),發(fā)熱系數(shù)為1。
再次參照圖2,命令調(diào)度器16將由命令解碼器14解碼的命令24基于數(shù)據(jù)依存關(guān)系調(diào)度,選擇下一個要執(zhí)行的命令步驟。命令調(diào)度器16參照發(fā)熱系數(shù)簡檔20,指定與該被選擇的命令步驟的執(zhí)行有關(guān)的運(yùn)算塊的位置和發(fā)熱系數(shù),提供給發(fā)熱度數(shù)加法器32。發(fā)熱度數(shù)加法器32從運(yùn)算塊發(fā)熱度數(shù)寄存器22讀取被指定的運(yùn)算塊位置的現(xiàn)在的發(fā)熱度數(shù),與從命令調(diào)度器16被提供的發(fā)熱系數(shù)相加,從而寫入運(yùn)算塊發(fā)熱度數(shù)寄存器22。
發(fā)熱度數(shù)減法器34從運(yùn)算塊發(fā)熱度數(shù)寄存器22讀取各運(yùn)算塊的發(fā)熱度數(shù),進(jìn)行基于規(guī)定的放熱常數(shù)的減法運(yùn)算,寫入運(yùn)算塊發(fā)熱度數(shù)寄存器22。發(fā)熱度數(shù)減法器34以規(guī)定的時(shí)鐘動作,減去運(yùn)算塊發(fā)熱度數(shù)寄存器22的各運(yùn)算塊的發(fā)熱度數(shù)。由此,隨著時(shí)間經(jīng)過產(chǎn)生的發(fā)熱量被反映在運(yùn)算塊發(fā)熱度數(shù)寄存器22的發(fā)熱度數(shù)中。
發(fā)熱度數(shù)減法器34進(jìn)行減法直至發(fā)熱度數(shù)為零,但是,各運(yùn)算塊的發(fā)熱度數(shù)越大,就越大地設(shè)定發(fā)熱度數(shù)的相減量。這時(shí)因?yàn)榭紤]從各運(yùn)算塊的發(fā)熱度數(shù)預(yù)測的溫度和外界溫度的差越大,放熱產(chǎn)生的溫度降低越快。外界溫度可以使用測量值、估計(jì)值或者預(yù)先設(shè)定的值的任意一個。
圖4表示存儲在運(yùn)算塊發(fā)熱度數(shù)寄存器22中的發(fā)熱度數(shù)的例子。被存儲在運(yùn)算塊發(fā)熱度數(shù)寄存器22中的各運(yùn)算塊的發(fā)熱度數(shù),通過發(fā)熱度數(shù)加法器32與命令碼的進(jìn)行匹配而被累計(jì)計(jì)算,通過發(fā)熱度數(shù)減法器34在時(shí)間經(jīng)過的同時(shí)被減去。
發(fā)熱度數(shù)加法器32和發(fā)熱度數(shù)減法器34也可以還考慮運(yùn)算塊的溫度特性的動態(tài)的方面,調(diào)整運(yùn)算塊的發(fā)熱度數(shù)。運(yùn)算塊的動態(tài)的溫度特性主要依賴于任務(wù)的執(zhí)行歷史和負(fù)載狀況,但是根據(jù)情況,還受到在對相鄰的塊同時(shí)分配任務(wù)時(shí),比任務(wù)分散到分離的塊時(shí)更容易產(chǎn)生熱等物理的性質(zhì)的影響。發(fā)熱度數(shù)加法器32也可以還考慮對運(yùn)算塊的任務(wù)的分配狀況,以及相鄰的運(yùn)算塊的發(fā)熱產(chǎn)生的相互作用等而進(jìn)行發(fā)熱度數(shù)的相加。發(fā)熱度數(shù)減法器34也可以考慮運(yùn)算塊的周圍的放熱的進(jìn)展情況而進(jìn)行發(fā)熱度數(shù)的相減。
再次參照圖2,熱點(diǎn)檢測器36檢測運(yùn)算塊發(fā)熱度數(shù)寄存器22的發(fā)熱度數(shù)超過規(guī)定的閾值的運(yùn)算塊作為熱點(diǎn),將該運(yùn)算塊的位置提供給命令調(diào)度器16。該規(guī)定的閾值以對應(yīng)于比運(yùn)算塊為動作不良的界限溫度低的溫度的發(fā)熱度數(shù)被提供。因此,熱點(diǎn)檢測器36不僅檢測當(dāng)前為熱點(diǎn)的運(yùn)算塊,而且將將來成為熱點(diǎn)的可能性高的運(yùn)算塊也作為熱點(diǎn)來檢測。
命令調(diào)度器16進(jìn)行以下的再調(diào)度,即在與被判斷為熱點(diǎn)的運(yùn)算塊執(zhí)行有關(guān)的命令步驟之前插入等待命令而使執(zhí)行定時(shí)錯開,或者使與被判斷為熱點(diǎn)的運(yùn)算塊無關(guān)的命令的執(zhí)行優(yōu)先地執(zhí)行等。這樣,命令調(diào)度器16進(jìn)行利用各運(yùn)算塊的被量化的靜態(tài)的/動態(tài)的溫度特性作為評價(jià)參數(shù)的調(diào)度。
在上述的結(jié)構(gòu)中,命令解碼器14根據(jù)硬件信息對每個命令步驟指定運(yùn)算塊,并決定發(fā)熱系數(shù),但是發(fā)熱系數(shù)也可以作為命令的操作對象的一部分在命令碼的生成階段被嵌入。例如,程序或編譯程序也可以對每個命令指定發(fā)熱系數(shù)。
圖5是表示CPU核心100的命令解碼器14和命令調(diào)度器16進(jìn)行的發(fā)熱控制步驟的流程圖。
在命令高速緩沖存儲器12中被高速緩存下一個要被解碼的命令的情況下(S10的“是”),命令解碼器14對被高速緩存的命令解碼(S12)。命令解碼器14指定與被解碼的命令有關(guān)的運(yùn)算塊,求該運(yùn)算塊的發(fā)熱系數(shù),作成發(fā)熱系數(shù)簡檔20(S14)。
命令調(diào)度器16將由命令解碼器14解碼的命令根據(jù)數(shù)據(jù)依存關(guān)系進(jìn)行調(diào)度(S16)。發(fā)熱度數(shù)加法器32與被調(diào)度的命令碼的進(jìn)行匹配,在運(yùn)算塊發(fā)熱度數(shù)寄存器22中保持的該運(yùn)算塊的發(fā)熱度數(shù)上累計(jì)加上發(fā)熱系數(shù)(S18)。這里,發(fā)熱度數(shù)加法器32也可以考慮與相鄰的運(yùn)算塊的相互作用,并在相鄰的運(yùn)算塊的發(fā)熱度數(shù)大的情況下,增大該運(yùn)算塊的發(fā)熱度數(shù)的相加量。
熱點(diǎn)檢測器36評價(jià)運(yùn)算塊發(fā)熱度數(shù)寄存器22的各運(yùn)算塊的發(fā)熱度數(shù)從而預(yù)測溫度,調(diào)查是否存在成為熱點(diǎn)的運(yùn)算塊(S20)。在成為熱點(diǎn)的可能性高的運(yùn)算塊存在的情況下(S20的“是”),命令調(diào)度器16調(diào)整命令的執(zhí)行順序和執(zhí)行定時(shí),并在調(diào)度命令,以便使與成為熱點(diǎn)的運(yùn)算塊執(zhí)行有關(guān)的命令的執(zhí)行延遲(S22)。
發(fā)熱度數(shù)減法器34根據(jù)時(shí)間經(jīng)過產(chǎn)生的放熱量的預(yù)測值,減去運(yùn)算塊發(fā)熱度數(shù)寄存器22的各運(yùn)算塊的發(fā)熱度數(shù)(S24)。以后,返回S10,重復(fù)一連串的處理,直至沒有下一個要解碼的命令(S10的“否”)。
按照本實(shí)施方式的處理器系統(tǒng),由于隨著命令碼的進(jìn)行,對每個命令步驟以運(yùn)算塊單位預(yù)測發(fā)熱量,所以可以在時(shí)間上和空間上以非常精細(xì)的水平正確地掌握處理器系統(tǒng)的封裝整體的溫度分布。由此,即使在處理集中在處理器系統(tǒng)的特定的運(yùn)算塊中,預(yù)測急劇的溫度上升的情況下,也可以實(shí)時(shí)地調(diào)度該運(yùn)算塊的有關(guān)命令的執(zhí)行,避免發(fā)熱峰值??梢苑乐拱l(fā)熱造成的局部的動作不良而不犧牲處理器整體的處理性能。
實(shí)施方式2圖6是實(shí)施方式2的處理器系統(tǒng)的結(jié)構(gòu)圖。本實(shí)施方式的處理器系統(tǒng)除了與實(shí)施方式1的CPU核心100相當(dāng)?shù)闹魈幚砥?00以外,是兩個子處理器230a、230b總線結(jié)合的多處理器系統(tǒng)。主處理器200經(jīng)由總線訪問DRAM220從而讀取數(shù)據(jù),將數(shù)據(jù)高速緩存到高速緩沖存儲器210。主處理器200適當(dāng)?shù)貙⑷蝿?wù)分配給兩個子處理器230a、230b而執(zhí)行程序。
在主處理器200中包含實(shí)施方式1中說明的CPU核心100的各功能結(jié)構(gòu),即,命令高速緩沖存儲器12、命令解碼器14、命令調(diào)度器16、執(zhí)行單元18、發(fā)熱系數(shù)簡檔20、運(yùn)算塊發(fā)熱度數(shù)寄存器22、發(fā)熱度數(shù)加法器32、發(fā)熱度數(shù)減法器34以及熱點(diǎn)檢測器36。以下,對于這些結(jié)構(gòu),說明與實(shí)施方式1不同的動作。
在本實(shí)施方式中的處理器系統(tǒng)中,以包含主處理器200、子處理器230a、230b的各模塊的處理器系統(tǒng)的封裝整體的發(fā)熱量為控制對象。在實(shí)施方式1中敘述的運(yùn)算塊是在主處理器200、子處理器230a、230b的各模塊內(nèi)被區(qū)分的塊,關(guān)于每個運(yùn)算塊的發(fā)熱度數(shù)的相加和相減與實(shí)施方式1同樣地進(jìn)行。
命令調(diào)度器16除了實(shí)施方式1中敘述的命令的執(zhí)行順序的變更、執(zhí)行定時(shí)的調(diào)整以外,還通過將命令分配給子處理器230a、230b來進(jìn)行命令的調(diào)度。命令調(diào)度器16進(jìn)行的子處理器230a、230b間的命令的分配除了以命令步驟單位,還可以以子程序等某種程度集中的任務(wù)的單位來進(jìn)行。命令調(diào)度器16通過基于子處理器230a、230b的負(fù)載狀況的命令的分配,實(shí)現(xiàn)負(fù)載分散,同時(shí)通過基于子處理器230a、230b的運(yùn)算塊的發(fā)熱狀況的命令的分配,控制發(fā)熱量。例如,在一個子處理器230a中成為熱點(diǎn)的可能性高的運(yùn)算塊被檢測到的情況下,將命令分配給另一個子處理器230b。
按照本實(shí)施方式的處理器系統(tǒng),可以通過對應(yīng)于各子處理器230a、230b的運(yùn)算塊的發(fā)熱狀況,在子處理器230a、230b間分配任務(wù),將處理器系統(tǒng)整體的溫度分布平均化,防止在處理器系統(tǒng)內(nèi)產(chǎn)生熱點(diǎn)。
以上,根據(jù)實(shí)施方式說明了本發(fā)明。本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)理解,這些實(shí)施方式是例示,這些各結(jié)構(gòu)要素和各處理過程的組合中可以有各種變形例,以及這樣的變形例也屬于本發(fā)明的范圍。
說明這樣的變形例。在實(shí)施方式中,作為發(fā)熱對策,說明了進(jìn)行命令的調(diào)度,以使得負(fù)載不集中在存在成為熱點(diǎn)的可能性的運(yùn)算塊中,但是,作為除此之外的對策,例如也可以采用利用局部的冷卻噴嘴來冷卻存在成為熱點(diǎn)的可能性的運(yùn)算塊的方法。而且,在即使進(jìn)行能力的調(diào)度也不能抑制運(yùn)算塊的發(fā)熱的情況下,也可以構(gòu)成為降低處理器整體的動作頻率,或降低電源電壓等緊急處置。
在實(shí)施方式中,通過電路設(shè)計(jì)時(shí)的模擬器等預(yù)先估計(jì)發(fā)熱量,使處理器內(nèi)具有發(fā)熱系數(shù)的信息作為硬件信息,但是也可以構(gòu)成為設(shè)置測量處理器的溫度的傳感器,在實(shí)際測量了局部的運(yùn)算塊的溫度后,實(shí)施實(shí)施方式中敘述的基于調(diào)度的發(fā)熱控制。
在實(shí)施方式中,對每個命令步驟預(yù)測發(fā)熱量,計(jì)數(shù)發(fā)熱度數(shù),但是也可以構(gòu)成為以子程序等某種程度集中的任務(wù)單位來預(yù)測發(fā)熱量,從而計(jì)數(shù)發(fā)熱度數(shù),調(diào)度的單位也不僅以命令步驟單位,還可以以任務(wù)單位來進(jìn)行。也可以設(shè)置切換控制部來進(jìn)行切換,在處理器的各運(yùn)算塊處于比較安全的溫度范圍時(shí),參照以任務(wù)單位計(jì)數(shù)的發(fā)熱度數(shù)而進(jìn)行任務(wù)調(diào)度,在溫度上升而成為了臨界的狀況時(shí),以命令步驟單位計(jì)數(shù)各運(yùn)算塊的發(fā)熱度數(shù),進(jìn)行命令單位的精細(xì)的調(diào)度。
在實(shí)施方式中是以處理器系統(tǒng)的硬件進(jìn)行發(fā)熱控制的結(jié)構(gòu),但是,也可以設(shè)置為與處理器系統(tǒng)不同地設(shè)置在處理器系統(tǒng)的外部以軟件處理等進(jìn)行基于命令碼的解析和溫度預(yù)測的命令的調(diào)度,并將被調(diào)度的命令提供給處理器的結(jié)構(gòu)的命令碼產(chǎn)生裝置。
也可以設(shè)置核對部,對每個應(yīng)用作成發(fā)熱特性的簡檔,通過與由芯片上的溫度傳感器實(shí)際測量的溫度分布進(jìn)行核對來修正發(fā)熱系數(shù)等簡檔信息。由此,可以進(jìn)一步提高發(fā)熱控制的精度。
也可以構(gòu)成將實(shí)施方式的處理器與存儲器等其它元件一起安裝在基板上的處理器系統(tǒng)。而且,也可以構(gòu)成安裝了這樣的處理器系統(tǒng)的信息處理裝置。作為這樣的信息處理系統(tǒng),有個人計(jì)算機(jī)、各種攜帶設(shè)備等。
本發(fā)明在產(chǎn)業(yè)上的可利用性在于,本發(fā)明可以應(yīng)用在處理器的發(fā)熱控制領(lǐng)域。
權(quán)利要求
1.一種處理器,其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該快的發(fā)熱量有關(guān)的發(fā)熱系數(shù);以及發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加。
2.如權(quán)利要求1所述的處理器,其特征在于,所述發(fā)熱指定部是解讀要執(zhí)行的命令的解碼器。
3.如權(quán)利要求1或2所述的處理器,其特征在于,還包括發(fā)熱度數(shù)減法部,根據(jù)基于經(jīng)過時(shí)間的放熱量,減去各塊的所述發(fā)熱度數(shù)。
4.如權(quán)利要求3所述的處理器,其特征在于,各塊的所述發(fā)熱度數(shù)越大,所述發(fā)熱度數(shù)減法部就越大地設(shè)定所述發(fā)熱度數(shù)的相減量。
5.一種處理器,其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱度數(shù)加法部,根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配而以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相力;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)對要執(zhí)行的命令進(jìn)行調(diào)度。
6.如權(quán)利要求5所述的處理器,其特征在于;所述調(diào)度器使與所述發(fā)熱度數(shù)超過了規(guī)定的閾值的塊執(zhí)行有關(guān)的命令延遲。
7.如權(quán)利要求5或6所述的處理器,其特征在于,還包括發(fā)熱度數(shù)減法部,根據(jù)基于經(jīng)過時(shí)間的放熱量,減去各塊的所述發(fā)熱度數(shù)。
8.一種處理器,其特征在于,包括發(fā)熱度數(shù)保持寄存器,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱系數(shù)簡檔,將與要執(zhí)行的命令和與所述命令的執(zhí)行有關(guān)的塊以及與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù)對應(yīng)存儲;解碼器,解析要執(zhí)行的命令,以規(guī)定的命令單位指定與所述命令的執(zhí)行有關(guān)的所述塊和所述發(fā)熱系數(shù),并將其存儲在所述發(fā)熱系數(shù)簡檔中;發(fā)熱度數(shù)加法器,根據(jù)所述發(fā)熱系數(shù)簡檔,與所述命令的進(jìn)行匹配,以所述規(guī)定的命令單位累計(jì)相加所述塊的所述發(fā)熱度數(shù);以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
9.一種多處理器系統(tǒng),包含多個子處理器和主處理器,其特征在于,所述主處理器包括發(fā)熱度數(shù)保持部,保持所述子處理器內(nèi)的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù);發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù),將要執(zhí)行的命令在所述多個子處理器間進(jìn)行分配。
10.一種處理器,其特征在于;使解讀要執(zhí)行的命令的解碼器具有解析與所述命令的執(zhí)行有關(guān)的處理器內(nèi)的塊的發(fā)熱的功能。
11.一種溫度控制方法,其特征在于,通過與命令碼的進(jìn)行匹配,以規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中,以塊單位對命令碼的進(jìn)行所產(chǎn)生的發(fā)熱進(jìn)行檢測。
12.一種溫度控制方法,其特征在于,根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配,以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中,并根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
13.一種溫度控制方法,其特征在于,以規(guī)定的命令單位估計(jì)多處理器系統(tǒng)中的各處理器內(nèi)的塊的發(fā)熱量,并預(yù)測命令的進(jìn)行產(chǎn)生的塊的溫度變化,根據(jù)預(yù)測的溫度變化在所述處理器間分配命令。
14.一種程序,其特征在于,該程序使計(jì)算機(jī)執(zhí)行與命令碼的進(jìn)行匹配,以規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中的步驟;以及根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù),以塊單位對命令碼的進(jìn)行所產(chǎn)生的發(fā)熱進(jìn)行檢測的步驟。
15.一種程序,其特征在于,該程序使計(jì)算機(jī)執(zhí)行根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配,以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中的步驟;以及根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令的步驟。
16.一種程序,其特征在于,該程序使計(jì)算機(jī)執(zhí)行以規(guī)定的命令單位估計(jì)多處理器系統(tǒng)中的各處理器內(nèi)的塊的發(fā)熱量的步驟;以及預(yù)測命令的進(jìn)行所產(chǎn)生的塊的溫度變化,并根據(jù)預(yù)測的溫度變化在所述處理器間分配命令的步驟。
17.一種記錄介質(zhì),其特征在于,該記錄介質(zhì)存儲了使計(jì)算機(jī)執(zhí)行的以下步驟的程序與命令碼的進(jìn)行匹配,以規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中的步驟;以及根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù),以塊單位對命令碼的進(jìn)行所產(chǎn)生的發(fā)熱進(jìn)行檢測的步驟。
18.一種記錄介質(zhì),其特征在于,該記錄介質(zhì)存儲了使計(jì)算機(jī)執(zhí)行的以下步驟的程序根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配,以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加而將其保持在寄存器中的步驟;以及根據(jù)被保持在所述寄存器中的各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令的步驟。
19.一種記錄介質(zhì),其特征在于,該記錄介質(zhì)存儲了使計(jì)算機(jī)執(zhí)行的以下步驟的程序以規(guī)定的命令單位估計(jì)多處理器系統(tǒng)中的各處理器內(nèi)的塊的發(fā)熱量的步驟;以及預(yù)測命令的進(jìn)行所產(chǎn)生的塊的溫度變化,并根據(jù)預(yù)測的溫度變化在所述處理器間分配命令的步驟。
20.一種處理器系統(tǒng),其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù);以及發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加。
21.一種處理器系統(tǒng),其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱度數(shù)加法部,根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配而以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)對要執(zhí)行的命令進(jìn)行調(diào)度。
22.一種處理器系統(tǒng),其特征在于,包括發(fā)熱度數(shù)保持寄存器,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱系數(shù)簡檔,將與要執(zhí)行的命令和與所述命令的執(zhí)行有關(guān)的塊以及與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù)對應(yīng)存儲;解碼器,解析要執(zhí)行的命令,以規(guī)定的命令單位指定與所述命令的執(zhí)行有關(guān)的所述塊和所述發(fā)熱系數(shù),并將其存儲在所述發(fā)熱系數(shù)簡檔中;發(fā)熱度數(shù)加法器,根據(jù)所述發(fā)熱系數(shù)簡檔,與所述命令的進(jìn)行匹配,以所述規(guī)定的命令單位累計(jì)相加所述塊的所述發(fā)熱度數(shù);以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
23.一種處理器系統(tǒng),其特征在于,使解讀要執(zhí)行的命令的解碼器具有解析與所述命令的執(zhí)行有關(guān)的處理器內(nèi)的塊的發(fā)熱的功能。
24.一種信息處理裝置,其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱指定部,以規(guī)定的命令單位指定與命令的執(zhí)行有關(guān)的塊和與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù);以及發(fā)熱度數(shù)加法部,與要執(zhí)行的命令的進(jìn)行匹配,以所述規(guī)定的命令單位,根據(jù)所述發(fā)熱系數(shù),對由所述發(fā)熱指定部指定的塊的所述發(fā)熱度數(shù)進(jìn)行累計(jì)相加。
25.一種信息處理裝置,其特征在于,包括發(fā)熱度數(shù)保持部,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱度數(shù)加法部,根據(jù)以規(guī)定的命令單位估計(jì)的發(fā)熱量,與命令的進(jìn)行匹配而以所述規(guī)定的命令單位對與所述命令的執(zhí)行有關(guān)的塊的發(fā)熱度數(shù)進(jìn)行累計(jì)相加;以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)對要執(zhí)行的命令進(jìn)行調(diào)度。
26.一種信息處理裝置,其特征在于,包括發(fā)熱度數(shù)保持寄存器,保持成為發(fā)熱控制對象的多個塊的發(fā)熱度數(shù);發(fā)熱系數(shù)簡檔,將與要執(zhí)行的命令和與所述命令的執(zhí)行有關(guān)的塊以及與該塊的發(fā)熱量有關(guān)的發(fā)熱系數(shù)對應(yīng)存儲;解碼器,解析要執(zhí)行的命令,以規(guī)定的命令單位指定與所述命令的執(zhí)行有關(guān)的所述塊和所述發(fā)熱系數(shù),并將其存儲在所述發(fā)熱系數(shù)簡檔中;發(fā)熱度數(shù)加法器,根據(jù)所述發(fā)熱系數(shù)簡檔,與所述命令的進(jìn)行匹配,以所述規(guī)定的命令單位累計(jì)相加所述塊的所述發(fā)熱度數(shù);以及調(diào)度器,根據(jù)各塊的所述發(fā)熱度數(shù)調(diào)度要執(zhí)行的命令。
27.一種信息處理裝置,其特征在于,使解讀要執(zhí)行的命令的解碼器具有解析與所述命令的執(zhí)行有關(guān)的處理器內(nèi)的塊的發(fā)熱的功能。
全文摘要
本發(fā)明的命令解碼器(14),對每個命令指定與命令的執(zhí)行有關(guān)的運(yùn)算塊和發(fā)熱系數(shù),并將其存儲在發(fā)熱系數(shù)簡檔(20)中。命令調(diào)度器(16)基于數(shù)據(jù)依存關(guān)系調(diào)度命令。發(fā)熱度數(shù)加法器(32)與被調(diào)度的命令的進(jìn)行匹配,對保持在運(yùn)算塊發(fā)熱度數(shù)寄存器(22)中的該運(yùn)算塊的發(fā)熱度數(shù)累計(jì)加上發(fā)熱系數(shù)。發(fā)熱度數(shù)減法器(34)基于經(jīng)過時(shí)間產(chǎn)生的發(fā)熱量減去運(yùn)算塊發(fā)熱度數(shù)寄存器(22)的各運(yùn)算塊的發(fā)熱度數(shù)。熱點(diǎn)檢測器(36)檢測運(yùn)算塊發(fā)熱度數(shù)寄存器(22)的發(fā)熱度數(shù)超過了規(guī)定的閾值的運(yùn)算塊作為熱點(diǎn),命令調(diào)度器(16)使與被判斷為熱點(diǎn)的運(yùn)算塊執(zhí)行的有關(guān)的命令執(zhí)行延遲。
文檔編號G06F9/38GK1894668SQ20048003751
公開日2007年1月10日 申請日期2004年12月22日 優(yōu)先權(quán)日2004年3月29日
發(fā)明者安達(dá)健一, 矢澤和明, 瀧口巖, 今井敦彥, 田村哲司 申請人:索尼計(jì)算機(jī)娛樂公司