TW201308079A - 快取記憶體裝置與快取記憶體資料存取方法 - Google Patents
快取記憶體裝置與快取記憶體資料存取方法 Download PDFInfo
- Publication number
- TW201308079A TW201308079A TW101125815A TW101125815A TW201308079A TW 201308079 A TW201308079 A TW 201308079A TW 101125815 A TW101125815 A TW 101125815A TW 101125815 A TW101125815 A TW 101125815A TW 201308079 A TW201308079 A TW 201308079A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage
- path
- marked
- target address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種快取記憶體資料存取方法,適用於與一處理器及一主記憶體電連接之一快取記憶體裝置,該快取記憶體裝置包括具有多個儲存組之一資料儲存單元,每一儲存組具有分別對應多個存取路徑的多個儲存元件,該快取記憶體資料存取方法包含下列步驟:接收由該處理器所傳送之一目標位址;根據該目標位址判斷該資料儲存單元中是否存有一目標資料;接收該目標資料;根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該目標位址是否介於一鎖定範圍來選取一犧牲路徑;以及將該目標資料寫入該犧牲路徑中。一種快取記憶體裝置亦被揭露。
Description
本發明是有關於一種快取記憶體裝置與快取記憶體資料存取方法,特別是指一種在一快取記憶體中鎖定並存取一關鍵資料的裝置與方法。
現今一快取記憶體(Cache Memory)已經被廣泛應用於一處理單元(如:一中央處理器(CPU))中,當該處理單元欲取得一目標資料時,若是該目標資料已存放於該快取記憶體中,則可以有效提升該處理單元的存取效率。
參閱圖1,一處理單元11包括一處理器111與一快取記憶體112。該處理器111由該快取記憶體112中存取一目標資料,當該處理器111可以從該快取記憶體112中取得該目標資料時,稱之為快取命中(Cache hit),反之,若無法從該快取記憶體112中取得該目標資料時,稱之為快取漏失(Cache miss);當發生快取漏失時,該快取記憶體112會從一主記憶體(Main memory)12中取得該目標資料。
在美國公告專利號7228386所提出的一先前技術(以下稱為第一先前技術)中,其針對一對應多數個存取路徑(Way)之快取記憶體,利用一路徑開啟暫存器(Way enable register)以控制每一個存取路徑的開啟或關閉。舉例來說,參閱圖2,假設一快取記憶體41具有分別對應索引S1~S8的八個儲存組,每一儲存組具有分別對應四個存取路徑W1~W4的四個儲存元件,該四個存取路徑W1~W4
分別稱為一第一存取路徑W1、一第二存取路徑W2、一第三存取路徑W3,及一第四存取路徑W4。該路徑開啟暫存器42大小為四位元,且每一位元用以表示開啟或關閉一相對應存取路徑,也就是說,假設該路徑開啟暫存器42的值為1110,且第0至第3位元分別對應到第一至第四存取路徑W1~W4,第0位元為0代表該第一存取路徑W1被關閉,因此不能再覆寫其他資料於該第一存取路徑W1所對應的該等儲存元件中。
一般而言,這樣的目的在於當有一關鍵資料(Critical data)被存放於該第一存取路徑W1所對應的一儲存元件中時,且該關鍵資料是一使用頻率較高的資料,為避免該關鍵資料被覆寫造成下次需讀取時,必須重新由該主記憶體處取得,進而導致處理單元讀取資料的效率下降,因而關閉該第一存取路徑W1的寫入功能。
然而,在該第一存取路徑W1所對應的該等儲存元件中不一定全部都已存放關鍵資料,舉例來說,如圖2所示,假設索引S8所對應的該儲存組中對應於該第一存取路徑W1的儲存元件(以下以儲存元件(W1,S8)來表示,其餘類推),以及儲存元件(W1,S7)、(W1,S5)、(W1,S4)、(W1,S3)皆各自儲存一關鍵資料,因為該路徑開啟暫存器42的第0位元為0,因此,該第一存取路徑W1所對應的其他儲存元件,如:(W1,S6)、(W1,S2)、(W1,S1),無法再存放其他資料。換句話說,將造成該第一存取路徑W1的利用率下降形成浪費,同時,亦可能會使得該快取記憶體的快
取命中率(Cache hit rate)下降,因此,該第一先前技術仍具有相當大的改善空間。
此外,在美國公告專利號6047358所提出的另一先前技術(以下稱為第二先前技術)中,其利用多數個暫存器設定一鎖定範圍(Lock range)的大小(LOCK_SIZE)、該鎖定範圍的對應位址(LOCK_ADDRESS)等資訊,進而於該快取記憶體裝置上設定出該鎖定範圍的空間以供儲存鎖定的資料使用。
然而,該第二先前技術完成設定該鎖定範圍的空間之後,必需要執行一初始化程序(Initialization procedure)以鎖定多數關鍵資料於其中;此外,若是該等關鍵資料之資料量大小大於該快取記憶體裝置時,該第二先前技術無法設定一大於該快取記憶體裝置之儲存空間大小之鎖定範圍,因此,其仍然存在著許多問題仍待進一步改善之。
因此,本發明的目的之一即在提供一種可以解決上述問題的快取記憶體資料存取方法。
於是,本發明快取記憶體資料存取方法適用於與一處理器及一主記憶體電連接之一快取記憶體裝置。該快取記憶體裝置包括具有多個儲存組之一資料儲存單元。每一儲存組具有分別對應多個存取路徑的多個儲存元件。該快取記憶體資料存取方法包含下列步驟:接收由該處理器所傳送之一目標位址;根據該目標位址判斷該資料儲存單元中是否存有一目
標資料;接收該目標資料;根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該目標位址是否介於一鎖定範圍來選取一犧牲路徑;以及將該目標資料寫入該犧牲路徑中。
而本發明的目的之二即在提供一種可以解決上述問題的快取記憶體裝置。
於是,本發明快取記憶體裝置耦接一處理器及一主記憶體,其包含:一控制單元,用以界定於該主記憶體中之一鎖定範圍;一資料儲存單元,具有多個儲存組,每一儲存組具有分別對應多個存取路徑的多個儲存元件;及一關鍵旗標單元,用於標示每一儲存元件中的資料是否介於該鎖定範圍中;其中,該鎖定範圍大於該資料儲存單元的大小。
而本發明的目的之三即在提供一種可以解決上述問題的快取記憶體資料存取方法。
於是,本發明快取記憶體資料存取方法適用於與一處理器及一主記憶體電連接之一快取記憶體裝置。該快取記憶體裝置包括具有多個儲存組之一資料儲存單元。每一儲存組具有分別對應多個存取路徑的多個儲存元件。該快取記憶體資料存取方法包含下列步驟:
接收由該處理器所傳送之一目標位址及一關鍵標記,該關鍵標記用以指示該主記憶體中與該目標位址對應的資料是否為關鍵的;根據該目標位址判斷該資料儲存單元中是否存有一目標資料;接收該目標資料;根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該關鍵標記是否指示關鍵的來選取一犧牲路徑;以及將該目標資料寫入該犧牲路徑中。
而本發明的目的之四即在提供一種可以解決上述問題的快取記憶體裝置。
於是,本發明快取記憶體裝置耦接一處理器及一主記憶體,其包含:一控制單元,用以接收由該處理器所傳送之一目標位址及一關鍵標記,該關鍵標記用以指示該主記憶體中與該目標位址對應的資料是否為關鍵的;一資料儲存單元,具有多個儲存組,每一儲存組具有分別對應多個存取路徑的多個儲存元件;及一關鍵旗標單元,用於標示每一儲存元件中的資料是否為關鍵的;其中,該資料儲存單元的大小小於該主記憶體中的關鍵資料的儲存範圍。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之多個較佳實施例的詳細說明中,將可清楚的呈現。
參閱圖3,本發明快取記憶體裝置9之第一較佳實施例,適用於與一處理器50及一主記憶體51電連接,且接收一由該處理器50所傳送之具有一標籤(Tag)欄位及一索引(Index)欄位之目標位址,其包含:一有效旗標單元91、一寫回旗標單元92、一取代優先權單元93、一關鍵旗標單元94、一標籤位址儲存單元95、一資料儲存單元96,及一控制單元97。
該控制單元97包括一鎖定範圍起始位址暫存器(Lock range top register)971、一鎖定範圍結束位址暫存器(Lock range base register)972、一關鍵路徑開啟暫存器(Critical way enable register)973,及一控制器974。
該鎖定範圍起始位址暫存器971與鎖定範圍結束位址暫存器972用以界定於該主記憶體51中之一鎖定範圍,且與該等先前技術最大不同的是,該鎖定範圍可被設定成一大於、小於、或等於該快取記憶體裝置9之儲存空間之大小的範圍。該關鍵路徑開啟暫存器973用以標示多個存取路徑中的每一者是否為鎖定的,也就是不能再覆寫其它資料。
在本實施例中,該資料儲存單元96是一資料記憶體(Data memory),其用以儲存欲儲存於該快取記憶體裝置9中
的資料,該資料儲存單元96具有多個儲存組,且每一儲存組具有分別對應該等存取路徑的多個儲存元件。該有效旗標單元91是一有效旗標記憶體(Valid bit memory),其每一位元用以標示一相對應之儲存元件中的資料是否為有效的,一般而言,其值為1時代表相對應之資料被標示為有效的,亦即有被使用,而其值為0時則代表相對應之資料為無效的。該寫回旗標單元92是一寫回記憶體(Dirty bit memory),其每一位元用以標示一相對應之儲存元件中的資料是否為寫回的,一般而言,其值為1時代表相對應之資料被標示為寫回的,也就是須寫回至主記憶體51中,其值為0時則代表相對應之資料不須寫回至主記憶體51中。該取代優先權單元93是一最近最少使用記憶體(LRU memory),用以標示每一儲存元件中的資料的取代順位,其根據一最近最少使用演算法(LRU algorithm)進行排序,亦即,當有新的資料要儲存時,被標示為第一順位的資料將優先被取代。該關鍵旗標單元94是一關鍵旗標記憶體(Critical memory),其每一位元用以表示一相對應之儲存元件中的資料是否為關鍵的,一般而言,其值為1時代表相對應之資料被標示為關鍵的,也就是其為在鎖定範圍內之關鍵資料,其值為0時則代表相對應之資料為非關鍵資料。該標籤位址儲存單元95是一標籤記憶體(Tag memory),其用以標示每一儲存元件中的資料在該主記憶體51中之位址。
參閱圖4,假設該資料儲存單元96具有分別對應索引
S1~S16的十六個儲存組,每一儲存組具有分別對應四個存取路徑W1~W4的四個儲存元件,因此,該資料儲存單元96具有4×16個儲存元件。相似的,該有效旗標單元91、該寫回旗標單元92、該取代優先權單元93、該關鍵旗標單元94與該標籤位址儲存單元95亦各自具有分別對應該4×16個儲存元件的4×16個儲存空間,因此,該4×16個儲存空間亦可藉由索引S1~S16及存取路徑W1~W4來定址。
如上所述之快取記憶體裝置9,經適當組配後得以完成一快取記憶體資料存取方法,現說明該快取記憶體資料存取方法如下。
聯合參閱圖3與圖5,本發明之快取記憶體資料存取方法8之第一較佳實施例,適用於上述快取記憶體裝置9,其包含下列步驟:步驟81是該控制器974根據該目標位址及該標籤位址儲存單元95,判斷該資料儲存單元96中是否存在一儲存元件存有一目標資料,也就是判斷是否快取命中,如果判斷結果為是,則流程前進到步驟87,如果判斷結果為否,則流程前進到步驟82。在本實施例中,該控制器974係判斷該標籤位址儲存單元95對應於該目標位址的索引欄位之該等儲存空間所標示的位址中,是否存在一位址等於該目標位址的標籤欄位,如果是,表示與該位址所對應的該儲存元件存有該目標資料。
步驟82是該控制器974由該主記憶體51讀取該目標
位址所對應之目標資料。在本實施例中,該控制器974是根據該目標位址的標籤欄位由該主記憶體51讀取該目標資料。
步驟83是該控制器974執行一犧牲路徑選擇程序,以選擇該等存取路徑中的一者作為一犧牲路徑。
步驟84是該控制器974將步驟82所讀取的該目標資料寫入該目標位址的索引欄位所對應的該儲存組中對應於該犧牲路徑的一儲存元件中。
步驟85是該控制器974更新該取代優先權單元93,以將該目標位址的索引欄位所對應的該儲存組中對應於該犧牲路徑的該儲存元件的取代順序後移。值得說明的是,在本實施例中,該取代優先權單元93是根據一最近最少使用演算法進行排序之更新,且該最近最少使用演算法為相關領域人士所熟知之技藝,因此在此不多作贅述,但在本發明中,該取代優先權單元93之排序更新方式並不以此為限。
步驟86是該控制器974更新該有效旗標單元91及該寫回旗標單元92,且在該目標位址的標籤欄位介於該鎖定範圍中時,更新該關鍵旗標單元94。流程結束。在本實施例中,更新該有效旗標單元91、該寫回旗標單元92及該關鍵旗標單元94的方式是將該目標位址的索引欄位所對應的該儲存組中對應於該犧牲路徑的該儲存元件分別標示為有效的、寫回的及關鍵的。
步驟87是該控制器974由該資料儲存單元96讀取該
目標位址所對應之該目標資料。
步驟88是該控制器974更新該取代優先權單元93,以將該目標位址所對應的該儲存元件的取代順序後移。流程結束。
需注意的是,在本實施例中,是先執行步驟82,之後才執步驟83,但在其它實施例中,可以是先執行步驟83,之後才執步驟82,但也可以是同時執行步驟82、83。
值得一提的是,在該快取記憶體資料存取方法中,最重要的是如何有效選擇該犧牲路徑以儲存該目標資料,並進一步提升該快取記憶體裝置9的快取命中率,因此,在步驟83中如何選取該犧牲路徑將至為關鍵,現說明如下。
聯合參閱圖3與圖6,該犧牲路徑選擇程序具有以下子步驟:子步驟831是該控制器974根據該有效旗標單元91,判斷該目標位址的索引欄位所對應之該儲存組之該等儲存元件是否皆被標示為有效的,如果判斷結果為是,則流程前進到子步驟832,如果判斷結果為否,則流程前進到子步驟73。
子步驟832是該控制器974判斷該目標位址的標籤欄位是否介於該鎖定範圍中,如果判斷結果為是,則流程前進到子步驟71,如果判斷結果為否,則流程前進到子步驟72。
子步驟71是該控制器974執行一第一犧牲路徑選擇子程序,以選擇該犧牲路徑。接著流程前進到子步驟833。
子步驟72是該控制器974執行一第二犧牲路徑選擇子程序,以選擇該犧牲路徑。接著流程前進到子步驟833。
子步驟73是該控制器974執行一第三犧牲路徑選擇子程序,以選擇該犧牲路徑。該犧牲路徑選擇程序結束。
子步驟833是該控制器974根據該寫回旗標單元92,當該目標位址的索引欄位所對應的該儲存組中對應於該犧牲路徑的該儲存元件被標示為寫回的時,將該儲存元件中的資料寫回至該主記憶體51。該犧牲路徑選擇程序結束。
聯合參閱圖3與圖7,該第一犧牲路徑選擇子程序包括以下子步驟:子步驟711是該控制器974根據該關鍵旗標單元94及該關鍵路徑開啟暫存器973,判斷該目標位址的索引欄位所對應的該儲存組中對應於被標示為鎖定的所有存取路徑的所有儲存元件是否皆被標示為關鍵的,如果判斷結果為是,則流程前進到子步驟712,如果判斷結果為否,則流程前進到子步驟713。
子步驟712是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑沒被標示為鎖定的。該第一犧牲路徑選擇子程序結束。在本實施例中,當該等存取路徑中有多個存取路徑可被選擇作為該犧牲路徑時,該控制器974會根據該取代優先權單元93進行選擇。
子步驟713是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑被標示為鎖定的,且對應於該目標位址的索引欄位所對應的該儲存組中沒被標示為
關鍵的一儲存元件。該第一犧牲路徑選擇子程序結束。
聯合參閱圖3與圖8,該第二犧牲路徑選擇子程序包括以下子步驟:子步驟721是該控制器974根據該關鍵旗標單元94及該關鍵路徑開啟暫存器973,判斷該目標位址的索引欄位所對應的該儲存組中對應於被標示為鎖定的所有存取路徑的所有儲存元件是否皆被標示為關鍵的,如果判斷結果為是,則流程前進到子步驟722,如果判斷結果為否,則流程前進到子步驟723。
子步驟722是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑沒被標示為鎖定的。該第二犧牲路徑選擇子程序結束。
子步驟723是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑對應於該目標位址的索引欄位所對應的該儲存組中沒被標示為關鍵的一儲存元件。該第二犧牲路徑選擇子程序結束。
聯合參閱圖3與圖9,該第三犧牲路徑選擇子程序包括以下子步驟:子步驟731是該控制器974判斷該目標位址的標籤欄位是否介於該鎖定範圍中,如果判斷結果為是,則流程前進到子步驟732,如果判斷結果為否,流程前進到子步驟735。
子步驟732是該控制器974根據該關鍵旗標單元94及該關鍵路徑開啟暫存器973,判斷該目標位址的索引欄位所
對應的該儲存組中對應於被標示為鎖定的所有存取路徑的所有儲存元件是否皆被標示為關鍵的,如果判斷結果為是,則流程前進到子步驟733,如果判斷結果為否,流程前進到子步驟734。
子步驟733是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑沒被標示為鎖定的,且對應於該目標位址的索引欄位所對應的該儲存組中沒被標示為有效的一儲存元件。該第三犧牲路徑選擇子程序結束。
子步驟734是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑被標示為鎖定的,且對應於該目標位址的索引欄位所對應的該儲存組中沒被標示為有效的一儲存元件。該第三犧牲路徑選擇子程序結束。
子步驟735是該控制器974選擇該等存取路徑中的一者作為該犧牲路徑,該犧牲路徑對應於該目標位址的索引欄位所對應的該儲存組中沒被標示為有效的一儲存元件。該第三犧牲路徑選擇子程序結束。
舉例來說,聯合參閱圖3與圖10,假設該控制器974根據該目標位址之索引欄位,選取該資料儲存單元96中相對應的一儲存組(例如:索引S15所對應的儲存組),且假設該關鍵路徑開啟暫存器973中相對應的值為0011,代表存取路徑W1、W2被標示為鎖定的,而存取路徑W3、W4沒被標示為鎖定的,並假設該有效旗標單元91中相對應的值為0000,代表儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)沒被標示為有效的,且該關鍵旗標單元94中
相對應的值為0000,代表儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)沒被標示為關鍵的。
假設現在要寫入一組目標資料之順序如下:C1、NC1、NC2、NC3、NC4、C2、NC5、C3及NC6,其中,C代表該目標資料為一關鍵資料,而NC代表該目標資料為一非關鍵資料。
當該控制器974要寫入該目標資料C1時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)並非全部被標示為有效的,因此流程前進到子步驟73(見圖6)。根據子步驟731(見圖9),由於該目標資料C1是一關鍵資料(其目標位址的標籤欄位介於鎖定範圍中),因此流程前進到子步驟732(見圖9)。根據子步驟732,由於儲存元件(W1,S15)、(W2,S15)皆沒被標示為關鍵的(其所儲存的資料未介於鎖定範圍中),因此流程前進到子步驟734(見圖9)。根據子步驟734,由於存取路徑W1、W2被標示為鎖定的,且儲存元件(W1,S15)、(W2,S15)皆沒被標示為有效的,因此存取路徑W1、W2中的任一者可被選擇作為該犧牲路徑,假設存取路徑W1被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料C1被寫入儲存元件(W1,S15)中,如圖10(a)所示。接著,根據步驟86(見圖5),儲存元件(W1,S15)被標示為有效的、關鍵的。
當該控制器974要寫入該目標資料NC1時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(
W3,S15)、(W4,S15)並非全部被標示為有效的,因此流程前進到子步驟73(見圖6)。根據子步驟731(見圖9),由於該目標資料NC1是一非關鍵資料,因此流程前進到子步驟735(見圖9)。根據子步驟735,由於儲存元件(W2,S15)、(W3,S15)、(W4,S15)沒被標示為有效的,因此存取路徑W2、W3、W4中的任一者可被選擇作為該犧牲路徑,假設存取路徑W2被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料NC1被寫入儲存元件(W2,S15)中,如圖10(b)所示。接著,根據步驟86(見圖5),儲存元件(W2,S15)被標示為有效的。
相似於存放該目標資料NC1的過程,該目標資料NC2被寫入儲存元件(W3,S15)中,如圖10(c)所示,且儲存元件(W3,S15)被標示為有效的,該目標資料NC3被寫入儲存元件(W4,S15)中,如圖10(c)所示,且儲存元件(W4,S15)被標示為有效的。
到目前為止,儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的。
當該控制器974要寫入該目標資料NC4時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的,因此流程前進到子步驟832(見圖6)。根據子步驟832,由於該目標資料NC4是一非關鍵資料,因此流程前進到子步驟72(見圖6)。根據子步驟721(見圖8),由於儲存元件(W1,S15)、(W2,S15)並非全部被標示為關鍵的,因此流程前進到子步
驟723(見圖8)。根據子步驟723,由於儲存元件(W2,S15)、(W3,S15)、(W4,S15)沒被標示為關鍵的,因此存取路徑W2、W3、W4中的任一者可被選擇作為該犧牲路徑,假設存取路徑W2被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料NC4被寫入儲存元件(W2,S15)中,如圖10(d)所示。接著,根據步驟86(見圖5),儲存元件(W2,S15)被標示為有效的。
聯合參閱圖3與圖11,當該控制器974要寫入該目標資料C2時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的,因此流程前進到子步驟832(見圖6)。根據子步驟832,由於該目標資料C2是一關鍵資料,因此流程前進到子步驟71(見圖6)。根據子步驟711(見圖7),由於儲存元件(W1,S15)、(W2,S15)並非全部被標示為關鍵的,因此流程前進到子步驟713(見圖7)。根據子步驟713,由於存取路徑W1、W2被標示為鎖定的,儲存元件(W2,S15)沒被標示為關鍵的,因此存取路徑W2可被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料C2被寫入儲存元件(W2,S15)中,如圖11(a)所示。接著,根據步驟86(見圖5),儲存元件(W2,S15)被標示為有效的、關鍵的。
到目前為止,儲存單元(W1,S15)、(W2,S15)皆被標示為關鍵的。
當該控制器974要寫入該目標資料NC5時,根據子步
驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的,因此流程前進到子步驟832(見圖6)。根據子步驟832,由於該目標資料NC5是一非關鍵資料,因此流程前進到子步驟72(見圖6)。根據子步驟721(見圖8),由於儲存元件(W1,S15)、(W2,S15)皆被標示為關鍵的,因此流程前進到子步驟722(見圖8)。根據子步驟722,由於存取路徑W3、W4沒被標示為鎖定的,因此存取路徑W3、W4中的任一者可被選擇作為該犧牲路徑,假設存取路徑W3被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料NC5被寫入儲存元件(W3,S15)中,如圖11(b)所示。接著,根據步驟86(見圖5),儲存元件(W3,S15)被標示為有效的。
當該控制器974要寫入該目標資料C3時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的,因此流程前進到子步驟832(見圖6)。根據子步驟832,由於該目標資料C3是一關鍵資料,因此流程前進到子步驟71(見圖6)。根據子步驟711(見圖7),由於儲存元件(W1,S15)、(W2,S15)皆被標示為關鍵的,因此流程前進到子步驟712(見圖7)。根據子步驟712,由於存取路徑W3、W4沒被標示為鎖定的,因此存取路徑W3、W4中的任一者可被選擇作為該犧牲路徑,假設存取路徑W4被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料C3被寫入儲存元件(W4,S15)中,如圖11(c)所示。接著,根據步驟86
(見圖5),儲存元件(W4,S15)被標示為有效的、關鍵的。
當該控制器974要寫入該目標資料NC6時,根據子步驟831(見圖6),由於儲存元件(W1,S15)、(W2,S15)、(W3,S15)、(W4,S15)皆被標示為有效的,因此流程前進到子步驟832(見圖6)。根據子步驟832,由於該目標資料NC6是一非關鍵資料,因此流程前進到子步驟72(見圖6)。根據子步驟721(見圖8),由於儲存元件(W1,S15)、(W2,S15)皆被標示為關鍵的,因此流程前進到子步驟722(見圖8)。根據子步驟722,由於存取路徑W3、W4沒被標示為鎖定的,因此存取路徑W3、W4中的任一者可被選擇作為該犧牲路徑,假設存取路徑W3被選擇作為該犧牲路徑。接著,根據步驟84(見圖5),該目標資料NC6被寫入儲存元件(W3,S15)中,如圖11(d)所示。接著,根據步驟86(見圖5),儲存元件(W3,S15)被標示為有效的。
請參考圖3與圖12,其為根據本發明之另一實施例之一種快取記憶體資料存取方法,其適用於與一處理器50及一主記憶體51電連接之一快取記憶體裝置9,該快取記憶體裝置9包括一控制單元97、一關鍵旗標單元94及具有多個儲存組之一資料儲存單元96,每一儲存組具有分別對應多個存取路徑的多個儲存元件,該控制單元97用以界定於該主記憶體中的一鎖定範圍,該關鍵旗標單元94用於標示每一儲存元件中的資料是否介於該鎖定範圍中,該快取記憶體資料存取方法包含下列步驟:
步驟502:該控制單元97接收由該處理器50所傳送之一目標位址;步驟504:該控制單元97根據該目標位址判斷該資料儲存單元96中是否存有一目標資料;步驟506:該控制單元97接收該目標資料;步驟508:該控制單元97根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該目標位址是否介於一鎖定範圍來選取一犧牲路徑;以及步驟510:該控制單元97將該目標資料寫入該犧牲路徑中。
較佳地,該鎖定範圍大於該資料儲存單元96的大小。
較佳地,在步驟508中,該控制單元97更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
較佳地,步驟508包括以下子步驟:子步驟514:該控制單元97選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的一儲存元件。
較佳地,步驟508包括以下子步驟:子步驟516:該控制單元97選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的一儲存元件。
較佳地,該快取記憶體資料存取方法更包括以下步驟:
步驟518:當該目標位址介於該鎖定範圍時,該控制單元97將該儲存元件標示為關鍵的。
綜上所述,上述實施例利用該關鍵旗標單元94與該關鍵路徑開啟暫存器973配合,當該關鍵路徑開啟暫存器973鎖定部分存取路徑時,藉由該關鍵旗標單元94之標示,仍可對鎖定存取路徑內儲存非關鍵資料或尚未使用之儲存元件進行存取,因此,可以大幅改善如第一先前技術中,因鎖定部分存取路徑以保留該等關鍵資料後,其間剩餘的儲存元件皆無法再利用的問題,同時,上述實施例亦可有效提升快取命中率;此外,由於沒被鎖定的存取路徑內所儲存的關鍵資料可被覆寫,所以該鎖定範圍可以大於該快取記憶體之儲存空間之大小,避免如第二先前技術般,當該鎖定範圍超出該外取記憶體之儲存範圍時,需重新設定該等相關暫存器,以及重設該鎖定範圍所造成使用上的困難,同時,上述實施例亦不需要任何初始化程序,因此,可以有效提高使用效率。故確實能達成本發明之目的。
參閱圖13,本發明之快取記憶體裝置9’之第二較佳實施例與該第一較佳實施例相似,不同之處在於:(1)本較佳實施例快取記憶體裝置9’的控制單元97’不包括該鎖定範圍起始位址暫存器971(見圖3)與該鎖定範圍結束位址暫存器972(見圖3);(2)該控制單元97’還接收由該處理器50’所傳送之一關鍵標記,該關鍵標記用以指示該主記憶體51中與該目標位址對應的資料是否為關鍵的;及(3)該控制單
元97’的控制器974’所執行的動作。
聯合參閱圖13至圖16,本發明之快取記憶體資料存取方法8’之第二較佳實施例,適用於上述快取記憶體裝置9’,且與該第一較佳實施例相似,不同之處在於:(1)在步驟86’中,該控制器974’更新該有效旗標單元91及該寫回旗標單元92,且在該關鍵標記指示關鍵的時,更新該關鍵旗標單元94;(2)在子步驟832’中,該控制器974’判斷該關鍵標記是否指示關鍵的,如果判斷結果為是,則流程前進到子步驟71,如果判斷結果為否,則流程前進到子步驟72;及(3)在子步驟731’中,該控制器974’判斷該關鍵標記是否指示關鍵的,如果判斷結果為是,則流程前進到子步驟732,如果判斷結果為否,流程前進到子步驟735。
請參考圖13與圖17,其為根據本發明之又一實施例之一種快取記憶體資料存取方法,其適用於與一處理器50’及一主記憶體51電連接之一快取記憶體裝置9’,該快取記憶體裝置9’包括一控制單元97’、一關鍵旗標單元94及具有多個儲存組之一資料儲存單元96,每一儲存組具有分別對應多個存取路徑的多個儲存元件,該關鍵旗標單元94用於標示每一儲存元件中的資料是否為關鍵的,該快取記憶體資料存取方法包含下列步驟:步驟502’:該控制單元97’接收由該處理器50’所傳送之一目標位址及一關鍵標記,該關鍵標記用以指示該主記憶體51中與該目標位址對應的資料是否為關鍵的;
步驟504’:該控制單元97’根據該目標位址判斷該資料儲存單元96中是否存有一目標資料;步驟506’:該控制單元97’接收該目標資料;步驟508’:該控制單元97’根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該關鍵標記是否指示關鍵的來選取一犧牲路徑;以及步驟510’:該控制單元97’將該目標資料寫入該犧牲路徑中。
較佳地,該資料儲存單元96的大小小於該主記憶體51中的關鍵資料的儲存範圍之大小。
較佳地,在步驟508’中,該控制單元97’更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
較佳地,步驟508’包括以下子步驟:子步驟514’:該控制單元97’選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的一儲存元件。
較佳地,步驟508’包括以下子步驟:子步驟516’:該控制單元97’選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的一儲存元件。
較佳地,該快取記憶體資料存取方法更包括以下步驟:步驟518’:當該關鍵標記指示關鍵的時,該控制單元
97’將該儲存元件標示為關鍵的。
綜上所述,上述實施例除了能解決第一先前技術的問題之外,該主記憶體51中的關鍵資料的儲存範圍之大小亦可以大於該快取記憶體之儲存空間的大小,能解決第二先前技術的問題。故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
11‧‧‧處理單元
111‧‧‧處理器
112‧‧‧快取記憶體
12‧‧‧主記憶體
41‧‧‧快取記憶體
42‧‧‧路徑開啟暫存器
50、50’‧‧‧處理器
51‧‧‧主記憶體
502~510‧‧‧步驟
502’~510’‧‧‧步驟
514~516‧‧‧子步驟
514’~516’‧‧‧子步驟
518、518’‧‧‧步驟
8、8’‧‧‧快取記憶體資料存取方法
81~88、86’‧‧‧步驟
831~833、832’‧‧‧子步驟
71~73‧‧‧子步驟
711~713‧‧‧子步驟
721~723‧‧‧子步驟
731~735、731’‧‧‧子步驟
9、9’‧‧‧快取記憶體裝置
91‧‧‧有效旗標單元
92‧‧‧寫回旗標單元
93‧‧‧取代優先權單元
94‧‧‧關鍵旗標單元
95‧‧‧標籤位址儲存單元
96‧‧‧資料儲存單元
97、97’‧‧‧控制單元
971‧‧‧鎖定範圍起始位置暫存器
972‧‧‧鎖定範圍結束位置暫存器
973‧‧‧關鍵路徑開啟暫存器
974、974’‧‧‧控制器
圖1是一先前技術之系統方塊圖;圖2是該先前技術控制存取路徑之示意圖;圖3是本發明之快取記憶體裝置之第一較佳實施例之系統方塊圖;圖4是本發明之快取記憶體裝置之第一較佳實施例之一說明範例;圖5是本發明之快取記憶體資料存取方法之第一較佳實施例之流程圖;圖6是本發明之快取記憶體資料存取方法之第一較佳實施例之犧牲路徑選擇程序之流程圖;圖7是本發明之快取記憶體資料存取方法之第一較佳實施例之第一犧牲路徑選擇子程序之流程圖;圖8是本發明之快取記憶體資料存取方法之第一較佳實施例之第二犧牲路徑選擇子程序之流程圖;
圖9是本發明之快取記憶體資料存取方法之第一較佳實施例之第三犧牲路徑選擇子程序之流程圖;圖10是本發明之快取記憶體資料存取方法之第一較佳實施例之一說明範例;圖11是本發明之快取記憶體資料存取方法之第一較佳實施例之一說明範例(續);圖12是本發明之快取記憶體資料存取方法之另一實施例;圖13是本發明之快取記憶體裝置之第二較佳實施例之系統方塊圖;圖14是本發明之快取記憶體資料存取方法之第二較佳實施例之流程圖;圖15是本發明之快取記憶體資料存取方法之第二較佳實施例之犧牲路徑選擇程序之流程圖;圖16是本發明之快取記憶體資料存取方法之第二較佳實施例之第三犧牲路徑選擇子程序之流程圖;及圖17是本發明之快取記憶體資料存取方法之又一實施例。
50‧‧‧處理器
51‧‧‧主記憶體
9‧‧‧快取記憶體裝置
91‧‧‧有效旗標單元
92‧‧‧寫回旗標單元
93‧‧‧取代優先權單元
94‧‧‧關鍵旗標單元
95‧‧‧標籤位址儲存單元
96‧‧‧資料儲存單元
97‧‧‧控制單元
971‧‧‧鎖定範圍起始位置暫存器
972‧‧‧鎖定範圍結束位置暫存器
973‧‧‧關鍵路徑開啟暫存器
974‧‧‧控制器
Claims (24)
- 一種快取記憶體資料存取方法,適用於與一處理器及一主記憶體電連接之一快取記憶體裝置,該快取記憶體裝置包括具有多個儲存組之一資料儲存單元,每一儲存組具有分別對應多個存取路徑的多個儲存元件,該快取記憶體資料存取方法包含下列步驟:接收由該處理器所傳送之一目標位址;根據該目標位址判斷該資料儲存單元中是否存有一目標資料;接收該目標資料;根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該目標位址是否介於一鎖定範圍來選取一犧牲路徑;以及將該目標資料寫入該犧牲路徑中。
- 如申請專利範圍第1項所述之快取記憶體資料存取方法,其中該鎖定範圍大於該資料儲存單元的大小。
- 如申請專利範圍第1項所述之快取記憶體資料存取方法,其中更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
- 如申請專利範圍第3項所述之快取記憶體資料存取方法,其中選取該犧牲路徑之步驟包括以下子步驟:選擇一被標示為鎖定的存取路徑作為該犧牲路徑, 其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的一儲存元件。
- 如申請專利範圍第4項所述之快取記憶體資料存取方法,更包括以下步驟:當該目標位址介於該鎖定範圍時,將該儲存元件標示為關鍵的。
- 如申請專利範圍第3項所述之快取記憶體資料存取方法,其中選取該犧牲路徑之步驟包括以下子步驟:選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的一儲存元件。
- 一種快取記憶體裝置,耦接一處理器及一主記憶體,其包含:一控制單元,用以界定於該主記憶體中之一鎖定範圍;一資料儲存單元,具有多個儲存組,每一儲存組具有分別對應多個存取路徑的多個儲存元件;及一關鍵旗標單元,用於標示每一儲存元件中的資料是否介於該鎖定範圍中;其中,該鎖定範圍大於該資料儲存單元的大小。
- 如申請專利範圍第7項所述之快取記憶體裝置,其中當該控制單元接收由該處理器所傳送之一目標位址,且該資料儲存單元未儲存有對應該目標位址之一目標資料時,根據該目標位址所對應之該儲存組之該等儲存元件是 否被標示為有效的以及該目標位址是否介於該鎖定範圍來自該等存取路徑選取一犧牲路徑,並將該目標資料寫入該犧牲路徑。
- 如申請專利範圍第8項所述之快取記憶體裝置,其中該控制單元更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
- 如申請專利範圍第9項所述之快取記憶體裝置,其中該控制單元選擇一被標示為鎖定的存取路徑作為該犧牲路徑,該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的該儲存元件。
- 如申請專利範圍第10項所述之快取記憶體裝置,其中當該目標位址介於該鎖定範圍時,該控制單元將該儲存元件標示為關鍵的。
- 如申請專利範圍第9項所述之快取記憶體裝置,其中該控制單元選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的該儲存元件。
- 一種快取記憶體資料存取方法,適用於與一處理器及一主記憶體電連接之一快取記憶體裝置,該快取記憶體裝置包括具有多個儲存組之一資料儲存單元,每一儲存組具有分別對應多個存取路徑的多個儲存元件,該快取記憶體資料存取方法包含下列步驟:接收由該處理器所傳送之一目標位址及一關鍵標記 ,該關鍵標記用以指示該主記憶體中與該目標位址對應的資料是否為關鍵的;根據該目標位址判斷該資料儲存單元中是否存有一目標資料;接收該目標資料;根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該關鍵標記是否指示關鍵的來選取一犧牲路徑;以及將該目標資料寫入該犧牲路徑中。
- 如申請專利範圍第13項所述之快取記憶體資料存取方法,其中該資料儲存單元的大小小於該主記憶體中的關鍵資料的儲存範圍之大小。
- 如申請專利範圍第13項所述之快取記憶體資料存取方法,其中更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
- 如申請專利範圍第15項所述之快取記憶體資料存取方法,其中選取該犧牲路徑之步驟包括以下子步驟:選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的一儲存元件。
- 如申請專利範圍第16項所述之快取記憶體資料存取方法,更包括以下步驟: 當該關鍵標記指示關鍵的時,將該儲存元件標示為關鍵的。
- 如申請專利範圍第15項所述之快取記憶體資料存取方法,其中選取該犧牲路徑之步驟包括以下子步驟:選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的一儲存元件。
- 一種快取記憶體裝置,耦接一處理器及一主記憶體,其包含:一控制單元,用以接收由該處理器所傳送之一目標位址及一關鍵標記,該關鍵標記用以指示該主記憶體中與該目標位址對應的資料是否為關鍵的;一資料儲存單元,具有多個儲存組,每一儲存組具有分別對應多個存取路徑的多個儲存元件;及一關鍵旗標單元,用於標示每一儲存元件中的資料是否為關鍵的;其中,該資料儲存單元的大小小於該主記憶體中的關鍵資料的儲存範圍之大小。
- 如申請專利範圍第19項所述之快取記憶體裝置,其中當該資料儲存單元未儲存有對應該目標位址之一目標資料時,根據該目標位址所對應之該儲存組之該等儲存元件是否被標示為有效的以及該關鍵標記是否指示關鍵的來自該等存取路徑選取一犧牲路徑,並將該目標資料寫入該犧牲路徑。
- 如申請專利範圍第20項所述之快取記憶體裝置,其中該控制單元更根據該目標位址所對應的該儲存組中對應於被標示為鎖定的存取路徑的所有儲存元件是否被標示為關鍵的來選取該犧牲路徑。
- 如申請專利範圍第21項所述之快取記憶體裝置,其中該控制單元選擇一被標示為鎖定的存取路徑作為該犧牲路徑,該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為關鍵的該儲存元件。
- 如申請專利範圍第22項所述之快取記憶體裝置,其中當該關鍵標記指示關鍵的時,該控制單元將該儲存元件標示為關鍵的。
- 如申請專利範圍第21項所述之快取記憶體裝置,其中該控制單元選擇一被標示為鎖定的存取路徑作為該犧牲路徑,其中該存取路徑對應於該目標位址所對應的該儲存組中沒被標示為有效的該儲存元件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101125815A TW201308079A (zh) | 2011-08-09 | 2012-07-18 | 快取記憶體裝置與快取記憶體資料存取方法 |
US13/569,831 US20130042076A1 (en) | 2011-08-09 | 2012-08-08 | Cache memory access method and cache memory apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100128361 | 2011-08-09 | ||
TW101125815A TW201308079A (zh) | 2011-08-09 | 2012-07-18 | 快取記憶體裝置與快取記憶體資料存取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201308079A true TW201308079A (zh) | 2013-02-16 |
Family
ID=47678272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101125815A TW201308079A (zh) | 2011-08-09 | 2012-07-18 | 快取記憶體裝置與快取記憶體資料存取方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130042076A1 (zh) |
TW (1) | TW201308079A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105144120B (zh) * | 2013-03-28 | 2018-10-23 | 慧与发展有限责任合伙企业 | 基于存储器地址将来自高速缓存行的数据存储到主存储器 |
US9513904B2 (en) | 2013-10-15 | 2016-12-06 | Mill Computing, Inc. | Computer processor employing cache memory with per-byte valid bits |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6848024B1 (en) * | 2000-08-07 | 2005-01-25 | Broadcom Corporation | Programmably disabling one or more cache entries |
US20040015669A1 (en) * | 2002-07-19 | 2004-01-22 | Edirisooriya Samantha J. | Method, system, and apparatus for an efficient cache to support multiple configurations |
US20050198442A1 (en) * | 2004-03-02 | 2005-09-08 | Mandler Alberto R. | Conditionally accessible cache memory |
US7321954B2 (en) * | 2004-08-11 | 2008-01-22 | International Business Machines Corporation | Method for software controllable dynamically lockable cache line replacement system |
US7716423B2 (en) * | 2006-02-07 | 2010-05-11 | International Business Machines Corporation | Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes |
US7574564B2 (en) * | 2006-05-11 | 2009-08-11 | Freescale Semiconductor, Inc. | Replacement pointer control for set associative cache and method |
US20080147989A1 (en) * | 2006-12-14 | 2008-06-19 | Arm Limited | Lockdown control of a multi-way set associative cache memory |
JP2008226141A (ja) * | 2007-03-15 | 2008-09-25 | Toshiba Corp | プログラムおよび情報処理装置 |
US7827360B2 (en) * | 2007-08-02 | 2010-11-02 | Freescale Semiconductor, Inc. | Cache locking device and methods thereof |
-
2012
- 2012-07-18 TW TW101125815A patent/TW201308079A/zh unknown
- 2012-08-08 US US13/569,831 patent/US20130042076A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130042076A1 (en) | 2013-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7426626B2 (en) | TLB lock indicator | |
ES2408189T3 (es) | Traducción dinámica de dirección con protección de búsqueda y carga. | |
US20160098353A1 (en) | Methods and systems for memory de-duplication | |
JP6821879B2 (ja) | 非対称セットの結合キャッシュ | |
CN109416666A (zh) | 具有压缩数据和标签的缓存 | |
TWI382426B (zh) | 預測快取記憶體之存取位置的方法及系統 | |
JP6088951B2 (ja) | キャッシュメモリシステムおよびプロセッサシステム | |
CN109952565B (zh) | 内存访问技术 | |
US20070168617A1 (en) | Patrol snooping for higher level cache eviction candidate identification | |
US9720847B2 (en) | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed | |
US7506099B2 (en) | Semiconductor storage apparatus | |
TWI652576B (zh) | Memory system and processor system | |
CN106201331A (zh) | 用于写入数据的方法及设备与储存媒体 | |
JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
CN100517273C (zh) | 高速缓冲存储器及其控制方法 | |
JP3929872B2 (ja) | キャッシュメモリ、プロセッサ及びキャッシュ制御方法 | |
US9959212B2 (en) | Memory system | |
JPWO2005029336A1 (ja) | キャッシュメモリおよびキャッシュメモリ制御方法 | |
TW201308079A (zh) | 快取記憶體裝置與快取記憶體資料存取方法 | |
US10719436B2 (en) | Management device, information processing device, and management method | |
CN101419543B (zh) | 预测高速寄存器的存取位置的方法及系统 | |
US9251070B2 (en) | Methods and apparatus for multi-level cache hierarchies | |
JP2012003314A (ja) | キャッシュメモリ装置 | |
US11138119B2 (en) | Increasing effective cache associativity | |
US9454482B2 (en) | Duplicate tag structure employing single-port tag RAM and dual-port state RAM |