專利名稱:用于在處理環(huán)境中提供路徑記憶的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及電路設(shè)計,更具體地,涉及在處理環(huán)境中提供路徑記憶(way memoization)的系統(tǒng)和方法。
背景技術(shù):
集成電路的快速發(fā)展使得對許多裝置、部件和結(jié)構(gòu)中所包括的數(shù)字系統(tǒng)的設(shè)計的要求不斷提高。包括集成電路的數(shù)字系統(tǒng)的數(shù)量持續(xù)穩(wěn)定地增加這種增加是在大量產(chǎn)品和系統(tǒng)的驅(qū)動下而產(chǎn)生的。集成電路中可包含附加的功能,從而在它們的相應(yīng)應(yīng)用或環(huán)境中執(zhí)行附加的任務(wù)或進行更復(fù)雜的操作(潛在地更快速)。
與集成電路相關(guān)的計算機處理器通常具有許多會消耗大量能量的高速緩存存儲器。通常有兩種類型的高速緩存存儲器指令高速緩存(I高速緩存)和數(shù)據(jù)高速緩存(D高速緩存)。許多高速緩存存儲器可通過指令地址總線和數(shù)據(jù)地址總線或者多路傳輸總線(其可用于數(shù)據(jù)和指令地址)與其它部件進行連接(interface)。從高速緩存存儲器散發(fā)的能量與集成電路總能耗相比很顯著。這些缺陷是對肩負(fù)緩解這種能耗問題的任務(wù)的系統(tǒng)設(shè)計者和部件制造者的巨大挑戰(zhàn)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了用于減少相關(guān)高速緩存存儲器的能耗的技術(shù)。根據(jù)具體實施例,這些技術(shù)可通過減少訪問高速緩存存儲器時執(zhí)行的比較來減少電子裝置的能耗。
根據(jù)具體實施例,提供了一種用于減少高速緩存存儲器上能量的設(shè)備,其包括與高速緩存存儲器連接的存儲器地址緩沖元件。可為高速緩存存儲器實現(xiàn)路徑記憶,該路徑記憶利用存儲器地址緩沖元件,該存儲器地址緩沖元件可操作以存儲與先前訪問過的地址相關(guān)的信息??稍L問存儲器地址緩沖元件,以減少在訪問高速緩存存儲器時的能耗。可以在存儲器地址緩沖元件中存儲與多個數(shù)據(jù)段相關(guān)的多個條目(entry),并且對于所選擇的一個或更多個條目,有指向包括所需數(shù)據(jù)段的路徑的地址字段。一個或更多個先前訪問過的地址可以由與一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符(tag)和一個或更多個組索引(set index)來替換。
本發(fā)明的實施例可提供各種技術(shù)優(yōu)點。一些實施例顯著地減少了與給定高速緩存存儲器相關(guān)的比較活動。因為由存儲有與先前訪問數(shù)據(jù)相關(guān)的重要信息的存儲器地址緩沖器來查閱適當(dāng)?shù)穆窂?,所以還可以使特定路徑無效或不可用。最小限度的比較和路徑活動通常可減少能耗并減少高速緩存存儲器系統(tǒng)的損耗。因此,這種方法通常減少了高速緩存儲存器的活動。另外,這種方法并不需要修改高速緩存存儲器的結(jié)構(gòu)。這是尤為重要的,因為這使得可以使用具有先前設(shè)計的高速緩存存儲器的處理器核心或者由不同銷售集團(vendor group)提供的處理器系統(tǒng)。
本發(fā)明的其它技術(shù)優(yōu)點對于本領(lǐng)域技術(shù)人員是顯而易見的。另外,盡管上面已經(jīng)列舉了具體優(yōu)點,但是本發(fā)明的不同實施例可以不具有這些優(yōu)點,或者具有這些優(yōu)點中的一些或全部。
要想更全面了解本發(fā)明及其優(yōu)點,可以結(jié)合附圖參考后文的說明。在附圖中圖1的簡化框圖示出了根據(jù)本發(fā)明的各個實施例的、用于在處理器中提供通信記憶技術(shù)的系統(tǒng);圖2的簡化示意圖示出了與圖1的系統(tǒng)相關(guān)的各種示例的路徑結(jié)構(gòu)以及存儲器地址緩沖器;以及圖3是可包括在圖1系統(tǒng)中的多個電路的示例結(jié)構(gòu)的簡化框圖。
具體實施例方式
圖1的簡化框圖示出了根據(jù)本發(fā)明的各個實施例的用于在處理器12中提供通信記憶技術(shù)的系統(tǒng)10。處理器12可包括主存儲器(未示出)和高速緩存存儲器14,這兩個存儲器可使用地址總線和數(shù)據(jù)總線而相互連接。高速緩存存儲器14可包括存儲器地址18,該存儲器地址18包括標(biāo)識符(tag)、組索引和偏移。高速緩存存儲器14還可包括路徑零(way0)22、路徑一(way1)24和多路器(multiplexer)30、32和34。路徑零可包括TAG0(標(biāo)識符0),而路徑一可包括TAG1(標(biāo)識符1),從而各個路徑可與它們的相應(yīng)標(biāo)識符結(jié)構(gòu)適當(dāng)?shù)剡B接。圖1的視圖代表了在一個示例實施例中兩路徑聯(lián)合的高速緩存存儲器系統(tǒng)10可容易地包含對該結(jié)構(gòu)的變更和替換。注意,圖1還包括多個位結(jié)構(gòu)和大小,提供它們僅作為與高速緩存存儲器14相關(guān)的一些可能結(jié)構(gòu)的示例。這種代表是任意的,并因此應(yīng)該解釋成是任意的。
系統(tǒng)10操作以實現(xiàn)去除多余的高速緩存標(biāo)識符和高速緩存路徑訪問(way access)從而減少能耗的技術(shù)。系統(tǒng)10可在存儲器地址緩沖器(MAB)中保持少量的最近最多使用(MRU,most recently used)地址,并在存在MAB命中的情況下,刪除多余的標(biāo)識符和路徑訪問。由于該方法只在MAB中保持標(biāo)識符和組索引值,因此能量和區(qū)域開銷(areaoverhead)相對較小即使對于具有大量條目的MAB也是如此。另外,該方法并不會犧牲性能在操作期間,循環(huán)時間和所執(zhí)行的循環(huán)數(shù)量都不會增加。因此,在MAB中存儲有標(biāo)識符值和組索引值,而不是存儲器地址值。標(biāo)識符條目的數(shù)目和組索引條目的數(shù)目可以不同。這有助于減少MAB的區(qū)域而不犧牲MAB的命中率。此外,因為MAB訪問可與地址計算并行地進行,所以可使延遲開銷為零(zero-delay overhead)。
處理器12可包括在任何合適的結(jié)構(gòu)中,另外其包括以任意合適形式(例如,軟件、硬件等)具體實現(xiàn)的算法。例如,處理器12可以是微處理器并且可以是簡單的集成芯片、特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或者任何其它適當(dāng)?shù)奶幚韺ο蟆⒀b置或部件的一部分。地址總線和數(shù)據(jù)總線是能夠傳送數(shù)據(jù)(例如,二進制數(shù)據(jù))的導(dǎo)線??蛇x地,可由其它任何適當(dāng)?shù)?、便于?shù)據(jù)傳播的技術(shù)(例如,光輻射、激光技術(shù)等)來替換這種導(dǎo)線。
高速緩存存儲器14是可用于保持可以由處理器12訪問的信息的存儲元件。高速緩存存儲器14可以是隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、快速循環(huán)RAM(FCRAM)、靜態(tài)RAM(SRAM)或者任何其它合適的可便于這種存儲操作的物體。在其它實施例中,高速緩存存儲器14可以被能夠與這里論述的方式相似的方式與處理器12連接的另一處理器或軟件來替換。
應(yīng)注意,為了講授和討論的目的,提供一些關(guān)于本發(fā)明操作方式的背景概述是有益的。下面的基本信息描述了本發(fā)明可以解決的一個問題。該背景信息可以視為可正確地解釋本發(fā)明的基礎(chǔ)。該信息僅是為了解釋目的而提供的,因此不應(yīng)理解為以任何方式限制本發(fā)明及其潛在應(yīng)用的寬廣范圍。
芯片上型高速緩存存儲器(on-chip cache memory)是處理器(尤其是微處理器)最耗能的部件之一。通常有兩種類型的高速緩存存儲器指令高速緩存(I高速緩存)和數(shù)據(jù)高速緩存(D高速緩存)。在給定的高速緩存存儲器中,有多個“路徑”?;跀?shù)據(jù)的地址,數(shù)據(jù)可存儲在高速緩存存儲器中對應(yīng)于給定地址的多個位置中的任一個處。例如,如果有兩個路徑,則數(shù)據(jù)可設(shè)置在任一路徑中。圖1表示包括兩個路徑22和24的結(jié)構(gòu)。存儲器地址可用作行索引?;谠摯鎯ζ鞯刂罚蛇x擇給定行。因此,數(shù)據(jù)可以包括在給定路徑中的給定行中。
通常存在用于各個路徑并用于存儲在高速緩存存儲器14中的各個數(shù)據(jù)段的標(biāo)識符。存儲器地址的標(biāo)識符可以與路徑零和路徑一的標(biāo)識符進行比較。如果存在匹配,則這表明該數(shù)據(jù)段存在于高速緩存存儲器14中的情況。如果不存在匹配,則存在緩存缺失(cache miss)從而應(yīng)查閱主存儲器(未示出)以檢索數(shù)據(jù)。
每次訪問高速緩存存儲器14都消耗能量和電能。因此,上述比較使處理系統(tǒng)產(chǎn)生負(fù)擔(dān)。如果可以使該訪問處理最少化,則可以減少能耗。應(yīng)注意,就實際而言,如果高速緩存存儲器14中的給定位置被訪問了,則將來也將接著對其進行訪問。因此,通過跟蹤存儲器訪問,可開發(fā)一有力的工具以記錄先前訪問過的訪問地址。可使用表(也就是MAB)來存儲這種信息。
圖2的簡化示意圖示出了與圖1的系統(tǒng)10相關(guān)的各種示例路徑以及存儲器地址緩沖器。圖2表示這樣的情況,其中在MAB 38中存儲有少量最近最多使用(MRU)地址和目標(biāo)高速緩存路徑編號。如果存在MAB命中,則不相關(guān)的高速緩存標(biāo)識符存儲器和不需要的高速緩存路徑被無效。
考慮與圖2相關(guān)的解釋性的示例。如果訪問了存儲在路徑一中的地址2,則該信息可記錄在MAB 38中。MAB 38表示保持這種信息的存儲表??梢砸赃@種方式存儲所訪問的地址(包括它們的相應(yīng)路徑和/或行)。在后續(xù)的任務(wù)中,考慮試圖再次訪問地址2的情況。相應(yīng)地,查閱MAB 38,確定出該地址先前已經(jīng)被訪問過。因此,對于該地址存在高速緩存命中。因此,可確定該數(shù)據(jù)段包含在路徑一24中。在執(zhí)行該查閱功能時,避免了標(biāo)識符比較。另外,該方法允許斷開路徑零22的讀出放大器(senseamplifier)。因此,通過識別包括所期望數(shù)據(jù)段的路徑,可將其它路徑無效。這節(jié)省了進行標(biāo)識符比較和接通所有路徑以識別數(shù)據(jù)段的位置所需的功率。在MAB 38中的數(shù)據(jù)可在任何合適的時間適當(dāng)?shù)馗?。如果在高速緩存存儲?4中一個地址被另一地址替換,則MAB 38必須更新以反映該情況。
在一個實施例中,可以為MAB 38配置實現(xiàn)本文所述的功能的軟件??蛇x地,可對任何合適的硬件、部件、裝置、ASIC、FPGA、ROM元件、RAM元件、EPROM、EEPROM、算法、元件或可操作的對象提供這種增加或提高,以執(zhí)行這些操作。應(yīng)注意,這種(MAB)功能性可設(shè)置在處理器12中或者設(shè)置在處理器12的外部,以允許在系統(tǒng)10的任何適當(dāng)?shù)奈恢糜蒑AB 38實現(xiàn)適當(dāng)?shù)拇鎯Α?br>
應(yīng)注意,與用于D高速緩存存儲器的MAB不同,用于指令高速緩存存儲器的MAB 38的輸入可以為如下三種類型中的一種1)存儲在連接寄存器中的地址,2)基地址(即,當(dāng)前程序計數(shù)器地址)和偏移值(即,分支偏移),以及3)當(dāng)前程序計數(shù)器地址及其跨距(stride)。在高速緩存間行連續(xù)流(inter-cache-line sequential flow)的情況下,當(dāng)前程序計數(shù)器地址和程序計數(shù)器的跨距可選擇作為MAB 38的輸入。該跨距可作為偏移值處理。如果當(dāng)前操作為“分支(或跳轉(zhuǎn))到連接目標(biāo)”,則連接寄存器中的地址可選擇為MAB 38的輸入。另外,基地址和偏移可用于數(shù)據(jù)高速緩存。
應(yīng)注意,由于通過用于地址生成的加法器并行地訪問MAB 38,所以通常沒有延遲開銷。另外,該方法并不需要修改高速緩存存儲器結(jié)構(gòu)。這是尤為有利的,因為可使用具有先前設(shè)計高速緩存存儲器的處理器芯或者由不同銷售者提供的其它處理器。因此,系統(tǒng)10實現(xiàn)了顯著地減少了與高速緩存存儲器14相關(guān)的比較活動。因為由存儲器地址緩沖器來查閱適當(dāng)?shù)穆窂?,所以可以使特定路徑無效或不可用。最少的比較和最少的路徑活動通常可減少能耗并減輕高速緩存存儲器14的損耗。因此,這種方法通常減少了高速緩存儲存器活動,增加了系統(tǒng)性能,并甚至可用于適應(yīng)增加的帶寬。
應(yīng)注意,MAB 38具有兩種條目1)標(biāo)識符(18位)和cflag(2位);以及2)組索引(9位)。2位的cflag可用于存儲14位加法器的進位和偏移值符號。如果標(biāo)識符的條目數(shù)為n1,并且組索引的條目數(shù)為n2,則MAB 38可存儲關(guān)于n1×n2個地址的信息。例如,2×8個條目的MAB可存儲關(guān)于16個地址的信息。對于每一地址,可有表示該信息是否有效的標(biāo)志。對應(yīng)于標(biāo)識符條目i和組索引條目j的標(biāo)志可用vflag[i][j]表示??墒褂萌魏芜m當(dāng)?shù)膮f(xié)議,例如使用最近最少使用(LRU,least recently used)原則來更新MAB條目。
圖3是可包括在圖1系統(tǒng)10中的幾種電路50和60的示例結(jié)構(gòu)的簡化框圖。應(yīng)注意,如這里詳細(xì)描述的,高速緩存存儲器14可將偏移項(即,偏移地址或偏移值)添加到基地址上。這兩個對象反映了兩個指令字段,從而這種要素可以由項62和64來反映。這兩項一起提供了目標(biāo)地址。因此,可將兩個數(shù)相加以生成該目標(biāo)地址。MAB 38可計算標(biāo)識符和組索引參數(shù)以處理該情況。這些可用于檢測MAB命中。
結(jié)合圖2的詳細(xì)描述來考慮圖1中所述的2路徑設(shè)定聯(lián)合高速緩存。如果地址1存儲在TAG0中,則在對應(yīng)于該地址1的MAB條目中路徑數(shù)位將為0。同樣,對應(yīng)于地址2、地址3和地址4的路徑數(shù)將分別為1、0和0。當(dāng)有MAB命中時,只激活由路徑數(shù)位指定的單個路徑,而其它路徑及其相應(yīng)的標(biāo)識符存儲器保持未被激活。這種技術(shù)可將多余的標(biāo)識符訪問數(shù)量減少70%-90%。不幸的是,在多數(shù)處理器中,生成存儲器地址的單元在關(guān)鍵路徑上。因此,在生成存儲器地址之后訪問MAB 38會增加循環(huán)時間。
這種技術(shù)基于這樣的觀點目標(biāo)地址是基地址和偏移的和,通常取很少的值。另外,這些值通常較小。因此,可通過僅保持少量的最近最多使用的標(biāo)識符來提高MAB 38的命中率。例如,假設(shè)標(biāo)識符存儲器的位寬、高速緩存中的組數(shù)、以及高速緩存行的大小分別為18、512和32字節(jié)。組索引和偏移字段的寬度將分別為9和5位。由于多數(shù)偏移值小于214,因此可以在不生成地址的情況下容易地計算標(biāo)識符值。這可通過檢查基地址的高18位、偏移的符號擴展(sign-extension)以及14位加法器的進位(carry bit)來實現(xiàn),該加法器將基地址的低14位和偏移相加。因此,所添加的電路的延遲是14位加法器的延遲與訪問組索引表的延遲之和。該延遲通常小于用于計算地址的32位加法器的延遲。因此,這種技術(shù)(如這里所述)并不帶來任何延遲代價。應(yīng)注意,如果偏移值大于或等于214或小于-214,則會有MAB缺失,但是發(fā)生該缺失的機會通常小于1%。
考慮另一示例,其中存在有對應(yīng)于標(biāo)識符值x和組索引值y的地址。根據(jù)對x和y的命中或缺失,有四種不同的可能??赡苄砸幻辛藊和y兩者。在這種情況下,對應(yīng)于(x,y)的地址在所述表中。假設(shè)i和j分別表示x和y的條目號,則將vflag[i][j]設(shè)為1。可能性二對于x缺失而命中了y。如果j表示y的條目號,x替換MAB 38中的條目i,則vflag[i][j]必須設(shè)為1,而其它vflag[i][*]設(shè)為0。可能性三命中x而對于y缺失。假設(shè)i表示x的條目號,且y替換MAB 38中的條目j,則將vflag[i][j]設(shè)為1,而其它vflag[*][j]設(shè)為0。可能性四最后,對于x和y都缺失。如果x和y替換MAB 38中的條目i和條目j,則將vflag[i][j]設(shè)為1,而將其它vflag[i][*]和vflag[*][j]設(shè)為0。
為了保持MAB 38與高速緩存存儲器14一致,如果偏移的高18位不全為零并且也不全為一,則將對應(yīng)于條目LRU的vflag設(shè)為0。只要MAB38中標(biāo)識符條目數(shù)小于高速緩存存儲器路徑數(shù),則這可確保MAB 38與高速緩存存儲器之間的一致性。換言之,如果在MAB 38中的標(biāo)識符和組索引對有效,則與它們相對應(yīng)的數(shù)據(jù)將一直存在于高速緩存存儲器14中。關(guān)鍵路徑延遲是14位加法器延遲和9位比較器延遲之和,其小于目標(biāo)處理器的時鐘周期。
應(yīng)注意,圖3的情況反映了這樣的情形,其中并不需要改變管線結(jié)構(gòu)或高速緩存構(gòu)造。這種構(gòu)造易于獲得作為可合成核心(RTL編碼),并易于集成(適于基于軟IP的設(shè)計)。另外,這種結(jié)構(gòu)并不會有損性能。與地址生成并行地進行MAB查找,從而MAB 38的延遲小于32位ALU的延遲。在MAB缺失的情況下并不需要額外的循環(huán)。
前面的描述集中于MAB 38的操作。然而,如上所述,系統(tǒng)10考慮使用這些功能元件的任何適當(dāng)?shù)慕M合和排列以提供存儲功能,并且這些技術(shù)可與其它技術(shù)適當(dāng)?shù)亟M合。在圖3中示出的一些步驟可在適當(dāng)?shù)那闆r下改變或刪除,并且也可在流程中添加附加步驟。這些改變可基于特定的通信系統(tǒng)構(gòu)造或特定排列或結(jié)構(gòu),并且不會脫離本發(fā)明的范圍或教導(dǎo)。應(yīng)注意,前面的說明詳細(xì)地描述了減少高速緩存存儲器14的能量的技術(shù),這是非常重要的。盡管這些技術(shù)是在特定布置和組合中描述的,但系統(tǒng)10預(yù)期高速緩存存儲器14可使用這些操作的任何合適組合和順序來實現(xiàn)能耗減少。
盡管已經(jīng)參照圖1至圖3中所示的具體實施例詳細(xì)地描述了本發(fā)明,但是應(yīng)理解,在不脫離本發(fā)明的精神和范圍的情況下可對其進行各種其它改變、替換和修改。例如,盡管已經(jīng)參照包括在系統(tǒng)10內(nèi)的多個元件描述了本發(fā)明,但是這些元件可重新布置或定位以適應(yīng)任何合適的處理和通信結(jié)構(gòu)。另外,在適當(dāng)?shù)那闆r下,上述元件中的任一個都可設(shè)置為相對于系統(tǒng)10或者相對于彼此分離的外部部件。本發(fā)明在這些元件的布置以及它們的內(nèi)部元件方面具有極大的靈活性??梢栽谶m當(dāng)?shù)那闆r下基于具體處理需要來設(shè)計這些結(jié)構(gòu)。
對于本領(lǐng)域的技術(shù)人員可得知多種其它改變、替換、變動、變更和修改,并且本發(fā)明旨在將所有這些改變、替換、變動、變更和修改都包括在所附權(quán)利要求的范圍內(nèi)。為了有助于美國專利商標(biāo)局(USPTO)以及關(guān)于該申請的任何專利的任何讀者來理解所附權(quán)利要求,申請人希望注意的是,申請人(a)并不希望所附權(quán)利要求中的任一項(如在其申請日存在的一樣)引用35U.S.C.部分112的第六段(6),除非在特定權(quán)利要求中具體使用詞語“用于…的裝置”或“用于…的步驟”;以及(b)并不希望通過說明書中的任何語句以在所附權(quán)利要求書中并未反映的任何方式限制本發(fā)明。
權(quán)利要求
1.一種用于減少高速緩存存儲器的能量的方法,包括以下步驟為高速緩存存儲器實現(xiàn)路徑記憶,該路徑記憶利用存儲器地址緩沖元件,該存儲器地址緩沖元件可操作以存儲與先前訪問過的地址相關(guān)的信息,其中可訪問該存儲器地址緩沖元件來減少在訪問高速緩存存儲器時的能耗;存儲與多個數(shù)據(jù)段相關(guān)的多個條目,其中對于選出的一個或更多個所述條目,存在指向包括所需數(shù)據(jù)段的路徑的地址字段;以及用與所述一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符和一個或更多個組索引來替換所述一個或更多個先前訪問過的地址。
2.根據(jù)權(quán)利要求1所述的方法,還包括查閱所述存儲器地址緩沖元件,以確定所需數(shù)據(jù)段目前是否存在于所述高速緩存存儲器中。
3.根據(jù)權(quán)利要求1所述的方法,還包括確定是否存在存儲器地址緩沖元件命中,該命中反映了這樣的情況,其中所需數(shù)據(jù)段存在于所述高速緩存存儲器中;以及一旦識別出所選出的一個路徑中包括所需數(shù)據(jù)段,則使所述路徑中的一個或更多個無效。
4.根據(jù)權(quán)利要求1所述的方法,還包括通過用一個或更多個附加地址來替換所述高速緩存存儲器中包括的一個或更多個先前訪問過的地址,來更新存儲器地址緩沖元件。
5.根據(jù)權(quán)利要求1所述的方法,還包括通過使用基地址和偏移項而生成與所需數(shù)據(jù)段相關(guān)的目標(biāo)地址,利用該目標(biāo)地址可以與所述存儲器地址緩沖元件溝通以查找所需數(shù)據(jù)段。
6.根據(jù)權(quán)利要求1所述的方法,還包括在一處理器上實現(xiàn)所述高速緩存存儲器,該處理器可操作以執(zhí)行一個或更多個電子任務(wù)并從所述高速緩存存儲器請求一個或更多個所述數(shù)據(jù)段。
7.一種用于減少高速緩存存儲器的能量的系統(tǒng),其包括用于為高速緩存存儲器實現(xiàn)路徑記憶的裝置;利用存儲器地址緩沖元件的裝置,該存儲器地址緩沖元件可操作以存儲與先前訪問過的地址相關(guān)的信息,其中可訪問該存儲器地址緩沖元件來減少訪問高速緩存存儲器時的能耗;用于存儲與多個數(shù)據(jù)段相關(guān)的多個條目的裝置,其中對于選出的一個或更多個條目,有指示包括所需數(shù)據(jù)段的路徑的地址字段;以及裝置,用于利用與所述一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符和一個或更多個組索引來替換所述一個或更多個先前訪問過的地址。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括用于查閱所述存儲器地址緩沖元件,以確定所需數(shù)據(jù)段目前是否存在于所述高速緩存存儲器中的裝置。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括用于確定是否存在存儲器地址緩沖元件命中的裝置,該命中反映了這樣的情況,其中所需數(shù)據(jù)段存在于所述高速緩存存儲器中;以及一旦識別出所選出的一個路徑中包括所需數(shù)據(jù)段,則使所述路徑中的一個或更多個路徑無效。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括裝置,通過用一個或更多個附加地址來替換包括在所述高速緩存存儲器中的一個或更多個先前訪問過的地址,來更新存儲器地址緩沖元件。
11.根據(jù)權(quán)利要求7所述的系統(tǒng),還包括裝置,通過使用基地址和偏移項而生成與所需數(shù)據(jù)段相關(guān)的目標(biāo)地址,利用該目標(biāo)地址可以與所述存儲器地址緩沖元件溝通以查找所需數(shù)據(jù)段。
12.一種用于減少高速緩存存儲器的能量的軟件,該軟件包含在計算機可讀介質(zhì)中,并包括計算機代碼從而當(dāng)執(zhí)行時其可操作以為高速緩存存儲器實現(xiàn)路徑記憶;利用可操作的存儲器地址緩沖元件來存儲與先前訪問過的地址相關(guān)的信息,其中可訪問該存儲器地址緩沖元件來減少訪問高速緩存存儲器時的能耗;存儲與多個數(shù)據(jù)段相關(guān)的多個條目,其中對于所選的一個或更多個所述條目,有指示包括所需數(shù)據(jù)段的路徑的地址字段;以及利用與所述一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符和一個或更多個組索引來替換所述一個或更多個先前訪問過的地址。
13.根據(jù)權(quán)利要求12所述的介質(zhì),其中,所述代碼還可操作以查閱所述存儲器地址緩沖元件,以確定所需數(shù)據(jù)段目前是否存在于所述高速緩存存儲器中。
14.根據(jù)權(quán)利要求12所述的介質(zhì),其中,所述代碼還可操作以確定是否存在存儲器地址緩沖元件命中,該命中反映了這樣的情況,其中所需數(shù)據(jù)段存在于所述高速緩存存儲器中;以及一旦識別出所述所選路徑之一包括所需數(shù)據(jù)段,則使得所述路徑中的一個或更多個路徑無效。
15.根據(jù)權(quán)利要求12所述的介質(zhì),其中,所述代碼還可操作以通過用一個或更多個附加地址來替換包括在所述高速緩存存儲器中的一個或更多個先前訪問過的地址,來更新所述存儲器地址緩沖元件。
16.根據(jù)權(quán)利要求12所述的介質(zhì),其中,所述代碼還可操作以通過使用基地址和偏移項而生成與所需數(shù)據(jù)段相關(guān)的目標(biāo)地址,利用該目標(biāo)地址可以與所述存儲器地址緩沖元件溝通以查找所需數(shù)據(jù)段。
17.一種用于減少高速緩存存儲器的能量的設(shè)備,包括高速緩存存儲器;和存儲器地址緩沖元件,其與該高速緩存存儲器連接,其中為高速緩存存儲器實現(xiàn)路徑記憶,該路徑記憶利用該存儲器地址緩沖元件,該存儲器地址緩沖元件可操作以存儲與先前訪問過的地址相關(guān)的信息,并且其中可訪問該存儲器地址緩沖元件來減少訪問高速緩存存儲器時的能耗,可在該存儲器地址緩沖元件中存儲與多個數(shù)據(jù)段相關(guān)的多個條目,并且對于所選的一個或更多個所述條目,有指示包括所需數(shù)據(jù)段的路徑的地址字段,一個或更多個先前訪問地址可以用與一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符和一個或更多個組索引來替換。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,可訪問所述存儲器地址緩沖元件,以確定所需數(shù)據(jù)段目前是否存在于所述高速緩存存儲器中。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中,可確定是否存在存儲器地址緩沖元件命中,該命中反映了所需數(shù)據(jù)段存在于所述高速緩存存儲器中的情況,并且其中一旦識別出所選出的路徑之一包括所需數(shù)據(jù)段,則使得所述路徑中的一個或更多個路徑無效。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其中,可以通過用一個或更多個附加地址來替換包括在所述高速緩存存儲器中的一個或更多個先前訪問過的地址,來更新存儲器地址緩沖元件。
21.根據(jù)權(quán)利要求17所述的設(shè)備,其中,通過使用基地址和偏移項而生成與所需數(shù)據(jù)段相關(guān)的目標(biāo)地址,利用該目標(biāo)地址可以與所述存儲器地址緩沖元件溝通以查找所需數(shù)據(jù)段。
22.根據(jù)權(quán)利要求17所述的設(shè)備,還包括一處理器,其可操作以與所述高速緩存存儲器連接,從而執(zhí)行一個或更多個電子任務(wù),并且從所述高速緩存存儲器請求一個或更多個所述數(shù)據(jù)段。
23.根據(jù)權(quán)利要求17所述的設(shè)備,其中,所述條目的數(shù)量與所述組索引的數(shù)量不同。
24.根據(jù)權(quán)利要求17所述的設(shè)備,其中,與地址計算并行地執(zhí)行對所述存儲器地址緩沖元件的訪問。
25.根據(jù)權(quán)利要求17所述的設(shè)備,其中,可提供一個或更多個標(biāo)志,所述標(biāo)志與一個或更多個先前訪問過的地址相對應(yīng),并且識別一個或更多個所述數(shù)據(jù)段是否有效。
全文摘要
提供了一種用于路徑記憶設(shè)備,其可利用存儲器地址緩沖元件,該存儲器地址緩沖元件可操作以存儲與先前訪問過的地址相關(guān)的信息。可訪問該存儲器地址緩沖元件以減少在訪問高速緩存存儲器時的能耗??稍谠摯鎯ζ鞯刂肪彌_元件中存儲與多個數(shù)據(jù)段相關(guān)的多個條目。對于所選的一個或更多個所述條目,有指示包括所需數(shù)據(jù)段的路徑的地址字段。該存儲器地址緩沖元件包括一個或更多個路徑,所述路徑可存儲一個或更多個可從所述高速緩存存儲器查找的數(shù)據(jù)段。一個或更多個先前訪問過的地址可以用與一個或更多個先前訪問過的地址相關(guān)的一個或更多個標(biāo)識符和一個或更多個組索引來替換。
文檔編號G06F12/08GK1763730SQ20051010799
公開日2006年4月26日 申請日期2005年9月30日 優(yōu)先權(quán)日2004年10月22日
發(fā)明者石原亨, 法爾扎·法拉赫 申請人:富士通株式會社