JP2009054000A - マルチプロセッサシステム及びキャッシュ管理方法 - Google Patents

マルチプロセッサシステム及びキャッシュ管理方法 Download PDF

Info

Publication number
JP2009054000A
JP2009054000A JP2007221111A JP2007221111A JP2009054000A JP 2009054000 A JP2009054000 A JP 2009054000A JP 2007221111 A JP2007221111 A JP 2007221111A JP 2007221111 A JP2007221111 A JP 2007221111A JP 2009054000 A JP2009054000 A JP 2009054000A
Authority
JP
Japan
Prior art keywords
cache
processing unit
information
shared
cache line
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.)
Pending
Application number
JP2007221111A
Other languages
English (en)
Inventor
Takashi Omori
貴志 大森
Masaya Nakahata
昌也 中畑
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007221111A priority Critical patent/JP2009054000A/ja
Publication of JP2009054000A publication Critical patent/JP2009054000A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】複数のプロセッシングユニットがキャッシュデータを共有している場合のキャッシュコヒーレンシ維持のための無駄な動作を減少させる。
【解決手段】キャッシュメモリを持つ複数のプロセッシングユニットが、相互接続手段を介して相互に接続され、また、複数のユニットで共有する主記憶150に接続されて構成されている。マルチプロセッサシステムを構成する複数のプロセッシングユニットは、キャッシュメモリに保持されるキャッシュラインを管理するため、主記憶アドレス情報の一部のビットフィールドからなるタグ情報、そのキャッシュラインのデータがどのプロセッシングユニットと共有されているかを示す状態情報をキャッシュラインと共に保持する。状態情報105は、どのプロセッシングユニットとキャッシュラインを共有しているかを示す情報をS1〜S4ビットに保持し、また、そのキャッシュラインのデータが書き替えられたか否かの情報をmビットに保持している。
【選択図】図1

Description

