JPWO2007099614A1 - システムコントローラおよびキャッシュ制御方法 - Google Patents
システムコントローラおよびキャッシュ制御方法 Download PDFInfo
- Publication number
- JPWO2007099614A1 JPWO2007099614A1 JP2008502601A JP2008502601A JPWO2007099614A1 JP WO2007099614 A1 JPWO2007099614 A1 JP WO2007099614A1 JP 2008502601 A JP2008502601 A JP 2008502601A JP 2008502601 A JP2008502601 A JP 2008502601A JP WO2007099614 A1 JPWO2007099614 A1 JP WO2007099614A1
- Authority
- JP
- Japan
- Prior art keywords
- access
- state
- cache
- system controller
- snoop
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 abstract description 39
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000007689 inspection Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 3
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012508 change request Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
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)
Abstract
Description
次に、得られた全てのスヌープ結果を総合的に判定し、最終的にそのメモリアクセス処理の動作を決定する。ここで得られた判定結果は、全てのシステムコントローラ(SC0、SC1)で同じ結果を同時に得なければならない。スヌープ処理中に何らかの競合や資源の枯渇などを検出した場合には、そのアクセスの処理は中断し、スヌープ処理をリトライすることになる。
すなわち、本発明の一態様によれば、本発明のシステムコントローラは、マルチプロセッサシステムを構成するキャッシュ装置を制御するシステムコントローラであって、前記キャッシュ装置が、プロセッサモジュール毎に設けられ互いに接続され、主記憶装置の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持するキャッシュメモリと、前記データブロックの状態を、無効状態I(Invalid)、共有状態S(Shared)、排他状態E(Exclusive)、変更状態M(Modified)、共有変更状態O(Shared Modified)、書込可能状態W(Writable Modified)の6状態で表現して前記キャッシュメモリを制御するキャッシュコントローラとを備え、前記システムコントローラが、他のシステムコントローラとの間の通信時間に基づいて、スヌープパイプラインの段数が定められたスヌープ制御部とを備えることを特徴とする。
また、本発明のシステムコントローラは、前記キャッシュ装置を複数個備える大規模システムLSIのためのLSIであることが望ましい。
本発明によれば、マルチプロセッサシステムの規模毎のスヌープ結果の通信時間の差を吸収するとともに、アドレス競合時のリトライの頻発を防止することができる。
図4は、マルチプロセッサシステムの概要を説明するための図である。
図4において、マルチプロセッサシステム1は、複数のシステムボード2−1,2−2を備えている。各システムボード2−1,2−2のそれぞれは、システムコントローラ13−1または13−2、複数のプロセッサモジュール10−1,・・・,10−n、複数の入出力(IO)デバイス11−1,・・・,11−n、複数のメモリ(MEM)16−1,・・・,16−nを備えている。システムボード2−1,2−2は、互いに通信可能に接続され、プロセッサモジュール10−1,・・・,10−nまたは入出力デバイス11−1,・・・,11−nからの命令に従い、メモリ16−1,・・・,16−nへの読み書きをコントロールする。
図5において、マルチプロセッサシステム3は、上記図4のマルチプロセッサシステム1と比較して規模が大きく、より多くのシステムボード2−1,2−2,2−3,2−4,2−5,2−6,2−7,2−8を備えており、さらに、これらのシステムボード2−1,・・・,2−8は、クロスバスイッチ4を介して互いに接続されている。
図6は、マルチプロセッサシステムのハードウェア構成を示すブロック図である。
図7において、キャッシュ装置14−1は、キャッシュコントローラ18とキャッシュメモリ20とを備えている。キャッシュメモリ20は、複数のキャッシュライン22単位にデータを保持しており、各キャッシュライン22はタグ24とデータブロック30とを含み、タグ24は状態タグ26とアドレスタグ28とを備えている。
図8は、システムコントローラの機能を示すブロック図であり、図9は、パイプラインのブロック図である。
従来、パイプライン上で同一アドレスに対するアクセスが複数存在した場合、後続のアクセスは先行する同一アドレスに対するアクセスの処理のスヌープ結果が確定するまで処理ができなかった。これは、先行するアクセスがキャッシュメモリ上の対象データブロックの登録状態を更新したり、各種アドレスの排他制御のためのロック制御のためである。
図10は、1つのシステムコントローラでスヌープ処理を実行した場合のアドレスの競合を説明するための図である。
次に(b)において、アクセスBが投入されると、アクセスBは先行するアクセスAとアドレス競合する(×)ので、アクセスBはリトライの対象となる。
説明を簡単にするために、複数のシステムコントローラ13−1(SC0)および13−2(SC1)で同時にスヌープ処理を実行した場合のアドレスの競合を説明する。
図12は、リトライ時のパイプラインへのアクセス投入間隔を、スヌープパイプラインの段数以上に制御した場合を説明するための図である。
Claims (5)
- マルチプロセッサシステムを構成するキャッシュ装置を制御するシステムコントローラにおいて、
前記キャッシュ装置は、プロセッサモジュール毎に設けられ互いに接続され、主記憶装置の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持するキャッシュメモリと、前記データブロックの状態を、無効状態I(Invalid)、共有状態S(Shared)、排他状態E(Exclusive)、変更状態M(Modified)、共有変更状態O(Shared Modified)、書込可能状態W(Writable Modified)の6状態で表現して前記キャッシュメモリを制御するキャッシュコントローラと、を備え、
前記システムコントローラは、
他のシステムコントローラとの間の通信時間に基づいて、スヌープパイプラインの段数が定められたスヌープ制御部と、
を備えることを特徴とするシステムコントローラ。 - 前記スヌープ制御部は、前記定められた段数に応じてリトライ間隔を決定することを特徴とする請求項1に記載のシステムコントローラ。
- 前記システムコントローラは、前記キャッシュ装置を複数個備える大規模システムLSIのためのLSIであることを特徴とする請求項1に記載のシステムコントローラ。
- マルチプロセッサシステムを構成するキャッシュ装置を制御するキャッシュ制御方法において、
キャッシュメモリに主記憶の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持し、
前記データブロックの状態を、無効状態I(Invalid)、共有状態S(Shared)、排他状態E(Exclusive)、変更状態M(Modified)、共有変更状態O(Shared Modified)、書込可能状態W(Writable Modified)の6状態で表現して前記キャッシュメモリを制御し、
他のシステムコントローラとの間の通信時間に基づいて、スヌープパイプラインの段数が定められる、
ことを特徴とするキャッシュ制御方法。 - さらに、前記定められた段数に応じてリトライ間隔を決定することを特徴とする請求項4に記載のキャッシュ制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/303789 WO2007099614A1 (ja) | 2006-02-28 | 2006-02-28 | システムコントローラおよびキャッシュ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007099614A1 true JPWO2007099614A1 (ja) | 2009-07-16 |
JP4327238B2 JP4327238B2 (ja) | 2009-09-09 |
Family
ID=38458738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008502601A Expired - Fee Related JP4327238B2 (ja) | 2006-02-28 | 2006-02-28 | システムコントローラおよびキャッシュ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7979644B2 (ja) |
JP (1) | JP4327238B2 (ja) |
WO (1) | WO2007099614A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0028353D0 (en) * | 2000-11-21 | 2001-01-03 | Aspex Technology Ltd | Improvements relating to digital data communications |
US8522076B2 (en) * | 2010-06-23 | 2013-08-27 | International Business Machines Corporation | Error detection and recovery in a shared pipeline |
JP5630825B2 (ja) * | 2010-12-28 | 2014-11-26 | Necプラットフォームズ株式会社 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS617960A (ja) * | 1984-06-22 | 1986-01-14 | Fujitsu Ltd | バツフア無効化制御方式 |
JPS62107351A (ja) * | 1985-11-05 | 1987-05-18 | Fujitsu Ltd | 主記憶書込順序制御方式 |
JPH04181452A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | 計算機システム |
JPH0877126A (ja) * | 1994-08-31 | 1996-03-22 | Internatl Business Mach Corp <Ibm> | 装置間の通信システム及び方法 |
JP2001109662A (ja) * | 1999-10-08 | 2001-04-20 | Fujitsu Ltd | キャッシュ装置及び制御方法 |
JP2006072509A (ja) * | 2004-08-31 | 2006-03-16 | Fujitsu Ltd | 情報処理装置及びローカルスヌープ制御方法 |
JP2006120029A (ja) * | 2004-10-25 | 2006-05-11 | Fujitsu Ltd | マルチプロセッサシステム制御装置、スケーラブルノード、スケーラブルマルチプロセッサシステム、マルチプロセッサシステム制御方法。 |
JP2006155110A (ja) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | 情報処理装置、システム制御装置、システム制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1241768A (en) | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Tag control circuit for buffer storage |
US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US6272604B1 (en) * | 1999-05-20 | 2001-08-07 | International Business Machines Corporation | Contingent response apparatus and method for maintaining cache coherency |
JP4181452B2 (ja) | 2003-06-26 | 2008-11-12 | 本田技研工業株式会社 | 発電システム |
-
2006
- 2006-02-28 JP JP2008502601A patent/JP4327238B2/ja not_active Expired - Fee Related
- 2006-02-28 WO PCT/JP2006/303789 patent/WO2007099614A1/ja active Application Filing
-
2008
- 2008-08-27 US US12/199,469 patent/US7979644B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS617960A (ja) * | 1984-06-22 | 1986-01-14 | Fujitsu Ltd | バツフア無効化制御方式 |
JPS62107351A (ja) * | 1985-11-05 | 1987-05-18 | Fujitsu Ltd | 主記憶書込順序制御方式 |
JPH04181452A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | 計算機システム |
JPH0877126A (ja) * | 1994-08-31 | 1996-03-22 | Internatl Business Mach Corp <Ibm> | 装置間の通信システム及び方法 |
JP2001109662A (ja) * | 1999-10-08 | 2001-04-20 | Fujitsu Ltd | キャッシュ装置及び制御方法 |
JP2006072509A (ja) * | 2004-08-31 | 2006-03-16 | Fujitsu Ltd | 情報処理装置及びローカルスヌープ制御方法 |
JP2006120029A (ja) * | 2004-10-25 | 2006-05-11 | Fujitsu Ltd | マルチプロセッサシステム制御装置、スケーラブルノード、スケーラブルマルチプロセッサシステム、マルチプロセッサシステム制御方法。 |
JP2006155110A (ja) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | 情報処理装置、システム制御装置、システム制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080320237A1 (en) | 2008-12-25 |
JP4327238B2 (ja) | 2009-09-09 |
WO2007099614A1 (ja) | 2007-09-07 |
US7979644B2 (en) | 2011-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101497002B1 (ko) | 스누프 필터링 메커니즘 | |
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US7305522B2 (en) | Victim cache using direct intervention | |
JP4050225B2 (ja) | マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置 | |
US8799586B2 (en) | Memory mirroring and migration at home agent | |
CN107506312B (zh) | 在不同高速缓存一致性域之间共享信息的技术 | |
US20080270708A1 (en) | System and Method for Achieving Cache Coherency Within Multiprocessor Computer System | |
US11379381B2 (en) | Main memory device having heterogeneous memories, computer system including the same, and data management method thereof | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US8539164B2 (en) | Cache coherency within multiprocessor computer system | |
US8423736B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US20060184743A1 (en) | Cache memory direct intervention | |
US7711899B2 (en) | Information processing device and data control method in information processing device | |
JP2006048406A (ja) | メモリシステム制御装置およびメモリシステム制御方法 | |
US20140297966A1 (en) | Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
JP4373485B2 (ja) | 情報処理装置及び該制御方法 | |
US7000080B2 (en) | Channel-based late race resolution mechanism for a computer system | |
JP4327238B2 (ja) | システムコントローラおよびキャッシュ制御方法 | |
US9672153B2 (en) | Memory interface control | |
US6895476B2 (en) | Retry-based late race resolution mechanism for a computer system | |
US20090006712A1 (en) | Data ordering in a multi-node system | |
TWI758317B (zh) | 用於提供資料存取行為原子集的裝置及方法 | |
JP2003216596A (ja) | マルチプロセッサシステム及びノード装置 | |
US20030101280A1 (en) | Fast jump address algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090520 |
|
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: 20090609 |
|
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: 20090610 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4327238 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |