TWI697902B - 電子裝置及電子裝置的管理方法 - Google Patents

電子裝置及電子裝置的管理方法 Download PDF

Info

Publication number
TWI697902B
TWI697902B TW108102763A TW108102763A TWI697902B TW I697902 B TWI697902 B TW I697902B TW 108102763 A TW108102763 A TW 108102763A TW 108102763 A TW108102763 A TW 108102763A TW I697902 B TWI697902 B TW I697902B
Authority
TW
Taiwan
Prior art keywords
circuit
data
cache memory
control circuit
electronic device
Prior art date
Application number
TW108102763A
Other languages
English (en)
Other versions
TW202029200A (zh
Inventor
林瑞源
盧彥儒
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW108102763A priority Critical patent/TWI697902B/zh
Priority to US16/665,012 priority patent/US11176039B2/en
Application granted granted Critical
Publication of TWI697902B publication Critical patent/TWI697902B/zh
Publication of TW202029200A publication Critical patent/TW202029200A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • G06F2212/6012Reconfiguration of cache memory of operating mode, e.g. cache mode or local memory mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping

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

電子裝置及電子裝置的管理方法
本案是關於快取記憶體,尤其是關於多階層快取記憶體。
圖1為習知電子裝置的架構圖。電子裝置100包含處理器110、第一級(L1)快取記憶體120、第二級(L2)快取記憶體130以及系統記憶體140。L1快取記憶體120及L2快取記憶體130通常為靜態隨機存取記憶體(Static Random-Access Memory,SRAM),而系統記憶體140通常為動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM)。L2快取記憶體130包含控制電路132及儲存電路136。控制電路132將資料寫入儲存電路136或從儲存電路136讀取資料。儲存電路136的資料結構以及控制電路132所採用的用來存取儲存電路136的演算法為本技術領域具有通常知識者所熟知,故不再贅述。以下分別就快取記憶體的包容模式(inclusive mode)及專有模式(exclusive mode)討論電子裝置100所遭遇的問題。包容模式及專有模式為本技術領域具有通常知識者所熟知,故不再贅述。
圖2為電子裝置100操作於包容模式的部分流程圖。於資料存取過程中,當資料於L1快取記憶體120未命中(miss)時,L1快取記憶體120便向L2快取記憶體130請求資料(步驟S210)。在步驟S220中,控制電路132檢查儲存電路136中是否儲存L1快取記憶體120所請求的資料。假設儲存電路136中沒有儲存L1快取記憶體120所請求的資料(亦即L2快取記憶體沒有命中),則控制電路132向系統記憶體140請求資料(步驟S230)。接著,L2快取記憶體130取得來自系統記憶體140的資料(步驟S240),然後L2快取記憶體130將資料回覆給L1快取記憶體120(步驟S250)。收到L2快取記憶體130所回覆的資料之後,L1快取記憶體120儲存該資料。最後,L1快取記憶體120向L2快取記憶體130廣播(broadcast)資料(步驟S260)。在步驟S260中,控制電路132須檢查儲存電路136的標籤(tag)並且將資料寫入儲存電路136中。因為L2快取記憶體130的容量通常大於L1快取記憶體120的容量,所以存取儲存電路136也相對地耗時。舉例來說,如果存取L1快取記憶體120需要1個系統時脈的週期,則存取儲存電路136可能需2~3個週期。由於步驟S260相對地耗時,所以控制電路132無法立即處理的下一個存取命令,造成處理器110停滯(stall)。
圖3為電子裝置100操作於專有模式的部分流程圖。於資料存取過程中,當資料在L1快取記憶體120未命中時,L1快取記憶體120便向L2快取記憶體130請求資料(步驟S310)。在步驟S320中,控制電路132檢查儲存電路136中是否儲存L1快取記憶體120所請求的資料。假設儲存電路136中儲存L1快取記憶體120所請求的資料(亦即L2快取記憶體命中(hit)),則控制電路132將資料回覆給L1快取記憶體120(步驟S330)。 接著,L1快取記憶體120踢出(evict)一行資料(line data)至L2快取記憶體130(步驟S340)。在步驟S340中,控制電路132須檢查儲存電路136的標籤並且將該行資料寫入儲存電路136的適當位置中。由於存取儲存電路136相對地耗時,所以步驟S340可能使得控制電路132無法立即處理的下一個存取命令,造成處理器110停滯。
鑑於先前技術之不足,本案之一目的在於提供一種快取記憶體及快取記憶體的管理方法,以提升電子裝置的效能。
本案揭露一種快取記憶體,包含一儲存電路、一緩衝電路以及一控制電路。該緩衝電路以先進先出的方式儲存一資料。該控制電路耦接於該儲存電路及該緩衝電路,且用來在該儲存電路中找到一儲存空間,並將該資料寫入該儲存空間。
本案另揭露一種快取記憶體的管理方法,該快取記憶體包含一儲存電路及一緩衝電路,該緩衝電路以先進先出的方式儲存資料,該方法包含:當一目標資料被寫入該快取記憶體時,將該目標資料寫入該緩衝電路,而不檢查該儲存電路;以及在該儲存電路中找到一儲存空間,並將該目標資料寫入該儲存空間。
本案另揭露一種快取記憶體,包含一第一級快取記憶體、一第二級快取記憶體以及一暫存器。第一級快取記憶體包含一第一控制電路。第二級快取記憶體包含一第二控制電路。暫存器耦接於該第一控制電路及該第二控制電路。該第一控制電路及該第二控制電路參考該暫存器的 一暫存值以分別控制該第一級快取記憶體及該第二級快取記憶體操作於一包含模式(inclusive mode)或一專有模式(exclusive mode)。
藉由在快取記憶體中設置緩衝電路,快取記憶體的存取速度得以提升。相較於傳統技術,採用本案之快取記憶體的電子裝置可以減少處理器停滯的發生機率。再者,本案之快取記憶體易於在包容模式及專有模式之間切換。
有關本案的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
100、400、70:電子裝置
110、410、72:處理器
120、420、724、734:L1快取記憶體
130、430、74:L2快取記憶體
140、440:系統記憶體
132、432、7241、7341、742:控制電路
136、436、7242、7342、746:儲存電路
434、744:緩衝電路
720、730:核心
722、732:處理單元
76:暫存器
S210~S260、S310~S340、S510~S580、S610~S640:步驟
〔圖1〕為習知電子裝置的架構圖。;〔圖2〕為習知電子裝置操作於包容模式的部分流程圖;〔圖3〕為習知電子裝置操作於專有模式的部分流程圖;〔圖4〕為本案電子裝置之一實施例的架構圖;〔圖5〕為本案快取記憶體的管理方法的一實施例的流程圖;〔圖6〕為圖5的步驟S540的一實施例的流程圖;以及〔圖7〕為本案電子裝置之另一實施例的架構圖。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本案之揭露內容包含快取記憶體及快取記憶體的管理方法。由於本案之快取記憶體所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置實施例之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本案之快取記憶體的管理方法的部分或全部流程可以是軟體及/或韌體之形式,並且可藉由本案之快取記憶體或其等效裝置來執行,在不影響該方法實施例之充分揭露及可實施性的前提下,以下方法實施例之說明將著重於步驟內容而非硬體。
圖4為本案電子裝置之一實施例的架構圖。電子裝置400包含處理器410、L1快取記憶體420、L2快取記憶體430以及系統記憶體440。L2快取記憶體430包含控制電路432、緩衝電路434以及儲存電路436。緩衝電路434以先進先出(first-in first-out,FIFO)的方式儲存資料,而儲存電路436非以先進先出的方式儲存資料。在一些實施例中,緩衝電路434的容量小於儲存電路436的容量,如此一來,控制電路432對緩衝電路434的存取速度可以大於對儲存電路436的存取速度。儲存電路436儲存複數個標籤及對應該些標籤的複數個資料。儲存電路436的資料結構為本技術領域具有通常知識者所熟知,故不再贅述。緩衝電路434可以以SRAM實作或是以暫存器(例如正反器)實作,儲存電路436以SRAM實作。L1快取記憶體420及L2快取記憶體430可以操作於包容模式或專有模式。
圖5為本案快取記憶體的管理方法的一實施例的流程圖。圖5的流程適用於包容模式及專有模式。當控制電路432從L1快取記憶體420或系統記憶體440獲得目標資料並且要儲存該目標資料時,控制電路432將目標資料寫入緩衝電路434而不檢查儲存電路436的標籤(步驟S510)。接著,控制電路432判斷L2快取記憶體430是否處於閒置(idle)狀態(步驟S520)。如果步驟S520為否,控制電路432進一步判斷是否有另一目標資料需要被寫入L2快取記憶體430(步驟S530)。如果步驟S530為是,則控制電路432將該另一目標資料寫入緩衝電路434(步驟S510);如果步驟S530為否,則控制電路432尋找及/或回覆資料(包含存取緩衝電路434及/或儲存電路436)(步驟S540)。步驟S540結束後,流程回到步驟S520。
當L2快取記憶體430處於閒置狀態時(步驟S520為是),控制電路432判斷緩衝電路434是否為空(步驟S550)。如果緩衝電路434沒有儲存任何資料(亦即步驟S550為是),則回到步驟S520。如果緩衝電路434不為空(亦即步驟S550為否),則控制電路432在儲存電路436中尋找儲存空間(步驟S560),然後將目標資料從緩衝電路434中讀出並且寫入儲存電路436(步驟S570)。換言之,步驟S560及步驟S570的目的在於將目標資料從緩衝電路434移到儲存電路436。搬移之後,該目標資料只存在於儲存電路436而不存在於緩衝電路434。換言之,緩衝電路434及儲存電路436不同時儲存同一筆行資料。步驟S570完成後,控制電路432即完成將目標資料寫入L2快取記憶體430(步驟S580),然後流程回到步驟S520。
在步驟S560中,該儲存空間可以是未被占用的空間或是即將被剔除的資料所占用的空間。控制電路432可以根據演算法(例如最近最少使用(Least Recently Used,LRU))及儲存電路436中的標籤找到即將被踢出的資料。
由圖5的流程可知,緩衝電路434可能同時儲存複數個目標資料,而控制電路432以先進先出的方式依序將該些目標資料讀出並寫入儲存電路436。在一些實施例中,緩衝電路434中的資料具有與儲存電路436中的資料相同的格式(例如皆為行資料的格式),以簡化步驟S570。
因為在步驟S510中控制電路432不需要檢查儲存電路436的標籤來找出適合的儲存空間(無論是空的儲存空間或是即將被踢出的資料所占用的空間),所以理論上步驟S510只需要1個系統時脈的週期即可完成。作為比較,因為控制電路432將目標資料寫入儲存電路436時需要先檢查標籤,所以控制電路432直接將目標資料寫入儲存電路436至少需要2個系統時脈的週期(視儲存電路436的大小而定)。換言之,緩衝電路434可以提升L2快取記憶體430的速度。
步驟S520的閒置狀態包含:(1)控制電路432沒有待處理的讀寫操作時;以及(2)L2快取記憶體430未命中時,從控制電路432向系統記憶體440請求資料後至收到系統記憶體440回覆的期間。因為系統記憶體440的一次存取所需的系統時脈的週期數通常遠大於控制電路432將資料寫入儲存電路436所需的系統時脈的週期數,所以控制電路432在情況(2)中有充裕的時間執行步驟S560及S570。
綜合上述,因為無論是L2快取記憶體430在包容模式下未 命中或是在專有模式下命中,就處理器410的角度而言,L2快取記憶體430的操作只需要1個系統時脈的週期,所以處理器410不會被停滯,因此大幅增加電子裝置400的效能。
圖6為圖5的步驟S540的一實施例的流程圖。當L1快取記憶體420未命中而向L2快取記憶體430請求資料時,控制電路432檢查緩衝電路434及儲存電路436是否儲存目標資料(步驟S610)。如果命中(亦即緩衝電路434或儲存電路436存有該目標資料,步驟S620為是),則控制電路432讀取該目標資料,並回覆該目標資料給L1快取記憶體420(步驟S630)。如果未命中(亦即緩衝電路434及儲存電路436皆未儲存該目標資料,步驟S620為否),控制電路432向系統記憶體440請求資料(步驟S640)。
圖7為本案電子裝置之另一實施例的架構圖。電子裝置70包含處理器72、L2快取記憶體74以及暫存器76。處理器72包含核心720及核心730。核心720包含處理單元722及L1快取記憶體724。L1快取記憶體724包含控制電路7241及儲存電路7242。核心730包含處理單元732及L1快取記憶體734。L1快取記憶體734包含控制電路7341及儲存電路7342。簡言之,處理器72為一個多核心的架構,核心720及核心730有各自的L1快取記憶體(分別為724及734),且共用L2快取記憶體74。L2快取記憶體74包含控制電路742、緩衝電路744以及儲存電路746。控制電路742、緩衝電路744及儲存電路746的功能分別與控制電路432、緩衝電路434及儲存電路436相似,故不再贅述。控制電路7241、控制電路7341及控制電路742耦接暫存器76,可讀取暫存器76中的暫存值。
L1快取記憶體724的控制電路7241、L1快取記憶體734的控制電路7341以及L2快取記憶體74的控制電路742參考暫存器76的暫存值來分別控制L1快取記憶體724、L1快取記憶體734及L2快取記憶體74操作於包容模式或專有模式。換言之,L1快取記憶體及L2快取記憶體以可程式化的方式切換於包容模式及專有模式兩者之間。如此一來,電子裝置70不需要在設計階段就決定L1快取記憶體724、L1快取記憶體734以及L2快取記憶體74的操作模式,而是使用者可以在電路完成後再根據實際的應用(亦即動態調整)設定暫存器76的暫存值。在一些實施例中,暫存器76可以是處理器72的控制暫存器。
以下為電子裝置70的應用範例。
範例一:當核心720及核心730平行處理(亦即執行同一程式)時,暫存器76的暫存值可以被設定為第一數值(例如1),使得L1快取記憶體724、L1快取記憶體734及L2快取記憶體74操作於包容模式。
範例二:當核心720及核心730分別執行第一程式及第二程式,且第一程式及第二程式共用指令及/或資料時,暫存器76的暫存值可以被設定為第一數值(例如1),使得L1快取記憶體724、L1快取記憶體734及L2快取記憶體74操作於包容模式。
範例三:當核心720及核心730分別執行第一程式及第二程式,且第一程式及第二程式不共用指令及/或資料時(亦即第一程式及第二程式為獨立的程式),暫存器76的暫存值可以被設定為第二數值(例如0),使得L1快取記憶體724、L1快取記憶體734及L2快取記憶體74操作於專有模式。
在範例一及二中,包容模式有助於減少資料的移動次數(亦即提高命中率),所以電子裝置70的效能可以獲得提升。在範例三中,專有模式有助於L1快取記憶體724、L1快取記憶體734及L2快取記憶體74儲存更多的指令及/或資料,所以電子裝置70的效能可以獲得提升。
在一些實施例中,前述的控制電路432、控制電路7241、控制電路7341及控制電路742可以由有限狀態機(包含複數個邏輯電路)實作。
由於本技術領域具有通常知識者可藉由本案之裝置實施例的揭露內容來瞭解本案之方法實施例的實施細節與變化,因此,為避免贅文,在不影響該方法實施例之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本案之用,非用以限制本案。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
400:電子裝置
410:處理器
420:L1快取記憶體
430:L2快取記憶體
432:控制電路
434:緩衝電路
436:儲存電路
440:系統記憶體