本発明は、マルチプロセッサシステム及びキャッシュ管理方法に係り、特に、マルチプロセッサシステムを構成する複数のプロセッシングユニット間でキャッシュコヒーレンシを保ちながら処理を行うマルチプロセッサシステム及びキャッシュ管理方法に関する。
図5は従来技術によるマルチプロセッサシステムの構成例を示すブロック図であり、以下、図5を参照して従来技術について説明する。図5に示すマルチプロセッサシステムは、4台のプロセッシングユニットを備えた場合の例である。
従来技術によるマルチプロセッサシステムは、図5に示すように、キャッシュメモリを持つ複数のプロセッシングユニット200、210、220、230が、それぞれの接続手段108、118、128、138、及び、相互接続手段140を介して相互に接続され、また、アドレス空間を複数のプロセッシングユニットで共有する主記憶150に接続されて構成されている。マルチプロセッサシステムを構成する複数のプロセッシングユニット200〜230は、プロセッシングユニット200を代表として説明すると、複数のプロセッサ101、102と、キャッシュメモリ203とが接続手段107により接続されて構成されている。他のプロセッシングユニットも、異なる符号が付されているが、全て同様な構成を有して構成されている。
前述したように構成されるマルチプロセッサシステムにおいて、各プロセッシングユニット200、210、220、230のキャッシュメモリ203、213、223、233の相互間と主記憶150との間のキャッシュコヒーレンシ維持を行う場合、相互接続手段140を介した情報の授受によるバススヌーピング方式によるキャッシュコヒーレンシ維持動作を行う方法が用いられるのが一般的である。
バススヌーピング方式は、あるプロセッサ、例えば、プロセッサ101がキャッシュメモリ203に書き込みを行う際、書き込み対象のキャッシュラインのデータが他プロセッシングユニットのキャッシュメモリと共有されていることを当該キャッシュラインの状態情報が示している場合に、アクセスするアドレスやアクセスの種類等の情報を持ったキャッシュコヒーレンシ維持のための情報を、相互接続手段140を介して他プロセッシングユニットに送出することにより、キャッシュコヒーレンシ維持動作を行うものである。
データをキャッシュメモリに登録し、または、その登録を破棄する場合、一般に、そのデータは、キャッシュライン単位に管理される。管理するための情報としては、主記憶アドレス情報の一部のビットフィールドからなるタグ情報や、キャッシュラインへのデータ登録状況を示す状態情報が使用される。プロセッシングユニット200のキャッシュメモリ203に付いて言えば、キャッシュメモリ203に保持される各キャッシュライン106には、タグ情報104と状態情報205とが付与されている。
図6は従来技術の場合のキャッシュラインの状態を管理する状態情報の構成例を示す図である。この図6に示す状態情報は、一般的なMESIプロトコルを利用した場合のキャッシュラインの状態を管理する状態情報を示している。
キャッシュコヒーレンシ維持方式の1つであるMESIプロトコルを利用する場合、図6に示すように、Invalid 、Exclusive 、Shared、Modifiedの4つの状態を2ビット(st0、st1)で表してキャッシュラインの状態を管理する。これらの状態が持つ意味は、それぞれ、「キャッシュラインのデータが無効」、「他のキャッシュメモリと非共有で無変更のデータを持つ」、「他のキャッシュメモリと共有で無変更のデータを持つ」、「他のキャッシュメモリと非共有で変更済みのデータを持つ」である。
前述した従来技術は、マルチプロセッサシステムを構成するプロセッシングユニットの数が多くなると、内部のプロセッサの動作に伴うキャッシュコヒーレンシ維持のためのキャッシュメモリ相互間での情報の授受が増加し、タグ情報、状態情報をアクセスする頻度が増加してしまうという問題点を生じさせる。
前述したような問題を解決することができる他の従来技術として、例えば、特許文献1等に記載された技術が知られている。この従来技術は、キャッシュコヒーレンシ制御情報をヒストリーテーブルに記録しておき、キャッシュコヒーレン制御要求を受け取ったときに、そのヒストリーテーブルをチェックすることにより、同一のキャッシュラインに対するキャッシュコヒーレンシ制御を2回目以降行わないようにして、キャッシュコヒーレンシ制御動作を削減するというものである。
また、他の従来技術として、例えば、特許文献2等に記載された技術が知られている。この従来技術は、ディレクトリテーブルを用意し、そのテーブル内容を確認することにより、キャッシュコヒーレンシ維持動作の対象プロセッシングユニットを削減するというものである。
特開平9−293060号公報 特開平10−55313号公報
前述したMESIプロトコルを用いる従来技術は、キャッシュラインの状態情報を、例えば、図6により説明したように2ビットで構成することができる。ここで、あるプロセッサ、例えば、プロセッサ101が、共有状態にあるキャッシュライン、すなわち、状態がSharedであるキャッシュラインに対して書き込みを行った場合のキャッシュコヒーレンシ維持動作について説明する。
共有されているキャッシュラインにプロセッシングユニット200内のプロセッサ101が書き込みを行ったとき、他のプロセッシングユニット210、220、230が当該キャッシュラインと同じデータを共有しているキャッシュライン(共有キャッシュラインと呼ぶ)に対して書き込みをしないことを保障しつつ書き込みを行い、同時に共有キャッシュラインを登録破棄させて、その状態をInvalid の状態にする必要がある。このため、プロセッシングユニット200は、相互接続手段140に対してキャッシュコヒーレンシ維持のための情報を送出し、それにより他のプロセッシングユニット210、220、230が当該共有キャッシュラインへの書き込みを行わないようにする。
同時期に複数のプロセッシングユニットが共有キャッシュラインに書き込みを行おうとする可能性があるが、その際には、書き込みを許可するプロセッシングユニットを選択する方法をとることができる。このプロセッシングユニットを選択する方法としては、例えば、相互接続手段140を共有バス構造とし、バス使用権を確保したプロセッシングユニットに書き込み権を与えるという方法等がある。この場合、書き込み権を取得することができなかったプロセッシングユニットは、当該キャッシュコヒーレンシ維持動作が終了するまで、書き込み動作が延期させられることになる。
そして、さらに、他のプロセッシングユニット210、220、230は、プロセッシングユニット200から送出されたキャッシュコヒーレンシ維持のための情報を使用して、キャッシュメモリのタグ情報と状態情報とをチェックし、自分が共有キャッシュラインを保持していた場合に、そのキャッシュラインの登録を破棄する。一方で、プロセッシングユニット200内のキャッシュメモリ203は、書き込み権を得て書き込みをした結果、当該キャッシュラインの状態をModifiedとする。
前述した方法は、プロセッシングユニット200が、キャッシュメモリ203への書き込みに伴い送出するキャッシュコヒーレンシ維持のための情報を、他の全てのプロセッシングユニットが取り込んでタグ情報と状態情報とのチェックを行うことになるが、キャッシュラインを共有していないプロセッシングユニットもこのチェックを行うことになる。このため、キャッシュラインを共有していないプロセッシングユニットは、無駄な動作を行うことになり、タグ情報と状態情報とのチェック動作を無駄に実行する分だけ、本来実行しなければならない処理動作が遅くなり、情報処理速度が低下してしまうと共に、無駄なチェック動作による回路動作により無駄に電力を消費してしまうことになる。
さらに、前述した従来技術は、相互接続手段140がプロセッシングユニット相互間を1対1で接続する形式の場合、相互接続手段140を介したキャッシュコヒーレンシ維持のための情報の授受も無駄に行われる部分が存在し、前述と同様に本来実行しなければならない通信の処理速度を低下させ、また、必要な通信のためのバンド幅確保のために回路を高速動作させるために動作マージンが減少して信頼性を低減させ、または、必要な通信バンド幅確保のために回路、配線物量を増大させなければならす、製造原価が増大するという問題を生じさせてしまう。
本発明の目的は、前述したような点に鑑みて、キャッシュコヒーレンシ維持のための無駄な動作を減少させ、その結果として情報処理の速度を高速化し、また、電力消費を低減させ、プロセッシングユニット相互間の通信の信頼性を上げ、あるいは、製造原価を低減することのできるマルチプロセッサシステム及びキャッシュ管理方法を提供することにある。
本発明によれば前記目的は、それぞれがキャッシュメモリ及び1または複数のプロセッサを有する複数のプロセッシングユニットと、これらの複数のプロセッシングユニットで共有する主記憶とが相互接続手段を介して接続されて構成されるマルチプロセッサシステムにおいて、前記プロセッシングユニットのそれぞれのキャッシュメモリに保持するキャッシュライン毎に、そのキャッシュラインに保持するデータが、他のどのプロセッシングユニットと共有状態にあるかを示す状態情報を設け、複数のプロセッシングユニット相互間で共有されるデータを持つキャッシュラインに対してあるプロセッシングユニットが書き込みを行う場合、該あるプロセッシングユニットは、前記相互接続手段を介して他のプロセッシングユニットに、前記状態情報含むキャッシュコヒーレンシ維持のための情報を送信し、共有データを持つ他のプロセッシングユニットがキャッシュコヒーレンシ維持動作を行うことにより達成される。
本発明によれば、あるプロセッシングユニットが、自ユニットのキャッシュメモリへ書き替えのための書き込みを行った場合に、書き込み対象のキャッシュラインのデータを共有していない他のプロセッシングユニットが、無駄なキャッシュコヒーレンシ維持のためのタグ情報と状態情報のチェックを行わないようにすることができ、その結果として情報処理の速度を高速化することができる。
以下、本発明によるマルチプロセッサシステム及びキャッシュ管理方法の実施形態を図面により詳細に説明する。
図1は本発明の一実施形態によるマルチプロセッサシステムの構成を示すブロック図である。図1に示すマルチプロセッサシステムは、4台のプロセッシングユニットを備えた場合の例であるが、プロセッシングユニットをさらに多数設けて構成してもよい。
本発明の一実施形態によるマルチプロセッサシステムは、図5に示す従来技術の場合と同様に、キャッシュメモリを持つ複数のプロセッシングユニット100、110、120、130が、それぞれの接続手段108、118、128、138、及び、相互接続手段140を介して相互に接続され、また、アドレス空間を複数のプロセッシングユニットで共有する主記憶150に接続されて構成されている。マルチプロセッサシステムを構成する複数のプロセッシングユニット100、110、120、130は、プロセッシングユニット100を代表として説明すると、複数のプロセッサ101、102と、キャッシュメモリ103とが接続手段107により接続されて構成されている。他のプロセッシングユニットも、異なる符号が付されているが、全て同様な構成を有して構成されている。
そして、図5に示す従来技術の場合と同様に、各プロセッシングユニット100、110、120、130内のキャッシュメモリ103、113、123、133に保持されるキャッシュライン106、116、126、136を管理するための情報として、主記憶アドレス情報の一部のビットフィールドからなるタグ情報や、キャッシュラインへのデータ登録状況を示す状態情報が使用される。プロセッシングユニット100のキャッシュメモリ103に付いて言えば、キャッシュメモリ103に保持される各キャッシュライン106には、タグ情報104と状態情報105とが付与されている。
本発明の実施形態では、キャッシュメモリ103の状態情報105を、図1に示すように、従来技術によるキャッシュラインの状態情報を拡張してどのプロセッシングユニットとキャッシュラインを共有しているかを示す情報を保持することとしている。この例の場合、状態情報105の中のs0ビットは、プロセッシングユニット100が当該キャッシュラインにデータを持つことを意味し、s1ビットは、プロセッシングユニット110が当該キャッシュラインに保持されるデータと同じデータを共有しているか否かを示し、同様に、s2ビットは、プロセッシングユニット120が、s3ビットは、プロセッシングユニット130が当該キャッシュラインに保持されるデータと同じデータを共有しているか否かを示している。また、mビットは、そのキャッシュラインのデータが書き替えられた(変更された)か否かを示している。
このように、本発明の実施形態は、キャッシュラインの共有状態を従来技術の場合より細かく管理することにより、チェック動作を行うべきプロセッシングユニットとチェック動作を行う必要のないプロセッシングユニットとを区別し、キャッシュコヒーレンシ維持のための情報を送出する際に、チェック動作を行うべきプロセッシングユニットを特定することを可能とし、課題の欄で説明したような従来技術の場合のような無駄なチェック動作が発生することを防止している。
図2、図3は本発明の実施形態でのキャッシュラインの状態を管理する状態情報の構成例を示す図である。図2に示す状態情報の例は、一般的なMESIプロトコルを使用した場合のキャッシュラインの状態を管理する状態情報の例を示しており、図3に示す状態情報の例は、MOESIプロトコルを使用した場合のキャッシュラインの状態を管理する状態情報の例を示している。
図2、図3に示す状態情報の例は、プロセッシングユニット100のキャッシュメモリ103におけるキャッシュライン106の状態情報を示しており、プロセッシングユニット100のキャッシュメモリ103に登録されて有効なキャッシュラインがなく、また、他のプロセッシングユニットのキャッシュメモリにも有効なキャッシュラインがない「Invalid 」の状態、プロセッサ101が主記憶150から読み出したデータをキャッシュメモリ103に登録した「Exclusive 」の状態、他のプロセッシングユニットがキャッシュメモリ103内のキャッシュラインのデータを共有している状況を示す「Shared」の状態、「Exclusive 」の状態で、プロセッサ101がキャッシュラインのデータを書き替えた「Modified」の状態を示している。さらに、図3に示す状態情報では、書き替えられたキャッシュラインのデータを、どのプロセッシングユニットが共有しているかまで判るように「Owned 」の状態をも管理することができる。
図4は図1に示すマルチプロセッサシステムで処理が行われた場合のプロセッシングユニット100のキャッシュメモリ103における状態情報の変化を示す図であり、次に、この図を参照して、本発明の実施形態によるキャッシュメモリの共有状態の維持管理の方法について説明する。
いま、プロセッシングユニット100のキャッシュメモリ103に登録されて有効なキャッシュラインがなく、また、他のプロセッシングユニットのキャッシュメモリにも有効なキャッシュラインがないものとすると、プロセッシングユニット100のキャッシュメモリ103の状態情報105は、図4に600として示すような「Invalid 」の状態にある。
この状態からプロセッシングユニット100のプロセッサ101がキャッシュメモリ103を読み出しアクセスを行った結果キャッシュミスになり、主記憶150から読み出されたデータがキャッシュメモリ103に登録されると、そのキャッシュラインの状態情報105は、図4に示す600の状態から601として示すような「Exclusive 」の状態に移行する。
次に、キャッシュラインの共有状態が発生する例として、他のプロセッシングユニットのプロセッサ、例えば、プロセッサ111が、前記プロセッサ101と同じデータを読み出すべくキャッシュメモリ113をアクセスしたとする。このアクセスは、キャッシュミスになり、プロセッシングユニット110は主記憶に対する読み出しアクセスを行うため相互接続手段140に主記憶アクセス情報を送出する。この主記憶アクセス情報には、プロセッシングユニット110が送出したことを示す情報が付随している。
各プロセッシングユニット100、120、130は、相互接続手段140の情報を監視しており、主記憶アクセス情報があった場合、それぞれ自キャッシュメモリ103、123、133に当該主記憶アクセス情報が示すアドレスのデータが登録されているか否かをチェックする。プロセッシングユニット100は、このチェックにより、自ユニット内のキャッシュメモリ103に同一アドレスのデータが登録されていることが判るので、相互接続手段140にインターベンション情報を送出する。
本発明の実施形態では、プロセッシングユニット100は、そのとき、自ユニット内のキャッシュメモリ103が保持していたキャッシュラインの状態105のうち、共有状態を示す情報s0、s1、s2、s3を修正し、図4に602として示すような「Shared」の状態にし、この新たな状態情報をキャッシュラインの状態105に記憶し、また、前記インターベンション情報にこの新たな状態情報s0、s1、s2、s3を付加して送出する。
主記憶150は、相互接続手段140を介してこのインターベンション情報を得ることにより、前述したプロセッシングユニット110による主記憶アクセスを中断する。同様に、前述のインターベンション情報を得たプロセッシングユニット110は、当該インターベンション情報に含まれているデータを自ユニットのキャッシュラインに登録し、このとき、そのインターベンション情報に付随している共有状態を示す情報をキャッシュメモリ113の状態115として記憶する。これにより、キャッシュメモリ103と113との状態情報は、共に図4に602として示す「Shared」状態に移行したことになる。
次に、この共有状態のキャッシュラインに対して、あるプロセッサ、例えば、プロセッサ101が書き込みを行う場合を説明する。プロセッサ101によるキャッシュメモリ103への書き込みに伴い、プロセッシングユニット100は、前述の方法等によって書き込み権を取得しキャッシュラインに書き込みを行う。その際、プロセッシングユニット100は、相互接続手段140に送出されるキャッシュコヒーレンシ維持のための情報と共に、キャッシュラインの状態情報105のうちの共有状態情報s0、s1、s2、s3を何らかの形で表現して送出する。
プロセッシングユニット110、120、130は、相互接続手段140を介してキャッシュコヒーレンシ維持のための情報を受け取ると、それに付随する共有状態情報s0、s1、s2、s3により自キャッシュメモリがコヒーレンシ維持のためタグ情報と状態情報とのチェック動作を行う必要があるか否かを判定する。
相互接続手段140が共有バス形式の場合は、共有状態情報s0、s1、s2、s3の4ビット分の情報がキャッシュコヒーレンシ維持のための情報に付加されて相互接続手段140を介して他のプロセッシングユニット110、120、130に送られる。そして、このキャッシュコヒーレンシ維持のための情報を受け取ったプロセッシングユニット110、120、130は、付加されている状態情報の自プロセッシングユニットに対応する情報が、自ユニットのキャッシュメモリのキャッシュラインと共有されていることを示しているかを判定し、共有している場合に、キャッシュコヒーレンシ維持のため動作、すなわち、タグ情報と状態情報とのチェック動作を実行し、そうでない場合、キャッシュコヒーレンシ維持のため動作を行わない。
また、相互接続手段140がプロセッシングユニット100、110、120、130と主記憶150との1対1接続のような非共有バス形式の場合、共有状態情報s0、s1、s2、s3が示す自プロセッシングユニット以外の共有キャッシュラインを持つプロセッシングユニット、すなわち、プロセッシングユニット110のみにキャッシュコヒーレンシ維持のための情報を送る。これを受けたプロセッシングユニット110は、キャッシュコヒーレンシ維持のため動作すなわち、タグ情報と状態情報とのチェック動作を行う。それ以外のプロセッシングユニットは、キャッシュコヒーレンシ維持のための情報を受け取ることはなく、従って何の処理動作も行う必要がない。
プロセッシングユニット110は、キャッシュコヒーレンシ維持のためのタグ情報と状態情報とのチェック動作の結果、共有状態にあるキャッシュラインを発見し、そのキャッシュラインのデータを破棄し、それに伴ってそのキャッシュラインの状態情報を「Invalid 」に変更する。一方、プロセッシングユニット100は、キャッシュラインへの書き込みに伴い、そのキャッシュラインの状態情報を図4に603として示す「Modified」の状態にする。
前述したように本発明の実施形態は、キャッシュラインのデータの共有状態を維持管理して利用することとしているため、共有状態にあるキャッシュラインに対して書き込みを行った際のキャッシュコヒーレンシ維持のためのタグ情報と状態情報とのチェック動作を削減することができ、また、相互接続手段140が非共有バス形式の場合、キャッシュコヒーレンシ維持情報を送る必要のないプロセッシングユニットとの通信処理を削減することができる。
前述した本発明の実施形態によれば、あるプロセッシングユニットが、自ユニットのキャッシュメモリへ書き替えの書き込みを行った場合に、書き込み対象のキャッシュラインのデータを共有していない他のプロセッシングユニットが、無駄なキャッシュコヒーレンシ維持のためのタグ情報と状態情報のチェックを行わないようにすることができ、その結果として情報処理の速度を高速化することができる。
すなわち、前述した本発明の実施形態によれば、別に用意するテーブル等を参照してキャッシュコヒーレンシ維持動作対象のプロセッシングユニットを選択するのではなく、キャッシュラインの状態情報を数ビット拡張することにより、キャッシュコヒーレンシ維持動作を引き起こすキャッシュアクセスを行ったときに、直ちにキャッシュコヒーレンシ維持動作対象のプロセッシングユニットを特定することができるため、従来技術の場合に比較して、より高速にキャッシュコヒーレンシ維持動作を実行することができ、また、余分な動作を削減することができる。
また、本発明の実施形態によれば、プロセッシングユニット相互間の相互接続手段が1対1接続のような非共有バス形式の場合にも、従来技術により説明したような余分な通信動作を削減することができる。
前述したように、本発明の実施形態は、無駄な動作を削減した結果として、その削減分を本来実行すべきキャッシュ状態管理、利用動作やプロセッシングユニット相互間の通信処理に割り振ることができるようになるため、マルチプロセッサシステムにおける情報処理速度を向上させることができるという効果を得ることができる。
また、前述した本発明の実施形態は、無駄な動作を削減したことを情報処理速度の向上のために使用する代わりに、必要なバンド幅の低減に利用するようにすることもでき、この場合、回路動作周波数の低減、通信動作周波数の低減を図ることができ、結果として動作マージン向上の効果を得ることができる。さらに、必要なバンド幅の低減を周波数低減ではなく、回路、配線物量の削減に利用すれば、マルチプロセッサシステムの製造原価の低減を図ることができるという効果を得ることができる。
本発明の一実施形態によるマルチプロセッサシステムの構成を示すブロック図である。 本発明の実施形態でのキャッシュラインの状態を管理する状態情報の構成例(その1)を示す図である。 本発明の実施形態でのキャッシュラインの状態を管理する状態情報の構成例(その2)を示す図である。 図1に示すマルチプロセッサシステムで処理が行われた場合のプロセッシングユニット100のキャッシュメモリ103における状態情報の変化を示す図である。 従来技術によるマルチプロセッサシステムの構成例を示すブロック図である。 図6は従来技術でのキャッシュラインの状態を管理する状態情報の構成例を示す図である。
符号の説明
100、110、120、130 プロセッシングユニット
101、102、111、112、121、122、131、132 プロセッサ
103、113、123、133 キャッシュメモリ
104、114、124、134 タグ情報
105、115、125、135 状態情報
106、116、126、136 キャッシュライン
107、108、117、118、127、128、137、138 接続手段
140 相互接続手段
150 主記憶

Claims (4)

  1. それぞれがキャッシュメモリ及び1または複数のプロセッサを有する複数のプロセッシングユニットと、これらの複数のプロセッシングユニットで共有する主記憶とが相互接続手段を介して接続されて構成されるマルチプロセッサシステムにおいて、
    前記プロセッシングユニットのそれぞれのキャッシュメモリに保持するキャッシュライン毎に、そのキャッシュラインに保持するデータが、他のどのプロセッシングユニットと共有状態にあるかを示す状態情報を設け、複数のプロセッシングユニット相互間で共有されるデータを持つキャッシュラインに対してあるプロセッシングユニットが書き込みを行う場合、該あるプロセッシングユニットは、前記相互接続手段を介して他のプロセッシングユニットに、前記状態情報含むキャッシュコヒーレンシ維持のための情報を送信し、共有データを持つ他のプロセッシングユニットがキャッシュコヒーレンシ維持動作を行うことを特徴とするマルチプロセッサシステム。
  2. 前記相互接続手段が、前記プロセッシングユニット同士を1対1形式で接続している接続手段である場合、前記あるプロセッシングユニットは、キャッシュデータを共有しているプロセッシングユニットに対してキャッシュコヒーレンシ維持のための情報の送信を行うことを特徴とする請求項1記載のマルチプロセッサシステム。
  3. それぞれがキャッシュメモリ及び1または複数のプロセッサを有する複数のプロセッシングユニットと、これらの複数のプロセッシングユニットで共有する主記憶とが相互接続手段を介して接続されて構成されるマルチプロセッサシステムにおけるキャッシュ管理方法において、
    前記プロセッシングユニットのそれぞれのキャッシュメモリに保持するキャッシュライン毎に、そのキャッシュラインに保持するデータが、他のどのプロセッシングユニットと共有状態にあるかを示す状態情報を設け、複数のプロセッシングユニット相互間で共有されるデータを持つキャッシュラインに対してあるプロセッシングユニットが書き込みを行う場合、該あるプロセッシングユニットは、前記相互接続手段を介して他のプロセッシングユニットに、前記状態情報含むキャッシュコヒーレンシ維持のための情報を送信し、共有データを持つ他のプロセッシングユニットがキャッシュコヒーレンシ維持動作を行うことを特徴とするキャッシュ管理方法。
  4. 前記相互接続手段が、前記プロセッシングユニット同士を1対1形式で接続している接続手段である場合、前記あるプロセッシングユニットは、キャッシュデータを共有しているプロセッシングユニットに対してキャッシュコヒーレンシ維持のための情報の送信を行うことを特徴とする請求項3記載のキャッシュ管理方法。
