專利名稱:優(yōu)化輸入/輸出應(yīng)用的分布式讀寫高速緩存實現(xiàn)方案的制作方法
技術(shù)領(lǐng)域:
一般而言,本發(fā)明涉及一個高速緩存輸入/輸出(I/O)集線器。更具體地講,本發(fā)明涉及高速緩存I/O集線器內(nèi)的一個分布式讀寫高速緩存實現(xiàn)方案,能優(yōu)化多處理器計算機系統(tǒng)的可擴展性及性能。
背景技術(shù):
討論多處理器計算機系統(tǒng)被設(shè)計得用來適應(yīng)經(jīng)由一個公共系統(tǒng)總線或開關(guān)連接到存儲器及若干外部輸入/輸出裝置的多個中央處理器(CPU)。提供多個中央處理器的目的是通過在這些處理器之間共享任務(wù)來提高運行性能。舉例來說,這樣一種結(jié)構(gòu)允許該計算機支持多個不同的應(yīng)用程序,而且同時支持在一個網(wǎng)絡(luò)上通信的I/O部件并在所連接的顯示器設(shè)備上顯示圖像。多處理器計算機系統(tǒng)通常被用于企業(yè)與網(wǎng)絡(luò)服務(wù)器系統(tǒng)。
為提高性能,連接到該總線的所有裝置必須有效地通信。該系統(tǒng)總線上的空循環(huán)就代表應(yīng)用程序未得到支持的時間段,所以就代表性能下降。
在多處理器計算機系統(tǒng)設(shè)計中會出現(xiàn)許多這樣的情況該總線盡管沒有空閑,但也沒有被連接到該總線的這些處理器而被有效地使用。這些情況中有些是由于連接到該總線的裝置之間互不相同的性質(zhì)所致。舉例來說,中央處理器通常包括高速緩存邏輯線路以便臨時存儲來自該存儲器的數(shù)據(jù)。需要實現(xiàn)一個連貫協(xié)議來保證每個中央處理器只從該高速緩存器中檢索最新版本的數(shù)據(jù)。換句話說,高速緩存器連貫性就是多個高速緩存器中數(shù)據(jù)的同步,從而使得經(jīng)由任何高速緩存器來讀取一個存儲器單元都將返回經(jīng)由任何其他高速緩存器寫到那個單元的最新數(shù)據(jù)。所以,中央處理器通常被稱為“可高速緩存的”裝置。
但是,輸入/輸出部件通常是不可高速緩存的裝置。就是說,們通常不實現(xiàn)與這些CPU所用協(xié)議相同的高速緩存器連貫協(xié)議。故而,必須采取措施來保證I/O部件只為它們的運行來檢索有效的數(shù)據(jù)。通常,I/O部件經(jīng)由直接存儲器訪問(DMA)來從存儲器或者可高速緩存的裝置檢索數(shù)據(jù)??梢蕴峁┮粋€輸入/輸出集線器部件來作為不同輸入/輸出橋接器部件之間的一個連接點,輸入/輸出部件被連接到該連接點,并最終被連接到這些中央處理器。
一個輸入/輸出集線器可以是一個高速緩存I/O集線器。就是說,該I/O集線器包括一個擁有讀寫元件的高速緩存源。盡管一個單獨的高速緩存源既可以被用于讀出元件也可以被用于寫入元件,但是這些讀寫元件被與它們相連的I/O部件與接口按不同方式加以處理,故而具有不同的要求。因為該單獨的高速緩存源既被讀出元件使用又被寫入元件使用,所以該高速緩存源對無論哪一個應(yīng)用程序也沒有達到優(yōu)化,故而,不是可用的、最有效的實施方案。
圖1A表示按照本發(fā)明一個實施例的輸入/輸出讀寫高速緩存系統(tǒng);圖1B表示按照本發(fā)明另一個實施例的輸入/輸出讀寫高速緩存系統(tǒng);圖2A表示按照本發(fā)明一個實施例的一個入站連貫讀出處理事務(wù);圖2B表示按照本發(fā)明一個實施例的一個入站連貫寫入處理事務(wù);圖2C表示按照本發(fā)明一個實施例的、來自連貫主機的監(jiān)聽運行方式;圖3表示按照本發(fā)明一個實施例的輸入/輸出系統(tǒng)體系結(jié)構(gòu);詳細說明圖1A表示按照本發(fā)明一個實施例的一個輸入/輸出讀寫高速緩存系統(tǒng)。按照本發(fā)明一個實施例的高速緩存輸入/輸出集線器100實現(xiàn)連貫性,并特別對如下的輸入/輸出應(yīng)用場合進行優(yōu)化(1)來自I/O部件或裝置的寫入沒有另一個代理的修改往往就不會被讀出;(2)I/O裝置往往從該主存儲器中的不同單元(緩沖器)讀出;以及(3)I/O裝置(無論對讀出與寫入)都可能將長的處理事務(wù)“分解”為不間斷的、較短的處理事務(wù)。舉例來說,高速緩存輸入/輸出集線器可以在一個芯片組上實現(xiàn),譬如Intel 870芯片組。舉例來說,I/O部件或裝置170、180可以是外圍部件互連(PCI)橋接器(“PCI局部總線規(guī)范”,修訂版本2.1,1995年6月1日,PCI專業(yè)組(PCI-SIG))。不過,任何其他合適的裝置也可以被用作I/O部件或裝置170、180。
高速緩存輸入/輸出集線器100包括一個寫入高速緩存器110、一個高速緩存目錄120以及一個或多個讀出高速緩存器130。提供了一個連貫主機接口140(譬如一個前側(cè)總線或Intel可擴展端口)以便連接連貫主機,譬如連接到與這些處理器單元相連的可擴展節(jié)點控制器。舉例來說,該可擴展端口是一個與高速緩存器連貫的接口,該接口已針對保持所有處理器與它們的高速緩存器之間的連貫性的可擴展多節(jié)點系統(tǒng)進行了優(yōu)化。根據(jù)本發(fā)明的一個實施例,連貫主機接口140可以與兩個連貫主機相連,譬如與兩個可擴展端口相連。至少提供了一個輸入/輸出接口150、160來連接I/O部件或裝置170、180??墒牵诒景l(fā)明的一個實施例中,I/O接口150、160可以不直接連接到I/O部件或裝置170、180。可以有一個中間裝置連接到(符合一個實施例的)I/O接口150、160,這個中間裝置是一種類似集線器的裝置或輸入/輸出橋接器,譬如一個Intel P64H2集線器接口至PCI的橋接器,或者一個VXB InfiniBand橋接器(“InfiniBand體系結(jié)構(gòu)規(guī)范”,修訂版本1.0,2001年6月19日,InfiniBand貿(mào)易協(xié)會),I/O部件或裝置170、180則連接到I/O接口150、160。舉例來說,每個P64H2橋接器都具有I/O裝置或部件170、180可以與之連接的兩個PCI-X片(“PCI-X規(guī)范”,修訂版本1.0a,2000年8月29,PCI-SIG)。PCI-X是PCI局部總線的一種高性能擴展,具有更高的帶寬與總線性能。
按照本發(fā)明一個實施例的高速緩存I/O集線器100不是使用一個單獨的高速緩存源,而是將這些高速緩存源分解為較小的、更容易實現(xiàn)的部分,包括一個寫入高速緩存器110、一個或多個讀出高速緩存器130以及一個跟蹤所有這些元件的高速緩存目錄120。從讀出高速緩存器130分離出寫入高速緩存器110的一個優(yōu)點在于,可以不管寫入高速緩存器110而獨立確定讀出高速緩存器130的大小。根據(jù)本發(fā)明的一個實施例,寫入高速緩存器110是由使連貫主機接口140達到滿吞吐量所需的多個未完成(outstanding)寫入來驅(qū)動的。滿吞吐量是頻率、帶寬以及連貫主機接口140效率的函數(shù)。另一方面,讀出高速緩存器深度是由為達到全部I/O帶寬所需的數(shù)據(jù)預(yù)取數(shù)量來驅(qū)動的。寫入高速緩存器110與讀出高速緩存器130的兩個深度不一定取決于相同的因素。所以,通過允許為每個源110、130實現(xiàn)一個以特定應(yīng)用情況為目標的有效實施方案來保持這兩個源110、130分離是很有價值的。
在讀出高速緩存器130中高速緩存的數(shù)據(jù)位置最好盡可能接近I/O接口150、160。這種方法使“高速緩存器命中”等待時間最短,而且性能會提高。一個高速緩存器命中(hit)是可以不使用該主存儲器而由該高速緩存器滿足的、從存儲器進行讀出的一次請求。這種結(jié)構(gòu)對由I/O部件或裝置170、180預(yù)取的數(shù)據(jù)特別有用。另一方面,由該連貫主機發(fā)布的(即監(jiān)測的)“監(jiān)聽”命令也必須很快得到滿足,特別是那些對I/O高速緩存的監(jiān)聽,其中大多數(shù)監(jiān)聽很可能會“未命中”這些I/O高速緩存源。所以,最好實現(xiàn)分離的高速緩存目錄120,該目錄位置要盡可能靠近該連貫主機以及連貫主機接口140。
因為向存儲器的寫入通常不會不首先被另一個代理修改就被讀出,所以最好對一個I/O橋接器實施寫入高速緩存,使它比寫入常常被立即讀出(瞬時位置)的一個處理器高速緩存更像一個寫入復(fù)合緩沖器。所以,使讀出高速緩存器130與寫入高速緩存器110分離就形成一個存儲最近讀出數(shù)據(jù)的、接近I/O部件或裝置170與180的連貫緩沖器,形成一個靠近該連貫主機以便對其產(chǎn)生快速響應(yīng)的高速緩存目錄,并形成一個對輸入/輸出應(yīng)用程序達到最優(yōu)的“緊湊的”寫入高速緩存器110。
特別是,寫入高速緩存器110管理由I/O部件或裝置170、180啟動的連貫存儲器寫入。寫入高速緩存器110在提交該存儲器寫入之前也負責監(jiān)聽(或者說監(jiān)測)連貫主機接口140。根據(jù)本發(fā)明的一個實施例,寫入高速緩存器110服從修改專用共享無效(MESI)高速緩存協(xié)議。不過,任何合適的高速緩存協(xié)議都可以被采用。在本發(fā)明的特定實施例中,寫入高速緩存器110保持高速緩存器界線(line)處于修改、專用和無效狀態(tài)。高速緩存器界線是可以在該主存儲器(通常是一個動態(tài)隨機存取存儲器DRAM)與該高速緩存器之間傳輸?shù)淖钚〈鎯ζ鲉卧?br>
在按照本發(fā)明一個實施例的輸入/輸出集線器100中提供了一個或多個讀出高速緩存器130。在本發(fā)明的一個實施例中,可以橫跨所有I/O接口150、160以及I/O部件170、180提供一個公共讀出高速緩存器130。在圖1B所示的本發(fā)明的另一個實施例中,可以提供一個第一讀出高速緩存器132并使之與第一I/O接口150關(guān)聯(lián),而且可以提供一個第二讀出高速緩存器134并使之與第二I/O接口160關(guān)聯(lián)。就是說,對每個I/O接口150、160,存在一個它們專用的讀出高速緩存器132、134。多個I/O接口、I/O部件以及讀出高速緩存器的任何適當?shù)呐渲枚伎梢员徊捎谩Wx出高速緩存器130向I/O部件170、180提供“最有可能使用的”數(shù)據(jù)的一個低等待時間拷貝。根據(jù)本發(fā)明的一個實施例,讀出緩存器130、132、134保持高速緩存器界線處于該共享及無效狀態(tài)。盡管在圖1與圖2中讀出高速緩存器130、132、134被畫在一個單獨部件上(即在高速緩存I/O集線器100上),但是讀出高速緩存器可以是分布式的,可以被分離在一個或多個不同部件上(即在不同的芯片組上)。
在按照本發(fā)明一個實施例的高速緩存I/O集線器100中提供了一個高速緩存目錄120。高速緩存目錄120提供對寫入高速緩存器110及讀出高速緩存器130中所有高速緩存器界線的跟蹤。高速緩存目錄120跟蹤該界線狀態(tài)以及一個指向存儲該跟蹤數(shù)據(jù)的結(jié)構(gòu)的指針。跟蹤該狀態(tài)能夠?qū)φ埱笞鞒龈斓捻憫?yīng)。跟蹤存儲該界線的結(jié)構(gòu)能夠激活這些結(jié)構(gòu)之間所需要的協(xié)議。
高速緩存I/O集線器100可以具有多個高速緩存源,每個源包括一個寫入高速緩存器110、一個高速緩存目錄120以及一個或多個讀出高速緩存器130。此外,高速緩存I/O集線器100可以包括一個使讀出高速緩存器130與寫入高速緩存器110互相連接的連貫引擎。該連貫引擎被用來同步這些高速緩存源內(nèi)的高速緩存器。
圖2A表示按照本發(fā)明一個實施例的一個入站連貫讀出處理事務(wù)。一個入站連貫讀出是從I/O接口150、160(最終從I/O部件170、180)發(fā)出并到達高速緩存I/O集線器100。于是,要發(fā)布一個讀出處理事務(wù)(202)。用于該讀出處理事務(wù)的地址在讀出高速緩存器130、132、134中加以校核(204)。如果該校核結(jié)果為“標記命中”,那么該請求讀出數(shù)據(jù)就由該讀出高速緩存器返回(206),并發(fā)送一個用于該未決讀出請求的結(jié)束包。如果讀出高速緩存器130、132、134的校核結(jié)果為“未命中”,那么就在該讀出高速緩存器中分配一個高速緩存器界線(208),該讀出處理事務(wù)則被轉(zhuǎn)送到連貫主機140以便在該連貫存儲器空間中、特別是在該主存儲器中檢索所請求的讀出數(shù)據(jù)(208)。
圖2B表示按照本發(fā)明一個實施例的一個入站連貫寫入處理事務(wù)。一個入站連貫寫入處理事務(wù)從I/O接口150、160(最終從I/O部件170、180)發(fā)出并到達高速緩存I/O集線器100。于是,要發(fā)布一個寫入數(shù)據(jù)的寫入處理事務(wù)(220)。用于該寫入處理事務(wù)的地址在讀出高速緩存器130、132、134中加以校核(222)。如果該校核結(jié)果為“標記命中”,那么就使讀出高速緩存器130、132、134中的高速緩存器界線無效。該數(shù)據(jù)被傳送到一個寫入高速緩存器110(226)。一項對所有權(quán)的請求則被發(fā)布到該連貫主機(228)。讀出高速緩存器130、132、134的高速緩存器界線接受監(jiān)聽以便發(fā)現(xiàn)是否有該數(shù)據(jù)的拷貝(230),包含該數(shù)據(jù)的高速緩存器界線則被變?yōu)闊o效(228)。一旦對所有權(quán)的請求結(jié)束,而且該讀出高速緩存器界線被變?yōu)闊o效(228),該寫入高速緩存器界線就從“專用”狀態(tài)轉(zhuǎn)變?yōu)椤靶薷摹睜顟B(tài)(230)。這樣,該寫入處理事務(wù)結(jié)束,而且該更新后的數(shù)據(jù)可以供該系統(tǒng)的其他部分使用。
圖2C表示按照本發(fā)明一個實施例的、由連貫主機所實現(xiàn)的監(jiān)聽運行方式。由于I/O集線器100是一個參與該中央監(jiān)聽體系結(jié)構(gòu)的高速緩存代理,所以連貫主機部件頻繁地向I/O集線器100發(fā)送監(jiān)聽循環(huán)。根據(jù)本發(fā)明的一個實施例,存在來自該連貫主機的兩種主要監(jiān)聽類型(1)一種不具有無效的監(jiān)聽(它的一個子集是一個“監(jiān)聽流”);以及(2)一種具有無效的監(jiān)聽(監(jiān)聽無效)。對這兩種監(jiān)聽類型,們都從I/O集線器100所檢索的連貫主機發(fā)布(250)。高速緩存目錄120被用來校核特定的被請求高速緩存器界線(250)。
對于不具有無效的監(jiān)聽(以及該監(jiān)聽流),如果高速緩存目錄120認定該高速緩存器界線在讀出高速緩存器130中處于該共享狀態(tài),那么就返回一個“共享”響應(yīng)(254、270),即通知該連貫主機它正處于該共享狀態(tài)。如果該高速緩存器界線被認定在寫入高速緩存器110中處于專用狀態(tài),那么就返回一個“無效”響應(yīng)(262),而且該界線在寫入高速緩存器110中被變?yōu)闊o效(并重新發(fā)布一個界線請求)。不過,如果使用一個監(jiān)聽流,而且該高速緩存器界線被認定在寫入高速緩存器110中處于專用狀態(tài),那么就返回一個“共享”響應(yīng)(272),而且該界線在寫入高速緩存器110中仍保持在該專用狀態(tài)。如果該高速緩存器界線被認定在寫入高速緩存器110中處于修改狀態(tài),那么所修改的數(shù)據(jù)就被返回(226),而且該寫入高速緩存器界線被變?yōu)闊o效。不過,如果使用一個監(jiān)聽流,而且該高速緩存器界線被認定在寫入高速緩存器110中處于修改狀態(tài),那么所修改的數(shù)據(jù)就被返回(274),但該寫入高速緩存器界線仍保持在該修改狀態(tài)。
對于具有無效的監(jiān)聽,如果高速緩存目錄120認定該高速緩存器界線存在于讀出高速緩存器130中,那么一個“使其無效”的命令就被發(fā)布到讀出高速緩存器130來使該高速緩存器界線無效,而且一個“無效”響應(yīng)則被返回(256)。就是說,高速緩存目錄120使該高速緩存器界線無效,并將一個使其無效的命令發(fā)送到適當?shù)淖x出高速緩存器130。如果多個讀出高速緩存器出現(xiàn)一次命中,高速緩存目錄120就將一個使其無效的命令發(fā)送到所有適當?shù)淖x出高速緩存器130。如果該高速緩存器界線被認定在寫入高速緩存器110中處于專用狀態(tài),那么該高速緩存器界線就被變?yōu)闊o效(264),而且一個“無效”響應(yīng)則被返回。然后,I/O集線器100重新發(fā)布一個部分寫入或一個全部界線寫入的命令以便預(yù)取該“被盜”界線。如果該高速緩存器界線被認定在寫入高速緩存器110中處于修改狀態(tài),那么該高速緩存器界線就被變?yōu)闊o效(268),而且一個“無效”響應(yīng)則被返回。I/O集線器100可以將“臟數(shù)據(jù)”返回到具有隱含回寫的監(jiān)聽代理。對這兩類監(jiān)聽,如果該高速緩存器界線不在寫入高速緩存器110或讀出高速緩存器130中(即該界線處于無效狀態(tài)),那么一個“無效”響應(yīng)則被返回(258)——這標志I/O集線器100不具有所請求的高速緩存器界線。
圖3表示按照本發(fā)明一個實施例的一個輸入/輸出系統(tǒng)體系結(jié)構(gòu)。如前所述,高速緩存I/O集線器100可以包括被連接到中間裝置的輸入/輸出接口150、160,譬如一個類似集線器的裝置或輸入/輸出橋接器(如一個PCI-X橋接器360或者一個InfiniBand橋接器370)。I/O部件或裝置170、180則連接到中間裝置360、370。高速緩存I/O集線器100還可以包括連接到繼承輸入/輸出橋接器350的一個I/O接口來處理與繼承I/O部件或裝置的連接。
高速緩存I/O集線器100適合于連接一臺連貫主機,譬如一個可擴展端口340,這是一個與高速緩存器連貫的接口,針對保持所有處理器與它們的高速緩存器之間的連貫性的可擴展多節(jié)點系統(tǒng),已經(jīng)進行了優(yōu)化??蓴U展端口340反過來又可以連接到至少一個可擴展節(jié)點控制器320,控制處理器310、主存儲器330(譬如DRAM)以及可擴展端口340之間的接口。
故而,舉例來說,本發(fā)明的I/O系統(tǒng)體系結(jié)構(gòu)300中所使用的高速緩存I/O集線器100為一個多處理器計算機系統(tǒng)提供了在一個芯片組中的優(yōu)化I/O應(yīng)用。高速緩存I/O集線器100使等待時間最短,并提供對請求的快速響應(yīng)。所以,實施方案的可擴展性及性能都采用本發(fā)明的高速緩存I/O集線器100而得以優(yōu)化。
盡管上面的說明參考了本發(fā)明的特定實施例,但應(yīng)當理解,可以進行許多修改而不偏離本發(fā)明的精神。所附的權(quán)利要求旨在覆蓋這些將會屬于本發(fā)明的準確范圍及精神之內(nèi)的修改。所以,目前公布的實施例在各個方面來講應(yīng)被認為屬于演示性質(zhì)而非限制,由所附的權(quán)利要求、而非由前面的說明來表示的本發(fā)明的范圍以及在與這些權(quán)利要求等效的含義與范圍內(nèi)的所有改變都預(yù)期被包括在這些權(quán)利要求之中。
權(quán)利要求
1.一個高速緩存輸入/輸出集線器,包括與一臺主機相連的主機接口;至少一個與輸入/輸出裝置相連的輸入/輸出接口;寫入高速緩存器,管理由該輸入/輸出裝置啟動的存儲器寫入;至少一個與該寫入高速緩存器分離的讀出高速緩存器,提供最有可能被使用的數(shù)據(jù)的一個低等待時間拷貝,其中該至少一個讀出高速緩存器與該寫入高速緩存器通信;以及高速緩存目錄,跟蹤該寫入高速緩存器及該至少一個讀出高速緩存器中的高速緩存器界線,其中該高速緩存目錄與該寫入高速緩存器及該至少一個讀出高速緩存器通信。
2.如權(quán)利要求1的輸入/輸出集線器,其中該至少一個讀出高速緩存器的位置比該寫入高速緩存器及該高速緩存目錄更接近該輸入/輸出接口。
3.如權(quán)利要求1的輸入/輸出集線器,其中該高速緩存目錄的位置比該至少一個讀出高速緩存器更接近該主機接口。
4.如權(quán)利要求1的輸入/輸出集線器,其中該寫入高速緩存器在提交該存儲器寫入之前還監(jiān)聽該主機接口。
5.如權(quán)利要求1的輸入/輸出集線器,其中該輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
6.如權(quán)利要求1的輸入/輸出集線器,其中該寫入高速緩存器利用一個修改專用共享無效(MESI)高速緩存協(xié)議。
7.一個高速緩存輸入/輸出系統(tǒng),包括與一臺主機相連的主機接口;至少一個輸入/輸出接口;至少一個與該輸入/輸出接口相連的輸入/輸出裝置;寫入高速緩存器,管理由該輸入/輸出裝置啟動的存儲器寫入;至少一個與該寫入高速緩存器分離的讀出高速緩存器,提供最有可能被使用的數(shù)據(jù)的一個低等待時間拷貝,其中該至少一個讀出高速緩存器與該寫入高速緩存器通信;以及高速緩存目錄,跟蹤該寫入高速緩存器及該至少一個讀出高速緩存器中的高速緩存器界線,其中該高速緩存目錄與該寫入高速緩存器及該至少一個讀出高速緩存器通信。
8.如權(quán)利要求7的輸入/輸出系統(tǒng),其中該至少一個讀出高速緩存器的位置比該寫入高速緩存器及該高速緩存目錄更接近該輸入/輸出接口。
9.如權(quán)利要求7的輸入/輸出系統(tǒng),其中該高速緩存目錄的位置比該至少一個讀出高速緩存器更接近該主機接口。
10.如權(quán)利要求7的輸入/輸出系統(tǒng),其中該寫入高速緩存器在提交該存儲器寫入之前還監(jiān)聽該主機接口。
11.如權(quán)利要求7的輸入/輸出系統(tǒng),其中該至少一個輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
12.如權(quán)利要求7的輸入/輸出系統(tǒng),其中該寫入高速緩存器利用一個修改專用共享無效(MESI)高速緩存協(xié)議。
13.一個高速緩存輸入/輸出系統(tǒng),包括連貫主機接口;與該連貫主機接口相連的連貫主機;第一輸入/輸出接口;第二輸入/輸出接口;與該第一輸入/輸出接口相連的第一輸入/輸出裝置;與該第二輸入/輸出接口相連的第二輸入/輸出裝置;寫入高速緩存器,管理由該第一輸入/輸出裝置及該第二輸入/輸出裝置兩者之中至少一個裝置啟動的連貫存儲器寫入;至少一個與該寫入高速緩存器分離的讀出高速緩存器,提供最有可能被使用的數(shù)據(jù)的一個低等待時間拷貝,其中該至少一個讀出高速緩存器與該寫入高速緩存器通信;以及高速緩存目錄,跟蹤該寫入高速緩存器及該至少一個讀出高速緩存器中的高速緩存器界線,其中該高速緩存目錄與該寫入高速緩存器及該至少一個讀出高速緩存器通信。
14.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該至少一個讀出高速緩存器的位置比該寫入高速緩存器及該高速緩存目錄更接近該第一輸入/輸出接口及該第二輸入/輸出接口。
15.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該高速緩存目錄的位置比該至少一個讀出高速緩存器更接近該主機接口。
16.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該寫入高速緩存器在提交該連貫存儲器寫入之前還監(jiān)聽該連貫主機接口。
17.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該第一輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
18.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該第二輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
19.如權(quán)利要求13的輸入/輸出系統(tǒng),其中該寫入高速緩存器利用一個修改專用共享無效(MESI)高速緩存協(xié)議。
20.一個高速緩存輸入/輸出系統(tǒng),包括連貫主機接口;與該連貫主機接口相連的連貫主機;第一輸入/輸出接口;第二輸入/輸出接口;與該第一輸入/輸出接口相連的第一輸入/輸出裝置;與該第二輸入/輸出接口相連的第二輸入/輸出裝置;寫入高速緩存器,管理由該第一輸入/輸出裝置與該第二輸入/輸出裝置兩者之中至少一個裝置啟動的連貫存儲器寫入;第一讀出高速緩存器,與該寫入高速緩存器分離并與該第一輸入/輸出接口關(guān)聯(lián);第二讀出高速緩存器,與該寫入高速緩存器分離并與該第二輸入/輸出接口關(guān)聯(lián),其中該第一讀出高速緩存器及該第二讀出緩存器提供最有可能被使用的數(shù)據(jù)的一個低等待時間拷貝,而且其中該第一讀出高速緩存器及該第二讀出高速緩存器與該寫入高速緩存器通信;以及高速緩存目錄,跟蹤該寫入高速緩存器、該第一讀出高速緩存器以及該第二讀出高速緩存器中的高速緩存器界線,其中該高速緩存目錄與該寫入高速緩存器、該第一讀出高速緩存器以及該第二讀出高速緩存器通信。
21.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該第一讀出高速緩存器及該第二讀出高速緩存器的位置比該寫入高速緩存器及該高速緩存目錄更接近該第一輸入/輸出接口及該第二輸入/輸出接口。
22.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該高速緩存目錄的位置比該第一讀出高速緩存器及該第二讀出高速緩存器更接近該主機接口。
23.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該寫入高速緩存器在提交該連貫存儲器寫入之前還監(jiān)聽該連貫主機接口。
24.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該第一輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
25.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該第二輸入/輸出裝置是一個外圍部件互連(PCI)裝置。
26.如權(quán)利要求20的輸入/輸出系統(tǒng),其中該寫入高速緩存器利用一個修改專用共享無效(MESI)高速緩存協(xié)議。
27.一個計算機系統(tǒng),包括多個處理器單元;主存儲器;連貫接口,保持這些處理器單元與它們的高速緩存器之間的連貫性;可擴展節(jié)點控制器,使這些處理器單元、該主存儲器以及該連貫接口互相連接以便控制它們之間的接口;以及與該連貫接口通信的高速緩存輸入/輸出集線器,包括與該連貫接口相連的主機接口;至少一個與輸入/輸出裝置相連的輸入/輸出接口;寫入高速緩存器,管理由該輸入/輸出裝置啟動的存儲器寫入;至少一個與該寫入高速緩存器分離的讀出高速緩存器,提供最有可能被使用的數(shù)據(jù)的一個低等待時間拷貝,其中該至少一個讀出高速緩存器與該寫入高速緩存器通信;以及高速緩存目錄,跟蹤該寫入高速緩存器及該至少一個讀出高速緩存器中的高速緩存器界線,其中該高速緩存目錄與該寫入高速緩存器及該至少一個讀出高速緩存器通信。
28.如權(quán)利要求27的計算機系統(tǒng),其中該至少一個讀出高速緩存器的位置比該寫入高速緩存器及該高速緩存目錄更接近該輸入/輸出接口。
29.如權(quán)利要求27的計算機系統(tǒng),其中該高速緩存目錄的位置比該至少一個讀出高速緩存器更接近該主機接口。
30.如權(quán)利要求27的計算機系統(tǒng),其中該寫入高速緩存器在提交這些存儲器寫入之前還監(jiān)聽該主機接口。
全文摘要
一個高速緩存輸入/輸出集線器,包括連接到主機的主機接口。至少提供一個輸入/輸出接口以便連接到輸入輸出裝置。一個寫入高速緩存器管理由該輸入/輸出裝置啟動的存儲器寫入。至少有一個與該寫入高速緩存器分離的讀出高速緩存器提供最可能被使用的數(shù)據(jù)的一個低等待時間拷貝。該至少一個讀出高速緩存器與該寫入高速緩存器通信。也提供一個高速緩存目錄來跟蹤該寫入高速緩存器及該至少一個讀出高速緩存器的高速緩存器界線。該高速緩存目錄與該寫入高速緩存器及該至少一個讀出高速緩存器通信。
文檔編號G06F13/40GK1575455SQ02820893
公開日2005年2月2日 申請日期2002年8月6日 優(yōu)先權(quán)日2001年8月27日
發(fā)明者肯尼思·克雷塔, 丹尼斯·貝爾, 羅伯特·布蘭肯希普, 布拉德福德·康登, 羅伯特·喬治, 杜安·亞努爾瑞 申請人:英特爾公司(特拉華公司)