專利名稱:總線系統(tǒng)和產(chǎn)生高速緩存利用率數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及多個總線環(huán)上的數(shù)據(jù)傳送,并且尤其涉及訪問遠(yuǎn)程高速緩存中的數(shù)據(jù)。
背景技術(shù):
計算機(jī)總線通常用于在計算機(jī)系統(tǒng)中的兩個或更多個單元之間傳送數(shù)據(jù),例如在微處理器和隨機(jī)存取存儲器之間,或者從軟盤驅(qū)動器到高速緩存。隨著連接到總線的單元的處理速度的不斷增長,有效的總線架構(gòu)設(shè)計正日益受到關(guān)注。
總線架構(gòu)的一種形式包括環(huán)形拓?fù)?。通常,在環(huán)形拓?fù)渲?,可包括針對處理單?PE)的指令和PE使用的數(shù)據(jù)的信息以環(huán)行、管道方式被從PE傳送到PE。而且,多個環(huán)形拓?fù)淇梢员贿B接在一起,并共享信息。換句話說,可以從本地總線環(huán)傳送數(shù)據(jù)到遠(yuǎn)程總線環(huán)。
總線環(huán)通常還具有多個高速緩存,其存儲和發(fā)送要通過總線環(huán)形拓?fù)滢D(zhuǎn)發(fā)的信息??偩€環(huán)的每個高速緩存可以有相關(guān)的處理器單元(PU)和相關(guān)的高速緩存調(diào)查器。通常,高速緩存調(diào)查器響應(yīng)其從本地總線環(huán)接收到的數(shù)據(jù)傳送請求,盡管請求可以源于遠(yuǎn)程總線環(huán)。通常,高速緩存調(diào)查器確定其相關(guān)高速緩存有無所請求的數(shù)據(jù),以及此數(shù)據(jù)的狀態(tài)。狀態(tài)通??梢员欢x為數(shù)據(jù)是否為“獨占的”(僅此高速緩存具有來自系統(tǒng)存儲器的數(shù)據(jù)副本),是否為“共享的”(此高速緩存和可能的一個或多個其他高速緩存具有來自系統(tǒng)存儲器的數(shù)據(jù)副本),或者是否為“修改的”(自其從系統(tǒng)存儲器加載后數(shù)據(jù)已被修改)。然后,作為應(yīng)答的一部分,廣播狀態(tài)到本地總線環(huán),并從本地總線環(huán)廣播到任何相連的遠(yuǎn)程總線環(huán)。
數(shù)據(jù)傳送邏輯評估此狀態(tài)信息,以確定針對數(shù)據(jù)傳送請求所采取的適當(dāng)動作。如果高速緩存中的數(shù)據(jù)已被修改,不管包含已修改數(shù)據(jù)的高速緩存是在本地總線環(huán)還是在遠(yuǎn)程總線環(huán)上,此修改的數(shù)據(jù)被傳送到請求方PE。
在常規(guī)系統(tǒng)中,如果在高速緩存中的數(shù)據(jù)沒有被修改,則在源高速緩存和目的高速緩存都在相同總線環(huán)(“節(jié)點”)上的情況下,數(shù)據(jù)傳送邏輯通常命令總線環(huán)執(zhí)行未修改數(shù)據(jù)的高速緩存到高速緩存的傳送,因為這通常被認(rèn)為比從共享存儲器到本地節(jié)點的傳送更快。如果未被修改的高速緩存數(shù)據(jù)在遠(yuǎn)程節(jié)點上,傳送邏輯通常命令總線環(huán)從共享存儲器而不是遠(yuǎn)程高速緩存下載信息,因為這通常被認(rèn)為比從遠(yuǎn)程節(jié)點到本地節(jié)點的數(shù)據(jù)傳送更快。
然而,存在與此設(shè)計方案相關(guān)的問題。針對本地高速緩存的數(shù)據(jù)傳送所需要的時間和資源對于有效利用總線環(huán)而言會是巨大的阻礙。因此,需要一種總線數(shù)據(jù)傳送系統(tǒng),其至少解決傳統(tǒng)總線數(shù)據(jù)傳送系統(tǒng)的某些問題。
發(fā)明內(nèi)容
本發(fā)明提供了具有本地總線節(jié)點和連接到本地總線節(jié)點的遠(yuǎn)程總線節(jié)點的總線系統(tǒng)。處理單元被連接到本地總線節(jié)點,并且可用于請求數(shù)據(jù)。高速緩存被連接到處理單元。連接到高速緩存的高速緩存調(diào)查器可用于確定高速緩存是否包含所請求的數(shù)據(jù)。高速緩存調(diào)查器還可用于產(chǎn)生和廣播高速緩存利用率參數(shù)。在一個方面,高速緩存是本地高速緩存。在另一方面,高速緩存是遠(yuǎn)程高速緩存。
為了更完整地理解本發(fā)明及其優(yōu)點,現(xiàn)在參考以下結(jié)合附圖的詳細(xì)說明,其中圖1示意圖解了相連的本地和遠(yuǎn)程總線環(huán),雙方均包括至少一個高速緩存和相關(guān)的高速緩存調(diào)查器;圖2圖解了用于產(chǎn)生和廣播高速緩存狀態(tài),和高速緩存與系統(tǒng)存儲器利用率信息的方法;而圖3圖解了使用高速緩存狀態(tài)和高速緩存與系統(tǒng)存儲器利用率信息的方法。
具體實施例方式
在以下討論中,闡明了各種具體詳細(xì)以供對本發(fā)明的全面理解。然而,本領(lǐng)域的技術(shù)人員會理解,可以在不具備這些具體細(xì)節(jié)的情況下實施本發(fā)明。在其它的實例中,以示意圖或模塊圖的形式示出了熟知的部分,以便不使不必要的細(xì)節(jié)模糊本發(fā)明。另外,對于大部分而言,涉及網(wǎng)絡(luò)通信,電磁信號技術(shù)等等的細(xì)節(jié)被省略,因為這些細(xì)節(jié)不被認(rèn)為是全面理解本發(fā)明所必需的,并被認(rèn)為在相關(guān)領(lǐng)域普通技術(shù)人員的所知范圍內(nèi)。
還注意到,除非另外指明,可通過硬件或者軟件,或者微處理器執(zhí)行的固件,或者它們的組合來執(zhí)行這里描述的全部功能。在一個實施例中,使用專用集成邏輯電路,其被編碼以執(zhí)行這樣的功能。在其他的實施例中,通過處理器,例如計算機(jī)或電子數(shù)據(jù)處理器,按照例如計算機(jī)程序代碼,軟件,和/或被編碼以執(zhí)行這種功能的集成電路的代碼來執(zhí)行各種功能,除非另外指明。
現(xiàn)在參照圖1,其中公開了總線系統(tǒng)100。系統(tǒng)100包括連接到遠(yuǎn)程節(jié)點120的本地節(jié)點110。本地節(jié)點110和遠(yuǎn)程節(jié)點120各自還包括標(biāo)明為數(shù)據(jù)總線130和命令總線140的兩個部件總線環(huán)。命令總線140還包括兩個子總線。它們是查詢總線和應(yīng)答總線(沒有示出)。通常,可使用查詢總線來傳遞數(shù)據(jù)傳送請求,并可使用應(yīng)答總線來傳遞和數(shù)據(jù)傳送請求相關(guān)的狀態(tài)和利用率參數(shù)到系統(tǒng)100的單元。在數(shù)據(jù)總線130和命令總線140的本地節(jié)點110和遠(yuǎn)程節(jié)點120之間還有雙向連接141,142。
本地節(jié)點110和遠(yuǎn)程節(jié)點120還各自包括多個MPU 160及其相關(guān)的高速緩存170。高速緩存170連接到本地節(jié)點110和遠(yuǎn)程節(jié)點120的數(shù)據(jù)總線130和命令總線140。通常,每個MPU 160連接到其相關(guān)高速緩存170。高速緩存調(diào)查器180還與各個高速緩存170相關(guān),并且連接到各個節(jié)點110,120的高速緩存170和命令總線140。
通常,高速緩存調(diào)查器180確定相關(guān)高速緩存170內(nèi)的所請求信息的狀態(tài)。當(dāng)高速緩存調(diào)查器180接收到針對特定信息片段的請求時,高速緩存調(diào)查器180通常確定相關(guān)高速緩存170是否具有此段信息。如本領(lǐng)域的技術(shù)人員所明白的,高速緩存170中數(shù)據(jù)副本的相關(guān)狀態(tài)可以被標(biāo)明為“獨占的”(也就是說,在系統(tǒng)100的其它高速緩存170中不存在其它副本),“修改的”(也就是說,數(shù)據(jù)在相關(guān)高速緩存170中被修改,但還沒有被復(fù)制進(jìn)第二個高速緩存170)或“共享的”(也就是說,此數(shù)據(jù)的副本會存在于另一個高速緩存170中)。還可使用高速緩存調(diào)查器180測量相關(guān)高速緩存170的利用率的各個方面,并且發(fā)送這些測量結(jié)果到本地和遠(yuǎn)程節(jié)點110,120的應(yīng)答總線上。
在系統(tǒng)100中,多個高速緩存170可以具有未修改數(shù)據(jù)的副本,此副本也位于共享存儲器150中。然而,當(dāng)要修改存儲在高速緩存170中的信息副本時,在任何給定點時間,高速緩存170中只容許存在一個副本。因此在高速緩存170中的數(shù)據(jù)副本被修改之前,任何其它數(shù)據(jù)副本均是無效的(也就是說,不會被任何MPU 160使用)。
通常,當(dāng)MPU 160請求數(shù)據(jù)時,作為請求的一個功能,MPU160檢查其相關(guān)高速緩存170以確定相關(guān)高速緩存170是否具有處于合適狀態(tài),即期望狀態(tài)的期望數(shù)據(jù)的副本。例如,如果請求是讀請求,那么合適的狀態(tài)可以是共享,獨占或修改。處理器160使用相關(guān)高速緩存170中的數(shù)據(jù),而不用在相連的命令總線140上發(fā)出數(shù)據(jù)請求。然而,如果在相關(guān)高速緩存170中沒有發(fā)現(xiàn)具有合適狀態(tài)的數(shù)據(jù),高速緩存調(diào)查器180在命令總線140上發(fā)送針對此信息的請求。請求還包括涉及請求方MPU 160要執(zhí)行的功能的信息。也就是說,請求方MPU160是否要讀數(shù)據(jù),修改數(shù)據(jù),或者兩者都做。
本地命令總線140的請求總線傳遞數(shù)據(jù)請求和其它的相關(guān)信息,例如請求者標(biāo)識,被請求的存儲器地址,請求的類型(讀或?qū)?,等等。然后此請求經(jīng)由雙向連接141和142被廣播到本地節(jié)點110和遠(yuǎn)程節(jié)點120上的每個高速緩存調(diào)查器180,也同樣被廣播到系統(tǒng)存儲器150。在圖解的實施例中,系統(tǒng)存儲器150連接在本地節(jié)點110和遠(yuǎn)程節(jié)點120之間。系統(tǒng)存儲器150被連接到本地節(jié)點110和遠(yuǎn)程節(jié)點120的命令總線140和數(shù)據(jù)總線130。在另一實施例中,系統(tǒng)存儲器150被分割到多個節(jié)點(本地節(jié)點和遠(yuǎn)程節(jié)點)上。系統(tǒng)存儲器具有相關(guān)的系統(tǒng)存儲器調(diào)查器155,其與高速緩存調(diào)查器180相似。系統(tǒng)存儲器調(diào)查器155也連接到本地節(jié)點110和遠(yuǎn)程節(jié)點120的命令總線140。
接收數(shù)據(jù)傳送請求后,每個速緩存調(diào)查器180會發(fā)現(xiàn)在其相關(guān)高速緩存170中沒有所請求數(shù)據(jù)的副本。可選地,每個高速緩存調(diào)查器180會發(fā)現(xiàn)在其相關(guān)高速緩存170中存在數(shù)據(jù)的副本,并且所請求數(shù)據(jù)是共享數(shù)據(jù),獨占數(shù)據(jù)或修改數(shù)據(jù)??墒褂酶咚倬彺嬲{(diào)查器180根據(jù)相關(guān)高速緩存170內(nèi)數(shù)據(jù)的狀態(tài)的函數(shù)來選擇幾個數(shù)據(jù)傳送選項中的一個。
此外,可使用高速緩存調(diào)查器180為其相關(guān)高速緩存170產(chǎn)生高速緩存利用率參數(shù)。這些高速緩存利用率參數(shù)可以包括這樣的測量,例如它的相關(guān)MPU 160訪問相關(guān)高速緩存170的頻率,從其它高速緩存170到相關(guān)高速緩存170的數(shù)據(jù)傳送請求的頻率,從相關(guān)高速緩存170到其它高速緩存170的傳送頻率,相關(guān)高速緩存170的系統(tǒng)存儲器150請求的頻率,接收到請求時處理等待的請求的數(shù)量,等等。
在一個實施例中,如果高速緩存調(diào)查器180太忙,以至于對接收到的數(shù)據(jù)請求不能采取任何動作,其在命令總線140的應(yīng)答環(huán)上發(fā)出“重試”應(yīng)答?!爸卦嚒蓖ǔ1硎菊埱蠓組PU 160將在稍后重發(fā)數(shù)據(jù)傳送請求。然而,如果高速緩存調(diào)查器180不太忙,它用有關(guān)相關(guān)高速緩存170內(nèi)所請求信息的狀態(tài)的信息和高速緩存利用率參數(shù)響應(yīng)該請求。
如果高速緩存170沒有所請求的數(shù)據(jù),相關(guān)高速緩存調(diào)查器180發(fā)送有關(guān)此情況的通知到命令總線上。然而,如果相關(guān)高速緩存170中有所請求的數(shù)據(jù),有關(guān)此情況的信息連同數(shù)據(jù)的狀態(tài)也被發(fā)送到命令總線140上。例如,如果請求方MPU 160要讀或修改數(shù)據(jù),并且相關(guān)高速緩存170中的數(shù)據(jù)的副本處于修改狀態(tài),高速緩存調(diào)查器180在應(yīng)答總線上發(fā)送應(yīng)答以指示修改的高速緩存狀態(tài)。在此例中,沒有其它高速緩存170具有數(shù)據(jù)的副本。因此,每一個其它的高速緩存調(diào)查器180將應(yīng)答其相關(guān)高速緩存170沒有所請求的數(shù)據(jù)。
高速緩存調(diào)查器180還收集和廣播高速緩存利用率參數(shù)到命令總線140上。包括請求方MPU 160的相同節(jié)點的組合邏輯145使用高速緩存利用率參數(shù)。組合邏輯145使用來自與多個MPU 160相關(guān)的全部高速緩存調(diào)查器180的應(yīng)答。然后根據(jù)某些標(biāo)準(zhǔn),例如從遠(yuǎn)程節(jié)點的高速緩存170到本地節(jié)點的高速緩存170的數(shù)據(jù)傳送的相對時間與從系統(tǒng)存儲器150得到相同信息所花費時間的對比,來評估這些高速緩存調(diào)查器的應(yīng)答。應(yīng)答組合邏輯145可用于作出此決定并發(fā)送此決定到應(yīng)答控制邏輯149。
通常,應(yīng)答控制邏輯149控制處理器中間,以及處理器和共享存儲器之間的地址和數(shù)據(jù)流。然后應(yīng)答控制邏輯149廣播點對點(PTP)傳送請求到節(jié)點110,120中的全部高速緩存170。PTP請求傳遞信息,例如有關(guān)哪一個緩沖存儲器調(diào)查器180負(fù)責(zé)發(fā)送數(shù)據(jù)到請求方MPU 160的信息。PTP請求也可以傳遞有關(guān)復(fù)制的數(shù)據(jù)的最終狀態(tài)的信息到源高速緩存170。換句話說,如果請求方MPU 160將要讀數(shù)據(jù),從高速緩存170復(fù)制的數(shù)據(jù)將被標(biāo)明為共享的,或者如果請求方MPU 160將要寫數(shù)據(jù),從高速緩存170復(fù)制的數(shù)據(jù)將被標(biāo)明為修改的。
在一個示例中,請求方MPU 160要讀數(shù)據(jù),但數(shù)據(jù)不在其相關(guān)高速緩存170中。因此高速緩存調(diào)查器180在命令總線140的請求總線上發(fā)送針對此信息的請求,其被廣播到本地節(jié)點110和遠(yuǎn)程節(jié)點120上的全部高速緩存調(diào)查器180。高速緩存調(diào)查器180均確定其相關(guān)高速緩存170的高速緩存利用率參數(shù),以及數(shù)據(jù)狀態(tài)。
然后,在命令總線140的應(yīng)答總線上發(fā)送此信息,并且找出其回到與請求相關(guān)的節(jié)點110,120的組合邏輯145的路徑。如果來自高速緩存的狀態(tài)指示為未修改狀態(tài),那么組合邏輯145對高速緩存利用率參數(shù)進(jìn)行排序和評估,并作出是發(fā)送來自高速緩存170的數(shù)據(jù)的未修改副本還是獲取來自共享存儲器150的數(shù)據(jù)的選擇。如果組合邏輯145確定,對于高速緩存170和系統(tǒng)存儲器150的利用率參數(shù),從系統(tǒng)存儲器150傳送數(shù)據(jù)比較快,那么組合邏輯145通知應(yīng)答控制邏輯149。然后控制邏輯149發(fā)送適當(dāng)?shù)膽?yīng)答,該應(yīng)答指示共享存儲器150發(fā)送數(shù)據(jù)到請求方。如果組合邏輯145確定從高速緩存170獲得所請求數(shù)據(jù)比較快,它通知應(yīng)答控制邏輯149從高速緩存170獲得所請求數(shù)據(jù)。根據(jù)應(yīng)答控制邏輯149接收到的結(jié)果,高速緩存170可以是本地高速緩存或遠(yuǎn)程高速緩存。
在另一實施例中,當(dāng)系統(tǒng)存儲器150首先在命令總線140上接收到數(shù)據(jù)請求時,系統(tǒng)存儲器調(diào)查器155以與系統(tǒng)存儲器150的利用率參數(shù)相關(guān)的標(biāo)記作為應(yīng)答。然后,系統(tǒng)存儲器調(diào)查器155等待來自應(yīng)答控制邏輯149的廣播指令以確定是否從系統(tǒng)存儲器150獲取所請求信息。系統(tǒng)存儲器調(diào)查器155可以進(jìn)行這樣的測量,例如任何相連的MPU 160訪問系統(tǒng)存儲器150的頻率,等待處理的請求的數(shù)量,等等。
現(xiàn)在參照圖2,其中圖解了用于產(chǎn)生和廣播高速緩存狀態(tài),和高速緩存與系統(tǒng)存儲器利用率參數(shù)信息的方法200。在步驟210中,MPU 160請求數(shù)據(jù)以便處理。在步驟215中,相關(guān)高速緩存調(diào)查器180確定所請求數(shù)據(jù)是否在相關(guān)高速緩存170中。如果數(shù)據(jù)在相關(guān)高速緩存170中,在步驟220中,高速緩存調(diào)查器確定相關(guān)高速緩存170中的數(shù)據(jù)是否是“獨占的”數(shù)據(jù)。如果高速緩存170中的數(shù)據(jù)是“獨占的”數(shù)據(jù),那么在步驟227中,數(shù)據(jù)從其相關(guān)高速緩存被發(fā)送到MPU160,并且方法200終止于步驟250。
然而,如果所請求數(shù)據(jù)不在MPU 160的相關(guān)高速緩存170中,那么在步驟223中,相關(guān)高速緩存調(diào)查器180在命令總線140上廣播針對數(shù)據(jù)的請求??蛇x地,盡管在相關(guān)高速緩存170發(fā)現(xiàn)所請求數(shù)據(jù),然而如果數(shù)據(jù)不具有獨占狀態(tài),同樣執(zhí)行步驟223,并且針對數(shù)據(jù)的請求在命令總線140上廣播到與其它高速緩存170相關(guān)的其它高速緩存調(diào)查器180。還通過使用雙向連接142將此數(shù)據(jù)傳送請求傳送到其它命令總線140。
在步驟224中,接收數(shù)據(jù)請求的第二高速緩存調(diào)查器180確定其是否有能力響應(yīng)請求以對其相關(guān)高速緩存170(也就是說,第二高速緩存170)進(jìn)行調(diào)查。如果第二高速緩存調(diào)查器180不具有此能力,第二高速緩存調(diào)查器180在命令總線140上廣播消息,表明它當(dāng)前不能為此信息檢查其相關(guān)高速緩存170。在被通知第二高速緩存調(diào)查器180缺乏響應(yīng)能力之后,MPU 160再一次在步驟210中請求數(shù)據(jù)。
在步驟225中,第二高速緩存170被其相關(guān)高速緩存調(diào)查器180,即第二高速緩存調(diào)查器180查詢,以確定第二高速緩存170是否具有所請求的數(shù)據(jù)。在一個實施例中,第二高速緩存170可以位于本地節(jié)點110或者遠(yuǎn)程節(jié)點120上。如果第二高速緩存170沒有所請求的信息,在步驟240中,在命令總線140上發(fā)出此確定的標(biāo)記,并且方法終止于步驟250。
然而,如果第二高速緩存170確實有所請求的信息,在步驟230中,它的相關(guān)高速緩存調(diào)查器180確定此信息是否被標(biāo)明為獨占的,修改的或共享的。在步驟235中,高速緩存調(diào)查器180測量其相關(guān)高速緩存170,即第二高速緩存170的高速緩存利用率參數(shù)。這些高速緩存利用率參數(shù)可以包含這樣的測量,例如相連MPU 160的訪問頻率,從其它高速緩存170到第二高速緩存170的數(shù)據(jù)傳送請求的頻率,從第二高速緩存170到其它高速緩存170的傳送頻率,系統(tǒng)存儲器150請求的頻率,等待處理的請求的數(shù)量,等等。在步驟240中,第二高速緩存調(diào)查器180廣播高速緩存狀態(tài)信息和高速緩存控制參數(shù)到它的命令總線140上,命令總線140通過雙向連接142連接到本地總線110和遠(yuǎn)程總線120。在步驟250終止方法200。換句話說,對于給定的數(shù)據(jù)請求,其相關(guān)高速緩存170的第二高速緩存調(diào)查器180沒有更多的調(diào)查要執(zhí)行。
現(xiàn)在參照圖3,其中公開的是使用所請求數(shù)據(jù)的狀態(tài)標(biāo)記和利用率參數(shù)的方法300。在步驟310中,請求方MPU 160所處的相同節(jié)點的組合邏輯145接收來自不同高速緩存170的數(shù)據(jù)狀態(tài)和利用率參數(shù)。在一個實施例中,利用率參數(shù)包含高速緩存170利用率參數(shù)。在另一個實施例中,利用率參數(shù)包括系統(tǒng)存儲器150利用率參數(shù)。
在步驟320中,組合邏輯145確定高速緩存中的所請求數(shù)據(jù)是否被各個高速緩存調(diào)查器180確定為獨占的,共享的或修改的。如果所請求數(shù)據(jù)是修改的數(shù)據(jù),在步驟350中,組合邏輯145通知應(yīng)答控制邏輯149。然后在步驟360中,應(yīng)答控制邏輯149命令從源高速緩存向數(shù)據(jù)目的地進(jìn)行數(shù)據(jù)傳送。在一個實施例中,數(shù)據(jù)目的地是與請求方MPU 160相關(guān)的高速緩存。然后在步驟370發(fā)生PTP數(shù)據(jù)傳送。
然而,如果系統(tǒng)100的與高速緩存170相關(guān)的應(yīng)答被標(biāo)明為獨占或者共享,組合邏輯145使用利用率參數(shù)確定數(shù)據(jù)傳送的指標(biāo)(merit)的計算。這些指標(biāo)的計算可以包括從數(shù)據(jù)源,例如第二高速緩存170或系統(tǒng)存儲器150到請求方的數(shù)據(jù)傳送的相對時間,等等。
在步驟340中,組合邏輯145根據(jù)在步驟330中使用的利用率參數(shù)的函數(shù)選擇未修改數(shù)據(jù)的源。如果從系統(tǒng)存儲器150到數(shù)據(jù)目的地傳送所請求數(shù)據(jù)所需要的時間少于從第一高速緩存170到數(shù)據(jù)目的地所需的時間,組合邏輯145產(chǎn)生這樣的標(biāo)記,并命令應(yīng)答控制邏輯149命令較快的數(shù)據(jù)傳送。然而,如果從第一高速緩存170傳送數(shù)據(jù)到數(shù)據(jù)目的地的傳送時間少于從系統(tǒng)存儲器150傳送數(shù)據(jù)到數(shù)據(jù)目的地的傳送時間,組合邏輯145產(chǎn)生這樣的標(biāo)記。然后在步驟360中,應(yīng)答控制邏輯149命令進(jìn)行從源高速緩存170到數(shù)據(jù)目的地,例如目的高速緩存的數(shù)據(jù)傳送。在一個實施例中,數(shù)據(jù)目的地是與請求方MPU 160相關(guān)的高速緩存。然后在步驟370中發(fā)生PTP數(shù)據(jù)傳送。PTP數(shù)據(jù)傳送可以是從共享存儲器150到數(shù)據(jù)目的地,或者從高速緩存170到數(shù)據(jù)目的地,如在步驟340中所確定的。
可以理解,本發(fā)明能夠采用許多形式和實施例。因此,在不違背本發(fā)明精神或范圍的前提下,在以上實施例中可以采取幾種變化。已經(jīng)通過參考其某些優(yōu)選實施例描述了本發(fā)明,然而應(yīng)當(dāng)注意,所公開的實施例只是說明性的,而不是限制性的,并且還應(yīng)注意,在前述公開內(nèi)容中考慮到廣泛的變化,修改,改變,以及替代,并且在若干實例中,可以在沒有相應(yīng)使用其它特征的情況下使用本發(fā)明的某些特征。參考上述對實施例的描述,許多這樣的變化和修改對于本領(lǐng)域的技術(shù)人員會是明顯的和希望得到的。因此,附加權(quán)利要求應(yīng)當(dāng)被廣義地,并且以與本發(fā)明的范圍相一致的方式來解釋。
權(quán)利要求
1.一種具有本地總線環(huán)的總線系統(tǒng),包括遠(yuǎn)程總線節(jié)點,連接到本地總線節(jié)點;處理單元,連接到本地總線節(jié)點,可用于請求數(shù)據(jù);高速緩存,連接到處理單元;高速緩存調(diào)查器,連接到高速緩存,可用于確定高速緩存是否包含所請求的數(shù)據(jù),高速緩存調(diào)查器還可用于產(chǎn)生和廣播高速緩存利用率參數(shù)。
2.如權(quán)利要求1所述的總線系統(tǒng),其中高速緩存是本地高速緩存。
3.如權(quán)利要求1所述的總線系統(tǒng),其中高速緩存是遠(yuǎn)程高速緩存。
4.如權(quán)利要求1所述的總線系統(tǒng),還包括連接到第一總線節(jié)點和第二總線節(jié)點的系統(tǒng)存儲器。
5.如權(quán)利要求1所述的總線系統(tǒng),還包括可用于處理和評估高速緩存利用率數(shù)據(jù)的組合邏輯。
6.如權(quán)利要求5所述的總線系統(tǒng),其中應(yīng)答控制邏輯使用評估的高速緩存利用率數(shù)據(jù)以傳送數(shù)據(jù)。
7.如權(quán)利要求6所述的總線系統(tǒng),其中應(yīng)答控制邏輯可用于從高速緩存?zhèn)魉蛿?shù)據(jù)到與請求方處理器單元相關(guān)的高速緩存。
8.如權(quán)利要求6所述的總線系統(tǒng),其中應(yīng)答控制邏輯可用于從系統(tǒng)存儲器傳送數(shù)據(jù)到與請求方處理器單元相關(guān)的高速緩存。
9.如權(quán)利要求1所述的總線系統(tǒng),其中高速緩存利用率數(shù)據(jù)包括高速緩存執(zhí)行的共享存儲器訪問的頻率。
10.如權(quán)利要求1所述的總線系統(tǒng),其中高速緩存利用率數(shù)據(jù)包括相關(guān)高速緩存向其它高速緩存請求數(shù)據(jù)的頻率。
11.如權(quán)利要求1所述的總線系統(tǒng),其中高速緩存利用率數(shù)據(jù)包括數(shù)據(jù)從高速緩存發(fā)送到相連的處理器單元的頻率。
12.如權(quán)利要求1所述的總線系統(tǒng),還包括系統(tǒng)存儲器調(diào)查器,可用于確定系統(tǒng)存儲器的使用參數(shù)。
13.一種用于產(chǎn)生高速緩存利用率數(shù)據(jù)的方法,包括產(chǎn)生對數(shù)據(jù)的請求;在命令總線上廣播該請求;高速緩存調(diào)查器接收該請求;確定與高速緩存調(diào)查器相關(guān)的高速緩存的高速緩存利用率參數(shù);以及在命令總線上發(fā)送高速緩存利用率參數(shù)。
14.如權(quán)利要求13所述的方法,還包括確定相關(guān)高速緩存內(nèi)的數(shù)據(jù)的狀態(tài)。
15.如權(quán)利要求13所述的方法,還包括由高速緩存調(diào)查器發(fā)送忙信號。
16.如權(quán)利要求13所述的方法,還包括確定所請求的數(shù)據(jù)是否在與數(shù)據(jù)請求的產(chǎn)生方相關(guān)的高速緩存中。
17.如權(quán)利要求13所述的方法,其中確定利用率參數(shù)還包括確定高速緩存執(zhí)行的共享存儲器訪問的頻率。
18.如權(quán)利要求13所述的方法,其中確定利用率參數(shù)還包括確定相關(guān)高速緩存向其它高速緩存請求數(shù)據(jù)的頻率。
19.如權(quán)利要求13所述的方法,其中確定利用率參數(shù)還包括確定從高速緩存發(fā)送數(shù)據(jù)到相連請求方的頻率。
20.一種使用利用率參數(shù)的方法,包括接收多組利用率參數(shù);比較從多個數(shù)據(jù)源傳送數(shù)據(jù)到數(shù)據(jù)目的地的相對速度;根據(jù)所述比較選擇多個數(shù)據(jù)源中將被用作數(shù)據(jù)源的數(shù)據(jù)源;和從選擇的源發(fā)送數(shù)據(jù)到數(shù)據(jù)目的地。
21.如權(quán)利要求20所述的方法,其中多個數(shù)據(jù)源中的至少一個包括高速緩存。
22.如權(quán)利要求21所述的方法,其中多個數(shù)據(jù)源中的至少一個還包括系統(tǒng)存儲器。
23.一種用于產(chǎn)生高速緩存利用率數(shù)據(jù)的計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品具有在其上體現(xiàn)有計算機(jī)程序的媒體,該計算機(jī)程序包括用于產(chǎn)生針對數(shù)據(jù)的請求的計算機(jī)代碼;用于在命令總線上廣播該請求的計算機(jī)代碼;用于由高速緩存調(diào)查器接收該請求的計算機(jī)代碼;用于確定與高速緩存調(diào)查器相關(guān)的高速緩存的高速緩存利用率參數(shù)的計算機(jī)代碼;以及用于在命令總線上發(fā)送高速緩存利用率參數(shù)的計算機(jī)代碼。
24.一種使用利用率參數(shù)的處理器,該處理器包含計算機(jī)程序,該計算機(jī)程序包括用于接收多組利用率參數(shù)的計算機(jī)代碼;用于比較從多個數(shù)據(jù)源傳送數(shù)據(jù)到數(shù)據(jù)目的地的相對速度的計算機(jī)代碼;用于根據(jù)所述比較選擇多個數(shù)據(jù)源中將被用作數(shù)據(jù)源的數(shù)據(jù)源的計算機(jī)代碼;和用于從選擇的源發(fā)送數(shù)據(jù)到數(shù)據(jù)目的地的計算機(jī)代碼。
全文摘要
本發(fā)明提供了具有連接到遠(yuǎn)程總線環(huán)的本地總線環(huán)的總線系統(tǒng)。處理單元連接到本地總線節(jié)點并可用于數(shù)據(jù)請求。高速緩存通過命令總線連接到處理單元。高速緩存調(diào)查器連接到高速緩存,可用于確定高速緩存是否包含請求的數(shù)據(jù)。高速緩存調(diào)查器還可用于產(chǎn)生和廣播高速緩存利用率參數(shù),其包含關(guān)于其它高速緩存,它自身的相關(guān)處理單元等等訪問高速緩存的程度的信息。在一方面,高速緩存是本地高速緩存。在另一方面,高速緩存是遠(yuǎn)程高速緩存。
文檔編號G06F12/08GK1508707SQ200310120600
公開日2004年6月30日 申請日期2003年12月15日 優(yōu)先權(quán)日2002年12月17日
發(fā)明者拉姆·拉格哈文, 拉姆 拉格哈文 申請人:國際商業(yè)機(jī)器公司