Claims (7)

  1. 一種電子裝置,包含:一處理器;一第一級快取記憶體,耦接該處理器;一系統記憶體;以及一第二級快取記憶體,耦接於該第一級快取記憶體與該系統記憶體之間,包含:一儲存電路;一緩衝電路,用來以先進先出的方式儲存一資料,該資料來自於該第一級快取記憶體;以及一控制電路,耦接該儲存電路及該緩衝電路,用來在該儲存電路中找到一儲存空間,並將該資料寫入該儲存空間。
  2. 如申請專利範圍第1項所述之電子裝置,其中當一目標資料被寫入該第二級快取記憶體時,該控制電路將該目標資料寫入該緩衝電路,而不檢查該儲存電路。
  3. 如申請專利範圍第1項所述之電子裝置,其中當該控制電路檢查該第二級快取記憶體是否包含一目標資料時,該控制電路檢查該儲存電路及該緩衝電路是否儲存該目標資料。
  4. 如申請專利範圍第1項所述之電子裝置,其中該緩衝電路以暫存器實作。
  5. 一種電子裝置的管理方法,該電子裝置包含一處理器、一第一級快取記憶體、一系統記憶體,及一第二級快取記憶體,該第二級快取記憶體包含一儲存電路及一緩衝電路,該緩衝電路以先進先出的方式儲存資料,該方法包含:當來自於該第一級快取記憶體之一目標資料被寫入該第二級快取記憶體時,將該目標資料寫入該緩衝電路,而不檢查該儲存電路;以及在該儲存電路中找到一儲存空間,並將該目標資料寫入該儲存空間。
  6. 如申請專利範圍第5項所述之方法,更包含:當檢查該第二級快取記憶體是否包含該目標資料時,檢查該儲存電路及該緩衝電路是否儲存該目標資料。
  7. 如申請專利範圍第5項所述之方法,其中該緩衝電路的容量小於該儲存電路的容量。
