(57)【特許請求の範囲】
【請求項１】
入力されたホットプラグ命令を受け付け装置内部で実行する指示に分解して出力する演算処理部と、
前記演算処理部から出力される拡張カードの追加指示又は削除指示を保持するコントロールレジスタと、
前記コントロールレジスタに保持された指示に基づき、ホットプラグ・シーケンスに従い、所定の制御信号を生成して順次送出するコントロール回路と、
前記コントロール回路により生成された前記制御信号により、拡張スロットのバスへの接続、又はバスからの切り離しを行うホットプラグ機構と、
前記ホットプラグ機構の状態を保持するステータスレジスタと、
を備え、
前記ホットプラグ機構は、前記コントロール回路から順次送出される制御信号を実行する度に、前記ホットプラグ機構の状態の通知を行い、前記状態が前記ステータスレジスタに格納され、
前記演算処理部から出力される拡張カードの追加指示又は削除指示を保持する前記コントロールレジスタを一つ備え、
複数のバスのうちから、前記演算処理部から出力されるバス選択情報に基づき、前記コントロールレジスタに保持された指示を実行するバスを選択するバスセレクタを備え、
前記コントロールレジスタに保持された指示に基づき、前記制御信号を生成し順次送信する前記コントロール回路を、複数の前記バスのそれぞれに対応して複数備え、
前記演算処理部から出力される拡張スロット選択情報に基づき、前記コントロール回路にて生成され順次送信される前記制御信号を、選択されたバスの、選択された拡張スロットに振り分けるスロットセレクタを、複数の前記バスのそれぞれに対応して複数備えた、ことを特徴とする拡張スロットホットプラグ制御装置。
【請求項２】
複数のバスと、
前記バスにそれぞれ接続され、ホットプラグ可能な拡張スロットと、
前記拡張スロットを前記バスに接続するホットプラグ機構と、
を備え、
拡張カードを追加又は削除する時に、拡張スロットへの電源制御や、バスへの接続制御、クロック及びリセットに関する信号の制御を行う拡張スロット・ホットプラグコントローラが、
ホットプラグ命令を受け、該命令から、拡張カードの追加又は削除指示と、バス選択情報、及び、拡張スロット選択情報に分解して出力する演算処理部と、
前記複数バスの前記各ホットプラグ機構の状態を格納保持するステータスレジスタと、
前記演算処理部から出力される指示を格納するコントロールレジスタと、
前記演算処理部から出力されたバス選択情報信号で指定されるバスを選択し、前記コントロールレジスタから出力されたホットプラグ指示を、選択されたバスへ出力するバスセレクタと、
前記複数のバスのそれぞれに対応して設けられ、前記バスセレクタから出力されたバスへのホットプラグ指示から、ホットプラグ・シーケンスに従う制御信号を生成して順次送信する複数のコントロール回路と、
前記複数のバスのそれぞれに対応して設けられ、前記演算処理部から出力された拡張スロット選択情報信号によって、ホットプラグ指示を実行する拡張スロットを選択し、前記コントロール回路から順次送信される前記制御信号を、前記選択された拡張スロットのホットプラグ機構に対して送信する複数の拡張スロットセレクタと、
を備えたことを特徴とする、拡張スロットホットプラグ制御装置。
【請求項３】
前記バスセレクタにおいて、複数のバスが同時に選択可能とされており、前記拡張スロットセレクタにおいて、複数の拡張スロットが、同時に、選択可能とされている、ことを特徴とする、請求項２記載の拡張スロットホットプラグ制御装置。
【請求項４】
「拡張スロットに拡張カードを追加又は削除する」命令を、前記拡張スロット・ホットプラグコントローラが受けると、前記拡張スロット・ホットプラグコントローラ内の前記演算処理部は、この命令をデコードして、
「拡張カードを追加する」指示、又は「拡張カードを削除する」指示と、
バスを選択するバス選択情報と、
拡張スロットを選択する拡張スロット選択情報と、
を生成し、
「拡張カードを追加する」又は「拡張カードを削除する」指示を、ホットプラグ指示信号として送出し、
前記バス選択情報をバス選択情報信号により送出し、
前記拡張スロット選択情報を拡張スロット選択情報信号により送出し、
前記コントロールレジスタは、前記演算処理部より前記ホットプラグ指示信号として送出された、「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を格納し、
前記バスセレクタは、前記演算処理部より送出された前記バス選択情報信号を選択制御信号として入力して、拡張カードを追加又は削除するバスを選択し、前記コントロールレジスタに格納された「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を、選択したバスに対応する前記コントロール回路に送出し、
前記バスセレクタから、「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を受けた前記コントロール回路は、前記指示に応じて、バスのプロトコルに従い、該指示の実行に必要とされる、ホットプラグ制御信号を順次生成して、選択されたバスに対応する前記拡張スロットセレクタに送出し、
前記拡張スロットセレクタは、前記演算処理装置から送出される前記拡張スロット選択情報信号を選択制御信号として入力し、選択された拡張スロットのホットプラグ機構に対して、前記コントロール回路から順次送信されてくる前記ホットプラグ制御信号を送信する、
ことを特徴とする、請求項２記載の拡張スロットホットプラグ制御装置。
【請求項５】
複数のバスと、
前記バスにそれぞれ接続され、ホットプラグ可能な拡張スロットと、
前記拡張スロットを前記バスに接続するホットプラグ機構と、
を備え、
拡張カードを追加又は削除する時に、拡張スロットへの電源制御や、バスへの接続制御、クロック及びリセットに関する信号の制御を行う拡張スロット・ホットプラグコントローラが、
ホットプラグ命令を受け、該命令から、拡張カードの追加又は削除指示と、バス選択情報、及び、拡張スロット選択情報に分解して出力する演算処理部と、
前記複数バスの前記各ホットプラグ機構の状態を格納保持するステータスレジスタと、
前記演算処理部からの指示を格納するコントロールレジスタと、
前記コントロールレジスタからの指示を分解し、ホットプラグ・シーケンスに従う、制御信号を生成し、順次送信するコントロール回路と、
前記複数のバスに対して共通に設けられ、前記演算処理部から出力された拡張スロット選択情報信号に基づき、ホットプラグ指示を実行する拡張スロットを選択し、前記コントロール回路から、順次送信される前記制御信号を、選択された拡張スロットのホットプラグ機構に送信する拡張スロットセレクタと、
を備えている、ことを特徴とする、拡張スロットホットプラグ制御装置。
【請求項６】
前記拡張スロットセレクタにおいて、複数の拡張スロットが同時に選択可能とされている、ことを特徴とする、請求項５記載の拡張スロットホットプラグ制御装置。
【請求項７】
「拡張スロットに拡張カードを追加又は削除する」命令を、前記拡張スロット・ホットプラグコントローラが受けると、前記拡張スロット・ホットプラグコントローラ内の前記演算処理部は、この命令をデコードして、
「拡張カードを追加する」指示、又は「拡張カードを削除する」指示と、
拡張スロットを選択するスロット拡張選択情報と、
を生成し、
「拡張カードを追加する」指示、又は「拡張カードを削除する」指示をホットプラグ指示信号として送出し、
拡張スロットを選択する拡張スロット選択情報を拡張スロット選択情報信号により送出し、
前記コントロールレジスタは、前記演算処理部より前記ホットプラグ指示信号として送出された、「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を格納し、
「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を受けた前記コントロール回路は、前記指示に応じて、バスのプロトコルに従って、該指示を実行するのに必要とされるホットプラグ制御信号を順次生成し、前記拡張スロットセレクタに送出し、
前記拡張スロットセレクタは、前記演算処理装置から出力された拡張スロット選択情報信号を選択制御信号として入力し、選択された拡張スロットのホットプラグ機構に、前記コントロール回路にて、順次送信されてくるホットプラグ制御信号を送信する、ことを特徴とする、請求項５記載の拡張スロットホットプラグ制御装置。
【請求項８】
前記ホットプラグ機構は、前記拡張スロットセレクタより、順次送信されてくる前記ホットプラグ制御信号に従い、前記拡張スロットをバスに接続し、
前記コントロール回路は、バスアクセス機能を有しており、それぞれのバスのバスマスタに対して、バスの使用許可を取得し、前記バスが前記コントロール回路のバスアクセス待状態になった時に、前記拡張スロット選択情報信号により選択されたホットプラグ機構に対して前記バスへの接続指示を出し、
前記ホットプラグ機構は、前記コントロール回路からのそれぞれのバスへの接続信号を受けて、複数の拡張スロットを、同時に、バスに接続する、ことを特徴とする、請求項４又は７記載の拡張スロットホットプラグ制御装置。
【請求項９】
前記ホットプラグ機構は、前記コントロール回路から順次送出されるホットプラグ制御信号を実行する度に、前記ホットプラグ機構の状態通知を行い、前記ホットプラグ機構の状態が前記ステータスレジスタに格納される、ことを特徴とする、請求項４又は７記載の拡張スロットホットプラグ制御装置。
【請求項１０】
前記ホットプラグ機構は、ホットプラグ制御信号により、順次実行される処理が完了する毎に、各拡張スロットに対応した前記ステータスレジスタに、各処理の完了を通知し、
前記演算処理部は、前記ステータスレジスタを監視し、ホットプラグ機構からの接続完了通知を確認すると、「拡張スロットに拡張カードを追加又は削除する」命令が完了したことを認識し、命令完了を、前記拡張スロット・ホットプラグコントローラの上位システムに報告する、ことを特徴とする、請求項８記載の拡張スロットホットプラグ制御装置。
【請求項１１】
前記ホットプラグ命令が、前記拡張スロット・ホットプラグコントローラの上位システムから、前記拡張スロット・ホットプラグコントローラの前記演算処理部に供給される、ことを特徴とする、請求項１乃至１０のいずれか一に記載の拡張スロットホットプラグ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホットプラグ（Ｈｏｔ−Ｐｌｕｇ）機構により接続／切り離しが可能な拡張スロット（ｓｌｏｔ）に関し、特に、拡張スロットのホットプラグ機構を制御する拡張スロット・ホットプラグ制御装置に関する。
【０００２】
【従来の技術】
ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）バスのホットプラグコントローラとして、例えば特開平１１−１８４５７８号公報（特許２９６５５５２号）には、ＰＣＩ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）及びＩ２Ｃ（Ｉ２Ｃ  ｓｐｅｃｉｆｕｃａｔｉｏｎ：ＯＳとデバイスドライバソフトウエアの標準インタフェース）を用いてデータを伝送するＳＩＵ（Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ  Ｕｎｉｔ）と、ＳＩＵと接続され、外部からのリセット制御信号、Ｐｒｅｓｅｎｔ  Ｄｅｔｅｃｔｉｏｎ信号、イネーブル信号、ＬＥＤ制御信号、及び、物理的ＩＤ信号を受信して記憶するＲＵ（Ｒｅｇｉｓｔｅｒ  Ｕｎｉｔ）と、ＲＵからデータを読み取ってシステム電源及びスロット電源を制御するための信号を出力するＰＣＵ（Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と、ＲＵから制御信号を読み取ってＰＣＩバス信号とＰＣＩスロット間の信号線をオン／オフするＢＩＵ（Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｕｎｉｔ）と、をワンチップ上で構成されているホットプラグ制御器が提供されている。
【０００３】
このホットプラグ制御器において、拡張スロットへのホットプラグ制御は、個別に行われており、拡張スロットをバスに接続する度に、バスは、待機状態に制御されるため、転送性能を低下させる要因となっている。
【０００４】
また個別のスロット毎に制御回路を有するために、拡張スロットの数が増えると、ハードウエア量が増大し、更に、拡張スロットの接続するバスが異なる場合には、バス毎に、拡張スロット・ホットプラグコントローラを有する必要があり、更なるハードウエア量が増大する要因となっている。
【０００５】
【発明が解決しようとする課題】
上記した従来の拡張スロット・ホットプラグコントローラは、以下の問題点を有している。
【０００６】
第１の問題点は、ホットプラグ機構を操作して拡張スロットとバスへの接続や切り離しを行う場合に、拡張スロット・ホットプラグコントローラは必ずバスとの接続や切り離しの間はバス待機状態にしているために、複数の拡張スロットに複数の拡張カードを追加又は削除する場合には、追加又は削除する拡張カード枚数に応じたバス待機状態が発生し、バスの転送性能を低下させることになる、ということである。
【０００７】
その理由は、拡張スロット・ホットプラグコントローラは、各拡張スロット毎に、ホットプラグ機構を制御していることから、拡張スロット間の同時動作を実現することができないためである。
【０００８】
第２の問題点は、複数本のバスを有するシステムにおいて拡張スロット・ホットプラグ機構を提供する場合には、拡張スロット  ホットプラグコントローラをバス毎に必要とするために、ハードウエア量が増える、ということである。
【０００９】
その理由は、従来の拡張スロット・ホットプラグコントローラは、拡張スロット  ホットプラグ制御機能を、単一バス上の各拡張スロット毎にしか持てなかったためである。
【００１０】
第３の問題点は、拡張スロット・ホットプラグコントローラは、ＰＣＩ、ＵＳＢ及びＩ２Ｃを用いてデータを伝送するＳＩＵと、ＳＩＵと接続され、外部からのリセット制御信号、Ｐｒｅｓｅｎｔ  Ｄｅｔｅｃｔｉｏｎ信号、イネーブル信号、ＬＥＤ制御信号及び物理的ＩＤ信号を受信して記憶するＲＵと、ＲＵからデータを読み取ってシステム電源及びスロット電源を制御するための信号を出力するＰＣＵと、ＲＵから制御信号を読み取ってＰＣＩバス信号とＰＣＩスロット間の信号線をオン／オフするＢＩＵとを各拡張スロット毎に有しているため、ハードウエア（ＨＷ）量が増える、ということである。
【００１１】
その理由は、拡張スロット  ホットプラグコントローラが、各拡張スロット毎にホットプラグ機構を制御しているため、である。
【００１２】
このように、従来の拡張スロット  ホットプラグコントローラにおいては、複数の拡張スロットに対して、拡張カードを追加又は削除する場合、拡張スロット毎に、バスへの接続又は切り離しといった制御を行っており、このため、同時に拡張カードの追加又は削除を行う場合には追加又は削除する拡張カードの枚数に応じて、バス待機状態が発生し、その間の性能が低下する、という問題点があった。
【００１３】
複数のバスを有するシステムにおいて、従来の拡張スロット  ホットプラグコントローラは、単一バスを制御することしかできないため、各バス毎に、それぞれ拡張スロット  ホットプラグコントローラが必要とされている。
【００１４】
そして、従来の拡張スロット  ホットプラグコントローラにおいては、各スロット毎にそれぞれのコントロールレジスタとコントロール回路を有しており、拡張スロットの増大やバス構成の複雑化に伴い、内部に、非同時動作（同時制御が行えない）とされる、同様な回路を、複数内在している。
【００１５】
したがって、本発明は、上記問題点に鑑みてなされたものであって、その目的は、追加又は削除する拡張スロットを選定するにあたり、複数スロットの選択を可能として同時制御を行うことにより、複数の拡張スロットへの拡張カードの追加又は削除の同時実行を可能とし、各拡張スロットをバスに接続する時に生ずるバス待機状態を最短とすることで、バスの性能低下を回避可能とした装置を提供することにある。
【００１６】
また、本発明の目的は、複数のバスにおいて、拡張スロットへの拡張カードの接続又は切り離しを可能とする装置のハードウエア量を削減するとともに、高集積化を可能とする装置を提供することにある。
【００１７】
さらに本発明の他の目的は、従来、拡張スロット毎に有していたコントロールレジスタやコントロール回路を削減し、回路構成を簡略化する装置を提供することにある。
【００１８】
【課題を解決するための手段】
前記目的を達成する本発明は、入力されたホットプラグ命令を受け付け装置内部で実行する指示に分解して出力する演算処理部と、前記演算処理部から出力される拡張カードの追加指示又は削除指示を保持するコントロールレジスタと、前記コントロールレジスタに保持された指示に基づき、ホットプラグ・シーケンスに従い、所定の制御信号を生成して順次送出するコントロール回路と、前記コントロール回路により生成された前記制御信号により、拡張スロットのバスへの接続、又はバスからの切り離しを行うホットプラグ機構と、前記ホットプラグ機構の状態を保持するステータスレジスタと、を備え、前記ホットプラグ機構は前記コントロール回路から順次送出される制御信号を実行する度に前記ホットプラグ機構の状態通知を行って前記状態が前記ステータスレジスタに保持される。
【００１９】
また本発明は、前記演算処理部から出力される拡張カードの追加指示又は削除指示を保持する前記コントロールレジスタを一つ備え、複数のバスのうちから、前記演算処理部から出力されるバス選択情報に基づき、前記コントロールレジスタに保持された指示を実行するバスを選択するバスセレクタと、前記コントロールレジスタに保持された指示に基づき前記制御信号を生成し順次送信する前記コントロール回路を、複数の前記バスに対応して、複数備え、複数の前記バスに対応して複数設けられ、前記演算処理部から出力される拡張スロット選択情報に基づき、前記コントロール回路にて生成され順次送信される前記制御信号を、選択されたバスの、選択された拡張スロットに振り分けるスロットセレクタと、を有する。
【００２０】
あるいは、本発明は、前記演算処理部から出力される拡張カードの追加指示又は削除指示を保持する前記コントロールレジスタを一つ備え、前記コントロールレジスタに保持された指示に基づき前記制御信号を生成し順次送信する前記コントロール回路を一つ備え、前記演算処理部から出力される拡張スロット選択情報に基づき、前記コントロール回路にて生成され順次送信される前記制御信号を、選択された拡張スロットに振り分けるスロットセレクタを有する、構成としてもよい。
【００２１】
【発明の実施の形態】
本発明の実施の形態について説明する。図１は、本発明の一実施の形態の構成を示す図である。図１を参照すると、バスを２本有し、各バス（Ｂ１、Ｂ２）配下に、それぞれ、拡張スロットを、４スロット（ＳＬ１〜ＳＬ４、ＳＬ５〜ＳＬ８）有するシステムにおいて、全ての拡張スロットのホットプラグ制御を可能とする拡張スロット・ホットプラグ（Ｈｏｔ−Ｐｌｕｇ）コントローラ（ＨＰＣ）の構成が示されている。
【００２２】
図１を参照すると、システム運用中に、拡張スロット拡張カードを追加、削除する時に、拡張スロットへの電源制御や、バスへの接続制御、及び、クロックやリセット等の信号の制御を行う拡張スロット・ホットプラグコントローラＨＰＣと、
ホットプラグ命令を受け、該命令を、追加又は削除指示と、バス選択情報、及び拡張スロット選択情報に分解し送信する演算処理部ＣＵと、
ホットプラグ機構を備えた拡張スロットを有する第１のバスＢ１と、
ホットプラグ機構を備えた拡張スロットを有し、第１のバスＢ１とは異なる第２のバスＢ２と、
第１のバスＢ１に接続され、ホットプラグ可能な拡張スロットＳＬ１〜ＳＬ４と、
第２のバスＢ２に接続され、ホットプラグ可能な拡張スロットＳＬ５〜ＳＬ８と、
拡張スロットＳＬ１〜ＳＬ４を、第１のバスＢ１に接続するホットプラグ機構ＨＰＵ１〜ＨＰＵ４と、
拡張スロットＳＬ５〜ＳＬ８を、第２のバスＢ２に接続するホットプラグ機構ＨＰＵ５〜ＨＰＵ８と、
ホットプラグ機構ＨＰＵ１〜ＨＰＵ８のステータスを格納するステータスレジスタＳＲ１〜ＳＲ８と、
演算処理部ＣＵからの指示を格納するコントロールレジスタＣＲ１と、
第１、第２のバスのうち、演算処理部ＣＵから送信されたバス選択情報信号２０で指定されるバスを選択し、コントロールレジスタＣＲ１から送信されたホットプラグ指示を、選択されたバスのコントロール回路に対して、送信するバスセレクタＢＳ１と、
バスセレクタＢＳ１から送信された第１のバスＢ１へのホットプラグ指示を分解し、各種制御信号を生成し、順次送信する第１のコントロール回路ＣＳ１と、
バスセレクタＢＳ１から送信された第２のバスＢ２へのホットプラグ指示を分解し、各種制御信号を生成し、順次送信する第２のコントロール回路ＣＳ２と、
演算処理部ＣＵから送信された拡張スロット選択情報信号３０によってホットプラグ指示を実行する拡張スロットを選択し、第１のコントロール回路ＣＳ１から順次送信される各制御信号を、選択された拡張スロットのホットプラグ機構に送信する第１の拡張スロットセレクタＳＳ１と、
演算処理部ＣＵから送信された拡張スロット選択情報信号３１によってホットプラグ指示を実行する拡張スロットを選択し、第２のコントロール回路ＣＳ２から順次送信される各制御信号を、選択された拡張スロットのホットプラグ機構に送信する第３の拡張スロットセレクタＳＳ２と、
を備えている。
【００２３】
拡張スロット・ホットプラグコントローラＨＰＣを制御するホットプラグ・ドライバ（不図示のＣＰＵ等で実行されるＩ／Ｏドライバ・ソフトウエア）により発行され、Ｉ２ＣやＵＳＢやＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスにより送信される「拡張スロットに拡張カードを追加又は削除する命令」を、拡張スロット・ホットプラグコントローラＨＰＣが受けると、拡張スロット・ホットプラグコントローラＨＰＣ内の演算処理部ＣＵは、この命令をデコードして、
・「拡張カードを追加する」又は「拡張カードを削除する」指示と、
・第１のバスＢ１又は第２のバスＢ２を選択するバス選択情報と、
・拡張スロットＳＬ１〜８を選択する拡張スロット選択情報と、
を生成する。
【００２４】
演算処理部ＣＵは、「拡張カードを追加する」指示、又は「拡張カードを削除する」指示をホットプラグ指示信号（ホットプラグ命令）１０として送出する。また演算処理部ＣＵは、第１のバスＢ１又は第２のバスＢ２を選択するバス選択情報を、バス選択情報信号２０（このバス選択情報信号はいずれか一方を選択すること、及び、両方のバスを同時選択できる）として送出する。さらに、演算処理部ＣＵは、拡張スロットＳＬ１〜ＳＬ４を選択する拡張スロット選択情報を、拡張スロット選択情報信号３０（この拡張スロット選択情報信号は、複数同時に拡張スロットを選択することが可能）により送出し、拡張スロットＳＬ５〜ＳＬ８を選択する拡張スロット選択情報を、拡張スロット選択情報信号３１（この拡張スロット選択情報信号も、複数同時に拡張スロットを選択することが可能）により送出する。
【００２５】
コントロールレジスタＣＲ１は、演算処理部ＣＵよりホットプラグ命令１０として送出された、「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を格納する。
【００２６】
バスセレクタＢＳ１は、演算処理部ＣＵより送出された、第１のバスＢ１又は第２のバスＢ２を選択するバス選択情報信号２０により、拡張カードを追加又は削除するバスを選択し、コントロールレジスタＣＲ１に格納された「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を、選択されたバスに対応する、第１のコントロール回路ＣＳ１又は第２のコントロール回路ＣＳ２に送出する。
【００２７】
「拡張カードを追加する」指示、又は「拡張カードを削除する」指示を受けた第１のコントロール回路ＣＳ１又は第２のコントロール回路ＣＳ２は、送信されてきた指示が、「拡張カードを追加する」指示の場合、スロット・パワーオンイネーブル（Ｐｏｗｅｒ  ＯＮ  Ｅｎａｂｌｅ）、リセット（Ｒｅｓｅｔ）アサート、バス制御信号（アービトレーション信号ＲＥＱ（マスタデバイスがバスアクセスを実行する場合、ＲＥＱをアサートし、バス使用権を要求する）、ＧＮＴ（ＲＥＱをアサートしたマスタデバイスにアービトレーション機能がＧＮＴをアサートしバスの使用を許可）、インタラプト信号ＩＮＴ、クロックＣＬＫ等）用のバススイッチイネーブル（Ｅｎａｂｌｅ）、バスアドレス／データ信号用バススイッチイネーブル（Ｅｎａｂｌｅ）、リセット・ディアサート等の各種ホットプラグ制御信号を、バスのプロトコルに従って、順次生成し、第１の拡張スロットセレクタＳＳ１又は第２の拡張スロットセレクタＳＳ２に送出する。
【００２８】
「拡張カードを削除する」指示の場合、リセット（Ｒｅｓｅｔ）アサート、アドレス／データ信号用バススイッチディスエーブル（Ｄｉｓａｂｌｅ）、バス制御信号用バススイッチディスエーブル（Ｄｉｓａｂｌｅ）、スロット・パワーオンイネーブル（Ｐｏｗｅｒ  ＯＮ  Ｄｉｓａｂｌｅ）等の各種ホットプラグ制御信号を、バスのプロトコルに従って順次生成し、第１の拡張スロットセレクタＳＳ１又は第２の拡張スロットセレクタＳＳ２に送出する。
【００２９】
第１の拡張スロットセレクタＳＳ１は、演算処理装置ＣＵにおいて生成され、送出された拡張スロット選択情報信号３０に基づき、選択される拡張スロットＳＬ１〜ＳＬ４のホットプラグ機構（Ｈｏｔ−Ｐｌｕｇ  Ｕｎｉｔ）ＨＰＵ１〜ＨＰＵ４に、第１のコントロール回路ＣＳ１にて、順次送信されてくる各種ホットプラグ制御信号を送信する。
【００３０】
第２の拡張スロットセレクタＳＳ２は、演算処理装置ＣＵにおいて生成され、送出された拡張スロット選択情報信号３１に基づき、選択される拡張スロットＳＬ５〜ＳＬ８のホットプラグ機構ＨＰＵ５〜ＨＰＵ８に、コントロール回路ＣＳ２にて順次送信されてくる各種ホットプラグ制御信号を送信する。
【００３１】
ホットプラグ機構ＨＰＵ１〜ＨＰＵ８は、拡張スロットセレクタＳＳ１及び拡張スロットセレクタＳＳ２より、順次送信されてくる、各種ホットプラグ制御信号に従い、拡張スロットＳＬ１〜ＳＬ４をバスＢ１に、拡張スロットＳＬ５〜ＳＬ８をバスＢ２に接続する。
【００３２】
また第１のコントロール回路ＣＳ１及び第２のコントロール回路ＣＳ２は、それぞれ第１のバスＢ１及び第２のバスＢ２へのバスアクセス機能を有しており、それぞれの第１のバスＢ１及び第２のバスＢ２の第１のバスマスタＢＭ１、及び、第２のバスマスタＢＭ２に対して、バスの使用許可を取得し、バスが第１のコントロール回路ＣＳ１及び第２のコントロール回路ＣＳ２のバスアクセス待状態になった時に、拡張スロット選択情報信号により選択されたホットプラグ機構ＨＰＵ１〜ＨＰＵ４、及び、ホットプラグ機構ＨＰＵ５〜ＨＰＵ８に対して、バスへの接続指示を出す。
【００３３】
ホットプラグ機構ＨＰＵ１〜ＨＰＵ８は、第１のコントロール回路ＣＳ１及び第２のコントロール回路ＣＳ２からのそれぞれの第１のバスＢ１及び第２のバスＢ２への接続信号を受けて、拡張スロットＳＬ１〜ＳＬ８を、同時に、第１のバスＢ１又は第２のバスＢ２に接続する。
【００３４】
ホットプラグ機構ＨＰＵ１〜ＨＰＵ８は、各種ホットプラグ制御信号により、順次実行される処理が完了する毎に、各拡張スロットＳＬ１〜ＳＬ８に対応したステータスレジスタＳＲ１〜ＳＲ８に、各処理の完了を通知する。
【００３５】
演算処理部ＣＵは、ステータスレジスタＳＲ１〜ＳＲ８を常時監視しており、ホットプラグ機構ＨＰＵ１〜ＨＰＵ８からの接続完了通知を確認すると、「拡張スロットに拡張カードを追加又は削除する命令」が完了したことを認識し、ホットプラグドライバに、命令完了を報告する。
【００３６】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について、図面を参照して詳細に説明する。
【００３７】
図１は、本発明の一実施例の構成を示す図である。図１において、ＣＵは、拡張スロットへの拡張カードの追加指示又は拡張カードの削除指示とバス選択情報及びスロット選択情報を生成し、指示及び情報をコントロールレジスタとバスセレクタ及び拡張スロットセレクタに送信する演算処理部である。
【００３８】
Ｂ１、Ｂ２は、それぞれ拡張スロットを４スロット有する第１、第２のバスである。ＢＭ１、ＢＭ２は、それぞれ、第１、第２のバスＢ１、Ｂ２のバスマスタである。
【００３９】
ＳＬ１〜ＳＬ４、ＳＬ５〜ＳＬ８は、それぞれ第１、第２のバスＢ１、Ｂ２上の拡張スロットである。
【００４０】
信号１０は、演算処理部ＣＵで生成された拡張カードの追加指示又は拡張カードの削除指示をコントロールレジスタに送信するホットプラグ指示信号である。信号２０は、演算処理部ＣＵにて生成されるホットプラグ命令を実行するバスを選択するバス選択情報信号である。信号３０、３１は、演算処理部ＣＵにて生成されるホットプラグ命令を実行する拡張スロットＳＬ１〜ＳＬ４、ＳＬ５〜ＳＬ８を選択するための拡張スロット選択情報信号である。
【００４１】
ＣＲ１は、演算処理部ＣＵからホットプラグ指示信号１０によって送信される拡張カードの追加指示又は拡張カードの削除指示を格納するコントロールレジスタである。
【００４２】
ＢＳ１は、演算処理部ＣＵから送信されたバス選択情報信号２０の指示によりコントロールレジスタＣＲ１の命令を第１のバスＢ１又は第２のバスＢ２に分配するバスセレクタである。
【００４３】
ＣＳ１、ＣＳ２は、第１、第２のバスＢ１、Ｂ２に振り分けられた拡張カードの追加指示又は拡張カードの削除指示を実行し、第１、第２のバスＢ１、Ｂ２への拡張スロット接続制御、拡張スロット電源制御、Ｒｅｓｅｔ制御等の各種制御信号の生成と、第１、第２のバスＢ１、Ｂ２へのバスリクエスト生成と、第１、第２のバスＢ１、Ｂ２の監視等の機能を持つ第１、第２のコントロール回路である。
【００４４】
ＳＳ１、ＳＳ２は、演算処理部ＣＵから送信されたスロット選択情報信号３０、スロット選択情報信号３１の指示により、第１、第２のコントロール回路ＣＳ１、ＣＳ２で生成された各種制御信号を拡張スロットに分配する第１、第２の拡張スロットセレクタである。
【００４５】
ＨＰＵ１〜ＨＰＵ８は、第１、第２のコントロール回路ＣＳ１、ＣＳ２にて生成された各種制御信号に従い、拡張スロットの電源や第１、第２のバスＢ１、Ｂ２への接続制御を行い、その都度ステータスをホットプラグコントローラに報告するホットプラグ機構である。
【００４６】
ＳＲ１〜ＳＲ８は、拡張スロット  ホットプラグ機構ＨＰＵ１〜ＨＰＵ８が通知する拡張スロット・ホットプラグステータスを保持するステータスレジスタである。
【００４７】
信号４０は、演算処理部ＣＵがステータスレジスタＳＲ１〜ＳＲ８に格納された各拡張スロットのステータスを監視するステータス監視信号である。
【００４８】
図１を参照して、本発明の一実施例の動作を説明する。
【００４９】
拡張スロットに、ホットプラグ機構を有するシステムにおいて、ホットプラグドライバ（不図示）により拡張カードの追加や拡張カードの削除の命令が拡張スロット  ホットプラグコントローラＨＰＣに出されると、拡張スロット・ホットプラグコントローラＨＰＣ内の演算処理部ＣＵは、拡張カードンの追加命令又は拡張カードの削除命令を分解し、拡張カードの追加指示又は拡張カードの削除指示と、指示を出すバスを選択するバス選択情報、及び拡張スロットを選択する拡張スロット選択情報とをそれぞれ生成し、これらの情報（信号）を、それぞれ、ホットプラグ指示信号１０と、バス選択情報信号２０と、拡張スロット選択情報信号３０、３１に送信する。
【００５０】
演算処理部ＣＵからホットプラグ指示信号１０を通じて送信される拡張カードの追加指示又は拡張カードの削除指示は、コントロールレジスタＣＲ１に格納され、コントロールレジスタＣＲ１は、バスセレクタＢＳ１に、拡張カードの追加指示又は拡張カードの削除指示を発行する。
【００５１】
バスセレクタＢＳ１は、演算処理部ＣＵで生成され、バス選択情報信号２０により送信されてくる、バス選択情報により、ホットプラグ指示を実行するバスを選択し、コントロールレジスタＣＲ１が発行する拡張カードの追加指示又は拡張カードの削除指示を、選択したバスに対応する第１、第２のコントロール回路ＣＳ１、ＣＳ２に発行する。
【００５２】
第１、第２のコントロール回路ＣＳ１、ＣＳ２は、バスセレクタＢＳ１にて発行された拡張カードの追加指示又は拡張カードの削除指示を受けると、第１、第２のバスＢ１、Ｂ２のバスマスタＢＭ１、ＢＭ２にバスの使用要求（ＲＥＱ）を発行し、バスマスタＢＭ１、ＢＭ２から、バスの使用許可（ＡＣＫ）を待つ。
【００５３】
第１、第２のコントロール回路ＣＳ１、ＣＳ２に対して、バスマスタＢＭ１、ＢＭ２からバスの使用許可（ＡＣＫ）が発行されると、第１、第２のコントロール回路ＣＳ１、ＣＳ２は、演算処理部ＣＵで生成された指示が拡張カードの追加指示である場合には、
・拡張スロットへの電源ＯＮ指示、
・拡張スロットへのＲｅｓｅｔ指示、
・拡張スロットへのクロックＯＮ指示、
・拡張スロットの制御信号をバスへ接続する指示、
・拡張スロットのアドレス／データ信号をバスへ接続する指示、
・拡張スロットへのＲｅｓｅｔ解除指示、
等のホットプラグシーケンスで必要とされる各種制御信号を順次発行する。
【００５４】
第１、第２のコントロール回路ＣＳ１、ＣＳ２は、演算処理部ＣＵで生成された指示が拡張カードの削除指示の場合には、
・拡張スロットへのＲｅｓｅｔ指示、
・拡張スロットの制御信号／アドレス／データ信号をバスから切り離す指示、
・拡張スロットへの電源ＯＦＦ指示、
・拡張スロットへのクロックＯＦＦ指示、
等の各種制御信号を順次発行する。
【００５５】
第１の拡張スロットセレクタＳＳ１と、第２の拡張スロットセレクタＳＳ２は、演算処理部ＣＵからスロット選択情報信号３０、スロット選択情報信号３１によりそれぞれ送信されてくる拡張スロット選択情報によって選択される拡張スロットのホットプラグ機構ＨＰＵ１〜ＨＰＵ４と、ＨＰＵ５〜ＨＰＵ８に、第１のコントロール回路ＣＳ１と、第２のコントロール回路ＣＳ２からそれぞれ、順次発行される各種制御信号を順次発行する。
【００５６】
ホットプラグ機構ＨＰＵ１〜ＨＰＵ４と、ホットプラグ機構ＨＰＵ５〜ＨＰＵ８は、第１のスロットセレクタＳＳ１と、第２のスロットセレクタＳＳ２より、それぞれ、順次発行される各種制御信号に従い、処理を行う。
【００５７】
演算処理部ＣＵにて生成された指示が、拡張カードの追加指示の場合には、ホットプラグ機構ＨＰＵ１〜ＨＰＵ８は、拡張スロットへの電源ＯＮ指示により、拡張スロットに電源供給を開始し、同時にステータスレジスタＳＲ１〜ＳＲ８に、電源供給が開始されたことを通知する。
【００５８】
次に、Ｒｅｓｅｔ指示により、拡張スロットのＲｅｓｅｔ信号をアサートし、ステータスレジスタＳＲ１〜ＳＲ８に、Ｒｅｓｅｔアサートを通知する。
【００５９】
次に、クロックＯＮ指示により、拡張スロットに、クロックの供給を開始し、ステータスレジスタＳＲ１〜ＳＲ８に、クロック供給開始を通知する。
【００６０】
次に、拡張スロットの制御信号をバスへ接続する指示により、制御信号のみをバスに接続し、接続したことを、ステータスレジスタＳＲ１〜ＳＲ８に通知する。
【００６１】
次に、拡張スロットのアドレス／データ信号を、バスへ接続する指示により、アドレス／データ信号をバスに接続し、ステータスレジスタＳＲ１〜ＳＲ８にアドレス／データ信号の接続完了を通知する。
【００６２】
そして、最後に、拡張スロットＳＬ１のＲｅｓｅｔ信号を解除し、ステータスレジスタＳＲ１〜ＳＲ８にＲｅｓｅｔ解除完了と、拡張カードの接続完了を通知する。
【００６３】
拡張カードの削除指示の場合、ホットプラグ機構ＨＰＵ１〜ＨＰＵ８は、Ｒｅｓｅｔ指示により、拡張スロットのＲｅｓｅｔ信号をアサートし、ステータスレジスタＳＲ１〜ＳＲ８に、Ｒｅｓｅｔアサートを通知する。
【００６４】
次に、拡張スロットの制御信号／アドレス／データ信号をバスから切り離す指示により、制御信号／アドレス／データ信号をバスから切り離し、バスから切り離したことをステータスレジスタＳＲ１〜ＳＲ８に通知する。
【００６５】
次に、拡張スロットの電源ＯＦＦ指示により、拡張スロットに電源供給を停止し、同時に、ステータスレジスタＳＲ１〜ＳＲ８に電源供給が停止されたことを通知する。
【００６６】
ステータスレジスタＳＲ１〜ＳＲ８は、ホットプラグ機構ＨＰＵ１〜ＨＰＵ８から通知されてくる拡張スロットの接続状況をそれぞれ保持する。
【００６７】
演算処理部ＣＵは、システム運用時には、ステータスレジスタＳＲ１〜ＳＲ８を、常時監視し、ステータスレジスタＳＲ１〜ＳＲ８に、拡張カード追加指示又は拡張カード削除指示の完了通知が保持されると、拡張カードの追加命令又は拡張カードの削除命令が完了したことを、不図示のホットプラグ・ドライバ（ＨＰＣを制御するドライバ・ソフトウエア）に通知する。
【００６８】
また、上記したバスセレクタＢＳ１は、複数のバスＢ１とバスＢ２を同時に選択可能とされており、スロットセレクタＳＳ１と、スロットセレクタＳＳ２は、同時に複数の拡張スロットを選択することが可能とされており、このため、本発明の一実施例においては、複数の拡張スロットへの拡張カード同時追加及び削除が可能となる。
【００６９】
このように、本発明の一実施例においては、ホットプラグコントローラＨＰＣは、コントロールレジスタＣＲ１と、バスセレクタＢＳを一つずつ有し、コントロール回路ＣＳと、スロットセレクタＳＳを、バスの数だけ有することにより、拡張スロット数に応じたコントロールレジスタＣＲと、コントロール回路ＣＳを有すること無く、拡張スロット・ホットプラグ命令を実行することが可能とされており、更に複数のバスへの拡張スロット  ホットプラグ命令が実現可能となっている。
【００７０】
次に、本発明の第２の実施例について説明する。図２は、本発明の第２の実施例の構成を示す図である。図２において、ＣＵは、拡張スロットへの拡張カードの追加指示又は拡張カードの削除指示とバス選択情報及びスロット選択情報を生成し、指示及び情報をコントロールレジスタとバスセレクタ及び拡張スロットセレクタに送信する演算処理部である。
【００７１】
Ｂ１、Ｂ２は、それぞれ拡張スロットを４スロット有する第１、第２のバスである。ＢＭ１、ＢＭ２は、それぞれ第１、第２のバスＢ１、Ｂ２のバスマスタである。
【００７２】
ＳＬ１〜ＳＬ４、ＳＬ５〜ＳＬ８は、それぞれ第１のバスＢ１、第２のバスＢ２上の拡張スロットである。
【００７３】
信号１０は、演算処理部ＣＵで生成された拡張カードの追加指示又は拡張カードの削除指示をコントロールレジスタに送信するホットプラグ指示信号である。信号３０は、演算処理部ＣＵにて生成されるホットプラグ命令を実行する拡張スロットＳＬ１〜ＳＬ８を選択する拡張スロット選択情報信号である。
【００７４】
ＣＲ１は、演算処理部ＣＵからホットプラグ指示信号１０によって送信される拡張カードの追加指示又は拡張カードの削除指示を格納するコントロールレジスタである。
【００７５】
ＣＳ１は、拡張カードの追加指示又は拡張カードの削除指示を実行し、拡張スロット接続制御、拡張スロット電源制御、Ｒｅｓｅｔ制御等の各種制御信号の生成等の機能を持つコントロール回路である。
【００７６】
ＳＳ１は、演算処理部ＣＵから送信されたスロット選択情報信号３０の指示により第１のコントロール回路ＣＳ１、第２のコントロール回路ＣＳ２で生成された各種制御信号を拡張スロットに分配し、第１のバスＢ１と第２のバスＢ２へのバスリクエスト生成機能と、第１、第２のバスＢ１、Ｂ２の監視機能を有する拡張スロットセレクタである。
【００７７】
ＨＰＵ１〜ＨＰＵ８は、スロットセレクタＳＳ１にて生成された各種制御信号に従い拡張スロットの電源や、第１、第２のバスＢ１、Ｂ２への接続制御を行い、その都度ステータスを、ホットプラグコントローラに報告するホットプラグ機構である。
【００７８】
ＳＲ１〜ＳＲ８は、拡張スロット  ホットプラグ機構ＨＰＵ１〜８が通知する拡張スロット・ホットプラグステータスを保持するステータスレジスタである。
【００７９】
信号４０は、演算処理部ＣＵがステータスレジスタＳＲ１〜ＳＲ８に格納された各拡張スロットのステータスを監視するステータス監視信号である。
【００８０】
演算制御部ＣＵは、拡張スロットへの拡張カードの追加指示又はを生成しバス情報及びスロット情報と共にＨＰＣへ送信する。
【００８１】
本発明の第２の実施例においては、コントロール回路ＣＳ１の出力をスロットセレクタＳＳ１を介して拡張スロットに分配しており、図１に示した前記実施例の構成と比較して、バスセレクタＢＳ１及び、第２のコントロール回路ＣＳ２が省略されており、前記実施例とほぼ同等の機能を有しながら、ハードウエア量を削減することできる。
【００８２】
【発明の効果】
以上説明したように、本発明によれば下記記載の効果を奏する。
【００８３】
本発明の第１の効果は、拡張カードの追加・削除における性能低下を防ぐことができる、ということである。
【００８４】
その理由は次の通りである。従来、拡張スロット・ホットプラグ機能を有するシステムでは、複数の拡張スロットへ拡張カードを追加・削除する場合に、拡張スロット毎にホットプラグ命令を処理する必要があり、拡張スロットへのバス接続する毎に拡張スロット  ホットプラグコントローラがバスを待機状態にするため、バスの転送速度が低下していた。これに対して、本発明においては、全ての拡張スロットに対するホットプラグ命令を、同時に処理することが可能になり、ホットプラグ命令で、バスの待機状態となる時間を、最短とすることができ（複数の拡張スロットの処理を同時に行うことでバスの待機状態を一回に抑えることができる）、転送性能の低下を防ぐことができる、ためである。
【００８５】
本発明の第２の効果は、拡張スロット・ホットプラグコントローラのハードウエア量を削減することができる、ということである。
【００８６】
その理由は、以下の通りである。従来、複数のバスを有するシステムでは、拡張スロット・ホットプラグコントローラを、複数バス分備える必要が有り、更に、拡張スロット  ホットプラグコントローラ内に拡張スロット分のコントロールレジスタとコントロール回路をそれぞれ持つことが必要とされていたが、本発明においては、拡張スロット・ホットプラグコントローラ内に、バスセレクタ、拡張スロットセレクタを有することにより、従来、拡張スロット毎に配設されていたコントロールレジスタやコントロール回路を削減し、回路構成を簡略化することができるためである。また本発明によれば、複数のコントローラを一つにまとめることで、ハードウエア量を削減するとともに、高集積化を可能としている。さらに、本発明によれば、バスセレクタ及びコントロール回路の数を削減し、回路構成を簡略化しているためである。
【図面の簡単な説明】
【図１】本発明の一実施例の拡張スロット・ホットプラグコントローラの構成を示す図である。
【図２】本発明の他の実施例の拡張スロット・ホットプラグコントローラの構成を示す図である。
【符号の説明】
Ｂ１  第１のバス
Ｂ２  第２のバス
ＢＭ１  バスＢ１のバスマスタ
ＢＭ２  バスＢ２のバスマスタ
ＢＳ  バスセレクタ
ＣＲ１  コントロールレジスタ
ＣＳ１  バスＢ１用のコントロール回路
ＣＳ２  バスＢ２用のコントロール回路
ＣＵ  演算処理部
ＨＰＣ  拡張スロット・ホットプラグコントローラ
ＨＰＵ１〜ＨＰＵ８  拡張スロットＳＬ１〜ＳＬ８用のホットプラグ機構
ＳＬ１〜ＳＬ４  バスＢ１に接続するホットプラグ対応した拡張スロット
ＳＬ５〜ＳＬ８  バスＢ２に接続するホットプラグ対応した拡張スロット
ＳＲ１〜ＳＲ８  拡張スロット１〜８用のステータスレジスタ
ＳＳ１  バスＢ１用の拡張スロットセレクタ
ＳＳ２  バスＢ２用の拡張スロットセレクタ
１０  ホットプラグ指示信号
２０  バス選択情報信号
３０  拡張スロット選択情報信号
３１  拡張スロット選択情報信号
４０  拡張スロットステータス情報
【図１】
0003626667.tif 000002
【図２】
0003626667.tif 000003