TW201528136A - 準確預測記憶體存取之以區域爲基礎的技術 - Google Patents

準確預測記憶體存取之以區域爲基礎的技術 Download PDF

Info

Publication number
TW201528136A
TW201528136A TW104110229A TW104110229A TW201528136A TW 201528136 A TW201528136 A TW 201528136A TW 104110229 A TW104110229 A TW 104110229A TW 104110229 A TW104110229 A TW 104110229A TW 201528136 A TW201528136 A TW 201528136A
Authority
TW
Taiwan
Prior art keywords
processor
ptb
memory
page
signature
Prior art date
Application number
TW104110229A
Other languages
English (en)
Other versions
TWI603264B (zh
Inventor
Livio Soares
Naveen Cherukuri
Akhilesh Kumar
Mani Azimi
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201528136A publication Critical patent/TW201528136A/zh
Application granted granted Critical
Publication of TWI603264B publication Critical patent/TWI603264B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/10Address translation
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/6024History based prefetching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

在一實施例中,本發明包括含有分頁追蹤器緩衝區(PTB)的處理器,該PTB包括多個輸入項目,用以儲存到快取分頁的位址以及用以儲存追蹤對快取分頁的每一快取線之存取的簽章,以及包括PTB處理器,該PTB處理器將輸入項目載入到PTB並更新該簽章。本文亦說明並主張其他的實施例。

Description

準確預測記憶體存取之以區域為基礎的技術
本發明關於準確預測記憶體存取之以區域為基礎的技術。
為改善例如個人電腦(PC)、伺服器等運算系統的性能與效率,預取(prefetching)處理器稍後可能會需要的資料及指令被視為有利的。然而,習用的預取尚未能夠準確預測哪個快取線應該或不應該被預取。
100‧‧‧系統
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧核心
108‧‧‧一階快取
110‧‧‧TLB(轉譯後備緩衝區)
112‧‧‧分頁追蹤器緩衝區
114‧‧‧二階快取
116‧‧‧PTB處理器
118‧‧‧分頁追蹤器記憶體表
120‧‧‧分頁
122‧‧‧線
204‧‧‧存取簽章
206‧‧‧再用簽章
208‧‧‧索引
500‧‧‧多處理器系統
514‧‧‧I/O裝置
516‧‧‧第一匯流排
518‧‧‧匯流排橋接器
520‧‧‧第二匯流排
522‧‧‧鍵盤/滑鼠
524‧‧‧音頻I/O
526‧‧‧通訊裝置
528‧‧‧資料儲存單元
530‧‧‧碼
532‧‧‧記憶體
534‧‧‧記憶體
538‧‧‧高效能圖形引擎
550‧‧‧互連
552‧‧‧P-P互連
554‧‧‧P-P互連
570‧‧‧處理器
572‧‧‧MCH(記憶體控制器集線器)
574a‧‧‧處理器核心
574b‧‧‧處理器核心
576‧‧‧P-P介面
578‧‧‧P-P介面
580‧‧‧處理器
582‧‧‧MCH(記憶體控制器集線器)
584a‧‧‧處理器核心
584b‧‧‧處理器核心
586‧‧‧P-P介面
588‧‧‧P-P介面
590‧‧‧晶片組
592‧‧‧介面
594‧‧‧P-P介面
596‧‧‧介面
598‧‧‧P-P介面
圖1係根據本發明一實施例的範例處理器及記憶體的方塊圖。
圖2係根據本發明一實施例的範例分頁追蹤器緩衝器的方塊圖。
圖3係根據本發明一實施例之使用存取簽章的範例方法的流程圖。
圖4係根據本發明一實施例之使用再用簽章的範例方 法的流程圖。
圖5係根據本發明一實施例的範例系統的方塊圖。
【發明內容及實施方式】
在不同實施例中,提出可預測預取的方法及設備。在以下描述中,為說明之目的,提出為數眾多的特定細節以便提供對本發明的透徹瞭解。然而,熟習此技藝之人士應可明瞭本發明的實施例可無需此等特定細節而加以實施。在其他例中,結構及裝置以方塊圖形式顯示以避免模糊本發明。
本說明書通篇提及的「一個實施例」或「一實例」意指所述有關該實施例的一特定特徵、結構或特性被包括在本發明的至少一個實施例中。因此,在本說明書通篇不同地方的用詞「在一個實施例中」或「在一實施例中」並未必是全部參照同一實施例。再者,該特定特徵、結構或特性可以任何適合的方式結合於一或多個實施例中。
現參照圖1,所示為根據本發明一實施例的範例處理器及記憶體的方塊圖。如圖1所示,系統100可包括處理器102及記憶體104。處理器102可包括核心106、一階快取(level one cache)108、轉譯後備緩衝區(TLB:translation lookaside buffer)110、分頁追蹤器緩衝區(PTB)112、二階快取(level two cache)114及PTB處理器116。雖然所示為包括一階快取108及二階快取114,處理器102可包括任何數量的快取階數。而且,雖 然處理器102顯示為包括可儲存從虛擬位址到實體位址的位址變換(address translation)的TLB 110,本發明可實施於沒有TLB的處理器。
PTB 112可包含輸入項目,如參照圖2更詳細顯示者,圖2指示特定記憶體區域的哪些部分(例如,特定快取的哪幾條快取線或其他記憶體區域)先前已被核心106存取多次,有可能指示可能是最值得留在快取中的該等快取線。
PTB處理器116可嘗試準確地預測核心106會需要的指令及資料,如下文更詳述者。在一實施例中,PTB處理器116預取PTB 112所指示於先前例示期間被存取之被加到TLB 110的快取分頁的那些快取線(例如在一TLB未命中(miss)之後)。PTB處理器116可從分頁追蹤器記憶體表118讀取PTB 112輸入項目,以及將PTB 112輸入項目寫回到分頁追蹤器記憶表118。PTB處理器116亦可例如當附加快取線被核心106存取時,更新PTB 112中的輸入項目。PTB處理器116亦可實施於諸如預取模組的其他硬體、或軟體或硬體與軟體的組合。PTB處理器116亦可獨立適用於資料及指令預取,且可與其他預取器共存。
記憶體104可代表任何類型的記憶體,諸如靜態或動態隨機存取記憶體(RAM)。在一實施例中,記憶體104代表雙倍資料率同步動態RAM(DDR-SDRAM),然而本發明並不侷限於任何類型的記憶體。記憶體104可被邏輯地劃分成數個分頁,諸如分頁120,用以快取及定址。每 一分頁120可含有固定數量的線122。在一實施例中,分頁120含有64線122。在另一實施例中,分頁120代表記憶體區域,其大小可透過韌體或軟體組態。
現參照圖2,所示為根據本發明一實施例的範例分頁追蹤器緩衝區的方塊圖。如圖2所示者,分頁追蹤器緩衝區112可包括任何數量的輸入項目,透過索引208可存取,其各可包括位址202、存取簽章204以及再用簽章206。在一實施例中,PTB 112可包括與TLB 110相同數量的輸入項目。在其他實施例中,PTB 112可包括比TLB 110更多或更少數量的輸入項目。在一實施例中,PTB 112可包括64個輸入項目。在另一實施例中,PTB 112可包括1024個輸入項目。
雖然顯示為包括28位元,位址202可含有更多或更少位元供辨識分頁120(或另一記憶體區域)。雖然所示為包括64位元,存取簽章204及再用簽章206可含有更多或更少位元供辨識分頁120的線122。在一實施例中,存取簽章204的設定位元指示在TLB 110中分頁120的先前定址中被核心106所存取的分頁120的線122。在一實施例中,再用簽章206的設定位元指示在TLB 110中分頁120的先前定址中被核心106存取多次的分頁120的線122。
現參照圖3,其顯示根據本發明一實施例之使用存取簽章的範例方法的流程圖。如圖3所示,該方法始於PTB處理器116在將任何收回的(evicted)輸入項目寫回分頁 追蹤器記憶體表118之後,將與快取分頁120相關聯的存取簽章204載入(302)到PTB 112。在一實施例中,PTB處理器116在一TLB 110未命中之後載入存取簽章204且寫回任何正被替換的存取簽章。接下來,PTB處理器116可預取(304)線122,進入到例如由存取簽章204所指示為先前已被核心106所存取的二階快取114。最後,PTB處理器116可更新(306)存取簽章204。在一實施例中,當任何附加線被請求或提取時,PTB處理器116增加位元到被擷取的存取簽章204。在另一實施例中,PTB處理器116可使用用以預取之被擷取的存取簽章204且可再生用於寫回到要被用在後續分頁存取的記憶體之存取簽章。
現參照圖4,所示為根據本發明一實施例之使用再用簽章的範例方法的流程圖。如圖4所示,該方法始於PTB處理器116在將任何收回的輸入項目寫回分頁追蹤器記憶體表118之後,將與快取分頁120相關聯的再用簽章206載入(402)到PTB 112。在一實施例中,PTB處理器116在一TLB 110未命中之後載入再用簽章206。接下來,PTB處理器116可針對被再用簽章206所指示為先前已被核心106存取多次的在二階快取114中的那些快取線來優先化(404)替換策略(replacement policy)。在一實施例中,PTB處理器116可設定為最近最常使用的那些快取線,而一位元設定於再用簽章206中。在另一實施例中,PTB處理器116可設定為最近最少使用的那些快取線,而 沒有位元設定於再用簽章206中。最後,當任何附加線被請求多次時,PTB處理器116可更新(406)再用簽章206。
實施例可實施於許多不同的系統類型。現參照圖5,所示為根據本發明一實施例的系統的方塊圖。如圖5所示,多處理器系統500係一點對點互連系統,且包括經由點對點互連550耦合的第一處理器570及第二處理器580。如圖5所示,處理器570與580每一個可以是多核心處理器,包括第一及第二處理器核心(即,處理器核心574a與574b以及處理器核心584a與584b)。根據本發明的實施例,每一處理器可包括PTB硬體、軟體及韌體。
仍參照圖5,第一處理器570進一步包括記憶體控制器集線器(MCH)572及點對點(P-P)介面576與578。同理,第二處理器580包括MCH 582及P-P介面586與588。如圖5所示,MCH 572與582耦合諸處理器到個別的記憶體,亦即記憶體532及記憶體534,其可以是局部附加在個別處理器之主記憶體(例如,動態隨機存取記憶體(DRAM))的部分,其每一者可包括根據本發明一實施例的分頁追蹤器記憶體表。第一處理器570與第二處理器580可分別經由P-P互連552與554耦合到晶片組590。如圖5所示,晶片組590包括P-P介面594與598。
此外,晶片組590包括將晶片組590與高效能圖形引 擎538耦合的介面592。依次,晶片組590可經由介面596耦合到第一匯流排516。如圖5所示,不同的I/O裝置514可與將第一匯流排516耦合到第二匯流排520的匯流排橋接器518一起耦合到第一匯流排516。在一實施例中,不同的裝置可耦合到第二匯流排520,包括例如,鍵盤/滑鼠522、通訊裝置526及諸如可包括碼530的磁碟驅動器或其他大量儲存裝置的資料儲存單元528。再者,音頻I/O 524可耦合到第二匯流排520。
實施例可以碼來實施且可儲存於儲存媒體,儲存媒體已儲存有指令,其可用來編程系統以實施諸指令。儲存媒體可包括,但並不侷限於包括軟性磁片、光碟片、唯讀光碟(CD-ROM)、可抹寫光碟(CD-RW)、磁光碟的任何類型的碟片、諸如唯讀記憶體(ROM)、諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)的隨機存取記憶體(RAM)、可抹除可程式唯讀記憶體(EPROM)、快閃記憶體、電可抹除可程式唯讀記憶體(EEPROM)的半導體裝置、磁或光卡、或任何其他類型之適合用於儲存電子指令的媒體。
雖然本發明已針對有限數量的實施例如以描述,但熟習此技藝之人士會瞭解到可以有許多修改及種種變化。附加的申請專利範圍包含所有落在本發明確實精神與範疇內的此等修改及變化。
100‧‧‧系統
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧核心
108‧‧‧一階快取
110‧‧‧TLB
112‧‧‧分頁追蹤器緩衝區
114‧‧‧二階快取
116‧‧‧PTB處理器
118‧‧‧分頁追蹤器記憶體表
120‧‧‧分頁
122‧‧‧線

