60??苫诮】敌畔?4(3)將配置為裝置56(3)(8卩,最佳努力)的主裝置14(0-M)的總線事務(wù)映射到含有可能的最大優(yōu)先級52(例如,O到3)的虛擬優(yōu)先級表60。仲裁器26(0-P)使用虛擬優(yōu)先級表60中的映射信息來基于主裝置14(O-M)的健康信息34(O-M)而轉(zhuǎn)譯用于仲裁來自主裝置14(O-M)的總線事務(wù)的物理優(yōu)先級。
[0044]健康信息到虛擬優(yōu)先級空間的映射允許總線互連12基于主裝置H(O-M)的類別類型和健康信息而控制指配給總線事務(wù)的優(yōu)先順序。如果需要改變此映射,那么可將類別類型重新映射到虛擬優(yōu)先級表60中的不同的虛擬最大優(yōu)先級52,而不必重新編程或重新配置主裝置H(O-M)。到虛擬優(yōu)先級空間的映射也允許由總線互連12來定義和控制:在總線互連系統(tǒng)10中的主裝置H(O-M)之間的相對優(yōu)先級為哪種相對優(yōu)先級。此情形通過限制可由給定類別56的主裝置H(O-M)使用的最大優(yōu)先級52(如圖2中的主裝置類別表50中所提供)來實現(xiàn)。因此,哪些主裝置H(O-M)對于總線互連系統(tǒng)10的繼續(xù)存在為關(guān)鍵的變成受約束的。此約束的作用是防止主裝置14(0-M)當中的“達到頂峰”條件,其中所有主裝置14(0-M)正試圖上升到較高優(yōu)先級以滿足其性能合同。
[0045]如果主裝置H(O-M)的健康信息34(0_M)并不指示任何性能或服務(wù)質(zhì)量問題,那么由圖1中的仲裁器26(0-P)使用圖3中的虛擬優(yōu)先級表60中所定義的最低優(yōu)先級來仲裁所有主裝置14(0-M)。否則,在仲裁器26(0-P)中基于圖3中的虛擬優(yōu)先級表60而變更指示健康信息問題的主裝置H(O-M)的總線事務(wù)的優(yōu)先級。因此,仲裁優(yōu)先級方案為動態(tài)的在于:基于由圖1中的簿記元件36(0-M)導出或分析的健康信息34(0-M)而將優(yōu)先級指配給主裝置14(O-M)的仲裁總線事務(wù)。
[0046]仲裁器26(0_P)可使用不同的仲裁策略。舉例來說,在公平循環(huán)(FRR)仲裁優(yōu)先級方案中,高優(yōu)先級等級總線事務(wù)將優(yōu)先且首先在處于相同關(guān)鍵程度等級下的不同主裝置14(O-M)之間的總線事務(wù)之間公平地濾出可用帶寬。此情形本質(zhì)上為最關(guān)鍵截止時間首先仲裁優(yōu)先級方案。如果總線互連12實施緩沖,那么優(yōu)先級信息可用以對命令重新排序以提供優(yōu)先級排隊??墒褂闷渌俨脙?yōu)先級策略。舉例來說,在所有主裝置H(O-M)將具有所指配的相同的優(yōu)先級的情況下,可使用簡單的循環(huán)仲裁優(yōu)先級方案。在所有主裝置H(O-M)具有基于其類別而指配的固定優(yōu)先級的情況下,可使用固定仲裁優(yōu)先級方案。
[0047]如上文所論述,主裝置H(O-M)可經(jīng)配置以將健康信息34(0_M)提供到總線互連
12。存在多種情況,其中主裝置14的多個客戶端可個別地設(shè)定由主裝置14的客戶端產(chǎn)生的事務(wù)的健康信息。在這方面,圖4A為示范性主裝置14的框圖,示范性主裝置14經(jīng)配置以將健康信息34提供到圖1中的總線互連12。健康信息可基于來自主裝置14的多個客戶端76(0-Q)的聚集的健康信息SO(O-Q)和/或由聚集器71聚集的主裝置14的健康信息。存在多個例子,其中(例如)類似CPU的等待時間敏感客戶端76(0-Q)聚集于子系統(tǒng)(例如,圖4A中的主裝置14)內(nèi)部。將優(yōu)先級給予這些類型的客戶端76(0-Q)以改進總線互連系統(tǒng)10的性能可為重要的。在此實例中,健康信息34由多個健康信息片段70組成。如下文更詳細論述,多個健康信息片段70由地址映射74中的條目組成。地址映射74含有基于主ID條目73索引的條目,主ID條目73識別健康信息34可適用于的主裝置14,以用于基于健康信息而指配主裝置14的優(yōu)先級。
[0048]舉例來說,繼續(xù)參看圖4A,當系統(tǒng)存儲器管理單元(SMMU)79用于核心或子系統(tǒng)時,服務(wù)質(zhì)量(QoS)健康指示77可與存儲頁面72相關(guān)聯(lián),存儲頁面72在此實例中為轉(zhuǎn)譯后備緩沖器(TLB)條目??稍谥餮b置14內(nèi)部或外部提供SMMU 79 WoS健康指示77將含有與具有存儲頁面72的頁面地址空間中的特定地址區(qū)或頁面的存取相關(guān)聯(lián)的健康信息。隨后將健康信息轉(zhuǎn)譯成虛擬優(yōu)先級空間,如上文所論述。舉例來說,可將地址區(qū)或頁面標示為具有關(guān)鍵健康,又可通過稍后在下文更詳細揭示的健康到優(yōu)先級示范性轉(zhuǎn)譯機制將此情形轉(zhuǎn)譯成高優(yōu)先級。此特征可由聚集器71來聚集且結(jié)合來自客戶端76(0-Q)的健康信息80(0-Q)使用。舉例來說,傳入的健康信息80( 0-Q)與QoS健康指示77之間的最大值可用以導出最關(guān)鍵健康值?;蛘?,可單獨使用QoS健康指示77信息或傳入的健康信息80(0-Q)。另外,每一 QoS健康指示77可包含指示QoS健康指示77是否有效以及是否可使用的QoS標簽78。可將TLB失敗加標簽為具有關(guān)鍵健康信息,可將此情形轉(zhuǎn)譯成高優(yōu)先級,以允許在總線互連系統(tǒng)10中以較快的響應(yīng)時間傳播TLB失敗以減少相應(yīng)主裝置14的響應(yīng)時間。
[0049]圖4B為圖4A中所說明的多個主裝置H(O-M)的框圖。在此實施例中,主裝置14(0-Μ)各自經(jīng)配置以聚集來自多個客戶端76(0-Q)和/或主裝置14(0-M)的健康信息80(0-Q)且將聚集的健康信息Sl(O-M)的輸出提供到圖1的總線互連12。在此實例中,圖4B中的主裝置14(0)和SMMU 79為圖4A中所說明的主裝置14和SMMU 79。其它主裝置(例如,主裝置14(M))也可包含聚集器(例如,聚集器71(M))以聚集來自多個客戶端76(0-Q)和/或主裝置(例如,主裝置14(M))的健康信息80(0-Q)。如下文更詳細論述,聚集健康信息Sl(O-M)用以確定仲裁器26仲裁主裝置H(O-M)的總線事務(wù)的優(yōu)先級等級。
[0050]如上文關(guān)于圖1所論述,簿記元件36(0-M)監(jiān)視主端口 22(0-M),且如果主裝置14(O-M)未向總線互連12提供健康信息,那么簿記元件36(0-M)可導出主裝置H(O-M)的健康狀態(tài)。舉例來說,簿記元件36 (0-M)可包含軟件或為軟件可編程實體。在這方面,在圖1中的實施例中,為了使得簿記元件36(0-M)的頻率獨立于總線互連時鐘信號18的頻率,使用固定或接觸時鐘信號來對簿記元件36(0-M)計時(例如,20兆赫(MHz))。簿記元件36(0-M)可對固定帶寬要求或其它類型的合同起作用,以確保主裝置H(O-M)的總線事務(wù)的平均等待時間(包含(但不限于)往返等待時間)在給定周期內(nèi)維持或如期望的而維持。作為實例,可通過簿記元件36(0-M)來監(jiān)視以確定主裝置H(O-M)的健康狀態(tài)的一種類型的合同為固定帶寬合同(FBC) JBC可提供在給定時間窗內(nèi)傳送給定量的數(shù)據(jù)的保證??捎刹居浽?6(0-M)使用以確定主裝置H(O-M)的健康狀態(tài)的合同的另一實例為平均/瞬時等待時間合同(ALC)。ALC可提供對于具有平均給定帶寬的通信量簡檔滿足給定時間的平均往返等待時間的保證。可由簿記元件36(0-M)使用以確定主裝置H(O-M)的健康狀態(tài)的合同的另一實例為可變帶寬合同(VBC) JBC以類似FBC的帶寬保證開始。另外,允許主裝置H(O-M)通過硬件在預(yù)先配置的遞增或遞減步驟中用信號發(fā)送而動態(tài)地更新合同。
[0051]圖5為示范性貸/借選項的圖,所述示范性貸/借選項可用于圖1中的簿記元件36(O-M)中以用于導出由圖1中的總線互連12針對主裝置H(O-M)提供的服務(wù)等級。在此實例中,將待于給定時間量要求中傳送的給定數(shù)據(jù)量轉(zhuǎn)譯成每一授予周期(GP)的平均目標授予計數(shù)(GC)(S卩,所授予的事務(wù)或所傳送的總字節(jié))。舉例來說,可以對簿記元件36(0-M)計時的時鐘信號的循環(huán)(例如,20MHz)來表達授予周期。GC/GP建立由簿記元件36 (O-M)監(jiān)視的軌跡。每個周期,簿記元件36(0-M)將累積GCi計算為(IGC1-GC)+累積GCh,其中IGC為瞬時授予計數(shù)。健康狀態(tài)是基于通過軌跡90、92、94提供的閾值等級,所述閾值等級仿真實時緩沖器行為,且在產(chǎn)生器96的速率等于消費者98的速率時,緩沖器100為空的(或幾乎為空的)。當消費者98的速率降低時,緩沖器100在帶寬瞬時降低之后變成填滿的。通過在緩沖器100中指配等級來確定健康狀態(tài)。簿記元件36(0-M)經(jīng)配置以遵循標稱斜率軌跡90。如果速率降低,那么其將低于此斜率,從而觸發(fā)健康狀態(tài)更新??蓪?yīng)于各自的閾值和健康狀態(tài)編程??梢罁?jù)每一 GP的授予或數(shù)據(jù)的字節(jié)來提供GP。
[0052]圖6A和6B為示范性平均化選項的圖,所述示范性平均化選項可用于圖1中的簿記元件36(0-M)中以用于在圖1的總線互連12中導出來自主裝置H(O-M)的總線事務(wù)的健康狀態(tài)等級。在圖6A中,將服務(wù)要求或合同轉(zhuǎn)譯成每一GP的平均目標GC( S卩,所授予的事務(wù)或所傳送的總字節(jié))<^/^建立由簿記元件36(0-10監(jiān)視的軌跡101、102、104。每個周期,簿記元件36(0-M)將計算累積GCi = (IGC1-GC),其中IGC為瞬時授予計數(shù)??梢允谟栊问交蛞宰止?jié)形式來表達GC ο在GP間隔的結(jié)尾,將累積值移位到四(4)條目先進先出(FIFO)寄存器110中,寄存器110實施執(zhí)行平均濾波器112的4-分接頭。將最舊的值移出。對FIFO寄存器110的值求和且將所得值除以4。因此,并不以絕對方式累積歸因于“不良”合同產(chǎn)生的錯誤,而是將錯誤平均化。在比較器116中將結(jié)果與三個閾值114比較以確定健康狀態(tài)。帶寬閾值114和健康狀態(tài)可通過GP和GC來編程。
[0053 ] 在圖6B的實例中,提供16-位可編程計數(shù)器120、121用于GP和GC追蹤。提供三個(3)16-位閾值寄存器122、124、126,其用以導出健康狀態(tài)。瞬時字節(jié)/授予累加器(IACC) 128保持用于當前GP的累積字節(jié)。提供四個(4) 16-位累加器寄存器ACCO 130、ACC1132、ACC2 134、ACC3 136。關(guān)于組合邏輯,提供4:1加法器138以添加16-位累加器寄存器130到136。加法器138計算ceiling(ACC0/4+ACCl/4+ACC2/4+ACC3/4)。也可使用Ix減法器和Ix加法器來進行此操作。也提