JP2005044342A - マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法 - Google Patents

マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法 Download PDF

Info

Publication number
JP2005044342A
JP2005044342A JP2004181431A JP2004181431A JP2005044342A JP 2005044342 A JP2005044342 A JP 2005044342A JP 2004181431 A JP2004181431 A JP 2004181431A JP 2004181431 A JP2004181431 A JP 2004181431A JP 2005044342 A JP2005044342 A JP 2005044342A
Authority
JP
Japan
Prior art keywords
memory
processor
data block
processors
cache
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
Application number
JP2004181431A
Other languages
English (en)
Other versions
JP2005044342A5 (ja
JP4733932B2 (ja
Inventor
Sung-Woo Chung
鄭盛宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005044342A publication Critical patent/JP2005044342A/ja
Publication of JP2005044342A5 publication Critical patent/JP2005044342A5/ja
Application granted granted Critical
Publication of JP4733932B2 publication Critical patent/JP4733932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

【課題】マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法を提供する。
【解決手段】各々が少なくとも一つのキャッシュメモリを内蔵した複数のプロセッサと、すくなくとも二つのプロセッサによって共有されるメモリユニットとを含むマルチプロセッサシステムは、前記メモリユニットの各データブロックに対する前記キャッシュメモリの共有情報を保持することができるように配列されたディレクトリメモリ、及び、前記プロセッサのうちの一つから前記メモリユニットの任意のデータブロックに対するアクセス要求が受信された場合において、前記ディレクトリメモリを参照して前記要求されたデータブロックが他のプロセッサによって共有されている場合には、共有しているプロセッサに対してインタラプトを伝送する制御ユニットを備える。このような本発明のマルチプロセッサシステムは、キャッシュ一貫性維持のための複雑なロジックを使用しないことによって、システムの電力消耗を減らすことができる。
【選択図】図1

Description

本発明は、各々が少なくとも一つのキャッシュメモリを有する複数のプロセッサと、少なくとも二つのプロセッサによって共有されたメモリユニットとを含むマルチプロセッサシステムに関するものであり、プロセッサからのメモリへのアクセス要求に応答してキャッシュ一貫性(cache−coherence)を維持することができるマルチプロセッサシステムに関するものである。
一つ以上のプロセッサを含み、プロセッサが同一のメモリを部分的に共有するシステムをマルチプロセッサシステムと呼ぶ。一つ以上のプロセッサを有するシステムにおいて、二つの基本原理が適用される。プロセッサは、同一のアドレス空間を共有するか、完全に異なるアドレス空間を有する。プロセッサが同一のアドレス空間を共有するということは、一つのプロセッサによってメモリから読み出されたデータが他のプロセッサによっても読み出されることができるものであり、このような方式を一般的に共有メモリ(shared−memoroy)と呼ぶ。ソフトウェアは、いくつのプログラムモジュールで構成される。ソフトウェアが実行される時、プログラムモジュールは、共有されたメモリを通じて情報を交換する。したがって、互いに異なるプロセッサ上でプログラムモジュールが並列に実行される時、共有されたメモリは正確な実行が求められる。
最近は、平均メモリアクセス時間を減少させるために、プロセッサとメモリとの間に一つまたは複数個のキャッシュメモリを階層的(hierarchy)に配列する。すべてのプロセッサがローカルキャッシュメモリを含むマルチプロセッサでは、キャッシュ一貫性の問題が発生する。プロセッサのうちのいずれか一つが、共有されたメモリの任意のデータブロック(またはキャッシュライン)に対する書き込み要求(write request)をする際に、書き込み要求されたデータブロックが他のプロセッサ内のキャッシュメモリによって共有されていると、書き込み動作がなされる前にキャッシュ一貫性が考慮されなければならない。キャッシュ一貫性を維持するための多くの方法が提案されている。一般的に使用される方式として、書き込み−無効プロトコル(write−invalidate protocol)、スヌーピング方式(snooping scheme)及びディレクトリ方式(directory scheme)などがある。しかし、このような方法を実現するために必要な複雑なロジックは電力消耗を増加させるだけでなく、プロセッサコアの設計に多くの変化を引き起こして設計時間を大きく増加させる。
本発明の目的は、プロセッサコアの修正を最小限に抑えながら、キャッシュ一貫性を維持することができるマルチプロセッサシステムを提供することにある。
上述のような目的を達成するために本発明の一つの特徴によると、マルチプロセッサシステムは、バスと、前記バスと連結され、各々が少なくとも一つのキャッシュメモリを内蔵した複数のプロセッサと、少なくとも二つのプロセッサによって共有されるメモリユニットと、前記メモリユニットの各データブロックについての前記キャッシュメモリの共有情報を保持するためのディレクトリメモリと、前記バスと前記ディレクトリメモリとの間に連結された制御ユニットとを含む。前記制御ユニットは、前記プロセッサのうちの一つから前記メモリユニットの任意のデータブロックに対するアクセス要求を受信すると、前記ディレクトリメモリを参照して前記アクセス要求がされたデータブロックが他のプロセッサによって共有されている場合に、共有しているプロセッサにインタラプトを伝送する制御ユニットとを含む。
望ましい実施の形態において、前記メモリユニットの任意のデータブロックに対するアクセス要求は、例えば書き込み命令である。
この実施の形態において、前記制御ユニットからインタラプトを受信したプロセッサは、例えば、前記アクセス要求がされたデータブロックが前記内蔵のキャッシュメモリにおいて無效化されるように制御する。
この実施の形態において、前記複数のプロセッサの各々は、例えば、前記内蔵のキャッシュメモリと前記バスとの間に連結された書き込みバッファを含む。
この実施の形態において、前記制御ユニットからインタラプトを受信したプロセッサは、例えば、前記書き込みバッファが空いている場合にインタラプト処理完了応答を前記制御ユニットに伝送する。
望ましい実施の形態において、前記制御ユニットからインタラプトを受信したプロセッサは、例えば、前記書き込みバッファにデータブロックが保持されている場合に、前記書き込みバッファに保持されたデータブロックを前記メモリユニットに書き込んだ後にインタラプト処理完了応答を前記制御ユニットに伝送する。
望ましい実施の形態において、例えば、前記キャッシュメモリはレベル1キャッシュメモリであり、前記メモリユニットはレベル2キャッシュメモリであり、前記ディレクトリメモリは前記レベル2キャッシュメモリの各データブロックに対する有効情報をさらに含む。
望ましい実施の形態において、前記キャッシュメモリのデータ書き込みは、例えば、ライトスルー(write−through)方式で書き込まれる。
本発明の他の特徴によると、各々が少なくとも一つのキャッシュメモリを内蔵した複数のプロセッサがバスを通じてメモリユニットを共有するマルチプロセッサシステムのキャッシュ一貫性維持方法は、前記プロセッサのうちの一つから前記メモリユニットの任意のデータブロックに対するアクセスを要求する段階と、前記アクセス要求されたデータブロックが他のプロセッサによって共有されている場合に、共有しているプロセッサに対してインタラプトを伝送する段階と、前記インタラプトを受信したプロセッサに内蔵されたキャッシュメモリに保持された前記アクセス要求されたデータブロックを無効化する段階とを含む。
望ましい実施の形態において、前記メモリユニットの任意のデータブロックに対するアクセス要求は、例えば、書き込み要求である。前記アクセス要求されたデータブロックが他のプロセッサによって共有されている場合に、前記アクセス要求をしたプロセッサにリトライを要求する段階がさらに含まれる。
この実施の形態において、前記バスが分離型トランザクションプロトコル(split transaction protocol)に従う場合において、前記アクセス要求されたデータブロックが他のプロセッサによって共有されている場合に、前記アクセス要求をしたプロセッサに応答待機を要請する段階がさらに含まれうる。
望ましい実施の形態において、前記複数のプロセッサの各々は、例えば、内蔵のキャッシュメモリと前記バスとの間に連結された書き込みバッファを含む。前記インタラプトを受信したプロセッサ内の前記書き込みバッファにデータブロックが保持されている場合に、前記書き込みバッファに保持されたデータブロックを前記メモリユニットに書き込んだ後に前記プロセッサのアクセス要求に応答する段階がさらに実行されてもよい。
この実施の形態において、前記インタラプトを受信したプロセッサ内の前記書き込みバッファが空いている場合において、前記プロセッサのアクセス要求に応答することができる。
望ましい実施の形態において、例えば、前記キャッシュメモリはレベル1キャッシュメモリであり、前記メモリユニットはレベル2キャッシュメモリであり、前記レベル1キャッシュメモリの無效化されたデータブロックに対応する前記レベル2キャッシュメモリの対応するデータブロックを無効化する段階がさらに実行されてもよい。
本発明によると、マルチプロセッサ動作環境を提供しないプロセッサの設計変更を最小化しつつ、キャッシュ一貫性を維持することを可能にする。また、キャッシュ一貫性維持のための複雑なロジックを使用しないことによって、システムの電力消耗を減らすことができる。
以下、本発明の望ましい実施の形態を添付の図面を参照して詳細に説明する。
図1は、本発明の望ましい実施の形態によるマルチプロセッサシステムを示している。マルチプロセッサシステム100は、複数のプロセッサコアPA〜PC、バス110、メモリコントローラ120、ディレクトリメモリ130、及びメモリ140を含む。複数のプロセッサコアPA〜PCは、バス110と各々連結される。各プロセッサコアは、レベル1(“L”)キャッシュメモリ、レベル2(“L2”)キャッシュメモリ、及び書き込みバッファとともに同一の集積回路チップ上に構成される。書き込みバッファは、L2キャッシュからメモリ140に書き込まれるデータが一時的に保持される場所である。メモリ140は、メモリコントローラ120を通じてバス110と連結され、プロセッサコアPA〜PCによって共有される。メモリコントローラ120は、メモリ140を管理し、プロセッサトランザクションをハンドリングする。ディレクトリメモリ130は、メモリ140のデータブロックがどのプロセッサコアPAによって共有されたかに関する情報を保持する。
メモリとキャッシュメモリとにおいて、データは、同一の大きさのデータブロック(キャッシュライン)に分離されて保持される。キャッシュに保持されている一つのブロックに対するアクセスは、プロセッサコアからそのブロックに対するアクセス要求とともに、そのブロックの物理的アドレスが伝達されることによって示され、キャッシュは、保持されている各データブロックについて、そのブロックの現在状態、例えば、有効(valid)または無效(invaild)を示すデータブロック状態情報を維持する。
図2は、ディレクトリメモリ130の配列を概念的に示している。
図2を参照すると、ディレクトリメモリ130の行L0〜Lnは、メモリ140のブロックBL0〜BLnに各々対応し、列CA−CCは、プロセッサコアPA〜PCに各々対応する。例えば、行L0及び列CAが交差する部分は、プロセッサコアPAがメモリ140のブロックBL0を共有しているか否かについての情報を保持する。このような方式によると、メモリ140を共有するコアの数がC個である場合に、ディレクトリメモリ130の一つの行はCビットを保持する。図2に示したディレクトリメモリ130は、一つの実施の形態を例示しているだけであり、他の方式は、例えば、ディレクトリメモリ130の一つの行がlogC(ただ、Cはメモリを共有するプロセッサコアの数)ビットを保持するように実現されうる。
再び図1を参照しながら説明すると、メモリコントローラ120は、プロセッサコアPA〜PCのうちのいずれか一つからメモリ140に対するアクセス要求を受けた場合において、ディレクトリメモリ130をアクセスして共有情報を獲得する。メモリコントローラ120は、獲得した情報に従ってキャッシュ一貫性を維持するための動作を実行した後に、アクセス要求をしたプロセッサコアに対してメモリ140へのアクセスを許可する。
図1に示したように、システム100内の複数のプロセッサコアPA、PB、PCは、各々L1キャッシュL1A、L1B、L1C、及びL2キャッシュL2A、L2B、L2Cを具備する。初期状態では、キャッシュメモリL1A、L2A、L2C、及び、L2A、L2B、L2Cは空いている。プロセッサコアPAがデータブロックDB0を読み出そうとする場合、データブロックDB0はキャッシュメモリL1、L2に存在しないので、メモリ140からデータブロックDB0が読み出される。読み出されたデータブロックDB0は、キャッシュメモリL1A、L2Aに挿入される。データブロックDB0の値は、VAであると仮定する。プロセッサコアPBがデータブロックDB0を読み出そうとした場合、データブロックDB0はキャッシュメモリL1B、L2Bにコピーされ、データブロックDB0の値は依然としてVAである。プロセッサコアPBがデータブロックDB0に新しい値V2を書き込むと仮定すると、この新しい値はキャッシュメモリL1B、L2Bに格納される。しかし、メモリ140とキャッシュメモリL1A、L2Aは依然としてデータブロックDB0の以前の値であるVAを有するので、メモリ140とキャッシュメモリL1B、L2Bとは一貫性がない(not coherent)。したがって、本発明の望ましい実施の形態によるマルチプロセッサシステムは、キャッシュ一貫性維持のために次のように動作する。
例えば、プロセッサコアPAによってメモリ140のデータブロックDB0が共有されていると仮定する。プロセッサコアPAによってメモリ140のデータブロックDB0が共有されたということは、プロセッサコアPA上のL1キャッシュLA1とL2キャッシュL2Aが各々データブロックDB0を保持していることを意味する。このような状態で、プロセッサコアPBがメモリ140のデータブロックDB0にデータを書き込むためのアクセス要求をすると、メモリコントローラ120は、ディレクトリメモリ130を検査する。メモリコントローラ120は、ディレクトリメモリ130を検査した結果として、プロセッサコアPBによってアクセス要求されたデータブロックDB0がプロセッサコアPAによって共有されていると判断することができる。メモリコントローラ120は、プロセッサコアPBに対しては、アクセス要求のリトライを命じる信号を伝送し、プロセッサコアPAに対しては、インタラプト信号を伝送する。
インタラプト信号を受信したプロセッサコアPAは、メモリコントローラ120から受信したインタラプト信号が他のプロセッサコアPBによる書き込み要求に起因するインタラプト信号であると判断して、書き込み要求がされたデータブロックDB0をL1キャッシュL1A及びL2キャッシュL2Bにおいて各々無効化する。続いて、書き込みバッファWBAに保持されたデータブロックがあるか否かをチェックして、保持されたデータブロックがある場合には、そのデータブロックをメモリ140に書き込む。このような過程が全部完了すると、プロセッサコアPAは、インタラプト処理完了応答をメモリコントローラ120に伝送する。
メモリコントローラ120は、プロセッサコアPAからインタラプト処理完了応答を受信すると、プロセッサコアPAに対して、メモリ140に対するアクセスを許可する。したがって、プロセッサコアPBが要求したメモリ140のデータブロックDB0に対する書き込み動作が実行される。このような方法によって、キャッシュ一貫性が維持される。
一方、プロセッサコアPAによってメモリ140のデータブロックDB0が共有された状態において、プロセッサコアPBがメモリ140のデータブロックDB0からデータを読み出すためのアクセス要求をする場合については、大部分の動作は前の説明の書き込み動作と類似である。ただし、プロセッサコアPBがメモリ140のデータブロックDB0を読み出す動作によってはデータブロックDB0が変化しないので、プロセッサコアPA上のL1キャッシュL1A及びL2キャッシュL2Aに保持されたデータブロックDB0を無効化しなくても良いという点で異なる。以下、マルチプロセッサシステム100の詳細な動作を図3A及び図3Bを参照して詳細に説明する。
図3Aは、プロセッサコアからアクセス要求があった場合におけるメモリコントローラ120の制御手順を示すフローチャートである。図1及び図3Aを参照しながら説明すると、段階S210において、プロセッサコアPA〜PCのうちのいずれか一つがバス110を通じて共有メモリ140に対するアクセスを要求すると、メモリコントローラ120がアクセス要求を受信する。段階S211において、メモリコントローラ120は、メモリ140中のアクセス要求されたデータブロックが他のプロセッサコアによって共有されているか否かを判断する。そして、メモリ140中のアクセス要求されたデータブロックが他のプロセッサコアによって共有されている場合には、制御は段階S212に進む。
段階S212において、メモリコントローラ120は、メモリ140に対するアクセスを要求したプロセッサコアに対して、リトライ要求信号を伝送する。バス110が分離型トランザクションプロトコルに従う場合には、後に更に応答を送るまで待機するように要求する信号(defer信号)を、アクセス要求したプロセッサコアに対して伝送する。
段階S213において、メモリコントローラ120は、メモリ140中のアクセス要求されたデータブロックを共有しているプロセッサコアに対してインタラプトを伝送する。
インタラプトを受信したプロセッサコアの制御手順は、図3Bに示されている。図3Bを参照しながら説明すると、段階S220において、プロセッサコアは、メモリコントローラ120からインタラプトを受信する。段階S221において、インタラプトに応答するプロセッサコアは、メモリコントローラ120からインタラプト内容を読み出して、インタラプトの種類を判別する。そして、インタラプトが他のプロセッサコアからの書き込み要求に関連するインタラプトであれば、制御は段階S222に進む。段階S222において、プロセッサコアは、書き込み要求されたデータブロックをL1キャッシュメモリとL2キャッシュメモリにおいて無効化する。L1及びL2キャッシュメモリがライトスルー方式を採択している場合は、L1及びL2キャッシュメモリに保持されたデータブロックを無効化しても、全体のシステムの動作に影響を及ぼさない。段階S221における判別の結果、インタラプトが他のプロセッサコアからの読み出し要求に関連するインタラプトであれば、制御は段階S223に進む。
ここで、L2キャッシュからメモリ140にライトスルーされるデータが書き込みバッファに保持される場合もある。もし書き込みバッファに保持されたデータがメモリ140に書き込まれない状態で、他のプロセッサコアがメモリ140の同一のデータブロックに他の値のデータを書き込むと、システム100の動作にエラーが発生しうる。このような問題を防止するために、段階S223において、プロセッサコアは、書き込みバッファに保持されたデータブロックがあるか否かを判断する。そして、書き込みバッファに保持されたデータブロックがある場合には、制御は段階S224に進む。段階S224において、プロセッサコアは、書き込みバッファに保持されたデータブロックをメモリに書き込む。一方、書き込みバッファに保持されたデータブロックがない場合には、制御は段落224をスキップして、段階S225に進む。段階S225において、プロセッサコアは、インタラプト完了応答をメモリコントローラ120に伝送する。
再び図3Aを参照しながら説明を続けると、段階S214において、メモリコントローラ120は、インタラプトを要求した先のプロセッサコアからインタラプト完了応答が受信したか否かを判断し、インタラプト完了応答を受信したら、段階S215に進む。段階S215において、メモリコントローラ120は、メモリ140に対するアクセスを要求したプロセッサコアに対して、アクセスを許可する。
このように、本発明は、マルチプロセッサ動作環境を提供しないプロセッサの設計変更を最小に抑えながら、キャッシュ一貫性を維持することができるようにする。キャッシュ一貫性維持のための複雑なロジックを使用しないことによって、システムの電力消耗を減らすことができる。
ここまでの説明では、マルチプロセッサシステム100は、プロセッサコアPA〜PCがメインメモリ140を共有している。次に説明するシステムは、プロセッサコアがL1キャッシュと書き込みバッファとを有し、複数のプロセッサコアがL2キャッシュを共有するオンチップマルチプロセッサ(on chip multiprocessor)を含む。
図4を参照しながら説明すると、マルチプロセッサシステム300は、複数のプロセッサコアPD〜PF、バス310、L2キャッシュコントローラ320、ディレクトリメモリ330及びL2キャッシュ340が一つのチップ内に構成されたマルチプロセッサ302と、メモリコントローラ350と、メモリ360とを含む。プロセッサコアPD〜PFは、バス310に各々連結されている。各プロセッサコアは、レベル1(“L”)キャッシュメモリ及び書き込みバッファを含む。書き込みバッファは、L1キャッシュからL2キャッシュ340に書き込まれるデータが一時的に保持される場所である。L2キャッシュ340は、L2キャッシュコントローラ320を通じてバス310と連結され、プロセッサコアPD〜PFによって共有される。L2キャッシュコントローラ320は、L2キャッシュ340を管理し、プロセッサトランザクションをハンドリングする。ディレクトリメモリ330は、L2キャッシュ340のデータブロックがどのプロセッサコアによって共有されているかについての情報を保持する。メモリ360は、メモリコントローラ350を通じてL2キャッシュ340と連結される。メモリコントローラ350は、メモリ360を管理する。L1キャッシュ、L2キャッシュ、及びメモリにおいて、データは同一の大きさのデータブロック(キャッシュライン)に分離されて保持される。
図5は、ディレクトリメモリ330の配列を概念的に示している。
図5を参照しながら説明すると、ディレクトリメモリ330の行L0〜Lmは、L2キャッシュ340のブロックBL0〜BLmに各々対応し、列CD〜CFは、プロセッサコアPD〜PFに各々対応する。例えば、行L0及び列CAの交差する部分は、プロセッサコアPDがL2キャッシュメモリ340のブロックBL0を共有しているか田舎についての情報を保持する。このような方式によると、L2キャッシュメモリ340を共有するプロセッサコアの数がF個である場合において、ディレクトリメモリ130の一つの行はFビットを保持する。また、ディレクトリメモリ330の各行は、有効ビットVをさらに含む。有効ビットVは、L2キャッシュメモリ340の対応するデータブロックに保持されたデータが有効であるか、または無効であるかを示す。図5に示したディレクトリメモリ330は、一つの実施の形態を例示しているだけであり、他の方式は、例えば、ディレクトリメモリ330の一つの行がlogF(ただ、FはL2キャッシュを共有するプロセッサコアの数)ビットを保持するように実現されうる。
再び図4を参照しながら説明すると、L2キャッシュコントローラ320は、プロセッサコアPD〜PFのうちのいずれか一つからL2キャッシュ340に対するアクセス要求を受けた場合において、ディレクトリメモリ330をアクセスして共有情報を獲得する。L2キャッシュコントローラ320は、獲得した情報に従ってキャッシュ一貫性を維持するための動作を実行した後に、アクセス要求をしたプロセッサコアに対してメモリ140へのアクセスを許可する。以下、本発明の望ましい実施の形態によるマルチプロセッサシステム300のキャッシュ一貫性維持のための動作を図6A及び図6Bを参照して詳細に説明する。
プロセッサコアPDによってL2キャッシュメモリ340のデータブロックDB0が共有されていると仮定する。プロセッサコアPDによってL2キャッシュメモリ340のデータブロックDB0が共有されたということは、プロセッサコアPD上のL1キャッシュLA1がデータブロックDB0を保持していることを意味する。ライトスルー方式を採用したシステムでは、L1及びL2キャッシュのデータブロックDB0がメモリ360に保持されている。このような状態において、プロセッサコアPEがL2キャッシュ340のデータブロックDB0にデータを書き込むためのアクセス要求をすると(図6Aの段階S410)、L2キャッシュコントローラ320は、ディレクトリメモリ330を検査する(段階S411)。L2キャッシュコントローラ320がディレクトリメモリ330を検査した結果、プロセッサコアPEによってアクセス要求がされたデータブロックDB0がプロセッサコアPDによって共有されていると判断することができる。L2キャッシュコントローラ320は、プロセッサコアPEに対しては、アクセス要求のリトライを命じる信号を伝送し(段階S412)、プロセッサコアPDに対しては、インタラプト信号を伝送する(段階S413)。
インタラプト信号を受信したプロセッサコアPDは(図6Bの段階S420)、L2キャッシュコントローラ320から受信したインタラプト信号が他のプロセッサコアPEによる書き込み要請に関連するインタラプトであることを確認し(段階S421)、書き込み要求されたデータブロックDB0をL1キャッシュL1Aにおいて無効化する(段階S422)。続いて、書き込みバッファWBDに保持されたデータブロックがあるか否かをチェックして(段階S423)、保持されたデータブロックがある場合には、そのデータブロックをL2キャッシュ340に書き込む(段階S424)。このような過程が全部完了すると、プロセッサコアPDはインタラプト処理完了応答をL2キャッシュコントローラ320に伝送する(段階S425)。
L2キャッシュコントローラ320は、プロセッサコアPDからインタラプト処理完了応答を受信すると(図6Aの段階S414)、L1キャッシュメモリにおいて無効化されたデータブロックに対応するL2キャッシュメモリ340のデータブロックを無効化する(段階S415)。L2キャッシュメモリ340のデータブロック無効化は、ディレクトリメモリ330の対応する行の有効ビットVをリセットすることによって可能である。L2キャッシュコントローラ320は、プロセッサコアPDに対して、L2キャッシュメモリ340へのアクセスを許可する(段階S416)。これによって、プロセッサコアPEが要求したL2キャッシュメモリ340のデータブロックDB0に対する書き込み動作が実行される。ライトスルー方式を採用したシステムでは、プロセッサコアPEによってL2キャッシュメモリ340に書き込まれるデータブロックDB0は、メモリ360にも書き込まれる。このような方法によってキャッシュ一貫性が維持される。
一方、プロセッサコアPDによってL2キャッシュメモリ340のデータブロックDB0が共有された状態において、プロセッサコアPEがL2キャッシュメモリ340のデータブロックDB0からデータを読み出すためのアクセス要求をする場合については、大部分の動作は前の説明の書き込み動作と類似である。ただし、プロセッサコアPEがメモリ340のデータブロックDB0を読み出す動作によってはデータブロックDB0が変化しないので、プロセッサコアPD上のL1キャッシュL1A及びL2キャッシュL2Aに保持されたデータブロックDB0を無効化しなくても良いという点で異なる。
上述のように、本発明はマルチプロセッサ動作環境を提供しないプロセッサコアの設計変更を最小に抑えながら、キャッシュ一貫性を維持することができるようにする。また、キャッシュ一貫性維持のための複雑なロジックを使用しないことによって、システムの電力消耗を減らすことができる。
以上、例示的な望ましい実施の形態を利用して本発明を説明したが、本発明の範囲が開示された実施の形態に限定されないことは明らかであろう。したがって、特許請求の範囲は、その範囲を実質的に逸脱しない範囲において、各種の変形例を含む。
本発明の望ましい実施の形態によるマルチプロセッサシステムを示す図面である。 図1に示したディレクトリメモリの配列を概念的に示す図面である。 プロセッサコアからアクセス要求があった場合における図1のメモリコントローラの制御手順を示すフローチャートである。 インタラプトを受信したプロセッサコアの制御手順を示すフローチャートである。 本発明の他の実施の形態によるマルチプロセッサシステムを示す図面である。 図4のディレクトリメモリの配列を概念的に示す図面である。 プロセッサコアからアクセス要求があった場合における図4のL2キャッシュコントローラの制御手順を示すフローチャートである。 インタラプトを受信したプロセッサコアの制御手順を示すフローチャートである。
符号の説明
100,300 マルチプロセッサシステム
110,310 バス
120,350 メモリコントローラ
130,330 ディレクトリメモリ
140,360 メモリ
320 L2キャッシュコントローラ
340 L2キャッシュメモリ
PA−PC プロセッサコア
PD−PF プロセッサコア
L1A−L1F L1キャッシュメモリ
L2A−L2C L2キャッシュメモリ
WBA−WBF 書き込みバッファ

Claims (21)

  1. 各々が少なくとも一つのキャッシュメモリを有する複数のプロセッサと、
    少なくとも一つのデータブロックを有し、少なくとも二つのプロセッサにより共有されるメモリユニットと、
    前記少なくとも一つのデータブロックを共有するプロセッサを示す情報を保持するためのディレクトリメモリと、
    前記複数のプロセッサと前記ディレクトリメモリとの間に連結された制御ユニットとを含み、
    前記制御ユニットは、前記ディレクトリメモリ内の情報が、前記複数のプロセッサのうち第1プロセッサが前記少なくとも一つのデータブロックを共有していることを示していて、かつ、前記制御ユニットが、前記複数のプロセッサのうち第2プロセッサから前記メモリユニットの前記少なくとも一つのデータブロックに対するアクセス要求を受信した場合において、前記複数のプロセッサのうち前記第1プロセッサに対してインタラプト信号を伝送することを特徴とするマルチプロセッサシステム。
  2. 前記メモリユニットの前記少なくとも一つのデータブロックに対するアクセス要求は、書き込み要求であることを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記少なくとも一つのデータブロックは、前記複数のプロセッサのうち前記第1プロセッサの各々のキャッシュメモリ内に保持され、前記複数のプロセッサのうち前記第1プロセッサは、前記インタラプト信号を受信した後、前記各々のキャッシュメモリに保持された前記少なくとも一つのデータブロックを無効化することを特徴とする請求項2に記載のマルチプロセッサシステム。
  4. 前記複数のプロセッサの各々は、書き込みバッファを含むことを特徴とする請求項3に記載のマルチプロセッサシステム。
  5. 前記複数のプロセッサのうち前記第1プロセッサの前記書き込みバッファが空いている場合に、前記複数のプロセッサのうち前記第1プロセッサは、前記制御ユニットに対してインタラプト完了応答を伝送することを特徴とする請求項4に記載のマルチプロセッサシステム。
  6. 前記少なくとも一つのデータブロックが前記複数のプロセッサのうち前記第1プロセッサの前記書き込みバッファ内に存在する時、前記複数のプロセッサのうち前記第1プロセッサは、前記書き込みバッファからの前記少なくとも一つのデータブロックを前記メモリにユニットに格納し、インタラプト完了応答を前記制御ユニットに伝送することを特徴とする請求項4に記載のマルチプロセッサシステム。
  7. 前記キャッシュメモリの各々はレベル1キャッシュメモリであり、前記メモリユニットはレベル2キャッシュメモリであることを特徴とする請求項1に記載のマルチプロセッサステム。
  8. 前記ディレトリメモリは、前記レベル2キャッシュメモリの前記各データブロックに対する有効情報を含むことを特徴とする請求項7に記載のマルチプロセッサシステム。
  9. 前記キャッシュメモリのデータ書き込みは、ライトスルー方式で動作することを特徴とする請求項1に記載のマルチプロセッサシステム。
  10. 各々が少なくとも一つのキャッシュメモリを内蔵した複数のプロセッサがバスを通じてメモリユニットを共有するマルチプロセッサシステムのキャッシュ一貫性維持方法において、
    前記複数のプロセッサのうちの第2プロセッサから前記メモリユニットのデータブロックに対するアクセスを要求する段階と、
    前記データブロックが前記複数のプロセッサのうち第1プロセッサにより共有されている場合に、インタラプトを前記プロセッサのうち前記第1プロセッサに伝送する段階と、
    前記複数のプロセッサのうち第1プロセッサのキャッシュメモリに保持された前記データブロックを無効化する段階とを含むことを特徴とするマルチプロセッサシステムのキャッシュ一貫性維持方法。
  11. 前記メモリユニットの任意のデータブロックに対するアクセス要求は、書き込み要求であることを特徴とする請求項10に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  12. 前記アクセス要求がされたデータブロックが他のプロセッサにより共有されている場合に、前記アクセス要求をしたプロセッサに対して、リトライを要求する段階をさらに含むことを特徴とする請求項10に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  13. 前記バスは分離型トランザクションプロトコルに従うことを特徴とする請求項10に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  14. 前記複数のプロセッサのうち前記第2プロセッサに待機応答信号を伝送する段階をさらに含むことを特徴とする請求項13に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  15. 前記複数のプロセッサの各々は、書き込みバッファを含むことを特徴とする請求項10に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  16. 前記データブロックが前記複数のプロセッサのうち前記第1プロセッサの前記書き込みバッファ内に存在する場合に、前記書き込みバッファからの前記データブロックを前記メモリユニットに書き込んだ後に、前記プロセッサのアクセス要求に応答する段階をさらに含むことを特徴とする請求項15に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  17. 前記複数のプロセッサのうち前記第1プロセッサの前記書き込みバッファが空いている場合に、前記複数のプロセッサのうち前記第2プロセッサのアクセス要求に応答する段階をさらに含むことを特徴とする請求項15に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  18. 前記キャッシュメモリの各々はレベル1キャッシュメモリであり、前記メモリユニットはレベル2キャッシュメモリであることを特徴とする請求項10に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  19. 前記レベル1キャッシュメモリの無効化されたデータブロックに対応する前記レベル2キャッシュメモリの対応するデータブロックを無効化する段階をさらに含むことを特徴とする請求項18に記載のマルチプロセッサシステムのキャッシュ一貫性維持方法。
  20. メモリコントローラユニットの動作方法において、
    第2プロセッサからのメモリユニットのデータブロックに対するアクセス要求を受信する段階と、
    前記データブロックが第1プロセッサによって共有されたか否かについてディレクトリメモリを検査する段階と、
    前記データブロックが前記第1プロセッサによって共有されている場合に、インタラプト信号を前記第1プロセッサに伝送する段階と、
    再要求信号を前記第2プロセッサに伝送する段階と、
    前記第1プロセッサからのインタラプト完了応答を受信した場合に、前記第2プロセッサのアクセス要求を許可する段階とを含むことを特徴とするメモリコントローラユニットの動作方法。
  21. 複数のプロセッサによって共有されるデータブロックを有するメモリユニットと、
    前記データブロックを共有するプロセッサを示すディレクトリメモリと、
    前記メモリユニットと前記ディレクトリメモリに連結された制御ユニットとを含み、
    第2プロセッサから前記データブロックに対するアクセス要求信号を受信した場合、及び、前記第1プロセッサが前記データブロックを共有していることを前記ディレクトリメモリが示している場合に、前記制御ユニットがインタラプト信号を第1プロセッサに伝送し、
    前記第1プロセッサからインタラプト完了信号を受信した場合に、前記制御ユニットが前記第2プロセッサの前記アクセス要求を許可することを特徴とするメモリコントローラユニット。
JP2004181431A 2003-07-22 2004-06-18 マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法 Active JP4733932B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2003-0050128A KR100515059B1 (ko) 2003-07-22 2003-07-22 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
KR2003-050128 2003-07-22

Publications (3)

Publication Number Publication Date
JP2005044342A true JP2005044342A (ja) 2005-02-17
JP2005044342A5 JP2005044342A5 (ja) 2007-05-10
JP4733932B2 JP4733932B2 (ja) 2011-07-27

Family

ID=34074900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004181431A Active JP4733932B2 (ja) 2003-07-22 2004-06-18 マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法

Country Status (3)

Country Link
US (1) US7418555B2 (ja)
JP (1) JP4733932B2 (ja)
KR (1) KR100515059B1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204101A (ja) * 2007-02-19 2008-09-04 Nec Computertechno Ltd バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置
JP2011054077A (ja) * 2009-09-04 2011-03-17 Toshiba Corp マルチプロセッサ
JP2014002787A (ja) * 2013-09-05 2014-01-09 Fujitsu Ltd マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム
US8996820B2 (en) 2010-06-14 2015-03-31 Fujitsu Limited Multi-core processor system, cache coherency control method, and computer product
JP2016512373A (ja) * 2013-03-15 2016-04-25 シマンテック コーポレーションSymantec Corporation 共有記憶装置環境におけるローカルキャッシュコヒーレンシーの提供
JP2022514551A (ja) * 2019-09-20 2022-02-14 エルジー エナジー ソリューション リミテッド バッテリー管理装置及び方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5079988B2 (ja) * 2005-06-13 2012-11-21 オリンパス株式会社 分散処理システム、分散処理方法及びプログラム
KR100634566B1 (ko) * 2005-10-06 2006-10-16 엠텍비젼 주식회사 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
KR100748191B1 (ko) 2006-04-06 2007-08-09 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법
KR100746364B1 (ko) * 2006-07-28 2007-08-06 엠텍비젼 주식회사 메모리 공유 방법 및 장치
KR100782592B1 (ko) * 2006-08-10 2007-12-06 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
US7574566B2 (en) * 2006-09-21 2009-08-11 Sun Microsystems, Inc. System and method for efficient software cache coherence
EP2271992B1 (en) * 2008-04-28 2013-04-03 Hewlett-Packard Development Company, L. P. Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems
KR101639672B1 (ko) 2010-01-05 2016-07-15 삼성전자주식회사 무한 트랜잭션 메모리 시스템 및 그 동작 방법
US8352685B2 (en) 2010-08-20 2013-01-08 Apple Inc. Combining write buffer with dynamically adjustable flush metrics
US8990502B2 (en) * 2010-11-23 2015-03-24 International Business Machines Corporation Write cache structure in a storage system
WO2012117389A1 (en) * 2011-02-28 2012-09-07 Dsp Group Ltd. A method and an apparatus for coherency control
CN102591800B (zh) * 2011-12-31 2015-01-07 龙芯中科技术有限公司 一种弱一致性存储模型的数据访存系统和方法
EP3014464A4 (en) * 2013-06-28 2017-03-15 Intel Corporation Techniques to aggregate compute, memory and input/output resources across devices
US10120802B2 (en) 2015-09-23 2018-11-06 International Business Machines Corporation Transactional memory coherence control
KR102533241B1 (ko) * 2018-01-25 2023-05-16 삼성전자주식회사 적응적으로 캐시 일관성을 제어하도록 구성된 이종 컴퓨팅 시스템
JP7041000B2 (ja) 2018-05-15 2022-03-23 株式会社テイエルブイ 浮動式流体トラップ

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63253448A (ja) * 1987-04-10 1988-10-20 Hitachi Ltd マルチ計算機装置
JPH0290259A (ja) * 1988-09-27 1990-03-29 Hitachi Ltd マルチプロセッサシステム
JPH02153445A (ja) * 1988-12-06 1990-06-13 Fujitsu Ltd キャッシュメモリ無効化要求作成方式
JPH02294761A (ja) * 1989-05-10 1990-12-05 Fujitsu Ltd マルチプロセッサシステムの逐次化処理方式
JPH04140860A (ja) * 1990-10-02 1992-05-14 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサにおけるバス制御方法
JPH04245350A (ja) * 1991-01-30 1992-09-01 Toshiba Corp キャッシュ一致化方式
JPH06309229A (ja) * 1993-04-20 1994-11-04 Mitsubishi Electric Corp データ処理装置
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
JPH0991255A (ja) * 1995-09-25 1997-04-04 Internatl Business Mach Corp <Ibm> ディレクトリ・ベースのキャッシュ・コヒーレンス・プロトコルによるマルチプロセッサのための無効バス最適化
JP2001297035A (ja) * 2000-04-11 2001-10-26 Hitachi Ltd 情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781774A (en) 1994-06-29 1998-07-14 Intel Corporation Processor having operating modes for an upgradeable multiprocessor computer system
JPH09511088A (ja) * 1995-04-18 1997-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムのための高可用性のエラー自己回復共用キャッシュ
US5732244A (en) * 1995-07-24 1998-03-24 Unisys Corp. Multiprocessor with split transaction bus architecture for sending retry direction to other bus module upon a match of subsequent address bus cycles to content of cache tag
US5592432A (en) * 1995-09-05 1997-01-07 Emc Corp Cache management system using time stamping for replacement queue
US5822765A (en) 1995-12-14 1998-10-13 International Business Machines Corporation System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system
US6263407B1 (en) 1998-02-17 2001-07-17 International Business Machines Corporation Cache coherency protocol including a hovering (H) state having a precise mode and an imprecise mode
US6493809B1 (en) * 2000-01-28 2002-12-10 International Business Machines Corporation Maintaining order of write operations in a multiprocessor for memory consistency
US6826653B2 (en) * 2002-02-06 2004-11-30 Hewlett-Packard Development Company, L.P. Block data mover adapted to contain faults in a partitioned multiprocessor system
US7065614B1 (en) * 2003-06-20 2006-06-20 Unisys Corporation System and method for maintaining memory coherency within a multi-processor data processing system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63253448A (ja) * 1987-04-10 1988-10-20 Hitachi Ltd マルチ計算機装置
JPH0290259A (ja) * 1988-09-27 1990-03-29 Hitachi Ltd マルチプロセッサシステム
JPH02153445A (ja) * 1988-12-06 1990-06-13 Fujitsu Ltd キャッシュメモリ無効化要求作成方式
JPH02294761A (ja) * 1989-05-10 1990-12-05 Fujitsu Ltd マルチプロセッサシステムの逐次化処理方式
JPH04140860A (ja) * 1990-10-02 1992-05-14 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサにおけるバス制御方法
JPH04245350A (ja) * 1991-01-30 1992-09-01 Toshiba Corp キャッシュ一致化方式
JPH06309229A (ja) * 1993-04-20 1994-11-04 Mitsubishi Electric Corp データ処理装置
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
JPH0991255A (ja) * 1995-09-25 1997-04-04 Internatl Business Mach Corp <Ibm> ディレクトリ・ベースのキャッシュ・コヒーレンス・プロトコルによるマルチプロセッサのための無効バス最適化
JP2001297035A (ja) * 2000-04-11 2001-10-26 Hitachi Ltd 情報処理装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204101A (ja) * 2007-02-19 2008-09-04 Nec Computertechno Ltd バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置
JP2011054077A (ja) * 2009-09-04 2011-03-17 Toshiba Corp マルチプロセッサ
US8996820B2 (en) 2010-06-14 2015-03-31 Fujitsu Limited Multi-core processor system, cache coherency control method, and computer product
US9390012B2 (en) 2010-06-14 2016-07-12 Fujitsu Limited Multi-core processor system, cache coherency control method, and computer product
JP2016512373A (ja) * 2013-03-15 2016-04-25 シマンテック コーポレーションSymantec Corporation 共有記憶装置環境におけるローカルキャッシュコヒーレンシーの提供
JP2014002787A (ja) * 2013-09-05 2014-01-09 Fujitsu Ltd マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム
JP2022514551A (ja) * 2019-09-20 2022-02-14 エルジー エナジー ソリューション リミテッド バッテリー管理装置及び方法
JP7243965B2 (ja) 2019-09-20 2023-03-22 エルジー エナジー ソリューション リミテッド バッテリー管理装置及び方法

Also Published As

Publication number Publication date
JP4733932B2 (ja) 2011-07-27
KR20050011152A (ko) 2005-01-29
US20050021914A1 (en) 2005-01-27
KR100515059B1 (ko) 2005-09-14
US7418555B2 (en) 2008-08-26

Similar Documents

Publication Publication Date Title
JP4733932B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムのキャッシュ一貫性維持方法
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6763434B2 (en) Data processing system and method for resolving a conflict between requests to modify a shared cache line
US6405289B1 (en) Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response
US5940856A (en) Cache intervention from only one of many cache lines sharing an unmodified value
US6760819B2 (en) Symmetric multiprocessor coherence mechanism
US5946709A (en) Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
US5963974A (en) Cache intervention from a cache line exclusively holding an unmodified value
US5940864A (en) Shared memory-access priorization method for multiprocessors using caches and snoop responses
US8312225B2 (en) Method and apparatus for supporting scalable coherence on many-core products through restricted exposure
US6098156A (en) Method and system for rapid line ownership transfer for multiprocessor updates
JP2007257631A (ja) 動作のスヌーピングに応答して無効コヒーレンシー状態を更新するデータ処理システム、キャッシュ・システム、および方法
US5943685A (en) Method of shared intervention via a single data provider among shared caches for SMP bus
JP2000067024A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US6976132B2 (en) Reducing latency of a snoop tenure
US6807608B2 (en) Multiprocessor environment supporting variable-sized coherency transactions
US6336169B1 (en) Background kill system bus transaction to optimize coherency transactions on a multiprocessor system bus
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system
US6526480B1 (en) Cache apparatus and control method allowing speculative processing of data
EP0976047B1 (en) Read operations in multiprocessor computer system
US20040133748A1 (en) Unbalanced inclusive tags

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070316

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100825

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: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4733932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250