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