IN2012DN02977A - - Google Patents

Download PDF

Info

Publication number
IN2012DN02977A
IN2012DN02977A IN2977DEN2012A IN2012DN02977A IN 2012DN02977 A IN2012DN02977 A IN 2012DN02977A IN 2977DEN2012 A IN2977DEN2012 A IN 2977DEN2012A IN 2012DN02977 A IN2012DN02977 A IN 2012DN02977A
Authority
IN
India
Prior art keywords
data stream
write permission
prefetch unit
given data
response
Prior art date
Application number
Inventor
Benjamin T Sander
Bharath Narasimha Swamy
Swamy Punyamurtula
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 IN2012DN02977A publication Critical patent/IN2012DN02977A/en

Links

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/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/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/0815Cache consistency protocols
    • 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/6026Prefetching based on access pattern detection, e.g. stride based prefetch

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

A system and method for efficient data prefetching. A data stream stored in lower-level memory comprises a contiguous block of data used in a computer program. A prefetch unit in a processor detects a data stream by identifying a sequence of storage accesses referencing a contiguous blocks of data in a monotonically increasing or decreasing manner. After a predetermined training period for a given data stream, the prefetch unit prefetches a portion of the given data stream from memory without write permission, in response to an access that does not request write permission. Also, after the training period, the prefetch unit prefetches a portion of the given data stream from lower-level memory with write permission, in response to determining there has been a prior access to the given data stream that requests write permission subsequent to a number of cache misses reaching a predetermined threshold.
IN2977DEN2012 2009-09-11 2010-09-09 IN2012DN02977A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/558,465 US8667225B2 (en) 2009-09-11 2009-09-11 Store aware prefetching for a datastream
PCT/US2010/048241 WO2011031837A1 (en) 2009-09-11 2010-09-09 Store aware prefetching for a datastream

Publications (1)

Publication Number Publication Date
IN2012DN02977A true IN2012DN02977A (en) 2015-07-31

Family

ID=43242176

Family Applications (1)

Application Number Title Priority Date Filing Date
IN2977DEN2012 IN2012DN02977A (en) 2009-09-11 2010-09-09

Country Status (7)

