RU2010144798A - Адаптивная организация кэша для однокристальных мультипроцессоров - Google Patents

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

Info

Publication number
RU2010144798A
RU2010144798A RU2010144798/08A RU2010144798A RU2010144798A RU 2010144798 A RU2010144798 A RU 2010144798A RU 2010144798/08 A RU2010144798/08 A RU 2010144798/08A RU 2010144798 A RU2010144798 A RU 2010144798A RU 2010144798 A RU2010144798 A RU 2010144798A
Authority
RU
Russia
Prior art keywords
bank
data block
home
copy
original
Prior art date
Application number
RU2010144798/08A
Other languages
English (en)
Other versions
RU2484520C2 (ru
Inventor
Навин ЧЕРУКУРИ (US)
Навин ЧЕРУКУРИ
Иоаннис Т. ШОЙНАС (US)
Иоаннис Т. ШОЙНАС
Экилеш КУМАР (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)
Priority claimed from PCT/US2009/038886 external-priority patent/WO2009146027A1/en
Publication of RU2010144798A publication Critical patent/RU2010144798A/ru
Application granted granted Critical
Publication of RU2484520C2 publication Critical patent/RU2484520C2/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/27Using a specific cache architecture
    • G06F2212/271Non-uniform cache access [NUCA] architecture

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Claims (20)

1. Способ, содержащий:
вызов блока данных из запоминающего устройства данных посредством первоначального процессорного ядра;
сохранение первоначальной копии блока данных в банке первоначального аморфного кэша, расположенного рядом с этим первоначальным процессорным ядром; и
регистрацию первоначальной копии блока данных в директории домашнего банка.
2. Способ по п.1, дополнительно содержащий:
вызов первоначальной копии блока данных из банка первоначального аморфного кэша посредством последующего процессорного ядра; и
сохранение последующей копии блока данных в банке последующего аморфного кэша, расположенного рядом с этим последующим процессорным ядром;
регистрацию последующей копии блока данных в директории домашнего банка.
3. Способ по п.2, дополнительно содержащий:
сохранение домашней копии блока данных в банке домашнего аморфного кэша.
4. Способ по п.1, дополнительно содержащий:
смещение первоначальной копии блока данных для более раннего вытеснения из банка персонального аморфного кэша.
5. Способ по п.1, дополнительно содержащий:
вытеснение первоначальной копии блока данных из банка первоначального аморфного кэша; и
запись первоначальной копии блока данных в банк домашнего аморфного кэша.
6. Способ по п.5, дополнительно содержащий:
смещение первоначальной копии блока данных для более раннего вытеснения из банка домашнего аморфного кэша.
7. Способ по п.1, отличающийся тем, что директорий домашнего банка является частью банка домашнего аморфного кэша и имеет больше блоков, доступных для листинга, чем банк домашнего аморфного кэша содержит блоков данных.
8. Первоначальная ячейка однокристального мультипроцессора, содержащая:
первоначальное процессорное ядро для вызова блока данных из запоминающего устройства данных; и
первоначальный банк аморфного кэша, расположенный рядом с первоначальным процессорным ядром, для сохранения первоначальной копии блока данных, зарегистрированной в директории домашнего банка.
9. Первоначальная ячейка однокристального мультипроцессора по п.8, отличающаяся тем, что последующее процессорное ядро вызывает первоначальную копию блока данных из банка первоначального аморфного кэша, а банк последующего аморфного кэша, расположенный рядом с последующим процессорным ядром, сохраняет последующую копию блока данных, зарегистрированную в директории домашнего банка.
10. Первоначальная ячейка однокристального мультипроцессора по п.9, отличающаяся тем, что домашний банк аморфного кэша сохраняет домашнюю копию блока данных.
11. Первоначальная ячейка однокристального мультипроцессора по п.8, отличающаяся тем, что первоначальная копия блока данных смещена для более раннего вытеснения из банка первоначального аморфного кэша.
12. Первоначальная ячейка однокристального мультипроцессора по п.8, отличающаяся тем, что первоначальную копию блока данных вытесняют из банка первоначального аморфного кэша и записывают в банке домашнего аморфного кэша.
13. Первоначальная ячейка однокристального мультипроцессора по п.12, отличающаяся тем, что первоначальная копия блока данных смещена для более раннего вытеснения из банка домашнего аморфного кэша.
14. Однокристальный мультипроцессор, содержащий:
первоначальное процессорное ядро для вызова блока данных из запоминающего устройства данных;
первоначальный банк аморфного кэша, расположенный рядом с первоначальным процессорным ядром для сохранения первоначальной копии блока данных;
директорий домашнего банка для регистрации первоначальной копии блока данных.
15. Однокристальный мультипроцессор по п.14, дополнительно содержащий:
последующее процессорное ядро для вызова первоначальной копии блока данных из банка первоначального аморфного кэша; и
банк последующего аморфного кэша, расположенный рядом с последующим процессорным ядром, для сохранения последующей копии блока данных, зарегистрированной в директории домашнего банка.
16. Однокристальный мультипроцессор по п.15, дополнительно содержащий:
домашний банк аморфного кэша для сохранения домашней копии блока данных.
17. Однокристальный мультипроцессор по п.14, отличающийся тем, что первоначальная копия блока данных смещена для более раннего вытеснения из банка первоначального аморфного кэша.
18. Однокристальный мультипроцессор по п.14, отличающийся тем, что первоначальную копию блока данных вытесняют из банка первоначального аморфного кэша и записывают в банке домашнего аморфного кэша.
19. Однокристальный мультипроцессор по п.18, отличающийся тем, что первоначальная копия блока данных смещена для более раннего вытеснения из банка домашнего аморфного кэша.
20. Однокристальный мультипроцессор по п.14, отличающийся тем, что директорий домашнего банка является частью банка домашнего аморфного кэша и имеет больше блоков, доступных для листинга, чем банк домашнего аморфного кэша содержит блоков данных.
RU2010144798/08A 2008-04-02 2009-03-31 Адаптивная организация кэша для однокристальных мультипроцессоров RU2484520C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/061,027 2008-04-02
US12/061,027 US20090254712A1 (en) 2008-04-02 2008-04-02 Adaptive cache organization for chip multiprocessors
PCT/US2009/038886 WO2009146027A1 (en) 2008-04-02 2009-03-31 Adaptive cache organization for chip multiprocessors

Publications (2)

Publication Number Publication Date
RU2010144798A true RU2010144798A (ru) 2012-05-10
RU2484520C2 RU2484520C2 (ru) 2013-06-10

Family

ID=41134309

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010144798/08A RU2484520C2 (ru) 2008-04-02 2009-03-31 Адаптивная организация кэша для однокристальных мультипроцессоров

Country Status (3)

Country Link
US (1) US20090254712A1 (ru)
CN (1) CN101587457B (ru)
RU (1) RU2484520C2 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990506B2 (en) * 2009-12-16 2015-03-24 Intel Corporation Replacing cache lines in a cache memory based at least in part on cache coherency state information
WO2014042649A1 (en) * 2012-09-14 2014-03-20 Empire Technology Development, Llc Cache coherence directory in multi-processor architectures
CN104995609B (zh) * 2013-02-11 2017-12-19 英派尔科技开发有限公司 对发向目录的缓存回收通知的聚合
US9298620B2 (en) * 2013-11-25 2016-03-29 Apple Inc. Selective victimization in a multi-level cache hierarchy
US10621090B2 (en) * 2017-01-12 2020-04-14 International Business Machines Corporation Facility for extending exclusive hold of a cache line in private cache

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098152A (en) * 1997-10-17 2000-08-01 International Business Machines Corporation Method and apparatus for miss sequence cache block replacement utilizing a most recently used state
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6405290B1 (en) * 1999-06-24 2002-06-11 International Business Machines Corporation Multiprocessor system bus protocol for O state memory-consistent data
US6338116B1 (en) * 1999-11-09 2002-01-08 International Business Machines Corporation Method and apparatus for a data-less write operation within a cache memory hierarchy for a data processing system
US6782463B2 (en) * 2001-09-14 2004-08-24 Intel Corporation Shared memory array
RU2238584C2 (ru) * 2002-07-31 2004-10-20 Муратшин Борис Фрилевич Способ организации персистентной кэш памяти для многозадачных, в том числе симметричных многопроцессорных компьютерных систем и устройство для его осуществления
US7114042B2 (en) * 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US7089361B2 (en) * 2003-08-07 2006-08-08 International Business Machines Corporation Dynamic allocation of shared cache directory for optimizing performance
US7434008B2 (en) * 2004-04-23 2008-10-07 Hewlett-Packard Development Company, L.P. System and method for coherency filtering
US7558920B2 (en) * 2004-06-30 2009-07-07 Intel Corporation Apparatus and method for partitioning a shared cache of a chip multi-processor
US20060282620A1 (en) * 2005-06-14 2006-12-14 Sujatha Kashyap Weighted LRU for associative caches
US20070143546A1 (en) * 2005-12-21 2007-06-21 Intel Corporation Partitioned shared cache
US7571285B2 (en) * 2006-07-21 2009-08-04 Intel Corporation Data classification in shared cache of multiple-core processor
US7899994B2 (en) * 2006-08-14 2011-03-01 Intel Corporation Providing quality of service (QoS) for cache architectures using priority information
US7949794B2 (en) * 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US7710777B1 (en) * 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
US7649764B2 (en) * 2007-01-04 2010-01-19 Freescale Semiconductor, Inc. Memory with shared write bit line(s)
US7472226B1 (en) * 2008-03-20 2008-12-30 International Business Machines Corporation Methods involving memory caches

Also Published As

Publication number Publication date
CN101587457A (zh) 2009-11-25
US20090254712A1 (en) 2009-10-08
CN101587457B (zh) 2013-03-13
RU2484520C2 (ru) 2013-06-10

Similar Documents

Publication Publication Date Title
RU2010144798A (ru) Адаптивная организация кэша для однокристальных мультипроцессоров
US8949544B2 (en) Bypassing a cache when handling memory requests
US8935484B2 (en) Write-absorbing buffer for non-volatile memory
EP1677198A3 (en) Distributed cache architecture
ATE402444T1 (de) Verwaltung von mehrprozessor-operationen
TW200609726A (en) Methods and apparatus for providing a software implemented cache memory
JP2003216494A5 (ru)
WO2010148803A1 (zh) 一种提高移动门户网站动态页面访问速度的方法和装置
WO2007027317A3 (en) System and method of managing telephone calls within a voice over internet protocol telephone system
RU2009131695A (ru) Способ и устройство для установки политики кэширования в процессоре
TW200634517A (en) Utilizing paging to support dynamic code updates
CN101593131A (zh) 基于对象池来实现线程操作的方法和设备
TW200736919A (en) Directory-based data transfer protocol for multiprocessor system
ATE484027T1 (de) Dynamische cache-speicherung von engine- anweisungen für die auf-bedarf-programmausführung
WO2015154387A1 (zh) 一种处理通话记录信息的方法和装置
CN107800652A (zh) 在交换机中使用的协议访问方法及装置
CN101609449A (zh) 一种基于布鲁姆过滤器的数据块快速比较系统
CN204633866U (zh) 具有骚扰拦截功能的传真机和/或固定电话机
JP2007511850A5 (ru)
CN202401560U (zh) 带有收纳架的马桶
CN103049478A (zh) 一种Web服务的双路缓存机制设计方法
CN203040370U (zh) 多合一宠物箱
Kang et al. FS-LRU: A page cache algorithm for eliminating fsync write on mobile devices
Black-Schaffer Skewed Caches from a Low-Power Perspective
RU2007138794A (ru) Система сохранения информации и доступа к ней в сети сотовой связи

Legal Events

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

Effective date: 20160401