(57)【要約】  複数の外部処理装置との間でデータを共有して処理する処理装置であって、プロセッサと、１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータである場合にのみ当該データを前記共有データ記憶手段に記憶させる。
2009116279.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部処理装置との間でデータを共有して処理する処理装置であって、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とする処理装置。
【請求項２】
前記処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、
前記入力手段は、
外部処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを記憶させる
ことを特徴とする請求項１記載の処理装置。
【請求項３】
前記管理情報記憶手段は、更に、
前記共有データ記憶手段に記憶されているデータブロックのうち、外部処理装置により更新されるデータブロック毎に、当該データブロックの出力元である外部処理装置の装置識別情報を対応付けて記憶しており、
前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、
前記入力手段は、
外部処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行う
ことを特徴とする請求項２記載の処理装置。
【請求項４】
前記処理装置は、
アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、
前記共有データアクセス手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項２記載の処理装置。
【請求項５】
前記管理情報記憶手段に記憶されている各情報は、前記プロセッサが既定のプログラムを実行することにより更新される
ことを特徴とする請求項２記載の処理装置。
【請求項６】
前記処理装置は、更に
バッファメモリと、
アクセス要求に基づいて、前記共有データ記憶手段又は前記バッファメモリに対するアクセスを行うアクセス制御手段とを備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記アクセス制御手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記アクセス制御手段に送出し、
前記アクセス制御手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該入力手段からアクセス要求に基づき、当該アクセス要求に係るデータを前記バッファメモリに記憶させ、当該バッファメモリに記憶されているデータを、アクセス要求を受領していないときに前記共有データ記憶手段に反映させる
ことを特徴とする請求項１記載の処理装置。
【請求項７】
前記アクセス制御手段は、
アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項６記載の処理装置。
【請求項８】
前記アクセス制御手段は、
受領したアクセス要求に基づく前記バッファメモリへのアクセスが完了した後にも、当該アクセス後のデータを前記共有データ記憶手段に反映させる
ことを特徴とする請求項７記載の処理装置。
【請求項９】
前記処理装置は、更に
外部処理装置と共有する必要がない１以上のデータブロックを記憶する固有データ記憶手段と、
アクセス要求に基づいて、前記共有データ記憶手段又は前記固有データ記憶手段に対するアクセスを行うデータアクセス手段とを備え、
前記出力手段は、
前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記データアクセス手段に送出し、
前記データアクセス手段は、
前記共有データ記憶手段と固有データ記憶手段とに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記固有データ記憶手段上の格納領域であるときは、当該固有データ記憶手段に対し当該アクセス要求に基づくアクセスを行うのと並行して、前記共有データ記憶手段に対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項１記載の処理装置。
【請求項１０】
前記共有データ記憶手段は、
１以上の外部処理装置と共有するデータブロックのうち、自装置のみが更新する１以上のデータブロックを記憶する第１メモリと、
前記自装置のみが更新する１以上のデータブロック以外の外部処理装置と共有する１以上のデータブロックを記憶する第２メモリとを含み、
前記処理装置は、更に
アクセス要求に基づいて、前記第１メモリ又は前記第２メモリに対するアクセスを行うメモリアクセス手段とを備え、
前記出力手段は、
前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、
前記メモリアクセス手段は、
前記第１メモリと第２メモリとに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第１メモリ上の格納領域であるときは、当該第１メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第２メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項１記載の処理装置。
【請求項１１】
前記処理装置は、更に
外部処理装置から出力されたデータを記憶するバッファメモリを備え、
前記メモリアクセス手段は、
前記第２メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第２メモリ上の格納領域と一致するか否かに応じて、前記第２メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項１０記載の処理装置。
【請求項１２】
データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって、
各処理装置は、
プロセッサと、
１以上の他の処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが記憶されているデータブロックのブロック識別情報と書き込み要求に係るデータとを前記共通バスに出力する出力手段と、
他の処理装置により前記共通バスに出力されたブロック識別情報に基づいて、当該他の処理装置により当該共通バスに出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合に当該データを前記共有データ記憶手段に記憶させる入力手段とを備える
ことを特徴とする処理システム。
【請求項１３】
各処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、
前記入力手段は、
他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、
いずれか一の処理装置における前記プロセッサは、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させる
ことを特徴とする請求項１２記載の処理システム。
【請求項１４】
複数の外部処理装置との間でデータを共有して処理する処理装置におけるデータ共有処理方法であって、
前記処理装置は、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段とを備え、
前記データ共有処理方法は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力ステップと、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力ステップとを含む
ことを特徴とするデータ共有処理方法。
【請求項１５】
複数の外部処理装置との間でデータを共有して処理するデータ共有処理用集積回路であって、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とするデータ共有処理用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチプロセッサシステムに関し、特に、プロセッサ間でデータを共有するための技術に関する。
【背景技術】
【０００２】
マルチプロセッサシステムにおける複数のプロセッサ間でのデータ共有方法として、１つの共有メモリ上に共有データを格納し、各プロセッサがこの共有メモリにアクセスすることで、データを共有する方法（いわゆる密結合マルチプロセッサシステム）が知られている。【０００３】
この方法では、各プロセッサが用いる共有データの同一性を保つことが容易であるという利点がある一方で、プロセッサの数が増えるにつれ、共有メモリに対するアクセス競合が発生しやすくなり、システム全体の処理効率が低下してしまうという問題がある。【０００４】
このことは、リアルタイム性が要求される処理、例えば、放送局から送信されたデジタル放送を受信して画像等のデータをデコードし表示等するような処理において特に問題となる。【０００５】
この問題を解決する方法として、プロセッサ毎に専用メモリを設け、各専用メモリにそれぞれ共有データの複製を格納し、各プロセッサは、自己の専用メモリにアクセスする方法（いわゆる疎結合マルチプロセッサシステム）が知られている（例えば、特許文献１、２）。【０００６】
図３０は、疎結合マルチプロセッサシステムでの従来のデータ共有方法を説明するための図である。【０００７】
同図に示す専用メモリ３Ａはプロセッサ１Ａ用の、専用メモリ３Ｂはプロセッサ１Ｂ用の、専用メモリ３Ｃはプロセッサ１Ｃ用のメモリであり、各専用メモリには、共有データの複製を格納するための共有領域が予め確保されている。【０００８】
メモリ制御装置４は、各プロセッサからそれぞれの専用メモリに対するアクセス要求が送出されると、そのアクセス要求が共有領域に対する書き込み要求であるか否かに応じて、バス選択回路５Ａ〜５Ｃを制御する。【０００９】
例えば、プロセッサ１Ａからのアクセス要求が共有領域に対する書き込み要求である場合には、書き込み対象のデータを専用メモリ３Ａ〜３Ｃの各共有領域に書き込むようにバス選択回路５Ａ〜５Ｃを制御する。また、プロセッサ１Ａからのアクセス要求が共有領域以外の領域に対する書き込み要求や、いずれかの領域に対する読み出し要求である場合には、専用メモリ３Ａのみにアクセスするようにバス選択回路５Ａ〜５Ｃを制御する。【００１０】
この結果、あるプロセッサの専用メモリ上の共有データが更新される際に、他のプロセッサの専用メモリ上の共有データも更新されるので、共有データの同一性を保つことができる。また、他のプロセッサの専用メモリ上の共有データの更新は、あるプロセッサの専用メモリの共有領域に対する書き込み要求が発生した場合に限られるので、アクセス競合が発生する可能性を低減できる。
【特許文献１】日本国特許公開昭６１−１２２７７１号公報
【特許文献２】日本国特許公開平３−１２７２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の方法では、マルチプロセッサシステム全体の処理に必要となる全ての共有データを全てのプロセッサの専用メモリに格納する。【００１２】
例えば、上述のプロセッサ１Ａ〜１Ｃのうち、プロセッサ１Ａと１Ｂとの間で共有する必要があり、プロセッサ１Ｃには不要であるデータであっても、そのデータは、プロセッサ１Ｃの専用メモリ３Ｃに格納されることになる。【００１３】
この結果、専用メモリ３Ｃにおいては、プロセッサ１Ｃには不要なデータにより格納領域が無駄に消費される。また、プロセッサ１Ａと１Ｂで共有するデータがこれらのプロセッサにより更新される際に、更新後のデータが専用メモリ３Ｃにも書き込まれるので、プロセッサ１Ｃによる専用メモリ３Ｃへのアクセスとの間で無駄な競合が生じる可能性が高まる。【００１４】
そこで、本発明はかかる問題に鑑みてなされたものであり、専用メモリにおける無駄な格納領域の消費及び無駄なアクセス競合の発生を防止することが可能な処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明に係る処理装置は、複数の外部処理装置との間でデータを共有して処理する処理装置であって、プロセッサと、１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備えることを特徴とする。【００１６】
ここでの共有は、１以上の外部処理装置が備えるメモリ等の記憶手段と、処理装置が備える共有データ記憶手段とにそれぞれ共有すべき１以上のデータブロックの複製を記憶し、それぞれの装置は、自装置が備える記憶手段にアクセスすることで実現されるものをいう。
【発明の効果】
【００１７】
上述の構成を備える本発明に係る処理装置における入力手段は、外部処理装置により出力されたデータのうち、自装置が共有すべきデータのみを共有データ記憶手段に記憶させるので、不要なデータを記憶させることで共有データ記憶手段の格納領域を無駄に消費してしまうことを防止できる。また、不要なデータを記憶させないので、外部処理装置が出力した、自装置のプロセッサには不要なデータを書き込むための共有データ記憶手段へのアクセス要求と、プロセッサによる共有データ記憶手段へのアクセス要求との競合を防止できる。【００１８】
また、本発明に係る処理装置は、出力手段が外部処理装置と共有するデータを出力し、上述のように、入力手段が自装置が共有すべきデータのみを共有データ記憶手段に記憶させるので、プロセッサはデータを共有化するための処理を行う必要がなく、既定の処理に専念できる。【００１９】
また、前記処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、前記入力手段は、外部処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを記憶させることとしてもよい。【００２０】
これにより、本発明に係る処理装置は、データブロック毎にブロック識別情報とそのデータブロックの格納領域を示すアドレス情報とを記憶しているので、ブロックデータ単位で外部処理装置とデータを共有することができる。【００２１】
また、前記管理情報記憶手段は、更に、前記共有データ記憶手段に記憶されているデータブロックのうち、外部処理装置により更新されるデータブロック毎に、当該データブロックの出力元である外部処理装置の装置識別情報を対応付けて記憶しており、前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、前記入力手段は、外部処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行うこととしてもよい。【００２２】
これにより、本発明に係る処理装置は、外部処理装置により出力されたデータブロックを記憶するか否かを、そのデータブロックの出力元である外部処理装置の装置識別情報とブロック識別情報との組み合わせにより判定するので、異なる外部処理装置が同一のブロック識別情報を出力した場合でも、自装置が共有すべきデータのみを適切に記憶できる。【００２３】
また、前記処理装置は、アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、前記共有データアクセス手段は、前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。【００２４】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからのアクセス要求と、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求とが競合した場合に、後者のアクセス要求を優先して処理するので、外部処理装置が更新したデータを速やかに共有データ記憶手段に反映できる。この結果、本発明に係る処理装置が備えるプロセッサは、外部処理装置が更新した最新のデータに基づいて処理できる。【００２５】
また、前記管理情報記憶手段に記憶されている各情報は、前記プロセッサが既定のプログラムを実行することにより更新されることとしてもよい。【００２６】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサにより更新された管理情報記憶手段における情報に基づいて、外部処理装置とのデータ共有を行うことができるので、この情報を更新するための外部更新装置等を別途設けることなく、外部処理装置とのデータ共有を行うことができる。【００２７】
また、前記処理装置は、更にバッファメモリと、アクセス要求に基づいて、前記共有データ記憶手段又は前記バッファメモリに対するアクセスを行うアクセス制御手段とを備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記アクセス制御手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記アクセス制御手段に送出し、前記アクセス制御手段は、前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該入力手段からアクセス要求に基づき、当該アクセス要求に係るデータを前記バッファメモリに記憶させ、当該バッファメモリに記憶されているデータを、アクセス要求を受領していないときに前記共有データ記憶手段に反映させることとしてもよい。【００２８】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからのアクセス要求と、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求とが競合した場合に、後者のアクセス要求に係るデータをバッファメモリに記憶するので、プロセッサに速やかに共有データ記憶手段へのアクセスをさせることができる。【００２９】
また、前記アクセス制御手段は、アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。【００３０】
これにより、本発明に係る処理装置は、例えば、プロセッサからのアクセス要求に係るデータが、バッファメモリに記憶されているときには、バッファメモリに対してアクセスさせ、この間に自装置が共有すべきデータを共有データ記憶手段に記憶するようなことが可能になるので、外部処理装置が更新したデータを速やかに共有データ記憶手段に反映させつつ、プロセッサからのアクセス要求を速やかに処理できる。【００３１】
また、前記アクセス制御手段は、受領したアクセス要求に基づく前記バッファメモリへのアクセスが完了した後にも、当該アクセス後のデータを前記共有データ記憶手段に反映させることとしてもよい。【００３２】
ここで、アクセス後のデータとは、アクセス要求がデータの読み出し要求の場合には、バッファから読み出したデータのことをいい、アクセス要求がデータの書き込み要求の場合には、書き込み対象のデータのことをいう。【００３３】
これにより、アクセス要求に係るデータが、バッファメモリに記憶されているときには、バッファメモリに対してアクセスさせることが可能になるので、この後に、つまり、プロセッサによる共有データ記憶手段へのアクセスがなされていない間に、アクセス後のデータを、共有データ記憶手段へ反映させることで、バッファメモリ上のデータをより速やかに共有データ記憶手段へ反映させることができる。【００３４】
また、前記処理装置は、更に外部処理装置と共有する必要がない１以上のデータブロックを記憶する固有データ記憶手段と、アクセス要求に基づいて、前記共有データ記憶手段又は前記固有データ記憶手段に対するアクセスを行うデータアクセス手段とを備え、前記出力手段は、前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記データアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記データアクセス手段に送出し、前記データアクセス手段は、前記共有データ記憶手段と固有データ記憶手段とに対し並行してアクセスすることが可能であり、前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記固有データ記憶手段上の格納領域であるときは、当該固有データ記憶手段に対し当該アクセス要求に基づくアクセスを行うのと並行して、前記共有データ記憶手段に対し前記入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。【００３５】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからの自装置のみが必要なデータに対するアクセス要求は、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求と競合し得なくなるので、更にアクセス競合の発生を低減できる。【００３６】
また、前記共有データ記憶手段は、１以上の外部処理装置と共有するデータブロックのうち、自装置のみが更新する１以上のデータブロックを記憶する第１メモリと、前記自装置のみが更新する１以上のデータブロック以外の外部処理装置と共有する１以上のデータブロックを記憶する第２メモリとを含み、前記処理装置は、更にアクセス要求に基づいて、前記第１メモリ又は前記第２メモリに対するアクセスを行うメモリアクセス手段とを備え、前記出力手段は、前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、前記メモリアクセス手段は、前記第１メモリと第２メモリとに対し並行してアクセスすることが可能であり、前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第１メモリ上の格納領域であるときは、当該第１メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第２メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。【００３７】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからの自装置のみが更新する共有データに対するアクセス要求は、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求と競合し得なくなるので、更にアクセス競合の発生を低減できる。【００３８】
また、前記処理装置は、更に外部処理装置から出力されたデータを記憶するバッファメモリを備え、前記メモリアクセス手段は、前記第２メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第２メモリ上の格納領域と一致するか否かに応じて、前記第２メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。【００３９】
これにより、本発明に係る処理装置は、プロセッサからのアクセス要求が第２メモリに対するものであっても、そのアクセス要求に係るデータがバッファメモリに記憶されているときには、バッファメモリに対してアクセスさせることが可能になるので、この間に自装置が共有すべきデータを共有データ記憶手段に記憶することができる。即ち、更にアクセス競合の発生を低減できる。【００４０】
上記課題を解決するために、本発明に係る処理システムは、データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって、各処理装置は、プロセッサと、１以上の他の処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが記憶されているデータブロックのブロック識別情報と書き込み要求に係るデータとを前記共通バスに出力する出力手段と、他の処理装置により前記共通バスに出力されたブロック識別情報に基づいて、当該他の処理装置により当該共通バスに出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合に当該データを前記共有データ記憶手段に記憶させる入力手段とを備えることを特徴とする。【００４１】
上述の構成を備える本発明に係る処理システムにおける各処理装置は、他の処理装置により出力されたデータのうち、自装置が共有すべきデータのみを共有データ記憶手段に記憶するので、不要なデータを記憶することで共有データ記憶手段の格納領域を無駄に消費してしまうことを防止できる。また、不要なデータを記憶しないので、他の処理装置が出力した、自装置のプロセッサには不要なデータを書き込むための共有データ記憶手段へのアクセス要求と、プロセッサによる共有データ記憶手段へのアクセス要求との競合を防止できる。【００４２】
また、本発明に係る処理システムにおける各処理装置は、他の処理装置と共有するデータを出力し、上述のように、自装置が共有すべきデータのみを共有データ記憶手段に記憶するので、プロセッサはデータを共有化するための処理を行う必要がなく、既定の処理に専念できる。【００４３】
また、各処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、前記入力手段は、他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、いずれか一の処理装置における前記プロセッサは、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させることとしてもよい。【００４４】
これにより、本発明に係る処理システムにおけるいずれか一の処理装置が備えるプロセッサが、各処理装置の管理情報記憶手段に記憶する各情報を生成するので、各情報と統一的に生成することが可能になり、各情報の管理が容易になる。
【図面の簡単な説明】
【００４５】
【図１】実施の形態１に係る処理システム１０００のシステム構成図である。
【図２】出力管理部１４０の機能ブロック図である。
【図３】入力管理部１５０の機能ブロック図である。
【図４】出力管理情報テーブル１８０及び入力管理情報テーブル１９０のデータ構成及び内容例を示す図である。
【図５】出力管理部１４０による出力判定処理を示すフローチャートである。
【図６】入力管理部１５０による入力判定処理を示すフローチャートである。
【図７】選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とを示すフローチャートである。
【図８】適用例１に係るデジタル放送受信器１０００Ａの構成図である。
【図９】適用例１に係る計算機１００Ｂ〜１００Ｄがデコード処理を行う１つの画像中の領域を説明するための図である。
【図１０】適用例１に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。
【図１１】適用例１に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。
【図１２】従来の方法により各計算機がデータを共有するデジタル放送受信器１０Ａの構成図である。
【図１３】適用例２に係るデジタル放送受信器１０００Ａ及び従来方式によりデータを共有するデジタル放送受信器１０Ａそれぞれにおける各メモリのデータ配置を示す図である。
【図１４】適用例２に係る各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図１５】適用例２に係る各計算機の動作を説明するための図である。
【図１６】適用例３における連携処理の流れを説明するための図である。
【図１７】適用例３に係る各計算機及び従来方式によりデータを共有して連携処理を行う各計算機それぞれにおける各メモリのデータ配置を示す図である。
【図１８】適用例３に係る各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図１９】適用例３に係る各計算機の動作を説明するための図である。
【図２０】適用例４に係る各計算機の動作を説明するための図である。
【図２１】適用例４に係る各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図２２】適用例４の変形に係る定常時における各計算機における出力管理情報テーブル１８０と入力管理情報テーブル１９０との内容例及び各計算機の動作を説明するための図である。
【図２３】適用例５に係る各メモリのデータ配置、各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０との内容例を示す図である。
【図２４】実施の形態２に係る処理システム１１００のシステム構成図である。
【図２５】共有データ制御部２２０によるアクセス制御処理を示すフローチャートである。
【図２６】実施の形態３に係る処理システム１２００のシステム構成図である。
【図２７】実施の形態４に係る処理システム１３００のシステム構成図である。
【図２８】変形例に係る各計算機の出力管理情報テーブル及び入力管理情報テーブル１９０の内容例を示す図である。
【図２９】変形例に係る各計算機の動作を説明するための図である。
【図３０】疎結合マルチプロセッサシステムでの従来のデータ共有方法を説明するための図である。
【符号の説明】
【００４６】
１００Ａ〜Ｅ、２００Ａ〜Ｃ、３００Ａ〜Ｃ、４００Ａ〜Ｃ、５００Ａ〜Ｃ    計算機
１０１    共通バス
１０２    共通バス調停部
１１０Ａ〜Ｅ    メモリ
１２０Ａ〜Ｃ    プロセッサ
１３０    調停部
１４０    出力管理部
１４１    出力管理情報保持部
１４２    内部バス制御部
１４３    出力判定部
１４４    共通バス制御部
１５０    入力管理部
１５１    入力管理情報保持部
１５２    入力判定部
１５３    内部バス制御部
１６０    選択部
１７０    メモリ制御部
２１０    バッファ
２２０    共有データ制御部
３１０Ａ〜Ｃ    固有メモリ
３２０Ａ〜Ｃ    共有メモリ
３３０    メモリ選択制御部
３４０    固有メモリ制御部
３５０    共有メモリ制御部
４１０    メモリ選択制御部
１０００、１１００、１２００、１３００    処理システム
１０００Ａ    デジタル放送受信器
【発明を実施するための最良の形態】
【００４７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
＜構成＞
まず、実施の形態１に係る処理システム１０００の構成について説明する。【００４８】
図１は、実施の形態１に係る処理システム１０００のシステム構成図である。【００４９】
同図に示すとおり、処理システム１０００は、共通バス１０１を介して相互に接続する計算機１００Ａ〜１００Ｅと、各計算機と１対１に接続するメモリ１１０Ａ〜１１０Ｅと、共通バス調停部１０２とから構成される。【００５０】
なお、同図では、５つの計算機（１００Ａ〜１００Ｅ）を図示しているが、これは一例であり、計算機の数は同図に示す例に限られず、２つ以上であればいくつでもよい。また、同図では各計算機は各メモリと１対１に接続する例を示しているが、２以上のメモリと接続していてもよい。これらの点については、以下の各実施の形態においても同様である。【００５１】
ここで、共通バス１０１は、各計算機が共有データを授受するためのバスであり、共通バス調停部１０２は、共通バス１０１に共有データを出力しようとする各計算機からの共通バス１０１の使用要求を調停する機能を有する。【００５２】
各メモリ（１１０Ａ〜１１０Ｅ）は、接続先の計算機内の各プロセッサが用いるプログラムやデータを記憶するものであり、このデータには、接続先の計算機のみが使用するデータと、計算機間で共有する共有データとが含まれる。【００５３】
各計算機（１００Ａ〜１００Ｅ）は、１以上の他の計算機とデータを共有しながら所定の処理を実行する機能を有する。【００５４】
各計算機は同様の構成を有するため、以下では、計算機１００Ａを例に説明する。【００５５】
計算機１００Ａは、プロセッサ１２０Ａ〜１２０Ｃと、調停部１３０と、出力管理部１４０と、入力管理部１５０と、選択部１６０と、メモリ制御部１７０とを備える。【００５６】
ここで、各プロセッサ（１２０Ａ〜１２０Ｃ）は、それぞれメモリ１１０Ａに記憶されている既定のプログラムを実行することにより、メモリ１１０Ａに記憶されているデータを用いて所定の処理を行うものであり、メモリ１１０Ａにアクセスが必要な場合に、メモリアクセス要求信号を調停部１３０に送出する。【００５７】
このメモリアクセス要求信号は、アクセス種別（読み出し又は書き込み）やアクセス対象となるメモリ１１０Ａ上の格納領域のアドレスを指定する信号であり、特にアクセス種別が「書き込み」の場合には、書き込み対象データを含むものである。【００５８】
調停部１３０は、各プロセッサによるメモリ１１０Ａに対するアクセス要求を調停する機能を有し、具体的には、各プロセッサから受領した各メモリアクセス要求信号の中から１つのメモリアクセス要求信号を選んで出力管理部１４０に送出する。【００５９】
なお、調停部１３０は、出力管理部１４０に送出するメモリアクセス要求信号が、メモリ１１０Ａからデータを読み出すことを要求する読み出し要求信号（つまりアクセス種別が「読み出し」であるメモリアクセス要求信号）である場合には、その読み出し要求信号の送出と共に、その要求元であるプロセッサの識別情報を送出する。【００６０】
以下、「メモリアクセス要求信号等」と表記する場合には、メモリアクセス要求信号が、読み出し要求信号である場合に、プロセッサの識別情報が含まれることを意味するものとして説明する。【００６１】
出力管理部１４０は、調停部１３０から受領したメモリアクセス要求信号等を選択部１６０に送出すると共に、特に、このメモリアクセス要求信号が共有データに対する書き込みを要求する書き込み要求信号（つまりアクセス種別が「書き込み」であるメモリアクセス要求信号）である場合に、書き込み対象データ及びこのデータの識別情報等を共通バス１０１に出力する回路である。なお、この出力は、共通バス調停部１０２から共通バス１０１の使用権を得た後に行う。出力管理部１４０の構成（図２参照）については後に詳しく説明する。【００６２】
入力管理部１５０は、他の計算機（１００Ｂ〜１００Ｅ）から共通バス１０１に出力された書き込み対象データの識別情報等に基づいて、出力された書き込み対象のデータが、自機が共有すべきデータであるか否かを判定し、判定結果に応じて、このデータのメモリ１１０Ａに対する書き込み要求信号を選択部１６０に送出する回路である。なお、入力管理部１５０の構成（図３参照）については後に詳しく説明する。【００６３】
選択部１６０は、出力管理部１４０から受領したメモリアクセス要求信号等と、入力管理部から受領した書き込み要求信号とを順次メモリ制御部１７０に送出する回路である。特に、両管理部から信号を受領した場合に、選択部１６０は、入力管理部１５０からのメモリアクセス要求信号を優先的にメモリ制御部１７０に送出する。つまり、この場合、プロセッサのメモリ１１０Ａへのアクセスは待たされることになる。【００６４】
メモリ制御部１７０は、選択部１６０から受領したメモリアクセス要求信号等、又は書き込み要求信号に基づいて、メモリ１１０Ａにアクセスする機能を有する。【００６５】
次に、出力管理部１４０の構成について説明する。【００６６】
図２は、出力管理部１４０の機能ブロック図である。【００６７】
同図に示すように、出力管理部１４０は、出力管理情報保持部１４１と、内部バス制御部１４２と、出力判定部１４３と、共通バス制御部１４４とを備える。【００６８】
ここで、出力管理情報保持部１４１は、出力管理情報テーブル１８０（図４（ａ）参照）を記憶するためのメモリ領域である。出力管理情報テーブル１８０については後述する。【００６９】
内部バス制御部１４２は、調停部１３０から受領したメモリアクセス要求信号を出力判定部１４３に送出する機能と、出力判定部１４３の指示に従って、受領しているメモリアクセス要求信号等を選択部１６０へ送出する機能と、このメモリアクセス要求信号に含まれる書き込み対象データを共通バス１０１に出力する機能とを有する。【００７０】
出力判定部１４３は、出力管理情報保持部１４１の出力管理情報テーブル１８０に基づいて、内部バス制御部１４２から受領したメモリアクセス要求信号が共有データに対する書き込み要求信号であるか否かを判定し、判定結果に応じて、共通バス制御部１４４又は内部バス制御部１４２に所定の信号を送出する機能を有する。【００７１】
より詳細には、メモリアクセス要求信号が共有データに対する書き込み要求信号である場合には、書き込み対象データの識別情報等を共通バス制御部１４４に送出し、共有データに対する書き込み要求信号でない場合には、メモリアクセス要求信号等の選択部１６０への送出を指示する信号を内部バス制御部１４２に送出する。【００７２】
また、出力判定部１４３は、共通バス制御部１４４から後述する出力完了信号を受領した場合に、メモリアクセス要求信号の選択部１６０への送出及び書き込み対象データの共通バス１０１への出力を指示する信号を内部バス制御部１４２に送出する機能を有する。【００７３】
共通バス制御部１４４は、出力判定部１４３から書き込み対象データの識別情報等を受領する毎に、共通バス調停部１０２から共通バス１０１の使用権を得て、この識別情報等を共通バス１０１に出力すると共に、この識別情報等を出力した旨の出力完了信号を出力判定部１４３に送出する機能を有する。【００７４】
続いて、入力管理部１５０の構成について説明する。【００７５】
図３は、入力管理部１５０の機能ブロック図である。【００７６】
同図に示すように、入力管理部１５０は、入力管理情報保持部１５１と、入力判定部１５２と、内部バス制御部１５３とを備える。【００７７】
ここで、入力管理情報保持部１５１は、入力管理情報テーブル１９０（図４（ｂ）参照）を記憶するためのメモリ領域である。入力管理情報テーブル１９０については、後述する。【００７８】
入力判定部１５２は、他の計算機（１００Ｂ〜１００Ｅ）から共通バス１０１に出力された書き込み対象データの識別情報等と、入力管理情報保持部１５１の入力管理情報テーブル１９０とに基づいて、共通バス１０１に出力された書き込み対象データが、自機が共有すべきデータであるか否かを判定する機能を有する。特に、書き込み対象データが、自機が共有すべきデータである場合に、入力判定部１５２は、アクセス種別（書き込み）及びこのデータを書き込むべきメモリ１１０Ａ上のアドレスを指定するアクセスコマンド信号を生成し、内部バス制御部１５３に送出する。【００７９】
内部バス制御部１５３は、入力判定部１５２からアクセスコマンド信号を受領すると、他の計算機から共通バス１０１に出力された書き込み対象データを受領し、この書き込み対象データと受領したアクセスコマンド信号とを含む書き込み要求信号を選択部１６０へ送出する機能を有する。【００８０】
＜データ＞
各計算機により使用されるデータを、計算機１００Ａの場合を例に説明する。【００８１】
＜出力管理情報テーブル＞
まず、出力管理情報テーブル１８０について説明する。【００８２】
図４（ａ）は、出力管理情報テーブル１８０のデータ構成及び内容例を示す図である。【００８３】
出力管理情報保持部１４１に記憶されている出力管理情報テーブル１８０は、同図に示すように、自機が他の計算機に対し送出すべき共有データ毎に、Ｖａｌｉｄ１８１、Ｍａｓｔｅｒ  ＩＤ１８２、Ｄａｔａ  ＩＤ１８３、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１８４、Ｅｎｄ  Ａｄｄｒｅｓｓ１８５を対応付けて構成される情報である。【００８４】
以下、この相互に対応付けられたＶａｌｉｄとＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとＳｔａｒｔ  ＡｄｄｒｅｓｓとＳｔａｒｔ  Ａｄｄｒｅｓｓとをまとめて「出力管理情報」という。【００８５】
出力管理情報テーブル１８０は、計算機内のプロセッサからのメモリアクセス要求信号が共有データに対するメモリアクセス要求信号であるか否かを出力判定部１４３が判定する際に用いられる。【００８６】
ここで、Ｖａｌｉｄ１８１は、そのＶａｌｉｄを含む出力管理情報が有効か無効かを示す情報であり、この例では有効である場合を「１」、無効である場合を「０」としている。つまり、Ｖａｌｉｄが「１」である出力管理情報に対応する共有データを共通バス１０１に送出することになる。【００８７】
Ｍａｓｔｅｒ  ＩＤ１８２は、対応する共有データを共通バス１０１へ送出する計算機の識別情報であり、以下では、一例として、計算機１００Ａ〜１００ＥのＭａｓｔｅｒ  ＩＤが「０」〜「４」であるものとして説明する。【００８８】
ここでは、計算機１００Ａが保持する出力管理情報テーブル１８０の例を示しているため、全てのＭａｓｔｅｒ  ＩＤが「０」になっている。他の計算機、例えば計算機１００Ｂが保持する出力管理情報テーブル１８０では、全てＭａｓｔｅｒ  ＩＤが「１」となる。【００８９】
Ｄａｔａ  ＩＤ１８３は、対応する共有データの識別情報であり、他のＤａｔａ  ＩＤとは重複しないものである。【００９０】
Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１８４とＥｎｄ  Ａｄｄｒｅｓｓ１８５とはそれぞれ、対応する共有データが記憶されるメモリ１１０Ａ上の格納領域の開始アドレスと終了アドレスを示す情報である。【００９１】
同図は、例えば、メモリ１１０ＡにおいてＳｔａｒｔ  Ａｄｄｒｅｓｓが「０ｘ００００」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「０ｘ００ｆｆ」である格納領域に格納されているデータは他の計算機に送出すべき共有データであり、そのＤａｔａ  ＩＤは「０」であり、このデータを共通バス１０１へ出力する計算機のＭａｓｔｅｒ  ＩＤは「０」（つまり計算機１００Ａ）であることを示している。【００９２】
以下、出力管理情報テーブル１８０へのデータの登録方法の一例を説明する。【００９３】
出力管理情報テーブル１８０へのデータの登録は、まず、処理システム１０００の運用開始前に行われる。【００９４】
具体的には、処理システム１０００における任意の計算機内の１つのプロセッサが、自機が接続するメモリに記憶されているプログラムを実行することにより、各計算機の出力管理情報テーブル１８０に登録すべき出力管理情報を生成し、各計算機を相互に接続するテーブル設定用のバス（不図示）を介して、各計算機の出力管理情報テーブル１８０に有効な出力管理情報（つまり、Ｖａｌｉｄが「１」）を登録する。この出力管理情報の生成は、Ｍａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤの組み合わせが、他のＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤの組み合わせと重複しないように行われる。【００９５】
なお、各プロセッサ（１２０Ａ〜１２０Ｃ）は、先に説明したように、メモリ１１０Ａに記憶されている既定のプログラムを実行することで、このメモリ１１０Ａに記憶されているデータを用いて所定の処理を行うものであるが、この既定のプログラムは、登録された有効な出力管理情報における格納領域（Ｓｔａｒｔ  Ａｄｄｒｅｓｓ及びＥｎｄ  Ａｄｄｒｅｓｓにより特定される）に格納されるデータを用いて所定の処理を行うように構成されている。【００９６】
また、ある計算機において、何らかの要因により他の計算機との共有が不要になったデータが生じた場合には、その共有データに対応する登録済みの出力管理情報のＶａｌｉｄを「０」に更新するだけで共有の設定を解除できる。また、再度そのデータの共有が必要になった場合には、対応する出力管理情報のＶａｌｉｄを「１」に更新するだけで共有設定をすることができる。【００９７】
＜入力管理情報テーブル＞
次に、入力管理情報テーブル１９０について説明する。【００９８】
図４（ｂ）は、入力管理情報テーブル１９０のデータ構成及び内容例を示す図である。【００９９】
入力管理情報保持部１５１に記憶されている入力管理情報テーブル１９０は、同図に示すように、自機が他の計算機から受領すべき共有データ毎に、Ｖａｌｉｄ１９１、Ｍａｓｔｅｒ  ＩＤ１９２、Ｄａｔａ  ＩＤ１９３、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１９４、Ｅｎｄ  Ａｄｄｒｅｓｓ１９５を対応付けて構成される情報である。【０１００】
以下、この相互に対応付けられたＶａｌｉｄとＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとＳｔａｒｔ  ＡｄｄｒｅｓｓとＳｔａｒｔ  Ａｄｄｒｅｓｓとをまとめて「入力管理情報」という。【０１０１】
入力管理情報テーブル１９０は、他の計算機によって共通バス１０１に出力された書き込み対象データを受領すべきか否かを入力判定部１５２が判定する際に用いられる。【０１０２】
なお、入力管理情報テーブル１９０と出力管理情報テーブル１８０とは同様のデータ構造を有しているため、各データの詳細な説明は省略するが、
他の計算機により共通バス１０１に出力された共有データのうち、Ｖａｌｉｄが「１」である入力管理情報に対応する共有データが、メモリ１１０Ａに記憶されることになる。【０１０３】
同図は、例えば、Ｍａｓｔｅｒ  ＩＤは「１」（つまり、計算機１００Ｂ）であり、Ｄａｔａ  ＩＤは「０」であるデータは、自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ１１０ＡのＳｔａｒｔ  Ａｄｄｒｅｓｓが「０ｘ００００」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「０ｘ００７ｆ」である格納領域に格納されることを示している。【０１０４】
なお、入力管理情報テーブル１９０へのデータの登録は、出力管理情報テーブル１８０と同様に行われるため詳細な説明は省略する。【０１０５】
＜動作＞
次に、上記構成を備え、上記データを取り扱う各計算機の動作を説明する。【０１０６】
＜出力管理部の動作＞
まず、出力管理部１４０による出力判定処理について説明する。【０１０７】
図５は、出力管理部１４０による出力判定処理を示すフローチャートである。【０１０８】
なお、以下のステップＳ１００〜Ｓ１０８の処理は繰り返し実行されるものとする。【０１０９】
出力管理部１４０の出力判定部１４３は、内部バス制御部１４２を介して調停部１３０からメモリアクセス要求信号を受領したか否かを判定し（ステップＳ１００）、受領していない場合には（ステップＳ１００：ＮＯ）、何も行わず出力判定処理を終了する。【０１１０】
一方、メモリアクセス要求信号を受領した場合には（ステップＳ１００：ＹＥＳ）、その信号が書き込み要求信号か否かを、その信号のアクセス種別に基づいて判定し（ステップＳ１０１）、書き込み要求信号である場合には（ステップＳ１０１：ＹＥＳ）、その書き込み要求が、他の計算機へ送出すべき共有データに対するものか否かを出力管理情報保持部１４１の出力管理情報テーブル１８０に基づいて判定する（ステップＳ１０２）。【０１１１】
より詳細には、受領した信号に含まれるメモリ１１０Ａ上の書き込み先のアドレスが、出力管理情報テーブル１８０における有効（つまり、Ｖａｌｉｄが「１」である）な出力管理情報のＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄＡｄｄｒｅｓｓとの範囲に含まれる場合にのみ肯定的な判定を行う。【０１１２】
例えば、書き込み先のアドレスが「０ｘ０００１」である場合に、このアドレスは、図４（ａ）に示す出力管理情報テーブル１８０において、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ「０ｘ００００」とＥｎｄＡｄｄｒｅｓｓ「０ｘ００ｆｆ」との範囲に含まれるので、肯定的な判定がなされることになる。また、書き込み先のアドレスが「０ｘ０４００」である場合には、このアドレスは、出力管理情報テーブル１８０における有効な出力管理情報のいずれのＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄＡｄｄｒｅｓｓとの範囲にも含まれないので、否定的な判定がなされることになる。【０１１３】
ステップＳ１０２において、書き込み要求が、他の計算機へ送出すべき共有データに対するものである場合には（ステップＳ１０２：ＹＥＳ）、出力判定部１４３は、出力管理情報テーブル１８０から、対応する共有データのＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤを取得すると共に、その共有データのＳｔａｒｔ  Ａｄｄｒｅｓｓに対する書き込み先のアドレスのオフセット（以下、単に「オフセット」という）を算出し、取得したＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤと、算出したオフセットとを共通バス制御部１４４に送出する（ステップＳ１０３）。【０１１４】
例えば、上述の書き込み先のアドレスが「０ｘ０００１」である場合の例においては、Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」、オフセット「０ｘ００１」が共通バス制御部１４４に送出される。【０１１５】
続いて、Ｍａｓｔｅｒ  ＩＤ等を受領した共通バス制御部１４４は、共通バス１０１の使用権を得るために、共通バス調停部１０２に共通バスアクセス要求信号を送出する（ステップＳ１０４）。この共通バスアクセス要求信号を受領した共通バス調停部１０２は、共通バス１０１に対しデータの送出を要求する各計算機からの要求を調停の上、この受領した共通バスアクセス要求信号の送信元である計算機に共通バス１０１の使用権を与える旨の共通バスアクセス許可信号を送信する。【０１１６】
ステップＳ１０４で共通バスアクセス要求信号を送出した共通バス制御部１４４は、共通バス調停部１０２から共通バスアクセス許可信号を受領したか否かを判定し（ステップＳ１０５）、受領していない場合には、再びステップＳ１０５の処理を行う。【０１１７】
一方、共通バスアクセス許可信号を受領した場合には（ステップＳ１０５：ＹＥＳ）、共通バス制御部１４４は、出力判定部１４３から受領しているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤ、及びオフセットを共通バス１０１に出力すると共に、Ｍａｓｔｅｒ  ＩＤ等を出力した旨の出力完了信号を出力判定部１４３に送出する（ステップＳ１０６）。【０１１８】
出力完了信号を受領した出力判定部１４３は、メモリアクセス要求信号の選択部１６０への送出及び書き込み対象データの共通バス１０１への出力を指示する信号を内部バス制御部１４２に送出する。この信号を受領した内部バス制御部１４２は、受領しているメモリアクセス要求信号に含まれる書き込み対象データを共通バス１０１に出力すると共に、選択部１６０にこのメモリアクセス要求信号を送出し（ステップＳ１０７）、出力判定処理を終了する。【０１１９】
一方、ステップＳ１０１において、読み出し要求信号である場合（ステップＳ１０１：ＮＯ）、又は、ステップＳ１０２において、書き込み要求が、他の計算機へ送出すべき共有データに対するものでない場合には（ステップＳ１０２：ＮＯ）、出力判定部１４３は、内部バス制御部１４２にメモリアクセス要求信号等の送出を指示する信号を送出し、これを受領した内部バス制御部１４２は、選択部１６０に受領しているメモリアクセス要求信号等を送出し（ステップＳ１０８）、出力判定処理を終了する。【０１２０】
＜入力管理部の動作＞
次に、入力管理部１５０による入力判定処理について説明する。【０１２１】
図６は、入力管理部１５０による入力判定処理を示すフローチャートである。【０１２２】
なお、以下のステップＳ１１０〜Ｓ１１５の処理は繰り返し実行されるものとする。【０１２３】
入力管理部１５０の入力判定部１５２は、他の計算機から共通バス１０１上にＭａｓｔｅｒ  ＩＤ等が出力されているか否かを判定し（ステップＳ１１０）、出力されていない場合には（ステップＳ１１０：ＮＯ）、何も行わず入力判定処理を終了する。【０１２４】
一方、Ｍａｓｔｅｒ  ＩＤ等が出力されている場合には（ステップＳ１１０：ＹＥＳ）、入力判定部１５２は、出力されているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤ、及びオフセットを受領する（ステップＳ１１１）。【０１２５】
入力判定部１５２は、受領したＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤに基づいて、他の計算機から共通バス１０１に出力された書き込み対象のデータが、自機が受領すべき共有データであるか否かを判定する（ステップＳ１１２）。【０１２６】
より詳細には、入力管理情報保持部１５１の入力管理情報テーブル１９０を参照し、受領したＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを対応付けた入力管理情報が登録されている場合にのみ、肯定的な判定を行う。【０１２７】
例えば、受領したＭａｓｔｅｒ  ＩＤが「１」、Ｄａｔａ  ＩＤが「０」である場合には、図４（ｂ）に示す入力管理情報テーブル１９０に該当の入力管理情報が登録されているので、肯定的な判定がなされることになる。また、例えば、受領したＭａｓｔｅｒ  ＩＤが「１」でＤａｔａ  ＩＤが「２」である場合には、該当の入力管理情報が登録されていないので否定的な判定がなされることになる。【０１２８】
ステップＳ１１２において、自機が受領すべき共有データでない場合には（ステップＳ１１２：ＮＯ）、入力判定処理を終了し、自機が受領すべき共有データである場合には（ステップＳ１１２：ＹＥＳ）、入力判定部１５２は、アクセス種別（書き込み）及び書き込み先のアドレスを指定するアクセスコマンド信号を内部バス制御部１５３に送出する（ステップＳ１１３）。ここで、書き込み先のアドレスは、該当の入力管理情報に含まれるＳｔａｒｔ  Ａｄｄｒｅｓｓに受領したオフセットを加えたものである。【０１２９】
アクセスコマンド信号を受領した内部バス制御部１５３は、共通バス１０１から、他の計算機により出力された書き込み対象データを受領し、この書き込み対象データと、受領しているアクセスコマンド信号とを含むメモリアクセス要求信号を選択部１６０に送出し（ステップＳ１１５）、入力判定処理を終了する。【０１３０】
＜選択部及びメモリ制御部の動作＞
次に、選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とについて説明する。【０１３１】
図７は、選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とを示すフローチャートである。【０１３２】
まず、選択部１６０の処理について説明する。【０１３３】
なお、以下のステップＳ１２０〜Ｓ１２４の処理は繰り返し実行されるものとする。【０１３４】
選択部１６０は、出力管理部１４０と入力管理部１５０との両方からメモリアクセス要求信号（入力管理部１５０については、特に書き込み要求信号である）を受領したか否かを判定し（ステップＳ１２０）、受領した場合には（ステップＳ１２０：ＹＥＳ）、まず、入力管理部１５０からのメモリアクセス要求信号をメモリ制御部１７０に送出する（ステップＳ１２１）。【０１３５】
次に、選択部１６０は、出力管理部１４０からのメモリアクセス要求信号等をメモリ制御部１７０に送出し（ステップＳ１２２）、メモリアクセス要求信号の送出処理を終了する。【０１３６】
一方、ステップＳ１２０において、出力管理部１４０と入力管理部１５０との両方からはメモリアクセス要求信号を受領していない場合には（ステップＳ１２０：ＮＯ）、選択部１６０は、出力管理部１４０と入力管理部１５０とのいずれか一方からメモリアクセス要求信号を受領しているか否かを判定する（ステップＳ１２３）。【０１３７】
いずれからもメモリアクセス要求信号を受領していない場合には（ステップＳ１２３：ＮＯ）、メモリアクセス要求信号の送出処理を終了し、いずれか一方からメモリアクセス要求信号を受領している場合には（ステップＳ１２３：ＹＥＳ）、受領したメモリアクセス要求信号等をメモリ制御部１７０に送出し（ステップＳ１２４）、メモリアクセス要求信号の送出処理を終了する。【０１３８】
次に、メモリ制御部１７０の処理について説明する。【０１３９】
なお、以下のステップＳ１３０、Ｓ１３１の処理は繰り返し実行されるものとする。【０１４０】
メモリ制御部１７０は、選択部１６０が送出したメモリアクセス要求信号（上述のステップＳ１２１、Ｓ１２２、Ｓ１２４で送出したもの）を受領したか否かを判定し（ステップＳ１３０）、受領していない場合には（ステップＳ１３０：ＮＯ）、何も行わずメモリアクセス処理を終了する。【０１４１】
一方、メモリアクセス要求信号を受領した場合には（ステップＳ１３０：ＹＥＳ）、そのメモリアクセス要求信号に従って、自機が接続するメモリに対してデータの読み出し又は書き込みを行い（ステップＳ１３１）、メモリアクセス処理を終了する。なお、ステップＳ１３１において、メモリアクセス要求信号が読み出し要求信号である場合には、メモリ制御部１７０は、受領しているプロセッサの識別情報に基づいて、該当するプロセッサに読み出したデータを送出する。【０１４２】
＜適用例１＞
まず、実施の形態１に係る処理システム１０００を、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）のデコード機能を有するデジタル放送受信器１０００Ａに適用した例を説明する。【０１４３】
＜構成＞
図８は、適用例１に係るデジタル放送受信器１０００Ａの構成図である。【０１４４】
同図に示すように、デジタル放送受信器１０００Ａは、処理システム１０００のほか、アンテナ、チューナ、スピーカ、モニタ等を含んで構成される。【０１４５】
なお、以下では、説明を簡略化するために、各計算機は１つのプロセッサ１２０Ａのみを備えるものとすると共に、共通バス調停部１０２による共通バス１０１の使用権の調停処理については、ここでは特に言及しないものとする（同図においても省略している）。【０１４６】
ここで、各計算機（１００Ａ〜１００Ｅ）内のプロセッサ１２０Ａが、自機が接続するメモリ（１１０Ａ〜１１０Ｅ）の固有領域（共有データ以外が記憶された格納領域であって、同図の各メモリにおける網掛け部分がこの領域に該当する）に記憶されているプログラムを実行することにより、各計算機は、以下の機能を実現する。【０１４７】
即ち、計算機１００Ａは、アンテナからチューナを介して受信したＭＰＥＧストリーム（符号化ストリーム）から、ＡｕｄｉｏデータとＶｉｄｅｏデータとを切り出し、Ａｕｄｉｏデータのデコード処理と、デコードされたＡｕｄｉｏデータをスピーカに出力させる処理を行う機能を有する。【０１４８】
計算機１００Ｂ〜１００Ｄそれぞれは、計算機１００Ａが切り出したＶｉｄｅｏデータのデコード処理を行う機能を有する。【０１４９】
一般的に、Ｖｉｄｅｏデータのデコード処理は Ａｕｄｉｏデータのデコード処理と比較して演算量及び処理データ量が多い。従って、本適用例では、３つの計算機１００Ｂ〜１００Ｄが、Ｖｉｄｅｏデータのデコード処理を分担して行うこととしている。具体的には、図９に示すように、１つの画像（フレーム）を垂直方向に３等分したＶ１領域を計算機１００Ｂが、Ｖ２領域を計算機１００Ｃが、Ｖ３領域を計算機１００Ｄがそれぞれデコードする。【０１５０】
計算機１００Ｅは、計算機１００Ｂ〜１００Ｄによるデコード済みのＶｉｄｅｏデータをモニタに表示させる機能を有する。【０１５１】
＜各メモリ上のデータ＞
次に、図８に基づいて、各メモリに格納されるデータについて説明する。【０１５２】
同図の各メモリの左側に表記されている０及びアルファベットは、各メモリにおけるアドレス値を示している。例えば、メモリ１１０Ａにおいては、ＳｔＡの格納領域は０〜ａ−１番地であることを示している。なお、この適用例では、各メモリの「０」番地から各データを格納するものとして説明しているが、これは一例であり、任意のアドレスに各データを格納してもよい。これらの点については、以降の各適用例においても同様である。【０１５３】
メモリ１１０ＡにおけるＳｔＡは、計算機１００Ａが受信したＭＰＥＧストリームから切り出したＡｕｄｉｏデータであり、ＤｅｃＡは、計算機１００ＡがＳｔＡをデコードした結果であるデコード後のＡｕｄｉｏデータである。【０１５４】
また、メモリ１１０ＡにおけるＳｔＶ１、ＳｔＶ２、ＳｔＶ３それぞれは、計算機１００Ａが受信したＭＰＥＧストリームから切り出したＶｉｄｅｏデータを各領域（Ｖ１〜Ｖ３領域）に対応するように分割した分割Ｖｉｄｅｏデータである。【０１５５】
計算機１００Ｂ〜１００Ｄはこの分割Ｖｉｄｅｏデータに対してデコード処理を行うので、計算機１００Ｂ〜１００Ｄは、自機が処理する分割Ｖｉｄｅｏデータを計算機１００Ａと共有する必要がある。従って、同図に示すように、メモリ１１０ＢにはＳｔＶ１が、メモリ１１０ＣにはＳｔＶ２が、メモリ１１０ＤにはＳｔＶ３が格納される。【０１５６】
また、メモリ１１０ＢにおけるＤｅｃＶ１は、計算機１００Ｂがメモリ１１０ＢにおけるＳｔＶ１をデコードした結果であるデコード後の分割Ｖｉｄｅｏデータを示している。また、メモリ１１０ＣにおけるＤｅｃＶ２及びメモリ１１０ＤにおけるＤｅｃＶ３も、計算機１００Ｃ、１００ＤそれぞれがＳｔＶ２、ＳｔＶ３をデコードした結果であるデコード後の分割Ｖｉｄｅｏデータを示している。【０１５７】
計算機１００Ｅは、これらのデコード後の分割Ｖｉｄｅｏデータに基づいてモニタへの表示を行うので、これらの分割Ｖｉｄｅｏデータを計算機１００Ｂ〜１００Ｄと共有する必要がある。従って、同図に示すように、メモリ１１０ＥにはＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３が格納される。【０１５８】
また、一般的に、ＭＰＥＧにおけるＶｉｄｅｏストリームのデコード処理では、動き補償処理やデブロックフィルタ処理などのために、デコード済みの画像データの参照が必要になる。【０１５９】
従って、上述のように、１つの画像を３つの領域（Ｖ１〜Ｖ３領域）に分割して３つの計算機１００Ｂ〜１００Ｄが分担してデコードする場合には、他の計算機によるデコード済みの画像の参照が必要、つまり、３つの計算機１００Ｂ〜１００Ｄの間では、デコード済み画像のデータ共有が必要になることがある。【０１６０】
ここで、計算機１００Ｂ〜１００Ｄそれぞれが分担している領域（Ｖ１〜Ｖ３領域）をデコードする際に、どの範囲のデコード済み画像を参照する必要があるかは、一般的に、符号化の際に指定されたプロファイルとレベルで規定される動きベクトルの最大値により決定されるが、ここでは説明の簡略化のため、隣接する全ての領域の分割画像を参照すると仮定して説明を行う。【０１６１】
このため、同図に示すように、メモリ１１０ＢにはＤｅｃＶ２が、メモリ１１０ＣにはＤｅｃＶ１及びＤｅｃＶ３が、メモリ１１０ＣにはＤｅｃＶ２が格納される。【０１６２】
＜管理情報テーブル＞
次に、各計算機が保持する出力管理情報テーブル１８０と入力管理情報テーブル１９０の内容例を説明する。【０１６３】
図１０は、適用例１に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。【０１６４】
例えば、同図に示す計算機１００Ａにおける出力管理情報テーブル１８０の出力管理情報１８６は、メモリ１１０Ａにおいて、Ｓｔａｒｔ  Ａｄｄｒｅｓｓが「ａ」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「ｂ−１」である格納領域に格納されている共有データ（つまり、ＳｔＶ１）のＤａｔａ  ＩＤは「０」であり、この共有データを送信する計算機のＭａｓｔｅｒ  ＩＤは「０」（つまり計算機１００Ａ）であることを示している。【０１６５】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、ＳｔＶ１、ＳｔＶ２、ＳｔＶ３それぞれをメモリ１１０Ａに書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０１６６】
また、計算機１００Ｂは、ＤｅｃＶ１をメモリ１１０Ｂに、計算機１００ＣはＤｅｃＶ２をメモリ１１０Ｃに、計算機１００ＤはＤｅｃＶ３をメモリ１１０Ｄにそれぞれ書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０１６７】
図１１は、適用例１に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。【０１６８】
例えば、同図に示す計算機１００Ｂにおける入力管理情報テーブル１９０の入力管理情報１９６は、Ｍａｓｔｅｒ  ＩＤは「０」（つまり、計算機１００Ａ）であり、Ｄａｔａ  ＩＤは「０」であるデータ（つまり、ＳｔＶ１）は自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ１１０ＢのＳｔａｒｔ  Ａｄｄｒｅｓｓが「０」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「ｆ−１」である格納領域に格納されることを示している。【０１６９】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂは、共通バス１０１にＳｔＶ１が出力されるとこれをメモリ１１０Ｂの対応する領域（０〜ｆ−１番地）に書き込み、同様にＤｅｃＶ２が出力されると、メモリ１１０Ｂの対応する領域に書き込むことになる。【０１７０】
また、同様に、計算機１００Ｃは、共通バス１０１にＳｔＶ２、ＤｅｃＶ１、ＤｅｃＶ３が出力されると、計算機１００Ｄは、ＳｔＶ３、ＤｅｃＶ２が出力されると、計算機１００Ｅは、ＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３が出力されるとこれらをそれぞれのメモリの対応する領域に書き込むことになる。【０１７１】
上述のように各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することにより、各計算機が処理に必要になる共有データのみを、共有データの同一性を保ちつつ、各メモリに保持することができる。【０１７２】
＜従来との比較＞
以下、従来の方法（特許文献１等の方法）により各計算機がデータを共有するデジタル放送受信器１０Ａにおいて、各メモリに保持されるデータを説明する。【０１７３】
図１２は、従来の方法により各計算機がデータを共有するデジタル放送受信器１０Ａの構成図である。【０１７４】
同図に示す計算機６Ａ〜６Ｅの機能は、上述の計算機１００Ａ〜１００Ｅと同様であり、メモリ７Ａ〜７Ｅも上述のメモリ１１０Ａ〜１１０Ｅと同様のメモリである。【０１７５】
従来の方法では、システム全体で必要となる全ての共有データを全てのメモリに格納するので、同図に示すように、システム全体の共有データ（ＳｔＶ１、ＳｔＶ２、ＳｔＶ３、ＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３）が各メモリに格納される。【０１７６】
その結果、各メモリは、接続先の計算機が使用しないデータにより、格納領域が無駄に消費されることになる。例えば、メモリ７Ｂは、計算機６Ｂが使用しないＳｔＶ２、ＳｔＶ３、ＤｅｃＶ３により、格納領域が無駄に消費されている。【０１７７】
また、例えば、計算機６ＡがＳｔＶ２をメモリ７Ａに書き込む際に、このＳｔＶ２が各メモリに書き込まれることになるので、各メモリに対する接続先の計算機からのアクセスと競合が生じる可能性が高まる。【０１７８】
一方、上述の適用例１に係るデジタル放送受信器１０００Ａにおいては、
各計算機は、必要なデータのみを各メモリに格納するので、領域が無駄に消費されることはなく（図８参照）、かつ無駄なアクセス競合も生じない。【０１７９】
＜適用例２＞
次に、実施の形態１で説明した各計算機間のデータ共有方法を、上述のデジタル放送受信器１０００Ａにおける各計算機の同期制御に適用した例を説明する。【０１８０】
ここでの同期制御とは、複数の計算機に対して一斉に特定の処理を行わせることにより、システム全体を制御することをいう。デジタル放送受信器１０００Ａにおける同期制御の例としては、各計算機にチャンネル切り替えに伴うデコードストリームの切り替え処理や、ストリームのエラーによるピクチャスキップ、バッファフラッシュ等のエラーコンシールメント処理などを一斉に行わせることが挙げられる。【０１８１】
＜各メモリ上のデータ＞
まず、各メモリに格納されるデータについて説明する。【０１８２】
図１３（ａ）は、適用例２に係るデジタル放送受信器１０００Ａの各メモリにおけるデータ配置を示す図である。【０１８３】
なお、上述の適用例１に係るデジタル放送受信器１０００Ａは、５つの計算機（１００Ａ〜１００Ｅ）を備えるものとして説明したが、以下では、４つの計算機１００Ａ〜１００Ｄを備えるものとして説明する。【０１８４】
ここで、メモリ１１０Ｂ〜１１０ＤにおけるＳｔａｔｕｓ  ｆｌａｇ１〜３はそれぞれ、接続先の計算機１００Ｂ〜１００Ｄにおける同期処理の実行状態を示すフラグであり、この例では、実行していない状態を「０」、実行中の状態を「１」として説明する。各計算機はそれぞれＳｔａｔｕｓ  ｆｌａｇ１〜３が「０」から「１」に更新されることで同期処理を開始し、同期処理を完了すると、「１」から「０」に更新する。【０１８５】
また、メモリ１１０ＡにおけるＳｔａｒｔ  ｆｌａｇは、各計算機に同期処理を開始させるための起動フラグであり、Ｅｎｄ  ｆｌａｇ１〜３それぞれは、計算機１００Ｂ〜１００Ｄにおける同期処理の実行状態を示すフラグであり、この例では、実行していない状態を「０」、実行中の状態を「１」として説明する。【０１８６】
なお、各フラグは「０」又は「１」の値を取るものとして説明しているが、これは一例であり、他の値であってもよい。【０１８７】
＜管理情報テーブル＞
次に、各計算機が保持する出力管理情報テーブル１８０と入力管理情報テーブル１９０の内容例を説明する。【０１８８】
図１４（ａ）は、適用例２に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。【０１８９】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、Ｓｔａｒｔ  ｆｌａｇを書き込む際に、このＳｔａｒｔ  ｆｌａｇを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０１９０】
また、計算機１００Ｂ〜１００Ｄは、それぞれＳｔａｔｕｓ  ｆｌａｇ１〜３を書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０１９１】
図１４（ｂ）は、適用例２に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。【０１９２】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂ、１００Ｃ、１００Ｄは、共通バス１０１にＳｔａｒｔ  ｆｌａｇが出力されるとこれを受領し、メモリ１１０ＢのＳｔａｔｕｓ  ｆｌａｇ１の領域に、メモリの１１０ＣのＳｔａｔｕｓ  ｆｌａｇ２の領域に、メモリ１１０ＤのＳｔａｔｕｓ  ｆｌａｇ３の領域にそれぞれ書き込むことになる。【０１９３】
また、計算機１００Ａは、計算機１００Ｂ、１００Ｃ、１００ＤからそれぞれＳｔａｔｕｓ  ｆｌａｇ１、２、３が出力されるとこれを受領し、それぞれをメモリ１１０ＡのＥｎｄ  ｆｌａｇ１、２、３の格納領域に書き込むことになる。【０１９４】
＜動作＞
以下、各計算機の動作を具体的に説明する。【０１９５】
図１５は、適用例２に係る各計算機の動作を説明するための図である。【０１９６】
なお、同図では、データの流れを矢印で示し、各メモリ内のデータのうち、書き込まれたデータを太字で表記している。これは、以下の各適用例においても同様である。【０１９７】
計算機１００Ａは、計算機１００Ｂ〜１００Ｄに同期処理を実行させる必要が生じた場合に、まず、メモリ１１０Ａに格納されているＥｎｄ  ｆｌａｇ１〜３が「０」であること、つまり、計算機１００Ｂ〜１００Ｄが同期処理を実行中でないことを確認する（同図（ａ）参照）。【０１９８】
続いて、計算機１００Ａは、計算機１００Ｂ〜１００Ｄに同期処理を開始させるために、メモリ１１０ＡのＳｔａｒｔ  ｆｌａｇの格納領域に「１」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｒｔ  ｆｌａｇ「１」を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。【０１９９】
なお、計算機１００Ａは、メモリ１１０ＡのＥｎｄ  ｆｌａｇ１〜３の各領域に「１」を書き込んでおく。【０２００】
計算機１００Ｂ〜１００Ｄそれぞれは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｒｔ  ｆｌａｇ「１」を受領する判定を行い、メモリ１１０Ｂ〜１１０ＤのＳｔａｔｕｓ  ｆｌａｇ１〜３の各領域に「１」を書き込む（同図（ｂ）参照）。【０２０１】
この書き込みにより、計算機１００Ｂ〜１００Ｄそれぞれは同期処理を開始する。計算機１００Ｂ〜１００Ｄそれぞれは同期処理が完了するとメモリ１１０Ｂ〜１１０ＤのＳｔａｔｕｓ  ｆｌａｇ１〜３に「０」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にそれぞれを出力する（上記同様に出力したデータに対応するＭａｓｔｅｒ  ＩＤ、ＤａｔａＩＤ等が共に出力される）。【０２０２】
計算機１００Ａは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤと、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ  ｆｌａｇ１〜３を受領する判定を行い、メモリ１１０ＡのＥｎｄ  ｆｌａｇ１〜３の領域に書き込む（同図（ｃ）参照）。【０２０３】
最後に計算機１００Ａは、メモリ１１０Ａに格納されているＥｎｄ  ｆｌａｇ１〜３が「０」であること、つまり、計算機１００Ｂ〜１００Ｄが同期処理が完了したことを確認する。【０２０４】
＜従来との比較＞
図１３（ｂ）は、従来方式によりデータを共有するデジタル放送受信器１０Ａにおける各計算機に同期処理を行わせる場合の各メモリにおけるデータ配置を示す図である。【０２０５】
これと比較して、デジタル放送受信器１０００Ａは、同図（ａ）に示すように、各メモリの格納領域に無駄が生じておらず、また、無駄な書き込みが行われないので、無駄なアクセス競合が生じないといえる。【０２０６】
また、各計算機において、上述のように出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することにより、計算機１００ＡによるＳｔａｒｔ  ｆｌａｇ「１」のメモリ１１０Ａへの書き込みにより、複数の計算機１００Ｂ〜１００Ｄにおいて同時に同期処理を開始することができ、かつ、計算機１００Ｂ〜１００Ｄそれぞれが出力するＳｔａｔｕｓ  ｆｌａｇ１〜３によって、計算機１００Ａは各計算機における同期処理の完了を知ることができるので、容易に同期制御を実現できる。【０２０７】
なお、この適用例では、計算機１００Ａが、他の全ての計算機（１００Ｂ〜１００Ｄ）に同期処理を行わせる例を説明したが、一部の計算機のみに同期処理を行わせることも可能である。【０２０８】
例えば、計算機１００Ｂと１００Ｃのみに同期処理を行わせ、計算機１００Ｄには行わせない場合には、計算機１００Ｄが保持する入力管理情報テーブル１９０におけるＳｔａｔｕｓ  ｆｌａｇ３についての入力管理情報を無効にすればよい（Ｖａｌｉｄを「０」に設定する）。【０２０９】
また、この適用例では、計算機１００Ａが、他の全ての計算機（１００Ｂ〜１００Ｄ）に同じタイミングで同期処理を開始させる例を説明したが、異なるタイミングで開始させることも可能である。【０２１０】
例えば、計算機１００Ｂと１００Ｃとには同じタイミングＴ１で、計算機１００Ｄはこれとは異なるタイミングＴ２で同期処理を開始させる場合に、計算機１００Ａは、タイミングＴ１用のＳｔａｒｔ  ｆｌａｇ１と、タイミングＴ２用のＳｔａｒｔ  ｆｌａｇ２をメモリ１１０Ａに格納するようにし、それぞれを「１」に更新したときに共通バス１０１に出力するように、計算機１００Ａの出力管理情報テーブル１８０を設定しておく。【０２１１】
また、計算機１００Ｂと１００ＣとはＳｔａｒｔ  ｆｌａｇ１を受領するように、計算機１００Ｄは、Ｓｔａｒｔ  ｆｌａｇ２を受領するようにそれぞれの入力管理情報テーブル１９０を設定しておく。なお、計算機１００Ｂ〜１００Ｄが行う同期処理の内容は同一であっても異なってもよいのはもちろんである。【０２１２】
＜適用例３＞
次に、実施の形態１に係る処理システム１０００を、各計算機が他の計算機の処理結果を用いて処理を行う連携処理システムに適用した例を説明する。【０２１３】
なお、処理システム１０００は、５つの計算機（１００Ａ〜１００Ｅ）を備えるものとして説明したが、本適用例に係る連携処理システムは、４つの計算機１００Ａ〜１００Ｄを備えるものとして説明する。【０２１４】
＜連携処理の流れ＞
図１６は、適用例３における連携処理の流れを説明するための図である。【０２１５】
同図に示すように、本連携処理は、処理Ａ、処理Ｂ、処理Ｃ、処理Ｄの順で行われる。ここで、処理Ｂ〜処理Ｄは、１つ前に行われた処理の結果（Ｄａｔａ０〜２）を用いて行われる。【０２１６】
なお、以下では、処理Ａ〜Ｄを、それぞれ計算機１００Ａ〜１００Ｄが行うものとして説明する。また、計算機１００Ｄによる処理Ｄが完了すると、計算機１００Ａは、次の処理Ａを開始するものとする。【０２１７】
＜各メモリ上のデータ＞
図１７（ａ）は、適用例３に係る各メモリのデータ配置を示す図である。【０２１８】
ここで、各メモリにおけるＳｔａｔｕｓ０〜３は、各計算機に対応する処理を開始させるための起動フラグであり、各計算機は、このフラグが自機のＭａｓｔｅｒ  ＩＤと一致する場合に対応する処理を開始し、その処理が完了すると次の処理を行う計算機のＭａｓｔｅｒ  ＩＤを書き込む。【０２１９】
また、各メモリにおけるＤａｔａ０〜３はそれぞれ、処理Ａ〜Ｄにより生成されるデータであり、図１６に示す各データ（Ｄａｔａ０〜３）に対応する。【０２２０】
＜管理情報テーブル＞
図１８（ａ）は、適用例３に係る各計算機の出力管理情報テーブル１８０の内容例を示す図である。【０２２１】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａ〜１００Ｄは、Ｓｔａｔｕｓ０〜３及びＤａｔａ０〜２を各メモリに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。【０２２２】
図１８（ｂ）は、適用例３に係る各計算機の入力管理情報テーブル１９０の内容例を示す図である。【０２２３】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ａ〜１００Ｃは、自機が行う処理の前後の処理を行う計算機から出力されるＳｔａｔｕｓを、それぞれメモリ１１０Ａ〜１１０ＣのＳｔａｔｕｓ０〜２の領域に書き込むことになる。また、計算機１００Ｄは、自機が行う処理Ｄの前の処理Ｃを行う計算機１００Ｃから出力されるＳｔａｔｕｓ２を、メモリ１１０ＤのＳｔａｔｕｓ３の領域に書き込むことになる。【０２２４】
また、計算機１００Ｂ〜１００Ｄは、自機が行う処理の前に処理を行う計算機から出力されるＤａｔａをそれぞれメモリ１１０Ｂ〜１１０ＤのＤａｔａ１〜３の領域に書き込むことになる。【０２２５】
＜動作＞
図１９は、適用例３に係る各計算機の動作を説明するための図である。【０２２６】
まず、計算機１００Ａは、メモリ１１０ＡのＳｔａｔｕｓ０の領域を参照し、Ｓｔａｔｕｓ０が自機のＭａｓｔｅｒ  ＩＤ「０」と一致する場合に、処理Ａを開始する（同図（ａ）参照）。【０２２７】
計算機１００Ａは、処理Ａを完了すると、メモリ１１０Ａの該当領域にＤａｔａ０を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＤａｔａ０を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「１」等も共に出力する）。【０２２８】
計算機１００Ｂは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「１」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＤａｔａ０を受領する判定を行い、メモリ１１０ＢのＤａｔａ１の領域に、Ｄａｔａ０を書き込む。【０２２９】
その後、計算機１００Ａは、メモリ１１０ＡのＳｔａｔｕｓ０の領域に「１」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｔｕｓ０「１」を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。【０２３０】
計算機１００Ｂは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ０「１」を受領する判定を行い、メモリ１１０ＢのＳｔａｔｕｓ１の領域に「１」を書き込む（同図（ｂ）参照）。【０２３１】
この結果、計算機１００Ｂは、Ｓｔａｔｕｓ１が自機のＭａｓｔｅｒ  ＩＤ「１」と一致するので処理Ｂを開始し、処理Ｂが完了すると、メモリ１１０Ｂの該当領域にＤａｔａ１を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＤａｔａ１を出力する（Ｍａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「１」等も共に出力する）。【０２３２】
計算機１００Ｃは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「１」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＤａｔａ１を受領する判定を行い、メモリ１１０ＣのＤａｔａ２の領域に、Ｄａｔａ１を書き込む。【０２３３】
その後、計算機１００Ｂは、メモリ１１０ＢのＳｔａｔｕｓ１の領域に「２」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｔｕｓ１「２」を出力する（Ｍａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。【０２３４】
計算機１００Ａ及び１００Ｃそれぞれは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ１「２」を受領する判定を行い、それぞれメモリ１１０ＡのＳｔａｔｕｓ０の領域、メモリ１１０ＣのＳｔａｔｕｓ２の領域に「２」を書き込む（同図（ｃ）参照）。【０２３５】
同様にして、計算機１００Ｃは処理Ｃを開始し、この処理Ｃが完了すると、メモリ１１０Ｃの該当領域にＤａｔａ２を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ｄは、メモリ１１０ＤのＤａｔａ３の領域に、Ｄａｔａ２を書き込む。その後、計算機１００Ｃは、メモリ１１０ＣのＳｔａｔｕｓ２の領域に「３」を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ｂ及び１００Ｄは、このＳｔａｔｕｓ２「３」をそれぞれメモリ１１０ＢのＳｔａｔｕｓ１の領域、メモリ１１０ＤのＳｔａｔｕｓ３の領域に書き込む（同図（ｄ）参照）。【０２３６】
同様に、計算機１００Ｄは、処理Ｄを開始し、この処理Ｄが完了すると、メモリ１１０Ｄの該当領域にＤａｔａ３を書き込む。その後、計算機１００Ｄは、メモリ１１０ＤのＳｔａｔｕｓ３の領域に「０」を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ａ及び１００Ｃは、このＳｔａｔｕｓ３「０」をそれぞれメモリ１１０ＡのＳｔａｔｕｓ０の領域、メモリ１１０ＣのＳｔａｔｕｓ２の領域に書き込む（同図（ｅ）参照）。【０２３７】
以降、計算機１００Ａは、Ｓｔａｔｕｓ０が自機のＭａｓｔｅｒ  ＩＤ「０」と一致するので、再び処理Ａを開始することになる。【０２３８】
＜従来との比較＞
図１７（ｂ）は、従来方式によりデータを共有して連携処理を行う連携処理システムにおける各メモリのデータ配置を示す図である。【０２３９】
同図（ａ）に示す適用例３に係る連携処理システムでは、同図（ｂ）と比較して各メモリにおける共有データ用の格納領域を大幅に削減できており、各メモリの格納領域に無駄が生じておらず、また、無駄な書き込みによる計算機内のプロセッサとのメモリアクセス競合が生じないといえる。【０２４０】
なお、本適用例においては、説明を簡略化するために、処理Ａ→処理Ｂ→処理Ｃ→処理Ｄといったように順番に連携処理を行うものとして、各メモリに１世代分のＳｔａｔｕｓとＤａｔａを格納する領域を設ける例を説明したが、複数世代分のＳｔａｔｕｓとＤａｔａとを格納するようにして各計算機が各処理を並列して行うようにすることも可能である。【０２４１】
また、本実施例では、各計算機のＳｔａｔｕｓを前後の処理を行う計算機が共有するものとして説明したが、全ての計算機が共有するように入力管理情報テーブル１９０を設定してもよい。これにより、各計算機は、自機が接続するメモリのＳｔａｔｕｓを参照することにより、現在処理している計算機を知ることができるので、システム全体での処理状況を容易に把握できるようになる。【０２４２】
＜適用例４＞
上述の適用例３に係る連携処理システムに、定常時においてアイドル状態である計算機１００Ｅを加え、他の計算機１００Ｂ〜１００Ｄの処理負荷に応じて、その計算機の処理の一部をこの計算機１００Ｅが分担する例を説明する。【０２４３】
図２０は、適用例４に係る各計算機の動作を説明するための図である。【０２４４】
以下では、同図を用いて、計算機１００Ｃが行う処理Ｃの負荷が高くなったときに、処理Ｃの一部をこの計算機１００Ｅが分担する場合の動作例を説明する。【０２４５】
なお、同図は、計算機１００Ａが処理Ａを完了し、Ｄａｔａ０を共通バス１０１に出力した後の状態を示しており、計算機１００Ａの図示を省略している。【０２４６】
同図（ａ）に示すように、定常時においては、計算機１００Ｂ〜１００Ｄがそれぞれ処理Ｂ〜Ｄを行っており、計算機１００Ｅはアイドル状態である。【０２４７】
なお、適用例３に係る各計算機は、Ｓｔａｔｕｓが自機のＭａｓｔｅｒ  ＩＤと一致した場合に処理を開始するものとして説明したが、この適用例４では、１つの前の処理結果（Ｄａｔａ０〜２）が書き込まれた場合に、処理を開始するものとし、また、１つ前の処理結果と自装置の処理結果とを異なる領域に書き込むものとしている。【０２４８】
図２１（ａ）は、適用例４に係る定常時における各計算機の出力管理情報テーブル１８０との内容例を示す図である。【０２４９】
なお、同図においても、計算機１００Ａの出力管理情報テーブル１８０の記載を省略している。【０２５０】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ｂ、１００Ｃは、それぞれＤａｔａ１、Ｄａｔａ２を書き込む際に、このＤａｔａ１、Ｄａｔａ２を、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０２５１】
また、図２１（ｂ）は、適用例４に係る定常時における各計算機の入力管理情報テーブル１９０との内容例を示す図である。【０２５２】
なお、同図においても、計算機１００Ａの入力管理情報テーブル１９０の記載を省略している。【０２５３】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂ〜１００Ｄは、それぞれ共通バス１０１にＤａｔａ０〜Ｄａｔａ２が出力されるとこれを受領し、メモリ１１０Ｂ〜１１０Ｄの対応する領域に書き込むことになる。【０２５４】
図２０（ａ）の状態から、計算機１００Ｃによる処理Ｃの処理負荷が高くなってくると（例えば、処理Ｃの開始から終了までの処理時間が所定時間以上になると）、アイドル状態の計算機１００Ｅに処理Ｃの一部を実行させるために、図２１（ｃ）に示すように、任意の計算機内の１つのプロセッサ（例えば、計算機１００Ａのプロセッサ１２０Ａ）は、計算機１００Ｅの入力管理情報テーブル１９０に入力管理情報を登録する。なお、この登録は、例えば、計算機１００Ｃから処理Ｃの負荷が高くなった旨の通知を受けて行う。【０２５５】
これにより、計算機１００Ｅは、計算機１００Ｂにより共通バス１０１に出力されたＤａｔａ１を受領し、メモリ１１０Ｅの対応する領域に書き込むことになる（図２０（ｂ）参照）。【０２５６】
その後、処理に必要なＤａｔａ１が、計算機１００Ｅのメモリ１１０Ｅに蓄積されると、図２１（ｄ）、（ｅ）に示すように、計算機１００Ｄの入力管理情報テーブル１９０に入力管理情報１９７を登録し、また、計算機１００Ｅの出力管理情報を登録する。【０２５７】
その後、計算機１００Ｅは処理Ｃを開始し、メモリ１１０Ｅの該当領域にＤａｔａ２を書き込むと共に、共通バス１０１にＤａｔａ２を出力し、計算機１００Ｄは、これを受領してメモリ１１０ＤのＤａｔａ２の領域に書き込む（図２０（ｃ）参照）。【０２５８】
なお、処理Ｃを計算機１００Ｃと１００Ｅが分担して行う際に、例えば、Ｄａｔａ１を２等分した前半部分を用いて計算機１００Ｃが処理Ｃを行ってＤａｔａ２の前半部分を出力し、Ｄａｔａ１の後半部分を用いて計算機１００Ｅが処理Ｃを行ってＤａｔａ２の後半部分を出力するものとする。つまり、計算機１００Ｃから出力されるＤａｔａ２の前半部分と計算機１００Ｅから出力されるＤａｔａ２の後半部分とをあわせてＤａｔａ２を構成するように、メモリ１１０Ｄの対応する領域に書き込まれることになる。【０２５９】
このように、各計算機は、出力管理情報テーブル１８０及び入力管理情報テーブル１９０に基づいて共有データの出入力を制御するため、このテーブルを必要に応じて更新することで、運用中においても、他の計算機に大きな影響を与えることなく、連携処理システムが備える計算機の数を容易に増減させることができる。このことは、特にリアルタイム性が要求される処理を実現するシステムにおいて、性能保証が容易に実現できることを意味する。【０２６０】
また、計算機の数を増やした場合に、その計算機用に別個にデータを出力する必要がないので、共通バス１０１上のデータ量の増加を防止できる。【０２６１】
また、定常時において計算機１００Ｅは、他の計算機１００Ａ〜１００Ｃが共通バス１０１に出力したデータをメモリ１１０Ｅに書き込むことはないので、定常時に、計算機１００Ａ〜１００Ｄとのデータの授受を必要としないような処理を計算機１００Ｅに実行させるようにした場合には、計算機１００Ｅは、メモリ１１０Ｅの格納領域を専有し、かつアクセス競合を生じることなく効率的に処理を行うことができる。【０２６２】
なお、本適用例では、処理Ｃを計算機１００Ｃと１００Ｅとが分担して処理する際に、分担処理を行っている他の計算機が生成したＤａｔａ２の参照が必要ないものとして説明したが、他の計算機が生成したＤａｔａ２の参照が必要な場合にも、適用例１で説明したように、計算機１００Ｃと１００Ｅの入力管理情報テーブル１９０に、分担処理を行っている他の計算機が出力するＤａｔａ２を受領するような入力管理情報を登録することで実現可能である。【０２６３】
また、本適用例では、処理Ｃを計算機１００Ｃと１００Ｅとが分担して処理する場合を説明したが、例えば、計算機１００Ｃが故障等により使用できなくなった場合においても、同様の方法で、計算機１００Ｃによる処理Ｃの実行を、計算機１００Ｅに代替させることが可能である。【０２６４】
また、本適用例では、計算機１００Ｅは、定常時においては、他の計算機１００Ａ〜１００ＣからのＤａｔａ０〜２を受領しないよう、計算機１００Ｅの入力管理情報テーブル１９０を設定していたが、定常時においても受領するようにしておいてもよい。計算機１００Ｃ、１００Ｄにおいても、それぞれ計算機１００ＥからＤａｔａ1、Ｄａｔａ２及び３を受領するように、計算機１００Ｃ、１００Ｄの入力管理情報テーブル１９０を設定してもよい（図２２（ａ）、（ｂ）参照）。【０２６５】
この場合、各計算機間のデータの流れは、同図（ｃ）に示すようになる。【０２６６】
これにより、計算機１００Ａ〜１００Ｃが生成した最新のＤａｔａ０〜２が計算機１００Ｅのメモリ１１０Ｅに常時反映されるため、計算機１００Ｅが処理Ｂ〜Ｄのいずれの分担処理を開始する際にも、出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定しなおす必要がなく、より高速に分担処理を開始させることができる。【０２６７】
なお、図２２（ｂ）のように計算機１００Ｃ、１００Ｄにおいて、入力管理情報テーブル１９０を設定した場合でも、計算機１００Ｅが分担処理を開始するまでは、計算機１００Ｅから共通バス１０１にＤａｔａ１、Ｄａｔａ２やＤａｔａ３が出力されることはないので、メモリ１１０ＢへのＤａｔａ１、メモリ１１０ＣへのＤａｔａ２やメモリ１１０ＤへのＤａｔａ３の書き込みは生じない。従って、上述のように設定した場合でも、計算機１００Ｅが分担処理を開始するまでは、共通バス１０１におけるデータ量は、図２０で説明した場合と変わらず、他の計算機に影響を与えることもない。【０２６８】
＜適用例５＞
実施の形態１で説明した各計算機間のデータ共有方法を、各計算機の初期化処理に適用した例を説明する。【０２６９】
＜各メモリ上のデータ配置＞
図２３（ａ）は、適用例５に係る各メモリのデータ配置を示す図である。【０２７０】
ここで、各メモリにおけるＩｎｉｔ  ａｌｌは、各計算機が共通して使用する初期データであり、Ｉｎｉｔ０〜Ｉｎｉｔ３は、それぞれ計算機１００Ａ〜１００Ｄのみが使用する初期データであり、Ｉｎｉｔ１２は、計算機１００Ｂと１００Ｃとが、Ｉｎｉｔ２３は、計算機１００Ｃと１００Ｄとが、Ｉｎｉｔ３１は、計算機１００Ｂと１００Ｄとが使用する初期データである。【０２７１】
＜管理情報テーブル＞
図２３（ｂ）は、適用例５に係る各計算機の出力管理情報テーブル１８０との内容例を示す図である。【０２７２】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１〜３、Ｉｎｉｔ１２、Ｉｎｉｔ２３、Ｉｎｉｔ３１をメモリ１１０Ａに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。【０２７３】
なお、他の計算機（１００Ｂ〜１００Ｄ）の出力管理情報テーブル１８０には有効な出力管理情報が登録されていない（つまり、Ｖａｌｉｄは「０」であるが、同図における図示は省略している）ため、計算機１００Ｂ〜１００Ｄは、共通バス１０１にデータを出力することはない。【０２７４】
図２３（ｃ）は、適用例５に係る各計算機の入力管理情報テーブル１９０との内容例を示す図である。【０２７５】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１、Ｉｎｉｔ１２、Ｉｎｉｔ３１を、計算機１００Ｃは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ２、Ｉｎｉｔ１２、Ｉｎｉｔ２３を、計算機１００Ｄは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ３、Ｉｎｉｔ２３、Ｉｎｉｔ３１を各メモリ（１００Ｂ〜１００Ｄ）のそれぞれ対応する領域に書き込むことになる。【０２７６】
なお、計算機１００Ａの入力管理情報テーブル１９０には有効な入力管理情報が登録されていない（つまり、Ｖａｌｉｄは「０」であるが、同図における図示は省略している）ため、計算機１００Ａは、共通バス１０１に他の計算機（１００Ｂ〜１００Ｄ）により出力されているデータをメモリ１１０Ａに書き込むことはない。【０２７７】
上述のように、各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することによって、計算機１００Ａが各初期データ（Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１〜３、Ｉｎｉｔ１２、Ｉｎｉｔ２３、Ｉｎｉｔ３１）をメモリ１１０Ａに書き込むだけで、メモリ１１０Ｂ〜１１０Ｄに他の計算機（１００Ｂ〜１００Ｄ）が使用する初期データがそれぞれ書き込まれることになるため、システム全体の初期化を高速に行うことができる。【０２７８】
また、本適用例では、計算機１００Ａのみが初期データの書き込みを行うため、例えば、初期データを外部記憶装置で保持するようなシステムにおいては、計算機１００Ａのみをこの外部記憶装置と接続すれば足りる。【０２７９】
即ち、マルチプロセッサシステムにおいて、外部接続装置と接続するためのインタフェース部を計算機１００Ａのみに設ければ足りるため、システム全体のコストを削減することができる。
≪実施の形態２≫
実施の形態１に係る各計算機の選択部１６０は、出力管理部１４０からのメモリアクセス要求信号と入力管理部１５０からの書き込み要求信号との両方を受領した場合に、入力管理部１５０からの書き込み要求信号を優先的にメモリ制御部１７０に送出するものとして説明した。【０２８０】
従って、計算機内のプロセッサからのメモリアクセスが待たされ、処理効率が低下するようなことが生じ得る。【０２８１】
そこで、以下では、各計算機に、入力管理部１５０からの書き込み要求に係るデータ等を一時的に格納するためのバッファを設けることにより、計算機内のプロセッサからのメモリアクセスをより高速に行わせるように変えた一実施例を、上述の実施の形態１からの変更部分を中心に説明する。【０２８２】
＜構成＞
図２４は、実施の形態２に係る処理システム１１００のシステム構成図である。【０２８３】
処理システム１１００は、同図に示すとおり、実施の形態１に係る処理システム１０００における各計算機に代えて、計算機２００Ａ〜２００Ｃを備える。【０２８４】
計算機２００Ａ〜２００Ｃはそれぞれ、実施の形態１に係る各計算機の選択部１６０に代えて共有データ制御部２２０を備え、更にバッファ２１０を備える。【０２８５】
各計算機（２００Ａ〜２００Ｃ）は、同様の構成を有するため、以下では、計算機２００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態１に係る計算機１００Ａと異なる箇所であることを示している。【０２８６】
ここで、バッファ２１０は、共有データ制御部２２０が入力管理部１５０を介して受領した書き込み要求信号に係るデータを一時的に記憶するためのメモリ領域である。より詳細には、共有データ制御部２２０により、書き込み対象データと、そのデータを書き込む先となるメモリ１１０Ａのアドレスと、そのデータがメモリ１１０Ａへの書き込みが完了しているか否かを示すフラグとが対応付けて記録される。【０２８７】
共有データ制御部２２０は、出力管理部１４０又は入力管理部１５０からメモリアクセス要求信号を受領した場合に、バッファ２１０、又はメモリ制御部１７０を介してメモリ１１０Ａにアクセスする機能を有する。【０２８８】
＜動作＞
以下、共有データ制御部２２０の動作を説明する。【０２８９】
図２５は、共有データ制御部２２０によるアクセス制御処理を示すフローチャートである。【０２９０】
なお、以下のステップＳ２０１〜Ｓ２１６の処理は繰り返し実行されるものとする。【０２９１】
共有データ制御部２２０は、出力管理部１４０からメモリアクセス要求信号を受領したか否かを判定し（ステップＳ２０１）、受領した場合には（ステップＳ２０１：ＹＥＳ）、そのアクセス要求に係るメモリ１１０Ａ上のアドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを判定する（ステップＳ２０２）。より詳細には、アクセス要求に係るメモリ１１０Ａ上のアドレスと一致するアドレス及びメモリ１１０Ａへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ２１０に格納されている場合にのみ肯定的な判定を行う。【０２９２】
アドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されていない場合には（ステップＳ２０２：ＮＯ）、共有データ制御部２２０は、出力管理部１４０からのメモリアクセス要求信号等をメモリ制御部１７０に送出する（ステップＳ２０３）。【０２９３】
続いて、共有データ制御部２２０は、入力管理部１５０から書き込み要求信号を受領したか否かを判定し（ステップＳ２０４）、受領していない場合には（ステップＳ２０４：ＮＯ）、アクセス制御処理を終了し、受領した場合には（ステップＳ２０４：ＹＥＳ）、入力管理部１５０からの書き込み要求信号に含まれる書き込み対象データと、対応するメモリ１１０Ｂのアドレスと、書き込みが完了していない旨を示すフラグとを対応付けてバッファに書き込み（ステップＳ２０５）、アクセス制御処理を終了する。【０２９４】
一方、ステップＳ２０２において、アドレスが一致し、かつメモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されている場合には（ステップＳ２０２：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出し（ステップＳ２０６）、出力管理部１４０からのメモリアクセス要求信号が書き込み要求信号であるか否かを判定する（ステップＳ２０７）。【０２９５】
出力管理部１４０からのメモリアクセス要求信号が読み出し要求信号である場合には（ステップＳ２０７：ＮＯ）、共有データ制御部２２０は、ステップＳ２０６で読み出したデータをプロセッサに送出すると共に、そのデータを、バッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出する（ステップＳ２０８）。【０２９６】
一方、出力管理部１４０からのメモリアクセス要求信号が書き込み要求信号である場合には（ステップＳ２０７：ＹＥＳ）、共有データ制御部２２０は、ステップＳ２０６で読み出したデータに、その書き込み要求信号に係るデータを反映させる処理（例えば、上書き処理）を行い、反映後のデータをバッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出する（ステップＳ２０９）。【０２９７】
ステップＳ２０８、又はステップＳ２０９において、書き込み要求信号を送出すると、共有データ制御部２２０は、バッファ２１０において、その書き込み要求に係るデータと対応付けて記憶されているフラグを書き込みが完了している旨を示すように更新し、上述のステップＳ２０４の処理に進む。【０２９８】
また、ステップＳ２０１において、出力管理部１４０からメモリアクセス要求信号を受領していない場合には（ステップＳ２０１：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からメモリアクセス要求信号（書き込み要求信号）を受領したか否かを判定し（ステップＳ２１０）、受領していない場合には（ステップＳ２１０：ＮＯ）、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを判定する（ステップＳ２１１）。より詳細には、メモリ１１０Ａへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ２１０に格納されている場合に肯定的な判定を行う。【０２９９】
メモリ１１０Ａへの書き込みが完了していないデータが存在しない場合には（ステップＳ２１１：ＮＯ）、そのままアクセス制御処理を終了し、メモリ１１０Ａへの書き込みが完了していないデータが存在する場合には（ステップＳ２１１：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出し、読み出したデータを、バッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出し（ステップＳ２１２）、ステップＳ２０８等で説明したのと同様にフラグを更新し、アクセス制御処理を終了する。【０３００】
一方、ステップＳ２１０において、入力管理部１５０からメモリアクセス要求信号（書き込み要求信号）を受領した場合には（ステップＳ２１０：ＹＥＳ）、その書き込み要求に係るメモリ１１０Ａ上のアドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを上述のステップＳ２０２と同様に判定する（ステップＳ２１３）。【０３０１】
アドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に存在しない場合には（ステップＳ２１３：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からのメモリアクセス要求信号（書き込み要求信号）をメモリ制御部１７０に送出し（ステップＳ２１４）、アクセス制御処理を終了する。【０３０２】
また、ステップＳ２１３において、アドレスが一致し、かつメモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されている場合には（ステップＳ２１３：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出す（ステップＳ２１５）。【０３０３】
また、共有データ制御部２２０は、読み出したデータに、その書き込み要求信号に係るデータを反映させる処理（例えば、上書き処理）を行い、反映後のデータをバッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出し（ステップＳ２１６）、ステップＳ２０８等で説明したのと同様にフラグを更新し、アクセス制御処理を終了する。【０３０４】
このように、共有データ制御部２２０は、他の計算機との共有データ（書き込み対象データ）をバッファ２１０に格納し、計算機内のプロセッサによるメモリアクセスがなされていないときにバッファ２１０に格納されている共有データを書き込むので、計算機内のプロセッサからのメモリアクセス要求と、他の計算機との共有データ（書き込み対象データ）に係る書き込み要求との競合を防ぐことができる。即ち、計算機内のプロセッサによるメモリアクセスを待たせることなく、高速に行わせることができる。【０３０５】
また、計算機内のプロセッサからのアクセス要求に係るデータが、未だメモリ１１０Ａへの書き込みが完了していないデータとしてバッファ２１０に格納されている場合に、共有データ制御部２２０は、そのバッファ２１０内のデータに対してアクセス処理を行う。従って、計算機内のプロセッサは、他計算機との共有データ（書き込み対象データ）が、メモリ１１０Ａに書き込まれる前の状態であっても、最新の共有データにアクセスできると共に、メモリ１１０Ａへのアクセスが行われないので、この間にバッファ２１０内のデータを書き込むことが可能になり、バッファ２１０内のデータを比較的短時間でメモリ１１０Ａに反映させることができる。
≪実施の形態３≫
以下では、各計算機内のプロセッサが処理に用いるデータを、このプロセッサのみが用いるデータと、共有データとに分け、物理的に異なる２つのメモリ（固有メモリと共有メモリ）にそれぞれのデータを格納することで、各計算機内のプロセッサからのメモリアクセスを待たせることなく、より高速に行わせるように変えた一実施例を、上述の実施の形態１からの変更部分を中心に説明する。【０３０６】
図２６は、実施の形態３に係る処理システム１２００のシステム構成図である。【０３０７】
処理システム１２００は、同図に示すとおり、実施の形態１に係る処理システム１０００における各計算機に代えて、計算機３００Ａ〜３００Ｃを備える。【０３０８】
計算機３００Ａ〜３００Ｃは、実施の形態１に係る各計算機の選択部１６０に代えてメモリ選択制御部３３０を、メモリ制御部１７０に代えて固有メモリ制御部３４０と共有メモリ制御部３５０とを備える。【０３０９】
また、各計算機はメモリ１１０Ａ〜１１０Ｃに代えてそれぞれ固有メモリ３１０Ａ〜３１０Ｃと共有メモリ３２０Ａ〜３２０Ｃとに接続している。【０３１０】
各計算機（３００Ａ〜３００Ｃ）は、同様の構成を有するため、以下では、計算機３００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態１に係る計算機１００Ａと異なる箇所であることを示している。【０３１１】
ここで、メモリ選択制御部３３０は、出力管理部１４０から受領したメモリアクセス要求信号及び入力管理部１５０から受領した書き込み要求信号を、固有メモリ制御部３４０と共有メモリ制御部３５０とのいずれかに送出する機能を有する。【０３１２】
より詳細には、出力管理部１４０から受領したメモリアクセス要求信号が、固有メモリ３１０Ａに対するアクセス要求信号である場合には、この信号を固有メモリ制御部３４０に送出し、共有メモリ３２０Ａに対するアクセス要求信号である場合には、この信号を共有メモリ制御部３５０に送出する。また、入力管理部１５０から受領した書き込み要求信号は、全て共有メモリ制御部３５０に送出する。特に、出力管理部１４０からの共有メモリ３２０Ａに対するアクセス要求信号と、入力管理部１５０からの書き込み要求信号とを共に受領した場合には、入力管理部１５０からの書き込み要求信号を優先的に共有メモリ制御部３５０に送出する。つまり、この場合、プロセッサからの共有メモリ３２０Ａへのアクセスは待たされることになる。【０３１３】
なお、メモリ選択制御部３３０は、出力管理部１４０から受領したメモリアクセス要求信号が、固有メモリ３１０Ａと共有メモリ３２０Ａのいずれに対するアクセス要求信号であるかを判断する必要がある。この判断のために、メモリ選択制御部３３０は、例えば論理アドレスと物理アドレスとを対応付けた情報を保持し、出力管理部１４０から受領したメモリアクセス要求信号に含まれるアドレス（論理アドレス）を、各メモリ（固有メモリ３１０Ａ、共有メモリ３２０Ａ）におけるアドレス（物理アドレス）に変換して、変換後のアドレスを指定する新たなメモリアクセス要求信号を生成して、対応するメモリに送出するようにしてもよい。【０３１４】
また、上述の論理アドレスと物理アドレスとを対応付けた情報を調停部１３０が保持するようにし、調停部１３０が出力管理部１４０にメモリアクセス要求信号を送出する際に、新たなメモリアクセス要求信号を生成して、出力管理部１４０に送出するようにしてもよい。【０３１５】
また、その他の方法として、各プロセッサが調停部１３０に送出するメモリアクセス要求信号を、固有メモリ３１０Ａと共有メモリ３２０Ａのいずれに対するアクセス要求信号であるかを指定する情報を含むように変更してもよい。【０３１６】
固有メモリ制御部３４０は、メモリ選択制御部３３０から受領したメモリアクセス要求信号等に基づいて、他の計算機と共有する必要のないデータ、つまり、計算機３００Ａ内の各プロセッサ（１２０Ａ〜１２０Ｃ）のみが用いるデータを記憶する固有メモリ３１０Ａにアクセスする機能を有する。この固有メモリ３１０Ａに記憶するデータの例としては、各プロセッサ（１２０Ａ〜１２０Ｃ）それぞれが実行すべきプログラムが挙げられる。【０３１７】
共有メモリ制御部３５０は、メモリ選択制御部３３０から受領したメモリアクセス要求信号等に基づいて、他の計算機との共有データを記憶する共有メモリ３２０Ａにアクセスする機能を有する。【０３１８】
このように、他の計算機と共有する必要のないデータを固有メモリ３１０Ａに記憶し、共有データを共有メモリ３２０Ａに記憶させるようにしたので、固有メモリ３１０Ａと共有メモリ３２０Ａとに同時にアクセスすることが可能になる。つまり、計算機内のプロセッサからのアクセス要求が固有メモリ３１０Ａに対するアクセス要求である場合には、このアクセス要求と、他の計算機との共有データ（書き込み対象データ）に係る共有メモリ３２０Ａに対する書き込み要求との競合を防ぐことができる。
≪実施の形態４≫
以下では、実施の形態２及び実施の形態３における特徴的な構成を組み合わせた一実施例を、実施の形態３からの変更部分を中心に説明する。【０３１９】
図２７は、実施の形態４に係る処理システム１３００のシステム構成図である。【０３２０】
処理システム１３００は、同図に示すとおり、実施の形態３に係る計算機３００Ａ〜３００Ｃに代えて計算機４００Ａ〜４００Ｃを備える。【０３２１】
計算機４００Ａ〜４００Ｃは、実施の形態３に係る各計算機のメモリ選択制御部３３０に代えてメモリ選択制御部４１０を備えると共に、実施の形態２に係るバッファ２１０及び共有データ制御部２２０を備える。【０３２２】
各計算機（４００Ａ〜４００Ｃ）は、同様の構成を有するため、以下では、計算機４００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態３に係る計算機３００Ａと異なる箇所であることを示している。【０３２３】
ここで、メモリ選択制御部４１０は、出力管理部１４０から受領した共有メモリ３２０Ａに対するアクセス要求信号及び入力管理部１５０から受領した書き込み要求信号を、共有データ制御部２２０に送出する点で実施の形態３に係るメモリ選択制御部３３０と異なる。【０３２４】
共有データ制御部２２０は、メモリ選択制御部４１０を介して、出力管理部１４０又は入力管理部１５０からメモリアクセス要求信号を受領した場合に、バッファ２１０、又は共有メモリ制御部３５０を介して共有メモリ３２０Ａにアクセスする機能を有する。具体的には、実施の形態２で説明したように、図２５に示すフローチャートに従って、アクセス制御処理を行う。【０３２５】
これにより、実施の形態３の場合と比較し、計算機内のプロセッサからのアクセス要求が共有メモリ３２０Ａに対するアクセス要求であっても、他の計算機との共有データ（書き込み対象データ）に係る共有メモリ３２０Ａに対する書き込み要求との競合を防ぐことができる。つまり、計算機内のプロセッサによるメモリアクセスを待たせることなく、高速に行わせることができる。【０３２６】
また、共有データ制御部２２０は、計算機内のプロセッサによる共有メモリ３２０Ａへのアクセスがなされていないときにバッファ２１０に格納されている共有データを共有メモリ３２０Ａへ書き込むことになる。つまり、計算機内のプロセッサによる固有メモリ３１０Ａへのアクセスがなされている場合にも、バッファ２１０に格納されている共有データを共有メモリ３２０Ａへ書き込むことが可能になる。従って、実施の形態２の場合を比較し、バッファ２１０に格納されている共有データをより頻繁に共有メモリ３２０Ａに書き込むことが可能になるので、より速やかにバッファ２１０内のデータを共有メモリ３２０Ａに反映させることができる。この結果、実施の形態２よりも少ない容量のバッファ２１０を用いることが可能になる。
≪変形例≫
以下では、各計算機内の出力管理部１４０が自計算機内の特定のプロセッサからの書き込み要求信号を受領した場合にのみ共通バス１０１に書き込み対象のデータを出力するように変えた一変形例について説明する。【０３２７】
変形例に係る各計算機（５００Ａ〜５００Ｄ）は、実施の形態１に係る各計算機の出力管理部１４０が保持する出力管理情報テーブル１８０のデータ構造と、調停部１３０の機能とを若干変更したものである。【０３２８】
具体的には、変形例に係る調停部は、各プロセッサによるメモリ１１０Ａに対するアクセス要求を調停し、１つのメモリアクセス要求信号を変形例に係る出力管理部に送出する際に、その信号の送信元であるプロセッサの識別情報（後述するＰｒｏｃｅｓｓｏｒ  ＩＤ）も変形例に係る出力管理部に送出する。【０３２９】
以下では、変形例に係る処理システムを、上述の適用例３と同様に、計算機５００Ａ〜５００Ｄがそれぞれ処理Ａ〜Ｄを行う連携処理システムに適用した場合を例にして、実施の形態１からの変更部分を中心に説明する。【０３３０】
特に、この例では、各計算機内のプロセッサ１２０Ａがそれぞれ処理Ａ〜Ｄを行うものとすると共に、計算機１００Ｂによる処理Ｂの負荷が高くなると、計算機１００Ａのプロセッサ１２０Ｂが処理Ｂを分担処理するものとして説明する。なお、この例に係る計算機５００Ｂ〜５００Ｄは、適用例５と同様に、１つの前の処理結果（Ｄａｔａ０〜２）が書き込まれた場合に、これらのデータを用いた処理Ｂ〜Ｄを開始するものとする。【０３３１】
図２８（ａ）は、変形例に係る各計算機の出力管理情報テーブルの内容例を示す図である。【０３３２】
同図に示すように、変形例に係る出力管理情報テーブルの出力管理情報には、実施の形態１に係る出力管理情報テーブル１８０の出力管理情報に含まれる各データに加え、Ｐｒｏｃｅｓｓｏｒ  ＩＤが含まれる。【０３３３】
ここで、Ｐｒｏｃｅｓｓｏｒ  ＩＤは、対応する共有データに対する書き込み要求信号を送出するプロセッサの識別情報であり、以下では、一例として、変形例に係る各計算機のプロセッサ１２０Ａ〜１２０ＣのＰｒｏｃｅｓｓｏｒ  ＩＤが「０」〜「２」であるものとする。【０３３４】
同図に示すように、各計算機における出力管理情報テーブルを設定することにより、計算機５００Ａは、Ｐｒｏｃｅｓｓｏｒ  ＩＤが「０」と「１」とである各プロセッサ（つまりプロセッサ１２０Ａと１２０Ｂ）の書き込み要求信号に係るデータ（Ｄａｔａ０とＤａｔａ１）をメモリ１１０Ａに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。【０３３５】
また、計算機５００Ｂ、５００Ｃは、それぞれＰｒｏｃｅｓｓｏｒ  ＩＤが「０」であるプロセッサ（つまりプロセッサ１２０Ａ）の書き込み要求信号に係るデータ（Ｄａｔａ１、Ｄａｔａ２）を各メモリ（１１０Ｂ、１００Ｃ）に書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。【０３３６】
図２８（ｂ）は、変形例に係る各計算機の入力管理情報テーブル１９０の内容例を示す図である。【０３３７】
変形例においても、入力管理情報テーブル１９０のデータ構造は、実施の形態１と変更がなく、同図に示すように、各計算機における入力管理情報テーブルを設定することにより、計算機５００Ｂは、計算機５００Ａが出力するＤａｔａ０を、計算機５００Ｃは、計算機５００Ａ及び５００Ｂが出力するＤａｔａ１を、計算機５００Ｄは、計算機５００Ｃが出力するＤａｔａ２をメモリ１１０Ｂ〜１１０Ｄのそれぞれ対応する領域に書き込む。【０３３８】
以下では、計算機５００Ａ〜５００Ｄがそれぞれ処理Ａ〜Ｄを行う連携処理システムの動作を説明する。【０３３９】
図２９は、変形例に係る各計算機の動作を説明するための図である。【０３４０】
同図（ａ）〜（ｃ）は、定常時における各計算機の動作を示している。これについては、上述の適用例３と同様であるため詳細な説明は省略する。【０３４１】
同図（ｄ）は、計算機５００Ｂによる処理Ｂの負荷が高まり、計算機５００Ａのプロセッサ１２０Ｂが処理Ｂを分担処理している状態を示している。【０３４２】
計算機５００Ｂは、処理Ｂの負荷が一定以上（例えば、処理Ｂの開始から終了までの処理時間が所定時間以上）になると、計算機５００Ａに処理Ｂの分担処理を指示し、計算機５００Ａのプロセッサ１２０Ｂは、この指示を受けて処理Ｂの分担処理を開始する。【０３４３】
計算機５００Ａのプロセッサ１２０Ｂは、例えば、メモリ１１０Ａに書き込まれた自機のプロセッサ１２０Ａによる処理Ａの処理結果（Ｄａｔａ０）を２等分した後半部分を用いて処理Ｂを行って、この結果（Ｄａｔａ１の後半部分）を、この処理Ｂに用いたＤａｔａ０の後半部分が格納されていた領域に書き込む。【０３４４】
また、計算機５００Ｂは、計算機５００Ａのプロセッサ１２０Ｂによる処理Ｂの実行と並行して、例えば、メモリ１１０Ｂに格納されているＤａｔａ０の前半部分を用いて処理Ｂを行って、この結果（Ｄａｔａ１の前半部分）を、この処理Ｂに用いたＤａｔａ０の前半部分が格納されていた領域に書き込む。【０３４５】
計算機５００Ａ、５００Ｂはそれぞれ、Ｄａｔａ１を書き込む際に、それぞれが記憶する出力管理情報テーブルに基づいて、共通バス１０１にＤａｔａ１を出力する（Ｍａｓｔｅｒ  ＩＤ等も共に出力する）。【０３４６】
計算機５００Ｃは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ等と自機が記憶する入力管理情報テーブル１９０とに基づいて、Ｄａｔａ１を受領する判定を行い、メモリ１１０Ｃの対応する領域に書き込み、処理Ｃを開始することになる。【０３４７】
このように、変形例に係る出力管理情報テーブルには、Ｐｒｏｃｅｓｓｏｒ  ＩＤが含まれるため、上述のように、計算機５００Ａのプロセッサ１２０ＡがＤａｔａ０を書き込むメモリ１１０Ａの領域と、計算機５００Ａのプロセッサ１２０ＢがＤａｔａ１を書き込むメモリ１１０Ａの領域とが重複しても、異なるプロセッサからの書き込み要求信号に係る共有データを別個のデータとして管理することができる。つまり、上述のように、計算機５００Ａが共通バス１０１に出力するＤａｔａ０は、計算機５００Ｂに受領させ、Ｄａｔａ１は、計算機５００Ｃに受領させるようなことが可能になる。【０３４８】
また、別個の共有データを格納するメモリ上の領域を重複して設定できるので、メモリ上の共有データ用の格納領域を節約することが可能になる。【０３４９】
なお、適用例３で説明したように、各メモリに複数世代分のＤａｔａを格納するようにすることで、各計算機が各処理を並列して行うようにすることも可能である。
＜補足＞
以上、本発明に係る処理システムについて、各実施の形態及び変形例に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した各実施の形態及び変形例に示したとおりの処理システムに限られないことは勿論である。【０３５０】
（１）各実施の形態及び変形例においては、出力管理情報及び入力管理情報は、Ｖａｌｉｄを含み、Ｖａｌｉｄが「１」の場合に、出力管理情報及び入力管理情報は有効であるものとして説明したが、Ｖａｌｉｄを省略し、有効な出力管理情報及び入力管理情報のみを、出力管理情報テーブル及び入力管理情報テーブルに登録するようにしてもよい。【０３５１】
（２）各実施の形態及び変形例においては、出力管理情報テーブルと入力管理情報テーブルとを別個に設けるものとして説明したが、１つの入出力管理テーブルに出力管理情報及び入力管理情報を登録するようにし、出力管理部の出力判定部１４３及び入力管理部の入力判定部１５２は、判定の際に、入出力管理テーブルを参照するようにしてもよい。この際、入出力管理テーブルには、出力管理情報及び入力管理情報を区別するためのフラグを登録しておく。【０３５２】
更に、各計算機間で相互に更新するデータを共有するようなシステムにおいては、出力管理情報及び入力管理情報を区別する必要もなく、入出力管理テーブルに登録されている入出力管理情報に従って、自機のプロセッサによる書き込み要求に係るデータを出力し、他の計算機から出力されたデータを受領すればよい。このように変形した場合には、出力管理情報テーブルと入力管理情報テーブルとを別個に設ける場合と比較し、テーブルを格納するためのメモリ容量が半分になる点で有効である。【０３５３】
（３）各実施の形態及び変形例においては、各計算機の出力管理情報テーブル及び入力管理情報テーブルへ登録するデータの生成及び各テーブルへの登録を、処理システムにおける任意の計算機内の１つのプロセッサが行うものとして説明したが、各計算機内のプロセッサが、自機が接続するメモリに記憶されているプログラムを実行することにより生成及び登録するようにしてもよい。【０３５４】
出力管理情報及び入力管理情報は、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを含み、両ＩＤの組み合わせにより共有データを識別するため、各計算機は、他の計算機に出力すべき各共有データに、重複しないようにＤａｔａ  ＩＤを割り当てれば済み、他の計算機が割り当ているＤａｔａ  ＩＤと重複してもよいことから、各計算機は独自に出力管理情報テーブルを設定できる。【０３５５】
また、処理システムにおける任意の計算機内の１つのプロセッサが各計算機の出力管理情報テーブル及び入力管理情報テーブルへ登録するデータの生成のみを行い、テーブル設定用のバスを介して、各計算機に生成したデータを送信し、各計算機内のプロセッサが受領したデータを自機内のテーブルに登録するようにしてもよい。【０３５６】
また、既に登録済みの出力管理情報及び入力管理情報の有効又は無効の設定（つまり、Ｖａｌｉｄの更新）を、各計算機内のプロセッサが行うようにしてもよい。【０３５７】
（４）各実施の形態及び変形例においては、出力管理情報及び入力管理情報は、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを含み、両ＩＤの組み合わせにより共有データを識別する例を説明したが、システム全体を通じて各共有データを識別可能な識別情報を生成するようにしてもよい。【０３５８】
（５）各実施の形態及び変形例においては、各計算機の出力管理情報テーブルにおける各出力管理情報には、その計算機のＭａｓｔｅｒ  ＩＤが含まれるものとして説明したが、各計算機は、自機のＭａｓｔｅｒ  ＩＤを別途記憶しておくようにし、Ｍａｓｔｅｒ  ＩＤについては各出力管理情報には含めないようにしてもよい。【０３５９】
（６）各実施の形態及び変形例においては、書き込み先のアドレス（他の計算機が出力したオフセット＋対応する入力管理情報のＳｔａｒｔ  Ａｄｄｒｅｓｓ）は、その対応する入力管理情報のＥｎｄ  Ａｄｄｒｅｓｓまでの範囲に収まるものとして説明した。しかしながら、必ずしもこのようにする必要はなく、対応する共有データの格納領域以外への書き込みを行わないように、例えば、以下のように制御すればよい。【０３６０】
（ａ）そのアクセスを共有領域外アクセスとして、その計算機のメモリに格納しない制御とする。【０３６１】
（ｂ）算出した書き込み先のアドレスから、その格納領域のアドレス空間分を引いたアドレスを格納先として、その格納領域内で折り返す制御とする。【０３６２】
（ｃ）特定の固定アドレスへのアクセスに変換する制御する。【０３６３】
（７）各実施の形態及び変形例においては、出力管理情報及び入力管理情報には、Ｅｎｄ  Ａｄｄｒｅｓｓを含むものとして説明したが、Ｅｎｄ  Ａｄｄｒｅｓｓｓを含まないこととしてもよい。その場合、例えば、各共有データに対する格納領域を同一サイズにする必要がある。【０３６４】
（８）各実施の形態及び変形例では、出力管理情報及び入力管理情報における格納領域の指定をＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄ  Ａｄｄｒｅｓｓｓとで行うものとして説明したが、これに限らず、例えば、Ｅｎｄ  Ａｄｄｒｅｓｓの代わりに、領域サイズを用いてもよい。【０３６５】
（９）各実施の形態及び変形例では、共通バス１０１のバス幅を小さくするために、書き込み先アドレスを、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとオフセットとで指定する方式を説明したが、これに限らず、例えば、書き込み先アドレスを、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤのみで指定し、対応する領域の全データを書き込み対象のデータとして送信するようにしてもよい。また、出力管理部は、調停部を介して受領したプロセッサからのメモリアクセス要求信号に含まれているアドレスの全ビットあるいは、一部のビットのみを出力してアドレスを特定するようにしてもよい。【０３６６】
（１０）各実施の形態及び変形例においては、説明を簡単にするために、調停部から送出されるメモリアクセス要求信号におけるアクセス要求の転送単位を１サイクルで実行できる単位として説明を行ったが、これに限らず、例えば、複数サイクルで転送するバースト転送のアクセス要求であっても、同様に実装可能である。【０３６７】
この場合、バースト転送中に、出力管理情報テーブルにて設定されている格納領域の境界を跨るようなアクセスが発生した場合には、そのアクセス要求を、非共有データアクセスと、共有データアクセスに分割して、それぞれに対応した処理を行う制御や、共通バス調停部１０２において、調停単位を１バースト転送とするために、共通バス１０１へのデータ転送が完了したことを通知する信号を、出力管理部が共通バス調停部１０２に送出する制御を行う等、いくつか改良が必要であるが、これらは既存の実装技術を用いて対応できるため、ここでは詳細な説明を省略する。【０３６８】
（１１）各実施の形態及び変形例においては、説明を簡単にするために、メモリ制御部１７０、固有メモリ制御部３４０、共有メモリ制御部３５０は、単に、書き込み要求信号に係るデータをメモリに書き込むものとして説明したが、この書き込み要求信号に、バイトマスク等、書き込み処理に特別な処理を施す制御情報を含めてもよく、メモリ制御部１７０等は、その制御情報に従ったデータの更新処理を行うこととしてもよい。【０３６９】
（１２）実施の形態２では、バッファ２１０に格納されているメモリへの書き込みが完了していないデータを、計算機内のプロセッサからメモリへのアクセスが行われていない間に行うものとして説明したが、例えば、バッファ２１０内に未書込のデータが存在する場合に、共有データ制御部２２０は、そのデータをメモリに書き込むために、明示的に書き込み要求信号を調停部１３０に送出し、調停部１３０が調停の結果、この信号を選択したときに、バッファ２１０からメモリへ書き込むようにしてもよい。【０３７０】
これにより、調停部１３０において、バッファ２１０内の未書込のデータを確実にメモリに書き込むことが保証でき、例えば、バッファがフルになった結果、共通バス１０１上のデータ転送を停止したり、調停部１３０で選択されたプロセッサのメモリアクセス要求を共有データ制御部２２０で停止するといった処理を回避でき、システムの性能保証が容易となる。【０３７１】
（１３）実施の形態２では、図２５で説明したように、入力管理部１５０からの書き込み要求信号のみを受領し（ステップＳ２０１：ＮＯ、Ｓ２１０：ＹＥＳ）、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているが、その書き込み要求に係るメモリ１１０Ａ上のアドレスと一致しない場合に（ステップＳ２１３：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からの書き込み要求信号をメモリ制御部１７０に送出する（ステップＳ２１４）ものとして説明した。【０３７２】
しかしながら、例えば、バッファ２１０内の未書込のデータのうち、最も早くバッファ２１０に書き込まれたデータをメモリに書き込む書き込み要求信号をメモリ制御部１７０に送出し、入力管理部１５０からの書き込み要求信号に係るデータをバッファ２１０に書き込むようにしてもよい。【０３７３】
これにより、他の計算機から受領した共有データのうち、更新が最も古いものから優先してメモリに反映できるため、他計算機から受領してからメモリに反映されるまでの期間を短くすることが可能となる。【０３７４】
（１４）実施の形態２では、図２５で説明したように、アクセス要求が競合した場合、バッファ２１０への読み出しと書き込みが同時に発生する場合があるが、バッファ２１０をデュアルポートメモリで構成するか、バッファ２１０のバスを広げる、バッファ２１０の動作周波数を上げる等によりバッファ２１０の転送帯域を上げることにより、バッファ２１０の転送待ちによる各メモリアクセス処理の性能劣化を回避することが可能である。【０３７５】
（１５）実施の形態２では、メモリアクセス性能の高速化実現のため、共有データ制御部２２０が受領したメモリアクセス要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、このデータを読み出してプロセッサに送出した後にこのデータをメモリに書き込み、又はバッファ２１０から読み出したデータに書き込み要求信号に係るデータを反映させた後に、反映後のデータをメモリに書き込むものとして説明した。【０３７６】
しかしながら、処理を簡略化するために、以下のようにしてもよい。【０３７７】
即ち、プロセッサからの読み出し要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込んだ後に、読み出し要求信号に係るデータをメモリから読み出すようにしてもよい。【０３７８】
また、入力管理部１５０からの書き込み要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込む処理と、書き込み要求信号に係るデータをバッファ２１０に書き込む処理とを並行して行うようにしてもよい。【０３７９】
（１６）実施の形態３においては、他の計算機との共有データを全て共有メモリ３２０Ａに格納するものとして説明したが、より計算機内のプロセッサのメモリアクセス性能を向上させるために、他の計算機と共有するデータのうち、自計算機のみが更新するデータについては、固有メモリ３１０Ａに格納し、他の計算機も更新するデータのみ共有メモリ３２０Ａに格納するようにしてもよい。【０３８０】
この結果、他の計算機から受領した共有データを書き込むための共有メモリ３２０Ａへのアクセスと、自機内のプロセッサから自機のみが更新する共有データを書き込むための固有メモリ３１０Ａへのアクセスとを並行して行うことができるので、自機内のプロセッサによるメモリアクセスを待たせる必要がなく、アクセス性能の劣化を回避できるようになる。【０３８１】
（１７）変形例においては、出力管理情報にＰｒｏｃｅｓｓｏｒ  ＩＤを含める例を説明したが、これに代えて、タスクの識別情報であるＴａｓｋ  ＩＤを含めるようにしてもよい。つまり、プロセッサ単位ではなく、タスク単位で他の計算機に送出すべき共有データであるか否かを判断できるようにしてもよい。【０３８２】
（１８）変形例に係る出力管理部は、Ｐｒｏｃｅｓｓｏｒ  ＩＤについては共通バス１０１に出力しないものとして説明したが、各入力管理情報にもＰｒｏｃｅｓｓｏｒ  ＩＤを含めるように変形し、各計算機は、Ｐｒｏｃｅｓｓｏｒ  ＩＤにも基づいて自機が共有すべきデータか否かを判断するようにしてもよい。【０３８３】
（１９）各実施の形態及び変形例においては、各計算機の構成は同様であるものとして説明したが、これに限定されるものではない。例えば、各計算機内のプロセッサの数は異なっていてもよいし、各計算機が備えるプロセッサの数は１つであってもよい。この場合、調停部は不要になる。すなわち１つのプロセッサに１つの専用メモリが割り当てられる構成の計算機を複数並列する場合にも、各実施の形態及び変形例で説明したのと同様に適用可能である。【０３８４】
また、プロセッサは、一部あるいは全部がＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、アクセラレータ（ワイヤードロジック）等の非プロセッサから構成されるものであってもよい。【０３８５】
（２０）各実施の形態及び変形例において説明した各計算機の各機能ブロックは、典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現される。これらは個別に１チップ化されてもよいし、一部、又は全てを含むように１チップ化されても良い。【０３８６】
また、各計算機を、それぞれ1つの半導体に集積されたＬＳＩで構成されたものとし、複数のＬＳＩ間で、データ共有するデータ共有機構としても適応可能である。【０３８７】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０３８８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路、又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。【０３８９】
さらには、半導体技術の進歩、又は派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてあり得る。【０３９０】
（２１）各実施の形態及び変形例においては、各メモリは、各計算機の外部にあるものとして図示されているが、メモリは、各計算機の内部にあってもよい。また前述したように、ＬＳＩの構成単位としては、様々な形態が存在するが、それぞれの実装形態において、各計算機のメモリは、構成されるＬＳＩの内部、外部どちらに存在してもよく、さらには、混在する形態であっても適用可能である。【０３９１】
（２２）各実施の形態及び変形例において、共通バス調停部１０２は、各計算機の外部に独立して存在するものとして説明したが、全ての、あるいは一部の計算機の内部にあるものとしても良い。【０３９２】
（２３）各実施の形態及び変形例において、出力管理部及び入力管理部は回路であるとして説明したが、例えば、各計算機に含まれる１つのプロセッサが所定のプログラムを実行することにより、出力管理部及び入力管理部の機能を実現するようにしてもよいし、別個のプロセッサが出力管理部と入力管理部の機能を実現するようにしてもよい。【０３９３】
（２４）本発明に係る処理システムが備える各処理装置は、各実施の形態及び変形例に係る各計算機及び各メモリに相当する。【０３９４】
また、本発明に係る処理装置における共有データ記憶手段は、各実施の形態及び変形例に係るメモリ又は共有メモリに相当し、出力手段、入力手段、及び管理情報記憶手段は出力管理部及び入力管理部に相当し、共有データアクセス手段は選択部及びメモリ制御部に相当し、バッファメモリはバッファに相当し、アクセス制御手段は共有データ制御部及びメモリ制御部に相当し、固有データ記憶手段は固有メモリに相当し、データアクセス手段はメモリ選択制御部、固有メモリ制御部、及び共有メモリ制御部に相当し、第１メモリは固有メモリに相当し、第２メモリは共有メモリに相当し、メモリアクセス手段は、メモリ選択制御部、固有メモリ制御部、共有データ制御部、及び共有メモリ制御部に相当する。
【産業上の利用可能性】
【０３９５】
本発明はいわゆる疎結合マルチプロセッサシステムにおけるプロセッサ間でデータを共有するために利用できる。
【図１】
2009116279.tif 000003
【図２】
2009116279.tif 000004
【図３】
2009116279.tif 000005
【図４】
2009116279.tif 000006
【図５】
2009116279.tif 000007
【図６】
2009116279.tif 000008
【図７】
2009116279.tif 000009
【図８】
2009116279.tif 000010
【図９】
2009116279.tif 000011
【図１０】
2009116279.tif 000012
【図１１】
2009116279.tif 000013
【図１２】
2009116279.tif 000014
【図１３】
2009116279.tif 000015
【図１４】
2009116279.tif 000016
【図１５】
2009116279.tif 000017
【図１６】
2009116279.tif 000018
【図１７】
2009116279.tif 000019
【図１８】
2009116279.tif 000020
【図１９】
2009116279.tif 000021
【図２０】
2009116279.tif 000022
【図２１】
2009116279.tif 000023
【図２２】
2009116279.tif 000024
【図２３】
2009116279.tif 000025
【図２４】
2009116279.tif 000026
【図２５】
2009116279.tif 000027
【図２６】
2009116279.tif 000028
【図２７】
2009116279.tif 000029
【図２８】
2009116279.tif 000030
【図２９】
2009116279.tif 000031
【図３０】
2009116279.tif 000032
【手続補正書】
【提出日】平成21年11月12日(2009.11.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチプロセッサシステムに関し、特に、プロセッサ間でデータを共有するための技術に関する。
【背景技術】
【０００２】
マルチプロセッサシステムにおける複数のプロセッサ間でのデータ共有方法として、１つの共有メモリ上に共有データを格納し、各プロセッサがこの共有メモリにアクセスすることで、データを共有する方法（いわゆる密結合マルチプロセッサシステム）が知られている。
この方法では、各プロセッサが用いる共有データの同一性を保つことが容易であるという利点がある一方で、プロセッサの数が増えるにつれ、共有メモリに対するアクセス競合が発生しやすくなり、システム全体の処理効率が低下してしまうという問題がある。
【０００３】
このことは、リアルタイム性が要求される処理、例えば、放送局から送信されたデジタル放送を受信して画像等のデータをデコードし表示等するような処理において特に問題となる。
この問題を解決する方法として、プロセッサ毎に専用メモリを設け、各専用メモリにそれぞれ共有データの複製を格納し、各プロセッサは、自己の専用メモリにアクセスする方法（いわゆる疎結合マルチプロセッサシステム）が知られている（例えば、特許文献１、２）。
【０００４】
図３０は、疎結合マルチプロセッサシステムでの従来のデータ共有方法を説明するための図である。
同図に示す専用メモリ３Ａはプロセッサ１Ａ用の、専用メモリ３Ｂはプロセッサ１Ｂ用の、専用メモリ３Ｃはプロセッサ１Ｃ用のメモリであり、各専用メモリには、共有データの複製を格納するための共有領域が予め確保されている。
【０００５】
メモリ制御装置４は、各プロセッサからそれぞれの専用メモリに対するアクセス要求が送出されると、そのアクセス要求が共有領域に対する書き込み要求であるか否かに応じて、バス選択回路５Ａ〜５Ｃを制御する。
例えば、プロセッサ１Ａからのアクセス要求が共有領域に対する書き込み要求である場合には、書き込み対象のデータを専用メモリ３Ａ〜３Ｃの各共有領域に書き込むようにバス選択回路５Ａ〜５Ｃを制御する。また、プロセッサ１Ａからのアクセス要求が共有領域以外の領域に対する書き込み要求や、いずれかの領域に対する読み出し要求である場合には、専用メモリ３Ａのみにアクセスするようにバス選択回路５Ａ〜５Ｃを制御する。
【０００６】
この結果、あるプロセッサの専用メモリ上の共有データが更新される際に、他のプロセッサの専用メモリ上の共有データも更新されるので、共有データの同一性を保つことができる。また、他のプロセッサの専用メモリ上の共有データの更新は、あるプロセッサの専用メモリの共有領域に対する書き込み要求が発生した場合に限られるので、アクセス競合が発生する可能性を低減できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】日本国特許公開昭６１−１２２７７１号公報
【特許文献２】日本国特許公開平３−１２７２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の方法では、マルチプロセッサシステム全体の処理に必要となる全ての共有データを全てのプロセッサの専用メモリに格納する。
例えば、上述のプロセッサ１Ａ〜１Ｃのうち、プロセッサ１Ａと１Ｂとの間で共有する必要があり、プロセッサ１Ｃには不要であるデータであっても、そのデータは、プロセッサ１Ｃの専用メモリ３Ｃに格納されることになる。
【０００９】
この結果、専用メモリ３Ｃにおいては、プロセッサ１Ｃには不要なデータにより格納領域が無駄に消費される。また、プロセッサ１Ａと１Ｂで共有するデータがこれらのプロセッサにより更新される際に、更新後のデータが専用メモリ３Ｃにも書き込まれるので、プロセッサ１Ｃによる専用メモリ３Ｃへのアクセスとの間で無駄な競合が生じる可能性が高まる。
【００１０】
そこで、本発明はかかる問題に鑑みてなされたものであり、専用メモリにおける無駄な格納領域の消費及び無駄なアクセス競合の発生を防止することが可能な処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る処理装置は、複数の外部処理装置との間でデータを共有して処理する処理装置であって、プロセッサと、１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備えることを特徴とする。
【００１２】
ここでの共有は、１以上の外部処理装置が備えるメモリ等の記憶手段と、処理装置が備える共有データ記憶手段とにそれぞれ共有すべき１以上のデータブロックの複製を記憶し、それぞれの装置は、自装置が備える記憶手段にアクセスすることで実現されるものをいう。
【発明の効果】
【００１３】
上述の構成を備える本発明に係る処理装置における入力手段は、外部処理装置により出力されたデータのうち、自装置が共有すべきデータのみを共有データ記憶手段に記憶させるので、不要なデータを記憶させることで共有データ記憶手段の格納領域を無駄に消費してしまうことを防止できる。また、不要なデータを記憶させないので、外部処理装置が出力した、自装置のプロセッサには不要なデータを書き込むための共有データ記憶手段へのアクセス要求と、プロセッサによる共有データ記憶手段へのアクセス要求との競合を防止できる。
【００１４】
また、本発明に係る処理装置は、出力手段が外部処理装置と共有するデータを出力し、上述のように、入力手段が自装置が共有すべきデータのみを共有データ記憶手段に記憶させるので、プロセッサはデータを共有化するための処理を行う必要がなく、既定の処理に専念できる。
また、前記処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、前記入力手段は、外部処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを記憶させることとしてもよい。
【００１５】
これにより、本発明に係る処理装置は、データブロック毎にブロック識別情報とそのデータブロックの格納領域を示すアドレス情報とを記憶しているので、ブロックデータ単位で外部処理装置とデータを共有することができる。
また、前記管理情報記憶手段は、更に、前記共有データ記憶手段に記憶されているデータブロックのうち、外部処理装置により更新されるデータブロック毎に、当該データブロックの出力元である外部処理装置の装置識別情報を対応付けて記憶しており、前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、前記入力手段は、外部処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行うこととしてもよい。
【００１６】
これにより、本発明に係る処理装置は、外部処理装置により出力されたデータブロックを記憶するか否かを、そのデータブロックの出力元である外部処理装置の装置識別情報とブロック識別情報との組み合わせにより判定するので、異なる外部処理装置が同一のブロック識別情報を出力した場合でも、自装置が共有すべきデータのみを適切に記憶できる。
また、前記処理装置は、アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、前記共有データアクセス手段は、前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。
【００１７】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからのアクセス要求と、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求とが競合した場合に、後者のアクセス要求を優先して処理するので、外部処理装置が更新したデータを速やかに共有データ記憶手段に反映できる。この結果、本発明に係る処理装置が備えるプロセッサは、外部処理装置が更新した最新のデータに基づいて処理できる。
【００１８】
また、前記管理情報記憶手段に記憶されている各情報は、前記プロセッサが既定のプログラムを実行することにより更新されることとしてもよい。
これにより、本発明に係る処理装置は、自装置が備えるプロセッサにより更新された管理情報記憶手段における情報に基づいて、外部処理装置とのデータ共有を行うことができるので、この情報を更新するための外部更新装置等を別途設けることなく、外部処理装置とのデータ共有を行うことができる。
【００１９】
また、前記処理装置は、更にバッファメモリと、アクセス要求に基づいて、前記共有データ記憶手段又は前記バッファメモリに対するアクセスを行うアクセス制御手段とを備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記アクセス制御手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記アクセス制御手段に送出し、前記アクセス制御手段は、前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該入力手段からアクセス要求に基づき、当該アクセス要求に係るデータを前記バッファメモリに記憶させ、当該バッファメモリに記憶されているデータを、アクセス要求を受領していないときに前記共有データ記憶手段に反映させることとしてもよい。
【００２０】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからのアクセス要求と、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求とが競合した場合に、後者のアクセス要求に係るデータをバッファメモリに記憶するので、プロセッサに速やかに共有データ記憶手段へのアクセスをさせることができる。
また、前記アクセス制御手段は、アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。
【００２１】
これにより、本発明に係る処理装置は、例えば、プロセッサからのアクセス要求に係るデータが、バッファメモリに記憶されているときには、バッファメモリに対してアクセスさせ、この間に自装置が共有すべきデータを共有データ記憶手段に記憶するようなことが可能になるので、外部処理装置が更新したデータを速やかに共有データ記憶手段に反映させつつ、プロセッサからのアクセス要求を速やかに処理できる。
【００２２】
また、前記アクセス制御手段は、受領したアクセス要求に基づく前記バッファメモリへのアクセスが完了した後にも、当該アクセス後のデータを前記共有データ記憶手段に反映させることとしてもよい。
ここで、アクセス後のデータとは、アクセス要求がデータの読み出し要求の場合には、バッファから読み出したデータのことをいい、アクセス要求がデータの書き込み要求の場合には、書き込み対象のデータのことをいう。
【００２３】
これにより、アクセス要求に係るデータが、バッファメモリに記憶されているときには、バッファメモリに対してアクセスさせることが可能になるので、この後に、つまり、プロセッサによる共有データ記憶手段へのアクセスがなされていない間に、アクセス後のデータを、共有データ記憶手段へ反映させることで、バッファメモリ上のデータをより速やかに共有データ記憶手段へ反映させることができる。
【００２４】
また、前記処理装置は、更に外部処理装置と共有する必要がない１以上のデータブロックを記憶する固有データ記憶手段と、アクセス要求に基づいて、前記共有データ記憶手段又は前記固有データ記憶手段に対するアクセスを行うデータアクセス手段とを備え、前記出力手段は、前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記データアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記データアクセス手段に送出し、前記データアクセス手段は、前記共有データ記憶手段と固有データ記憶手段とに対し並行してアクセスすることが可能であり、前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記固有データ記憶手段上の格納領域であるときは、当該固有データ記憶手段に対し当該アクセス要求に基づくアクセスを行うのと並行して、前記共有データ記憶手段に対し前記入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。
【００２５】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからの自装置のみが必要なデータに対するアクセス要求は、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求と競合し得なくなるので、更にアクセス競合の発生を低減できる。
また、前記共有データ記憶手段は、１以上の外部処理装置と共有するデータブロックのうち、自装置のみが更新する１以上のデータブロックを記憶する第１メモリと、前記自装置のみが更新する１以上のデータブロック以外の外部処理装置と共有する１以上のデータブロックを記憶する第２メモリとを含み、前記処理装置は、更にアクセス要求に基づいて、前記第１メモリ又は前記第２メモリに対するアクセスを行うメモリアクセス手段とを備え、前記出力手段は、前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、前記入力手段は、肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、前記メモリアクセス手段は、前記第１メモリと第２メモリとに対し並行してアクセスすることが可能であり、前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第１メモリ上の格納領域であるときは、当該第１メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第２メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行うこととしてもよい。
【００２６】
これにより、本発明に係る処理装置は、自装置が備えるプロセッサからの自装置のみが更新する共有データに対するアクセス要求は、外部処理装置により出力された自装置が共有すべきデータを書き込むためのアクセス要求と競合し得なくなるので、更にアクセス競合の発生を低減できる。
また、前記処理装置は、更に外部処理装置から出力されたデータを記憶するバッファメモリを備え、前記メモリアクセス手段は、前記第２メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第２メモリ上の格納領域と一致するか否かに応じて、前記第２メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行うこととしてもよい。
【００２７】
これにより、本発明に係る処理装置は、プロセッサからのアクセス要求が第２メモリに対するものであっても、そのアクセス要求に係るデータがバッファメモリに記憶されているときには、バッファメモリに対してアクセスさせることが可能になるので、この間に自装置が共有すべきデータを共有データ記憶手段に記憶することができる。即ち、更にアクセス競合の発生を低減できる。
【００２８】
上記課題を解決するために、本発明に係る処理システムは、データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって、各処理装置は、プロセッサと、１以上の他の処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが記憶されているデータブロックのブロック識別情報と書き込み要求に係るデータとを前記共通バスに出力する出力手段と、他の処理装置により前記共通バスに出力されたブロック識別情報に基づいて、当該他の処理装置により当該共通バスに出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合に当該データを前記共有データ記憶手段に記憶させる入力手段とを備えることを特徴とする。
【００２９】
上述の構成を備える本発明に係る処理システムにおける各処理装置は、他の処理装置により出力されたデータのうち、自装置が共有すべきデータのみを共有データ記憶手段に記憶するので、不要なデータを記憶することで共有データ記憶手段の格納領域を無駄に消費してしまうことを防止できる。また、不要なデータを記憶しないので、他の処理装置が出力した、自装置のプロセッサには不要なデータを書き込むための共有データ記憶手段へのアクセス要求と、プロセッサによる共有データ記憶手段へのアクセス要求との競合を防止できる。
【００３０】
また、本発明に係る処理システムにおける各処理装置は、他の処理装置と共有するデータを出力し、上述のように、自装置が共有すべきデータのみを共有データ記憶手段に記憶するので、プロセッサはデータを共有化するための処理を行う必要がなく、既定の処理に専念できる。
また、各処理装置は、更に前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、前記出力手段は、前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、前記入力手段は、他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、いずれか一の処理装置における前記プロセッサは、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させることとしてもよい。
【００３１】
これにより、本発明に係る処理システムにおけるいずれか一の処理装置が備えるプロセッサが、各処理装置の管理情報記憶手段に記憶する各情報を生成するので、各情報と統一的に生成することが可能になり、各情報の管理が容易になる。
【図面の簡単な説明】
【００３２】
【図１】実施の形態１に係る処理システム１０００のシステム構成図である。
【図２】出力管理部１４０の機能ブロック図である。
【図３】入力管理部１５０の機能ブロック図である。
【図４】出力管理情報テーブル１８０及び入力管理情報テーブル１９０のデータ構成及び内容例を示す図である。
【図５】出力管理部１４０による出力判定処理を示すフローチャートである。
【図６】入力管理部１５０による入力判定処理を示すフローチャートである。
【図７】選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とを示すフローチャートである。
【図８】適用例１に係るデジタル放送受信器１０００Ａの構成図である。
【図９】適用例１に係る計算機１００Ｂ〜１００Ｄがデコード処理を行う１つの画像中の領域を説明するための図である。
【図１０】適用例１に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。
【図１１】適用例１に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。
【図１２】従来の方法により各計算機がデータを共有するデジタル放送受信器１０Ａの構成図である。
【図１３】適用例２に係るデジタル放送受信器１０００Ａ及び従来方式によりデータを共有するデジタル放送受信器１０Ａそれぞれにおける各メモリのデータ配置を示す図である。
【図１４】適用例２に係る各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図１５】適用例２に係る各計算機の動作を説明するための図である。
【図１６】適用例３における連携処理の流れを説明するための図である。
【図１７】適用例３に係る各計算機及び従来方式によりデータを共有して連携処理を行う各計算機それぞれにおける各メモリのデータ配置を示す図である。
【図１８】適用例３に係る各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図１９】適用例３に係る各計算機の動作を説明するための図である。
【図２０】適用例４に係る各計算機の動作を説明するための図である。
【図２１】適用例４に係る各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０の内容例を示す図である。
【図２２】適用例４の変形に係る定常時における各計算機における出力管理情報テーブル１８０と入力管理情報テーブル１９０との内容例及び各計算機の動作を説明するための図である。
【図２３】適用例５に係る各メモリのデータ配置、各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０との内容例を示す図である。
【図２４】実施の形態２に係る処理システム１１００のシステム構成図である。
【図２５】共有データ制御部２２０によるアクセス制御処理を示すフローチャートである。
【図２６】実施の形態３に係る処理システム１２００のシステム構成図である。
【図２７】実施の形態４に係る処理システム１３００のシステム構成図である。
【図２８】変形例に係る各計算機の出力管理情報テーブル及び入力管理情報テーブル１９０の内容例を示す図である。
【図２９】変形例に係る各計算機の動作を説明するための図である。
【図３０】疎結合マルチプロセッサシステムでの従来のデータ共有方法を説明するための図である。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
＜構成＞
まず、実施の形態１に係る処理システム１０００の構成について説明する。
図１は、実施の形態１に係る処理システム１０００のシステム構成図である。
【００３４】
同図に示すとおり、処理システム１０００は、共通バス１０１を介して相互に接続する計算機１００Ａ〜１００Ｅと、各計算機と１対１に接続するメモリ１１０Ａ〜１１０Ｅと、共通バス調停部１０２とから構成される。
なお、同図では、５つの計算機（１００Ａ〜１００Ｅ）を図示しているが、これは一例であり、計算機の数は同図に示す例に限られず、２つ以上であればいくつでもよい。また、同図では各計算機は各メモリと１対１に接続する例を示しているが、２以上のメモリと接続していてもよい。これらの点については、以下の各実施の形態においても同様である。
【００３５】
ここで、共通バス１０１は、各計算機が共有データを授受するためのバスであり、共通バス調停部１０２は、共通バス１０１に共有データを出力しようとする各計算機からの共通バス１０１の使用要求を調停する機能を有する。
各メモリ（１１０Ａ〜１１０Ｅ）は、接続先の計算機内の各プロセッサが用いるプログラムやデータを記憶するものであり、このデータには、接続先の計算機のみが使用するデータと、計算機間で共有する共有データとが含まれる。
【００３６】
各計算機（１００Ａ〜１００Ｅ）は、１以上の他の計算機とデータを共有しながら所定の処理を実行する機能を有する。
各計算機は同様の構成を有するため、以下では、計算機１００Ａを例に説明する。
計算機１００Ａは、プロセッサ１２０Ａ〜１２０Ｃと、調停部１３０と、出力管理部１４０と、入力管理部１５０と、選択部１６０と、メモリ制御部１７０とを備える。
【００３７】
ここで、各プロセッサ（１２０Ａ〜１２０Ｃ）は、それぞれメモリ１１０Ａに記憶されている既定のプログラムを実行することにより、メモリ１１０Ａに記憶されているデータを用いて所定の処理を行うものであり、メモリ１１０Ａにアクセスが必要な場合に、メモリアクセス要求信号を調停部１３０に送出する。
このメモリアクセス要求信号は、アクセス種別（読み出し又は書き込み）やアクセス対象となるメモリ１１０Ａ上の格納領域のアドレスを指定する信号であり、特にアクセス種別が「書き込み」の場合には、書き込み対象データを含むものである。
【００３８】
調停部１３０は、各プロセッサによるメモリ１１０Ａに対するアクセス要求を調停する機能を有し、具体的には、各プロセッサから受領した各メモリアクセス要求信号の中から１つのメモリアクセス要求信号を選んで出力管理部１４０に送出する。
なお、調停部１３０は、出力管理部１４０に送出するメモリアクセス要求信号が、メモリ１１０Ａからデータを読み出すことを要求する読み出し要求信号（つまりアクセス種別が「読み出し」であるメモリアクセス要求信号）である場合には、その読み出し要求信号の送出と共に、その要求元であるプロセッサの識別情報を送出する。
【００３９】
以下、「メモリアクセス要求信号等」と表記する場合には、メモリアクセス要求信号が、読み出し要求信号である場合に、プロセッサの識別情報が含まれることを意味するものとして説明する。
出力管理部１４０は、調停部１３０から受領したメモリアクセス要求信号等を選択部１６０に送出すると共に、特に、このメモリアクセス要求信号が共有データに対する書き込みを要求する書き込み要求信号（つまりアクセス種別が「書き込み」であるメモリアクセス要求信号）である場合に、書き込み対象データ及びこのデータの識別情報等を共通バス１０１に出力する回路である。なお、この出力は、共通バス調停部１０２から共通バス１０１の使用権を得た後に行う。出力管理部１４０の構成（図２参照）については後に詳しく説明する。
【００４０】
入力管理部１５０は、他の計算機（１００Ｂ〜１００Ｅ）から共通バス１０１に出力された書き込み対象データの識別情報等に基づいて、出力された書き込み対象のデータが、自機が共有すべきデータであるか否かを判定し、判定結果に応じて、このデータのメモリ１１０Ａに対する書き込み要求信号を選択部１６０に送出する回路である。なお、入力管理部１５０の構成（図３参照）については後に詳しく説明する。
【００４１】
選択部１６０は、出力管理部１４０から受領したメモリアクセス要求信号等と、入力管理部１５０から受領した書き込み要求信号とを順次メモリ制御部１７０に送出する回路である。特に、両管理部から信号を受領した場合に、選択部１６０は、入力管理部１５０からのメモリアクセス要求信号を優先的にメモリ制御部１７０に送出する。つまり、この場合、プロセッサのメモリ１１０Ａへのアクセスは待たされることになる。
【００４２】
メモリ制御部１７０は、選択部１６０から受領したメモリアクセス要求信号等、又は書き込み要求信号に基づいて、メモリ１１０Ａにアクセスする機能を有する。
次に、出力管理部１４０の構成について説明する。
図２は、出力管理部１４０の機能ブロック図である。
同図に示すように、出力管理部１４０は、出力管理情報保持部１４１と、内部バス制御部１４２と、出力判定部１４３と、共通バス制御部１４４とを備える。
【００４３】
ここで、出力管理情報保持部１４１は、出力管理情報テーブル１８０（図４（ａ）参照）を記憶するためのメモリ領域である。出力管理情報テーブル１８０については後述する。
内部バス制御部１４２は、調停部１３０から受領したメモリアクセス要求信号を出力判定部１４３に送出する機能と、出力判定部１４３の指示に従って、受領しているメモリアクセス要求信号等を選択部１６０へ送出する機能と、このメモリアクセス要求信号に含まれる書き込み対象データを共通バス１０１に出力する機能とを有する。
【００４４】
出力判定部１４３は、出力管理情報保持部１４１の出力管理情報テーブル１８０に基づいて、内部バス制御部１４２から受領したメモリアクセス要求信号が共有データに対する書き込み要求信号であるか否かを判定し、判定結果に応じて、共通バス制御部１４４又は内部バス制御部１４２に所定の信号を送出する機能を有する。
より詳細には、メモリアクセス要求信号が共有データに対する書き込み要求信号である場合には、書き込み対象データの識別情報等を共通バス制御部１４４に送出し、共有データに対する書き込み要求信号でない場合には、メモリアクセス要求信号等の選択部１６０への送出を指示する信号を内部バス制御部１４２に送出する。
【００４５】
また、出力判定部１４３は、共通バス制御部１４４から後述する出力完了信号を受領した場合に、メモリアクセス要求信号の選択部１６０への送出及び書き込み対象データの共通バス１０１への出力を指示する信号を内部バス制御部１４２に送出する機能を有する。
共通バス制御部１４４は、出力判定部１４３から書き込み対象データの識別情報等を受領する毎に、共通バス調停部１０２から共通バス１０１の使用権を得て、この識別情報等を共通バス１０１に出力すると共に、この識別情報等を出力した旨の出力完了信号を出力判定部１４３に送出する機能を有する。
【００４６】
続いて、入力管理部１５０の構成について説明する。
図３は、入力管理部１５０の機能ブロック図である。
同図に示すように、入力管理部１５０は、入力管理情報保持部１５１と、入力判定部１５２と、内部バス制御部１５３とを備える。
ここで、入力管理情報保持部１５１は、入力管理情報テーブル１９０（図４（ｂ）参照）を記憶するためのメモリ領域である。入力管理情報テーブル１９０については、後述する。
【００４７】
入力判定部１５２は、他の計算機（１００Ｂ〜１００Ｅ）から共通バス１０１に出力された書き込み対象データの識別情報等と、入力管理情報保持部１５１の入力管理情報テーブル１９０とに基づいて、共通バス１０１に出力された書き込み対象データが、自機が共有すべきデータであるか否かを判定する機能を有する。特に、書き込み対象データが、自機が共有すべきデータである場合に、入力判定部１５２は、アクセス種別（書き込み）及びこのデータを書き込むべきメモリ１１０Ａ上のアドレスを指定するアクセスコマンド信号を生成し、内部バス制御部１５３に送出する。
【００４８】
内部バス制御部１５３は、入力判定部１５２からアクセスコマンド信号を受領すると、他の計算機から共通バス１０１に出力された書き込み対象データを受領し、この書き込み対象データと受領したアクセスコマンド信号とを含む書き込み要求信号を選択部１６０へ送出する機能を有する。
＜データ＞
各計算機により使用されるデータを、計算機１００Ａの場合を例に説明する。
【００４９】
＜出力管理情報テーブル＞
まず、出力管理情報テーブル１８０について説明する。
図４（ａ）は、出力管理情報テーブル１８０のデータ構成及び内容例を示す図である。
出力管理情報保持部１４１に記憶されている出力管理情報テーブル１８０は、同図に示すように、自機が他の計算機に対し送出すべき共有データ毎に、Ｖａｌｉｄ１８１、Ｍａｓｔｅｒ  ＩＤ１８２、Ｄａｔａ  ＩＤ１８３、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１８４、Ｅｎｄ  Ａｄｄｒｅｓｓ１８５を対応付けて構成される情報である。
【００５０】
以下、この相互に対応付けられたＶａｌｉｄとＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄ  Ａｄｄｒｅｓｓとをまとめて「出力管理情報」という。
出力管理情報テーブル１８０は、計算機内のプロセッサからのメモリアクセス要求信号が共有データに対するメモリアクセス要求信号であるか否かを出力判定部１４３が判定する際に用いられる。
【００５１】
ここで、Ｖａｌｉｄ１８１は、そのＶａｌｉｄを含む出力管理情報が有効か無効かを示す情報であり、この例では有効である場合を「１」、無効である場合を「０」としている。つまり、Ｖａｌｉｄが「１」である出力管理情報に対応する共有データを共通バス１０１に送出することになる。
Ｍａｓｔｅｒ  ＩＤ１８２は、対応する共有データを共通バス１０１へ送出する計算機の識別情報であり、以下では、一例として、計算機１００Ａ〜１００ＥのＭａｓｔｅｒ  ＩＤが「０」〜「４」であるものとして説明する。
【００５２】
ここでは、計算機１００Ａが保持する出力管理情報テーブル１８０の例を示しているため、全てのＭａｓｔｅｒ  ＩＤが「０」になっている。他の計算機、例えば計算機１００Ｂが保持する出力管理情報テーブル１８０では、全てＭａｓｔｅｒ  ＩＤが「１」となる。
Ｄａｔａ  ＩＤ１８３は、対応する共有データの識別情報であり、他のＤａｔａ  ＩＤとは重複しないものである。
【００５３】
Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１８４とＥｎｄ  Ａｄｄｒｅｓｓ１８５とはそれぞれ、対応する共有データが記憶されるメモリ１１０Ａ上の格納領域の開始アドレスと終了アドレスを示す情報である。
同図は、例えば、メモリ１１０ＡにおいてＳｔａｒｔ  Ａｄｄｒｅｓｓが「０ｘ００００」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「０ｘ００ｆｆ」である格納領域に格納されているデータは他の計算機に送出すべき共有データであり、そのＤａｔａ  ＩＤは「０」であり、このデータを共通バス１０１へ出力する計算機のＭａｓｔｅｒ  ＩＤは「０」（つまり計算機１００Ａ）であることを示している。
【００５４】
以下、出力管理情報テーブル１８０へのデータの登録方法の一例を説明する。
出力管理情報テーブル１８０へのデータの登録は、まず、処理システム１０００の運用開始前に行われる。
具体的には、処理システム１０００における任意の計算機内の１つのプロセッサが、自機が接続するメモリに記憶されているプログラムを実行することにより、各計算機の出力管理情報テーブル１８０に登録すべき出力管理情報を生成し、各計算機を相互に接続するテーブル設定用のバス（不図示）を介して、各計算機の出力管理情報テーブル１８０に有効な出力管理情報（つまり、Ｖａｌｉｄが「１」）を登録する。この出力管理情報の生成は、Ｍａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤの組み合わせが、他のＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤの組み合わせと重複しないように行われる。
【００５５】
なお、各プロセッサ（１２０Ａ〜１２０Ｃ）は、先に説明したように、メモリ１１０Ａに記憶されている既定のプログラムを実行することで、このメモリ１１０Ａに記憶されているデータを用いて所定の処理を行うものであるが、この既定のプログラムは、登録された有効な出力管理情報における格納領域（Ｓｔａｒｔ  Ａｄｄｒｅｓｓ及びＥｎｄ  Ａｄｄｒｅｓｓにより特定される）に格納されるデータを用いて所定の処理を行うように構成されている。
【００５６】
また、ある計算機において、何らかの要因により他の計算機との共有が不要になったデータが生じた場合には、その共有データに対応する登録済みの出力管理情報のＶａｌｉｄを「０」に更新するだけで共有の設定を解除できる。また、再度そのデータの共有が必要になった場合には、対応する出力管理情報のＶａｌｉｄを「１」に更新するだけで共有設定をすることができる。
【００５７】
＜入力管理情報テーブル＞
次に、入力管理情報テーブル１９０について説明する。
図４（ｂ）は、入力管理情報テーブル１９０のデータ構成及び内容例を示す図である。
入力管理情報保持部１５１に記憶されている入力管理情報テーブル１９０は、同図に示すように、自機が他の計算機から受領すべき共有データ毎に、Ｖａｌｉｄ１９１、Ｍａｓｔｅｒ  ＩＤ１９２、Ｄａｔａ  ＩＤ１９３、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ１９４、Ｅｎｄ  Ａｄｄｒｅｓｓ１９５を対応付けて構成される情報である。
【００５８】
以下、この相互に対応付けられたＶａｌｉｄとＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄ  Ａｄｄｒｅｓｓとをまとめて「入力管理情報」という。
入力管理情報テーブル１９０は、他の計算機によって共通バス１０１に出力された書き込み対象データを受領すべきか否かを入力判定部１５２が判定する際に用いられる。
【００５９】
なお、入力管理情報テーブル１９０と出力管理情報テーブル１８０とは同様のデータ構造を有しているため、各データの詳細な説明は省略するが、
他の計算機により共通バス１０１に出力された共有データのうち、Ｖａｌｉｄが「１」である入力管理情報に対応する共有データが、メモリ１１０Ａに記憶されることになる。
同図は、例えば、Ｍａｓｔｅｒ  ＩＤは「１」（つまり、計算機１００Ｂ）であり、Ｄａｔａ  ＩＤは「０」であるデータは、自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ１１０ＡのＳｔａｒｔ  Ａｄｄｒｅｓｓが「０ｘ００００」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「０ｘ００７ｆ」である格納領域に格納されることを示している。
【００６０】
なお、入力管理情報テーブル１９０へのデータの登録は、出力管理情報テーブル１８０と同様に行われるため詳細な説明は省略する。
＜動作＞
次に、上記構成を備え、上記データを取り扱う各計算機の動作を説明する。
＜出力管理部の動作＞
まず、出力管理部１４０による出力判定処理について説明する。
【００６１】
図５は、出力管理部１４０による出力判定処理を示すフローチャートである。
なお、以下のステップＳ１００〜Ｓ１０８の処理は繰り返し実行されるものとする。
出力管理部１４０の出力判定部１４３は、内部バス制御部１４２を介して調停部１３０からメモリアクセス要求信号を受領したか否かを判定し（ステップＳ１００）、受領していない場合には（ステップＳ１００：ＮＯ）、何も行わず出力判定処理を終了する。
【００６２】
一方、メモリアクセス要求信号を受領した場合には（ステップＳ１００：ＹＥＳ）、その信号が書き込み要求信号か否かを、その信号のアクセス種別に基づいて判定し（ステップＳ１０１）、書き込み要求信号である場合には（ステップＳ１０１：ＹＥＳ）、その書き込み要求が、他の計算機へ送出すべき共有データに対するものか否かを出力管理情報保持部１４１の出力管理情報テーブル１８０に基づいて判定する（ステップＳ１０２）。
【００６３】
より詳細には、受領した信号に含まれるメモリ１１０Ａ上の書き込み先のアドレスが、出力管理情報テーブル１８０における有効（つまり、Ｖａｌｉｄが「１」である）な出力管理情報のＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄＡｄｄｒｅｓｓとの範囲に含まれる場合にのみ肯定的な判定を行う。
例えば、書き込み先のアドレスが「０ｘ０００１」である場合に、このアドレスは、図４（ａ）に示す出力管理情報テーブル１８０において、Ｓｔａｒｔ  Ａｄｄｒｅｓｓ「０ｘ００００」とＥｎｄＡｄｄｒｅｓｓ「０ｘ００ｆｆ」との範囲に含まれるので、肯定的な判定がなされることになる。また、書き込み先のアドレスが「０ｘ０４００」である場合には、このアドレスは、出力管理情報テーブル１８０における有効な出力管理情報のいずれのＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄＡｄｄｒｅｓｓとの範囲にも含まれないので、否定的な判定がなされることになる。
【００６４】
ステップＳ１０２において、書き込み要求が、他の計算機へ送出すべき共有データに対するものである場合には（ステップＳ１０２：ＹＥＳ）、出力判定部１４３は、出力管理情報テーブル１８０から、対応する共有データのＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤを取得すると共に、その共有データのＳｔａｒｔ  Ａｄｄｒｅｓｓに対する書き込み先のアドレスのオフセット（以下、単に「オフセット」という）を算出し、取得したＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤと、算出したオフセットとを共通バス制御部１４４に送出する（ステップＳ１０３）。
【００６５】
例えば、上述の書き込み先のアドレスが「０ｘ０００１」である場合の例においては、Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」、オフセット「０ｘ００１」が共通バス制御部１４４に送出される。
続いて、Ｍａｓｔｅｒ  ＩＤ等を受領した共通バス制御部１４４は、共通バス１０１の使用権を得るために、共通バス調停部１０２に共通バスアクセス要求信号を送出する（ステップＳ１０４）。この共通バスアクセス要求信号を受領した共通バス調停部１０２は、共通バス１０１に対しデータの送出を要求する各計算機からの要求を調停の上、この受領した共通バスアクセス要求信号の送信元である計算機に共通バス１０１の使用権を与える旨の共通バスアクセス許可信号を送信する。
【００６６】
ステップＳ１０４で共通バスアクセス要求信号を送出した共通バス制御部１４４は、共通バス調停部１０２から共通バスアクセス許可信号を受領したか否かを判定し（ステップＳ１０５）、受領していない場合には（ステップＳ１０５：ＮＯ）、再びステップＳ１０５の処理を行う。
一方、共通バスアクセス許可信号を受領した場合には（ステップＳ１０５：ＹＥＳ）、共通バス制御部１４４は、出力判定部１４３から受領しているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤ、及びオフセットを共通バス１０１に出力すると共に、Ｍａｓｔｅｒ  ＩＤ等を出力した旨の出力完了信号を出力判定部１４３に送出する（ステップＳ１０６）。
【００６７】
出力完了信号を受領した出力判定部１４３は、メモリアクセス要求信号の選択部１６０への送出及び書き込み対象データの共通バス１０１への出力を指示する信号を内部バス制御部１４２に送出する。この信号を受領した内部バス制御部１４２は、受領しているメモリアクセス要求信号に含まれる書き込み対象データを共通バス１０１に出力すると共に、選択部１６０にこのメモリアクセス要求信号を送出し（ステップＳ１０７）、出力判定処理を終了する。
【００６８】
一方、ステップＳ１０１において、読み出し要求信号である場合（ステップＳ１０１：ＮＯ）、又は、ステップＳ１０２において、書き込み要求が、他の計算機へ送出すべき共有データに対するものでない場合には（ステップＳ１０２：ＮＯ）、出力判定部１４３は、内部バス制御部１４２にメモリアクセス要求信号等の送出を指示する信号を送出し、これを受領した内部バス制御部１４２は、選択部１６０に受領しているメモリアクセス要求信号等を送出し（ステップＳ１０８）、出力判定処理を終了する。
【００６９】
＜入力管理部の動作＞
次に、入力管理部１５０による入力判定処理について説明する。
図６は、入力管理部１５０による入力判定処理を示すフローチャートである。
なお、以下のステップＳ１１０〜Ｓ１１５の処理は繰り返し実行されるものとする。
入力管理部１５０の入力判定部１５２は、他の計算機から共通バス１０１上にＭａｓｔｅｒ  ＩＤ等が出力されているか否かを判定し（ステップＳ１１０）、出力されていない場合には（ステップＳ１１０：ＮＯ）、何も行わず入力判定処理を終了する。
【００７０】
一方、Ｍａｓｔｅｒ  ＩＤ等が出力されている場合には（ステップＳ１１０：ＹＥＳ）、入力判定部１５２は、出力されているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤ、及びオフセットを受領する（ステップＳ１１１）。
入力判定部１５２は、受領したＭａｓｔｅｒ  ＩＤ及びＤａｔａ  ＩＤに基づいて、他の計算機から共通バス１０１に出力された書き込み対象のデータが、自機が受領すべき共有データであるか否かを判定する（ステップＳ１１２）。
【００７１】
より詳細には、入力管理情報保持部１５１の入力管理情報テーブル１９０を参照し、受領したＭａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを対応付けた入力管理情報が登録されている場合にのみ、肯定的な判定を行う。
例えば、受領したＭａｓｔｅｒ  ＩＤが「１」、Ｄａｔａ  ＩＤが「０」である場合には、図４（ｂ）に示す入力管理情報テーブル１９０に該当の入力管理情報が登録されているので、肯定的な判定がなされることになる。また、例えば、受領したＭａｓｔｅｒ  ＩＤが「１」でＤａｔａ  ＩＤが「２」である場合には、該当の入力管理情報が登録されていないので否定的な判定がなされることになる。
【００７２】
ステップＳ１１２において、自機が受領すべき共有データでない場合には（ステップＳ１１２：ＮＯ）、入力判定処理を終了し、自機が受領すべき共有データである場合には（ステップＳ１１２：ＹＥＳ）、入力判定部１５２は、アクセス種別（書き込み）及び書き込み先のアドレスを指定するアクセスコマンド信号を内部バス制御部１５３に送出する（ステップＳ１１３）。ここで、書き込み先のアドレスは、該当の入力管理情報に含まれるＳｔａｒｔ  Ａｄｄｒｅｓｓに受領したオフセットを加えたものである。
【００７３】
アクセスコマンド信号を受領した内部バス制御部１５３は、共通バス１０１から、他の計算機により出力された書き込み対象データを受領し、この書き込み対象データと、受領しているアクセスコマンド信号とを含むメモリアクセス要求信号を選択部１６０に送出し（ステップＳ１１５）、入力判定処理を終了する。
＜選択部及びメモリ制御部の動作＞
次に、選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とについて説明する。
【００７４】
図７は、選択部１６０によるメモリアクセス要求信号の送出処理とメモリ制御部１７０によるメモリアクセス処理とを示すフローチャートである。
まず、選択部１６０の処理について説明する。
なお、以下のステップＳ１２０〜Ｓ１２４の処理は繰り返し実行されるものとする。
選択部１６０は、出力管理部１４０と入力管理部１５０との両方からメモリアクセス要求信号（入力管理部１５０については、特に書き込み要求信号である）を受領したか否かを判定し（ステップＳ１２０）、受領した場合には（ステップＳ１２０：ＹＥＳ）、まず、入力管理部１５０からのメモリアクセス要求信号をメモリ制御部１７０に送出する（ステップＳ１２１）。
【００７５】
次に、選択部１６０は、出力管理部１４０からのメモリアクセス要求信号等をメモリ制御部１７０に送出し（ステップＳ１２２）、メモリアクセス要求信号の送出処理を終了する。
一方、ステップＳ１２０において、出力管理部１４０と入力管理部１５０との両方からはメモリアクセス要求信号を受領していない場合には（ステップＳ１２０：ＮＯ）、選択部１６０は、出力管理部１４０と入力管理部１５０とのいずれか一方からメモリアクセス要求信号を受領しているか否かを判定する（ステップＳ１２３）。
【００７６】
いずれからもメモリアクセス要求信号を受領していない場合には（ステップＳ１２３：ＮＯ）、メモリアクセス要求信号の送出処理を終了し、いずれか一方からメモリアクセス要求信号を受領している場合には（ステップＳ１２３：ＹＥＳ）、受領したメモリアクセス要求信号等をメモリ制御部１７０に送出し（ステップＳ１２４）、メモリアクセス要求信号の送出処理を終了する。
【００７７】
次に、メモリ制御部１７０の処理について説明する。
なお、以下のステップＳ１３０、Ｓ１３１の処理は繰り返し実行されるものとする。
メモリ制御部１７０は、選択部１６０が送出したメモリアクセス要求信号（上述のステップＳ１２１、Ｓ１２２、Ｓ１２４で送出したもの）を受領したか否かを判定し（ステップＳ１３０）、受領していない場合には（ステップＳ１３０：ＮＯ）、何も行わずメモリアクセス処理を終了する。
【００７８】
一方、メモリアクセス要求信号を受領した場合には（ステップＳ１３０：ＹＥＳ）、そのメモリアクセス要求信号に従って、自機が接続するメモリに対してデータの読み出し又は書き込みを行い（ステップＳ１３１）、メモリアクセス処理を終了する。なお、ステップＳ１３１において、メモリアクセス要求信号が読み出し要求信号である場合には、メモリ制御部１７０は、受領しているプロセッサの識別情報に基づいて、該当するプロセッサに読み出したデータを送出する。
【００７９】
＜適用例１＞
まず、実施の形態１に係る処理システム１０００を、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）のデコード機能を有するデジタル放送受信器１０００Ａに適用した例を説明する。
＜構成＞
図８は、適用例１に係るデジタル放送受信器１０００Ａの構成図である。
【００８０】
同図に示すように、デジタル放送受信器１０００Ａは、処理システム１０００のほか、アンテナ、チューナ、スピーカ、モニタ等を含んで構成される。
なお、以下では、説明を簡略化するために、各計算機は１つのプロセッサ１２０Ａのみを備えるものとすると共に、共通バス調停部１０２による共通バス１０１の使用権の調停処理については、ここでは特に言及しないものとする（同図においても省略している）。
【００８１】
ここで、各計算機（１００Ａ〜１００Ｅ）内のプロセッサ１２０Ａが、自機が接続するメモリ（１１０Ａ〜１１０Ｅ）の固有領域（共有データ以外が記憶された格納領域であって、同図の各メモリにおける網掛け部分がこの領域に該当する）に記憶されているプログラムを実行することにより、各計算機は、以下の機能を実現する。
即ち、計算機１００Ａは、アンテナからチューナを介して受信したＭＰＥＧストリーム（符号化ストリーム）から、ＡｕｄｉｏデータとＶｉｄｅｏデータとを切り出し、Ａｕｄｉｏデータのデコード処理と、デコードされたＡｕｄｉｏデータをスピーカに出力させる処理を行う機能を有する。
【００８２】
計算機１００Ｂ〜１００Ｄそれぞれは、計算機１００Ａが切り出したＶｉｄｅｏデータのデコード処理を行う機能を有する。
一般的に、Ｖｉｄｅｏデータのデコード処理はＡｕｄｉｏデータのデコード処理と比較して演算量及び処理データ量が多い。従って、本適用例では、３つの計算機１００Ｂ〜１００Ｄが、Ｖｉｄｅｏデータのデコード処理を分担して行うこととしている。具体的には、図９に示すように、１つの画像（フレーム）を垂直方向に３等分したＶ１領域を計算機１００Ｂが、Ｖ２領域を計算機１００Ｃが、Ｖ３領域を計算機１００Ｄがそれぞれデコードする。
【００８３】
計算機１００Ｅは、計算機１００Ｂ〜１００Ｄによるデコード済みのＶｉｄｅｏデータをモニタに表示させる機能を有する。
＜各メモリ上のデータ＞
次に、図８に基づいて、各メモリに格納されるデータについて説明する。
同図の各メモリの左側に表記されている０及びアルファベットは、各メモリにおけるアドレス値を示している。例えば、メモリ１１０Ａにおいては、ＳｔＡの格納領域は０〜ａ−１番地であることを示している。なお、この適用例では、各メモリの「０」番地から各データを格納するものとして説明しているが、これは一例であり、任意のアドレスに各データを格納してもよい。これらの点については、以降の各適用例においても同様である。
【００８４】
メモリ１１０ＡにおけるＳｔＡは、計算機１００Ａが受信したＭＰＥＧストリームから切り出したＡｕｄｉｏデータであり、ＤｅｃＡは、計算機１００ＡがＳｔＡをデコードした結果であるデコード後のＡｕｄｉｏデータである。
また、メモリ１１０ＡにおけるＳｔＶ１、ＳｔＶ２、ＳｔＶ３それぞれは、計算機１００Ａが受信したＭＰＥＧストリームから切り出したＶｉｄｅｏデータを各領域（Ｖ１〜Ｖ３領域）に対応するように分割した分割Ｖｉｄｅｏデータである。
【００８５】
計算機１００Ｂ〜１００Ｄはこの分割Ｖｉｄｅｏデータに対してデコード処理を行うので、計算機１００Ｂ〜１００Ｄは、自機が処理する分割Ｖｉｄｅｏデータを計算機１００Ａと共有する必要がある。従って、同図に示すように、メモリ１１０ＢにはＳｔＶ１が、メモリ１１０ＣにはＳｔＶ２が、メモリ１１０ＤにはＳｔＶ３が格納される。
また、メモリ１１０ＢにおけるＤｅｃＶ１は、計算機１００Ｂがメモリ１１０ＢにおけるＳｔＶ１をデコードした結果であるデコード後の分割Ｖｉｄｅｏデータを示している。また、メモリ１１０ＣにおけるＤｅｃＶ２及びメモリ１１０ＤにおけるＤｅｃＶ３も、計算機１００Ｃ、１００ＤそれぞれがＳｔＶ２、ＳｔＶ３をデコードした結果であるデコード後の分割Ｖｉｄｅｏデータを示している。
【００８６】
計算機１００Ｅは、これらのデコード後の分割Ｖｉｄｅｏデータに基づいてモニタへの表示を行うので、これらの分割Ｖｉｄｅｏデータを計算機１００Ｂ〜１００Ｄと共有する必要がある。従って、同図に示すように、メモリ１１０ＥにはＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３が格納される。
また、一般的に、ＭＰＥＧにおけるＶｉｄｅｏストリームのデコード処理では、動き補償処理やデブロックフィルタ処理などのために、デコード済みの画像データの参照が必要になる。
【００８７】
従って、上述のように、１つの画像を３つの領域（Ｖ１〜Ｖ３領域）に分割して３つの計算機１００Ｂ〜１００Ｄが分担してデコードする場合には、他の計算機によるデコード済みの画像の参照が必要、つまり、３つの計算機１００Ｂ〜１００Ｄの間では、デコード済み画像のデータ共有が必要になることがある。
ここで、計算機１００Ｂ〜１００Ｄそれぞれが分担している領域（Ｖ１〜Ｖ３領域）をデコードする際に、どの範囲のデコード済み画像を参照する必要があるかは、一般的に、符号化の際に指定されたプロファイルとレベルで規定される動きベクトルの最大値により決定されるが、ここでは説明の簡略化のため、隣接する全ての領域の分割画像を参照すると仮定して説明を行う。
【００８８】
このため、同図に示すように、メモリ１１０ＢにはＤｅｃＶ２が、メモリ１１０ＣにはＤｅｃＶ１及びＤｅｃＶ３が、メモリ１１０ＣにはＤｅｃＶ２が格納される。
＜管理情報テーブル＞
次に、各計算機が保持する出力管理情報テーブル１８０と入力管理情報テーブル１９０の内容例を説明する。
【００８９】
図１０は、適用例１に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。
例えば、同図に示す計算機１００Ａにおける出力管理情報テーブル１８０の出力管理情報１８６は、メモリ１１０Ａにおいて、Ｓｔａｒｔ  Ａｄｄｒｅｓｓが「ａ」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「ｂ−１」である格納領域に格納されている共有データ（つまり、ＳｔＶ１）のＤａｔａ  ＩＤは「０」であり、この共有データを送信する計算機のＭａｓｔｅｒ  ＩＤは「０」（つまり計算機１００Ａ）であることを示している。
【００９０】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、ＳｔＶ１、ＳｔＶ２、ＳｔＶ３それぞれをメモリ１１０Ａに書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
また、計算機１００Ｂは、ＤｅｃＶ１をメモリ１１０Ｂに、計算機１００ＣはＤｅｃＶ２をメモリ１１０Ｃに、計算機１００ＤはＤｅｃＶ３をメモリ１１０Ｄにそれぞれ書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
【００９１】
図１１は、適用例１に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。
例えば、同図に示す計算機１００Ｂにおける入力管理情報テーブル１９０の入力管理情報１９６は、Ｍａｓｔｅｒ  ＩＤは「０」（つまり、計算機１００Ａ）であり、Ｄａｔａ  ＩＤは「０」であるデータ（つまり、ＳｔＶ１）は自機が他の計算機から受領すべき共有データであり、この共有データは、メモリ１１０ＢのＳｔａｒｔ  Ａｄｄｒｅｓｓが「０」で、Ｅｎｄ  Ａｄｄｒｅｓｓが「ｆ−１」である格納領域に格納されることを示している。
【００９２】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂは、共通バス１０１にＳｔＶ１が出力されるとこれをメモリ１１０Ｂの対応する領域（０〜ｆ−１番地）に書き込み、同様にＤｅｃＶ２が出力されると、メモリ１１０Ｂの対応する領域に書き込むことになる。
また、同様に、計算機１００Ｃは、共通バス１０１にＳｔＶ２、ＤｅｃＶ１、ＤｅｃＶ３が出力されると、計算機１００Ｄは、ＳｔＶ３、ＤｅｃＶ２が出力されると、計算機１００Ｅは、ＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３が出力されるとこれらをそれぞれのメモリの対応する領域に書き込むことになる。
【００９３】
上述のように各計算機における出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することにより、各計算機が処理に必要になる共有データのみを、共有データの同一性を保ちつつ、各メモリに保持することができる。
＜従来との比較＞
以下、従来の方法（特許文献１等の方法）により各計算機がデータを共有するデジタル放送受信器１０Ａにおいて、各メモリに保持されるデータを説明する。
【００９４】
図１２は、従来の方法により各計算機がデータを共有するデジタル放送受信器１０Ａの構成図である。
同図に示す計算機６Ａ〜６Ｅの機能は、上述の計算機１００Ａ〜１００Ｅと同様であり、メモリ７Ａ〜７Ｅも上述のメモリ１１０Ａ〜１１０Ｅと同様のメモリである。
従来の方法では、システム全体で必要となる全ての共有データを全てのメモリに格納するので、同図に示すように、システム全体の共有データ（ＳｔＶ１、ＳｔＶ２、ＳｔＶ３、ＤｅｃＶ１、ＤｅｃＶ２、ＤｅｃＶ３）が各メモリに格納される。
【００９５】
その結果、各メモリは、接続先の計算機が使用しないデータにより、格納領域が無駄に消費されることになる。例えば、メモリ７Ｂは、計算機６Ｂが使用しないＳｔＶ２、ＳｔＶ３、ＤｅｃＶ３により、格納領域が無駄に消費されている。
また、例えば、計算機６ＡがＳｔＶ２をメモリ７Ａに書き込む際に、このＳｔＶ２が各メモリに書き込まれることになるので、各メモリに対する接続先の計算機からのアクセスと競合が生じる可能性が高まる。
【００９６】
一方、上述の適用例１に係るデジタル放送受信器１０００Ａにおいては、
各計算機は、必要なデータのみを各メモリに格納するので、領域が無駄に消費されることはなく（図８参照）、かつ無駄なアクセス競合も生じない。
＜適用例２＞
次に、実施の形態１で説明した各計算機間のデータ共有方法を、上述のデジタル放送受信器１０００Ａにおける各計算機の同期制御に適用した例を説明する。
【００９７】
ここでの同期制御とは、複数の計算機に対して一斉に特定の処理を行わせることにより、システム全体を制御することをいう。デジタル放送受信器１０００Ａにおける同期制御の例としては、各計算機にチャンネル切り替えに伴うデコードストリームの切り替え処理や、ストリームのエラーによるピクチャスキップ、バッファフラッシュ等のエラーコンシールメント処理などを一斉に行わせることが挙げられる。
【００９８】
＜各メモリ上のデータ＞
まず、各メモリに格納されるデータについて説明する。
図１３（ａ）は、適用例２に係るデジタル放送受信器１０００Ａの各メモリにおけるデータ配置を示す図である。
なお、上述の適用例１に係るデジタル放送受信器１０００Ａは、５つの計算機（１００Ａ〜１００Ｅ）を備えるものとして説明したが、以下では、４つの計算機１００Ａ〜１００Ｄを備えるものとして説明する。
【００９９】
ここで、メモリ１１０Ｂ〜１１０ＤにおけるＳｔａｔｕｓ  ｆｌａｇ１〜３はそれぞれ、接続先の計算機１００Ｂ〜１００Ｄにおける同期処理の実行状態を示すフラグであり、この例では、実行していない状態を「０」、実行中の状態を「１」として説明する。各計算機はそれぞれＳｔａｔｕｓ  ｆｌａｇ１〜３が「０」から「１」に更新されることで同期処理を開始し、同期処理を完了すると、「１」から「０」に更新する。
【０１００】
また、メモリ１１０ＡにおけるＳｔａｒｔ  ｆｌａｇは、各計算機に同期処理を開始させるための起動フラグであり、Ｅｎｄ  ｆｌａｇ１〜３それぞれは、計算機１００Ｂ〜１００Ｄにおける同期処理の実行状態を示すフラグであり、この例では、実行していない状態を「０」、実行中の状態を「１」として説明する。
なお、各フラグは「０」又は「１」の値を取るものとして説明しているが、これは一例であり、他の値であってもよい。
【０１０１】
＜管理情報テーブル＞
次に、各計算機が保持する出力管理情報テーブル１８０と入力管理情報テーブル１９０の内容例を説明する。
図１４（ａ）は、適用例２に係る各計算機における出力管理情報テーブル１８０の内容例を示す図である。
【０１０２】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、Ｓｔａｒｔ  ｆｌａｇを書き込む際に、このＳｔａｒｔ  ｆｌａｇを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
また、計算機１００Ｂ〜１００Ｄは、それぞれＳｔａｔｕｓ  ｆｌａｇ１〜３を書き込む際に、これらのデータを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
【０１０３】
図１４（ｂ）は、適用例２に係る各計算機における入力管理情報テーブル１９０の内容例を示す図である。
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂ、１００Ｃ、１００Ｄは、共通バス１０１にＳｔａｒｔ  ｆｌａｇが出力されるとこれを受領し、メモリ１１０ＢのＳｔａｔｕｓ  ｆｌａｇ１の領域に、メモリの１１０ＣのＳｔａｔｕｓ  ｆｌａｇ２の領域に、メモリ１１０ＤのＳｔａｔｕｓ  ｆｌａｇ３の領域にそれぞれ書き込むことになる。
【０１０４】
また、計算機１００Ａは、計算機１００Ｂ、１００Ｃ、１００ＤからそれぞれＳｔａｔｕｓ  ｆｌａｇ１、２、３が出力されるとこれを受領し、それぞれをメモリ１１０ＡのＥｎｄ  ｆｌａｇ１、２、３の格納領域に書き込むことになる。
＜動作＞
以下、各計算機の動作を具体的に説明する。
【０１０５】
図１５は、適用例２に係る各計算機の動作を説明するための図である。
なお、同図では、データの流れを矢印で示し、各メモリ内のデータのうち、書き込まれたデータを太字で表記している。これは、以下の各適用例においても同様である。
計算機１００Ａは、計算機１００Ｂ〜１００Ｄに同期処理を実行させる必要が生じた場合に、まず、メモリ１１０Ａに格納されているＥｎｄ  ｆｌａｇ１〜３が「０」であること、つまり、計算機１００Ｂ〜１００Ｄが同期処理を実行中でないことを確認する（同図（ａ）参照）。
【０１０６】
続いて、計算機１００Ａは、計算機１００Ｂ〜１００Ｄに同期処理を開始させるために、メモリ１１０ＡのＳｔａｒｔ  ｆｌａｇの格納領域に「１」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｒｔ  ｆｌａｇ「１」を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。
【０１０７】
なお、計算機１００Ａは、メモリ１１０ＡのＥｎｄ  ｆｌａｇ１〜３の各領域に「１」を書き込んでおく。
計算機１００Ｂ〜１００Ｄそれぞれは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｒｔ  ｆｌａｇ「１」を受領する判定を行い、メモリ１１０Ｂ〜１１０ＤのＳｔａｔｕｓ  ｆｌａｇ１〜３の各領域に「１」を書き込む（同図（ｂ）参照）。
【０１０８】
この書き込みにより、計算機１００Ｂ〜１００Ｄそれぞれは同期処理を開始する。計算機１００Ｂ〜１００Ｄそれぞれは同期処理が完了するとメモリ１１０Ｂ〜１１０ＤのＳｔａｔｕｓ  ｆｌａｇ１〜３に「０」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にそれぞれを出力する（上記同様に出力したデータに対応するＭａｓｔｅｒ  ＩＤ、ＤａｔａＩＤ等が共に出力される）。
【０１０９】
計算機１００Ａは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ、Ｄａｔａ  ＩＤと、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ  ｆｌａｇ１〜３を受領する判定を行い、メモリ１１０ＡのＥｎｄ  ｆｌａｇ１〜３の領域に書き込む（同図（ｃ）参照）。
最後に計算機１００Ａは、メモリ１１０Ａに格納されているＥｎｄ  ｆｌａｇ１〜３が「０」であること、つまり、計算機１００Ｂ〜１００Ｄが同期処理を完了したことを確認する。
【０１１０】
＜従来との比較＞
図１３（ｂ）は、従来方式によりデータを共有するデジタル放送受信器１０Ａにおける各計算機に同期処理を行わせる場合の各メモリにおけるデータ配置を示す図である。
これと比較して、デジタル放送受信器１０００Ａは、同図（ａ）に示すように、各メモリの格納領域に無駄が生じておらず、また、無駄な書き込みが行われないので、無駄なアクセス競合が生じないといえる。
【０１１１】
また、各計算機において、上述のように出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することにより、計算機１００ＡによるＳｔａｒｔ  ｆｌａｇ「１」のメモリ１１０Ａへの書き込みにより、複数の計算機１００Ｂ〜１００Ｄにおいて同時に同期処理を開始することができ、かつ、計算機１００Ｂ〜１００Ｄそれぞれが出力するＳｔａｔｕｓ  ｆｌａｇ１〜３によって、計算機１００Ａは各計算機における同期処理の完了を知ることができるので、容易に同期制御を実現できる。
【０１１２】
なお、この適用例では、計算機１００Ａが、他の全ての計算機（１００Ｂ〜１００Ｄ）に同期処理を行わせる例を説明したが、一部の計算機のみに同期処理を行わせることも可能である。
例えば、計算機１００Ｂと１００Ｃのみに同期処理を行わせ、計算機１００Ｄには行わせない場合には、計算機１００Ｄが保持する入力管理情報テーブル１９０におけるＳｔａｔｕｓ  ｆｌａｇ３についての入力管理情報を無効にすればよい（Ｖａｌｉｄを「０」に設定する）。
【０１１３】
また、この適用例では、計算機１００Ａが、他の全ての計算機（１００Ｂ〜１００Ｄ）に同じタイミングで同期処理を開始させる例を説明したが、異なるタイミングで開始させることも可能である。
例えば、計算機１００Ｂと１００Ｃとには同じタイミングＴ１で、計算機１００Ｄはこれとは異なるタイミングＴ２で同期処理を開始させる場合に、計算機１００Ａは、タイミングＴ１用のＳｔａｒｔ  ｆｌａｇ１と、タイミングＴ２用のＳｔａｒｔ  ｆｌａｇ２をメモリ１１０Ａに格納するようにし、それぞれを「１」に更新したときに共通バス１０１に出力するように、計算機１００Ａの出力管理情報テーブル１８０を設定しておく。
【０１１４】
また、計算機１００Ｂと１００ＣとはＳｔａｒｔ  ｆｌａｇ１を受領するように、計算機１００Ｄは、Ｓｔａｒｔ  ｆｌａｇ２を受領するようにそれぞれの入力管理情報テーブル１９０を設定しておく。なお、計算機１００Ｂ〜１００Ｄが行う同期処理の内容は同一であっても異なってもよいのはもちろんである。
＜適用例３＞
次に、実施の形態１に係る処理システム１０００を、各計算機が他の計算機の処理結果を用いて処理を行う連携処理システムに適用した例を説明する。
【０１１５】
なお、処理システム１０００は、５つの計算機（１００Ａ〜１００Ｅ）を備えるものとして説明したが、本適用例に係る連携処理システムは、４つの計算機１００Ａ〜１００Ｄを備えるものとして説明する。
＜連携処理の流れ＞
図１６は、適用例３における連携処理の流れを説明するための図である。
【０１１６】
同図に示すように、本連携処理は、処理Ａ、処理Ｂ、処理Ｃ、処理Ｄの順で行われる。ここで、処理Ｂ〜処理Ｄは、１つ前に行われた処理の結果（Ｄａｔａ０〜２）を用いて行われる。
なお、以下では、処理Ａ〜Ｄを、それぞれ計算機１００Ａ〜１００Ｄが行うものとして説明する。また、計算機１００Ｄによる処理Ｄが完了すると、計算機１００Ａは、次の処理Ａを開始するものとする。
【０１１７】
＜各メモリ上のデータ＞
図１７（ａ）は、適用例３に係る各メモリのデータ配置を示す図である。
ここで、各メモリにおけるＳｔａｔｕｓ０〜３は、各計算機に対応する処理を開始させるための起動フラグであり、各計算機は、このフラグが自機のＭａｓｔｅｒ  ＩＤと一致する場合に対応する処理を開始し、その処理が完了すると次の処理を行う計算機のＭａｓｔｅｒ  ＩＤを書き込む。
【０１１８】
また、各メモリにおけるＤａｔａ０〜３はそれぞれ、処理Ａ〜Ｄにより生成されるデータであり、図１６に示す各データ（Ｄａｔａ０〜３）に対応する。
＜管理情報テーブル＞
図１８（ａ）は、適用例３に係る各計算機の出力管理情報テーブル１８０の内容例を示す図である。
【０１１９】
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａ〜１００Ｄは、Ｓｔａｔｕｓ０〜３及びＤａｔａ０〜２を各メモリに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。
図１８（ｂ）は、適用例３に係る各計算機の入力管理情報テーブル１９０の内容例を示す図である。
【０１２０】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ａ〜１００Ｃは、自機が行う処理の前後の処理を行う計算機から出力されるＳｔａｔｕｓを、それぞれメモリ１１０Ａ〜１１０ＣのＳｔａｔｕｓ０〜２の領域に書き込むことになる。また、計算機１００Ｄは、自機が行う処理Ｄの前の処理Ｃを行う計算機１００Ｃから出力されるＳｔａｔｕｓ２を、メモリ１１０ＤのＳｔａｔｕｓ３の領域に書き込むことになる。
【０１２１】
また、計算機１００Ｂ〜１００Ｄは、自機が行う処理の前に処理を行う計算機から出力されるＤａｔａをそれぞれメモリ１１０Ｂ〜１１０ＤのＤａｔａ１〜３の領域に書き込むことになる。
＜動作＞
図１９は、適用例３に係る各計算機の動作を説明するための図である。
【０１２２】
まず、計算機１００Ａは、メモリ１１０ＡのＳｔａｔｕｓ０の領域を参照し、Ｓｔａｔｕｓ０が自機のＭａｓｔｅｒ  ＩＤ「０」と一致する場合に、処理Ａを開始する（同図（ａ）参照）。
計算機１００Ａは、処理Ａを完了すると、メモリ１１０Ａの該当領域にＤａｔａ０を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＤａｔａ０を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「１」等も共に出力する）。
【０１２３】
計算機１００Ｂは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「１」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＤａｔａ０を受領する判定を行い、メモリ１１０ＢのＤａｔａ１の領域に、Ｄａｔａ０を書き込む。
その後、計算機１００Ａは、メモリ１１０ＡのＳｔａｔｕｓ０の領域に「１」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｔｕｓ０「１」を出力する（Ｍａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。
【０１２４】
計算機１００Ｂは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「０」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ０「１」を受領する判定を行い、メモリ１１０ＢのＳｔａｔｕｓ１の領域に「１」を書き込む（同図（ｂ）参照）。
この結果、計算機１００Ｂは、Ｓｔａｔｕｓ１が自機のＭａｓｔｅｒ  ＩＤ「１」と一致するので処理Ｂを開始し、処理Ｂが完了すると、メモリ１１０Ｂの該当領域にＤａｔａ１を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＤａｔａ１を出力する（Ｍａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「１」等も共に出力する）。
【０１２５】
計算機１００Ｃは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「１」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＤａｔａ１を受領する判定を行い、メモリ１１０ＣのＤａｔａ２の領域に、Ｄａｔａ１を書き込む。
その後、計算機１００Ｂは、メモリ１１０ＢのＳｔａｔｕｓ１の領域に「２」を書き込むと共に、自機が記憶する出力管理情報テーブル１８０に基づいて、共通バス１０１にＳｔａｔｕｓ１「２」を出力する（Ｍａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「０」等も共に出力する）。
【０１２６】
計算機１００Ａ及び１００Ｃそれぞれは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ「１」、Ｄａｔａ  ＩＤ「０」と、自機が記憶する入力管理情報テーブル１９０とに基づいて、このＳｔａｔｕｓ１「２」を受領する判定を行い、それぞれメモリ１１０ＡのＳｔａｔｕｓ０の領域、メモリ１１０ＣのＳｔａｔｕｓ２の領域に「２」を書き込む（同図（ｃ）参照）。
【０１２７】
同様にして、計算機１００Ｃは処理Ｃを開始し、この処理Ｃが完了すると、メモリ１１０Ｃの該当領域にＤａｔａ２を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ｄは、メモリ１１０ＤのＤａｔａ３の領域に、Ｄａｔａ２を書き込む。その後、計算機１００Ｃは、メモリ１１０ＣのＳｔａｔｕｓ２の領域に「３」を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ｂ及び１００Ｄは、このＳｔａｔｕｓ２「３」をそれぞれメモリ１１０ＢのＳｔａｔｕｓ１の領域、メモリ１１０ＤのＳｔａｔｕｓ３の領域に書き込む（同図（ｄ）参照）。
【０１２８】
同様に、計算機１００Ｄは、処理Ｄを開始し、この処理Ｄが完了すると、メモリ１１０Ｄの該当領域にＤａｔａ３を書き込む。その後、計算機１００Ｄは、メモリ１１０ＤのＳｔａｔｕｓ３の領域に「０」を書き込むと共に、これを共通バス１０１に出力し、計算機１００Ａ及び１００Ｃは、このＳｔａｔｕｓ３「０」をそれぞれメモリ１１０ＡのＳｔａｔｕｓ０の領域、メモリ１１０ＣのＳｔａｔｕｓ２の領域に書き込む（同図（ｅ）参照）。
【０１２９】
以降、計算機１００Ａは、Ｓｔａｔｕｓ０が自機のＭａｓｔｅｒ  ＩＤ「０」と一致するので、再び処理Ａを開始することになる。
＜従来との比較＞
図１７（ｂ）は、従来方式によりデータを共有して連携処理を行う連携処理システムにおける各メモリのデータ配置を示す図である。
【０１３０】
同図（ａ）に示す適用例３に係る連携処理システムでは、同図（ｂ）と比較して各メモリにおける共有データ用の格納領域を大幅に削減できており、各メモリの格納領域に無駄が生じておらず、また、無駄な書き込みによる計算機内のプロセッサとのメモリアクセス競合が生じないといえる。
なお、本適用例においては、説明を簡略化するために、処理Ａ→処理Ｂ→処理Ｃ→処理Ｄといったように順番に連携処理を行うものとして、各メモリに１世代分のＳｔａｔｕｓとＤａｔａを格納する領域を設ける例を説明したが、複数世代分のＳｔａｔｕｓとＤａｔａとを格納するようにして各計算機が各処理を並列して行うようにすることも可能である。
【０１３１】
また、本実施例では、各計算機のＳｔａｔｕｓを前後の処理を行う計算機が共有するものとして説明したが、全ての計算機が共有するように入力管理情報テーブル１９０を設定してもよい。これにより、各計算機は、自機が接続するメモリのＳｔａｔｕｓを参照することにより、現在処理している計算機を知ることができるので、システム全体での処理状況を容易に把握できるようになる。
【０１３２】
＜適用例４＞
上述の適用例３に係る連携処理システムに、定常時においてアイドル状態である計算機１００Ｅを加え、他の計算機１００Ｂ〜１００Ｄの処理負荷に応じて、その計算機の処理の一部をこの計算機１００Ｅが分担する例を説明する。
図２０は、適用例４に係る各計算機の動作を説明するための図である。
【０１３３】
以下では、同図を用いて、計算機１００Ｃが行う処理Ｃの負荷が高くなったときに、処理Ｃの一部をこの計算機１００Ｅが分担する場合の動作例を説明する。
なお、同図は、計算機１００Ａが処理Ａを完了し、Ｄａｔａ０を共通バス１０１に出力した後の状態を示しており、計算機１００Ａの図示を省略している。
同図（ａ）に示すように、定常時においては、計算機１００Ｂ〜１００Ｄがそれぞれ処理Ｂ〜Ｄを行っており、計算機１００Ｅはアイドル状態である。
【０１３４】
なお、適用例３に係る各計算機は、Ｓｔａｔｕｓが自機のＭａｓｔｅｒ  ＩＤと一致した場合に処理を開始するものとして説明したが、この適用例４では、１つの前の処理結果（Ｄａｔａ０〜２）が書き込まれた場合に、処理を開始するものとし、また、１つ前の処理結果と自装置の処理結果とを異なる領域に書き込むものとしている。
図２１（ａ）は、適用例４に係る定常時における各計算機の出力管理情報テーブル１８０の内容例を示す図である。
【０１３５】
なお、同図においても、計算機１００Ａの出力管理情報テーブル１８０の記載を省略している。
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ｂ、１００Ｃは、それぞれＤａｔａ１、Ｄａｔａ２を書き込む際に、このＤａｔａ１、Ｄａｔａ２を、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
【０１３６】
また、図２１（ｂ）は、適用例４に係る定常時における各計算機の入力管理情報テーブル１９０の内容例を示す図である。
なお、同図においても、計算機１００Ａの入力管理情報テーブル１９０の記載を省略している。
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂ〜１００Ｄは、それぞれ共通バス１０１にＤａｔａ０〜Ｄａｔａ２が出力されるとこれを受領し、メモリ１１０Ｂ〜１１０Ｄの対応する領域に書き込むことになる。
【０１３７】
図２０（ａ）の状態から、計算機１００Ｃによる処理Ｃの処理負荷が高くなってくると（例えば、処理Ｃの開始から終了までの処理時間が所定時間以上になると）、アイドル状態の計算機１００Ｅに処理Ｃの一部を実行させるために、図２１（ｃ）に示すように、任意の計算機内の１つのプロセッサ（例えば、計算機１００Ａのプロセッサ１２０Ａ）は、計算機１００Ｅの入力管理情報テーブル１９０に入力管理情報を登録する。なお、この登録は、例えば、計算機１００Ｃから処理Ｃの負荷が高くなった旨の通知を受けて行う。
【０１３８】
これにより、計算機１００Ｅは、計算機１００Ｂにより共通バス１０１に出力されたＤａｔａ１を受領し、メモリ１１０Ｅの対応する領域に書き込むことになる（図２０（ｂ）参照）。
その後、処理に必要なＤａｔａ１が、計算機１００Ｅのメモリ１１０Ｅに蓄積されると、図２１（ｄ）、（ｅ）に示すように、計算機１００Ｄの入力管理情報テーブル１９０に入力管理情報１９７を登録し、また、計算機１００Ｅの出力管理情報を登録する。
【０１３９】
その後、計算機１００Ｅは処理Ｃを開始し、メモリ１１０Ｅの該当領域にＤａｔａ２を書き込むと共に、共通バス１０１にＤａｔａ２を出力し、計算機１００Ｄは、これを受領してメモリ１１０ＤのＤａｔａ２の領域に書き込む（図２０（ｃ）参照）。
なお、処理Ｃを計算機１００Ｃと１００Ｅが分担して行う際に、例えば、Ｄａｔａ１を２等分した前半部分を用いて計算機１００Ｃが処理Ｃを行ってＤａｔａ２の前半部分を出力し、Ｄａｔａ１の後半部分を用いて計算機１００Ｅが処理Ｃを行ってＤａｔａ２の後半部分を出力するものとする。つまり、計算機１００Ｃから出力されるＤａｔａ２の前半部分と計算機１００Ｅから出力されるＤａｔａ２の後半部分とをあわせてＤａｔａ２を構成するように、メモリ１１０Ｄの対応する領域に書き込まれることになる。
【０１４０】
このように、各計算機は、出力管理情報テーブル１８０及び入力管理情報テーブル１９０に基づいて共有データの出入力を制御するため、このテーブルを必要に応じて更新することで、運用中においても、他の計算機に大きな影響を与えることなく、連携処理システムが備える計算機の数を容易に増減させることができる。このことは、特にリアルタイム性が要求される処理を実現するシステムにおいて、性能保証が容易に実現できることを意味する。
【０１４１】
また、計算機の数を増やした場合に、その計算機用に別個にデータを出力する必要がないので、共通バス１０１上のデータ量の増加を防止できる。
また、定常時において計算機１００Ｅは、他の計算機１００Ａ〜１００Ｃが共通バス１０１に出力したデータをメモリ１１０Ｅに書き込むことはないので、定常時に、計算機１００Ａ〜１００Ｄとのデータの授受を必要としないような処理を計算機１００Ｅに実行させるようにした場合には、計算機１００Ｅは、メモリ１１０Ｅの格納領域を専有し、かつアクセス競合を生じることなく効率的に処理を行うことができる。
【０１４２】
なお、本適用例では、処理Ｃを計算機１００Ｃと１００Ｅとが分担して処理する際に、分担処理を行っている他の計算機が生成したＤａｔａ２の参照が必要ないものとして説明したが、他の計算機が生成したＤａｔａ２の参照が必要な場合にも、適用例１で説明したように、計算機１００Ｃと１００Ｅの入力管理情報テーブル１９０に、分担処理を行っている他の計算機が出力するＤａｔａ２を受領するような入力管理情報を登録することで実現可能である。
【０１４３】
また、本適用例では、処理Ｃを計算機１００Ｃと１００Ｅとが分担して処理する場合を説明したが、例えば、計算機１００Ｃが故障等により使用できなくなった場合においても、同様の方法で、計算機１００Ｃによる処理Ｃの実行を、計算機１００Ｅに代替させることが可能である。
また、本適用例では、計算機１００Ｅは、定常時においては、他の計算機１００Ａ〜１００ＣからのＤａｔａ０〜２を受領しないよう、計算機１００Ｅの入力管理情報テーブル１９０を設定していたが、定常時においても受領するようにしておいてもよい。計算機１００Ｃ、１００Ｄにおいても、それぞれ計算機１００ＥからＤａｔａ1、Ｄａｔａ２及び３を受領するように、計算機１００Ｃ、１００Ｄの入力管理情報テーブル１９０を設定してもよい（図２２（ａ）、（ｂ）参照）。
【０１４４】
この場合、各計算機間のデータの流れは、同図（ｃ）に示すようになる。
これにより、計算機１００Ａ〜１００Ｃが生成した最新のＤａｔａ０〜２が計算機１００Ｅのメモリ１１０Ｅに常時反映されるため、計算機１００Ｅが処理Ｂ〜Ｄのいずれの分担処理を開始する際にも、出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定しなおす必要がなく、より高速に分担処理を開始させることができる。
【０１４５】
なお、図２２（ｂ）のように計算機１００Ｃ、１００Ｄにおいて、入力管理情報テーブル１９０を設定した場合でも、計算機１００Ｅが分担処理を開始するまでは、計算機１００Ｅから共通バス１０１にＤａｔａ１、Ｄａｔａ２やＤａｔａ３が出力されることはないので、メモリ１１０ＢへのＤａｔａ１、メモリ１１０ＣへのＤａｔａ２やメモリ１１０ＤへのＤａｔａ３の書き込みは生じない。従って、上述のように設定した場合でも、計算機１００Ｅが分担処理を開始するまでは、共通バス１０１におけるデータ量は、図２０で説明した場合と変わらず、他の計算機に影響を与えることもない。
【０１４６】
＜適用例５＞
実施の形態１で説明した各計算機間のデータ共有方法を、各計算機の初期化処理に適用した例を説明する。
＜各メモリ上のデータ配置＞
図２３（ａ）は、適用例５に係る各メモリのデータ配置を示す図である。
【０１４７】
ここで、各メモリにおけるＩｎｉｔ  ａｌｌは、各計算機が共通して使用する初期データであり、Ｉｎｉｔ０〜Ｉｎｉｔ３は、それぞれ計算機１００Ａ〜１００Ｄのみが使用する初期データであり、Ｉｎｉｔ１２は、計算機１００Ｂと１００Ｃとが、Ｉｎｉｔ２３は、計算機１００Ｃと１００Ｄとが、Ｉｎｉｔ３１は、計算機１００Ｂと１００Ｄとが使用する初期データである。
【０１４８】
＜管理情報テーブル＞
図２３（ｂ）は、適用例５に係る各計算機の出力管理情報テーブル１８０の内容例を示す図である。
同図に示すように、各計算機における出力管理情報テーブル１８０を設定することにより、計算機１００Ａは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１〜３、Ｉｎｉｔ１２、Ｉｎｉｔ２３、Ｉｎｉｔ３１をメモリ１１０Ａに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力することになる。
【０１４９】
なお、他の計算機（１００Ｂ〜１００Ｄ）の出力管理情報テーブル１８０には有効な出力管理情報が登録されていない（つまり、Ｖａｌｉｄは「０」であるが、同図における図示は省略している）ため、計算機１００Ｂ〜１００Ｄは、共通バス１０１にデータを出力することはない。
図２３（ｃ）は、適用例５に係る各計算機の入力管理情報テーブル１９０の内容例を示す図である。
【０１５０】
同図に示すように、各計算機における入力管理情報テーブル１９０を設定することにより、計算機１００Ｂは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１、Ｉｎｉｔ１２、Ｉｎｉｔ３１を、計算機１００Ｃは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ２、Ｉｎｉｔ１２、Ｉｎｉｔ２３を、計算機１００Ｄは、Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ３、Ｉｎｉｔ２３、Ｉｎｉｔ３１を各メモリ（１００Ｂ〜１００Ｄ）のそれぞれ対応する領域に書き込むことになる。
【０１５１】
なお、計算機１００Ａの入力管理情報テーブル１９０には有効な入力管理情報が登録されていない（つまり、Ｖａｌｉｄは「０」であるが、同図における図示は省略している）ため、計算機１００Ａは、共通バス１０１に他の計算機（１００Ｂ〜１００Ｄ）により出力されているデータをメモリ１１０Ａに書き込むことはない。
上述のように、各計算機の出力管理情報テーブル１８０及び入力管理情報テーブル１９０を設定することによって、計算機１００Ａが各初期データ（Ｉｎｉｔ  ａｌｌ、Ｉｎｉｔ１〜３、Ｉｎｉｔ１２、Ｉｎｉｔ２３、Ｉｎｉｔ３１）をメモリ１１０Ａに書き込むだけで、メモリ１１０Ｂ〜１１０Ｄに他の計算機（１００Ｂ〜１００Ｄ）が使用する初期データがそれぞれ書き込まれることになるため、システム全体の初期化を高速に行うことができる。
【０１５２】
また、本適用例では、計算機１００Ａのみが初期データの書き込みを行うため、例えば、初期データを外部記憶装置で保持するようなシステムにおいては、計算機１００Ａのみをこの外部記憶装置と接続すれば足りる。
即ち、マルチプロセッサシステムにおいて、外部記憶装置と接続するためのインタフェース部を計算機１００Ａのみに設ければ足りるため、システム全体のコストを削減することができる。
≪実施の形態２≫
実施の形態１に係る各計算機の選択部１６０は、出力管理部１４０からのメモリアクセス要求信号と入力管理部１５０からの書き込み要求信号との両方を受領した場合に、入力管理部１５０からの書き込み要求信号を優先的にメモリ制御部１７０に送出するものとして説明した。
【０１５３】
従って、計算機内のプロセッサからのメモリアクセスが待たされ、処理効率が低下するようなことが生じ得る。
そこで、以下では、各計算機に、入力管理部１５０からの書き込み要求に係るデータ等を一時的に格納するためのバッファを設けることにより、計算機内のプロセッサからのメモリアクセスをより高速に行わせるように変えた一実施例を、上述の実施の形態１からの変更部分を中心に説明する。
【０１５４】
＜構成＞
図２４は、実施の形態２に係る処理システム１１００のシステム構成図である。
処理システム１１００は、同図に示すとおり、実施の形態１に係る処理システム１０００における各計算機に代えて、計算機２００Ａ〜２００Ｃを備える。
計算機２００Ａ〜２００Ｃはそれぞれ、実施の形態１に係る各計算機の選択部１６０に代えて共有データ制御部２２０を備え、更にバッファ２１０を備える。
【０１５５】
各計算機（２００Ａ〜２００Ｃ）は、同様の構成を有するため、以下では、計算機２００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態１に係る計算機１００Ａと異なる箇所であることを示している。
ここで、バッファ２１０は、共有データ制御部２２０が入力管理部１５０を介して受領した書き込み要求信号に係るデータを一時的に記憶するためのメモリ領域である。より詳細には、共有データ制御部２２０により、書き込み対象データと、そのデータを書き込む先となるメモリ１１０Ａのアドレスと、そのデータがメモリ１１０Ａへの書き込みが完了しているか否かを示すフラグとが対応付けて記録される。
【０１５６】
共有データ制御部２２０は、出力管理部１４０又は入力管理部１５０からメモリアクセス要求信号を受領した場合に、バッファ２１０、又はメモリ制御部１７０を介してメモリ１１０Ａにアクセスする機能を有する。
＜動作＞
以下、共有データ制御部２２０の動作を説明する。
【０１５７】
図２５は、共有データ制御部２２０によるアクセス制御処理を示すフローチャートである。
なお、以下のステップＳ２０１〜Ｓ２１６の処理は繰り返し実行されるものとする。
共有データ制御部２２０は、出力管理部１４０からメモリアクセス要求信号を受領したか否かを判定し（ステップＳ２０１）、受領した場合には（ステップＳ２０１：ＹＥＳ）、そのアクセス要求に係るメモリ１１０Ａ上のアドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを判定する（ステップＳ２０２）。より詳細には、アクセス要求に係るメモリ１１０Ａ上のアドレスと一致するアドレス及びメモリ１１０Ａへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ２１０に格納されている場合にのみ肯定的な判定を行う。
【０１５８】
アドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されていない場合には（ステップＳ２０２：ＮＯ）、共有データ制御部２２０は、出力管理部１４０からのメモリアクセス要求信号等をメモリ制御部１７０に送出する（ステップＳ２０３）。
続いて、共有データ制御部２２０は、入力管理部１５０から書き込み要求信号を受領したか否かを判定し（ステップＳ２０４）、受領していない場合には（ステップＳ２０４：ＮＯ）、アクセス制御処理を終了し、受領した場合には（ステップＳ２０４：ＹＥＳ）、入力管理部１５０からの書き込み要求信号に含まれる書き込み対象データと、対応するメモリ１１０Ａのアドレスと、書き込みが完了していない旨を示すフラグとを対応付けてバッファ２１０に書き込み（ステップＳ２０５）、アクセス制御処理を終了する。
【０１５９】
一方、ステップＳ２０２において、アドレスが一致し、かつメモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されている場合には（ステップＳ２０２：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出し（ステップＳ２０６）、出力管理部１４０からのメモリアクセス要求信号が書き込み要求信号であるか否かを判定する（ステップＳ２０７）。
【０１６０】
出力管理部１４０からのメモリアクセス要求信号が読み出し要求信号である場合には（ステップＳ２０７：ＮＯ）、共有データ制御部２２０は、ステップＳ２０６で読み出したデータをプロセッサに送出すると共に、そのデータを、バッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出する（ステップＳ２０８）。
【０１６１】
一方、出力管理部１４０からのメモリアクセス要求信号が書き込み要求信号である場合には（ステップＳ２０７：ＹＥＳ）、共有データ制御部２２０は、ステップＳ２０６で読み出したデータに、その書き込み要求信号に係るデータを反映させる処理（例えば、上書き処理）を行い、反映後のデータをバッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出する（ステップＳ２０９）。
【０１６２】
ステップＳ２０８、又はステップＳ２０９において、書き込み要求信号を送出すると、共有データ制御部２２０は、バッファ２１０において、その書き込み要求に係るデータと対応付けて記憶されているフラグを書き込みが完了している旨を示すように更新し、上述のステップＳ２０４の処理に進む。
また、ステップＳ２０１において、出力管理部１４０からメモリアクセス要求信号を受領していない場合には（ステップＳ２０１：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からメモリアクセス要求信号（書き込み要求信号）を受領したか否かを判定し（ステップＳ２１０）、受領していない場合には（ステップＳ２１０：ＮＯ）、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを判定する（ステップＳ２１１）。より詳細には、メモリ１１０Ａへの書き込みが完了していない旨のフラグと対応付けられているデータがバッファ２１０に格納されている場合に肯定的な判定を行う。
【０１６３】
メモリ１１０Ａへの書き込みが完了していないデータが存在しない場合には（ステップＳ２１１：ＮＯ）、そのままアクセス制御処理を終了し、メモリ１１０Ａへの書き込みが完了していないデータが存在する場合には（ステップＳ２１１：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出し、読み出したデータを、バッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出し（ステップＳ２１２）、ステップＳ２０８等で説明したのと同様にフラグを更新し、アクセス制御処理を終了する。
【０１６４】
一方、ステップＳ２１０において、入力管理部１５０からメモリアクセス要求信号（書き込み要求信号）を受領した場合には（ステップＳ２１０：ＹＥＳ）、その書き込み要求に係るメモリ１１０Ａ上のアドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているか否かを上述のステップＳ２０２と同様に判定する（ステップＳ２１３）。
【０１６５】
アドレスが一致し、かつ、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に存在しない場合には（ステップＳ２１３：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からのメモリアクセス要求信号（書き込み要求信号）をメモリ制御部１７０に送出し（ステップＳ２１４）、アクセス制御処理を終了する。
また、ステップＳ２１３において、アドレスが一致し、かつメモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されている場合には（ステップＳ２１３：ＹＥＳ）、共有データ制御部２２０は、そのデータをバッファ２１０から読み出す（ステップＳ２１５）。
【０１６６】
また、共有データ制御部２２０は、読み出したデータに、その書き込み要求信号に係るデータを反映させる処理（例えば、上書き処理）を行い、反映後のデータをバッファ２１０に記憶されているアドレスに書き込むための書き込み要求信号を、メモリ制御部１７０に送出し（ステップＳ２１６）、ステップＳ２０８等で説明したのと同様にフラグを更新し、アクセス制御処理を終了する。
【０１６７】
このように、共有データ制御部２２０は、他の計算機との共有データ（書き込み対象データ）をバッファ２１０に格納し、計算機内のプロセッサによるメモリアクセスがなされていないときにバッファ２１０に格納されている共有データを書き込むので、計算機内のプロセッサからのメモリアクセス要求と、他の計算機との共有データ（書き込み対象データ）に係る書き込み要求との競合を防ぐことができる。即ち、計算機内のプロセッサによるメモリアクセスを待たせることなく、高速に行わせることができる。
【０１６８】
また、計算機内のプロセッサからのアクセス要求に係るデータが、未だメモリ１１０Ａへの書き込みが完了していないデータとしてバッファ２１０に格納されている場合に、共有データ制御部２２０は、そのバッファ２１０内のデータに対してアクセス処理を行う。従って、計算機内のプロセッサは、他計算機との共有データ（書き込み対象データ）が、メモリ１１０Ａに書き込まれる前の状態であっても、最新の共有データにアクセスできると共に、メモリ１１０Ａへのアクセスが行われないので、この間にバッファ２１０内のデータを書き込むことが可能になり、バッファ２１０内のデータを比較的短時間でメモリ１１０Ａに反映させることができる。
≪実施の形態３≫
以下では、各計算機内のプロセッサが処理に用いるデータを、このプロセッサのみが用いるデータと、共有データとに分け、物理的に異なる２つのメモリ（固有メモリと共有メモリ）にそれぞれのデータを格納することで、各計算機内のプロセッサからのメモリアクセスを待たせることなく、より高速に行わせるように変えた一実施例を、上述の実施の形態１からの変更部分を中心に説明する。
【０１６９】
図２６は、実施の形態３に係る処理システム１２００のシステム構成図である。
処理システム１２００は、同図に示すとおり、実施の形態１に係る処理システム１０００における各計算機に代えて、計算機３００Ａ〜３００Ｃを備える。
計算機３００Ａ〜３００Ｃは、実施の形態１に係る各計算機の選択部１６０に代えてメモリ選択制御部３３０を、メモリ制御部１７０に代えて固有メモリ制御部３４０と共有メモリ制御部３５０とを備える。
【０１７０】
また、各計算機はメモリ１１０Ａ〜１１０Ｃに代えてそれぞれ固有メモリ３１０Ａ〜３１０Ｃと共有メモリ３２０Ａ〜３２０Ｃとに接続している。
各計算機（３００Ａ〜３００Ｃ）は、同様の構成を有するため、以下では、計算機３００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態１に係る計算機１００Ａと異なる箇所であることを示している。
【０１７１】
ここで、メモリ選択制御部３３０は、出力管理部１４０から受領したメモリアクセス要求信号及び入力管理部１５０から受領した書き込み要求信号を、固有メモリ制御部３４０と共有メモリ制御部３５０とのいずれかに送出する機能を有する。
より詳細には、出力管理部１４０から受領したメモリアクセス要求信号が、固有メモリ３１０Ａに対するアクセス要求信号である場合には、この信号を固有メモリ制御部３４０に送出し、共有メモリ３２０Ａに対するアクセス要求信号である場合には、この信号を共有メモリ制御部３５０に送出する。また、入力管理部１５０から受領した書き込み要求信号は、全て共有メモリ制御部３５０に送出する。特に、出力管理部１４０からの共有メモリ３２０Ａに対するアクセス要求信号と、入力管理部１５０からの書き込み要求信号とを共に受領した場合には、入力管理部１５０からの書き込み要求信号を優先的に共有メモリ制御部３５０に送出する。つまり、この場合、プロセッサからの共有メモリ３２０Ａへのアクセスは待たされることになる。
【０１７２】
なお、メモリ選択制御部３３０は、出力管理部１４０から受領したメモリアクセス要求信号が、固有メモリ３１０Ａと共有メモリ３２０Ａのいずれに対するアクセス要求信号であるかを判断する必要がある。この判断のために、メモリ選択制御部３３０は、例えば論理アドレスと物理アドレスとを対応付けた情報を保持し、出力管理部１４０から受領したメモリアクセス要求信号に含まれるアドレス（論理アドレス）を、各メモリ（固有メモリ３１０Ａ、共有メモリ３２０Ａ）におけるアドレス（物理アドレス）に変換して、変換後のアドレスを指定する新たなメモリアクセス要求信号を生成して、対応するメモリに送出するようにしてもよい。
【０１７３】
また、上述の論理アドレスと物理アドレスとを対応付けた情報を調停部１３０が保持するようにし、調停部１３０が出力管理部１４０にメモリアクセス要求信号を送出する際に、新たなメモリアクセス要求信号を生成して、出力管理部１４０に送出するようにしてもよい。
また、その他の方法として、各プロセッサが調停部１３０に送出するメモリアクセス要求信号を、固有メモリ３１０Ａと共有メモリ３２０Ａのいずれに対するアクセス要求信号であるかを指定する情報を含むように変更してもよい。
【０１７４】
固有メモリ制御部３４０は、メモリ選択制御部３３０から受領したメモリアクセス要求信号等に基づいて、他の計算機と共有する必要のないデータ、つまり、計算機３００Ａ内の各プロセッサ（１２０Ａ〜１２０Ｃ）のみが用いるデータを記憶する固有メモリ３１０Ａにアクセスする機能を有する。この固有メモリ３１０Ａに記憶するデータの例としては、各プロセッサ（１２０Ａ〜１２０Ｃ）それぞれが実行すべきプログラムが挙げられる。
【０１７５】
共有メモリ制御部３５０は、メモリ選択制御部３３０から受領したメモリアクセス要求信号等に基づいて、他の計算機との共有データを記憶する共有メモリ３２０Ａにアクセスする機能を有する。
このように、他の計算機と共有する必要のないデータを固有メモリ３１０Ａに記憶し、共有データを共有メモリ３２０Ａに記憶させるようにしたので、固有メモリ３１０Ａと共有メモリ３２０Ａとに同時にアクセスすることが可能になる。つまり、計算機内のプロセッサからのアクセス要求が固有メモリ３１０Ａに対するアクセス要求である場合には、このアクセス要求と、他の計算機との共有データ（書き込み対象データ）に係る共有メモリ３２０Ａに対する書き込み要求との競合を防ぐことができる。
≪実施の形態４≫
以下では、実施の形態２及び実施の形態３における特徴的な構成を組み合わせた一実施例を、実施の形態３からの変更部分を中心に説明する。
【０１７６】
図２７は、実施の形態４に係る処理システム１３００のシステム構成図である。
処理システム１３００は、同図に示すとおり、実施の形態３に係る計算機３００Ａ〜３００Ｃに代えて計算機４００Ａ〜４００Ｃを備える。
計算機４００Ａ〜４００Ｃは、実施の形態３に係る各計算機のメモリ選択制御部３３０に代えてメモリ選択制御部４１０を備えると共に、実施の形態２に係るバッファ２１０及び共有データ制御部２２０を備える。
【０１７７】
各計算機（４００Ａ〜４００Ｃ）は、同様の構成を有するため、以下では、計算機４００Ａを例に説明する。なお、同図において太線で示す箇所は、特に、実施の形態３に係る計算機３００Ａと異なる箇所であることを示している。
ここで、メモリ選択制御部４１０は、出力管理部１４０から受領した共有メモリ３２０Ａに対するアクセス要求信号及び入力管理部１５０から受領した書き込み要求信号を、共有データ制御部２２０に送出する点で実施の形態３に係るメモリ選択制御部３３０と異なる。
【０１７８】
共有データ制御部２２０は、メモリ選択制御部４１０を介して、出力管理部１４０又は入力管理部１５０からメモリアクセス要求信号を受領した場合に、バッファ２１０、又は共有メモリ制御部３５０を介して共有メモリ３２０Ａにアクセスする機能を有する。具体的には、実施の形態２で説明したように、図２５に示すフローチャートに従って、アクセス制御処理を行う。
【０１７９】
これにより、実施の形態３の場合と比較し、計算機内のプロセッサからのアクセス要求が共有メモリ３２０Ａに対するアクセス要求であっても、他の計算機との共有データ（書き込み対象データ）に係る共有メモリ３２０Ａに対する書き込み要求との競合を防ぐことができる。つまり、計算機内のプロセッサによるメモリアクセスを待たせることなく、高速に行わせることができる。
【０１８０】
また、共有データ制御部２２０は、計算機内のプロセッサによる共有メモリ３２０Ａへのアクセスがなされていないときにバッファ２１０に格納されている共有データを共有メモリ３２０Ａへ書き込むことになる。つまり、計算機内のプロセッサによる固有メモリ３１０Ａへのアクセスがなされている場合にも、バッファ２１０に格納されている共有データを共有メモリ３２０Ａへ書き込むことが可能になる。従って、実施の形態２の場合を比較し、バッファ２１０に格納されている共有データをより頻繁に共有メモリ３２０Ａに書き込むことが可能になるので、より速やかにバッファ２１０内のデータを共有メモリ３２０Ａに反映させることができる。この結果、実施の形態２よりも少ない容量のバッファ２１０を用いることが可能になる。
≪変形例≫
以下では、各計算機内の出力管理部１４０が自計算機内の特定のプロセッサからの書き込み要求信号を受領した場合にのみ共通バス１０１に書き込み対象のデータを出力するように変えた一変形例について説明する。
【０１８１】
変形例に係る各計算機（５００Ａ〜５００Ｄ）は、実施の形態１に係る各計算機の出力管理部１４０が保持する出力管理情報テーブル１８０のデータ構造と、調停部１３０の機能とを若干変更したものである。
具体的には、変形例に係る調停部は、各プロセッサによるメモリ１１０Ａに対するアクセス要求を調停し、１つのメモリアクセス要求信号を変形例に係る出力管理部に送出する際に、その信号の送信元であるプロセッサの識別情報（後述するＰｒｏｃｅｓｓｏｒ  ＩＤ）も変形例に係る出力管理部に送出する。
【０１８２】
以下では、変形例に係る処理システムを、上述の適用例３と同様に、計算機５００Ａ〜５００Ｄがそれぞれ処理Ａ〜Ｄを行う連携処理システムに適用した場合を例にして、実施の形態１からの変更部分を中心に説明する。
特に、この例では、各計算機内のプロセッサ１２０Ａがそれぞれ処理Ａ〜Ｄを行うものとすると共に、計算機１００Ｂによる処理Ｂの負荷が高くなると、計算機１００Ａのプロセッサ１２０Ｂが処理Ｂを分担処理するものとして説明する。なお、この例に係る計算機５００Ｂ〜５００Ｄは、適用例５と同様に、１つの前の処理結果（Ｄａｔａ０〜２）が書き込まれた場合に、これらのデータを用いた処理Ｂ〜Ｄを開始するものとする。
【０１８３】
図２８（ａ）は、変形例に係る各計算機の出力管理情報テーブルの内容例を示す図である。
同図に示すように、変形例に係る出力管理情報テーブルの出力管理情報には、実施の形態１に係る出力管理情報テーブル１８０の出力管理情報に含まれる各データに加え、Ｐｒｏｃｅｓｓｏｒ  ＩＤが含まれる。
【０１８４】
ここで、Ｐｒｏｃｅｓｓｏｒ  ＩＤは、対応する共有データに対する書き込み要求信号を送出するプロセッサの識別情報であり、以下では、一例として、変形例に係る各計算機のプロセッサ１２０Ａ〜１２０ＣのＰｒｏｃｅｓｓｏｒ  ＩＤが「０」〜「２」であるものとする。
同図に示すように、各計算機における出力管理情報テーブルを設定することにより、計算機５００Ａは、Ｐｒｏｃｅｓｓｏｒ  ＩＤが「０」と「１」とである各プロセッサ（つまりプロセッサ１２０Ａと１２０Ｂ）の書き込み要求信号に係るデータ（Ｄａｔａ０とＤａｔａ１）をメモリ１１０Ａに書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。
【０１８５】
また、計算機５００Ｂ、５００Ｃは、それぞれＰｒｏｃｅｓｓｏｒ  ＩＤが「０」であるプロセッサ（つまりプロセッサ１２０Ａ）の書き込み要求信号に係るデータ（Ｄａｔａ１、Ｄａｔａ２）を各メモリ（１１０Ｂ、１００Ｃ）に書き込む際に、これらを、対応するＭａｓｔｅｒ  ＩＤ等と共に共通バス１０１に出力する。
図２８（ｂ）は、変形例に係る各計算機の入力管理情報テーブル１９０の内容例を示す図である。
【０１８６】
変形例においても、入力管理情報テーブル１９０のデータ構造は、実施の形態１と変更がなく、同図に示すように、各計算機における入力管理情報テーブルを設定することにより、計算機５００Ｂは、計算機５００Ａが出力するＤａｔａ０を、計算機５００Ｃは、計算機５００Ａ及び５００Ｂが出力するＤａｔａ１を、計算機５００Ｄは、計算機５００Ｃが出力するＤａｔａ２をメモリ１１０Ｂ〜１１０Ｄのそれぞれ対応する領域に書き込む。
【０１８７】
以下では、計算機５００Ａ〜５００Ｄがそれぞれ処理Ａ〜Ｄを行う連携処理システムの動作を説明する。
図２９は、変形例に係る各計算機の動作を説明するための図である。
同図（ａ）〜（ｃ）は、定常時における各計算機の動作を示している。これについては、上述の適用例３と同様であるため詳細な説明は省略する。
【０１８８】
同図（ｄ）は、計算機５００Ｂによる処理Ｂの負荷が高まり、計算機５００Ａのプロセッサ１２０Ｂが処理Ｂを分担処理している状態を示している。
計算機５００Ｂは、処理Ｂの負荷が一定以上（例えば、処理Ｂの開始から終了までの処理時間が所定時間以上）になると、計算機５００Ａに処理Ｂの分担処理を指示し、計算機５００Ａのプロセッサ１２０Ｂは、この指示を受けて処理Ｂの分担処理を開始する。
【０１８９】
計算機５００Ａのプロセッサ１２０Ｂは、例えば、メモリ１１０Ａに書き込まれた自機のプロセッサ１２０Ａによる処理Ａの処理結果（Ｄａｔａ０）を２等分した後半部分を用いて処理Ｂを行って、この結果（Ｄａｔａ１の後半部分）を、この処理Ｂに用いたＤａｔａ０の後半部分が格納されていた領域に書き込む。
また、計算機５００Ｂは、計算機５００Ａのプロセッサ１２０Ｂによる処理Ｂの実行と並行して、例えば、メモリ１１０Ｂに格納されているＤａｔａ０の前半部分を用いて処理Ｂを行って、この結果（Ｄａｔａ１の前半部分）を、この処理Ｂに用いたＤａｔａ０の前半部分が格納されていた領域に書き込む。
【０１９０】
計算機５００Ａ、５００Ｂはそれぞれ、Ｄａｔａ１を書き込む際に、それぞれが記憶する出力管理情報テーブルに基づいて、共通バス１０１にＤａｔａ１を出力する（Ｍａｓｔｅｒ  ＩＤ等も共に出力する）。
計算機５００Ｃは、共通バス１０１に出力されているＭａｓｔｅｒ  ＩＤ等と自機が記憶する入力管理情報テーブル１９０とに基づいて、Ｄａｔａ１を受領する判定を行い、メモリ１１０Ｃの対応する領域に書き込み、処理Ｃを開始することになる。
【０１９１】
このように、変形例に係る出力管理情報テーブルには、Ｐｒｏｃｅｓｓｏｒ  ＩＤが含まれるため、上述のように、計算機５００Ａのプロセッサ１２０ＡがＤａｔａ０を書き込むメモリ１１０Ａの領域と、計算機５００Ａのプロセッサ１２０ＢがＤａｔａ１を書き込むメモリ１１０Ａの領域とが重複しても、異なるプロセッサからの書き込み要求信号に係る共有データを別個のデータとして管理することができる。つまり、上述のように、計算機５００Ａが共通バス１０１に出力するＤａｔａ０は、計算機５００Ｂに受領させ、Ｄａｔａ１は、計算機５００Ｃに受領させるようなことが可能になる。
【０１９２】
また、別個の共有データを格納するメモリ上の領域を重複して設定できるので、メモリ上の共有データ用の格納領域を節約することが可能になる。
なお、適用例３で説明したように、各メモリに複数世代分のＤａｔａを格納するようにすることで、各計算機が各処理を並列して行うようにすることも可能である。
＜補足＞
以上、本発明に係る処理システムについて、各実施の形態及び変形例に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した各実施の形態及び変形例に示したとおりの処理システムに限られないことは勿論である。
【０１９３】
（１）各実施の形態及び変形例においては、出力管理情報及び入力管理情報は、Ｖａｌｉｄを含み、Ｖａｌｉｄが「１」の場合に、出力管理情報及び入力管理情報は有効であるものとして説明したが、Ｖａｌｉｄを省略し、有効な出力管理情報及び入力管理情報のみを、出力管理情報テーブル及び入力管理情報テーブルに登録するようにしてもよい。
（２）各実施の形態及び変形例においては、出力管理情報テーブルと入力管理情報テーブルとを別個に設けるものとして説明したが、１つの入出力管理テーブルに出力管理情報及び入力管理情報を登録するようにし、出力管理部の出力判定部１４３及び入力管理部の入力判定部１５２は、判定の際に、入出力管理テーブルを参照するようにしてもよい。この際、入出力管理テーブルには、出力管理情報及び入力管理情報を区別するためのフラグを登録しておく。
【０１９４】
更に、各計算機間で相互に更新するデータを共有するようなシステムにおいては、出力管理情報及び入力管理情報を区別する必要もなく、入出力管理テーブルに登録されている入出力管理情報に従って、自機のプロセッサによる書き込み要求に係るデータを出力し、他の計算機から出力されたデータを受領すればよい。このように変形した場合には、出力管理情報テーブルと入力管理情報テーブルとを別個に設ける場合と比較し、テーブルを格納するためのメモリ容量が半分になる点で有効である。
【０１９５】
（３）各実施の形態及び変形例においては、各計算機の出力管理情報テーブル及び入力管理情報テーブルへ登録するデータの生成及び各テーブルへの登録を、処理システムにおける任意の計算機内の１つのプロセッサが行うものとして説明したが、各計算機内のプロセッサが、自機が接続するメモリに記憶されているプログラムを実行することにより生成及び登録するようにしてもよい。
【０１９６】
出力管理情報及び入力管理情報は、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを含み、両ＩＤの組み合わせにより共有データを識別するため、各計算機は、他の計算機に出力すべき各共有データに、重複しないようにＤａｔａ  ＩＤを割り当てれば済み、他の計算機が割り当ているＤａｔａ  ＩＤと重複してもよいことから、各計算機は独自に出力管理情報テーブルを設定できる。
【０１９７】
また、処理システムにおける任意の計算機内の１つのプロセッサが各計算機の出力管理情報テーブル及び入力管理情報テーブルへ登録するデータの生成のみを行い、テーブル設定用のバスを介して、各計算機に生成したデータを送信し、各計算機内のプロセッサが受領したデータを自機内のテーブルに登録するようにしてもよい。
また、既に登録済みの出力管理情報及び入力管理情報の有効又は無効の設定（つまり、Ｖａｌｉｄの更新）を、各計算機内のプロセッサが行うようにしてもよい。
【０１９８】
（４）各実施の形態及び変形例においては、出力管理情報及び入力管理情報は、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとを含み、両ＩＤの組み合わせにより共有データを識別する例を説明したが、システム全体を通じて各共有データを識別可能な識別情報を生成するようにしてもよい。
（５）各実施の形態及び変形例においては、各計算機の出力管理情報テーブルにおける各出力管理情報には、その計算機のＭａｓｔｅｒ  ＩＤが含まれるものとして説明したが、各計算機は、自機のＭａｓｔｅｒ  ＩＤを別途記憶しておくようにし、Ｍａｓｔｅｒ  ＩＤについては各出力管理情報には含めないようにしてもよい。
【０１９９】
（６）各実施の形態及び変形例においては、書き込み先のアドレス（他の計算機が出力したオフセット＋対応する入力管理情報のＳｔａｒｔ  Ａｄｄｒｅｓｓ）は、その対応する入力管理情報のＥｎｄ  Ａｄｄｒｅｓｓまでの範囲に収まるものとして説明した。しかしながら、必ずしもこのようにする必要はなく、対応する共有データの格納領域以外への書き込みを行わないように、例えば、以下のように制御すればよい。
【０２００】
（ａ）そのアクセスを共有領域外アクセスとして、その計算機のメモリに格納しない制御とする。
（ｂ）算出した書き込み先のアドレスから、その格納領域のアドレス空間分を引いたアドレスを格納先として、その格納領域内で折り返す制御とする。
（ｃ）特定の固定アドレスへのアクセスに変換する制御する。
【０２０１】
（７）各実施の形態及び変形例においては、出力管理情報及び入力管理情報には、Ｅｎｄ  Ａｄｄｒｅｓｓを含むものとして説明したが、Ｅｎｄ  Ａｄｄｒｅｓｓｓを含まないこととしてもよい。その場合、例えば、各共有データに対する格納領域を同一サイズにする必要がある。
（８）各実施の形態及び変形例では、出力管理情報及び入力管理情報における格納領域の指定をＳｔａｒｔ  ＡｄｄｒｅｓｓとＥｎｄ  Ａｄｄｒｅｓｓｓとで行うものとして説明したが、これに限らず、例えば、Ｅｎｄ  Ａｄｄｒｅｓｓの代わりに、領域サイズを用いてもよい。
【０２０２】
（９）各実施の形態及び変形例では、共通バス１０１のバス幅を小さくするために、書き込み先アドレスを、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤとオフセットとで指定する方式を説明したが、これに限らず、例えば、書き込み先アドレスを、Ｍａｓｔｅｒ  ＩＤとＤａｔａ  ＩＤのみで指定し、対応する領域の全データを書き込み対象のデータとして送信するようにしてもよい。また、出力管理部は、調停部を介して受領したプロセッサからのメモリアクセス要求信号に含まれているアドレスの全ビットあるいは、一部のビットのみを出力してアドレスを特定するようにしてもよい。
【０２０３】
（１０）各実施の形態及び変形例においては、説明を簡単にするために、調停部から送出されるメモリアクセス要求信号におけるアクセス要求の転送単位を１サイクルで実行できる単位として説明を行ったが、これに限らず、例えば、複数サイクルで転送するバースト転送のアクセス要求であっても、同様に実装可能である。
この場合、バースト転送中に、出力管理情報テーブルにて設定されている格納領域の境界を跨るようなアクセスが発生した場合には、そのアクセス要求を、非共有データアクセスと、共有データアクセスに分割して、それぞれに対応した処理を行う制御や、共通バス調停部１０２において、調停単位を１バースト転送とするために、共通バス１０１へのデータ転送が完了したことを通知する信号を、出力管理部が共通バス調停部１０２に送出する制御を行う等、いくつか改良が必要であるが、これらは既存の実装技術を用いて対応できるため、ここでは詳細な説明を省略する。
【０２０４】
（１１）各実施の形態及び変形例においては、説明を簡単にするために、メモリ制御部１７０、固有メモリ制御部３４０、共有メモリ制御部３５０は、単に、書き込み要求信号に係るデータをメモリに書き込むものとして説明したが、この書き込み要求信号に、バイトマスク等、書き込み処理に特別な処理を施す制御情報を含めてもよく、メモリ制御部１７０等は、その制御情報に従ったデータの更新処理を行うこととしてもよい。
【０２０５】
（１２）実施の形態２では、バッファ２１０に格納されているメモリへの書き込みが完了していないデータの書き込みを、計算機内のプロセッサからメモリへのアクセスが行われていない間に行うものとして説明したが、例えば、バッファ２１０内に未書込のデータが存在する場合に、共有データ制御部２２０は、そのデータをメモリに書き込むために、明示的に書き込み要求信号を調停部１３０に送出し、調停部１３０が調停の結果、この信号を選択したときに、バッファ２１０からメモリへ書き込むようにしてもよい。
【０２０６】
これにより、調停部１３０において、バッファ２１０内の未書込のデータを確実にメモリに書き込むことが保証でき、例えば、バッファがフルになった結果、共通バス１０１上のデータ転送を停止したり、調停部１３０で選択されたプロセッサのメモリアクセス要求を共有データ制御部２２０で停止するといった処理を回避でき、システムの性能保証が容易となる。
【０２０７】
（１３）実施の形態２では、図２５で説明したように、入力管理部１５０からの書き込み要求信号のみを受領し（ステップＳ２０１：ＮＯ、Ｓ２１０：ＹＥＳ）、メモリ１１０Ａへの書き込みが完了していないデータがバッファ２１０に格納されているが、その書き込み要求に係るメモリ１１０Ａ上のアドレスと一致しない場合に（ステップＳ２１３：ＮＯ）、共有データ制御部２２０は、入力管理部１５０からの書き込み要求信号をメモリ制御部１７０に送出する（ステップＳ２１４）ものとして説明した。
【０２０８】
しかしながら、例えば、バッファ２１０内の未書込のデータのうち、最も早くバッファ２１０に書き込まれたデータをメモリに書き込む書き込み要求信号をメモリ制御部１７０に送出し、入力管理部１５０からの書き込み要求信号に係るデータをバッファ２１０に書き込むようにしてもよい。
これにより、他の計算機から受領した共有データのうち、更新が最も古いものから優先してメモリに反映できるため、他計算機から受領してからメモリに反映されるまでの期間を短くすることが可能となる。
【０２０９】
（１４）実施の形態２では、図２５で説明したように、アクセス要求が競合した場合、バッファ２１０への読み出しと書き込みが同時に発生する場合があるが、バッファ２１０をデュアルポートメモリで構成するか、バッファ２１０のバスを広げる、バッファ２１０の動作周波数を上げる等によりバッファ２１０の転送帯域を上げることにより、バッファ２１０の転送待ちによる各メモリアクセス処理の性能劣化を回避することが可能である。
【０２１０】
（１５）実施の形態２では、メモリアクセス性能の高速化実現のため、共有データ制御部２２０が受領したメモリアクセス要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、このデータを読み出してプロセッサに送出した後にこのデータをメモリに書き込み、又はバッファ２１０から読み出したデータに書き込み要求信号に係るデータを反映させた後に、反映後のデータをメモリに書き込むものとして説明した。
【０２１１】
しかしながら、処理を簡略化するために、以下のようにしてもよい。
即ち、プロセッサからの読み出し要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込んだ後に、読み出し要求信号に係るデータをメモリから読み出すようにしてもよい。
また、入力管理部１５０からの書き込み要求信号に係るデータが、バッファ２１０にメモリへの未書込データとして格納されていた場合には、この未書込データをメモリに書き込む処理と、書き込み要求信号に係るデータをバッファ２１０に書き込む処理とを並行して行うようにしてもよい。
【０２１２】
（１６）実施の形態３においては、他の計算機との共有データを全て共有メモリ３２０Ａに格納するものとして説明したが、より計算機内のプロセッサのメモリアクセス性能を向上させるために、他の計算機と共有するデータのうち、自計算機のみが更新するデータについては、固有メモリ３１０Ａに格納し、他の計算機も更新するデータのみ共有メモリ３２０Ａに格納するようにしてもよい。
【０２１３】
この結果、他の計算機から受領した共有データを書き込むための共有メモリ３２０Ａへのアクセスと、自機内のプロセッサから自機のみが更新する共有データを書き込むための固有メモリ３１０Ａへのアクセスとを並行して行うことができるので、自機内のプロセッサによるメモリアクセスを待たせる必要がなく、アクセス性能の劣化を回避できるようになる。
【０２１４】
（１７）変形例においては、出力管理情報にＰｒｏｃｅｓｓｏｒ  ＩＤを含める例を説明したが、これに代えて、タスクの識別情報であるＴａｓｋ  ＩＤを含めるようにしてもよい。つまり、プロセッサ単位ではなく、タスク単位で他の計算機に送出すべき共有データであるか否かを判断できるようにしてもよい。
（１８）変形例に係る出力管理部は、Ｐｒｏｃｅｓｓｏｒ  ＩＤについては共通バス１０１に出力しないものとして説明したが、各入力管理情報にもＰｒｏｃｅｓｓｏｒ  ＩＤを含めるように変形し、各計算機は、Ｐｒｏｃｅｓｓｏｒ  ＩＤにも基づいて自機が共有すべきデータか否かを判断するようにしてもよい。
【０２１５】
（１９）各実施の形態及び変形例においては、各計算機の構成は同様であるものとして説明したが、これに限定されるものではない。例えば、各計算機内のプロセッサの数は異なっていてもよいし、各計算機が備えるプロセッサの数は１つであってもよい。この場合、調停部は不要になる。すなわち１つのプロセッサに１つの専用メモリが割り当てられる構成の計算機を複数並列する場合にも、各実施の形態及び変形例で説明したのと同様に適用可能である。
【０２１６】
また、プロセッサは、一部あるいは全部がＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、アクセラレータ（ワイヤードロジック）等の非プロセッサから構成されるものであってもよい。
（２０）各実施の形態及び変形例において説明した各計算機の各機能ブロックは、典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現される。これらは個別に１チップ化されてもよいし、一部、又は全てを含むように１チップ化されても良い。
【０２１７】
また、各計算機を、それぞれ1つの半導体に集積されたＬＳＩで構成されたものとし、複数のＬＳＩ間で、データ共有するデータ共有機構としても適応可能である。
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路、又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２１８】
さらには、半導体技術の進歩、又は派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてあり得る。
（２１）各実施の形態及び変形例においては、各メモリは、各計算機の外部にあるものとして図示されているが、メモリは、各計算機の内部にあってもよい。また前述したように、ＬＳＩの構成単位としては、様々な形態が存在するが、それぞれの実装形態において、各計算機のメモリは、構成されるＬＳＩの内部、外部どちらに存在してもよく、さらには、混在する形態であっても適用可能である。
【０２１９】
（２２）各実施の形態及び変形例において、共通バス調停部１０２は、各計算機の外部に独立して存在するものとして説明したが、全ての、あるいは一部の計算機の内部にあるものとしても良い。
（２３）各実施の形態及び変形例において、出力管理部及び入力管理部は回路であるとして説明したが、例えば、各計算機に含まれる１つのプロセッサが所定のプログラムを実行することにより、出力管理部及び入力管理部の機能を実現するようにしてもよいし、別個のプロセッサが出力管理部と入力管理部の機能を実現するようにしてもよい。
【０２２０】
（２４）本発明に係る処理システムが備える各処理装置は、各実施の形態及び変形例に係る各計算機及び各メモリに相当する。
また、本発明に係る処理装置における共有データ記憶手段は、各実施の形態及び変形例に係るメモリ又は共有メモリに相当し、出力手段、入力手段、及び管理情報記憶手段は出力管理部及び入力管理部に相当し、共有データアクセス手段は選択部及びメモリ制御部に相当し、バッファメモリはバッファに相当し、アクセス制御手段は共有データ制御部及びメモリ制御部に相当し、固有データ記憶手段は固有メモリに相当し、データアクセス手段はメモリ選択制御部、固有メモリ制御部、及び共有メモリ制御部に相当し、第１メモリは固有メモリに相当し、第２メモリは共有メモリに相当し、メモリアクセス手段は、メモリ選択制御部、固有メモリ制御部、共有データ制御部、及び共有メモリ制御部に相当する。
【産業上の利用可能性】
【０２２１】
本発明はいわゆる疎結合マルチプロセッサシステムにおけるプロセッサ間でデータを共有するために利用できる。
【符号の説明】
【０２２２】
１００Ａ〜Ｅ、２００Ａ〜Ｃ、３００Ａ〜Ｃ、４００Ａ〜Ｃ、５００Ａ〜Ｃ    計算機
１０１    共通バス
１０２    共通バス調停部
１１０Ａ〜Ｅ    メモリ
１２０Ａ〜Ｃ    プロセッサ
１３０    調停部
１４０    出力管理部
１４１    出力管理情報保持部
１４２    内部バス制御部
１４３    出力判定部
１４４    共通バス制御部
１５０    入力管理部
１５１    入力管理情報保持部
１５２    入力判定部
１５３    内部バス制御部
１６０    選択部
１７０    メモリ制御部
２１０    バッファ
２２０    共有データ制御部
３１０Ａ〜Ｃ    固有メモリ
３２０Ａ〜Ｃ    共有メモリ
３３０    メモリ選択制御部
３４０    固有メモリ制御部
３５０    共有メモリ制御部
４１０    メモリ選択制御部
１０００、１１００、１２００、１３００    処理システム
１０００Ａ    デジタル放送受信器
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の外部処理装置との間でデータを共有して処理する処理装置であって、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とする処理装置。
【請求項２】
前記処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が、前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行い、
前記入力手段は、
外部処理装置により出力されたブロック識別情報と一致するブロック識別情報が前記管理情報記憶手段に記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを記憶させる
ことを特徴とする請求項１記載の処理装置。
【請求項３】
前記管理情報記憶手段は、更に、
前記共有データ記憶手段に記憶されているデータブロックのうち、外部処理装置により更新されるデータブロック毎に、当該データブロックの出力元である外部処理装置の装置識別情報を対応付けて記憶しており、
前記出力手段は、前記出力の際に、更に自装置の装置識別情報を出力し、
前記入力手段は、
外部処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合にのみ前記肯定的な判定を行う
ことを特徴とする請求項２記載の処理装置。
【請求項４】
前記処理装置は、
アクセス要求に基づいて、前記共有データ記憶手段に対するアクセスを行う共有データアクセス手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記共有データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込む旨のアクセス要求を前記共有データアクセス手段に送出し、
前記共有データアクセス手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該出力手段からのアクセス要求よりも先に、当該入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項２記載の処理装置。
【請求項５】
前記管理情報記憶手段に記憶されている各情報は、前記プロセッサが既定のプログラムを実行することにより更新される
ことを特徴とする請求項２記載の処理装置。
【請求項６】
前記処理装置は、更に
バッファメモリと、
アクセス要求に基づいて、前記共有データ記憶手段又は前記バッファメモリに対するアクセスを行うアクセス制御手段とを備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記アクセス制御手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記アクセス制御手段に送出し、
前記アクセス制御手段は、
前記入力手段からアクセス要求を受領した場合において、前記出力手段からもアクセス要求を受領したときは、当該入力手段からアクセス要求に基づき、当該アクセス要求に係るデータを前記バッファメモリに記憶させ、当該バッファメモリに記憶されているデータを、アクセス要求を受領していないときに前記共有データ記憶手段に反映させる
ことを特徴とする請求項１記載の処理装置。
【請求項７】
前記アクセス制御手段は、
アクセス要求を受領した場合に、当該アクセス要求に係るデータについての前記共有データ記憶手段上の格納領域が、前記バッファメモリに既に記憶されているデータについての当該共有データ記憶手段上の格納領域と一致するか否かに応じて、前記共有データ記憶手段と前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項６記載の処理装置。
【請求項８】
前記アクセス制御手段は、
受領したアクセス要求に基づく前記バッファメモリへのアクセスが完了した後にも、当該アクセス後のデータを前記共有データ記憶手段に反映させる
ことを特徴とする請求項７記載の処理装置。
【請求項９】
前記処理装置は、更に
外部処理装置と共有する必要がない１以上のデータブロックを記憶する固有データ記憶手段と、
アクセス要求に基づいて、前記共有データ記憶手段又は前記固有データ記憶手段に対するアクセスを行うデータアクセス手段とを備え、
前記出力手段は、
前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記データアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記データアクセス手段に送出し、
前記データアクセス手段は、
前記共有データ記憶手段と固有データ記憶手段とに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記固有データ記憶手段上の格納領域であるときは、当該固有データ記憶手段に対し当該アクセス要求に基づくアクセスを行うのと並行して、前記共有データ記憶手段に対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項１記載の処理装置。
【請求項１０】
前記共有データ記憶手段は、
１以上の外部処理装置と共有するデータブロックのうち、自装置のみが更新する１以上のデータブロックを記憶する第１メモリと、
前記自装置のみが更新する１以上のデータブロック以外の外部処理装置と共有する１以上のデータブロックを記憶する第２メモリとを含み、
前記処理装置は、更に
アクセス要求に基づいて、前記第１メモリ又は前記第２メモリに対するアクセスを行うメモリアクセス手段とを備え、
前記出力手段は、
前記プロセッサによるアクセス要求がある毎に、当該アクセス要求を前記メモリアクセス手段に送出し、
前記入力手段は、
肯定的な判定を行った場合に、当該判定に係るブロック識別情報と対応付けられているアドレス情報が示す格納領域に、外部処理装置により出力されたデータを書き込むためのアクセス要求を前記メモリアクセス手段に送出し、
前記メモリアクセス手段は、
前記第１メモリと第２メモリとに対し並行してアクセスすることが可能であり、
前記入力手段からアクセス要求を受領した際に、前記出力手段からもアクセス要求を受領した場合において、当該出力手段からのアクセス要求に係るデータの格納領域が、前記第１メモリ上の格納領域であるときは、当該第１メモリに対し当該アクセス要求に基づくアクセスを行うのと並行して前記第２メモリに対し前記入力手段からのアクセス要求に基づくアクセスを行う
ことを特徴とする請求項１記載の処理装置。
【請求項１１】
前記処理装置は、更に
外部処理装置から出力されたデータを記憶するバッファメモリを備え、
前記メモリアクセス手段は、
前記第２メモリ上の格納領域に対するアクセス要求を受領した場合に、当該格納領域が、前記バッファメモリに既に記憶されているデータについての前記第２メモリ上の格納領域と一致するか否かに応じて、前記第２メモリと前記バッファメモリとのいずれかに対し当該アクセス要求に基づくアクセスを行う
ことを特徴とする請求項１０記載の処理装置。
【請求項１２】
データを共有するために共通バスを介して相互に接続する複数の処理装置を含む処理システムであって、
各処理装置は、
プロセッサと、
１以上の他の処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが記憶されているデータブロックのブロック識別情報と書き込み要求に係るデータとを前記共通バスに出力する出力手段と、
他の処理装置により前記共通バスに出力されたブロック識別情報に基づいて、当該他の処理装置により当該共通バスに出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合に当該データを前記共有データ記憶手段に記憶させる入力手段とを備える
ことを特徴とする処理システム。
【請求項１３】
各処理装置は、更に
前記共有データ記憶手段に記憶されているデータブロック毎に、当該データブロックの出力元である処理装置の装置識別情報と、ブロック識別情報と、当該データブロックの格納領域を示すアドレス情報とを対応付けて記憶する管理情報記憶手段を備え、
前記出力手段は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が前記管理情報記憶手段が記憶する各アドレス情報が示す格納領域のいずれかに対する書き込み要求である場合に前記出力を行うと共に、当該出力に係るブロック識別情報と対応付けて記憶されている装置識別情報を前記共通バスに出力し、
前記入力手段は、
他の処理装置により出力された装置識別情報及びブロック識別情報と一致する装置識別情報及びブロック識別情報が前記管理情報記憶手段に対応付けて記憶されている場合に肯定的な判定を行い、当該ブロック識別情報と対応付けられているアドレス情報が示す格納領域に、他の処理装置により出力されたデータを記憶させ、
いずれか一の処理装置における前記プロセッサは、既定のプログラムを実行することにより、各管理情報記憶手段に記憶する各情報を生成し、各処理装置に記憶させる
ことを特徴とする請求項１２記載の処理システム。
【請求項１４】
複数の外部処理装置との間でデータを共有して処理する処理装置におけるデータ共有処理方法であって、
前記処理装置は、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段とを備え、
前記データ共有処理方法は、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力ステップと、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力ステップとを含む
ことを特徴とするデータ共有処理方法。
【請求項１５】
複数の外部処理装置との間でデータを共有して処理するデータ共有処理用集積回路であって、
プロセッサと、
１以上の外部処理装置と共有する１以上のデータブロックを記憶する共有データ記憶手段と、
前記共有データ記憶手段に対する前記プロセッサによるアクセス要求が書き込み要求である場合に、当該書き込み要求に係るデータが格納されるべき領域を含む格納領域に格納されているデータブロックのブロック識別情報と書き込み要求に係るデータとを出力する出力手段と、
外部処理装置により出力されたブロック識別情報に基づいて、当該外部処理装置により出力されたデータが、自装置が共有すべきデータか否かを判定し、肯定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させ、否定的な判定を行った場合には、当該データを前記共有データ記憶手段に記憶させない入力手段とを備える
ことを特徴とするデータ共有処理用集積回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009116279.tif 000033
【図２】
2009116279.tif 000034
【図３】
2009116279.tif 000035
【図４】
2009116279.tif 000036
【図５】
2009116279.tif 000037
【図６】
2009116279.tif 000038
【図７】
2009116279.tif 000039
【図８】
2009116279.tif 000040
【図９】
2009116279.tif 000041
【図１０】
2009116279.tif 000042
【図１１】
2009116279.tif 000043
【図１２】
2009116279.tif 000044
【図１３】
2009116279.tif 000045
【図１４】
2009116279.tif 000046
【図１５】
2009116279.tif 000047
【図１６】
2009116279.tif 000048
【図１７】
2009116279.tif 000049
【図１８】
2009116279.tif 000050
【図１９】
2009116279.tif 000051
【図２０】
2009116279.tif 000052
【図２１】
2009116279.tif 000053
【図２２】
2009116279.tif 000054
【図２３】
2009116279.tif 000055
【図２４】
2009116279.tif 000056
【図２５】
2009116279.tif 000057
【図２６】
2009116279.tif 000058
【図２７】
2009116279.tif 000059
【図２８】
2009116279.tif 000060
【図２９】
2009116279.tif 000061
【図３０】
2009116279.tif 000062
【国際調査報告】
2009116279.tif 000063
2009116279.tif 000064
2009116279.tif 000065