Country Link
US (1) US8667225B2 (en)
EP (1) EP2476060B1 (en)
JP (1) JP5615927B2 (en)
KR (1) KR101614867B1 (en)
CN (1) CN102640124B (en)
IN (1) IN2012DN02977A (en)
WO (1) WO2011031837A1 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8838906B2 (en) * 2010-01-08 2014-09-16 International Business Machines Corporation Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution
US8533399B2 (en) * 2010-01-15 2013-09-10 International Business Machines Corporation Cache directory look-up re-use as conflict check mechanism for speculative memory requests
US8868837B2 (en) * 2010-01-15 2014-10-21 International Business Machines Corporation Cache directory lookup reader set encoding for partial cache line speculation support
US8509254B2 (en) * 2010-06-28 2013-08-13 Intel Corporation Direct memory access engine physical memory descriptors for multi-media demultiplexing operations
US8583894B2 (en) * 2010-09-09 2013-11-12 Advanced Micro Devices Hybrid prefetch method and apparatus
US8880847B2 (en) * 2010-09-28 2014-11-04 Texas Instruments Incorporated Multistream prefetch buffer
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9098418B2 (en) * 2012-03-20 2015-08-04 Apple Inc. Coordinated prefetching based on training in hierarchically cached processors
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9311251B2 (en) 2012-08-27 2016-04-12 Apple Inc. System cache with sticky allocation
GB2509765B (en) * 2013-01-15 2015-07-15 Imagination Tech Ltd Improved control of pre-fetch traffic
US9384136B2 (en) * 2013-04-12 2016-07-05 International Business Machines Corporation Modification of prefetch depth based on high latency event
WO2014202825A1 (en) * 2013-06-20 2014-12-24 Nokia Corporation Microprocessor apparatus
JP6119523B2 (en) * 2013-09-20 2017-04-26 富士通株式会社 Arithmetic processing apparatus, control method for arithmetic processing apparatus, and program
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
JP5936152B2 (en) 2014-05-17 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Memory access trace method
US9529727B2 (en) 2014-05-27 2016-12-27 Qualcomm Incorporated Reconfigurable fetch pipeline
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
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
US9971694B1 (en) 2015-06-24 2018-05-15 Apple Inc. Prefetch circuit for a processor with pointer optimization
US10324832B2 (en) * 2016-05-25 2019-06-18 Samsung Electronics Co., Ltd. Address based multi-stream storage device access
US10042749B2 (en) 2015-11-10 2018-08-07 International Business Machines Corporation Prefetch insensitive transactional memory
US10474576B2 (en) 2015-11-10 2019-11-12 International Business Machines Corporation Prefetch protocol for transactional memory
US10152419B2 (en) 2015-11-10 2018-12-11 International Business Machines Corporation Deferred response to a prefetch request
JP6734760B2 (en) 2015-11-10 2020-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Prefetch insensitive transaction memory
US9904624B1 (en) 2016-04-07 2018-02-27 Apple Inc. Prefetch throttling in a multi-core system
US10180905B1 (en) 2016-04-07 2019-01-15 Apple Inc. Unified prefetch circuit for multi-level caches
US10169240B2 (en) * 2016-04-08 2019-01-01 Qualcomm Incorporated Reducing memory access bandwidth based on prediction of memory request size
US10649904B2 (en) 2016-12-12 2020-05-12 Samsung Electronics Co., Ltd. System and method for store streaming detection and handling
US10331567B1 (en) 2017-02-17 2019-06-25 Apple Inc. Prefetch circuit with global quality factor to reduce aggressiveness in low power modes
KR102429429B1 (en) 2017-03-24 2022-08-04 삼성전자주식회사 Electronic apparatus, and operating method for the same
CN109669880A (en) * 2017-10-13 2019-04-23 展讯通信(上海)有限公司 A kind of data prefetching method and device, microprocessor
CN109408412B (en) * 2018-10-24 2021-04-30 龙芯中科技术股份有限公司 Memory prefetch control method, device and equipment
US10963249B2 (en) 2018-11-02 2021-03-30 International Business Machines Corporation Processor prefetcher mode governor for switching between prefetch modes
CN110427332B (en) 2019-08-05 2021-08-20 上海兆芯集成电路有限公司 Data prefetching device, data prefetching method and microprocessor
GB2593487B (en) * 2020-03-24 2022-05-04 Advanced Risc Mach Ltd Apparatus and method
CN114065947B (en) * 2021-11-15 2022-07-22 深圳大学 Data access speculation method and device, storage medium and electronic equipment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778436A (en) 1995-03-06 1998-07-07 Duke University Predictive caching system and method based on memory access which previously followed a cache miss
US5848254A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
US6401193B1 (en) 1998-10-26 2002-06-04 Infineon Technologies North America Corp. Dynamic data prefetching based on program counter and addressing mode
US6282614B1 (en) 1999-04-15 2001-08-28 National Semiconductor Corporation Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches
US6457101B1 (en) 1999-12-20 2002-09-24 Unisys Corporation System and method for providing the speculative return of cached data within a hierarchical memory system
US6865652B1 (en) 2000-06-02 2005-03-08 Advanced Micro Devices, Inc. FIFO with undo-push capability
US6571318B1 (en) 2001-03-02 2003-05-27 Advanced Micro Devices, Inc. Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism
JP4030314B2 (en) * 2002-01-29 2008-01-09 富士通株式会社 Arithmetic processing unit
US7103725B2 (en) 2002-03-22 2006-09-05 Newisys, Inc. Methods and apparatus for speculative probing with early completion and delayed request
US7107408B2 (en) 2002-03-22 2006-09-12 Newisys, Inc. Methods and apparatus for speculative probing with early completion and early request
US7003633B2 (en) 2002-11-04 2006-02-21 Newisys, Inc. Methods and apparatus for managing probe requests
US7099999B2 (en) * 2003-09-30 2006-08-29 International Business Machines Corporation Apparatus and method for pre-fetching data to cached memory using persistent historical page table data
US7487296B1 (en) 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
JP4532931B2 (en) * 2004-02-25 2010-08-25 株式会社日立製作所 Processor and prefetch control method
US7836259B1 (en) 2004-04-02 2010-11-16 Advanced Micro Devices, Inc. Prefetch unit for use with a cache memory subsystem of a cache memory hierarchy
US7434004B1 (en) 2004-06-17 2008-10-07 Sun Microsystems, Inc. Prefetch prediction
US7350029B2 (en) * 2005-02-10 2008-03-25 International Business Machines Corporation Data stream prefetching in a microprocessor
US7380066B2 (en) 2005-02-10 2008-05-27 International Business Machines Corporation Store stream prefetching in a microprocessor
US7594078B2 (en) * 2006-02-09 2009-09-22 International Business Machines Corporation D-cache miss prediction and scheduling
US7917731B2 (en) * 2006-08-02 2011-03-29 Qualcomm Incorporated Method and apparatus for prefetching non-sequential instruction addresses
US20090106498A1 (en) 2007-10-23 2009-04-23 Kevin Michael Lepak Coherent dram prefetcher
US7958317B2 (en) * 2008-08-04 2011-06-07 International Business Machines Corporation Cache directed sequential prefetch

