CN102640124B - 用于数据流的储存感知预取的计算系统、方法以及预取单元 - Google Patents

用于数据流的储存感知预取的计算系统、方法以及预取单元 Download PDF

Info

Publication number
CN102640124B
CN102640124B CN201080051152.4A CN201080051152A CN102640124B CN 102640124 B CN102640124 B CN 102640124B CN 201080051152 A CN201080051152 A CN 201080051152A CN 102640124 B CN102640124 B CN 102640124B
Authority
CN
China
Prior art keywords
data
stream
access
oriented
write permission
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
CN201080051152.4A
Other languages
English (en)
Chinese (zh)
Other versions
CN102640124A (zh
Inventor
本杰明·T·桑德
巴拉特·纳拉辛哈·斯瓦米
斯瓦米·帕亚穆尔图拉
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 CN102640124A publication Critical patent/CN102640124A/zh
Application granted granted Critical
Publication of CN102640124B publication Critical patent/CN102640124B/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/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)
CN201080051152.4A 2009-09-11 2010-09-09 用于数据流的储存感知预取的计算系统、方法以及预取单元 Active CN102640124B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN102640124A CN102640124A (zh) 2012-08-15
CN102640124B true CN102640124B (zh) 2015-11-25

Family

ID=43242176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080051152.4A Active CN102640124B (zh) 2009-09-11 2010-09-09 用于数据流的储存感知预取的计算系统、方法以及预取单元

Country Status (7)

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

Families Citing this family (44)

* 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
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
US8832415B2 (en) * 2010-01-08 2014-09-09 International Business Machines Corporation Mapping virtual addresses to different physical addresses for value disambiguation for thread memory access 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
GB2513042B (en) * 2013-01-15 2015-09-30 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 (ja) * 2013-09-20 2017-04-26 富士通株式会社 演算処理装置、演算処理装置の制御方法及びプログラム
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
JP5936152B2 (ja) 2014-05-17 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリアクセストレース方法
US9529727B2 (en) 2014-05-27 2016-12-27 Qualcomm Incorporated Reconfigurable fetch pipeline
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
US10387318B2 (en) 2014-12-14 2019-08-20 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
US11169925B2 (en) * 2015-08-25 2021-11-09 Samsung Electronics Co., Ltd. Capturing temporal store streams into CPU caches by dynamically varying store streaming thresholds
US10042749B2 (en) 2015-11-10 2018-08-07 International Business Machines Corporation Prefetch insensitive transactional memory
US10152419B2 (en) 2015-11-10 2018-12-11 International Business Machines Corporation Deferred response to a prefetch request
JP6734760B2 (ja) 2015-11-10 2020-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プリフェッチ・インセンシティブのトランザクション・メモリ
US10474576B2 (en) 2015-11-10 2019-11-12 International Business Machines Corporation Prefetch protocol for transactional memory
US10180905B1 (en) 2016-04-07 2019-01-15 Apple Inc. Unified prefetch circuit for multi-level caches
US9904624B1 (en) 2016-04-07 2018-02-27 Apple Inc. Prefetch throttling in a multi-core system
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 (ko) 2017-03-24 2022-08-04 삼성전자주식회사 전자 장치 및 그 동작방법
CN109669880A (zh) * 2017-10-13 2019-04-23 展讯通信(上海)有限公司 一种数据预取方法及装置、微处理器
US11270920B2 (en) 2018-08-14 2022-03-08 Medtronic, Inc. Integrated circuit package and method of forming same
US11307988B2 (en) * 2018-10-15 2022-04-19 Texas Instruments Incorporated Configurable cache for multi-endpoint heterogeneous coherent system
CN109408412B (zh) * 2018-10-24 2021-04-30 龙芯中科技术股份有限公司 内存预取控制方法、装置及设备
US10963249B2 (en) 2018-11-02 2021-03-30 International Business Machines Corporation Processor prefetcher mode governor for switching between prefetch modes
CN110427332B (zh) * 2019-08-05 2021-08-20 上海兆芯集成电路有限公司 数据预取装置、数据预取方法及微处理器
GB2593487B (en) * 2020-03-24 2022-05-04 Advanced Risc Mach Ltd Apparatus and method
US11726917B2 (en) * 2020-06-26 2023-08-15 Advanced Micro Devices, Inc. Method and apparatus for a page-local delta-based prefetcher
CN114065947B (zh) * 2021-11-15 2022-07-22 深圳大学 一种数据访问推测方法、装置、存储介质及电子设备
CN120803976B (zh) * 2025-09-04 2025-11-28 浪潮电子信息产业股份有限公司 一种内存访问方法、设备、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1604055A (zh) * 2003-09-30 2005-04-06 国际商业机器公司 利用永久历史页表数据预取数据到高速缓存的装置和方法
US20060179239A1 (en) * 2005-02-10 2006-08-10 Fluhr Eric J Data stream prefetching in a microprocessor
WO2009054959A1 (en) * 2007-10-23 2009-04-30 Advanced Micro Devices, Inc. Coherent dram prefetcher
CN101495962A (zh) * 2006-08-02 2009-07-29 高通股份有限公司 用于预取不连续指令地址的方法和设备