Claims (20)

  1. 一種處理器,包含:核心,用以執行分頁追蹤器緩衝區(PTB)處理器,該PTB處理器用以將一或多個輸入項目載入到分頁追蹤器緩衝區(PTB),每一輸入用以包括快取記憶體的對應快取分頁的個別再用簽章,每一再用簽章用以指示該核心是否已重複存取該對應快取分頁的一或多個快取線;分頁追蹤器緩衝區(PTB),其中,當第一快取分頁的第一再用簽章包括該核心對第一快取分頁的第一線重複存取的第一辨識符時,該第一辨識符用以辨識要留在該快取記憶體中的該第一線。
  2. 如申請專利範圍第1項之處理器,其中,該PTB處理器被執行時,用以從一記憶體中的一分頁追蹤器記憶體表將該等輸入項目載入該PTB。
  3. 如申請專利範圍第1項之處理器,其中,該PTB處理器被執行時,進一步用以將從該PTB收回的輸入項目儲存到一記憶體中的一分頁追蹤器記憶體表。
  4. 如申請專利範圍第1項之處理器,進一步包含轉譯後備緩衝區(TLB),其中,該PTB處理器被執行時,進一步用以在該TLB返回一第一TLB未命中之後將該第一再用簽章載入到該PTB。
  5. 如申請專利範圍第1項之處理器,其中,該PTB處理器用以更新該第一再用簽章,以回應對該第一快取分頁的該第一線的重複存取。
  6. 如申請專利範圍第1項之處理器,其中,該PTB的每一輸入項目用以包括對應存取簽章,其用以辨識該對應快取分頁的哪些線先前已被該核心存取。
  7. 一種處理器,包含:核心,用以執行從隨機存取記憶體(RAM)的記憶體分頁將第一線載入到快取記憶體;以及分頁追蹤器緩衝區(PTB),用以儲存再用簽章,該再用簽章指示由該核心對該記憶體分頁的一或多個線的其中一者的重複存取,其中,回應該再用簽章中對該記憶體分頁的該第一線的重複存取的指示,該第一線用以被辨識為值得留在該快取記憶體中。
  8. 如申請專利範圍第7項之處理器,其中,該PTB用以包括一或多個存取輸入項目,每一存取輸入項目要與該RAM的一對應記憶體分頁相關聯,每一存取輸入項目用以包括一個別存取簽章,其用以辨識該對應記憶體分頁的哪些線先前在該RAM中被該核心存取,且各存取輸入項目用以包括該對應再用簽章。
  9. 如申請專利範圍第8項之處理器,進一步包含分頁追蹤器緩衝區(PTB)處理器,其被該核心引動時,用以以被更新的第一存取輸入項目替換該PTB中的第一存取輸入項目,以回應將第一記憶體分頁的一對應線載入到該快取記憶體。
  10. 如申請專利範圍第9項之處理器,其中,該PTB處理器被引動時,用以進一步從該RAM的分頁追蹤器記 憶體表將該第一存取輸入項目載入到該PTB。
  11. 如申請專利範圍第9項之處理器,其中,該PTB處理器被引動時,用以進一步優先化替換策略中該對應再用簽章輸入項目所指示為先前被存取多次的每一線。
  12. 如申請專利範圍第9項之處理器,其中,該處理器進一步包含轉譯後備緩衝區(TLB),且其中,該PTB處理器用以在一TLB未命中之後即載入該第一PTB存取輸入項目到該PTB。
  13. 如申請專利範圍第8項之處理器,其中,該PTB處理器用以實施於硬體。
  14. 如申請專利範圍第7項之處理器,其中,每一存取輸入項目用以進一步包括存取簽章,其用以指示該記憶體分頁的哪些線在對該記憶體分頁存取的一前例中被該處理器存取。
  15. 如申請專利範圍第14項之處理器,其中,該PTB處理器用以進一步至少部分根據與該線相關聯的該存取簽章,將該記憶體分頁的一線預取進入該快取記憶體。
  16. 一種方法,包含:以處理器讀取與一快取記憶體的第一快取分頁相關聯的第一再用簽章,該第一再用簽章用以指示該處理器是否先前已重複存取該第一快取分頁的一或多個線;以及回應該第一再用簽章中對該第一快取分頁的第一線的重複存取的指示,將該第一線辨識為值得留在該快取記憶體中。
  17. 如申請專利範圍第16項之方法,進一步包含從儲存於一記憶體中的簽章表擷取該第一再用簽章。
  18. 如申請專利範圍第16項之方法,進一步包含更新該第一再用簽章,以回應該處理器對該決取分頁的一線的重複存取。
  19. 如申請專利範圍第16項之方法,進一步包含將該第一再用簽章儲存到儲存於一記憶體中的簽章表,以回應從該快取記憶體收回該第一線。
  20. 如申請專利範圍第16項之方法,進一步包含回應該第一再用簽章中對該第一線的重複存取的指示,優先化替換策略內的該第一線。
