TWI739345B - 中斷處理系統與中斷處理方法 - Google Patents
中斷處理系統與中斷處理方法 Download PDFInfo
- Publication number
- TWI739345B TWI739345B TW109108554A TW109108554A TWI739345B TW I739345 B TWI739345 B TW I739345B TW 109108554 A TW109108554 A TW 109108554A TW 109108554 A TW109108554 A TW 109108554A TW I739345 B TWI739345 B TW I739345B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- interrupt
- factors
- power
- processors
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
本發明提供一種中斷處理系統與中斷處理方法。藉由使用每個處理器之功率與性能狀態以及每個處理器之使用場景,以提示該中斷處理系統(多處理器系統)分配中斷。反映功耗與處理器性能之因子指示該功率與性能狀態。基於該因子之加權組合,該系統識別用於處理該中斷之一個處理器。基於生成中斷之使用場景,加權每個因子。接著,系統將該中斷分配至所識別處理器。
Description
本發明總體上有關於系統處理,以及更具體地,有關於一種多處理器系統中之中斷分配(interrupt dispatch)。
中斷(interrupt)是一種訊號,其目的為通知系統採取即時動作以響應特定事件。當在多處理器系統中斷言(assert)中斷時,系統中之其一處理器會轉為執行相應中斷服務常式(interrupt service routine,ISR)以處理該中斷。中斷可能具有響應時間需求。該響應時間是中斷訊號到達中斷控制器與相應ISR完成之時間間隔。該相應ISR必須在所需響應時間內被完成。
某些多處理器系統可將指定單一處理器作為中斷處理處理器,以處理系統中所有中斷。某些其他的多處理器系統可指定系統中特定處理器集合或所有處理器來處理中斷。在後者系統中,由分配一個處理器並處理每個中斷。當多個中斷在相同時間到達時,將這些中斷分配給複數個處理器。在許多系統中,可將複數個處理器安排給複數個叢集(cluster)。
其中一個將中斷分配給處理器之方法是循環方案(round-robin scheme)。其中會依據預定循環順序,由每個處理器輪流服務到來之中斷。當處理器處理中斷時,處理器必須暫停其當前任務,或者從低功率狀態中喚醒以執行相應ISR。中斷的到來是無法預測的,且ISR必須優先被執行的原則對於處理器上之工作流極具破壞性。因此,選擇合適的處理器來處理中斷對系統優化有重大的影響。
在實施例中,提供一種中斷處理系統,用於處理中斷,該中斷處理系統包含複數個處理器、中斷控制器以及複數個中斷生成裝置。其中,中斷控制器用於:接收每個處理器之功率與性能狀態,其中,反映功耗與處理器性能之複數個因子指示該功率與性能狀態;基於該複數個因子之一加權組合,識別處理該中斷之複數個處理器中之一個處理器,其中,基於生成該中斷的使用場景,加權該複數個因子之每個因子;以及將該中斷分配至所識別之處理器。
在另一實施例中,提供一種中斷處理方法,其中,處理包含複數個處理器之一系統中一中斷,該中斷處理方法包含:接收每個處理器之一功率與性能狀態,其中,反映功耗與處理器性能之複數個因子指示該功率與性能狀態;基於該複數個因子之一加權組合,識別處理該中斷之該複數個處理器中之一個處理器,其中,基於生成該中斷之一使用場景,加權該複數個因子之每個因子;以及將該中斷分配至該複數個處理器中該所識別處理器。
本發明提供之中斷處理系統及其中斷處理方法可優化系統。
其它實施方式和優點在下面之詳細描述中描述。該發明內容並不打算限定本發明。本發明由申請專利範圍限定。
在此揭示本發明之詳細實施例。然而,可以理解的是,本實施例僅係為了描述本發明之各種形式。然而,本發明可以各種不同形式進行呈現,並不一定限定於本發明所述實施例。提供這些實施例是為了本發明描述更徹底完整,並向本領域技術人員全面表述本發明範圍。在接下來描述中,將忽略已知特徵與技術,從而避免對本發明實施例描述之不必要干擾。
本發明實施例允許多處理器系統從處理器集合中選擇特定處理器以分配中斷。該選擇可以每個處理器當下環境之因子加權組合為基礎。這些因子指示處理器之功率與性能狀態。該因子可包含功率因子(power factor)與性能因子(performance factor),其分別反映功耗與處理器性能。依據發生中斷之使用場景,確定該權重。例如,使用場景可為執行實時任務(例如,遊戲應用)之系統,並且透過系統按鍵屏幕上之使用者按鍵動作,生成中斷。這些中斷可具有緊迫響應時間需求。在該使用場景中,與延遲相關之性能因子(也稱為延遲因子)可具有比功率因子更高之權重。在另一示例中,在系統處於節省功率之關閉屏幕狀態之使用場景中,可生成中斷。在該使用場景中,該功率因子可具有比該性能因子更高之權重。
在許多實施例中,當系統負載較重時(例如,當系統之使用者正串流高品質音頻並且玩快節奏遊戲時),該性能因子具有比功率因子更高之權重。當系統負載較輕時(例如,將中斷分配至已啟動處理器,而不是喚醒空閒處理器),該功率因子具有比性能因子更高之權重。可以理解的是,依據通常可接受標準(例如,處理器資源利用數量),可定義術語「負載重」與「負載輕」。
應該注意的是,可將上述「多處理器系統」安排並管理為一個或複數個叢集。也可將多處理器系統稱為多核系統、多核處理器系統或者兩者結合。這裡使用之「處理器」可為核心、處理器核心、中央處理單元(CPU)或任何能服務中斷之處理單元。這裡使用之「叢集」可為核心組、處理器組、CPU組或任何能服務中斷之處理單元組。
第1圖是依據一實施例描述多處理器系統100之區塊圖。在這個實施例中,多處理器系統100(後續稱為系統100)包含耦接處理器P0-Pn(統稱為處理器130)之中斷控制器110,以及系統100中之裝置140。裝置140可包含,但不限於,觸摸屏141、鍵盤142、計時器143、直接記憶存取(DMA)裝置144、存儲裝置145、通用異步收發器(UART)146以及類似裝置之一個或複數個裝置。在替換實施例中,系統100可包含比第1圖所示內容更多、更少或不同裝置。每個裝置140可透過向中斷控制器110發送中斷請求(IRQ),生成中斷。為了簡化描述,忽略系統100中之附加元件。
當中斷控制器110接收IRQ時,其將IRQ轉送至處理器130中之一個處理器。接收IRQ之處理器依據已接收IRQ執行中斷服務常式(ISR)。在實施例中,中斷控制器110基於提示邏輯(hint logic)120之資訊,識別分配IRQ之處理器。提示邏輯120收集每個處理器功率與性能狀態相關之資訊。該資訊指示是否選擇給定處理器用於處理到來之中斷。然而,取決於功耗是否比延遲重要,處理器之選擇可不同。功耗是否比延遲重要可取決於系統100之使用場景。在實施例中,提示邏輯120也識別系統100之使用場景,並且向中斷控制器110提供每個處理器功率與性能狀態以及使用場景。基於該使用場景,中斷控制器100加權與每個處理器130之功率與性能狀態相對應之因子,以識別處理中斷之處理器。下面將參考第3圖至第5圖提供因子之細節描述。
在一實施例中,可將提示邏輯120實施為硬體。在另一實施例中,可將提示邏輯120實施為一個或複數個處理器130或中斷控制器110中電路執行之軟體。在另一實施例中,提示邏輯120可為硬體與軟體組合。在另一實施例中,提示邏輯120可為中斷控制器110之一部分。第1圖中之點線指示從處理器130至提示邏輯120之功率與性能狀態資訊之流。取決於該實施方式,這些點線可對應或不對應於物理連接(例如,線路)。
第2圖依據實施例描述了多叢集系統200之示例。在第2圖中,將複數個處理器安排至複數個叢集。雖然顯示了兩個叢集,但可以理解的是,多叢集系統200(後續稱為系統200)可包含任意數量叢集,並且每個叢集可包含任意數量處理器。系統200可為第1圖中系統100之示例。
在本實施例中,系統200包含第一叢集之處理器231與第二叢集之處理器232。處理器231與處理器232可具有不同功率與性能特徵。例如,每個處理器231可為高效節能處理器(標為「LP」),並且每個處理器232可為高性能處理器(標為「BP」)。為了更詳細說明,當處理器工作在相同工作頻率時,LP之低功耗、低性能、功率對比性能之平坦增長曲線對應於BP之高功耗、高性能、功率對比性能之陡峭增長曲線。在替換實施例中,系統200可包含一個或複數個叢集,並且每個叢集包含不同處理器組合(例如,LP與BP組合)。
與第1圖之系統100相似,系統200包含中斷控制器110與提示邏輯120。中斷控制器110耦接於每個LP與每個BP。與第1圖之系統100相似,中斷控制器110從提示邏輯120接收每個處理器之功率與性能狀態指示符。在實施例中,處理器231與232、中斷控制器110、提示邏輯120與複數個中斷生成裝置240a、240b、240c可為片上系統(SOC)201之一部分。裝置240a、240b、240c可統稱為裝置240。可以理解的是,SOC 201可包含耦接於中斷控制器110之任意數量中斷生成裝置240。中斷控制器110也可耦接至複數個芯片外中斷生成裝置250a、250b、250c,統稱為裝置250。系統200可包含任意數量中斷生成裝置250。裝置240之示例可包含,但不限於,圖像處理器、訊號處理器、計時器等。裝置250之示例可包含,但不限於,系統記憶體、I/O裝置等。裝置240與250生成IRQ並將IRQ發送至中斷控制器110。配置中斷控制器110將IRQ轉送至處理器231與232之所選處理器。為了簡化描述,忽略系統200中之附加元件。
與中斷處理相關之處理器之一個主要性能指示符是延遲。延遲對應中斷之處理器響應時間。第3A圖依據實施例描述了響應時間示例。當裝置斷言(assert)中斷(即,生成IRQ)時,中斷控制器110將IRQ分配至一個處理器,例如,P1。響應於IRQ,如果當時處於執行進程(例如,進程A)中間,P1暫停其當前任務,或者如果其處於低功耗狀態,則喚醒該處理器,以執行相應中斷服務常式(ISR)。從P1接收IRQ之時間(T1)至完成ISR之時間(T2)之時間間隔是P1之中斷響應時間。對於中斷資源(即,生成中斷之裝置),該響應時間是系統之延遲測量。在完成ISR後,P1可返回至其先前任務(例如,進程A)或低功率狀態。
值得注意的是,該響應時間包含ISR執行時間與轉換時間(t),其中,轉換時間(t)是P1在接收IRQ後開始ISR執行花費之時間。例如,P1可花費轉換時間,以從低功率狀態被喚醒、存儲其當前上下文、完成另一ISR等。在另一示例中,當P1接收IRQ時,P1可為中斷禁用的。當將中斷(即,IRQ)分配至中斷禁用處理器時,該中斷將處於掛起狀態,直到處理器變為中斷啟用為止。因此,將中斷在掛起狀態等待之時間增加至該響應時間。當處理器處於中斷上下文(例如,處於spinlock_irqsave上下文、處於dislable_interrupt上下文、處於ISR等)時,處理器是中斷禁用的。中斷啟用之處理器狀態是處理器能立即服務所分配中斷之指示符。
用於選擇中斷處理處理器之性能因子可包含反映響應時間之那些因子(也稱為延遲因子)。第3A圖之示例顯示性能因子可包含處理器是否為中斷啟用的。
第3B圖依據另一實施例描述了響應時間之另一示例。在該示例中,當將第二中斷(IRQ_C)分配至P1時,處理器P1具有隊列中之一掛起中斷(IRQ_B)。IRQ_C必須在隊列中等待,直到完成ISR_B(其為IRQ_B之ISR)為止。從P1接收IRQ_C之時間(T3)至完成ISR_C(其為IRQ_C之ISR)之時間(T4)之時間間隔是P1對IRQ_C之響應時間。該響應時間包含轉換時間(t)、用於執行ISR_B之IRQ_C在序列中等待花費時間,以及ISR_C之執行時間。此外,如果系統將中斷配置至複數個優先級水平,則低優先級中斷必須等待直到處理器完成高優先級中斷為止。第3B圖之示例顯示對於每個處理器,性能因子可包含中斷掛起計數及/或比分配中斷具有更高優先級之掛起中斷數量。
另一性能因子是處理器之處理速度。可透過加速ISR執行,從而降低第3A圖與第3B圖之示例響應時間。例如,BP(第2圖中處理器232)可比LP(第2圖中處理器231)在更少時間內執行相同ISR。因此,性能因子可進一步包含每個處理器之處理速度。
此外,該性能因子可涉及當待分配中斷時每個處理器執行之任務。如果處理器正在執行具有硬期限之任務、需要大量CPU資源之任務、區別於I/O限制之計算限制之任務,則由於上述任務,選擇該處理器將引起系統性能下降。因此,性能因子可進一步包含每個處理器之處理器CPU資源利用、處理器計算資源上當前任務施加之需求測量、處理器上當前任務施加之硬期限存在。
如上所述,許多使用場景對響應時間具有嚴格需求,但許多其他使用場景對於響應時間是不嚴格要求的。對於這些其他使用場景,功率節省考量可比性能考量更重要。可使用對應每個處理器功率狀態之複數個功率因子,以選擇處理器服務中斷。可使用下面所述許多因子作為性能因子或功率因子。
依據多處理器系統(例如,第1圖之系統100以及第2圖之系統200)之許多實施例,處理器可處於開啟或關閉狀態。當處理器關閉時,丟失所有處理器狀態。當叢集中所有處理器關閉時,叢集可進入關閉狀態(即,關閉叢集)。當叢集中一個或複數個處理器開啟時,叢集處於開啟狀態。為了功率管理目的,處理器可處於預定功率模式之一個,每個模式指示處理器之空閒水平。例如,「運行」模式指示為處理器中所有元件計時並且處理器之所有功能是可用的。處於運作模式之處理器是激活處理器。在「備用」模式中,開啟處理器,但禁用處理器中大部分時鐘。喚醒邏輯仍工作。在「保留」模式(其為備用模式之子類)中,處理器中隨機存取記憶體(RAM)裝置處於保留狀態,但禁用大部分或所有處理器時鐘。喚醒邏輯仍工作。在「關閉」模式中,關閉處理器並且丟失所有處理器狀態。可以理解的是,不同處理器可具有不同於上述功率模式之預定功率模式。
可使用處理器與叢集之開啟/關閉狀態,作為確定中斷分配之因子。例如,當將中斷分配至開啟處理器或叢集而不是關閉處理器或叢集時,功耗降低。
也可使用處理器之功率模式,作為確定中斷分配之因子。可使用功率模式作為每個處理器之空閒指示符。對於延遲,由於保留模式處理器將其所有狀態保留在RAM,所以處於保留模式之處理器可比處於關閉模式之處理器更快響應中斷。對於功率,由於未激活處理器消耗功率以喚醒,所以當將中斷分配至激活處理器(例如,在運行模式)比至未激活處理器(例如,在備用模式),系統功耗會少。
此外,功率因子可包含每個處理器之功耗及/或每個處理器之能量效率(也稱為功率效能)。例如,可選擇BP(第2圖中處理器232)上之LP(第2圖中處理器231)執行到來ISR,以降低功耗。
對於能量效率,動態電壓與頻率調整(DVFS)是允許系統或子系統依據負載動態修改其工作頻率以降低功耗之功率管理機制。DVFS修改提供至電路之電壓供應水平以及時鐘訊號頻率。
第4圖是依據實施例之兩種不同處理器(例如,第2圖中BP與LP)之能量效率圖。該能量效率圖顯示在垂直軸上BP與LP之功耗,以及在水平軸上各自工作頻率。圖表顯示當工作頻率增大時BP與LP之功耗增大。功耗增長對於頻率來說是非線性的;因此,當工作在更高頻率時,每個處理器之能量效率降低。雖然BP通常比LP消耗更多功率,但工作在更低頻率(例如,f1)之BP可比工作在更高頻率(例如,fn)之LP消耗更少功率,並且因此在這種情況下BP是更加節能的。在一實施例中,功率因子考慮每個處理器之能量效率,例如,每個處理器當前工作頻率之功耗。在一實施例中,第1圖與第2圖之提示邏輯120可存儲與DVFS工作頻率步驟相關之每個處理器DVFS功耗列表,以協助中斷控制器110決定選擇處理器處理到來之中斷。
第5圖是依據許多實施例描述兩個不同使用場景中加權因子之示意圖。可將第一使用場景稱為「高性能」場景,其中,處理中斷之處理器性能比處理器與系統之功耗更處於支配地位。因此,在第一使用場景中,系統將高權重分配至低延遲之因子。這些因子示例包含,但不限於:每個處理器資源狀態(例如,CPU使用狀態)、每個處理器中斷啟用狀態、每個處理器中斷掛起計數以及每個處理器空閒水平。可將第二使用場景稱為「功率節省」場景,其中,處理器與系統之功耗比處理器之性能(具體地,響應時間之延遲)更處於支配地位。因此,在第二使用場景中,系統將高權重分配至低功率及/或節能操作之因子。這些因子示例包含,但不限於:每個處理器功率狀態、每個叢集功率狀態以及每個處理器能量效率狀態。在功率節省使用場景中,即使處理器處於中斷禁用中,可將中斷分配至激活處理器。在另一功率節省使用場景中,即使當LP具有掛起中斷時,可將中斷分配至LP。換句話說,在高性能場景中,即使BP比LP消耗更多功率,可將中斷分配至立即服務中斷之BP。因此,在功率因子與性能因子間存在平衡,並且高權重因子可取決於系統之使用場景。在實施例中,中斷控制器110使用功率因子與性能因子之加權組合,以選擇處理器處理到來之中斷。
第6圖是依據實施例描述處理多處理器系統(例如,第1圖中系統100及/或第2圖中系統200)中中斷之方法600之流程圖。多處理器系統包含複數個處理器。方法600開始於步驟610,即,系統接收每個處理器之功率與性能狀態之指示符,由反映功耗與處理器性能之因子指示功率與性能狀態。在步驟620,基於該因子之加權組合,系統識別一個處理器用於處理中斷。基於生成中斷之使用場景,加權該因子。在步驟630,系統將中斷分配至已識別處理器。
可由硬體(例如,電路、專用邏輯、可程式邏輯、微碼等)或者硬體與軟體(例如,在處理裝置中運行之指令)執行方法600。在實施例中,執行方法600之系統可為行動計算及/或通訊裝置(例如,智慧型手機、平板電腦、筆記本電腦等)之一部分。在實施例中,系統可為服務器系統或雲計算系統之一部分。
已經參考第1圖與第2圖之實施例描述了第6圖之流程圖操作。然而,應當理解的是,不同於第1圖與第2圖所討論實施例之其他本發明實施例可執行第6圖之流程圖操作,並且第1圖與第2圖所討論實施例可執行不同於流程圖中所討論之步驟。雖然第6圖之流程圖顯示本發明特定實施例執行操作之特定順序,但應該理解的是,該順序是示例性的(例如,替換實施例可按照不同順序執行操作、組合特定操作、重疊特定操作等)。
雖然已經透過示例並且按照優選實施方式描述了本發明,但是要理解之是,本發明不限於此。熟悉該技術之人仍然能夠在不脫離本發明之範圍與精神之情況下進行各種變更與修改。因此,本發明之範圍應當由所附之申請專利範圍及其等同物限定與保護。
100:多處理器系統
110:中斷控制器
120:提示邏輯
130、231、232:處理器
140、240a、240b、240c、250a、250b、250c:裝置
141:觸摸屏
142:鍵盤
143:計時器
144: DMA裝置
145:存儲裝置
146:UART
200:多叢集系統
201:SOC
600:方法
610、620、630:步驟
附圖說明透過示例而非限制之方式描述本發明,其中,相同之附圖標記標識相似元件。應當注意的是,本發明中對一個實施例之不同參考並不一定是相同實施例,並且這種參考意味著至少一個。此外,當結合實施例描述特定特徵、結構或特性時,無論是否明確描述,主張本領域技術人員獲知結合其他實施例之該特徵、結構或特性。
第1圖是依據一實施例描述多處理器系統之區塊圖。
第2圖依據實施例描述了多叢集系統之示例。
第3A圖與第3B圖依據實施例描述了響應時間之示例。
第4圖是依據實施例之兩種不同處理器之能量效率圖。
第5圖是依據許多實施例描述兩個不同使用場景中加權因子之示意圖。
第6圖是依據實施例描述處理多處理器系統中中斷之方法流程圖。
600:方法
610、620、630:步驟
Claims (10)
- 一種中斷處理系統,處理一中斷,包含:複數個處理器,用於處理中斷;一中斷控制器;以及複數個中斷生成裝置,其中,配置該中斷控制器執行:接收每個處理器之一功率與性能狀態,其中,反映功耗與處理器性能之複數個因子指示該功率與性能狀態;基於該複數個因子之一加權組合,識別處理該中斷之該複數個處理器中之一個處理器,其中,基於生成該中斷之一使用場景,加權該複數個因子之每個因子;以及將該中斷分配至該複數個處理器中該所識別處理器。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器之該複數個因子包含該處理器之計算資源上當前任務施加之需求測量。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器之該複數個因子包含該處理器之當前任務施加之硬期限存在,或者包含是否啟動該處理器接收中斷。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器之該複數個因子包含該處理器之一掛起中斷計數。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器之該複數個因子包含該處理器之一開啟/關閉狀態以及包含該處理器之一叢集之一開啟/關閉狀態。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器之該複數個因子包含指示該處理器之一空閒水平之一功率模式。
- 如申請專利範圍第1項所述之中斷處理系統,其中,每個處理器 之該複數個因子包含與該處理器之一工作頻率相關之該處理器之一能量效率狀態。
- 如申請專利範圍第1項所述之中斷處理系統,其中,進一步配置該中斷處理器執行:響應於該中斷之響應時間中延遲比功耗更占支配地位之該使用場景,將高權重分配至對應該處理器之高性能之該複數個因子。
- 如申請專利範圍第1項所述之中斷處理系統,其中,進一步配置該中斷處理器執行:響應於功耗比該中斷之響應時間中延遲更占支配地位之該使用場景,將高權重分配至對應該處理器之低功耗之該複數個因子。
- 一種中斷處理方法,其中,處理包含複數個處理器之一系統中一中斷,該中斷處理方法包含:接收每個處理器之一功率與性能狀態,其中,反映功耗與處理器性能之複數個因子指示該功率與性能狀態;基於該複數個因子之一加權組合,識別處理該中斷之該複數個處理器中之一個處理器,其中,基於生成該中斷之一使用場景,加權該複數個因子之每個因子;以及將該中斷分配至該複數個處理器中該所識別處理器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962820910P | 2019-03-20 | 2019-03-20 | |
US62/820,910 | 2019-03-20 | ||
US16/810,031 | 2020-03-05 | ||
US16/810,031 US11113216B2 (en) | 2019-03-20 | 2020-03-05 | Dispatching interrupts in a multi-processor system based on power and performance factors |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202101211A TW202101211A (zh) | 2021-01-01 |
TWI739345B true TWI739345B (zh) | 2021-09-11 |
Family
ID=72514359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109108554A TWI739345B (zh) | 2019-03-20 | 2020-03-16 | 中斷處理系統與中斷處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11113216B2 (zh) |
CN (1) | CN111722697B (zh) |
TW (1) | TWI739345B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11630789B2 (en) * | 2020-09-11 | 2023-04-18 | Apple Inc. | Scalable interrupts |
US11914864B2 (en) | 2021-07-01 | 2024-02-27 | Samsung Electronics Co., Ltd. | Storage device and method of data management on a storage device |
US11934313B2 (en) | 2021-08-23 | 2024-03-19 | Apple Inc. | Scalable system on a chip |
CN117369986A (zh) * | 2023-08-07 | 2024-01-09 | 华为技术有限公司 | 一种中断请求的均衡方法、装置和计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI261784B (en) * | 2003-12-08 | 2006-09-11 | Intel Corp | Methods and apparatus to dispatch interrupts in multiprocessor systems |
US20070198759A1 (en) * | 2005-12-30 | 2007-08-23 | Stmicroelectronics Pvt. Ltd. | Advanced interrupt processor in embedded systems |
TWI307477B (zh) * | 2005-03-01 | 2009-03-11 | Seiko Epson Corp | |
US20180095913A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Generation of processor interrupts using averaged data |
TW201905686A (zh) * | 2017-06-27 | 2019-02-01 | 大陸商華為技術有限公司 | 中斷請求的處理方法、裝置、虛擬化設備及可讀存儲介質 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095624A1 (en) * | 2004-11-03 | 2006-05-04 | Ashok Raj | Retargeting device interrupt destinations |
US7962771B2 (en) * | 2007-12-31 | 2011-06-14 | Intel Corporation | Method, system, and apparatus for rerouting interrupts in a multi-core processor |
CN101354664B (zh) * | 2008-08-19 | 2011-12-28 | 中兴通讯股份有限公司 | 多核处理器中断负载均衡方法和装置 |
US8321614B2 (en) * | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US8260996B2 (en) * | 2009-04-24 | 2012-09-04 | Empire Technology Development Llc | Interrupt optimization for multiprocessors |
US8959270B2 (en) * | 2010-12-07 | 2015-02-17 | Apple Inc. | Interrupt distribution scheme |
CN102521047B (zh) * | 2011-11-15 | 2014-07-09 | 重庆邮电大学 | 实现多核处理器间中断负载均衡的方法 |
CN104169879B (zh) * | 2012-04-24 | 2019-01-04 | 英特尔公司 | 用于动态中断重新配置的方法和计算机系统 |
US9791904B2 (en) * | 2014-08-15 | 2017-10-17 | Intel Corporation | Balanced control of processor temperature |
US9798377B2 (en) * | 2014-10-08 | 2017-10-24 | Apple Inc. | Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors |
US10234930B2 (en) * | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9830187B1 (en) * | 2015-06-05 | 2017-11-28 | Apple Inc. | Scheduler and CPU performance controller cooperation |
US10089265B2 (en) * | 2015-08-07 | 2018-10-02 | Mediatek Inc. | Methods and systems for handling interrupt requests |
US11182315B2 (en) * | 2017-02-10 | 2021-11-23 | Intel Corporation | Apparatuses, methods, and systems for hardware control of processor performance levels |
CN107682135B (zh) * | 2017-09-30 | 2020-06-02 | 重庆邮电大学 | 一种基于noma的网络切片自适应虚拟资源分配方法 |
CN107870818B (zh) * | 2017-10-19 | 2021-03-02 | 瑞芯微电子股份有限公司 | 多核处理器中断动态响应方法及存储介质 |
-
2020
- 2020-03-05 US US16/810,031 patent/US11113216B2/en active Active
- 2020-03-16 TW TW109108554A patent/TWI739345B/zh active
- 2020-03-17 CN CN202010186018.0A patent/CN111722697B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI261784B (en) * | 2003-12-08 | 2006-09-11 | Intel Corp | Methods and apparatus to dispatch interrupts in multiprocessor systems |
TWI307477B (zh) * | 2005-03-01 | 2009-03-11 | Seiko Epson Corp | |
US20070198759A1 (en) * | 2005-12-30 | 2007-08-23 | Stmicroelectronics Pvt. Ltd. | Advanced interrupt processor in embedded systems |
US20180095913A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Generation of processor interrupts using averaged data |
TW201905686A (zh) * | 2017-06-27 | 2019-02-01 | 大陸商華為技術有限公司 | 中斷請求的處理方法、裝置、虛擬化設備及可讀存儲介質 |
Also Published As
Publication number | Publication date |
---|---|
CN111722697A (zh) | 2020-09-29 |
CN111722697B (zh) | 2022-03-25 |
US20200301860A1 (en) | 2020-09-24 |
US11113216B2 (en) | 2021-09-07 |
TW202101211A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI739345B (zh) | 中斷處理系統與中斷處理方法 | |
US10649935B2 (en) | Deferred inter-processor interrupts | |
TWI233545B (en) | Mechanism for processor power state aware distribution of lowest priority interrupts | |
JP6197196B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
US10509677B2 (en) | Granular quality of service for computing resources | |
US8423799B2 (en) | Managing accelerators of a computing environment | |
US8776079B2 (en) | Task processor | |
TWI639956B (zh) | 運行多核系統的裝置 | |
WO2011116842A1 (en) | Allocating computing system power levels responsive to service level agreements | |
TW201217954A (en) | Power management in a multi-processor computer system | |
Jeon et al. | Load unbalancing strategy for multicore embedded processors | |
Zhang | Energy-aware nonpreemptive scheduling of mixed-criticality real-time task systems | |
Cho et al. | A high performance load balance strategy for real‐time multicore systems | |
JP2010277177A (ja) | マルチオペレーティングシステム制御方法及びプロセッサシステム | |
KR20220105678A (ko) | 이기종 프로세서 간의 태스크 전이 방법 | |
TWI823655B (zh) | 適用於智慧處理器的任務處理系統與任務處理方法 | |
US20240231899A9 (en) | Task processing system and task processing method applicable to intelligence processing unit | |
WO2023225991A1 (en) | Dynamic establishment of polling periods for virtual machine switching operations | |
US11347544B1 (en) | Scheduling work items based on declarative constraints | |
JP2010049700A (ja) | タスク処理装置 | |
JP6409218B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
TW202420083A (zh) | 適用於智慧處理器的任務處理系統與任務處理方法 | |
CN118113657A (zh) | 使用网络流量元数据来控制处理器 | |
JP2016212907A (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
JP2017021811A (ja) | 電力効率の優れたプロセッサアーキテクチャ |