TWI306552B - Methods and apparatus for achieving thermal management using processor manipulation - Google Patents
Methods and apparatus for achieving thermal management using processor manipulation Download PDFInfo
- Publication number
- TWI306552B TWI306552B TW094109854A TW94109854A TWI306552B TW I306552 B TWI306552 B TW I306552B TW 094109854 A TW094109854 A TW 094109854A TW 94109854 A TW94109854 A TW 94109854A TW I306552 B TWI306552 B TW I306552B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- clock speed
- temperature
- processing
- thermal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
- Power Sources (AREA)
- Air Conditioning Control Device (AREA)
Description
1306552 九、發明說明: 【發明所屬之技術領域】 本發明有關在處理環境中執行熱管理的方法及裳置,尤 其有關藉由有效分配指令及工作以減少熱點的方法及裝 置。 " 【先前技術】 計算系統變得越來越複雜,在達成較高處理速度的同時 也縮減組件大小,將器件密集地集中在電腦晶片上。此種 進展對於許多應用程式的成功至關重要,#即時、多媒體 遊戲及其他計算密集式應用程式。通常,計算系統併入多 個平行運算(或至少共同運算)的處理器,以增加處理效 任組仵及器件執行如指 熱。過熱對於如電腦晶片之電子組件的處理能力有不利的 影響。例如,如果晶片的一個區域正在執行計算、 作,則該區域將相對於其餘晶片從熱點明顯變執 點超過熱臨界,則將使在晶片該區域中之組件或; 能降級,或甚至使晶片受損或毀壞。 的效 解= : = =方案來解決過熱的問題。機械的 龐大且只能將熱從晶片驅散至圍繞晶片的空 ^體積 片存放在如個人電腦機殼的外殼中時。在將晶 移=’但風扇本身既佔用空間又產生惱人:::扇來 還,、他更複雜的熱管理方案。例如,在-項解:方案 100747.doc 1306552 中’將溫度感測器放在關鍵的電路元件(如處理器)上 後將風扇安裝在關聯的系統外殼中。當溫度感測器指示達 到特定溫度時,風扇隨即開啟,以增加空氣流動通過系統 :卜殼,使處理器冷卻°或者,可以發出警報,使處理環境 ,感測器指示超過預定溫度等級時開始關機。 感測器放在離熱點的一段距離處。不幸的是,此反饋方式 =作可能過於緩慢或極不可靠,因而無法有效防止: 其他執打熱管理的嘗試做法則採用軟體來進行。例如, —項技術可減緩組件的時脈,因而有更多時間在運算之間 f部。一種習用的系統可使用調節機構來控制從指令 '、取記憶體至指令緩衝器的指令取得速率。減少取得速率 :降,熱的產生。更強烈的做法甚至關閉處理器,以允許 處理器冷卻。尤去认且 & 、 幸的是,所有這些技術直接影響到組件運 鼻的迷度,因而不利即時處理的需求。 【發明内容】 ,在本技術中需要既能達成熱管理且能避免附加硬 體或無效率之軟體常式的新方法及裝置。 :據本發明的具體實施例,提供用於執行運算的方法及 跑、’ s較佳的方法中’熱臨界係和複數個處理器件相關 第:㈣係提供給處理器件中至少部分。第一器件可執行 、算纟果第冑理器件在執行第-運算時超過其熱 m | ’則將第-運算傳送至第二處理器件。 在—項範例中,可操作第二處理器件以執行第二運算。 100747.doc 1306552 此處,該方法另外包含將第二運算傳送至第一處理器件。 情況下,該方法較佳進-步包含第-處理器件按降低 的時脈速度執行第二運算。 在執料算運算之另—個較㈣方法中,複數個處理器 件係和熱臨界相關聯運筲 丨别運异係提供給處理器件中至少部 分。可操作第一處理器件以執 „ , ,± 仃第一運异。如果第一處理 ° 卩帛運算期間超過其熱臨界,則將第—運算傳 送至佇列。 %开If 在-項範例中,仔列係為熱仵列或冷㈣。該方法進一 步包括使熱屬性和第-運算相關聯,及傳送第―運算包括 根據熱屬性,將第一運算_ g 、分丁 延异毛送至熱佇列或冷佇列。在此情 /下’該方法包括根據由所選處理 器件執行第一運算)產生的熱 (果選擇該 A入 …置决疋熱屬性。或者,埶佇 古k έ複數個熱仔列,及冷仵列包含複數個冷仔列,各且 =相i:優先權。第一運算具有和其相關聯的執;; == ,傳送第—運算進-步包括根據執行 =及熱作列及冷件列的優先權,將第—運算發送至敎 知列的所選熱㈣或發送至冷仵列的所選冷㈣。' 根據本發明的各方面,較佳的 月筮-*愧明 ^ 糸統包括弟一處理器 及第一處理器。處理器能夠執 只。+ 遇斤各處理器具有熱臨 ^ ° 理器在第一運算的執行期間超過其敎臨 界,則將第一運算傳送至第二處理器。 處理以較佳包括以i卜如果第二處 理器的熱臨界時正在執行第二運算,則第處 异則可操作第二處理器 100747.doc !3〇6552 以將第二運算傳送至符列或傳送至第一處理器。符列可以 是複數個優先權佇列之-。或者,佇列可以是熱佇列或冷 仔列。 另-種較佳的處理系統包括第一處理器及第二處理器。 :處理器具有熱臨界。第一處理器及第二處理器分別能夠 執行第-運算及第二運算。第一運算具有高優先權,及第 一運算具有低優先權。如果第-處理器在第-運算的執行 期間超過其熱臨界,則將第一 、 %异得迗至第一處理器及將 :運算傳送至第—處理器。第—處理器按降低的時脈速 度執行第二運算。 選運算 ::本發明的另一項具體實施例,提供一種處理系統。 ::統係用於處理和熱屬性柄關聯的運算。該系統包 二广:運算、第二運算、及處理器。第-運算具有超過 ΓΓ的熱屬性。第二運算具有未超過運算底限的熱屬 2處理器能夠執行運算。處理器具有熱臨界。如果 k處理器的熱臨界’則處理器選擇第— 如果超過處理器的熱臨界’則處 仃理。 裔選擇第二運算以進行 :本發明各方面之又另一種較佳方法中,提供一種處理 =中運异的方法。組件按時脈速度執行運算。該方法包 供具有較低或較高執行優先權的運算。決定指示組件 二的熱值。然後’根據該熱值’降低時脈速度,並選擇 二有=低執行優先權的運算之-;或者維持或提高時脈速 選擇具有較高執行優先權的運算之一。然後處理所 100747.doc 1306552 處理。 摔2未超過熱臨界,且如果第—運算何用,則較佳可 知作處理器以獲得及執 -遥曾丁 丁罘一運算。在此情況下,如果第 ^運异不可用,則處理器可間置—段預Μ時間,如 夕個時脈週期。在另一 4 #I, 替代方案中,該系統包括複數個 優先推佇列。各優先權佇 -運曾.刀楚…,J匕括.第-飪列,用於儲存第 …列’用於儲存第:運算。上 權佇列的第一優先權佇列# … 仪先 係為阿優先權佇列,及優先權佇 歹J的第二優先權佇列係為 馒无權分列,及優先權佇列的 第二優先權佇列係為低優先權佇列。 根據本發明的各方面,提供—種用於處理運算的處 置。該處理裝置包含記憶體及 、 處理益件。記憶體儲 存第-運算。處理器件能夠執行第一運算。處理器件的第 一處理器件包含:處理元件、處理單元或子處理單元。第 -處理器件具有熱臨界及對記憶體的存取。如果在第一運 算的執行期間超過熱臨界,則將該運算傳送至第二處理器 件0 處理器件中至少部分係為處理元件。在此情況下,部分 處理元件進-步包含至少一子處理單元。此處,各子處理 單元包括:浮點單元、整數單元、及和浮點單元及整數單 元相關聯的暫存器。子處理單元視情況各包括本機存放 區0 或者’處理元件中至少部分進一步包含處理單元及複數 個和處理單元相關聯的子處理單元。在此情況下,各子處 100747.doc 1306552 早元進一步包括本機存放區。 在一項範例中,第一處理器件包 體包含在子處理單元,及記憶 各在子處理皁凡中的本機存放區。 包括用於管理運算的仵列。如果第二處理哭件::存放區 處理器件的熱臨界時正在執行第二運算,。過第一 理器件以將第二運算傳送至佇列或傳送至第呆作第一處 佇列可以s、备此加 苛圪主第一處理器件。 丁歹】了以疋複數個優先權佇列之_。 —传列,用於管理第一運算,·及第 ’ τ列包含:第 運算。 Τ幻,用於管理第二 二項::中,記憶體包含:第-記憶體,用於儲存 下,處’用㈣存第二運算。在此情況 的存取。分具有對第一記憶體及第二記憶體 時正在執行第=器件在超過第—處理器件的熱臨界 仃第一運鼻,則第二處理 至第二記憶體或傳送至第一處理器件。了將第一運异傳达 在進—步的範例中,同# 二運算維持在記憶體中。時配置將第一運算及第 根據本發明進—步 處理裝提供—_於處理運算的 運算。可操作、//體及第二記憶體儲存第-運算及第二 算。第_、 個處理11件以執行第—運算及第二運 二第Γ器件包含:處理元件、處理單元或子處理單 兀弟一處理單元且古 干 憶體的存取。如果:楚:上界以及對第一記憶體及第二記 將第-運算傳详b —運算的執行期間超過熱臨界,則 异傳送至第二處理器件。 100747.doc - 10- 1306552 理裝置。可操作處理器件以執行運算^^理運算的處 二處理以…入★ 處理器件及第 器件各n處理元件、處理單元或 第一處理器件及第二處理器件各具有熱臨界。第且 f弟-優切及第二運算具有第二優先權。 ; 送至第二處理器件。將第二運該運算傳 -處理器:按降低的時脈速度執行第二運算。較:件2 優先權為尚優先權及第二優先權為低優先權。 根據本發明進—步的各方面,提供_ 處理裝置。第一於處理運算的 符合條❹熱H第二P 件的熱屬性。處理器能夠執行兩個運二: ….處理元件、處理單元或子-處理器的熱臨界,則處理器選擇第-運算以進3未超過 超1丄界,則處理器選擇第二運算以進 如果未超過該熱臨界,且如果該第 操作處理器以獲得及執行該第二運算。如果第=直則可 '用,則處理器能夠間置一段預定的時間果第-運算為不 忒裝置視情況包括複數個優先權佇列。各 括第-Μτ列及苐二件列。第一传 存6列包 及第二佇列係用於紗+ Μ π孓储存第一運算, -優先權仵列…運算。較佳’優先權仔列的第 先權宁列’及優先權仵列的第二優 仔列係為低優先權=及優先權仲列的第三優先權 100747.doc 1306552 。在一項範例中’處理器包含子處理單元,其包括:浮點 單凡、整數單元、及和浮點單元及整數單元相關聯的暫存 器。較佳,子處理單元也包括本機存放區。 【實施方式】 士了清楚明瞭之故,在說明如圖所示之本發明的較佳具 體=施例時,將會使用特定的專門用語。然而,本發㈣ 無意受限於所選的特定用語,且應明白’各特定用語包括 以相似方式運算以達成相似目的的所有均等技術。 現在參考圖3 A,其為可根據本發明各方面加以採用之基 本處理模組或處理器元件(PE)3〇〇的方塊圖。如此圖中所 示’ PE 300較佳包含:1/〇介面3〇2、處理單元(pu)3〇4、 直接記憶體存取控制器(DMAC)鳩、及複數個子處理單元 (SPU)3〇8(即 ’ SPU 3〇8a_3〇8d)。儘管顯示四個 d,但PE 300可包括任何數量的此類器件。本機(或内 部)PE 匯流排 320 在 PU 3〇4、spu 3〇8、1/〇 介面 3〇2、 DMAC 306、及§己憶體介面31〇之中傳送資料及應用程式。 本機PE匯流排320可具有如習用的架構,或可作為分封交 換網路來實施。實施為封包切換網路儘管需要更多硬體, 但可增加可用頻寬。 可使用實施數位邏輯之各種方法來建構pE 3〇〇。然而, 較佳將PE 300建構為採用矽基板上CM〇s的單一積體電 路。PE 300係透過高頻寬記憶體連接322而和記憶體33〇密 切相關聯。記憶體330理想上可當作pE 3〇〇的主記億體。 雖然記憶體330較佳為動態隨機存取記憶體(dram),但記 100747.doc „ 1306552 憶體330也可以使用其他構件來實施,如:靜態隨機存取 記憶體(SRAM)、磁性隨機存取記憶體(MRAM)、光學記憶 體、全息記憶體等。;DMAC 3 06及記憶體介面310可促進記 憶體330和PE 3 00之SPU 3 08與PU 304間之資料的傳輸。 PU 304可為如能夠獨立處理資料及應用程式的標準處理 器。在運算中’ Ρϋ 304排程及協調由SPU 308處理資料與 應用程式。8卩11 308較佳為單一指令、多個資料(5[11^£))處 理器。在PU 304的控制下,SPU 308可按平行及獨立的方 式處理資料與應用程式。DMAC 306控制PU 304與SPU 308 對儲存於共用記憶體330中之資料與應用程式的存取。較 佳將數個PE(如PE 300)結合或集中一起,或以其他的方 式在邏輯上和彼此相關聯,以提供加強的處理能力。
圖3B圖解包含多個根據本發明各方面進行運算之pE
3 5 0(PE 1、PE 2、PE 3、及PE 4)的處理架構。較佳,pE 350係在單一晶片上。PE 35〇可包括或也可不包括上述有 關圖3入之?£ 300的子系統,如1>1;及/或81)11。根據所需處 理的類型,PE 3 5 0可以屬於相同或不同類型。例如,pE 3 5 〇 可以是一般微處理器、數位信號處理器、圖形處理器等。 卩£ 350較佳聯結至共用匯流排352 〇記憶體控制器或 DMAC 356透過記憶體匯流排354連接至共用匯流排352。 DMAC 356連接至記憶體358,此記憶體可以是上述有關記 憶體330的類型之一。也可以透過1/〇匯流排36〇將1/〇控制 器362連接至共用匯流排352。1/〇控制器362可連接至一或 多個I/O器件364,如訊框緩衝器、磁碟機等。應明白,上 100747.doc -13· 1306552 述處理模組及架構僅為舉例,可和其他結構一起採用本發 明的各方面,包括但不限於如以下專利所揭露之類型的多 處理器系統:美國專利第6,526,491號,其標題為 「Memory Protection System and Method for Computer Architecture for Broadband Networks(用於寬頻網路之電腦 架構的記憶體保護系統及方法)」,核發於2003年2月25 曰;及美國申請案第09/816,004號,其標題為「Computer Architecture and Software Cells for Broadband Networks(用 於寬頻網路的電腦架構及軟體單元)」,申請於2001年3月 22曰,其在此以提及的方式明確併入本文中。 圖4圖解根據本發明各方面所採用之SPU 400的結構與功 能。SPU 400較佳包括:本機存放區402、暫存器404、一 或多個浮點單元406及一或多個整數單元408。SPU 400的 組件則包含子組件,說明如下。根據所需的處理能力,可 採用更多或更少數量的浮點單元(FPU)406及整數單元 (IU)408。在一項較佳的具體實施例中,本機存放區402含 有至少128千位元組的儲存體,及暫存器404的容量是 128x128位元。浮點單元406較佳以每秒至少320億浮點運 算的速度(32 GFLOPS)進行運算,及整數單元408較佳以每 秒至少320億運算的速度(32 GOPS)進行運算。 本機存放區402較佳並非快取記憶體。並不需要用於 SPU 400的快取記憶體一致性支援。而是,較佳將本機存 放區402建構為SRaM。對於由PU 204所啟始的直接記憶體 存取,PU 204可能需要快取記憶體一致性支援。然而,對 100747.doc -14 - 1306552 於由SPU 400啟始的直接記憶體存取或對外部器件之間的 存取’並不需要快取記憶體一致性支援。 SPU 400進一步包括透過匯流排介面(匯流排1/;^412在 SPU 400之間傳送應用程式與資料的匯流排4ι〇。在一項較 佳的具體實施例中,匯流排41〇為ι,〇24位元寬。spu 4〇〇 進一步包括内部匯流排414、416及418。在一項較佳的具 體實施例中,匯流排414具有256位元的寬度並在本機存放 區402及暫存器404之間提供通信。匯流排416及418分別在 暫存器404與浮點單元4〇6之間,以及暫存器4〇4與整數單 元408之間提供通信。在一項較佳的具體實施例中,匯流 排416及418從暫存器404至浮點單元或整數單元的寬度為 384位元,及匯流排416及418從浮點單元或整數單元至暫 存器404的寬度為128位元。匯流排從暫存器4〇4至浮點單 70 406及整數單元408的較大寬度在處理期間容納暫存器 404的較大資料流。在一項範例中,各計算需要最多三個 字組。然而’各計算的結果通常只有一個字組。
現在參考圖1,其中圖解形成於基板1〇〇上的組件ι〇2。 基板100及組件102可包含電腦晶片的部分或全部。組件 102可以是邏輯器件或其他電路。可將在基板1〇〇之區域中 的一或多個組件102關聯一起成為單元1〇4。單元1〇4及單 元104的群組1〇6也可以和彼此相關聯,以形成如:pE 300、PU 304、SPU 308、PE 350或其子組件。例如,單元 的群組106可包含SPU 400,及群組106内的單元1〇4可包 含:本機存放區402、暫存器404、FPU 406、整數單元 100747.doc -15· 1306552 408、及匯流排i/f 412。各單元104則可亦包括其他單元 1 04及組件1 〇2,如DRAM記憶體單元、邏輯閘、緩衝器 等。儘管使用組件102、單元104、及群組106圖解各種複 雜等級,但更常使用用語「組件」來代表所有等級的器 件’從最基本的建立區塊(如’電晶體及電容器)一直到PE 3〇〇或PE 350及整個電腦晶片本身。通常,將組件建構為 採用基板100上互補式金氧半導體(CMOS)的積體電路。基 板1 〇〇較佳為矽基板。基板1 〇〇的替代材料包括但不限於: 砷化鎵、砷鋁化鎵及其他所謂採用各種摻雜物的ΙΠ_Β化合 物。也可以使用超導材料(如,快速單一通量量子(RSFQ) 邏輯)來實施組件102。 由於組件執行運算如處理指令或工作(如,一連串指 令)’組件通常會產生熱。如本文所用,用語「運算」^ 「工作」係、指要執行的活動’包括但不限於:單一或多個 步驟的指令、工作及程式。
在本發明的—方面,由組件執行的運算可和熱屬性相關 聯,致使熱屬性的值有關組件執 卞矾仃該運异時預期由組件產 生的熱量。較佳,熱屬性也是基 ,,* ^ 土於時間。例如,屬性的值 代表一段固定時間後所產生的熱量。 熱屬性可加以測量或估計。例 、w由^ 可使用溫度計或其他 / 皿度感測器件以實際測量單元在 、 ΦΛ ^ . 仃特疋運4時的溫度。 車乂佳根據組件的功率消耗來估計熱 M —r- ^L. 、鸯性。例如,·一 jib 可此而要較多的運算功率,因而且 二,· 其他组件可处呈古4 Η从 /、有比較南的熱屬性。 、,牛了月b具有相同的功率消耗作浴 1一部疋較密集地集中一 100747.doc •16·
爾屬性指派給組件的群組。下 = 及熱屬性。 _ 4早的運
1306552 起 因而傾向於比較多7 )¾ P弓Μ心女 一 較為開的組件產生更多的埶。 吕,可根據兩個因子來估計埶 …就此而 件的功率密度或組件的群組:::,;:=根據組 性可反映:預期組件執行運算時所產生的哉、:熱屬 所產生的熱量、組件的 &時間後 及相關(如,實體上戈、羅 ^ 、且件的功率密度、 霄體上或邏輯上相關)群組之組 =為了達成晶片的有效熱管理,最好排程各 : 隸。可在晶片發展期間估計組件功率消耗。例如的= 打晶片、子系統及/或個別組件的電路模擬。,可執 較佳’熱屬性係進一步釦蛀〜 < 从』 運算(整數加法運笪1 件相關聯。例如,如果 數加㈣)僅涉及整數單元· 整數早X408相關聯。同樣地 特疋和 和浮點單元406相關聯盆-,.運异的熱屬性可特定 祁關聯。其他運算可能 將資料從本機存放區物至暫存器404。還有二1= 可能涉及所有組件或很難歸類於;且運真 如’彩現3-D圖形可能涉及处有:組件。例 屈w· v么r的所有組件,发φ舶 屬生係套用·U4。。中的所有組件。或 = =的組件在執行運算時將產生多少 = I00747.doc 1306552 在一項較佳的範例中,給定組件(或給定組的組件)的熱 屬性計算如下:TA=k*(p/s)。TA,等於組件的功率密度= 功率消耗(p)的熱屬生’除以組件的大小或覆蓋區⑻,乘 以用於熱估計的因子或常數(k)。 根據本發明的—方面,程式編譯it使㈣屬性以協助防 止組件過熱。可以軟體、韌體、硬體或其組合實施編譯 器。可使編譯器和處理元件(如ΡΕ 3〇(^1ΡΕ 35〇)或其子組 ^目關聯(如’併人)。圖叩解本發明各方面的編譯器功 ^。如本技術巾所熟習’編譯it接收原始碼並產生能在計 算系統上執行的目標碼。根據本發明的各方面,編譯器接 收原始碼及關於運算及/或組件的熱屬性。編譯器較佳根 據熱屬性來產生目標碼。編譯器藉由計算指令數來管理編 譯時,將靜態估計由編譯器編譯之目標碼的熱靠。較佳 使用咅|J析器」進行加強熱屬性判決,剖析器是能夠計算 ,令之動態執行並能夠報告各組件之運算頻率的效能監: 益。剖析器可提供更精確之編譯器的熱估計,因而可產生 熱最佳化目標碼。 圖2A-B圖解編譯器或其他指令排程器如何管理運算,以 免使處理降級或損壞組件。為了圖解之故,假設熱臨界 (Tmax)代表不想超過的溫度。三角形區段A、b、及c代表 :組件執行的指令。例>,區段A及B代表如產生明顯熱 算密集指令或工作’而區段c則不像八或8計算密集 且不會產生那麼多熱。更明確地說,假設工作A、B、及C 為總計算(2*3)+(4*5)+(6 + 7)的部分,其巾王作A代表 100747.doc 1306552 (2*3),王作b代表(4*5)及卫作c代表(6 + 7)。如圖μ所見, 在按照A、B、及C的順序執行工作時,溫度將超過τ·。 此處,由於Α及Β係連續執行,因而突破熱臨 1 max 本技術中熟知編譯器通常具有有關如何排序特定指令的 判斷^。根據本發明-項較佳的具體實施例,編譯器可根 據運算的熱屬性有選擇地重新排序排程。較佳,編譯器初 變更指 =,A、„C中任何一項是否具有和其相關聯的 :、、、。右有’則編譯器可使用防止超過Tmax的順序,有 選擇地將運算編譯為目標碼。在上述範例中,編譯器可變 更計算等式的順序而不會變更最終結果。例如,其可按 A、C、及叫順序排程運算。因此,如圖2B所見α 令的順序時,溫度並未未超過·^。
Tmax 可 、,注意’熱臨界Tmax不—定是故障溫度。而是 以疋如根據訂定的運算參數所選擇的設計標準。 =外1在重新排序運算時,編譯器較佳㈣記錄執行計 =件,如,一連串運算可能使spu_ 熱(如 FPU 406),而 qdttm 分, 而SPU的其他部分則維持冷 =。^器較佳藉由以下方式來解決_:試 使運算在咖的各種組件之中平均分布。編譯器可
這麼做的一個方式县J击田為jgg t L …屬性追蹤或模擬組件在執行程 屬!·生ΓΓ溫度。例如’假設組件x在每個時脈週期2個敎 定 ==時_其過熱之前具有_熱屬性點的、 屬性⑴°亥组件相關聯的運算具有每個週期5點的敎 ,則假設組件過熱’如果連續執行該運算三次(第: 100747.doc -19- 1306552 週期後5-2點,使目前的熱指數為3 ;第二週期後5_2點又增 加3點,使目前的總熱指數為6 ;第二週期後%2點又增加3 點,使目前的總熱指數為9)。已偵測組件χ在此排程下可 能過熱後,編譯器將試著排程由另一個組件執行運算,而 組件X則維持閒置並冷卻下来。
或者,編譯器可試著選擇其熱屬性低於預期組件冷卻之 速率的不同運算。例如,如果編譯器決定在目前的運算排 程下可肖b過熱,則其會试著將具有熱屬性為丨的運算(以允 許組件冷卻一些,假定其在一週期2熱屬性的速率下冷卻) 分散於具有熱屬性為5的運算之間。 根據組件包含在其他組件的程度,編譯器可進一步將較 大組件的熱屬性分配給其子組件,或從子 組件。例如,—所示,如果個別的組件同時執;: 有熱屬性為2、3、2、及7的運算,則可將所有這些運算之 SPU的熱屬性視為14。另-方面,可將可歸類於整個SPU 400的熱屬性分配給個別的㈣。如圖刚所示,如果μ 彩現的熱屬性為12並可歸類於整個spu,則可將該值平均 分= SPU彻内的組件。其他分配變化也可以,包括在 因谷關係、邏輯功能、73 ^ 實體接近程度而相關的組件之 間及之中進行分配。 不。可各種組件的熱值不僅反映個別組件的即時運 算’並還可隨料間累計及為各組組件進行總計。將料 因子納人考量’編譯器即可有效排程運算,以避免熱臨界
Tmiiv ° 100747.doc -20- 1306552 車乂 4冷部屬性係和含有各種組件的電 冷卻屬性根據電腦曰…… 片相關聯。 U之冷部系統的特定特色而定。例
卩屬性較佳根據晶片封裝及冷卻器(如散熱片或風 羽疋’如果有的話。如果冷卻系統只有冷卻器的-個 狀態(如’水遠按照設^的旋轉速度運轉風扇),則冷卻屬 性為固定。如果可以藉由如變更風扇的旋轉速度來改變A 卻系統的狀態,則在冷㈣統變更冷卻器的運作狀態時: 冷卻屬性較佳為動態並可加以決定或更新。在一項具體實 施例中’編譯ϋ㈣根據冷卻㈣有運作狀態*計算之固 定的冷卻屬性。編譯H在計算特定組件所屬料算密度時 使用冷卻屬性。較佳,編譯器亦將晶片封裝的散熱能力作 為因子算入。在進一步的具體實施例中,編譯器或剖析器 採用動態冷卻屬性以協助編譯器產生目標碼。下表圖解根 據熱屬性及冷卻屬性由給定整數單元(IU)4〇8及給定本機 存放區(LS)402處理之整算的示範排程。 指令# 〜 一文开《V ,卜罕 指令處理組件 5哳p狂 。 IU LS 1 LS 0 2 2 IU 3 1 3 LS 2 ~~ 3 4 IU 5 2 5 η-〇£ 4 1 6 IU 7 0 7 IU 10 〇 8 其他 9 0 9 n〇£ 8 〇 10 nop 7 0 ... ·» • · 100747.doc 1306552 ,假設IU 408的熱屬性為3,晶片的冷 彻的熱臨界為1G°最左欄代表指令編
對於上述指令組 卻屬性為1,及IU 號’第二攔代表處理該指令的組件,及表中右邊的兩攔顯 示組件在處理指令後產生㈣或溫度。例如,指令!係由 LS處理或實施,產生熱值為2,而聰持為零。指令2係由 IU運算H IU具有熱值為3,LS則冷卻至熱值為J。處 理繼續直到指令5,其為「無運算(卿)」。這允許戰以
冷卻至某種程度。m處理指彳6及7,使其熱值上升至定 限。為免超過定限,較佳由不同組件(「其他」)處理下一 個指令。例如,剖析器可監控叩及!^的指令執行,然後將 資訊報告給編譯器。編譯器可結合熱屬性及冷卻屬性一起 使用此資訊,使指令8由另一個见來處理。 現在參考圖5,其中圖解本發明各方面的多佇列排程方 法5 00。如圖5所見,排程器5〇2較佳和兩個佇列相關聯。 為了方便,本文將第一佇列稱為「熱佇列」5〇4及將第二 佇列稱為「冷佇列」506。可以許多不同方式實施佇列 504、506,如記憶體中的資料結構,或連續或間斷的集 合。在一項採用SPU 400的範例中,在SPU 4〇〇的外部實施 佇列504、506 ^也可以在如和記憶體33〇(或記憶體358)相 關聯之PU 304或PE 300(或PE 350)的外部實施佇列504、 506。在另一項範例中,在spu 4〇〇的内部實施佇列5〇4、 506。理想上’佇列5〇4、5〇6的實施可和本機存放區彳们或 暫存器404相關聯。例如,可結合第一 spu 4〇〇的本機存放 區402實施熱佇列504,及可結合第二spu 4〇〇的本機存放 100747.doc • 22- 1306552 區402實施冷佇列506。在SPU 400包括多個本機存放區402 時,可將熱佇列504儲存於本機存放區402的第一本機存放 區’將冷佇列506儲存於相同SPU 400之本機存放區402的 第二本機存放區。或者’可在spu 4〇〇的外部或pe 300的 外部’在相同的本機存放區402或在相同的記憶體中實施 熱符列504及冷佇列506。如果經由暫存器4〇4實施佇列 504、506,則各種替代方案都可行。在一個情況中,可經 由第一 SPU 400的暫存器4〇4實施熱佇列5〇4,及可經由第 二SPU 400的暫存器404實施冷佇列5〇6。也可以按分時配 置來實施佇列504、506’如其中佇列5〇4、5〇6中的一個係 於第一時段儲存於記憶體中,然後佇列504、506的另一個 係於第二時段儲存於記憶體中。 排程器502可根據熱屬性將指令、工作或其他運算置放 於熱仔列504及冷仵列506。㈣,排程器5〇2可存取含有 熱屬性的查找表。排程器5〇2在執行時間運算之前及/或之 :進行運算。排程器502可根據組件的目前(或預測)溫度從 熱作列⑽或冷件列506選擇工作。在—項較佳的範例中, 只=器件的目前溫度未超過運算底限,排程器逝即 熱仔列504或冷佇列5〇6選擇 例中,在另一項較佳的範 用貝^果未超過運算底限且如果熱工作及冷工作均為可 ’則排程器502可在從冷仵列5〇6選擇工作之前,先從執 丁列504選擇工作。僅是舉例, = 指今弗T从阳文夕W遇异的序點 次工作和相對較高 算放在執佇列5〇4由 相關聯。可將這些運 丁列504中’如工作Η】.為所示。其他運算,如 100747.doc •23· 1306552 整數指令及單—谨曾 二::::運算放在冷仔列506中,如工作一 '”,:的熱屬性較佳使用編譯器及/或剖析器的資訊來 佳、,工作ΓΓ可報告各組件執行卫作的運算頻率。較 率…杜…、屬性可併入組件的運算頻率(如,使用頻 例簡,、的熱屬性、及冷卻屬性。根據-項具體實施 ^的排程器僅使用具有子組件(如SPU彻)之組件 的:熱屬性。根據另一項具體實施例,進階排程器管理 SPU^^#(^LS 402 ^?1;4〇6^11; 4〇8)^m^ 下表圖解給定SPU中m、FPU、及LS用於3_D工作及
工作 —------- 3-D iv /sq i + ◦ 3 I —FPU 7 LS 總數(SPU) MPEG-2 2 Π 2 0 12 2 __I \J -W Τ π你命脾赞、巩丹丹有数值 2 12,且其可能超過SPU的熱臨界。因此,此簡單的排程 益僅選擇MPEG-2工作,以由SPU執行。相反地,進階排 程器較佳監控SPU的子組件。在此情況下,進階排程器將 發現沒有任何子組件超過其熱臨界,因此可以選擇3七工 作:在-項替代方案中,排程可重新排序工作或工作内的 運算,致使在特定階段執行MpEG_2工作,讓Fpu有時間 進行冷卻。此彈性為功能強大的工具,可讓子組件、組件 及/或整個多處理系統進行運算時不會過熱。 如本技術者所明白,可在硬體、韌體、或軟體中實施排 程器502。較佳,排程器5〇2係為基於硬體且在卩1; 2〇4中實 100747.doc -24· 1306552 施。在另一項較佳的替代方案中,排程器502係為基於軟 體並屬於總計算器件之運算系統的部分。熱佇列504及冷 佇列506較佳在程式執行期間可透過匯流排5〇8由一或多個 ΡΕ(ΡΕΙ.,.ΡΕΝ)、PU(PU1...PUN)、及/或 SPU(SPU1...SPUN) 存取。根據一項具體實施例,各PE、PU及/或SPU較佳包 括熱感測器(溫度感測構件),以監控其溫度,或者,估計 目前的溫度。根據另一項具體實施例,各pE較佳包括熱感 測器及類比至數位A/D轉換器,以提供溫度的數位估計: PE的各核心較佳隨時讀取其自己的數位化溫度。、 PU、及SPU理想上各具有熱臨界τ_,且每㈣㈣㈣ 界都不-樣。如果無法使用熱感測器,則可藉由工作的熱 屬性及目前的冷卻屬性來計算目前的溫度。 … 排程器5G2也可以不用仵列來管理運算。可將運算館存 T記憶體中’及排程器5〇2可根據熱屬性指派部分運算給 # , 果有兩個運算,則排程器可根據埶屬性 將兩個運算指派給 尿“、、職 杜彳。-Τ收哎〜 個刀開的處理元件3〇〇(或其他處理器 °將運算儲存於分 。 開的部分中)。可^ ^己隐體中(或早己憶體之分 記憶體的乂 運算儲存於r記憶體中(或單- 中(或單一記情體了將第一運舁儲存於第二記憶體 而是可將其儲存在分)°不必同時儲存兩個運算; 在固定或可變的連:同時段中的相同或不同記憶體中(及 兩個記憶體(或單或間斷期間交替)。此外,應明白, 關聯之運算的專用記憶體。因此, 運算或和特定熱屬性相巾個不--是限於特定 I00747.doc -25· 乜06552 5己憶體(或單一記憶體的第一 及第二記择!^·^ m 邛刀)可儲存第二運算, 1體(或早-記憶體的第二部分)可儲 鼻。同樣地,了錯存第運 相似的太 第一佇列504、506可以 的方式進行運算。 圖6圖解獲得及處理運算之較 驟6〇2,Pp、DTT + 法的 '机程圖600。在步 T / SPU決定其目前的溫度是否在熱臨界 否^之程上。如果未超過n程序接著前進至步驟6〇4, 進订至步驟608。在步驟6〇4,決定熱作列別的 否 用貝丨程序刖進至步驟606, 「勃 月’J進至步驟608。在步驟6〇6,pE、pu或_獲得 6〇;、」運算’然後執行之。完成運算後,程序返回步驟 。在步驟608 ’決定冷佇列5〇6的運算是否可用。如果 井异可用,則程序前進至步驟61〇。否則,此程序進行到 步驟612。在步驟61〇,pE、⑼或卿獲得「冷」運算,然 後執仃之。完成運算後,程序返回步驟602。如果沒有任 何工作可供處理,則程序可在返回步驟6〇2之前,在步驟 6 U閒置或執行「n〇p」一段時間(如,預定的週期數)。視 月兄如以上有關圖5所述’如果熱工作及冷工作可用且 未超過Tmax ’則可選擇熱工作或冷工作。因此,如流程圖 600所不’處理器件能夠藉由選擇熱佇列504及冷佇列5〇6 的工作以避免熱點及過熱。此程序可由一或多個處理器件 同日寺執*行’從而允許不用改變時脈速度或關閉處理器件, 即可執行指令及工作。 T &、结合熱佇列及冷佇列和優先權佇列的使用,如圖7 100747.doc -26- 1306552 所示。在此圖中’提供多佇列排程方法54〇。排程器542係 和三個優先權佇列相關聯:高優先權佇列544、中優先權 佇列546、及低優先權佇列548,不過也可以採用不同的優 先權等級及仵列數。排程器542運算如以上參考排程器M2 所述。各優先權佇列544、546、及548較佳包括熱佇列及 冷佇列,其係以上述有關圖5的相同方式加以建立及運 算。例如,高優先權佇列544具有用於處理 Ηιη...Ηνη 的熱符列及用於處理工作Cih-..Cnh的冷仔列。同樣地,中 優先權仔列具有用於處理工作Η, Μ Η AA ii, 处理工忭的熱佇列及用於處 理工作C1m...Cnm的冷㈣。低優先權仵列具有用於處理工 作H1L…HNL的熱符列及用於處理王作以的冷佇列。 圖8圖解採㈣先權㈣時用於獲得及處理運算之較佳 方法的流程圖_。初始’在步驟8〇1,PE、PU、或spu決 定要採用的優先權仵列,如,高優先權㈣⑷、中優先 權仔列546、或低優先權仵列548。在步驟8〇2,邱、抑、 或SPU決定其目前的、、 別的咖度疋否在熱臨STmax之上。如果未 超過Tmax ’則程序接著前 伐者刖進至步驟804,否則程序進行至 步驟808。在步驟8〇4少宏 、疋所選優先權佇列之熱佇列5〇4 的運异疋否可用。如要谨嘗 還算可用,則程序前進至步驟 806,否則程序進行 P「# 订至步帮808。在步驟806,PE、即或 SPU獲得「熱」運算, 异‘、、、後執仃之。完成運算後, 回步驟80】^在步驟8〇s, 佼程序 5〇6^if^ ^所選優先们宁列之冷佇列 )ϋ6的運异疋否可用。 〇10 _ ^ ^ 果運异可用,則種序前進至步驟 8】〇,否則程序進行至+ 7 2 °在步驟8 1 0,PE、PU或 100747.doc -27. 1306552 SPU獲得「冷」運算,然後執行之。完成運算後,程序返 回步驟801。如果沒有任何工作可供處理’則程序在返回 步驟8〇1之前在步驟812閒置。視情況,如果給定優先權等 級的熱工作及冷工作可用且未超過Tmax,則可選擇該優先 權等級的熱工作或冷工作。因此,如流程圖8〇〇所示,處 理組件能夠藉由在執行時間期間選擇各種優先權佇列 544、546、及548之熱佇列及冷佇列的工作,來避免熱點 及過熱。此程序可由-或多個處理組件同時執行,從而允 •許不用改變時脈速度或關閉處理組件,即可執行指令及工 作。在替代方案中,如果處理器件變得過熱且接近或超過 ΤμΧ ’則可從較低優先權佇列(如,中優先權佇列546或低 優先權仔列548)選擇運异及/或按降低的時脈週期執行運 算,而不管運算的熱屬性。此類較低優先權工作可按降低 的時脈週期來執行。 在部分情況中,組件在執行運算(如’工作)之前可能低 _於熱臨界丁_,但接著在工作執行期間可能超過^。過 去’此類發生情況可能必須關閉組件,以允許組件冷卻。 然而,已發展可解決此問題的技術,且其尤其適用於多處 理器環境。 圖9A圖解多個執行工作群組的pE。在此範例中,假設 PE 2在其處理工作1期間過熱。可以將工作1從PE 2移動至 其他可能運算其他工作(如,工作2及工作3)的處理器之 …其他工作較佳為低於pE 2目前執行之工作的較低優先 100747.doc 28- 1306552 如圖9B所示,其他處理器中的工作,如工作3,可「交 換」並發送至如合適的件列(或不同的處理器)。因此’ PE 2在PE 3完成工作丨時不舍 執仃工作。或者’兩個處理器可 交換工作,致使PE 2執行較低優先權工作,如圖9C所示。 圖9C所不⑴初始’ PE 2及汗3可以標準時脈速度(如, 500 MHz)進行運算。桩| 接者’(2)如果PE 2在運算高優先權 工作1時變熱’則其卫作可和托3的較低優先權工作3交 換。最後,(3)可以較慢或降低的時脈速度(如,25〇 MHz) 執打較低優先權工作3,以允許PE 2冷卻,而PE 3繼續以 500 MHz的標準時脈逮度執行工作卜也可以增加時脈速度 (如’增加至650 MHz),以執行較高優先權工作。應明 白,標準、增加、及降低的時脈速度只是示範,因⑽根 據處理器、子處理器的特定架構及/或多處理系統的最大 時脈速率而有所變化。在最糟的情況中,過熱的處理器可 在溫度達到理想等級之前終止運算。然而,多處理器系統 中的其他處理器將繼續處理,以便迅速執行即時運算及其 他重要運算。儘管在圖9A_C中顯示pE,但也可以及 SPU或各種處理器件的組合執行相同的運算。例如,過熱 的SPU 308可將其高優先權工作發送給pu 3〇4,然後 304再重新將工作指派給第二SPU 308。同樣地,Pu 3〇4可 以取得第二SPU 3G8的較低優先權工作,然後將其指派給 第一SPU 308。在第一SPU 3〇8冷卻後,即可恢復以正常時 脈速度來處理高優先權及/或「熱」工作。 雖然已參考特定具體實施例來說明本發明,但應明白, 100747.doc •29- 1306552 疋些具體實施例僅係用以說明本發明的原理及應用。因 此,應明白,可以對該等說明性具體實施例進行大幅修 改,並且可在不脫離隨附申請專利範圍所定義之本發明的 精神及範疇下設計其他配置。 工業適用性 本土月適用於減少熱點的技術,其係藉由在處理環境中 有效分配指令及工作。 【圖式簡單說明】 圖1圖解本發明各方面之分成不同組合的組件。 圖2A-B為標繪計算器件之溫度對時間的曲線圖。 圖3A為圖解本發明各方面之處理元件(pE)之示範結構的 圖式。 圖3B為圖解本發明各方面之邱之多處理系統之示範結 構的圖式。 圖4為圖解本發明各方面之子處理單元(spu)之示範結構 的圖式。 圖5為圖解本發明各方面之多佇列排程的圖式。 圖6為圖解本發明各方面之示範動態排程程序的流程 圖。 圖7為圖解本發明各方面之多佇列排程的圖式。 圖8為圖解本發明各方面之示範動態排程程彳的流程 固。 圖9A-C為圖解本發明各方面之工作遷移的圓式。 圖1 0 A _ B圖解和本發明各方面之組件相關聯的組件及熱 100747.doc -30- 1306552 值。 圖11圖解本發明各方面的編譯器功能。 【主要元件符號說明】
100 基板 102 組件 104 口 〇 — 早兀 106 單元104的群組 204 處理單元(PU) 304 處理單元(PU) 300 處理器元件(PE) 350 處理器元件(PE) 302 I/O介面 306 直接記憶體存取控制器(DMAC) 356 直接記憶體存取控制器(DMAC 308(308a-308d) 子處理單元(SPU) 400 子處理單元(SPU) 310 記憶體介面 320 本機(或内部)PE匯流排 322 高頻寬記憶體連接 330 記憶體 358 記憶體 352 共用匯流排 354 記憶體匯流排 100747.doc -31 - 1306552 360 362 364 402 404 406 408 410
508 412 414 416 418 502 542
506 544 546 I/O匯流排 I/O控制器 I/O器件 本機存放區 暫存器 浮點單元 整數單元 匯流排 匯流排 匯流排介面 内部匯流排 内部匯流排 内部匯流排 排程器 排程器 熱4宁列 冷佇列 高優先權仔列 中優先權仵列 低優先權佇列 100747.doc -32- 548
Claims (1)
- "7年 @109854號專利尹請素 申請專利範圍替換本(97 月) 十、申請專利範圍: 1. _種運算處理方法,其特徵在於包含以下步驟: 於第一處理器以第-時脈速度執行第一運算時, 上述第一處理器的、'班许B i皿度疋否超過特定的臨界值; 在因執行第一運算使得上 -ΛΛ ^ ,. 乐羼理器的溫度超過相 疋的L界值時,於執行第— —们上述第—處理器與勃 灯優先度比第一運算低之笛__ 思异低之弟一運算的第二處理 將第一運算與第二運算交換; 於上述第一處理器中, . ^ f 乂比第—時脈速度低的第二時 脈速度執行第二運算。 于 2·如請求項1之運算處理方法,Α /、甲進而包含以下步驟: 於上述第二處理器中, r器中W比第-時脈速度高的第三時 脈速度執行第一運算。 卞 3·如請求項1或2之運算處理方法,其中 上:ί = 一處理器以第一時脈速度執行第-運算時, 俜灣Γ的溫度是否超過特定的臨界值之判斷, 你利用執行第一運|徭 _ 化的坌 不上述第一處理器的溫度變 化的第一熱屬性而實施。 4. 一種運算處理枝,其特徵在於包含以下步驟: 判斷於第一處理器第— 弟時脈速度執行第一運算時, “ 一處理11的溫度是否超過特定的臨界值; 在因執行第一運算使得Ρ #贫 定的旷述弟一處理器的溫度超過特 疋的£s界值時,於執行 ^ %异的上述第一處理器與執 仃優先度比第一運算低笛一 執 开低之弟一運异的第二處理器之間, 100747-970321.doi 1306552 將第一運算與第二運算交換; 於上述第一處理考由 > … 乐地里器中,停止第二運算之執行,直 述第一處理器的溫度降至 又$主特定的臨界值以下為止。 •如請求項4之運算處理方法 决’其中進而包含以下步驟: 於上述第二處理器中, 拄邮、* ώ 時脈速度高的第三時 脈速度執行第一運算。 Τ 6_如請求項4或5之運算處理方法,其中 ^於第一處理器以第—時脈速度執行第一運算時,上 ^弟―處理H的溫度是否超過特定的臨界值之判斷 利用執行第一運算後之表 '、 的第-熱屬性而實施。 仏的溫度變化 於種運”處理裝置,其係包含複數之處理器,其特徵在 第處理器係判斷其以第一時脈速度執行第一運算 日’、,’〔上述第—處理器的溫度是否超過特定的臨界值;在 述第處理器的溫度超過特定的臨界值時,於上述第 一處理器與執行優先度比第-運算低之第二運算的第一 即之間,將第一運算與第二運算交換;於上述第一 γ4-> …以比第一時脈速度低的第二時脈速度執行第 "一運算。 8·如响求項7之運算處理裝置,其中 戶:二第二處理器係以比第一時脈速度高的第三時脈速 度砜仃第一運算。 9’如喷求項7或8之運算處理裝置,其中 100747-970321.doc 1306552 處理器的溫執:第-運算後之表示上述第- 以第-時脈速度執:第運熱!:,判_ 度是否超過特定的臨界值。异時,上述第-處理器的溫 】〇. -種運算處理裳置,其係 於: 複數之處理益,其特徵在 η 時,上述第. 、罘—時脈速度執行第一運算 工迎弟一處理器的 ^ 上述第-虎ι皿度疋否超過特定的臨界值;在 纟益的溫度超過特定的 -處理器與執行優先 ^①上迷第 产理哭 第—運算低之第二運算的第- 處理器之間,脾筮、宏味 %开w乐— 考饰 將第—運异與第二運算交換;於上述Μ 處理器令,停止第於上述第一 硬异之執仃,直到上述 的溫度降至特定的臨界值以下為止。 处 1L·如請求項〗〇之運算處理裝置,其中 上述第二處理器係以比第 ..^ 第時脈速度高的第三時脈速 度執行第一運算。 ( 12·如請求項10或11之運算處理裝置,其中 運算後之表示上述第一 ,判斷上述第一處理器 ,上述第一處理器的溫 上述第一處理器利用執行第_ 處理器的溫度變化的第一熱屬性 以第一時脈速度執行第一運算時 度是否超過特定的臨界值。 100747-970321.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/812,155 US7360102B2 (en) | 2004-03-29 | 2004-03-29 | Methods and apparatus for achieving thermal management using processor manipulation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200602849A TW200602849A (en) | 2006-01-16 |
| TWI306552B true TWI306552B (en) | 2009-02-21 |
Family
ID=34962548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW094109854A TWI306552B (en) | 2004-03-29 | 2005-03-29 | Methods and apparatus for achieving thermal management using processor manipulation |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7360102B2 (zh) |
| EP (1) | EP1733296B1 (zh) |
| JP (1) | JP3983250B2 (zh) |
| TW (1) | TWI306552B (zh) |
| WO (1) | WO2005093564A2 (zh) |
Families Citing this family (72)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4152348B2 (ja) * | 2004-06-03 | 2008-09-17 | 株式会社ソニー・コンピュータエンタテインメント | 電子デバイス冷却装置、電子デバイスシステムおよび電子デバイス冷却方法 |
| JP3805344B2 (ja) * | 2004-06-22 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、情報処理装置およびプロセッサの制御方法 |
| US8255532B2 (en) * | 2004-09-13 | 2012-08-28 | Cisco Technology, Inc. | Metric-based monitoring and control of a limited resource |
| JP4197672B2 (ja) * | 2004-09-30 | 2008-12-17 | 株式会社東芝 | マルチプロセッサ計算機及びプログラム |
| US9063785B2 (en) * | 2004-11-03 | 2015-06-23 | Intel Corporation | Temperature-based thread scheduling |
| JP3914230B2 (ja) * | 2004-11-04 | 2007-05-16 | 株式会社東芝 | プロセッサシステム及びその制御方法 |
| US8112507B2 (en) * | 2005-09-27 | 2012-02-07 | Intel Corporation | Remote node list searching mechanism for storage task scheduling |
| JP2007102313A (ja) * | 2005-09-30 | 2007-04-19 | Toshiba Corp | 制御装置およびマルチプロセッサ制御方法 |
| US7603576B2 (en) * | 2005-11-29 | 2009-10-13 | International Business Machines Corporation | Hysteresis in thermal throttling |
| US7460932B2 (en) * | 2005-11-29 | 2008-12-02 | International Business Machines Corporation | Support of deep power savings mode and partial good in a thermal management system |
| US7480586B2 (en) * | 2005-11-29 | 2009-01-20 | International Business Machines Corporation | Thermal interrupt generation |
| US7512530B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Generation of software thermal profiles for applications in a simulated environment |
| US7512513B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Thermal throttling control for testing of real-time software |
| US7698089B2 (en) * | 2005-11-29 | 2010-04-13 | International Business Machines Corporation | Generation of software thermal profiles executed on a set of processors using processor activity |
| US7376532B2 (en) * | 2005-11-29 | 2008-05-20 | International Business Machines Corporation | Maximal temperature logging |
| US7490017B2 (en) * | 2005-11-29 | 2009-02-10 | International Business Machines Corporation | Analytical generation of software thermal profiles |
| US7386414B2 (en) * | 2005-11-29 | 2008-06-10 | International Business Machines Corporation | Generation of hardware thermal profiles for a set of processors |
| US7721128B2 (en) * | 2005-11-29 | 2010-05-18 | International Business Machines Corporation | Implementation of thermal throttling logic |
| US7395174B2 (en) * | 2005-11-29 | 2008-07-01 | International Business Machines Corporation | Generation of software thermal profiles executed on a set of processors using thermal sampling |
| US7848901B2 (en) * | 2005-11-29 | 2010-12-07 | International Business Machines Corporation | Tracing thermal data via performance monitoring |
| US7681053B2 (en) * | 2005-11-29 | 2010-03-16 | International Business Machines Corporation | Thermal throttle control with minimal impact to interrupt latency |
| US20070124618A1 (en) * | 2005-11-29 | 2007-05-31 | Aguilar Maximino Jr | Optimizing power and performance using software and hardware thermal profiles |
| US7421601B2 (en) * | 2006-02-17 | 2008-09-02 | International Business Machines Corporation | Method and system for controlling power in a chip through a power-performance monitor and control unit |
| US7596430B2 (en) * | 2006-05-03 | 2009-09-29 | International Business Machines Corporation | Selection of processor cores for optimal thermal performance |
| US20070260894A1 (en) * | 2006-05-03 | 2007-11-08 | Aguilar Maximino Jr | Optimizing thermal performance using feed-back directed optimization |
| US8037893B2 (en) * | 2006-05-03 | 2011-10-18 | International Business Machines Corporation | Optimizing thermal performance using thermal flow analysis |
| US7552346B2 (en) * | 2006-05-03 | 2009-06-23 | International Business Machines Corporation | Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index |
| US7836314B2 (en) * | 2006-08-21 | 2010-11-16 | International Business Machines Corporation | Computer system performance estimator and layout configurator |
| JP5045159B2 (ja) * | 2007-03-12 | 2012-10-10 | 三菱電機株式会社 | 制御用サブユニットおよび制御用メインユニット |
| US7877620B2 (en) * | 2007-08-17 | 2011-01-25 | International Business Machines Corporation | Managing power in a parallel computer |
| US7886172B2 (en) * | 2007-08-27 | 2011-02-08 | International Business Machines Corporation | Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management |
| US8027798B2 (en) * | 2007-11-08 | 2011-09-27 | International Business Machines Corporation | Digital thermal sensor test implementation without using main core voltage supply |
| US7971102B2 (en) * | 2007-12-19 | 2011-06-28 | International Business Machines Corporation | Preemptive thermal management for a computing system based on cache performance |
| US7870370B2 (en) * | 2007-12-19 | 2011-01-11 | International Business Machines Corporation | Determining thermal characteristics of instruction sets |
| US7953957B2 (en) * | 2008-02-11 | 2011-05-31 | International Business Machines Corporation | Mapping and distributing parallel algorithms to compute nodes in a parallel computer based on temperatures of the compute nodes in a hardware profile and a hardware independent application profile describing thermal characteristics of each parallel algorithm |
| JP4804490B2 (ja) * | 2008-02-18 | 2011-11-02 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム |
| US8250383B2 (en) * | 2008-04-25 | 2012-08-21 | International Business Machines Corporation | Temperature threshold application signal trigger for real-time relocation of process |
| GB2461313A (en) * | 2008-06-27 | 2009-12-30 | Symbian Software Ltd | Managing services in a computer system to limit overall system cost |
| US20100010688A1 (en) * | 2008-07-08 | 2010-01-14 | Hunter Robert R | Energy monitoring and management |
| US7757233B2 (en) * | 2008-07-10 | 2010-07-13 | International Business Machines Corporation | Controlling a computer system having a processor including a plurality of cores |
| US8321057B2 (en) * | 2009-03-12 | 2012-11-27 | Red Hat, Inc. | Infrastructure for adaptive environmental control for equipment in a bounded area |
| US9569270B2 (en) * | 2009-04-21 | 2017-02-14 | Empire Technology Development Llc | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts |
| US8881157B2 (en) * | 2009-09-11 | 2014-11-04 | Empire Technology Development Llc | Allocating threads to cores based on threads falling behind thread completion target deadline |
| US9189282B2 (en) * | 2009-04-21 | 2015-11-17 | Empire Technology Development Llc | Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter |
| US8311683B2 (en) * | 2009-04-29 | 2012-11-13 | International Business Machines Corporation | Processor cooling management |
| US8479216B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node |
| US8479215B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Decentralized load distribution to reduce power and/or cooling costs in an event-driven system |
| US8548639B2 (en) * | 2010-07-15 | 2013-10-01 | Seagate Technology Llc | Temperature monitoring systems and methods |
| EP2601502B1 (en) * | 2010-08-03 | 2019-05-08 | Bosch Automotive Service Solutions Inc. | Vehicle diagnostic, communication and signal delivery system |
| US8776069B2 (en) | 2010-12-07 | 2014-07-08 | International Business Machines Corporation | Energy and performance optimizing job scheduling |
| US8694279B1 (en) * | 2010-12-30 | 2014-04-08 | Exaflop Llc | Data center thermal monitoring |
| US8942857B2 (en) | 2011-04-22 | 2015-01-27 | Qualcomm Incorporated | Method and system for thermal load management in a portable computing device |
| US8943336B2 (en) * | 2011-07-01 | 2015-01-27 | Intel Corporation | Method and apparatus for configurable thermal management |
| US8516460B2 (en) * | 2011-08-02 | 2013-08-20 | International Business Machines Corporation | Real-time temperature sensitive machine level code compilation and execution |
| US9513884B2 (en) * | 2011-08-16 | 2016-12-06 | International Business Machines Corporation | Thermal-aware source code compilation |
| KR101840852B1 (ko) | 2011-10-10 | 2018-03-22 | 삼성전자주식회사 | 모바일 장치의 표면 온도 관리 방법 및 멀티칩 패키지의 메모리 열관리 방법 |
| US8954984B2 (en) | 2012-04-19 | 2015-02-10 | International Business Machines Corporation | Environmentally aware load-balancing |
| US9098258B2 (en) | 2012-06-08 | 2015-08-04 | Apple Inc. | Thermal-based acoustic management |
| US9329648B2 (en) * | 2012-07-17 | 2016-05-03 | International Business Machines Corporation | Performance management of subsystems in a server by effective usage of resources |
| US8938630B2 (en) * | 2012-07-30 | 2015-01-20 | Micron Technology, Inc. | Apparatus power control |
| TWI617988B (zh) | 2013-01-31 | 2018-03-11 | 聯想企業解決方案(新加坡)有限公司 | 根據處理器位置之熱條件進行排程的電腦系統與方法 |
| CN105917287A (zh) * | 2013-09-09 | 2016-08-31 | 希捷科技有限公司 | 具有温度管理的移动数据存储设备 |
| US9570643B2 (en) | 2013-10-28 | 2017-02-14 | General Electric Company | System and method for enhanced convection cooling of temperature-dependent power producing and power consuming electrical devices |
| US9760402B2 (en) * | 2015-07-23 | 2017-09-12 | Dell Products L.P. | Systems and methods for input/output traffic shaping for optimal performance under thermal constraints |
| US9749740B2 (en) * | 2015-11-17 | 2017-08-29 | Motorola Solutions, Inc. | Method and apparatus for expanded temperature operation of a portable communication device |
| KR20170069730A (ko) | 2015-12-11 | 2017-06-21 | 삼성전자주식회사 | 온도 및 공간적인 위치에 따라 코어들의 동작들을 관리하는 연산 처리 장치, 및 연산 처리 장치를 포함하는 전자 장치 |
| US10270434B2 (en) * | 2016-02-18 | 2019-04-23 | Apple Inc. | Power saving with dynamic pulse insertion |
| US10698460B2 (en) | 2017-03-13 | 2020-06-30 | Samsung Electronics Co., Ltd. | Advanced thermal control for SSD |
| US10809780B2 (en) * | 2017-03-13 | 2020-10-20 | Samsung Electronics Co., Ltd. | Active disturbance rejection based thermal control |
| US12282838B2 (en) * | 2018-05-04 | 2025-04-22 | Apple Inc. | Systems and methods for assigning tasks in a neural network processor |
| US10782754B2 (en) * | 2018-09-21 | 2020-09-22 | Quanta Computer Inc. | Thermal management via virtual BMC manager |
| US11121302B2 (en) | 2018-10-11 | 2021-09-14 | SeeQC, Inc. | System and method for superconducting multi-chip module |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5274797A (en) | 1986-05-30 | 1993-12-28 | Bull Hn Information Systems Inc. | Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing |
| US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
| US5394524A (en) * | 1992-08-07 | 1995-02-28 | International Business Machines Corporation | Method and apparatus for processing two graphics data streams in parallel |
| US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
| DE69532596T2 (de) * | 1994-05-09 | 2004-08-05 | Canon K.K. | Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung |
| JPH0816531A (ja) | 1994-06-28 | 1996-01-19 | Hitachi Ltd | プロセススケジュール方式 |
| US5754436A (en) * | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Adaptive power management processes, circuits and systems |
| US6192479B1 (en) * | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
| US5715184A (en) | 1995-01-23 | 1998-02-03 | Motorola, Inc. | Method of parallel simulation of standard cells on a distributed computer system |
| US5761516A (en) | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
| JP3567354B2 (ja) | 1996-12-26 | 2004-09-22 | 株式会社リコー | マルチプロセッサシステムおよび命令作成装置 |
| DE69920460T2 (de) | 1999-10-25 | 2005-01-20 | Texas Instruments Inc., Dallas | Intelligente Leistungssteuerung in verteilten Verarbeitungssystemen |
| US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
| US6269043B1 (en) * | 2000-07-31 | 2001-07-31 | Cisco Technology, Inc. | Power conservation system employing a snooze mode |
| EP1182552A3 (en) | 2000-08-21 | 2003-10-01 | Texas Instruments France | Dynamic hardware configuration for energy management systems using task attributes |
| EP1182556B1 (en) | 2000-08-21 | 2009-08-19 | Texas Instruments France | Task based adaptive profiling and debugging |
| US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
| US7174194B2 (en) | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
| US20030055969A1 (en) | 2001-09-17 | 2003-03-20 | International Business Machines Corporation | System and method for performing power management on a distributed system |
| US20030079151A1 (en) * | 2001-10-18 | 2003-04-24 | International Business Machines Corporation | Energy-aware workload distribution |
| US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
| US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
| US7096145B2 (en) * | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
| US6775787B2 (en) * | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
| JPWO2003083693A1 (ja) | 2002-04-03 | 2005-08-04 | 富士通株式会社 | 分散処理システムにおけるタスクスケジューリング装置 |
| US6948082B2 (en) * | 2002-05-17 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for software-assisted thermal management for electronic systems |
| US7086058B2 (en) * | 2002-06-06 | 2006-08-01 | International Business Machines Corporation | Method and apparatus to eliminate processor core hot spots |
| US7100060B2 (en) * | 2002-06-26 | 2006-08-29 | Intel Corporation | Techniques for utilization of asymmetric secondary processing resources |
| JP3673245B2 (ja) * | 2002-06-28 | 2005-07-20 | 株式会社東芝 | 情報処理装置および同装置における電源制御方法 |
-
2004
- 2004-03-29 US US10/812,155 patent/US7360102B2/en not_active Expired - Lifetime
-
2005
- 2005-03-25 JP JP2005088404A patent/JP3983250B2/ja not_active Expired - Lifetime
- 2005-03-28 WO PCT/JP2005/006524 patent/WO2005093564A2/en not_active Ceased
- 2005-03-28 EP EP05727576.0A patent/EP1733296B1/en not_active Expired - Lifetime
- 2005-03-29 TW TW094109854A patent/TWI306552B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| WO2005093564A3 (en) | 2006-07-13 |
| JP2005285124A (ja) | 2005-10-13 |
| JP3983250B2 (ja) | 2007-09-26 |
| WO2005093564A2 (en) | 2005-10-06 |
| EP1733296A2 (en) | 2006-12-20 |
| TW200602849A (en) | 2006-01-16 |
| US7360102B2 (en) | 2008-04-15 |
| EP1733296B1 (en) | 2019-05-22 |
| US20050216775A1 (en) | 2005-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI306552B (en) | Methods and apparatus for achieving thermal management using processor manipulation | |
| TWI345155B (zh) | ||
| US7770176B2 (en) | Multiprocessor computer and program | |
| JP4413924B2 (ja) | マルチコアプロセッサのパフォーマンス改善のための方法、システムおよび装置 | |
| CN100422942C (zh) | 具有温度传感器的处理器系统及其控制方法 | |
| Xie et al. | Temperature-aware task allocation and scheduling for embedded multiprocessor systems-on-chip (MPSoC) design | |
| Chen et al. | Integrated management of application performance, power and cooling in data centers | |
| US8479029B2 (en) | Methods and apparatuses for reducing step loads of processors | |
| JP2007042074A (ja) | タスク共有方法およびマルチプロセッサシステム | |
| JP2004110795A (ja) | 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置 | |
| Khan et al. | Scheduling based energy optimization technique in multiprocessor embedded systems | |
| TWI446150B (zh) | 用於動態電壓抖動之方法及裝置及機器可讀儲存媒體 | |
| US8914764B2 (en) | Adaptive workload based optimizations coupled with a heterogeneous current-aware baseline design to mitigate current delivery limitations in integrated circuits | |
| US8863068B2 (en) | Current-aware floorplanning to overcome current delivery limitations in integrated circuits | |
| Lee et al. | GOP-level dynamic thermal management in MPEG-2 decoding | |
| Kohútka et al. | ASIC architecture and implementation of red scheduler for mixed-criticality real-time systems | |
| Wang et al. | Efficient task partitioning and scheduling for thermal management in multicore processors | |
| JP4082439B2 (ja) | 並列計算機 | |
| Yun et al. | Thermal-aware scheduling of critical applications using job migration and power-gating on multi-core chips | |
| Wang et al. | Temperature-aware task partitioning for real-time scheduling in embedded systems | |
| Niu et al. | Leakage-aware scheduling for embedded real-time systems with (m, k)-constraints | |
| Winter et al. | Addressing thermal nonuniformity in smt workloads | |
| WO2006016283A2 (en) | Task scheduling using context switch overhead table | |
| WO2023084181A1 (en) | Determining whether a given task is allocated to a given one of a plurality of logically homogeneous processor cores | |
| Zhou | DYNAMIC THERMAL MANAGEMENT FOR MICROPROCESSORS THROUGH TASK SCHEDULING |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK4A | Expiration of patent term of an invention patent |