JP5019222B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP5019222B2 JP5019222B2 JP2007293830A JP2007293830A JP5019222B2 JP 5019222 B2 JP5019222 B2 JP 5019222B2 JP 2007293830 A JP2007293830 A JP 2007293830A JP 2007293830 A JP2007293830 A JP 2007293830A JP 5019222 B2 JP5019222 B2 JP 5019222B2
- Authority
- JP
- Japan
- Prior art keywords
- invalidation
- control unit
- data
- cache memory
- swap
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
それぞれキャッシュメモリを備えた複数のプロセッサと、当該複数のプロセッサで共有する主メモリと、プロセッサと主メモリとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部と、を備えると共に、
コヒーレンシ制御部は、キャッシュメモリに格納されたデータのアドレス情報を管理するディレクトリと、当該ディレクトリ内のアドレス情報を掃き出す際にこのアドレス情報に対応するキャッシュメモリ内のデータの無効化をプロセッサに要求するスワップ制御部と、を備え、
プロセッサは、スワップ制御部から無効化を要求されたアドレス情報に対応するキャッシュメモリに格納されたデータを無効化するか否か判定して、この判定結果に応じた通知をスワップ制御部に対して行う無効化判定部を備えた、
という構成を採る。
それぞれキャッシュメモリを備えた複数のプロセッサと、当該複数のプロセッサで共有する主メモリと、プロセッサと主メモリとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部と、を備えると共に、
コヒーレンシ制御部は、キャッシュメモリに格納されたデータのアドレス情報を管理するディレクトリと、当該ディレクトリ内のアドレス情報を掃き出す際にこのアドレス情報に対応するキャッシュメモリ内のデータの無効化をプロセッサに要求するスワップ制御部と、を備え、
プロセッサは、スワップ制御部から無効化を要求されたアドレス情報に対応するキャッシュメモリに格納されたデータを無効化するか否か判定して、この判定結果に応じた通知をスワップ制御部に対して行う無効化判定部を備えた、
という構成を採る。
本発明の第1の実施形態を、図1乃至図10を参照して説明する。図1は、マルチプロセッサシステムの構成を示すブロック図である。図2は、スワップ制御部の構成を示すブロック図である。図3は、管理テーブルのデータ構造を示す図である。図4は、ディレクトリのデータ構造を示す図である。図5は、プロセッサの構成を示すブロック図である。図6乃至図10は、マルチプロセッサシステムの動作を示すフローチャートである。
本実施形態では、コヒーレンシ制御回路にnウェイセットアソシアティブ方式のディレクトリを搭載したシステムを一例に挙げて説明する。そして、本システムでは、コヒーレンシ制御回路(図1の符号51,52)が、スワップ処理に応じて、プロセッサ(図1の符号21,22,23,24)に対する命令として、リトライすることが可能なキャッシュ無効化命令を発する構成を採る。これに応じて、プロセッサは、コヒーレンシ制御回路から受け取ったキャッシュ無効化命令を受けて、キャッシュメモリ(図1の符号31,33,35,37)のデータの無効化を行うか行わないかを判定する無効化判定機能(図1の32,34,36,38)を備えている。この無効化判定機能は、キャッシュメモリのデータを保持し続けたい場合にはリトライを、無効化が可能な場合にはデータや通常のリプライを、コヒーレンシ制御回路に送出する制御を行う。また、コヒーレンシ制御回路は、スワップ制御部(図1の符号62,64)の中にリトライ管理部(図2の符号131)を備えている。そして、コヒーレンシ制御回路は、プロセッサへのキャッシュ無効化命令のリプライ結果がリトライの場合は、別のレベルをスワップ対象としてディレクトリから選択して、プロセッサにキャッシュ無効化命令を再度発行する機能を持つ。
図1に示すように、本実施形態におけるマルチプロセッサシステムは、コヒーレンシ制御回路51,52が相互に接続された(符号81)、2つのセル11,12から構成されている。例えば、一方のセル11は、キャッシュメモリ31,33を各々有するプロセッサ21,22と、プロセッサ21,22,23,24で共有可能なメモリ71(主メモリ)と、プロセッサ21,22やメモリ71と相互接続41,42,43されプロセッサ間のコヒーレンシを保証するための制御を行うコヒーレンシ制御回路51と、を備えている。また、他方のセル12も同様に、キャッシュメモリ35,37を各々有するプロセッサ23,24と、プロセッサ21,22,23,24で共有可能なメモリ72と、プロセッサ23,24やメモリ72と相互接続44,45,46されプロセッサ間のコヒーレンシを保証するための制御を行うコヒーレンシ制御回路52と、を備えている。以下、主に一方のセル11の構成について説明する。なお、他方のセル12もほぼ同一構造である。
次に、上記構成のマルチプロセッサシステムにおけるスワップ時の動作を、図6乃至図10のフローチャートを参照して説明する。なお、図6は、コヒーレンシ制御回路51のディレクトリの制御に関する動作を示しており、図7乃至図9は、コヒーレンシ制御回路中のスワップ制御部の動作を示している。また、図10はプロセッサの動作を示している。
21,22,23,24 プロセッサ
31,33,35,37 キャッシュメモリ
32,34,36,38 無効化判定機能
51,52 コヒーレンシ制御回路
61,63 ディレクトリ
62,64 スワップ制御部
71,72 メモリ
81 無効化命令受付部
82 無効化判定部
83 無効化処理部
84 リプライ部
101 閾値調整部
121 スワップ管理部
131 リトライ管理部
132 管理テーブル
141 スワップ生成部
Claims (18)
- それぞれキャッシュメモリを備えた複数のプロセッサと、当該複数のプロセッサで共有する主メモリと、前記プロセッサと前記主メモリとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部と、を備えると共に、
前記コヒーレンシ制御部は、前記キャッシュメモリに格納されたデータのアドレス情報を管理するディレクトリと、当該ディレクトリ内のアドレス情報を掃き出す際にこのアドレス情報に対応する前記キャッシュメモリ内のデータの無効化を前記プロセッサに要求するスワップ制御部と、を備え、
前記プロセッサは、前記スワップ制御部から無効化を要求されたアドレス情報に対応する前記キャッシュメモリに格納されたデータを無効化するか否か判定して、この判定結果に応じた通知を前記スワップ制御部に対して行う無効化判定部を備え、
前記無効化判定部は、予め設定された基準と比較して、あるいは、他のデータと比較して、無効化を要求された前記アドレス情報に対応する前記キャッシュメモリに格納された前記データの使用頻度が高い場合に、前記データを無効化しないと判定すると共に、前記データを無効化しない通知を前記スワップ制御部に送信し、
前記スワップ制御部は、前記プロセッサから前記データを無効化しない通知を受けた場合に、前記ディレクトリ内から掃き出すアドレス情報を変更し、当該変更したアドレス情報に対応する前記キャッシュメモリ内のデータの無効化要求を前記プロセッサに対して行う、
ことを特徴とするマルチプロセッサシステム。 - 前記無効化判定部は、前記スワップ制御部から無効化を要求された前記キャッシュメモリに格納されたデータの無効化を、当該データの前記プロセッサにおける使用状況に基づいて判定する、
ことを特徴とする請求項1記載のマルチプロセッサシステム。 - 前記無効化判定部は、前記スワップ制御部からの無効化要求の内容に応じて、前記キャッシュメモリに格納されたデータの無効化を行うか否かを判定する、
ことを特徴とする請求項1又は2記載のマルチプロセッサシステム。 - 前記無効化判定部は、前記スワップ制御部からの無効化要求が強制的な無効化要求である場合に、前記キャッシュメモリに格納されたデータを無効化すると判定する、
ことを特徴とする請求項3記載のマルチプロセッサシステム。 - 前記スワップ制御部は、同一データに対する無効化要求の回数をカウントし、当該回数に応じて強制的に無効化するよう前記プロセッサに対する要求を行う、
ことを特徴とする請求項3又は4記載のマルチプロセッサシステム。 - 前記スワップ制御部は、前記カウントした無効化要求回数が予め設定された閾値を超えた場合に強制的に無効化するよう前記プロセッサに対する要求を行う、
ことを特徴とする請求項5記載のマルチプロセッサシステム。 - 前記閾値は、設定変更可能な値である、
ことを特徴とする請求項6記載のマルチプロセッサシステム。 - キャッシュメモリを備えたプロセッサであって、
キャッシュメモリを備えた他のプロセッサと共有する主メモリと複数のプロセッサとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部から、前記キャッシュメモリに格納されたデータのアドレス情報を管理するディレクトリ内のアドレス情報の掃き出しの際に当該アドレス情報に対応するデータの無効化の要求を受け付けて、当該アドレス情報に対応する前記キャッシュメモリに格納されたデータを無効化するか否か判定して、この判定結果に応じた通知を前記コヒーレンシ制御部に対して行う無効化判定部を備え、
前記無効化判定部は、予め設定された基準と比較して、あるいは、他のデータと比較して、無効化を要求された前記アドレス情報に対応する前記キャッシュメモリに格納された前記データの使用頻度が高い場合に、前記データを無効化しないと判定すると共に、前記データを無効化しない通知を前記コヒーレンシ制御部に送信し、さらに、前記データを無効化しない通知を受け付けた前記コヒーレンシ制御部にて前記ディレクトリ内から掃き出すアドレス情報が変更され、前記コヒーレンシ制御部から送信された、変更された前記アドレス情報に対応する前記キャッシュメモリ内のデータの無効化の要求を受け付ける、
ことを特徴とするプロセッサ。 - 前記無効化判定部は、前記スワップ制御部から無効化を要求された前記キャッシュメモリに格納されたデータの無効化を、当該データの使用状況に基づいて判定する、
ことを特徴とする請求項8記載のプロセッサ。 - 前記無効化判定部は、前記スワップ制御部からの無効化要求の内容に応じて、前記キャッシュメモリに格納されたデータの無効化を行うか否かを判定する、
ことを特徴とする請求項8又は9記載のプロセッサ。 - キャッシュメモリを備えたプロセッサに、
キャッシュメモリを備えた他のプロセッサと共有する主メモリと複数のプロセッサとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部から、前記キャッシュメモリに格納されたデータのアドレス情報を管理するディレクトリ内のアドレス情報の掃き出しの際に当該アドレス情報に対応するデータの無効化の要求を受け付けて、当該アドレス情報に対応する前記キャッシュメモリに格納されたデータを無効化するか否か判定して、この判定結果に応じた通知を前記コヒーレンシ制御部に対して行う無効化判定部、を実現させるためのプログラムであって、
前記無効化判定部は、予め設定された基準と比較して、あるいは、他のデータと比較して、無効化を要求された前記アドレス情報に対応する前記キャッシュメモリに格納された前記データの使用頻度が高い場合に、前記データを無効化しないと判定すると共に、前記データを無効化しない通知を前記コヒーレンシ制御部に送信し、さらに、前記データを無効化しない通知を受け付けた前記コヒーレンシ制御部にて前記ディレクトリ内から掃き出すアドレス情報が変更され、前記コヒーレンシ制御部から送信された、変更された前記アドレス情報に対応する前記キャッシュメモリ内のデータの無効化の要求を受け付ける、
プログラム。 - 前記無効化判定部は、前記スワップ制御部から無効化を要求された前記キャッシュメモリに格納されたデータの無効化を、当該データの使用状況に基づいて判定する、
ことを特徴とする請求項11記載のプログラム。 - 前記無効化判定部は、前記スワップ制御部からの無効化要求の内容に応じて、前記キャッシュメモリに格納されたデータの無効化を行うか否かを判定する、
ことを特徴とする請求項11又は12記載のプログラム。 - それぞれキャッシュメモリを備えた複数のプロセッサと、当該複数のプロセッサで共有する主メモリと、前記プロセッサと前記主メモリとの間のキャッシュコヒーレンシを保障するよう制御するコヒーレンシ制御部と、を備えたマルチプロセッサシステムによるスワップ方法であって、
前記キャッシュメモリに格納されたデータのアドレス情報を管理する前記コヒーレンシ制御部に装備されたディレクトリ内のアドレス情報を掃き出す際に当該アドレス情報に対応する前記キャッシュメモリ内のデータの無効化を前記プロセッサに要求する無効化要求工程と、前記無効化要求工程にて無効化を要求されたアドレス情報に対応する前記キャッシュメモリに格納されたデータを無効化するか否か判定して当該判定結果に応じた通知を前記コヒーレンシ制御部に対して行う無効化判定工程と、
を有し、
前記無効化判定工程は、予め設定された基準と比較して、あるいは、他のデータと比較して、無効化を要求された前記アドレス情報に対応する前記キャッシュメモリに格納された前記データの使用頻度が高い場合に、前記データを無効化しないと判定すると共に、前記データを無効化しない通知を前記コヒーレンシ制御部に送信し、
前記無効化要求工程は、前記無効化判定工程にて前記コヒーレンシ制御部が前記プロセッサから前記データを無効化しない通知を受けた場合に、前記ディレクトリ内から掃き出すアドレス情報を変更し、当該変更したアドレス情報に対応する前記キャッシュメモリ内のデータの無効化要求を前記プロセッサに対して行う、
ことを特徴とするスワップ方法。 - 前記無効化判定工程は、前記スワップ制御部から無効化を要求された前記キャッシュメモリに格納されたデータの無効化を、当該データの使用状況に基づいて判定する、
ことを特徴とする請求項14記載のスワップ方法。 - 前記無効化判定工程は、前記スワップ制御部からの無効化要求の内容に応じて、前記キャッシュメモリに格納されたデータの無効化を行うか否かを判定する、
ことを特徴とする請求項14又は15記載のスワップ方法。 - 前記無効化判定工程は、前記スワップ制御部からの無効化要求が強制的な無効化要求である場合に、前記キャッシュメモリに格納されたデータを無効化すると判定する、
ことを特徴とする請求項16記載のスワップ方法。 - 前記プロセッサへの同一データに対する無効化要求の回数をカウントし、当該回数に応じて強制的に無効化するよう前記プロセッサに対する要求を行う強制無効化要求工程を有する、
ことを特徴とする請求項14,15,16又は17記載のスワップ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007293830A JP5019222B2 (ja) | 2007-11-13 | 2007-11-13 | マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007293830A JP5019222B2 (ja) | 2007-11-13 | 2007-11-13 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009122787A JP2009122787A (ja) | 2009-06-04 |
JP5019222B2 true JP5019222B2 (ja) | 2012-09-05 |
Family
ID=40814901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007293830A Expired - Fee Related JP5019222B2 (ja) | 2007-11-13 | 2007-11-13 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5019222B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163688B2 (en) | 2019-09-24 | 2021-11-02 | Advanced Micro Devices, Inc. | System probe aware last level cache insertion bypassing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04111031A (ja) * | 1990-08-30 | 1992-04-13 | Fujitsu Ltd | 一次メモリ情報実装処理方式 |
JPH04191946A (ja) * | 1990-11-27 | 1992-07-10 | Agency Of Ind Science & Technol | スヌープキャッシュメモリ制御方式 |
JPH0612331A (ja) * | 1992-06-25 | 1994-01-21 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
JPH06266623A (ja) * | 1993-03-12 | 1994-09-22 | Toshiba Corp | キャッシュメモリ及びキャッシュメモリ制御方法 |
JP2002007371A (ja) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | L1キャッシュフォールスシェア緩和制御方式 |
US6662275B2 (en) * | 2001-02-12 | 2003-12-09 | International Business Machines Corporation | Efficient instruction cache coherency maintenance mechanism for scalable multiprocessor computer system with store-through data cache |
JP3678715B2 (ja) * | 2002-04-24 | 2005-08-03 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 |
JP2005301387A (ja) * | 2004-04-07 | 2005-10-27 | Matsushita Electric Ind Co Ltd | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
JP4463152B2 (ja) * | 2005-05-25 | 2010-05-12 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びそれに用いるコピーキャッシュ情報掃き出しレベル選択方法 |
-
2007
- 2007-11-13 JP JP2007293830A patent/JP5019222B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009122787A (ja) | 2009-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9535848B2 (en) | Using cuckoo movement for improved cache coherency | |
US8606997B2 (en) | Cache hierarchy with bounds on levels accessed | |
US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
US7305522B2 (en) | Victim cache using direct intervention | |
US8171223B2 (en) | Method and system to increase concurrency and control replication in a multi-core cache hierarchy | |
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US7827360B2 (en) | Cache locking device and methods thereof | |
US10725923B1 (en) | Cache access detection and prediction | |
US8990506B2 (en) | Replacing cache lines in a cache memory based at least in part on cache coherency state information | |
US9176876B2 (en) | Selective cache-to-cache lateral castouts | |
CA1238984A (en) | Cooperative memory hierarchy | |
US8499124B2 (en) | Handling castout cache lines in a victim cache | |
US8489819B2 (en) | Victim cache lateral castout targeting | |
US8347036B2 (en) | Empirically based dynamic control of transmission of victim cache lateral castouts | |
US10402327B2 (en) | Network-aware cache coherence protocol enhancement | |
US7281092B2 (en) | System and method of managing cache hierarchies with adaptive mechanisms | |
JP5445581B2 (ja) | コンピュータシステム、制御方法、記録媒体及び制御プログラム | |
US20100262784A1 (en) | Empirically Based Dynamic Control of Acceptance of Victim Cache Lateral Castouts | |
US20100235584A1 (en) | Lateral Castout (LCO) Of Victim Cache Line In Data-Invalid State | |
US20100262783A1 (en) | Mode-Based Castout Destination Selection | |
KR102453192B1 (ko) | 다른 캐시에서의 엔트리들의 가용성을 기반으로 한 캐시 엔트리 교체 | |
US20100217939A1 (en) | Data processing system | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
CN110554975A (zh) | 提供死块预测以用于确定是否在cache设备中对数据高速缓存 | |
WO2006040689A1 (en) | Implementation and management of moveable buffers in cache system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120118 |
|
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: 20120515 |
|
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: 20120601 |
|
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: 20150622 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |