TWI492157B - 處理中斷要求事件的裝置與方法 - Google Patents
處理中斷要求事件的裝置與方法 Download PDFInfo
- Publication number
- TWI492157B TWI492157B TW102107700A TW102107700A TWI492157B TW I492157 B TWI492157 B TW I492157B TW 102107700 A TW102107700 A TW 102107700A TW 102107700 A TW102107700 A TW 102107700A TW I492157 B TWI492157 B TW I492157B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- interrupt
- request event
- processors
- interrupt request
- Prior art date
Links
Landscapes
- Bus Control (AREA)
Description
本發明係有關於一種中斷導引機制(interrupt routing scheme),尤指一種中斷控制器、包含有中斷控制器與處理器的裝置以及用以處理系統中的中斷要求事件之相對應方法。
針對具有多個處理器(也稱作微處理器)之系統,為了執行一服務常式(service routine),通常需要對該些處理器其中之一發出一中斷要求事件(interrupt request event)。當處理器正在執行主程序時接收到一中斷要求事件,則處理器會暫時中斷執行中的主程序,並接著執行對應中斷輸入之中斷要求事件所指定之中斷服務常式(Interrupt Service Routine,ISR)。在系統中,複數個中斷輸入可能會由多種來源所產生,由於一個處理器無法同時執行對應該複數個中斷輸入之多個中斷服務常式,因此需要提供一中斷控制器以接收各種中斷輸入,並將該些中斷輸入導引至該些處理器之其中的一或多個處理器,然而,當前所發展的中斷導引機制無法在該些處理器在特定時段中變忙碌或無法使用的嚴峻情形下達到穩定且更好的效能。
因此本發明的目的之一在於提供一種中斷控制器、包含該中斷控制器與至少一處理器之裝置以及相對應的方法,來解決上述問題並改善整體系統之效能與穩定度。
依據本發明之實施例,提供一種耦接至複數個處理器並用以
將至少一中斷要求事件導引至該些處理器之其中至少一個的中斷控制器。中斷控制器包含接收電路與控制電路。接收電路是用於接收至少一中斷輸入,而耦接至接收電路的控制電路是用以基於所接收之中斷輸入來產生至少一中斷要求事件並將所產生之中斷要求事件引導至該些處理器之其中至少一個。此外,該複數個處理器包含至少一第一處理器與一第二處理器,而至少該第一與第二處理器是用以處理中斷要求事件。控制電路可被用以撤回或取消已經被送至第一處理器之中斷要求事件的設立。
依據本發明之實施例,提供一種耦接於複數個處理器並用以
將至少一中斷要求事件引導至該些處理器的其中至少一個的中斷控制器。中斷控制器包含接收電路與控制電路。接收電路是用於接收至少一中斷輸入,而耦接至接收電路的控制電路是用以基於所接收之中斷輸入來產生至少一中斷要求事件並將所產生之中斷要求事件引導至該些處理器之其中至少一個。此外,該複數個處理器包含至少一第一處理器與一第二處理器,而至少該第一與第二處理器是用以處理中斷要求事件。控制電路是用以依據分別對應於該些處理器之加權值來傳送中斷要求事件至該複數個處理器。
依據本發明之實施例,提供一種耦接於複數個處理器並用以
將至少一中斷要求事件引導至該些處理器的其中至少一個的中斷控制器。中斷控制器包含接收電路與控制電路。接收電路是用於接收至少一中斷輸入,而耦接至接收電路的控制電路是用以基於所接收之中斷輸入來產生至少一中斷要求事件並將所產生之中斷要求事件引導至該些處理
器之其中至少一個。此外,該複數個處理器包含至少一第一處理器與一第二處理器,而至少該第一與第二處理器是用以處理中斷要求事件。在傳送中斷要求事件之前,控制電路是用以藉由設立中斷預先要求訊號連同相同的中斷向量編號來傳送預先要求事件至該複數個處理器以查詢是否該複數個處理器個別可以接受中斷要求事件。
依據本發明之實施例,提供一種耦接於複數個處理器並用以
將至少一中斷要求事件引導至該些處理器的其中至少一個的中斷控制器。中斷控制器包含接收電路與控制電路。接收電路是用於接收至少一中斷輸入,而耦接至接收電路的控制電路是用以基於所接收之中斷輸入來產生至少一中斷要求事件並將所產生之中斷要求事件引導至該些處理器之其中至少一個。此外,該複數個處理器包含至少一第一處理器與一第二處理器,而至少該第一與第二處理器是用以處理中斷要求事件。該控制電路係結合一串速率控制邏輯來被實現,用以產生速率指標值給該接收電路以動態調整相關中斷輸入之緊急等級。
依據本發明之實施例,提供一種耦接於複數個處理器並用以
將至少一中斷要求事件引導至該些處理器的其中至少一個的中斷控制器。中斷控制器包含接收電路與控制電路。接收電路是用於接收至少一中斷輸入,而耦接至接收電路的控制電路是用以基於所接收之中斷輸入來產生至少一中斷要求事件並將所產生之中斷要求事件引導至該些處理器之其中至少一個。此外,該複數個處理器包含至少一第一處理器與一第二處理器,而至少該第一與第二處理器是用以處理中斷要求事件。控制電路是用以在一時間點之仲裁時段中,使用分時方法來產生並引導一中斷要求事件至包含於該複數個處理器中之一處理器,並在另一時間點之另一仲裁時段中,產生以及引導另一中斷要求事件至包含於該複數個
處理器中之另一處理器中。
依據本發明之實施例,提供了一種處理具有複數個處理器之
系統中的中斷要求事件之方法。該方法包含:接收至少一中斷輸入;基於所接收之中斷輸入來產生至少一中斷要求事件;將所產生之中斷要求事件引導至該些處理器之其中至少一個;以及撤回或取消已被傳送至第一處理器之中斷要求的設立;其中該複數個處理器包含至少該第一處理器與第二處理器,而至少該第一處理器與第二處理器是被用於處理中斷要求事件。
依據本發明之實施例,提供了一種處理具有複數個處理器之
系統中的中斷要求事件之方法。該方法包含:接收至少一中斷輸入;基於所接收之中斷輸入來產生至少一中斷要求事件;將所產生之中斷要求事件引導至該些處理器之其中至少一個;以及依據分別對應該些處理器之加權值來傳送中斷要求事件至該複數個處理器;其中該複數個處理器包含至少該第一處理器與第二處理器,而至少該第一處理器與第二處理器是被用於處理中斷要求事件。
依據本發明之實施例,提供了一種處理具有複數個處理器之
系統中的中斷要求事件之方法。該方法包含:接收至少一中斷輸入;基於所接收之中斷輸入來產生至少一中斷要求事件;將所產生之中斷要求事件引導至該些處理器之其中至少一個;以及在傳送中斷要求事件之前,藉由設立用以查詢是否該複數個處理器個別都能接受中斷要求事件之中斷預先要求訊號連同相同的中斷向量編號來傳送預先要求事件至該複數個處理器;其中該複數個處理器包含至少該第一處理器與第二處理器,而至少該第一處理器與第二處理器是被用於處理中斷要求事件。
依據本發明之實施例,提供了一種處理具有複數個處理器之
系統中的中斷要求事件之方法。該方法包含:接收至少一中斷輸入;基於所接收之中斷輸入來產生至少一中斷要求事件;將所產生之中斷要求事件引導至該些處理器之其中至少一個;以及動態調整中斷要求事件之緊急等級;其中該複數個處理器包含至少該第一處理器與第二處理器,而至少該第一處理器與第二處理器是被用於處理中斷要求事件。速率指標值係被產生來動態調整相關中斷輸入之緊急等級。
依據本發明之實施例,提供了一種處理具有複數個處理器之
系統中的中斷要求事件之方法。該方法包含:接收至少一中斷輸入;基於所接收之中斷輸入來產生至少一中斷要求事件;將所產生之中斷要求事件引導至該些處理器之其中至少一個;在一時間點上之仲裁時段內,使用分時方法來產生並導引一中斷要求事件至包含於該複數個處理器內之一處理器;以及在另一時間點上之另一仲裁時段內,使用分時方法來產生並導引另一中斷要求事件至包含於該複數個處理器內之另一處理器;其中該複數個處理器包含至少該第一處理器與第二處理器,而至少該第一處理器與第二處理器是被用於處理中斷要求事件。
另外,依據本發明之實施例,提供了一種包含上述之該些中
斷控制器的其中之一,並被用於處理具有複數個處理器之系統中的至少一中斷輸入的裝置。該裝置也可包含多個處理器。
本發明所提出之方法與裝置能在處理器於特定時段中變忙碌
或無法使用的嚴峻情形下達到穩定且更好的效能,並有效地改善整體系統之效能與穩定度。
裝置
105、505‧‧‧中斷控制器
110A、110B‧‧‧處理器
115‧‧‧接收電路
120‧‧‧控制電路
525‧‧‧速率控制邏輯
第1圖係繪示依據本發明之實施例之用以處理具有複數個處理器之系統中的至少一組中斷輸入INT(包含至少複數個中斷輸入int_0、int_1、int_2、…以及int_N之其一)之裝置的方塊圖。
第2圖係繪示包含於第一圖所示之中斷控制器與處理器之間的訊號介面中不同訊號之功能的表格。
第3A圖係繪示依據本發明之第一實施例之處理器接受第1圖所示之中斷控制器所傳送之中斷要求事件的操作之時序圖。
第3B圖係繪示依據本發明之第一實施例之在訊號INT_BUSY被重置後,處理器接受第1圖所示之中斷控制器所傳送之中斷要求事件的操作之時序圖。
第3C圖與第3D圖係分別繪示依據本發明之第一實施例之第1圖中所示之中斷控制器撤回或取消傳送至處理器之中斷要求事件的操作。
第3E圖係繪示依據本發明之第一實施例之處理器拒絕第1圖中所示之中斷控制器所傳送之中斷要求事件之撤回或取消的操作。
第4圖係繪示第1圖所示之中斷控制器傳送中斷預先要求事件至該些處理器連同相同中斷向量編號VN,以詢問是否該複數個處理器個別可接受該中斷要求事件之操作的時序圖。
第5圖係繪示依據本發明之另一實施例之外部耦接至控制電路並包含於中斷控制器中之連串速率控制邏輯之方塊圖。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區
分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此係包含任何直接或間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可依直接電氣聯結方式(direct electrical connection)接於該第二裝置,或通過其他裝置或聯結手段依間接電氣聯結方式(indirect electrical connection)接至該第二裝置。
請參照第1圖,第1圖係繪示依據本發明之實施例之用以處理具有複數個處理器之系統中的至少一組中斷輸入INT(至少包含中斷輸入int_0、int_1、int_2、…以及int_N之其一)之裝置100的方塊圖。中斷輸入int_0、int_1、int_2、…以及int_N為不同電子電路元件或裝置所產生之不同的中斷來源。在此假設該些中斷來源可由複數個中斷向量(interrupt vector)來表示;當一中斷輸入(interrupt input)被選擇而作為送至處理器的中斷要求事件(interrupt request event)時,該中斷輸入之相對應的向量編號(vector number)會透過訊號介面被送至處理器,然而,這不是用於對本發明設限。裝置100包含中斷控制器105與複數個處理器(像是110A與110B),並用以執行可調整多核心中斷導引機制(scalable multi-core interrupt routing scheme),這代表裝置100可以為多個處理器引導中斷輸入,其中處理器的數目是可調整的。處理器110A與處理器110B可以是微處理器(或可被當作資料處理引擎)並可以被設定來處理或服務對應中斷控制器105所傳送之中斷要求事件的中斷輸入。第1圖繪示了處理器110A與處理器110B,然而,所繪示之處理器的數目並非對本發明設限。在另一實作中,裝置100可只包含一個處理器或兩個以上的處理器。
中斷控制器105包含接收電路115與控制電路120。接收電路115是用
於接收中斷輸入INT,而耦接於接收電路115之控制電路120則是用以基於所接收之中斷輸入INT來產生至少一中斷要求事件,並接著將所產生之中斷要求事件引導至一或多個處理器。該些處理器的其中之一處理器可判斷要接受或拒絕中斷控制器105所傳送之中斷要求事件,處理器也可選擇忽略所傳送之中斷要求事件。一旦處理器接受所傳送之中斷要求事件,處理器會執行中斷處理程序(interrupt handler)來服務對應中斷要求事件之中斷輸入。處理器會適當且正確地服務對應於中斷要求事件之中斷輸入INT。中斷控制器105也可提供具有供系統軟體(system software)來選擇中斷取樣(sampling)、排程(scheduling)、仲裁(arbitration)以及導引(routing)等之適當機制之不同程式暫存器(programming register)的程式介面(programming interface)。此外,中斷控制器105是用以與一或多個處理器(像是處理器110A與處理器110B)互連,並藉此讓處理器能盡快地服務中斷輸入。
在所提供的實施例中,中斷控制器105與該些處理器個別之間的訊號介面包含一組訊號:INT_INPUT、INT_REQ、INT_BACKOFF、INT_PREREQ、INT_URGENCY、INT_BUSY、INT_ACK以及PROC_URGENCY。當訊號之設立(assertion)發生時,這代表中斷控制器105與一處理器兩者中的一個正在使用對應該訊號之一訊號埠來將資訊告知或傳送至兩者中的另一個。當訊號之重置(de-assertion)發生時,這代表中斷控制器105與一處理器兩者中的一個將資訊告知或傳送至兩者中的另一個之操作已結束。中斷控制器105與每一處理器會透過該一組訊號來相互通訊。包含於訊號介面內的不同訊號具有不同的功能;這些會於稍後說明。此外,需要注意的是,在其它例子中,上述之該組訊號可以被不同的名字或記號來稱呼,而這些例子仍屬於本發明之範疇。
請參照第2圖,第2圖係繪示包含於中斷控制器105與處理
器之間的訊號介面中不同訊號之功能的表格。訊號INT_INPUT、INT_REQ、INT_BACKOFF、INT_PREREQ、INT_URGENCY會被中斷控制器105所使用來產生並傳送資訊至一相對應的處理器,以便傳送資訊至該處理器或通知該處理器。此外,訊號INT_BUSY、INT_ACK、以及PROC_URGENCY是被處理器而非中斷控制器105所使用,來產生並傳送資訊至中斷控制器105,以便傳送資訊至中斷控制器105或是通知或回應中斷控制器105。藉由這種資訊交握過程,中斷控制器105可以有效地與每一處理器進行通聯以交換彼此的資訊。實際上,若上述處理器與中斷控制器兩者皆能依據一些同步時脈訊號(synchronous clock signal)或一些非同步時脈訊號(asynchronous clock signal)來操作時,這樣的資訊交握過程(也可被指稱為互鎖(inter-lockable)交握過程)可良好地運行於具有上述處理器與中斷控制器之系統的不同實作中。此外,該些訊號會被使用於本發明之實施例中,來顯示不管處理器與中斷控制器之間的時脈關係為何,此過程都能良好地運作。
訊號INT_INPUT的功能代表中斷要求事件是基於中斷輸入INT而產生,同時訊號INT_INPUT是對應於一或多個中斷輸入來源int_0、int_1、int_2、…,以及int_N。此外,訊號INT_INPUT也可代表映射(map)至該些中斷來源int_0、int_1、int_2、…,以及int_N之其一所產生的中斷要求事件之向量編號。當訊號INT_REQ被設立(asserted)時,代表中斷控制器105正使用訊號INT_REQ之功能來告知處理器(像是處理器110A)中斷要求事件之發生。中斷控制器105會使用訊號INT_BACKOFF之功能來告知處理器先前被送至處理器之中斷要求事件的撤回或取消。當訊號INT_PREREQ被設立時,代表中斷控制器105正使用訊號INT_PREREQ之功能並連同訊號INT_INPUT來詢問處理器是否可以服務對應中斷要求事件之中斷輸入。中斷控制器105會使用訊號
INT_URGENCY之功能來通知處理器中斷要求事件的緊急等級(urgency level)。此外,當訊號INT_BUSY被設立時,代表處理器正使用訊號INT_BUSY之功能來通知中斷控制器105處理器暫時忙碌中而無法服務對應新的中斷要求事件之中斷輸入。另外,處理器也可使用訊號INT_BUSY來拒絕中斷控制器105所傳送之中斷要求事件;這會在稍後說明。處理器會使用訊號INT_ACK之功能來通知中斷控制器105,由中斷控制器105所傳送之目前中斷要求事件已被處理器本身所接受,而處理器接著會執行一中斷處理程序以服務對應中斷要求事件之中斷輸入。這代表對應此一中斷要求事件之一中斷輸入已被適當地引導至可用的處理器,並且該中斷輸入可以被服務。處理器會使用訊號PROC_URGENCY之功能來通知中斷控制器105處理器本身目前正在處理或服務的中斷輸入之緊急等級。
需要注意的是,於本發明之實施例中,中斷控制器105與每一處理器之間的通訊界面(或訊號介面)是用以傳送具有在訊號INT_INPUT上之相對應向量編號的中斷要求事件。然而,這不是用於對本發明設限。在另一實施例中,通訊介面也可被用於傳送以訊號INT_INPUT之個別腳位來代表一或多個中斷輸入之中斷要求事件,。在上述任一種通訊介面之使用方式中,裝置100與中斷控制器105都可被用於解析並處理中斷輸入。
在本發明之下列實施例中,會詳述中斷控制器105與一或多個處理器之間的通訊。在本發明之第一實施例中,控制電路120可以判斷是否撤回或取消已被傳送至處理器(像是處理器110A)之中斷要求事件,並在控制電路120決定要撤回或取消中斷要求事件時,設立訊號INT_BACKOFF。處理器110A可以在觀察到所傳送之中斷要求事件的取
消後,認可(confirm)是否允許撤回或取消所傳送之中斷要求事件,並以一個已認可結果(confirmed result)告知中斷控制器105。
請一同參照第3A圖與第3B圖。第3A圖係繪示依據本發明之第一實施例之處理器接受中斷控制器105所傳送之中斷要求事件的操作之時序圖。第3B圖係繪示依據本發明之第一實施例之在訊號INT_BUSY被重置後,處理器接受中斷控制器105所傳送之中斷要求事件的操作之時序圖。如第3A圖所示,在時脈週期(clock cycle)t1時,中斷控制器105會設立訊號INT_REQ來告知處理器(像是處理器110A)即將送達的中斷要求事件。在時脈週期t1時,中斷控制器105也會使用訊號INT_INPUT來告知處理器110A所傳送之中斷要求事件的相對應向量編號VN。處理器110A會接受中斷要求事件,並在觀察到訊號INT_REQ的設立之後,執行相對應的中斷處理程序來服務對應於中斷要求事件之中斷輸入。由此,處理器110A會在時脈週期t2設立訊號INT_ACK來告知中斷控制器105處理器110A已接受中斷要求事件。處理器110A是用以透過訊號INT_ACK來傳送一確認指示(acknowledge indication)給中斷控制器105,來指出處理器110A已接受所傳送之中斷要求事件。在觀察到訊號INT_ACK之設立後,中斷控制器105會在時脈週期t3重置(de-assert)訊號INT_REQ。處理器110A接著會在觀察到訊號INT_REQ的重置後,在時脈週期t4重置訊號INT_ACK。在第3A圖所示的例子中,處理器110A是可用的,因而在時脈週期t1接受了新的中斷要求事件,而在訊號INT_ACK於時脈週期t2被設立之前,訊號INT_BUSY並沒有被設立。此外,中斷控制器105沒有要撤回或取消被傳送至處理器110A的中斷要求事件,因此在觀察到訊號INT_ACK在時脈週期t2的設立之前,訊號INT_BACKOFF並沒有被設立。
在另一例子中,如第3B圖所示,在時脈週期t1時,中斷控制器105會設立訊號INT_REQ來告知處理器(像是處理器110A)正被送入的一中斷要求事件。另外,在時脈週期t1時,中斷控制器105也會使用訊號INT_INPUT來告知處理器110A對應於所傳送之中斷要求事件的向量編號VN。處理器110A接著非預期地(unexpectedly)進入忙碌狀態而暫時無法服務中斷輸入,因此處理器110A會在時脈週期t2時設立訊號INT_BUSY。處理器110A是用以透過訊號INT_BUSY傳送一忙碌指示(busy indication)給中斷控制器105,來指出處理器110A在訊號INT_BUSY的設立期間無法接受所傳送之中斷要求事件。在觀察到訊號INT_BUSY的設立後,中斷控制器105決定要等待直到處理器110A終究可以接受該中斷要求事件,而非撤回或取消該中斷要求要求,因此中斷控制器105在時脈週期t2與時脈週期t4之間的訊號INT_BUSY設立期間並不會設立訊號INT_BACKOFF。
在一或數個時脈週期之後,處理器110A會變為可用的並能立即服務中斷輸入,因此處理器110A會在時脈週期t4時重置訊號INT_BUSY以準備接受中斷要求事件,接著在時脈週期t5設立訊號INT_ACK來告知中斷控制器105處理器110A已接受此一中斷要求事件。在觀察到訊號INT_ACK的設立之後,中斷控制器105會在時脈週期t6重置訊號INT_REQ。處理器110A接著會在觀察到訊號INT_REQ的重置後,在時脈週期t7重置訊號INT_ACK。在第3B圖中所示的例子中,中斷控制器105在處理器110A忙碌時決定等待處理器110A而不是撤回或取消被傳送至處理器110A之中斷要求事件,因此訊號INT_BACKOFF不會在時脈週期t2與時脈週期t4之間的訊號INT_BUSY設立期間被設立。
請一同參照第3C圖與第3D圖。第3C圖與第3D圖係分別繪示依據本發明之第一實施例之中斷控制器105撤回或取消傳送至處理器之中斷要求事件的操作。如第3C圖所示,在時脈週期t1時,中斷控制器105會設立訊號INT_REQ來告知處理器(像是處理器110A)正被送入的一中斷要求事件。另外,在時脈週期t1時,中斷控制器105也會使用訊號INT_INPUT來告知處理器110A所傳送之中斷要求事件的相對應向量編號VN。處理器110A接著非預期地進入忙碌狀態而暫時無法服務中斷輸入,因此處理器110A會在時脈週期t2時設立訊號INT_BUSY。處理器110A是用以透過訊號INT_BUSY傳送一忙碌指示給中斷控制器105來指出處理器110A在訊號INT_BUSY的設立期間無法接受所傳送之中斷要求事件。在觀察到訊號INT_BUSY的設立後,中斷控制器105決定要取消被傳送至處理器110A之中斷要求事件,並因此在時脈週期t3設立訊號INT_BACKOFF以取消該中斷要求事件。由於訊號INT_BACKOFF與訊號INT_BUSY在時脈週期t3同時被設立,中斷控制器105會判定處理器110A現在是不可用的,且無法立即服務對應中斷要求事件之中斷輸入。因此,中斷控制器105接著會在時脈週期t4重置訊號INT_REQ。處理器110A接著會藉由在時脈週期t5重置訊號INT_BUSY來認可中斷要求事件的撤回或取消。接下來,中斷控制器105便會在時脈週期t6重置訊號INT_BACKOFF以完成撤回或取消操作。
在另一例子中,如第3D圖所示,在時脈週期t1時,中斷控制器105會設立訊號INT_REQ來告知處理器(像是處理器110A)正被送入的一中斷要求事件。另外,在時脈週期t1時,中斷控制器105也會使用訊號INT_INPUT來告知處理器110A所傳送之中斷要求事件的相對應向量編號VN。在此例子中,處理器110A可在不告知中斷控制器105之下就進入忙碌狀態。雖然處理器110A沒有藉由設立訊號INT_BUSY來指
出這樣的情形,處理器110A仍會處於忙碌狀態並暫時無法服務中斷要求。中斷控制器105接著決定藉由在時脈週期t3設立訊號INT_BACKOFF,來主動撤回或取消被傳送至處理器110A且經一段時間未被服務的中斷要求事件。
在觀察到訊號INT_BACKOFF的設立後,處理器110A仍可決定是否要接受、忽略或拒絕該中斷要求事件的撤回或取消。在此例子中,處理器110A決定要接受該中斷要求事件的撤回或取消,因而在時脈週期t4時設立訊號INT_BUSY來告知中斷控制器105處理器110A拒絕或不接受該中斷要求事件;也就是說,接受了該中斷要求事件的撤回或取消。在觀察到訊號INT_BUSY的設立之後,中斷控制器105會得知處理器110A接受了中斷要求事件的撤回或取消,並接著在時脈週期t5重置訊號INT_REQ。由於在此例子中,處理器110A使用訊號INT_BUSY來告知中斷控制器105中斷要求事件的接受或撤回,處理器110A是用以在觀察到訊號INT_REQ之重置後,於時脈週期t6重置訊號INT_BUSY。中斷控制器105接著會在時脈週期t7重置訊號INT_BACKOFF。
請參照第3E圖,第3E圖係繪示依據本發明之第一實施例之處理器拒絕中斷控制器105所傳送之中斷要求事件之撤回或取消的操作。如第3E圖所示,在時脈週期t1時,中斷控制器105會設立訊號INT_REQ來告知處理器(像是處理器110A)正被送入的一中斷要求事件。另外,在時脈週期t1時,中斷控制器105會使用訊號INT_INPUT來告知處理器110A所傳送之中斷要求事件的相對應向量編號VN。在此例子中,在傳送中斷要求事件至處理器110A後,由於中斷控制器105認為處理器110B比處理器110A更適合去解析並處理該中斷要求事件,中斷控制器105會決定改傳送該中斷要求事件至另一處理器110B而不要給處理
器110A。因此,中斷控制器105會藉由在時脈週期t2設立訊號INT_BACKOFF來撤回或取消已被傳送至處理器110A之中斷要求事件。
處理器110A會在觀察到訊號INT_BACKOFF的設立後,判斷是否要接受中斷控制器105所要求之撤回或取消。在此例子中,處理器110A決定要拒絕中斷控制器105所要求之撤回或取消。換句話說,處理器110A會接受中斷控制器105先前所傳送之中斷要求事件。處理器110A因此在時脈週期t3會設立訊號INT_ACK來告知中斷控制器105接受了該中斷要求事件。在觀察到訊號INT_ACK的設立後,中斷控制器105會得知中斷控制器105所要求的撤回或取消失敗了,並會接著在時脈週期t4重置訊號INT_BACKOFF。
在重置訊號INT_BACKOFF後,中斷控制器105會藉由在時脈週期t5重置訊號INT_REQ來完成中斷要求事件。在觀察到訊號INT_REQ之重置後,處理器110A會知道中斷要求事件的交握處理已完成,並接著在時脈週期t6重置訊號INT_ACK。在第3E圖所示的例子中,處理器110A會在觀察到訊號INT_BACKOFF的設立後,決定接受中斷控制器105先前所傳送之中斷要求事件。在另一例子中,處理器110A會在沒有觀察到訊號INT_BACKOFF之設立的情形下,決定接受中斷控制器105先前所傳送之中斷要求事件。這樣的操作也符合本發明的精神。
中斷控制器105會針對下列原因來設立訊號INT_BACKOFF以撤回或取消訊號INT_REQ的設立:在傳送中斷要求事件至處理器110A之後,中斷控制器105偵測到具有比所傳送之中斷要求事件之優先順序高的另一中斷輸入。在此情形中,中斷控制器105會認為具有較高優先順序之中斷輸入應該立即被處理器110A所服務,因此中斷控制器105會
撤回或取消先前被傳送至處理器110A之中斷要求事件;在另一例子中,中斷控制器105可能會認為或判斷假如先前被傳送至處理器110A之中斷要求事件被取消並接著被引導至另一處理器(像是處理器110B),則整體效能可被提升。因此,中斷控制器105會撤回或取消先前被傳送至處理器110A之中斷要求事件。上述例子都是屬於本發明之範疇。
依據本發明之第二實施例,耦接至複數個處理器(像是處理器110A與處理器110B)之中斷控制器105是用以將至少一中斷要求事件導引至處理器110A與處理器110B的其中至少一個。接收電路115是用以接收至少一中斷輸入INT,而耦接至接收電路115之控制電路120則是用以基於所接收之中斷輸入INT來產生中斷要求事件並將所產生之中斷要求事件導引至處理器110A與處理器110B的其中至少一個。處理器110A與處理器110B是被用以處理中斷要求事件。中斷控制器105包含可程式中斷導引之功能,並能將一中斷要求事件導引至一組處理器或導引一中斷要求事件至一特定處理器。在第二實施例之例子中,中斷控制器105之接收電路115所接收之每一中斷輸入INT可由控制電路120所程式化,而導引至耦接至或附加於中斷控制器105之一組處理器(其可包含處理器110A與處理器110B)。此外,接收電路115所接收之一中斷輸入INT也可被控制電路120所程式化,而僅引導至單一處理器。然而,上述並不是本發明的限制。
應該要注意的是,中斷控制器105包含三種可程式中斷導引機制,其包含一首選(preferred)導引機制、一平衡(balanced)導引機制以及一預先要求(pre-request)導引機制。對於首選導引機制來說,中斷控制器105之控制電路120會決定每一個要被導引之中斷輸入被指定至用以提供服務之一預定的相對應處理器。因此,當接收電路115接收中斷輸入
INT時,控制電路120總是會將由該中斷輸入衍生出來的中斷要求事件導引至某一特定處理器(像是處理器110A,前提是當處理器110A係為可用時)。
對於平衡導引機制來說,控制電路120會針對處理器來維持(maintain)其對應之加權值(weighting value)。對於那些經由程式化而要在平衡導引機制之下被導引的中斷輸入來說,每一加權值係被關聯至一處理器以代表可被該處理器所耗用來服務一中斷之一參考時間,或者可被該處理器於一時段中所服務之中斷的個數。控制電路120會藉由參照該組處理器之分別的平均負載來產生該些加權值。對於那些經由程式化而要在平衡導引機制之下被導引的中斷輸入來說,控制電路120會依據處理器花費於服務一中斷之實際時間或該處理器於一時段內所服務之中斷的實際數量的比例,來計算參與該平衡導引機制之每一處理器之平均負載值。假如處理器的平均負載值很大,這可指出該處理器會立即服務發送給該處理器之中斷輸入的機會很小,即使該處理器並非正在忙碌且能接受某一些中斷要求事件;相反地,假如處理器的平均負載值很小,這樣可以指出該處理器可以有效率地服務發送給該處理器之中斷輸入的機會很大。在一些其它實施例中,控制電路120可更進一步在平衡導引機制中動態調整該些處理器之加權值,這樣可以根據該些處理器有多快接受中斷要求事件而定。舉例來說,假如處理器是忙碌的且長時間無法接受由控制電路120所導引至處理器之中斷要求事件,則控制電路120會降低該處理器所對應之加權值;另一方面,假如處理器是可用的且很快接受由控制電路120所導引至處理器之中斷要求事件,那麼控制電路120會提升該處理器所對應之加權值。因此,具有較大加權值之處理器係代表該處理器在一段時間內可服務更多量的中斷輸入,而具有較小加權值之處理器則代表該處理器在一段時間內可服務較少量的中斷輸入。不同
加權值也指出相對應之處理器可接受中斷要求事件並很快服務對應之中斷輸入的不同機率。
對於預先要求導引機制,控制電路120是用以藉由設立中斷預先要求(interrupt pre-request)訊號INT_PREREQ並連同訊號INT_INPUT上之相同的中斷向量編號VN,來傳送預先要求事件至該複數個處理器(像是處理器110A與處理器110B),以詢問是否該複數個處理器110A與處理器110B中的每一處理器可接受該中斷要求事件。請參照第4圖,第4圖係繪示中斷控制器105傳送中斷預先要求事件至處理器110A與處理器110B連同相同的中斷向量編號VN,以詢問是否處理器110A與處理器110B中每一處理器是否可接受該中斷要求事件之操作的時序圖。如第4圖所示,控制電路120會先傳送中斷預先要求事件至處理器110A與處理器110B以詢問處理器110A與處理器110B中哪個能接受該中斷要求事件。因此,控制電路120是用以在時脈週期t1時,藉由分別設立訊號INT_PREREQ(也就是INT_PREREQ_A與INT_PREREQ_B)連同在相對應通訊介面中的相對應訊號INT_INPUT上之相同的向量編號VN,來分別傳送中斷預先要求事件至處理器110A與處理器110B。
在一操作情境中,處理器110A與處理器110B兩者皆想要告知中斷控制器105各自是在一可用的狀態(也就是非忙碌),因此處理器110A與處理器110B會藉由設立中斷確認訊號來指出該些處理器可以接受並服務該中斷要求事件,來回應一確認指示給中斷控制器105。處理器110A與處理器110B會在時脈週期t2中分別設立訊號INT_ACK_A與INT_ACK_B(也就是訊號INT_ACK)。應該要注意的是,假如僅有單一處理器在那時間點是可用的,則僅有一個處理器回應一確認指示予中斷控制器105也符合本發明的精神。上述之例子只是多種操作情境之一。在
另一例子中,處理器110B可能不會在處理器110A可用以接受該預先請求事件的同一時間點可用來接受該預先要求事件。在此情形中,中斷控制器105會藉由完成必要的交握程序來認可處理器110A之中斷要求事件,並會藉由重置訊號INT_PREREQ_B且不設立訊號INT_REQ_B,來捨棄送至處理器110B之預先要求事件。此一修改也屬於本發明之範疇。
在觀察到訊號INT_ACK_A與訊號INT_ACK_B的同時設立後,控制電路120會知道處理器110A與處理器110B都是可用的且能立即接受並服務中斷要求事件。中斷控制器105之控制電路120會選擇處理器110A與處理器110B之其一,並認可將中斷要求事件給所選之處理器。在此實施例中,控制電路120會選擇處理器110A並決定只認可中斷要求事件要給處理器110A。因此,在時脈週期t3時,控制電路120會設立包含於對應至處理器110A之通訊介面內之訊號INT_REQ_A,並重置包含於對應至處理器110B之訊號介面內之訊號INT_PREREQ_B。
在觀察到訊號INT_PREREQ_B的重置之後,處理器110B會知道中斷要求事件並沒有被傳送至處理器110B。因此,處理器110B在時脈週期t4會重置包含於對應至處理器110B之訊號介面內之訊號INT_ACK_B,而中斷控制器105詢問處理器110B之操作便完成了。此外,對於處理器110A而言,在觀察到訊號INT_REQ_A的設立之後,處理器110A會知道中斷要求事件要被傳送至處理器110A。在此例子中,在時脈週期t4時,處理器110A會接著重置訊號INT_ACK_A,而中斷控制器105會重置訊號INT_PREREQ_A。然而,這只是用於範例說明。訊號INT_ACK_A與訊號INT_PREREQ_A並不一定要在同一時脈週期內被重置。只要在訊號INT_ACK_A與訊號INT_PREREQ_A兩者都已被重置之前,訊號INT_REQ_A都不被重置,則該預先要求導引機制就仍可運
作良好。另外,在重置訊號INT_PREREQ_A以及觀察到訊號INT_ACK_A之重置之後,中斷控制器105會在時脈週期t5重置訊號INT_ACK_A,而中斷控制器105詢問處理器110A之操作便完成了。
應該要注意的是,在另一實施例中,中斷控制器105之控制電路120可於時脈週期t1傳送多個中斷預先要求事件至兩個以上的處理器,控制電路120會藉由重置對應複數個處理器(除了處理器110A之外)的中斷預先要求訊號,來撤回或取消被送至該複數個處理器(除了處理器110A之外)的預先要求事件。中斷控制器105並不被限制只能撤回或取消被送至某一處理器之唯一的預先要求事件。這也符合本發明之精神。
依據本發明之第三實施例,控制電路120是用以動態地調整中斷要求事件之緊急等級。控制電路120另包含一連串的速率控制邏輯(rate control logic),而接收電路115所接收之每一中斷輸入是透過軟體程式化而被關聯於一速率控制邏輯,以為被關聯於同一速率控制邏輯之一個或複數個中斷輸入來維持一預期之服務速率(expected service rate)。包含於控制電路120之每一速率控制邏輯是基於對應於相關的中斷輸入之被服務的中斷要求事件的預先程式化(pre-programmed)之預期速率值以及頻率,來產生一速率指標值(rate index)。接收電路115會使用所產生之速率指標值來調整每一相關的中斷輸入之緊急等級。一開始時,每一速率指標值會等於同一數值(通常是0),所以每一中斷輸入之緊急等級僅會依據其本身預先程式化之優先值(priority value)來決定其初始設定。然而,這只用於範例說明,而非對本發明設限。對應第一中斷輸入之第一中斷要求事件的第一緊急等級會依據第一中斷輸入之優先值與其相關的速率指標值來決定,而對應第二中斷輸入之第二中斷要求事件的第二緊急等級會依據第二中斷輸入之優先值與其相關的速率指標值來決定。因
此,假如相關的速率指標值彼此不同,就算第一中斷輸入與第二中斷輸入之優先順序相同,第一緊急等級與第二緊急等級仍會被決定為不同的等級。另一方面,中斷輸入之不同優先順序可能會對應不同的緊急等級或相同緊急等級。
假設具有相同優先值之兩個中斷輸入(例如第一中斷輸入與第二中斷輸入)係被關聯於具有相同預期速率值之速率控制邏輯。如果控制電路120僅依據相關的優先值來仲裁中斷輸入,上述具有相同優先值與相同預期速率值之中斷輸入理想上會依相同或相似頻率來被處理器服務。實際上,由於中斷輸入之間的衝突與仲裁誤差(arbitration error),一開始具有相同優先值的複數個中斷輸入並不會被處理器依相同或相似頻率來服務。在此實施例中,控制電路120是用以依據其相關的緊急等級來仲裁中斷輸入,而假如控制電路120認為中斷輸入並未被服務於所預期之速率,則控制電路120會被用以調整中斷輸入的緊急等級。在實作上,控制電路120會計算速率控制邏輯的服務速率指標值,該指標值是被關聯於一或多個中斷輸入,並接著參照所計算之速率指標值來判斷是否要動態調整相關的中斷輸入所對應之中斷要求事件的緊急等級。當計算得到的速率指標值指出被關聯於該速率控制邏輯之中斷輸入之所被服務的頻率低於預期時,控制電路120會決定提升相關的中斷輸入所對應之中斷要求事件的緊急等級。當計算得到的速率指標值指出被關聯於該速率控制邏輯之中斷輸入之所被服務的頻率高於預期時,控制電路120則會決定降低相關的中斷輸入所對應之中斷要求事件的緊急等級。緊急等級可被關聯於當下正要被處理器(像是處理器110A與處理器110B)所服務之中斷要求事件。如此一來,處理器會依據其相關的緊急等級來決定何時要接受中斷要求事件。
此外,控制電路120是用以使用訊號INT_URGENCY來通知處理器(像是處理器110A)中斷輸入的緊急等級。處理器110A是用以使用訊號PROC_URGENCY來通知中斷控制器105當下正被處理器110A處理或服務之中斷輸入的緊急等級。因此,由於緊急等級係表示一中斷輸入依據其相關的預期速率是如何被服務的,假如訊號INT_URGENCY所表示之緊急等級高於訊號PROC_URGENCY所表示之緊急等級,則處理器110A會被用以儘快接受該緊急的中斷要求事件,縱使是處理器110A當下正在服務另一中斷輸入,或縱使處理器110A暫時遮蔽(mask)其中斷介面(interrupt interface)。
另一方面,為了縮短整體中斷服務的延遲(latency),控制電路120會被偏好將仲裁給予具有高於被關聯於當下正在被處理器所服務之中斷要求事件的緊急等級(由訊號ROC_URGENCY所表示)之相關緊急等級的中斷輸入,即使此中斷輸入和先前被處理器所服務的中斷輸入是相同的。
此外,在另一實施例中,上述之一連串的速率控制邏輯可實作為由外接至控制電路120並包含於中斷控制器內之一組電路。請參照第5圖,第5圖係繪示依據本發明之另一實施例之外接於控制電路120之一連串的速率控制邏輯525的方塊圖。中斷控制器505之操作與功能是類似於第1圖所示之中斷控制器105,更進一步的說明便在此省略以求簡潔。一連串的速率控制邏輯525是用以分別監控所服務之中斷要求事件,並接著輸出所計算之速率指標值至中斷控制器505之接收電路115以產生相關於每一中斷輸入之緊急等級。
依據本發明之第四實施例,第1圖中所示之中斷控制器105
的控制電路120是用以使用分時(time-division)方法,而在一時間點之仲裁中產生並導引一中斷要求事件至處理器(像是處理器110A),並在另一時間點之另一仲裁中產生並導引另一中斷要求事件至另一處理器(像是處理器110B)。控制電路120在一仲裁時可以評量(evaluate)針對一特定處理器之中斷輸入以產生中斷要求事件給該特定處理器。在此實施例中,中斷輸入的仲裁會在一時脈週期期間完成,然而,這不是用於對本發明設限。在另一實施例中,中斷輸入的仲裁可在半個時脈週期或多個時脈週期內被執行並且完成,這些修改均屬於本發明之範疇。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧裝置
105‧‧‧中斷控制器
110A、110B‧‧‧處理器
115‧‧‧接收電路
120‧‧‧控制電路
Claims (29)
- 一種耦接於複數個處理器之中斷控制器,用於將至少一中斷要求事件導引至該些處理器的其中至少一個,該中斷控制器包含:一接收電路,用以接收至少一中斷輸入;以及一控制電路,耦接至該接收電路,用以基於所接收之該中斷輸入來產生至少一中斷要求事件,以及將所產生之該中斷要求事件導引至該些處理器的其中至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,至少該第一處理器與該第二處理器係被用於處理中斷要求事件;而該控制電路可被用於撤回或取消已被傳送至該第一處理器之一中斷要求事件之設立(assertion)。
- 一種根據申請專利範圍第1項來處理具有該複數個處理器之一系統中的該中斷要求事件之裝置,包含:該複數個處理器;以及該中斷控制器;其中該第一處理器係用以在觀察到該中斷要求事件之取消後,認可(confirm)是否撤回或取消已被傳送至該第一處理器之該中斷要求事件,並用以告知一認可結果給該中斷控制器。
- 如申請專利範圍第2項所述之裝置,其中該第一處理器係用以藉由設立(assert)一中斷確認(acknowledgement,INT_ACK)訊號,來傳送一確認指示給該中斷控制器,以指示出該中斷要求事件已被該第一處理器所接受。
- 如申請專利範圍第2項所述之裝置,其中該第一處理器係用以藉由設立一中斷忙碌訊號,來傳送一忙碌指示給該中斷控制器,以指示出該中斷要求 事件尚未被該第一處理器所接受或已經被該第一處理器所拒絕。
- 如申請專利範圍第4項所述之裝置,其中該中斷控制器係用以在觀察到該第一處理器所傳送之該忙碌指示之後,傳送該中斷要求事件給該第二處理器。
- 一種耦接於複數個處理器之中斷控制器,用於將至少一中斷要求事件導引至該些處理器的其中至少一個,該中斷控制器包含:一接收電路,用以接收至少一中斷輸入;以及一控制電路,耦接至該接收電路,用以基於所接收之該中斷輸入來產生至少一中斷要求事件,以及將所產生之該中斷要求事件導引至該些處理器的其中至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,至少該第一處理器與該第二處理器係被用於處理中斷要求事件;而該控制電路會計算該複數個處理器所分別對應之複數個平均負載數值,依據該些平均負載數值來維持該複數個處理器所分別對應之複數個加權數值,並依據分別對應該些處理器之該些加權數值來傳送中斷要求事件給該複數個處理器。
- 一種依據申請專利範圍第6項來處理具有該複數個處理器之一系統中的該中斷要求事件之裝置,包含:該複數個處理器;以及該中斷控制器;其中該控制電路會依照該複數個處理器能多快接受中斷要求事件來調整該些加權數值。
- 一種耦接於複數個處理器之中斷控制器,用於將至少一中斷要求事件導引至該些處理器的其中至少一個,該中斷控制器包含:一接收電路,用以接收至少一中斷輸入;以及一控制電路,耦接至該接收電路,用以基於所接收之該中斷輸入來產生至少一中斷要求事件,以及將所產生之該中斷要求事件導引至該些處理器的其中至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,該第一處理器與該第二處理器係被用以處理中斷要求事件;以及,當傳送一中斷要求事件時,該控制電路係藉由設立複數個中斷預先要求(interrupt pre-request)訊號與相同的中斷向量編號(interrupt vector number),來以預先要求事件形式傳送該中斷要求事件,以查詢該複數個處理器中每一處理器是否可接受該中斷要求事件。
- 一種依據申請專利範圍第8項來處理具有複數個處理器之一系統中的至少一中斷要求事件之裝置,包含:該複數個處理器;以及一中斷控制器;其中至少一處理器會藉由設立一中斷確認訊號來指出該處理器可以接受該中斷要求事件,來回應一確認指示給該中斷控制器;以及,該第一處理器與該第二處理器均會回應確認指示給該中斷控制器,而該中斷控制器係用以從該第一處理器與該第二處理器之中選出一個處理器並傳送該中斷要求事件給所選取之一處理器。
- 如申請專利範圍第9項所述之裝置,其中當該中斷控制器判斷該中斷要求事件要被該第一處理器所接受時,該中斷控制器係用以藉由設立對應該第一處理器之一中斷要求訊號並接著重置(de-assert)對應該第一處理 器之一中斷預先要求訊號,來傳送該中斷要求事件至該第一處理器;以及,該中斷控制器係用以藉由重置對應除了該第一處理器之外的處理器之中斷預先要求訊號,來撤回或取消已經被傳送至除了該第一處理器之外的處理器之預先要求事件。
- 一種耦接於複數個處理器之中斷控制器,用以將至少一中斷要求事件引導至該些處理器之其中的至少一個,該中斷控制器包含:一接收電路,用以接收至少一中斷輸入;以及一控制電路,耦接至該接收電路,用以基於所接收之該中斷輸入來產生至少一中斷要求事件,以及引導所產生之該中斷要求事件至該些處理器其中的至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,該第一處理器與該第二處理器係被用以處理中斷要求事件;以及該控制電路係結合一連串的速率控制邏輯來被實現,用以產生一速率指標值(rate index)給該接收電路,以針對複數個相關的中斷輸入來動態地調整相對應之複數個緊急等級(urgency level)。
- 如申請專利範圍第11項所述之中斷控制器,其中該中斷控制器係用以於一速率指標值指出針對該些相關的中斷輸入之一處理頻率係低於一預期速率值時,提升該中斷要求事件之一緊急等級。
- 如申請專利範圍第11項所述之中斷控制器,其中包含於該些處理器中的一處理器係用以於一緊急中斷要求事件之一緊急等級高於目前所處理之一中斷輸入之一緊急等級時,立刻處理該緊急中斷要求事件。
- 如申請專利範圍第11項所述之中斷控制器,其中該些緊急等級的初始值 係依據該些相關的中斷輸入之優先數值來決定。
- 一種耦接於複數個處理器之中斷控制器,用以將至少一中斷要求事件引導至該些處理器之其中的至少一個,該中斷控制器包含:一接收電路,用以接收至少一中斷輸入;以及一控制電路,耦接至該接收電路,用以基於所接收之該中斷輸入來產生至少一中斷要求事件,以及引導所產生之該中斷要求事件至該些處理器其中的至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,該第一處理器與該第二處理器係被用以處理中斷要求事件;以及該控制電路係用以使用一分時(time-division)方法而在一時間點上之一仲裁(arbitration)中產生並引導一中斷要求事件至包含於該複數個處理器之中的一處理器,以及在另一時間點上之另一仲裁中產生並引導另一中斷要求事件至包含於該複數個處理器之中的另一處理器。
- 一種用以處理具有複數個處理器之一系統中之至少一中斷要求事件的方法,包含:接收至少一中斷輸入;基於所接收之該中斷輸入來產生至少一中斷要求事件;將所產生之該中斷要求事件導引至該些處理器的其中至少一個;撤回或取消已被傳送至一第一處理器之一中斷要求事件之設立(assertion);以及在觀察到該中斷要求事件之取消後,認可是否撤回或取消已被傳送至該第一處理器之該中斷要求事件;其中該複數個處理器包含至少一第一處理器與一第二處理器,以及至少該第一處理器與該第二處理器係被用於處理中斷要求事件。
- 如申請專利範圍第16項所述之方法,另包含:藉由設立一中斷確認(acknowledgement,INT_ACK)訊號,來傳送一確認指示,用以指示出該中斷要求事件已被該第一處理器所接受。
- 如申請專利範圍第16項所述之方法,另包含:藉由設立一中斷忙碌訊號,來傳送一忙碌指示,用以指示出該中斷要求事件尚未被該第一處理器所接受或已經被該第一處理器所拒絕。
- 如申請專利範圍第18項所述之方法,另包含:在觀察到該第一處理器傳送該忙碌指示後,傳送該中斷要求事件給該第二處理器。
- 一種用以處理具有複數個處理器之一系統中之至少一中斷要求事件的方法,包含:接收至少一中斷輸入;基於所接收之該中斷輸入來產生至少一中斷要求事件;將所產生之該中斷要求事件導引至該些處理器的其中至少一個;以及依據分別對應於該些處理器之複數個加權數值來傳送一中斷要求事件給該些處理器的其中至少一個;其中該複數個處理器包含至少一第一處理器與一第二處理器,以及至少該第一處理器與該第二處理器係被用於處理中斷要求事件。
- 如申請專利範圍第20項所述之方法,其中該些加權數值係基於該些處理器之個別的平均負載來分別被產生並指定給該些處理器。
- 一種用以處理具有複數個處理器之一系統中之至少一中斷要求事件的方 法,包含:接收至少一中斷輸入;基於所接收之該中斷輸入來產生至少一中斷要求事件;將所產生之該中斷要求事件導引至該些處理器的其中至少一個;以及在傳送一中斷要求事件之前,藉由設立複數個中斷預先要求訊號與相同的中斷向量編號以查詢該複數個處理器中每一處理器是否可接受該中斷要求事件;其中該複數個處理器包含至少一第一處理器與一第二處理器,以及該第一與該第二處理器係被用以處理中斷要求事件。
- 如申請專利範圍第22項所述之方法,另包含:藉由設立一中斷確認訊號來指出至少一處理器可以接受該中斷要求事件,以使用至少一處理器來回應一確認指示;當該第一處理器與該第二處理器分別回應確認指示時,從該第一處理器與該第二處理器之中選出一個處理器;以及傳送該中斷要求事件給所選取之一處理器。
- 如申請專利範圍第23項所述之方法,其中將該中斷要求事件傳送給所選取之該處理器之步驟包含:當判斷該中斷要求事件要被該第一處理器所接受時,藉由設立對應該第一處理器之一中斷要求訊號並接著重置對應該第一處理器之一中斷預先要求訊號,來傳送該中斷要求事件至該第一處理器;以及藉由重置對應除了該第一處理器之外的處理器之中斷預先要求訊號,來撤回或取消已經被傳送至除了該第一處理器之外的處理器之預先要求事件。
- 一種用以處理具有複數個處理器之一系統中之至少一中斷要求事件的方法,包含:接收至少一中斷輸入;基於所接收之該中斷輸入來產生至少一中斷要求事件;將所產生之該中斷要求事件導引至該些處理器的其中至少一個;以及動態調整該中斷要求事件之一緊急等級;其中該複數個處理器包含至少一第一處理器與一第二處理器;該第一處理器與該第二處理器係被用以處理中斷要求事件;以及複數個速率指標值會被產生,用以針對複數個相關的中斷輸入來動態地調整相對應之複數個緊急等級。
- 如申請專利範圍第25項所述之方法,其中動態調整該中斷要求事件之該緊急等級之步驟包含:當一速率指標值指出針對該些相關的中斷輸入之一處理頻率係低於一預期速率數值時,提升該中斷要求事件之該緊急等級。
- 如申請專利範圍第25項所述之方法,另包含:當一緊急中斷要求事件之一緊急等級係高於目前所處理之一中斷輸入之一緊急等級時,立刻處理該緊急中斷要求事件。
- 如申請專利範圍第25項所述之方法,另包含:依據該些相關的中斷輸入之優先數值來決定該些緊急等級之初始值。
- 一種用以處理具有複數個處理器之一系統中之至少一中斷要求事件的方法,包含:接收至少一中斷輸入; 基於所接收之該中斷輸入來產生至少一中斷要求事件;引導所產生之該中斷要求事件至該些處理器其中的至少一個;使用一分時(time-division)方法來在一時間點上之一仲裁(arbitration)中產生並引導一中斷要求事件至包含於該複數個處理器之中的一處理器;以及在另一時間點上之另一仲裁中產生並引導另一中斷要求事件至包含於該複數個處理器之中的另一處理器;其中該複數個處理器包含至少一第一處理器與一第二處理器,以及該第一處理器與該第二處理器係被用以處理中斷要求事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102107700A TWI492157B (zh) | 2013-03-05 | 2013-03-05 | 處理中斷要求事件的裝置與方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102107700A TWI492157B (zh) | 2013-03-05 | 2013-03-05 | 處理中斷要求事件的裝置與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201435745A TW201435745A (zh) | 2014-09-16 |
TWI492157B true TWI492157B (zh) | 2015-07-11 |
Family
ID=51943392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102107700A TWI492157B (zh) | 2013-03-05 | 2013-03-05 | 處理中斷要求事件的裝置與方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI492157B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200525364A (en) * | 2003-12-19 | 2005-08-01 | Intel Corp | Driver transparent message signaled interrupts |
CN1993674A (zh) * | 2004-03-31 | 2007-07-04 | 科威尔公司 | 多芯架构中的资源管理 |
US7610425B2 (en) * | 2005-08-22 | 2009-10-27 | Sun Microsystems, Inc. | Approach for managing interrupt load distribution |
US20110145461A1 (en) * | 2008-08-19 | 2011-06-16 | Zte Corporation | Method and device for balancing interrupt load of multicore processor |
TW201303720A (zh) * | 2011-04-07 | 2013-01-16 | Via Tech Inc | 可執行x86指令集架構及ARM指令集架構機器語言程式指令的微處理器及其運作方法 |
-
2013
- 2013-03-05 TW TW102107700A patent/TWI492157B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200525364A (en) * | 2003-12-19 | 2005-08-01 | Intel Corp | Driver transparent message signaled interrupts |
CN1993674A (zh) * | 2004-03-31 | 2007-07-04 | 科威尔公司 | 多芯架构中的资源管理 |
US7610425B2 (en) * | 2005-08-22 | 2009-10-27 | Sun Microsystems, Inc. | Approach for managing interrupt load distribution |
US20110145461A1 (en) * | 2008-08-19 | 2011-06-16 | Zte Corporation | Method and device for balancing interrupt load of multicore processor |
TW201303720A (zh) * | 2011-04-07 | 2013-01-16 | Via Tech Inc | 可執行x86指令集架構及ARM指令集架構機器語言程式指令的微處理器及其運作方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201435745A (zh) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140727B2 (en) | Bus arbitration apparatus and method | |
JP3919765B2 (ja) | アービトレーションを管理する方法およびプロセッサ | |
US8234428B2 (en) | Arbitration device that arbitrates conflicts caused in data transfers | |
JP6055019B2 (ja) | 複数のcpuモジュールを備えるplcシステム及び制御方法 | |
US8909836B2 (en) | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) | |
US20080168203A1 (en) | Data Processing System With Interrupt Controller and Interrupt Controlling Method | |
US20210243257A1 (en) | Service request interrupt router for virtual interrupt service providers | |
CN114461550A (zh) | 基于i2c通信的多主控设备访问仲裁系统及方法 | |
JPH08263312A (ja) | バス仲裁方法及びその装置 | |
TWI492157B (zh) | 處理中斷要求事件的裝置與方法 | |
KR102360214B1 (ko) | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 | |
US8352804B2 (en) | Systems and methods for secure interrupt handling | |
JP2010118020A (ja) | リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム | |
CN104978289B (zh) | 具有共享仲裁单元的服务请求中断路由器 | |
US20120084475A1 (en) | Bus arbitration apparatus and bus arbitration method | |
US7961604B2 (en) | Processing system and method for transmitting data | |
JP6361410B2 (ja) | 情報処理装置、及び、情報処理方法 | |
JP2008250419A (ja) | 競合調停装置、マスタスレーブシステム及び競合調停方法 | |
JP2018005851A (ja) | 電子装置 | |
TWI616754B (zh) | 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統 | |
JPS60179865A (ja) | 割込み受付け制御方式 | |
KR920003283B1 (ko) | 다중처리기 시스템에서의 인터럽트 방법 | |
JPH0786859B2 (ja) | マルチプロセッサシステムにおいて仲裁及び直列化を行う方法及び装置 | |
JP2006133948A (ja) | 調停装置及び調停方法 | |
JPS59105124A (ja) | バス使用の優先制御方式 |