具有共享仲裁單元的服務請求中斷路由器的制造方法
【專利說明】
【背景技術】
[0001]服務請求中斷路由器是片上服務請求中斷信號與響應于這些中斷信號的服務提供者之間的接口。中斷路由器在服務請求中斷信號當中仲裁(其基于硬件事件或觸發),并且轉發獲勝者到服務提供者(例如,中央處理單元(CPU)、直接存儲器存取(DMA)等)中的一個。
[0002]服務請求中斷路由器包括針對每一個服務請求中斷信號的服務請求節點(SRN)以及針對服務提供者中的每一個的中斷控制單元(ICU)。典型的多核服務請求中斷路由器可以具有數百個SRN和多個ICU。
[0003]在當前中斷服務請求路由器中,每一個ICU都具有其自己的仲裁單元,以在具有各自的被分配或者映射到其上的未決定的服務請求中斷信號的所有SRN當中仲裁。同樣,每一個ICU都獨立于其他ICU來仲裁。
【附圖說明】
[0004]圖1圖示了根據示例的實施例的具有服務請求中斷路由器的仲裁系統的示意圖。
[0005]圖2A圖示了根據另一個示例的實施例的針對由兩個中斷控制單元(ICU)共享的仲裁單元的仲裁序列。
[0006]圖2B圖不了根據不例的實施例的針對由兩個ICU共孚的仲裁單兀的仲裁序列。
[0007]圖3圖示了根據示例的實施例的具有管線階段的仲裁單元的示意圖。
[0008]圖4圖示了根據示例的實施例的針對由兩個ICU共享的仲裁單元的仲裁序列的管線階段。
[0009]圖5圖示了根據示例的實施例的針對由三個ICU共享的仲裁單元的仲裁序列的管線階段。
[0010]圖6圖示了根據示例的實施例的仲裁服務請求中斷信號的方法的流程圖。
【具體實施方式】
[0011]本公開指向服務請求中斷路由器,其具有中斷控制單元(ICU)以及仲裁單元,所述仲裁單元被配置成由ICU共享,以在具有各自的服務請求中斷信號、并且被映射到ICU的服務請求節點(SRN)當中仲裁,以針對ICU中的每一個來確定SRN中的哪一個具有最高優先級。大于一個ICU共享仲裁單元的益處包括由服務請求中斷路由器占據的面積的減少以及動態/靜態功耗的減少。
[0012]圖1圖示了根據示例的實施例的具有服務請求中斷路由器110的系統100 (其可以是片上系統(SoC))的不意圖。
[0013]服務請求中斷路由器110包括服務請求節點SRNO到SRNm、中斷控制單元I⑶O到ICUn、以及仲裁單元Arbl到Arbv。
[0014]存在針對每一個服務請求中斷信號ISO到ISn的服務請求節點SRNO到SRNm。服務請求中斷信號ISO到ISn基于各自的服務請求,其被稱為中斷。每一個服務請求節點SRNO到SRNm都具有服務請求控制寄存器,并且關于例如服務請求優先級數(SRPN)和服務類型(TOS)是可配置的。SRPN是定義服務請求節點SRNO到SRNm的優先級的寄存器位字段。TOS是定義服務請求節點SRNO到SRNm被映射到中斷控制單元ICUO到ICUn中的哪一個的寄存器位字段。
[0015]針對每一個中斷服務提供者(ISP )CPU0到CPU3……DMA都存在一個專用的中斷控制單元ICUO到ICUn。終端服務提供者ISP是執行服務請求的片上資源。
[0016]服務請求中斷路由器110可以執行的任務包括例如在具有未決定的服務請求中斷信號的服務請求節點SRNO到SRNm當中的優先級分配、這些服務請求節點SRNO到SRNm到中斷控制單元ICUO到ICUn的分配、以及在被分配到這些中斷控制單元ICUO到ICUn中的每一個的這些服務請求節點SRNO到SRNm之間的仲裁。至少一個仲裁單元Arb由中斷控制單元ICUO到ICUn中的任何一個共享。仲裁單元Arb被配置成針對其中斷控制單元ICU中的每一個在具有各自未決定的服務請求中斷信號ISO到ISm的服務請求節點SRNO到SRNm當中仲裁,以確定這些服務請求節點SRNO到SRNm中的哪一個具有針對服務的最高優先級,即是仲裁的“獲勝者”。
[0017]更具體地,圖1的仲裁單元Arbl由中斷控制單元I⑶O和I⑶I共享,以在服務請求節點SRN當中仲裁,所述服務請求節點SRN具有各自的具有服務類型(TOS) O或I的服務請求中斷信號IS,并且因而分別被映射到中斷控制單元ICUO和ICU1。仲裁單元Arbl仲裁,以確定針對中斷控制單元ICUO和ICUl中的每一個,這些服務請求節點SRN中的哪一個具有最尚優先級。
[0018]類似地,仲裁單元Arb2由中斷控制單元I⑶2和I⑶3共享,以在服務請求節點SRN當中仲裁,所述服務請求節點SRN具有各自的具有T0S2或3的服務請求中斷信號IS,并且因而分別被映射到中斷控制單元ICU2和ICU3。仲裁單元Arb2仲裁,以確定針對中斷控制單元I⑶2和I⑶3中的每一個,這些服務請求節點SRN中的哪一個具有最高優先級。
[0019]仲裁單元Arb I和Arb2均在圖1中被示出為分別由兩個中斷控制單元I⑶O和I⑶I以及I⑶2和I⑶3共享。然而,本公開不限于該方面。仲裁單元Arbl到Arbv中的每一個都可以由任意數目的中斷控制單元I⑶O到I⑶η共享,如適合于特別的應用那樣。
[0020]針對每一個服務請求中斷信號ISO到I Sm,分別存在專用的服務請求節點SRNO到SRNm。服務請求節點SRNO到SRNm以及它們相關聯的中斷服務請求信號ISO到ISm是關于服務優先級數(SRPN)和服務類型(TOS)可配置的。TOS確定各自的中斷服務請求信號ISO到ISm被轉發或映射到中斷服務提供者CPUO到CPU3……DMA中的哪一個,其中TOS可以是例如讀取數據、發射數據、誤差狀況等。
[0021]當服務請求中斷路由器110在其各自的服務請求節點SRNO到SRNm處接收服務請求中斷信號ISO到ISm時,這些服務請求節點SRNO到SRNm被映射到中斷控制單元I⑶O到ICUn以及將服務服務請求的它們相關聯的中斷服務提供者CPUO到CPU3……DMA。每一個仲裁單元Arb執行仲裁,以確定針對其中斷控制單元ICU中的每一個,具有未決定的服務請求中斷信號IS的服務請求節點SRN中的哪一個具有最高優先級,即是該仲裁輪次的“獲勝者”。各自的中斷控制單元ICU經由服務請求REQ來通知其相關聯的中斷服務提供者ISP服務請求節點SRN中的哪一個是該沖裁輪次的獲勝者。當準備好時,中斷服務提供者ISP用確認信號ACK來響應于中斷控制單元ICU,并且接著服務中斷服務請求服務信號IS。中斷服務提供者的軟件知道基于SRPN和TOS來服務服務請求中斷信號。
[0022]服務請求中斷路由器110可以包括多個仲裁單元Arbl到Arbv。仲裁單元Arbl到Arbv中的每一個都被配置成由中斷控制單元ICUO到ICUn的子集共享。仲裁單元Arbl到Arbv中的每一個都針對中斷控制單元ICUO到ICUn的子集以時間多路復用序列(還被稱為時間片方式或循環復用方案)來仲裁。針對中斷控制單元ICUO到ICUn中的每一個,在服務請求節點SRNO到SRNm中的具有未決定的服務請求中斷信號IS的那些當中進行仲裁,以確定服務請求節點SRNO到SRNm中的哪一個具有最高優先級。下面是仲裁過程的更詳細的解釋。
[0023]圖2A圖示了根據示例的實施例的針對由兩個中斷控制單元ICUO、ICUl共享的仲裁單元Arbl的仲裁序列200A。
[0024]借助于概觀,中斷可以針對兩個中斷控制單元ICUO和ICUl是未決定的,其中服務請求節點SRN的一組被映射到中斷控制單元ICU0,而服務請求節點SRN的另一組被映射到I⑶I。仲裁單元Arbl (圖1中所示)的共享可以在中斷控制單元I⑶O和I⑶I之間以時間多路復用的序列來實現。當服務請求中斷信號IS針對中斷控制單元ICUO和ICUl兩者都是未決定的時,仲裁單元Arbl在第一循環中針對對于中斷控制單元ICUO的所有未決定的服務請求中斷信號IS仲裁,接著在下一個循環中針對對于中斷控制單元ICUl的所有未決定的服務請求中斷信號IS仲裁,接著中斷控制單元ICU0,接著中斷控制單元ICU1,等等(I⑶0、I⑶1、I⑶0、I⑶I……)。為了該例子以及下面的例子的緣故,假設仲裁輪次采用三個循環,雖然本公開不限于該方面。
[0025]首先參照圖的最左部分,當中斷控制單元I⑶0、I⑶I中的任意一個都不基于服務請求來被映射到具有未決定的服務請求中斷信號IS的服務請求節點SRN時,那么仲裁單元Arbl不執行任何仲裁。
[0026]當針對中斷控制單元ICUO存在一個或多個未決定的服務請求中斷信號IS,但是針對中斷控制單元ICUl不存在一個或多個未決定的服務請求中斷信號IS時,那么仲裁單元Arbl可以由中斷控制單元ICUO完全利用,并且僅僅針對中斷控制單元ICUO來仲裁(I⑶0、I⑶0、KU0……)。相反地,當針對中斷控制單元I⑶I存在一個或多個未決定的服務請求中斷信號IS,但是針對中斷控制單元ICUO不存在