TWI261784B - Methods and apparatus to dispatch interrupts in multiprocessor systems - Google Patents
Methods and apparatus to dispatch interrupts in multiprocessor systems Download PDFInfo
- Publication number
- TWI261784B TWI261784B TW093135873A TW93135873A TWI261784B TW I261784 B TWI261784 B TW I261784B TW 093135873 A TW093135873 A TW 093135873A TW 93135873 A TW93135873 A TW 93135873A TW I261784 B TWI261784 B TW I261784B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- interrupt
- complex
- iwa
- level
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
Description
1261784 ⑴ 九、發明說明 【發明所屬之技術領域】 本揭示係相關於多處理器系統,尤其是相關於在多 處理器系統中調度中斷的方法和裝置。 【先前技術】 在處理器系統中,中斷是一由耦合於處理器系統的 輸入/輸出(I/O )裝置或處理系統內使控制處理器系統( 即作業系統(0 S ))的操作之主程式可停止目前工作並 且執行一些其他工作之程式觸發的事件。當網路裝置偵 測進來的封包,網路裝置發送中斷到處理器,反應於中 斷,處理器開始中斷常式。例如,視訊解碼器發送中斷 到處理器以反應偵測到視訊封包串流中的錯誤自處理器 請求錯誤處理服務。 典型上,中斷控制器優先處理中斷並且省去等待處 理的佇列中之中斷。在使用多串列核心、多核心處理器 、多工作核心、及/或虛擬化核心(即虛擬多處理器系統 )的目前處理器系統中,中斷被調度或路由到正執行優 先工作及/或應用程式的目標處理器,結果使整個多處理 系統會無效率地操作。藉由固定重導向規劃或諸如循環 法規劃等簡易的任意規劃,中斷通常藉由處理資源使次 理想性能可執行工作及/或應用程式。 [發明內容及實施方式】 (2) (2)1261784 雖然下面揭示包括於其他組件之中在硬體上執行的 軟體或韌體之示範性系統,但是應注意此種系統僅是圖 解說明並且不應被視作限制。例如,應考慮到任何或所 有揭示的硬體 '軟體、及/或韌體組件可以被獨有地包含 在硬體中、在軟體中、在韌體中,或在某些硬體、軟體 '及/或韌體的組合中。 在圖1的例子中,圖解的中斷調度系統〗〇 〇包括複 數處理器110、通常被各自圖示成處理器#1到N 120, 130,及140。每一複數處理器11〇包括區域可程式化中斷 控制器(LPIC),通常被圖示成122,132,及142。每一 LPICs 122,132,及142都包括處理器間中斷暫存器(IPIR ),通常圖示成124,134,及144,和中斷控制暫存器( ICR),通常圖示成 126,136,及 146。LPICs 122,1325及 1 4 2處理迫近的中斷、遮蔽、優先事物、及向量產生等精 於本技藝之人士容易明白者。尤其是,LPICs 122,132, 及142 (如、各自透過ICRsl26; 136,及146)爲複數處理 器 U 0的核心接收和處理處理器間中斷(IPI )訊息以執 行。LPICs 1225 132,及 142 (如、各自透過 IPIRS124, 13 4,及144 )又產生IPI訊息以使複數處理器1 10可彼此 通訊。
圖解的中斷調度系統1 0 0又包括系統匯流排1 5 0,及 多處理器可程式化中斷控制器(MPIC ) 160。如本文所 說明一般,MPIC 160優先處理中斷、平衡中斷負荷、及/ 或產生IPI訊息到系統匯流排橋接器]80。通常,MP 1C (3) 1261784 160自通常圖示成170及175的輸入/輸出(I/O) 收接腳爲主或信號爲主的中斷,諸如滑鼠、鍵盤 器、印表機、磁碟機、及/或任何其他周邊設備等 發送接腳爲主的中斷,I/O裝置17〇透過一組中斷 腳172直接耦合於MPIC 160。每一中斷輸入接腳 應於特別的中斷類型(如、讀取中斷或寫入中斷 如,當印表機完成列印工作時,印表機產生中斷給 1 6 0。在另一例子中,當磁碟機完成到磁碟的讀耳 寫入時,磁碟機產生中斷給MPIC 160。根據中斷 I/O裝置170透過一組中斷輸入接腳172的其中之 中斷到MP 1C 160。根據系統匯流排協定,系統匯 接器1 8 0透過系統匯流排丨5 〇開始中斷複數處理 和MPIC 160之間的訊息傳遞。也就是說,系統匯 接器1 8 0使處理器間中斷(I p I )訊息能夠傳輸到 理器110,使得中斷可由MPIC 160調度並且由複 器1 1 〇處理。如此,Μ P IC 1 6 0可藉由根據本文所 中斷負荷平衡政策產生ΙΡΙ訊息給系統匯流排橋接 以調度中斷到複數處理器1 1 0中的至少一處理器 標處理器)。爲了實施中斷負荷平衡政策,Μ P I C 複數處理器1 1 0識別目標處理器以根據諸如時間 中斷服務壽命位準)、歷史(如、中斷負荷歷史 、及複數處理器110的可用性(如、中斷可用性 等一或多個中斷負荷平衡參數調度中斷。 爲了發送信號爲主的中斷到Μ Ρ ] C〗6 0,I / 0裝 裝置接 、顯示 。爲了 輸入接 1 72對 )。例 MPIC 5及/或 類型, 一發送 流排橋 器110 流排橋 複數處 數處理 說明的 器180 (即目 160自 (如、 位準) 位準) 置]75 (4) (4)1261784 透過系統匯流排橋接器1 80和I/O匯流排1 90耦合於 MPIC 160。對照於透過一組中斷輸入接腳172其中之一 發送中斷給MPIC 160,I/O裝置175透過I/O匯流排!9〇 發送中斷訊息給系統匯流排橋接器1 8 0。精於本技藝之人 士將容易明白中斷訊息指出I/O裝置]7 5所請求的中斷 類型(如、讀取中斷或寫入中斷)。因此,MPIC 160自 I/O裝置175產生對應於中斷訊息的IPI訊息,並且依據 中斷負荷平衡政策透過IPI訊息調度中斷到目標處理器 〇 儘管上述圖1之中斷調度系統1 〇 〇所調度的中斷被 說明成硬體中斷(如、來自印表機的中斷),但是中斷 可以是軟體中斷(如、來自字元處理應用程式的中斷) 。在一特別例子中,當應用程式結束及/或自作業系統( Ο S )(未圖示)請求指令時,會出現軟體中斷。 在圖2之例子中,圖解的MP 1C 160包括中斷負荷平 衡政策暫存器(ILBPR) 210、複數目標處理器控制暫存 器(TPCRs ) 212、加權平均產生器(WAG ) 2 5 0、及目 標處理器選擇器(TPS ) 27 0。ILBPR 210包括諸如處理 器中斷服務壽命(PISA )、處理器中斷負荷歷史(PILH )、及處理器中斷可用性(PIA )等一或多個中斷負荷平 衡參數的加權以實施中斷負荷平衡政策。PISA參數指出 中斷已經排隊等候複數處理器Π 0的時間(即在被每一 複數處理器1 1 0處理之前中斷等待多久)。PIL Η參數指 出被調度到複數處理器]1 0的中斷歷史(即在執行其他 -8- (5) (5)1261784 工作時中斷多常被調度到複數處理器1 1 0每一個)。PI A 參數指出複數處理器自Μ P I C 1 6 0接收中斷的意願(即每 一複數處理器110有多忙)。 每一中斷負荷平衡參數被指定一相對加權以指出那 特定參數在中斷負荷平衡政策中的相對重要性/影響力。 例如,I L B P R 2 1 0 包括 Ρ I S Α 加權 2 1 4、Ρ I L Η 力口權 2 1 6、 及ΡΙΑ加權218。若中斷負荷平衡參數與中斷負荷平衡 政策同等重要,則每一中斷負荷平衡參數都被指定成同 一加權。然而,若特定中斷負荷平衡參數比另一參數相 對重要許多,則那特定中斷負荷平衡參數與較大加權結 合在一起。爲了圖解說明相對加權被指定到每一中斷負 荷平衡參數的其中一方法,Ρ I S Α加權2 1 4取相對加權爲 二,而PILH加權216也取相對加權爲二,但是PIA加權 2 1 8取相對加權爲一。在本示範性中斷負荷平衡政策中, PISA參數和PILH參數是同等重要的,因爲PISA加權 2 1 4和PILH加權2 1 6是同一取二的加權。此外,在此例 中,PISA參數和PILH參數比PIA參數相對重要許多, 因爲PISA加權214和PILH加權216的相對加權都是 PIA加權21 8的兩倍。 可改變PISA加權214、PILH加權216、及PIA加權 2 ] 8以支援其他中斷負荷平衡規劃。爲了實施循環法,例 如,PISA加權214和PIA加權218可被設定成最低位準 (如、零),使得中斷負荷平衡政策只依據P1LH參數( 即P1LH參數2]6大於P]SA加權214和PIA加權218 ) (6) (6)1261784 。如此,MPIC 160只以處理器#1 120到處理器#N 14〇的 連續順序調度中斷,然後重複此順序。 儘管以特定範圍說明中斷負荷平衡參數的加權,但 是可藉由任何其他適當範圍實施中斷負荷平衡參數的加 權以指出在中斷負荷平衡政策中每一中斷負荷平衡參數 彼此之間的重要性。
如上述,MPIC 160又包括通常被圖示成 TPCR #1 220,TPCR #2 23 0,及 TPCR #N 240 的複數丁PCRs 212, 它們包括與複數處理器1 1 〇有關的中斷調度資訊。每一 複數TPCRs 212對應於示範性中斷調度系統100中複數 處理器1 1 0的其中之一。例如,TP C R # 1 2 2 0對應於處理 器 #1 120,TPCR #2 23 0 對應於處理器 #2 130,及 TPCR #N 240對應於處理器#N 140。每一複數TPCRs 212包括 與其對應處理器有關的中斷調度資訊。在每一 TPCRs 2 1 2中,中斷調度資訊識別一特定處理器,並且指出在 ILBPR 2 1 0的每一中斷負荷平衡參數中那特定處理器的 位準。尤其是,每一複數TPCRs 2 12都包括處理器識別 符號(PID ) 、PISA位準、PILH位準、及PIA位準。例 如,T P C R # 1 2 2 0包括與處理器# 1 1 2 0有關的P ID 2 2 2、 PISA 位準 224、PILH 位準 226、及 PIA 位準 228。PID 2 22可以是對應於處理器#1 120的識別號碼。PISA位準 2 2 4指出在處理中斷中處理器# 1 1 2 0所花費的時間。 PILH位準2 2 6指出調度到處理器120的中斷歷史(即 有多少中斷已經調度到處理器#1 ] 20 ) 。PIA位準指 -10- (7) (7)1261784 出處理器# 1 1 2 0的可用性以執行來自Μ P I C 1 6 0的中斷( 即處理器# 1〗2 〇多忙)。例如,中斷調度系統1 0 0指定 重要工作給處理器#1 120執行,並且降低PIA位準228 以減少處理器# 1 1 2 0接受來自Μ P I C 1 6 0的中斷之意願° 另一選擇是,中斷調度系統100只將ΡΙΑ位準22 8設定 成最低位準(如、零),使得處理器# 1 1 2 0總是無法接 收來自Μ Ρ I C 1 6 0的中斷。如此,處理器# 1 1 2 0專注於執 行事先由中斷調度系統1 00所指派的重要工作。利用與 TPCR #1 220相同的方式,TPCR #2 230包括與處理器#2 130 有關的 PID 232、PISA 位準 234、PILH 位準 236、及 PIA位準238,和TPCR #N 240包括與處理器#N 140有 關的 PID 24 2、PISA 位準 244、PILH 位準 246、及 PIA 位準2 4 8。 爲了識別複數處理器1 1 〇其中之一當作目標處理器 以處理中斷,WAG 2 5 0爲每一複數處理器1 10決定中斷 加權平均(IWAs ) 260,通常被圖示成 IWA 262、 IWA #2 264、及 IWA #N 2 6 6。依據中斷負荷平衡參數 2 1 4,2 1 6,及21 8的加權和儲存在複數TPCRs 2 12的中斷 調度資訊' WAG 2 5 0計算IWAs 260。WAG 2 5 0使用各種 方法評估ILBPR 210及TPCRs 212。例如,這些方法包 括每一複數處理器1】〇專用的IWA之全位元範圍計算結 果以選擇最小負荷處理器,及依據中斷調度資訊三位準 其中之一的比較。W A G 2 5 0各自根據P I S A加權 2 1 4、 P I L Η加權2 ] 6、及PIA加權2 1 8加重(如、成倍數增加 -11 - (8) 1261784 )處理器#1 120的PISA位準224、PILH位準226、及 PIA位準228計算IWA # 1 262。也就是說,WAG 2 5 0加 倍PISA位準2 24到PISA加權214,PILH位準22 6到 PILH加權216,及PIA位準2 2 8到PIA加權218,並且 將最後的結果加在一起以產生IWA #] 2 62。同樣地, WAG 250各自根據PISA加權214、PILH加權216、及 PIA加權218加重處理器#2 130的PISA位準234、PILH 位準2 3 6、及PIA位準2 3 8計算IWA #2 1 264。以同樣方 式,WAG 2 5 0利用處理器#N 266的 PISA位準 244、 PILH 位準 246、及 PIA 位準 248 計算 IWA#N 266。 在利用WAG 25 0計算IWAs 260時,TPS 2 70比較複 數處理器Π0的IWAs 260以選擇複數處理器1 10其中之 一作爲接收/服務下一中斷用的目標處理器。例如,TPS 270識別與最高IWA有關的處理器當作目標處理器。在 那例子中,MPIC 160調度中斷到目標處理器以藉由產生 IPI訊息給目標處理器的目標處理器識別符號(TPID ) 2 6 2加以執行。 儘管圖2之PIS A、PILH、及PIA參數特別適用於實 施中斷調度系統1 00,但是精於本技藝之人士應明白可使 用其他適當的中斷負荷平衡參數。另外,可使本文所說 明的一或多個中斷負荷平衡參數失效以識別目標處理器 。爲了實施時間循環法(如、不管任何其他理由,中斷 都被調度到每一複數處理器Π 0 ),例如,中斷調度系統 100將PISA加權2] 4和P1A加權218設定成最低位準( -12- (9) 1261784 如、零),使得WAG 2 5 0只依據PILH參數計算IWAs 2 6 0。結果,Μ P I C 1 6 0只例如以處理器# 1 1 2 〇到處理器 #Ν 140的連續順序調度中斷。 對照於眾所皆知的固定重導向規劃,MPIC ] 60藉由 依據中斷負荷平衡參數識別目標處理器(即最小負荷處 理器)提供動態或時間差異的中斷調度/循環規劃。藉由 識別目標處理器以處理中斷,其他處理器可集中於執行 其他它們對應的程式串列。另外,MPIC 160提供調整中 斷負荷平衡參數的相對重要性之彈性。如此,可提高及 最佳化中斷調度系統1 〇 〇的全部系統性能。 圖3爲圖2之MPIC 160在多處理器系統中控制中斷 的調度之其中一方法的流程圖3 0 〇。精於本技藝之人士將 明白可使用由處理器系統(即圖4之處理器系統1 000 ) 執行的機器可讀指令實施圖3之流程圖3 0 0。尤其是’可 藉由任何許多利用儲存在諸如揮發性或非揮發性記憶體 或其他大規模儲存裝置(如、軟式磁碟片、C D、及D V D )等任何許多機器可讀媒體上之任何許多不同的程式化 碼之方法實施指令。例如,機器可讀指令可包含在諸如 可拭除可程式化唯讀記憶體(EPR〇M )、唯讀記憶體( ROM )、隨機存取記憶體(RAM )、磁性媒體、光學媒 體、及/或任何其他適當媒體類型等機器可讀媒體。另一 選擇是,機器可讀指令可包含在可程式化閘極陣列及/或 應闬特定積體電路(A s 1 c ) °另外,雖然圖3圖解一特 定的活動順序,但是精於本技藝之人士應明白可以其他 -13- 1261784 (ίο) 時間順序執行這些活動。再者’流程圖3 0 0只被提供當 作在多處理器系統中調度中斷的其中一方法的例子。 流程圖3 00開始於存取與每一複數處理器1 1 0有關 的中斷調度資訊之W A G 2 5 0 (方塊3 1 〇 )。例如,w A G 250存取每一複數處理器之PID專用的TPCRs 212、 PISA位準、PILH位準、及PIA位準。依據ILBPR 210 的中斷負荷平衡政策具體指定之一或多個中斷負荷平衡 參數,WAG 250決定每一複數處理器110的IWA (方塊 3 20 )。如上述,WAG 2 5 0依據每一複數處理器1 1 〇的 PISA位準、PILH位準、及PIA位準計算複數處理器n〇 的 IWAs 2 6 0。例如,WAG 25 0 依據 PISA 位準 224、 PILH位準22 6、及PIA位準22 8計算處理器#1 120的 IWA #1 262。每一 PISA 位準 224、PILH 位準 226、及 PIA位準22 8依據指出PISA、PILH、及PIA參數的相對 加權之中斷負荷平衡政策被列入IWA # 1 262作爲重要因 素。在利用WAG 2 5 0計算複數處理器110的IWAs 260 時,TPS 27 0 比較 IWAs 260 (方塊 3 3 0 )。依據 IWAs 260的比較,TPS 270選擇一或多個複數處理器110當作 MPIC 160將調度下一中斷之目標處理器(方塊34〇)。 例如,TPS 2 70可自複數處理器1 10選擇特定處理器當作 目標處理器,因爲特定處理器與最高IW A有關。因此, TPS 2 7 0藉由產生IPI訊息給對應於目標處理器的tpid 加以調度中斷到目標處理器(方塊350)。結果,Μ PI C ]6 0藉由根據中斷負荷平衡政策調度中斷到複數處理器 -14- (11) (11)1261784 Π 0提高系統性能。 圖4爲被構製成實施本文所揭示的方法和裝置之示 範性處理器系統1 〇 〇 〇的方塊圖。處理器系統1 〇 〇 〇可以 是桌上型電腦、膝上型電腦、筆記型電腦、個人數位助 理(P D A )、伺服器、網際網路設備、或任何其他計算 裝置類型。 圖4所示的處理器系統! 〇 〇 〇提供處理器} 〇 2 0可存 取或使用之記憶體和I/O管理功能,與複數一般目的及/ 或特定目的暫存器、計時器等。使用一或多個處理器實 施處理器1 020。例如,可使用一或多個Intel^Pentium® 技術、Intel ⑧ Itanium®技術、Intel®Centrino⑧技術、及 /或 Intel®XScale®技術實施處理器1 020。另外,也可使用其 他處理技術實施處理器1 020。處理器1 020包括可使用第 一位準統一快取記憶體(L 1 )、第二位準統一快取記憶 體(L2 )、第三位準統一快取記憶體(L3 )實施之快取 記憶體1 〇 2 2,及/或任何其他精於本技藝之人士容易理解 的適當儲存資料結構。 如習知一般,揮發性記憶體控制器1 0 3 6和非揮發性 記憶體控制器1 〇 3 8執行使處理器1 〇 2 0可透過匯流排存 取和與包括揮發性記憶體1 〇 3 2及非揮發性記憶體1 〇 3 4 的主記憶體1 03 〇通訊之功能。可藉由同步動態隨機存取 記憶體(SDRAM )、動態隨機存取記憶體(DRAM )、 R A Μ B U S動態隨機存取5己1思體(R D R A Μ )、及/或任何宜 他隨機存取記憶體裝置類型實施揮發性記憶體1 〇 3 2。可 -15- (12) (12)1261784 使用快閃記憶體、唯讀記憶體(R 〇 Μ )、電子式可拭除 可程式化唯讀記憶體(E E P R Ο Μ )、及/或任何其他理想 的記憶體裝置類型實施非揮發性記憶體1 03 4。 處理器系統1 000又包括耦合於匯流排]〇4〇之介面 電路1 0 5 0。可使用諸如E the r 11 e t介面、通用串列匯流排 (USB)、第三代輸入/輸出介面(3GIO)介面、及/或任 何其他適當介面類型等任何眾所皆知的介面標準類型實 施介面電路1 0 5 0。 一或多個輸入裝置1060連接到介面電路1050。輸入 裝置1 060讓使用者可將資料和命令輸入到處理器1〇2〇。 例如,可藉由鍵盤、滑鼠、觸感式螢幕、軌跡板、軌跡 球、等位點指標器、及/或聲訊辨識系統實施輸入裝置 1 060。 --或多個輸出裝置1 0 7 0也連接到介面電路i 〇 5 〇。例 如’可藉由顯示裝置(如、發光顯示器(LED )、液晶 顯示器(LCD )、陰極射線管(CRT )顯示器、印表機及 /或揚聲器)實施輸出裝置1 〇 7 0。如此除了別的之外,介 面電路1 0 5 0典型上還包括圖形驅動卡。 處理器系統1 0 0 0又包括一或多個大規模儲存裝置 1 0 8 〇以儲存軟體和資料。此種大規模儲存裝置1 〇 8 0的例 十包括軟式磁碟片及驅動器、硬碟機、光碟及驅動器、 及數位式多用途光碟(D V D )及驅動器。 介面電路1 〇 5 0又包括諸如數據機或網路界面卡等通 訊裝置以透過網路交換資料和外部電腦。在處理器系統 -16- (13) 1261784 1 Ο Ο 0和網路之間的通訊連結可以是任何網路連接類型, 諸如乙太網路連接、數位用戶線(D SL )、電話線、蜂巢 式電話系統、同軸電纜等。 典型上由I/O控制器1 〇 1 4以習知方式控制到輸入裝 置1060、輸出裝置1〇70、大規模儲存裝置1〇8〇及/或網 路的存取。尤其是,I/O控制器1〇】4執行使處理器1020 能夠透過匯流排1040和介面電路1 0 5 0與輸入裝置1060 、輸出裝置1070、大規模儲存裝置1080及/或網路的通 訊之功能。 儘管圖4之組件被描繪成處理器系統1 0 0 〇內的分開 方塊,但是藉由這些方塊中的一些方塊所執行的功能可 使用兩或更多分開的積體電路實施或整合在單一半導體 電路內。例如,雖然I / 0控制器1 0 1 4、揮發性記憶體控 制器1 0 3 6、及非揮發性記憶體控制器1 〇 3 8被描繪成分開 方塊,但是精於本技藝之人士將容易明白I/O控制器 1 Ο 1 4、揮發性憶體控制器1 0 3 6、及非揮發性記憶體控 制器1 0 3 8可被整合在單一半導體電路內。 雖然本文已說明某些示範性製造的方法、裝置、和 物體,但是此專利覆蓋的範圍並不侷限於此。反之,此 專利涵盖所有無論是字面上或均等論原理下完全落在附 錄於後的申請專利範圍內之製造的方法、裝置、及物體 【圖式簡單說明】 -17- (14) (14)1261784 圖〗爲根據本發明的原則所配置之示範性中斷調度 系統的方塊圖。 圖2爲可用於實施圖1之示範性中斷調度系統的示 範性多處理器可程式化中斷控制器(MPIC )之方塊圖。 圖3爲可執行以實施圖1之示範性中斷調度系統的 示範性機器可讀指令之流程圖。 圖4爲可用於實施圖2之示範性Μ PIC的示範性處 理器系統之方塊圖。 【主要元件符號說明】 1 00 中 斷 調 度 系 統 110 處 理 器 1 20 處 理 器 # 1 122 1^ 域 可 程 式 化 中 斷 控 制 器 1 24 處 理 器 間 中 斷 暫 存 器 1 26 中 斷 控 制 暫 存 器 130 處 理 器 #2 132 區 域 可 程 式 化 中 斷 控 制 器 134 處 理 器 間 中 斷 暫 存 器 1 36 中 斷 控 制 暫 存 器 140 處 理 器 #Ν 142 域 可 程 式 化 中 斷 控 制 ΡΡ 益 1 44 處 理 器 間 中 斷 暫 存 器 1 46 中 斷 控 制 暫 存 器 -18- (15) 系統匯流排 多處理器可程式化中斷控制器 輸入/輸出裝置 中斷輸入接腳 輸入/輸出裝置 系統匯流排橋接器 輸入/輸出匯流排 中斷負荷平衡政策暫存器 目標處理器控制暫存器 處理器中斷服務壽命加權 處理器中斷負荷歷史加權 處理器中斷可用性加權 目標處理器控制暫存器# 1 處理器識別符號 處理器中斷服務壽命位準 處理器中斷負荷歷史位準 處理器中斷可用性位準 目標處理器控制暫存器#2 處理器識別符號 處理器中斷服務壽命位準 處理器中斷負荷歷史位準 處理器中斷可用性位準 目標處理器控制暫存器#N 處理器識別符號 -19- (16)1261784 244 處 理 器 中 斷 服 務 壽 口 P 位 準 246 處 理 器 中 斷 負 荷 歷 史 位 準 248 處 理 器 中 斷 可 用 性 位 準 250 加 m 平 均 產 生 器 260 中 斷 加 權 平 均 262 中 斷 加 權 平 均 # 1 264 中 斷 加 權 平 均 #2 266 中 斷 加 權 平 均 #3 270 巨 標 處 理 器 々巳巳 擇 器 272 巨 標 處 理 器 巳 进 擇 器 1000 處 理 器 系 統 10 14 輸 入 /輸出 1020 處 理 器 1022 快 取 記 憶 體 103 0 主 記 憶 體 1032 揮 發 性 記 憶 體 1034 非 揮 發 性 記 憶 體 103 6 揮 發 性 記 憶 體 控 制 器 103 8 非 揮 發 性 記 憶 體 控 制 器 1040 匯 流 排 105 0 介 面 電 路 1060 輸 入 裝 置 1070 輸 出 裝 置 1080 大 規 模 儲 存 裝 置 -20-
Claims (1)
1261784 (1)
項靖要g明示 '· 所提之修正〆:二 或_式所揭露 十、申請專利範圍 附件2A :第93 1 3 5 87 3號專利申請案 中文申請專利範圍替換本 民國95年3月6日修正 1 . 一種在多處理器系統中調度中斷之方法,包含: 依據與複數處理器有關的中斷調度資訊產生用於每 一複數處理器的中斷加權平均(IWA );及 依據IWA識別來自複數處理器的目標處理器以調度 中斷。 2.根據申請專利範圍第1項之方法,其中依據與複 數處理器有關的中斷調度資訊產生用於每一複數處理器 的IWA包含依據處理器中斷服務壽命位準、處理器中斷 負荷歷史位準、及處理器中斷可用性位準至少其中之一 產生用於每一複數處理器的IWA。 3 ·根據申請專利範圍第1項之方法,其中依據與複 數處理器有關的中斷調度資訊產生用於每一複數處理器 的IWA包含識別與處理器中斷服務壽命位準、處理器中 斷負荷歷史位準、及處理器中斷可用性位準至少其中之 一有關的加權。 4·根據申請專利範圍第1項之方法,其中依據與複 數處理器有關的中斷調度資訊產生用於每一複數處理器 的IWA包含儲存一或多個中斷負荷平衡參數的加權,及 依據一或多個中斷負荷平衡參數的儲存加權計算用於每 (2) 1261784 一複數處理器的IWA。 5 .根據申請專利範圍第1項之方法,其中依據I W A 識別來自複數處理器的目標處理器以調度中斷包含識別 與最高IWA有關的處理器。
6 ·根據申g靑專利範圍第1項之方法,其中依據IW A 識別來自複數處理器的目標處理器以調度中斷包含依據 IWA識別來自複數處理器的目標處理器以調度硬體中斷 和軟體中斷其中之一。 7 ·根據申請專利範圍第1項之方法,另外包含產生 中斷訊息以發送到目標處理器。 8· —種儲存可在多處理器系統中執行調度中斷之指 令用機器可讀媒體,當執行時,使機器能夠: 依據與複數處理器有關的中斷調度資訊產生用於每 一複數處理器的中斷加權平均(IWA );及
依據IWA識別來自複數處理器的目標處理器以調度 中斷。 9.根據申請專利範圍第8項之機器可讀媒體,其中 當執行時,指令使機器能夠藉由依據處理器識別符號、 處理器中斷服務壽命位準、處理器中斷負荷歷史位準、 及處理器中斷可用性位準至少其中之一產生用於每一複 數處理器的IWA,以依據與複數處理器有關的中斷調度 資訊產生用於每一複數處理器的IWA。 1 〇 .根據申請專利範圍第8項之機器可讀媒體,其中 當執行時,指令使機器能夠藉由識別與處理器中斷服務 -2- (3) (3)1261784 壽命位準、處理器中斷負荷歷史位準、及處理器中斷可 用性位準至少其中之一以依據與複數處理器有關的中斷 調度資訊產生用於每一複數處理器的IWA。 η .根據申請專利範圍第8項之機器可讀媒體,其中 當執行時,指令使機器能夠藉由識別與最高IWA有關的 處理器以依據IWA識別來自複數處理器的目標處理器以 調度中斷。 12. 根據申請專利範圍第8項之機器可讀媒體,其中 當執行時,指令使機器能夠藉由自複數處理器識別目標 處理器以調度硬體中斷和軟體中斷其中之一而依據IWA 識別來自複數處理器的目標處理器以調度中斷。 13. 根據申請專利範圍第8項之機器可讀媒體,其中 當執行時,指令使機器能夠產生中斷訊息以發送到目標 處理器。 14. 根據申請專利範圍第8項之機器可讀媒體,其中 機器可讀媒體包含可程式化閘極陣列、應用特定積體電 路、可拭除可程式化唯讀記憶體、唯讀記憶體、隨機存 取記憶體、磁性媒體、光學媒體其中之一。 15. —種在多處理器系統中調度中斷之裝置,包含: 中斷負荷平衡政策暫存器(ILBPR),用以儲存對應 於一或多個中斷負荷平衡參數的一或多個加權; 複數目標處理器控制暫存器(TPCR ),用以儲存與 複數處理器有關的中斷調度資訊; 加權平均產生器,用以依據對應於一或多個中斷負 -3- (4) 1261784 荷平衡參數的加權和與複數處理器有關的中斷調度資訊 產生用於每一複數處理器的中斷加權平均(IWA );及 目標處理器選擇器,用以依據IWA識別來自複數處 理器的目標處理器以調度中斷。
1 6 .根據申請專利範圍第丨5項之裝置,其中對應於 一或多個中斷負荷平衡參數的加權包含處理器中斷服務 壽命加權、處理器中斷負荷歷史加權、及處理器中斷可 用性加權至少其中之一。 1 7 ·根據申請專利範圍第丨5項之裝置,其中中斷調 度資訊包含處理器識別符號、處理器中斷服務壽命位準 、處理器中斷負荷歷史位準、及處理器中斷可用性位準 至少其中之一。 1 8 ·根據申請專利範圍第】5項之裝置,其中目標處 理器包含來自複數處理器中與最高IWA有關的處理器。
1 9 ·根據申請專利範圍第1 5項之裝置,其中目標處 理器選擇器產生中斷訊息以發送到目標處理器。 20.根據申請專利範圍第15項之裝置,其中中斷包 含硬體中斷和軟體中斷其中之一。 2 1 · —種在多處理器系統中調度中斷之處理器系統, 包含: 輸入/輸出控制器,被程式化用以請求中斷;及 多處理器可程式化中斷控制器(MPIC ),被程式化 用以依據與複數處理器有關的中斷調度資訊產生用於每 一複數處理器的中斷加權平均(IWA ),及用以依據 -4- 1261784 .' .’ή.:'.、:丨 (5) - ..... -… IWA識別來自複數處理器的目標處理器以調度中斷請求 〇 22 .根據申請專利範圍第2 1項之處理器系統,其中 MPIC被程式化用以依據處理器識別符號、處理器中斷服 務壽命位準、處理器中斷負荷歷史位準、及處理器中斷 可用性位準至少其中之一產生用於每一複數處理器的 IWA。 23 ·根據申請專利範圍第2 1項之處理器系統,其中 MPIC被程式化用以儲存中斷調度資訊的加權,及用以依 據中斷調度資訊的儲存加權計算每一複數處理器專用的 IWA。 24·根據申請專利範圍第21項之處理器系統,其中 MPIC被程式化用以識別與對應於複數處理器的處理器中 斷服務壽命位準、處理器中斷負荷歷史位準、及處理器 中斷可用性位準至少其中之一有關的加權。 2 5 ·根據申請專利範圍第2 1項之處理器系統,其中 MPIC被程式化用以識別與最高IWA有關的處理器。 2 6 ·根據申請專利範圍第2 1項之處理器系統,其中 Μ PI C被程式化用以產生中斷訊息以發送到目標處理器。 2 7 ·根據申請專利範圍第2 1項之處理器系統,其中 中斷包含硬體中斷和軟體中斷其中之一。 2 8 · —種在多處理器系統中調度中斷之方法,包含: 爲每一複數處理器決定複數中斷負荷平衡參數之値 •5 - (6) (6) 9' 1261784 應用負荷平衡政策到複數中斷負荷平衡參數之値以 形成表示每一複數處理器的中斷相關性能之複數値;及 識別複數處理器其中之一當作目標處理器以依據表 示每一複數處理器的中斷相關性能之値接收中斷。
2 9 .根據申請專利範圍第2 8項之方法’其中爲每一 複數處理器決定複數中斷負荷平衡參數之値包含決定處 理器中斷服務壽命參數、處理器中斷負荷歷史參數、及 處理器中斷可用性參數至少其中之一的値。 3 0.根據申請專利範圍第28項之方法,其中應用負 荷平衡政策到複數中斷負荷平衡參數之値以形成表示複 數處理器的中斷相關性能之複數値包含應用中斷加權平 均到處理器中斷服務壽命參數、處理器中斷負荷歷史參 數、及處理器中斷可用性參數至少其中之一的每一値。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/730,467 US20050125582A1 (en) | 2003-12-08 | 2003-12-08 | Methods and apparatus to dispatch interrupts in multi-processor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200525430A TW200525430A (en) | 2005-08-01 |
TWI261784B true TWI261784B (en) | 2006-09-11 |
Family
ID=34634172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093135873A TWI261784B (en) | 2003-12-08 | 2004-11-22 | Methods and apparatus to dispatch interrupts in multiprocessor systems |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050125582A1 (zh) |
CN (1) | CN1737765A (zh) |
TW (1) | TWI261784B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI739345B (zh) * | 2019-03-20 | 2021-09-11 | 聯發科技股份有限公司 | 中斷處理系統與中斷處理方法 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961723B2 (en) | 2002-10-08 | 2011-06-14 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for enforcing ordering between information sent on two independent networks |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US8478811B2 (en) | 2002-10-08 | 2013-07-02 | Netlogic Microsystems, Inc. | Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip |
US20050044324A1 (en) * | 2002-10-08 | 2005-02-24 | Abbas Rashid | Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads |
US8176298B2 (en) * | 2002-10-08 | 2012-05-08 | Netlogic Microsystems, Inc. | Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline |
US9088474B2 (en) | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US7627721B2 (en) * | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7924828B2 (en) | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US20050033831A1 (en) * | 2002-10-08 | 2005-02-10 | Abbas Rashid | Advanced processor with a thread aware return address stack optimally used across active threads |
US7984268B2 (en) | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US7461215B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor with implementation of memory ordering on a ring based data movement network |
US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
US7240137B2 (en) * | 2004-08-26 | 2007-07-03 | International Business Machines Corporation | System and method for message delivery across a plurality of processors |
US7373446B2 (en) * | 2004-11-05 | 2008-05-13 | Microsoft Corporation | Method and system for dynamically patching an operating system's interrupt mechanism |
TWI271654B (en) * | 2005-04-22 | 2007-01-21 | Via Tech Inc | Core logic chip of computer system |
CN101366004A (zh) * | 2005-12-06 | 2009-02-11 | 波士顿电路公司 | 用于带有专用线程管理的多核处理的方法和设备 |
JP2007206955A (ja) * | 2006-02-01 | 2007-08-16 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
US20080307422A1 (en) * | 2007-06-08 | 2008-12-11 | Kurland Aaron S | Shared memory for multi-core processors |
US8296490B2 (en) | 2007-06-29 | 2012-10-23 | Intel Corporation | Method and apparatus for improving the efficiency of interrupt delivery at runtime in a network system |
US9596324B2 (en) | 2008-02-08 | 2017-03-14 | Broadcom Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
JP2009251802A (ja) * | 2008-04-03 | 2009-10-29 | Panasonic Corp | マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法 |
CN101308469B (zh) * | 2008-07-07 | 2011-08-10 | 成都市华为赛门铁克科技有限公司 | 一种软中断负载均衡的实现方法及设备 |
CN101354664B (zh) * | 2008-08-19 | 2011-12-28 | 中兴通讯股份有限公司 | 多核处理器中断负载均衡方法和装置 |
CN101534319B (zh) * | 2008-11-11 | 2012-01-04 | 全旅通(北京)信息服务有限公司 | 一种解除指令间依赖关系的方法、系统和代理服务器 |
US8321614B2 (en) * | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US8484648B2 (en) * | 2009-10-19 | 2013-07-09 | International Business Machines Corporation | Hardware multi-threading co-scheduling for parallel processing systems |
US8312195B2 (en) * | 2010-02-18 | 2012-11-13 | Red Hat, Inc. | Managing interrupts using a preferred binding between a device generating interrupts and a CPU |
US9092790B1 (en) * | 2011-02-24 | 2015-07-28 | Visualon, Inc. | Multiprocessor algorithm for video processing |
US9411624B2 (en) * | 2011-11-22 | 2016-08-09 | Red Hat Israel, Ltd. | Virtual device interrupt hinting in a virtualization system |
US8909836B2 (en) * | 2012-10-08 | 2014-12-09 | Andes Technology Corporation | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) |
US9424212B2 (en) * | 2013-06-13 | 2016-08-23 | Microsoft Technology Licensing, Llc | Operating system-managed interrupt steering in multiprocessor systems |
CN107315700B (zh) * | 2016-04-27 | 2020-12-08 | 华为技术有限公司 | 一种中断处理方法以及相关装置 |
US10855989B2 (en) * | 2016-06-09 | 2020-12-01 | Qualcomm Incorporated | Substream multiplexing for display stream compression |
US20230100059A1 (en) * | 2021-09-21 | 2023-03-30 | Intel Corporation | Interrupt handling by migrating interrupts between processing cores |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0543825B1 (de) * | 1990-08-14 | 1994-08-24 | Siemens Aktiengesellschaft | Einrichtung zur interruptverteilung in einem mehrrechnersystem |
AU2270892A (en) * | 1991-06-26 | 1993-01-25 | Ast Research, Inc. | Automatic distribution of interrupts controller for a multiple processor computer system |
JP3008896B2 (ja) * | 1997-06-16 | 2000-02-14 | 日本電気株式会社 | 共有バス型マルチプロセッサシステムの割り込み負荷分散システム |
US6219741B1 (en) * | 1997-12-10 | 2001-04-17 | Intel Corporation | Transactions supporting interrupt destination redirection and level triggered interrupt semantics |
US6189065B1 (en) * | 1998-09-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for interrupt load balancing for powerPC processors |
US6265885B1 (en) * | 1999-09-02 | 2001-07-24 | International Business Machines Corporation | Method, apparatus and computer program product for identifying electrostatic discharge damage to a thin film device |
US6813665B2 (en) * | 2001-09-21 | 2004-11-02 | Intel Corporation | Interrupt method, system and medium |
US7328294B2 (en) * | 2001-12-03 | 2008-02-05 | Sun Microsystems, Inc. | Methods and apparatus for distributing interrupts |
US7444639B2 (en) * | 2001-12-20 | 2008-10-28 | Texas Insturments Incorporated | Load balanced interrupt handling in an embedded symmetric multiprocessor system |
US7584316B2 (en) * | 2003-10-14 | 2009-09-01 | Broadcom Corporation | Packet manager interrupt mapper |
-
2003
- 2003-12-08 US US10/730,467 patent/US20050125582A1/en not_active Abandoned
-
2004
- 2004-11-22 TW TW093135873A patent/TWI261784B/zh not_active IP Right Cessation
- 2004-12-08 CN CN200410010458.1A patent/CN1737765A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI739345B (zh) * | 2019-03-20 | 2021-09-11 | 聯發科技股份有限公司 | 中斷處理系統與中斷處理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW200525430A (en) | 2005-08-01 |
US20050125582A1 (en) | 2005-06-09 |
CN1737765A (zh) | 2006-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI261784B (en) | Methods and apparatus to dispatch interrupts in multiprocessor systems | |
JP6114829B2 (ja) | 仮想環境における演算インフラストラクチャのリアルタイム最適化 | |
US20070168525A1 (en) | Method for improved virtual adapter performance using multiple virtual interrupts | |
JP5459935B2 (ja) | マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム | |
US10768997B2 (en) | Tail latency-based job offloading in load-balanced groups | |
US11311722B2 (en) | Cross-platform workload processing | |
WO2023082560A1 (zh) | 一种任务处理方法、装置、设备及介质 | |
US20200159587A1 (en) | Releasable resource based preemptive scheduling | |
US10614004B2 (en) | Memory transaction prioritization | |
US7975090B2 (en) | Method for efficient I/O controller processor interconnect coupling supporting push-pull DMA read operations | |
US10579416B2 (en) | Thread interrupt offload re-prioritization | |
US20100293268A1 (en) | Efficient message consumption in a point-to-point messaging environment | |
US8589926B2 (en) | Adjusting processor utilization data in polling environments | |
US20080168125A1 (en) | Method and system for prioritizing requests | |
Gugnani et al. | Analyzing, modeling, and provisioning QoS for NVMe ssds | |
US10616317B2 (en) | Method and system for affinity load balancing | |
US10284501B2 (en) | Technologies for multi-core wireless network data transmission | |
US9626226B2 (en) | Cross-platform workload processing | |
US8869171B2 (en) | Low-latency communications | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
TW201421420A (zh) | 圖形處理單元虛擬裝置、圖形處理單元主機裝置及其圖形處理單元程式處理方法 | |
WO2024001851A1 (zh) | 一种资源调度方法、装置及系统 | |
JP2004348233A (ja) | ファイル共有システム及びサーバー並びにプログラム | |
CN115543554A (zh) | 一种计算作业的调度方法、装置及计算机可读存储介质 | |
CN115826857A (zh) | 一种NVMe指令处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |