RU2009132554A - Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша - Google Patents

Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша Download PDF

Info

Publication number
RU2009132554A
RU2009132554A RU2009132554/08A RU2009132554A RU2009132554A RU 2009132554 A RU2009132554 A RU 2009132554A RU 2009132554/08 A RU2009132554/08 A RU 2009132554/08A RU 2009132554 A RU2009132554 A RU 2009132554A RU 2009132554 A RU2009132554 A RU 2009132554A
Authority
RU
Russia
Prior art keywords
cache
line
level
higher level
placement
Prior art date
Application number
RU2009132554/08A
Other languages
English (en)
Other versions
RU2438165C2 (ru
Inventor
Томас Филип СПЕЙЕР (US)
Томас Филип СПЕЙЕР
Джеймс Норрис ДИФФЕНДЕРФЕР (US)
Джеймс Норрис ДИФФЕНДЕРФЕР
Томас Эндрю САРТОРИУС (US)
Томас Эндрю САРТОРИУС
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
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 Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2009132554A publication Critical patent/RU2009132554A/ru
Application granted granted Critical
Publication of RU2438165C2 publication Critical patent/RU2438165C2/ru

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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/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; 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

1. Способ отслеживания для сокращения размещения смещенных строк кэша, причем этот способ отслеживания содержит: ! выбор строки для смещения в кэше более низкого уровня, ! идентификацию информации, связанной с выбранной строкой, которая указывает, что выбранная строка присутствует в кэше более высокого уровня, и ! предотвращение размещения выбранной строки в кэше более высокого уровня на основе идентифицированной информации. ! 2. Способ отслеживания по п.1, также содержащий: ! сохранение в ответ на промах кэша более низкого уровня информации размещения с тегом строки кэша, размещаемой в кэше более низкого уровня из-за промаха, причем эта информация размещения указывает, была ли строка кэша размещена в кэше более высокого уровня. ! 3. Способ отслеживания по п.1, также содержащий: ! идентификацию выбранной строки как являющейся модифицированной и ! размещение выбранной строки в кэше более высокого уровня. ! 4. Способ отслеживания по п.1, также содержащий: ! определение того, что идентифицированная информация, связанная с выбранной строкой, означает, что выбранная строка отсутствует в кэше более высокого уровня, и ! размещение выбранной строки в кэше более высокого уровня. ! 5. Способ отслеживания по п.1, также содержащий: ! идентификацию выбранной строки как являющейся немодифицированной. ! 6. Способ отслеживания по п.2, также содержащий: ! выборку элемента данных из кэша более высокого уровня и ! установку индикатора размещения в состояние, которое означает, что элемент данных присутствует в кэше более высокого уровня. ! 7. Способ отслеживания по п.2, также содержащий: ! выборку элемента данных из уровня иерархии памяти

Claims (20)

1. Способ отслеживания для сокращения размещения смещенных строк кэша, причем этот способ отслеживания содержит:
выбор строки для смещения в кэше более низкого уровня,
идентификацию информации, связанной с выбранной строкой, которая указывает, что выбранная строка присутствует в кэше более высокого уровня, и
предотвращение размещения выбранной строки в кэше более высокого уровня на основе идентифицированной информации.
2. Способ отслеживания по п.1, также содержащий:
сохранение в ответ на промах кэша более низкого уровня информации размещения с тегом строки кэша, размещаемой в кэше более низкого уровня из-за промаха, причем эта информация размещения указывает, была ли строка кэша размещена в кэше более высокого уровня.
3. Способ отслеживания по п.1, также содержащий:
идентификацию выбранной строки как являющейся модифицированной и
размещение выбранной строки в кэше более высокого уровня.
4. Способ отслеживания по п.1, также содержащий:
определение того, что идентифицированная информация, связанная с выбранной строкой, означает, что выбранная строка отсутствует в кэше более высокого уровня, и
размещение выбранной строки в кэше более высокого уровня.
5. Способ отслеживания по п.1, также содержащий:
идентификацию выбранной строки как являющейся немодифицированной.
6. Способ отслеживания по п.2, также содержащий:
выборку элемента данных из кэша более высокого уровня и
установку индикатора размещения в состояние, которое означает, что элемент данных присутствует в кэше более высокого уровня.
7. Способ отслеживания по п.2, также содержащий:
выборку элемента данных из уровня иерархии памяти выше кэша более высокого уровня и
установку индикатора размещения в состояние, которое означает, что элемент данных отсутствует в кэше более высокого уровня.
8. Способ отслеживания по п.1, в котором кэш более высокого уровня функционирует как кэш «жертвенных» данных.
9. Способ сокращения вытеснений, причем этот способ содержит:
сохранение в кэше уровня X в ответ на промах кэша уровня X информации размещения в теге строки кэша, связанной с этим промахом, причем эта информация размещения указывает, была ли строка кэша размещена в кэше уровня X+1,
выбор строки для смещения в кэше уровня X, и
предотвращение вытеснения выбранной строки из кэша уровня X в кэш уровня X+1 в ответ на информацию размещения выбранной строки, указывающей, что строка кэша была размещена в кэше уровня X+1.
10. Способ по п.9, также содержащий:
идентификацию выбранной строки как являющейся модифицированной и
размещение выбранной строки в кэше уровня X+1.
11. Способ по п.9, также содержащий:
определение того, что информация размещения, связанная с выбранной строкой, указывает, что выбранная строка отсутствует в кэше уровня X+1, и
размещение выбранной строки в кэше уровня X+1.
12. Способ по п.9, также содержащий:
идентификацию выбранной строки как являющейся немодифицированной.
13. Способ по п.9, также содержащий:
выборку элемента данных из кэша уровня X+1 и
установку информации размещения в состояние, которое означает, что элемент данных присутствует в кэше уровня X+1.
14. Способ по п.9, также содержащий:
выборку элемента данных из уровня иерархии памяти выше кэша уровня X+1 и
установку информации размещения в состояние, которое означает, что элемент данных отсутствует в кэше уровня X+1.
15. Способ по п.9, в котором кэш уровня X является кэшем команд уровня X.
16. Система памяти, имеющая множество уровней кэша, содержащая:
кэш более низкого уровня, сконфигурированный для сохранения множества первых строк кэша, каждая с битом размещения, причем каждый бит размещения указывает, была ли первая строка кэша, связанная с битом размещения, размещена в кэше более высокого уровня, и
логическую схему вытеснения, сконфигурированную для определения того, является ли первая строка кэша, выбранная для смещения из множества первых строк кэша, строкой кэша, которая является избыточной по отношению к строке кэша в кэше более высокого уровня, на основе бита размещения, связанного с выбранной первой строкой кэша, и во избежание вытеснения выбранной первой строки кэша в кэш более высокого уровня в зависимости от бита размещения выбранной первой строки кэша.
17. Система памяти по п.16, в которой кэш более высокого уровня содержит:
множество строк второго кэша и
логическую схему в ответ на промах кэша более низкого уровня, сконфигурированную для формирования сигнала размещения на основе того, была ли строка кэша, связанная с промахом, размещена в кэше более высокого уровня, причем сигнал размещения передается в кэш более низкого уровня для сохранения в виде бита размещения в строке кэша, связанной с упомянутым промахом.
18. Система памяти по п.17, в которой логическая схема вытеснения также содержит установку бита размещения в состояние сигнала размещения.
19. Система памяти по п.16, в которой кэш более низкого уровня является кэшем данных.
20. Система памяти по п.17, в которой кэш более высокого уровня является унифицированным кэшем.
RU2009132554/08A 2007-01-31 2008-01-30 Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша RU2438165C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/669,245 2007-01-31
US11/669,245 US8078803B2 (en) 2008-01-30 2008-01-30 Apparatus and methods to reduce castouts in a multi-level cache hierarchy

Publications (2)

Publication Number Publication Date
RU2009132554A true RU2009132554A (ru) 2011-03-10
RU2438165C2 RU2438165C2 (ru) 2011-12-27

Family

ID=39512778

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009132554/08A RU2438165C2 (ru) 2007-01-31 2008-01-30 Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша

Country Status (10)

Country Link
US (2) US8078803B2 (ru)
EP (2) EP2118754B1 (ru)
JP (4) JP2010518487A (ru)
KR (1) KR101165132B1 (ru)
CN (2) CN101595462B (ru)
BR (1) BRPI0806865A2 (ru)
CA (1) CA2675046C (ru)
MX (1) MX2009008092A (ru)
RU (1) RU2438165C2 (ru)
WO (1) WO2008095025A1 (ru)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010518487A (ja) 2008-01-30 2010-05-27 クゥアルコム・インコーポレイテッド マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
JP2010113593A (ja) 2008-11-07 2010-05-20 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
WO2010052799A1 (ja) * 2008-11-10 2010-05-14 富士通株式会社 情報処理装置及びメモリ制御装置
US20110202727A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache
US9201794B2 (en) * 2011-05-20 2015-12-01 International Business Machines Corporation Dynamic hierarchical memory cache awareness within a storage system
US9021206B2 (en) 2011-08-25 2015-04-28 International Business Machines Corporation Use of cache statistics to ration cache hierarchy access
KR101862785B1 (ko) * 2011-10-17 2018-07-06 삼성전자주식회사 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법
WO2014111984A1 (ja) 2013-01-17 2014-07-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびファイル管理方法
KR20150132099A (ko) * 2013-03-20 2015-11-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 서로 다른 계층 레벨의 메모리 노드를 가진 메모리 시스템에서의 데이터 캐싱
US9854052B2 (en) * 2013-09-27 2017-12-26 Sap Se Business object attachments and expiring URLs
JP2015088146A (ja) * 2013-11-01 2015-05-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP2015176245A (ja) 2014-03-13 2015-10-05 株式会社東芝 情報処理装置及びデータ構造
US10216640B2 (en) 2014-03-21 2019-02-26 Samsung Electronics Co., Ltd. Opportunistic cache injection of data into lower latency levels of the cache hierarchy
CN104932989B (zh) * 2014-03-21 2020-05-19 三星电子株式会社 数据到高速缓冲层次低延迟层级中的机会性高速缓冲注入
JP2016057763A (ja) 2014-09-08 2016-04-21 株式会社東芝 キャッシュ装置、及びプロセッサ
US9684602B2 (en) 2015-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory access control device, cache memory and semiconductor device
KR101697515B1 (ko) * 2015-12-15 2017-01-18 전남대학교산학협력단 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템
CN109074320B (zh) * 2017-03-08 2023-11-17 华为技术有限公司 一种缓存替换方法,装置和系统
JP7139719B2 (ja) * 2018-06-26 2022-09-21 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US11782919B2 (en) * 2021-08-19 2023-10-10 International Business Machines Corporation Using metadata presence information to determine when to access a higher-level metadata table

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564035A (en) * 1994-03-23 1996-10-08 Intel Corporation Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein
US5737751A (en) 1996-03-26 1998-04-07 Intellectual Business Machines Corporation Cache memory management system having reduced reloads to a second level cache for enhanced memory performance in a data processing system
US5787478A (en) * 1997-03-05 1998-07-28 International Business Machines Corporation Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
US6374330B1 (en) 1997-04-14 2002-04-16 International Business Machines Corporation Cache-coherency protocol with upstream undefined state
US6202129B1 (en) 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
TW451132B (en) * 1998-12-15 2001-08-21 Nippon Electric Co System and method for cache processing
US6564301B1 (en) * 1999-07-06 2003-05-13 Arm Limited Management of caches in a data processing apparatus
US6282615B1 (en) * 1999-11-09 2001-08-28 International Business Machines Corporation Multiprocessor system bus with a data-less castout mechanism
US7024519B2 (en) * 2002-05-06 2006-04-04 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
US6941421B2 (en) * 2002-10-29 2005-09-06 International Business Machines Corporation Zero delay data cache effective address generation
JP2006155080A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd メモリ制御装置およびメモリ制御方法
US20060155934A1 (en) * 2005-01-11 2006-07-13 Ramakrishnan Rajamony System and method for reducing unnecessary cache operations
US7330941B2 (en) 2005-03-23 2008-02-12 Qualcomm Incorporated Global modified indicator to reduce power consumption on cache miss
DE102005015116A1 (de) 2005-04-01 2006-10-05 Webasto Ag Kraftfahrzeugheizung
JP2010518487A (ja) 2008-01-30 2010-05-27 クゥアルコム・インコーポレイテッド マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法
US20110202727A1 (en) 2010-02-18 2011-08-18 Qualcomm Incorporated Apparatus and Methods to Reduce Duplicate Line Fills in a Victim Cache

Also Published As

Publication number Publication date
BRPI0806865A2 (pt) 2014-04-29
EP2527987A1 (en) 2012-11-28
JP2010518487A (ja) 2010-05-27
WO2008095025A1 (en) 2008-08-07
JP2017033584A (ja) 2017-02-09
KR101165132B1 (ko) 2012-07-12
US20120059995A1 (en) 2012-03-08
CN101595462A (zh) 2009-12-02
CA2675046A1 (en) 2008-08-07
US8386716B2 (en) 2013-02-26
EP2118754A1 (en) 2009-11-18
CN102693187A (zh) 2012-09-26
US20080183967A1 (en) 2008-07-31
JP2013069322A (ja) 2013-04-18
CN102693187B (zh) 2016-03-30
CA2675046C (en) 2013-07-30
JP2015111435A (ja) 2015-06-18
CN101595462B (zh) 2012-04-25
US8078803B2 (en) 2011-12-13
EP2118754B1 (en) 2013-07-03
KR20090115799A (ko) 2009-11-06
JP6392286B2 (ja) 2018-09-19
RU2438165C2 (ru) 2011-12-27
MX2009008092A (es) 2009-08-12
JP6009589B2 (ja) 2016-10-19

Similar Documents

Publication Publication Date Title
RU2009132554A (ru) Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша
US9032156B2 (en) Memory access monitor
JP2017151982A5 (ru)
CN109923530A (zh) 混合式存储器中的数据重新定位
CN106104499B (zh) 存储器设备及用于操作高速缓冲存储器的方法
JP2018163659A5 (ru)
TW200622619A (en) Fat analysis for optimized sequential cluster management
ATE390667T1 (de) Verbessertes speichermanagement für echtzeitanwendungen
WO2008097617A3 (en) Mlc selected multi-program for system management
JP2012523055A5 (ru)
EP1909184A3 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
EP2254053A3 (en) Fat analysis for optimized sequential cluster management
TW200741462A (en) Non-volatile memory sharing system for multiple processors and memory sharing method thereof
US20130238835A1 (en) Burning system and method
US9047186B2 (en) Allocation method and apparatus of moderate memory
TW201643715A (en) Byte level granularity buffer overflow detection for memory corruption detection architectures
TW200802030A (en) Sequential access memory
CN106062724A (zh) 存储器模块上的数据管理
GB2532667A (en) Memory management
CN103914397B (zh) 闪存存储设备及其管理方法
CN106681660B (zh) Io调度方法及io调度装置
CN104484131A (zh) 多磁盘服务器的数据处理装置及对应的处理方法
RU2015151167A (ru) Отображение встроенного адреса есс
EP2237155A3 (en) Information processing program, information processing device and information processing method
US20100005265A1 (en) Method for isolating objects in memory region

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20200131