(57)【要約】【課題】マルチプロセッサシステムにおける処理区画の組み替えや入出力要求の変更に応じて入出力装置の割り当てを変換テーブルの処理区画識別子及びトランザクション識別子を変換可能にする。【解決手段】処理区画を形成するマルチプロセッサシステムにおける入出力制御回路１４０は、トランザクションの入出先を管理するテーブル４１０を参照／更新するテーブル制御回路１６０と、トランザクションを入出力先にルーティングするルーティング制御回路１５０と、トランザクションの待ち行列を有して入出力装置の接続ポートに渡す入出力ポート制御回路１７０と、を備え、テーブル４１０は、処理区画の組み替え、あるいは入出力要求の変更の際に、コマンドトランザクションによって、処理区画がそれぞれ占有するエントリと、共有するエントリと、が設定される。【選択図】      図１
2004258985.tif 000002
【特許請求の範囲】
【請求項１】
システムバスと、
論理分割されて処理区画を形成する複数のプロセッサと、
前記処理区画に対応して論理分割されるメモリのキャッシュ／メモリコントローラと、
前記処理区画が発行するトランザクションを入出力制御回路に渡すバス制御回路と、
前記入出力制御回路からトランザクションを入出力先に渡す接続アダプタを複数実装するバススロットと、
を備えるマルチプロセッサシステムにおいて、
前記入出力制御回路は、
前記バス制御回路から受けたトランザクションをルーティングするルーティング制御回路と、
前記トランザクションの入出先を管理する変換テーブルを参照／更新するテーブル制御回路と、
入出力先に渡されるトランザクションの待ち行列を有し、前記待ち行列のトランザクションを入出力先の接続ポートに渡す入出力ポート制御回路と、
を備え、
前記変換テーブルは、
前記処理区画の組み替え、あるいは入出力要求の変更が生じるとき、前記処理区画が発行するトランザクションによって、前記処理区画と入出力先との対応付けを更新できることを特徴とするマルチプロセッサシステム。
【請求項２】
前記トランザクションは、
前記処理区画が発行するコマンドトランザクションあるいはデータトランザクションであることを示す識別子と、
トランザクション発行元の処理区画が指定する入出力先を示すトランザクション識別子と、
トランザクション発行元を示す処理区画識別子と、
前記テーブルのエントリを示すアドレスと、
入出力するデータと、
を含むことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項３】
前記変換テーブルは、
処理区画のプロセッサが発行する前記コマンドトランザクションによって更新される複数のエントリを有し、
前記エントリのそれぞれは、
処理区画によって使用中か、あるいは未使用かを示す識別子と、
特定の処理区画に割り当てられているか、あるいは処理区画に共有されているかを示す識別子と、
トランザクション発行元の処理区画が指定する入出力先を示すトランザクション識別子と、
前記入出力制御装置が指定する入出力先の接続アダプタに対応する変換後トランザクション識別子と、
を含むことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項４】
前記テーブル制御回路は、
前記変換テーブルと、
前記処理区画が発行する前記テーブルを更新するコマンドのトランザクションを前記ルーティング制御回路から受け取る処理区画識別情報制御回路と、
前記ルーティング制御回路あるいは入出力ポート制御回路がエントリを指すアドレスによって前記テーブルのエントリを参照し、前記トランザクション識別子を前記変換テーブルを参照して変換後トランザクション識別子に変換して前記入出力ポート制御回路に渡すコマンドトランザクションでもって、該当のエントリを更新するテーブル参照／更新回路と、
を含むことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項５】
前記トランザクション識別子は、
前記処理区画が発行するトランザクションの入出力先を示す識別子であることを特徴とする請求項５記載のマルチプロセッサシステム。
【請求項６】
前記変換後トランザクション識別子は、
前記処理区画が発行するトランザクションの入出力先を示す識別子を前記入出力制御回路で変換する入出力先の識別子であることを特徴とする請求項５記載のマルチプロセッサシステム。
【請求項７】
システムバスと、
論理分割されて処理区画を形成する複数のプロセッサと、
前記処理区画に対応して論理分割されるメモリのキャッシュ／メモリコントローラと、
前記処理区画が発行するトランザクションを入出力制御回路に渡すバス制御回路と、
前記入出力制御回路からトランザクションの入出力先に渡す接続アダプタを複数実装するバススロットと、
を備えるマルチプロセッサシステムの入出力制御方法において、
前記処理区画がデータの入出力、あるいは前記処理区画自身の組み替え、又は入出力要求の変更に伴う前記入出力装置の組み替え、が生じたとき、前記処理区画のプロセッサがトランザクションを前記入出力制御装置に発行するステップと、
前記トランザクションを受信して、コマンドトランザクションであるか、あるいはデータトランザクションであるかを判別するステップと、
前記判別結果がデータトランザクションであるとき、前記データトランザクションのアドレスが指定する前記入出力制御回路の変換テーブルのエントリを参照して、データトランザクション識別子を変換後データトランザクション識別子に変換するステップと、
変換された識別子が指定する入出力装置の接続アダプタに前記データトランザクションを転送するステップと、
前記データトランザクションを入出力装置に送付するステップと、
前記判別結果がコマンドトランザクションであるとき、前記変換テーブルにおける、前記処理区画に専用に割り当てられたエントリ、あるいは前記処理区画に共有に割り当てられたエントリ、に空きがあるかを探索するステップと、
前記空きエントリに前記処理区画の識別子及びトランザクション識別子を前記コマンドトランザクションによって設定し、前記エントリを前記処理区画に割り当てられた専用エントリにするステップと、
を実行することを特徴とするマルチプロセッサの入出力制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、論理分割されて処理区画を形成するマルチプロセッサシステムの入出力制御に関し、特に、処理区画が組み替えられる、あるいは処理区画の入出力要求が変更される際に、処理区画に対する入出力装置の割り当てを変更できるマルチプロセッサシステム及びその入出力制御方法に関する。
【０００２】
【従来の技術】
マルチプロセッサシステム（ｐａｒｔｉｔｉｏｎｅｄ  ｍｕｌｔｉｐｒｏｓｅｓｏｒ  ｓｙｓｔｅｍ）を論理分割して処理区画を形成し、各処理区画が個別にオペレーティングシステムを有して独立に動作する。そのとき、マルチプロセッサシステム内のリソースの割り振り、特に入出力装置を各処理区画に割り振る問題がある。この問題は、多種の入出力装置を実装する周辺装置接続（ＰＣＩ：ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｔｅｒｃｏｎｎｅｃｔ  以後ＰＣＩと略称）のＰＣＩアダプタを処理区画に対応して割り振って、専用させることと同じになる。
【０００３】
この発明のＰＣＩアダプタに相当するＰＣＩスロットを分割する仕方に、一つの処理区画が入出力制御装置を通じて入出力装置を使用する際、該処理区画に割り当てられたＰＣＩスロットをオンにし、他の処理区画に割り当てられたＰＣＩスロットをオフにする電界効果トランジスタによるスイッチを設けて、該処理区画のみが、オンのＰＣＩスロットを通じて、入出力装置にアクセスできるようにする制御を入出力制御装置にさせている。この仕方では、所与の時間にＰＣＩスロットを一つの処理区画に割り当てることができるので、入出力装置に対する競合を回避できる。しかし、処理区画が組み替えになる、あるいは入出力要求が変更されるなどの事態に応じて、ＰＣＩスロットの割り当てを更新する、あるいは専用に割り当てるＰＣＩスロットを変更する処理区画が並列動作中に実施することができない（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開２００１−２８２７５３  図１及び段落００４６
【０００５】
【発明が解決しようとする課題】
処理区画に分割して、各処理区画がオペレーティングシステムを独立に動作させるマルチプロセッサシステムにおいて、物理的に１つの入出力制御装置を各処理区画が共有し、かつその入出力制御装置がトランザクションを処理する機能を備えて、入出力装置を構成した場合、各処理区画の入出力要求の状態によって、入出力要求の偏りが生じ、特定の処理区画の入出力要求によって、全ての入出力装置が占められる事態が生じる。そこで、この発明では、各処理区画が組み替えられる、あるいは入出力要求に変更が生じるなどの事態に適応して、処理区画と入出力装置との対応付けを並列動作中に変更可能にして、入出力性能を保証する機構を入出力制御装置に備えさせる。
【０００６】
該機構を実現には、入出力制御回路に変換テーブルを設けることにある。該変換テーブルには、各処理区画に専用に割り当てられるＰＣＩアダプタと、共有に割り当てられるＰＣＩアダプタと、を設ける。各処理区画が発行するコマンドトランザクションによって、変換テーブルを更新して、ＰＣＩアダプタの割り当てを変更可能にする。更に、各処理区画が発行するデータトランザクションの識別子（以後ＴＸＩＤと略称）を、入出力装置が処理するＴＸＩＤ−Ａに変換し、処理区画が指定する入出力先と、入出力制御装置が指定する入出力先と、を対応付ける変換操作をする。
【０００７】
この発明の目的は、マルチプロセッサシステムにおける処理区画の組み替えや入出力要求の変更に応じて入出力装置の割り当てを、処理区画のプロセッサが発行するコマンドトランザクションによって、変換テーブルの処理区画識別子を並列動作中に変更することによって、入出力性能の低下を防止する。
【０００８】
更に、他の目的は、各処理区画が発行するＴＸＩＤを入出力装置のＴＸＩＤ−Ａに該変換テーブルによって変換することにより、入出力装置の割り当ての適応性を高めることにある。
【０００９】
【課題を解決するための手段】
そのため、この発明の、システムバスと、論理分割されて処理区画を形成する複数のプロセッサと、前記処理区画に対応して論理分割されるメモリのキャッシュ／メモリコントローラと、前記処理区画が発行するトランザクションを入出力制御回路に渡すバス制御回路と、前記入出力制御回路からトランザクションを入出力先に渡す接続アダプタを複数実装するバススロットと、を備えるマルチプロセッサシステムにおいて、前記入出力制御回路は、前記バス制御回路から受けたトランザクションをルーティングするルーティング制御回路と、前記トランザクションの入出先を管理する変換テーブルを参照／更新するテーブル制御回路と、入出力先に渡されるトランザクションの待ち行列を有し、前記待ち行列のトランザクションを入出力先の接続ポートに渡す入出力ポート制御回路と、を備え、前記変換テーブルは、前記処理区画の組み替え、あるいは入出力要求の変更が生じるとき、前記処理区画が発行するトランザクションによって、前記処理区画と入出力先との対応付けを更新できることを特徴とする。
【００１０】
更に、前記トランザクションは、前記処理区画が発行するコマンドトランザクションあるいはデータトランザクションであることを示す識別子と、トランザクション発行元の処理区画が指定する入出力先を示すトランザクション識別子と、トランザクション発行元を示す処理区画識別子と、前記テーブルのエントリを示すアドレスと、入出力するデータと、を含むことを特徴とする。
【００１１】
更に、前記変換テーブルは、処理区画のプロセッサが発行する前記コマンドトランザクションによって更新される複数のエントリを有し、前記エントリのそれぞれは、処理区画によって使用中か、あるいは未使用かを示す識別子と、特定の処理区画に割り当てられているか、あるいは処理区画に共有されているかを示す識別子と、トランザクション発行元の処理区画が指定する入出力先を示すトランザクション識別子と、前記入出力制御装置が指定する入出力先の接続アダプタに対応する変換後トランザクション識別子と、を含むことを特徴とする。
【００１２】
更に、前記テーブル制御回路は、前記変換テーブルと、前記処理区画が発行する前記テーブルを更新するコマンドのトランザクションを前記ルーティング制御回路から受け取る処理区画識別情報制御回路と、前記ルーティング制御回路あるいは入出力ポート制御回路がエントリを指すアドレスによって前記テーブルのエントリを参照し、前記トランザクション識別子を前記変換テーブルを参照して変換後トランザクション識別子に変換して前記入出力ポート制御回路に渡すコマンドトランザクションでもって、該当のエントリを更新するテーブル参照／更新回路と、を含むことを特徴とする。
【００１３】
更に、前記トランザクション識別子は、前記処理区画が発行するトランザクションの入出力先を示す識別子であることを特徴とする。
【００１４】
更に、前記変換後トランザクション識別子は、前記処理区画が発行するトランザクションの入出力先を示す識別子を前記入出力制御回路で変換する入出力先の識別子であることを特徴とする。
【００１５】
この発明の作用において、変換テーブルの各エントリに処理区画識別子を新たに付加している。処理区画識別子の番号の指定があると、該番号の処理区画用のエントリであることを規定する。例えば、「００１」は処理区画１０１のエントリ、「０１０」は処理区画１０２のエントリ、「０１１」は処理区画１０３のエントリ、「１００」は処理区画１０４のエントリであることを示す。「０００」は、全処理区画に共有のエントリを示す。この共有の識別子によって、共有エントリから各処理区画の専用エントリを確保し、該専用エントリを参照して、データトランザクションの入出力先が決定される。また、処理区画の組み替えや入出力要求の変更される際に、コマンドトランザクションによって、処理区画識別子を更新し、専用エントリを設けて要求に適応する。テーブル制御回路の変換テーブル内の処理区画識別子が、処理区画識別情報制御回路を通じて、該コマンドトランザクションがテーブル参照／更新回路に渡されて、書き換えられる。
【００１６】
【発明の実施の形態】
この発明について、図面を参照して説明する。発明の実施の形態を具体的に示す図１を参照すると、処理区画に分割して並列動作可能な４つのプロセッサ１０１，１０２，１０３，１０４がシステムバス１１０に接続されている。システムバスには、他にキャッシュ／メモリコントローラ１２０と、入出力制御装置１４０と、システムバス１１０のインターフェースとなるバス制御回路１３０と、を備えるマルチプロセッサシステムである。
【００１７】
キャッシュ／メモリコントローラ１２０は、処理区画に論理的に対応して、４個に分割し、メモリ１２１，１２２，１２３，１２４が個別領域化されている。
【００１８】
バス制御回路１３０は、システムバス１１０を通じて、処理区画のプロセッサからのトランザクションを入出力制御装置１４０に渡す。
【００１９】
入出力制御回路１４０は、トランザクションをルーティングするためのルーティング制御回路１５０と、トランザクションをテーブルで管理するテーブル制御回路１５０と、トランザクションをバススロット１８０に実装される複数のＰＣＩアダプタ１８１乃至１８５に送るための入出力ポート制御回路１７０と、を備える。図１におけるバススロット１８０には、ＰＣＩアダプタ１８１，１８２，１８３，１８４，１８５の５枚が実装されている。
【００２０】
図１に例示するマルチプロセッサシステムを４つの処理区画２０１乃至２０４に分割して、それぞれの処理区画２０１乃至２０４が独立なオペレーティングシステムの下で動作可能に分割した処理区画を例示する図４を参照すると、処理区画２０１は、プロセッサ１０１と、メモリ１２１と、ＰＣＩアダプタ１８１と、が割り当てられ、処理区画２０２は、プロセッサ１０２と、メモリ１２２と、ＰＣＩアダプタ１８２と、が割り当てられ、処理区画２０３は、プロセッサ１０３と、メモリと１２３と、ＰＣＩアダプタ１８３と、が割り当てられ、処理区画２０４は、プロセッサ１０４と、メモリ１２４と、ＰＣＩアダプタ１８４及び１８５と、が割り当てられている。
【００２１】
入出力制御回路１４０のテーブル制御回路１６０を例示する図２を参照すると、テーブル制御回路１６０は、処理区画と対応付けてトランザクション識別子を変換するに参照する変換テーブル４１０と、変換テーブル４１０を参照あるいは更新するテーブル参照／更新回路５００と、変換テーブルを更新するコマンドトランザクション４２０をルーティング制御回路１５０から受け取る処理区画識別情報制御回路５１０と、を備える。
【００２２】
変換テーブル４１０は、複数個のエントリを持ち、バス制御回路１３０を介して送られてきたトランザクションの処理区画識別子４１７とトランザクション識別子４１８とを登録し、登録したエントリのアドレスを生成する。エントリ４１９には、エントリの空きを示すＶビット４１６と、使用可能な処理区画の番号を示すパーティション識別子のＰＩＤ４１７と、処理区画が付すトランザクション識別子のＴＸＩＤ４１８と、変換テーブル４１０で変換された変換後トランザクション識別子のＴＸＩＤーＡ４１９と、を含んでいる。
【００２３】
この実施の一形態が実行する方法を、図３のフローチャートを参照し、図５及び図６に示す具体例を援用して説明する。処理区画のプロセッサがトランザクションを発行する（図３のステップ３０１）。該トランザクションは、システムバス１１０及びバス制御回路１３０を通じて、ルーティング制御回路１５０が受信し、該トランザクションがデータトランザクションであるか、あるいはコマンドトランザクションであるか判別し、判別結果がデータトランザクションであるとき、入出力ポート制御回路１７０に該データトランザクションを渡す（ステップ３０２）。トランザクション内のアドレスのＡＤＤ４３４で、変換テーブル４５０の該当のエントリを見いだし、参照する（ステップ３０４）。該データトランザクションのＴＸＩＤ４５７を同じエントリのＴＸＩＤ−Ａ４５９で変換する（ステップ３０５）。入出力ポート制御回路１７０は、変換後データトランザクションを、ＴＸＩＤ−Ａ４５９が指定するＰＣＩアダプタに対応する待ち行列に登録する（ステップ３０７）。
【００２４】
判別結果がコマンドトランザクションであるとき、変換テーブル４１０を探索する。先ず、ＰＩＤ４５６がコマンドトランザクションのＰＩＤ４３３と同じで、かつＶビット４５５が「０」のエントリを捜す。「０」のエントリがないとき、ＰＩＤ４５７が「０００」の共有を示し、かつＶビット４５５が「０」のエントリを探す（ステップ３０８）。該当のエントリがあると、図６に例示するように、Ｖビット４５５を「０」から「１」に書き換え，ＴＸＩＤ４３２の「０００」をＴＸＩＤ４５８の「０００」に書き替えて登録する。以後のデータトランザクションは、自身のＴＸＩＤ４５８を変換テーブル４１０のＴＸＩＤーＡ４５８に変換する。もし、空きエントリがないとき、エントリが空になるまで待ち状態となる（ステップ３０９）。
【００２５】
更に、この実施の形態に変更を施し、図１に示すコマンドトランザクションをルーティング制御回路１５０の代わりに、バス制御回路１３０から直接に処理区画識別情報制御回路５１０に渡す変更が可能であることは明らかである。
【００２６】
【発明の効果】
この発明の効果は、処理区画が組み替えられる、あるいは入出力要求が変更になるとき、処理区画が発行するトランザクションに対する入出力装置の割り当てにミスマッチが生じ、入出力性能に支障を来すことを防止する。その理由は、入出力制御部に設けた変換テーブルを、処理区画が発行するコマンドトランザクションによって更新し、処理区画と入出力装置の対応を適正にすることができるからである。
【００２７】
更に、他の効果は、処理区画が発行するデータトランザクションの入出力先と、該データトランザクションの実際の入出力先と、を対応付けを変換でき、入出力装置割当ての適応性が向上する。その理由は、入出力制御装置に変換テーブルを設け、該テーブルで、処理区画側の入出力先と、実際の入出力先を対応付けられるからである。
【図面の簡単な説明】
【図１】この発明の実施の一つの形態を示す図である。
【図２】図１のテーブル制御回路の細部を示す図である。
【図３】この発明の実施の一つの形態の入出力制御方法を示すフローである。
【図４】この実施の形態における、マルチプロセッサを処理区画に分割した形態を例示する図である。
【図５】図２のテーブル制御回路の動作を例示する図である。
【図６】変換テーブルの更新を例示する図である。
【符号の説明】
１０１，１０２，１０３，１０４    プロセッサ
１１０    システムバス
１２０    キャッシュ／メモリコントローラ
１２１，１２２，１２３，１２４    メモリ
１３０    バス制御回路
１４０    入出力制御回路
１５０    ルーティング制御回路
１６０    テーブル制御回路
１７０    入出力ポート制御回路
１８０    バススロット
１８１，１８２，１８３，１８４    ＰＣＩアダプタ
４１０    変換テーブル
４１６    Ｖビット
４１７    ＰＩＤ
４１８    ＴＸＩＤ
４１９    ＴＸＩＤ−Ａ
４２０    トランザクション
【図１】
2004258985.tif 000003
【図２】
2004258985.tif 000004
【図３】
2004258985.tif 000005
【図４】
2004258985.tif 000006
【図５】
2004258985.tif 000007
【図６】
2004258985.tif 000008