TWI304181B - Method and apparatus for assigning thread priority in a processor or the like - Google Patents

Method and apparatus for assigning thread priority in a processor or the like Download PDF

Info

Publication number
TWI304181B
TWI304181B TW091111862A TW91111862A TWI304181B TW I304181 B TWI304181 B TW I304181B TW 091111862 A TW091111862 A TW 091111862A TW 91111862 A TW91111862 A TW 91111862A TW I304181 B TWI304181 B TW I304181B
Authority
TW
Taiwan
Prior art keywords
thread
processor
value
priority
instruction
Prior art date
Application number
TW091111862A
Other languages
English (en)
Inventor
W Burns David
D Allen James
D Upton Michael
D Boggs Darrell
J Sager David
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
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TWI304181B publication Critical patent/TWI304181B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Description

1304181
換頁(9;ί8案月 Ι3〇41|191111862號專利申 五、發明説明( 慢時尤其如此。 檢視以上所述,必需指、派二或更多、線程間的優先次序。 圖1係根據本發明一具體實施例而作業的一電腦系統 塊圖。 乃 圖2係根據本發明一具體實施例而建構的一處理器系 一部分之方塊圖。 " ^係根據本發明_具體實施例之線程優先次序指派的— 狀悲圖。 圖4係根據本發明_具體實施例設定線程q與線程夏之—里 開始計數器的一狀態圖。 /、 詳細說明 1 參照圖1,其中顯示根據本發明一具體實施例而作業的一 電腦系統之方塊圖。於此例子中,電腦系統!包括一處理器 10 ’可執行記憶體5中儲存的碼。於此例子中,記憶體5儲 存像是線程0(8),線程1(9)的碼等一些線程的碼。如此項 技藝中已知,兩線程的碼可為使用者應用程式和作業系 的一部分。 ”’、、’、 參照圖2,其中顯示根據本發明—具體實施例而作業的一 處理器系統(例如:一微處理器,—數位信號處理器,或類 似者)之方塊圖。於此具體實施例中,該處理器係一 程處理器,其中處理器10理論上分割成二或更多邏輯處理 器、。此處使用的"線程"一詞指一指令碼順序。例如,於一 視訊電話應用中,可啤叫處理热 态執仃该碼,以處置視訊影 78665-970806.doc 本紙張尺;Ϊ適用中國國家標準(CNS) A4規格(210X297公釐厂 1304181 A7 B7 五、發明説明(3 ) 像資料及聲頻資料。其中有分離的碼順序,其執行設計為 處置其每一資料類型。因此,一第一線程可包括視訊影像 資料處理的指令,而且一第二線程可為聲頻資料處理的指 令。此例子中有一或更多執行單元(例如,包括執行單元 4 1)’可一次執行一或更多指令。然而,處理器系統丨〇可視 為兩邏輯處理器:用以執行來自第一線程之指令的一第一邏 輯處理器,以及用以執行來自第二線程之指令的一第二邏 輯處理器。 於處理器系統10之具體實施例中,資料的指令以及/或者 位元組係由提取單元η提取,並且供應給一佇列13·,而儲 存為線程0彳宁列或線程1仔列的一部分。熟習此項技藝者將 明白··處理系統10中使用的佇列可儲存兩個以上線程。來自 該二線程的指令供應給一多工器(MUX)15,而且控制邏輯 17控制是否將來自線程〇或線程1的指令供應給一解碼單元 2 1。解碼單元2 1可將一指令轉換成二或更多微指令,並將 才曰令供應給件列2 3 (於一 RIS E (精簡指令集碼)處理器中,指 7可月b已經為一解碼格式)。>[宁列23的輸出供應給一 MUX25,其中MUX25根據控制邏輯27的運算將來自線程〇 或線程1的指令供應給一更名/配置單元31。接著,更名/配 置單元3 1將指令供應給佇列33。Μυχ3 5根據排程控制邏輯 3 7的運算於線程〇佇列與線程}佇列之間選擇,其中例如可 根據執行單元41中的可用資源從線程〇和線程i選擇指令。 於此具體實施例中,將MUX35的輸出供應給執行該指令的 一故障執行單元41。然後將該指令放置於佇列43中。佇列
裝 訂
1304181
Α7 Β7 13 041ΪΡ1111862號專利申請案 >文說明書替換頁(95年6月) 五、發明説明( 器1 〇:將優先次序從具有優先次序的線程平移至不具有優先 次序的線程。同時提供一線程〇開始計數器5 3和一線程1開 始計數器55,其中儲存用以設定在先計數器其初始值的一 值(以下將說明)。 當線程在先計數器設定後(例如,倒數至零後),則以等 於來自一開始計數器之值十六倍的一值(最大為一預定最大 值)重新載入,其中該開始計數器與即將具有優先次序的線 程相關。因此,開始計數器的最小值應為1 ^因此,當一微 運算由退除單元5 1使其退除時,則將該線程的開始計數器 没定為1 ,當重新取得線程優先次序時,則將該線程在先計 數器設定為一相對較低的數字。雖然一線程具有優先次 序,但如果線程在先計數器數至〇,而且當時該線程無法使 一 Μ運异退除,則將開始計數器以一值(例如:丨)增量,當 下次該線程再具有優先次序時,將有更多時間使至少一微 運算退除。 •使用此方法指派在先值有至少兩缺點。第一,一線程有 可能已經為退除微運算,但仍繼續具有線程優先次序,而 另一線程於其線程優先次序時間窗期間卻無法退除微線 程。例如,如果線程0包括一仟個連續除法運算以及一大的 =程優先次序窗,而線幻包括—除法指令。線程i將被阻 隔’直到線程G的執行完成-仟個除法運算,或者直到線程優 先次序時間窗結束(亦即’當線程在先計數器到達〇)為止。第 ,,如果-線程為指令提取"城"(亦即,資源可供微運算執 灯用,但指令提取減少),則當線程取得優先次序 _ 訂
1304181 A7 B7 五、發明説明(6 時’線程在先計數器所提供的時間可能不足以允許其提取 一指令(例如,使用一頁誤處置器(PMH)處置資料翻譯後備 緩衝器和指令翻譯後備缓衝器以及頁和快取線邊界議題)。 因此’於線程在先計數器所提供的最後時間足以允許提取 指令(最後可導引至該線程之微運算的執行及退除)前,將該 線程的開始計數器增量可能必需進行許多次。因此,每次 線程1之執行嘗試而無法載入指令時,將損失線程〇的處理 時間’同時損失指令載入失效的處理時間。 根據本發明一具體實施例,呈現一種透過線程優先次序 指派而改良一多重線程處理器效能的系統及方法。參照圖 3,其中顯示根據本發明一具體實施例之線程優先次序指派 的一狀態圖。於狀態61中,線程優先次序指向一第一線程 線程0。於此具體實施例中,根據處理器的一系統時脈將線 程在先計數器減量63。如方塊65所指示,當滿足以下條件 之一時,狀態從狀態6 1改變成狀態67: 1 ·線程在先計數器到達0 ; 2·線程0使一微運算退除; 3 .不再有逼近線程0之I側(指令側)叙餓的一指示。 才曰7側(I側)叙餓為· 一線程因為另一線程有效率地編境加 以防止以致無法提取指令的時候。逼近][側飢餓的一指示可 為包括一或更多下列各項的一組條件: 1 ·相較於一單一線程處理模式,該處理係以一多重線程處 理模式,而且兩線程均為現用。 2 ·於執行管線中沒有任何所考慮之線程的指令(例如,於
•10-
Γ3〇41|19ιιιΐ862號專利申請宰 B7 中文說明書替換頁(95年6、月) 五、發明説明( 二X3;沒有指令等待排程控制邏輯37將該線程的微運算 傳至執行單元41(圖2)。 =新}日令至執行管線將不被阻隔,因為所考慮的線程 真入-需要的資源。於此具體實施例中,執行管線包括 透過執行單元41處理來自Μυχ35的指令。例如,執行單 疋41可包括供所考慮之線程用的一儲存緩衝器,其中裝 ^儲存的指令。此_情況τ,線程之處料必受缺乏指令 提取而是受延遲執行所儲存指令的負面衝擊。 4·,考慮之線程以外的任何線程尚未給定對處理器組件的 完全或互斥存取。此-情形下,希望發生所考慮之線程 其一部分的任何指令叙餓。 5·所考慮的線程於試圖提取指令的狀態令。例如,包含英 特爾(Intel)公司(Santa Clara,Calif〇rnia)所製造的許多處理 器包括一”停止時脈"接腳。此接腳上一信號的一判定導 致該處理器離開其資源。此情況下’所有資源將離開所 考慮之線程的可執行指令。因此,此—情況下,缺乏指 令提取將不視為飢餓。從一多重線程模式切換至一單— 線程模式為指令飢餓不應視為一問題的另一例子。 6·—較高階效能節省協定為啡現用。例如,如果實施另一 協定將優先次序從一線程切換至另一線程,則以本發明的 指令飢餓處置運轉此協定將對處理器效能有一負面衝擊。 7·設定一指令飢餓致能位元(亦即,可由控制邏輯加以設 定,以關閉I側飢餓偵測/解析的位元)。 於本發明的此具體實施例中,如果未符合一或更多此等 -11- 本紙張尺度適用中國國家標準(CNS) A4規格(210父297公釐)" 13041瀠f91111862號專利申請案 >文說明書替換百(95生6 五 .說明書替換頁(95年6月)發明説明( A7 B7 條件’則沒有逼近線程0之I側飢餓的指示。雖然以上呈現 七條件’但本發明可擴充至更多條件或者更少條件數目。 例如’逼近I侧仇餓的指示可單獨根據上述條件第1,2及5 項均為真。 於方塊6 7中,線程優先次序將從線程〇改變至線程1 ^線 程在先計數器以等於16乘一第二線程(線程1}開始計數器中 之值的一值載入。此時,線程優先次序信號將切換,以指 示線程1的優先次序優於線程〇。然後控制傳至方塊6 9,其 中線程1具有優先次序,而且根據一系統時脈,線程在先計 數器將減篁(方塊7 0 )。如方塊7 1之條件所指示,當符合以 下三條件中任一條件時,狀態從方塊69改變至方塊7 3: 一 1 ·線程在先計數器到達〇 ; 2 ·線程1使一微運算退除·, 3·不再有逼近線程丨之丨側(指令側)飢餓的一指示。 於一狀態73中,線程在先計數器以十六乘線程1其開始計 數器中之值載入,而且切換適當的線程優先次序信號,以 指示線程0具有優先次序。然後控制傳回方塊6 1。於此具體 實施例中,當處理器重置時(方塊75),採取狀態73的動 作,而且給定線程〇優先次序。 參照圖4,其中顯示根據本發明一具體實施例設定線程〇 與線程1其一之開始計數器的一狀態圖。於重置時(方塊 8〇),控制傳至方塊81,其中將開始計數器之值設定為1。 欲從方塊81至方塊82,須符合兩條件之一(方塊8 5): 1 ·於目前線程可使一微運算退除前,線程優先次序已經切 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 1304181 A7 B7 五、發明説明(9 ) 換至另一線程; 2·存在逼近目前線程之指令側凱餓的一指示。 於方塊82中,幾何修正開始計數器中之值(例如,藉由將 其平移一二進制1位元,並將所有位元向左平移)。例如, 數值1將為數值3,數值3將為數值7,而且數值2n-1將為數 值2n+1-l(其中n>0)。控制仍然於狀態82,然而存在逼近工 侧叙餓的一指示(方塊86)。於此具體實施例中,如以上所 討論,對於每一系統時脈,將開始計數器中之值增量,直 到到達一最大值為止。如果發生以下條件之一(方塊84), 則控制移回方塊8 1 : 1·使該線程的一微運算退除; 2 ·沒有逼近線程之指令侧叙餓的指示。 如果’’其他條件”未滿足,則控制從方塊8 2傳至方塊8 3。 於此具體只施例中’雖然可能不再有逼近I側凱餓的一指 示,但以下條件之一或兩者仍未滿足: 1 ·所考慮的線程已使一微運算退除;以及 2 ·線程優先次序信號尚未切換至所考慮的線程(方塊8 7 )。 換言之,如果線程尚未使一微運算退除,而且此線程具 有線程優先次序,則計數器中之值維持於相同值。只要其 他條件未滿足(方塊8 8 )’則控制仍然於方塊8 3,其中開始 計數中之目前值保持於相同值。如果符合以下條件之一 (方塊89),則控制轉回方塊82: 1·於使一微運异退除前,線程優先次序從目前線程切換至 另一線程;
裝 訂
k
-13- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1304181 A7 B7 五、發明説明(1〇 ) 2·存在逼近線程之指令侧飢餓的一指示。 如果線程使一微運算退除(方塊90),則控制從方塊83傳 至方塊8 1。最終,當其他條件未滿足時(方塊9丨),控制從 方塊81傳至方塊83。使用本發明之方法及系統,可避免以 上所述問題。圖3和4之流程圖的實行可藉由適當配置控制 邏輯(例如,包括圖2中的控制邏輯3 7)而執行。替代上,控 制邏輯可為處理器10的一子模組,執行用以實行圖3和4之 流程圖的指令。 雖然此處特別舉例及說明一些具體實施例,但將可明白: 以上主旨函蓋本發明的修正和變化,而且於沒有脫離本發 明之精神及所希望的範圍下,該等修正和變化包含於附二 之申請專利範圍的本文内。

Claims (1)

  1. 日修工/ 13041备1〇91 in862號專利申請案 As 中文申請專利範圍替換本(97年8月)漂 -— . ___ D8 穴、申清專利祀圍 1.種指派線程優先次序之方法,用於平行處置至少第一 和第二線程之處理的一處理器中,該方法包含: 將優先次序指派予該第一線程; 將一初步值載入一線程在先計數器; 於該線程在先計數器過期後,將優先次序指派予該第 二線程;以及 若指派優先順序給該第一線程,則為該線程在先計數 器修改該值。 2·如中凊專利冑圍第i項之方法中該初步值係根據與該 第一線程相關的一第一開始計數器中所儲存的一值。 3.如申請專利範圍第2項之方法,進一步包含: 決定是否有逼近該第一線程之指令側飢餓的一指示; 以及 、將該第-開始計數器中所儲存的—值增量係於存在逼 近該第線程之指令側饥餓的一指.示時增量。 ❿申請專利範圍第3項之方法,其中決定是否有逼近該第 -線程之指令侧錢的—指示包括決定複數個條件是否 為真,該等條件包括 忒處理器是否以一多重線程處理模式作業; 該處理器的-執行管線中是否沒有第一線 以及 第一線程是否嘗試從一記憶體提取指令。 5.如申請專利範圍第4項之方法,苴 ^ _ 只心万凌具中將第一開始計數器中 所儲存之值增量時,該值為幾何增量。 78665-970806.doc 1304181 ”年月/日修正/要愈
    #、申請專利範圍 6·如申請專利範圍第 ,τ 員之方法,其中藉由將一二進制1位 几平移至該值左邊, 違而將該值幾何增量。 7· —種指派線程優务 μ 入1炎先久序之方法,用於平行處置至少第一 和第二線程之處理的—處理器中,該方法包含: 將優先次序指派予隸;以及 田複數個條件之_為真時,將優先次序指一 線程,該等條件包括: 丁 /弟一 以^第—線程的處理是否使—指令從該第—線程退除; 裝 疋否/又有逼近該第一線程之指令側飢餓的一指示。 如申明專利|巳圍第7項之方法,其中逼近該第一線程之# 令側叙餓的指示包括複數個條件,均為真,該等條件^ 括 該處理器是否以一多重線程處理模式作業· 八於:處理器的一執行管線中是否沒有第’―線程的指 々,从及 第一線程是否嘗試從一記憶體提取指令。 9:種平行處置至少第一和第二線程之處理的處理器,包 於該第一與第二線程間指派優先次序的控制邏輯· 耦合至該控制邏輯的一線程在先計數器,其中於該線 程在先計數器過期後,將優先次序指派予該笛^ — Λ昂~•線程’ /、中載入該線程在先計數器之一值可根據哪一 派優先次序而修改。 、、私被才曰 78665-970806.doc 1304181 日修正/要 六、申請專利範圍 10·如申請專利範圍第9項之虛 甘士 —_、 μ $貝之處理盗,其中該初步值係根據與 β亥第-線転相關的一第一開始計數器中所儲存的一值。 η·如申請專利範圍第10項之處理器,其中該控制邏輯決定 =有=第'線程之指令側叙餓的-指示,而且將 第二線;之°:,中所儲存的一值增量係於存在逼近該 第線私之私令側飢餓的一指示時增量。 12.如申請專利範圍第J j頂 # σ 玫 其中該控制邏輯藉由 決二數個條件是否為真而決定是否有逼近該第一線程 之和7側飢餓的一指示,該等條件包括 該處理器是否以一多重線程處理模式作業; 於該處理器的-執行管線中是否沒有第線程的指 令;以及 第一線程是否嘗試從一記憶體提取指令。 如申請專利範圍第12項之處理器,其中該控制邏輯將第 一開始計數器中所儲存之值幾何增量。 14.如申請專利範圍第13項之處理器,其中藉由將_二進制^ 位兀平移至該值左邊,而將該值幾何增量。 15:種平行處置至少第一和第二線程之處理的處理器,包 控制邏輯,其將優先次序指派予該第一線程,而且當 複數個條件之-為真時,將優先次序指派予該第 程,該等條件包括: 、該第一線程的處理是否使—指令從該第-線程退除; 以及 78665-970806.doc 本紙張尺度制t ® S^_CNS) A4祕(210X297公釐) 裝 訂 六、申請專利範園 否/又有迫近.亥第一線程之指令側飢餓的一指示。 專利錢第15項之處判,其中逼近該第—㈣ 件包^側叙餓的指令包括複數個條件,均為真,該等轉 。亥處理器疋否以一多重線程處理模式作業· 令=理器的一執行管線中是否沒有第:線程的指 第一線程是否嘗試從一記憶體提取指令。 17·2平行處置至少第-和第二線程之處理的電腦系統, 用以儲存第-和第二線程之指令的-記憶體; 一處理裔,包括 耦合至該記憶體的控制邏輯,於該第一 1 指派優先次序; /、 一線私間 麵合至該控制邏輯的一線程在先計數器, 卞 程在先計數器過期後,將優先次序指派予該第二線=線 =載入該線程在先計數器之—初步值可根據哪—二 被扣派優先次序而修改。 、’'矛 7請專利範圍第17項之電腦系統,其中該初步值俾 :與該第-線程相關的一第—開始計數器中所儲存二 刚請專利範圍第18項之電腦系統,其中該控制邏 疋疋否有逼近該第一線程之指令側飢餓的―扑_ “ 將該第-開始計數器中所儲存的—值增量係::在= 78665-970806.doc 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐·) 1304181 六、申請專利範圍 °亥第線私之指令側飢餓的-指示時增量。 20.如申請專利範圍第19項之電由決定複數個條件县不或古& 控制邏輯藉 程之指令侧叙餓^於定是否有逼近該第―線 L餓的一指示,該等條件包括 該處理器是否以-多重線程處理模式作業· 令=理器的-執行管線中是否沒有V-線程的 第一線程是否嘗試從-記憶體提取指令。21_如申請專利範圍第2〇項之 第一開始計數器中所儲存之值幾何增量、。雜制邏輯將 二?專:範圍第21項之電腦系統,其中藉由將- 兀W移至该值左邊而將該值幾何增量。23·—種平行處置至少第一 包含: #第一線私之處理的電腦系統 用以館存第一和第二線程之指令的一記憶體;一處理器,包括: 控制邏輯,其將優先次序指派㈣第_線程, 複數個條件之一為真時,將優先次序指派予 程,該等條件包括: w罘 該第一線 以及 疋否沒有逼近該第一線程之指令側飢餓的一指示。24·如申請專利範圍第23項之電腦系統,其中逼近該第— 程之指令側飢餓的指示包括複數個條件,均為真,二亥 78665-970806.doc 進 且當 線 程的處理是否使一指令從該第一線程退除 等 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 8 8 8 8 ABCD 1304181 六、申請專利範圍 條件包括 該處理器是否以一多重線程處理模式作業; 於該處理器的一執行管線中是否沒有第一線程的指 令;以及 第一線程是否嘗試從一記憶體提取指令。 78665-970806.doc 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
TW091111862A 2001-06-22 2002-06-03 Method and apparatus for assigning thread priority in a processor or the like TWI304181B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/888,273 US7454600B2 (en) 2001-06-22 2001-06-22 Method and apparatus for assigning thread priority in a processor or the like

Publications (1)

Publication Number Publication Date
TWI304181B true TWI304181B (en) 2008-12-11

Family

ID=25392895

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091111862A TWI304181B (en) 2001-06-22 2002-06-03 Method and apparatus for assigning thread priority in a processor or the like

Country Status (8)

Country Link
US (4) US7454600B2 (zh)
CN (1) CN100517218C (zh)
BR (1) BRPI0209387B1 (zh)
DE (1) DE10296980B4 (zh)
GB (1) GB2392751B (zh)
HK (1) HK1068434A1 (zh)
TW (1) TWI304181B (zh)
WO (1) WO2003001367A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454600B2 (en) 2001-06-22 2008-11-18 Intel Corporation Method and apparatus for assigning thread priority in a processor or the like
US7657893B2 (en) * 2003-04-23 2010-02-02 International Business Machines Corporation Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor
JP3892829B2 (ja) * 2003-06-27 2007-03-14 株式会社東芝 情報処理システムおよびメモリ管理方法
US7748001B2 (en) * 2004-09-23 2010-06-29 Intel Corporation Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time
US9626194B2 (en) 2004-09-23 2017-04-18 Intel Corporation Thread livelock unit
US8141087B2 (en) * 2006-03-31 2012-03-20 International Business Machines Corporation Resolving computing resource deadlocks based on priority and dependent processes
US20070277177A1 (en) * 2006-05-29 2007-11-29 Takuji Kawamoto Information processing device, information processing method, and computer-readable information recording medium recorded with information processing program
US20080077727A1 (en) * 2006-09-25 2008-03-27 Baca Jim S Multithreaded state machine in non-volatile memory devices
US8024731B1 (en) * 2007-04-25 2011-09-20 Apple Inc. Assigning priorities to threads of execution
US8285973B2 (en) * 2008-08-04 2012-10-09 International Business Machines Corporation Thread completion rate controlled scheduling
CN102282546B (zh) * 2008-11-10 2016-04-06 新思科技有限公司 资源控制
US8386753B2 (en) * 2009-04-14 2013-02-26 International Business Machines Corporation Completion arbitration for more than two threads based on resource limitations
US8175759B2 (en) * 2009-06-22 2012-05-08 Honeywell International Inc. Systems and methods for validating predetermined events in reconfigurable control systems
US8695002B2 (en) * 2009-10-20 2014-04-08 Lantiq Deutschland Gmbh Multi-threaded processors and multi-processor systems comprising shared resources
CN106909444B (zh) * 2011-12-22 2021-01-12 英特尔公司 用于指定应用线程性能状态的指令的指令处理装置及相关方法
WO2013147852A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Instruction scheduling for a multi-strand out-of-order processor
US9229721B2 (en) * 2012-09-10 2016-01-05 Qualcomm Incorporated Executing subroutines in a multi-threaded processing system
US10360063B2 (en) * 2015-09-23 2019-07-23 Qualcomm Incorporated Proactive resource management for parallel work-stealing processing systems
CN108021597B (zh) * 2016-10-28 2022-02-08 阿里巴巴集团控股有限公司 一种并行计数器、服务器和一种计数方法
US11068274B2 (en) * 2017-12-15 2021-07-20 International Business Machines Corporation Prioritized instructions in an instruction completion table of a simultaneous multithreading processor
CN108279927B (zh) * 2017-12-26 2020-07-31 芯原微电子(上海)股份有限公司 可调整指令优先级的多通道指令控制方法及系统、控制器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220653A (en) 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
US5956722A (en) * 1997-09-23 1999-09-21 At&T Corp. Method for effective indexing of partially dynamic documents
US6105051A (en) 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6076157A (en) 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
FR2782422B1 (fr) * 1998-08-13 2000-09-15 St Microelectronics Sa Circuit de mesure d'intervalles de temps auto-calibre
US6542921B1 (en) * 1999-07-08 2003-04-01 Intel Corporation Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US6834315B2 (en) * 2001-03-26 2004-12-21 International Business Machines Corporation Method, system, and program for prioritizing input/output (I/O) requests submitted to a device driver
US7454600B2 (en) 2001-06-22 2008-11-18 Intel Corporation Method and apparatus for assigning thread priority in a processor or the like

Also Published As

Publication number Publication date
GB2392751B (en) 2005-11-02
GB2392751A (en) 2004-03-10
BR0209387A (pt) 2004-07-06
HK1068434A1 (en) 2005-04-29
US8850165B2 (en) 2014-09-30
CN1518691A (zh) 2004-08-04
US7877583B2 (en) 2011-01-25
DE10296980T5 (de) 2004-10-07
US20090070562A1 (en) 2009-03-12
US20110239221A1 (en) 2011-09-29
US7454600B2 (en) 2008-11-18
DE10296980B4 (de) 2010-04-22
BRPI0209387B1 (pt) 2016-05-31
CN100517218C (zh) 2009-07-22
US20110113222A1 (en) 2011-05-12
US7987346B2 (en) 2011-07-26
WO2003001367A1 (en) 2003-01-03
GB0323746D0 (en) 2003-11-12
US20020199088A1 (en) 2002-12-26

Similar Documents

Publication Publication Date Title
TWI304181B (en) Method and apparatus for assigning thread priority in a processor or the like
US10649783B2 (en) Multicore system for fusing instructions queued during a dynamically adjustable time window
TW554287B (en) Method and apparatus for managing resources in a multithreaded processor
US10073698B2 (en) Pipelined processor with multi-issue microcode unit having local branch decoder
TW565769B (en) Data processing system having an adaptive priority controller
US6542921B1 (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
KR940009100B1 (ko) 데이타 프로세서 제어 유닛과 지시사이클 및 오버헤드 최소화 방법
US5907702A (en) Method and apparatus for decreasing thread switch latency in a multithread processor
TWI390445B (zh) 用於在一多重執行緒處理器中之一管線的一分配點而封鎖一執行緒之方法、電腦程式產品及設備
US8635621B2 (en) Method and apparatus to implement software to hardware thread priority
US20060179439A1 (en) Leaky-bucket thread scheduler in a multithreading microprocessor
US20080189521A1 (en) Speculative Instruction Issue in a Simultaneously Multithreaded Processor
TW201106261A (en) Microprocessors and storing methods using the same
EP2147373B1 (en) Multithreaded processor for executing thread de-emphasis instruction and method therefor
CN1478228A (zh) 利用重新调度的重放队列中断处理器中的重放依赖关系循环
US20170109165A1 (en) Apparatus and method for accessing data in a data store
CN107992331A (zh) 处理器及操作处理器的方法
US20040216103A1 (en) Mechanism for detecting and handling a starvation of a thread in a multithreading processor environment
TW201224991A (en) Next-instruction-type field
CN114090077B (zh) 调取指令的方法及装置、处理装置及存储介质
US7941646B2 (en) Completion continue on thread switch based on instruction progress metric mechanism for a microprocessor
WO2002071218A2 (en) Method of and system for withdrawing budget from a blocking task
EP1125195B1 (en) Method for executing memory read requests
JP4631442B2 (ja) プロセッサ
US7069424B2 (en) Placing front instruction in replay loop to front to place side instruction into execution stream upon determination of criticality

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees