JP7682613B2 - フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム - Google Patents

フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム Download PDF

Info

Publication number
JP7682613B2
JP7682613B2 JP2020150869A JP2020150869A JP7682613B2 JP 7682613 B2 JP7682613 B2 JP 7682613B2 JP 2020150869 A JP2020150869 A JP 2020150869A JP 2020150869 A JP2020150869 A JP 2020150869A JP 7682613 B2 JP7682613 B2 JP 7682613B2
Authority
JP
Japan
Prior art keywords
priority
ways
cache
llc
requester
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
JP2020150869A
Other languages
English (en)
Japanese (ja)
Other versions
JP2021086612A5 (https=
JP2021086612A (ja
Inventor
ゴルカー ネハ
クマー アキレシュ
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.)
Intel Corp
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 JP2021086612A publication Critical patent/JP2021086612A/ja
Publication of JP2021086612A5 publication Critical patent/JP2021086612A5/ja
Priority to JP2025080815A priority Critical patent/JP2025118847A/ja
Application granted granted Critical
Publication of JP7682613B2 publication Critical patent/JP7682613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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
    • 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
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • 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
    • G06F2212/1044Space efficiency 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/60Details of cache memory

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)
JP2020150869A 2019-11-26 2020-09-08 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム Active JP7682613B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025080815A JP2025118847A (ja) 2019-11-26 2025-05-13 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/696,548 US11656997B2 (en) 2019-11-26 2019-11-26 Flexible cache allocation technology priority-based cache line eviction algorithm
US16/696,548 2019-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025080815A Division JP2025118847A (ja) 2019-11-26 2025-05-13 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム

Publications (3)

Publication Number Publication Date
JP2021086612A JP2021086612A (ja) 2021-06-03
JP2021086612A5 JP2021086612A5 (https=) 2025-01-23
JP7682613B2 true JP7682613B2 (ja) 2025-05-26

Family

ID=72659026

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020150869A Active JP7682613B2 (ja) 2019-11-26 2020-09-08 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム
JP2025080815A Pending JP2025118847A (ja) 2019-11-26 2025-05-13 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025080815A Pending JP2025118847A (ja) 2019-11-26 2025-05-13 フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム

Country Status (5)

Country Link
US (2) US11656997B2 (https=)
EP (2) EP3828714B1 (https=)
JP (2) JP7682613B2 (https=)
CN (2) CN117609109A (https=)
BR (1) BR102020019663A2 (https=)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821324B (zh) * 2021-09-17 2022-08-09 海光信息技术股份有限公司 处理器的高速缓存系统、方法、设备和计算机介质
US12099444B2 (en) * 2022-01-21 2024-09-24 Centaur Technology, Inc. Cat aware loads and software prefetches
US11947462B1 (en) 2022-03-03 2024-04-02 Apple Inc. Cache footprint management
CN115098040B (zh) * 2022-07-22 2024-10-29 北京天融信网络安全技术有限公司 基于fpga的数据处理方法、装置、设备及存储介质
US20240311151A1 (en) * 2023-03-13 2024-09-19 Intel Corporation Device, method and system for prioritizing entries of an instruction fetch resource
US12541455B2 (en) * 2024-06-07 2026-02-03 SanDisk Technologies, Inc. Data storage device and method for defining caching layers based on cache attributes

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040554A1 (en) 2006-08-14 2008-02-14 Li Zhao Providing quality of service (QoS) for cache architectures using priority information
US20080235457A1 (en) 2007-03-21 2008-09-25 Hasenplaugh William C Dynamic quality of service (QoS) for a shared cache
US20090172315A1 (en) 2007-12-27 2009-07-02 Ravishankar Iyer Priority aware selective cache allocation
JP2009163450A (ja) 2007-12-28 2009-07-23 Fujitsu Ltd セクタ機能付きキャッシュメモリ
JP2011018196A (ja) 2009-07-09 2011-01-27 Fujitsu Ltd キャッシュメモリ
WO2012095957A1 (ja) 2011-01-12 2012-07-19 富士通株式会社 キャッシュメモリ装置,キャッシュメモリの制御装置,情報処理装置,キャッシュメモリの制御方法,及びキャッシュメモリ装置の閾値決定プログラム
US20150067266A1 (en) 2013-08-27 2015-03-05 Advanced Micro Devices, Inc. Early write-back of modified data in a cache memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101916A (ja) 1995-10-06 1997-04-15 Fujitsu Ltd マルチプロセス処理装置
US8677071B2 (en) * 2010-03-26 2014-03-18 Virtualmetrix, Inc. Control of processor cache memory occupancy
US9582430B2 (en) * 2015-03-27 2017-02-28 Intel Corporation Asymmetric set combined cache
US9734070B2 (en) 2015-10-23 2017-08-15 Qualcomm Incorporated System and method for a shared cache with adaptive partitioning

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040554A1 (en) 2006-08-14 2008-02-14 Li Zhao Providing quality of service (QoS) for cache architectures using priority information
US20080235457A1 (en) 2007-03-21 2008-09-25 Hasenplaugh William C Dynamic quality of service (QoS) for a shared cache
US20090172315A1 (en) 2007-12-27 2009-07-02 Ravishankar Iyer Priority aware selective cache allocation
JP2009163450A (ja) 2007-12-28 2009-07-23 Fujitsu Ltd セクタ機能付きキャッシュメモリ
JP2011018196A (ja) 2009-07-09 2011-01-27 Fujitsu Ltd キャッシュメモリ
WO2012095957A1 (ja) 2011-01-12 2012-07-19 富士通株式会社 キャッシュメモリ装置,キャッシュメモリの制御装置,情報処理装置,キャッシュメモリの制御方法,及びキャッシュメモリ装置の閾値決定プログラム
US20150067266A1 (en) 2013-08-27 2015-03-05 Advanced Micro Devices, Inc. Early write-back of modified data in a cache memory

