(57)【要約】  データ制御装置（３０）は、中央処理部（１０）と主記憶部との間に位置し、データ記憶部（３５）を備えて構成される。具体的には、中央処理部（１０）から主記憶部へ出力されるデータおよび中央処理部（１０）から他の中央処理部へ出力されるデータをともに記憶し、記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報をデータに付加し、情報が付加されたデータを、最も古く記憶された順に出力することで、例えば、中央処理部（１０）から出力されたデータを一つのデータ記憶部（メモリ）で記憶し、記憶されたデータが出力可能状態になると、記憶された順に出力先へ出力することができる結果、システム性能向上のために中央処理部（１０）と同等の速度を持つ高コストの記憶部（メモリ）などを複数用意する必要がなく、一つのメモリでデータ制御を行うことができ、システム構築のコスト削減が可能である。
2007097018.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御するデータ制御装置であって、
前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、
前記データ記憶手段に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加手段と、
前記情報付加手段により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力手段と、
を備えたことを特徴とするデータ制御装置。
【請求項２】
データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御することに適するデータ制御方法であって、
前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、
前記データ記憶手段に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加工程と、
前記情報付加工程により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力工程と、
を含んだことを特徴とするデータ制御方法。
【請求項３】
データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御することをコンピュータに実行させるデータ制御プログラムであって、
前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、
前記データ記憶手順に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加手順と、
前記情報付加手順により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力手順と、
をコンピュータに実行させることを特徴とするデータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを処理する中央処理部およびデータを記憶する主記憶部にそれぞれ接続され、データの出力を制御するデータ制御装置、データ制御方法およびデータ制御プログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータシステムにおいて、中央処理部（ＣＰＵ）のキャッシュメモリにあるデータを出力する場合、ＣＰＵがデータ出力依頼を受け付けた後、即時出力するデータと、出力先へ問合せをして許可を得てから出力するデータとがあり、これらのデータを一時的に記憶するデータキュー（記憶部）をそれぞれ用意する必要があった。（例えば、特許文献１など）【０００３】
図１１を用いて、具体的に説明すると、図１１に示したコンピュータシステムは、ＣＰＵ１１０、ＣＰＵ１１１と、データ制御装置１２０、データ制御装置１２１と、主記憶部１３０、主記憶部１３１とから構成される。そして、これらはそれぞれクラスタ構成になっており、クラスタ間のデータ転送はデータ制御装置１２０またはデータ制御装置１２１を用いて行われる。また、データ制御装置１２０は、データを一時的に記憶する複数のデータキュー（ＭＩＱ１２０ａ、ＭＳＱ１２０ｂ、ＭＯＱ１２０ｃ、ＭＢＱ１２０ｄ）と、ＭＯＱ１２０ａまたはＭＳＱ１２０ｂから主記憶に出力されるデータの調停を行うセレクタ１２０ｅとから構成される。データ制御装置１２１も、データ制御装置１２０と同様に、ＭＩＱ１２１ａ、ＭＳＱ１２１ｂ、ＭＯＱ１２１ｃ、ＭＢＱ１２１ｄ、セレクタ１２１ｅとを備えて構成される。【０００４】
また、ＣＰＵ１１０またはＣＰＵ１１１が自身のキャッシュメモリ上のデータを他装置などに出力する場合、データキュー（例えば、ＭＩＱ１２０ａなど）は、データの順序性を守るために同一宛先へのデータを、ＣＰＵから出力された順序で出力先に出力する必要があるので、データキューは、受信したデータをＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）で制御する。【０００５】
このような構成のもと、ＣＰＵ１１０のキャッシュメモリのデータをＣＰＵ１１１に出力する場合には、ＣＰＵ１１１からの要求であることから、ＣＰＵ１１１は既にデータを受け入れ可能状態であるので、ＣＰＵ１１０は、データキューにすぐにデータを出力する。【０００６】
具体的には、ＣＰＵ１１０のキャッシュメモリのデータをＣＰＵ１１１に出力する場合、ＣＰＵ１１０は、データ制御装置１２０のＭＢＱ１２０ｄに要求されたデータを出力する。そして、データを受信したＭＢＱ１２０ｄは、通信路が空いていることを確認後、出力先であるＣＰＵ１１１に当該データを出力する。【０００７】
一方、ＣＰＵ１１０のキャッシュメモリのデータを主記憶部１３１に出力する場合には、ＣＰＵ１１０は、データキューにデータを出力し、データを受信したデータキューは、出力先が受け入れ可能状態であるか否かわからないので、データを受信したデータキューは、出力先である主記憶部１３１が受け入れ可能状態であるか否かを問合せて、許可を取った上で、受信し記憶しているデータを出力する。【０００８】
具体的には、ＣＰＵ１１０のキャッシュメモリのデータを主記憶部１３１に出力する場合、ＣＰＵ１１０は、データ制御装置１２０のＭＯＱ１２０ｃにデータを出力する。そして、ＭＯＱ１２０ｃは、データ制御装置１２１のＭＳＱ１２１ｂに主記憶１３１が受け付け可能状態か否かを問合せ、許可を得てから、受信したデータをＭＳＱ１２１ｂに出力する。その後、ＭＳＱ１２１ｂは、受信し記憶したデータをデータ制御装置１２１のセレクタ１２１ｅに出力し、セレクタ１２１ｅは、受信したデータを調停してから主記憶部１３１に出力する。【０００９】
【特許文献１】特開平０８−０６３９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上記した従来の技術は、システム性能向上のために、ＣＰＵと同等の処理速度を持つメモリ（ＭＯＱまたはＭＢＱ）が複数必要であり、システム構築時のコストが高くなるという問題点があった。すなわち、ＣＰＵから主記憶部へデータを出力するためのメモリ（ＭＯＱ）と、他ＣＰＵなどへデータを出力するためのメモリ（ＭＢＱ）とが必要であり、ＣＰＵと同等の処理速度を有する両メモリを用意するのは、高コストであった。【００１１】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、システム構築のコスト削減が可能であるデータ制御装置、データ制御方法およびデータ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御するデータ制御装置であって、前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、前記データ記憶手段に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加手段と、
前記情報付加手段により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力手段と、を備えたことを特徴とする。【００１３】
また、請求項２に係る発明は、上記の発明において、データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御することに適するデータ制御方法であって、前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、前記データ記憶手段に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加工程と、前記情報付加工程により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力工程と、を含んだことを特徴とする。【００１４】
また、請求項３に係る発明は、上記の発明において、データを処理する中央処理部および前記データを記憶する主記憶部にそれぞれ接続され、前記データの出力を制御することをコンピュータに実行させるデータ制御プログラムであって、前記中央処理部から前記主記憶部へ出力されるデータおよび前記中央処理部から他の中央処理部へ出力されるデータをともに記憶するデータ記憶手段と、前記データ記憶手順に記憶された前記データが出力可能状態になった場合に、出力可能状態になった旨を示す情報を前記データに付加する情報付加手順と、前記情報付加手順により前記情報が付加されたデータを、前記データ記憶手段に最も古く記憶された順に出力するデータ出力手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
請求項１、２または３の発明によれば、中央処理部から主記憶部へ出力されるデータおよび中央処理部から他の中央処理部へ出力されるデータをともに記憶し、記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報をデータに付加し、情報が付加されたデータを、最も古く記憶された順に出力するので、例えば、中央処理部（ＣＰＵ）から入力されたデータを出力先を問わず一つのデータ記憶部（メモリ）で記憶し、記憶されたデータが出力可能状態になると、記憶された順に出力先へ出力することができる結果、システム性能向上のために中央処理部と同等の速度を持つ高コストの記憶部（メモリ）などを出力先ごとに複数用意する必要がなく、一つのメモリでデータ制御を行うことができ、システム構築のコスト削減が可能である。
【図面の簡単な説明】
【００１６】
【図１】図１は実施例１に係るデータ制御装置の全体構成を示すシステム構成図である。
【図２】図２は、データ制御装置３０を含むシステムの全体構成を示すブロック図である。
【図３】図３は、実施例１に係るデータ制御装置３０の原理説明図である。
【図４】図４は、実施例１に係るデータ制御装置３０の原理を詳細に説明するための図である。
【図５】図５は、実施例１に係るデータ制御装置３０の原理を詳細に説明するための図である。
【図６】図６は、実施例１に係るデータ制御装置３０の原理を詳細に説明するための図である。
【図７】図７は、実施例１に係るデータ制御装置３０の詳細をまとめた図である。
【図８】図８は、実施例１に係るデータ制御装置３０のタイムチャート（問合せが必要な場合）である。
【図９】図９は、実施例１に係るデータ制御装置３０のタイムチャート（問合せが必要な場合と必要でない場合）である。
【図１０】図１０は、データ制御プログラムを実行するコンピュータシステムの例を示す図である。
【図１１】図１１は、従来技術を説明するための図である。
【符号の説明】
【００１７】
１０  中央処理部（ＣＰＵ）
２０  中央処理部（ＣＰＵ）
３０  データ制御装置
３０ａ  データＡ
３０ｂ  データＢ
３１  ＭＩＱ
３２  ＭＳＱ
３３  ＭＯＭＢＱ
３３ａ  データ記憶部
３３ｂ  情報付加部
３３ｃ  データ出力部
３５  データ記憶部
４０  データ制御装置
４１  ＭＩＱ
４２  ＭＳＱ
４３  ＭＯＭＢＱ
４３ａ  データ記憶部
４３ｂ  情報付加部
４３ｃ  データ出力部
５０  主記憶部
６０  主記憶部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  データ記憶テーブル
１０３  ＲＯＭ
１０３ａ  情報付加プログラム
１０３ｂ  データ出力プログラム
１０４  ＣＰＵ
１０４ａ  情報付加プロセス
１０４ｂ  データ出力プロセス
１０５  主記憶
１１０  ＣＰＵ
１１１  ＣＰＵ
１２０  制御装置
１２０ａ  ＭＩＱ
１２０ｂ  ＭＳＱ
１２０ｃ  ＭＯＱ
１２０ｄ  ＭＢＱ
１２０ｅ  セレクタ
１２１  制御装置
１２１ａ  ＭＩＱ
１２１ｂ  ＭＳＱ
１２１ｃ  ＭＯＱ
１２１ｄ  ＭＢＱ
１２１ｅ  セレクタ
１３０  主記憶部
１３１  主記憶部
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明に係るデータ制御装置の実施例を詳細に説明する。
【実施例１】
【００１９】
以下の実施例１では、本発明に係るデータ制御装置の概要および特徴、データ制御装置の構成、データ制御装置の原理説明、タイムチャートの説明および実施例１による効果等を順に説明する。【００２０】
［データ制御装置の概要および特徴］
まず最初に、図１と図２を用いて、実施例１に係るデータ制御装置の概要および特徴を説明する。図１は、実施例１に係るデータ制御装置の全体構成を示すシステム構成図である。同図に示すように、実施例１に係るデータ制御装置３０は、中央処理部（ＣＰＵ）１０と主記憶部５０との間に位置し、データ記憶部３５を備えて構成される。なお、図１の（Ａ）および（Ｂ）は、データが記憶され、出力されるまでのデータ制御装置の状態遷移を表している。【００２１】
このような構成のもと、データ制御装置３０は、中央処理部（ＣＰＵ）１０から出力されたデータを一時的に記憶し、例えば、主記憶部５０や他装置の中央処理部などの出力先へ出力することを概要とするものであり、システム構築のコスト削減が可能である点に主たる特徴がある。【００２２】
この主たる特徴を具体的に説明すると、データ制御装置３０のデータ記憶部３５は、中央処理部１０から他の中央処理部へ出力されるデータである「データＡ」および中央処理部１０から主記憶部６０へ出力されるデータである「データＢ」が入力されると、入力された順に「データＡ」と「データＢ」をともに記憶する（図１の（Ａ）の（１））。【００２３】
そして、データ制御装置３０は、データ記憶部３５に記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報（以下、ＦＬＡＧ）をデータに付加する。具体的には、データ制御部３０は、中央処理部１０から他の中央処理部へ出力されるデータは即時出力が可能であるので、「データＡ」にはＦＬＡＧ＝１を付加する。【００２４】
一方、データ制御部３０は、中央処理部１０から主記憶部６０へ出力されるデータは出力先に問合せが必要であるので、「データＢ」にはＦＬＡＧ＝０を付加し、続いて、「データＢ」の出力先であるＭＳＱ４２に受け入れ可能か否かの問合せを行い、出力先であるＭＳＱ４２より出力許可を受信すると、データ記憶部３５に記憶された「データＢ」にＦＬＡＧ＝１を付加する（図１の（Ａ）の（２）〜図１の（Ｂ）の（１））。【００２５】
そして、データ制御装置３０は、ＦＬＡＧ＝１が付加されたデータを、データ記憶部３５に最も古く記憶された順に出力する。具体的には、「データＡ」については、即時出力可能なデータであることから、データ記憶部３５に記憶されると、ＦＬＡＧ＝１が付加され、その際、データ記憶部３５に記憶されるデータのうちＦＬＡＧ＝１が付加された最も古いデータであるので、すぐに、出力先である他の中央処理部へ出力される（図１の（Ｂ）の（２））。【００２６】
一方、「データＢ」については、データ記憶部３５に記憶されると、即時出力可能なデータでないことから、出力先であるＭＳＱ４２に出力可能か否かの問合せを行い、許可応答を受信すると、ＦＬＡＧ＝１が付加され、その後、データ記憶部３５に記憶されるデータのうちＦＬＡＧ＝１が付加された最も古いデータであるので、出力先であるＭＳＱ４２に出力される（図１の（Ｂ）の（３））。【００２７】
このように、実施例１に係るデータ制御装置３０は、中央処理部（ＣＰＵ）から出力されたデータを一つのデータ記憶部（メモリ）で記憶し、記憶されたデータが出力可能状態になると、記憶された順に出力先へ出力することができる結果、システム性能向上のために中央処理部と同等の速度を持つ高コストの記憶部（メモリ）などを複数用意する必要がなく、一つのメモリでデータ制御を行うことができ、システム構築のコスト削減が可能である。【００２８】
［データ制御装置を含むシステムの全体構成］
次に、図２を用いて、図１に示したデータ制御装置３０を含むシステムの全体構成を説明する。図２は、データ制御装置３０を含むシステムの全体構成を示すブロック図である。同図に示すように、このシステムは、中央処理部１０、中央処理部２０と、データ制御装置３０、データ制御装置４０と、主記憶部５０、主記憶部６０とから構成され、それぞれがクラスタ構成となっており、それぞれ同じ機能を有するので、ここでは、中央処理部１０と、データ制御装置３０と、主記憶部５０について説明する。【００２９】
このうち、中央処理部１０は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、具体的には、他の中央処理部に対してデータ転送要求を出力したり、主記憶部５０、主記憶部６０に記憶されているプログラムを実行したりする。【００３０】
データ制御装置３０は、データの出力を制御する手段であり、特に本発明に密接に関連するものとしては、ＭＩＱ３１と、ＭＳＱ３２と、ＭＯＭＢＱ３３と、セレクタ３４とを備える。なお、データ制御装置４０のＭＩＱ４１と、ＭＳＱ４２と、ＭＯＭＢＱ４３と、セレクタ４４は、ここで説明するＭＩＱ３１と、ＭＳＱ３２と、ＭＯＭＢＱ３３と、セレクタ３４と同様の機能を有するので、その詳細な説明は省略する。【００３１】
このうち、ＭＩＱ３１は、主記憶部および他クラスタのＭＯＭＢＱからのデータを一時的に記憶する手段である。具体的には、主記憶部５０およびＭＯＭＢＱ４３からのデータを一時的に記憶する。例えば、中央処理部１０は、このＭＩＱ３１に空きがあることを確認してから、他ＣＰＵや主記憶部５０などに対してデータ要求を行う。【００３２】
ＭＳＱ３２は、他クラスタから主記憶へのデータを一時的に記憶する手段である。具体的に例を挙げれば、中央処理部２０からデータ制御装置４０を介して、主記憶部５０に出力されるデータを一時的に記憶する。【００３３】
ＭＯＭＢＱ３３は、中央処理部から主記憶部に出力するデータおよび中央処理部から他の中央処理部へ出力するデータを一時的に記憶し、記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報をデータに付加し、情報が付加されたデータを、最も古く記憶された順に出力する手段であり、特に本発明に密接に関連するものとしては、データ記憶部３３ａと、情報付加部３３ｂと、データ出力部３３ｃとを備える。なお、データ記憶部３３ａは、特許請求の範囲に記載の「データ記憶手段」に対応し、情報付加部３３ｂは、同様に「情報付加手段」、データ出力部３３ｃは、同様に「データ出力手段」に対応する。【００３４】
このうち、データ記憶部３３ａは、中央処理部から主記憶部へ出力されるデータおよび中央処理部から他の中央処理部へ出力されるデータをともに記憶する手段である。具体的に例を挙げれば、中央処理部１０から主記憶部５０、主記憶部６０に出力するデータおよび中央処理部１０から他の中央処理部へ出力するデータをともに、出力された順に記憶する。【００３５】
また、情報付加部３３ｂは、データ記憶部４３ａに記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報をデータに付加する手段である。具体的に例を挙げれば、中央処理部１０から他の中央処理部へ出力されるデータに対して、データ記憶部４３ａに記憶された際に、出力可能状態になった旨を示す情報（例えば、ＦＬＡＧ＝１）を当該データに付加する。また、中央処理部１０から主記憶部５０または主記憶部６０へ出力されるデータに対しては、出力先である主記憶部５０または主記憶部６０が受け入れ可能状態か否かを問い合わせ、許可を取った後、出力可能状態になった旨を示す情報（例えば、ＦＬＡＧ＝１）を当該データに付加する。【００３６】
そして、データ出力部３３ｃは、情報付加部３３ｂにより情報が付加された最も古いデータから順に出力する手段である。具体的に例を挙げれば、中央処理部１０から主記憶部５０、主記憶部６０に送信するデータおよび中央処理部１０から他の中央処理部へ送信するデータのうち、出力可能状態になった旨を示す情報（例えば、ＦＬＡＧ＝１）が付加された最も古いデータから順に、出力先へ出力する。【００３７】
セレクタ３４は、ＭＯＭＢＱまたはＭＳＱから出力されたデータの主記憶への格納を調停する手段であり、具体的に例を挙げれば、ＭＯＭＢＱ３３またはＭＳＱ３２から出力されたデータの主記憶５０への格納を調停する。【００３８】
主記憶部５０は、中央処理部１０により各種処理に必要なデータおよびプログラムを格納する格納手段（記憶手段）であり、具体的に例を挙げれば、中央処理部１０または中央処理部２０により実行されるプログラムや、中央処理部１０または中央処理部２０によりキャッシュメモリのデータが出力されると、それを記憶する。【００３９】
［データ制御装置の原理説明］
次に、図４〜８を用いて、データ制御装置３０の原理について説明する。図４は、実施例１に係るデータ制御装置３０（ＭＯＭＢＱ）の原理説明図であり、図５は、実施例１に係るデータ制御装置３０（ＷＰとＲＰ）の原理を詳細に説明するための図であり、図６は、実施例１に係るデータ制御装置３０（ＲＥＱＶＬＤとＦＬＡＧとＡＳＫ）の原理を詳細に説明するための図であり、図７は、実施例１に係るデータ制御装置３０（ＲＰＸ＿ＶとＲＰＸ）の原理を詳細に説明するための図であり、図８は、実施例１に係るデータ制御装置３０（ＭＳＱＲＳＶ＿ＶとＭＳＱＲＳＶ＿ＩＤＸ）の原理を詳細に説明するための図である。なお、データ制御装置３０の原理とデータ制御装置４０の原理とは同様であるので、ここでは、データ制御装置３０の原理について説明する。【００４０】
まず、図４に示すように、ＣＰＵから出力データがある場合、ＣＰＵ＿Ｖ＝１としてＣＰＵ＿ＤＡＴＡで送信される。そして、ＣＰＵ＿Ｖ＝１である場合、ＣＰＵ＿ＤＡＴＡはＲＡＭ＜ＷＰ＞に書込まれるが、即時出力が可能であれば、ＦＬＡＧ＜ＷＰ＞＝１とし、問合せが必要であれば、ＦＬＡＧ＜ＷＰ＞＝０とする。【００４１】
続いて、未問合せで、ＦＬＡＧ＝０であるデータがあれば、データ制御装置３０は、そのうち最も古いデータを探し、ＭＳＱＲＳＶ＿Ｖ＝１としてＲＡＭのアドレスを示すＭＳＱＲＳＶ＿ＩＤＸと共に出力先へ問い合わせる。【００４２】
そして、問合わせに対する許可としてＭＳＱＡＣＫ＿Ｖ＝１でＭＳＱＡＣＫ＿ＩＤＸが送信されてきた場合、データ制御装置３０は、ＦＬＡＧ＜ＭＳＱＡＣＫ＞＝１となり、具体的には、ＦＬＡＧ＝１である最も古いＣＰＵ＿ＤＡＴＡをＭＯＭＢＱ＿ＤＡＴＡとして、ＭＯＭＢＱからの出力があることを示す。【００４３】
次に、図５を用いて、ＷＰ（Ｗｒｉｔｅ  Ｐｏｉｎｔｅｒ）とＲＰ（Ｒｅａｄ  Ｐｏｉｎｔｅｒ）について説明する。同図に示すように、ＷＰは、ｎビットのレジスタであり、ＣＰＵ＿Ｖ＝１では、値を１つ増やされ、それ以外では値を保持する。具体的には、ＷＰは、ＲＡＭの書込みアドレスに使用される。【００４４】
ＲＰは、ｎビットのレジスタでＲＰの値とＷＰの値と等しくなく、かつ、ＦＬＡＧ＜ＲＰ＞＝１である場合に、値を１つ増やされ、それ以外では、値を保持する。具体的には、ＲＰは、ＲＡＭに保持された最も古いＣＰＵ＿ＤＡＴＡのアドレスである。【００４５】
次に、図６を用いて、ＲＥＱＶＬＤとＦＬＡＧとＡＳＫについて説明する。このうち、ＲＥＱＶＬＤは、２のｎ乗ビットのレジスタであり、ＣＰＵ＿Ｖ＝１ではＲＥＱＶＬＤ＜ＷＰ＞＝１にされ、ＲＰＸ＿Ｖ＝１では、ＲＥＱＶＬＤ＜ＲＰＸ＞＝０となる。【００４６】
また、ＦＬＡＧは、２のｎ乗ビットのレジスタであり、ＣＰＵ＿Ｖ＝１でＣＰＵ＿ＤＡＴＡが即時出力可能であれば１、問い合わせが必要であれば０となり、ＭＳＱＡＣＫ＿Ｖ＝１ではＦＬＡＧ＜ＭＳＱＡＣＫ＿ＩＤＸ＞＝１となり、具体的には、ＦＬＡＧは、ＲＡＭに保持されているＣＰＵ＿ＤＡＴＡが出力可能であることを示す。【００４７】
ＡＳＫは、２のｎ乗ビットのレジスタであり、ＭＳＱＲＳＶ＿Ｖ＝１ではＡＳＫ＜ＭＳＱＲＳＶ＿ＩＤＸ＞＝１となり、ＣＰＵ＿Ｖ＝１ではＡＳＫ＜ＷＰ＞＝０となり、具体的には、ＲＡＭに保持されているＣＰＵ＿ＤＡＴＡが問い合わせ済みであることを示す。【００４８】
次に、図７を用いて、ＲＰＸ＿ＶとＲＰＸについて説明する。このうち、ＲＰＸ＿Ｖは、１ビットの信号でありＲＡＭ内にＲＥＱＶＬＤ＝１かつＦＬＡＧ＝１であるＣＰＵ＿ＤＡＴＡが存在する場合に１となり、具体的には、ＭＯＭＢＱから出力されるデータが存在することを示す。【００４９】
また、ＲＰＸは、ｎビットの信号であり、ｍ＝ＲＰ，ＲＰ＋１，・・・，２のｎ乗―１，０，・・・，ＲＰ−１に対して最初にＲＥＱＶＬＤ＝１かつＦＬＡＧ＝１となるｍを示しており、具体的には、ＲＡＭ内の出力可能なＣＰＵ＿ＤＡＴＡのうち、最も古いＣＰＵ＿ＤＡＴＡのアドレスを示す。【００５０】
次に、図８を用いて、ＭＳＱＲＳＶ＿ＶとＭＳＱＲＳＶ＿ＩＤＸとについて説明する。このうち、ＭＳＱＲＳＶ＿Ｖは、１ビットの信号であり、ＲＡＭ内にＲＥＱＶＬＤ＝１かつＦＬＡＧ＝０かつＡＳＫ＝０であるＣＰＵ＿ＤＡＴＡが存在する場合に、１となり、具体的には、ＭＳＱＲＳＶが、問い合わせを行っている状態を示す。【００５１】
また、ＭＳＱＲＳＶ＿ＩＤＸは、ｎビットの信号であり、ｍ＝ＲＰ，ＲＰ＋１，・・・，２のｎ乗―１，０，・・・，ＲＰ−１に対して最初にＲＥＱＶＬＤ＝１かつＦＬＡＧ＝０かつＡＳＫ＝０となるｍを示しており、具体的には、ＭＳＱＲＳＶ＿ＩＤＸは、問い合わせがＲＡＭのどのアドレスのＣＰＵ＿ＤＡＴＡから行われたものであるかを示す。【００５２】
［タイムチャート（問合せが必要な場合）］
次に、図８〜９を用いて、実施例１に係るデータ制御装置３０のタイムチャートについて説明する。図８は、実施例１に係るデータ制御装置３０のタイムチャート（問合せが必要な場合）であり、図９は、実施例１に係るデータ制御装置３０のタイムチャート（問合せが必要な場合と必要でない場合）である。なお、データ制御装置３０の原理とデータ制御装置４０の原理とは同様であるので、ここでは、データ制御装置３０の原理について説明する。【００５３】
図８に示したように、時刻Ｔ０の時点では、ＣＰＵ＿ＤＡＴＡ＿ＩＭＭＥＤＩＡＴＥ＝０であり、即時出力できるデータではないことを示している。また、ＷＰ＝Ａより、ＲＡＭの書き込みアドレスがＡであることを示す。【００５４】
その後、時刻Ｔ１の時点で、ＭＳＱＲＳＶ＿ＩＤＸ＝Ａ、ＦＬＡＧ＜Ａ＞＝０となり、問合せが必要なデータが存在することを示している。続いて、時刻Ｔ２の時点で、ＡＳＫ＜Ａ＞＝Ａとなり、アドレスＡについて、問合せが行われたことを示す。その後、Ｔ３、Ｔ４では、問合せの結果待ち状態である。【００５５】
そして、時刻Ｔ５の時点で、ＲＡＭのアドレスＡについて、出力許可が得られる、つまり、ＭＳＱＡＣＫ＿ＩＤＸ＝Ａとなると、時刻Ｔ６の時点で、ＦＬＡＧ＜Ａ＞＝１となり、ＲＡＭのアドレスＡに書き込まれたデータが出力可能状態となる。続いて、ＲＰＸ＝Ａとなり、つまり、ＲＥＱＶＬＤ＝１かつＦＬＡＧ＝１である出力可能なＣＰＵ＿ＤＡＴＡのうち、最も古いＣＰＵ＿ＤＡＴＡのアドレスがＡとなる【００５６】
その後、時刻Ｔ７の時点で、ＲＰ＝Ａ＋１となり、ＲＡＭに保持されたデータのうち最も古いＣＰＵ＿ＤＡＴＡのアドレスがＡであることから、ＭＯＭＢＱからＣＰＵ＿ＤＡＴＡのアドレスＡのデータが出力される。【００５７】
［タイムチャート（問合せが必要な場合と必要でない場合）］
図９に示したように、時刻Ｔ０の時点で、ＣＰＵ＿ＤＡＴＡ＿ＩＭＭＥＤＩＡＴＥ＝０であり、即時出力できるデータではないことを示している。また、ＷＰ＝Ａより、ＲＡＭの書き込みアドレスがＡであることを示し、そして、時刻Ｔ１の時点で、ＭＳＱＲＳＶ＿ＩＤＸ＝Ａ、ＦＬＡＧ＜Ａ＞＝０となり、ＲＡＭのアドレスＡについて出力先へ問い合わせが必要であること示し、Ｔ２の時点から、問合せが行われている。【００５８】
その後、時刻Ｔ５の時点で、ＲＡＭのアドレスＡについて、出力許可が得られる、つまり、ＭＳＱＡＣＫ＿ＩＤＸ＝Ａとなる。そして、時刻Ｔ６の時点で、ＦＬＡＧ＜Ａ＞＝１となり、ＲＡＭのアドレスＡに書き込まれたデータが出力可能状態となる。【００５９】
一方、時刻Ｔ３の時点で、ＣＰＵ＿ＤＡＴＡ＿ＩＭＭＥＤＩＡＴＥ＝１となり、即時出力できるデータが存在することが示される。続いて、そのデータはＲＡＭのアドレスＡ＋１に格納され、即時出力可能であることより、時刻Ｔ４の時点で、ＦＬＡＧ＜Ａ＋１＞＝１となる。【００６０】
ここで、ＦＬＡＧ＜Ａ＋１＞＝１となるのは時刻Ｔ４、ＦＬＡＧ＜Ａ＞＝１となるのは時刻Ｔ６であることより、ＲＰＸ＝Ａ＋１、つまり、ＣＰＵ＿ＤＡＴＡのうち、ＦＬＡＧ＝１であるデータで最も古いデータのアドレスが、Ｔ４ではＡ＋１、Ｔ６ではＡとなる。したがって、時刻Ｔ５の時点で、アドレスＡ＋１のデータが出力され、その後、時刻Ｔ７の時点で、アドレスＡのデータが出力される。【００６１】
［実施例１による効果］
このように、実施例１によれば、中央処理部から主記憶部へ出力されるデータおよび中央処理部から他の中央処理部へ出力されるデータをともに記憶し、記憶されたデータが出力可能状態になった場合に、出力可能状態になった旨を示す情報をデータに付加し、情報が付加されたデータを、最も古く記憶された順に出力するので、例えば、中央処理部（ＣＰＵ）から入力されたデータの出力先を問わず一つのデータ記憶部（メモリ）で記憶し、記憶されたデータが出力可能状態になると、記憶された順に出力先へ出力することができる結果、システム性能向上のために中央処理部と同等の速度を持つ高コストの記憶部（メモリ）などを出力先ごとに複数用意する必要がなく、一つのメモリでデータ制御を行うことができ、システム構築のコスト削減が可能である。
【実施例２】
【００６２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として、本発明に含まれる他の実施例について説明する。【００６３】
例えば、上記した実施例１では、各構成要素がクラスタ構成になっている場合を説明したが、本発明はこれに限定されるものではなく、異なる機能を有する他のコンピュータシステムに対して、データを出力する場合に適用してもよい。【００６４】
また、本実施例において説明したデータ制御装置による処理（図３参照）のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、ＦＬＡＧやＣＰＵ＿ＤＡＴＡなど）については、特記する場合を除いて任意に変更することができる。【００６５】
また、図２に図示しデータ制御装置の各構成要素や、図３〜７に図示したデータ制御装置の原理説明は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合、例えば、データ付加部３３ｂとデータ出力部３３ｃを統合・分散するなど、具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、データ制御装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００６６】
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。【００６７】
［データ制御プログラムを実行するコンピュータシステム］
図１０は、データ制御プログラムを実行するコンピュータシステム１００を示す図である。同図に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４と、主記憶１０５とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラム、つまり、図１０に示すように、情報付加プログラム１０３ａと、データ出力プログラム１０３ｂがあらかじめ記憶されている。【００６８】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ、１０３ｂを読み出して実行することで、図１０に示すように、情報付加プロセス１０４ａと、データ出力プロセス１０４ｂとなる。なお、各プロセス１０４ａ、１０４ｂは、図２に示した、情報付加部３３ｂと、データ出力部３３ｃにそれぞれ対応する。【００６９】
また、ＨＤＤ１０２には、ＣＰＵ１０４から主記憶１０５や他装置のＣＰＵに送信されるデータを一時的に記憶するデータ記憶テーブル１０２ａが設けられる。そして、ＣＰＵ１０４は、データ記憶テーブル１０２ａに格納される情報をＲＡＭ１０１に呼び出して、各種処理を実行する。なお、データ記憶テーブル１０２ａは、図２に示した、データ記憶部１０２ａに対応する。【００７０】
ところで、上記したプログラム１０３ａ、１０３ｂは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【００７１】
以上のように、本発明に係るデータ制御装置、データ制御方法およびデータ制御プログラムは、データを処理する中央処理部およびデータを記憶する主記憶部に、それぞれ接続され、データを制御するのに有用であり、特に、システム構築のコスト削減が可能することに適する。
【図１】
2007097018.tif 000003
【図２】
2007097018.tif 000004
【図３】
2007097018.tif 000005
【図４】
2007097018.tif 000006
【図５】
2007097018.tif 000007
【図６】
2007097018.tif 000008
【図７】
2007097018.tif 000009
【図８】
2007097018.tif 000010
【図９】
2007097018.tif 000011
【図１０】
2007097018.tif 000012
【図１１】
2007097018.tif 000013
【国際調査報告】
2007097018.tif 000014
2007097018.tif 000015
2007097018.tif 000016