BR112018006100A2 - método e aparelho para deduplicação de linha de cache por meio de correspondência de dados - Google Patents

método e aparelho para deduplicação de linha de cache por meio de correspondência de dados

Info

Publication number
BR112018006100A2
BR112018006100A2 BR112018006100A BR112018006100A BR112018006100A2 BR 112018006100 A2 BR112018006100 A2 BR 112018006100A2 BR 112018006100 A BR112018006100 A BR 112018006100A BR 112018006100 A BR112018006100 A BR 112018006100A BR 112018006100 A2 BR112018006100 A2 BR 112018006100A2
Authority
BR
Brazil
Prior art keywords
cache
cache line
line
data matching
line data
Prior art date
Application number
BR112018006100A
Other languages
English (en)
Inventor
Robert Hower Derek
Wade Cain Harold Iii
Damodaran Raguram
Andrew Sartorius Thomas
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BR112018006100A2 publication Critical patent/BR112018006100A2/pt

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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
    • 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/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • 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/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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
    • 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/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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

uma linha de preenchimento de cache é recebida, em que inclui um índice, um identificador de thread e dados de linha de preenchimento de cache. o cache é investigado com o uso do índice e um identificador de thread diferente para uma linha de cache duplicada potencial. a linha de cache duplicada potencial inclui dados de linha de cache e o identificador de thread diferente. mediante a correspondência dos dados de linha de preenchimento de cache aos dados de linha de cache, a duplicação é identificada. a linha de cache duplicada potencial é ajustada como uma linha de cache residente compartilhada e a etiqueta de permissão de compartilhamento de thread é ajustada para um estado de permissão.
BR112018006100A 2015-09-25 2016-09-12 método e aparelho para deduplicação de linha de cache por meio de correspondência de dados BR112018006100A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/865,049 US20170091117A1 (en) 2015-09-25 2015-09-25 Method and apparatus for cache line deduplication via data matching
PCT/US2016/051241 WO2017053109A1 (en) 2015-09-25 2016-09-12 Method and apparatus for cache line deduplication via data matching

Publications (1)

Publication Number Publication Date
BR112018006100A2 true BR112018006100A2 (pt) 2018-10-16

Family

ID=56940468

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018006100A BR112018006100A2 (pt) 2015-09-25 2016-09-12 método e aparelho para deduplicação de linha de cache por meio de correspondência de dados

Country Status (7)

