TW200825907A - Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium - Google Patents

Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium Download PDF

Info

Publication number
TW200825907A
TW200825907A TW96127825A TW96127825A TW200825907A TW 200825907 A TW200825907 A TW 200825907A TW 96127825 A TW96127825 A TW 96127825A TW 96127825 A TW96127825 A TW 96127825A TW 200825907 A TW200825907 A TW 200825907A
Authority
TW
Taiwan
Prior art keywords
thread
processor
instruction
control logic
execution
Prior art date
Application number
TW96127825A
Other languages
English (en)
Inventor
David W Burns
James D Allen
Michael D Upton
Darrell D Boggs
Alan B Kyker
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/888,274 external-priority patent/US6651158B2/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200825907A publication Critical patent/TW200825907A/zh

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

200825907 九、發明說明: 【發明所屬之技術領域】 本發明有關於-處理器的作f或諸如此類。尤其
明有關於解決多執行緒處理器中 X 【先前技術】 執仃緒的'日令饑餓。 如此項技藝所熟悉的,一處理器包括各種的次模組 完成特定的任務。於一已知的處理器中, 拉組包括下列:一指令快取記憶體,-用以從該指令;取 記憶體取得適當指令的指令取得單元;將該指 成= 終或中間格式的解碼邏輯,將中間指令轉換成可執;= 終格式的微作業邏輯;以及執行最終格式指令的執行單元 :自::範例的解碼邏輯’或來自其他範例的微作業邏 輯)。於此所使用的最終格式稱為微作業。
U 該處理H所執行的程式碼能被分成較小的組件 〜執订緒"。—執行緒為U的指令,其執行可完成一特 二務、:如’於視訊電話應用中,可呼叫該處理器執行 :’以处理視訊影像資料與聲頻資料。為各自處理此此 _貝料類型’而設計個別代碼序列的執行。因此 =貝=的指令。說明的另一方面,一執行緒為一自給自 =程式,通常與執行緒識別符號相結合, :境的執行期間,當執行另一執行緒的指令時,仍能= 原執行緒料構㈣。 仍此維持 於大部分的處理器中,處理器以連續方式處理此些執行 123173.doc 200825907
後執行新的二:公!的實行係先執行已解碼的微作業,而 業更適合計于妙解碼的指令。上述由於已解碼的微作 yV , ^ 丁 ^而新取得的指令可能最後被”停止,,作A 判斷的結果。然而,執行此些微作業之後,4 載入=啟動s亥指令取得,而引起若干等待解碼的指令再 會有:面::的延遲週期。因此,對執行緒指令的執行 b技藝中’建議使用多執行緒處理器。此類處理器 理或更多執行緒的執行間轉換。於其他多執行緒處 描述如何處理此歧執行…广處理益中,都沒有 盥另H 間。尤其,授Μ執行緒代竭 =執仃緒代碼相同的優先權。上述會對整體系統效率 放慢緊要代碼的執行。尤其 丁而掷置或 ϋ 緒,而為了第二執行緒,”第:作業疋用以第-執行 理沪入& ~ ^該弟一執行緒同時(或平行)處 々取件,但公認實行授予微作業執行比取得新指“ 的優先權’在多執行緒處理器中,將1 + " 響。-種可能存在的情況、二 ❸負面影 過度地拖延該第二執行緒指令二=是阻礙就是 上述可稱為指令端(Iside)饑餓。 ’ 、· 一執仃緒, 對於上面的觀點,必需偵測並 指令饑餓。 夕執仃緒處理器中的 【發明内容】 本發明係關於一種於多執杆 執仃緒處理器中指定執行緒優先 123173.doc 200825907 權的方法,其包括: 判斷在該多執行緒處理器中是否有複數 足該複數個條件’判斷至少兩執行緒的第一執行绪= 接近指令端饑餓的指示。 疋有 本發明亦關於一種多執行緒處理器,包括:第—
C Ο 執行緒狩列;輕合到該第一與第二執行緒仔列的控: 輯;該控制邏輯判斷在該處理器中是否有複數個條件以= 根據滿足該複數個條件,賴藉由該多執行序處理 第-㈣二執行緒的第—執行緒有接近指令 2發明亦關於-種平行處理至少第—與第二執行緒處理 :電腦糸:,其包括:一儲存第一與第二執行緒的記憶 體,一麵合到該記憶體以平行處理至少第一與第二執行绪 的處理器’並且包括第一與第二執行緒仵列,以儲存來自 第一與第二執行緒的指彳;耗合到該第一與第二執行緒仵 列的控制邏輯;該控制邏輯判斷是否在該處理器中的複數 :條件為真及根據滿足該複數個條件,判斷該第—執行緒 是否有接近指令端饑餓的指示。 本發明亦關於一種其上常駐有一指令集的儲存媒體,能 由-處理器執行該指令集,以平行處理至少第—與第二執 行緒的處理,並指定執行緒優先權,丨包括:判斷在該處 理器中是否有複數個條件;根據滿足該複數個條件,判斷 該第一執行緒是否有接近指令端饑餓的指示。 本發明亦關於—種在執行至少第-與第二執行緒指令的 123173.doc 200825907 處理Μ指定執行绪優先制方法,包括判斷 :得作二執行緒指令的處理,該第-執行绪的指令 绪卢〃"且擋,該第—與該第二執行緒係由-多執行 绪…執行;在該處理器中指定優先權給該第一執行 尽發明亦關於一 ^ 種夕執行緒處理器,包括:第一與第二 :仃緒佇列,·耦合該第一與第二執行緒佇列的控制邏輯; 二控制邏輯判斷是否由於該第二執行緒指令的處理,該第 一執行緒的指令取得作業將被阻擋。 【實施方式】 β乡考圖1 ’其顯不根據本發明實施例作業的電腦系統的 區塊圖。於此範例中’電腦系統1包括處理器U),储存執 打碼的記憶體5。於此範例中,記憶體5儲存數個執行緒的 代碼’例如執行緒〇(8)、執行緒1(9)等等的代碼。如此項 技藝中所熟悉的’兩執行緒的代褐可以是使用者應用的一 部分,而且用以作業系統。 參考圖2,其顯示根據本發明實施例作業的處理器系統 (例如,微處理器、數位信號處理器、或諸如此類)的區塊 圖。於此實施例中’該處理器為多執行緒處理器,理論上 處理器Η)被分成二或更多的邏輯處理器。於此所使用的名 詞”執行緒"可稱為指令碼序列。例如,在視訊電話應用 中’該處理H能被呼叫執行代碼1處理視訊影像資料及 聲頻資料。設計區隔代碼序列的執行,以各自處理此些資 料類型。因此’第-執行緒可包括處理視訊影像資料的指 123173.doc 200825907 令,而第二執行緒是處理聲頻資料的指令。於此範例中, 有一或更多的執行單元(例如包括執行單元41),每次可執 ‘ 或更多指令。然而’可以將處理器系統1G當作兩個邏 輯處理器,第-邏輯處理器執行來自第一執行緒的指令, 而第二邏輯處理器執行來自第二執行緒的指令。 於處理益系統10的實施例中,由取得單元u取得每一執 行緒的指令和/或資料位元組,並提供給仔列13,而且儲 存作為執行緒0仔列或執行緒1仵列的部分。熟知此項技藝 之人士應了解,處理器系統10所使用的仔列可用於儲存兩 個以上的執行緒。此兩執行緒的指令係提供給多工器 (MUX)15 ’而控制邏輯17係用於控制是否提供執行緒〇或 執行緒1的指令給解碼單元21。冑碼單元21可冑一指令轉 換成二或更多的微指令,並將該微指令提供給作列叫於 RISC(精簡指令集)處理器,該指令是已解碼的形式,而且 解碼單元21將它們轉換成可執行的形式)。狩列23的輸出 〇 係提供給MUX25,根據控制邏輯27的作業,提供執行緒 ^或執行緒1的指令給重新命名/配置單元31。依序由重新 命名/配置單元31提供指令給仔列33。Μυχ35根據排程控 制邏輯3 7的作業,在執行緒〇仔列與執行緒工^宁列間做選 擇,例如,根據執行單元41的有效資源,以選擇執行緒〇 與執行緒1的指令。_幻5的輸出係提供給—脫序的執行 單元41,於此實施例中,執行單元41執行該指令。接著將 。亥扣放置於仔列43。佇列43的輸出係提供給Μυχ45, MUX45根據控制邏輯47的作業,將執行緒〇與執行⑴的指 123173.doc 200825907 令傳送給退出單元51。 Ο Ο 於圖2中,支曾加分支預測電路,有助於處理器系統10的 效率。例如,分支預測電路可被加於取得單元u。如此項 技藝中所熟悉的,分支預測係根據執行代碼過去的歷史作 預測’例如’是否獲得分支指令(例如,BNE_分支如果不 2等)。一但已經預測到分支,接著將指令載入"管線"(該 單7G引入執行單元41),因此如果預測獲得該分支,該適 當的指令可立即用於該執行單元。如果該分支預测是不正 確1管線内的指令是不適當的,並且必須被清除,並將 適當的指令载入該管線。 於多執行緒處理器的範例中,能平行處理兩執行緒。於 此特定講解,本發明能夠擴大平行處理三或更多的執行 緒=此實施例中’名詞"平行,,包㈣時和/或連續處理/ 亍才"於此所使用的執行緒優先權,係當兩執行緒兩 同時使用相同的資源時,用於判斷那一執行緒可先使用址 旱貧源。由儲存於處理器10的一或更多的 行 緒優先權(例如圖1的儲存叫例如,^祕ior= =e:dlPri°rity能指示兩執行緒(執行緒0與執行緒”那— 較高的優先權。於範例中,如果兩信號皆關閉,則 兩執仃绪巾沒有-個具有較高的優先權。 取所產生的情況為第一執行緒對共享資源的存 行緒多。例如,當第二執行緒等待第-執行緒 的、執仃結果時’該處理器正在執行第—執 的一些已解碼的微作業。當等待該結果時,如果該第= 123173.doc -11- 200825907 行緒已取得一此it哀次 B丨人 的處理,…徹ill礙: 由第二執行緒支配::=:Γ绪的處理。例如, 令的取得會受阻。因此*'實際上該第-執行緒指 二丁緒的處理,而導致該處理器有不好的執行效率。= Γ Ο =一實例’第-執行緒對第二執行緒試圖操取指:的較 心快取纪憶體或主記憶體執行儲存作業。對同一記情體 而言,資料作業通常獲得比取得指令作業高的優先權二、因 此,如果第一執行绪執行大量的赌存作業,實際上是會妨 礙第-執行緒取得指令’而在執行上造成過早的進行。 根據本發明的實施例,對各種執行緒偵測指令端譏餓。 參考圖3 ’顯示用於横測解決工灿饑餓的狀態圖。於實施 例中,接近Iside饑餓的指示係根據一些符合的條 關於hide饑餓的"憂慮”)。通常,Iside饑餓是因其他的執 行緒有效地妨礙一執行緒取得指令,於此所使用的接近 Uide饑餓的指示,係指示一執行緒接近指令端饑餓的狀 態。接近Iside饑餓的第一條件是該處理器與單一執行緒處 理模式相比較是多執行緒的處理模式,而且一個以上的執 行緒有效。於圖3中,區塊1〇1指示該處理器處於單執行緒 模式(ST)。上述意謂一控制信號指示已被設定為如此,或 者為一處理器每次僅管理兩執行緒的案例,於執行期間, 停止此些執行緒之一。於此案例中,控制啟動於區塊 103(ST模式)。如果此兩執行緒是有效的(區塊1〇5),該處 理器至少試圖從至少第一和第二執行緒取得和/或執行指 123173.doc 12· 200825907 令’接著控制轉移到區塊1()7(正f Μτ(多執行绪)模 如上面所描述,係根據數個條件的符合來指示-執行緒可 =指令端饑餓。當符合所有的條件(區塊109),控制移到 =111 °上述的第—條件為該處理器處於多執行緒模 工。而其餘的條件包括下列: Ο
考慮中的執行緒(例如,執行緒0或執行緒1)沒有任何# 二執灯於官線中(例如,在MUX35沒有讓控制排程邏輯37 2;)該執行緒的微作業傳遞到執行單元41的等待指令(圖 由於考慮中的執行緒已獲得所需要的資料,因此發 '令到執行管線不會受阻。於此實施例中,該執行管線勺 = MUX35到執行單元41的指令處理。例如,執行單元η 了包括考慮中執行緒的儲存緩衝器,其裝滿儲存指令。於 ’不—定會因欠缺指令取得,而造成該執行緒處 、面影響,但會延遲儲存指令的執行。然而 > 動增加指令的取得並不會改“行緒㈣率 ^ 的資源對此些指令的執行會有負面的影響。、乏了用 1何其他執行緒比考慮中的執行緒更無法 :存取該處理器組件。於此狀態中,可預c 執仃緒會有指令饑餓。 刀 夕^慮中的執行緒處於嘗試取得指令的狀態。例如,在許 =^ # 由 Intel 公司(Santa clara,CalifWmia)包 / 插腳所製造的處理器中,此插腳信號 : 该處理器清除自己的資源。於此㈣中,對考料的 123173.doc -13- 200825907 緒,清除可執行指令的所有資源。因此 考慮因缺乏指令取得而引起的饑餓。當指令二餓考: :問題,從多執行緒模式轉換成單執行绪模式為另: 。例如,如果另一 到另一執行緒,接 ’對處理器的效率 以較優秀的性能來挽救協定是無效的 協定能有效地將優先權從一執行緒轉移 著執行具有本發明指令饑餓處理的協定 可能會有負面的影響。 由控制邏輯關閉Iside饑 設定指令饑餓的賦能位元(即 餓偵測/解決來設定位元)。 即離開晶片(即,離 考慮中的執行緒不等候取得指令, 開例如該處理器的主記憶體)。 於此實施例中,如果所有監控的條件皆符合,則指示一 執行緒接近Iside饑餓。雖然 、上面捂述了八種條件,本發明 可延伸出更多的條件,或較少的條件。例如,可完全僅根 據上面條件卜2與5為真,指示接近咖鐵餓。再者,能 夠藉由正確配置控制邏輯,來執行圖3流程圖的實行(例 如’圖2所包括的控制邏輯37)。另外,控制邏輯可以是處 理器10的次模組,執行指令以實行圖3的流程圖。 再參考圖3,於此實施例中,如果七個條件完全符合, 則控制傳遞給區塊⑴,即對-執行緒產生接inside饑餓 的#曰示目itb lslde饑餓臨界值計數器開始執行計數作 業。於此實施例中,臨界值計數器53(圖可以是遞減計數 器,計數係根據系統時鐘將—載入值減至〇 ^可設定經由 123173.doc •14- 200825907 處理器中的控制邏輯或微碼作業載入該計數器的值,例如 (或任何其他硬體或韌體)。如果上面監控的所有條件不再 是正確的(區塊112),則將控制傳給區塊113,指示不再考 量Iside饑餓的問題。如果臨界值計數器53到達預定值(例 如,暫停或計數減至〇)(區塊114),控制傳給區塊115,指 示指令端饑餓。於此實施例中,臨界值計數器53給考虞中 的執行緒一個機會載入指令,因而使上述條件之一或更多 無效。 根據本發明的實施例,能夠解決執行緒的Iside饑餓,以 便對該饑餓的執行緒重新儲存指令取得作業。再參考圖 3,控制仍然在區塊115,而該指令饑餓的執行緒未取得優 先權(例如,由丁以⑶肋〜一出乂與ThreadlPri〇也丫信號指 示)而且所有鎖定的指令都是有效的(區塊丨丨6)。於此實 施例中,鎖定的指令是需要獨佔存取記憶體位置的指令。 例如,基7L ”作業係從一記憶體位置擷取一資料值,並修 改,接著再儲存到相同的記憶體位置。於此基元作業中, 特定記憶體位置必須被鎖定,因此於作業完成前,無法中 r子取“己丨思體位置。當優先權指定給指令饑餓的執行 緒,,並且未有效地鎖定機械裝置(區塊117),控制傳給區塊 乂便有效地解決該Iside饑餓。於本發明的此實施例 /中’ mslde饑餓包括執行一或更多的作業,對鐵餓的執 ^7執行。上述能夠通過執行下列一或更多的作 業而完成。 為了稍後執行’將指令從執行管線的非饑餓執行緒移到 123173.doc 200825907 暫時储存區(例如,重新進行仵列33a)。此外,有效的指令 會被”停止”,而且稍後再次發出; 防止鎖定非饑餓執行緒正開始的指令。 回收所有寫回快取記憶體的緩衝器,而釋放該指令鐵餓 執行緒的資源; 重新設定快取記憶體保留的暫存器(例如,移除為了非 饑餓執行緒而設定的獨佔存取資源),·以及
使控制邏輯37不選擇非饑餓執行緒的指令。 -旦條件之—作為指示不再接仙心饑餓,則控制移回 :塊⑴,重設該處理器的狀態’以指示對任何執行緒的 1曰々^饑餓不再有任何立即的憂慮。 匕本^明使用的方法與裝置,能以有效的方錢理執行緒 指令端饑餓的_與解決。引人注目的是,本發明的實施 例犯夠減少花在確認執行緒是否正缺乏存取該處理器資源 的時間,而獲得存取。 雖然於此特別說明並描述料實施例,但應瞭解上面的 描述與附加的中請專利範例,能夠涵蓋本發明的改變與變 化而不需違背本發明的精神與預期的範圍。 【圖式簡單說明】 圖1係根據本發明實施例作業的電腦系統的區塊圖; 圖2係根據本發明實施例所建構的部分處理器系統的區 圖3係用以根據本發明實施例來判斷與解決指令鐵俄的 123173.d〇( •16- 200825907 η 【主要元件符號說明】 1 電腦糸統 10 處理器 5 記憶體 4 儲存區 8 執行緒〇 9 執行緒1 53 臨界值計數器 11 取得單元 13 符列 17 控制邏輯 15 多工器 21 解碼單元 23 仵列 27 控制邏輯 25 多工器 31 重新命名/配置單元 33 作列 33a 重新進行佇列 37 控制邏輯 35 多工器 41 執行單元 43 佇列 45 多工器 123173.doc -17· 200825907 47 控制邏輯 51 退出單元 101 僅ST模式或至少一執行緒暫停 103 ST模式 105 兩執行緒皆有效 107 正常模式 109 滿足所有的條件 111 指示接近ISIDE饑餓 113 不再ISIDE饑餓 112 所有條件不再為真 118 有效地解決該Iside饑餓 114 臨界值計數器暫停 115 Iside 饑餓 116 等待執行緒優先權並鎖定指令直到結束 117 取得執行緒優先權,並未有效地鎖定指令 123173.doc • 18 -

Claims (1)

  1. 200825907 十、申請專利範圍: !.-種於多執行緒處理器中指定執行緒優先權的方法,其 包括* 判斷在該多執行緒處理器中是否有複數個條件. ^滿足該複數個條件,判斷至少兩執 : 打緒是否有接近指令端饑餓的指示。 、 2.如申請專利||圍第旧之方法#⑼: 設置-臨界值計數器,以執行回應該第 指令端饑餓指示的計數作業。 執仃緒接近 3·如申請專利範圍第2項之方法,進一步包括·· 該臨界值計數器完成該計 餓。 T歎作業之後,解決指令饑 4·如申請專利範圍第3項之方法 括: 、甲亥解决私令饑餓包 將该處理器之執行管線中的指令,從該第〜 移到一暫時儲存區。 仃緒轉 5. 一種多執行緒處理器,包括: 第一與第二執行緒佇列; & I /第與第二執行緒佇列的控制邏輯· :輯:斷在該處理器中是否有複數個條件以及根 二一個條件,判斷藉由該處理器執行之至少第—與第 :行绪的第—執行緒有接近指令端饑餓的指示 :請專利範圍第5項之處理器,進一步包 计數器,錢行計數作業,其巾該_邏輯設置臨2 123173.doc 200825907 計數器指*㈣—執行緒是否接近指令端饑餓。 7·=申二專利範圍第6項之處理器,其中該臨界值計數器 兀成數作業之後,該控韻輯解決指令饑餓。 8·如申請專利範圍第7項之處理器,進一步包括一執行管 ㈣-暫時儲存區,其中該控制邏輯將該處理器之執行 、、、中的才曰γ從該第二執行緒轉移到該暫時儲存區。 9·種平仃處理至少第一與第二執行緒處理的電腦系统, 其包括:
    U 儲子第與弟二執行緒的記憶體; 一耦合到該記憶體以平行處理至少第—與第二執行緒 之處理的處理器,並且包括 第-與第二執行緒仵列,以儲存來自第一與第二執行 緒的指令; 耦口到β亥第-與第二執行緒仔列的控制邏輯;該控制 邏輯判斷是否在該處理器中的複數個條件為真及根據滿 足該複數個條件,判斷㈣—執行緒是否有接近指令端 饑餓的指示。 10. 如申請專利範圍第9項之電H統,其中該處理器進一 步包括—臨界值計㈣,㈣㈣數作業,其中該控制 邏輯設置該臨界值計數器’以指示該第_執行緒是否接 近指令端饑餓。 11. 如:請專利範圍第1〇項之電腦系統,其中該臨界值計數 器完成該計數作業之後,該控制邏輯解決指令譏餓。 12. 如申請專利範圍第u項之電腦系統,其中該處理器進一 123173.doc 200825907 區’其中該控制邏輯將 從該第二執行緒轉移到 步包括一執行管線與一暫時儲存 該處理器之執行管線中的指令, 該暫時儲存區。 13. —種其上常駐有一指令集的俨 廿姝體,旎由一處理器執 仃該指令集,以平行處理至少 理,並指定執行緒優先權,其包括: 田夕弟一與第二執行緒的處 判斷在該處理器中是否有複數個條件; 根據滿足該複數個條件,判斷
    J ^弟一執行緒是否有接 近指令端饑餓的指示。 其中該方法進一步 業,以指示該第一 其中該方法進一步 業之後,解決指令 14.如申請專利範圍第13項之儲存媒體, 包括设置一臨界值計數器執行計數作 執行緒是否接近指令端饑餓。 15.如申請專利範圍第14項之儲存媒體, 包括在該臨界值計數器完成該計數作 饑餓。 16. 如申請專利範圍第15項之儲存媒體,其中該解決指令饑 餓包括將該處理器之執行管線中的指令,從該第二執行 緒轉移到一暫時儲存區。 17. 如申請專利範圍第13項之儲存媒體,其中判斷該第—執 行緒是否有接近指令端饑餓的指示,包括判斷複數個條 件是否為真,該條件包括: 該處理器是否以一種多執行緒的處理模式作業; 該第一執行緒是否沒有指令在該處理器的執行管線 中;以及 ' 123173.doc 200825907 该第-執行緒是否正致力於從—記憶體取 以·如申請專利範圍第17項之儲存媒 、:々。 :括藉由將該處理器之執行管線中的指令:=進:步 订緒轉移到一暫時儲存區, —執 饑餓。 解决該弟一執行緒的指令 19. -種在執行至少第—與第二執行緒指令的 器中指定執行緒優先權的方法,包括: 處理 判斷疋否由於該第二執行緒指令的處理, — 緒的指令取得作鞏將祜阳户 A 執行 于邗蒹將被阻擋,§亥帛一與該第 由一多執行緒處理器執行; 仃、、者係 在該處理器中指定優先權給該第一執行緒。 2〇.如申請專利範圍第19項之方法,進一步包括: 作臨界值計數器,以執行回應該判斷作業的計數 21.如申請專利範圍第2〇項之方法,進一步包括: —在該臨界值計數器完成計數作業之後,執行該第一執 行緒的指令取得作業。 22·如申請專利範圍第21項之方法,進一步包括: 將5亥處理器之執行管線中的指令,從該第二執行緒轉 移到一暫時儲存區。 23_ —種多執行緒處理器,包括: 第一與第二執行緒彳宁列; 。耦合該第一與第二執行緒佇列的控制邏輯;該控制邏 輯判斷是否由於該第二執行緒指令的處理,該第一執行 123173.doc -4- 200825907 緒的指令取得作業將被阻擋。 24.如申請專利範圍第幻項之 _ 处里益,其中如果由於該第二 執行緒指令的處理,兮筮_ / 以第—執行绪的指令取得作業將被 阻播 W亥控制邏輯在該虛if哭士 # > ^邊慝理益中將指定優先權給該第一 執行緒。 25. 如申凊專利範圍第24項之處理器,進一步包括一臨界值 ㈣@ ’以執㈣數作業’其中該控制邏輯如果已 Γ該第二執行緒指令的處理,該第—執行緒的指令取 付作業將被阻擋,設置該臨界值計數器。 26. :申請專利範圍第乃項之處理器,其中該控制邏輯在該
    臨界值計數器完成計數作業之後,指 ^ 執行緒。 27·如申凊專利範圍第%項之處理器,進一步包括一執行管 線與一暫時儲存區,其中該控制邏輯將該處理器之執行 〃、良中的^曰々,從该第一執行緒轉移到一暫時儲存區。 123173.doc
TW96127825A 2001-06-19 2002-06-18 Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium TW200825907A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88541601A 2001-06-19 2001-06-19
US09/888,274 US6651158B2 (en) 2001-06-22 2001-06-22 Determination of approaching instruction starvation of threads based on a plurality of conditions

Publications (1)

Publication Number Publication Date
TW200825907A true TW200825907A (en) 2008-06-16

Family

ID=44772200

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96127825A TW200825907A (en) 2001-06-19 2002-06-18 Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium

Country Status (1)

Country Link
TW (1) TW200825907A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390039B2 (en) 2010-09-08 2016-07-12 Intel Corporation Providing a fine-grained arbitration system
TWI614681B (zh) * 2014-03-27 2018-02-11 萬國商業機器公司 用於執行緒上下文恢復之電腦系統、方法及程式產品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390039B2 (en) 2010-09-08 2016-07-12 Intel Corporation Providing a fine-grained arbitration system
TWI614681B (zh) * 2014-03-27 2018-02-11 萬國商業機器公司 用於執行緒上下文恢復之電腦系統、方法及程式產品

Similar Documents

Publication Publication Date Title
EP2423808B1 (en) Arithmetic device
EP1522917B1 (en) Method and apparatus for pausing execution in a processor
TW538378B (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US9558000B2 (en) Multithreading using an ordered list of hardware contexts
TW554287B (en) Method and apparatus for managing resources in a multithreaded processor
TWI390445B (zh) 用於在一多重執行緒處理器中之一管線的一分配點而封鎖一執行緒之方法、電腦程式產品及設備
TWI525535B (zh) 具有可程式設計之例外狀況處理延時之數位處理器以及處理處理器中之例外狀況之方法
CN100538640C (zh) 动态配置虚拟处理器资源的装置
US8516024B2 (en) Establishing thread priority in a processor or the like
TWI304181B (en) Method and apparatus for assigning thread priority in a processor or the like
TW201030671A (en) Graphics processing units, metacommand processing systems and metacommand executing methods
TW201203111A (en) Hardware assist thread for increasing code parallelism
CN109101276B (zh) 在cpu中执行指令的方法
US20150074353A1 (en) System and Method for an Asynchronous Processor with Multiple Threading
US11366669B2 (en) Apparatus for preventing rescheduling of a paused thread based on instruction classification
WO2013100998A1 (en) Processor with second jump execution unit for branch misprediction
TW200428289A (en) Method and system for terminating unnecessary processing of a conditional instruction in a processor
US20100306504A1 (en) Controlling issue and execution of instructions having multiple outcomes
TW200825907A (en) Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium
US20080263552A1 (en) Multithread processor and method of synchronization operations among threads to be used in same
US20070162723A1 (en) Technique for reducing traffic in an instruction fetch unit of a chip multiprocessor
CN108255587B (zh) 一种同步多线程处理器
TW200426677A (en) Method and system for predicting the execution of conditional instructions in a processor
US6697933B1 (en) Method and apparatus for fast, speculative floating point register renaming
JP2006195705A (ja) プロセッサ