TW108102763A 2019-01-24 2019-01-24 電子裝置及電子裝置的管理方法 TWI697902B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108102763A TWI697902B (zh) 2019-01-24 2019-01-24 電子裝置及電子裝置的管理方法
US16/665,012 US11176039B2 (en) 2019-01-24 2019-10-28 Cache and method for managing cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108102763A TWI697902B (zh) 2019-01-24 2019-01-24 電子裝置及電子裝置的管理方法

Publications (2)

Publication Number Publication Date
TWI697902B true TWI697902B (zh) 2020-07-01
TW202029200A TW202029200A (zh) 2020-08-01

Family

ID=71732510

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108102763A TWI697902B (zh) 2019-01-24 2019-01-24 電子裝置及電子裝置的管理方法

Country Status (2)

Country Link
US (1) US11176039B2 (zh)
TW (1) TWI697902B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128073A (ko) * 2020-04-16 2021-10-26 에스케이하이닉스 주식회사 메모리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323679B2 (en) * 2012-08-14 2016-04-26 Nvidia Corporation System, method, and computer program product for managing cache miss requests
US20180018271A1 (en) * 2016-07-14 2018-01-18 Advanced Micro Devices, Inc. System and method for storing cache location information for cache entry transfer
US20180357175A1 (en) * 2017-06-13 2018-12-13 Alibaba Group Holding Limited Cache devices with configurable access policies and control methods thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE170642T1 (de) 1990-06-15 1998-09-15 Compaq Computer Corp Mehrstufeneinschluss in mehrstufigen cache- speicherhierarchien
US5386547A (en) 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US20070143550A1 (en) 2005-12-19 2007-06-21 Intel Corporation Per-set relaxation of cache inclusion
US9477600B2 (en) 2011-08-08 2016-10-25 Arm Limited Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode
US11042484B2 (en) * 2016-06-24 2021-06-22 Advanced Micro Devices, Inc. Targeted per-line operations for remote scope promotion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323679B2 (en) * 2012-08-14 2016-04-26 Nvidia Corporation System, method, and computer program product for managing cache miss requests
US20180018271A1 (en) * 2016-07-14 2018-01-18 Advanced Micro Devices, Inc. System and method for storing cache location information for cache entry transfer
US20180357175A1 (en) * 2017-06-13 2018-12-13 Alibaba Group Holding Limited Cache devices with configurable access policies and control methods thereof