Country Link
US (1) US20170091117A1 (pt)
EP (1) EP3353662A1 (pt)
JP (1) JP2018533135A (pt)
KR (1) KR20180058797A (pt)
CN (1) CN108027777A (pt)
BR (1) BR112018006100A2 (pt)
WO (1) WO2017053109A1 (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152429B2 (en) * 2015-10-27 2018-12-11 Medallia, Inc. Predictive memory management
US10831664B2 (en) 2017-06-16 2020-11-10 International Business Machines Corporation Cache structure using a logical directory
US10606762B2 (en) * 2017-06-16 2020-03-31 International Business Machines Corporation Sharing virtual and real translations in a virtual cache
US10698836B2 (en) * 2017-06-16 2020-06-30 International Business Machines Corporation Translation support for a virtual cache
US10705969B2 (en) 2018-01-19 2020-07-07 Samsung Electronics Co., Ltd. Dedupe DRAM cache
JP2022540972A (ja) * 2019-05-31 2022-09-21 インテル・コーポレーション 高性能メモリ管理システムにおけるガーベジコレクションの回避
US11194730B2 (en) * 2020-02-09 2021-12-07 International Business Machines Corporation Application interface to depopulate data from cache
CN112565437B (zh) * 2020-12-07 2021-11-19 浙江大学 一种面向跨界服务网络的服务缓存方法
US11593109B2 (en) * 2021-06-07 2023-02-28 International Business Machines Corporation Sharing instruction cache lines between multiple threads
US11593108B2 (en) 2021-06-07 2023-02-28 International Business Machines Corporation Sharing instruction cache footprint between multiple threads

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542991B1 (en) * 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US6938252B2 (en) * 2000-12-14 2005-08-30 International Business Machines Corporation Hardware-assisted method for scheduling threads using data cache locality
US6901483B2 (en) * 2002-10-24 2005-05-31 International Business Machines Corporation Prioritizing and locking removed and subsequently reloaded cache lines
US20050210204A1 (en) * 2003-01-27 2005-09-22 Fujitsu Limited Memory control device, data cache control device, central processing device, storage device control method, data cache control method, and cache control method
US7136967B2 (en) * 2003-12-09 2006-11-14 International Business Machinces Corporation Multi-level cache having overlapping congruence groups of associativity sets in different cache levels
US7594236B2 (en) * 2004-06-28 2009-09-22 Intel Corporation Thread to thread communication
US7434000B1 (en) * 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core processor
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
US7318127B2 (en) * 2005-02-11 2008-01-08 International Business Machines Corporation Method, apparatus, and computer program product for sharing data in a cache among threads in an SMT processor
US8214602B2 (en) * 2008-06-23 2012-07-03 Advanced Micro Devices, Inc. Efficient load queue snooping
US8966232B2 (en) * 2012-02-10 2015-02-24 Freescale Semiconductor, Inc. Data processing system operable in single and multi-thread modes and having multiple caches and method of operation

Also Published As

Publication number Publication date
WO2017053109A1 (en) 2017-03-30
EP3353662A1 (en) 2018-08-01
KR20180058797A (ko) 2018-06-01
CN108027777A (zh) 2018-05-11
JP2018533135A (ja) 2018-11-08
US20170091117A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
BR112018006100A2 (pt) método e aparelho para deduplicação de linha de cache por meio de correspondência de dados
BR112017011763A2 (pt) dispositivos de controle e de comunicação por rádio, e, método de controle de comunicação.
BR112018007017A2 (pt) polipeptídeos
CL2016000341A1 (es) Métodos para tratar la miositis por cuerpos de inclusión esporádica
CL2017002143A1 (es) Señalización de control que soporta programación multi-prioridad
BR112019006489A2 (pt) serviço de segurança de iot
BR112017018890A2 (pt) controle de acesso para dados encriptados em identificadores legíveis por máquina
ECSP16062894A (es) Anticuerpos y fragmentos anti-vista
UY36445A (es) Compuestos moduladores de fxr (nr1h4 que contiene grupos hidroxi)
CL2015003280A1 (es) Derivados de benzimidazol como inhibidores de bromodominio
CR20150552A (es) Entorno de aprendizaje de idiomas
CL2015002855A1 (es) Derivados de oxopiridina sustituida.
UY35500A (es) Indazoles sustituidos con heteroarilo
BR112018003885A2 (pt) método e sistema para estimar a porosidade associada à matéria orgânica, método para avaliar o potencial de produção de um poço ou formação, e, meio legível por computador não transitório
BR112017006223A2 (pt) medições de sincronização de mobilidade
BR112015024640A2 (pt) processo para a preparação de um polímero antibacteriano, polímero antibacteriano, uso do polímero e produto antibacteriano
BR112015022535A2 (pt) método implementado por computador, sistema, aparelho e mídia legível por computador não transitória
BR112014023284A8 (pt) Aparelho e método de processamento de informação, e, mídia
BR112018002104A2 (pt) sequências piloto em fluxos de dados
BR112016025347A2 (pt) método e sistema para caracterização geoquímica espacialmente resolvida
BR112017004028A2 (pt) sistema criptográfico, primeiro dispositivo de rede configurado para determinar uma chave compartilhada com qualquer um dentre múltiplos dispositivos de rede, método de compartilhamento para determinar uma chave compartilhada com qualquer um dentre múltiplos dispositivos de rede, e programa de computador
BR112017013335A2 (pt) método, composição assentável com vida prolongada e sistema
AR090950A1 (es) Extraccion y caracterizacion automatica de poblaciones con fallas y fracturas
BR112018000187A2 (pt) composto, composição, método, e, uso de um composto ou composição
BR112017012831A2 (pt) método para manutenção de uma máquina de venda automática

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal acc. article 33 of ipl - extension of time limit for request of examination expired