(57)【要約】【課題】リプライ返却抑止処理のための専用インタフェースを設けることを必要とせずに、リプライ返却抑止処理を実現する。【解決手段】リクエスト制御部７は、リプライ抑止要求／リプライ抑止解除要求Ａに基づくリプライ抑止リクエスト／リプライ抑止解除リクエストの生成を行い、通常のリクエスト群に割り込ませて、通常のリクエストの送信経路を使用し、リプライが集中するリプライ制御部８内の入力ポートと同一のポート番号の出力ポートから主記憶装置６に対して当該リプライ抑止リクエストおよび当該リプライ抑止解除リクエストを送信する。リプライ制御部８は、リプライ返却抑止処理の必要が生じた場合に、リプライが集中する入力ポートについてのリプライ抑止要求をリクエスト制御部７に送出し、そのリプライ返却抑止処理の必要が解消した場合にリプライ抑止解除要求をリクエスト制御部７に送出する。【選択図】        図１
2004362313.tif 000002
【特許請求の範囲】
【請求項１】
複数個の演算処理装置と複数個の主記憶装置とこれらを接続するネットワークとにより構成される並列計算機システムにおいて、
リプライ抑止要求に基づくリプライ抑止リクエストの生成およびリプライ抑止解除要求に基づくリプライ抑止解除リクエストの生成を行い、通常のリクエスト群に割り込ませて、通常のリクエストの送信経路を使用し、リプライが集中するリプライ制御部内の入力ポートと同一のポート番号の出力ポートから主記憶装置に対して当該リプライ抑止リクエストおよび当該リプライ抑止解除リクエストを送信する各演算処理装置内ネッワークユニット中のリクエスト制御部と、
出力ポート側でのリプライ競合および入力ポート側でのリプライ集中によりリプライを保持するバッファにオーバフローのおそれが発生しリプライ返却抑止処理の必要が生じた場合に、リプライが集中する入力ポートについてのリプライ抑止要求を前記リクエスト制御部に送出し、そのリプライ返却抑止処理の必要が解消した場合にその旨を示すリプライ抑止解除要求を前記リクエスト制御部に送出する各演算処理装置内ネッワークユニット中の前記リプライ制御部と、
前記リクエスト制御部からのリプライ抑止リクエストに基づいてその前記リクエスト制御部が存在する演算処理装置内ネットワークユニット中の前記リプライ制御部のリプライが集中する入力ポートへのリプライの送信を抑止し、その前記リクエスト制御部からのリプライ抑止解除リクエストに基づいて当該リプライ送信抑止を解除する各主記憶装置と
を有することを特徴とする並列計算機システムにおけるメモリアクセス制御方式。
【請求項２】
演算処理装置内ネットワークユニット中のリクエスト制御部が、命令発行部から発行された通常のリクエストを受信するｍ＋１個の入力ポートと、
前記入力ポートから入力されて出力待機中のリクエストを保持するｍ＋１個のリクエスト入力バッファと、
ｍ＋１個の前記入力ポートの各々に対応しており、前記命令発行部から受信したリクエストの識別情報であるリクエストＩＤを保持するｍ＋１個のリクエストＩＤ保持部と、
リクエストをｎ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定を含むリクエスト送出に関する制御を行うアービタと、
前記アービタの制御に基づき複数の前記入力ポートからのリクエストのうちのいずれを送出するかを選択するｎ＋１個のセレクタと、
リプライ抑止要求／リプライ抑止解除要求に基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む主記憶装置側へのリクエストの出力の制御を行うｎ＋１個の出力ポート制御部と、
主記憶装置にリクエストを送信するｎ＋１個の前記出力ポートとを含んで構成されており、
当該演算処理装置内ネットワークユニット中のリプライ制御部が、
主記憶装置から返却されるリプライを受信するｎ＋１個の入力ポートと、
前記入力ポートから入力されて出力待機中のリプライを保持するｎ＋１個のリプライ入力バッファと、
自己に対応する前記リプライ入力バッファのオーバフロー状態判定／オーバフロー状態解消判定に基づき、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求を前記リクエスト制御部内の自己に対応する前記出力ポート制御部に対して送出するｎ＋１個の入力ポート制御部と、
リプライをｍ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定を含むリプライ送出に関する制御を行うアービタと、
前記アービタの制御に基づき複数の前記入力ポートからのリプライのうちのいずれを送出するかを選択するｍ＋１個のセレクタと、
命令発行部にリプライを送信するｍ＋１個の前記出力ポートとを含んで構成されている、
ということを特徴とする請求項１記載の並列計算機システムにおけるメモリアクセス制御方式。
【請求項３】
リプライ抑止リクエスト用コードおよびリプライ抑止解除リクエスト用コードを含むリクエスト種別を示すコードを有するフィールドを持ち、リプライ抑止リクエスト用コードによって自己がリプライ抑止リクエストであることを示し、リプライ抑止解除リクエスト用コードによって自己がリプライ抑止解除リクエストであることを示すリクエストが採用されることを特徴とする請求項１または請求項２記載の並列計算機システムにおけるメモリアクセス制御方式。
【請求項４】
複数個の演算処理装置と複数個の主記憶装置とこれらを接続するネットワークとにより構成される並列計算機システムにおける各演算処理装置において、
リプライ抑止要求に基づくリプライ抑止リクエストの生成およびリプライ抑止解除要求に基づくリプライ抑止解除リクエストの生成を行い、通常のリクエスト群に割り込ませて、通常のリクエストの送信経路を使用し、リプライが集中するリプライ制御部内の入力ポートと同一のポート番号の出力ポートから主記憶装置に対して当該リプライ抑止リクエストおよび当該リプライ抑止解除リクエストを送信するリクエスト制御部と、
出力ポート側でのリプライ競合および入力ポート側でのリプライ集中によりリプライを保持するバッファにオーバフローのおそれが発生しリプライ返却抑止処理の必要が生じた場合に、リプライが集中する入力ポートについてのリプライ抑止要求を前記リクエスト制御部に送出し、そのリプライ返却抑止処理の必要が解消した場合にその旨を示すリプライ抑止解除要求を前記リクエスト制御部に送出する前記リプライ制御部と
を有することを特徴とする演算処理装置内ネットワークユニット。
【請求項５】
リクエスト制御部が、
命令発行部から発行された通常のリクエストを受信するｍ＋１個の入力ポートと、
前記入力ポートから入力されて出力待機中のリクエストを保持するｍ＋１個のリクエスト入力バッファと、
ｍ＋１個の前記入力ポートの各々に対応しており、前記命令発行部から受信したリクエストの識別情報であるリクエストＩＤを保持するｍ＋１個のリクエストＩＤ保持部と、
リクエストをｎ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定を含むリクエスト送出に関する制御を行うアービタと、
前記アービタの制御に基づき複数の前記入力ポートからのリクエストのうちのいずれを送出するかを選択するｎ＋１個のセレクタと、
リプライ抑止要求／リプライ抑止解除要求に基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む主記憶装置側へのリクエストの出力の制御を行うｎ＋１個の出力ポート制御部と、
主記憶装置にリクエストを送信するｎ＋１個の前記出力ポートとを含んで構成されており、
リプライ制御部が、
主記憶装置から返却されるリプライを受信するｎ＋１個の入力ポートと、
前記入力ポートから入力されて出力待機中のリプライを保持するｎ＋１個のリプライ入力バッファと、
自己に対応する前記リプライ入力バッファのオーバフロー状態判定／オーバフロー状態解消判定に基づき、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求を前記リクエスト制御部内の自己に対応する前記出力ポート制御部に対して送出するｎ＋１個の入力ポート制御部と、
リプライをｍ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定を含むリプライ送出に関する制御を行うアービタと、
前記アービタの制御に基づき複数の前記入力ポートからのリプライのうちのいずれを送出するかを選択するｍ＋１個のセレクタと、
命令発行部にリプライを送信するｍ＋１個の前記出力ポートとを含んで構成されている、
ということを特徴とする請求項４記載の演算処理装置内ネットワークユニット。
【請求項６】
リプライ抑止リクエスト用コードおよびリプライ抑止解除リクエスト用コードを含むリクエスト種別を示すコードを有するフィールドを持ち、リプライ抑止リクエスト用コードによって自己がリプライ抑止リクエストであることを示し、リプライ抑止解除リクエスト用コードによって自己がリプライ抑止解除リクエストであることを示すリクエストが採用されることを特徴とする請求項４または請求項５記載の演算処理装置内ネットワークユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数個の演算処理装置（命令発行部および演算処理装置内ネットワークユニット（ＰＮＵ（Ｐｒｏｃｅｓｓｏｒ  ｓｉｄｅ  Ｎｅｔｗｏｒｋ  Ｕｎｉｔ））を含む演算処理装置）と複数個の主記憶装置（メモリおよび主記憶装置内ネットワークユニット（ＭＮＵ（Ｍｅｍｏｒｙ  ｓｉｄｅ  Ｎｅｔｗｏｒｋ  Ｕｎｉｔ））を含む主記憶装置）とこれらを接続するネットワーク（相互結合網）とにより構成される並列計算機システム（マルチプロセッサシステム）におけるメモリアクセス制御方式（その方式を実現するための演算処理装置内ネットワークユニットを含む）に関する。
【０００２】
【従来の技術】
従来より、情報処理技術の分野では、複数個の演算処理装置と複数個の主記憶装置とがネットワークにより接続される並列計算器システム（マルチプロセッサシステム）が存在する（例えば、特許文献１参照）。
【０００３】
図５は、このような並列計算機システムの構成の一例を示すブロック図である。この並列計算機システムは、複数個の演算処理装置１と、複数個の主記憶装置６と、これらを接続するネットワーク１００とを含んで構成されている。ここで、演算処理装置１は、命令発行部２と、演算処理装置内ネットワークユニット３とを含んで構成されている。また、主記憶装置６は、主記憶装置内ネットワークユニット４と、メモリ５とを含んで構成されている。
【０００４】
図６は、従来における、図５中の演算処理装置内ネットワークユニット３の詳細な構成を示すブロック図である。この演算処理装置内ネットワークユニット３は、リクエスト制御部７と、リプライ制御部８とに分かれて構成されている。
【０００５】
ここで、図６に示す演算処理装置内ネットワークユニット３における各構成要素は、リプライ返却抑止処理に関する構成要素以外は、後述する本発明における演算処理装置内ネットワークユニット３（図２参照）内の各構成要素（符号が同一の各構成要素）と同様のものである。
【０００６】
また、図６中のリクエスト制御部７の制御による命令発行部２から主記憶装置６へのリクエストの発行に関する動作や、図６中のリプライ制御部８の制御による主記憶装置６から命令発行部２へのリプライの返却に関する動作は、リプライ返却抑止処理時の動作以外については、後述する本発明におけるリクエスト制御部７およびリプライ制御部８（図２参照）の動作と同様のものとなる。
【０００７】
このようなリクエストおよびリプライの送受信の過程において、図６中のリプライ制御部８では、主記憶装置６から複数のリプライを同時に受け取るが、出力ポート２１−ｊ（ｊは０〜ｍ（ｍは正整数）の中の任意の数値）において送出すべきリプライが重複する状態（リプライ競合）が発生した場合に、アービタ１９は各リプライに優先順位をつけて順次返却を行い、優先順位の低いリプライは一旦リプライ入力バッファ１８−ｉ（ｉは０〜ｎ（ｎは正整数）の中の任意の数値）に保持される。
【０００８】
ここで、リプライ制御部８内のある入力ポート１６−ｉにリプライが集中し、かつ上記のようなリプライ競合が発生した場合に、リプライ入力バッファ１８−ｉのオーバフローが生じるおそれがある。そして、このオーバフローの発生を防ぐために、主記憶装置６から入力ポート１６−ｉへのリプライの返却を抑止する必要がある。
【０００９】
従来の技術では、このようなリプライを抑止する処理（リプライ返却抑止処理）を実現するために、入力ポート制御部１７−ｉから主記憶装置６側にリプライ抑止要求が送信されていた。そして、このようなリプライ抑止要求を送信するための専用インタフェース（リプライ抑止用ポート２２−０，…，２２−ｎ）が設けられていた。なお、図５中の演算処理装置内ネットワークユニット３において１本の直線で表している主記憶装置６に対する各ポートは、図６中の出力ポート１５−ｉ，入力ポート１６−ｉ，およびリプライ抑止用ポート２２−ｉの三者を含むものである。
【００１０】
【特許文献１】
特開平０８−０９５８１３号公報（第２頁、図７）
【００１１】
【発明が解決しようとする課題】
上述した従来の並列計算機システムにおけるメモリアクセス制御方式では、上記のように、演算処理装置内ネットワークユニットにおけるリプライ返却抑止処理の実現のために、リプライ制御部内の入力ポート制御部からリプライ抑止要求を主記憶装置側に送信するための専用インタフェース（リプライ抑止用ポート）が設けられていたので、演算処理装置と主記憶装置との間のインタフェース数（具体的にはポート上のピン数）が増加するという問題点があった。
【００１２】
本発明の目的は、上述の点に鑑み、演算処理装置と主記憶装置との間にリプライ返却抑止処理のための専用インタフェースを設けることを必要とせずに、リプライ返却抑止処理を実現するためのメモリアクセス制御を可能とする並列計算機システムにおけるメモリアクセス制御方式を提供することにある。
【００１３】
【課題を解決するための手段】
本発明の並列計算機システムにおけるメモリアクセス制御方式は、複数個の演算処理装置と複数個の主記憶装置とこれらを接続するネットワーク（相互結合網）とにより構成される並列計算機システムにおいて、リプライ抑止要求に基づくリプライ抑止リクエストの生成およびリプライ抑止解除要求に基づくリプライ抑止解除リクエストの生成を行い、通常のリクエスト群に割り込ませて、通常のリクエストの送信経路を使用し、リプライが集中するリプライ制御部内の入力ポートと同一のポート番号の出力ポートから主記憶装置に対して当該リプライ抑止リクエストおよび当該リプライ抑止解除リクエストを送信する各演算処理装置内ネッワークユニット中のリクエスト制御部と、出力ポート側でのリプライ競合および入力ポート側でのリプライ集中によりリプライを保持するバッファにオーバフローのおそれが発生しリプライ返却抑止処理の必要が生じた場合に、リプライが集中する入力ポートについてのリプライ抑止要求を前記リクエスト制御部に送出（通知）し、そのリプライ返却抑止処理の必要が解消した場合にその旨を示すリプライ抑止解除要求を前記リクエスト制御部に送出（通知）する各演算処理装置内ネッワークユニット中の前記リプライ制御部と、前記リクエスト制御部からのリプライ抑止リクエストに基づいてその前記リクエスト制御部が存在する演算処理装置内ネットワークユニット中の前記リプライ制御部のリプライが集中する入力ポートへのリプライの送信を抑止し、その前記リクエスト制御部からのリプライ抑止解除リクエストに基づいて当該リプライ送信抑止を解除する各主記憶装置とを有する。
【００１４】
なお、上述した本発明の並列計算機システムにおけるメモリアクセス制御方式は、より具体的には、演算処理装置内ネットワークユニット中のリクエスト制御部が、命令発行部（当該演算処理装置内ネットワークユニットを有する演算処理装置内の命令発行部）から発行された通常のリクエストを受信するｍ＋１個（ｍは正整数）の入力ポートと、前記入力ポートから入力されて出力待機中のリクエストを保持するｍ＋１個のリクエスト入力バッファと、ｍ＋１個の前記入力ポートの各々に対応しており、前記命令発行部から受信したリクエストの識別情報であるリクエストＩＤを保持するｍ＋１個のリクエストＩＤ保持部と、リクエストをｎ＋１個（ｎは正整数）の出力ポートの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定を含むリクエスト送出に関する制御を行うアービタと、前記アービタの制御に基づき複数の前記入力ポートからのリクエストのうちのいずれを送出するかを選択するｎ＋１個のセレクタと、リプライ抑止要求／リプライ抑止解除要求に基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む主記憶装置側へのリクエストの出力の制御を行うｎ＋１個の出力ポート制御部と、主記憶装置にリクエストを送信するｎ＋１個の前記出力ポートとを含んで構成されており、当該演算処理装置内ネットワークユニット中のリプライ制御部が、主記憶装置から返却されるリプライを受信するｎ＋１個の入力ポートと、前記入力ポートから入力されて出力待機中のリプライを保持するｎ＋１個のリプライ入力バッファと、自己に対応する前記リプライ入力バッファのオーバフロー状態判定／オーバフロー状態解消判定に基づき、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求を前記リクエスト制御部内の自己に対応する前記出力ポート制御部に対して送出するｎ＋１個の入力ポート制御部と、リプライをｍ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定を含むリプライ送出に関する制御を行うアービタと、前記アービタの制御に基づき複数の前記入力ポートからのリプライのうちのいずれを送出するかを選択するｍ＋１個のセレクタと、命令発行部（当該演算処理装置内ネットワークユニットを有する演算処理装置内の命令発行部）にリプライを送信するｍ＋１個の前記出力ポートとを含んで構成されている、ということを特徴とすると表現することができる。
【００１５】
また、本発明は、複数個の演算処理装置と複数個の主記憶装置とこれらを接続するネットワークとにより構成される並列計算機システムにおける各演算処理装置において、リプライ抑止要求に基づくリプライ抑止リクエストの生成およびリプライ抑止解除要求に基づくリプライ抑止解除リクエストの生成を行い、通常のリクエスト群に割り込ませて、通常のリクエストの送信経路を使用し、リプライが集中するリプライ制御部内の入力ポートと同一のポート番号の出力ポートから主記憶装置に対して当該リプライ抑止リクエストおよび当該リプライ抑止解除リクエストを送信するリクエスト制御部と、出力ポート側でのリプライ競合および入力ポート側でのリプライ集中によりリプライを保持するバッファにオーバフローのおそれが発生しリプライ返却抑止処理の必要が生じた場合に、リプライが集中する入力ポートについてのリプライ抑止要求を前記リクエスト制御部に送出（通知）し、そのリプライ返却抑止処理の必要が解消した場合にその旨を示すリプライ抑止解除要求を前記リクエスト制御部に送出（通知）する前記リプライ制御部とを有する演算処理装置内ネットワークユニットとして実現することも可能である。
【００１６】
なお、上述した本発明の演算処理装置内ネットワークユニットは、より具体的には、リクエスト制御部が、命令発行部から発行された通常のリクエストを受信するｍ＋１個の入力ポートと、前記入力ポートから入力されて出力待機中のリクエストを保持するｍ＋１個のリクエスト入力バッファと、ｍ＋１個の前記入力ポートの各々に対応しており、前記命令発行部から受信したリクエストの識別情報であるリクエストＩＤを保持するｍ＋１個のリクエストＩＤ保持部と、リクエストをｎ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定を含むリクエスト送出に関する制御を行うアービタと、前記アービタの制御に基づき複数の前記入力ポートからのリクエストのうちのいずれを送出するかを選択するｎ＋１個のセレクタと、リプライ抑止要求／リプライ抑止解除要求に基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む主記憶装置側へのリクエストの出力の制御を行うｎ＋１個の出力ポート制御部と、主記憶装置にリクエストを送信するｎ＋１個の前記出力ポートとを含んで構成されており、リプライ制御部が、主記憶装置から返却されるリプライを受信するｎ＋１個の入力ポートと、前記入力ポートから入力されて出力待機中のリプライを保持するｎ＋１個のリプライ入力バッファと、自己に対応する前記リプライ入力バッファのオーバフロー状態判定／オーバフロー状態解消判定に基づき、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求を前記リクエスト制御部内の自己に対応する前記出力ポート制御部に対して送出するｎ＋１個の入力ポート制御部と、リプライをｍ＋１個の出力ポートの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定を含むリプライ送出に関する制御を行うアービタと、前記アービタの制御に基づき複数の前記入力ポートからのリプライのうちのいずれを送出するかを選択するｍ＋１個のセレクタと、命令発行部にリプライを送信するｍ＋１個の前記出力ポートとを含んで構成されている、ということを特徴とすると表現することができる。
【００１７】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【００１８】
（１）  第１の実施の形態
【００１９】
図１は、本発明の第１の実施の形態に係る並列計算機システムにおけるメモリアクセス制御方式の構成（この方式が適用される並列計算機システム（マルチプロセッサシステム）の構成ともいえる）を示すブロック図である。
【００２０】
図１を参照すると、この並列計算機システムは、複数個の演算処理装置１−０，１−１，…，１−ｎ（ｎは正整数。任意の演算処理装置を示す場合には、「演算処理装置１」と表記する）と、複数個の主記憶装置６−０，６−１，…，６−ｎ（任意の主記憶装置を示す場合には、「主記憶装置６」と表記する）とを含んで構成されている。ここで、各演算処理装置１と各主記憶装置６とはネットワーク（相互結合網）１００によって接続されている。
【００２１】
各演算処理装置１は、その内部に、命令発行部２と、演算処理装置内ネットワークユニット（ＰＮＵ）３とを備えている。
【００２２】
各主記憶装置６は、その内部に、主記憶装置内ネットワークユニット（ＭＮＵ）４と、メモリ５とを備えている。
【００２３】
なお、図１における演算処理装置１の台数，主記憶装置６の台数、およびネットワークユニット（演算処理装置内ネットワークユニット３および主記憶装置内ネットワークユニット４）のポート数に制限はない。また、演算処理装置１の台数と主記憶装置６の台数とは、図１ではｎ＋１で同一となっているが、各台数が異なっていてもよい（ただし、一般的には、同一であることが多いので、図１では両者を共通のｎ＋１としている）。
【００２４】
演算処理装置内ネットワークユニット３は、通常のリクエストとともにリプライ抑止リクエストおよびリプライ抑止解除リクエストを主記憶装置６に対して送出するリクエスト制御部７と、リクエスト制御部７に対してリプライ抑止要求／リプライ抑止解除要求Ａ（リプライ抑止要求またはリプライ抑止解除要求）を発行するリプライ制御部８とに分かれた構成を有している。
【００２５】
図２は、図１中の演算処理装置内ネットワークユニット３の詳細な構成を示すブロック図である。
【００２６】
演算処理装置内ネットワークユニット３内のリクエスト制御部７は、命令発行部２（当該演算処理装置内ネットワークユニット３を有する演算処理装置１内の命令発行部２）から発行されたリクエスト（通常のリクエスト）を受信する入力ポート９−０，…，９−ｍ（ｍは正整数）と、入力ポート９−０，…，９−ｍから入力されて出力（発行）待機中のリクエストを保持するリクエスト入力バッファ１０−０，…，１０−ｍと、命令発行部２から受信したリクエストの識別情報（リクエストＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ））を保持する（そのリクエストに対応するリプライを命令発行部２に返却するまで保持する）リクエストＩＤ保持部１１−０，…，１１−ｍと、リクエストを出力ポート１５−０，…，１５−ｎの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定等のリクエスト送出に関する制御を行うアービタ１２と、アービタ１２の制御に基づき複数の入力ポート９−０，…，９−ｍからのリクエストのうちのいずれを送出するかを選択するセレクタ１３−０，…，１３−ｎと、自己に対応する出力ポート１５−０，…，１５−ｎから主記憶装置６側へのリクエストの出力の制御（リプライ抑止要求／リプライ抑止解除要求Ａに基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む制御）を行う出力ポート制御部１４−０，…，１４−ｎと、主記憶装置６−０，…，６−ｎにリクエストを送信する出力ポート１５−０，…，１５−ｎとを含んで構成されている。
【００２７】
演算処理装置内ネットワークユニット３内のリプライ制御部８は、主記憶装置６−０，…，６−ｎから返却されるリプライを受信する入力ポート１６−０，…，１６−ｎと、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求Ａを自己に対応する出力ポート制御部１４−０，…，１４−ｎに対して送出する入力ポート制御部１７−０，…，１７−ｎと、入力ポート１６−０，…，１６−ｎから入力されて出力（返却）待機中のリプライを保持するリプライ入力バッファ１８−０，…，１８−ｎと、リプライを出力ポート２１−０，…，２１−ｍの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定等のリプライ送出に関する制御を行うアービタ１９と、アービタ１９の制御に基づき複数の入力ポート１６−０，…，１６−ｎからのリプライのうちのいずれを送出するかを選択するセレクタ２０−０，…，２０−ｍと、命令発行部２（当該演算処理装置内ネットワークユニット３を有する演算処理装置１内の命令発行部２）にリプライを送信する出力ポート２１−０，…，２１−ｍとを含んで構成されている。
【００２８】
ここで、リクエスト制御部７の出力ポート１５−０，…，１５−ｎとリプライ制御部８の入力ポート１６−０，…，１６−ｎとは、同一個数が備えられ、ポート番号（１５−ｉ（ｉは０〜ｎの中の任意の数値）や１６−ｉにおけるｉ）が同じであれば、主記憶装置６−ｉの主記憶装置内ネットワークユニット４の同一ポートと接続される。なお、図１中の演算処理装置内ネットワークユニット３において１本の直線で表している主記憶装置６に対する各ポートは、図２中の出力ポート１５−ｉおよび入力ポート１６−ｉの両者を含むものである。
【００２９】
同様に、リクエスト制御部７の入力ポート９−０，…，９−ｍとリプライ制御部８の出力ポート２１−０，…，２１−ｍとは、同一個数が備えられ、ポート番号（９−ｊ（ｊは０〜ｍの中の任意の数値）や２１−ｊにおけるｊ）が同じであれば、命令発行部２の同一ポートと接続される。なお、図１中の演算処理装置内ネットワークユニット３において１本の直線で表している命令発行部２に対する各ポートは、図２中の入力ポート９−ｊおよび出力ポート２１−ｊの両者を含むものである。
【００３０】
図３は、本実施の形態に係る並列計算機システムにおけるメモリアクセス制御方式で採用されるリクエスト構成（リクエストにおけるフィールド構成）の一例を示す図である。
【００３１】
当該リクエストは、当該リクエストの有効性を示す情報を有するＶ（Ｖａｌｉｄ）ビットを有するフィールド３１と、リクエスト種別を示すコード（図３中のコードの値は例示である）を有するフィールド３２（各装置はこのフィールド３２中のコードによりリクエスト（命令）種別を判断する）と、アドレス情報およびリクエストＩＤを有するフィールド３３と、ロードやストアの対象のデータを有するフィールド３４とから構成されている。ここで、フィールド３３中のアドレス情報は、当該リクエストの送信先を示す情報であり、当該リクエストを送出する出力ポート１５−ｉのポート番号（すなわち、当該リクエストの送信先の主記憶装置６−ｉの識別情報）であるｉを示す情報をアドレス上位に有し、当該主記憶装置６−ｉ内のメモリ５中のアドレスをアドレス下位に有して構成されている（アドレス上位の出力ポート番号を使用してアービタ１２による制御が行われる）。なお、リプライ抑止リクエストやリプライ抑止解除リクエストについては、フィールド３３およびフィールド３４は意味のないものとなる。
【００３２】
図４は、本実施の形態に係る並列計算機システムにおけるメモリアクセス制御方式のリプライ返却抑止処理を示す流れ図である。この処理は、オーバフロー状態判定ステップＳ１と、リプライ抑止要求送出ステップＳ２と、リプライ抑止リクエスト生成ステップＳ３と、リプライ抑止リクエスト送信ステップＳ４と、オーバフロー状態解消判定ステップＳ５と、リプライ抑止解除要求送出ステップＳ６と、リプライ抑止解除リクエスト生成ステップＳ７と、リプライ抑止解除リクエスト送信ステップＳ８とからなる。
【００３３】
次に、図１〜図４を参照して、上記のように構成された本実施の形態に係る並列計算機システムにおけるメモリアクセス制御方式の全体の動作について詳細に説明する。
【００３４】
第１に、通常のリクエストの送受信に関する動作について説明する。
【００３５】
演算処理装置１においては、命令発行部２によってリクエストが発行されると（命令発行部２のポート番号ｊのポートからリクエストが発行されるものとする）、演算処理装置内ネットワークユニット３内のリクエスト制御部７（図２参照）により、以下に示すような処理が行われる。
【００３６】
当該リクエストは、入力ポート９−ｊで受け取られ、リクエスト入力バッファ１０−ｊを介してアービタ１２の制御対象となる。また、当該リクエストのリクエストＩＤが、リクエストＩＤ保持部１１−ｊに保持される。
【００３７】
アービタ１２は、当該リクエスト中のフィールド３３（図３参照）におけるアドレス情報に基づき、当該リクエストを出力する出力ポート（すなわち、当該リクエストの送信先の主記憶装置６−ｉが接続されている出力ポート１５−ｉ）を決定し（ここでは、例えば出力ポート１５−０であるものとする）、その決定内容を示すセレクト信号をセレクタ１３−０，…，１３−ｎ側に出力する。
【００３８】
この出力ポート１５−０に対応するセレクタ１３−０は、当該セレクト信号に基づき、当該リクエストを選択し、出力ポート１５−０に対応する出力ポート制御部１４−０に送付する。
【００３９】
出力ポート制御部１４−０（一般的には１４−ｉ）は、出力ポート１５−０（一般的には１５−ｉ）から、当該リクエストをネットワーク１００を介して主記憶装置６−０（一般的には６−ｉ）に送信するように制御する。
【００４０】
この時、複数のリクエストが１つの出力ポート１５−ｉにおいて重複する状態であるリクエスト競合が発生した場合には、アービタ１２は、当該複数のリクエストに優先順位をつけて順次送信（出力）を行うように制御する。ここで、優先順位の低いリクエスト（例えば、入力ポート９−０により受信されたリクエストであるものとする）は、一旦リクエスト入力バッファ１０−０に保持された後に、当該出力ポート１５−ｉから主記憶送信６−ｉに送信される。
【００４１】
主記憶装置６は、このようにして演算処理装置１から送信されてきたリクエストを受信し、当該リクエストに対するリプライを当該リクエストの発行元の演算処理装置１に返却する。
【００４２】
第２に、リプライの送受信に関する動作について説明する。
【００４３】
主記憶装置６−ｉから、上記のようなリクエストに対するリプライ（あるリクエストに対するリプライはそのリクエストのリクエストＩＤを識別情報として持っている）が、ネットワーク１００を介して、当該リクエストの発行元の演算処理装置１に返却されると、当該演算処理装置１内の演算処理装置内ネットワークユニット３中のリプライ制御部８（図２参照）により、以下に示すような処理が行われる。
【００４４】
当該リプライは、入力ポート１６−ｉで受け取られ、入力ポート制御部１７−ｉおよびリプライ入力バッファ１８−ｉを介して、アービタ１９の制御対象となる。
【００４５】
アービタ１９は、当該リプライ中のリクエストＩＤに基づき、当該リプライの返却先のポート（命令発行部２の複数のポートの中のリプライ返却先のポート）が接続される出力ポート２１−ｊを決定し、その決定内容を示すセレクト信号をセレクタ２０−０，…，２０−ｍ側に出力する。この決定に際して、アービタ１９は、リクエスト制御部７内のリクエストＩＤ保持部１１−０，…，１１−ｍを参照して、該当するリクエストＩＤを保持するリクエストＩＤ保持部１１−ｊのｊを目的のポート番号と判定する。
【００４６】
当該リプライは、当該セレクト信号に基づき、出力ポート２１−ｊに対応するセレクタ２０−ｊによって選択され、出力ポート２１−ｊから命令発行部２に返却（送信）される。
【００４７】
この時、複数のリプライが１つの出力ポート２１−ｊにおいて重複する状態であるリプライ競合が発生した場合には、アービタ１９は、当該複数のリプライに優先順位をつけて順次返却を行うように制御する。ここで、優先順位の低いリプライ（例えば、入力ポート１６−０により受信されたリプライであるものとする）は、一旦リプライ入力バッファ１８−０に保持された後に、当該出力ポート２１−ｊから命令発行部２に返却される。
【００４８】
第３に、上記のような通常のリクエストおよびそのリプライの送受信処理が実行される過程で実現されるリプライ返却抑止処理に関する動作について説明する。
【００４９】
上述のように、出力ポート２１−０，…，２１−ｍ側でリプライ競合が発生した場合には、リプライ入力バッファ１８−０，…，１８−ｎにおいてリプライが保持・蓄積される。ここで、ある入力ポート１６−ｉにおいてリプライが集中し、かつ、出力ポート２１−０，…，２１−ｍ側でリプライ競合が発生し、当該入力ポート１６−ｉに対応するリプライ入力バッファ１８−ｉにリプライ群が保持・蓄積され続けた場合に、リプライ入力バッファ１８−ｉがオーバフローの状態となる。この場合には、主記憶装置６−ｉからのリプライの返却（送信）を抑止する必要が生じる。
【００５０】
このような場合に対処するために、本実施の形態では、以下に示すようなリプライ返却抑止処理が行われる（図４参照）。
【００５１】
演算処理装置内ネットワークユニット３内のリプライ制御部８中の入力ポート制御部１７−ｉは、自己に対応するリプライ入力バッファ１８−ｉのオーバフロー状態判定（オーバフローのおそれが生じているか否かの判定）を行う（ステップＳ１）。このオーバフロー状態判定は、例えば、「リプライ入力バッファ１８−ｉの全容量の８０％を超えるリプライ群が当該リプライ入力バッファ１８−ｉに保持された状態に達したか否か」を判定することにより実現される（８０％という数値が例示にすぎないことはいうまでもない）。
【００５２】
入力ポート制御部１７−ｉは、ステップＳ１で「リプライ入力バッファ１８−ｉにオーバフローのおそれが生じている」と判定した場合には、リクエスト制御部７内の出力ポート制御部１４−ｉ（その入力ポート制御部１７−ｉに対応する出力ポート制御部）にリプライ抑止要求を送出する（ステップＳ２）。
【００５３】
出力ポート制御部１４−ｉは、このリプライ抑止要求を受け取り、フィールド３２にリプライ抑止リクエスト用の“１０”というコード（図３参照）を有するリクエスト（リプライ抑止リクエスト）を生成する（ステップＳ３）。そして、このリプライ抑止リクエストを通常のリクエスト群の間に割り込ませ、通常のリクエストの送信経路を利用して最優先にて、リプライが集中する入力ポート１６−ｉ（リプライ制御部８の入力ポート１６−ｉ）と同一のポート番号の出力ポート１５−ｉ（リクエスト制御部７の出力ポート１５−ｉ）から、主記憶装置６−ｉ内の主記憶装置内ネットワークユニット４に送信し（ステップＳ４）、当該主記憶装置内ネットワークユニット４に「リプライ返却抑止」を通知する。
【００５４】
このリプライ抑止リクエストを受け取った主記憶装置６−ｉ内の主記憶装置内ネットワークユニット４は、直ちに当該リプライ制御部８の入力ポート１６−ｉへのリプライ送信を抑止し、リプライ入力バッファ１８−ｉのオーバフローを防ぐようにする。
【００５５】
その後、当該リプライ制御部８内の当該入力ポート制御部１７−ｉは、リプライ入力バッファ１８−ｉのオーバフロー状態解消判定（十分に空きが生じてオーバフローのおそれがなくなったか否かの判定）を行う（ステップＳ５）。このオーバフロー状態解消判定は、例えば、「リプライ返却抑止処理が進み当該リプライ入力バッファ１８−ｉに十分な空きができてリプライ入力バッファ１８−ｉの全容量の６０％を超えないリプライ群しか当該リプライ入力バッファ１８−ｉに保持されていない状態に戻ったか否か」を判定することにより実現される（６０％という数値が例示にすぎないことはいうまでもない）。
【００５６】
入力ポート制御部１７−ｉは、ステップＳ５で「リプライ入力バッファ１８−ｉのオーバフローのおそれが解消した」と判定した場合には、リクエスト制御部７内の出力ポート制御部１４−ｉ（その入力ポート制御部１７−ｉに対応する出力ポート制御部）にリプライ抑止解除要求を送出する（ステップＳ６）。
【００５７】
出力ポート制御部１４−ｉは、このリプライ抑止解除要求を受け取り、フィールド３２にリプライ抑止解除リクエスト用の“１１”というコード（図３参照）を有するリクエスト（リプライ抑止解除リクエスト）を生成する（ステップＳ７）。そして、このリプライ抑止解除リクエストを通常のリクエスト群の間に割り込ませ、出力ポート１５−ｉから主記憶装置６−ｉ内の主記憶装置内ネットワーク４に送信し（ステップＳ８）、主記憶装置６−ｉによる当該演算処理装置内ネットワークユニット３内の入力ポート１６−ｉへのリプライ送信を再開させる。
【００５８】
（２）  第２の実施の形態
【００５９】
次に、本発明の第２の実施の形態に係る演算処理装置内ネットワークユニットについて説明する。
【００６０】
図２は、本実施の形態に係る演算処理装置内ネットワークユニットの構成を示すブロック図にも該当する。すなわち、本実施の形態に係る演算処理装置内ネットワークユニット（演算処理装置内ネットワークユニット３）は、通常のリクエストとともにリプライ抑止リクエストおよびリプライ抑止解除リクエストを主記憶装置に対して送出するリクエスト制御部７と、リクエスト制御部７に対してリプライ抑止要求／リプライ抑止解除要求Ａ（リプライ抑止要求またはリプライ抑止解除要求）を発行するリプライ制御部８とに分かれた構成を有している。なお、本実施の形態に係る演算処理装置内ネットワークユニット３は、図１に示すような並列計算機システムに実装される。
【００６１】
演算処理装置内ネットワークユニット３内のリクエスト制御部７は、命令発行部２（当該演算処理装置内ネットワークユニット３を有する演算処理装置１内の命令発行部２）から発行されたリクエスト（通常のリクエスト）を受信する入力ポート９−０，…，９−ｍと、入力ポート９−０，…，９−ｍから入力されて出力（発行）待機中のリクエストを保持するリクエスト入力バッファ１０−０，…，１０−ｍと、命令発行部２から受信したリクエストの識別情報（リクエストＩＤ）を保持する（そのリクエストに対応するリプライを命令発行部２に返却するまで保持する）リクエストＩＤ保持部１１−０，…，１１−ｍと、リクエストを出力ポート１５−０，…，１５−ｎの中のいずれの出力ポートから出力するかの決定およびリクエスト競合が発生した場合における優先順位の決定等のリクエスト送出に関する制御を行うアービタ１２と、アービタ１２の制御に基づき複数の入力ポート９−０，…，９−ｍからのリクエストのうちのいずれを送出するかを選択するセレクタ１３−０，…，１３−ｎと、自己に対応する出力ポート１５−０，…，１５−ｎから主記憶装置６側へのリクエストの出力の制御（リプライ抑止要求／リプライ抑止解除要求Ａに基づくリプライ抑止リクエストやリプライ抑止解除リクエストの生成・送出を含む制御）を行う出力ポート制御部１４−０，…，１４−ｎと、主記憶装置６−０，…，６−ｎにリクエストを送信する出力ポート１５−０，…，１５−ｎとを含んで構成されている。
【００６２】
演算処理装置内ネットワークユニット３内のリプライ制御部８は、主記憶装置６−０，…，６−ｎから返却されるリプライを受信する入力ポート１６−０，…，１６−ｎと、リプライ返却抑止処理を実現するためのリプライ抑止要求／リプライ抑止解除要求Ａを自己に対応する出力ポート制御部１４−０，…，１４−ｎに対して送出する入力ポート制御部１７−０，…，１７−ｎと、入力ポート１６−０，…，１６−ｎから入力されて出力（返却）待機中のリプライを保持するリプライ入力バッファ１８−０，…，１８−ｎと、リプライを出力ポート２１−０，…，２１−ｍの中のいずれの出力ポートから出力するかの決定およびリプライ競合が発生した場合における優先順位の決定等のリプライ送出に関する制御を行うアービタ１９と、アービタ１９の制御に基づき複数の入力ポート１６−０，…，１６−ｎからのリプライのうちのいずれを送出するかを選択するセレクタ２０−０，…，２０−ｍと、命令発行部２（当該演算処理装置内ネットワークユニット３を有する演算処理装置１内の命令発行部２）にリプライを送信する出力ポート２１−０，…，２１−ｍとを含んで構成されている。
【００６３】
本実施の形態に係る演算処理装置内ネットワークユニットは、通常のリクエストおよびそのリプライの送受信の過程で、図４に示すようなリプライ返却抑止処理を行う。
【００６４】
なお、本実施の形態に係る演算処理装置内ネットワークユニットの動作は、上記の第１の実施の形態に係る並列計算機システムにおけるメモリアクセス制御方式の説明で述べた演算処理装置内ネットワークユニット３の動作（処理）と同様なものになる。したがって、例えば、本実施の形態に係る演算処理装置内ネットワークユニットにおいても、図３に示すフィールド構成のリクエストが取り扱われる。
【００６５】
【発明の効果】
以上説明したように、本発明によると、演算処理装置と主記憶装置との間にリプライ返却抑止処理のための専用インタフェース（具体的にはポート上のピン）を設けることを必要とせずに、リプライ返却抑止処理を実現するためのメモリアクセス制御が可能となり、演算処理装置と主記憶装置との間のインタフェース数の削減が可能になるという効果が生じる。
【００６６】
このような効果が生じる理由は、リプライ制御部内のある入力ポートにリプライが集中しリプライ競合が発生した場合における、リプライ入力バッファのオーバフローを防ぐための、主記憶装置から当該入力ポートへのリプライの返却を抑止する方策として、リプライ制御部内の入力ポート制御部からリプライ抑止要求をリクエスト制御部内の出力ポート制御部に送出することにより、通常のリクエストの送信経路上で通常のリクエストに割り込ませてリプライ抑止リクエストをリクエスト制御部の出力ポートから主記憶装置に送り、リプライの集中する入力ポート（リプライ制御部の入力ポート）へのリプライ送信をストップ（抑止）させることができるからである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る並列計算器システムにおけるメモリアクセス制御方式の構成を示すブロック図である。
【図２】図１中の演算処理装置内ネットワークユニットの詳細な構成を示すブロック図であり、本発明の第２の実施の形態に係る演算処理装置内ネットワークユニットの構成を示すブロック図でもある。
【図３】図１に示す並列計算器システムにおけるメモリアクセス制御方式で採用されるリクエスト構成の一例を示す図である。
【図４】図１に示す並列計算器システムにおけるメモリアクセス制御方式のリプライ返却抑止処理を示す流れ図である。
【図５】従来の技術を説明するための図であり、並列計算機システムの構成の一例を示すブロック図である。
【図６】従来の並列計算器システムにおけるメモリアクセス制御方式の一例における演算処理装置内ネットワークユニット（図５中の演算処理装置内ネットワークユニット）の詳細な構成を示すブロック図である。
【符号の説明】
１，１−０，１−１，…，１−ｎ  演算処理装置
２  命令発行部
３  演算処理装置内ネットワークユニット
４  主記憶装置内ネットワークユニット
５  メモリ
６，６−０，６−１，…，６−ｎ  主記憶装置
７  リクエスト制御部
８  リプライ制御部
９−０，…，９−ｍ，１６−０，…，１６−ｎ  入力ポート
１０−０，…，１０−ｍ  リクエスト入力バッファ
１１−０，…，１１−ｍ  リクエストＩＤ保持部
１２，１９  アービタ
１３−０，…，１３−ｎ，２０−０，…，２０−ｍ  セレクタ
１４−０，…，１４−ｎ  出力ポート制御部
１５−０，…，１５−ｎ，２１−０，…，２１−ｍ  出力ポート
１７−０，…，１７−ｎ  入力ポート制御部
１８−０，…，１８−ｎ  リプライ入力バッファ
２２−０，…，２２−ｎ  リプライ抑止用ポート
３１，３２，３３，３４  フィールド
１００  ネットワーク
Ａ  リプライ抑止要求／リプライ抑止解除要求
Ｓ１  オーバフロー状態判定ステップ
Ｓ２  リプライ抑止要求送出ステップ
Ｓ３  リプライ抑止リクエスト生成ステップ
Ｓ４  リプライ抑止リクエスト送信ステップ
Ｓ５  オーバフロー状態解消判定ステップ
Ｓ６  リプライ抑止解除要求送出ステップ
Ｓ７  リプライ抑止解除リクエスト生成ステップ
Ｓ８  リプライ抑止解除リクエスト送信ステップ
【図１】
2004362313.tif 000003
【図２】
2004362313.tif 000004
【図３】
2004362313.tif 000005
【図４】
2004362313.tif 000006
【図５】
2004362313.tif 000007
【図６】
2004362313.tif 000008