Also Published As

Publication number Publication date
US20230409485A1 (en) 2023-12-21
US20210157739A1 (en) 2021-05-27
CN117609109A (zh) 2024-02-27
US12182025B2 (en) 2024-12-31
EP4307130A3 (en) 2024-05-01
EP3828714B1 (en) 2024-04-03
US11656997B2 (en) 2023-05-23
CN112948285A (zh) 2021-06-11
JP2021086612A (ja) 2021-06-03
EP3828714A1 (en) 2021-06-02
EP4307130A2 (en) 2024-01-17
BR102020019663A2 (pt) 2021-06-08
JP2025118847A (ja) 2025-08-13

Similar Documents

Publication Publication Date Title
JP7682613B2 (ja) フレキシブルなキャッシュ割り当て技術の優先度ベースのキャッシュラインエビクションアルゴリズム
US11068264B2 (en) Processors, methods, systems, and instructions to load multiple data elements to destination storage locations other than packed data registers
JP7244046B2 (ja) 遠隔アトミックオペレーションの空間的・時間的マージ
US12455701B2 (en) Scalable access control checking for cross-address-space data movement
US11615031B2 (en) Memory management apparatus and method for managing different page tables for different privilege levels
EP3757767B1 (en) Asynchronous cache flush engine to manage platform coherent and memory side caches
TWI830927B (zh) 用於處理器非回寫能力的設備、方法、及非暫時性機器可讀取媒體
EP3575955B1 (en) Indirect memory fetcher
CN111164581A (zh) 用于修补页的系统、方法和装置
US20240320161A1 (en) Apparatuses, methods, and systems for a device translation lookaside buffer pre-translation instruction and extensions to input/output memory management unit protocols
JP2022151658A (ja) コアにおけるメモリ帯域幅制御
US10956327B2 (en) Systems and methods for mitigating dram cache conflicts through hardware assisted redirection of pages (HARP)
EP3771985A1 (en) Hardware for split data translation lookaside buffers
US10936507B2 (en) System, apparatus and method for application specific address mapping
CN119718968A (zh) 通过转译后备缓冲器分区实现高效等面积受害者缓冲的微体系结构和指令集体系结构扩展
US20240211408A1 (en) Apparatus and method for probabilistic cache replacement for accelerating address translation
CN120179581A (zh) 用于远程虚拟到物理地址转译的装置和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241022

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20250115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250514

R150 Certificate of patent or registration of utility model

Ref document number: 7682613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150