專利名稱:維持多數(shù)據(jù)總線平臺中事務(wù)連貫性的方法、裝置以及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
總體上講,本發(fā)明的實施例涉及在計算機(jī)平臺中交換數(shù)據(jù)。更具體地講,某些實施例涉及準(zhǔn)予跨越計算機(jī)平臺的多個數(shù)據(jù)總線進(jìn)行信息交換的總線訪問。2.
背景技術(shù):
出于各種原因,計算機(jī)體系結(jié)構(gòu)可以包括多種不同的硬件部件,它們實現(xiàn)了各種相應(yīng)的操作帶寬,例如操作頻率。例如,操作帶寬中的這樣的差別可能源于傳統(tǒng)硬件部件向計算機(jī)平臺的并入。為了有效使用這些不同的部件帶寬,可以把一組較低帶寬的部件與一組較高帶寬的部件相分隔,例如,通過把這些部件組的每一個分配給不同的相應(yīng)數(shù)據(jù)總線。高帶寬和低帶寬部件的這樣的互相分隔可能引發(fā)體系結(jié)構(gòu)中消息交換的問題。例如,即使高帶寬總線和低帶寬總線為物理上不同的總線,它們?nèi)钥赡荞v留在由公共邊帶協(xié)議所控制的相同的邏輯總線段上。如果邊帶通信方案控制兩條總線上的事務(wù),則這可能要對事務(wù)的連貫性施以要求。更具體地講,可能要求與兩條總線接口的邏輯維持兩條總線上事務(wù)之間的次序,以使它們從所述平臺的某一全局可觀測點(GOP)來看的表面上的次序與在其相應(yīng)總線段上分別準(zhǔn)予各事務(wù)的次序相同。例如,如果高帶寬總線上的某一代理程序A被準(zhǔn)予進(jìn)行向高帶寬總線粘貼的寫事務(wù),并且向低帶寬總線上的代理程序B發(fā)送指示代理程序A已經(jīng)完成了該事務(wù)的邊帶指示,則來自代理程序B的之后的任何事務(wù)均可能需要被排在代理程序A的被準(zhǔn)予的事務(wù)之后。多總線體系結(jié)構(gòu)中的這樣的連貫性問題已經(jīng)通過代表多個總線的至少之一的一些復(fù)雜的仲裁方案解決。例如,可能必須耦合針對第一總線的訪問請求的第一仲裁器,以從針對第二總線的訪問請求的第二仲裁器讀取信息。更具體地講,可能要求第一仲裁器了解已被第二仲裁器準(zhǔn)予的所有事務(wù),以重新仲裁從橋到第二總線的事務(wù)請求和/或動態(tài)地維持在橋和第一總線各部件之間排序的請求(例如,重新排序)。向針對給定總線的仲裁方案施加這樣的要求導(dǎo)致了通過這樣的計算機(jī)體系結(jié)構(gòu)的總體事務(wù)仲裁的效率低下和延遲,并且限制了這樣的體系結(jié)構(gòu)的可擴(kuò)縮性。附圖簡述
各附圖中以舉例的方式,而不是限制的方式描述了本發(fā)明的各個實施例,其中
圖1A為說明根據(jù)實施例的用于在數(shù)據(jù)總線上交換數(shù)據(jù)的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖1B為說明根據(jù)實施例的用于在數(shù)據(jù)總線上交換數(shù)據(jù)的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖1C為說明根據(jù)實施例的用于在數(shù)據(jù)總線上交換數(shù)據(jù)的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖2為說明根據(jù)實施例的包括用于與多個數(shù)據(jù)總線接口的邏輯的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖3為說明根據(jù)實施例的用于經(jīng)由多個數(shù)據(jù)總線交換數(shù)據(jù)的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖4為說明根據(jù)實施例的用于經(jīng)由多個數(shù)據(jù)總線交換數(shù)據(jù)的系統(tǒng)的選擇元素的結(jié)構(gòu)圖。圖5為說明根據(jù)實施例的用于生成準(zhǔn)予訪問數(shù)據(jù)總線的消息的方法的選擇元素的結(jié)構(gòu)圖。圖6為說明根據(jù)實施例的用于在多個數(shù)據(jù)總線上交換消息的方法的選擇元素的流程圖。詳細(xì)描述
在各個實施例中,第一仲裁器可以向以不同的方式請求對第一總線進(jìn)行相應(yīng)訪問的第一多個請求者提供仲裁。第一仲裁器可以在某些或者全部第一多個請求者之間進(jìn)行仲裁,以選擇訪問請求被準(zhǔn)予的第一請求者。根據(jù)這一選擇,第一仲裁器可以發(fā)布表示準(zhǔn)予第一請求者的訪問請求的第一準(zhǔn)予消息??梢蕴峁┧龅谝粶?zhǔn)予消息,以觸發(fā)第一總線對第一消息的傳送。第一總線對第一消息的傳送可以針對在第一請求者和用于包括第一請求者的平臺的數(shù)據(jù)終端之間交換第一消息的一個階段。在某些實施例中,也可以提供第一準(zhǔn)予消息,以觸發(fā)第二總線對第一消息的傳送。例如,第二總線對第一消息的傳送可能旨在實現(xiàn)在第一請求者和所述數(shù)據(jù)終端之間交換第一消息的另一個階段。在各個實施例中,可以提供流化緩沖器邏輯用于信息流化,以便在第一總線和第二總線之間交換第一消息。在實施例中,流化緩沖器邏輯可以實現(xiàn)對第一總線所交換的信息的緩沖。流化緩沖器邏輯還可以實現(xiàn)這樣的帶寬轉(zhuǎn)化其中,按某一速率向流化緩沖器加載一組流信息,而所述某一速率不同于從流化緩沖器卸載該組流信息的速率。作為添加或者替換,可以提供用于對來自不同仲裁器的各訪問請求準(zhǔn)予消息進(jìn)行排隊的準(zhǔn)予次序邏輯。在實施例中,準(zhǔn)予次序邏輯可以接收第一準(zhǔn)予消息和來自第二仲裁器的第二準(zhǔn)予消息,并且可以對第一準(zhǔn)予消息和第二準(zhǔn)予兩者進(jìn)行排隊??梢愿鶕?jù)互相競爭地訪問第二總線的第二多個請求者之間的仲裁,生成第二準(zhǔn)予消息。在實施例中,僅在預(yù)先已保證了平臺的用于對應(yīng)消息交換的端到端資源(例如,被分配用于訪問)之后,才可以發(fā)送用于準(zhǔn)予次序邏輯進(jìn)行排隊的準(zhǔn)予消息。在這樣的實例中,既不要求流化緩沖器邏輯也不要求準(zhǔn)予次序邏輯重新仲裁已經(jīng)準(zhǔn)予的訪問請求,因為用于事務(wù)的端到端資源已經(jīng)被仲裁器標(biāo)識為預(yù)分配。一旦已經(jīng)從第一和第二仲裁器接收到相應(yīng)的準(zhǔn)予消息,準(zhǔn)予次序邏輯將按準(zhǔn)予消息被接收的次序?qū)λ鼈冞M(jìn)行排隊。這樣的排隊可允許平臺的事務(wù)連貫性要求得到解決,例如,其中分別耦合到第一和第二總線的部件組在它們的平臺的相同全局可觀測點(GOP)下操作。圖1A說明了根據(jù)實施例的用于交換數(shù)據(jù)的系統(tǒng)IOOa中的選擇元素的高級視圖。系統(tǒng)IOOa可以駐留在諸如臺式計算機(jī)、膝上計算機(jī)、手持設(shè)備、服務(wù)器等的計算機(jī)平臺上。在實施例中,系統(tǒng)IOOa包括數(shù)據(jù)總線110,用于針對耦合到該數(shù)據(jù)總線的多個請求者105a,...,105n以不同的方式交換相應(yīng)消息。請求者可以包括系統(tǒng)IOOa的作為寫數(shù)據(jù)的數(shù)據(jù)源和/或作為讀取數(shù)據(jù)的數(shù)據(jù)接收裝置操作的任何實體(例如,以軟件、固件和/或硬件實現(xiàn))。以說明和非限制的方式,多個請求者105a,...,105n可以包括一或多個處理器內(nèi)核、中央處理單元、驅(qū)動器、虛擬機(jī)、線程、應(yīng)用、實例化的面向?qū)ο蟮某绦蛟O(shè)計(OOP)對象等的各種組合中的任何一種組合。在實施例中,經(jīng)由公共接口 INTF 120,把多個請求者105a,.. . ,105n全部耦合到總線110。INTF 120可以包括硬件、軟件、和/或固件的各種組合中的任何一種組合,以在不同的時間代表多個請求者105a,... , 105n中不同的請求者有選擇地與總線110交換數(shù)據(jù)。以說明和非限制的方式,INTF 120可以提供多路復(fù)用功能,多個請求者105a,...,105n中的某些或者全部請求者可以分別利用這一功能與總線110交換相應(yīng)的命令和/或數(shù)據(jù)消息??梢园讯鄠€請求者105a,... , 105n中的某些或者全部請求者所交換的命令和/或數(shù)據(jù)消息整體表示為消息Cmd/數(shù)據(jù)112的集合。在實施例中,可以把多個請求者105a,. . .,105n對總線110的訪問限制為一次一個這樣的請求者進(jìn)行訪問。為了管理對總線110的這樣的訪問,系統(tǒng)IOOa的仲裁器115可以控制INTF 120如何交換Cmd/數(shù)據(jù)112中所選擇的Cmd/數(shù)據(jù)112。以說明而非限制的方式,仲裁器115可以針對每一個Cmd/數(shù)據(jù)112從多個請求者105a,...,105n接收一組訪問請求Req 114中的一個相應(yīng)訪問請求。每一個Req 114可以請求經(jīng)由總線110交換Cmd/數(shù)據(jù)112中的相應(yīng)一個。在給定時刻,仲裁器115可以在當(dāng)前待決Req 114之間進(jìn)行仲裁,例如通過在多個請求者105a,... , 105n中發(fā)送當(dāng)前待決Req 114的請求者之間進(jìn)行仲裁,以選擇下一個要準(zhǔn)予的訪問請求。仲裁器115可以根據(jù)包括但不局限于固定的優(yōu)先權(quán)仲裁、循環(huán)復(fù)用、準(zhǔn)予計數(shù)仲裁等的仲裁技術(shù)的各種組合中的任何一種組合進(jìn)行仲裁。在實施例中,可以通過選擇將被給予經(jīng)由INTF 120與總線110進(jìn)行消息交換的訪問權(quán)的下一個請求者,間接進(jìn)行對要準(zhǔn)予的下一個訪問請求的選擇。仲裁器115在Req 114之間的仲裁可以是僅從多個請求者105a, ... ,105n中選擇請求者。以說明而非限制的方式,第一請求者可以在Req 114中發(fā)送第一訪問請求,以請求在總線110上傳送第一消息。例如,在總線110上傳送第一消息可以為第一消息在第一請求者和系統(tǒng)IOOa的直接或者間接耦合到總線110的某些數(shù)據(jù)終端125之間的交換的一部分。例如,數(shù)據(jù)終端125可以包括諸如隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、閃存、超高速緩沖存儲器等的一或多個的數(shù)據(jù)存儲設(shè)備。作為替換或者添加,數(shù)據(jù)終端125可以包括請求者的其它邏輯。在實施例中,數(shù)據(jù)終端125可以包括網(wǎng)絡(luò)接口、輸入/輸出(I/O)接口、或者位于系統(tǒng)IOOa外圍的其它接口。作為仲裁器115的仲裁結(jié)果,可以把第一請求選擇為下一個要準(zhǔn)予的請求。仲裁器115可以生成作為觸發(fā)總線110傳送第一消息的觸發(fā)機(jī)制加以提供的準(zhǔn)予消息Grnt116。例如,Grnt 116可以包括第一請求者的標(biāo)識符、第一消息的標(biāo)識符、第一請求者與INTF 120的連接的標(biāo)識符、或者觸發(fā)由INTF 120識別第一消息為將在總線110上傳送的下一條消息的其它標(biāo)識符。響應(yīng)對Grnt 116的檢測,INTF 120可以從總線110的一或多條總線線路讀取信息和/或向所述一或多條總線線路寫入信息,例如僅代表第一請求者。在實施例中,仲裁器115也可以向系統(tǒng)IOOa的其它邏輯提供Grnt 116。例如,也可以提供Grnt 116以觸發(fā)第一消息在第一請求者和數(shù)據(jù)終端125之間的交換中的一或多個其它階段。對于多個所準(zhǔn)予的訪問請求中的每一個,仲裁器115可以向INTF 120和系統(tǒng)IOOa的其它邏輯分別提供相應(yīng)的準(zhǔn)予消息。
圖1B說明了根據(jù)實施例的用于交換數(shù)據(jù)的系統(tǒng)IOOb中的選擇元素的高級視圖。例如,系統(tǒng)IOOb可以包括系統(tǒng)IOOa的某些或全部特征。為了簡潔起見,在描述各個實施例的某些附加和/或替換的特征的過程中,把系統(tǒng)IOOb顯示為包括總線110、仲裁器115以及數(shù)據(jù)終端125。應(yīng)該理解,在各個實施例中,系統(tǒng)IOOb可以包括不同的總線、仲裁器和/或數(shù)據(jù)終端。附加于或者取代多個請求者105a,...,105n,系統(tǒng)IOOb可以包括耦合到總線110的多個請求者155a,... ,155n。多個請求者155a,... ,155n中的某些或者全部可以分別與總線110交換相應(yīng)的命令和/或數(shù)據(jù)消息。可以把多個請求者155a,... , 155n的某些或者全部所交換的命令和/或數(shù)據(jù)消息整體表示為消息Cmd/數(shù)據(jù)122的集合。為了管理多個請求者155a,... , 155n對總線110的訪問,仲裁器115可以針對每一個Cmd/數(shù)據(jù)122接收一組訪問請求Req 124中的一個相應(yīng)訪問請求。每一個Req 124可以請求經(jīng)由總線110交換Cmd/數(shù)據(jù)122中相應(yīng)的一個。在給定時刻,仲裁器115可以在當(dāng)前待決Req 124之間進(jìn)行仲裁,例如通過在多個請求者155a,... , 155n中發(fā)送當(dāng)前待決Req 124的請求者之間進(jìn)行仲裁,以選擇下一個要準(zhǔn)予的訪問請求。在實施例中,可以通過選擇將被給予與總線110進(jìn)行消息交換的訪問權(quán)的下一個請求者,間接進(jìn)行對要準(zhǔn)予的下一個訪問請求的選擇。仲裁器115在Req 124之間的仲裁可以是僅從多個請求者155a, ... , 155n中選擇請求者。以說明和非限制的方式考慮了對系統(tǒng)IOOa的方案的替換方案,即,一種其中第一請求者為多個請求者155a,. . .,155n之一的替換方案。在這樣的情況下,可以在Req 124中把第一訪問請求發(fā)送給仲裁器115。作為仲裁器115仲裁的結(jié)果,可以把Req 124中的第一訪問請求選擇為下一個要準(zhǔn)予的請求。仲裁器115可以生成作為觸發(fā)總線110傳送第一消息的觸發(fā)機(jī)制加以提供的準(zhǔn)予消息Grnt 126。在實施例中,多個請求者155a,...,155n的每一個可以通過不同的相應(yīng)鏈路,例如經(jīng)由它們自己的相應(yīng)內(nèi)部接口,耦合到總線110。在系統(tǒng)IOOb的這樣的配置中,可以向第一請求者本身提供Grnt 126,例如經(jīng)由通過其把Req 124提供給仲裁器115的路徑之一。Grnt 126可以包括第一請求者的標(biāo)識符、第一消息的標(biāo)識符、或者觸發(fā)第一請求者識別出第一消息為將在總線110上傳送的下一條消息的其它標(biāo)識符。響應(yīng)對Grnt 126的檢測,第一請求者可以從總線110的一或多條總線線路讀取信息和/或向所述一或多條總線線路寫入信息。在實施例中,仲裁器115也可以向系統(tǒng)IOOb的其它邏輯提供Grnt 126。例如,也可以提供Grnt 126以觸發(fā)第一消息在第一請求者和數(shù)據(jù)終端125之間的交換過程中的一或多個其它階段。對于多個所準(zhǔn)予的訪問請求中的每一個,仲裁器115可以向多個請求者155a,...,155n中相應(yīng)的一個和系統(tǒng)IOOb的其它邏輯分別提供相應(yīng)的準(zhǔn)予消息。圖1C說明了根據(jù)實施例的用于交換數(shù)據(jù)的系統(tǒng)IOOc中的選擇元素的高級視圖。例如,系統(tǒng)IOOc可以包括系統(tǒng)IOOa的某些或者全部特征。為了簡潔起見,在描述各個實施例的某些附加和/或替換的特征的過程中,把系統(tǒng)IOOc顯示為包括多個請求者105a,...,105n、總線110、仲裁器115、INTF 120以及數(shù)據(jù)終端125。應(yīng)該理解,在各個實施例中,系統(tǒng)IOOc可以包括不同的多個請求者、總線、仲裁器、接口和/或數(shù)據(jù)終端。在系統(tǒng)IOOc中,如以上參照系統(tǒng)IOOa所討論的,多個請求者105a,. . .,105n全部經(jīng)由INTF 120耦合以用于總線110上的各種消息交換Cmd/數(shù)據(jù)162。在實施例中,消息交換Cmd/數(shù)據(jù)162還可以包括在系統(tǒng)IOOc中由請求者155x所代表的一或多個附加請求者的一或多個其它消息交換。一或多個附加請求者中的每一個可以通過不同的相應(yīng)鏈路,例如經(jīng)由它們自己的相應(yīng)內(nèi)部接口,耦合到總線110。仲裁器115可以從所述多個請求者105a,... ,105n中的某些或者全部以及從155x所代表的一或多個請求者中的某些或者全部接收相應(yīng)的訪問請求Req 164。仲裁器115可以在所有待決Req 164之間反復(fù)地仲裁,以選擇要準(zhǔn)予的下一個訪問請求。根據(jù)該仲裁,仲裁器115可以發(fā)送用于觸發(fā)由INTF 120代表多個請求者105a,.. .,105n之一對總線110的訪問的準(zhǔn)予消息Grnt 136。作為添加或者替換,仲裁器115可以向請求者155x發(fā)送較早的或者較晚的準(zhǔn)予消息Grnt 146,以觸發(fā)對總線110的另一個訪問。在實施例中,仲裁器115還可以向系統(tǒng)IOOc的其它邏輯提供Grnt 136和Grnt146。例如,可以把Grnt 136和Grnt 146提供為分別觸發(fā)相應(yīng)消息交換過程中的一或多個其它階段。應(yīng)該理解,每一個這樣的消息交換可以是與不同的相應(yīng)數(shù)據(jù)終端交換消息。圖2說明了示出根據(jù)實施例的用于實現(xiàn)多總線消息交換的系統(tǒng)200的選擇元素的高級視圖。例如,系統(tǒng)200可以包括系統(tǒng)100a、100b、IOOc中的一或多個的某些或者全部特征。在實施例中,系統(tǒng)200駐留在計算機(jī)平臺上,例如,其中把諸如平臺的網(wǎng)絡(luò)接口卡(未在圖中加以顯示)的網(wǎng)絡(luò)接口直接或者間接地耦合到第一總線210和第二總線220的至少之一,所述網(wǎng)絡(luò)接口用于把系統(tǒng)200耦合到網(wǎng)絡(luò)。系統(tǒng)200可以包括第一總線210,用于針對耦合到該第一總線的第一多個請求者205a, . . . ,205n以不同的方式交換相應(yīng)消息。盡管顯示為通過不同的相應(yīng)鏈路耦合到第一總線210,然而應(yīng)該理解,在替換的實施例中,可以通過單個的公共接口把所有第一多個請求者205a,. . . ,205n的某些耦合到第一總線210。例如,在各個實施例中,第一多個請求者205a,. . .,205n中的某些到第一總線210的耦合可以根據(jù)系統(tǒng)100a、100b、IOOc中的不同配置而不同。系統(tǒng)200還可以包括第二總線220,用于針對耦合到該第二總線的第二多個請求者215a,...,215n以不同的方式交換相應(yīng)消息。盡管顯示為通過不同的相應(yīng)鏈路耦合到第二總線220,然而應(yīng)該理解,在替換的實施例中,可以通過單個的公共接口把所有第二多個請求者215a,. . . ,215n的某些耦合到第二總線220。例如,在各個實施例中,第二多個請求者215a,. . .,215n中的某些到第二總線220的耦合可以根據(jù)系統(tǒng)100a、100b、IOOc中的不同配置而不同。在實施例中,第一總線210和第二總線220可以實現(xiàn)不同的操作帶寬(例如,操作頻率),以容納第一多個請求者205a,. . .,205n和第二多個請求者215a,. . .,215n的不同的相應(yīng)帶寬(或者帶寬范圍)。作為添加或者替換,可以使用由第一多個請求者205a,...,205n和第二多個請求者215a,...,215n所交換的邊帶通信240控制第一總線210和第二總線220上的某些或者全部事務(wù)。邊帶通信240可以施加跨越第一總線210和第二總線220的事務(wù)連貫性要求。為了符合這樣的連貫性要求,系統(tǒng)200可以包括第一總線210和第二總線220之間的接口邏輯230。在實施例中,接口邏輯230提供有助于維持第一總線210和第二總線220上的事物之間的次序的功能,例如,使得它們從系統(tǒng)200的某個全局可觀測點(GOP)來看的表面上的次序與第一總線210或者第二總線220分別準(zhǔn)予各事務(wù)的次序相同。例如,接口邏輯230可以包括用于第一總線210和第二總線220之一或者兩者的仲裁邏輯。圖3說明了根據(jù)實施例的用于交換消息的系統(tǒng)300中的選擇元素的高級視圖。例如,系統(tǒng)300可以包括系統(tǒng)200中的某些或者全部特征。系統(tǒng)300可以包括第一總線310,用于針對耦合到該第一總線的第一多個請求者305a,... ,305n以不同的方式交換相應(yīng)消息。盡管顯示為通過單個的公共接口 320耦合到第一總線310,然而應(yīng)該理解,在替換的實施例中,可以由不同的相應(yīng)鏈路把所有第一多個請求者305a,. . . ,305n的某些耦合到第一總線310。例如,在各個實施例中,第一多個請求者305a,. . .,305n中的某些到第一總線310的耦合可以根據(jù)系統(tǒng)100a、100b、IOOc中的不同配置而不同。所述多個請求者305a,. . .,305n的某些或者全部可以經(jīng)由第一總線310以不同的方式交換命令和/或數(shù)據(jù)消息Cmd/數(shù)據(jù)312,例如,其中通過仲裁器315仲裁對第一總線310的訪問。例如,所述多個請求者305a,. . .,305n中的交換Cmd/數(shù)據(jù)312的那些請求者可以通過向仲裁器315發(fā)送訪問請求Req 314實現(xiàn)這一點。根據(jù)所接收的Req 314,仲裁器315可以進(jìn)行用于選擇下一個要準(zhǔn)予的訪問請求的仲裁。在實施例中,多個請求者305a,. . .,305n、第一總線310、仲裁器315、以及INTF 320的操作可以對應(yīng)于多個請求者105a,...,105n、總線110、仲裁器115、以及INTF 120的相應(yīng)操作。響應(yīng)Req 314之間的仲裁,仲裁器315可以發(fā)送用于觸發(fā)在第一總線310上傳送消息的準(zhǔn)予消息Grnt 316。例如,可以針對INTF 320發(fā)送Grnt 316,以識別INTF 320將代表其交換消息的多個請求者305a,. . .,305n中的特定請求者。在替換的配置中,可以把Grnt 316提供給所述多個請求者之一,例如其中所準(zhǔn)予的訪問請求來自不與所述多個請求者中的任何其它請求者共享到第一總線310的連接的請求者。響應(yīng)Grnt 316的檢測,可以觸發(fā)INTF 320,或者在一個替換的實施例中觸發(fā)接收Grnt 316的請求者,以從第一總線310讀取Cmd/數(shù)據(jù)312之一和/或向第一總線310寫入Cmd/數(shù)據(jù)312之一。在第一總線310上傳送消息可以為該消息在多個請求者305a,... , 305n之一和系統(tǒng)300的某些數(shù)據(jù)終端(未在圖中加以顯不)之間交換的一部分。在實施例中,第一消息的交換還包括在系統(tǒng)300的第二總線330上傳送消息。例如,可以通過接口 INFT 325把第二總線330耦合到第一總線310。在實施例中,INTF 325為與第一總線310交換消息的部件的內(nèi)部接口。在替換的實施例中,INTF 325可以在這樣的部件的外部,例如其中INTF325也可以提供把一或多個附加部件(未在圖中加以顯示)與第二總線325接口的功能。除了通過仲裁器315提供給INTF 320之外,也可以把Grnt 316直接或者間接地提供為觸發(fā)在第二總線330上傳送所交換的消息。例如,可以針對INTF 325發(fā)送Grnt 316,以識別其是否將代表第一總線310和第二總線330之間的中間部件交換消息。在各個實施例中,INTF 325可以駐留在這樣的中間部件中,或者替換地作為針對多個包括這樣的中間部件的請求者的接口操作。響應(yīng)Grnt 316的檢測,可以觸發(fā)INTF 325,以從第二總線330讀取Cmd/數(shù)據(jù)312之一和/或把Cmd/數(shù)據(jù)312之一寫至第二總線330。應(yīng)該理解,在各個實施例中,還可以把Grnt 316提供為觸發(fā)在任意數(shù)量的附加(例如,第三、第四等)總線(未在圖中加以顯示)中傳送所交換的消息。圖4為說明根據(jù)實施例的用于交換數(shù)據(jù)的系統(tǒng)的400中的選擇元素的高級視圖。例如,系統(tǒng)400可以包括系統(tǒng)300的某些或者全部特征。系統(tǒng)400可以包括第一總線410,用于針對耦合到該第一總線的第一多個請求者405a, ... ,405n以不同的方式交換相應(yīng)的消息。盡管顯示為通過單個的公共接口 420耦合到第一總線410,然而應(yīng)該理解,在替換的實施例中,可以由不同的相應(yīng)鏈路把所有第一多個請求者405a,. . . ,405n的某些耦合到第一總線410。例如,在各個實施例中,第一多個請求者405a,. . .,405n中的某些到第一總線410的耦合可以根據(jù)系統(tǒng)100a、100b、IOOc中的不同配置而不同。多個請求者405a,...,405n的某些或者全部可以經(jīng)由第一總線410以不同的方式交換命令和/或數(shù)據(jù)消息Cmd/數(shù)據(jù)412,例如,其中通過仲裁器415仲裁對第一總線410的訪問。例如,多個請求者405a,. . .,405n中的交換Cmd/數(shù)據(jù)412的那些請求者可以通過向仲裁器415發(fā)送訪問請求Req 414實現(xiàn)這一點。根據(jù)所接收的Req 414,仲裁器415可以進(jìn)行用于選擇第一多個請求者405a,...,405n的下一個要準(zhǔn)予的訪問請求的仲裁。在實施例中,第一多個請求者405a,...,405n、第一總線410、仲裁器415、以及INTF 420的操作可以對應(yīng)于第一多個請求者105a,. . .,105n、總線110、仲裁器115、以及INTF 120的相應(yīng)操作。響應(yīng)Req 414之間的仲裁,第一仲裁器415可以發(fā)送用于觸發(fā)在第一總線410上傳送消息的準(zhǔn)予消息Grntl 416。例如,可以針對INTF 420發(fā)送Grntl 416,以識別INTF420將代表其交換消息的第一多個請求者405a,. . . ,405n中的特定請求者。在替換的實施例中,可以把Grntl 416改為提供給請求者(未在圖中顯示),例如其中所準(zhǔn)予的訪問請求來自不與被仲裁的多個請求者中的任何其它請求者共享到第一總線410的連接的請求者。響應(yīng)Grntl 416的檢測,可以觸發(fā)INTF 420,或者在替換的實施例中觸發(fā)接收Grntl 416的請求者,以從第一總線410讀取Cmd/數(shù)據(jù)412之一和/或向第一總線410寫入Cmd/數(shù)據(jù)412 之一。在實施例中,第一總線410所傳送的消息可以流至耦合到第一總線410的流化緩沖器邏輯425,和/或從耦合到第一總線410的流化緩沖器邏輯425流出。流化緩沖器邏輯425可以包括用于沿特定方向向第一總線410流入信息或者從第一總線410流出信息的流化緩沖器STRB 427。作為替換或者添加,流化緩沖器邏輯425可以包括用于接收和識別表示流化緩沖器邏輯425將流化信息以通過第一總線410或者第二總線450傳送的準(zhǔn)予消息的邏輯。流化緩沖器邏輯425還可以包括另一個用于沿與STRB 427的方向相反的方向流化數(shù)據(jù)的流化緩沖器(未在圖中加以顯示)。在第一總線410上傳送消息可以為該消息在第一多個請求者405a,. . .,405n之一和系統(tǒng)400的某些數(shù)據(jù)終端470之間交換的一部分。在實施例中,第一消息的交換還包括在系統(tǒng)400的第二總線450上傳送信息。例如,可以通過接口 INFT 460把第二總線450耦合到第一總線410。在實施例中,INTF 460提供把第二總線450與第二多個請求者445a,...
,445m以及系統(tǒng)400的與第一總線410交換消息的部件(例如,流化緩沖器邏輯425)相接口的功能。盡管顯示為通過共享的INTF 460耦合到第二總線450,然而應(yīng)該理解,在替換實施例中,可以通過不同的相應(yīng)鏈路把所有第二多個請求者445a,... ,445m中的某些以及流化緩沖器邏輯425耦合到第二總線450。例如,在各個實施例中,第二多個請求者445a,...
,445m中的某些以及流化緩沖器邏輯425到第二總線450的耦合可以根據(jù)系統(tǒng)100a、100b、IOOc中的不同配置而不同。除了通過仲裁器415提供給INTF 420之外,也可以把Grntl 416直接或者間接地提供為觸發(fā)在第二總線450上傳送所交換的消息。例如,系統(tǒng)400可以包括耦合旨在接收訪問請求準(zhǔn)予消息的準(zhǔn)予次序邏輯430,所述訪問請求準(zhǔn)予消息是第一仲裁器415所生成的,旨在以不同的方式觸發(fā)在第一總線410上傳送相應(yīng)消息。在實施例中,準(zhǔn)予次序邏輯430可以直接或者間接從第一仲裁器415接收Grntl 416。作為替換或者添加,準(zhǔn)予次序邏輯430可以接收一或多條針對第二多個請求者445a,. . . ,445m生成的訪問請求準(zhǔn)予消息456。在實施例中,第二多個請求者445a,...,445m中的某些或者全部可以經(jīng)由第二總線450以不同的方式交換命令和/或數(shù)據(jù)消息Cmd/數(shù)據(jù)452,例如其中由第二仲裁器455仲裁第二多個請求者445a,... ,445m對第二總線450的訪問。例如,通過向第二仲裁器455發(fā)送訪問請求Req 454,第二多個請求者445a,. . . ,445m中的那些經(jīng)由第二總線450交換Cmd/數(shù)據(jù)452的請求者可以實現(xiàn)這一點。根據(jù)所接收的Req 454,第二仲裁器455可以仲裁以選擇要準(zhǔn)予的第二多個請求者445a,... ,445m的下一個訪問請求。在實施例中,第二多個請求者445a, .. . ,445m、第二總線450、第二仲裁器455、以及INTF 460的操作可以對應(yīng)于多個請求者105a,. . .,105n、總線110、仲裁器115、以及INTF 120的相應(yīng)操作。響應(yīng)Req 454之間的仲裁,第二仲裁器455可以發(fā)送用于觸發(fā)在第二總線450上傳送消息的準(zhǔn)予消息Grnt2 456。Grntl 416和Grnt2 456都可以在準(zhǔn)予次序邏輯430處被接收并且被放入準(zhǔn)予次序隊列GOQ 432中,例如根據(jù)在準(zhǔn)予次序邏輯430處接收它們的次序。在實施例中,如果在基本相同的時間(例如,在系統(tǒng)400的計時時鐘的同一時鐘脈沖期間)接收到兩條準(zhǔn)予消息,則準(zhǔn)予次序邏輯430可以包括用于解析將Grntl 416和Grnt2 456排隊至GOQ 432的次序。例如,準(zhǔn)予消息的排隊優(yōu)選權(quán)可基于準(zhǔn)予消息的主題(即,將由請求者交換的和在總線上傳送的相關(guān)的消息)是粘貼消息、非粘貼消息還是完成消息。如此處所描述的,粘貼消息是其發(fā)送者不等待來自其接收者的完成消息的消息。例如,寫命令和/或其相關(guān)的寫數(shù)據(jù)至少在這樣的范圍內(nèi)可以是粘貼消息發(fā)送者可以發(fā)送寫命令和寫數(shù)據(jù),而無需等待來自其接收者的任何完成消息。相比之下,非粘貼消息是其發(fā)送者將等待來自其接收者的完成消息的消息。例如,讀命令消息至少在這樣的范圍內(nèi)可以是非粘貼消息發(fā)送者可以首先發(fā)送讀命令,但在認(rèn)為已經(jīng)完成之前,必須等待所請求的讀數(shù)據(jù)。在實施例中,可以把所請求的讀數(shù)據(jù)視為完成消息。為了解決基本上同時接收的準(zhǔn)予消息的排隊問題,準(zhǔn)予次序邏輯430可以令針對非粘貼消息交換的準(zhǔn)予消息的排隊優(yōu)先權(quán)高于針對粘貼消息交換的準(zhǔn)予消息的排隊優(yōu)先權(quán)。作為添加或者替換,準(zhǔn)予次序邏輯430可以令針對粘貼消息交換的準(zhǔn)予消息的排隊優(yōu)先權(quán)高于針對完成消息交換的準(zhǔn)予消息的排隊優(yōu)先權(quán)。準(zhǔn)予次序邏輯430可以包括用于生成準(zhǔn)予消息Grnt3 435的邏輯,在各個時間,Grnt3 435將等于先前在GOQ 432中排隊的不同的準(zhǔn)予消息。在實施例中,準(zhǔn)予次序邏輯430順序地發(fā)送下一個最近排隊的準(zhǔn)予消息作為Grnt3 435,并且順序地令下一個最近排隊的準(zhǔn)予消息從GOQ 432離隊。
可以針對INTF 460發(fā)送Grnt3 435,以識別INTF 460將代表其交換消息的第二多個請求者445a,. . . ,445m中特定的一個以及流化緩沖器邏輯425中特定的一個。在替換的實施例中,可以把Grnt3 435提供給第二多個請求者445a,.. .,445m中的一個請求者以及流化緩沖器邏輯425,例如其中Grnt3 435所表示的準(zhǔn)予的訪問請求來自不與第二多個請求者445a,. . . ,445m中的任何其它請求者以及流化緩沖器邏輯425共享至第二總線450的連接的請求者。響應(yīng)Grnt3 435的檢測,可以觸發(fā)INTF420,或者在替換的實施例中觸發(fā)接收Grnt3 435的請求者,以從第二總線450讀取來自消息Cmd/數(shù)據(jù)412和Cmd/數(shù)據(jù)452集合之一的消息,和/或把來自消息Cmd/數(shù)據(jù)412和Cmd/數(shù)據(jù)452集合之一的消息寫至第二總線450??梢园言诘诙偩€450上傳送的Cmd/數(shù)據(jù)412任何之一作為流化緩沖器信息SB 465交換到第二總線450/從第二總線450加以交換。流化緩沖器邏輯425可以執(zhí)行帶寬轉(zhuǎn)化,其中,按某一速率把SB 465的一組流信息加載到STRB 427,所述某一速率不同于把該組流信息從STRB 427卸載的速率。僅偶然地與流化緩沖器邏輯425交換SB465、而在其它時間交換其它請求者的消息(例如Cmd/數(shù)據(jù)452的一些)的第二總線460可調(diào)節(jié)加載/卸載速率的差異。INTF 420可以包括這樣的邏輯每當(dāng)Grnt3 435表示代表第一多個請求者405a,. . .,405n中的一個請求者的訪問時,識別將與流化緩沖器邏輯425交換信息。在替換的實施例中,流化緩沖器邏輯可以包括用于接收以不同的方式表示多個請求者中相應(yīng)請求者的準(zhǔn)予消息的邏輯,其中,流化緩沖器邏輯以不同的方式從準(zhǔn)予消息中識別出其將代表多個請求者中的相應(yīng)請求者交換數(shù)據(jù)。在系統(tǒng)400中,第一總線仲裁器415和/或第二總線仲裁器455均像可以向GOQ432調(diào)度多個準(zhǔn)予的準(zhǔn)予調(diào)度器一樣運作。在實施例中,第一總線仲裁器415和第二總線仲裁器455之一或者兩者可以僅在確定已經(jīng)保證了平臺的用于信息交換的端到端資源之后才向GOQ 432調(diào)度準(zhǔn)予。圖5說明了根據(jù)實施例的用于提供訪問請求準(zhǔn)予消息的方法500的選擇元素。例如,可以通過第一總線410和第二總線450之一或者兩者執(zhí)行方法500。方法500可以包括在510處,標(biāo)識所有來自在其間進(jìn)行仲裁的一組請求者的待決訪問請求。在實施例中,每一個待決訪問請求可以標(biāo)識或者以其它方式對應(yīng)于相應(yīng)的請求訪問總線的命令和/或數(shù)據(jù)消息交換。根據(jù)所標(biāo)識的待決訪問請求,在520處,方法500可以在多個請求者中提供了待決訪問請求的那些請求者之間進(jìn)行仲裁。可以根據(jù)仲裁技術(shù)的各種組合中的任何一個組合進(jìn)行待決訪問請求之間的仲裁,所述仲裁技術(shù)包括但不局限于固定的優(yōu)先權(quán)仲裁、循環(huán)復(fù)用、準(zhǔn)予計數(shù)仲裁等。在實施例中,仲裁可以是僅從所述多個請求者中選擇請求者。響應(yīng)待決訪問請求之間的仲裁的結(jié)果,例如根據(jù)對訪問請求被準(zhǔn)予的下一個請求者的選擇,在530處,方法500可以在調(diào)度對應(yīng)于將被準(zhǔn)予的訪問請求的總線訪問之前標(biāo)識將被保證的一或多個端到端資源。在實施例中,可以根據(jù)該請求者和被該請求者用于交換消息的數(shù)據(jù)終端之間的路徑,標(biāo)識端到端資源。沿著這樣的路徑,可以駐留一或多個在所述請求者和所述數(shù)據(jù)終端之間交換消息所需的資源,例如,其中在各個時間,所述一或多個資源中的某些或者全部具有有助于這樣的交換的有限的能力,或者不具備這樣的能力。在實施例中,這樣的端到端資源可以包括各種緩沖器、隊列、驅(qū)動器、接口等的任何一種。
根據(jù)所標(biāo)識的端到端資源,在540處,可以確定是否已經(jīng)保證了消息交換所需的所有端到端資源。通過說明和非限制的方式,在第一仲裁器415執(zhí)行方法500的實施例中,可以把保證消息Sec 475直接或者間接提供給第一仲裁器415,其中,Sec 475表示已經(jīng)保證了數(shù)據(jù)終端470用于與所準(zhǔn)予的訪問請求相關(guān)聯(lián)的消息交換。應(yīng)該理解,第一仲裁器415可以直接或者間接接收一或多條其它這樣的保證消息(未在圖中加以顯示),其中,所述一或多條其它這樣的保證消息表示保證了數(shù)據(jù)終端470和第一多個請求者405a,. . . ,405η之一之間的一或多個其它資源。作為替換或者添加,可以向第二仲裁器455提供一或多條其它保證消息,以調(diào)度由第二多個請求者445a,. . .,445m準(zhǔn)予的事務(wù)。在540處,方法500可以反復(fù)地執(zhí)行所述確定,例如根據(jù)550處關(guān)于終止事件是否表示如此反復(fù)的確定已經(jīng)結(jié)束的偶然確定。例如,這樣的終止事件可以包括超時、540處全部確定的計數(shù)、和/或表示一或多個資源的可得性低于可得性的某一閾值水平的指示。響應(yīng)對終止事件已經(jīng)發(fā)生的確定,方法500可以放棄對520處由仲裁選擇的訪問請求的準(zhǔn)予,并且針對另一輪仲裁重新估計510處的當(dāng)前待決請求。響應(yīng)對終止事件尚未發(fā)生的確定,在540處,方法500可以再次確定是否保證了所有用于消息交換的相關(guān)端到端資源。如果保證了所有這樣的端到端資源,則在560處,方法500可以發(fā)送準(zhǔn)予消息560,以觸發(fā)在總線上傳送消息,從而可在請求者和數(shù)據(jù)終端之間進(jìn)行消息交換。應(yīng)該理解,從正在執(zhí)行方法500的計算機(jī)平臺的角度而言,數(shù)據(jù)終端可以僅為一個終端。相類似地,所保證的資源可以為僅涉及該計算機(jī)平臺的端到端資源。例如,第一多個請求者405a,. . . ,405η中的一個和數(shù)據(jù)終端470之間所交換的消息也可以在數(shù)據(jù)終端470和其它在系統(tǒng)400外部的實體之間交換。然而,對這樣的事務(wù)的事務(wù)連貫性要求不能超出系統(tǒng)400的范圍。因此,在系統(tǒng)400中,僅從這樣考慮數(shù)據(jù)終端和端到端資源的某個GOP的角度而言要求維持事務(wù)的次序。應(yīng)該理解,方法500中特定順序的某些操作可以根據(jù)不同的實施例而改變。例如,在替換實施例中,可以 針對一或多個未決訪問請求中的每一個進(jìn)行一組確定,每一確定標(biāo)識是否已經(jīng)保證了用于相應(yīng)訪問請求的對應(yīng)端到端資源。然后,可以根據(jù)所述確定組對一或多個已經(jīng)保證了端到端資源的訪問請求進(jìn)行標(biāo)識。接下來,可以進(jìn)行仲裁,以選擇要被準(zhǔn)予的訪問請求,例如,其中僅從被標(biāo)識的具有保證的端到端資源的一或多個訪問請求中選擇訪問請求。圖6說明了根據(jù)實施例的用于交換消息的方法600的選擇元素。例如,可以通過系統(tǒng)400執(zhí)行方法600。通過說明和非限制的方式,方法600可以包括在610處,在仲裁器處接收來自多個請求者的訪問請求。這一仲裁器和所述多個請求者可以分別包括第一仲裁器415和多個請求者405a,...,405n。根據(jù)所接收的訪問請求,在620處可以進(jìn)行仲裁。仲裁的進(jìn)行可以包括選擇要被準(zhǔn)予的訪問請求。仲裁可以包括在待決的訪問請求之間進(jìn)行仲裁和/或在從其接收到訪問請求的相應(yīng)請求者之間進(jìn)行仲裁。根據(jù)所述仲裁,在630處,方法600可以發(fā)送準(zhǔn)予消息,以觸發(fā)在總線上一例如第一總線400上一傳送消息。而且,準(zhǔn)予消息可以為其中第一準(zhǔn)予消息還觸發(fā)第二總線上的消息傳送。對于總線和/或耦合到該總線的設(shè)備,對總線上傳送的觸發(fā)可以為啟動數(shù)據(jù)向該總線的一或多條線路的傳送或者數(shù)據(jù)從該總線的一或多條線路的傳送的充分條件。在實施例中,準(zhǔn)予消息還可以觸發(fā)(例如,獨立于第一觸發(fā))該消息在第二總線上的傳送。在實施例中,在第一總線上傳送消息和在第二總線上傳送該消息可以為該消息從總線訪問請求者到該總線訪問請求者的平臺上的某些數(shù)據(jù)終端的交換的不同相應(yīng)階段的一部分。此處,描述了多總線系統(tǒng)中傳送信息的技術(shù)與體系結(jié)構(gòu)。在以上的描述中,為了便于解釋,為提供對某些實施例的全面了解闡述了諸多具體的細(xì)節(jié)。然而,本領(lǐng)域技術(shù)人員將會明顯意識到,可以在沒有這些具體細(xì)節(jié)的情況下實踐某些實施例。在其它實例中,為避免描述不清,按結(jié)構(gòu)圖的形式描述了結(jié)構(gòu)與設(shè)備。本說明書中所提到的“ 一個實施例(one embodiment) ”或者“實施例(anembodiment)”意指與所述實施例關(guān)聯(lián)描述的具體特征、結(jié)構(gòu)或者特性包括在本發(fā)明的至少一個實施例中。本說明書中各個地方中的術(shù)語“在一個實施例中”無需全部指向同一實施例。按對計算機(jī)存儲器中數(shù)據(jù)比特進(jìn)行操作的算法和示意性表示,介紹了以下詳細(xì)描述的某些部分。這些算法描述和表示為計算技術(shù)領(lǐng)域中技術(shù)人員用于最有效地向本領(lǐng)域其它技術(shù)人員表達(dá)他們工作性質(zhì)的手段。此處以及通常情況下,把算法視為導(dǎo)致所希望的結(jié)果的獨立的步驟序列。所述步驟為要求對物理量進(jìn)行物理操縱的步驟。通常,盡管非必須,這些量呈能夠加以存儲、傳送、組合、比較和以其它方式操縱的電或者磁信號的形式。已經(jīng)證明,將這些信號稱為比特、值、元素、符號、字符、項、數(shù)字等有時是方便的,主要原因在于通用性。然而,應(yīng)該記住,應(yīng)該把所有這些以及類似的術(shù)語與適合的物理量相關(guān)聯(lián),而且只是應(yīng)用于這些量的方便的標(biāo)記。除非另外特別加以陳述,從以下的討論中可以明顯看出,整個說明書中,使用諸如“處理”或者“計算(computing)”或者“計算(calculating)”或者“確定”或者“顯示”等的討論涉及計算機(jī)系統(tǒng)或者類似電子計算設(shè)備的動作和過程,所述計算機(jī)系統(tǒng)或者類似電子計算設(shè)備操縱表示為計算機(jī)系統(tǒng)的寄存器和存儲器中的物理(電子)量的數(shù)據(jù),以及把它們變換為類似地表示為計算機(jī)系統(tǒng)的存儲器和寄存器或者其它這樣的信息存儲、傳輸或者顯示設(shè)備中的物理量的其它數(shù)據(jù)。某些實施例還涉及用于執(zhí)行此處的操作的裝置??梢葬槍λ蟮哪康木唧w構(gòu)造這一裝置,或者,其可以包含通用計算機(jī),存儲在計算機(jī)中的計算機(jī)程序可以有選擇地激活或者重新配置所述通用計算機(jī)??梢园堰@樣的計算機(jī)程序存儲在計算機(jī)可讀存儲媒體中,例如但不局限于包括軟盤、光盤、⑶-ROM、以及磁光盤的任何類型的盤;只讀存儲器(ROM);諸如動態(tài)RAM (DRAM)、EPROM、EEPR0M、磁或者光卡的隨機(jī)存取存儲器(RAM);或者任何適合于存儲電子指令的媒體類型,并且將它們均耦合到計算機(jī)系統(tǒng)總線。此處所介紹的算法和顯示不與任何特定的計算機(jī)或者其它裝置內(nèi)在相關(guān)??梢耘c根據(jù)此處的教導(dǎo)的程序一起使用各種通用系統(tǒng),或者可以證明,構(gòu)造更具體的裝置來執(zhí)行所要求的方法步驟是方便的。通過以下的描述,各種這樣的系統(tǒng)的所要求的結(jié)構(gòu)將變得十分明顯。另外,并未參照任何特定的程序設(shè)計語言描述某些實施例。應(yīng)該意識到,可以使用各種程序設(shè)計語言實現(xiàn)此處所描述的某些實施例的教導(dǎo)。除了此處所描述的,還可以在不背離其范圍的情況下,對所公開的實施例以及它們的實現(xiàn)進(jìn)行各種修改。因此,應(yīng)該把此處的說明與示例視為說明性的,而不是限制性的。本發(fā)明的范圍僅由以下的權(quán)利要求加以限定。
權(quán)利要求
1.一種裝置,包含 第一總線; 耦合到第一總線的第一多個請求者; 第一仲裁器,用于從第一多個請求者接收訪問請求,每一個訪問請求請求對第一總線的相應(yīng)訪問,第一仲裁器還根據(jù)訪問請求進(jìn)行第一仲裁,第一仲裁選擇第一多個請求者中的第一請求者,第一仲裁器還根據(jù)第一仲裁發(fā)送用于觸發(fā)在第一總線上傳送第一消息的第一準(zhǔn)予消息,該第一消息由第一請求者交換;以及 耦合到第一仲裁器的第二總線,其中,第一準(zhǔn)予消息還觸發(fā)第一消息在第二總線上的傳送。
2.根據(jù)權(quán)利要求1所述的裝置,其中,第一仲裁僅從第一多個請求者中選擇第一請求 者。
3.根據(jù)權(quán)利要求1所述的裝置,還包含 流化緩沖器,用于在第一總線和第二總線之間交換第一消息。
4.根據(jù)權(quán)利要求3所述的裝置,還包含用于存儲第一準(zhǔn)予消息的準(zhǔn)予次序隊列,所述準(zhǔn)予次序隊列還提供第一準(zhǔn)予消息以觸發(fā)第一消息在第二總線上的傳送。
5.根據(jù)權(quán)利要求4所述的裝置,還包含 第二總線; 第二多個請求者;以及 第二仲裁器,用于從第二多個請求者接收訪問請求,每一個訪問請求請求對第二總線的相應(yīng)訪問,第二仲裁器根據(jù)從第二多個請求者接收的對第二多個請求者的仲裁,向準(zhǔn)予次序隊列提供第二準(zhǔn)予消息。
6.根據(jù)權(quán)利要求3所述的裝置,其中,在第一總線和第二總線之間交換數(shù)據(jù)的流化緩沖器包括執(zhí)行帶寬轉(zhuǎn)化的流化緩沖器。
7.根據(jù)權(quán)利要求1所述的裝置,其中,第一總線和第二總線按不同的相應(yīng)頻率操作。
8.一種方法,包含 在第一仲裁器處,接收來自第一多個請求者的訪問請求,每一個訪問請求請求對第一總線的相應(yīng)訪問; 使用第一仲裁器,根據(jù)來自第一多個請求者的訪問請求進(jìn)行第一仲裁,第一仲裁選擇第一訪問請求被準(zhǔn)予的第一請求者,第一訪問請求用于由第一請求者交換第一消息;以及 根據(jù)第一仲裁從第一仲裁器發(fā)送第一準(zhǔn)予消息,其中,第一準(zhǔn)予消息觸發(fā)第一消息在第一總線上的傳送,而且其中,為了由第一請求者交換第一消息,第一準(zhǔn)予消息還觸發(fā)第一消息在第二總線上的傳送。
9.根據(jù)權(quán)利要求8所述的方法,其中,選擇第一請求者的第一仲裁包括僅從第一多個請求者中選擇第一請求者的第一仲裁。
10.根據(jù)權(quán)利要求8所述的方法,還包含 使用流化緩沖器,在第一總線和第二總線之間交換第一消息。
11.根據(jù)權(quán)利要求10所述的方法,其中,在第一總線和第二總線之間交換第一消息包括為該交換執(zhí)行帶寬轉(zhuǎn)化。
12.根據(jù)權(quán)利要求10所述的方法,還包含把第一準(zhǔn)予消息存儲在準(zhǔn)予次序隊列中;以及 使用所述準(zhǔn)予次序隊列,提供第一準(zhǔn)予消息以觸發(fā)第一消息在第二總線上的傳送。
13.根據(jù)權(quán)利要求12所述的方法,還包含 在第二仲裁器處,接收來自第二多個請求者的訪問請求,每一個來自第二多個請求者的訪問請求請求對第二總線的相應(yīng)訪問; 使用第二仲裁器,根據(jù)從第二多個請求者接收的對第二多個請求者的仲裁,向準(zhǔn)予次序隊列提供第二準(zhǔn)予消息。
14.根據(jù)權(quán)利要求8所述的方法,其中,第一總線和第二總線按不同的相應(yīng)頻率操作。
15.一種計算機(jī)可讀存儲媒體,其上存儲了指令,當(dāng)一或多個處理器執(zhí)行這些指令時,致使一或多個處理器執(zhí)行一種方法,所述方法包含 在第一仲裁器處,接收來自第一多個請求者的訪問請求,每一個訪問請求請求對第一總線的相應(yīng)訪問; 使用第一仲裁器,根據(jù)來自第一多個請求者的訪問請求進(jìn)行第一仲裁,第一仲裁選擇第一訪問請求被準(zhǔn)予的第一請求者,第一訪問請求用于由第一請求者交換第一消息;以及 根據(jù)第一仲裁從第一仲裁器發(fā)送第一準(zhǔn)予消息,其中,第一準(zhǔn)予消息觸發(fā)第一消息在第一總線上的傳送,而且其中,為了由第一請求者交換第一消息,第一準(zhǔn)予消息還觸發(fā)第一消息在第二總線上的傳送。
16.根據(jù)權(quán)利要求15所述的計算機(jī)可讀存儲媒體,其中,選擇第一請求者的第一仲裁包括僅從第一多個請求者中選擇第一請求者的第一仲裁。
17.根據(jù)權(quán)利要求15所述的計算機(jī)可讀存儲媒體,所述方法還包含 使用流化緩沖器,在第一總線和第二總線之間交換第一消息。
18.根據(jù)權(quán)利要求17所述的計算機(jī)可讀存儲媒體,其中,在第一總線和第二總線之間交換第一消息包括為該交換執(zhí)行帶寬轉(zhuǎn)化。
19.根據(jù)權(quán)利要求17所述的計算機(jī)可讀存儲媒體,所述方法還包含 把第一準(zhǔn)予消息存儲在準(zhǔn)予次序隊列中;以及 使用所述準(zhǔn)予次序隊列,提供第一準(zhǔn)予消息以觸發(fā)第一消息在第二總線上的傳送。
20.一種系統(tǒng),包含 第一總線; 耦合到第一總線的第一多個請求者; 第一仲裁器,從第一多個請求者接收訪問請求,每一個訪問請求請求對第一總線的相應(yīng)訪問,第一仲裁器還根據(jù)訪問請求進(jìn)行第一仲裁,第一仲裁選擇第一多個請求者中的第一請求者,第一仲裁器還根據(jù)第一仲裁發(fā)送用于觸發(fā)在第一總線上傳送第一消息的第一準(zhǔn)予消息,該第一消息由第一請求者交換; 耦合到第一仲裁器的第二總線,其中,第一準(zhǔn)予消息還觸發(fā)第一消息在第二總線上的傳送;以及 耦合到第一總線和第二總線之一的網(wǎng)絡(luò)接口。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其中,第一仲裁是僅從第一多個請求者中選擇第一請求者。
22.根據(jù)權(quán)利要求20所述的系統(tǒng),還包含流化緩沖器,用于在第一總線和第二總線之間交換第一消息。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),還包含用于存儲第一準(zhǔn)予消息的準(zhǔn)予次序隊列,所述準(zhǔn)予次序隊列還提供第一準(zhǔn)予消息以觸發(fā)第一消息在第二總線上的傳送。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),還包含 第二總線; 第二多個請求者;以及 第二仲裁器,用于從第二多個請求者接收訪問請求,每一個訪問請求請求對第二總線的相應(yīng)訪問,第二仲裁器根據(jù)從第二多個請求者所接收的對第二多個請求者的仲裁,向準(zhǔn)予次序隊列提供第二準(zhǔn)予消息。
全文摘要
用于在多總線計算機(jī)體系結(jié)構(gòu)中維持事務(wù)次序的技術(shù)。在一個實施例中,仲裁器從多個請求者接收訪問請求,每一個訪問請求請求對總線的相應(yīng)訪問。根據(jù)訪問請求之間的仲裁,例如,根據(jù)提供了訪問請求的那些請求者之間的仲裁,仲裁器可以生成觸發(fā)在第一總線上傳送第一消息的準(zhǔn)予消息。在某些實施例中,準(zhǔn)予消息還觸發(fā)第一消息在第二總線上的另一傳送。
文檔編號G06F13/38GK103069401SQ201180041997
公開日2013年4月24日 申請日期2011年6月29日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者K.M.伊姆, M.C.亨薩克, D.L.阿布拉姆森, R.古捷雷斯, K.W.李 申請人:英特爾公司