Also Published As

Publication number Publication date
US20200242032A1 (en) 2020-07-30
US11176039B2 (en) 2021-11-16
TW202029200A (zh) 2020-08-01

Similar Documents

Publication Publication Date Title
US8788759B2 (en) Double-buffered data storage to reduce prefetch generation stalls
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US5586295A (en) Combination prefetch buffer and instruction cache
US7383394B2 (en) Microprocessor, apparatus and method for selective prefetch retire
JP5526626B2 (ja) 演算処理装置およびアドレス変換方法
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
KR100395756B1 (ko) 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
US20070180158A1 (en) Method for command list ordering after multiple cache misses
CN103076992A (zh) 一种内存数据缓冲方法及装置
US7657667B2 (en) Method to provide cache management commands for a DMA controller
US5386526A (en) Cache memory controller and method for reducing CPU idle time by fetching data during a cache fill
US9009415B2 (en) Memory system including a spiral cache
US9128856B2 (en) Selective cache fills in response to write misses
CA2787560C (en) System and method for locking data in a cache memory
TWI697902B (zh) 電子裝置及電子裝置的管理方法
US6976130B2 (en) Cache controller unit architecture and applied method
CN111124297B (zh) 一种堆叠dram缓存的性能提升方法
CN111639042B (zh) 一种预取buffer数据一致性的处理方法及装置
TWI739430B (zh) 快取記憶體及快取記憶體的管理方法
JP2007207249A (ja) ミス衝突処理状態でのキャッシュ・ヒットのための方法、システムおよびマイクロプロセッサ
US9158697B2 (en) Method for cleaning cache of processor and associated processor
US10565121B2 (en) Method and apparatus for reducing read/write contention to a cache
CN111506252B (zh) 快取存储器及快取存储器的管理方法
JP2001222467A (ja) キャッシュ装置
US20060129762A1 (en) Accessible buffer for use in parallel with a filling cacheline