CN104583981B - 数据高速缓冲存储器预取提示 - Google Patents

数据高速缓冲存储器预取提示 Download PDF

Info

Publication number
CN104583981B
CN104583981B CN201380044104.6A CN201380044104A CN104583981B CN 104583981 B CN104583981 B CN 104583981B CN 201380044104 A CN201380044104 A CN 201380044104A CN 104583981 B CN104583981 B CN 104583981B
Authority
CN
China
Prior art keywords
prefetcher
prefetch
memory
cache
request
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201380044104.6A
Other languages
English (en)
Chinese (zh)
Other versions
CN104583981A (zh
Inventor
D·W·麦考利
S·P·汤普森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN104583981A publication Critical patent/CN104583981A/zh
Application granted granted Critical
Publication of CN104583981B publication Critical patent/CN104583981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/6028Prefetching based on hints or prefetch instructions

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)
  • Display Devices Of Pinball Game Machines (AREA)
CN201380044104.6A 2012-08-17 2013-08-15 数据高速缓冲存储器预取提示 Active CN104583981B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/588,622 2012-08-17
US13/588,622 US9390018B2 (en) 2012-08-17 2012-08-17 Data cache prefetch hints
PCT/US2013/055119 WO2014028724A1 (en) 2012-08-17 2013-08-15 Data cache prefetch hints

Publications (2)

Publication Number Publication Date
CN104583981A CN104583981A (zh) 2015-04-29
CN104583981B true CN104583981B (zh) 2017-11-14

Family

ID=49080980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380044104.6A Active CN104583981B (zh) 2012-08-17 2013-08-15 数据高速缓冲存储器预取提示

Country Status (7)