TW104110229A 2010-06-23 2011-06-22 準確預測記憶體存取之以區域爲基礎的技術 TWI603264B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/821,935 US9418011B2 (en) 2010-06-23 2010-06-23 Region based technique for accurately predicting memory accesses

Publications (2)

Publication Number Publication Date
TW201528136A true TW201528136A (zh) 2015-07-16
TWI603264B TWI603264B (zh) 2017-10-21

Family

ID=45353674

Family Applications (2)

Application Number Title Priority Date Filing Date
TW100121833A TWI590156B (zh) 2010-06-23 2011-06-22 準確預測記憶體存取之以區域為基礎的技術
TW104110229A TWI603264B (zh) 2010-06-23 2011-06-22 準確預測記憶體存取之以區域爲基礎的技術

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW100121833A TWI590156B (zh) 2010-06-23 2011-06-22 準確預測記憶體存取之以區域為基礎的技術

Country Status (7)

Country Link
US (1) US9418011B2 (zh)
EP (1) EP2585916B1 (zh)
JP (1) JP5697279B2 (zh)
KR (1) KR101485651B1 (zh)
CN (2) CN103038748B (zh)
TW (2) TWI590156B (zh)
WO (1) WO2011163407A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9418011B2 (en) 2010-06-23 2016-08-16 Intel Corporation Region based technique for accurately predicting memory accesses
US8683136B2 (en) * 2010-12-22 2014-03-25 Intel Corporation Apparatus and method for improving data prefetching efficiency using history based prefetching
US9092341B2 (en) 2012-07-10 2015-07-28 International Business Machines Corporation Methods of cache preloading on a partition or a context switch
US9424031B2 (en) * 2013-03-13 2016-08-23 Intel Corporation Techniques for enabling bit-parallel wide string matching with a SIMD register
JP6088951B2 (ja) * 2013-09-20 2017-03-01 株式会社東芝 キャッシュメモリシステムおよびプロセッサシステム
US9513805B2 (en) 2014-04-15 2016-12-06 International Business Machines Corporation Page table including data fetch width indicator
US9582282B2 (en) * 2014-07-17 2017-02-28 Arm Limited Prefetching using a prefetch lookup table identifying previously accessed cache lines
US9817764B2 (en) * 2014-12-14 2017-11-14 Via Alliance Semiconductor Co., Ltd Multiple data prefetchers that defer to one another based on prefetch effectiveness by memory access type
US20160255169A1 (en) * 2015-02-27 2016-09-01 Futurewei Technologies, Inc. Method and system for smart object eviction for proxy cache
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US10482010B2 (en) * 2017-06-29 2019-11-19 Intel Corporation Persistent host memory buffer
KR20200085522A (ko) 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법
CN110442382B (zh) * 2019-07-31 2021-06-15 西安芯海微电子科技有限公司 预取缓存控制方法、装置、芯片以及计算机可读存储介质
KR20210108749A (ko) * 2020-02-26 2021-09-03 삼성전자주식회사 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04259048A (ja) 1991-02-14 1992-09-14 Fujitsu Ltd 統計情報による先読みデータ制御方式
US5931945A (en) * 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits
US6055621A (en) * 1996-02-12 2000-04-25 International Business Machines Corporation Touch history table
US5752261A (en) * 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
US5960454A (en) * 1996-12-19 1999-09-28 International Business Machines Corporation Avoiding cache collisions between frequently accessed, pinned routines or data structures
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US6047363A (en) * 1997-10-14 2000-04-04 Advanced Micro Devices, Inc. Prefetching data using profile of cache misses from earlier code executions
US5941981A (en) 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US6490654B2 (en) * 1998-07-31 2002-12-03 Hewlett-Packard Company Method and apparatus for replacing cache lines in a cache memory
US6223309B1 (en) * 1998-10-02 2001-04-24 International Business Machines Corporation Method and apparatus for ECC logic test
JP3512678B2 (ja) * 1999-05-27 2004-03-31 富士通株式会社 キャッシュメモリ制御装置および計算機システム
US6804769B1 (en) 2000-02-18 2004-10-12 Hewlett-Packard Development Company, L.P. Unified buffer for tracking disparate long-latency operations in a microprocessor
US6535966B1 (en) 2000-05-17 2003-03-18 Sun Microsystems, Inc. System and method for using a page tracking buffer to reduce main memory latency in a computer system
US6678795B1 (en) * 2000-08-15 2004-01-13 International Business Machines Corporation Method and apparatus for memory prefetching based on intra-page usage history
EP1182559B1 (en) * 2000-08-21 2009-01-21 Texas Instruments Incorporated Improved microprocessor
US6523093B1 (en) 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6640285B1 (en) * 2000-10-26 2003-10-28 Emc Corporation Method and apparatus for improving the efficiency of cache memories using stored activity measures
US6832296B2 (en) * 2002-04-09 2004-12-14 Ip-First, Llc Microprocessor with repeat prefetch instruction
US7020762B2 (en) * 2002-12-24 2006-03-28 Intel Corporation Method and apparatus for determining a dynamic random access memory page management implementation
US7194582B1 (en) * 2003-05-30 2007-03-20 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US7467131B1 (en) * 2003-09-30 2008-12-16 Google Inc. Method and system for query data caching and optimization in a search engine system
US7356651B2 (en) * 2004-01-30 2008-04-08 Piurata Technologies, Llc Data-aware cache state machine
US7975108B1 (en) * 2004-03-25 2011-07-05 Brian Holscher Request tracking data prefetcher apparatus
US7386679B2 (en) 2004-04-15 2008-06-10 International Business Machines Corporation System, method and storage medium for memory management
US7950012B2 (en) * 2005-03-16 2011-05-24 Oracle America, Inc. Facilitating communication and synchronization between main and scout threads
US7496730B2 (en) * 2005-04-15 2009-02-24 Microsoft Corporation System and method for reducing the number of translation buffer invalidates an operating system needs to issue
JP4160589B2 (ja) 2005-10-31 2008-10-01 富士通株式会社 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
US7386673B2 (en) 2005-11-30 2008-06-10 Red Hat, Inc. Method for tracking of non-resident pages
US7526614B2 (en) * 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
WO2007068122A1 (en) * 2005-12-16 2007-06-21 Univ Western Ontario System and method for cache management
GB0603552D0 (en) * 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
US7478197B2 (en) * 2006-07-18 2009-01-13 International Business Machines Corporation Adaptive mechanisms for supplying volatile data copies in multiprocessor systems
JP2008102745A (ja) 2006-10-19 2008-05-01 Toshiba Corp 命令キャッシュメモリのプリフェッチ機構
US7797503B2 (en) * 2007-06-26 2010-09-14 International Business Machines Corporation Configurable memory system and method for providing atomic counting operations in a memory device
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8161246B2 (en) * 2009-03-30 2012-04-17 Via Technologies, Inc. Prefetching of next physically sequential cache line after cache line that includes loaded page table entry
US9569363B2 (en) * 2009-03-30 2017-02-14 Via Technologies, Inc. Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry
US8677049B2 (en) * 2009-04-13 2014-03-18 Advanced Micro Devices, Inc. Region prefetcher and methods thereof
US8291169B2 (en) * 2009-05-28 2012-10-16 International Business Machines Corporation Cache line use history based done bit modification to D-cache replacement scheme
US8332587B2 (en) * 2009-05-28 2012-12-11 International Business Machines Corporation Cache line use history based done bit modification to I-cache replacement scheme
CN101719105B (zh) * 2009-12-31 2012-01-04 中国科学院计算技术研究所 一种多核系统中对内存访问的优化方法和系统
US9418011B2 (en) 2010-06-23 2016-08-16 Intel Corporation Region based technique for accurately predicting memory accesses