Also Published As

Publication number Publication date
EP2476060B1 (en) 2015-06-17
US20110066811A1 (en) 2011-03-17
WO2011031837A1 (en) 2011-03-17
KR101614867B1 (en) 2016-04-22
KR20120070584A (en) 2012-06-29
US8667225B2 (en) 2014-03-04
JP5615927B2 (en) 2014-10-29
EP2476060A1 (en) 2012-07-18
JP2013504815A (en) 2013-02-07
CN102640124B (en) 2015-11-25
CN102640124A (en) 2012-08-15

Similar Documents

Publication Publication Date Title
IN2012DN02977A (en)
GB2506042A (en) Caching data in a storage system having multiple caches
WO2009124014A3 (en) Cache optimization
TW200643792A (en) Method and apparatus for prefetching based on cache fill buffer hits
JP2015505091A5 (en)
KR101485651B1 (en) Region based technique for accurately predicting memory accesses
IN2015DN03878A (en)
JP2017516234A5 (en)
IL169265A0 (en) Page descriptors for prefetching and memory management
TW200634621A (en) Method and apparatus for initiating CPU data prefetches by an external agent
TW200513851A (en) Prefetch command control method, prefetch command control apparatus and cache memory control apparatus
WO2008154191A3 (en) Cache metadata for implementing bounded transactional memory
GB2473149A (en) Apparatus and method for cache utilization
JP2015501497A5 (en)
TW200710674A (en) Processor, data processing system, and method for initializing a memory block
KR102268601B1 (en) Processor for data forwarding, operation method thereof and system including the same
WO2011055976A3 (en) Apparatus and method for managing a file in a distributed storage system
JP2007500897A5 (en)
WO2007002803A3 (en) Preventing multiple translation lookaside buffer accesses for a same page in memory
JP2015122094A5 (en)
ATE513261T1 (en) METHOD AND DEVICE FOR LOW COMPLEXITY COMMAND PRELOADING SYSTEM
US20190384529A1 (en) Enhanced read-ahead capability for storage devices
JP2008529181A5 (en)
WO2012109145A3 (en) Pre-cache similarity-based delta compression for use in a data storage system
CN108874691B (en) Data prefetching method and memory controller