Country Link
US (1) US9390018B2 (cg-RX-API-DMAC7.html)
EP (1) EP2885714B1 (cg-RX-API-DMAC7.html)
JP (1) JP6205418B2 (cg-RX-API-DMAC7.html)
KR (1) KR101943561B1 (cg-RX-API-DMAC7.html)
CN (1) CN104583981B (cg-RX-API-DMAC7.html)
IN (1) IN2015DN01261A (cg-RX-API-DMAC7.html)
WO (1) WO2014028724A1 (cg-RX-API-DMAC7.html)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116735A1 (ja) * 2009-04-10 2010-10-14 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路
US9348753B2 (en) 2012-10-10 2016-05-24 Advanced Micro Devices, Inc. Controlling prefetch aggressiveness based on thrash events
WO2014138411A1 (en) * 2013-03-06 2014-09-12 Condusiv Technologies Corporation System and method for tiered caching and storage allocation
US10013344B2 (en) * 2014-01-14 2018-07-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Enhanced SSD caching
US9378152B2 (en) * 2014-05-09 2016-06-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for I/O processing using out-of-band hinting to block driver or storage controller
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US20160041914A1 (en) * 2014-08-05 2016-02-11 Advanced Micro Devices, Inc. Cache Bypassing Policy Based on Prefetch Streams
US20160054997A1 (en) * 2014-08-22 2016-02-25 Samsung Electronics Co., Ltd. Computing system with stride prefetch mechanism and method of operation thereof
EP3049915B1 (en) 2014-12-14 2020-02-12 VIA Alliance Semiconductor Co., Ltd. Prefetching with level of aggressiveness based on effectiveness by memory access type
EP3129887B1 (en) * 2014-12-14 2018-08-15 VIA Alliance Semiconductor Co., Ltd. Multiple data prefetchers that defer to one another based on prefetch effectiveness by memory access type
US9858191B2 (en) * 2014-12-31 2018-01-02 Samsung Electronics Co., Ltd. Electronic system with data management mechanism and method of operation thereof
US9734072B2 (en) * 2015-03-24 2017-08-15 Macom Connectivity Solutions, Llc Main memory prefetch operation and multiple prefetch operation
US20170017420A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
US20170017414A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices
US9535696B1 (en) 2016-01-04 2017-01-03 International Business Machines Corporation Instruction to cancel outstanding cache prefetches
US10157136B2 (en) * 2016-03-31 2018-12-18 Intel Corporation Pipelined prefetcher for parallel advancement of multiple data streams
KR20180049338A (ko) * 2016-10-31 2018-05-11 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US11182306B2 (en) 2016-11-23 2021-11-23 Advanced Micro Devices, Inc. Dynamic application of software data caching hints based on cache test regions
US10713174B2 (en) * 2016-12-20 2020-07-14 Texas Instruments Incorporated Streaming engine with early and late address and loop count registers to track architectural state
US10318433B2 (en) * 2016-12-20 2019-06-11 Texas Instruments Incorporated Streaming engine with multi dimensional circular addressing selectable at each dimension
US10387320B2 (en) * 2017-05-12 2019-08-20 Samsung Electronics Co., Ltd. Integrated confirmation queues
KR102353859B1 (ko) 2017-11-01 2022-01-19 삼성전자주식회사 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈
KR102482035B1 (ko) * 2017-11-30 2022-12-28 에스케이하이닉스 주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
US10963392B1 (en) * 2018-07-30 2021-03-30 Apple Inc. Victim allocations in shared system cache
US11281589B2 (en) 2018-08-30 2022-03-22 Micron Technology, Inc. Asynchronous forward caching memory systems and methods
US10872458B1 (en) * 2019-09-06 2020-12-22 Apple Inc. Graphics surface addressing
US11093404B2 (en) * 2019-10-14 2021-08-17 EMC IP Holding Company LLC Efficient pre-fetching on a storage system
CN112256205B (zh) * 2020-10-28 2024-06-25 中国科学院微电子研究所 非易失缓存数据预取方法、装置、电子设备及存储介质
CN114546892B (zh) * 2022-02-25 2025-07-04 海光信息技术股份有限公司 数据预取方法、装置
US12111765B2 (en) * 2022-04-29 2024-10-08 Cadence Design Systems, Inc. Prefetch circuit for cache memory
US12164429B2 (en) * 2022-08-19 2024-12-10 Qualcomm Incorporated Stride-based prefetcher circuits for prefetching next stride(s) into cache memory based on identified cache access stride patterns, and related processor-based systems and methods
US12417021B2 (en) * 2023-09-25 2025-09-16 SanDisk Technologies, Inc. Managing streams based on predicted host commands
US20250355809A1 (en) * 2024-05-15 2025-11-20 Samsung Electronics Co., Ltd. Systems and methods for generating and processing prefetch requests

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664147A (en) * 1995-08-24 1997-09-02 International Business Machines Corp. System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated
US6446167B1 (en) * 1999-11-08 2002-09-03 International Business Machines Corporation Cache prefetching of L2 and L3
US6643743B1 (en) * 2000-03-31 2003-11-04 Intel Corporation Stream-down prefetching cache
US20040117557A1 (en) * 2002-12-16 2004-06-17 Paulraj Dominic A Smart-prefetch
US20050071542A1 (en) * 2003-05-13 2005-03-31 Advanced Micro Devices, Inc. Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US20070174555A1 (en) * 2006-01-20 2007-07-26 Martin Burtscher Future execution prefetching technique and architecture

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242557A (ja) * 1999-02-25 2000-09-08 Nec Corp キャッシュプリフェッチ装置
JP3512678B2 (ja) * 1999-05-27 2004-03-31 富士通株式会社 キャッシュメモリ制御装置および計算機システム
US6438656B1 (en) * 1999-07-30 2002-08-20 International Business Machines Corporation Method and system for cancelling speculative cache prefetch requests
US6449698B1 (en) * 1999-08-26 2002-09-10 International Business Machines Corporation Method and system for bypass prefetch data path
US6523093B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6965982B2 (en) 2001-06-29 2005-11-15 International Business Machines Corporation Multithreaded processor efficiency by pre-fetching instructions for a scheduled thread
US6983356B2 (en) 2002-12-19 2006-01-03 Intel Corporation High performance memory device-state aware chipset prefetcher
TWI258078B (en) 2003-10-07 2006-07-11 Via Tech Inc Pre-fetch controller and method thereof
JP2007241927A (ja) 2006-03-13 2007-09-20 Toshiba Corp データ記憶装置及び方法
US7774578B2 (en) 2006-06-07 2010-08-10 Advanced Micro Devices, Inc. Apparatus and method of prefetching data in response to a cache miss
US20090006813A1 (en) 2007-06-28 2009-01-01 Abhishek Singhal Data forwarding from system memory-side prefetcher
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
US8156286B2 (en) * 2008-12-30 2012-04-10 Advanced Micro Devices, Inc. Processor and method for using an instruction hint to prevent hardware prefetch from using certain memory accesses in prefetch calculations
US20110072218A1 (en) * 2009-09-24 2011-03-24 Srilatha Manne Prefetch promotion mechanism to reduce cache pollution
US8291171B2 (en) 2009-11-30 2012-10-16 Hewlett-Packard Development Company, L.P. Altering prefetch depth based on ready data
US8856451B2 (en) * 2010-08-26 2014-10-07 Advanced Micro Devices, Inc. Method and apparatus for adapting aggressiveness of a pre-fetcher
US8583894B2 (en) * 2010-09-09 2013-11-12 Advanced Micro Devices Hybrid prefetch method and apparatus
US8949579B2 (en) * 2010-10-04 2015-02-03 International Business Machines Corporation Ineffective prefetch determination and latency optimization
US8856452B2 (en) * 2011-05-31 2014-10-07 Illinois Institute Of Technology Timing-aware data prefetching for microprocessors
US9116815B2 (en) 2012-06-20 2015-08-25 Advanced Micro Devices, Inc. Data cache prefetch throttle
US9122612B2 (en) * 2012-06-25 2015-09-01 Advanced Micro Devices, Inc. Eliminating fetch cancel for inclusive caches
KR20160122278A (ko) * 2012-08-18 2016-10-21 퀄컴 테크놀로지스, 인크. 프리페칭을 갖는 변환 색인 버퍼
US9286223B2 (en) * 2013-04-17 2016-03-15 Advanced Micro Devices, Inc. Merging demand load requests with prefetch load requests
US9304919B2 (en) * 2013-05-31 2016-04-05 Advanced Micro Devices, Inc. Detecting multiple stride sequences for prefetching

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664147A (en) * 1995-08-24 1997-09-02 International Business Machines Corp. System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated
US6446167B1 (en) * 1999-11-08 2002-09-03 International Business Machines Corporation Cache prefetching of L2 and L3
US6643743B1 (en) * 2000-03-31 2003-11-04 Intel Corporation Stream-down prefetching cache
US20040117557A1 (en) * 2002-12-16 2004-06-17 Paulraj Dominic A Smart-prefetch
US20050071542A1 (en) * 2003-05-13 2005-03-31 Advanced Micro Devices, Inc. Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US20070174555A1 (en) * 2006-01-20 2007-07-26 Martin Burtscher Future execution prefetching technique and architecture