Also Published As

Publication number Publication date
KR101485651B1 (ko) 2015-01-22
TWI590156B (zh) 2017-07-01
EP2585916A2 (en) 2013-05-01
US9418011B2 (en) 2016-08-16
WO2011163407A3 (en) 2012-04-12
CN106294212B (zh) 2020-02-21
EP2585916A4 (en) 2014-03-19
CN103038748A (zh) 2013-04-10
TW201224923A (en) 2012-06-16
US20110320762A1 (en) 2011-12-29
CN103038748B (zh) 2016-10-05
CN106294212A (zh) 2017-01-04
KR20130040952A (ko) 2013-04-24
WO2011163407A2 (en) 2011-12-29
EP2585916B1 (en) 2019-09-11
JP5697279B2 (ja) 2015-04-08
TWI603264B (zh) 2017-10-21
JP2013529815A (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
TWI603264B (zh) 準確預測記憶體存取之以區域爲基礎的技術
US9208084B2 (en) Extended main memory hierarchy having flash memory for page fault handling
JP5580894B2 (ja) Tlbプリフェッチング
US7739477B2 (en) Multiple page size address translation incorporating page size prediction
US9223710B2 (en) Read-write partitioning of cache memory
JP5528554B2 (ja) ブロックベースの非透過的キャッシュ
JP3938370B2 (ja) ハードウェア管理仮想−物理アドレス変換機構
US20140337600A1 (en) Providing metadata in a translation lookaside buffer (tlb)
US20040117588A1 (en) Access request for a data processing system having no system memory
JP2009512943A (ja) 多階層の変換索引緩衝機構(TLBs)フィールドの更新
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
US20040117591A1 (en) Data processing system having no system memory
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US11526449B2 (en) Limited propagation of unnecessary memory updates
JP7264806B2 (ja) キャッシュエントリでメモリアクセス要求のペンデンシを識別するシステム及び方法
US20040117583A1 (en) Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme
US20040117589A1 (en) Interrupt mechanism for a data processing system having hardware managed paging of disk data
JP2019164491A (ja) 情報処理装置及びキャッシュ制御装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees