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
request
address
prefetch
data
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 (enExample)
EP (1) EP2885714B1 (enExample)
JP (1) JP6205418B2 (enExample)
KR (1) KR101943561B1 (enExample)
CN (1) CN104583981B (enExample)
IN (1) IN2015DN01261A (enExample)
WO (1) WO2014028724A1 (enExample)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026738B2 (en) * 2009-04-10 2015-05-05 Panasonic Intellectual Property Corporation Of America Cache memory device, cache memory control method, program and integrated circuit
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
KR101757098B1 (ko) 2014-12-14 2017-07-26 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 메모리 액세스에 의한 효용성 기반 공격성 레벨 프리패칭
WO2016097809A1 (en) * 2014-12-14 2016-06-23 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
US20170017414A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices
US20170017420A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
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 (3)

* 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

Family Cites Families (27)

* 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
US6981099B2 (en) * 2002-12-16 2005-12-27 Sun Microsystems, Inc. Smart-prefetch
US6983356B2 (en) 2002-12-19 2006-01-03 Intel Corporation High performance memory device-state aware chipset prefetcher
US7016213B2 (en) * 2003-05-13 2006-03-21 Advanced Micro Devices, Inc. Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect
TWI258078B (en) 2003-10-07 2006-07-11 Via Tech Inc Pre-fetch controller and method thereof
US7730263B2 (en) * 2006-01-20 2010-06-01 Cornell Research Foundation, Inc. Future execution prefetching technique and architecture
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
WO2014031495A2 (en) * 2012-08-18 2014-02-27 Arteris SAS System translation look-aside buffer with request-based allocation and prefetching
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 (3)

* 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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104583981B (zh) 数据高速缓冲存储器预取提示
US10353819B2 (en) Next line prefetchers employing initial high prefetch prediction confidence states for throttling next line prefetches in a processor-based system
US9116815B2 (en) Data cache prefetch throttle
US9304919B2 (en) Detecting multiple stride sequences for prefetching
CN105701033B (zh) 取决于模式而可动态配置的高速缓存存储器
CN105701031B (zh) 处理器及其高速缓存存储器和高速缓存存储器的操作方法
CN101375228B (zh) 具有省电指令高速缓存通路预测器和指令代替方案的微处理器
US20200201771A1 (en) Multi-line data prefetching using dynamic prefetch depth
US8856451B2 (en) Method and apparatus for adapting aggressiveness of a pre-fetcher
CN102169429A (zh) 预取单元、数据预取方法以及微处理器
US9348753B2 (en) Controlling prefetch aggressiveness based on thrash events
US8589627B2 (en) Partially sectored cache
CN1295687A (zh) 临时指令与非临时指令共享的高速缓存结构
CN1728112A (zh) 用于对芯片多处理器的共享高速缓存器分区的设备和方法
US10719441B1 (en) Using predictions of outcomes of cache memory access requests for controlling whether a request generator sends memory access requests to a memory in parallel with cache memory access requests
US8566532B2 (en) Management of multipurpose command queues in a multilevel cache hierarchy
CN109564549A (zh) 数据高速缓存区域预取器
CN109196487A (zh) 向上/向下预取器
US20060143400A1 (en) Replacement in non-uniform access cache structure
US10747669B2 (en) Prefetching data
CN100407171C (zh) 设置高速缓存线填充总线存取优先级的微处理器和方法
CN1327353C (zh) 可选择性撤回预取的微处理器装置
EP4359936B1 (en) Time-efficient implementation of cache replacement policy
EP4055487B1 (en) Eviction mechanism
CN110865947B (zh) 一种面向预取数据的高速缓存管理方法

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