(57)【要約】【課題】  「割り込み共有」を選択した場合は性能低下が生じるシステムが出てくる。「割り込み共有無し」を選択した場合は周辺装置の数に制限が出るシステムが出てくる。【解決手段】  接続できる周辺装置が２５６個までの制限を持つＯＳを動作させる場合、ＢＩＯＳセットアップメニュー（Ｘ）で割り込み制御方式に切替える。ＢＩＯＳ（Ｙ）は使用する割り込みベクタ数を２５６個以内とするため、割り込みコントローラ（Ａ〜Ｄ）が持つ割り込みベクタ・レジスタ数を６４個から８個へ減らし、周辺装置からの割り込みを８個の割り込みベクタ・レジスタへ共有させる。周辺装置の接続数に制限の無いＯＳを動作させるコンピュータ・システム（２）と、周辺装置の数が２５６個を超えていないコンピュータ・システム（３）上でコンピュータ・システム（１）と同じ制限のあるＯＳを動作せる場合とは、割り込みを共有させる必要がないため標準の通常モードを選択する。【選択図】      図１
2006268282.tif 000002
【特許請求の範囲】
【請求項１】
一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムの割り込み制御方式であって、動作させるＯＳとコンピュータ・システム構成とに基づいて最適な割り込み制御を選択する手段を有することを特徴とするマルチ・パーティション・システムの割り込み制御方式。
【請求項２】
一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムの割り込み制御方式であって、ＯＳは割り込みベクタ数の限界値をＢＩＯＳへ通知する手段を備え、ＢＩＯＳは通知された限界値に基づいて最適な割り込みベクタの設定を行う手段を備えたことを特徴とするマルチ・パーティション・システムの割り込み制御方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチ・パーティション・システムの割り込み制御方式に関し、特に、マルチ・パーティション・システムの割り込み制御方式に関する。
【背景技術】
【０００２】
従来のコンピュータ・システムでは、オペレーティング・システム（以下、ＯＳと呼ぶ）が認識できる割り込みベクタ数に制限、すなわち、接続できる周辺装置の数に制限を持ったＯＳを動作させる場合、その制限の範囲内でしか周辺装置の接続を許可しないといった構成上の制限を設けるか、あるいは、接続する周辺装置の数に制限を設けず、その代わりに、全ての周辺装置の割り込みが制限の範囲内の割り込みベクタに収まるよう、複数の周辺装置で物理的な割り込み線（ＩＮＴＡ＃〜ＩＮＴＤ＃）をＯＲして一つの割り込み線に束ねた上で割り込みコントローラの割り込みピンに入力して割り込みベクタを共有させる、といった２つの対策が行われる。前者の場合、コンピュータ・システムを利用するユーザの立場から見て、必要な数の周辺装置を接続することができないといった問題が生じる。後者の場合、必要な数の周辺装置を接続することが出来るが、割り込みベクタ数に制限がないＯＳを動作させる場合でも複数の周辺装置が割り込みを共有してしまうため、割り込み判別処理に伴うオーバーヘッドが発生して性能が低下する、といった課題があった。
【０００３】
関連する内容が特許文献１、特許文献２に記載されている。
【０００４】
【特許文献１】特開２００３−０３０１２８号公報（第３−５頁、図２）
【特許文献２】特開平０９−０３４８２６号公報（第３−６頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、従来のコンピュータ・システムでは、ＯＳが認識し制御できる周辺装置の数の制限は、一つの要因として、ＯＳが周辺装置に対して割り当てることができる割り込みベクタ数の最大値によって決まる。例えば、ＯＳが周辺装置に対して割り当てる割り込みベクタ数を１バイトで管理していた場合、周辺装置に対して割り当てることができる割り込みベクタ数は２５６個までとなり、周辺装置は２５６個までしか接続できない。２５６個以上接続した場合は、２５６番目以降の周辺装置は使うことができない。
【０００６】
一般的に、このような制限を持ったＯＳを、制限を越えた数の周辺装置を接続したコンピュータ・システム上で動作させる場合は、コンピュータ・システムの設計段階で、複数の周辺装置の割り込み信号を一つに束ねて、複数の周辺装置で一つの割り込みベクタを共有させる、という対策が行われる。この場合、複数の周辺装置で割り込みベクタを共有しているため、割り込みが発生した際、ＯＳはどちらの周辺装置からの割り込みかを判別しなければならない。この判別はＯＳが周辺装置を制御する上でのオーバーヘッドとなり、コンピュータ・システムの性能を低下させる要因の一つになっている。
【０００７】
従って、制限を持たないＯＳをコンピュータ・システム上で動作させる場合、あるいは、制限を持っているＯＳを周辺装置の数が制限を越えていないコンピュータ・システム上で動作させる場合は、割り込みを共有させないことが望ましい。しかしながら、従来のコンピュータ・システムは、割り込みを共有するか共有しないかの二者択一であり、コンピュータ・システムの設計段階でどちらかに決めなければならないため、“割り込み共有“を選択した場合は、制限のあるＯＳに対しては周辺装置の数の制限が無くなるという利点があるが、制限のないＯＳに対しては不必要な割り込み共有に伴う性能低下という欠点が生ずる。“割り込み共有無し“を選択した場合は、制限のあるＯＳに対しては接続できる周辺装置の数に制限が残ってしまうが、制限のないＯＳに対しては性能低下を生じさせない。
【０００８】
このような二者択一は、従来のような単一コンピュータ・システム上で単一ＯＳを動作させる場合においては、ＯＳの制限と周辺装置の数を考慮した最適な唯一の選択を行なえばよいが、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムにおいては、“割り込み共有“を選択した場合は、性能低下が生じるシステムが出てくる、“割り込み共有無し“を選択した場合は、周辺装置の数に制限が出るシステムが出てくる、といった課題がある。分割されたそれぞれのコンピュータ・システムが自由に選択できる、従来の二者択一に代わる、新たな方法が求められている。
【０００９】
本発明の目的は、上述した従来の課題を解決するマルチ・パーティション・システムの割り込み制御方式を提供することにある。
【課題を解決するための手段】
【００１０】
本発明のマルチ・パーティション・システムの割り込み制御方式は、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムの割り込み制御方式であって、動作させるＯＳとコンピュータ・システム構成とに基づいて最適な割り込み制御を選択する手段を有することを特徴とする。
【００１１】
本発明のマルチ・パーティション・システムの割り込み制御方式は、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムの割り込み制御方式であって、ＯＳは割り込みベクタ数の限界値をＢＩＯＳへ通知する手段を備え、ＢＩＯＳは通知された限界値に基づいて最適な割り込みベクタの設定を行う手段を備えたことを特徴とする。
【発明の効果】
【００１２】
第１の効果は、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムにおいて、“割り込みベクタを共有する“を選択することで、割り込みベクタ数の制限、すなわち、接続可能な周辺装置の数に制限を持ったＯＳを、その制限を越えた数の周辺装置を接続した状態でも動作させることができるコンピュータ・システムと、”割り込みベクタを共有しない“を選択することで、制限の無いＯＳを、割り込みベクタを共有した場合に生ずる性能低下を起こすことなく動作させることができるコンピュータ・システムの２つを提供できる点にある。その理由は、各コンピュータ・システムそれぞれが、ＯＳの制限有無と周辺装置の数に依存して、割り込みベクタを共有させるか共有させないかを選択できる点にある。
【００１３】
第２の効果は、それぞれのコンピュータ・システム上において、動作させるＯＳを、制限のあるＯＳから制限の無いＯＳへ、あるいはその逆へ変更する場合、あるいは、接続する周辺装置の数を増減させた場合において、割り込みベクタを共有させるか共有させないかを選択的に変更できる点にある。その理由は、オペレータがＢＩＯＳセットアップメニューを使って自由に割り込みベクタを共有させるか共有させないかを選択できることにある。また、ＢＩＯＳがその選択に従って割り込みコントローラを初期化し、ＯＳに対して割り込みベクタ・レジスタ一覧表を渡すことで最適な割り込みベクタの設定ができることにある。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は本発明の実施の形態の構成図である。図１を参照して、本発明の概要を説明する。
【００１５】
一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムにおいて、８個の周辺装置ボックスを接続した大規模周辺装置を備えたコンピュータ・システム（１）上で、割り込みベクタ数は２５６個までの制限、すなわち、周辺装置は２５６個までしか接続できない制限を持ったＯＳを動作させる場合、予めＢＩＯＳ（Basic Input/Output System）セットアップメニュー（Ｘ）を使って、本発明が提案する割り込み制御方式（以下、割り込み共有モードと呼ぶ）に切り替えておく。
【００１６】
ＢＩＯＳ（Ｙ）は２５６ベクタ・モードであることを知ると、使用する割り込みベクタ数を２５６個以内に抑えるため、割り込みコントローラ（Ａ〜Ｄ）に対する二つの設定を行う。第一の設定は、割り込みコントローラ（Ａ〜Ｄ）が持っている割り込みベクタ・レジスタ数を６４個から８個へ減らすことである。具体的には、割り込みベクタ数レジスタ（Ｒ１）の値を６４個から８個へ書き換える。第二の設定は、周辺装置からの割り込みを、８個の割り込みベクタ・レジスタへ共有させることである。具体的には、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本が対応している１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）を、８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へ対応するよう割り込みコントローラの割り込みモード・レジスタ（Ｒ２）を割り込み共有モードへ設定する。そして、ＯＳが立ち上げ時に各周辺装置に対して割り込みベクタを割り当てる際、ＯＳは割り込みベクタ数レジスタ（Ｒ１）の値を読んで割り込みベクタが８個であることを知り、割り込みベクタ数の制限値２５６に到達するまで、各周辺装置に対して割り込みベクタを割り当てると共に、各周辺装置へ割り当てた割り込みベクタと同じ値を割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へ書き込む。
【００１７】
このように複数の周辺装置で割り込みベクタを共有させることで、消費する割り込みベクタ数を、一つの割り込みコントローラ当たりとしては、通常モードの場合の６４個から、本発明が提案する割り込み共有モードでは８個へと減らすことができ、一つの周辺装置ボックス単位としては、２５６個から３２個へと減らすことができる。そして、最大８個の周辺装置ボックスを接続した場合、通常モードでは２０４８個の割り込みベクタが必要になるが、本発明が提案する割り込み共有モードでは、２５６個の割り込みベクタへと抑えることが可能となる。その結果、８個の周辺装置ボックスを接続した大規模周辺装置を備えたコンピュータ・システム（１）上において、割り込みベクタ数は２５６個までの制限、すなわち、周辺装置は２５６個までしか接続できない制限を持ったＯＳを動作させることができる。
【００１８】
一方、割り込みベクタ数、すなわち周辺装置の接続数に制限の無いＯＳを動作させるコンピュータ・システム（２）では、割り込みを共有させる必要がないため、ＢＩＯＳセットアップメニュー（Ｘ）では、標準の通常モードを選択する。同様に、周辺装置の数が２５６個を超えていないコンピュータ・システム（３）上でコンピュータ・システム（１）と同じ制限のあるＯＳを動作せる場合は、同様に、割り込みを共有させる必要がないため、ＢＩＯＳセットアップメニュー（Ｘ）では、標準の通常モードを選択する。
【００１９】
次に、本発明の具体的な実施例について説明する。まず、第１の実施例を説明する。
【００２０】
図１を参照すると、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムであって、コンピュータ・システム（１）、コンピュータ・システム（２）、コンピュータ・システム（３）と３つに分割されてそれぞれ独立したＯＳが動作できる。
【００２１】
コンピュータ・システム（１）は、８個の周辺装置ボックス（Ｅ）を接続している。一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されている。割り込みコントローラ（Ａ〜Ｄ）は６４個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ６３）と、周辺装置からの割り込みを入力するための６４本の割り込みピン（Ｐ００〜Ｐ６３）を備えている。割り込みベクタと割り込みピンは一対一で対応している。一つの周辺装置ボックス（Ｅ）には１６個のスロットが装備されており、各スロットには周辺装置を制御するＰＣＩカードが搭載されている。一つの割り込みコントローラ（Ａ〜Ｄ）には４つの周辺装置からの割り込みが入力されており、一つの周辺装置当たり４つの割り込み（ＩＮＴＡ＃〜ＩＮＴＤ＃）を持っているため、一つの割り込みコントローラには１６本の割り込みが入力される。この周辺装置からの割り込み１６本は割り込みピン（Ｐ００〜Ｐ１５）に入力され、１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）が対応している。一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されているため、合計で６４個の割り込みベクタが割り当てられ、コンピュータ・システム（１）は８個の周辺装置ボックス（Ｅ）を接続しているため、合計で５１２個の割り込みベクタが割り当てられる。さらには、一つの割り込みコントローラは６４個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ６３）を備えており、一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されているため、実際は、合計で２５６個の割り込みベクタが消費され、コンピュータ・システム（１）は８個の周辺装置ボックス（Ｅ）を接続することができるため、合計で２０４８個の割り込みベクタが消費される。また、コンピュータ・システム（１）上では、割り込みベクタ数は２５６個までの制限、すなわち、周辺装置は２５６個までしか接続できない制限を持ったＯＳを動作させる。
【００２２】
コンピュータ・システム（２）は、コンピュータ・システム（１）と同じく８個の周辺装置ボックス（Ｅ）を接続しているため、同様に２０４８個の割り込みベクタが消費される。動作させるＯＳは、割り込みベクタ数の制限、すなわち、周辺装置の数の制限を持たないＯＳである。
【００２３】
コンピュータ・システム（３）は、１個の周辺装置ボックス（Ｅ）を接続しているため、２５６個の割り込みベクタが消費される。動作させるＯＳは、コンピュータ・システム（１）と同じく割り込みベクタ数の制限、すなわち、周辺装置の数の制限を持ったＯＳである。
【００２４】
ＢＩＯＳ（Ｙ）がコンピュータ・システム（１）とコンピュータ・システム（２）とコンピュータ・システム（３）の割り込みコントローラ（Ａ〜Ｄ）の初期化を行う。ＢＩＯＳ（Ｙ）はＢＩＯＳセットアップメニュー（Ｘ）を装備している。ＢＩＯＳセットアップメニュー（Ｘ）には、本発明が提案する割り込み制御方式（以下、割り込み共有モードと呼ぶ）へ切り替えるための機能が装備されている。
【００２５】
割り込みコントローラ（Ａ〜Ｄ）は割り込みベクタ数レジスタ（Ｒ１）を装備している。割り込みコントローラ（Ａ〜Ｄ）は標準で６４個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ６３）を装備していることから、割り込みベクタ数レジスタ（Ｒ１）には初期値として６４が格納されている。また、この割り込みベクタ数レジスタ（Ｒ１）はプログラムが可能であり、ＢＩＯＳ（Ｙ）がプログラムする。例えば、ＢＩＯＳ（Ｙ）は、ＢＩＯＳセットアップメニュー（Ｘ）で割り込み共有モードが指示されていた場合、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本が対応している１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）を、８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へ対応するよう割り込みを共有させるために、割り込みベクタ数レジスタ（Ｒ１）の値を６４から８へ書き換える。
【００２６】
また、割り込みコントローラ（Ａ〜Ｄ）は割り込みモード・レジスタ（Ｒ２）を装備している。モードには、割り込みコントローラ（Ａ〜Ｄ）が標準で装備している６４個の割り込みベクタを使用する通常モードと、本発明が提案する割り込み共有モードの二種類がある。ＢＩＯＳ（Ｙ）は、ＢＩＯＳセットアップメニュー（Ｘ）で割り込み共有モードが指示されていた場合、割り込みモード・レジスタ（Ｒ２）を割り込み共有モードへと設定する。例えば、ＢＩＯＳ（Ｙ）が割り込みベクタ数レジスタ（Ｒ１）を８へ書き換え、割り込みモード・レジスタ（Ｒ２）を割り込み共有モードへ設定した場合、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本が対応している１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）は、先頭の８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へと集約される。
【００２７】
また、図２を参照すると、ＢＩＯＳ（Ｙ）は、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本がどこの割り込みベクタ・レジスタに対応するのかを示す割り込みベクタ・レジスタ一覧表（Ｚ）をＯＳへ提供する。
【００２８】
第１の実施例の動作について説明する。図３、図４は第１の実施例の動作を示すフローチャートである。
【００２９】
まず、図３を参照すると、構成を示す図１において、コンピュータ・システム（１）を操作するオペレータ（ユーザ、又は保守員）は、割り込みベクタ数は２５６個までの制限、すなわち、周辺装置は２５６個までしか接続できない制限を持ったＯＳをこのコンピュータ・システム（１）上で動作させる場合、予めＢＩＯＳセットアップメニュー（Ｘ）を使って、本発明が提案する割り込み共有モードへ切り替えておく（図３のステップＡ１）。次に、ＢＩＯＳ（Ｙ）は割り込み共有モードであることを知ると、使用する割り込みベクタ数を２５６個以内に抑えるため、割り込みコントローラ（Ａ〜Ｄ）に対する二つの設定を行う。第一の設定は、割り込みコントローラ（Ａ〜Ｄ）が持っている割り込みベクタ・レジスタ数を６４個から８個へ減らすことである。具体的には、ＢＩＯＳ（Ｙ）は割り込みベクタ数レジスタ（Ｒ１）の値を６４から８へ書き換える（図３のステップＡ２）。第二の設定は、周辺装置からの割り込みを、８個の割り込みベクタ・レジスタへ集約させることである。具体的には、ＢＩＯＳ（Ｙ）は、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本が対応している１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）を、８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へ対応するよう割り込みコントローラの割り込みモード・レジスタ（Ｒ２）を割り込み共有モードに設定する（図３のステップＡ３）。
【００３０】
コンピュータ・システム（２）の場合、割り込みベクタ数の制限、すなわち、周辺装置の数の制限を持たないＯＳを動作させるため、オペレータは、図３のステップＡ１において、割り込みコントローラ（Ａ〜Ｄ）が標準で装備している６４個の割り込みベクタ・レジスタを使用する通常モードを選択する。
【００３１】
コンピュータ・システム（３）の場合、割り込みベクタ数の制限、すなわち、周辺装置の数の制限を持ったＯＳを動作させるが、接続する周辺装置ボックス（Ｅ）は一つだけであり、制限の２５６個を越えていないため、同様に、オペレータは、図３のステップＡ１において、割り込みコントローラ（Ａ〜Ｄ）が標準で装備している６４個の割り込みベクタ・レジスタを使用する通常モードを選択する。
【００３２】
図２の割り込みベクタ・レジスタ一覧表（Ｚ）は、割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込み１６本がどこの割り込みベクタ・レジスタに対応しているのかを説明している。ＢＩＯＳ（Ｙ）は、ＯＳを立ち上げる前に、この割り込みベクタ・レジスタ一覧表（Ｚ）を作成してＯＳへ提供する。図２では、割り込みコントローラ（Ａ〜Ｄ）が標準で装備している６４個の割り込みベクタ・レジスタを使用する通常モードと、本発明が提案する割り込み共有モードの場合、それぞれにおける周辺装置からの割り込み１６本がどこの割り込みベクタ・レジスタに対応するのかを説明している。一つの割り込みコントローラ（Ａ〜Ｄ）には４つの周辺装置からの割り込みが入力されており、一つの周辺装置当たり４つの割り込み（ＩＮＴＡ＃〜ＩＮＴＤ＃）を持っているため、一つの割り込みコントローラには１６本の割り込みが入力されている。この周辺装置からの割り込み１６本は割り込みピン（Ｐ００〜Ｐ１５）に入力されている。通常モードの場合、１６本の割り込みは１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）に一対一で対応している。本発明が提案する割り込み共有モードが設定された場合は、１６本の割り込みは８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）に対応する。この場合、２本の割り込みで１つの割り込みベクタ・レジスタを共有する。具体的には、図２の割り込み共有モードの場合の一覧表（Ｚ）を参照すると、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃とスロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃の２本の割り込みが一つの割り込みベクタ・レジスタ（Ｖ００）に対応、すなわち共有していることを表している。
【００３３】
ＢＩＯＳセットアップメニュー（Ｘ）で割り込み共有モードが指定されたコンピュータ・システム（１）の場合、ＢＩＯＳ（Ｙ）は、図２が示す割り込み共有モードの場合における割り込みベクタ・レジスタ一覧表を作成してＯＳへ渡す。
【００３４】
ＢＩＯＳセットアップメニュー（Ｘ）で通常モードが指定されたコンピュータ・システム（２）の場合、ＢＩＯＳ（Ｙ）は、図２が示す通常モードの場合における割り込みベクタ・レジスタ一覧表を作成してＯＳへ渡す。
【００３５】
同様に、ＢＩＯＳセットアップメニュー（Ｘ）で通常モードが指定されたコンピュータ・システム（３）の場合、ＢＩＯＳ（Ｙ）は、図２が示す通常モードの場合における割り込みベクタ・レジスタ一覧表を作成してＯＳへ渡す。
【００３６】
次に、図４を参照しながら、ＢＩＯＳセットアップメニュー（Ｘ）で割り込み共有モードが指定されたコンピュータ・システム（１）上におけるＯＳの動作を説明する。ＯＳは立ち上げ時に各周辺装置に対して割り込みベクタを割り当てる際、自身が管理できる割り込みベクタ数の数分だけ繰り返し処理（ループ処理）を行いながら各周辺装置に対して割り込みベクタを割り当てていく（図４のステップＡ１）。例えば、ＯＳが周辺装置に対して割り当てる割り込みベクタ数を１バイトで管理していた場合、周辺装置に対して割り当てることができる割り込みベクタ数は２５６個までとなり、この場合、図４のステップＡ１の繰り返し回数（ループ回数）の限界値は２５６である。割り込みベクタ数、すなわち繰り返し回数（ループ回数）カウンタの初期値は０である。まず始めに、ＯＳは、割り込みコントローラ（Ａ〜Ｄ）を見つけると（図４のステップＡ２）、割り込みベクタ数レジスタ（Ｒ１）の値を読んで消費する割り込みベクタが８個であることを知る（図４のステップＡ３）。そして、その８個という値を割り込みベクタ数カウンタ（繰り返し回数カウンタ、ループ回数カウンタ）に加算する（図４のステップＡ４）。そして、カウンタの値が限界値２５６を超えたか否かを調べる（図４のステップＡ５）。１つ目の割り込みコントローラ（Ａ）を見つけた場合、カウンタの値は初期値０であり、８を加算しても限界値２５６を超えていないため次のステップ（図４のステップＡ６）に進む。もし、３３個目の割り込みコントローラ（Ａ）を見つけた場合、８を加算するとカウンタの値は２６４となり限界値２５６を超えるため繰り返し処理（ループ処理）を抜けて処理を終える（図４のステップＡ７）。また、図４のステップＡ２で割り込みコントローラ（Ａ〜Ｄ）が見つからなかった場合、同様に、繰り返し処理（ループ処理）を抜けて処理を終える（図４のステップＡ８）。次に、ＯＳは図４のステップＡ５で、割り込みベクタ数カウンタが限界値２５６を超えていないことを確認すると、各周辺装置に対して割り込みベクタを割り当てる（図４のステップＡ６）。割り当てる割り込みベクタの値はＯＳ依存であり任意の値である。そして、ＯＳは、図２が示す割り込み共有モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照して割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込みがどこの割り込みベクタ・レジスタに対応するのかを特定する。そして、ＯＳは各周辺装置に対して割り当てた割り込みベクタと同じ値を、対応する割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）に設定する（図４のステップＡ９）。
【００３７】
例えば、コンピュータ・システム（１）は割り込み共有モードであるため、図２が示す割り込み共有モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照すると、ＯＳは、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃に対して割り込みベクタ１０１の値を割り当て、その割り込みが対応する割り込みベクタ・レジスタ（Ｖ００）にも同様に割り込みベクタ１０１の値を設定する。また、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃に対して割り込みベクタを割り当てる場合、その割り込みが対応する割り込みベクタ・レジスタ（Ｖ００）は、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃と共有しているため、ＯＳはスロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃に対して割り当てた割り込みベクタ１０１と同じ値を、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃に対しても割り当てる。
【００３８】
このようにして、ＯＳは、カウンタの値が限界値２５６を超えるか、あるいは、割り込みコントローラ（Ａ〜Ｄ）が見つからなくなるまで、図４のステップＡ１における繰り返し処理（ループ処理）を行いながら各周辺装置に対して割り込みベクタを割り当てていく。コンピュータ・システム（１）は、８個の周辺装置ボックス（Ｅ）を接続し、一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されており、周辺装置からの割り込みは８個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ０７）へ対応するよう集約されているため、一つの周辺装置ボックス（Ｅ）当たりでは３２個の割り込みベクタが割り当てられ、最大８個の周辺装置ボックス（Ｅ）当たりでは２５６個の割り込みベクタを割り当てる必要があるが、ＯＳが管理できる割り込みベクタ数の限界値は２５６であるため、本発明が提案する割り込み共有モードが設定された場合は、限界値２５６を超えることなく、８個の周辺装置ボックス（Ｅ）上の全ての周辺装置に対して割り込みベクタを割り当てることができる。
【００３９】
次に、図４を用いて、ＢＩＯＳセットアップメニュー（Ｘ）で通常モードが指定された場合のコンピュータ・システム（１）上におけるＯＳの動作を説明する。この場合も、ＯＳが周辺装置に対して割り当てる割り込みベクタ数は１バイトで管理しているため、周辺装置に対して割り当てることができる割り込みベクタ数は２５６個までとなり、同様に、図５のステップＡ１の繰り返し回数（ループ回数）の限界値は２５６である。割り込みベクタ数、すなわち繰り返し回数（ループ回数）カウンタの初期値は０である。まず始めに、ＯＳは、割り込みコントローラ（Ａ〜Ｄ）を見つけると（図４のステップＡ２）、割り込みベクタ数レジスタ（Ｒ１）の値を読んで消費する割り込みベクタが６４個であることを知る（図４のステップＡ３）。そして、その６４個という値を割り込みベクタ数カウンタ（繰り返し回数カウンタ、ループ回数カウンタ）に加算する（図４のステップＡ４）。そして、カウンタの値が限界値２５６を超えたか否かを調べる（図４のステップＡ５）。１つ目の割り込みコントローラ（Ａ）を見つけた場合、カウンタの値は初期値０であり、６４を加算しても限界値２５６を超えていないため次のステップ（図４のステップＡ６）に進む。もし、５個目の割り込みコントローラ（Ａ）を見つけた場合、６４を加算するとカウンタの値は３２０となり限界値２５６を超えるため繰り返し処理（ループ処理）を抜けて処理を終える（図４のステップＡ７）。また、図４のステップＡ２で割り込みコントローラ（Ａ〜Ｄ）が見つからなかった場合、同様に、繰り返し処理（ループ処理）を抜けて処理を終える（図４のステップＡ８）。次に、ＯＳは図４のステップＡ５で、割り込みベクタ数カウンタが限界値２５６を超えていないことを確認すると、各周辺装置に対して割り込みベクタを割り当てる（図４のステップＡ６）。割り当てる割り込みベクタの値はＯＳ依存であり任意の値である。そして、ＯＳは、図２が示す通常モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照して割り込みピン（Ｐ００〜Ｐ１５）に入力された周辺装置からの割り込みがどこの割り込みベクタ・レジスタに対応するのかを特定する。そして、ＯＳは各周辺装置に対して割り当てた割り込みベクタと同じ値を、対応する割り込みベクタ・レジスタ（Ｖ００〜Ｖ１５）に設定する（図４のステップＡ９）。
【００４０】
例えば、図２の通常モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照すると、ＯＳは、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃に対して割り込みベクタ１０１の値を割り当て、その割り込みが対応する割り込みベクタ・レジスタ（Ｖ００）にも同様に割り込みベクタ１０１の値を設定する。また、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃に対して割り込みベクタを割り当てる場合、この場合は割り込み共有モードと異なり、その割り込みは割り込みベクタ・レジスタ（Ｖ０７）に対応しており、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃とは割り込みベクタ・レジスタを共有していないため、ＯＳはスロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃に対して割り当てた割り込みベクタ１０１と異なる値である割り込みベクタ１０８を、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃に対して割り当て、その割り込みが対応する割り込みベクタ・レジスタ（Ｖ０７）にも同様に割り込みベクタ１０８の値を設定する。
【００４１】
このようにして、ＯＳは、カウンタの値が限界値２５６を超えるか、あるいは、割り込みコントローラ（Ａ〜Ｄ）が見つからなくなるまで、図４のステップＡ１における繰り返し処理（ループ処理）を行いながら各周辺装置に対して割り込みベクタを割り当てていく。コンピュータ・システム（１）は、８個の周辺装置ボックス（Ｅ）を接続でき、一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されており、周辺装置からの割り込みは１６個の割り込みベクタ・レジスタ（Ｖ００〜Ｖ１６）へ対応しており、一つの割り込みコントローラは６４個の割り込みベクタを持っているため、一つの周辺装置ボックス（Ｅ）当たりでは２５６個の割り込みベクタが消費され、最大８個の周辺装置ボックス（Ｅ）では２０４８個の割り込みベクタが必要だが、ＯＳが管理できる割り込みベクタ数の限界値は２５６であるため、通常モードの場合は、最初の一つ目の周辺装置ボックス（Ｅ）に対しては割り込みベクタを割り当てることができるが、残りの７個の周辺装置ボックス（Ｅ）に対しては割り込みベクタを割り当てることができない。
次に、図５を用いて、本発明が提案する割り込み共有モードと通常モードの使い分けについて説明する。本発明では、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムにおいて、それぞれの分割された独立したコンピュータ・システムは、独自にオペレータがＢＩＯＳセットアップメニュー（Ｘ）機能を使って本発明が提案する割り込み共有モードと通常モードのどちらかを選択することができるという特徴を持っている。この切り替え機能を使うことで、動作させるＯＳの割り込みベクタ数の制限と接続する周辺装置の数に応じて最適な割り込みモードを選択することができる。
【００４２】
図５を参照すると、独立したコンピュータ・システムである、コンピュータ・システム（１）、コンピュータ・システム（２）、コンピュータ・システム（３）それぞれにおける割り込みモードの選択と、その選択が適切であるか否か、また適切ではない場合の理由について説明している。一つの周辺装置ボックス（Ｅ）には４つの割り込みコントローラ（Ａ〜Ｄ）が搭載されている。
【００４３】
まず、コンピュータ・システム（１）について説明する。ＯＳの割り込みベクタ数の制限は２５６個である。８個の周辺装置ボックスが接続されている。本発明が提案する割り込み共有モードを選択した場合（図５の１−１）、一つの割り込みコントローラが消費する割り込みベクタの数は８個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は３２個となり、８個の周辺装置ボックスで消費する割り込みベクタの数は２５６個となり、ＯＳの制限２５６個を越えないため、この選択は適切である。次に、通常モードを選択した場合（図５の１−２）、一つの割り込みコントローラが消費する割り込みベクタの数は６４個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は２５６個となり、８個の周辺装置ボックスで消費する割り込みベクタの数は２０４８個となり、ＯＳの制限２５６個を越えるため、この選択は不適切である。その理由は、ＯＳは２５７番目以降に対応する周辺装置に対しては割り込みベクタを割り当てないため、２５７番目以降に対応する周辺装置が使えないためである。
【００４４】
次に、コンピュータ・システム（２）について説明する。ＯＳの割り込みベクタ数に制限はない。８個の周辺装置ボックスが接続されている。本発明が提案する割り込み共有モードを選択した場合（図５の２−１）、一つの割り込みコントローラが消費する割り込みベクタの数は８個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は３２個となり、８個の周辺装置ボックスで消費する割り込みベクタの数は２５６個となる。元々、ＯＳの割り込みベクタ数に制限はないため、このモードを選択する必要はないが、選択したとしても動作は可能である。しかしながら、図２の割り込み共有モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照すると、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃と、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃は割り込みベクタ・レジスタ（Ｖ００）を共有しているため、この割り込みベクタ・レジスタ（Ｖ００）から割り込みが発生した場合、ＯＳはどちらの周辺装置からの割り込みかを判別しなければならない。この判別はＯＳが周辺装置を制御する上でのオーバーヘッドとなり、コンピュータ・システムの性能を低下させる要因となるため、ＯＳに割り込みベクタ数の制限が無い場合は、本発明が提案する割り込み共有モードを選択するべきではない。次に、通常モードを選択した場合（図５の２−２）、一つの割り込みコントローラが消費する割り込みベクタの数は６４個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は２５６個となり、８個の周辺装置ボックスで消費する割り込みベクタの数は２０４８となるが、ＯＳには割り込みベクタ数の制限が無いため動作可能であり、また、割り込みベクタも共有していないため性能低下も生じないため適切な選択である。
【００４５】
次に、コンピュータ・システム（３）について説明する。ＯＳの割り込みベクタ数の制限は２５６個である。１個の周辺装置ボックスが接続されている。本発明が提案する割り込み共有モードを選択した場合（図５の３−１）、一つの割り込みコントローラが消費する割り込みベクタの数は８個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は３２個となり、周辺装置ボックスは一つであるため消費する割り込みベクタの数は３２個となる。ＯＳの制限２５６個を越えないため、動作は可能である。しかしながら、図２の割り込み共有モードの場合の割り込みベクタ・レジスタ一覧表（Ｚ）を参照すると、スロット１に搭載された周辺装置からの割り込みＩＮＴＡ＃と、スロット２に搭載された周辺装置からの割り込みＩＮＴＤ＃は割り込みベクタ・レジスタ（Ｖ００）を共有しているため、この割り込みベクタ・レジスタ（Ｖ００）から割り込みが発生した場合、ＯＳはどちらの周辺装置からの割り込みかを判別しなければならない。この判別はＯＳが周辺装置を制御する上でのオーバーヘッドとなり、コンピュータ・システムの性能を低下させる要因となるため、ＯＳの割り込みベクタ数の制限を越えない場合は、本発明が提案する割り込み共有モードを選択するべきではない。次に、通常モードを選択した場合（図５の３−２）、一つの割り込みコントローラが消費する割り込みベクタの数は６４個であり、一つの周辺装置ボックスが消費する割り込みベクタの数は２５６個となり、周辺装置ボックスは一つであるため消費する割り込みベクタの数は２５６個となる。ＯＳの制限２５６個を越えないため動作可能であり、また、割り込みベクタも共有していないため性能低下も生じないため適切な選択である。
【００４６】
次に、本発明の第２の実施例について説明する。図６は第２の実施例の動作を示すフローチャートである。
【００４７】
図６では、ＯＳはＯＳ自身が管理できる割り込みベクタ数の最大値をＢＩＯＳ（Ｙ）へ教える機能、割り込みベクタ数限界値通知機能（Ｗ）を有している。これは発明の実施例の一つを示した構成図１においてコンピュータ・システム（１）を操作するオペレータ（ユーザ、又は保守員）は、割り込みベクタ数は２５６個までの制限、すなわち、周辺装置は２５６個までしか接続できない制限を持ったＯＳをこのコンピュータ・システム（１）上で動作させる場合、予めＢＩＯＳセットアップメニュー（Ｘ）を使って、本発明が提案する割り込み共有モードへ切り替える（第１の実施例）のとは異なる。ＯＳが割り込みベクタ数限界値通知機能（Ｗ）を有している場合、オペレータはＢＩＯＳセットアップメニュー（Ｘ）を使って本発明が提案する割り込み共有モードへ切り替える必要はない。ＯＳ自身が割り込みベクタ数限界値通知機能（Ｗ）を使って、ＯＳ自身が管理できる割り込みベクタ数の最大値、すなわち限界値をＢＩＯＳ（Ｙ）へ通知する（図６のステップＡ１）。例えば、図６を参照すると、ＯＳは割り込みベクタ数の限界値２５６を通知している。次に、割り込みベクタ数の限界値を通知されたＢＩＯＳ（Ｙ）は、コンピュータ・システムが装備している割り込みコントローラの数を数えて、割り込みベクタ数の限界値の範囲内で一つの割り込みコントローラが使用できる割り込みベクタの数を計算する（図６のステップＡ２）。例えば、図６を参照すると、６４個の割り込みコントローラが装備されているため、一つの割り込みコントローラが使用できる割り込みベクタは４個と計算される。次に、ＢＩＯＳ（Ｙ）は、計算で得られた一つの割り込みコントローラが使用できる割り込みベクタの数の値を割り込みコントローラが持っている割り込みベクタ数レジスタへ書き込む（図６のステップＡ３）。例えば、図６を参照すると、一つの割り込みコントローラが使用できる割り込みベクタ数は４個として値を書き込んでいる。次に、ＢＩＯＳ（Ｙ）は、周辺装置からの割り込みが割り込みコントローラが使用できる割り込みベクタ・レジスタに対応するよう、割り込みコントローラの割り込みモード・レジスタ（Ｒ２）を割り込み集約モード、すなわち割り込み共有モードに設定する（図６のステップＡ４）。そして、ＢＩＯＳ（Ｙ）は、周辺装置からの割り込みがどこの割り込みベクタ・レジスタに対応するのかを示す割り込みベクタ・レジスタ一覧表（Ｚ）を作成してＯＳへ提供する（図６のステップＡ５）。そして、ＯＳは、図４が示す手順で各周辺装置に対して割り込みベクタを割り当てていく。
【００４８】
第２の実施例の効果について説明する。第２の実施例の効果は、本発明の第１の実施例では、オペレータがＯＳの制限有無と周辺装置の数を見て、割り込みベクタを共有させるか共有させないかをＢＩＯＳセットアップメニュー（Ｘ）を使って選択していたのに対して、ＯＳとＢＩＯＳがＯＳの制限有無と周辺装置の数を見て、割り込みベクタを共有させるか共有させないかを自動的に判断して最適な割り込みベクタの設定を行うことにある。その理由は、ＯＳは割り込みベクタ数の限界値をＢＩＯＳへ通知するための割り込みベクタ数限界値通知機能を有しており、この機能を使ってＯＳ自身が割り込みベクタ数の限界値をＢＩＯＳへ通知し、それを元にＢＩＯＳが最適な割り込みベクタの設定を行うからである。
【産業上の利用可能性】
【００４９】
本発明によれば、認識できる割り込みベクタ数に制限、すなわち、接続できる周辺装置の数に制限を持ったＯＳを動作させるコンピュータ・システムに適用できる。特に、ＯＳの制限有無、接続する周辺装置の数に依存して、割り込みを共有するかしないかを選択できることから、一つのコンピュータ・システムを複数のコンピュータ・システムに分割して、それぞれのコンピュータ・システム上で異なるＯＳを動作させるマルチ・パーティション・システムに適している。例えば、一つのコンピュータ・システムを二つのコンピュータ・システムに分割して、一つのコンピュータ・システムには、接続できる周辺装置の数に制限を持ったＯＳを動作させ、もう一つのコンピュータ・システムには、制限の無いＯＳを動作させるといった場合に有効である。この場合、前者のコンピュータ・システムでは、“割り込み共有”を選択することで、接続できる周辺装置の数の制限がなくなるという効果が得られ、後者のコンピュータ・システムでは、“割り込み共有無し”を選択することで、割り込み判別処理に伴う性能低下が起きることはない、という利点がある。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態の構成図である。
【図２】割り込みベクタ・レジスタ一覧図である。
【図３】第１の実施例の動作を示すフローチャートである。
【図４】第１の実施例の動作を示すフローチャートである。
【図５】通常モードと２５６ベクターモードの使い分けを示す図である。
【図６】第２の実施例の動作を示すフローチャートである。
【符号の説明】
【００５１】
１    コンピュータ・システム
２    コンピュータ・システム
３    コンピュータ・システム
Ａ    割り込みコントローラ
Ｂ    割り込みコントローラ
Ｃ    割り込みコントローラ
Ｄ    割り込みコントローラ
Ｅ    周辺装置ボックス
Ｒ１    割り込みベクタ数レジスタ
Ｒ２    割り込みベクタ数レジスタ
Ｘ    ＢＩＯＳセットアップメニュー
Ｙ    ＢＩＯＳ
【図１】
2006268282.tif 000003
【図２】
2006268282.tif 000004
【図３】
2006268282.tif 000005
【図４】
2006268282.tif 000006
【図５】
2006268282.tif 000007
【図６】
2006268282.tif 000008