JP5440067B2 - キャッシュメモリ制御装置およびキャッシュメモリ制御方法 - Google Patents
キャッシュメモリ制御装置およびキャッシュメモリ制御方法 Download PDFInfo
- Publication number
- JP5440067B2 JP5440067B2 JP2009217727A JP2009217727A JP5440067B2 JP 5440067 B2 JP5440067 B2 JP 5440067B2 JP 2009217727 A JP2009217727 A JP 2009217727A JP 2009217727 A JP2009217727 A JP 2009217727A JP 5440067 B2 JP5440067 B2 JP 5440067B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- cache memory
- address
- registered
- tag
- 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; CALCULATING OR 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
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)
Description
2 メモリ
10 L2キャッシュ
11 キャッシュデータ部
12 検索部
13 入出力制御部
21,31 L1キャッシュタグ
22,32,36 L2キャッシュタグ
23,24,33,34 比較部
25 第1処理判定部
26 第2処理判定部
35 処理判定部
41,51 アドレス
42,52 ステータスコード
43 コア番号
53 制御フラグ
60〜67,70,72,73,80〜87,90〜97,99 AND回路
68,69,71,88,98 OR回路
C0〜C7 プロセッサコア
C0−1〜C7−1 L1キャッシュ
C0−2 命令制御部
C0−3 レジスタ
C0−4 演算部
Claims (6)
- 各々第1キャッシュメモリを有する複数のプロセッサコアで共用される第2キャッシュメモリを制御するキャッシュメモリ制御装置であって、
前記第2キャッシュメモリに登録された情報の登録アドレスの一部を第2キャッシュインデックスとし、前記登録アドレスに登録された情報を保持するプロセッサコアを示す情報を保持せずに、第2キャッシュメモリの登録アドレスと、当該登録アドレスに登録された情報が前記第1キャッシュメモリ上で更新されたか否かを示すキャッシュ状態情報とを対応付けて保持する第2キャッシュタグと、
検索対象アドレスに含まれる第2キャッシュインデックスをキーに前記第2キャッシュタグを検索して得られた登録アドレスと前記検索対象アドレスとを比較する第1の比較部と、
前記第1の比較部による比較の結果、前記検索対象アドレスと前記登録アドレスとが一致した場合に、前記キャッシュ状態情報に基づいてブロックを所持するプロセッサコアに対して無効化あるいはデータ要求の必要があるか否かを判定する第1の処理判定部と、
前記複数のプロセッサコアが各々の第1キャッシュメモリに保持するアドレスについて、前記第1キャッシュメモリの検索に用いる第1キャッシュインデックスと前記第2キャッシュインデックスとのインデックス差分と、前記第1キャッシュインデックスとを対応付けて保持する第1キャッシュタグと、
前記検索対象アドレスの第1キャッシュインデックスをキーに前記第1キャッシュタグを検索して得られたインデックス差分と前記検索対象アドレスの第1キャッシュインデックスとの組み合わせを、前記検索対象アドレスの第2キャッシュインデックスと比較する第2の比較部と、
前記第1の処理判定部による判定の結果、ブロックを所持するプロセッサコアに対して無効化あるいはデータ要求の必要である場合に、前記第2の比較部による比較結果を用いて命令のリトライが必要であるか否かを判定する第2の処理判定部と
を備えたことを特徴とするキャッシュメモリ制御装置。 - 前記第2キャッシュタグは前記キャッシュ状態情報として、前記検索対象アドレスを前記第1キャッシュメモリに保持するプロセッサコアが存在しない状態、単一のプロセッサコアが前記検索対象アドレスを前記第2キャッシュメモリと同一の内容で前記第1キャッシュメモリに保持している状態、単一のプロセッサコアが前記検索対象アドレスを前記第1キャッシュメモリに保持して更新中である状態、複数のプロセッサコアが前記検索対象アドレスを共有している状態の4つの状態のいずれかを示す2ビットデータを保持することを特徴とする請求項1に記載のキャッシュメモリ制御装置。
- 前記第1処理判定部は、前記複数のプロセッサコアのいずれかがロード命令を発行した場合に、当該ロード命令の対象となるアドレスが単一のプロセッサコアで所持されており、かつ更新された状態であるなら、所持するコアにデータを要求する処理が必要であると判定し、前記複数のプロセッサコアのいずれかがストア命令を発行した場合に、当該ストア命令の対象となるアドレスを前記第1キャッシュメモリに保持するプロセッサコアが存在しなければ命令要求元のプロセッサコア以外のプロセッサコアに対する処理が不要であると判定することを特徴とする請求項1または2に記載のキャッシュメモリ制御装置。
- 前記第2キャッシュタグは、前記登録アドレスについて当該登録アドレスを前記複数のプロセッサコアのうち少なくともいずれか一つが命令キャッシュとして保持しているか否かを示す制御情報をさらに対応付けて保持し、前記第1の処理判定部は、前記複数のプロセッサコアのいずれかが自身の第1キャッシュメモリに保持するアドレスを指定してストア命令を発行した場合に、当該ストア命令の対象となるアドレスについて、いずれのプロセッサコアも命令キャッシュとして保持していないことを前記制御情報が示し、単一のプロセッサコアが前記第2キャッシュメモリと同一の内容で前記第1キャッシュメモリに保持中であることを前記キャッシュ状態情報が示し、前記第1キャッシュタグに値が登録されているならば、命令要求元のプロセッサコア以外のプロセッサコアに対する処理が不要であると判定することを特徴とする請求項1から3のいずれか一つに記載のキャッシュメモリ制御装置。
- 前記第2キャッシュタグは複数のWAYを有し、前記第1キャッシュタグは前記複数のプロセッサコアが第1キャッシュメモリに保持するアドレスについて、当該アドレスを登録した前記第2キャッシュタグのWAYをさらに対応付けることを特徴とする請求項1から4のいずれか一つに記載のキャッシュメモリ制御装置。
- 各々第1キャッシュメモリを有する複数のプロセッサコアで共用される第2キャッシュメモリを制御するキャッシュメモリ制御方法であって、
前記第2キャッシュメモリに登録された登録アドレスの一部を第2キャッシュインデックスとし、前記登録アドレスに登録された情報を保持するプロセッサコアを示す情報を保持せずに、第2キャッシュメモリの登録アドレスと、当該登録アドレスに登録された情報が前記第1キャッシュメモリ上で更新されたか否かを示すキャッシュ状態情報とを対応付けた第2キャッシュタグに対して検索対象アドレスの第2キャッシュインデックスをキーに検索する第2キャッシュタグ検索ステップと、
前記第2キャッシュタグ検索ステップによって得られた登録アドレスと前記検索対象アドレスとを比較する第1の比較ステップと、
前記第1の比較ステップによる比較の結果、前記検索対象アドレスと前記登録アドレスとが一致した場合に、前記キャッシュ状態情報に基づいてブロックを所持するプロセッサコアに対して無効化あるいはデータ要求の必要があるか否かを判定する第1の処理判定ステップと、
前記複数のプロセッサコアが前記第1キャッシュメモリに保持するアドレスについて、前記第1キャッシュメモリでの検索に用いる第1キャッシュインデックスと前記第2キャッシュインデックスとのインデックス差分と前記第1キャッシュインデックスとを対応付けた第1キャッシュタグに対して前記検索対象アドレスの第1キャッシュインデックスをキーに検索を行なう第1キャッシュタグ検索ステップと、
前記第1キャッシュタグを検索して得られたインデックス差分と前記検索対象アドレスの第1キャッシュインデックスとの組み合わせを前記検索対象アドレスの第2キャッシュインデックスと比較する第2の比較ステップと、
前記第1の処理判定ステップによる判定の結果、ブロックを所持するプロセッサコアに対して無効化あるいはデータ要求が必要である場合に、前記第2の比較ステップによる比較結果を用いて命令のリトライが必要であるか否かを判定する第2の処理判定ステップと
を含んだことを特徴とするキャッシュメモリ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217727A JP5440067B2 (ja) | 2009-09-18 | 2009-09-18 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
EP10176817A EP2323039A1 (en) | 2009-09-18 | 2010-09-15 | Cache memory control apparatus and cache memory control method |
US12/883,907 US20110072212A1 (en) | 2009-09-18 | 2010-09-16 | Cache memory control apparatus and cache memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217727A JP5440067B2 (ja) | 2009-09-18 | 2009-09-18 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011065574A JP2011065574A (ja) | 2011-03-31 |
JP5440067B2 true JP5440067B2 (ja) | 2014-03-12 |
Family
ID=43431201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009217727A Expired - Fee Related JP5440067B2 (ja) | 2009-09-18 | 2009-09-18 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110072212A1 (ja) |
EP (1) | EP2323039A1 (ja) |
JP (1) | JP5440067B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013084314A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
WO2013084315A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置、及び、演算処理装置の制御方法 |
US20140082252A1 (en) * | 2012-09-17 | 2014-03-20 | International Business Machines Corporation | Combined Two-Level Cache Directory |
US20140223100A1 (en) * | 2013-02-07 | 2014-08-07 | Alex J. Chen | Range based collection cache |
US9596279B2 (en) * | 2013-02-08 | 2017-03-14 | Dell Products L.P. | Cloud-based streaming data receiver and persister |
US9141680B2 (en) | 2013-02-11 | 2015-09-22 | Dell Products L.P. | Data consistency and rollback for cloud analytics |
US9191432B2 (en) | 2013-02-11 | 2015-11-17 | Dell Products L.P. | SAAS network-based backup system |
US9442993B2 (en) | 2013-02-11 | 2016-09-13 | Dell Products L.P. | Metadata manager for analytics system |
US9748002B2 (en) * | 2013-10-23 | 2017-08-29 | Etron Technology, Inc. | System-in-package module with memory |
TWI589032B (zh) * | 2013-10-23 | 2017-06-21 | 鈺創科技股份有限公司 | 具有記憶體的系統級封裝記憶體模組 |
US9665633B2 (en) * | 2014-02-19 | 2017-05-30 | Snowflake Computing, Inc. | Data management systems and methods |
US10545917B2 (en) | 2014-02-19 | 2020-01-28 | Snowflake Inc. | Multi-range and runtime pruning |
CN104980454B (zh) * | 2014-04-02 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 一种资源数据共享方法、服务器及系统 |
GB2533768B (en) * | 2014-12-19 | 2021-07-21 | Advanced Risc Mach Ltd | Cleaning a write-back cache |
US9916252B2 (en) | 2015-05-19 | 2018-03-13 | Linear Algebra Technologies Limited | Systems and methods for addressing a cache with split-indexes |
JP6468121B2 (ja) * | 2015-08-17 | 2019-02-13 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
GB2546731B (en) * | 2016-01-20 | 2019-02-20 | Advanced Risc Mach Ltd | Recording set indicator |
JP6708019B2 (ja) * | 2016-06-29 | 2020-06-10 | 富士通株式会社 | 演算処理装置、情報処理装置および演算処理装置の制御方法 |
US10248457B2 (en) | 2016-08-10 | 2019-04-02 | International Business Machines Corporation | Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task |
US10275280B2 (en) * | 2016-08-10 | 2019-04-30 | International Business Machines Corporation | Reserving a core of a processor complex for a critical task |
US9916246B1 (en) * | 2016-08-16 | 2018-03-13 | Advanced Micro Devices, Inc. | Predictive multistage comparison for associative memory |
US10223164B2 (en) | 2016-10-24 | 2019-03-05 | International Business Machines Corporation | Execution of critical tasks based on the number of available processing entities |
US10248464B2 (en) | 2016-10-24 | 2019-04-02 | International Business Machines Corporation | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex |
CN106790391B (zh) * | 2016-11-25 | 2020-01-03 | 北京像素软件科技股份有限公司 | 一种游戏服务器调度方法及装置 |
JP7048524B2 (ja) * | 2019-02-15 | 2022-04-05 | Necプラットフォームズ株式会社 | 情報処理装置、制御装置、制御方法、およびプログラム |
US11314644B2 (en) | 2019-05-24 | 2022-04-26 | Texas Instruments Incorporated | Cache size change |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04174042A (ja) * | 1990-06-07 | 1992-06-22 | Fujitsu Ltd | マルチプロセッサシステム |
CA2044689A1 (en) * | 1990-06-15 | 1991-12-16 | Roger E. Tipley | Multilevel inclusion in multilevel cache hierarchies |
DE69225876T2 (de) * | 1991-12-24 | 1998-12-10 | Motorola, Inc., Schaumburg, Ill. | Cachesteuerungsschaltung |
JPH05342101A (ja) | 1992-06-12 | 1993-12-24 | Fujitsu Ltd | 階層キャッシュ・メモリ |
JPH06187239A (ja) * | 1992-12-18 | 1994-07-08 | Nippon Telegr & Teleph Corp <Ntt> | 多階層キャッシュメモリにおけるデータ一致制御方式 |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
JP3132749B2 (ja) * | 1994-12-05 | 2001-02-05 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチプロセッサ・データ処理システム |
US5740400A (en) * | 1995-06-05 | 1998-04-14 | Advanced Micro Devices Inc. | Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field |
JPH09128346A (ja) * | 1995-11-02 | 1997-05-16 | Mitsubishi Electric Corp | 階層バスシステム |
JPH11102320A (ja) * | 1997-09-29 | 1999-04-13 | Mitsubishi Electric Corp | キャッシュシステム |
US7024519B2 (en) * | 2002-05-06 | 2006-04-04 | Sony Computer Entertainment Inc. | Methods and apparatus for controlling hierarchical cache memory |
JP4673584B2 (ja) * | 2004-07-29 | 2011-04-20 | 富士通株式会社 | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
JP4297968B2 (ja) * | 2006-02-14 | 2009-07-15 | 富士通株式会社 | コヒーレンシ維持装置およびコヒーレンシ維持方法 |
EP1988464B1 (en) * | 2006-02-24 | 2018-11-21 | Fujitsu Ltd. | Snoop control method and information processing device |
WO2013084315A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置、及び、演算処理装置の制御方法 |
-
2009
- 2009-09-18 JP JP2009217727A patent/JP5440067B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-15 EP EP10176817A patent/EP2323039A1/en not_active Withdrawn
- 2010-09-16 US US12/883,907 patent/US20110072212A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110072212A1 (en) | 2011-03-24 |
JP2011065574A (ja) | 2011-03-31 |
EP2323039A1 (en) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5440067B2 (ja) | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
US6647466B2 (en) | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US6427188B1 (en) | Method and system for early tag accesses for lower-level caches in parallel with first-level cache | |
US8583874B2 (en) | Method and apparatus for caching prefetched data | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
JP2000010860A (ja) | キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム | |
CN113641596B (zh) | 缓存管理方法、缓存管理装置、处理器 | |
JP2019096309A (ja) | メンテナンス動作の実行 | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
JP5319049B2 (ja) | キャッシュシステム | |
WO2013084315A1 (ja) | 演算処理装置、及び、演算処理装置の制御方法 | |
JP4669244B2 (ja) | キャッシュメモリ装置およびメモリ制御方法 | |
CN107506139B (zh) | 一种面向相变存储器的写请求优化装置 | |
JP2008512758A (ja) | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
US9606917B2 (en) | Arithmetic processing apparatus and method for controlling same | |
US20230418758A1 (en) | Tag processing for external caches | |
US20090228659A1 (en) | Processor and computing system | |
JP3709586B2 (ja) | 階層記憶システムにおけるデバイスアクセス方法 | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JPS6217851A (ja) | メモリ管理ユニット | |
JP2009151457A (ja) | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131031 |
|
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: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131202 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |