JP4237142B2 - 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム - Google Patents
統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム Download PDFInfo
- Publication number
- JP4237142B2 JP4237142B2 JP2004540279A JP2004540279A JP4237142B2 JP 4237142 B2 JP4237142 B2 JP 4237142B2 JP 2004540279 A JP2004540279 A JP 2004540279A JP 2004540279 A JP2004540279 A JP 2004540279A JP 4237142 B2 JP4237142 B2 JP 4237142B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- directory
- cache memory
- computer system
- memory subsystem
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
- G06F2212/2515—Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Multi Processors (AREA)
Description
Claims (10)
- プロセッサコアと、
前記プロセッサコアによりアクセス可能なデータを記録するキャッシュメモリサブシステムと、
前記キャッシュメモリサブシステムを第1動作モードまたは第2動作モードのどちらに設定するかを制御するための値を記憶するモード記憶ユニットとを備え、
前記キャッシュメモリサブシステムは複数のエントリを有し、前記キャッシュメモリサブシステムの指定されたウェイのエントリが、前記キャッシュメモリサブシステムが前記第1動作モードに設定されている場合にはプロセッサデータを、前記キャッシュメモリサブシステムが前記第2動作モードに設定されている場合にはグローバルコヒーレンスアクティビティを制御するためのディレクトリ情報を、選択的に記録するように構成されている、コンピュータシステム。 - 前記プロセッサコアおよび前記キャッシュメモリサブシステムが第一処理ノードの一部を形成し、前記第一処理ノードが第二処理ノードと結合され、前記第一処理ノードがさらに第一システムメモリを含み、かつ前記第二処理ノードが第二システムメモリを含む、請求項1記載のコンピュータシステム。
- 前記ディレクトリ情報が、前記第一システムメモリ内にマップされたアドレス位置に対応するデータのキャッシュコピーがノードに存在するかどうかを示す、請求項2記載のコンピュータシステム。
- 前記ディレクトリ情報が、前記キャッシュコピーがModified、Exclusive、または、Owned状態にあるかどうかを示す、請求項3記載のコンピュータシステム。
- 前記アドレス位置に対応する、前記キャッシュメモリサブシステム内のディレクトリエントリの不在が、前記データの前記キャッシュコピーが共有あるいは無効のどちらかであることを示す、請求項3記載のコンピュータシステム。
- 前記キャッシュメモリサブシステムは、前記ディレクトリ情報に応じて、プローブコマンドを一つ以上の処理ノードへ選択的に送信するように構成されている、請求項1記載のコンピュータシステム。
- 前記キャッシュメモリサブシステムの指定されたウェイの所定のストレージラインは複数のディレクトリエントリを含む、請求項1記載のコンピュータシステム。
- 各ディレクトリエントリがステートフィールドを含む、請求項7記載のコンピュータシステム。
- 各ディレクトリエントリがオーナーフィールドをさらに含む、請求項8記載のコンピュータシステム。
- 各ディレクトリエントリがディレクトリタグフィールドをさらに含む、請求項9記載のコンピュータシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/256,318 US6868485B1 (en) | 2002-09-27 | 2002-09-27 | Computer system with integrated directory and processor cache |
| PCT/US2003/030880 WO2004029776A2 (en) | 2002-09-27 | 2003-09-18 | Computer system with integrated directory and processor cache |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006501546A JP2006501546A (ja) | 2006-01-12 |
| JP4237142B2 true JP4237142B2 (ja) | 2009-03-11 |
Family
ID=32041767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004540279A Expired - Fee Related JP4237142B2 (ja) | 2002-09-27 | 2003-09-18 | 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6868485B1 (ja) |
| EP (1) | EP1543425A2 (ja) |
| JP (1) | JP4237142B2 (ja) |
| KR (1) | KR101014394B1 (ja) |
| CN (1) | CN100357914C (ja) |
| AU (1) | AU2003272795A1 (ja) |
| TW (1) | TWI311707B (ja) |
| WO (1) | WO2004029776A2 (ja) |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
| US7373466B1 (en) | 2004-04-07 | 2008-05-13 | Advanced Micro Devices, Inc. | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer |
| US7797495B1 (en) | 2005-08-04 | 2010-09-14 | Advanced Micro Devices, Inc. | Distributed directory cache |
| US7606981B2 (en) * | 2005-12-19 | 2009-10-20 | Intel Corporation | System and method for reducing store latency |
| US7577795B2 (en) * | 2006-01-25 | 2009-08-18 | International Business Machines Corporation | Disowning cache entries on aging out of the entry |
| US8527713B2 (en) | 2006-01-31 | 2013-09-03 | Qualcomm Incorporated | Cache locking without interference from normal allocations |
| US7581068B2 (en) * | 2006-06-29 | 2009-08-25 | Intel Corporation | Exclusive ownership snoop filter |
| US7669011B2 (en) * | 2006-12-21 | 2010-02-23 | Advanced Micro Devices, Inc. | Method and apparatus for detecting and tracking private pages in a shared memory multiprocessor |
| US20090138220A1 (en) * | 2007-11-28 | 2009-05-28 | Bell Jr Robert H | Power-aware line intervention for a multiprocessor directory-based coherency protocol |
| US7991963B2 (en) * | 2007-12-31 | 2011-08-02 | Intel Corporation | In-memory, in-page directory cache coherency scheme |
| US8185695B2 (en) * | 2008-06-30 | 2012-05-22 | Advanced Micro Devices, Inc. | Snoop filtering mechanism |
| JP5300407B2 (ja) * | 2008-10-20 | 2013-09-25 | 株式会社東芝 | 仮想アドレスキャッシュメモリ及び仮想アドレスキャッシュ方法 |
| JP5136652B2 (ja) | 2008-11-10 | 2013-02-06 | 富士通株式会社 | 情報処理装置及びメモリ制御装置 |
| US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
| US8364898B2 (en) * | 2009-01-23 | 2013-01-29 | International Business Machines Corporation | Optimizing a cache back invalidation policy |
| EP2405361A4 (en) | 2009-03-06 | 2012-12-19 | Fujitsu Ltd | COMPUTER SYSTEM, CONTROL PROCEDURE, RECORDING MEDIA AND CONTROL PROGRAM |
| US8868847B2 (en) * | 2009-03-11 | 2014-10-21 | Apple Inc. | Multi-core processor snoop filtering |
| US8589629B2 (en) * | 2009-03-27 | 2013-11-19 | Advanced Micro Devices, Inc. | Method for way allocation and way locking in a cache |
| US8738863B2 (en) * | 2009-09-25 | 2014-05-27 | Intel Corporation | Configurable multi-level buffering in media and pipelined processing components |
| US8244986B2 (en) * | 2009-12-30 | 2012-08-14 | Empire Technology Development, Llc | Data storage and access in multi-core processor architectures |
| WO2012008008A1 (ja) * | 2010-07-12 | 2012-01-19 | 富士通株式会社 | 情報処理システム |
| JP5614452B2 (ja) * | 2010-09-13 | 2014-10-29 | 富士通株式会社 | 情報処理装置および情報処理装置の制御方法 |
| US20120159080A1 (en) * | 2010-12-15 | 2012-06-21 | Advanced Micro Devices, Inc. | Neighbor cache directory |
| US9336146B2 (en) | 2010-12-29 | 2016-05-10 | Empire Technology Development Llc | Accelerating cache state transfer on a directory-based multicore architecture |
| CN103544269B (zh) * | 2013-10-17 | 2017-02-01 | 华为技术有限公司 | 目录的存储方法、查询方法及节点控制器 |
| CN109240945B (zh) * | 2014-03-26 | 2023-06-06 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及处理器 |
| FR3022653B1 (fr) * | 2014-06-20 | 2017-10-13 | Bull Sas | Reduction des evictions dans les repertoires de gestion de memoire cache |
| US10042773B2 (en) * | 2015-07-28 | 2018-08-07 | Futurewei Technologies, Inc. | Advance cache allocator |
| US10255190B2 (en) | 2015-12-17 | 2019-04-09 | Advanced Micro Devices, Inc. | Hybrid cache |
| US10019375B2 (en) * | 2016-03-02 | 2018-07-10 | Toshiba Memory Corporation | Cache device and semiconductor device including a tag memory storing absence, compression and write state information |
| CN106776366B (zh) * | 2016-11-18 | 2019-11-22 | 华为技术有限公司 | 地址访问方法及装置 |
| US10073783B2 (en) | 2016-11-23 | 2018-09-11 | Advanced Micro Devices, Inc. | Dual mode local data store |
| US11119926B2 (en) | 2017-12-18 | 2021-09-14 | Advanced Micro Devices, Inc. | Region based directory scheme to adapt to large cache sizes |
| CN110059026B (zh) * | 2018-01-19 | 2021-06-29 | 华为技术有限公司 | 一种目录处理方法、装置及存储系统 |
| 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 |
| US11914517B2 (en) * | 2020-09-25 | 2024-02-27 | Advanced Micro Devices, Inc. | Method and apparatus for monitoring memory access traffic |
| CN114238171B (zh) * | 2021-12-21 | 2022-09-30 | 海光信息技术股份有限公司 | 电子设备、数据处理方法和装置、计算机系统 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
| US5197146A (en) * | 1989-06-21 | 1993-03-23 | Hewlett-Packard Company | Method for maintaining cache coherence in a multiprocessor computer system |
| US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
| US5410669A (en) * | 1993-04-05 | 1995-04-25 | Motorola, Inc. | Data processor having a cache memory capable of being used as a linear ram bank |
| IN188196B (ja) * | 1995-05-15 | 2002-08-31 | Silicon Graphics Inc | |
| US6279078B1 (en) * | 1996-06-28 | 2001-08-21 | Compaq Computer Corporation | Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes |
| US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
| US5873117A (en) | 1996-07-01 | 1999-02-16 | Sun Microsystems, Inc. | Method and apparatus for a directory-less memory access protocol in a distributed shared memory computer system |
| US5802600A (en) * | 1996-11-12 | 1998-09-01 | International Business Machines Corporation | Method and apparatus for determining a desirable directory/data block ratio in a cache memory |
| US6041376A (en) | 1997-04-24 | 2000-03-21 | Sequent Computer Systems, Inc. | Distributed shared memory system having a first node that prevents other nodes from accessing requested data until a processor on the first node controls the requested data |
| US6055610A (en) * | 1997-08-25 | 2000-04-25 | Hewlett-Packard Company | Distributed memory multiprocessor computer system with directory based cache coherency with ambiguous mapping of cached data to main-memory locations |
| EP0908825B1 (en) | 1997-10-10 | 2002-09-04 | Bull S.A. | A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory |
| US6275904B1 (en) * | 1998-03-31 | 2001-08-14 | Intel Corporation | Cache pollution avoidance instructions |
| US6295598B1 (en) * | 1998-06-30 | 2001-09-25 | Src Computers, Inc. | Split directory-based cache coherency technique for a multi-processor computer system |
| US6546429B1 (en) | 1998-09-21 | 2003-04-08 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry |
| US6269428B1 (en) * | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system |
| US6226718B1 (en) * | 1999-02-26 | 2001-05-01 | International Business Machines Corporation | Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system |
| US6434668B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to store information in particular regions of the cache according to information-type |
| US6763432B1 (en) * | 2000-06-09 | 2004-07-13 | International Business Machines Corporation | Cache memory system for selectively storing directory information for a higher level cache in portions of a lower level cache |
| WO2002008910A1 (en) * | 2000-07-20 | 2002-01-31 | Silicon Graphics, Inc. | Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device |
| US6662276B2 (en) * | 2000-12-29 | 2003-12-09 | Intel Corporation | Storing directory information for non uniform memory architecture systems using processor cache |
| US20020138698A1 (en) * | 2001-03-21 | 2002-09-26 | International Business Machines Corporation | System and method for caching directory information in a shared memory multiprocessor system |
| US6711652B2 (en) | 2001-06-21 | 2004-03-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data |
| US6760809B2 (en) | 2001-06-21 | 2004-07-06 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory |
| US6996676B2 (en) * | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
-
2002
- 2002-09-27 US US10/256,318 patent/US6868485B1/en not_active Expired - Fee Related
-
2003
- 2003-09-18 EP EP03754996A patent/EP1543425A2/en not_active Withdrawn
- 2003-09-18 JP JP2004540279A patent/JP4237142B2/ja not_active Expired - Fee Related
- 2003-09-18 AU AU2003272795A patent/AU2003272795A1/en not_active Abandoned
- 2003-09-18 CN CNB038231425A patent/CN100357914C/zh not_active Expired - Fee Related
- 2003-09-18 WO PCT/US2003/030880 patent/WO2004029776A2/en not_active Ceased
- 2003-09-18 KR KR1020057005293A patent/KR101014394B1/ko not_active Expired - Fee Related
- 2003-09-25 TW TW092126444A patent/TWI311707B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TWI311707B (en) | 2009-07-01 |
| CN1685319A (zh) | 2005-10-19 |
| WO2004029776A2 (en) | 2004-04-08 |
| TW200406676A (en) | 2004-05-01 |
| KR20050070012A (ko) | 2005-07-05 |
| CN100357914C (zh) | 2007-12-26 |
| JP2006501546A (ja) | 2006-01-12 |
| KR101014394B1 (ko) | 2011-02-15 |
| US6868485B1 (en) | 2005-03-15 |
| AU2003272795A8 (en) | 2004-04-19 |
| EP1543425A2 (en) | 2005-06-22 |
| WO2004029776A3 (en) | 2004-10-28 |
| AU2003272795A1 (en) | 2004-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4237142B2 (ja) | 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム | |
| JP4230998B2 (ja) | リモートキャッシュプレゼンス情報を記録するプロセッサキャッシュを備えたコンピュータシステム | |
| US7814286B2 (en) | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer | |
| KR101497002B1 (ko) | 스누프 필터링 메커니즘 | |
| KR102442079B1 (ko) | 메모리에서의 처리를 위한 캐시 일관성 | |
| US5897656A (en) | System and method for maintaining memory coherency in a computer system having multiple system buses | |
| US9792210B2 (en) | Region probe filter for distributed memory system | |
| US6049847A (en) | System and method for maintaining memory coherency in a computer system having multiple system buses | |
| US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
| US5325504A (en) | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system | |
| EP0817073B1 (en) | A multiprocessing system configured to perform efficient write operations | |
| EP1311955B1 (en) | Method and apparatus for centralized snoop filtering | |
| US20020053004A1 (en) | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links | |
| JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
| US20140229678A1 (en) | Method and apparatus for accelerated shared data migration | |
| US7797495B1 (en) | Distributed directory cache |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060911 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080905 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080912 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081010 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081020 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081110 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081117 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081128 |
|
| 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: 20081216 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081217 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |