專利名稱::控制對(duì)共享資源的訪問的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及控制對(duì)共享資源的訪問,尤其涉及為到共享資源的數(shù)據(jù)傳輸提供預(yù)定保證的控制。
背景技術(shù):
:這種類型的技術(shù)可以參見US2004/001502,"Anasynchronouson-chipnetworkrouterwithquality-of-service(QoS)support",F(xiàn)elicijanT等人,SOCconference,2004,proceedings,IEEE,InternationalSantaClara,CA,USA,S印t.12-15,2004,Piscataway,NJ,USA,IEEE,pp274-77,"Anasynchronouslowlatencyarbiterforqualityofservice(qos)applica-tions",F(xiàn)elicijanT等人,microelectronics,2003,ICM2003,Procee-dingsofthe15thinternationalconferenceonCairo,Egypt,Dec.9-11,2003,Piscataway,NJ,USA,IEEE,pp123-26,"Virtualchanneldesignsforguaranteeingbandwidthinasynchronousnetwork-on-chip",Bjerre-gaardT等人,Norchipconference,2004,proceedings,Oslo,Norway,8-9Nov.2004,Piscataway,NJ,USA,IEEE,pp269-272,"Rate-controlledstatic-priorityqueueing",以及參見ZhangH等人,Networking:founda-tionforthefuture,SanFrancisco,March28-April1,1993,Proceedingsoftheannualjointconference,onthecomputerandcommunicationsocieties(INFOCOM),LosAlamitos,IEEEComp.Soc.Press,US,vol.2,conf.12,pp227-236。在許多數(shù)據(jù)傳輸應(yīng)用中看到的問題是,數(shù)據(jù)量要傳輸?shù)街T如鏈路或存儲(chǔ)器的共享資源,以及可能不同時(shí)發(fā)送所有數(shù)據(jù)。因此,必須決定首先發(fā)送什么數(shù)據(jù)和哪些數(shù)據(jù)必須等待。不用說,這種決定影響數(shù)據(jù)到共享資源的傳輸,譬如,等待時(shí)間,隨后影響資源所參與的應(yīng)用的性能。本發(fā)明提供了調(diào)度引向共享資源的數(shù)據(jù)的新方式,使得可以獲得與等待時(shí)間和帶寬有關(guān)的保證。
發(fā)明內(nèi)容在第一方面中,本發(fā)明涉及一種控制對(duì)共享資源的訪問的方法,該方法包含接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,每個(gè)數(shù)據(jù)項(xiàng)被分配多個(gè)不同預(yù)定優(yōu)先級(jí)之一;和-通過如下步驟重復(fù)地將項(xiàng)目提供給資源o將具有最高非等待優(yōu)先級(jí)的待發(fā)送數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o那個(gè)優(yōu)先級(jí)隨后等待來自已經(jīng)接收到與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息的每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送。一般說來,這些數(shù)據(jù)項(xiàng)可以是任何類型的數(shù)據(jù)項(xiàng),譬如,以太網(wǎng)分組、flit(流控制單元)、或它們的組成部分。每個(gè)數(shù)據(jù)項(xiàng)可以單獨(dú)管理和按優(yōu)先級(jí)排列,或者,可以按優(yōu)先級(jí)排列較大量數(shù)據(jù),隨后將它們分解成數(shù)據(jù)項(xiàng)。數(shù)據(jù)的優(yōu)先級(jí)可以是預(yù)先確定的,從數(shù)據(jù)項(xiàng)或從中導(dǎo)出數(shù)據(jù)項(xiàng)的較大量數(shù)據(jù)的內(nèi)容中確定??商娲?,優(yōu)先級(jí)可以從其源或其接收者中確定。在當(dāng)前上下文中,優(yōu)先級(jí)可以用任何希望的方式來表示。由于本發(fā)明一般以電路形式實(shí)現(xiàn),一般使用諸如整數(shù)的數(shù)字來代表優(yōu)先級(jí)。但是,即使對(duì)于電路,這也不是必需的。一般說來,確定優(yōu)先級(jí)的順序以便能夠從任何優(yōu)先級(jí)對(duì)中確定哪個(gè)較高以及哪個(gè)較低。這與代表優(yōu)先級(jí)的實(shí)際方式無關(guān)。在當(dāng)前上下文中,優(yōu)先級(jí)可以以任何方式表示,以及其順序(一個(gè)比另一個(gè)高)可以用任何方式確定。接收步驟可以單獨(dú)接收數(shù)據(jù)(然后確定它的優(yōu)先級(jí))、只接收優(yōu)先級(jí)、或接收數(shù)據(jù)和分配的優(yōu)先級(jí)兩者。下面進(jìn)一步描述了這些信息接收方式的不同方面。當(dāng)前,共享資源可以是諸如存儲(chǔ)器、鏈路、處理器和/或交叉開關(guān)的適用于接收數(shù)據(jù)的任何類型的資源。本發(fā)明涉及控制將數(shù)據(jù)項(xiàng)發(fā)送到共享資源的方式,不關(guān)心各個(gè)數(shù)據(jù)項(xiàng),而是根據(jù)優(yōu)先級(jí)來控制數(shù)據(jù)項(xiàng)的流動(dòng)。優(yōu)先級(jí)可以是等待或非等待。等待意味著在這個(gè)時(shí)刻不將具有那個(gè)優(yōu)先級(jí)的數(shù)據(jù)發(fā)送到共享資源。即使沒有具有那個(gè)優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)希望發(fā)送到共享資源(也就是說,已經(jīng)接收到指示這樣的數(shù)據(jù)項(xiàng)準(zhǔn)備好發(fā)送的信息),優(yōu)先級(jí)也可以是等待。最好,某個(gè)優(yōu)先級(jí)必須等待的非等待較低優(yōu)先級(jí)是在發(fā)送具有相關(guān)優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的那一刻是非等待的那些優(yōu)先級(jí)。在任何時(shí)刻,要發(fā)送到資源的下一個(gè)數(shù)據(jù)項(xiàng)是下列數(shù)據(jù)項(xiàng)-準(zhǔn)備好發(fā)送(即,接收到相關(guān)信息),具有非等待的優(yōu)先級(jí),以及-具有數(shù)據(jù)項(xiàng)已準(zhǔn)備好的非等待優(yōu)先級(jí)的最高優(yōu)先級(jí)。一旦發(fā)送了數(shù)據(jù)項(xiàng),那個(gè)優(yōu)先級(jí)將等待,直到非等待的并且數(shù)據(jù)準(zhǔn)備好發(fā)送的所有較低優(yōu)先級(jí)有機(jī)會(huì)將數(shù)據(jù)項(xiàng)發(fā)送到共享資源。應(yīng)該注意到,在優(yōu)先級(jí)是等待時(shí),與低于等待優(yōu)先級(jí)的其它優(yōu)先級(jí)有關(guān)的數(shù)據(jù)項(xiàng)可能變成準(zhǔn)備好發(fā)送。等待優(yōu)先級(jí)無需等待也來自這種優(yōu)先級(jí)的發(fā)送。人們可能希望在當(dāng)前優(yōu)先級(jí)可再次發(fā)送之前,與哪個(gè)較低優(yōu)先級(jí)必須發(fā)送有關(guān)地為每個(gè)優(yōu)先級(jí)保存記錄。請注意,即使每當(dāng)所有較低(所有其它優(yōu)先級(jí))的非等待優(yōu)先級(jí)發(fā)送了數(shù)據(jù)項(xiàng)時(shí),最好只允許最高優(yōu)先級(jí)至少發(fā)送一次,也可以為所有優(yōu)先級(jí)獲得與等待時(shí)間和可獲得的帶寬兩者有關(guān)的某種保證。另外,請注意,到共享資源的數(shù)據(jù)項(xiàng)發(fā)送與哪個(gè)優(yōu)先級(jí)實(shí)際發(fā)送數(shù)據(jù)項(xiàng)無關(guān)可能是最佳的(譬如,鏈路的整個(gè)容量)。這可以從如果準(zhǔn)備好發(fā)送分配了其它優(yōu)先級(jí)的數(shù)據(jù)項(xiàng),則某個(gè)優(yōu)先級(jí)只能等待中看出.如果只有單個(gè)優(yōu)先級(jí)具有要發(fā)送的數(shù)據(jù)項(xiàng),則這個(gè)優(yōu)先級(jí)就不是等待的,并且可以將數(shù)據(jù)項(xiàng)逐個(gè)發(fā)送給共享資源。提供數(shù)據(jù)項(xiàng)的一種方式進(jìn)一步包含提供多個(gè)隊(duì)列的步驟,每一個(gè)隊(duì)列與優(yōu)先級(jí)之一有關(guān),以及其中-接收步驟包含接收與分配給數(shù)據(jù)項(xiàng)的優(yōu)先級(jí)有關(guān)的隊(duì)列中的每個(gè)數(shù)據(jù)項(xiàng),-發(fā)送步驟包含發(fā)送來自具有最高優(yōu)先級(jí)的非等待隊(duì)列的數(shù)據(jù)項(xiàng),以及-等待步驟包含那個(gè)隊(duì)列然后等待來自具有較低優(yōu)先級(jí)的所有非空非等待隊(duì)列的數(shù)據(jù)項(xiàng)的發(fā)送。因此,數(shù)據(jù)項(xiàng)被接收并提供到與相關(guān)優(yōu)先級(jí)有關(guān)的隊(duì)列中。關(guān)于這一方面,等待步驟接著可包含當(dāng)將來自每個(gè)較低優(yōu)先級(jí)非空非等待隊(duì)列的數(shù)據(jù)項(xiàng)從數(shù)據(jù)提供者發(fā)送到共享資源時(shí),將來自隊(duì)列的下一個(gè)數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)到存儲(chǔ)器,以及其中,所述發(fā)送步驟包含發(fā)送存儲(chǔ)器中具有最高優(yōu)先級(jí)的那個(gè)數(shù)據(jù)項(xiàng)。這樣就簡化了進(jìn)一步分離等待狀態(tài)和確定發(fā)送哪個(gè)數(shù)據(jù)項(xiàng)的過程。在本實(shí)施例中,存儲(chǔ)器簡單地保存非等待的每個(gè)非空隊(duì)列的數(shù)據(jù)項(xiàng)。因此,可以簡單地確定要發(fā)送哪些數(shù)據(jù)項(xiàng)。事實(shí)上,同一存儲(chǔ)器結(jié)構(gòu)可能不是用于實(shí)際數(shù)據(jù)項(xiàng),而是用于與數(shù)據(jù)項(xiàng)有關(guān)的信息,以便使得可以看出哪些優(yōu)先級(jí)是等待,并便于容易地確定適用于發(fā)送的下一個(gè)優(yōu)先級(jí)??梢苑乐沟却?duì)列將數(shù)據(jù)項(xiàng)發(fā)送到存儲(chǔ)器,使得存儲(chǔ)器中不具有數(shù)據(jù)項(xiàng)的非空隊(duì)列將是等待隊(duì)列。在另一個(gè)實(shí)施例中,該方法進(jìn)一步包含提供多個(gè)數(shù)據(jù)提供者的步驟,多個(gè)數(shù)據(jù)提供者的每一個(gè)適用于-提供每一個(gè)都分配了優(yōu)先級(jí)之一的數(shù)據(jù)項(xiàng),-提供與準(zhǔn)備從數(shù)據(jù)提供者發(fā)送到共享資源的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,以及其中-發(fā)送步驟包含數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)發(fā)送給資源,以及-等待步驟包含防止從任何數(shù)據(jù)提供者發(fā)送具有等待優(yōu)先級(jí)的準(zhǔn)備好的數(shù)據(jù)項(xiàng),直到來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)已經(jīng)從數(shù)據(jù)提供者發(fā)送到共享資源。在這種狀況下,該方法或?qū)崿F(xiàn)該方法的系統(tǒng)可能不具有或接收數(shù)據(jù),而適用于指示數(shù)據(jù)提供者(通知發(fā)送數(shù)據(jù)項(xiàng)的方法)何時(shí)發(fā)送數(shù)據(jù)項(xiàng)(最好還有其優(yōu)先級(jí)的標(biāo)識(shí),以便提供者確定發(fā)送許多數(shù)據(jù)項(xiàng)中的哪些)。在一種方式中,等待步驟譬如通過發(fā)送防止信號(hào),積極地防止數(shù)據(jù)提供者發(fā)送等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)??商娲?,提供者適用于在被命令這樣做之前不發(fā)送數(shù)據(jù)項(xiàng)。這可能是何時(shí)數(shù)據(jù)提供者進(jìn)一步適用于在因此受到指令時(shí)轉(zhuǎn)發(fā)數(shù)據(jù),以及其中-發(fā)送步驟包含指令具有最高非等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)給共享資源,以及-等待步驟包含不指令具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者發(fā)送等待優(yōu)先級(jí)的任何數(shù)據(jù)項(xiàng)。一般說來,接收步驟最好包含接收數(shù)據(jù)項(xiàng)并將數(shù)據(jù)項(xiàng)提供給存儲(chǔ)設(shè)備或存儲(chǔ)器,以及其中,發(fā)送步驟包含發(fā)送來自存儲(chǔ)設(shè)備或存儲(chǔ)器的數(shù)據(jù)項(xiàng)。在一個(gè)實(shí)施例中,等待步驟包含對(duì)于預(yù)定優(yōu)先級(jí),只有當(dāng)預(yù)定優(yōu)先級(jí)發(fā)送了多個(gè)數(shù)據(jù)項(xiàng)時(shí),才等待數(shù)據(jù)項(xiàng)的發(fā)送。這樣,在這個(gè)優(yōu)先級(jí)進(jìn)入等待階段之前,這個(gè)預(yù)定優(yōu)先級(jí)將被提供比每次只發(fā)送單個(gè)數(shù)據(jù)項(xiàng)時(shí)更大的到資源的帶寬。在這種狀態(tài)下,為非等待隊(duì)列保存要發(fā)送到資源的數(shù)據(jù)項(xiàng)的任何存儲(chǔ)器可以為預(yù)定優(yōu)先級(jí)留出多個(gè)數(shù)據(jù)項(xiàng)的空間并為其它優(yōu)先級(jí)留出較少數(shù)據(jù)項(xiàng)的空間。在另一個(gè)方面中,本發(fā)明涉及一種控制對(duì)共享資源的訪問的方法,該方法包含誦接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,每個(gè)數(shù)據(jù)項(xiàng)被分配多個(gè)不同預(yù)定優(yōu)先級(jí)之一;-為每個(gè)優(yōu)先級(jí)定義一個(gè)或多個(gè)發(fā)送過程,與數(shù)據(jù)項(xiàng)有關(guān)的每段信息被分配相關(guān)優(yōu)先級(jí)的發(fā)送過程;和-通過如下步驟重復(fù)地將項(xiàng)目提供給資源o將已經(jīng)將與其有關(guān)的信息分配給為最高優(yōu)先級(jí)定義的非等待發(fā)送過程的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o那個(gè)發(fā)送過程隨后等待來自每個(gè)較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送,所述每個(gè)較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息,并且所述每個(gè)較低優(yōu)先級(jí)的至少一個(gè)發(fā)送過程是非等待的。這個(gè)方面與笫一方面密切相關(guān),但在這個(gè)方面中,可以為一個(gè)或多個(gè)優(yōu)先級(jí)定義服從第一方面的發(fā)送特性的幾種發(fā)送手段。這樣,那個(gè)優(yōu)先級(jí)可以獲得較大的帶寬,同時(shí)仍然可以為其它優(yōu)先級(jí)提供可確定和實(shí)際的服務(wù)保證。并且,通過控制將接收信息分配給哪個(gè)發(fā)送過程以及選擇哪個(gè)發(fā)送過程來發(fā)送數(shù)據(jù)項(xiàng),可以獲得各種各樣的行為。此外,將接收信息分配給發(fā)送過程的時(shí)刻將確定系統(tǒng)的行為。最好,將信息分配給將使相關(guān)數(shù)據(jù)項(xiàng)最早發(fā)送的發(fā)送過程。在一個(gè)實(shí)施例中,那個(gè)發(fā)送過程隨后實(shí)際等待來自較低優(yōu)先級(jí)的每個(gè)非等待發(fā)送過程的數(shù)據(jù)項(xiàng)的發(fā)送,所述較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息。一般說來,在第一和第二方面中,優(yōu)先級(jí)/隊(duì)列/發(fā)送過程最好等待只發(fā)送在發(fā)送時(shí)刻發(fā)送的數(shù)據(jù)項(xiàng)當(dāng)中在該發(fā)送時(shí)刻已經(jīng)接收到其信息的數(shù)據(jù)項(xiàng)。因此,在這些方面中,最好在數(shù)據(jù)項(xiàng)的發(fā)送時(shí)刻進(jìn)行哪些隊(duì)列、發(fā)送過程或優(yōu)先級(jí)是非等待和非空的確定。在一種方式中,將存儲(chǔ)器分配給每個(gè)優(yōu)先級(jí),并將應(yīng)該在這個(gè)優(yōu)先級(jí)再次非等待之前發(fā)送數(shù)據(jù)項(xiàng)的非空等待較低優(yōu)先級(jí)的信息供應(yīng)給那個(gè)存儲(chǔ)器。然后,在每次發(fā)送數(shù)據(jù)項(xiàng)時(shí)更新這個(gè)存儲(chǔ)器。本發(fā)明的另一個(gè)方面涉及一種控制對(duì)共享資源的訪問的系統(tǒng),該系統(tǒng)包含-適用于接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息的接收裝置,每個(gè)數(shù)據(jù)項(xiàng)被分配了多個(gè)不同預(yù)定優(yōu)先級(jí)之一;和-適用于通過如下步驟重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源的發(fā)送裝置o將待發(fā)送并具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o隨后讓來自那個(gè)優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送等待,直到已經(jīng)通過已數(shù)據(jù)項(xiàng)。如上所述,接收裝置可以接收實(shí)際數(shù)據(jù)項(xiàng),以及自已確定相關(guān)優(yōu)先級(jí),可以接收數(shù)據(jù)項(xiàng)和優(yōu)先級(jí)兩者,或可以只接收優(yōu)先級(jí)。在一個(gè)總實(shí)施例中,該系統(tǒng)進(jìn)一步包含每一個(gè)與優(yōu)先級(jí)之一有關(guān)的多個(gè)隊(duì)列,以及其中-接收裝置適用于將每個(gè)數(shù)據(jù)項(xiàng)提供給與分配給數(shù)據(jù)項(xiàng)的優(yōu)先級(jí)有關(guān)的隊(duì)列,-發(fā)送裝置適用于發(fā)送來自具有最高優(yōu)先級(jí)的任何非等待隊(duì)列的具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng),隨后讓那個(gè)隊(duì)列等待來自與較低優(yōu)先級(jí)有關(guān)的所有非等待隊(duì)列的數(shù)據(jù)項(xiàng)的發(fā)送。然后,發(fā)送裝置可以適用于,當(dāng)已經(jīng)將來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)從隊(duì)列發(fā)送到共享資源時(shí),將來自隊(duì)列的下一個(gè)數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)到存儲(chǔ)器,以及將存儲(chǔ)器中具有最高優(yōu)先級(jí)的那個(gè)數(shù)據(jù)項(xiàng)發(fā)送給資源。如上所述,另外或可替代地,那種類型的存儲(chǔ)器可以另外或替換用于以這樣方式接收的信息,使得僅在存儲(chǔ)器中接收用于非等待優(yōu)先級(jí)的信息,以便快速確定要發(fā)送數(shù)據(jù)項(xiàng)的下一個(gè)優(yōu)先級(jí)。在同一個(gè)或另一個(gè)實(shí)施例中,該系統(tǒng)可以進(jìn)一步包含多個(gè)數(shù)據(jù)提供者,多個(gè)數(shù)據(jù)提供者的每一個(gè)適用于-提供每一個(gè)都分配了優(yōu)先級(jí)之一的數(shù)據(jù)項(xiàng),以及-提供與準(zhǔn)備從數(shù)據(jù)提供者發(fā)送到共享資源的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,其中,發(fā)送裝置適用于指令數(shù)據(jù)提供者將具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及隨后防止從任何數(shù)據(jù)提供者發(fā)送具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng),直到來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)已經(jīng)從數(shù)據(jù)提供者發(fā)送到共享資源。關(guān)于這一點(diǎn),數(shù)據(jù)提供者可以適用于當(dāng)因此受到指令時(shí)轉(zhuǎn)發(fā)數(shù)據(jù)項(xiàng),以及其中,發(fā)送裝置適用于指令具有最高非等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)給共享資源,以及隨后不指令具有項(xiàng),直到已經(jīng)指令數(shù)據(jù)提供者發(fā)送來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)。一般說來,接收裝置最好適用于接收數(shù)據(jù)項(xiàng)并將數(shù)據(jù)項(xiàng)提供給存儲(chǔ)設(shè)備或存儲(chǔ)器,以及其中,發(fā)送裝置適用于發(fā)送來自存儲(chǔ)設(shè)備或存儲(chǔ)器的數(shù)據(jù)項(xiàng)。在當(dāng)前上下文中,共享資源可以是諸如鏈路、存儲(chǔ)器、處理器、集成電路或交叉開關(guān)的適用于接收數(shù)據(jù)項(xiàng)的任何類型資源或接收器。如上所述,當(dāng)發(fā)送裝置適用于只有在來自優(yōu)先級(jí)的多個(gè)數(shù)據(jù)項(xiàng)已經(jīng)發(fā)送到資源之后才讓優(yōu)先級(jí)等待時(shí),可以將較大帶寬提供給預(yù)定優(yōu)先級(jí)。在第四方面中,本發(fā)明涉及一種控制對(duì)共享資源的訪問的系統(tǒng),該系統(tǒng)包含-適用于接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息的接收裝置,每個(gè)數(shù)據(jù)項(xiàng)被分配了多個(gè)不同預(yù)定優(yōu)先級(jí)之一;-對(duì)于每個(gè)優(yōu)先級(jí)、一個(gè)或多個(gè)發(fā)送過程,與數(shù)據(jù)項(xiàng)有關(guān)的每段信息被分配給相關(guān)優(yōu)先級(jí)的發(fā)送過程;以及-適用于通過如下步驟重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源的發(fā)送裝置o將與其有關(guān)的信息已經(jīng)被分配給最高優(yōu)先級(jí)的非等待發(fā)送過程的待發(fā)送數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o隨后讓那個(gè)發(fā)送過程隨后等待來自每個(gè)較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送,所述每個(gè)較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息并且其至少一個(gè)發(fā)送過程是非等待,如上所述,這提供了控制數(shù)據(jù)項(xiàng)的流動(dòng)并將可確定和可控制發(fā)送保證提供給優(yōu)先級(jí)的附加方式。在一個(gè)實(shí)施例中,發(fā)送裝置適用于隨后讓那個(gè)發(fā)送過程隨后等待來自較低優(yōu)先級(jí)的每個(gè)非等待發(fā)送過程的數(shù)據(jù)項(xiàng)的發(fā)送,所述較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息。此外,在第三和第四方面中,發(fā)送裝置最好適用于讓優(yōu)先級(jí)/隊(duì)列/發(fā)送過程等待只發(fā)送在發(fā)送時(shí)刻發(fā)送的數(shù)據(jù)項(xiàng)當(dāng)中在發(fā)送時(shí)刻接收到其信息的數(shù)據(jù)項(xiàng)。當(dāng)確定時(shí)刻固定時(shí),這使過程更易于控制。在下文中,將參照附圖描述本發(fā)明的優(yōu)選實(shí)施例,其中圖1例示了連接獨(dú)立計(jì)時(shí)核心的異步網(wǎng)絡(luò)便于大規(guī)模SoC設(shè)計(jì)中的模塊化;圖2例示了虛擬信道A到D共享物理鏈路的基本鏈路;圖3例示了基于優(yōu)選實(shí)施例的完整鏈路,其中,靜態(tài)優(yōu)先級(jí)隊(duì)列(SPQ)按優(yōu)先級(jí)排列對(duì)鏈路的訪問以提供等待時(shí)間保證,許可控制確保flit的流動(dòng)服從SPQ所需條件,以及VC控制保證無堵塞行為;圖4例示了圖3的鏈路的操作例子;圖5是通過連接預(yù)留的一系列VC的一部分的模型;圖6例示了基于共享的VC控制;圖7例示了共享和非共享盒的示意圖;圖8例示了許可控制示意圖;圖9例示了flit等待時(shí)間分布與網(wǎng)絡(luò)負(fù)載(a)慢速路徑,(b)快速路徑;以及圖10例示了SPQ判優(yōu)器的優(yōu)選異步實(shí)施和伴隨的合并數(shù)據(jù)路徑。具體實(shí)施方式本實(shí)施例示出了本發(fā)明(在下文中,稱為ALG-異步等時(shí)時(shí)間保證)如何可用作異步片上網(wǎng)絡(luò)(Network-on-Chip,NoC)中的鏈路調(diào)度器。ALG所提供的保證服務(wù)(GS,guaranteedservices)不是相反地相互依賴,因此ALG克服了基于時(shí)分多路復(fù)用(TDM)的帶寬(BW)分配方案的局限性,并且支持通過不同GS要求表征的各種各樣業(yè)務(wù)類型。在GS譜的相對(duì)端,ALG不僅支持諸如中斷的等待時(shí)間關(guān)鍵的低BW業(yè)務(wù),而且支持沒有嚴(yán)格的等待時(shí)間要求,但在BW方面要求GS的流式數(shù)據(jù)。另外,ALG在完全異步環(huán)境下工作。我們利用淺區(qū)0.12pmCMOS標(biāo)準(zhǔn)單元實(shí)施來演示。其余的描述按如下組織。第1部分考察GS的背景,提出當(dāng)前解決方案,并為NoC中的最佳解決方案規(guī)定要求。第2部分說明ALG調(diào)度的概念并提供其功能的證明,以及第4部分將在第3部分中給出的證明推廣到也計(jì)及緩沖器限制。第4部分涉及這個(gè)方案下的帶寬分配。在第5部分中,給出片上ALG鏈路的實(shí)施,以及在第6部分中提供模擬結(jié)果。1.保證服務(wù)在下文中,首先討論網(wǎng)絡(luò)性能參數(shù)并建立分類法。然后,我們議論面向連接的路由的需要并討論用在當(dāng)前NoC中和宏觀網(wǎng)絡(luò)中的GS方案,最后我們?yōu)镹oC中的GS提出一組要求。1.1.性能參數(shù)服務(wù)保證是用一個(gè)或多個(gè)性能參數(shù)來量化的。為了適當(dāng)?shù)匾?guī)定服務(wù)限制,必須指明BW和等待時(shí)間兩者。如果可以維持的吞吐量太小,則等待時(shí)間保證是無用的,同樣,沒有對(duì)引起的等待時(shí)間的限制,BW保證也是無用的。雖然flit流的BW限制由其路徑中的瓶頸確定,但網(wǎng)絡(luò)中flit的總等待時(shí)間通過遇到的等待時(shí)間的總和來表征。這些等待時(shí)間包括訪問所需網(wǎng)絡(luò)連接的網(wǎng)絡(luò)許可等待時(shí)間tadmit和許多跳躍等待時(shí)間,跳躍是從一個(gè)路由節(jié)點(diǎn)中的緩沖器穿過鏈路到達(dá)相鄰路由節(jié)點(diǎn)中的緩沖器的flit移動(dòng)。跳躍等待時(shí)間包括訪問等待時(shí)間taccess,即,授權(quán)flit訪問共享路由資源(例如鏈路)所用的時(shí)間,加上發(fā)送等待時(shí)間tlink,即一旦授權(quán)訪問,將flit發(fā)送到下一個(gè)路由節(jié)點(diǎn)中的緩沖器所用的時(shí)間。因此,flit穿過X跳長的路徑的總等待時(shí)間是ttotal=tadmit+taccessl+tlinkl+"+taccessX+tlinkX。1.2.面向連接的GS為了提供硬服務(wù)保證,面向連接的路由是絕對(duì)必要的。在少連接路由中,所有數(shù)據(jù)在相同邏輯網(wǎng)絡(luò)上行進(jìn),以及任何傳輸都潛在地使另一個(gè)傳輸延遲。GS業(yè)務(wù)必須是邏輯獨(dú)立于網(wǎng)絡(luò)中的其它業(yè)務(wù)。從系統(tǒng)級(jí)的觀點(diǎn)來看,對(duì)服務(wù)保證的硬限制是有益的,因?yàn)樗鼈兇龠M(jìn)了模塊設(shè)計(jì)流程。沒有這樣的保證,系統(tǒng)的改變可能需要廣泛的頂級(jí)重新驗(yàn)證。因此,NoC中的GS有可能縮短大型SoC設(shè)計(jì)的周期。此夕卜,雖然BE路由網(wǎng)絡(luò)的性能的形式驗(yàn)證往往是不可能的-如在關(guān)鍵性實(shí)時(shí)系統(tǒng)中所希望的那樣,但GS使它成為可能。1.3.GS方案提供BW保證的基本解決方案基于公平流體排隊(duì)(FFQ,fairfluidqueuing)。FFQ是為每條連接實(shí)現(xiàn)分離隊(duì)列的隊(duì)列頭處理器共享(HOL-PS,head國of—lineprocessorsharing)的一般形式。隊(duì)歹寸頭以這樣的方式得到服務(wù),那就是,提供對(duì)共享媒體(例如鏈路)的公平共享訪問。在異步NoC中,F(xiàn)FQ型訪問方案存在非常長的最壞情況等待時(shí)間的令人不愉快的缺點(diǎn)。樹形判優(yōu)器可以近似FFQ,但是,由于沒有任何有關(guān)彼此之間的輸入定時(shí),到達(dá)給定信道的任何分組在得到服務(wù)之前可能不得不等待所有其它輸入。因此,跨越實(shí)現(xiàn)這種鏈路訪問方案的異步NoC中的一系列鏈路累積起來的最壞情況等待時(shí)間非常長。此外,訪問時(shí)間與BW預(yù)留成反比。為了獲得短的等待時(shí)間,必須預(yù)留BW的大部分。在全局異步NoC中,可以保證經(jīng)過網(wǎng)絡(luò)的等待時(shí)間為每跳一個(gè)時(shí)鐘周期,但是,訪問源的連接的等待時(shí)間仍然與預(yù)留的BW成反比。此外,為了實(shí)現(xiàn)這樣的短的每跳等待時(shí)間,由于連接不是獨(dú)立緩沖的,需要顯式的端到端流量控制機(jī)構(gòu)。為了對(duì)與BW保證分離的等待時(shí)間提供更好限制,需要不同的方案。由于顯而易見,不可能在廣域網(wǎng)中實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)之間的時(shí)鐘級(jí)同步,宏觀網(wǎng)絡(luò)具有全局異步性質(zhì)。這使它們有點(diǎn)類似于異步NoC。在將FFQ型解決方案應(yīng)用于GS時(shí),異步NoC像上述那樣的等待時(shí)間問題是眾所周知的缺點(diǎn)。為了克服這些缺點(diǎn),往往使用速率控制靜態(tài)優(yōu)先級(jí)(RCSP,ratecontrolledstaticpriority)調(diào)度。在RCSP中,許可控制器將合適發(fā)送時(shí)間分配給所有輸入分組。當(dāng)這個(gè)時(shí)刻到來時(shí),分組在靜態(tài)優(yōu)先級(jí)隊(duì)列(SPQ,staticpriorityqueue)中排隊(duì)。這種方式可以相互獨(dú)立地不僅提供BW保證,而且提供等待時(shí)間保證。但是,許可控制要求節(jié)點(diǎn)具有局部時(shí)間觀念。這使其不適合在異步NoC中實(shí)施。該方法的另一個(gè)缺點(diǎn)是無工作保留,這意味著,即使在信道隊(duì)列中存在等待它們的合適發(fā)送時(shí)間的分組,路由器也可能處在空閑狀態(tài)。這降低了使用可用網(wǎng)絡(luò)資源的效率,并且,即使考慮了等待時(shí)間限制,也減少了平均連接等待時(shí)間和鏈路使用。1.4.對(duì)NoC中的GS的要求我們對(duì)NoC中的GS的解決方案的要求的建議是(i)簡單,以便于高工作速度和低硬件開銷;(ii)工作保留,以便有效利用網(wǎng)絡(luò)資源;以及(iii)可以對(duì)分離的或至少不是相反地相互依賴的等待時(shí)間和BW提供限制。另外,對(duì)異步NoC中的GS的解決方案的要求是(iv)不需要時(shí)間觀念,無論是局部的還是全局的。ALG符合所有這些要求,并因此是在同步和異步系統(tǒng)兩者中提供GS的有效解決方案。在第3部分中,我們將說明ALG調(diào)度規(guī)則,演示在它在共享鏈路上提供等待時(shí)間和BW保證的用途。但是,請注意,基于ALG的訪問可以應(yīng)用于任何共享媒體。此外,盡管我們的實(shí)施基于異步電路,但AGL不局限于這樣的電路。但是,ALG不需要時(shí)間觀念的事實(shí)使它特別適合異步系統(tǒng)。2.基本ALG調(diào)度在這個(gè)部分中,我們將說明基本ALG調(diào)度規(guī)則。我們首先直觀地了解它的工作,然后正式證明它的工作.如下的所有時(shí)間指示都利用單位時(shí)間flit-time來量化。flit-time被定義為在物理鏈路上完成一次握手循環(huán)所用的時(shí)間。VC控制措施保證了沒有flit停在鏈路上,因此,這樣的握手的持續(xù)時(shí)間被明確定義。由于電路是異步,自然flit-time在整個(gè)網(wǎng)絡(luò)中不是恒定的。但是,我們假設(shè)flit-time相當(dāng)一致。圖3示出了完整ALG鏈路。ALG許可控制和靜態(tài)優(yōu)先級(jí)隊(duì)列(SPQ)實(shí)施ALG調(diào)度器。VC控制圍繞著它們。下文將清楚說明這三個(gè)子系統(tǒng)如何一起工作,以便跨越共享物理鏈路的多個(gè)VC提供等待時(shí)間和BW保證。ALG調(diào)度的原理可以從里到外得到很好理解。SPQ按優(yōu)先級(jí)排列VC以據(jù)此提供等待時(shí)間保證,但只能在某些條件下。許可控制確保了這些條件得到滿足。VC控制機(jī)構(gòu)保證了只有在接收端存在自由緩沖空間時(shí)才在共享鏈路上發(fā)送flit,因此防止了flit停在鏈路上以及使等待時(shí)間和BW保證失效。2.1.按優(yōu)先級(jí)排列信道為了提供等待時(shí)間保證,需要提供對(duì)于鏈路訪問時(shí)間的限制??疾靾D2,想像flit隨機(jī)地但大間隔地到達(dá)信道A到D。現(xiàn)在考慮按優(yōu)先級(jí)服務(wù)的信道,A具有最高優(yōu)先級(jí)。到達(dá)A的flit總是立即得到服務(wù),因此保證了最大鏈路訪問時(shí)間是一個(gè)flit-time,即,完成潛在正在進(jìn)行的發(fā)送所用的時(shí)間。由于我們此刻作出了在到達(dá)A的flit之間存在大間隔的簡化假設(shè),到達(dá)B的flit在它們得到服務(wù)之前等待A不多于一次。因此,B上的flit將最多延遲兩個(gè)flit-time,因?yàn)樗鼈儗⒆疃嗟却谶M(jìn)行的發(fā)送完成以及等待A上的發(fā)送。同樣,C將等待最多三個(gè)flit-time,以此類推。其結(jié)果是,最大鏈路訪問時(shí)間與信道的優(yōu)先級(jí)成正比。這就是圖3中通過SPQ實(shí)現(xiàn)的功能。2.2.許可控制上面說明的規(guī)則要求大的flit間隔。這未必可以保證,尤其在具有分布式路由控制的異步網(wǎng)絡(luò)中。即使在源提供了特定flit間隔,網(wǎng)絡(luò)也可能將抖動(dòng)引入數(shù)據(jù)流中,使間隔要求在網(wǎng)絡(luò)內(nèi)的某處失效。這使調(diào)節(jié)對(duì)SPQ的許可的許可控制級(jí)成為必需。在圖3中,ALG許可控制被例示成SPQ前面的框.這有點(diǎn)類似于用在宏觀網(wǎng)絡(luò)中的RCSP,因?yàn)樗矊?shí)現(xiàn)許可控制級(jí)和SPQ。但是,在RCSP中,許可是基于信道的局部定時(shí)(為每個(gè)優(yōu)先級(jí)調(diào)度合適發(fā)送時(shí)間)。在根本沒有時(shí)間觀念的完全異步系統(tǒng)中,這是不可能的。通過ALG許可控制對(duì)未失效的SPQ的等待時(shí)間限制實(shí)現(xiàn)的條件是給定(較高優(yōu)先級(jí))vc上的mt只能延遲另一個(gè)(較低優(yōu)先級(jí))VC中的flit—次。這可以通過當(dāng)flit爭奪對(duì)給定VC的訪問時(shí)考察在SPQ中等待的flit來實(shí)現(xiàn)。為了不使較低優(yōu)先級(jí)VC上的flit的等待時(shí)間保證失效,在許可新的flit之前,必須為在將給定VC上的在前flit按優(yōu)先級(jí)排列在SPQ中的同時(shí)正在等待的所有flit服務(wù)。當(dāng)正在鏈路上發(fā)送flit時(shí),這是通過取樣SPQ的占用來保證的。一旦這個(gè)時(shí)刻在SPQ中等待的所有flit都得到服務(wù),就可以許可同一VC上的新的flit。因此,較低優(yōu)先級(jí)的VC上的flit將被每個(gè)較高優(yōu)先級(jí)VC上的flit最多延遲一個(gè)flit一time。請注意,當(dāng)授權(quán)給定flit訪問鏈路時(shí),只存在在較低優(yōu)先級(jí)VC上等待的flit,這是因?yàn)榘凑誗PQ功能的定義,較高優(yōu)先級(jí)VC上的所有flit都已經(jīng)得到服務(wù)。圖4通過例子例示了ALG??梢钥吹紹和C隊(duì)列的等待時(shí)間保證是如何得到滿足的。A隊(duì)列有太多flit進(jìn)入,并因此被許可控制禁止。由于在前一鏈路上非常迅速地發(fā)送Aflit(比保證等待時(shí)間限制快),可以在網(wǎng)絡(luò)中的較早點(diǎn)找到在A上出現(xiàn)突發(fā)的原因。2.3.ALG的等待時(shí)間和帶寬保證在這個(gè)部分中,我們將陳述由基本ALG連接提供的等待時(shí)間和帶寬保證。這些結(jié)果將在第3.4部分中推斷出。ALG的服務(wù)保證通過為連接預(yù)留的每個(gè)VC的優(yōu)先級(jí)以及每條鏈路上的總VC數(shù)量來表征。考慮在一系列ALG鏈路l,2,...,X上預(yù)留了具有優(yōu)先級(jí)Q1,Q2,...,QX的VC的連接。每條鏈路實(shí)現(xiàn)N個(gè)VC。這些鏈路提供對(duì)鏈路訪問時(shí)間的Ql,Q2,...,QXflit-time的限制。在源處考慮flit間隔tinterval^N+Qmax-l個(gè)flit-time的條件下,就是這樣,Qmax是一系列VC上的最大Q值,這就是在第4.4部分中導(dǎo)出的所謂間隔條件,間隔條件也是連接的訪問速率保證,這樣,用總鏈路容量的分?jǐn)?shù)BWmin-BWminQmaxI-BWlink/(N+Qmax-l)來表征連接的BW保證。重要的是注意到這樣的事實(shí)由ALG提供的等待時(shí)間保證與BW保證是分離的。當(dāng)N(即鏈路上VC的數(shù)量)增加時(shí),可以使BW保證任意小,而仍然保持鏈路訪問時(shí)間小到一個(gè)flit-time。因此,支持具有低BW需要(例如中斷)的等待時(shí)間關(guān)鍵連接,而無需過分分配BW。盡管基于TDM型BW分配的NoC的現(xiàn)有(異步)GS規(guī)則實(shí)現(xiàn)了每跳一個(gè)flit-time的等待時(shí)間,但最初連接訪問等待時(shí)間仍然使得總的端到端等待時(shí)間與BW保證成反比。只要滿足間隔條件,ALG就提供對(duì)GS連接的瞬時(shí)訪問。此外,可以注意到,可以使異步網(wǎng)絡(luò)中的每級(jí)正向等待時(shí)間非常小,遠(yuǎn)小于可比同步電路的時(shí)鐘周期。因此,在ALG保證對(duì)等待時(shí)間的限制的同時(shí),異步NoC也可能具有短得多的最小等待時(shí)間。利用異步與同步電路來實(shí)現(xiàn)NoC的主要優(yōu)點(diǎn)就在于此。2.4.證明在下文中我們將證明,如果在源考慮間隔條件,則可以規(guī)定端到端連接等待時(shí)間的限制。許可控制可能保持flit,但只有當(dāng)flit早于其全局調(diào)度時(shí),才使局部觀察的flit間隔縮短。該證明由兩個(gè)部分組成。在第一部分中,證明ALG規(guī)則工作于單條鏈路。首先證明在連接上發(fā)送的第一個(gè)flit滿足它的等待時(shí)間要求,或規(guī)定它的期限。然后證明在規(guī)定了其期限并符合間隔條件的flit之后的任何一個(gè)flit也規(guī)定它的期限,并且從中獲得間隔的值。按照歸納法,符合間隔條件的所有flit都規(guī)定它們的期限。在證明的第二部分中證明,對(duì)于一系列ALG鏈路,如果在源考慮間隔條件,則flit將在每條鏈路上規(guī)定它的期限。因此,與間隔條件在網(wǎng)絡(luò)內(nèi)失效無關(guān),連接的端到端等待時(shí)間受每條鏈路上的等待時(shí)間保證的總和的限制。單條鏈路定理在實(shí)現(xiàn)N個(gè)VC的ALG鏈路上,在tinterval2N+Q-l個(gè)flit-time的flit間隔條件下,保證VCQ上的所有flit將具有Q個(gè)flit-time的最大鏈路訪問時(shí)間。證明釆用實(shí)現(xiàn)每一個(gè)對(duì)應(yīng)于SPQ中的優(yōu)先級(jí)1,2,3,...,N的N個(gè)VC的給定鏈路。到達(dá)給定VCQE(l,...,N)的第1個(gè)flit將被允許立即訪問SPQ。在SPQ中,在被允許訪問鏈路之前最長等待Q個(gè)flit-time。因此,規(guī)定其期限由Q個(gè)flit-time的最大鏈路訪問時(shí)間來限制?,F(xiàn)在考慮Q上,允許立即訪問SPQ并因此規(guī)定其期限的flitA、以及也在Q上接在flitA之后的flitB。flitB比flitA晚tinterval個(gè)flit-time到達(dá)。flitA訪問SPQ等待了0個(gè)flit-time,以及在SPQ中最多Q個(gè)flit-time。當(dāng)允許flitA訪問鏈路時(shí),在SPQ中最多N-Q個(gè)flit(即,優(yōu)先級(jí)比Q低的VC的數(shù)量)正在等待。根據(jù)ALG規(guī)則,必須在允許Q上的下一個(gè)flit訪問SPQ之前發(fā)送所有這些flit。在最壞情況的情形中,最多Q-l個(gè)flit(即,優(yōu)先級(jí)比Q高的VC的數(shù)量)可以采用比必須在Q的許可控制許可flitB進(jìn)入SPQ之前發(fā)送的N-Q個(gè)flit高的優(yōu)先級(jí)。這些部分延遲的總和指示可在Q上的一個(gè)flit和許可進(jìn)入SPQ的下一個(gè)flit之間經(jīng)過的最長時(shí)間Q+(N-Q)+(Q-1)=N+Q-1。這意味著,如果tinterval2N+Q陽l個(gè)flit-time,那么,flitB必定被允許立即訪問SPQ,并且,當(dāng)在SPQ中最多等待Q個(gè)flit-time時(shí),它也規(guī)定其期限。因此,在間隔條件下,由于接在規(guī)定了其期限的flit之后的任何一個(gè)flit本身都將規(guī)定其期限,并由于第l個(gè)flit規(guī)定其期限,按照歸納法,所有flit都將規(guī)定它們的期限。我們現(xiàn)在證明,對(duì)于一系列ALG鏈路,即使由于在網(wǎng)絡(luò)中引入了抖動(dòng)而間隔條件局部失效,ALG也保證所有flit在每條鏈路上都規(guī)定它們的期限。因此,端到端等待時(shí)間限制是每條鏈路的等待時(shí)間限制的總和。在這一點(diǎn)上,我們?nèi)匀患僭O(shè)在節(jié)點(diǎn)中總是存在足夠的緩沖空間。在第5部分中,我們通過計(jì)算緩沖要求來加強(qiáng)該證明。鏈路系列推論在總是存在足夠的緩沖空間的假設(shè)下,對(duì)于在每條實(shí)現(xiàn)N個(gè)VC的一系列(X條)ALG鏈路上預(yù)留了VCQ1,Q2,.,QX的給定連接,在源處遵守flit間隔tinterval》N+Qmax-l個(gè)flit-time的條件下,等待時(shí)間限制是每條鏈路上的等待時(shí)間限制的總和。這里,Qmax是(Ql,Q2,…,QX》的最大值。證明考慮在其上預(yù)留了VCQE{Q1,Q2,...,QX)的所涉及連接上的鏈路、以及在那條鏈路上已經(jīng)規(guī)定了其期限的連接上的flitA。由于flitA已規(guī)定了它的期限,根據(jù)上面單條鏈路定理的證明,許可控制將許可同一VC上的前進(jìn)flitB在flitA被允許訪問SPQ之后的最多N+Q-l個(gè)flit-time進(jìn)入SPQ。由于flitA已規(guī)定了它的期限,它會(huì)準(zhǔn)時(shí)或超前其時(shí)間表。如果flitB比flitA更超前其時(shí)間表,它將在flitA被允許訪問SPQ之后不到N+Q-l個(gè)flit-time到達(dá),以及許可控制將不允許它立即訪問SPQ。在flitA被允許訪問之后最晚N+Q-l個(gè)flit-time,flitB必定被允許訪問。在源處它們的間距是N+Qmax-1個(gè)flit-time?,F(xiàn)在是這個(gè)值或更小,因此,flitB至少與flitA—樣遠(yuǎn)超前其時(shí)間表。因此,它也規(guī)定其期限。另一方面,如果flitB由于網(wǎng)絡(luò)中較前級(jí)的擁塞而不如flitA超前其時(shí)間表,它將在flitA被允許訪問SPQ之后多于N+Qmax-1個(gè)flit-time到達(dá)。因此,它將被允許立即訪問,并且規(guī)定其期限。在連接上發(fā)送的第i個(gè)mt規(guī)定其期限,因?yàn)樗谌魏捂溌返脑S可控制中都未受到阻礙。由于接在規(guī)定其期限的flit之后的任何一個(gè)flit本身規(guī)定其期限,按照歸納法,連接上的所有flit在所有鏈路都規(guī)定它們的期限。最小可維持BW按如下得出最小帶寬推論在對(duì)每條提供總帶寬BWlink和每條實(shí)現(xiàn)N個(gè)VC的一系列(X條)ALG鏈路預(yù)留了VCQl,Q2,...,QX的給定連接上,維持的最小帶寬將是BWmin-BWlink/(N+Qmax-l)。這里,Qmax是(Ql,Q2,,QX)的最大值。證明根據(jù)鏈路系列推論,符合間隔條件tinterval》N+Qmax誦l個(gè)flit-time的ALG連接上的所有flit都具有限制的等待時(shí)間。因此,可以鏈路所支持的總flit速率的至少1/(N+Qmax-1)的flit速率來發(fā)送flit流而不會(huì)引起擁塞。從中可以直接得出,可維持帶寬至少是BWmin=BWlink/(N+Qmax-l)。3.緩沖器在前一部分中,我們假設(shè)了flit在網(wǎng)絡(luò)中自由流動(dòng),只受ALG鏈路訪問調(diào)度規(guī)則的約束。由于這個(gè)工作以決不會(huì)丟掉flit的無損網(wǎng)絡(luò)為目標(biāo),每條鏈路也必須實(shí)現(xiàn)反壓流控制,保證只能在接收端具有空閑緩沖空間時(shí)才在VC上發(fā)送flit。這樣就引入了許可控制,即圖3所示的VC控制的額外層。VC控制圍繞ALG許可控制和SPQ,僅在接收VC緩沖器指示其具有空閑空間時(shí)才讓flit通過。如果它可以自由移動(dòng)到鏈路的接收端,則flit必須僅呈現(xiàn)給ALG許可控制。否則,通過ALG規(guī)則提供的等待時(shí)間保證可能因flit停在鏈路上而失效。另一方面,flit必須不因VC控制而過度延遲,致使失去其期限,再次使ALG等待時(shí)間保證失效。在這個(gè)工作中,我們應(yīng)用了基于共享的VC控制。例示在圖6中的方案使用每個(gè)VC單條導(dǎo)線來實(shí)現(xiàn)對(duì)共享媒體(例如鏈路)的無堵塞訪問。在許可flit之后,鎖定共享盒,不允許進(jìn)一步的mt通過。flit穿過媒體到達(dá)遠(yuǎn)側(cè)的非共享盒。非共享盒實(shí)現(xiàn)接受flit的鎖存器。當(dāng)flit再離開非共享盒時(shí),轉(zhuǎn)換到解鎖控制線。這樣就解鎖了共享盒,許可另一個(gè)flit到達(dá)媒體。只要媒體未鎖死,就不會(huì)有flit停在其內(nèi)。如圖5所示,我們將連接模型化為一系列ALG鏈路,在輸入端和為連接預(yù)留的VC緩沖器之間存在直接電路。這個(gè)假設(shè)對(duì)實(shí)現(xiàn)無堵塞切換的路由器結(jié)構(gòu)有效。圖中的VC緩沖器分別在它們的輸入端和輸出端上實(shí)現(xiàn)非共享盒和共享盒。涉及的等待時(shí)間是作為允許flit訪問鏈路所用的時(shí)間的鏈路訪問等待時(shí)間taccess、作為一旦授權(quán)訪問鏈路flit穿過鏈路、經(jīng)過路由器并進(jìn)入下一個(gè)VC緩沖器的等待時(shí)間的鏈路轉(zhuǎn)發(fā)等待時(shí)間tlink、和作為解鎖信號(hào)傳送回到前一個(gè)VC緩沖器中的共享盒、指示可以允許另一個(gè)flit訪問鏈路所用的時(shí)間的解鎖等待時(shí)間tunlock。當(dāng)沒有發(fā)生擁塞時(shí),除了鏈路訪問等待時(shí)間之外的其它所有等待時(shí)間都是恒定的。由每一條實(shí)現(xiàn)N個(gè)VC的一系列(X條)ALG鏈路組成的連接的端到端等待時(shí)間限制與在第3部分中引入的ttotal類似tend2end=taccessl+tlinkl+taccess2+tlink2+...+taccessX+tlinkX。為了簡單起見,這里認(rèn)為N在所有鏈路上都相同。鏈路訪問時(shí)間由在每條鏈路上預(yù)留的優(yōu)先級(jí)Q1,Q2,...,QX決定taccessl=Ql個(gè)flit-time,taccess2-Q2個(gè)flit-time,以此類推。才艮據(jù)第4.3部分,連接上的最大Q,即Qmax指示連接的BW保證,因?yàn)檫@是路徑上的瓶頸BWmin=BWlink/(N+Qmax-l)。我們現(xiàn)在需要確定當(dāng)flit已到訪問SPQ的時(shí)間時(shí),即,當(dāng)比其時(shí)間表超前0時(shí)間時(shí)總是解鎖共享盒的要求。如果是這樣,flit將面對(duì)ALG許可控制,并且,根據(jù)ALG規(guī)則,將規(guī)定它的期限。在下文中,我們將證明在flit間隔條件和鏈路周期條件tlink+tunlock<N-l個(gè)flit-time的情況下,單元件VC緩沖器足以使ALG調(diào)度規(guī)則適當(dāng)?shù)毓ぷ?。單個(gè)緩沖器定理在flit間隔條件tinterval》N+Qmax-l個(gè)flit-time和鏈路周期條件tlink+tunlock<N-l個(gè)flit-time下,每個(gè)節(jié)點(diǎn)中的每個(gè)VC的單元件flit緩沖器足以保證一系列鏈路推論的有效性。證明如圖5所示,考慮對(duì)每一條實(shí)現(xiàn)N個(gè)VC的一系列ALG鏈路預(yù)留了VC(,Qi,Qj,...)的連接部分。VC緩沖器VCbufi和VCbufj的每一個(gè)都具有一個(gè)flit的緩沖空間。在重置時(shí)它們是空的,因此,在連接上發(fā)送的第1個(gè)flit不受VC控制的限制并將根據(jù)ALG規(guī)則來規(guī)定其期限?,F(xiàn)在考慮正在規(guī)定其期限的flitA之后的flitB。由于flitA正在規(guī)定其期限,它將訪問在與比其時(shí)間表超前0時(shí)間相對(duì)應(yīng)的時(shí)間0最近的SPQj。此時(shí),VCbufj將發(fā)信號(hào)通知VCbufi它已經(jīng)準(zhǔn)備好接收另一個(gè)flit。因此,VCbufi將在以后的時(shí)間tunlock,向下一個(gè)flit,即flitB開放它的輸出端。flitA必須不晚于時(shí)間0-tlink離開SPQi,因此,adml將允許flitB不晚于0-tlink+N-l=N-l-tlink個(gè)flit-time進(jìn)入SPQi。如果這個(gè)時(shí)間晚于所述時(shí)間,VCbufi讓flitB經(jīng)過,那么,VCbufi將不是流的限制代理。因此,VC控制不是系統(tǒng)中的限制代理的要求是N-l-tlink>tunlock=>tlink+tunlock<N-l個(gè)flit-time,這構(gòu)成了鏈路周期條件。如果鏈路周期條件成立,flitB將在如下時(shí)刻到達(dá)VCbufj:Ql+tlink+N-l-tlink=Ql+N-l個(gè)flit-time,它小于或等于Qmax+N-l個(gè)flit-time的所需flit間隔。因此,flitB在到達(dá)admj時(shí)規(guī)定它的時(shí)間表。在源處Qmax+N-1個(gè)flit-time的最小flit間隔的間隔條件下,以及在tlink+tunlock<N-l個(gè)flit-time的鏈路周期條件下,在規(guī)定了其期限的flit之后的任何一個(gè)flit也將規(guī)定其期限。由于第l個(gè)flit規(guī)定了它的期限,按照歸納法,連接上的所有flit都規(guī)定它們的期限。4.帶寬分配在其基本形式下,如直到現(xiàn)在所述的,ALG鏈路提供靈活的等待時(shí)間保證。可以選擇其優(yōu)先級(jí)與要建立的連接的等待時(shí)間要求相對(duì)應(yīng)的VC。但是,根據(jù)所選VC的優(yōu)先級(jí),帶寬保證是固定的。并且,在不同優(yōu)先級(jí)之間,BW不是非常不同,范圍從用于最高優(yōu)先級(jí)的1/N到用于最低優(yōu)先級(jí)的1/(2N-1)。在下文中,我們將描述在仍然滿意基本ALG配置的靈活等待時(shí)間保證的同時(shí),獲得對(duì)連接的靈活BW分配的三種方法。第一種方法(多信道方法)是普通的在每條鏈路上將幾個(gè)VC分配給單條連接。這有效地創(chuàng)建了事實(shí)上是幾條'平行,連接的連接,因此增加了數(shù)據(jù)容量。雖然可以在每條鏈路上局部地管理使用,但也可以在網(wǎng)絡(luò)適配器上基于端到端來管理。這種分配BW的方法優(yōu)點(diǎn)在于易于理解和實(shí)現(xiàn)。此外,flit以突發(fā)(具有小的間隔)的形式到達(dá)。在分開、獨(dú)立緩沖的VC序列上發(fā)送前X個(gè)flit,X是在每條鏈路上為連接分配的VC的數(shù)量。因此,通過選擇高優(yōu)先級(jí)VC,可以使所有這些的等待時(shí)間非常短。這是小分組的主要優(yōu)點(diǎn),因?yàn)榭梢越o予整個(gè)分組以非常低的總等待時(shí)間保證。在帶有諸如OCP接口的總線型(存儲(chǔ)器映射的)訪問套接字的網(wǎng)絡(luò)中,傳輸簡單OCP命令的大多數(shù)分組在32位網(wǎng)絡(luò)中由2-3個(gè)flit組成。通過分配與這種分組中的flit個(gè)數(shù)相對(duì)應(yīng)的多個(gè)VC系列或組,這些命令的轉(zhuǎn)發(fā)等待時(shí)間縮短至分配的最慢VC組的ALG等待時(shí)間。這種方法的缺點(diǎn)是鏈路的區(qū)域要求或多或少隨著BW粒度而線性增加,該區(qū)域主要由flit緩沖器確定;由于每個(gè)VC需要一個(gè)flit緩沖器,BW粒度大致上與VC的數(shù)量成反比。此外,還需要寬的SPQ。這降低了SPQ的性能,在本實(shí)施例中,由于SPQ是鏈路的瓶頸,所以縮短了flit-time。第二和第三種方法圍繞通過基本ALG許可控制方案-無需實(shí)現(xiàn)更多緩沖空間,允許比正常允許更多地訪問一個(gè)優(yōu)先級(jí)的基本概念演化。因此,允許一個(gè)VC更頻繁地訪問SPQ,并因此,這個(gè)VC的吞吐量將增加。但是,由于flit不能獨(dú)立開始,連接上的多flit分組的總等待時(shí)間比第一種方法更長。它們在整個(gè)網(wǎng)絡(luò)中使用相同的緩沖器系列,因此,由于flit必須等待前一個(gè)flit離開連接的正在進(jìn)行節(jié)點(diǎn)中的緩沖器,它們在連接上將具有不可忽略的間距。根據(jù)第二種方法(多許可控制方法),每個(gè)VC具有許多許可控制。如果這些許可控制的任何一個(gè)是非等待的,則可以許可flit。然后,一旦發(fā)送許可的flit,許可flit的許可控制(如果更多許可控制是非等待的,可以選擇這些許可控制的任何一個(gè)作為許可flit的'那一個(gè),)將根據(jù)前面針對(duì)基本ALG調(diào)度方案描述的方法來取樣SPQ的較低優(yōu)先級(jí)的占用??梢钥闯?,對(duì)于實(shí)現(xiàn)的每個(gè)許可控制級(jí)(或活動(dòng)的每一個(gè)),每個(gè)VC可以潛在地堵塞一次較低優(yōu)先級(jí)VC的發(fā)送,因此,相應(yīng)地縮短這些VC的等待時(shí)間保證。VC的等待時(shí)間保證因此與較高優(yōu)先級(jí)的VC的數(shù)量無關(guān),而是與較高優(yōu)先級(jí)VC的活動(dòng)許可控制級(jí)的總數(shù)有關(guān)。該方法對(duì)應(yīng)于flit緩沖器利用基本ALG鏈路中的兩個(gè)或更多個(gè)不同優(yōu)先級(jí)來訪問,然后僅僅選擇對(duì)許可開放的那一個(gè)。但是,由于優(yōu)先級(jí)決不會(huì)同時(shí)使用(由于只有一個(gè)flit緩沖器),它們將受到相等的等待時(shí)間保證,根據(jù)兩個(gè)優(yōu)先級(jí)的最高優(yōu)先級(jí),它們決不會(huì)相互堵塞。在每條鏈路上,只有當(dāng)下一個(gè)節(jié)點(diǎn)中的flit緩沖器空閑時(shí),才可以發(fā)送flit。也就是說,只有在正在進(jìn)行鏈路上發(fā)送了前一個(gè)flit之后,才可以在鏈路上發(fā)送flit。這賦予我們分離條件。假設(shè)在下一個(gè)節(jié)點(diǎn)中flit將不被許可控制堵塞,即,flit不超前其時(shí)間表t一(separation)-t一(link)+Q(proceedinglink)+t一(unlock)。請注意,與如前所示的間隔條件不同,分離條件獨(dú)立于N。間隔條件仍然適用于每個(gè)許可控制級(jí),但它獨(dú)立于應(yīng)用于連接上的flit流的分離條件。因此,如果VC實(shí)現(xiàn)兩個(gè)許可控制級(jí)如果t_(interval)>-2*t_(separation),我們?yōu)榻o定VC獲得加倍的BW。這對(duì)應(yīng)于第5部分的鏈路周期條件。如果t_(interval)<2*t_(sq)aration),將保證不到兩倍的BW,因?yàn)閒lit將受到比間隔條件更嚴(yán)格的分離條件的限制。因此,可獲得的最大帶寬由鏈路周期條件來確定,以及通過間隔條件來'平衡,這個(gè)條件的倍數(shù)。請注意,這里提及的Q不等效于SPQ的優(yōu)先級(jí),而是根據(jù)較高優(yōu)先級(jí)VC的活動(dòng)許可控制級(jí)的總數(shù)加1計(jì)算的Q。根據(jù)第三種方法(計(jì)數(shù)許可控制方法),每當(dāng)按其優(yōu)先級(jí)發(fā)送flit時(shí),許可控制級(jí)不取樣占用(以及隨后如果有較低優(yōu)先級(jí)的任何VC在等待,則關(guān)閉訪問),而只在每個(gè)第X次上取樣占用。實(shí)際上,每當(dāng)許可控制打開(變成非等待)時(shí),可以發(fā)送flit的突發(fā)。在突發(fā)的最后flit之后,許可控制關(guān)閉,取樣較低優(yōu)先級(jí)VC的占用,并等待發(fā)送等待flit所占用的那些VC。因此,較低優(yōu)先級(jí)VC的每個(gè)flit潛在地不得不等待這個(gè)特定(較高優(yōu)先級(jí))VCX次。它的等待時(shí)間保證將相應(yīng)地縮短。與多許可控制方法一樣,獲得可用于VC的帶寬的增加,以較低優(yōu)先級(jí)的VC的等待時(shí)間為代價(jià)。5.實(shí)現(xiàn)根據(jù)圖3,基本ALG鏈路由三個(gè)基本子系統(tǒng)組成VC控制、許可控制和SPQ。5.1.VC控制應(yīng)用的VC控制方案的功能描述在第4部分中。圖7示出了一個(gè)VC的共享盒和非共享盒的實(shí)現(xiàn)的示意圖。單線解鎖信號(hào)起雙相確認(rèn)作用。pulse—gen生成的脈沖必須足夠長以重置C元件c一clock。在共享盒的輸出端的output—decouple電路將共享媒體與VC分離.因此,與慢的各個(gè)VC無關(guān)地保證了flit的自由流動(dòng).5.2.許可控制ALG調(diào)度的新穎性在于許可控制級(jí),它控制flit的流動(dòng),使SPQ可以提供適當(dāng)?shù)牡却龝r(shí)間限制。許可控制的每個(gè)信道為較低優(yōu)先級(jí)的每個(gè)信道實(shí)現(xiàn)一位的狀態(tài)寄存器。當(dāng)設(shè)置了給定信道的一個(gè)或多個(gè)狀態(tài)位時(shí),許可控制停止許可flit在那個(gè)信道上到SPQ。當(dāng)允許信道上的flit訪問鏈路時(shí),根據(jù)SPQ的占用的瞬像來設(shè)置狀態(tài)位。占用指示在允許給定信道訪問鏈路(按優(yōu)先級(jí)排列)時(shí),哪些信道具有在SQP中等待的flit。當(dāng)這些等待flit被授權(quán)訪問鏈路時(shí),狀態(tài)位隨后被重置。當(dāng)全部得到發(fā)送時(shí),清除所有狀態(tài)位,以及許可控制許可給定信道上的另一個(gè)flit。圖8示出了信道n的許可控制的示意圖。每個(gè)較低優(yōu)先級(jí)信道一個(gè)的狀態(tài)位寄存器[n-l."0被實(shí)現(xiàn)成RS鎖存器。將信道n當(dāng)作在給定時(shí)間爭奪對(duì)鏈路的訪問的最高優(yōu)先級(jí)信道。SPQ生成占用向量,以及它的值在n的確認(rèn)是高電平時(shí)是穩(wěn)定的。狀態(tài)位寄存器的set輸入是n的確認(rèn)和占用向量的邏輯和(AND)。這樣,當(dāng)允許信道訪問鏈路(由其變高的確認(rèn)來指示)時(shí),根據(jù)SPQ的占用來設(shè)置適當(dāng)狀態(tài)位。狀態(tài)位寄存器reset輸入端簡單地與相應(yīng)信道的確認(rèn)信號(hào)連接。當(dāng)允許信道訪問鏈路時(shí),它的確認(rèn)變高,于是,在每個(gè)較高優(yōu)先級(jí)信道的許可控制中,與這個(gè)信道相對(duì)應(yīng)的狀態(tài)位被重置。當(dāng)所有狀態(tài)位都是低電平時(shí),輸入請求被允許傳播到輸出端。由于局部確認(rèn)使?fàn)顟B(tài)位得到設(shè)置,在請求路徑中需要C元件,而不是AND門。這保證了輸出請求不降低,直到輸入請求降低。請注意,狀態(tài)位寄存器的set和reset是互斥的,因?yàn)樵诮o定時(shí)刻只有一個(gè)信道可以訪問鏈路。5.3.靜態(tài)優(yōu)先級(jí)隊(duì)列SPQ判優(yōu)器的異步實(shí)現(xiàn)和伴隨的合并數(shù)據(jù)路徑顯示在圖10中。關(guān)鍵控制信號(hào)是'使能(enable),。在重置時(shí),'enable,是低電平。輸入端上的非對(duì)稱C元件保證了在'enable,是高電平時(shí),由于這指示判優(yōu)器的活動(dòng)階段,內(nèi)部請求信號(hào)不降低。mutex實(shí)現(xiàn)所謂的鎖定寄存器.當(dāng)一個(gè)或多個(gè)輸入請求傳播到這些鎖定寄存器的輸出端時(shí),這由OR門檢測到,生成'anyjeq,,使enable變成高電平。這又使鎖定寄存器鎖定,并且,只要'enable,是高電平,新到達(dá)的輸入請求被阻塞。此后,正好一個(gè)輸出C元件啟動(dòng),確認(rèn)適當(dāng)信道,以及在輸出鎖存器中捕獲那個(gè)特定信道的數(shù)據(jù)。現(xiàn)在'enable,降低,指示按優(yōu)先級(jí)排列階段結(jié)束。只要'enable,是低電平,沒有一個(gè)輸出C元件可以啟動(dòng),但一旦確認(rèn)信道撤消其請求,以及鏈路確認(rèn)了輸出請求,相應(yīng)C元件重置,使'enable,開始另一個(gè)按優(yōu)先級(jí)排列階段。通過假設(shè)mutex的'gl,輸出不過度慢于'g2,輸出,可以實(shí)現(xiàn)快RTZ階段。RTZ所需的一切是使按優(yōu)先級(jí)排列信道的'r2,輸入傳播經(jīng)過'g2,端到輸出C元件。只要在降低的'g2,傳播通過輸出C元件返回到輸入端并重新啟動(dòng)enable之前'gl,降低,該假設(shè)就是安全的。包含'gl,和'g2,的兩條RTZ定時(shí)路徑從'enable,變低開始。每當(dāng)VC的數(shù)量加倍時(shí),SPQ的周期只增加了三個(gè)雙輸入門深度(在0.12微米技術(shù)中約30-40ps)-—個(gè)在非對(duì)稱C元件中,以及兩個(gè)在完整檢測OR門中。許可控制用于設(shè)置其狀態(tài)位的占用向量構(gòu)成使能和鎖定輸入請求的邏輯AND。如最后部分所指出的,要求這個(gè)向量在確認(rèn)是高電平時(shí)是穩(wěn)定的。通過對(duì)鎖定請求向量和使能進(jìn)行AND運(yùn)算,保證了當(dāng)確認(rèn)是高電平時(shí),占用向量的位是穩(wěn)定的或低的。由于狀態(tài)位寄存器由高占用位來設(shè)置,這是足夠好的。6.結(jié)果利用商用0.12pmCMOS標(biāo)準(zhǔn)元件來實(shí)現(xiàn)16位8-VCALG鏈路。當(dāng)應(yīng)用典型定時(shí)參數(shù)時(shí),該i殳計(jì)以與1.4ns的flit-time相對(duì)應(yīng)的702MDI/s的速度進(jìn)行模擬。共享物理鏈路實(shí)現(xiàn)了3級(jí)流水線。整個(gè)鏈路的元件區(qū),即,預(yù)布局是0.012mm2,ALG調(diào)度器的核心(許可控制和SPQ)只花費(fèi)0.004mm2。這表明ALG的好處就占地而言一點(diǎn)也不昂貴。模擬了模仿一系列(3條)ALG鏈路上的連接的測試裝置。觀察到兩種連接預(yù)留高優(yōu)先級(jí)VC的快連接,和預(yù)留低優(yōu)先級(jí)VC的慢連接。在所有其它VC上引起隨機(jī)背景業(yè)務(wù)的同時(shí)記錄flit的等待時(shí)間。圖9示出了對(duì)于不同網(wǎng)絡(luò)負(fù)載,記錄超過10000個(gè)flit的flit等待時(shí)間的分布??梢钥闯觯踔猎?00%的網(wǎng)絡(luò)負(fù)載下,連接上的flit也規(guī)定它們的期限。隨著負(fù)載增加,等待時(shí)間分布圖推向等待時(shí)間限制,但決不會(huì)與它相交。可獲得從3.6ns/跳開始以1.4ns(—個(gè)flit-time)為單位向上遞增的轉(zhuǎn)發(fā)等待時(shí)間限制。這包括ALG訪問等待時(shí)間和跨越鏈路(共享盒、合并、流水線、分解和非共享盒-大約2.2ns)的恒定轉(zhuǎn)發(fā)等待時(shí)間??爝B接上的BW保證是1/8*702MDI/s-88MDI/s,而在慢連接上,它是l/15央702MDI/s-47MDI/s。表1將ALG的保證與在NoC中使用的現(xiàn)有調(diào)度方案的那些作了比較。在該表中,N是每條鏈路上VC的數(shù)量,以及h是給定連接跨越的跳的數(shù)量。TDM用在同步NoC中,并在實(shí)現(xiàn)某種類型的端到端流控制的情況下,提供小到N+h的連接等待時(shí)間的限制。如果不是,等待時(shí)間限制縮短到異步公平共享的水平,即,(N+l)*h。該表表明,ALG提供了好得多的等待時(shí)間限制,并且,就可以示例的各種類型連接而言,一般更加靈活。<table>tableseeoriginaldocumentpage30</column></row><table>表l.不同GS方案的等待時(shí)間和帶寬保證權(quán)利要求1.一種控制對(duì)共享資源的訪問的方法,該方法包含-接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,每個(gè)數(shù)據(jù)項(xiàng)被分配了多個(gè)不同預(yù)定優(yōu)先級(jí)之一;以及-通過如下步驟來重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源o將具有最高非等待優(yōu)先級(jí)的待發(fā)送數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o那個(gè)優(yōu)先級(jí)隨后等待來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送,與所述非等待較低優(yōu)先級(jí)的待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息已經(jīng)被接收到。2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包含提供每一個(gè)與優(yōu)先級(jí)之一有關(guān)的多個(gè)隊(duì)列的步驟,以及其中-所述接收步驟包含在與分配給數(shù)據(jù)項(xiàng)的優(yōu)先級(jí)有關(guān)的隊(duì)列中接收每個(gè)數(shù)據(jù)項(xiàng),-所述發(fā)送步驟包含發(fā)送來自具有最高優(yōu)先級(jí)的非等待隊(duì)列的數(shù)據(jù)項(xiàng),以及-所述等待步驟包含那個(gè)隊(duì)列然后等待來自具有較低優(yōu)先級(jí)的所有非空非等待隊(duì)列的數(shù)據(jù)項(xiàng)的發(fā)送。3.根據(jù)權(quán)利要求2所述的方法,其中,所述等待步驟包含當(dāng)源時(shí),將來自隊(duì)列的下一個(gè)數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)到存儲(chǔ)器,以及其中,所述發(fā)送步驟包含發(fā)送存儲(chǔ)器中具有最高優(yōu)先級(jí)的那個(gè)數(shù)據(jù)項(xiàng),4.根據(jù)權(quán)利要求l-3的任何一項(xiàng)所述的方法,進(jìn)一步包含提供多個(gè)數(shù)據(jù)提供者的步驟,多個(gè)數(shù)據(jù)提供者的每一個(gè)適用于-提供每一個(gè)被分配優(yōu)先級(jí)之一的數(shù)據(jù)項(xiàng),-提供與準(zhǔn)備從數(shù)據(jù)提供者發(fā)送到共享資源的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,以及其中國所述發(fā)送步驟包含數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)發(fā)送給資源,以及-所述等待步驟包含防止從任何數(shù)據(jù)提供者發(fā)送具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng),直到來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)已經(jīng)從數(shù)據(jù)提供者發(fā)送到共享資源。5.根據(jù)權(quán)利要求4所述的方法,其中,所述數(shù)據(jù)提供者適用于在因此受到指令時(shí)轉(zhuǎn)發(fā)數(shù)據(jù)項(xiàng),以及其中-所述發(fā)送步驟包含指令具有最高非等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)給共享資源,以及-所述等待步驟包含不指令具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者發(fā)送等待優(yōu)先級(jí)的任何數(shù)據(jù)項(xiàng)。6.根據(jù)前面權(quán)利要求的任何一項(xiàng)所述的方法,其中,所述接收步驟包含接收數(shù)據(jù)項(xiàng)并將數(shù)據(jù)項(xiàng)提供到存儲(chǔ)設(shè)備或存儲(chǔ)器中,以及其中,所述發(fā)送步驟包含發(fā)送來自存儲(chǔ)設(shè)備或存儲(chǔ)器的數(shù)據(jù)項(xiàng)。7.根據(jù)前面權(quán)利要求的任何一項(xiàng)所述的方法,其中,所述共享資源是鏈路、存儲(chǔ)器、處理器、集成電路或交叉開關(guān)。8.根據(jù)前面權(quán)利要求的任何一項(xiàng)所述的方法,其中,所述預(yù)定優(yōu)先級(jí)的等待步驟包含只有當(dāng)預(yù)定優(yōu)先級(jí)發(fā)送了多個(gè)數(shù)據(jù)項(xiàng)時(shí)才等待數(shù)據(jù)項(xiàng)的發(fā)送。9.一種控制對(duì)共享資源的訪問的方法,該方法包含-接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,每個(gè)數(shù)據(jù)項(xiàng)被分配多個(gè)不同預(yù)定優(yōu)先級(jí)之一;-為每個(gè)優(yōu)先級(jí)定義一個(gè)或多個(gè)發(fā)送過程,與數(shù)據(jù)項(xiàng)有關(guān)的每段信息被分配相關(guān)優(yōu)先級(jí)的發(fā)送過程;以及-通過如下步驟重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源o將與其有關(guān)的信息已經(jīng)被分配給為最高優(yōu)先級(jí)定義的非等待發(fā)送過程的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o那個(gè)發(fā)送過程隨后等待來自每個(gè)較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送,所述每個(gè)較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息并且其至少一個(gè)發(fā)送過程是非等待的。10.根據(jù)前面權(quán)利要求的任何一項(xiàng)所述的方法,其中,所述優(yōu)先級(jí)/隊(duì)列/發(fā)送過程只等待在發(fā)送時(shí)刻發(fā)送的數(shù)據(jù)項(xiàng)當(dāng)中在該發(fā)送時(shí)刻接收到其信息的數(shù)據(jù)項(xiàng)的發(fā)送。11.一種控制對(duì)共享資源的訪問的系統(tǒng),該系統(tǒng)包含-適用于接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息的接收裝置,每個(gè)數(shù)據(jù)項(xiàng)被分配多個(gè)不同預(yù)定優(yōu)先級(jí)之一;以及-適用于通過如下步驟重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源的發(fā)送裝置o將待發(fā)送并具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o隨后讓來自那個(gè)優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送等待,直到通過已經(jīng)接收到與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息的每個(gè)非等待較低優(yōu)先級(jí)發(fā)送了數(shù)據(jù)項(xiàng)。12.根據(jù)權(quán)利要求11所述的系統(tǒng),進(jìn)一步包含每一個(gè)與優(yōu)先級(jí)之一有關(guān)的多個(gè)隊(duì)列,以及其中-接收裝置適用于將每個(gè)數(shù)據(jù)項(xiàng)提供到與分配給數(shù)據(jù)項(xiàng)的優(yōu)先級(jí)有關(guān)的隊(duì)列中,-發(fā)送裝置適用于發(fā)送來自具有最高優(yōu)先級(jí)的任何非等待隊(duì)列的具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng),以及隨后讓那個(gè)隊(duì)列等待來自與較低優(yōu)先級(jí)有關(guān)的所有非等待隊(duì)列的數(shù)據(jù)項(xiàng)的發(fā)送。13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述發(fā)送裝置適用于當(dāng)來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)已經(jīng)從隊(duì)列發(fā)送到共享資源時(shí),將來自隊(duì)列的下一個(gè)數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)到存儲(chǔ)器,并將存儲(chǔ)器中具有最高優(yōu)先級(jí)的那個(gè)數(shù)據(jù)項(xiàng)發(fā)送給資源。14.根據(jù)權(quán)利要求11-13的任何一項(xiàng)所述的系統(tǒng),進(jìn)一步包含多個(gè)數(shù)據(jù)提供者,多個(gè)數(shù)據(jù)提供者的每一個(gè)適用于隱提供每一個(gè)被分配優(yōu)先級(jí)之一的數(shù)據(jù)項(xiàng),以及-提供與準(zhǔn)備從數(shù)據(jù)提供者發(fā)送到共享資源的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息,其中,所述發(fā)送裝置適用于指令數(shù)據(jù)提供者將具有最高非等待優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)發(fā)送給資源,以及隨后防止從任何數(shù)據(jù)提供者發(fā)送具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng),直到來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)已經(jīng)從數(shù)據(jù)提供者發(fā)送到共享資源。15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述數(shù)據(jù)提供者適用于當(dāng)因此被指令時(shí)轉(zhuǎn)發(fā)數(shù)據(jù)項(xiàng),以及其中,所述發(fā)送裝置適用于指令具有最高非等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者將數(shù)據(jù)項(xiàng)轉(zhuǎn)發(fā)給共享資源,以及隨后不指令具有等待優(yōu)先級(jí)的準(zhǔn)備好數(shù)據(jù)項(xiàng)的數(shù)據(jù)提供者發(fā)送等待優(yōu)先級(jí)的任何數(shù)據(jù)項(xiàng),直到已經(jīng)指令數(shù)據(jù)提供者發(fā)送來自每個(gè)非等待較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)。16.根據(jù)權(quán)利要求11-15的任何一項(xiàng)所述的系統(tǒng),其中,所述接收裝置適用于接收數(shù)據(jù)項(xiàng)并將數(shù)據(jù)項(xiàng)提供給存儲(chǔ)設(shè)備或存儲(chǔ)器,以及其中,所述發(fā)送裝置適用于發(fā)送來自存儲(chǔ)設(shè)備或存儲(chǔ)器的數(shù)據(jù)項(xiàng)。17.根據(jù)權(quán)利要求10-16的任何一項(xiàng)所述的系統(tǒng),其中,所述共享資源是鏈路、存儲(chǔ)器、處理器、集成電路或交叉開關(guān)。18.根據(jù)權(quán)利要求11-17的任何一項(xiàng)所述的系統(tǒng),其中,所述發(fā)送裝置適用于只有在來自優(yōu)先級(jí)的多個(gè)數(shù)據(jù)項(xiàng)已被發(fā)送到資源之后才讓所述優(yōu)先級(jí)等待。19.一種控制對(duì)共享資源的訪問的系統(tǒng),該系統(tǒng)包含-適用于接收與要發(fā)送的一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)有關(guān)的信息的接收裝置,每個(gè)數(shù)據(jù)項(xiàng)被分配了多個(gè)不同的預(yù)定優(yōu)先級(jí)之一;-對(duì)于每個(gè)優(yōu)先級(jí)、一個(gè)或多個(gè)發(fā)送過程,與數(shù)據(jù)項(xiàng)有關(guān)的每段信息被分配相關(guān)優(yōu)先級(jí)的發(fā)送過程;以及-適用于通過如下步驟重復(fù)地將數(shù)據(jù)項(xiàng)提供給資源的發(fā)送裝置o將與其有關(guān)的信息已經(jīng)被分配給最高優(yōu)先級(jí)的非等待發(fā)送過程的待發(fā)送數(shù)據(jù)項(xiàng)發(fā)送給資源,以及o隨后讓那個(gè)發(fā)送過程隨后等待來自每個(gè)較低優(yōu)先級(jí)的數(shù)據(jù)項(xiàng)的發(fā)送,所述較低優(yōu)先級(jí)已經(jīng)被分配與待發(fā)送數(shù)據(jù)項(xiàng)有關(guān)的信息并且其至少一個(gè)發(fā)送過程是非等待的。20.根據(jù)權(quán)利要求11-19的任何一項(xiàng)所述的系統(tǒng),其中,所述發(fā)送裝置適用于讓優(yōu)先級(jí)/隊(duì)列/發(fā)送過程只等待在發(fā)送時(shí)刻發(fā)送的數(shù)據(jù)項(xiàng)當(dāng)中在該發(fā)送時(shí)刻已經(jīng)接收到其信息的數(shù)據(jù)項(xiàng)的發(fā)送.全文摘要本發(fā)明提供了控制數(shù)據(jù)項(xiàng)對(duì)共享資源的訪問的方法和系統(tǒng),其中,每個(gè)數(shù)據(jù)項(xiàng)被分配了多個(gè)優(yōu)先級(jí)之一,以及其中,當(dāng)已經(jīng)將某個(gè)優(yōu)先級(jí)的預(yù)定數(shù)量數(shù)據(jù)項(xiàng)發(fā)送到共享資源時(shí),那個(gè)優(yōu)先級(jí)將等待,即,不發(fā)送具有那個(gè)優(yōu)先級(jí)的進(jìn)一步數(shù)據(jù)項(xiàng),直到所有較低的非等待優(yōu)先級(jí)將一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)發(fā)送到共享資源。以此方式,可以為所有優(yōu)先級(jí)獲得保證服務(wù)。文檔編號(hào)H04L12/54GK101129033SQ200680006163公開日2008年2月20日申請日期2006年2月28日優(yōu)先權(quán)日2005年2月28日發(fā)明者托比亞斯·比杰萊加爾德申請人:特克拉科技公司