Also Published As

Publication number Publication date
JP2015529356A (ja) 2015-10-05
KR101943561B1 (ko) 2019-01-29
EP2885714A1 (en) 2015-06-24
US20140052927A1 (en) 2014-02-20
US9390018B2 (en) 2016-07-12
IN2015DN01261A (cg-RX-API-DMAC7.html) 2015-07-03
WO2014028724A1 (en) 2014-02-20
KR20150043472A (ko) 2015-04-22
JP6205418B2 (ja) 2017-09-27
EP2885714B1 (en) 2017-12-13
CN104583981A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104583981B (zh) 数据高速缓冲存储器预取提示
US9116815B2 (en) Data cache prefetch throttle
US8856451B2 (en) Method and apparatus for adapting aggressiveness of a pre-fetcher
US9348753B2 (en) Controlling prefetch aggressiveness based on thrash events
CN100555247C (zh) 在多核/多线程处理器中高速缓存的公平共享
US8583894B2 (en) Hybrid prefetch method and apparatus
US9934148B2 (en) Memory module with embedded access metadata
US7925865B2 (en) Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection
US9304919B2 (en) Detecting multiple stride sequences for prefetching
US9489203B2 (en) Pre-fetching instructions using predicted branch target addresses
US9286223B2 (en) Merging demand load requests with prefetch load requests
US20170357588A1 (en) Scaled set dueling for cache replacement policies
CN111263934B (zh) 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略
US20180018266A1 (en) Stride prefetcher for inconsistent strides
US8589627B2 (en) Partially sectored cache
KR20060049710A (ko) 칩 멀티-프로세서의 공유 캐시를 분할하기 위한 장치 및방법
KR20120070584A (ko) 데이터 스트림에 대한 저장 인식 프리페치
CN110036376B (zh) 无分配高速缓存策略
US20230205700A1 (en) Selective speculative prefetch requests for a last-level cache
US10747669B2 (en) Prefetching data
US11226819B2 (en) Selective prefetching in multithreaded processing units
US20150095586A1 (en) Storing non-temporal cache data
US20250272241A1 (en) Prefetch table storage circuitry

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant