(57)【要約】【課題】本発明は、共通バスと、その共通バスに接続された共通メモリとを介して他の情報処理装置と連係し、かつ所定の分散処理の一部を担う情報処理装置と、これらの情報処理装置にこの共通バスの使用権を適宜付与するバス制御装置とに関し、安価に、かつ確実に高い性能および応答性が達成されることを目的とする。【解決手段】共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、インタフェース手段および共通バスを介して共有メモリの記憶領域毎に、アクセスされた頻度を監視する監視手段と、共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、頻度が高い記憶領域に格納された内容を優先的に保持する制御手段とを備えて構成される。【選択図】      図１
2005141575.tif 000002
【特許請求の範囲】
【請求項１】
共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、
前記インタフェース手段および前記共通バスを介して前記共有メモリの記憶領域毎に、アクセスされた頻度を監視する監視手段と、
前記共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記頻度が高い記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、
前記インタフェース手段および前記共通バスを介して前記共有メモリの記憶領域毎に、アクセスされた頻度を監視する監視手段と、
前記共有メモリの記憶領域毎に、前記処理の手順に基づいてアクセスされ得る頻度の昇順に大きく重み付けられた重みが格納された重み記憶手段と、
前記共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記重み記憶手段に格納された重みと、前記監視手段によって監視された頻度との積が大きい記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とする情報処理装置。
【請求項３】
複数の情報処理装置によって共有メモリのアクセスに供される共通バスのバス調停を行うバス調停手段と、
前記共有メモリの記憶領域毎に、前記複数の情報処理によって個別にアクセスされた頻度を監視する監視手段と、
前記共有メモリのアクセスに前記複数の情報処理装置によって個別に供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記頻度が高い記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とするバス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通バスと、その共通バスに接続された共通メモリとを介して他の情報処理装置と連係し、かつ所定の分散処理の一部を担う情報処理装置と、これらの情報処理装置にこの共通バスの使用権を適宜付与するバス制御装置とに関する。
【背景技術】
【０００２】
機能分散や負荷分散の下で所望の性能および信頼性が確保され、かつ維持されるべき装置の中枢部は冗長に構成され、このような中枢部の現用系は、例えば、何らかの障害が発生した場合には、運用が中断されることなく速やかに予備系による代替が図られる。
上述した装置の中枢部は、一般に、下記の要素で構成される。
・  機能分散や負荷分散を実現するための複数のプロセッサ
・  これらのプロセッサ間におけるプロセッサ間通信に供され、かつ障害の発生に応じて新たな現用系として稼働する予備系に対する引き渡しの対象となる情報が適宜蓄積される共有メモリ
・  これらのプロセッサによる共有メモリのアクセスに供される共通バス
図８は、冗長に構成されたマルチプロセッサの構成例を示す図（１）である。
【０００３】
図において、既述のプロセッサが個別に備えられた複数の制御ブロック５１-1〜５１-(n+1)と、共通メモリ５２と、バス調停部５３とは、共通バス５４に接続される。
このような構成のマルチプロセッサでは、複数の制御ブロック５１-1〜５１-(n+1)の内、例えば、制御ブロック５１-1〜５１-nが現用として負荷分散または機能分散を実現する処理を行い、かつ残りの制御ブロック５１-(n+1)は待機する。なお、以下では、５１-1〜５１-nの制御ブロックについては「現用系」と称し、５１-(n+1)の制御ブロックについては「待機系」と称する。
【０００４】
さらに、制御ブロック５１-1〜５１-nは、何れも制御ブロック５１-(n+1)による代替に必要な情報については、バス調停部５３と適宜連係することによって、共通バス５４のアクセス権を取得した後に、共有メモリ５２の記憶領域に格納しておく。
また、これらの制御ブロック５１-1〜５１-nの内、何れか（ここでは、「制御ブロック５１-F」と表記する。）に障害が発生した場合には、このような制御ブロック５１-Fは、「待機系」である制御ブロック５１-(n+1)によって代替される。
【０００５】
この制御ブロック５１-(n+1)は、バス調停部５３における調停処理によって共通バス５４のアクセス権を取得し、その共通バス５４を介して共有メモリ５２の所定の記憶領域に格納されている情報（制御ブロック５１-Fの引き継ぎに用いる情報）を参照することによって、新たな現用系として稼働する。
なお、図８に示す冗長な構成については、以下では、「ｎ＋１予備方式」と称する。
【０００６】
図９は、冗長に構成されたマルチプロセッサの構成例を示す図（２）である。
図において、複数の制御ブロック５１-11〜５１-1n、共通メモリ５２-1およびバス調停部５３-1は共通バス５４-1に接続され、かつ複数の制御ブロック５１-21〜５１-2n、共通メモリ５２-2およびバス調停部５３-2は共通バス５４-2に接続される。これらの共通メモリ５２-1、５２-2は、物理的なリンク５５を介して相互に接続される。
【０００７】
このような構成のマルチプロセッサでは、複数の制御ブロック５１-11〜５１-1n、共通メモリ５２-1、バス調停部５３-1および共通バス５４-1から構成される系（以下、「系１」という。）と、複数の制御ブロック５１-21〜５１-2n、共通メモリ５２-2、バス調停整部５３-2および共通バス５４-2から構成される系（以下、「系２」という。）との内、一方（ここでは、簡単のため、「系１」であると仮定する。）は、「現用系」として作動し、かつ他方（ここでは、簡単のため「系２」であると仮定する。）は「待機系」として作動する。
【０００８】
「現用系」に属する各部は、『リンク５５を介して「待機系」に属する共通メモリ５２-2（５２-1）に、共通メモリ５２-1（５２-2）に書き込まれた情報が引き渡される点』を除いて、図８に示すマルチプロセッサにおける「現用系」と同様に作動する。
また、「待機系」に属する各部は、『「待機系」に属する共通メモリ５２-2（５２-1）がこのようにして「現用系」から引き渡された情報を対応する記憶領域に適宜格納する処理』を行うが、機能分散や機能分散を実現する処理を行うことなく待機する。
【０００９】
すなわち、「待機系」に属する共通メモリ５２-2（５２-1）には、「現用系」に属する共通メモリ５２-1（５２-2）の各記憶領域にその「現用系」によって格納された情報の写しが格納される。
さらに、「現用系」に発生した障害に応じて「待機系」が「現用系」に代わって作動する場合には、その「待機系」は、新たに「現用系」となった後に、共通バス５２-2（５４-1）を介して共有メモリ５２-2（５２-1）を適宜参照することによって、「現用系」によって格納され、あるいは更新された情報を参照する。
【００１０】
なお、図９に示す冗長な構成については、以下では、「待機冗長方式（Ｎ／Ｅ構成）」と称する。
図１０は、冗長に構成されたマルチプロセッサの構成例を示す図（３）である。
図において、複数の制御ブロック５１-1〜５１-n、共通メモリ５２およびバス調停部５３は、共通バス５４に接続される。
【００１１】
このような構成のマルチプロセッサでは、複数の制御ブロック５１-1〜５１-nは、何れも「現用系」として負荷分散または機能分散を実現する処理を並行して行い、図８に示すマルチプロセッサにおける「現用系」と同様に共通バス５４を介して共有メモリ５２に、系構成の切り替えに応じて新たな「現用系」となる制御ブロックに引き渡されるべき情報を適宜格納する。
【００１２】
また、制御ブロック５１-1〜５１-nの内、特定の制御ブロックに障害が発生すると、その特定の制御ブロック以外の制御ブロックの何れか（複数の制御ブロックであってもよい。）は、この特定の制御ブロックの機能を代わって行う処理をする。
なお、以下では、図１０に示す冗長な構成については、以下では、「常用冗長方式（０／１構成）」と称する。
【特許文献１】特開２０００−１０８６２号公報（請求項１、段落００１７〜００１９、図２、図３）
【特許文献２】特公平６−１００９８４号公報（請求項１、第４頁第１７行〜第２１行、図面の簡単な説明、第１図、図３）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、上述した従来例では、各制御ブロックに備えられたプロセッサは、「共有メモリ５２に格納された情報」を参照し、あるいは更新するためには、共通バス５４のアクセス権を取得しなければならない。
しかし、これらのプロセッサは、他の多数の制御ブロックに備えられたプロセッサによって共有メモリ５２の参照が行われ、あるいはこのようにして参照される共有メモリ５２の記憶領域が多数ある場合には、上述したアクセス権の取得に要する時間が長くなり、そのために、個々の制御ブロックに備えられたプロセッサの処理量が大幅に低下する可能性が高かった。
【００１４】
また、これらの処理量の低下は、個々の制御ブロックに備えられたプロセッサに供給されるクロック信号の周波数が高く設定されても回避されず、かつ総合的な性能が低下する主要な要因であった。
なお、このような処理量の低下は、個々の制御ブロックにおいてプロセッサと共通バス５４とのインタフェースをとるバスインタフェース部にキャッシュメモリを備えることによって軽減され得る。
【００１５】
しかし、個々の制御ブロックに上述したキャッシュメモリが備えられても、これらのキャッシュのヒット率が十分に高くない限り、実質的には、共有メモリ５２に対して行われるアクセスの頻度が減少せず、そのために、所望の高い性能および応答性は達成されなかった。
また、既述の特許文献１、２に開示された発明は、本願発明との対比においては、プロセッサ毎またはノード毎にキャッシュメモリが備えられる点で共通であるが、そのキャッシュメモリの領域管理および更新にかかわるアルゴリズムが本質的に異なるために、所望の応答性だけではなく、キャッシュメモリのヒット率の向上、あるいはキャッシュメモリのサイズの低減が必ずしも十分には達成されなかった。
【００１６】
本発明は、基本的な構成が大幅に変更されることなく、安価に、かつ確実に高い性能および応答性が達成される情報処理装置およびバス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
第１の発明では、インタフェース手段は、共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとる。監視手段は、インタフェース手段および共通バスを介して共有メモリの記憶領域毎に、アクセスされた頻度を監視する。制御手段は共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、頻度が高い記憶領域に格納された内容を優先的に保持する。
【００１８】
すなわち、キャッシュ記憶には、共有メモリの記憶領域の内、上述した処理の過程で実際にアクセスされた頻度が高い記憶領域の内容が優先的に保持される。
したがって、このような処理を行うハードウエアが共通バスを介して共有メモリにアクセスたるために待機しなければならない時間が確実に短縮され、その共通バスの長さが長い場合であっても、本発明にかかわる情報処理装置の処理量が高く維持される。
【００１９】
第２の発明では、インタフェース手段は、共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとる。監視手段は、インタフェース手段および共通バスを介して共有メモリの記憶領域毎に、アクセスされた頻度を監視する。重み記憶手段には、共有メモリの記憶領域毎に、処理の手順に基づいてアクセスされ得る頻度の昇順に大きく重み付けられた重みが格納される。制御手段は、共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、重み記憶手段に格納された重みと、監視手段によって監視された頻度との積が大きい記憶領域に格納された内容を優先的に保持する。
【００２０】
すなわち、キャッシュ記憶の記憶領域の内、そのキャッシュ記憶に格納されていない「共有メモリの記憶領域の内容」が格納されるべき記憶領域は、その共有メモリの記憶領域に対するアクセスが物理的に行われた頻度だけではなく、上述した処理の手順に基づいてこの記憶領域がアクセスされる可能性が高いほど優先的に選択される。
したがって、キャッシュ記憶のヒット率が向上し、かつ高く維持される。
【００２１】
第３の発明では、バス調停手段は、複数の情報処理装置によって共有メモリのアクセスに供される共通バスのバス調停を行う。監視手段は、共有メモリの記憶領域毎に、複数の情報処理装置によって個別にアクセスされた頻度を監視する。制御手段は、共有メモリのアクセスに複数の情報処理装置によって個別に供されるキャッシュ記憶に、その共有メモリの記憶領域の内、頻度が高い記憶領域に格納された内容を優先的に保持する。
【００２２】
すなわち、個々のキャッシュ記憶には、共有メモリの記憶領域の内、実際にアクセスされた頻度が高い記憶領域の内容が優先的に保持される。
したがって、個々の情報処理装置が共通バスを介して共有メモリにアクセスするために待機しなければならない時間が確実に短縮され、その共通バスの長さが長い場合であっても、上述した複数の情報処理装置の処理量が高く維持される。
【００２３】
第１および第２の発明の第一の下位概念の発明では、監視手段は、共有メモリの記憶領域の内、本発明にかかわる情報処理装置によってアクセスされ得る記憶領域に限って、その処理の手順に基づいてアクセスされた頻度を監視する。
すなわち、共有メモリの記憶領域の内容の内、本発明にかかわる情報処理装置によってアクセスされるキャッシュ記憶に保持され得る内容には、その情報処理装置によって行われる処理の過程でアクセスされることがない共有メモリの記憶領域の内容は含まれない。
【００２４】
したがって、キャッシュ記憶の記憶領域のサイズの削減が可能となり、かつ監視手段の負荷が軽減される。
第１および第２の発明の第二の下位概念の発明では、制御手段は、インタフェース手段を介して共有バスに対するアクセスが行われていない期間に限って、キャッシュ記憶に対する書き込みを行う。
【００２５】
すなわち、本発明にかかわる情報処理装置は、キャッシュ記憶に対する書き込みを行う期間には、共有バスに対してアクセスすることがない。
したがって、共有メモリが頻繁にアクセスされ、あるいはキャッシュ記憶に対する書き込みに要する時間が長い場合であっても、共通バスは、キャッシュ記憶の機能が損なわれることなく複数の情報処理装置によって効率的に共用され、かつアクセスされる。
【００２６】
第１および第２の発明に類似した発明では、インタフェース手段は、共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとる。予測手段は、共有メモリの記憶領域の内、インタフェース手段および共通バスを介してアクセスされている記憶領域を監視し、その記憶領域に後続してアクセスされ得る記憶領域を予測する。制御手段は、予測された記憶領域に格納された最新の内容をキャッシュ記憶に優先的に蓄積する。
【００２７】
すなわち、キャッシュ記憶には、共有メモリの記憶領域の内、実際にアクセスされた頻度が高い記憶領域の内容だけではなく、本発明にかかわる情報処理装置によって後続して参照され得る可能性が高い記憶領域の内容が格納される。
したがって、共有メモリの記憶領域の内、実際に先行してアクセスされた頻度が高い記憶領域の内容がキャッシュ記憶に格納される場合に比べて、そのキャッシュ記憶のヒット率が向上し、かつ高く維持される。
【００２８】
第１および第２の発明の第三の下位概念の発明では、制御手段は、共通メモリの記憶領域の内、既定の記憶領域に格納された最新の内容に限ってキャッシュ記憶に蓄積する。
すなわち、キャッシュ記憶に蓄積され得る情報は、共有メモリの記憶領域の内、本発明にかかわる情報処理装置によってアクセスされ得る記憶領域の内容に限定される。
したがって、キャッシュ記憶のヒット率は、そのキャッシュ記憶に書き込まれる情報がこのようには限定されない場合に比べて、向上し、かつ高く維持される。
【００２９】
第３の発明に類似した発明では、バス調停手段は、複数の情報処理装置によって共有メモリのアクセスに供される共通バスのバス調停を行う。監視手段は、共有メモリの記憶領域毎に、複数の情報処理によって個別にアクセスされた頻度を監視する。重み記憶手段には、共有メモリの記憶領域毎に、複数の情報処理装置によって個別に行われる処理の手順に基づいてアクセスされ得る頻度の昇順に大きく重み付けられた重みが格納される。制御手段は、共有メモリのアクセスに複数の情報処理装置によって個別に供されるキャッシュ記憶に、その共有メモリの記憶領域の内、重み記憶手段に格納された重みと、監視手段によって監視された頻度との積が大きい記憶領域に格納された内容を優先的に保持する。
【００３０】
すなわち、何れのキャッシュ記憶についても、記憶領域の内、そのキャッシュ記憶に格納されていない「共有メモリの記憶領域の内容」が格納されるべき記憶領域は、その共有メモリの記憶領域に対するアクセスが物理的に行われた頻度だけではなく、上述した処理の手順に基づいてこの記憶領域がアクセスされる可能性が高いほど優先的に選択される。
したがって、キャッシュ記憶のヒット率が向上し、かつ高く維持される。
【００３１】
第３の発明の第一の下位概念の発明では、監視手段は、複数の情報処理装置毎に、共有メモリの記憶領域の内、アクセスし得る記憶領域に限って、実際にアクセスされた頻度を監視する。
すなわち、共有メモリの記憶領域の内容の内、上述した複数の情報処理装置によって個別にアクセスされるキャッシュ記憶に保持され得る内容には、これらの情報処理装置によって行われる処理の過程でアクセスされることがない共有メモリの記憶領域の内容は含まれない。
【００３２】
したがって、キャッシュ記憶の記憶領域の削減が可能となり、かつ監視手段の負荷が軽減される。
第３の発明の第二の下位概念の発明では、制御手段は、複数の情報処理装置の内、共有バスに対するアクセスを行っていない情報処理に対応するキャッシュ記憶に限って書き込みを行う。
【００３３】
すなわち、上述した複数の情報処理装置は、キャッシュ記憶に対する書き込みを行う期間には、共有バスに対してアクセスすることがない。
したがって、共有メモリが頻繁にアクセスされ、あるいはキャッシュ記憶に対する書き込みに要する時間が長い場合であっても、共通バスは、個々のキャッシュ記憶の機能が損なわれることなく複数の情報処理装置によって効率的に共用され、かつアクセスされる。
【発明の効果】
【００３４】
上述したように第１の発明では、所定の処理を行うハードウエアが共通バスを介して共有メモリにアクセスするために待機しなければならない時間が確実に短縮され、その共通バスの長さが長い場合であっても、処理量が高く維持される。
第２の発明と、第１および第２の発明の第三の下位概念の発明と、請求項３に記載の発明に類似した発明とでは、キャッシュ記憶のヒット率が向上し、かつ高く維持される。
【００３５】
第３の発明では、複数の情報処理装置が個別に共通バスを介して共有メモリにアクセスするために待機しなければならない時間が確実に短縮され、その共通バスの長さが長い場合であっても、これらの情報処理装置の処理量が高く維持される。
第１および第２の発明の第一の下位概念の発明と、第３の発明の第一の下位概念の発明とでは、キャッシュ記憶の記憶領域の削減が可能となり、かつ監視手段の負荷が軽減される。
【００３６】
第１および第２の発明の第二の下位概念の発明と、第３の発明の第二の下位概念の発明とでは、共有メモリが頻繁にアクセスされ、あるいはキャッシュ記憶に対する書き込みに要する時間が長い場合であっても、共通バスは、個々のキャッシュ記憶の機能が損なわれることなく複数の情報処理装置によって効率的に共用され、かつアクセスされる。
第１および第２の発明に類似した発明では、共有メモリの記憶領域の内、実際に先行してアクセスされた頻度が高い記憶領域の内容がキャッシュ記憶に格納される場合に比べて、そのキャッシュ記憶のヒット率が向上し、かつ高く維持される。
【００３７】
したがって、これらの発明が適用された情報処理装置、あるいは機器では、ハードウエアの規模およびコストの削減に併せて、多様な形態による分散処理が柔軟に、かつ効率的に行われると共に、総合的な処理量が高められる。
【発明を実施するための最良の形態】
【００３８】
以下、図面に基づいて本発明の実施形態について詳細に説明する。
図１は、本発明の第一ないし第五の実施形態を示す図である。
本実施形態には、制御ブロック１０-1〜１０-nが備えられる。
制御ブロック１０-1は、下記の要素から構成される。
・  内部バス１１-1
・  その内部バス１１-1に接続されたプロセッサ１２-1およびローカルメモリ１３-1
・  これらのプロセッサ１２-1およびローカルメモリ１３-1と共に、内部バス１１-1に接続され、かつ共通バス５４に接続されたバスインタフェース部１４-1
・  バスインタフェース部１４-1の第一のポートに接続されたキャッシュメモリ１５-1
・  バスインタフェース部１４-1の第二のポートに接続された統計記録部１６-1
なお、制御ブロック１０-2〜１０-nの構成については、制御ブロック１０-1の構成と同じであるので、以下では、対応する構成要素に添え番号「２」〜「ｎ」が付加された符号を付与して説明する。
［第一の実施形態］
以下、図１を参照して本発明の第一の実施形態の動作を説明する。
【００３９】
なお、以下では、制御ブロック１０-1〜１０-nに共通の事項については、添え番号「１」〜「ｎ」の何れにも該当し得ることを意味する添え文字「ｃ」を符号に付加することによって記述する。
本実施形態の特徴は、主に制御ブロック１０-cに備えられたプロセッサ１２-cが共有メモリ５２にアクセスする過程にある。
【００４０】
各部の基本的な動作は、下記の通りである。
ローカルメモリ１３-cには、機能分散や負荷分散を実現するための処理の手順がプログラムとして格納される。プロセッサ１２-cは、下記の処理を行う。
・  内部バス１１-cを介してローカルメモリ１３-cを適宜参照することにより、プログラムを実行する。
・  その実行の過程では、内部バス１１-cを介してローカルメモリ１３-cの記憶領域に適宜アクセスし、かつ内部バス１１-cおよびバスインタフェース部１４-cを介して共有メモリ５２に適宜アクセスする。
【００４１】
また、統計記録部１６-cは、後述するようにバスインタフェース部１４-cを介して共有メモリ５２に対する物理的なアクセス（書き込みまたは読み出し、またはこれらの双方）が行われる度に、共有メモリ５２の記憶領域（ここでは、簡単のため、共通バス５４を介して共有メモリ５２に物理的に与えられ得るユニークなアドレスと仮定する。）毎に、そのアクセスが実際に行われた頻度を計測する。
【００４２】
なお、このような頻度としては、例えば、図２に示すように、共有メモリ５２の個々の記憶領域に対するアクセスの回数と「最新のものほど過去のものに対して大きく設定された重み（Ｗ）」との積として、バスインタフェース部１４-cに内蔵されたカウンタ１４Ｃ-c1〜１４Ｃ-cPによって求められるとするが、基本的には、所定時間内にどれだけアクセスしたかの回数に関する情報である。
【００４３】
共有メモリ５２の記憶領域の内容を読み出す必要がある場合には、バスインタフェース部１４-cは、下記の処理を行う。
・  共有メモリ５２の記憶領域の内、読み出しの対象となる記憶領域の内容がキャッシュメモリ１５-cの何れかの記憶領域に既に格納されているか否かの判別を行う。
・  その判別の結果が真である場合に限って、新たに共有メモリ５２に対するアクセスを行うことなく、内部バス１１-cを介してプロセッサ１２-cに、キャッシュメモリ１５-cの該当する記憶領域の内容を引き渡す。
・  この判別の結果が偽である場合（キャッシュメモリ１５-cの何れかの領域に、有効な語が格納されていない場合を含む。）には、バス調停部５３から共通バス５４のアクセス権を取得する。
・  共通バス５４を介して共有メモリ５２にアクセスし、その共有メモリ５２の所望の記憶領域の内容Ｗｒを取得する。
・  カウンタ１４Ｃ-c1〜１４Ｃ-cPの内、このようにしてアクセスされた共通メモリ５２の記憶領域に対応するカウンタの計数値ｖを取得する。
・  これらのカウンタ１４Ｃ-c1〜１４Ｃ-cPの内、計数値の降順に数えてＭ番目（Ｍは、キャッシュメモリ１５-cの記憶領域の数）のカウンタを特定する。
・  これらの特定されたカウンタの計数値ｖ＿minと上述した計数値ｖとの間に下記の不等式が成立するか否かの判別を行う。
ｖ＿min＜ｖ＋１・Ｗ
・  この判別の結果が偽である場合、内部バス１１-cを介してプロセッサ１２-cに上述した内容Ｗｒを引き渡す。
・  上記の判別の結果が真である場合には、図３に破線で示すように、キャッシュメモリ１５-cの記憶領域の内、計数値が最小の計数値ｖ＿minであるカウンタ（カウンタ１４Ｃ-c1〜１４Ｃ-cPの何れか１つ）に対応する記憶領域に、上述した内容Ｗｒを格納し、かつ内部バス１１-cを介してプロセッサ１２-cにこの内容Ｗｒを引き渡し、計算値をｖ＋１・Ｗに更新する。
【００４４】
また、共有メモリ５２の記憶領域に対して書き込みが行われる場合には、バスインタフェース部１４-cは、下記の処理を行う。
・  共有メモリ５２の記憶領域の内、書き込みの対象となる記憶領域の内容がキャッシュメモリ１５-cの何れかの記憶領域に既に格納されているか否かの判別を行う。
・  その判別の結果が真である場合、内部バス１１-cを介してプロセッサ１２-cから引き渡された語Ｗｗをキャッシュメモリ１５-cの該当する記憶領域に書き込む。
・  この判別の結果の如何にかかわらず、バス調停部５３と連係することによって、共通バス５４のアクセス権を取得する。
・  共通バス５４を介して共有メモリ５２にアクセスし、その共有メモリ５２の所望の記憶領域に上述した語Ｗｗを格納する。
・  カウンタ１４Ｃ-c1〜１４Ｃ-cPの内、このようにしてアクセスされた共通メモリ５２の記憶領域に対応するカウンタの計数値ｖを取得する。
・  これらのカウンタ１４Ｃ-c1〜１４Ｃ-cPの内、計数値の降順に数えてＭ番目（Ｍは、キャッシュメモリ１５-cの記憶領域の数）のカウンタを特定する。
・  このカウンタの計算値ｖ＿minと上述した計数値ｖとの間に下記の不等式が成立するか否かの判別を行う。
ｖ＿min＜ｖ＋１・Ｗ
・  この判別の結果が真である場合、図３に破線で示すように、キャッシュメモリ１５-cの記憶領域の内、計数値が最小の計数値ｖ＿minであるカウンタ（カウンタ１４Ｃ-c1〜１４Ｃ-cPの何れか１つ）に対応する記憶領域に、上述した内容Ｗｗを格納する。
【００４５】
すなわち、制御ブロック１０-cでは、共有メモリ５２の記憶領域の内、その制御ブロック１０-cに備えられたプロセッサ１２-cによって実際にアクセスされた頻度が高い記憶領域の内容がキャッシュメモリ１５-cに優先的に保持される。
このように本実施形態によれば、制御部１０-1〜１０-nの何れにおいても、それぞれキャッシュメモリ１５-1〜１５-nのヒット率が高く維持される。
【００４６】
また、本実施形態では、共有メモリ５２に対するアクセスがその共有メモリ５２のアドレス空間上においてランダムに行われる場合であっても、この共有メモリ５２の記憶領域の内、アクセスの頻度が低い記憶領域に対するアクセスに際してキャッシュメモリ１５-cが更新されず、そのアクセスの頻度が高い記憶領域の内容が無用に消去されることなく保全される。
【００４７】
したがって、共通バス５４のアクセス権が無用に取得されるためにプロセッサ１２-cが待機しなければならない時間が確度高く、大幅に短縮されると共に、その共通バス５４の長さが長い場合であっても、機能ブロック１０-1〜１０-nの総合的な処理量が高く維持される。
［第二の実施形態］
以下、図１を参照して本発明の第二の実施形態の動作を説明する。
【００４８】
本実施形態の特徴は、共有メモリ５２の記憶領域毎に、バスインタフェース部１４-cを介して物理的なアクセスが行われる頻度が計測される下記の手順にある。
統計記録部１６-cまたはバスインタフェース部１４-cには、図４に実線で示すように、共有メモリ５２の記憶領域に個別に対応し、これらの記憶領域が既述の処理の手順に基づいてそれぞれアクセスされるであろう予想頻度の昇順に大きく設定された「標準重み」が予め格納されたレコードの列として構成された重みテーブル２１-cが備えられる。
【００４９】
統計記録部１６-cは、共有メモリ５２の記憶領域の内、読み出しと書き込みとの双方もしくは何れか一方が行われた記憶領域（ここでは、共有メモリ５２に与えられ得るユニークなアドレスに個別に対応すると仮定する。）毎に、第一の実施形態と同様の手順に基づいてアクセスが実際に行われた頻度を計測する。
さらに、バスインタフェース部１４-cは、共有メモリ５２の何らかの記憶領域について読み出しまたは書き込みが行われる場合には、下記の点を除いて、既述の第一の実施形態と同様の手順に基づいて処理を行う。
・  カウンタ１４Ｃ-c1〜１４Ｃ-cPの内、実際にアクセスされた共有メモリ５２の記憶領域に対応するカウンタの計数値ｖに代えて、『その計数値ｖと、「重みテーブル２１-cのレコードの内、この記憶領域に対応したレコード」に格納されている「標準重み」との積』を適用する。
・  カウンタ１４Ｃ-c1〜１４Ｃ-cPの計数値の内、最小の計数値ｖ#minに代えて、『その計数値ｖ＿minと、「重みテーブル２１-cのレコードの内、この記憶領域に対応したレコード」に格納されている「標準重み」との積』を適用する。
【００５０】
すなわち、キャッシュメモリ１５-cの記憶領域の内、そのキャッシュメモリ１５-cに格納されていない「共有メモリ５２の記憶領域ｄの内容」が格納される記憶領域は、「その記憶領域ｄに物理的にアクセスされた頻度」のみではなく、「既述のプログラムとして与えられる処理の手順に基づいてこの記憶領域ｄに対するアクセスが行われる可能性」が高いほど優先的に選択される。
【００５１】
したがって、本実施形態によれば、このような重みが乗じられることなく、上記の「その記憶領域ｄに物理的にアクセスされた頻度」のみに基づいて同様の選択が行われる場合に比べて、キャッシュメモリ１５-cのヒット率が向上し、かつ高く維持される。
［第三の実施形態］
図５は、本発明の第三の実施形態の動作フローチャートである。
【００５２】
以下、図１および図５を参照して本発明の第三の実施形態の動作を説明する。
本実施形態の特徴は、バスインタフェース部１４-cによって行われる下記の処理の手順にある。
バスインタフェース部１４-cには、下記の２つの待ち行列が備えられる。
・  プロセッサ１２-cによって与えられ、かつ共通メモリ５２の何らかの記憶領域にかかわるアクセスの実現に必要な情報（以下、「アクセス要求」と称し、かつアクセスの形態が「書き込み」と「読み出し」との何れである場合にも該当する記憶領域の「アドレス」が含まれ、そのアクセスの形態が「書き込み」である場合に、該当する記憶領域に書き込まれるべき「情報」が含まれると仮定する。）の蓄積に供されるファーストイン・ファーストアウト方式の待ち行列（以下、「第一の待ち行列」という。）
・  キャッシュメモリ１５-cの記憶領域の内、「更新の対象となるべき記憶領域」のアドレスとその記憶領域に書き込まれるべき情報との対（以下、「キャッシュ更新要求」という。）の蓄積に供されるファーストイン・ファーストアウト方式の待ち行列（以下、「第二の待ち行列」という。）
さらに、バスインタフェース部１４-cは、既述の処理に並行して下記の処理を優先して行う。
(1) プロセッサ１２-cの主導の下でバス調停部５３と連係することによって、そのバス調停部５３によってプロセッサ１２-1〜１２-nの何れかに共通バス５４の「アクセス権」が付与されている期間（ここでは、プロセッサ１２-1〜１２-nに対してバス調停部５３が個別に与える制御信号の内、共通バス５４のアクセス権が与えられている期間に論理値が「０」となる二値信号ＧＲＴ１〜ＧＲＴｎの論理積の値として識別されると仮定し、かつ以下では、「共通バスアクセス期間」と称する。）を適宜識別する（図５(1))。
(2) プロセッサ１２-cによって  共通メモリ５２に対するアクセスが要求される度に、そのアクセスの実現に必要な「アクセス要求」を第一の待ち行列に繋ぐ（図５(2))。
(3) 第一の待ち行列に繋がれた何らかの「アクセス要求」が残存しているか否かを判別し（図５(3))、その判別の結果が真である場合には、下記の「第一の保留要件」または「第二の保留要件」が成立するか否かを判別する（図５(4))。
・  第二の待ち行列に何らかの「キャッシュ更新要求」が繋がれている。（第一保留要件）
・  第二の待ち行列に蓄積されている「キャッシュ更新要求」の何れかと、該当する「アクセス要求」との双方に含まれる共有メモリ５２のアドレスが同じである。（第二保留要件）
(4) これらの「第一の保留要件」と「第二の保留要件」との何れかが成立する場合には、後続する処理(5) を保留する（図５(5))。
(5) しかし、これらの「第一の保留要件」と「第二の保留要件」との双方が成立しない場合には、第一の待ち行列に最先に繋がれた「アクセス要求」を読み出し、その「アクセス要求」で示されるアクセスを実現するために、共通バス５４のアクセス権を取得すると共に、この「アクセス要求」に基づいて共有メモリ５２に物理的にアクセスする（図５(6))。
(6) 共有メモリ５２に対して先行して行われた物理的なアクセスが完了したときには、このアクセスの実績に基づいてキャッシュメモリ１５-cに対する書き込み（キャッシュメモリ１５-cに先行して格納されている情報の更新と、何れの記憶領域にも先行して格納されていなかった情報の書き込みとの双方が該当する。）が必要か否かを判別する（図５(7))。
(7) この判別の結果が真である場合には、この書き込みの実現に必要な「キャッシュ更新要求」を第二の待ち行列に繋ぐ（図５(8))。
【００５３】
また、バスインタフェース部１４-cは、上述した処理(1) の過程で「共通バスアクセス期間」に該当しない期間を識別し、このように期間には、図６(1) に示すように、第二の待ち行列に既に繋がれている最先の「キャッシュ更新要求」を順次読み出し、さらに、キャッシュメモリ１５-cの記憶領域の内容をその「キャッシュ更新要求」に基づいて更新する（図５(9))。
【００５４】
このように本実施形態によれば、上述した「共通バスアクセス期間」に該当しない期間に、キャッシュメモリ１５-cに対する書き込みが行われるので、共通バス５４が制御ブロック１０-1〜１０-nの何れかによってアクセスされる期間が確実に短縮される。
したがって、共有メモリ５２が頻繁にアクセスされ、あるいはキャッシュメモリ１５-cに対する書き込みに要する時間が長い場合であっても、共通バス５４は、制御ブロック１０-cに備えられたキャッシュメモリ１５-cの機能が損なわれることなく、これら制御ブロック１０-1〜１０-nによって効率的に共用される。
【００５５】
なお、本実施形態では、バス調停部５３によって制御ブロック１０-1〜１０-nに並行して与えられる二値信号ＧＲＴ１〜ＧＲＴｎの論理値、またはこれらの二値信号のＧＲＴ１〜ＧＲＴｎの論理積に基づいて、「共通バスアクセス期間」が識別されている。
しかし、このような「共通バスアクセス期間」は、例えば、バス調停部５３がこれらの二値信号ＧＲＴ１〜ＧＲＴｎの論理積を主導的に生成し、かつ制御ブロック１０-1〜１０-nに個別に引き渡すことによって識別されてもよい。
［第四の実施形態］
以下、図１を参照して本発明の第四の実施形態の動作を説明する。
【００５６】
この実施例では、図１の構成において、プロセッサは、制御ブロック内に不図示の記憶部を備えることとする。
この記億部は、共通メモリ５２におけるデータの各記憶領域Ａ、Ｂ、Ｃ、…Ｎについての関連性情報を記憶する。関連性情報とは、例えば、記憶領域（ＡとＢ）、（ＣとＤとＥ）、…などといったように複数の領域の組みからなる複数の組情報を記憶する。
【００５７】
このとき、同一の組に含まれる記憶領域（例えばＡとＢ）の関係は、プロセッサがその組に含まれるある一つの記憶領域（Ａ）に記憶されたデータを読み出して、処理を行った場合には、その処理の後に読み出しが必要になる可能性の高いデータを格納する記憶領域（Ｂ）といった関係を有するものである。
好ましくは、この組について順序関係を導入し、例えば、第１レコードとしてＥＦを記憶し、第２レコードとしてＧＨＩと記憶する。
【００５８】
この例の場合は、記憶領域Ｅに記憶されたデータをプロセッサが読み出した場合には、次に、記憶領域Ｆに記憶されたデータをプロセッサが読み出す可能性が高いものとして予め想定されたものである。尚、Ａ、Ｂ…と示した情報は、実際には、共通メモリの各領域のアドレス情報とすることができる。
次に、この関連性情報を用いたプロッセサの動作について簡単に説明する。
【００５９】
プロセッサは、共通バスのバスアクセス権を獲得し、自ら共有メモリにアクセスし、ある領域について共通メモリ５２に対して読み出し又は書込みを行った場合には、そのある領域についてのアクセス又はアクセス頻度に応じて、キャッシュメモリ１５-1にそのある領域に格納されているデータを記憶するが、プロセッサは、先の関連性情報によりこのある領域と組として記憶された領域のデータを共通メモリ５２から読み出し、同様にキャッシュメモリ１５-1に記憶しておく。従って、プロセッサが更なる処理をおこなう際には、この組のデータとしてキャッシュメモリに予め記憶したデータを読み出して処理をおこなうことができ、共有メモリにアクセスする必要がなくなることとなる。好ましくは、１の共通バスのバスアクセス権に対して、これらの関連領域のデータのキャッシュメモリヘの記憶を行うことで、各プロセッサは頻繁に共有メモリヘのアクセスのための共通バスのバスアクセス権を取得する必要がなくなることとなる。
［第五の実施形態］
以下、図１を参照して本発明の第五の実施形態の動作を説明する。
【００６０】
本実施形態の特徴は、バスインタフェース部１４-cによって行われる下記の処理の手順にある。
バスインタフェース部１４-cには、図７に示すように、共有メモリ５２の記憶領域の内、プロセッサ１２-cが既述の処理の手順に基づいてアクセスし、あるいは所望の高い頻度でアクセスし得る個々の範囲に対応し、かつ下記の２つのフィールドの対からなるレコードの列であるウインドウアドレステーブル２３-cが備えられる。
・  共有メモリ５２の記憶領域の内、プロセッサ１２-cがアクセスし得る個々の記憶領域の範囲の先頭を示すアドレス（以下、「先頭アドレス」という。）が予め格納された「先頭アドレス」フィールド
・  同様の記憶領域の末尾を示すアドレス（以下、「最終アドレス」という。）が予め格納された「最終アドレス」フィールド
バスインタフェース部１４-cは、共有メモリ５２-cに格納されている情報の内、キャッシュメモリ１５-cに対する書き込みの対象となるべき情報（以下、「書き込み情報」という。）については、ウインドウアドレステーブル２３-cのレコードに、下記の２つの条件が成立するレコードが含まれる場合に限って、そのキャッシュメモリ１５-cに対する書き込みを行う。
・  該当する「書き込み情報」が格納されている共有メモリの記憶領域のアドレスが「先頭アドレス」フィールドの値以上である。
・  その共有メモリの記憶領域のアドレスが「最終アドレス」フィールドの値以下である。
【００６１】
すなわち、キャッシュメモリ１５-cに書き込まれ得る情報は、共有メモリ５２-cの記憶領域の内、プロセッサ１２-cによってアクセスされ、あるいは頻繁にアクセスされ得る記憶領域の内容に限定される。
したがって、キャッシュメモリ１５-cのヒット率は、そのキャッシュメモリ１５-cに書き込まれる情報がこのように限定されない場合に比べて、向上し、かつ高く維持される。
【００６２】
なお、上述した各実施形態では、キャッシュメモリ１５-1〜１５-nの領域管理やアクセスにかかわる処理がそれぞれ制御ブロック１０-1〜１０-nによって個別に行われている。
しかし、これらの処理は、実装および布線（適用されるコネクタのピン数およびピン配列を含む。）にかかわる制約に阻まれることなく、共通バス５４を介して行われる制御ブロック１０-1〜１０-nとバス調停部５３との所望の連係が達成される限り、例えば、バス調停部５３によって主導的に、かつ並行して行われてもよい。
【００６３】
また、上述した各実施形態では、キャッシュメモリ１５-cは、統計記録部１６-cと共に、共通の制御ブロック１０-cに個別に配置されている。
しかし、これらのキャッシュメモリ１５-cだけではなく、バスインタフェース部１４-cおよび統計記録部１６-cの内、本発明にかかわる機能を実現する一部または全ては、上述した実装および布線にかかわる制約に阻まれることなく、共通バス５４を介して行われる制御ブロック１０-1〜１０-nとバス調停部５３との所望の連係が達成される限り、例えば、バス調停部５３と、「共通バス５４を構成するマザーボード等の回路基板」との双方もしくは何れか一方に配置されてもよい。
【００６４】
さらに、上述した各実施形態では、キャッシュメモリ１５-cには、共有メモリ５２の記憶領域の内容が語（アドレッシングの対象となる記憶領域毎に格納される。）の単位に蓄積されている。
しかし、本発明はこのような構成に限定されず、例えば、共有メモリ５２のアドレス（制御ブロック１０-cによって共通バス５４を介して与えられる。）の所定の上位ビットで示される複数の語の集合毎に、キャッシュメモリ１５-cに対する書き込み、およびその書き込みの要否の判別が行われてもよい。
【００６５】
また、上述した各実施形態では、共有メモリ５２の記憶領域毎に実際にアクセスされた頻度は、時系列の順に大きく設定された重みに基づく指数平滑法に基づいて求められている。
しかし、このような頻度は、例えば、上記の指数平滑法に代えて移動平均法が適用されることによって、所定の周期や頻度毎に初期化されるカウンタの計数値として求められてもよい。
【００６６】
さらに、本発明は、上述した実施形態に限定されるものではなく、本発明の範囲において多様な実施形態が可能であり、構成装置の一部もしくは全てに如何なる改良が施されてもよい。
以下、上述した各実施形態として開示された発明を階層的・多面的に整理し、付記として列記する。
（付記１）  共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、
前記インタフェース手段および前記共通バスを介して前記共有メモリの記憶領域毎に、アクセスされた頻度を監視する監視手段と、
前記共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記頻度が高い記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とする情報処理装置。
（付記２）  共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、
前記インタフェース手段および前記共通バスを介して前記共有メモリの記憶領域毎に、アクセスされた頻度を監視する監視手段と、
前記共有メモリの記憶領域毎に、アクセスされ得る頻度の昇順に大きく重み付けられた重みが格納された重み記憶手段と、
前記共有メモリのアクセスに供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記重み記憶手段に格納された重みと、前記監視手段によって監視された頻度との積が大きい記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とする情報処理装置。
（付記３）  付記１または付記２の何れか１項に記載の情報処理装置において、
前記監視手段は、
前記共有メモリの記憶領域の内、前記情報処理装置によってアクセスされ得る記憶領域に限って、前記アクセスされた頻度を監視する
ことを特徴とする情報処理装置。
（付記４）  付記１ないし付記３の何れか１項に記載の情報処理装置において、
前記制御手段は、
前記インタフェース手段を介して前記共有バスに対するアクセスが行われていない期間に限って、前記キャッシュ記憶に対する書き込みを行う
ことを特徴とする情報処理装置。
（付記５）  共有メモリおよび複数の情報処理装置に接続された共通バスとのインタフェースをとるインタフェース手段と、
前記共有メモリの記憶領域の内、前記インタフェース手段および前記共通バスを介してアクセスされている記憶領域を監視し、その記憶領域に後続してアクセスされ得る記憶領域を予測する予測手段を備え、
前記予測された記憶領域に格納された最新の内容を前記キャッシュ記憶に優先的に蓄積する制御手段と
を備えたことを特徴とする情報処理装置。
（付記６）  付記１ないし付記５の何れか１項に記載の情報処理装置において、
前記制御手段は、
前記共通メモリの記憶領域の内、既定の記憶領域に格納された最新の内容に限って前記キャッシュ記憶に蓄積する
ことを特徴とする情報処理装置。
（付記７）  複数の情報処理装置によって共有メモリのアクセスに供される共通バスのバス調停を行うバス調停手段と、
前記共有メモリの記憶領域毎に、前記複数の情報処理によって個別にアクセスされた頻度を監視する監視手段と、
前記共有メモリのアクセスに前記複数の情報処理装置によって個別に供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記頻度が高い記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とするバス制御装置。
（付記８）  複数の情報処理装置によって共有メモリのアクセスに供される共通バスのバス調停を行うバス調停手段と、
前記共有メモリの記憶領域毎に、前記複数の情報処理によって個別にアクセスされた頻度を監視する監視手段と、
前記共有メモリの記憶領域毎に、前記複数の情報処理装置によって個別にアクセスされ得る頻度の昇順に大きく重み付けられた重みが格納された重み記憶手段と、
前記共有メモリのアクセスに前記複数の情報処理装置によって個別に供されるキャッシュ記憶に、その共有メモリの記憶領域の内、前記重み記憶手段に格納された重みと、前記監視手段によって監視された頻度との積が大きい記憶領域に格納された内容を優先的に保持する制御手段と
を備えたことを特徴とするバス制御装置。
（付記９）  付記７または付記８に記載のバス制御装置において、
前記監視手段は、
前記複数の情報処理装置毎に、前記共有メモリの記憶領域の内、アクセスし得る記憶領域に限って、実際にアクセスされた頻度を監視する
ことを特徴とするバス制御装置。
（付記１０）  付記７ないし付記９の何れか１項に記載のバス制御装置において、
前記制御手段は、
前記複数の情報処理装置の内、前記共有バスに対するアクセスを行っていない情報処理に対応するキャッシュ記憶に限って書き込みを行う
ことを特徴とするバス制御装置。
【図面の簡単な説明】
【００６７】
【図１】本発明の第一ないし第五の実施形態を示す図である。
【図２】バスインタフェース部の構成および動作を説明する図である。
【図３】本発明の第一の実施形態におけるキャッシュメモリの内容の変化を示す図である。
【図４】重みテーブルの構成を示す図である。
【図５】本発明の第三の実施形態の動作フローチャートである。
【図６】本発明の第三の実施形態におけるキャッシュメモリの内容の変化を示す図である。
【図７】ウインドウアドレステーブルの構成を示す図である。
【図８】冗長に構成されたマルチプロセッサの構成例を示す図（１）である。
【図９】冗長に構成されたマルチプロセッサの構成例を示す図（２）である。
【図１０】冗長に構成されたマルチプロセッサの構成例を示す図（３）である。
【符号の説明】
【００６８】
１０  制御ブロック
１１  内部バス
１２，５１  プロセッサ
１３  ローカルメモリ
１４  バスインタフェース部
１４Ｃ  カウンタ
１５  キャッシュメモリ
１６  統計記録部
２１、２１Ａ  重みテーブル
２２  予測アドレステーブル
２３  ウインドウアドレステーブル
５２  共有メモリ
５３  バス調停部
５４  共通バス
５５  リンク
【図１】
2005141575.tif 000003
【図２】
2005141575.tif 000004
【図３】
2005141575.tif 000005
【図４】
2005141575.tif 000006
【図５】
2005141575.tif 000007
【図６】
2005141575.tif 000008
【図７】
2005141575.tif 000009
【図８】
2005141575.tif 000010
【図９】
2005141575.tif 000011
【図１０】
2005141575.tif 000012