Family Cites Families (17)

* 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
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 (ja) * 2002-01-29 2008-01-09 富士通株式会社 演算処理装置
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
US7487296B1 (en) * 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
JP4532931B2 (ja) * 2004-02-25 2010-08-25 株式会社日立製作所 プロセッサ、および、プリフェッチ制御方法
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
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
US7958317B2 (en) * 2008-08-04 2011-06-07 International Business Machines Corporation Cache directed sequential prefetch

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1604055A (zh) * 2003-09-30 2005-04-06 国际商业机器公司 利用永久历史页表数据预取数据到高速缓存的装置和方法
US20060179239A1 (en) * 2005-02-10 2006-08-10 Fluhr Eric J Data stream prefetching in a microprocessor
CN101495962A (zh) * 2006-08-02 2009-07-29 高通股份有限公司 用于预取不连续指令地址的方法和设备
WO2009054959A1 (en) * 2007-10-23 2009-04-30 Advanced Micro Devices, Inc. Coherent dram prefetcher

Also Published As

Publication number Publication date
WO2011031837A1 (en) 2011-03-17
EP2476060A1 (en) 2012-07-18
CN102640124A (zh) 2012-08-15
US8667225B2 (en) 2014-03-04
JP2013504815A (ja) 2013-02-07
EP2476060B1 (en) 2015-06-17
US20110066811A1 (en) 2011-03-17
IN2012DN02977A (enExample) 2015-07-31
JP5615927B2 (ja) 2014-10-29
KR101614867B1 (ko) 2016-04-22
KR20120070584A (ko) 2012-06-29

Similar Documents

Publication Publication Date Title
CN102640124B (zh) 用于数据流的储存感知预取的计算系统、方法以及预取单元
US9524164B2 (en) Specialized memory disambiguation mechanisms for different memory read access types
US8180981B2 (en) Cache coherent support for flash in a memory hierarchy
US7493451B2 (en) Prefetch unit
US6266744B1 (en) Store to load forwarding using a dependency link file
US6681295B1 (en) Fast lane prefetching
US8230177B2 (en) Store prefetching via store queue lookahead
US9213640B2 (en) Promoting transactions hitting critical beat of cache line load requests
US6473832B1 (en) Load/store unit having pre-cache and post-cache queues for low latency load memory operations
US20180349280A1 (en) Snoop filtering for multi-processor-core systems
US20090106498A1 (en) Coherent dram prefetcher
US10108548B2 (en) Processors and methods for cache sparing stores
JP7700219B2 (ja) 局所性を欠くデータを対象とするメモリ要求のプリフェッチ無効化
US20240111679A1 (en) Hardware processor having multiple memory prefetchers and multiple prefetch filters
US12019553B2 (en) System, apparatus and method for prefetching physical pages in a processor
US20030182539A1 (en) Storing execution results of mispredicted paths in a superscalar computer processor
TWI861524B (zh) 邊界框預取指單元及其方法
Kessler THE ALPHA 21254 IVIICRUPRUCESSUR

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant