JP2002163149A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2002163149A5 JP2002163149A5 JP2001316210A JP2001316210A JP2002163149A5 JP 2002163149 A5 JP2002163149 A5 JP 2002163149A5 JP 2001316210 A JP2001316210 A JP 2001316210A JP 2001316210 A JP2001316210 A JP 2001316210A JP 2002163149 A5 JP2002163149 A5 JP 2002163149A5
- Authority
- JP
- Japan
- Prior art keywords
- list
- line
- computer system
- lines
- address
- 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.)
- Granted
Links
- 230000000875 corresponding Effects 0.000 claims 2
Claims (12)
- 複数のメモリキャッシュと、
前記複数のメモリキャッシュにおけるラインのうち、メモリ内の対応するラインが同一でない可能性があるラインのそれぞれについて、該ラインについてのアドレス参照、および、該ラインをどのキャッシュが所有するかを示す標示、を含むリストと、を備えており、
前記リストは、共有されるラインおよびキャッシュされていないラインについてのアドレス参照と、該アドレス参照に対応するデータと、を含まないよう構成される、コンピュータシステム。 - 前記アドレス参照は、タグである、請求項1に記載のコンピュータシステム。
- どのキャッシュがラインを所有するかの前記標示は、1ビットである、請求項1に記載のコンピュータシステム。
- 前記リストが保持することができる前記アドレス参照の数は、前記複数のメモリキャッシュに格納されることができるラインの合計数よりも実質的に少ない、請求項1に記載のコンピュータシステム。
- 前記リストは、前記コンピュータシステム内のすべての装置によって共有される1つのリストである、請求項1に記載のコンピュータシステム。
- 前記メモリ内のデータのコピーを要求することができるすべての装置は、前記リストのローカルコピーを保持する、請求項1に記載のコンピュータシステム。
- コンピュータシステムにおいてキャッシュコヒーレンシを維持するための方法であって、
所有されるすべてのラインについてのアドレス参照を、リストに登録するステップと、
共有されるキャッシュおよびキャッシュされていないラインについてのアドレス参照については、前記リスト内に登録しないステップと、
或るラインの所有権が変更されるときにのみ、前記リストを更新するステップと、
を含む方法。 - 或るラインがメモリに書き込まれるとき、前記リストから、該ラインに対するアドレス参照を削除するステップ、
をさらに含む、請求項7に記載の方法。 - 或るラインが前記リストに登録されておらず、かつ、該ラインの所有権が或る装置によって要求されたとき、該リストに新しいエントリを割り当てるステップ、
をさらに含む、請求項7に記載の方法。 - 前記リストに新しいエントリを割り当てる前記ステップはさらに、
前記リストから或るラインを除去するステップと、
前記除去されたラインをメモリにコピーするステップと、
を含む、請求項9に記載の方法。 - 或るラインが、所定時間より長い間前記リスト内に存在しているとき、該リストから、該ラインへのアドレス参照を削除するステップ、
をさらに含む、請求項7に記載の方法。 - 前記リストが満杯になるのを防ぐように、該リストが満杯でない場合であっても、該リストから、或るラインへのアドレス参照を削除するステップ、
をさらに含む、請求項7に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/704,176 US6868481B1 (en) | 2000-10-31 | 2000-10-31 | Cache coherence protocol for a multiple bus multiprocessor system |
US09/704176 | 2000-10-31 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002163149A JP2002163149A (ja) | 2002-06-07 |
JP2002163149A5 true JP2002163149A5 (ja) | 2005-04-07 |
JP4008224B2 JP4008224B2 (ja) | 2007-11-14 |
Family
ID=24828413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001316210A Expired - Lifetime JP4008224B2 (ja) | 2000-10-31 | 2001-10-15 | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
Country Status (2)
Country | Link |
---|---|
US (2) | US6868481B1 (ja) |
JP (1) | JP4008224B2 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222220B2 (en) * | 2001-05-01 | 2007-05-22 | Sun Microsystems, Inc. | Multiprocessing system employing address switches to control mixed broadcast snooping and directory based coherency protocols transparent to active devices |
US6959364B2 (en) * | 2002-06-28 | 2005-10-25 | Intel Corporation | Partially inclusive snoop filter |
US8751753B1 (en) * | 2003-04-09 | 2014-06-10 | Guillermo J. Rozas | Coherence de-coupling buffer |
US7636815B1 (en) * | 2003-04-09 | 2009-12-22 | Klaiber Alexander C | System and method for handling direct memory accesses |
US8024526B2 (en) * | 2003-04-11 | 2011-09-20 | Oracle America, Inc. | Multi-node system with global access states |
US7065614B1 (en) * | 2003-06-20 | 2006-06-20 | Unisys Corporation | System and method for maintaining memory coherency within a multi-processor data processing system |
GB2403560A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Memory bus within a coherent multi-processing system |
US7216205B2 (en) * | 2004-01-12 | 2007-05-08 | Hewlett-Packard Development Company, L.P. | Cache line ownership transfer in multi-processor computer systems |
US7213106B1 (en) * | 2004-08-09 | 2007-05-01 | Sun Microsystems, Inc. | Conservative shadow cache support in a point-to-point connected multiprocessing node |
US20060138830A1 (en) * | 2004-12-23 | 2006-06-29 | Cho-Hsin Liu | Barrel shaped chair of a racing car |
JP4882233B2 (ja) * | 2005-01-24 | 2012-02-22 | 富士通株式会社 | メモリ制御装置及び制御方法 |
US7971002B1 (en) * | 2005-04-07 | 2011-06-28 | Guillermo Rozas | Maintaining instruction coherency in a translation-based computer system architecture |
US20060230233A1 (en) * | 2005-04-11 | 2006-10-12 | Steely Simon C Jr | Technique for allocating cache line ownership |
US7363435B1 (en) | 2005-04-27 | 2008-04-22 | Sun Microsystems, Inc. | System and method for coherence prediction |
US7797495B1 (en) | 2005-08-04 | 2010-09-14 | Advanced Micro Devices, Inc. | Distributed directory cache |
US20070218872A1 (en) * | 2006-03-16 | 2007-09-20 | Lucent Technologies Inc. | Method and apparatus for automated mapping cell handset location data to physical maps for data mining (traffic patterns, new roads) |
US7941610B2 (en) | 2006-04-27 | 2011-05-10 | Hewlett-Packard Development Company, L.P. | Coherency directory updating in a multiprocessor computing system |
US7581068B2 (en) * | 2006-06-29 | 2009-08-25 | Intel Corporation | Exclusive ownership snoop filter |
GB2442984B (en) * | 2006-10-17 | 2011-04-06 | Advanced Risc Mach Ltd | Handling of write access requests to shared memory in a data processing apparatus |
US7657710B2 (en) * | 2006-11-17 | 2010-02-02 | Sun Microsystems, Inc. | Cache coherence protocol with write-only permission |
US8688890B2 (en) * | 2006-12-05 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | Bit ordering for communicating an address on a serial fabric |
US8539164B2 (en) * | 2007-04-30 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | Cache coherency within multiprocessor computer system |
JP4650468B2 (ja) * | 2007-09-26 | 2011-03-16 | 株式会社デンソー | 経路探索装置 |
US8615637B2 (en) * | 2009-09-10 | 2013-12-24 | Advanced Micro Devices, Inc. | Systems and methods for processing memory requests in a multi-processor system using a probe engine |
US8669990B2 (en) * | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
FR2992446B1 (fr) | 2012-06-22 | 2015-04-10 | Commissariat Energie Atomique | Systeme et procede de traitement de donnees a gestion d'une coherence de caches dans un reseau de processeurs munis de memoires caches. |
KR101695845B1 (ko) * | 2012-09-20 | 2017-01-12 | 한국전자통신연구원 | 캐시 일관성 유지 장치 및 방법, 이를 이용하는 멀티프로세서 장치 |
US20160188468A1 (en) * | 2014-12-26 | 2016-06-30 | Intel Corporation | Implementation of data coherence among devices |
GB2539383B (en) | 2015-06-01 | 2017-08-16 | Advanced Risc Mach Ltd | Cache coherency |
US10157133B2 (en) | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US20170185516A1 (en) * | 2015-12-28 | 2017-06-29 | Arm Limited | Snoop optimization for multi-ported nodes of a data processing system |
US9990292B2 (en) | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US11119926B2 (en) | 2017-12-18 | 2021-09-14 | Advanced Micro Devices, Inc. | Region based directory scheme to adapt to large cache sizes |
US10705959B2 (en) | 2018-08-31 | 2020-07-07 | Advanced Micro Devices, Inc. | Region based split-directory scheme to adapt to large cache sizes |
US10922237B2 (en) | 2018-09-12 | 2021-02-16 | Advanced Micro Devices, Inc. | Accelerating accesses to private regions in a region-based cache directory scheme |
US11360906B2 (en) | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54139436A (en) * | 1978-04-21 | 1979-10-29 | Fujitsu Ltd | Error relief system for buffer control information |
US4503497A (en) * | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
US5175837A (en) * | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
EP0384102A3 (en) * | 1989-02-22 | 1992-04-29 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
EP0416211A3 (en) * | 1989-09-08 | 1992-07-22 | International Business Machines Corporation | Access authorization table for multi-processor caches |
US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
JPH07129468A (ja) * | 1993-11-04 | 1995-05-19 | Matsushita Electric Ind Co Ltd | 主記憶制御装置 |
JP3410535B2 (ja) * | 1994-01-20 | 2003-05-26 | 株式会社日立製作所 | 並列計算機 |
US5655103A (en) * | 1995-02-13 | 1997-08-05 | International Business Machines Corporation | System and method for handling stale data in a multiprocessor system |
JP2902976B2 (ja) * | 1995-06-19 | 1999-06-07 | 株式会社東芝 | キャッシュフラッシュ装置 |
JP3093609B2 (ja) * | 1995-07-27 | 2000-10-03 | エヌイーシーソフト株式会社 | キャッシュメモリの記憶一致制御装置及び方法 |
JPH09198312A (ja) * | 1996-01-17 | 1997-07-31 | Hitachi Ltd | 半導体メモリシステム |
US5749087A (en) * | 1996-07-30 | 1998-05-05 | International Business Machines Corporation | Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory |
US5875468A (en) * | 1996-09-04 | 1999-02-23 | Silicon Graphics, Inc. | Method to pipeline write misses in shared cache multiprocessor systems |
JP2916421B2 (ja) * | 1996-09-09 | 1999-07-05 | 株式会社東芝 | キャッシュフラッシュ装置およびデータ処理方法 |
US6049847A (en) | 1996-09-16 | 2000-04-11 | Corollary, Inc. | System and method for maintaining memory coherency in a computer system having multiple system buses |
US5897656A (en) * | 1996-09-16 | 1999-04-27 | Corollary, Inc. | System and method for maintaining memory coherency in a computer system having multiple system buses |
US5995967A (en) * | 1996-10-18 | 1999-11-30 | Hewlett-Packard Company | Forming linked lists using content addressable memory |
US5991819A (en) * | 1996-12-03 | 1999-11-23 | Intel Corporation | Dual-ported memory controller which maintains cache coherency using a memory line status table |
US5809536A (en) * | 1996-12-09 | 1998-09-15 | Intel Corporation, Inc. | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache |
US5848434A (en) * | 1996-12-09 | 1998-12-08 | Intel Corporation | Method and apparatus for caching state information within a directory-based coherency memory system |
US6105113A (en) * | 1997-08-21 | 2000-08-15 | Silicon Graphics, Inc. | System and method for maintaining translation look-aside buffer (TLB) consistency |
US6633958B1 (en) * | 1997-11-17 | 2003-10-14 | Silicon Graphics, Inc. | Multiprocessor computer system and method for maintaining cache coherence utilizing a multi-dimensional cache coherence directory structure |
US6490625B1 (en) * | 1997-11-26 | 2002-12-03 | International Business Machines Corporation | Powerful and flexible server architecture |
US6587931B1 (en) * | 1997-12-31 | 2003-07-01 | Unisys Corporation | Directory-based cache coherency system supporting multiple instruction processor and input/output caches |
US6289419B1 (en) * | 1998-03-06 | 2001-09-11 | Sharp Kabushiki Kaisha | Consistency control device merging updated memory blocks |
US6857051B2 (en) * | 1998-12-23 | 2005-02-15 | Intel Corporation | Method and apparatus for maintaining cache coherence in a computer system |
US6304945B1 (en) * | 1999-05-13 | 2001-10-16 | Compaq Computer Corporation | Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses |
JP3555847B2 (ja) * | 1999-05-26 | 2004-08-18 | Necソフト株式会社 | キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム |
US6409625B1 (en) * | 1999-11-10 | 2002-06-25 | Nissan Motor Co., Ltd. | Controller of toroidal continuously variable transmission |
JP2001282764A (ja) * | 2000-03-30 | 2001-10-12 | Hitachi Ltd | マルチプロセッサシステム |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
-
2000
- 2000-10-31 US US09/704,176 patent/US6868481B1/en not_active Expired - Lifetime
-
2001
- 2001-10-15 JP JP2001316210A patent/JP4008224B2/ja not_active Expired - Lifetime
-
2005
- 2005-02-01 US US11/049,306 patent/US7373457B2/en not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002163149A5 (ja) | ||
US8015365B2 (en) | Reducing back invalidation transactions from a snoop filter | |
KR101038963B1 (ko) | 캐쉬 할당을 위한 장치, 시스템, 방법 및 기계 액세스가능 매체 | |
TWI391821B (zh) | 在互連結構上發佈請求而無參照基於標籤快取狀態的低階快取之處理單元及資料處理系統與方法 | |
KR100978156B1 (ko) | 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체 | |
JP5116418B2 (ja) | マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム | |
JP5201514B2 (ja) | チップマルチプロセッサおよび方法 | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
TW561340B (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
US8176255B2 (en) | Allocating space in dedicated cache ways | |
US7711901B2 (en) | Method, system, and apparatus for an hierarchical cache line replacement | |
US8037252B2 (en) | Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor | |
US10055349B2 (en) | Cache coherence protocol | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
KR20040012812A (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치 | |
JPH10133943A (ja) | リンクリスト形成方法 | |
JPS61156346A (ja) | 記憶階層の先取り装置 | |
US7962694B2 (en) | Partial way hint line replacement algorithm for a snoop filter | |
US20080244189A1 (en) | Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access | |
KR20040007546A (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치 | |
TWI237177B (en) | Allocating cache lines | |
JP2009524137A5 (ja) | ||
US8209490B2 (en) | Protocol for maintaining cache coherency in a CMP | |
JP2004054931A (ja) | 分散メモリマルチプロセッサシステムにおけるメモリ移行のためのシステムおよび方法 | |
US8041898B2 (en) | Method, system and apparatus for reducing memory traffic in a distributed memory system |