TWI526835B - 提供細緻仲裁系統之技術 - Google Patents
提供細緻仲裁系統之技術 Download PDFInfo
- Publication number
- TWI526835B TWI526835B TW100129077A TW100129077A TWI526835B TW I526835 B TWI526835 B TW I526835B TW 100129077 A TW100129077 A TW 100129077A TW 100129077 A TW100129077 A TW 100129077A TW I526835 B TWI526835 B TW I526835B
- Authority
- TW
- Taiwan
- Prior art keywords
- counter
- transaction processing
- data
- counters
- requestor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本發明係有關於提供細緻仲裁系統之技術。
電腦系統典型地包括多個不同的系統組件,其係透過不同類型的互連體諸如共享鏈路或直接或點對點鏈路而彼此溝通。若干系統已經開始結合所謂的單晶片系統(SoC)裝置,其中多個組件係結合在單一半導體晶粒上。此外,若干SoC可結合入並非基於個人電腦(PC)之多種其它系統作為嵌入式裝置。
無論系統之類型為何,隨著尋求溝通的組件數目之增加,競爭資源諸如互連體帶寬、目的地組件等的可能性也增高。為了防止系統的僵持不下及停滯不前,可設置仲裁器來接收來自多個代理器之請求,及仲裁該等請求來提供存取系統資源的核可。於某些系統中,仲裁係依據優先特權執行,其中對各個請求器係允許某個數目的核可,以免較高優先等級的請求器造成較低優先等級的請求器之匱乏。此種優先權體系可提供基於靜態、動態、或增量的優先權。核可操作典型地係始於最高優先等級請求器,前進至最低優先等級請求器。於某些系統中,唯有在較高優先等級請求器沒有作用中的請求或已經耗盡其核可數目時,較低優先等級請求器才能接收到核可。
目前仲裁體系典型地缺乏對帶寬分配的控制,因而可能導致較低優先等級請求器的匱乏,特別於重載/叢發資料流量,且當支援較寬的資料傳輸長度及系統中存在有愈來愈多周邊裝置時尤為如此。
依據本發明之一實施例,係特地提出一種方法包含選擇多個請求器中之一者來服務,及更新與該所選請求器相關聯之一第一計數器及一第二計數器,其中該第一計數器係相對應於一命令單元計數器,及該第二計數器係相對應於一資料單元計數器;判定該等第一及第二計數器中之各者是否係依從針對該等第一及第二計數器之一相對應的臨界值;及若是,則核准針對該所選請求器之一異動處理,否則即拒絕針對該所選請求器之異動處理。
第1圖為依據本發明之一個實施例一種方法之流程圖。
第2圖為依據本發明之一實施例一種系統之一部分之方塊圖。
第3圖為依據本發明之一實施例之帶寬控制演算法則之操作之圖解說明圖。
第4圖為依據本發明之一實施例一種方法之流程圖。
第5圖為依據本發明之一個實施例一種系統之方塊圖。
於多個實施例中,針對基於優先等級之仲裁方案可實現細緻帶寬控制。雖然就此方面而言本發明之範圍係不受此限,許多具體實現可結合單晶片系統(SoC)使用。許多此等單晶片系統具有透過一共享位址匯流排及共享資料匯流排(SASD)互連系統而互連之多個代理器。舉例言之,共通且收斂性智慧財產(IP)介面協定,諸如基於進階微控制器匯流排架構(AMBA)進階可擴延介面(AXI)、或開放核心協定(OCP)架構提供不同IP區塊之模組式調整,其允許增廣IP重複使用及跨多個系統諸如微控制器、單晶片系統等之快速上市整合。因典型地具有SASD互連架構之此等裝置具體實現較大數目的資源,隨著非同質SoC整合及IP板重複使用程度的線性成長,複雜度係呈指數型增高。如此,依據本發明之一實施例,互連仲裁機制可提供改良式取用此種互連體來允許更高速溝通與減少延遲,提供可滿足效能與服務品質(QoS)目標且適用於多項應用之一種互連組織結構。
於多個實施例中,基於優先權之仲裁方案(可以是例如靜態優先權、動態優先權、或增量優先權)可用來控制透過SASD互連系統之通訊。更明確言之,實施例可提供一種細緻帶寬控制方法,該方法允許跨寬廣範圍之晶片上通訊資料流量特性作有效且公平的帶寬分配,及即便於叢發資料流量及鑑於大型資料傳輸量之情況下仍可防止匱乏。
於一個實施例中,帶寬控制演算法則可運用在透過SASD互連系統之基於優先權之匯流排仲裁方案。於此一演算法則中,一種方法考慮用於伴隨資料之一給定傳輸大小之異動處理請求串流,及透過仲裁核可提供細緻控制,使得減低或避免較低優先等級裝置之匱乏可能性。
於此種演算法則中,可實現基於通道之服務分派給多數通道中之各者,各個通道可具有經由分開的實體請求佇列所提供之獨立資料流。各個通道可與一給定請求器例如代理器、主匯流排等相關聯。在返回開始通道之前,針對一給定仲裁回合,各回合係相當於基於優先順序而拜訪連續通道之一拜訪序列,各個此種通道可被分派一服務分量(fraction of service)。於一個實施例中,此一服務分量可針對命令單元及資料單元而分別地測量。於此種具體實現中,命令單元可與稱作為命令單元計數器(CUC)(於一個實施例中可被初始化為零)之一計數器相關聯,而資料單元可與稱作為資料單元計數器(DUC)(於一個實施例中也可被初始化為零)之一計數器相關聯。
通道可以優先等級方式接受服務。當選擇一給定通道用於服務時,其CUC及DUC可藉針對該通道之命令單元及資料單元的可規劃分量調整。用於討論目的,此處假設針對各回合採用基於增量的仲裁方案,針對各請求器之計數器可以針對該仲裁回合之其可規劃服務分量而遞增。假設此種增量而開始一仲裁回合,實施例可進一步操作來於仲裁回合期間當對一給定請求器核准異動處理時減量此等計數器,容後詳述。
只要CUC及DUC二者皆係大於零,則可對選定通道核准異動處理。至於各次異動處理,CUC係遞減例如達1,而DUC係遞減例如達異動處理所耗用之資料叢發大小。於此一實施例中,當針對該相對應的通道CUC變成零或當DUC變成零或負時,可選擇下個通道(例如於優先順序)來服務。如此,若一通道過度汲取其資料計數達某個量,則在下個仲裁回合該通道被處罰以此量。
現在參考第1圖,顯示依據本發明之一個實施例之方法流程圖。如第1圖所示,方法100可用以於正常操作期間啟動一仲裁系統及執行多個系統請求器間之仲裁。注意雖然此處係討論基於優先等級的互連仲裁方案,但實施例並非囿限於此而可應用於其它仲裁系統,諸如基於輪轉式系統。
如第1圖可見,方法100可始於分派一服務分量給多個請求器(方塊110)。此等多個請求器可與例如SoC的不同代理器相對應,各個代理器可與一不同通道相關聯,及各個代理器可分配至一給定請求佇列。此項分配可基於儲存於系統之非依電性儲存裝置之資訊,例如可取用系統軟體,諸如基本輸出入系統(BIOS)或其它此種系統軟體之一表格。雖然本發明之範圍並非囿限於此一方面,但於許多實施例中,針對一給定仲裁回合,服務分量的分配可基於不同請求器之優先權。如此,不同分量可分配給不同請求器,而可能出現針對命令單元及資料單元二者之不同單元值。
其次於方塊120,可針對請求器中之各者啟動一命令單元計數器及一資料單元計數器。於一個實施例中,可提供多個此等計數器,具有與各個請求器相關聯之一相對應的命令單元計數器及資料單元計數器。於一個實施例中,初始化值可設定為零,但本發明之範圍並非囿限於此。此時,可完成設定仲裁系統之初始化操作。也須瞭解此等初始化操作可藉多個執行器具體實現,該等執行器包括軟體及仲裁邏輯二者,於一個實施例中,仲裁邏輯可以是互連系統之一部分。但仲裁邏輯可出現在不同系統的多個位置。
仍然參考第1圖,本次可開始正常系統操作。當懸而未決的請求係存在於針對不同通道之一或多個請求佇列時,可選擇一請求器來服務(方塊130)。舉例言之,針對一給定仲裁回合,多個請求器各自可依據其分量而被提供服務,此處仲裁回合係依據序列中的各個請求器之給定優先權而對請求器之請求提供存取例如一共享互連體。選定第一請求器(方塊130)後,控制送至方塊140,此處與此一請求器相關聯之計數器可以針對該請求器之服務分量更新。舉例言之,各個計數器可以相對應於該分量之一值增量。特定實例討論如下。然後控制送交菱形150,於該處可判定與該請求器相關聯之二計數器是否具有大於臨界量(例如零)之一值。注意雖然係關聯零之計數值作討論,但須瞭解本發明之範圍並非囿限於此,可提供其它數值作為計數器可以用該數值來作比較的預定臨界值。如此可判定計數值是否依從預定臨界值。若計數值係低於相對應的臨界值,則控制送交方塊160,於該處針對該請求器可拒絕異動處理。然後控制送返方塊130來選擇於該給定仲裁回合用來處理服務請求的下個請求器。
另外,若於菱形150判定二計數器係大於臨界值(例如零),則控制交給方塊170。如方塊170可知,當計數器係大於此一臨界量時,可核准該請求器之異動處理。據此,儲存在相對應的請求佇列中之一給定異動處理可提供給接受仲裁的互連體。然後控制送至方塊180,於該處計數器可基於異動處理而更新。更明確言之,於此處所述實施例中,二計數器可據此遞減。舉例言之,命令計數器可以1之值遞減,而資料計數器可以異動處理相關聯資料的資料寬度遞減。針對純命令異動處理,此一計數值可不變,原因在於並無資料可資通訊。但針對資料異動處理諸如寫至記憶體、讀取完成等,資料計數器可藉涉及異動處理操作的相對應資料寬度減量。然後控制送返前文討論之菱形150。雖然於第1圖實施例係以本特定具體實現顯示,但須瞭解本發明之範圍並非囿限於此。
現在參考第2圖,顯示依據本發明之一實施例一種系統之一部分之方塊圖。如第2圖所示,系統200可以是SoC、多核心處理器、多晶片模組、或任何其它半導體裝置之一部分。又復,於若干具體實現中,系統可相對應於包括許多分開組件之基於個人電腦(PC)之系統。
如第2圖可知,系統200可包括多個代理器210(例如2101-210n)。雖然本發明之範圍並非囿限於此,此等代理器可以是處理核心、特定功能單元、控制器等。如圖可知,各個此種代理器可耦接至且相關聯一相對應的請求佇列220(例如2201-220n)。各個請求佇列可儲存得自相關聯之代理器的針對異動處理之請求。舉例言之,各個請求佇列可以是先進先出(FIFO)或它型緩衝器。如圖可知,各個此等請求佇列可耦接至一共享互連體230,例如SASD互連體。
更如第2圖可知,各個請求佇列可耦接至一仲裁器邏輯250。如前文討論,仲裁器邏輯250可以是孤立邏輯,或可以是另一處理實體諸如核心或處理單元之一部分。於多個實施例中,仲裁器邏輯250可包括多個硬體、韌體及/或軟體。通常,仲裁器邏輯250可依據第1圖陳述之方法100操作來基於給定通道之優先權及依據此處所述細緻仲裁法,核准給定通道取用共享互連體230。
為了允許此等操作,仲裁器邏輯250可耦接至一儲存裝置260,其可以是快取記憶體或其它暫時儲存裝置之一部分來儲存與各個計數器相關聯之資訊。於若干實施例中,儲存裝置260可以是與仲裁器邏輯250相關聯之一暫存器集合。如圖可知,可存在有相對應於命令單元計數器之第一計數器265,及相對應於資料單元計數器之第二計數器268。瞭解此等計數器電路各自可包括多個計數器或分錄,如此提供針對各個相對應的代理器之各個此等計數器中之單一者(例如單一CUC及單一DUC)。雖然於第2圖之實施例中係以本特定具體實現顯示,但須瞭解本發明之範圍並非囿限於此。換言之,於許多實施例中,一給定系統將包括遠更多個組件及提供裝置間之不同連結。
舉例言之,於一個實施例中,仲裁器邏輯250可包括針對作用中通道之計數器,及當選擇用於仲裁之通道時,該通道可被提供以來自儲存裝置260儲存在相對應的CUC及DUC計數器之值。又復,仲裁器邏輯250可包括其它電路,諸如加法器、減法器、比較器、及(AND)閘等來執行依據本發明之一實施例之仲裁法。
第3圖圖解例示說明依據本發明之一實施例之帶寬控制演算法則之操作。於第3圖中,兩個輸入請求佇列210a及210b可相對應於二通道(例如通道1及通道2),及如此相對應於二代理器或請求器。如圖可知,第一通道含有於請求佇列210a之如此排序的異動處理a、b、c、d,而第二通道含有於請求佇列210b之如此排序的異動處理A、B、C及D。於第3圖之實例中,二請求佇列可被分派每個仲裁回合2單元命令及16單元資料之相同分量(注意於多個具體實現中,針對各通道之命令及資料分量可相異)。於第3圖之例示說明中,除了其標記之外,各次異動處理也可標示以請求資料傳輸大小。於描述多個仲裁回合1及2之上下文部分,第3圖顯示當執行仲裁方案時,與各個請求佇列相關聯之CUC及DUC值(於回合起點及終點)。各個請求佇列之CUC及DUC於各個仲裁回合係以與該請求佇列相關聯之分量遞增。當CUC變成零或當DUC變成零或負時,優先順序中的下個通道被選來服務。
如於第3圖之回合1起點可知,二通道1及2之CUC及DUC最初分別係設定為相對應於其分配的服務分量之2及16之值。於核准異動處理a(大小為零:例如,無資料傳輸之讀取請求)及b(大小為18),通道1之CUC及DUC變成0及-2,其為負值。如此於本仲裁回合期間不再有異動處理可核准給通道1。取而代之,選擇通道2用於下次服務,於該處,在通道2之CUC變成0而其相對應的DUC變成負(亦即-1)之前,核准兩次異動處理A及B,具2命令單元及17資料單元組合大小。
此時,完成該仲裁回合。據此,開始新的仲裁回合,及仲裁器返回開始通道(通道1)來開始此一其次仲裁回合。於此一其次仲裁回合(回合2)之起點可知,2命令單元及16資料單元之新分量可增加至通道1之CUC及DUC,留下命令值為2及資料值為14,其現在允許在第二仲裁回合核准請求c及d。此時,再度,通道1之CUD達零,如此,於本仲裁回合期間不再核准通道1之異動處理。取而代之,於本仲裁回合期間其次選擇通道2用於下次服務。此處,2命令單元及16資料單元之新分量可分別地加至通道2之CUC及DUC,留下命令值為2及資料值為15,其現在允許在第二仲裁回合核准通道之請求C及D。
於一個實施例中,針對命令及資料之服務分量可以規劃,且更可與命令及資料匯流排之帶寬成正比。且只要CUC及DUC二者係大於零(於前文討論之實施例中),則可核准從該通道之異動處理,且該次異動處理將耗用CUC減量1及DUC減量達資料叢發寬度。然後當CUC變成零或DUC變成零或負時,該通道之輪循結束,而剩餘的過量使用資料帶寬可結餘轉給下一個仲裁回合作為貸方。
如此,於多個實施例中,即便於寬廣多變資料長度請求之存在下,可完成命令匯流排及資料匯流排上的準確帶寬控制。又復,針對各個通道對命令及資料分量之獨立控制可提供跨寬廣範圍通訊資料流特性之調適性。同時,命令及資料分量之可規劃性允許此等數值在矽晶粒之後設定(例如經組配來藉自我啟動唯讀記憶體(ROM)組態韌體及/或藉作業系統(OS)在自我啟動時設定)。又更,每當目前分配的命令及資料分量經判定為不適合平台相依性排程策略、服務品質(QoS)維度、或公平享用系統資源時,此等分量可經組配來在運轉時間藉驅動程式或平台系統軟體或平台可管理性引擎在行進間設定。
及於若干具體實現,分配給不同請求器之分量的動態更新可在正常系統操作期間基於常規基準執行。或者,此等服務分量可基於系統操作期間能夠分析的某種尺規而更新。雖然本發明之範圍並非囿限於此,但於若干實施例中,控制器諸如核心、特定功能單元、或其它邏輯單元(及可能地於若干實施例中仲裁器本身)可執行代碼,例如驅動程式或平台系統軟體或其它此等軟體來從事分量服務分配之分析及可能的更新。
現在參考第4圖,顯示依據本發明之一實施例之方法之流程圖。如第4圖所示,方法300可於系統操作期間執行來判定所分配的分量是否適當,若否,則採行矯正動作。於一個實施例中,控制器諸如通用處理核心或其它代理器可執行該方法。
如圖可知,方法300始於接收到有關分量服務分配給多個請求器之相關資訊(方塊310)。舉例言之,控制器可接收儲存在非依電性儲存裝置之資訊來提示提供給多個請求器中之各者之分量服務分配。舉例言之,回頭參考第3圖,假定只有兩個請求器,其各自可被提供以相等分量服務分配(例如針對各次仲裁回合欲分配相等數目命令單元及資料單元)。
可繼續方法300,藉由分析多-回合仲裁來判定請求器耗用資訊(方塊320)。舉例言之,當進行多個仲裁回合時,控制器可例如基於與不同請求器相關聯之在請求佇列中懸而未決的異動處理量而判定請求器耗用資訊。當然於其它實施例中可實現判定請求器耗用資訊之其它方式。舉例言之,替代有關請求佇列之資訊或額外地,也可考慮分配給各個請求器之一共享互連體上的帶寬量之相關資訊。
其次,控制送交菱形330,於該處,可基於此請求器耗用資訊而判定耗用是否在策略極限以內。舉例言之,預定策略極限可設定來指示例如欲分配給各個請求器之互連體帶寬量。於一個實施例中,此等策略極限可相對應於欲分配給各個請求器之帶寬百分比。當然,策略極限也可呈其它形式,諸如使用時間。若判定耗用係在此策略極限以內,則可結束方法300。否則若判定耗用係不在策略極限以內,則控制送交方塊340,於該處,分量服務分配可基於策略加以調整。舉例言之,可針對各個請求器設定不同量的分量服務分配。
如此更新後,各個請求器可接收到不等量的分量服務分配。舉例言之,第一(且較高優先等級)請求器可接收較多命令單元作為其分量服務分配(例如達2:1比例),及此外,此一第一請求器也可接收額外資料單元分配(例如再度依據2:1或其它此種比例)。然後此等已更新分量服務分配可儲存在從其中獲得原先分配的相同非依電性儲存裝置內(例如覆寫原先位置)。或當原先位置係藉韌體設定時,新位置可儲存在另一位置使其在系統的另一動力位置,而原先位置可再度用來設定分量服務分配。雖然第4圖係以此特定具體實現顯示,但本發明之範圍並非囿限於此。
注意依據本發明之一實施例SoC可有各種類型之設計,包括多核心及許多核心處理器設計具額外代理器,諸如核心、快取記憶體、加速度器、記憶體控制器等。SoC可用在許多不同系統。舉個特定實例,依據本發明之一實施例SoC可結合至電腦系統諸如筆記型電腦。現在參考第5圖,顯示依據本發明之一實施例之系統之方塊圖。如第5圖所示,系統500可以是小筆記型電腦或其它小形狀因數電腦。
如圖可知,SoC 510可以是依據本發明之一實施例之SoC,諸如前文就第2圖所述。記憶體520於一個實施例中可以是動態隨機存取記憶體(DRAM),可耦接至SoC,原因在於SoC可包括一整合型記憶體控制器。此外,SoC 510可耦接至顯示器530,諸如液晶顯示器(LCD)、觸控面板、或其它此等顯示器,原因在於SoC可更包括繪圖功能。此外,SoC 510可耦接至輸出入控制中樞器(ICH)550,其又可耦接至多個系統組件,諸如快閃記憶體540,其於一個實施例中可作為系統之大容量儲存系統,原因在於它的小形狀因數適合小筆記型電腦或其它小型裝置。此外,ICH 550可耦接至無線介面560,其可作動依據美國電機及電子工程師學會(IEEE) 802.11或其它此種標準,例如透過區域網路(LAN)諸如藍牙連結、無線LAN(WLAN)通訊。此外,無線介面560可進一步作動透過廣域網路諸如小區通訊網路通訊。ICH 550可進一步耦接至一或多個IO裝置570,諸如鍵盤、滑鼠、指標器或其它用戶介面裝置。雖然於第5圖係以此特定具體實現顯示,但本發明之範圍並非囿限於此。
雖然已經就有限數目之實施例描述本發明,但熟諳技藝人士須瞭解從其中做出無數修改及變化。預期隨附之申請專利範圍涵蓋落入於本發明之精髓及範圍內之全部此等修改及變化。
100、300...方法
110-180、310-340...處理方塊
2101-N...代理器
210a-b...輸入請求佇列
2201-N...請求佇列
230...共享互連體
250...仲裁邏輯
260...儲存裝置
265...CUC
268...DUC
500‧‧‧系統
510‧‧‧單晶片系統(SoC)
520‧‧‧記憶體
530‧‧‧顯示器
540‧‧‧快閃記憶體
550‧‧‧I/O控制中樞器(ICH)
560‧‧‧無線介面(I/F)
570‧‧‧輸出入裝置(I/O)
第1圖為依據本發明之一個實施例一種方法之流程圖。
第2圖為依據本發明之一實施例一種系統之一部分之方塊圖。
第3圖為依據本發明之一實施例之帶寬控制演算法則之操作之圖解說明圖。
第4圖為依據本發明之一實施例一種方法之流程圖。
第5圖為依據本發明之一個實施例一種系統之方塊圖。
100...方法
110-180...處理方塊
Claims (20)
- 一種方法,其包含下列步驟:選擇多個請求器中之一者來服務,並在那之後更新與所選擇之該請求器相關聯的一第一計數器和一第二計數器,其中該第一計數器對應於一命令單元計數器並用以維持與一異動處理的一命令部分相關聯之一第一計數值,且該第二計數器對應於一資料單元計數器並用以維持與該異動處理的一資料部分相關聯之一第二計數值;判定該等第一和第二計數器中之各者是否依從針對該等第一和第二計數器的一對應臨界值;以及若是如此則核准針對所選擇之該請求器的一異動處理,若非如此則拒絕針對所選擇之該請求器的該異動處理。
- 如申請專利範圍第1項之方法,其進一步包含下列步驟:基於該異動處理而更新該第一計數器和該第二計數器。
- 如申請專利範圍第2項之方法,其進一步包含下列步驟:基於所選擇之該請求器之優先等級和該等多個請求器中之各者之優先等級而選擇所選擇之該請求器。
- 如申請專利範圍第1項之方法,其進一步包含下列步驟:核准針對所選擇之該請求器的連續多個異動處理,同時不對至少一個其他請求器核准任何異動處理。
- 如申請專利範圍第4項之方法,其進一步包含下列步驟: 於各個該等連續多個異動處理之後,迭代重複地更新該等第一和第二計數器。
- 如申請專利範圍第5項之方法,其進一步包含下列步驟:核准該等連續多個異動處理,直至該等第一和第二計數器中之至少一者沒有依從該對應臨界值為止。
- 如申請專利範圍第1項之方法,其進一步包含下列步驟:回應於該等第一和第二計數器中之該至少一者並沒有依從該對應臨界值,而選擇一第二請求器來服務。
- 如申請專利範圍第1項之方法,其中該第一計數器在達到一零值時為沒有依從,且該第二計數器在達到一零值或一負值時為沒有依從。
- 如申請專利範圍第8項之方法,其進一步包含下列步驟:在下一個仲裁回合開始時,借記(debiting)該第二計數器一負值量。
- 如申請專利範圍第1項之方法,其進一步包含下列步驟:將針對一仲裁回合的一服務分量分派給該等多個請求器中之各者。
- 一種裝置,其包含:一第一計數器電路,其包括多個第一計數器,該等多個第一計數器各與一請求器相關聯,並係用於儲存被分配給所對應之該請求器的命令單元之計數值,該等命令單元的每一者對應於一異動處理的一命令部分;一第二計數器電路,其包括多個第二計數器,該等多個第二計數器各與一請求器相關聯,並係用於儲存被 分配給所對應之該請求器的資料單元之計數值,該等資料單元的每一者對應於一異動處理的一資料部分;以及耦接至該等第一和第二計數器電路的一仲裁器,用於選擇多個請求器中之一者來服務,及用於在與所選擇之該請求器相關聯的該等第一和第二計數器依從一對應臨界值時核准該請求器之一異動處理擁有對一共享互連體之取用權,否則便拒絕該請求器之該異動處理。
- 如申請專利範圍第11項之裝置,其中該裝置包含一單晶片系統,該單晶片系統包括多個代理器,該等多個代理器各對應於該等請求器中之一者,並且其中經核准的異動處理係要在該共享互連體上傳遞。
- 如申請專利範圍第11項之裝置,其中該仲裁器係用於核准針對所選擇之該請求器的連續多個異動處理,同時不對至少一個其他請求器核准任何異動處理。
- 如申請專利範圍第13項之裝置,其中該仲裁器係用於在各個該等連續多個異動處理之後迭代重複地更新該等第一和第二計數器;及用於核准該等連續多個異動處理,直到該等第一和第二計數器中之至少一者沒有依從該對應臨界值為止。
- 如申請專利範圍第11項之裝置,其進一步包含:耦接至該仲裁器的一控制器,其中該控制器係用於基於請求器耗用資訊而調整分配給該等多個請求器中之至少若干者的服務分量。
- 如申請專利範圍第15項之裝置,其中該控制器係用於動 態地調整該服務分量。
- 如申請專利範圍第15項之裝置,其中該控制器係用於判定該請求器耗用資訊是否指示出耗用有在一耗用策略極限以內,並係用於在該耗用沒有在該耗用策略極限以內時調整該服務分量。
- 一種系統,其包含:一第一代理器,用以在資料上執行操作;一第二代理器,用以在資料上執行操作;耦接至該等第一和第二代理器的一共享互連體;一命令單元計數器,用以儲存被分配給該等第一和第二代理器的命令單元之計數,該等命令單元的每一者對應於一異動處理的一命令部分;一資料單元計數器,用以儲存被分配給該等第一和第二代理器的資料單元之計數,該等資料單元的每一者對應於一異動處理的一資料部分之至少一部分;及一仲裁器,其耦接至該命令單元計數器和該資料單元計數器,並係用於選擇該等第一和第二代理器中之一者,以在與所選擇之該代理器相關聯的該命令單元計數器和該資料單元計數器高於一對應臨界值時致能對該共享互連體之取用權,否則便阻止所選擇之該代理器取用該共享互連體。
- 如申請專利範圍第18項之系統,其中該仲裁器係用於核准所選擇之該代理器的連續多個異動處理擁有對該共享互連體之取用權,同時不核准另一個代理器之異動處 理擁有對該共享互連體之取用權。
- 如申請專利範圍第18項之系統,其進一步包含:耦接至該仲裁器的一控制器,其中該控制器係用於基於將該等第一和第二代理器之耗用資料與對應耗用策略極限作比較來動態地調整被分配給該等第一和第二代理器的服務分量。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/877,871 US8667197B2 (en) | 2010-09-08 | 2010-09-08 | Providing a fine-grained arbitration system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201224760A TW201224760A (en) | 2012-06-16 |
| TWI526835B true TWI526835B (zh) | 2016-03-21 |
Family
ID=45771486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100129077A TWI526835B (zh) | 2010-09-08 | 2011-08-15 | 提供細緻仲裁系統之技術 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US8667197B2 (zh) |
| KR (1) | KR101478516B1 (zh) |
| CN (1) | CN103201726B (zh) |
| TW (1) | TWI526835B (zh) |
| WO (1) | WO2012033588A2 (zh) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8667197B2 (en) * | 2010-09-08 | 2014-03-04 | Intel Corporation | Providing a fine-grained arbitration system |
| US9507737B2 (en) * | 2012-09-19 | 2016-11-29 | Arm Limited | Arbitration circuitry and method |
| US9135179B2 (en) | 2013-05-01 | 2015-09-15 | Qualcomm, Incorporated | System and method of arbitrating cache requests |
| CN103246623B (zh) * | 2013-05-20 | 2016-08-31 | 杭州士兰控股有限公司 | Soc计算设备扩展系统 |
| JP6201591B2 (ja) * | 2013-09-30 | 2017-09-27 | 富士通株式会社 | 情報処理装置および情報処理装置の制御方法 |
| WO2015067295A1 (en) | 2013-11-05 | 2015-05-14 | Huawei Technologies Co., Ltd. | Method and arrangement for controlling requests to a shared electronic resource |
| US10372642B2 (en) | 2016-09-29 | 2019-08-06 | Intel Corporation | System, apparatus and method for performing distributed arbitration |
| US10861504B2 (en) | 2017-10-05 | 2020-12-08 | Advanced Micro Devices, Inc. | Dynamic control of multi-region fabric |
| US10558591B2 (en) * | 2017-10-09 | 2020-02-11 | Advanced Micro Devices, Inc. | Method and apparatus for in-band priority adjustment forwarding in a communication fabric |
| US11196657B2 (en) | 2017-12-21 | 2021-12-07 | Advanced Micro Devices, Inc. | Self identifying interconnect topology |
| US11321135B2 (en) * | 2019-10-31 | 2022-05-03 | Oracle International Corporation | Rate limiting compliance assessments with multi-layer fair share scheduling |
| US11507522B2 (en) | 2019-12-06 | 2022-11-22 | Advanced Micro Devices, Inc. | Memory request priority assignment techniques for parallel processors |
| US11223575B2 (en) | 2019-12-23 | 2022-01-11 | Advanced Micro Devices, Inc. | Re-purposing byte enables as clock enables for power savings |
| CN115640257A (zh) * | 2022-12-14 | 2023-01-24 | 摩尔线程智能科技(北京)有限责任公司 | 用于片上网络的通路仲裁方法、仲裁器以及片上路由器 |
| CN118331905B (zh) * | 2024-06-12 | 2024-08-06 | 西北工业大学 | 一种可扩展的片上互联总线结构 |
Family Cites Families (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3781821A (en) | 1972-06-02 | 1973-12-25 | Ibm | Selective shift register |
| US4161779A (en) | 1977-11-30 | 1979-07-17 | Burroughs Corporation | Dynamic priority system for controlling the access of stations to a shared device |
| US4682282A (en) | 1984-10-25 | 1987-07-21 | Unisys Corp. | Minimum latency tie-breaking arbitration logic circuitry |
| US5151994A (en) | 1989-11-13 | 1992-09-29 | Hewlett Packard Company | Distributed fair arbitration system using separate grant and request lines for providing access to data communication bus |
| US5164938A (en) * | 1991-03-28 | 1992-11-17 | Sprint International Communications Corp. | Bandwidth seizing in integrated services networks |
| US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
| US5239631A (en) * | 1991-10-15 | 1993-08-24 | International Business Machines Corporation | Cpu bus allocation control |
| US5241632A (en) | 1992-01-30 | 1993-08-31 | Digital Equipment Corporation | Programmable priority arbiter |
| US5572686A (en) * | 1995-06-05 | 1996-11-05 | Apple Computer, Inc. | Bus arbitration scheme with priority switching and timer |
| US5778200A (en) | 1995-11-21 | 1998-07-07 | Advanced Micro Devices, Inc. | Bus arbiter including aging factor counters to dynamically vary arbitration priority |
| US5896539A (en) | 1997-04-14 | 1999-04-20 | International Business Machines Corporation | Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities |
| US5996037A (en) * | 1997-06-03 | 1999-11-30 | Lsi Logic Corporation | System and method for arbitrating multi-function access to a system bus |
| JP4076724B2 (ja) * | 1998-02-24 | 2008-04-16 | シーゲイト テクノロジー エルエルシー | ダイナミック半二重によるループ・フェアネスの保持 |
| US6073132A (en) | 1998-03-27 | 2000-06-06 | Lsi Logic Corporation | Priority arbiter with shifting sequential priority scheme |
| US6209053B1 (en) * | 1998-08-28 | 2001-03-27 | Intel Corporation | Method and apparatus for operating an adaptive multiplexed address and data bus within a computer system |
| US6574688B1 (en) | 1999-01-05 | 2003-06-03 | Agere Systems Inc. | Port manager controller for connecting various function modules |
| US6311255B1 (en) * | 1999-04-29 | 2001-10-30 | International Business Machines Corporation | System and method for selectively restricting access to memory for bus attached unit IDs |
| GB9919208D0 (en) | 1999-08-13 | 1999-10-20 | Sgs Thomson Microelectronics | An arbiter and a method of arbitrating |
| US6651125B2 (en) * | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
| US6347351B1 (en) * | 1999-11-03 | 2002-02-12 | Intel Corporation | Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect |
| JP4554016B2 (ja) * | 2000-01-20 | 2010-09-29 | 富士通株式会社 | バス使用効率を高めた集積回路装置のバス制御方式 |
| US6631433B1 (en) * | 2000-09-27 | 2003-10-07 | Emc Corporation | Bus arbiter for a data storage system |
| US6735653B2 (en) * | 2001-02-16 | 2004-05-11 | Koninklijke Philips Electronics N.V. | Bus bandwidth consumption profiler |
| US6636482B2 (en) * | 2001-03-08 | 2003-10-21 | Arris International, Inc. | Method and apparatus for controlling traffic loading of different service levels in a cable data system |
| TW200825907A (en) | 2001-06-19 | 2008-06-16 | Intel Corp | Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium |
| US6804738B2 (en) * | 2001-10-12 | 2004-10-12 | Sonics, Inc. | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
| JP3732139B2 (ja) * | 2001-10-29 | 2006-01-05 | 三菱電機株式会社 | メモリ制御回路及びメモリバスの調停方法 |
| US7080174B1 (en) | 2001-12-21 | 2006-07-18 | Unisys Corporation | System and method for managing input/output requests using a fairness throttle |
| US6954811B2 (en) * | 2002-07-19 | 2005-10-11 | Calix Networks, Inc. | Arbiter for an input buffered communication switch |
| US7359322B2 (en) * | 2002-08-12 | 2008-04-15 | Telcordia Technologies, Inc. | Dynamic bandwidth reallocation |
| US20040059879A1 (en) | 2002-09-23 | 2004-03-25 | Rogers Paul L. | Access priority protocol for computer system |
| US7284080B2 (en) * | 2003-07-07 | 2007-10-16 | Sigmatel, Inc. | Memory bus assignment for functional devices in an audio/video signal processing system |
| US7350003B2 (en) | 2003-09-25 | 2008-03-25 | Intel Corporation | Method, system, and apparatus for an adaptive weighted arbiter |
| US20050160188A1 (en) | 2004-01-20 | 2005-07-21 | Zohar Bogin | Method and apparatus to manage memory access requests |
| US7107376B2 (en) * | 2004-01-26 | 2006-09-12 | International Business Machines Corp. | Systems and methods for bandwidth shaping |
| US7231475B1 (en) * | 2004-01-30 | 2007-06-12 | Cisco Technology, Inc. | Advanced bandwidth allocation in PCI bus architecture |
| JP4480427B2 (ja) * | 2004-03-12 | 2010-06-16 | パナソニック株式会社 | リソース管理装置 |
| JP4222251B2 (ja) * | 2004-04-27 | 2009-02-12 | ソニー株式会社 | バス調停装置およびバス調停方法 |
| US20060039333A1 (en) | 2004-08-19 | 2006-02-23 | Dell Products L.P. | Information handling system including wireless bandwidth management feature |
| US7525986B2 (en) | 2004-10-28 | 2009-04-28 | Intel Corporation | Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools |
| JP2006127423A (ja) * | 2004-11-01 | 2006-05-18 | Matsushita Electric Ind Co Ltd | バス制御装置、調停装置、並びに、その方法及びプログラム |
| US8104054B2 (en) * | 2005-09-01 | 2012-01-24 | At&T Intellectual Property I, L.P. | Methods, systems, and devices for bandwidth conservation |
| GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
| US8464066B1 (en) * | 2006-06-30 | 2013-06-11 | Amazon Technologies, Inc. | Method and system for sharing segments of multimedia data |
| US20080091866A1 (en) | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Maintaining forward progress in a shared L2 by detecting and breaking up requestor starvation |
| JP4996929B2 (ja) | 2007-01-17 | 2012-08-08 | 株式会社日立製作所 | 仮想計算機システム |
| US20080288689A1 (en) | 2007-05-14 | 2008-11-20 | Brian Hoang | Opportunistic granting arbitration scheme for fixed priority grant counter based arbiter |
| US7685346B2 (en) * | 2007-06-26 | 2010-03-23 | Intel Corporation | Demotion-based arbitration |
| US8121124B2 (en) * | 2009-06-16 | 2012-02-21 | Calix, Inc. | Applying adaptive thresholds to multicast streams within computer networks |
| US8307138B2 (en) * | 2010-07-12 | 2012-11-06 | Arm Limited | Apparatus and method for controlling issuing of transaction requests |
| US8667197B2 (en) * | 2010-09-08 | 2014-03-04 | Intel Corporation | Providing a fine-grained arbitration system |
-
2010
- 2010-09-08 US US12/877,871 patent/US8667197B2/en not_active Expired - Fee Related
-
2011
- 2011-08-09 KR KR20137008238A patent/KR101478516B1/ko not_active Expired - Fee Related
- 2011-08-09 CN CN201180053442.7A patent/CN103201726B/zh active Active
- 2011-08-09 WO PCT/US2011/047038 patent/WO2012033588A2/en not_active Ceased
- 2011-08-15 TW TW100129077A patent/TWI526835B/zh active
-
2014
- 2014-01-31 US US14/169,515 patent/US9390039B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW201224760A (en) | 2012-06-16 |
| US9390039B2 (en) | 2016-07-12 |
| CN103201726B (zh) | 2016-06-29 |
| US20140149620A1 (en) | 2014-05-29 |
| KR101478516B1 (ko) | 2015-01-02 |
| US20120059962A1 (en) | 2012-03-08 |
| WO2012033588A2 (en) | 2012-03-15 |
| US8667197B2 (en) | 2014-03-04 |
| WO2012033588A3 (en) | 2012-05-10 |
| CN103201726A (zh) | 2013-07-10 |
| KR20130055005A (ko) | 2013-05-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI526835B (zh) | 提供細緻仲裁系統之技術 | |
| EP3238080B1 (en) | Guaranteed quality of service in system-on-a-chip uncore fabric | |
| CN104321758B (zh) | 经由共享存储器结构的仲裁存储器访问 | |
| CN103765852B (zh) | 为固定优先级仲裁器提供自适应带宽分配 | |
| CN104885070B (zh) | 控制片上系统(SoC)中的带宽分配 | |
| US9134778B2 (en) | Power distribution management in a system on a chip | |
| US10133670B2 (en) | Low overhead hierarchical connectivity of cache coherent agents to a coherent fabric | |
| CN101288057B (zh) | 基于传送方向及耗用带宽的加权总线仲裁 | |
| US8649286B2 (en) | Quality of service (QoS)-related fabric control | |
| Kim et al. | Optimized I/O determinism for emerging NVM-based NVMe SSD in an enterprise system | |
| WO2016105865A1 (en) | Tightly-coupled distributed uncore coherent fabric | |
| US8493863B2 (en) | Hierarchical fabric control circuits | |
| US8744602B2 (en) | Fabric limiter circuits | |
| US8140728B1 (en) | Data packet arbitration system | |
| EP3238085B1 (en) | Virtual legacy wire | |
| US6889283B2 (en) | Method and system to promote arbitration priority in a buffer queue | |
| US8861386B2 (en) | Write traffic shaper circuits | |
| WO2012066746A1 (ja) | 情報処理装置 | |
| CN119988308A (zh) | 数据传输方法及数据传输装置、电子装置 | |
| CN103201728A (zh) | 基于与流事务有关的信息来仲裁流事务 |