国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于存儲器管理的系統(tǒng)和方法

      文檔序號:6546093閱讀:137來源:國知局
      專利名稱:用于存儲器管理的系統(tǒng)和方法
      技術領域
      本發(fā)明涉及存儲器管理,特別涉及作為高速緩存系統(tǒng)一部分的標簽控制(tag controlled)預取緩沖器管理系統(tǒng)。
      背景技術
      在諸如計算機的處理系統(tǒng)中,要由處理器利用的數(shù)據(jù)存儲在存儲器(例如,主存儲器,低級存儲器)中,并且控制邏輯電路響應由處理器發(fā)出的請求而管理存儲器與處理器之間的數(shù)據(jù)傳輸。存儲在主存儲器中的數(shù)據(jù)通常包括要由處理器執(zhí)行的指令和要由處理器操作的數(shù)據(jù)。為簡單起見,除非上下文另外要求,否則指令和真實數(shù)據(jù)在此統(tǒng)稱作“數(shù)據(jù)”。主存儲器訪問所花的時間相對于現(xiàn)代處理器的操作速度較長。為了解決此問題,通常在主存儲器與處理器之間介入具有較短訪問時間的高速緩沖存儲器,并且控制邏輯電路管理將從主存儲器檢索的數(shù)據(jù)存儲在高速緩存中以及將數(shù)據(jù)從高速緩存提供給處理器。
      典型的高速緩存以多條“線(line)”組織,每條線為來自主存儲器的數(shù)據(jù)線提供存儲,其中來自主存儲器的數(shù)據(jù)線在長度上可以為很多字節(jié)。當處理器發(fā)出對包含在頁或塊內(nèi)的特定線中的數(shù)據(jù)的請求時,控制邏輯電路確定該線是否存儲在高速緩存中。如果該線存儲在高速緩存中(即,存在高速緩存命中(cache hit)),則從高速緩存檢索該數(shù)據(jù)。如果該線未存儲在高速緩存中(即,存在高速緩存未命中(cache miss)),則必須從主存儲器檢索數(shù)據(jù),并且在發(fā)生該操作時停止處理器。由于高速緩存訪問比低級存儲器訪問快得多,因此顯然期望管理該系統(tǒng)以便實現(xiàn)較高的高速緩存命中與高速緩存未命中之比。
      存儲器延遲對于計算機系統(tǒng)性能成為日益重要的因素。該日益提高的重要性意味著來自最慢芯片上高速緩存的高速緩存失敗(cache fault)在性能方面變得更加昂貴。一種減輕該問題的方法是增大高速緩存的大小。增大高速緩存的大小可以提高性能,然而,高速緩沖存儲器與較慢的低級存儲器相比是昂貴的。因此,盡可能地高效利用高速緩沖存儲器空間是重要的。
      一種提高高速緩沖存儲器系統(tǒng)的效率且減小存儲器延遲時間的方法是試圖預測處理器請求并且預先從存儲器檢索數(shù)據(jù)線。該技術稱作預取。預取可以通過注意基準數(shù)據(jù)流的動態(tài)屬性如順序和/或跨越(stride)訪問來執(zhí)行??蛇x地,預取可以根據(jù)所存儲的信息來執(zhí)行。該所存儲的信息可能與頁內(nèi)或頁間的訪問模式或者由編譯器和/或編程人員產(chǎn)生的提示相關。
      在帶有預取的高速緩存結構中,一種常見方法是具有保存已被預取的線的預取緩沖器。具有這樣的單獨緩沖器避免了由于錯誤的預取而污染高速緩存。然而,經(jīng)常難以通過作為正在進行的訪問或所存儲的信息的函數(shù)而確定要預取什么的邏輯來協(xié)調(diào)該預取緩沖器的內(nèi)容。另外,搜索預取緩沖器可能需要單個操作的多個關聯(lián)查詢。

      發(fā)明內(nèi)容
      本發(fā)明的一方面是一種用于存儲器管理的系統(tǒng)。該系統(tǒng)包括與存儲器裝置通信的標簽控制緩沖器。該存儲器裝置包括多個頁,其分成多條可單獨尋址的線。該標簽控制緩沖器包括預取緩沖器,其包括來自存儲器裝置的可單獨尋址線的至少之一。標簽控制緩沖器還包括與預取緩沖器通信的標簽高速緩存。該標簽高速緩存包括多個標簽,其中每個標簽與存儲器裝置中的一頁相關聯(lián),并且每個標簽包括指向預取緩沖器中的至少一條線的指針。對預取緩沖器中的線的訪問由標簽高速緩存控制。
      本發(fā)明的另一方面是一種包括隨機存取存儲器的用于存儲器管理的系統(tǒng)。該隨機存取存儲器包括至少一條線。每條線與存儲器裝置中的一頁相關聯(lián),并且逐線地分配隨機存取存儲器中的空間。該系統(tǒng)還包括具有多個標簽的第一高速緩存裝置。每個標簽對應于存儲器裝置中的一頁,并且每個標簽表示與該標簽相關聯(lián)的至少一條線在隨機存取存儲器中的位置。
      本發(fā)明的另一方面是一種用于存儲器管理的方法。該方法包括從第一高速緩存裝置接收失敗通知。該失敗通知包括失敗頁標識符和失敗線標識符。訪問第二高速緩存裝置以確定隨機存取存儲器中的線是否對應于該失敗頁標識符和該失敗線標識符。該隨機存取存儲器包括與存儲器裝置中的頁相關聯(lián)的至少一條線。第二高速緩存裝置包括多個標簽,其各自對應于存儲器裝置中的一頁,并且每個標簽表示與對應于該標簽的頁相關聯(lián)的至少一條線在隨機存取存儲器中的位置。響應導致在隨機存取存儲器中定位對應于該失敗頁標識符和該失敗線標識符的線的訪問,將來自隨機存取存儲器的對應于該失敗頁標識符和該失敗線標識符的線傳輸?shù)降谝桓咚倬彺嫜b置。在第二高速緩存裝置中更新對應于該失敗頁標識符的標簽,以反映該傳輸。
      本發(fā)明的另一方面是一種用于存儲器管理的方法。該方法包括從請求者接收失敗通知。該失敗通知包括失敗頁標識符和失敗線標識符。該方法還包括確定對應于該失敗頁標識符的標簽是否位于標簽高速緩存中。該標簽高速緩存包括多個標簽,每個標簽包括至少一個指向預取緩沖器中的線的指針,并且標簽高速緩存指定至少一條預取線。響應定位到對應于該失敗頁標識符的標簽,將對應于該失敗線標識符的線傳輸給請求者,并且更新對應于該失敗頁標識符的標簽以反映該傳輸。響應未定位到對應于該失敗頁標識符的標簽,將對應于該失敗頁標識符的新標簽插入到標簽高速緩存中。另外,將對應于該失敗線標識符的線傳輸給請求者,并且通過標簽高速緩存將包括在新標簽中的預取線插入到預取緩沖器中。
      本發(fā)明的另一方面是一種用于存儲器管理的計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括一種存儲介質(zhì),其可由處理電路讀取,并且存儲用于由處理電路執(zhí)行以執(zhí)行一種包括從請求者接收失敗通知的方法的指令。該失敗通知包括失敗頁標識符和失敗線標識符。該方法還包括確定對應于該失敗頁標識符的標簽是否位于標簽高速緩存中。該標簽高速緩存包括多個標簽,每個標簽包括至少一個指向預取緩沖器中的線的指針,并且標簽高速緩存指定至少一條預取線。響應定位到對應于該失敗頁標識符的標簽,將對應于該失敗線標識符的線傳輸給請求者,并且更新對應于該失敗頁標識符的標簽以反映該傳輸。響應未定位到對應于該失敗頁標識符的標簽,將對應于該失敗頁標識符的新標簽插入到標簽高速緩存中。另外,將對應于該失敗線標識符的線傳輸給請求者,并且通過標簽高速緩存將包括在新標簽中的預取線插入到預取緩沖器中。


      現(xiàn)在參照附圖,其中相同的單元在若干附圖中采用相同的附圖標記圖1是根據(jù)本發(fā)明示例性實施例的包括預取緩沖器和標簽高速緩存的高速緩存系統(tǒng)的方框圖;圖2示出本發(fā)明示例性實施例中的標簽內(nèi)容;圖3是本發(fā)明示例性實施例中的用于執(zhí)行預取的方法的流程圖;圖4是可由本發(fā)明示例性實施例利用的標簽高速緩存的更替邏輯的流程圖;以及圖5是預取緩沖器中的存儲分配的示例性實施例的方框圖。
      具體實施例方式
      本發(fā)明的示例性實施例包括具有由標簽控制的內(nèi)容的預取緩沖器。每個標簽對應于存儲器中的一頁。該標簽包括頁內(nèi)各線的訪問歷史,或者對應于該標簽的頁與其他頁之間的訪問歷史。為了確定來自頁的特定線是否在預取緩沖器中,使用標簽執(zhí)行搜索。這些標簽包括指向存儲在預取緩沖器中的線在預取緩沖器(例如,共享存儲器池)中的位置的指針。標簽還保存相關引用信息以幫助將來的預取。這些標簽控制預取緩沖器中線的存在和/或不存在,并且對預取緩沖器中的線的所有訪問都通過標簽。該設計的優(yōu)點是所有搜索都以保存標簽的結構為中心,從而避免單個操作的多個關聯(lián)查詢。此外,該設計可以幫助確保最近進入的標簽被保證其預取線的空間。
      本發(fā)明的示例性實施例包括具有第二級(L2)高速緩存、預取緩沖器和包含最近引用的標簽的標簽高速緩存的存儲器系統(tǒng)。標簽高速緩存中的每個標簽與主存儲器或低級存儲器中的單獨頁相關聯(lián)。在本發(fā)明的示例性實施例中,低級存儲器內(nèi)的各個頁為四千(4k)字節(jié)。標簽保存在存儲器中,并且在引用預取緩沖器時被訪問。搜索與低級存儲器中的給定頁相關聯(lián)的標簽采用在高速緩沖存儲器技術領域內(nèi)公知的任何方式(例如,通過一致類(congruence class)內(nèi)的關聯(lián)搜索)來執(zhí)行。在本發(fā)明的示例性實施例中,為簡單起見,假定標簽高速緩存是完全關聯(lián)的。這些標簽包括用于預取或更替決策的信息。在本發(fā)明的示例性實施例中,這些標簽包括有關假如在其一條線上發(fā)生了高速緩存失敗則應當從頁取出什么線的信息、以及一些標志位。預取緩沖器隨同標簽高速緩存一起統(tǒng)稱作標簽控制緩沖器(TCB)。
      特定事件(例如,對頁內(nèi)的一條線的引用)可導致(例如,從頁表)取出頁標簽并且將其置于標簽高速緩存中,從而有可能更替一個或多個其他標簽。使用保存在標簽中的信息從與該標簽以及有可能地來自其他頁的標簽對應的頁預取線。將所取線置于共享預取緩沖器中,其中該共享預取緩沖器可由居于處理器集成電路上的共享存儲器池實現(xiàn)。將與標簽相關聯(lián)的預取線置于預取緩沖器中通過由硬件和/或軟件維護的空閑空間列表確定的位置上。如果對于預取線沒有足夠的空間,則從標簽高速緩存中刪除其他標簽,并且將其寫回到存儲器以便釋放足夠的空間。另外,從預取緩沖器刪除與被刪除標簽對應的預取緩沖器中的線。由于引用線(即,為了解決L2高速緩存失敗),因此可以從緩沖器刪除這些線,并且將其置于L2高速緩存中。然后,將預取緩沖器中的這些線所占的空間置于空閑空間列表中。更新所更替的標簽,并且將其寫回到存儲器。
      圖1是根據(jù)本發(fā)明示例性實施例的包括L2高速緩存106、低級存儲器108、預取緩沖器104、標簽高速緩存102和處理器114的示例性高速緩存系統(tǒng)的方框圖。為了示例說明起見,假定低級存儲器108分成多頁,每頁為4K字節(jié)。另外,假定高速緩存線包含一百二十八(128)字節(jié),從而每頁存在三十二(32)線。標簽控制緩沖器(TCB)110包括標簽高速緩存102和預取緩沖器104。如圖1所示,TCB110與高速緩存106和低級存儲器108通信,以允許預取緩沖器將線傳輸?shù)礁咚倬彺?06中,從低級存儲器讀取數(shù)據(jù),并且將標簽讀取/寫入到低級存儲器108中。另外,高速緩存106與低級存儲器108通信,以在這兩者之間傳送數(shù)據(jù)。TCB110還與處理器114通信。處理器114包括實現(xiàn)在此所述的過程的指令,并且可以在物理上位于可被TCB110訪問的各種裝置內(nèi)(例如,在TCB110上,在存儲器控制器上)。另外,在本技術領域內(nèi)是公知的,這些指令可以在物理上位于一個或多個處理器114上。
      圖1所示的標簽高速緩存102包括最近引用的TCB標簽112,其包括指向預取緩沖器104中的一個或多個位置的指針。另外,TCB標簽112可包括與保存在預取緩沖器104中的線相關的其他信息。在本發(fā)明的示例性實施例中,標簽高速緩存102被組織為標準高速緩存結構,其中TCB標簽112的存儲分成一組等價類,其中通過等價類搜索TCB標簽112。在本技術領域內(nèi)公知的其他高速緩存結構可以由標簽高速緩存102實現(xiàn)。在本發(fā)明的示例性實施例中,對預取緩沖器104的內(nèi)容的訪問僅通過標簽高速緩存102。
      圖2示出本發(fā)明示例性實施例中的標簽內(nèi)容。TCB標簽112存儲在標簽高速緩存102中,而存儲器標簽216存儲在低級存儲器108中。TCB標簽112的示例性實施例包括頁標識字段202、存在位字段204、歷史向量字段206、指針字段208以及標志字段210。頁標識字段202包括低級存儲器108中的頁地址(即真實地址)。存在位字段204為頁中的每線都包括一位。如前所述,對于4K的頁,由于線為一百二十八(128)字節(jié),因此每頁存在三十二(32)線。因此,在存在位字段204中包括有三十二(32)個存在位,其中每位對應于頁中的不同線。如果對應線當前包括在預取緩沖器104中,則將存在位設為“1”,而如果對應線當前不包括在預取緩沖器104中,則將存在位設為“0”。
      TCB標簽112中的歷史向量字段206包括關于在過去如何引用了頁內(nèi)的線的信息的集合。當訪問TCB標簽112并且引用線時,可以更新該字段,并且使用其來幫助確定應當將什么數(shù)據(jù)包括在預取緩沖器104中。在本發(fā)明的示例性實施例中,歷史向量字段206被存儲為包含三十二(32)個來自該頁的最近線引用的歷史序列或向量。指針字段208包含表示該頁內(nèi)當前存儲在預取緩沖器104中的線的位置。指針字段208包括指向與通過存在位字段204的值確定當前位于預取緩沖器104中的來自該頁的每線對應的預取緩沖器位置的指針。標志字段210包括可用于其他目的如頁狀態(tài)的備用位。
      當從標簽高速緩存102逐出TCB標簽112時,將TCB標簽112的子集作為存儲器標簽216存儲回到低級存儲器108中。圖2所示的存儲器標簽216包括頁標識字段202、引用歷史字段212和標志字段214。頁標識字段202是前面關于TCB標簽112所述的相同字段,并且它包括真實地址。在本發(fā)明的示例性實施例中,引用歷史字段212包括與TCB標簽112中的歷史向量字段206相同的數(shù)據(jù)。在可選示例性實施例中,存儲器標簽216中的引用歷史字段212包括TCB標簽112中的歷史向量字段206的子集和/或不同于其的附加數(shù)據(jù)。引用歷史字段212中的數(shù)據(jù)可以用來確定當對應于頁的標簽進入標簽高速緩存202時應當預取來自該頁的哪些線。標志字段214包含可用于其他目的的備用位。參照圖2所述的TCB標簽112和存儲器標簽216是一種實現(xiàn)方法的例子。在本技術領域內(nèi)是公知的,它們可以通過增加和/或刪除字段來修改而不脫離本發(fā)明的精神。
      圖3是本發(fā)明示例性實施例中的用于執(zhí)行預取的方法的流程圖。在步驟302,由于引用當前未在高速緩存106中的線,發(fā)生高速緩存失敗。當發(fā)生高速緩存失敗時,從預取緩沖器104或者低級存儲器108取出失敗線。在步驟304,進行檢查,以確定與失敗線相關聯(lián)的TCB標簽112當前是否在標簽高速緩存102中。這通過訪問標簽高速緩存102并且在頁標識字段202中搜索匹配與失敗線相關聯(lián)的頁標識的頁標識來執(zhí)行。如上所述,使用標準高速緩存方法來執(zhí)行搜索,例如執(zhí)行一致類內(nèi)的關聯(lián)搜索。
      如果與低級存儲器中存儲了失敗線的頁對應的TCB標簽112位于標簽高速緩存102中,則執(zhí)行步驟306,以將失敗線取到高速緩存106中。在存在位字段204中檢查對應于失敗線的位的值。如果該位值表示失敗線位于預取緩沖器中,則將該線移到高速緩存106中并且將其從預取緩沖器中刪除。由于對預取緩沖器104的訪問通過標簽高速緩存102,因此通過將對應于線的位值變至“0”來有效地刪除線。另外,可以刪除指針字段208中對應于失敗線的指針的值,以便從預取緩沖器中刪除失敗線??蛇x地,與失敗線相關聯(lián)的位值可以表示失敗線當前不位于預取緩沖器中(例如,該位值的值為“0”)。在這種情況下,將失敗線從低級存儲器直接取到高速緩存106中。一旦將該線取到高速緩存106中,則處理在步驟312結束。
      如果在步驟304確定與低級存儲器中存儲了失敗線的頁對應的TCB標簽112不位于標簽高速緩存102中,則執(zhí)行步驟308,以將與失敗線相關聯(lián)的存儲器標簽216取到標簽高速緩存102中,并且創(chuàng)建與包含失敗線的頁相關聯(lián)的TCB標簽112。存儲器標簽216可以位于低級存儲器108或高速緩存106中。一旦向標簽高速緩存102添加了與失敗線相關聯(lián)的TCB標簽112,則如前所述,通過將失敗線從低級存儲器直接取到高速緩存106中,執(zhí)行步驟306。一旦將該線取到高速緩存106中,則處理在步驟312結束。在可選示例性實施例中,顛倒執(zhí)行步驟306和308的次序,從而導致首先將線取到高速緩存106中,然后在標簽高速緩存102中創(chuàng)建TCB標簽112。在另一個可選示例性實施例中,可以同時執(zhí)行步驟306和308。
      除了步驟306之外,一旦執(zhí)行了步驟308,如果與失敗線相關聯(lián)的線沒有已經(jīng)包含在高速緩存106或預取緩沖器104中,則執(zhí)行步驟310,以將關聯(lián)線取到預取緩沖器104中。在本發(fā)明的示例性實施例中,關聯(lián)線是在TCB標簽112的歷史向量字段206中具有條目的那些線。在本技術領域內(nèi)公知的任何用于確定要預取的線的算法可由本發(fā)明的示例性實施例實現(xiàn)。這可導致附加的TCB標簽112進入標簽高速緩存102和/或附加的線進入預取緩沖器104。在步驟310,更新TCB標簽112的存在位字段204,以反映包含在預取緩沖器104中的對應線。當步驟310完成時,處理在步驟312結束。
      圖4是可由本發(fā)明示例性實施例利用的標簽高速緩存的更替邏輯的流程圖。為了簡單起見,在描述高速緩存更替邏輯中,假定對于標簽高速緩存102采用最近最少使用(LRU)更替算法。在本技術領域內(nèi)公知的其他高速緩存更替邏輯也可以由本發(fā)明的示例性實施例利用。對于LRU更替邏輯,TCB標簽112根據(jù)它們被引用的新近程度來排序。這里,引用包括讀取或修改TCB標簽112的操作。在步驟402,通過取出和擴增存儲器標簽216來創(chuàng)建當前TCB標簽112。按照次序將當前TCB標簽112插入到標簽高速緩存102中的最近最多引用的位置上??蛇x地,在步驟402,通過讀取或修改已經(jīng)位于標簽高速緩存102中的TCB標簽112來創(chuàng)建當前TCB標簽112。
      在步驟404,確定對于TCB標簽112,在標簽高速緩存102中是否存在足夠空間。如果在標簽高速緩存102中存在足夠空間,則執(zhí)行步驟406,以如果當前TCB標簽112沒有已經(jīng)存在于標簽高速緩存102中,則將其插入到標簽高速緩存102中,并且處理在步驟412繼續(xù)??蛇x地,如果在標簽高速緩存102中需要附加空間,則執(zhí)行步驟410,并且從標簽高速緩存102刪除最近最少引用的TCB標簽112。該刪除通過更新TCB標簽112以創(chuàng)建存儲器標簽216并且將存儲器標簽216寫回到低級存儲器108來執(zhí)行。另外,然后將當前保存在預取緩沖器中的由TCB標簽112引用的來自該頁的線添加到空閑空間列表。在本發(fā)明的示例性實施例中,所寫回的存儲器標簽216包括頁標識符字段202中的頁標識符、引用歷史向量字段212中的來自該頁的三十二(32)條最近最多引用的線的引用歷史向量、以及上述標志位字段214。
      接下來,在步驟412,進行檢查以確定在預取緩沖器104中對于與當前TCB標簽112相關聯(lián)的當前預取線是否存在足夠的空間。如果對于當前預取線存在足夠的空間,則執(zhí)行步驟414,以將當前預取線插入到預取緩沖器104中。如前所述,這通過將向緩沖器添加當前預取線并且更新對應TCB標簽112以表示預取緩沖器104中新線的存在(通過將存在位字段204中的對應位設為“1”)和位置(通過更新指針字段208中的數(shù)據(jù))來執(zhí)行。然后,處理在步驟408結束。可選地,如果在步驟412確定對于與當前TCB標簽112相關聯(lián)的當前預取線不存在足夠的空間,則執(zhí)行步驟416以釋放預取緩沖器104中的空間。在步驟416,刪除TCB標簽112和預取緩沖器104中的關聯(lián)線,直到在預取緩沖器104中對于與當前TCB標簽112相關聯(lián)的當前預取線存在足夠的空閑空間為止。這可以采用LRU算法來執(zhí)行。然后,處理繼續(xù)到如前所述的步驟414。
      圖5是預取緩沖器104中的存儲分配的示例性實施例的方框圖。圖5示出包含用于在預取緩沖器104中保存高速緩存線的可用位置列表的空閑空間列表502的操作和使用。當通過刪除標簽高速緩存102中的條目如上所述釋放空間時,將由對應線使用的位置添加到空閑空間列表502。當分配空間時,從空閑空間列表502刪除附加空間的位置。不管是硬件和/或軟件,在本技術領域內(nèi)公知的任何數(shù)據(jù)結構和/或方法都可用來實現(xiàn)空閑空間列表502。例如,空閑空間列表502可以采用鏈接表和關聯(lián)邏輯來實現(xiàn)。
      本發(fā)明的示例性實施例可以與包括與上述具體所述不同的尺寸的頁、線、標記和高速緩存的系統(tǒng)一起使用。另外,本發(fā)明的示例性實施例不局限于特定級別的高速緩存(例如,如前所述的L2),而是它可以應用于存儲分級結構的任何級別。
      本發(fā)明的示例性實施例包括使預取緩沖器中預取線的位置由標簽高速緩存中的標簽條目內(nèi)的指針來指定。該設計的優(yōu)點是所有搜索都以保存標簽的結構為中心,從而避免了單個操作的多個關聯(lián)查詢。這將導致當試圖隨同居于預取緩沖器中的來自同一頁的任何其他線一起訪問可能位于預取緩沖器中的高速緩存線時只需一次搜索,不過這需要找到關聯(lián)標簽以及高速緩存線。另外,當從標簽高速緩存刷新(flush)標簽并且將其寫回到存儲器時,釋放預取緩沖器中其關聯(lián)線的空間。這可以幫助確保最近進入的標簽被保證其關聯(lián)預取線的空間。
      如上所述,本發(fā)明的實施例可采取用于執(zhí)行這些過程的計算機實現(xiàn)過程和裝置的形式來實施。本發(fā)明的實施例還可采取計算機程序代碼的形式來實施,該計算機程序代碼包含在有形介質(zhì)如軟盤、CD-ROM、硬盤驅動器或任何其他計算機可讀存儲介質(zhì)中實施的指令,其中,當將該計算機程序代碼裝載到計算機中并且由其執(zhí)行時,該計算機成為用于實現(xiàn)本發(fā)明的裝置。本發(fā)明的實施例還可以采取例如無論是存儲在存儲介質(zhì)中,裝載到計算機中并且/或者由其執(zhí)行,還是在某傳輸介質(zhì)上例如在電線或電纜上、通過光纖或者通過電磁輻射而傳輸?shù)挠嬎銠C程序代碼的形式來實施,當將該計算機程序代碼裝載到計算機中并且由其執(zhí)行時,該計算機成為用于實現(xiàn)本發(fā)明的裝置。當在通用微處理器上實現(xiàn)時,該計算機程序代碼段配置微處理器以創(chuàng)建特定邏輯電路。
      雖然本發(fā)明是參照示例性實施例來描述的,但是本領域的技術人員應當理解,可以進行各種改變并且用等價物代替其單元而不脫離本發(fā)明的范圍。另外,可以進行很多修改以使特定情形或材料適于本發(fā)明的講授而不脫離其本質(zhì)范圍。因此,本發(fā)明不旨在局限于作為被認為是實施本發(fā)明的最佳方式而公開的特定實施例,而是本發(fā)明應當包括落在所附權利要求的范圍內(nèi)的所有實施例。而且,使用術語第一、第二等不表示任何次序或重要度,而是術語第一、第二等用來相互區(qū)分各單元。
      權利要求
      1.一種用于存儲器管理的系統(tǒng),該系統(tǒng)包括標簽控制緩沖器,其與存儲器裝置通信,所述存儲器裝置包括多個頁,該頁分成多條可單獨尋址的線,其中所述標簽控制緩沖器包括預取緩沖器,其包括來自存儲器裝置的可單獨尋址線的至少之一;以及標簽高速緩存,其與預取緩沖器通信,該標簽高速緩存包括多個標簽,其中每個所述標簽與存儲器裝置中的一頁相關聯(lián),每個所述標簽包括指向預取緩沖器中的至少一條線的指針,并且對預取緩沖器中的線的訪問由標簽高速緩存控制。
      2.如權利要求1所述的系統(tǒng),其中訪問包括將新線插入到預取緩沖器中、從預取緩沖器刪除一條線、以及在預取緩沖器中讀取一條線中的至少之一。
      3.如權利要求1所述的系統(tǒng),其中標簽控制緩沖器響應來自標簽高速緩存的命令將預取緩沖器中的一條線傳輸?shù)礁咚倬彺嫜b置。
      4.如權利要求1所述的系統(tǒng),其中預取緩沖器由隨機存取存儲器實現(xiàn)。
      5.如權利要求1所述的系統(tǒng),其中響應從標簽高速緩存刪除一個標簽,刪除與標簽高速緩存中的該標簽對應的預取緩沖器中的所有線。
      6.如權利要求1所述的系統(tǒng),其中該系統(tǒng)還包括實現(xiàn)標簽高速緩存中的標簽和預取緩沖器中的線的更替算法的指令,其中當將新標簽插入到標簽高速緩存中時,刪除足夠數(shù)目的標簽,以為新標簽和與新標簽相關聯(lián)的預取線騰出空間。
      7.如權利要求6所述的系統(tǒng),其中將所刪除的標簽寫回到低級存儲器。
      8.如權利要求6所述的系統(tǒng),其中將所刪除的標簽寫回到低級存儲器,并且低級存儲器中的標簽包括頁標識符字段和引用歷史字段。
      9.如權利要求8所述的系統(tǒng),其中低級存儲器中的標簽還包括標志字段。
      10.如權利要求1所述的系統(tǒng),其中該系統(tǒng)還包括實現(xiàn)包括以下操作的方法的指令響應插入、刪除、修改和引用預取緩沖器中的線,更新標簽高速緩存中的標簽。
      11.如權利要求1所述的系統(tǒng),其中該系統(tǒng)還包括實現(xiàn)包括以下操作的方法的指令從高速緩存裝置接收失敗通知,該失敗通知包括失敗頁標識符和失敗線標識符;訪問標簽高速緩存以確定預取緩沖器中的一條線是否對應于該失敗頁標識符和該失敗線標識符;響應在預取緩沖器中定位到對應于該失敗頁標識符和該失敗線標識符的線,將來自預取緩沖器的對應于該失敗頁標識符和該失敗線標識符的線傳輸?shù)礁咚倬彺嫜b置;以及更新標簽高速緩存,以反映該傳輸。
      12.如權利要求1所述的系統(tǒng),其中標簽高速緩存中的每個標簽包括頁標識符字段、存在位字段、歷史向量字段和指針字段。
      13.如權利要求12所述的系統(tǒng),其中標簽高速緩存中的每個標簽還包括標志字段。
      14.一種用于存儲器管理的系統(tǒng),該系統(tǒng)包括隨機存取存儲器,其包括至少一條線,其中每條線與存儲器裝置中的一頁相關聯(lián),并且逐線地分配隨機存取存儲器中的空間;以及第一高速緩存裝置,其包括多個標簽,其中每個標簽對應于存儲器裝置中的一頁,并且每個標簽表示與該頁相關聯(lián)的至少一條線在隨機存取存儲器中的位置。
      15.如權利要求14所述的系統(tǒng),還包括計算機處理器,該計算機處理器包括響應來自第一高速緩存裝置的命令將隨機存取存儲器中的一條線傳輸?shù)降诙咚倬彺嫜b置的指令
      16.如權利要求14所述的系統(tǒng),其中響應從標簽高速緩存刪除一個標簽,刪除與第一高速緩存裝置中的該標簽對應的隨機存取存儲器中的所有線。
      17.如權利要求14所述的系統(tǒng),還包括計算機處理器,該計算機處理器包括實現(xiàn)第一高速緩存裝置中的標簽和隨機存取存儲器中的線的更替算法的指令,其中當將新標簽插入到第一高速緩存裝置中時,刪除足夠數(shù)目的標簽,以為新標簽和與新標簽相關聯(lián)的預取線騰出空間。
      18.如權利要求17所述的系統(tǒng),其中將所刪除的標簽寫回到低級存儲器。
      19.如權利要求17所述的系統(tǒng),其中將所刪除的標簽寫回到低級存儲器,并且低級存儲器中的標簽包括頁標識符字段和引用歷史字段。
      20.如權利要求19所述的系統(tǒng),其中低級存儲器中的標簽還包括標志字段。
      21.如權利要求14所述的系統(tǒng),還包括計算機處理器,該計算機處理器包括實現(xiàn)用于響應插入、刪除、修改和引用隨機存取存儲器中的線而更新第一高速緩存裝置中的標簽的方法的指令。
      22.如權利要求14所述的系統(tǒng),其中第一高速緩存裝置中的每個標簽包括頁標識符字段、存在位字段、歷史向量字段和指針字段。
      23.如權利要求22所述的系統(tǒng),其中第一高速緩存裝置中的每個標簽還包括標志字段。
      24.一種用于存儲器管理的方法,包括從第一高速緩存裝置接收失敗通知,該失敗通知包括失敗頁標識符和失敗線標識符;訪問第二高速緩存裝置以確定隨機存取存儲器中的線是否對應于該失敗頁標識符和該失敗線標識符,其中該隨機存取存儲器包括與存儲器裝置中的頁相關聯(lián)的至少一條線;第二高速緩存裝置包括多個標簽,其各自對應于存儲器裝置中的一頁;以及每個標簽表示與對應于該標簽的頁相關聯(lián)的至少一條線在隨機存取存儲器中的位置;響應導致在隨機存取存儲器中定位對應于該失敗頁標識符和該失敗線標識符的線的訪問,將來自隨機存取存儲器的對應于該失敗頁標識符和該失敗線標識符的線傳輸?shù)降谝桓咚倬彺嫜b置;以及更新第二高速緩存裝置中對應于該失敗頁標識符的標簽,以反映該傳輸。
      25.一種用于存儲器管理的方法,包括從請求者接收失敗通知,該失敗通知包括失敗頁標識符和失敗線標識符;確定對應于該失敗頁標識符的標簽是否位于標簽高速緩存中,其中該標簽高速緩存包括多個標簽,每個標簽包括至少一個指向預取緩沖器中的線的指針,并且標簽高速緩存指定至少一條預取線;響應定位到對應于該失敗頁標識符的標簽將對應于該失敗線標識符的線傳輸給請求者;并且更新對應于該失敗頁標識符的標簽以反映該傳輸;以及響應未定位到對應于該失敗頁標識符的標簽將對應于該失敗頁標識符的新標簽插入到標簽高速緩存中;將對應于該失敗線標識符的線傳輸給請求者;并且將包括在新標簽中的預取線插入到預取緩沖器中,其中插入通過標簽高速緩存來執(zhí)行。
      26.如權利要求25所述的方法,還包括從存儲器裝置檢索對應于該失敗線標識符的線。
      27.如權利要求25所述的方法,還包括從預取緩沖器檢索對應于該失敗線標識符的線,其中檢索通過標簽高速緩存。
      28.如權利要求25所述的方法,其中請求者是高速緩存裝置。
      29.一種用于高速緩沖存儲器管理的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括存儲介質(zhì),其可由處理電路讀取,并且存儲用于由處理電路執(zhí)行以執(zhí)行包括以下操作的方法的指令從請求者接收失敗通知,該失敗通知包括失敗頁標識符和失敗線標識符;確定對應于該失敗頁標識符的標簽是否位于標簽高速緩存中,其中該標簽高速緩存包括多個標簽,每個標簽包括至少一個指向預取緩沖器中的線的指針,并且標簽高速緩存指定至少一條預取線;響應定位到對應于該失敗頁標識符的標簽將對應于該失敗線標識符的線傳輸給請求者;并且更新對應于該失敗頁標識符的標簽以反映該傳輸;以及響應未定位到對應于該失敗頁標識符的標簽將對應于該失敗頁標識符的新標簽插入到標簽高速緩存中;將對應于該失敗線標識符的線傳輸給請求者;并且將包括在新標簽中的預取線插入到預取緩沖器中,其中插入通過標簽高速緩存來執(zhí)行。
      全文摘要
      本發(fā)明公開一種用于存儲器管理的系統(tǒng),包括與存儲器裝置通信的標簽控制緩沖器。該存儲器裝置包括多個頁,其分成多條可單獨尋址的線。該標簽控制緩沖器包括預取緩沖器,其包括來自存儲器裝置的可單獨尋址線的至少之一。標簽控制緩沖器還包括與預取緩沖器通信的標簽高速緩存。該標簽高速緩存包括多個標簽,其中每個標簽與存儲器裝置中的一頁相關聯(lián),并且每個標簽包括指向預取緩沖器中的至少一條線的指針。對預取緩沖器中的線的訪問由標簽高速緩存控制。
      文檔編號G06F12/00GK1744058SQ20051006501
      公開日2006年3月8日 申請日期2005年4月12日 優(yōu)先權日2004年4月15日
      發(fā)明者彼德·弗拉納茲克, 路易斯·A·拉斯特拉斯 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1