JP2007221111A 2007-08-28 2007-08-28 マルチプロセッサシステム及びキャッシュ管理方法 Pending JP2009054000A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007221111A JP2009054000A (ja) 2007-08-28 2007-08-28 マルチプロセッサシステム及びキャッシュ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007221111A JP2009054000A (ja) 2007-08-28 2007-08-28 マルチプロセッサシステム及びキャッシュ管理方法

Publications (1)

Publication Number Publication Date
JP2009054000A true JP2009054000A (ja) 2009-03-12

Family

ID=40505015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007221111A Pending JP2009054000A (ja) 2007-08-28 2007-08-28 マルチプロセッサシステム及びキャッシュ管理方法

Country Status (1)

Country Link
JP (1) JP2009054000A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794675A (zh) * 2023-01-19 2023-03-14 北京象帝先计算技术有限公司 写数据方法、装置、图形处理系统、电子组件及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794675A (zh) * 2023-01-19 2023-03-14 北京象帝先计算技术有限公司 写数据方法、装置、图形处理系统、电子组件及电子设备
CN115794675B (zh) * 2023-01-19 2023-05-16 北京象帝先计算技术有限公司 写数据方法、装置、图形处理系统、电子组件及电子设备

Similar Documents

Publication Publication Date Title
US9952975B2 (en) Memory network to route memory traffic and I/O traffic
KR102204751B1 (ko) 클러스터 레벨에서의 데이터 일관성 모델 및 프로토콜
US20160314018A1 (en) Method for work scheduling in a multi-chip system
TWI431475B (zh) 用於在本地代理者之記憶體鏡像及遷移之裝置、系統及方法
US8631210B2 (en) Allocation and write policy for a glueless area-efficient directory cache for hotly contested cache lines
US8417873B1 (en) Random read and read/write block accessible memory
US8055805B2 (en) Opportunistic improvement of MMIO request handling based on target reporting of space requirements
US9223579B2 (en) Handling atomic operations for a non-coherent device
US7386680B2 (en) Apparatus and method of controlling data sharing on a shared memory computer system
US20030005167A1 (en) Method and apparatus for managing transaction requests in a multi-node architecture
TWI502346B (zh) 根據窺探回應資訊之目錄快取分配技術
CN101216781B (zh) 一种多处理器系统、装置及方法
US8930640B2 (en) Multiprocessor computer system with reduced directory requirement
US10229073B2 (en) System-on-chip and method for exchanging data between computation nodes of such a system-on-chip
JP2005141606A (ja) マルチプロセッサシステム
JP2008197716A (ja) データ一貫性制御システム及びデータ一貫性制御方法
KR20140038075A (ko) 캐시 일관성 유지 장치 및 방법, 이를 이용하는 멀티프로세서 장치
US20080313411A1 (en) System controller and cache control method
JP6115455B2 (ja) 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置
JP2009054000A (ja) マルチプロセッサシステム及びキャッシュ管理方法
WO2019149031A1 (zh) 应用于节点系统的数据处理方法及装置
US20090089468A1 (en) Coherent input output device
US6636948B2 (en) Method and system for a processor to gain assured ownership of an up-to-date copy of data
JPWO2007110898A1 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
JP2008123333A (ja) 半導体集積回路装置