(57)【特許請求の範囲】
【請求項１】
複数のノードがノード間相互結合ネットワークにより結合され、該複数のノードの各々には、キャッシュメモリを含む少なくとも1つ以上のプロセッサと、主記憶を構成する少なくとも1つ以上のメモリ装置と、少なくとも1つ以上のＩ／Ｏ装置と、ノード制御装置とを有する主記憶共有型並列計算機であって、
該ノード制御装置は、 該プロセッサとのインタフェース部であるプロセッサユニットと、該メモリ装置とのインタフェース部であるメモリユニットと、該Ｉ／Ｏ装置とのインタフェース部であるＩ／Ｏユニットと、該ノード間相互結合ネットワークとのインタフェース部であるネットワークユニットとをノード内相互結合回路で結合した構成をとり、
前記プロセッサユニットは、自ノード内のプロセッサの発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求内の制御情報およびアドレス情報をデコードし該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路と、前記ネットワークユニットから受けたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に自ノード内のプロセッサのキャッシュ一致制御を行うキャッシュ一致制御回路とを有し、
前記Ｉ／Ｏユニットは、自ノード内のＩ／Ｏ装置が発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路を有し、
前記ネットワークユニットは、前記ノード内相互結合回路からうけたアクセス要求を前記ノード間相互結合ネットワークに転送する手段と、前記ノード間相互結合ネットワークから転送されたアクセス要求を前記ノード内相互結合回路に転送する手段を有し、
前記ノード内相互結合回路は、前記ノード間相互結合ネットワークから転送されたアクセス要求に付加されたキャッシュ一致制御フラグとノード番号とユニット番号により自ノード内のユニットが転送先であると指示されたとき該アクセス要求を当該ユニットに転送し、
前記ノード間相互結合ネットワークは、前記ネットワークユニットから受けたアクセス要求に付加されたキャッシュ一致制御フラグとノード番号により指示されたノードに該アクセス要求を転送することを特徴とする主記憶共有型並列計算機。
【請求項２】
前記プロセッサが発行したアクセス要求に付加されたノード番号が自ノードへのアクセスを示し、かつ前記キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、前記ノード間相互結合ネットワークを経由して該アクセス要求を他ノードに対してブロードキャストし、
前記プロセッサが発行したアクセス要求に付加されたノード番号が自ノードへのアクセスを示し、かつ該アクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御不要を示す場合には、該アクセス要求を前記ノード間相互結合ネットワークに出力せずに、前記ノード内相互結合回路から該アクセス要求に付加されたユニット番号が指示する自ノード内のユニットに直接転送することを特徴とする請求項１記載の主記憶共有型並列計算機。
【請求項３】
前記Ｉ／Ｏ装置が発行したアクセス要求に付加されたノード番号が自ノードへのアクセスを示し、かつ前記キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、前記ノード間相互結合ネットワークを経由して該アクセス要求を他ノードに対してブロードキャストし、
前記Ｉ／Ｏ装置が発行したアクセス要求に付加されたノード番号が自ノードへのアクセスを示し、かつ該アクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御不要を示す場合には、該アクセス要求を前記ノード間相互結合ネットワークに出力せずに、前記ノード内相互結合回路から該アクセス要求に付加されたユニット番号が指示する自ノード内のユニットに直接転送することを特徴とする請求項１記載の主記憶共有型並列計算機。
【請求項４】
前記プロセッサユニットおよび前記Ｉ／Ｏユニットには、それぞれ、アクセス要求に付加する前記キャッシュ一致制御フラグを設定するためのフラグ設定テーブルと、アクセス要求に付加する前記ノード番号および前記ユニット番号を設定するためのノードユニット番号設定テーブルと、該フラグ設定テーブルと該ノードユニット番号設定テーブルにより該アクセス要求に付加する該キャッシュ一致制御フラグと該ノード番号と該ユニット番号を生成し保持する手段と、該キャッシュ一致制御フラグと該ノード番号と該ユニット番号を用いて該アクセス要求を再構成する手段を有することを特徴とする請求項１記載の主記憶共有型並列計算機。
【請求項５】
前記ノード間相互結合ネットワークは、前記プロセッサあるいは前記Ｉ／Ｏ装置あるいは前記メモリ装置が発行するアクセス要求のアドレス部を転送する第１のクロスバスイッチと、該アクセス要求のデータ部を転送する第２のクロスバスイッチを含むことを特徴とする請求項１乃至５のいずれかに記載の主記憶共有型並列計算機。
【請求項６】
複数のノードがノード間相互結合ネットワークにより結合され、該複数のノードの各々には、キャッシュメモリを含む少なくとも1つ以上のプロセッサと、主記憶を構成する少なくとも1つ以上のメモリ装置と、少なくとも1つ以上のＩ／Ｏ装置と、ノード制御装置とを有する主記憶共有型並列計算機であって、
該ノード制御装置は、 該プロセッサとのインタフェース部であるプロセッサユニットと、該メモリ装置とのインタフェース部であるメモリユニットと、該Ｉ／Ｏ装置とのインタフェース部であるＩ／Ｏユニットと、該ノード間相互結合ネットワークとのインタフェース部であるネットワークユニットとをノード内相互結合回路で結合した構成をとり、
前記プロセッサユニットは、自ノード内のプロセッサの発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求内の制御情報およびアドレス情報をデコードし該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路と、前記ネットワークユニットから受けたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に自ノード内のプロセッサのキャッシュ一致制御を行うキャッシュ一致制御回路とを有し、
前記Ｉ／Ｏユニットは、自ノード内のＩ／Ｏ装置が発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路を有し、
前記ネットワークユニットは、前記ノード内相互結合回路からうけたアクセス要求を前記ノード間相互結合ネットワークに転送する手段と、前記ノード間相互結合ネットワークから転送されたアクセス要求を前記ノード内相互結合回路に転送する手段を有し、
前記ノード内相互結合回路は、前記ノード間相互結合ネットワークから転送されたアクセス要求に付加されたキャッシュ一致制御フラグとノード番号とユニット番号により該アクセス要求の転送先を指示するユニット指示回路と、該ユニット指示回路の指示により当該ノード内相互結合回路に接続されるユニットに該アクセス要求を転送する手段を有し、
前記ノード間相互結合ネットワークは、前記ネットワークユニットから送出されたアクセス要求に付加されたキャッシュ一致制御フラグとノード番号により該アクセス要求の転送先ノードを指示するノード指示回路と、該ノード指示回路の指示により該アクセス要求を転送する手段を有し、
前記プロセッサまたは前記Ｉ／Ｏ装置が発行するアクセス要求のうち、キャッシュ一致制御が必要なアクセス要求は複数ノードにブロードキャストし、キャッシュ一致制御が不要なアクセス要求は対象ノードのみに転送することを特徴とする主記憶共有型並列計算機のノード制御装置。
【請求項７】
前記ノード指示回路は、前記ネットワークユニットから送出されたアクセス要求に付加されたキャッシュ一致制御フラグおよびノード番号を保持する手段と、該アクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に、該アクセス要求を該ノード間相互結合ネットワークに接続する複数ノードにブロードキャストするための制御信号を生成する手段と、該アクセス要求に付加された該キャッシュ一致制御フラグがキャッシュ一致制御不要を示す場合に、該ノード番号で示されるノードのみに転送するための制御信号を生成する手段を有することを特徴とする請求項６記載の主記憶共有型並列計算機。
【請求項８】
前記ノード指示回路は、該ノード間相互結合ネットワークに接続する複数ノードのそれぞれのキャッシュ一致制御要否を示す情報を設定する手段を有し、キャッシュ一致制御が必要な該アクセス要求が転送された場合にも、該設定情報により指示されるキャッシュ一致制御不要な該ノードには該キャッシュ一致制御が必要な該アクセス要求を転送しないことを特徴とする主記憶共有型並列計算機。
【請求項９】
複数のノードがノード間相互結合ネットワークにより結合され、該複数のノードの各々には、キャッシュメモリを含む少なくとも1つ以上のプロセッサと、主記憶を構成する少なくとも1つ以上のメモリ装置と、少なくとも1つ以上のＩ／Ｏ装置と、ノード制御装置とを有する主記憶共有型並列計算機の各々のノードに設けられるノード制御装置であって、
該プロセッサとのインタフェース部であるプロセッサユニットと、該メモリ装置とのインタフェース部であるメモリユニットと、該Ｉ／Ｏ装置とのインタフェース部であるＩ／Ｏユニットと、該ノード間相互結合ネットワークとのインタフェース部であるネットワークユニットとをノード内相互結合回路で結合した構成をとり、
前記プロセッサユニットは、自ノード内のプロセッサの発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求内の制御情報およびアドレス情報をデコードし該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路と、前記ネットワークユニットから受けたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に自ノード内のプロセッサのキャッシュ一致制御を行うキャッシュ一致制御回路とを有し、
前記Ｉ／Ｏユニットは、自ノード内のＩ／Ｏ装置が発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求の対象となるメモリユニットあるいはＩ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路を有し、
前記ネットワークユニットは、前記ノード内相互結合回路からうけたアクセス要求を前記ノード間相互結合ネットワークに転送する手段と、前記ノード間相互結合ネットワークから転送されたアクセス要求を前記ノード内相互結合回路に転送する手段を有し、
前記ノード内相互結合回路は、前記ノード間相互結合ネットワークから転送されたアクセス要求に付加されたキャッシュ一致制御フラグとノード番号とユニット番号により該アクセス要求の転送先を指示する経路指示回路と、該経路指示回路の指示により当該ノード内相互結合回路に接続されるユニットに該アクセス要求を転送する手段を有し、
前記プロセッサまたは前記Ｉ／Ｏ装置が発行するアクセス要求のうち、キャッシュ一致制御が必要なアクセス要求は複数ノードにブロードキャストし、キャッシュ一致制御が不要なアクセス要求は対象ノードのみに転送することを特徴とする複数ノードを転送することを特徴とする主記憶共有型並列計算機のノード制御装置。
【請求項１０】
前記プロセッサユニットおよび前記Ｉ／Ｏユニットは、アクセス要求に付加する前記キャッシュ一致制御フラグを設定するためのフラグ設定テーブルと、該アクセス要求に付加するノード番号およびユニット番号を設定するためのノードユニット番号設定テーブルと、該フラグ設定テーブルと該ノードユニット番号設定テーブルにより該アクセス要求に付加する該キャッシュ一致制御フラグと該ノード番号と該ユニット番号を生成し保持する手段と、該キャッシュ一致制御フラグと該ノード番号と該ユニット番号を用いて該アクセス要求を再構成する手段を有することを特徴とする請求項９記載のノード制御装置。
【請求項１１】
前記該経路指示回路は、自ノード番号を保持する手段と、前記ノード間相互結合ネットワークから転送されたアクセス要求に付加されたノード番号と自ノード番号を比較する比較手段と、比較結果が一致のとき該アクセス要求に付加された前記キャッシュ一致制御フラグと前記ユニット番号と該比較手段の比較結果により転送経路を制御する制御情報を生成する手段を有することを特徴とする請求項１０記載のノード制御装置。
【請求項１２】
前記ノード内相互結合回路は、該ノード内のプロセッサの発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求に、該アクセス要求内の制御情報およびアドレス情報をデコードし該アクセス要求の対象となる該メモリユニットあるいは該Ｉ／Ｏユニットのノード番号およびユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグを付加するユニット間アドレスデコード回路を有する請求項１０記載のノード制御装置。
【請求項１３】
キャッシュメモリを有するプロセッサとメモリ装置とＩ／Ｏ装置のいずれかを組み合わせて構成する複数のノードをノード間相互結合ネットワークにより結合する主記憶共有型並列計算機であって、
該ノードは、プロセッサあるいはＩ／Ｏ装置が発行したアクセス要求に、キャッシュの一致制御を行うかどうかを示すキャッシュ一致制御フラグと、転送の対象ノードであるノード番号を付加する手段を有し、
該ノード間相互結合ネットワークは、該アクセス要求に付加された該キャッシュ一致制御フラグと該ノード番号により、該アクセス要求の転送先を指示する経路指示回路を有し、
該経路指示回路は、いずれかのノードから転送された該アクセス要求に付加された該キャッシュ一致制御フラグおよび該ノード番号を保持する手段と、該保持手段により保持した該キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に、該アクセス要求をキャッシュを有する全ノードに対して転送する手段と、該保持手段により保持した該キャッシュ一致制御フラグはキャッシュ一致制御不要を示す場合に、該アクセス要求に付加された該ノード番号が示す該ノードに対して、該アクセス要求を転送する手段を有し、
あるプロセッサまたはあるＩ／Ｏ装置の発行するアクセス要求を、キャッシュ一致制御が必要であるアクセス要求の場合は発行元のノードからキャッシュを有する複数のノードに対して転送し、キャッシュ一致制御が不要であるアクセス要求は、対象ノードのみに転送することを特徴とする主記憶共有型並列計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高性能を実現するため複数のプロセッサを用いて構成するマルチプロセッサシステムに関する。
【０００２】
【従来の技術】
主記憶共有型並列計算機を実現する方法として、複数ノードを単一のバスにより結合する技術はよく知られている。単一のバスを用いて複数ノードを結合したシステムは安価で単純に構成できるが、接続したノード間でデータを転送するパスが一つしか存在しないため、ノード台数を拡張してシステム全体の性能を向上させようとしてもデータバスがボトルネックとなり、性能が向上しない。
【０００３】
この問題を解決するために、メモリ装置やＩ／Ｏ装置のアクセス要求（アドレス）の転送にはバスを用いて、データの転送にはクロスバスイッチを用いる方法が提案されている。
【０００４】
1995年のCOMCON95プロシーディング第102頁から第109頁の「RISCシステム/6000SMPシステム」では、アドレスの転送にはバスを用いて、高スループットが要求されるデータの転送にはクロスバスイッチを採用したシステムが提案されている（第１の公知例）。
【０００５】
一般に、アドレスの転送にバスを用いた主記憶共有型並列計算機では、ノードに含まれるキャッシュメモリとメモリ装置とのデータコヒーレンシを維持する方法としてアドレススヌープ方式を用いている。アドレススヌープ方式では、バスに接続するすべてのノード間のデータコヒーレンスを維持するために、アドレスをブロードキャストする。
【０００６】
上記のシステムではデータの転送にバスに代えてクロスバスイッチを採用することによりデータスループットを向上することができるが、アドレスの転送には従来と同じ単一のバスを用いているため、データスループットの向上に見合った効率のよいアドレススヌープ方式を実現できない。
【０００７】
アドレスの転送に単一のバスを使用した場合のバスネックを解決するために、1998年のMICRO January/February第39頁から第49頁の「STARFIRE : extending the SMP Envelop」において、アドレスの転送には多重バスを用いるシステムが紹介されている（第２の公知例）。
【０００８】
上記のシステムでは、4本のアドレスバスを使用することにより、4つのアドレススヌープを並行して行うことができる。物理アドレス空間は4つに分割され、各アドレスバスは異なる物理アドレス空間を同時にスヌープできる。
【０００９】
第２の公知例のようにアドレスの転送に多重バスを用いることにより、単一のバスよりも効率のよいアドレススヌープを実現できる。
【００１０】
しかしながら、第１および第２の公知例では、アドレス転送にバスを使用するため、キャッシュメモリとメモリ装置のデータコヒーレンスをとる必要のない場合にもアドレスバス使用の権利を確保する必要があり、アドレスバスを効率よく使用することができない。
【００１１】
この問題点を解決するために、特開平09-138783において、アドレスバスを廃止し、アドレスをデータ用のクロスバスイッチに転送するシステムにおいて、キャッシュメモリとメモリ装置のデータコヒーレンスをとる必要のない場合に、転送の対象となるノードのみにアドレスを転送することを可能とするシステムが紹介されている（第３の公知例）。
【００１２】
【発明が解決しようとする課題】
第２の公知例のようにアドレスの転送に多重バスを用いることにより、単一のバスよりも効率のよいアドレススヌープを実現できるが、多重バスを用いたとしても、ノード台数が多い場合にはクロスバスイッチによるデータ転送スループット向上に見合ったアドレススヌープのスループットを確保できない。
【００１３】
第３の公知例では、アドレスバスを廃止し、アドレスとデータを一つのクロスバスイッチを通して転送しているため、アドレススヌープのスループットを確保できない。
【００１４】
この問題点を解決するためには、アドレスの転送にもデータと同様クロスバスイッチを採用する必要がある。
【００１５】
第２の公知例では、各ノードがキャッシュメモリを含むプロセッサだけでなく、メモリ装置およびＩ／Ｏ装置で構成され、キャッシュメモリとメモリとのデータコヒーレンスをとる必要がある場合、アドレスバスを使用するための権利を確保し、アドレスをブロードキャストする。一方、データコヒーレンスをとる必要のない場合にも、アドレスバスを使用するためのバス権を確保しなければならないため、アドレスバスの使用効率が低下する。
【００１６】
この問題点を解決するために、キャッシュメモリとメモリとのデータコヒーレンスをとる必要のない場合には、転送の対象となるノードのみにアドレスを転送する必要がある。
【００１７】
また、第２の公知例では、各ノードがキャッシュメモリを含むプロセッサだけでなく、メモリ装置やＩ／Ｏ装置を持つ構成であるが、実際のシステムでは各ノードの構成が異なる場合がある。そのような場合、データコヒーレンス不要なノードに対して、データコヒーレンスをとるためのアドレスを転送する必要はない。アドレスの転送は、データコヒーレンスの必要なノードに対してのみ行われればよく、1対全転送（ブロードキャスト）だけではなく、1対多転送（マルチキャスト）を行うための手段を設ける必要がある。
【００１８】
本発明の第１の課題は、アドレスの転送にもバスではなくクロスバスイッチを採用し、各ノード間のアドレススヌープをクロスバスイッチを介して行うことで、クロスバスイッチ接続のデータ転送スループットに見合うスケーラブルなアドレススヌープのスループットを確保することにある。
【００１９】
本発明の第２の課題は、各ノードがキャッシュメモリを含むプロセッサ、メモリ装置とＩ／Ｏ装置を持ち、アドレスおよびデータの転送にそれぞれ別系のクロスバスイッチを使用したシステムにおいて、キャッシュメモリとメモリとのデータコヒーレンスをとる必要がある場合には、クロスバスイッチに接続する全ノードに対してアドレスをブロードキャストし、必要のない場合には転送の対象となるノードのみにアドレスを1対１転送することで、アドレスクロスバに対する不必要なアドレス転送を削減することにある。
【００２０】
本発明の第3の課題は、第２の課題に加え、キャッシュメモリとメモリとのデータコヒーレンシをとる必要がなく、かつ転送の対象が同じノード内のメモリあるいはＩ／Ｏ装置である場合には、アドレスをクロスバスイッチに送出せずに、クロスバ内のアドレス転送を削減することにある。
【００２１】
本発明の第４の課題は、異なるノード構成を持つ主記憶共有型並列計算機において、データコヒーレンスの必要のないノードにはアドレスを転送しない効率のよいアドレススヌープ方式を提供することにある。
【００２２】
【発明を解決するための手段】
本発明の第１の課題は、アドレスの転送にもバスではなくクロスバスイッチを採用し、各ノードのアドレスパス、データパスそれぞれを別々のクロスバスイッチで結合することにより解決できる。
【００２３】
本発明の第２の課題は、ノード間をアドレス用およびデータ用のクロスバスイッチにより結合し、各ノードにはデータコヒーレンスの要否を示す情報と転送の対象であるノードに関する情報をアクセス要求に付加する手段を設け、さらにノード間相互結合ネットワーク内には、ノードから転送された上記の情報に従って、データコヒーレンスをとる必要がある場合にはノード間相互結合ネットワークに接続する全ノードに対してアドレスをブロードキャストし、必要のない場合には転送の対象となるノードのみにアドレスを1対１転送する手段を設けることで解決できる。
【００２４】
本発明の第3の課題は、第２の課題を解決する手段に加えて、ノード内に、アクセス要求先が自ノード内のメモリあるいはＩ／Ｏ装置である場合には、アドレスをノード間相互結合ネットワークに送出しない手段を設けることで解決できる。
【００２５】
本発明の第４の課題は、ノード間相互結合ネットワーク内部に、接続している各ノードがデータコヒーレンスの必要のないノードかどうかを示す情報を保持する手段と、この情報を元にアクセス先ノードを決定する手段を設けることで解決できる。
【００２６】
各ノードのアドレパス、データパスそれぞれをクロスバスイッチで結合することにより、アクセス先が異なっている限り、複数のアドレス転送、データ転送を並行して実行することができるため、クロスバスイッチ接続のデータ転送スループットに見合うスケーラブルなアドレススヌープのスループットを確保できる。
【００２７】
また、アクセス要求にキャッシュメモリとメモリとのデータコヒーレンス要否を示す情報および転送の対象ノードを示す情報を付加し、その情報に従ってノード間相互結合ネットワークを制御することにより、データコヒーレンスをとる必要のない場合には転送の対象となるノードのみにアドレスを1対１転送することができ、アドレスクロスバに対する不必要なアドレス転送を削減できる。
【００２８】
さらに、アクセス要求に付加された情報に従って、ノード内の転送制御をも行うことにより、アクセス要求先が同じノード内のメモリあるいはＩ／Ｏ装置である場合にはノード間相互結合ネットワークにはアドレスを送出する必要がなくなり、ノード間相互結合ネットワーク内のアドレス転送を削減できる。
【００２９】
ノード間相互結合ネットワーク内部に保持された、各ノード毎のデータコヒーレンス要否の情報により、データコヒーレンスの必要のないノードにはアドレスを転送しなくてもよいため、不必要なアドレス転送を排除し、アドレス系ノード間相互結合ネットワークの実効スループットを向上できる。
【００３０】
【発明の実施の形態】
以下、本発明に係る主記憶共有型並列計算機を図面に示した実施の形態を参照してさらに詳細に説明する。
【００３１】
図１に、本発明における主記憶共有型並列計算機の概略構成を示す。図中、１００〜１０３はノード、２００はノード間相互結合ネットワークである。ノード１００〜１０３は、ノード間相互結合ネットワーク２００に接続し、ノード間相互結合ネットワーク２００を介して、ノード間でデータの授受を行う。本実施例で想定しているノード間相互結合ネットワークはバスではなくクロスバスイッチであるが、それに限定されるものではない。また、ノード間相互結合ネットワークにおいて、アクセス要求のアドレス部を転送するアドレスパスおよびアクセス要求のデータ部を転送するデータパスはクロスバスイッチで構成されているものとする。アドレスパスおよびデータパスは、それぞれ物理的に別系のクロスバスイッチで結合してもよいし、同じクロスバスイッチで共用してもよい。
【００３２】
ノード１００は、プロセッサ１１０〜１１３、プロセッサバス１２０、Ｉ／Ｏ装置１３０、メモリ装置１４０、ノード制御装置１５０で構成する。ノード１０１〜１０３はノード１００と同じ構成であるため、ここでは説明を省略する。また、本実施例ではノードが4プロセッサを含む例を示しているが、プロセッサ数は４に限定されない。ノード数についても４つに限定されない。
【００３３】
プロセッサ１１０〜１１３は、それぞれ内部にキャッシュメモリを含む。キャッシュメモリは、自ノードおよび他ノードのメモリに格納されているデータをキャッシングする。ノード間制御装置１５０は、プロセッサ１１０〜１１３からのアクセス要求をＩ／Ｏ装置１３０あるいはメモリ装置１４０あるいはノード間相互結合ネットワーク２００に転送する。プロセッサバス１２０は、複数のプロセッサを接続する。
【００３４】
ノード制御装置１５０は、プロセッサ１１０〜１１３のインタフェース部であるプロセッサユニット３００、Ｉ／Ｏ装置１７０とのインタフェース部であるＩ／Ｏユニット４００、メモリ装置１９０とのインタフェース部であるメモリユニット５００、ノード間相互結合ネットワーク４００とのインタフェース部であるネットワークユニット６００と、各ユニットを結合するノード内相互結合回路９００で構成する。
【００３５】
プロセッサユニット３００は、ユニット間アドレスデコード回路３１０、ユニット内アドレスデコード回路３２０、キャッシュ一致制御回路３３０で構成する。ユニット間アドレスデコード回路３１０は、プロセッサ１１０〜１１３の発行するメモリアクセス要求あるいはＩ／Ｏアクセス要求内部のトランザクション情報およびアドレス情報をデコードし、アクセス要求の対象となるノード番号、ユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグをアクセス要求に付加して、ノード内相互結合回路９００に転送する。ユニット内アドレスデコード回路３２０は、ノード内相互結合回路９００を経由して転送されるアクセス要求のアドレス情報をデコードして、アクセス要求発行元プロセッサに送出する。キャッシュ一致制御回路３３０は、ネットワークユニット６００から転送されたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合にプロセッサ１１０〜１１３のキャッシュ一致制御を行う。
【００３６】
Ｉ／Ｏユニット４００は、ユニット間アドレスデコード回路４１０とユニット内アドレスデコード回路４２０で構成する。ユニット間アドレスデコード回路４１０は、Ｉ／Ｏ装置の発行するメモリアクセス要求またはＩ／Ｏアクセス要求内のトランザクション情報およびアドレス情報をデコードし、アクセス要求の対象となるノード番号、ユニット番号およびキャッシュ一致制御の要否を示すキャッシュ一致制御フラグをアクセス要求に付加して、ノード内相互結合回路９００に転送する。ユニット内アドレスデコード回路４２０は、ノード内相互結合回路９００を経由して転送されるアクセス要求のアドレス情報をデコードして、該当するアクセス要求発行元Ｉ／Ｏ装置に送出する。
【００３７】
メモリユニット５００は、ノード内相互結合回路９００から転送されるアクセス要求をメモリ装置１４０に転送し、アクセス要求内のアドレス情報をデコードし、メモリ装置１４０から必要なデータを読み出しノード内相互結合回路９００に転送する。また、ノード内相互結合回路９００からの転送されたアクセス要求のアドレスに従ってメモリ装置１４０にデータを書き込む。
【００３８】
ネットワークユニット６００は、ノード内相互結合回路９００からアクセス要求が伝達された場合、その要求をノード間相互結合ネットワーク２００に転送する。 また、ノード間相互結合ネットワーク２００からアクセス要求が伝達されると、その要求をノード内相互結合回路９００に転送する。
【００３９】
ノード内相互結合回路９００は、経路指示回路１０００で構成し、経路指示回路１０００は付加情報保持部１００１〜１００３とセレクタ制御部１０３１〜１０３４を有する。経路指示回路１０００内の付加情報保持部１００１〜１００３は、プロセッサユニット３００から転送されたアクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号を保持する。セレクタ制御部は、付加情報保持部１００１〜１００３に保持した付加情報からアクセス要求の転送先ユニットを選択する。
【００４０】
キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、ネットワークユニット６００に対して、アクセス要求を送出する。キャッシュ一致制御不要を示す場合には、ユニット番号が示すユニットにアクセス要求を送出する。また、Ｉ／Ｏユニット４００から転送されたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、ネットワークユニット６００に対してアクセス要求を送出する。キャッシュ一致制御不要であれば、ユニット番号が示すユニットにアクセス要求を送出する。さらに、ネットワークユニットから転送されたアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、そのアクセス要求をプロセッサユニット３００に転送する。また、キャッシュ一致制御不要であれば、そのアクセス要求はノード内相互結合回路９００から転送されない。さらに、アクセス要求に付加されたノード番号が自ノードへの要求であれば、ノード内相互結合回路９００を介してユニット番号に対応するユニットにも転送する。
【００４１】
ノード間相互結合ネットワーク２００は、経路指示回路１３００で構成する。経路指示回路１３００は、各ノードから転送されたアクセス要求に付加されたキャッシュ一致制御フラグおよびノード番号に従って、いずれかのノードにアクセ要求を転送する。経路指示回路１３００は、付加情報保持部１３０１〜１３０４、ノード番号選択回路１３１１〜１３１４、ブロードキャスト回路１３２０を有する。経路指示回路１３００内の付加情報保持部１３０１〜１３０４は、各ノードから転送されたアクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号を保持する。ノード番号選択回路１３１１〜１３１４およびブロードキャスト回路１３２０は、付加情報保持部１３０１〜１３０４に保持したキャッシュ一致制御フラグおよびノード番号を使用して、アクセス要求を全ノードあるいは特定ノードに転送する。
【００４２】
各ノードからのアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、そのアクセス要求を全ノードに対してブロードキャストする。キャッシュ一致制御不要を示す場合には、アクセス要求に付加されたノード番号に対応するノードに対してアクセス要求を転送する。
【００４３】
本実施の形態では、各プロセッサあるいはＩ／Ｏ装置がアクセス要求を発行した場合に、ユニット間アドレスデコード回路３１０あるいは４１０においてアクセス要求のトランザクション情報およびアドレス情報をデコードし、キャッシュ一致制御フラグおよび転送の対象であるノード番号およびユニット番号を付加することに特徴がある。
【００４４】
また、アクセス要求の付加情報（キャッシュ一致制御フラグおよびノード番号、ユニット番号）を付加情報保持部１００１および１２０１に保持し、付加情報保持部１００１および１２０１に保持した情報に従ってノード内相互結合回路９００およびノード間相互結合回路１２００を制御することに特徴がある。
【００４５】
より具体的には、プロセッサ１１０〜１１３あるいはＩ／Ｏユニット１３０からのアクセス要求の付加情報であるキャッシュ一致制御フラグの内容がキャッシュ一致制御要を示す場合には、アクセス要求をノード内相互結合回路９００、ネットワークユニット６００を介してノード間相互結合ネットワーク２００に送出し、ノード間相互結合ネットワーク２００から全ノードに対してブロードキャストする。また、プロセッサ１１０〜１１３あるいはＩ／Ｏユニット１３０からのアクセス要求に付加されたキャッシュ一致制御フラグの内容がキャッシュ一致制御不要を示し、かつ付加情報内ノード番号が自ノードを示す場合、アクセス要求をノード内相互結合回路９００を介して、付加情報内ユニット番号が示すユニットに送出し、ネットワークユニット６００には送出しない。また、プロセッサ１１０〜１１３あるいはＩ／Ｏユニット１３０からのアクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御不要を示し、かつ付加情報内のノード番号が他ノードを示す場合、アクセス要求をノード内相互結合回路９００、ネットワークユニット６００を介してノード間相互結合ネットワーク２００に送出する。ノード間相互結合ネットワーク２００はネットワークユニットから転送されたアクセス要求に付加されたノード番号に対応するノードのみに、アクセス要求を送出する。
【００４６】
ノード間相互結合ネットワーク２００からネットワークユニット６００を経由してノード内相互結合回路９００に転送されたアクセス要求は、付加情報内キャッシュ一致制御フラグの内容がキャッシュ一致制御要を示す場合に、プロセッサユニット３００に送出し、キャッシュ一致制御回路３４０においてキャッシュ一致制御を行う。キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合で、かつ付加情報内ノード番号が自ノードを示す場合には、プロセッサユニット３００にキャッシュ一致制御要求を転送すると共に、付加情報内ユニット番号が示すユニットに対してアクセス要求を送出する。キャッシュ一致制御フラグの内容がキャッシュ一致制御不要を示し、かつ付加情報内ノード番号が自ノードを示す場合には、ノード内相互結合回路９００を介して、付加情報内ユニット番号が示すユニットにアクセス要求を送出する。
【００４７】
図２に、本実施の形態におけるアドレス空間割り当ての例を示す。本実施の形態では、００番地以上Ａ０番地未満の領域がノード１００のメモリ装置１４０に、Ａ０番地以上Ｂ０番地未満の領域がノード１０１のメモリ装置に、Ｂ０番地以上Ｃ０番地未満の領域がノード１０２のメモリ装置に、Ｃ０番地以上Ｄ０番地未満の領域がノード１０３のメモリ装置に割り当てられている。ノード１００のメモリ空間は、さらにプロセッサ１１０〜１１３のメモリ空間に分割され、００番地以上０１番地未満の領域がプロセッサ１１０のメモリ空間、０１番地以上０２番地未満の領域がプロセッサ１１１のメモリ空間、０２番地以上０３番地未満の領域がプロセッサ１１２のメモリ空間、０３番地以上０４番地未満の領域がプロセッサ１１３のメモリ空間として割り当てられている。ノード１０１〜１０３のメモリ空間についても同様に割り当てられている。Ｄ０番地以上はＩ／Ｏ空間として割り当てらている。Ｉ／Ｏ空間のアドレスもノード対応、プロセッサ対応に割り当てられており、Ｄ０番地以上Ｅ０番地未満の領域はノード１００のＩ／Ｏ空間として、Ｅ０番地以上Ｆ０番地未満の領域はノード１０１のＩ／Ｏ空間として、Ｆ０番地以上Ｇ０番地未満の領域はノード１０２のＩ／Ｏ空間として、Ｇ０番地以上ＭＡＸ番地未満の領域はノード１０３のＩ／Ｏ空間として割り当てられている。ノード１００のＩ／Ｏ空間は、さらにノード１００内のプロセッサ１１０〜１１３のＩ／Ｏ空間に割り当てられる。ノード１０１〜１０３内プロセッサのＩ／Ｏ空間についても同様に割り当てられる。
【００４８】
図３に、本実施の形態におけるアクセス要求の例を示す。３−１にアクセス要求のフォーマットを示す。リード要求の場合、(a)に示すように、アクセス要求はその種類を示すトランザクション（Ｔｘ）情報とアクセス先アドレスにより構成する。リード応答およびライト要求の場合、(b)に示すように、Ｔｘ情報、アクセス先アドレスおよびデータにより構成する。３−２に、アクセス要求種とそのＴｘ情報を示す。アクセス要求は、キャッシュ一致制御要リード要求、キャッシュ一致制御要ライト要求、キャッシュ一致制御不要リード要求、キャッシュ一致制御不要ライト要求、リード応答の5種類であり、各アクセス要求対応にＴｙｐｅ１〜５のＴｘ情報が設定されている。
【００４９】
上記アドレス空間の割りつけ方およびアクセス要求の種類は、本発明に特有のものではなく、一般的に用いられている方法である。
【００５０】
次に、図４に、本発明の特徴であるノード制御装置１５０内のプロセッサユニット３００の内部構成および動作について説明する。
【００５１】
プロセッサユニット３００は、プロセッサインタフェース３４０、ノード内相互結合回路インタフェース３５０、ユニット間アドレスデコード回路３１０、ユニット内アドレスデコード回路３２０、キャッシュ一致制御回路３３０、キャッシュ一致制御フラグ設定テーブル３６０、ノードユニット番号設定テーブル３７０で構成される。
【００５２】
本発明では、ユニット間アドレスデコード回路３１０およびキャッシュ一致制御回路３３０、キャッシュ一致制御フラグ設定テーブル３６０、ノードユニット番号設定テーブル３７０が新規である。
【００５３】
プロセッサインタフェース３４０は、プロセッサ１１０〜１１３からのアクセス要求をプロセッサバス１２０を介して受け取り、アクセス要求の返答（メモリやＩ／Ｏ装置の読み出し結果）や、他ノードからのキャッシュ一致制御要求をプロセッサバス１２０を介してプロセッサ１１０〜１１３に伝達する。
【００５４】
ノード内相互結合回路インタフェース３５０は、ノード内の他ユニットからのアクセス要求やノード間相互結合ネットワーク２００からのアクセス要求をノード内相互結合回路９００を介して受け取り、プロセッサユニット３００から伝達されるアクセス要求をノード内相互結合回路９００に伝達する。
【００５５】
ユニット間アドレスデコード回路３１０は、アクセス要求保持部３１１とアクセス要求解析部３１２、付加情報生成部３１３、アクセス要求再構成部３１４、アクセス要求送出部３１５で構成する。アクセス要求保持部３１１は、プロセッサインタフェース３４０を介して、プロセッサバス１２０から転送されるアクセス要求のＴｘ情報とアドレスを保持する。アクセス要求解析部３１２は、アクセス要求保持部３１１に保持したＴｘ情報とアドレスをデコードする。付加情報生成部３１３は、アクセス要求解析部３１２でデコードした結果と、キャッシュ一致制御フラグ設定テーブル３６０およびノードユニット番号設定テーブル３７０の内容を比較し、付加情報であるキャッシュ一致制御フラグ、ノード番号、ユニット番号を生成する。アクセス要求再構成部３１４は、付加情報生成部３１３にて生成した付加情報をアクセス要求に付加し、アクセス要求を再構成する。アクセス要求送出部３１５は、アクセス要求をノード内相互結合回路インタフェース３５０に送出する。
【００５６】
本発明では、ユニット間アドレスデコード回路３１０のうち、付加情報生成部３１３とアクセス要求再構成部３１４が新規である。
【００５７】
キャッシュ一致制御フラグ設定テーブル３６０は、各アクセス要求のＴｘ情報対応に、キャッシュ一致制御が必要かどうかを示すキャッシュ一致制御フラグを設定するテーブルである。図５にＴｘ情報とキャッシュ一致制御フラグの内容を示す。図５に示すように、キャッシュ一致制御が必要なアクセス要求の場合、キャッシュ一致制御フラグには１が、キャッシュ一致制御が不要なアクセス要求の場合、キャッシュ一致制御フラグには０がセットされる。
【００５８】
ノードユニット番号設定テーブル３７０は、各アクセス要求のアドレス対応に、ノード番号およびユニット番号を設定するテーブルである。図６にアドレスの範囲とそれに対応するノード番号およびユニット番号を示す。さらに、ノード番号およびユニット番号が示すノードおよびユニットを示す。本発明のアドレス空間は図２に示すように設定されている。アクセス要求のアドレスが００番地以上Ａ０番地未満である場合、ノード番号、ユニット番号は０および１となり、それぞれ図１に示すノード１００、メモリユニット５００を示す。
【００５９】
キャッシュ一致制御フラグ設定テーブル３６０およびノードユニット番号設定テーブル３７０は、それぞれシステムの立ち上げ時に設定する。
【００６０】
本発明では、キャッシュ一致制御フラグ設定テーブル３６０とノードユニット番号設定テーブルが新規である。
【００６１】
図７にユニット間アドレスデコード回路３１０の内部構成を示す。
【００６２】
アクセス要求保持部３１１は、アクセス要求からＴｘ情報、アドレス、データを保持するレジスタ７０１、７０２、７０３を有する。
【００６３】
アクセス要求解析部３１２は、レジスタ７０１および７０２に保持したＴｘ情報およびアドレスをデコードするアドレスデコード回路７１０を有する。
【００６４】
付加情報生成部３１３は、アドレスデコード回路７１０においてデコードしたＴｘ情報とキャッシュ一致制御フラグ設定テーブル３６０を用いてキャッシュ一致制御フラグを生成するフラグ生成回路７２０と、アドレスデコード回路７１０においてデコードしたアドレスとノードユニット番号設定テーブル３７０を用いてノード番号およびユニット番号を生成するノードユニット番号生成回路７２１と、生成したキャッシュ一致制御フラグ、ノード番号、ユニット番号をそれぞれ保持するレジスタ７２２、７２３、７２４を有する。
【００６５】
アクセス要求再構成部３１４は、付加情報生成部３１３のレジスタ７２２、７２３、７２４およびアクセス要求保持部のレジスタ７０１、７０２、７０３の内容を用いてアクセス要求を再構成し、アクセス要求送出部３１５に伝達する。
【００６６】
本発明では、キャッシュ一致制御フラグ設定テーブル３６０とＴｘ情報を用いてキャッシュ一致制御フラグを生成するフラグ生成回路７２０と、ノードユニット番号設定テーブル３７０とアドレスを用いてノード番号およびユニット番号を生成するノードユニット番号生成回路７２１が新規である。また、キャッシュ一致制御フラグ、ノード番号、ユニット番号を保持するレジスタ７２２、７２３、７２４も新規である。
【００６７】
ユニット内アドレスデコード回路３１０は、アクセス要求保持部３２１、アドレス解析部３２２、アクセス要求送出部３２３で構成される（図４参照）。アクセス要求保持部３２１は、ノード内相互結合回路インタフェース３５０を介して伝達されるアクセス要求の付加情報とアドレスを保持する。アドレス解析部３２２は、アクセス要求保持部３２１に保持したアドレスをデコードし、デコード内容から該当するプロセッサに対してアクセス要求を送出する。アクセス要求送出部３１５はアクセス要求再構成部３１４から転送されたアクセス要求をノード内相互結合回路９００に転送する。
【００６８】
キャッシュ一致制御回路３３０は、付加情報解析部３３１とキャッシュ一致制御要求発行部３２２で構成される。付加情報解析部３３１は、アクセス要求保持部３２１に保持した付加情報のうちのキャッシュ一致制御フラグの内容をチェックし、キャッシュ一致制御フラグがキャッシュ一致制御要を示す場合には、キャッシュ一致制御要求発行部３３２からキャッシュ一致制御要求をプロセッサに対して伝達する。
【００６９】
次に、本発明の特徴であるノード制御装置１５０内のＩ／Ｏユニット４００の構成について図８を用いて説明する。
【００７０】
Ｉ／Ｏユニット４００は、Ｉ／Ｏインタフェース８４０、ノード内相互結合回路インタフェース８５０、ユニット間アドレスデコード回路８１０、ユニット内アドレスデコード回路８２０、キャッシュ一致制御フラグ設定テーブル３６０、ノードユニット番号設定テーブル３７０で構成する。
【００７１】
Ｉ／Ｏユニット４００では、図４に示すプロセッサインタフェース３４０がＩ／Ｏインタフェース８５０に置き換わり、キャッシュ一致制御回路３３０を持たない構成である。その他の構成は同じであるため、説明は省略する。
【００７２】
本発明では、Ｉ／Ｏユニット４００内のユニット間アドレスデコード回路８１０、キャッシュ一致制御フラグ設定テーブル８６０、ノードユニット番号設定テーブル８７０が新規である。
【００７３】
Ｉ／Ｏインタフェース８４０は、Ｉ／Ｏユニットからのアクセス要求を受け取り、アクセス結果をＩ／Ｏ装置に伝達する。
【００７４】
ユニット間アドレスデコード回路８１０およびユニット内アドレスデコード回路８２０、キャッシュ一致制御フラグ設定テーブル８６０、ノードユニット番号設定テーブル８７０の構成および動作はプロセッサユニット３００のユニット間アドレスデコード回路３１０およびユニット内アドレスデコード回路３２０、キャッシュ一致制御フラグ設定テーブル３６０、ノードユニット番号設定テーブル３７０の構成および動作と同じであるため、ここでは説明を省略する。
【００７５】
図９に、各ユニット間を接続するノード内相互結合回路９００の構成を示す。ノード内相互結合回路９００は、入力バッファ９０１〜９０４、経路指示回路１０００とセレクタ９２１〜９２４、出力バッファ９３１〜９３４で構成する。入力バッファ９０１〜９０４は、各ユニットから転送されたアクセス要求を格納する。経路指示回路１０００は、いずれかのユニットから転送されたアクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号を付加情報保持部１００１〜１００３に保持し、セレクタ制御部１０３１〜１０３４において保持した情報から転送すべきユニットを選択し，信号線９２１Ｓ、９２２Ｓ、９２３Ｓ、９２４Ｓにセレクト信号を出す。セレクタ９２１〜９２４は信号線９２１Ｓ、９２２Ｓ、９２３Ｓ、９２４Ｓにより制御され、いずれかのユニットから転送されたアクセス要求を選択し、出力バッファ９３１〜９３４に出力する。出力バッファ９３１〜９３４は、セレクタ９２１〜９２４により選択されたアクセス要求を保持し、いずれかのユニットに対して出力する。
【００７６】
本発明では、経路指示回路１０００をアクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号により制御する点が新規である。
【００７７】
次に、図１０に経路指示回路１０００の内部構成を示す。経路指示回路１０００は、付加情報保持部１００１〜１００３、アクセス要求元情報保持部１０１０、自ノード番号保持部１０２０、セレクタ制御部１０３１〜１０３４、調停回路１０９１〜１０９４で構成する。
【００７８】
本発明では、経路指示回路１０００内のアクセス要求に付加された情報を保持する付加情報保持部１００１〜１００３、自ノード番号を保持する自ノード番号保持部１０２０、付加情報の内容に従ってセレクタ制御信号を生成するセレクタ制御部１０３１〜１０３４が新規である。
【００７９】
付加情報保持部１００１〜１００３は、アクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号を保持するレジスタ１０４０〜１０４８を有する。また、アクセス要求元情報保持部１０１０は、メモリユニット５００に対してアクセス要求を出したノードおよびユニット番号を保持するレジスタ１０５０、１０５１を有する。自ノード番号保持部１０２０は、自ノード番号を保持するレジスタ１０６０を有する。自ノード番号保持部１０２０内レジスタの値は、システム起動時に設定する。
【００８０】
セレクタ制御部１０３１〜１０３４は、ノード番号一致判定回路１０７１〜１０７４、セレクタ制御信号出力部１０８１〜１０８４で構成する。
【００８１】
ノード番号一致判定回路１０７１〜１０７４は、付加情報保持部１００１〜１００３内のレジスタ１０４１、１０４４、１０４７、アクセス要求転送元情報保持部１０１０内レジスタ１０５０に保持した内容と、自ノード番号保持部１０２０内レジスタ１０６０に保持した内容を比較し、比較結果をセレクタ制御部１０８１〜１０８４に出力する。アクセス要求に付加されたノード番号と自ノード番号が一致した場合にはセレクタ制御信号出力部１０８１〜１０８４に信号を出力する。
【００８２】
セレクタ制御信号出力部１０８１〜１０８４は、ノード番号一致判定回路１０７１〜１０７４の出力結果と、付加情報保持部１００１〜１００３内レジスタ１０４０、１０４３、１０４６に保持したキャッシュ一致制御フラグの値と、レジスタ１０４２、１０４５、１０４８に保持したユニット番号と、アクセス要求転送元情報保持部１０１０内レジスタ１０５１の内容から信号線９２１Ｓ〜９２４Ｓにセレクト信号を伝達する。
【００８３】
本発明では、アクセス要求に付加したキャッシュ一致制御フラグ、ノード番号、ユニット番号を用いて、いずれのユニットにアクセス要求を転送するかを示すセレクト信号を生成するセレクタ制御信号出力部１０８１〜１０８４が新規である。
【００８４】
調停回路１０９１〜１０９４は、セレクタ制御部１０３１から伝達された複数のセレクタ信号間の調停を行う。
【００８５】
図１１に、セレクタ制御信号出力部１０８１〜１０８４におけるアクセス要求転送元ユニットに対するセレクト信号出力先ユニットを示す。
【００８６】
図１１に示すように、アクセス要求転送元ユニットがプロセッサユニット３００で、キャッシュ一致制御フラグが０、かつノード番号一致判定回路１０７１の出力結果が０の場合は、キャッシュ一致制御不要な他ノードへのアクセス要求であるからネットワークユニットにアクセス要求を転送する。
【００８７】
アクセス要求転送元ユニットがプロセッサユニット３００で、キャッシュ一致制御フラグが０、かつノード番号一致判定回路１０７１の出力結果が１の場合は、キャッシュ一致制御が不要な自ノードへのアクセス要求であるからユニット番号が示すユニットにアクセス要求を転送する。
【００８８】
アクセス要求転送元ユニットがプロセッサユニット３００で、キャッシュ一致制御フラグが１、かつノード番号一致判定回路１０７１の出力結果が０の場合は、キャッシュ一致制御が必要な他ノードへのアクセス要求であるからネットワークユニットにアクセス要求を転送する。
【００８９】
アクセス要求転送元ユニットがプロセッサユニット３００で、キャッシュ一致制御フラグが１、かつノード番号一致判定回路１０７１の出力結果が１の場合は、キャッシュ一致制御が必要な自ノードへのアクセス要求であるからネットワークユニットおよびユニット番号が示すユニットの両方にアクセス要求を転送する。
【００９０】
アクセス要求転送元ユニットがＩ／Ｏユニット４００である場合は、アクセス要求転送元ユニットがプロセッサユニットである場合と同様である。
【００９１】
アクセス要求転送元ユニットがネットワークユニット６００で、キャッシュ一致制御フラグが０、かつノード番号一致判定回路１０７５の出力結果が０の場合は、キャッシュ一致制御不要な他ノードへのアクセス要求であるからアクセス要求を転送しない。
【００９２】
アクセス要求転送元ユニットがネットワークユニット６００で、キャッシュ一致制御フラグが０、かつノード番号一致判定回路１０７５の出力結果が１の場合は、キャッシュ一致制御が不要な自ノードへのアクセス要求であるからユニット番号が示すユニットにアクセス要求を転送する。
【００９３】
アクセス要求転送元ユニットがネットワークユニット６００で、キャッシュ一致制御フラグが１、かつノード番号一致判定回路１０７５の出力結果が０の場合は、キャッシュ一致制御が必要な他ノードへのアクセス要求であるからプロセッサユニットにアクセス要求を転送する。
【００９４】
アクセス要求転送元ユニットがネットワークユニット６００で、キャッシュ一致制御フラグが１、かつノード番号一致判定回路１０７５の出力結果が１の場合は、キャッシュ一致制御が必要な自ノードへのアクセス要求であるからプロセッサユニットおよびユニット番号が示すユニットの両方にアクセス要求を転送する。
【００９５】
アクセス要求転送元ユニットがメモリユニット５００であるのは、メモリアクセス要求に対するメモリ装置１４０からのデータ読み出しの場合である。ノード番号一致判定回路１０７６の出力結果が１の場合は、メモリから読み出したデータを自ノードのアクセス要求元ユニットに返送する。アクセス要求元ユニットがメモリユニット５００で、ノード番号一致判定回路１０７６の出力結果が０の場合は、メモリから読み出したデータのアクセス要求発行ノードが他ノードであるため、ネットワークユニットにアクセス要求を転送する。
【００９６】
次に、ノード間相互結合ネットワーク２００の構成について説明する。ノード間相互結合ネットワーク２００の概略構成を図１２に示す。図１２に示すノード間相互結合ネットワー２００は図９に示すノード内相互結合回路１００と同様な構成である。但し、ノード間相互結合ネットワーク２００における経路指示回路１３００と図９における経路指示回路１０００の内部構成は異なるため、ここでは経路指示回路１３００の内部構成について説明する。
【００９７】
本発明では、アクセス要求に付加されたキャッシュ一致制御フラグとノード番号に従って、ノード間相互結合ネットワーク２００を制御する点が新規である。
【００９８】
図１３にノード間相互結合ネットワーク２００における経路指示回路１３００の内部構成を示す。
【００９９】
経路指示回路１３００は、付加情報保持部１３０１〜１３０４、ノード番号選択回路１３１〜１３１４、ブロードキャスト回路１３２０、ＯＲ回路１３５１〜１３５４、調停回路１３６１〜１３６４で構成する。
【０１００】
本発明では、アクセス要求に付加された情報を保持する付加情報保持部１３０１〜１３０４、キャッシュ一致制御フラグの内容により制御するノード番号選択回路１３１１〜１３１４、ブロードキャスト回路１３２０が新規である。
【０１０１】
ノード番号選択回路１３１１〜１３１４により、キャッシュ一致制御フラグの値が０である、すなわちキャッシュ一致制御不要なアクセス要求は、転送の対象であるノードに直接転送される。キャッシュ一致制御フラグの値が１である、すなわちキャッシュ一致制御が必要なアクセス要求は、全ノードに対してブロードキャストされる。
【０１０２】
付加情報保持部１３０１〜１３０３は、レジスタ１３３０〜１３３７にアクセス要求に付加されたキャッシュ一致制御フラグ、ノード番号を保持する。
【０１０３】
ノード番号選択回路１３１１〜１３１４は、付加情報保持部１３０１〜１３０３内のレジスタ１３３０〜１３３７に保持したキャッシュ一致制御フラグとノード番号を入力とするＡＮＤ回路１３４１〜１３４４を有する。 ＡＮＤ回路１３４１〜１３４４は、キャッシュ一致制御フラグの値が０である場合に、ノード番号に対応する調停回路に調停要求信号を伝達する。
【０１０４】
ブロードキャスト回路１３２０は、付加情報保持部１３０１〜１３０４内のレジスタ１３３０、１３３２、１３３４、１３３６に保持したキャッシュ一致制御フラグに１がセットされている場合に、その中から一つを選択し、全調停回路に調停要求信号を伝達する。
【０１０５】
ＯＲ回路１３５１〜１３５４は、ノード番号選択回路１３１１〜１３１４あるいはブロードキャスト回路１３２０からの調停要求信号を調停回路１３６１〜１３６４のいずれかに伝達する。
【０１０６】
調停回路１３６１〜１３６４は、ＯＲ回路１３５１〜１３５４からの調停要求信号を受け、アクセス要求の調停を行い、信号線１２２１Ｓ〜１２２４Ｓにセレクト信号を出力する。
【０１０７】
次に、本発明におけるアクセス要求の流れを各図を用いて説明する。以下の3種類のアクセス要求
（１）他ノードに対するキャッシュ一致制御要リード要求（アクセス要求１）
（２）他ノードに対するキャッシュ一致制御不要ライト要求（アクセス要求２）（３）自ノードに対するキャッシュ一致制御不要リード要求（アクセス要求３）を例にとり説明する。他の種類のアクセス要求の流れは、上記のアクセス要求の流れとほぼ同じであるため、ここでは説明を省略する。
【０１０８】
最初に、図１におけるノード１００のプロセッサ１１０がアドレスＣ１に対してキャッシュ一致制御要リード要求（アクセス要求１）を発行した場合について説明する。アドレスＣ１はノード１０３のアドレス空間であるため、アクセス要求１は、他ノードに対するキャッシュ一致制御要リード要求である。プロセッサ１１０のキャッシュには、アドレスＣ１のデータはキャッシングされていないものとする。また、各ノードは、連続した物理番号を持ち、ノード１００は０、ノード１０１は１、ノード１０２は２、ノード３とする。さらに、ノード内の各ユニットも連続した物理番号を持ち、プロセッサユニット３００は０、メモリユニット５００は１、Ｉ／Ｏユニット４００は２、ネットワークユニット６００は３とする。
【０１０９】
プロセッサ１１０が発行したアクセス要求１はプロセッサバス１２０を介してノード制御装置１５０に転送される。ノード制御装置１５０は、アクセス要求１は、図４に示すプロセッサインタフェース３４０を介してユニット間アドレスデコード回路３１０に転送する。
【０１１０】
ユニット間アドレスデコード回路３１０は、図７に示すアクセス要求保持部３１１において、アクセス要求１のＴｘ情報、アドレスをレジスタ７０１、７０２に保持する。アクセス要求１はリード要求であるため、レジスタ７０３には何も保持しない。
【０１１１】
アクセス要求解析部３１２はレジスタ７０１および７０２に保持したＴｘ情報およびアドレスをアドレスデコード回路７１０によりデコードし、デコード結果を付加情報生成部３１３に転送する。
【０１１２】
付加情報生成部３１３は、フラグ生成回路７２０において、デコードしたＴｘ情報とあらかじめ設定されているキャッシュ一致制御フラグ設定テーブル３６０から、キャッシュ一致制御フラグを生成し、レジスタ７２２に保持する。アクセス要求１はキャッシュ一致制御要リード要求であるから、図３よりＴｘ情報はＴｙｐｅ１となり、さらに図５よりＴｙｐｅ１のアクセス要求のキャッシュ一致制御フラグは１であるから、レジスタ７２２に１を保持する。さらに、付加情報生成部３１３は、ノードユニット番号生成回路７２１において、デコードしたアドレスとあらかじめ設定されているノードユニット番号設定テーブル３７０から、アクセス要求転送先のノード番号およびユニット番号を生成し、レジスタ７２３、７２４に保持する。アクセス要求１のアドレスはＣ１であるから、図６より、ノード番号は３、ユニット番号は１となり、レジスタ７２３、７２４にそれぞれ３、１を保持する。
【０１１３】
アクセス要求再構成部３１４は、レジスタ７２２、７２３、７２４、およびレジスタ７０１、７０２に保持した内容を用いてアクセス要求を再構成する。アクセス要求再構成部３１４において、アクセス要求１には、キャッシュ一致制御フラグ１、ノード番号３、ユニット番号１という情報が付加される。付加情報を有するアクセス要求はノード内相互結合回路９００に転送される。
【０１１４】
図９に示すように、ノード内相互結合回路９００は、プロセッサユニットから転送されたアクセス要求１を入力バッファ９０１に保持する。経路指示回路１０００は、付加情報保持部１００１のレジスタ１０４０〜１０４２に、アクセス要求１に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号をそれぞれ保持する。セレクタ制御部１０３１は、ノード番号一致判定回路１０７１において、自ノード番号とレジスタ１０４１に保持したノード番号を比較する。自ノード番号は０、レジスタ１０４１に保持したノード番号は３であるから比較結果は不一致（０）となる。セレクタ制御信号出力部１０８１は、レジスタ１０４０に保持したキャッシュ一致フラグとノード番号一致判定回路１０７１の比較結果とレジスタ１０４２に保持したユニット番号により、どのユニットにアクセス要求１を転送すればよいかを決定する。図１１の対応表から、アクセス要求転送元ユニットはプロセッサユニット、キャッシュ一致制御フラグは１、ノード番号一致判定回路１０７１の出力は０であるから、ネットワークユニット６００に対してアクセス要求１を転送する。ネットワークユニット６００は、アクセス要求１をノード間相互結合ネットワーク２００に送出する。
【０１１５】
図１２に示すように、ノード間相互結合ネットワーク２００は、経路指示回路１３００の指示により、アクセス要求１を該当するノードに対して転送する。図１３に示すように、経路指示回路１３００は、アクセス要求１に付加されたキャッシュ一致制御フラグおよびノード番号を付加情報保持部１３０１内のレジスタ１３３０、１３３１に保持する。レジスタ１３３０、１３３１は、それぞれ、１、３を保持する。レジスタ１３３０の値は１であるから、ノード番号選択回路１３１１は動作せず、ブロードキャスト回路１３２０が動作する。ブロードキャスト回路１３２０は、全調停回路１３６１〜１３６４に対して調停要求信号を送出し、その結果、図１２に示す全セレクタはノード１００からのアクセス要求１をノード間相互結合ネットワーク２００に接続する全ノードに対して出力する。
【０１１６】
アクセス要求１はノード１００、１０１、１０２、１０３に転送される。
【０１１７】
次にノード１０１および１０３に転送されたアクセス要求１の流れについて説明する。最初にノード１０１に転送されたアクセス要求１の流れについて説明する。図１に示すように、ノ−ド内アクセス要求１はネットワ−クユニット６００を介してノ−ド内相互結合回路９００に転送される。
【０１１８】
ノード内相互結合回路９００は、入力バッファ９０３にアクセス要求１を保持する。経路指示回路１０００は、付加情報保持部１００３内レジスタ１０４６〜１０４８にそれぞれキャッシュ一致制御フラグ、ノード番号、ユニット番号を保持する。このとき、レジスタ１０４６、１０４７、１０４８にはそれぞれ、１、３、１を保持する。セレクタ制御部１０３３は、ノード番号一致判定回路１０７３において、自ノード番号とレジスタ１０４７に保持したノード番号を比較する。自ノード番号は１、レジスタ１０４１に保持したノード番号は３であるから比較結果は不一致（０）となる。セレクタ制御信号出力部１０８３は、レジスタ１０４６に保持したキャッシュ一致フラグとノード番号一致判定回路１０７３の比較結果とレジスタ１０４８に保持したユニット番号により、どのユニットにアクセス要求１を転送すればよいかを決定する。図１１に示す対応表から、アクセス要求転送元ユニットはネットワークユニット、キャッシュ一致制御フラグは１、ノード番号一致判定回路の出力は０であるから、プロセッサユニットに対してアクセス要求１を転送する。
【０１１９】
図４に示すプロセッサユニット３００は、ユニット内アドレスデコード回路３２０およびキャッシュ一致制御回路３３０にアクセス要求１を転送する。キャッシュ一致制御回路３３０は、アクセス要求１に付加されたキャッシュ一致制御フラグが１であるから、キャッシュ一致制御要求をプロセッサに対して発行し、キャッシュ一致制御を行う。キャッシュ一致制御方法は、従来技術と何ら変わりないため、ここでは説明を省略する。
【０１２０】
次にノード１０３に転送されたアクセス要求１の流れについて説明する。図１に示すように、アクセス要求１はネットワークユニット６００を介してノード内相互結合回路９００に転送される。ノード内相互結合回路９００は、入力バッファ９０３にアクセス要求１を保持する。経路指示回路１０００は、付加情報保持部１００３内レジスタ１０４６〜１０４８にそれぞれキャッシュ一致制御フラグ、ノード番号、ユニット番号を保持する。キャッシュ一致制御フラグ、ノード番号、ユニット番号はそれぞれ、１、３、１であるから、レジスタ１０４６、１０４７、１０４８にはそれぞれ１、３、１を保持する。セレクタ制御部１０３３は、ノード番号一致判定回路１０７３において、自ノード番号とレジスタ１０４７に保持したノード番号を比較する。自ノード番号は３、レジスタ１０４１に保持したノード番号は３であるから比較結果は一致（１）となる。これは自ノードへのアクセス要求を示す。セレクタ制御信号出力部１０８３は、レジスタ１０４６に保持したキャッシュ一致フラグとノード番号一致判定回路１０７３の比較結果とレジスタ１０４８に保持したユニット番号により、どのユニットにアクセス要求１を転送すればよいかを決定する。図１１に示す対応表から、アクセス要求転送元ユニットはネットワークユニット、キャッシュ一致制御フラグは１、ノード番号一致判定回路の出力は１であるから、プロセッサユニットおよびユニット番号の示すユニット（メモリユニット）に対してアクセス要求１を転送する。
【０１２１】
図４に示すプロセッサユニット３００は、ユニット内アドレスデコード回路３２０およびキャッシュ一致制御回路３３０にアクセス要求１を転送する。キャッシュ一致制御回路３３０は、アクセス要求１に付加されたキャッシュ一致制御フラグが１であるから、キャッシュ一致制御要求をプロセッサに対して発行し、キャッシュ一致制御を行う。
【０１２２】
メモリユニット５００は、アクセス要求１のアドレスに従って、メモリ装置１４０からデータを読み出す。読み出したデータはアクセス要求１の返答としてノード１００に返送される。
【０１２３】
次に、図１におけるノード１００のプロセッサ１１０がアドレスＣ１に対してキャッシュ一致制御不要ライト要求（アクセス要求２）を発行した場合について説明する。アドレスＣ１は、ノード１０３のアドレス空間であるから、アクセス要求２も、他ノードへのアクセスとなる。プロセッサ１１０のキャッシュには、アドレスＣ１のデータはキャッシングされていないものとする。また、各ノードは、連続した物理番号を持ち、ノード１００は０、ノード１０１は１、ノード１０２は２、ノード３とする。また、各ノード内のユニットも連続した物理番号を持ち、プロセッサユニットは０、メモリユニットは１、Ｉ／Ｏユニットは２、ネットワークユニットは３とする。
【０１２４】
プロセッサ１１０が発行したアクセス要求２はプロセッサバス１２０を介してノード制御装置１５０に転送される。ノード制御装置１５０は、アクセス要求２は、図４に示すプロセッサインタフェース３４０を介してユニット間アドレスデコード回路３１０に転送する。
【０１２５】
ユニット間アドレスデコード回路３１０は、図７に示すアクセス要求保持部３１１において、アクセス要求２のＴｘ情報、アドレス、データをレジスタ７０１、７０２、７０３に保持する。
【０１２６】
アクセス要求解析部３１２はレジスタ７０１、７０２に保持したＴｘ情報およびアドレスをアドレスデコード回路７１０によりデコードし、デコード結果を付加情報生成部３１３に転送する。
【０１２７】
付加情報生成部３１３は、フラグ生成回路７２０において、デコードしたＴｘ情報とあらかじめ設定されているキャッシュ一致制御フラグ設定テーブル３６０から、キャッシュ一致制御フラグを生成し、レジスタ７２２に保持する。アクセス要求２のＴｘ情報はＴｙｐｅ４であるため（図３参照）、キャッシュ一致制御フラグに０を設定し（図５参照）レジスタ７２２に０を保持する。さらに、付加情報生成部３１３は、ノードユニット番号生成回路７２１においてデコードしたアドレスと、あらかじめ設定されているノードユニット番号設定テーブル３７０から、アクセス要求転送先のノード番号およびユニット番号を生成し、レジスタ７２３、７２４に保持する。アクセス要求２のアドレスはＣ１であるから、図６に示すノードユニット番号設定テーブルから、ノード番号は３、ユニット番号は１となり、レジスタ７２３、７２４にはそれぞれ３、１を保持する。
【０１２８】
アクセス要求再構成部３１４は、レジスタ７２２、７２３、７２４、およびレジスタ７０１、７０２、７０３に保持した内容を用いてアクセス要求２を再構成する。アクセス要求再構成部３１４において、アクセス要求２には、キャッシュ一致制御フラグ１、ノード番号３、ユニット番号２という情報が付加される。付加情報を有するアクセス要求２はノード内相互結合回路９００に転送される。
【０１２９】
図９に示すように、ノード内相互結合回路９００は、プロセッサユニット３００から転送されたアクセス要求２を入力バッファ９０１に保持する。図１０に示す経路指示回路１０００は、付加情報保持部１００１のレジスタ１０４０〜１０４２に、アクセス要求２に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号をそれぞれ保持する。レジスタ１０４０、１０４１、１０４２はそれぞれ０、３、１を保持する。セレクタ制御部１０３１は、ノード番号一致判定回路１０７１において、自ノード番号とレジスタ１０４１に保持したノード番号を比較する。自ノード番号は０、レジスタ１０４１に保持したノード番号は３であるから比較結果は不一致（０）となる。セレクタ制御信号出力部１０８１は、レジスタ１０４０に保持したキャッシュ一致フラグと、ノード番号一致判定回路１０７１の比較結果とレジスタ１０４２に保持したユニット番号により、どのユニットにアクセス要求２を転送すればよいかを決定する。図１１の対応表から、アクセス要求転送元ユニットはプロセッサユニット、キャッシュ一致制御フラグは０、ノード番号一致判定回路１０７１の出力は０であるから、ネットワークユニット６００に対してアクセス要求２を転送する。ネットワークユニット６００は、アクセス要求２をノード間相互結合ネットワーク２００に送出する。
【０１３０】
図１２に示すノード間相互結合ネットワーク２００は、経路指示回路１３００の指示により、アクセス要求２を該当するノードに対して転送する。図１３に示すように、経路指示回路１３００は、アクセス要求２に付加されたキャッシュ一致制御フラグおよびノード番号を付加情報保持部１３０１内のレジスタ１３３０、１３３１に保持する。ここで、レジスタ１３３０、１３３１に保持した値は、それぞれ、０、３である。レジスタ１３３０の値は０であるから、ノード番号選択回路１２１１が動作する。ノード番号選択回路１３１１は、調停回路１３６４に対して調停要求信号を送出し、その結果、図１２に示すセレクタ１２２４はノード１００からのアクセス要求２をノード１０３に対して出力する。
【０１３１】
次にノード１０３に転送されたアクセス要求２の流れについて説明する。
【０１３２】
図１に示すように、アクセス要求２はネットワークユニット６００を介してノード内相互結合回路９００に転送される。ノード内相互結合回路９００は、入力バッファ９０３にアクセス要求２を保持する。図１０に示す経路指示回路１０００は、付加情報保持部１００３内レジスタ１０４６〜１０４８にそれぞれキャッシュ一致制御フラグ、ノード番号、ユニット番号を保持する。キャッシュ一致制御フラグ、ノード番号、ユニット番号はそれぞれ、０、３、１であるから、レジスタ１０４６、１０４７、１０４８はそれぞれ０、３、１を保持する。セレクタ制御部１０３３は、ノード番号一致判定回路１０７３において、自ノード番号とレジスタ１０４７に保持したノード番号を比較する。自ノード番号は３、レジスタ１０４１に保持したノード番号は３であるから比較結果は一致（１）となる。セレクタ制御信号出力部１０８３は、レジスタ１０４６に保持したキャッシュ一致フラグとノード番号一致判定回路１０７３の比較結果とレジスタ１０４８に保持したユニット番号によりどのユニットにアクセス要求２を転送すればよいかを決定する。図１１に示す対応表から、アクセス要求転送元ユニットはネットワークユニット、キャッシュ一致制御フラグは０、ノード番号一致判定回路の出力は１であるから、ユニット番号のユニットのみにアクセス要求２を転送する。ユニット番号は１であるからメモリユニット５００に対してアクセス要求２を転送する。メモリユニット５００は、アクセス要求２内のアドレスに従って、メモリ装置１４０にデータを書き込み、処理を終了する。
【０１３３】
次に、図１におけるノード１００のプロセッサ１１０がアドレス０２に対してキャッシュ一致制御不要リード要求（以下、アクセス要求３）を発行した場合について説明する。アドレス０２は、ノード１００のアドレス空間であるから、アクセス要求３は、自ノードへのアクセスとなる。プロセッサ１１０のキャッシュには、アドレス０２のデータはキャッシングされていないものとする。
【０１３４】
プロセッサ１１０が発行したアクセス要求３はプロセッサバス１２０を介してノード制御装置１５０に転送される。ノード制御装置１５０は、アクセス要求３は、図４に示すプロセッサインタフェース３４０を介してユニット間アドレスデコード回路３１０に転送する。
【０１３５】
ユニット間アドレスデコード回路３１０は、図７に示すアクセス要求保持部３１１において、アクセス要求３のＴｘ情報、アドレスをレジスタ７０１、７０２に保持する。
【０１３６】
アクセス要求解析部３１２はレジスタ７０１、７０２に保持したＴｘ情報およびアドレスをアドレスデコード回路７１０によりデコードし、デコード結果を付加情報生成部３１３に転送する。
【０１３７】
付加情報生成部３１３は、フラグ生成回路７２０において、デコードしたＴｘ情報とあらかじめ設定されているキャッシュ一致制御フラグ設定テーブル３６０から、キャッシュ一致制御フラグを生成し、レジスタ７２２に保持する。アクセス要求３のＴｘ情報はＴｙｐｅ３であるため（図３参照）、キャッシュ一致制御フラグに０を設定し（図５参照）レジスタ７２２に０を保持する。さらに、付加情報生成部３１３は、ノードユニット番号生成回路７２１においてデコードしたアドレスと、あらかじめ設定されているノードユニット番号設定テーブル３７０から、アクセス要求転送先のノード番号およびユニット番号を生成し、レジスタ７２３、７２４に保持する。アクセス要求３のアドレスは０２であるから、図６に示すノードユニット番号設定テーブルから、ノード番号は０、ユニット番号は１となり、レジスタ７２３、７２４にはそれぞれ０、１を保持する。
【０１３８】
アクセス要求再構成部３１４は、レジスタ７２２、７２３、７２４およびレジスタ７０１、７０２に保持した内容を用いてアクセス要求３を再構成する。アクセス要求再構成部３１４において、アクセス要求３には、キャッシュ一致制御フラグ１、ノード番号０、ユニット番号１という情報が付加される。付加情報を有するアクセス要求３はノード内相互結合回路９００に転送される。
【０１３９】
図９に示すように、ノード内相互結合回路９００は、プロセッサユニット３００から転送されたアクセス要求３を入力バッファ９０１に保持する。図１０に示す経路指示回路１０００は、付加情報保持部１００１のレジスタ１０４０〜１０４２に、アクセス要求３に付加されたキャッシュ一致制御フラグ、ノード番号、ユニット番号をそれぞれ保持する。レジスタ１０４０、１０４１、１０４２はそれぞれ０、０、１を保持する。セレクタ制御部１０３１は、ノード番号一致判定回路１０７１において、自ノード番号とレジスタ１０４１に保持したノード番号を比較する。自ノード番号は０、レジスタ１０４１に保持したノード番号は０であるから比較結果は一致（１）となる。セレクタ制御信号出力部１０８１は、レジスタ１０４０に保持したキャッシュ一致フラグと、ノード番号一致判定回路１０７１の比較結果とレジスタ１０４２に保持したユニット番号により、どのユニットにアクセス要求３を転送すればよいかを決定する。図１１の対応表から、アクセス要求転送元ユニットはプロセッサユニット、キャッシュ一致制御フラグは０、ノード番号一致判定回路１０７１の出力は１であるから、ユニット番号１が示すユニット、ここではメモリユニット５００に対してアクセス要求３を転送する。メモリユニット５００は、転送されたアクセス要求３のアドレスに従って、メモリ装置１４０からデータを読み出し、プロセッサ１１０に返送する。
【０１４０】
以上のように、本実施例ではノード制御装置において、アクセス要求にキャッシュ一致制御が必要かどうかを示すフラグと、転送の対象となるノード番号およびユニット番号を付加し、その情報により、複数ノードを結合するノード間相互結合ネットワークを制御することで、キャッシュ一致制御が不要なアクセス要求を、ノード間相互結合ネットワークに接続する全ノードにブロードキャストせずに、ノード番号が指示するノードのみに直接転送することができるため、ノード間相互結合ネットワークの負荷を軽減し、使用効率を向上できる。
【０１４１】
また、ノード制御装置においてアクセス要求に付加した情報により、ノード内の各ユニットを結合するノード内相互結合回路も制御することで、キャッシュ一致制御不要で、かつ自ノード内のメモリおよびＩ／Ｏ装置に対するアクセス要求を、ノード間相互結合ネットワークに転送することなく、また、ノード内相互結合回路に接続する全ユニットにブロードキャストせずに、ユニット番号が指示するユニットのみに直接転送することができるため、ノード間相互結合ネットワークの負荷を軽減し使用効率を向上できるだけでなく、ノード内相互結合回路の負荷も軽減することができる。
【０１４２】
以上が、本発明に係わる実施の形態である。
【０１４３】
（実施の形態の変形例１）
本発明の別の変形例では、ノード１００〜１０３の構成がそれぞれ異なる。例えば、ノード１００およびノード１０１はプロセッサ１１０〜１１３、Ｉ／Ｏ装置１３０、メモリ装置１４０を有する。ノード１０２はメモリ装置１４０を有する。ノード１０３はプロセッサ１１０〜１１３およびＩ／Ｏ装置１３０を有する。
【０１４４】
ノード構成が異なる場合、キャッシュ一致制御が不要なノードには、アクセス要求を転送する必要がないため、ノード間相互結合ネットワーク２００の経路指示回路１３００のブロードキャスト回路１３２０内に、マルチキャストテーブル１４００を設ける。
【０１４５】
マルチキャストテーブル１４００を図１４に示す。マルチキャストテーブル１４００はシステム起動時にホストとなるノードにより設定し、ノード対応にキャッシュ一致制御が必要かどうかを示す。
【０１４６】
経路指示回路１３００では、アクセス要求に付加されたキャッシュ一致制御フラグがキャッシュ一致制御要を示す場合に、ブロードキャスト回路１３２０が動作する。ブロードキャスト回路１３２０は、マルチキャストテーブル１４００に従い、キャッシュ一致制御要であるノードにのみアクセス要求を転送するように、調停要求信号を出力する。
【０１４７】
（実施の形態の変形例２）
本発明の別の変形例では、ユニット間アドレスデコード回路３１０および４１０をプロセッサユニット３００およびＩ／Ｏユニット４００ではなく、ノード内相互結合回路９００に設ける。プロセッサユニットで３００およびＩ／Ｏユニット４００は、プロセッサおよびＩ／Ｏ装置が発行したアクセス要求をノード内相互結合回路９００に転送する。ノード間相互結合回路９００は、転送されたアクセス要求の制御情報およびアドレス情報をデコードし、キャッシュ一致制御フラグ、ノード番号、ユニット番号を生成し、アクセス要求を再構成して、経路指示回路１０００により指示されるユニットに転送する。
【０１４８】
【発明の効果】
本実施の形態によれば、キャッシュ一貫性制御が不要なアクセス要求を、ノード間相互結合ネットワークに接続する全ノードにブロードキャストせずに、特定ノードのみに直接転送することができるため、ノード間相互結合ネットワークの負荷を軽減し使用効率を向上できる。
【０１４９】
また、自ノード内のユニットを対象とし、キャッシュ一貫性制御が不要なアクセス要求であれば、ノード間相互結合ネットワークに転送せずに、自ノード内の対象ユニットのみに転送することができるため、ノード間相互結合ネットワークに対する負荷を軽減し使用効率を向上できるだけでなく、ノード内相互結合回路の負荷も軽減することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるマルチプロセッサの概略構成を示す図である。
【図２】本発明の実施の形態におけるマルチプロセッサのアドレス空間の割付を示す図である。
【図３】本発明の実施の形態におけるマルチプロセッサのアクセス要求フォーマットとアクセス要求の種類とトランザクション情報の対応付けを示す図である。
【図４】本発明の実施の形態におけるノード制御装置のプロセッサユニットの構成を示す図である。
【図５】本発明の実施の形態におけるトランザクション情報とキャッシュ一致制御フラグの対応付けを示す図である。
【図６】本発明の実施の形態におけるアドレス情報とノード番号およびユニット番号の対応付けを示す図である。
【図７】本発明の実施の形態におけるユニット間アドレスデコード回路の構成を示す図である。
【図８】本発明の実施の形態におけるノード制御装置のＩ／Ｏユニットの構成を示す図である。
【図９】本発明の実施の形態におけるノード内相互結合回路の構成を示す図である。
【図１０】本発明の実施の形態におけるノード内相互結合回路の経路指示回路の内部構成を示す図である。
【図１１】本発明の実施の形態におけるアクセス要求転送元ユニットに対するセレクト信号出力先ユニットを示す図である。
【図１２】本発明の実施の形態におけるノード間相互結合ネットワークの構成を示す図である。
【図１３】本発明の実施の形態におけるノード間相互結合ネットワークの経路指示回路の内部構成を示す図である。
【図１４】本発明の実施の形態におけるノード間相互結合ネットワークの経路指示回路のマルチキャストテーブルを示す図である。
【符号の説明】
１００〜１０３…ノード、２００…ノード間相互結合ネットワーク、１１０〜１１３…プロセッサ、１２０…プロセッサバス、１３０…Ｉ／Ｏ装置、１４０…メモリ装置、１５０…ノード制御装置、３００…プロセッサユニット、４００…Ｉ／Ｏユニット、５００…メモリユニット、６００…ネットワークユニット、９００…ノード内相互結合回路。
【図１】
0003959914.tif 000002
【図２】
0003959914.tif 000003
【図３】
0003959914.tif 000004
【図４】
0003959914.tif 000005
【図５】
0003959914.tif 000006
【図６】
0003959914.tif 000007
【図７】
0003959914.tif 000008
【図８】
0003959914.tif 000009
【図９】
0003959914.tif 000010
【図１０】
0003959914.tif 000011
【図１１】
0003959914.tif 000012
【図１２】
0003959914.tif 000013
【図１３】
0003959914.tif 000014
【図１４】
0003959914.tif 000015