(57)【特許請求の範囲】
【請求項１】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項２】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項３】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項４】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項５】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項６】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項７】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【請求項８】
プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、
ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、
前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、
前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とするＰＣＩバスの障害解析容易化方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスの障害解析容易化方式に関し、特にプロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置におけるＰＣＩバスの障害解析容易化方式に関する。なお、ＰＣＩバスの規格は、ＰＣＩ  Ｌｏｃａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  ２．１（以下、仕様書という）等に詳細に規定されている。
【０００２】
【従来の技術】
従来、ＰＣＩバスを持つコンピュータ装置のエラー検出手段として、アドレスのパリティエラー検出時にＳＥＲＲ（Ｓｙｓｔｅｍ  ＥＲＲｏｒ）信号をアサートする方法，データのパリティエラー検出時にＰＥＲＲ（Ｐａｒｉｔｙ  ＥＲＲｏｒ）をアサートする方法，ＰＣＩターゲットデバイスがその他のエラーを検出時にターゲットアボートで転送を終了する方法などが用意されている。
【０００３】
【発明が解決しようとする課題】
しかし、これら従来の方法には、次のような問題点があった。
【０００４】
第１の問題点は、上記のエラー検出手段はすべてＰＣＩバス上の動作がＰＣＩのプロトコルに則り正しく行われている場合の方法であり、ＰＣＩデバイスの故障などにより、１つのＰＣＩサイクルに対して２つ以上のターゲットデバイスが応答してしまい、ＰＣＩプロトコルが不正になってしまった場合などはエラーを検出することができない可能性が高かった。さらに、ＰＣＩプロトコルの不正は、ＰＣＩバスのデッドロックにもつながり、ＰＣＩバスをシステムバスとして使用しているコンピュータ装置においては重大な障害につながることがあった。
【０００５】
第２の問題点は、上記のような場合に、仮にＰＣＩマスタデバイスがＰＣＩバスで何らかのエラーが発生したことを検出し、プロセッサに報告できたとしても、その原因を特定することは非常に困難であった。
【０００６】
本発明の目的は、上述の点に鑑み、１つのＰＣＩサイクルに複数のＰＣＩターゲットデバイスが応答し、ＰＣＩプロトコルが不正になった場合などのエラー検出を可能にするＰＣＩバスの障害解析容易化方式を提供することにある。
【０００７】
また、本発明の他の目的は、ＰＣＩプロトコルが不正になった場合などのエラー検出時に、さらにその原因を特定することを可能にするＰＣＩバスの障害解析容易化方式を提供することにある。
【０００８】
なお、ＰＣＩバスに関連する先行技術文献としては、特開２０００−２５９５５５，特開平０９−２５１４３９，特開平１０−２９３７４４等があるが、いずれもＰＣＩバスの障害解析に関するものではない。
【００１０】
【課題を解決するための手段】
本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とする。
【００１１】
さらに、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とする。
【００１３】
また、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とする。
【００１４】
さらに、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスおよび前記複数のＰＣＩデバイスからのターゲット動作信号を監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とする。
【００１６】
また、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とする。
【００１７】
さらに、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記プロセッサ部にエラー報告信号を上げるＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答したことをエラー報告信号として前記プロセッサ部に報告するエラーステータス回路とから構成されることを特徴とする。
【００１９】
また、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記ＰＣＩバスの動作をスヌープし前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶するアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とする。
【００２０】
さらに、本発明のＰＣＩバスの障害解析容易化方式は、プロセッサ部がＰＣＩバスを介して複数のＰＣＩデバイスに接続されたコンピュータ装置において、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記プロセッサ部と、ＰＣＩターゲットデバイスとしての動作時にターゲット動作信号をアクティブにする前記複数のＰＣＩデバイスと、前記ＰＣＩバス上で実行されるコマンドのターゲットアドレスと前記プロセッサ部および前記複数のＰＣＩデバイスからのターゲット動作信号とを監視し、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合に前記ＰＣＩバスをリセットするＰＣＩバス監視回路とを有し、前記ＰＣＩバス監視回路が、コンピュータ装置の立ち上げ時に前記プロセッサ部により前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズをターゲット動作信号と対応づけて記憶されるアドレス格納回路と、前記ＰＣＩバス上のターゲットアドレスを一時格納するアドレスラッチ回路と、前記アドレス格納回路に記憶された前記プロセッサ部および前記複数のＰＣＩデバイスのベースアドレスおよびサイズと前記アドレスラッチ回路に一時格納されたターゲットアドレスとに基づいてＰＣＩターゲットデバイスを特定するターゲットデバイス選択回路と、前記ターゲットデバイス選択回路の結果とターゲット動作信号の状態とを比較し１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスの応答があったことを検出するターゲット比較回路と、前記ターゲットデバイス選択回路の結果と前記ターゲット比較回路からの１つのＰＣＩサイクルに対してアクティブになった複数のターゲット動作信号とを記憶するエラーステータス回路と、前記エラーステータス回路の内容を保持したまま前記ＰＣＩバスのリセットを実行し前記ＰＣＩバスに接続されたすべてのＰＣＩデバイスをリセットするＰＣＩリセット生成回路とから構成されることを特徴とする。
【００２２】
本発明のＰＣＩバスの障害解析容易化方式は、ＰＣＩバスに接続されたＰＣＩデバイスがＰＣＩターゲットデバイスとしての動作時にアクティブにするターゲット動作信号を設け、それを監視することにより、ＰＣＩアドレスバスおよび特定のＰＣＩデバイスのベースアドレスレジスタの故障等により発生する、１つのＰＣＩサイクルに対する複数のＰＣＩターゲットデバイスからの応答を検知し、その原因となった、本来ＰＣＩターゲットデバイスとして応答してはならないＰＣＩデバイスの特定を容易に行うものである。
【００２３】
図１において、ＰＣＩバス監視回路２００は、コンピュータ装置の立ち上げ時にプロセッサ部１からＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０に設定されたベースアドレスを記憶し、その後ＰＣＩバス１０で通信が行われる場合、ＰＣＩマスタデバイスから出力されるターゲットアドレスをスヌープして解析し、ＰＣＩマスタデバイスが通信を行おうとしているＰＣＩターゲットデバイスを特定する。また、ＰＣＩバス監視回路２００は、ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０がＰＣＩターゲットデバイスとしての動作時にアクティブにするターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０を入力し、ＰＣＩマスタデバイスからの要求で応答したＰＣＩターゲットデバイスを検知することができる。これにより、同時に複数のターゲット動作信号を受信した場合、ＰＣＩアドレスバスまたは特定のＰＣＩデバイスのベースアドレスレジスタの故障等により、本来ＰＣＩターゲットデバイスとして応答してはならないＰＣＩデバイスから誤応答が発生したと判断でき、さらに誤応答をしたＰＣＩデバイスを特定することができ、その結果から障害の解析を容易に行うことができる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２５】
（１）第１の実施の形態
図１は、本発明の第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。図１を参照すると、本実施の形態に係るＰＣＩバスの障害解析容易化方式は、プロセッサ部１と、ＰＣＩバス１０と、プロセッサ部１からの制御で動作する複数のＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０と、ＰＣＩバス１０上で実行されるコマンドのターゲットアドレスおよびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のＰＣＩターゲットデバイスとしての動作状態を監視するＰＣＩバス監視回路２００とを有している。
【００２６】
プロセッサ部１は、命令を発行するマイクロプロセッサ２と、マイクロプロセッサ２とＰＣＩバス１０とを接続するホストブリッジ３と、マイクロプログラムの格納領域やマイクロプロセッサ２のワーク領域として使用されるメモリ４とにより構成される。
【００２７】
プロセッサ部１は、コンピュータ装置の立ち上げ時にＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０の初期設定としてベースアドレスの設定を行ったり、コンピュータ装置の立ち上げ後はＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０に指示を発行し、ＰＣＩバス１０を使った転送などの制御を行ったりする。
【００２８】
ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０は、プロセッサ部１からの指示により、各ＰＣＩデバイス内で処理を行ったり、他のＰＣＩデバイスとの間でデータ転送を実行したりする。ＰＣＩバス１０でデータ転送等が実行される場合、ＰＣＩターゲットデバイスとなるＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０は、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０をアクティブにする。その他のＰＣＩバス１０でのデータ転送等の動作は、ＰＣＩの仕様書にある通りである。
【００２９】
次に、ＰＣＩバス監視回路２００のより詳細な構成について説明する。
【００３０】
図２は、ＰＣＩバス監視回路２００のより詳細な構成を示す回路ブロック図である。図２を参照すると、ＰＣＩバス監視回路２００は、アドレス格納回路２０１と、アドレスラッチ回路２０２と、ターゲットデバイス選択回路２０３と、ターゲット比較回路２０４と、エラーステータス回路２０５とにより構成される。
【００３１】
アドレス格納回路２０１は、コンピュータ装置の立ち上げ時にＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズを格納する。
【００３２】
アドレスラッチ回路２０２は、ＰＣＩバス１０で実行されるＰＣＩバス動作を監視し、実行されるターゲットアドレスを一時格納する。
【００３３】
ターゲットデバイス選択回路２０３は、アドレス格納回路２０１に格納されたＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをもとに、ＰＣＩマスタデバイスがアクセス要求をしているＰＣＩターゲットデバイスの特定を行う。
【００３４】
ターゲット比較回路２０４は、ターゲットデバイス選択回路２０３の結果と、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０との比較を行う。
【００３５】
エラーステータス回路２０５は、１つのＰＣＩサイクルに対して複数のターゲット動作信号がアクティブになった場合に、ターゲットデバイス選択回路２０３の結果と、アクティブになったターゲット動作信号とを記憶し、プロセッサ部１に対してエラー報告信号２１０でエラーを通知する機能を有している。
【００３６】
図３は、プロセッサ部１が作成するＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のメモリ空間のアドレスマップの一例を示している。
【００３７】
図４は、プロセッサ部１がＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０の初期設定を実施後、プロセッサ部１からの指示によりＰＣＩデバイスａ１００がＰＣＩデバイスｂ１１０のメモリ空間からのリード動作を実施したときに、ＰＣＩデバイスｄ１３０から誤応答が発生した場合の動作の概略フローを示している。なお、ステップＳ１０１〜Ｓ１０３が初期設定動作である。
【００３８】
次に、このように構成された第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の動作について、図１ないし図４を参照して説明する。
【００３９】
まず、プロセッサ部１は、ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のメモリ空間の要求サイズをチェックする（図４のステップＳ１０１）。なお、メモリ空間の要求サイズのチェック方法については、ＰＣＩの仕様書にある通りである。
【００４０】
次に、プロセッサ部１は、ＰＣＩメモリ空間のアドレスマップを作成し（図４のステップＳ１０２）、作成したＰＣＩメモリ空間のアドレスマップに従いＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のメモリ空間ベースアドレスレジスタ（図示せず）に値を設定する（図４のステップＳ１０３）。
【００４１】
このとき、ＰＣＩバス監視回路２００は、ＰＣＩバス１０上の動作をスヌープし、ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０と対応づけてアドレス格納回路２０１に格納する（図４のステップＳ２０１）。以上が初期設定時の動作である。
【００４２】
次に、プロセッサ部１がＰＣＩデバイスａ１００に「ＰＣＩメモリ空間アドレスの２０００００Ｈ番地からデータの読み出し指示」を行うと（図４のステップＳ１０４）、ＰＣＩデバイスａ１００は、ＰＣＩマスタデバイスとして、ＰＣＩバス１０にメモリリードコマンドとともに２０００００Ｈのアドレスを出力し、ＰＣＩターゲットデバイスからの応答を待つ（図４のステップＳ３０１）。
【００４３】
このとき、ＰＣＩバス監視回路２００では、アドレスラッチ回路２０２が、ＰＣＩバス１０上のターゲットアドレスを一時格納し、ターゲットデバイス選択回路２０３が、アドレス格納回路２０１に格納されたＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをもとに、ＰＣＩバス１０上のターゲットアドレスに対応するＰＣＩターゲットデバイスがＰＣＩデバイスｂ１１０であることを特定する（図４のステップＳ２０２）。故障などの無い正常な状態では、ＰＣＩデバイスｂ１１０がＰＣＩターゲットデバイスとして応答し、ＰＣＩバス１０上の転送は正常に終了する。
【００４４】
次に、ＰＣＩデバイスｄ１３０のメモリ空間ベースアドレスレジスタのビット２２が故障により、”０”固定となってしまった場合の動作について説明する。
【００４５】
図３を参照すると、この場合、本来ＰＣＩメモリ空間の６０００００Ｈ〜７ＦＦＦＦＦＨに割り当てられているＰＣＩデバイスｄ１３０は、上記故障によりメモリ空間が移動して、２０００００Ｈ〜３ＦＦＦＦＦＨに割り当てられたように動作する。
【００４６】
図４のステップＳ３０１およびステップＳ２０２までの動作は、上述の説明と同様である。
【００４７】
ＰＣＩデバイスｂ１１０がＰＣＩターゲットデバイスとして応答し、この応答タイミングと同時または異なるタイミングでＰＣＩデバイスｄ１３０もＰＣＩデバイスａ１００に対してＰＣＩターゲットデバイスとして応答する（図４のステップＳ３０２）。
【００４８】
ステップＳ３０２の結果として、ＰＣＩバス１０上のプロトコルは不正になる。
【００４９】
ＰＣＩバス監視回路２００では、ターゲット比較回路２０４が、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０を監視し、ターゲット動作信号ｂ３０とターゲット動作信号ｄ５０とが同時にアクティブになったことを検出し、ＰＣＩバス１０上で、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスから応答が発生したことを検出する（図４のステップＳ２０３）。
【００５０】
次に、ターゲット比較回路２０４が、エラーステータス回路２０５にターゲット動作信号ｂ３０とターゲット動作信号ｄ５０とがアクティブになったことを記憶するとともに、ターゲットデバイス選択回路２０３から特定されるＰＣＩターゲットデバイスがＰＣＩデバイスｂ１１０であることを記憶する（図４のステップＳ２０４）。
【００５１】
続いて、エラーステータス回路２０５が、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスから応答があったことをエラー報告信号２１０でプロセッサ部１に割り込み報告する（図４のステップＳ２０５）。
【００５２】
プロセッサ部１は、ＰＣＩバス１０を介してＰＣＩバス監視回路２００のエラーステータス回路２０５を参照し、ターゲット動作信号ｂ３０とターゲット動作信号ｄ５０とがアクティブになったことを記憶するとともに、ターゲットデバイス選択回路２０３から特定されるＰＣＩターゲットデバイスがＰＣＩデバイスｂ１１０であることから、ＰＣＩデバイスｄ１４０が誤応答したと判断する（図４のステップＳ１０５）。
【００５３】
以降、プロセッサ部１は、エラーリカバリ処理を実行する（図４のステップＳ１０６）。
【００５４】
このようにして、初期設定時にアドレス格納回路２０１に格納されたＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズを参照し、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０を監視することにより、２つのＰＣＩデバイスｂ１１０およびＰＣＩデバイスｄ１４０が１つのＰＣＩサイクルに対してＰＣＩターゲットデバイスとして応答したことを検出することができる。さらに、その原因がＰＣＩデバイスｄ１４０の問題であることを検出することができる。
【００５５】
ところで、上記動作の説明では、ＰＣＩメモリ空間のリード時の動作を例にとって説明したが、ＰＣＩ  Ｉ／Ｏ空間においても初期設定時にアドレス格納回路２０１に情報を記憶することにより検出が可能であるし、コンフィグレーションサイクルを除く、ＰＣＩターゲットデバイスが応答するコマンドについても検出が可能である。
【００５６】
このように、第１の実施の形態によれば、ＰＣＩバス１０において、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスが応答した場合の障害解析を容易に、かつ確実に行える。
【００５７】
（２）第２の実施の形態
図５は、本発明の第２の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ａの構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ａは、図２に示した第１の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００と比較して、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０がアドレス格納回路２０１に入力されていない点だけが異なる。
【００５８】
図６は、第２の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。この処理は、図４に示した第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理と比較して、ステップＳ１０３がステップＳ１０３’に置き換えられているとともに、ステップＳ２０１が削除されている点だけが異なる。
【００５９】
このように構成された第２の実施の形態に係るＰＣＩバスの障害解析容易化方式では、第１の実施の形態に係るＰＣＩバスの障害解析容易化方式がＰＣＩバス監視回路２００でプロセッサ部１の初期設定動作をスヌープし、ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをアドレス格納回路２０１に格納していたのに対して（図４のステップＳ２０１）、プロセッサ部１が初期設定動作の一動作としてアドレス格納回路２０１にＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０と対応づけて設定する（図６のステップＳ１０３’）。その他の動作は、第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の場合と全く同様である。
【００６０】
このように、第２の実施の形態では、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０をアドレス格納回路２０１に入力する必要がなくなるので、第１の実施の形態に比べて、ＰＣＩバス監視回路２００ａの回路を簡略化できる効果がある。
【００６１】
（３）第３の実施の形態
図７は、本発明の第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。本実施の形態に係るＰＣＩバスの障害解析容易化方式は、第１の実施の形態に係るＰＣＩバスの障害解析容易化方式と比較して、エラー報告信号２１０を除いた点だけが異なる。ただし、ＰＣＩバス監視回路２００は、ＰＣＩバス監視回路２００ｂに変更されている。
【００６２】
図８は、ＰＣＩバス監視回路２００ｂのより詳細な構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｂは、図２に示した第１の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００と比較して、エラーステータス回路２０５の結果（エラー報告信号２１０に相当）が入力されるＰＣＩリセット生成回路２０６が増設されて、エラー報告信号２１０がＰＣＩバス監視回路２００ｂ外に出力されないようになっている点だけが異なる。
【００６３】
図９は、第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。この処理は、図４に示した第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理と比較して、ステップＳ２０５がステップＳ２０５’に置き換えられているとともに、ステップＳ１０７が付加されている点だけが異なる。
【００６４】
このように構成された第３の実施の形態に係るＰＣＩバスの障害解析容易化方式では、第１の実施の形態に係るＰＣＩバスの障害解析容易化方式においては、同時に複数のＰＣＩデバイスのターゲット動作信号がアクティブになった場合に、エラー報告信号２１０でプロセッサ部１に割り込み報告するようにしていたが、同様の場合に、ＰＣＩリセット生成回路２０６がエラーステータス回路２０５の内容を保持したまま、ＰＣＩバス１０のリセットを実行し（図９のステップＳ２０５’）、ＰＣＩバス１０に接続されたすべてのＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０をリセットする。
【００６５】
プロセッサ部１は、ＰＣＩバス１０のリセットを検出し（図９のステップＳ１０７）、ＰＣＩバス１０を介してＰＣＩバス監視回路２００のエラーステータス回路２０５を参照し、ターゲット動作信号ｂ３０とターゲット動作信号ｄ５０とがアクティブになったことを記憶するとともに、ターゲットデバイス選択回路２０３から特定されるＰＣＩターゲットデバイスがＰＣＩデバイスｂ１１０であることから、ＰＣＩデバイスｄ１４０が誤応答したと判断し（図９のステップＳ１０５）、以降で、エラーリカバリ処理を実行する（図９のステップＳ１０６）。
【００６６】
このように、第３の実施の形態では、同時に複数のＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０がＰＣＩターゲットデバイスとして応答したためにＰＣＩバス１０上のプロトコルが不正となり、デッドロック状態となってしまった場合にも、その後のプロセッサ部１からエラーステータス回路２０５の参照動作を確実に行えるという効果がある。
【００６７】
（４）第４の実施の形態
図１０は、本発明の第４の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｃの構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｃは、図８に示した第３の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｂと比較して、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０がアドレス格納回路２０１に入力されていない点だけが異なる。
【００６８】
図１１は、第４の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。この処理は、図９に示した第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理と比較して、ステップＳ１０３がステップＳ１０３’に置き換えられているとともに、ステップＳ２０１が削除されている点だけが異なる。
【００６９】
このように構成された第４の実施の形態に係るＰＣＩバスの障害解析容易化方式では、第３の実施の形態に係るＰＣＩバスの障害解析容易化方式がＰＣＩバス監視回路２００ｂでプロセッサ部１の初期設定動作をスヌープし、ＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをアドレス格納回路２０１に格納していたのに対して（図９のステップＳ２０１）、プロセッサ部１が初期設定動作の一動作としてアドレス格納回路２０１にＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０と対応づけて設定する（図１１のステップＳ１０３’）。その他の動作は、第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の場合と全く同様である。
【００７０】
このように、第４の実施の形態では、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０をアドレス格納回路２０１に入力する必要がなくなるので、第３の実施の形態に比べて、ＰＣＩバス監視回路２００ｃの回路を簡略化できる効果がある。
【００７１】
（５）第５の実施の形態
図１２は、本発明の第５の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。本実施の形態に係るＰＣＩバスの障害解析容易化方式は、図１に示した第１の実施の形態に係るＰＣＩバスの障害解析容易化方式に比較して、プロセッサ部１のホストブリッジ３からＰＣＩバス監視回路２００ｄにターゲット動作信号ｅ６０が供給されている点だけが異なる。
【００７２】
図１３は、ＰＣＩバス監視回路２００ｄのより詳細な構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｄは、図２に示した第１実施の形態に係るＰＣＩバス監視回路２００に比較して、アドレス格納回路２０１およびターゲット比較回路２０４にターゲット動作信号ｅ６０が供給されるようになっている点だけが異なる。
【００７３】
このように構成された第５の実施の形態に係るＰＣＩバスの障害解析容易化方式では、プロセッサ部１およびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０がＰＣＩターゲットデバイスとして応答する場合に、プロセッサ部１からターゲット動作信号ｅ６０をＰＣＩバス監視回路２００ｄに接続しているので、プロセッサ部１のＰＣＩターゲットデバイスとしての誤応答も検出することができる。
【００７４】
（６）第６の実施の形態
図１４は、本発明の第６の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｅの構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｅは、図１３に示した第５の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｄと比較して、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０がアドレス格納回路２０１に入力されていない点だけが異なる。
【００７５】
このように構成された第６の実施の形態に係るＰＣＩバスの障害解析容易化方式では、第５の実施の形態に係るＰＣＩバスの障害解析容易化方式がＰＣＩバス監視回路２００ｄでプロセッサ部１の初期設定動作をスヌープし、プロセッサ部１およびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをアドレス格納回路２０１に格納していたのに対して、プロセッサ部１が初期設定動作の一動作としてアドレス格納回路２０１にプロセッサ部１およびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０と対応づけて設定する。その他の動作は、第５の実施の形態に係るＰＣＩバスの障害解析容易化方式の場合と全く同様である。
【００７６】
このように、第６の実施の形態では、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０をアドレス格納回路２０１に入力する必要がなくなるので、第５の実施の形態に比べて、ＰＣＩバス監視回路２００ｅの回路を簡略化できる効果がある。
【００７７】
（７）第７の実施の形態
図１５は、本発明の第７の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。本実施の形態に係るＰＣＩバスの障害解析容易化方式は、図１２に示した第５の実施の形態に係るＰＣＩバスの障害解析容易化方式と比較して、エラー報告信号２１０を除いた点だけが異なる。ただし、ＰＣＩバス監視回路２００ｄは、ＰＣＩバス監視回路２００ｆに変更されている。
【００７８】
図１６は、ＰＣＩバス監視回路２００ｆのより詳細な構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｆは、図１３に示した第５の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｄと比較して、エラーステータス回路２０５の結果（エラー報告信号２１０に相当）が入力されるＰＣＩリセット生成回路２０６が増設されて、エラー報告信号２１０がＰＣＩバス監視回路２００ｆ外に出力されないようになっている点だけが異なる。
【００７９】
このように構成された第７の実施の形態に係るＰＣＩバスの障害解析容易化方式では、１つのＰＣＩサイクルに対して複数のＰＣＩターゲットデバイスのターゲット動作信号がアクティブになった場合に、ＰＣＩリセット生成回路２０６がエラーステータス回路２０５の内容を保持したまま、ＰＣＩバス１０のリセットを実行し、ＰＣＩバス１０に接続されたすべてのＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０をリセットする。
【００８０】
プロセッサ部１は、ＰＣＩバス１０のリセットを検出し、ＰＣＩバス１０を介してＰＣＩバス監視回路２００ｆのエラーステータス回路２０５を参照し、ターゲット動作信号ｂ３０とターゲット動作信号ｄ５０とがアクティブになったことを記憶するとともに、ターゲットデバイス選択回路２０３から特定されるＰＣＩターゲットデバイスがＰＣＩデバイスｂ１１０であることから、ＰＣＩデバイスｄ１４０が誤応答したと判断し、以降で、エラーリカバリ処理を実行する。
【００８１】
このように、第７の実施の形態では、プロセッサ部１および複数のＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のうちの複数のＰＣＩターゲットデバイスが同時に応答したためにＰＣＩバス１０上のプロトコルが不正となり、デッドロック状態となってしまった場合にも、その後のプロセッサ部１からエラーステータス回路２０５の参照動作を確実に行えるという効果がある。
【００８２】
（８）第８の実施の形態
図１７は、本発明の第８の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｇの構成を示す回路ブロック図である。このＰＣＩバス監視回路２００ｇは、図１６に示した第７の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路２００ｆと比較して、ターゲット動作信号ａ２０〜ターゲット動作信号ｅ６０がアドレス格納回路２０１に入力されていない点だけが異なる。
【００８３】
このように構成された第８の実施の形態に係るＰＣＩバスの障害解析容易化方式では、第７の実施の形態に係るＰＣＩバスの障害解析容易化方式がＰＣＩバス監視回路２００ｆでプロセッサ部１の初期設定動作をスヌープし、プロセッサ部１およびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをアドレス格納回路２０１に格納していたのに対して、プロセッサ部１が初期設定動作の一動作としてアドレス格納回路２０１にプロセッサ部１およびＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０のベースアドレスおよびサイズをターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０と対応づけて設定する。その他の動作は、第７の実施の形態に係るＰＣＩバスの障害解析容易化方式の場合と全く同様である。
【００８４】
このように、第８の実施の形態では、ターゲット動作信号ａ２０〜ターゲット動作信号ｄ５０をアドレス格納回路２０１に入力する必要がなくなるので、第７の実施の形態に比べて、ＰＣＩバス監視回路２００ｇの回路を簡略化できる効果がある。
【００８５】
なお、本発明は、これまでに説明した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々に変更可能である。たとえば、各実施の形態に係るＰＣＩバスの障害解析容易化方式では４つのＰＣＩデバイスａ１００〜ＰＣＩデバイスｄ１３０が存在するものとしたが、２つ以上のＰＣＩデバイスが接続されたＰＣＩバス１０であれば本発明を実現することが可能である。
【００８６】
【発明の効果】
本発明の効果は、ＰＣＩバスにおいて、１つのＰＣＩサイクルに対し複数のＰＣＩターゲットデバイスが応答した場合の障害解析を容易に、かつ確実に行える点である。
【００８７】
容易に行える理由は、ＰＣＩバス監視回路には、本来ＰＣＩターゲットデバイスとして応答してはならないデバイスを特定できる機能を有しており、プロセッサ部がこれを参照することで誤応答のＰＣＩターゲットデバイスを特定できるためである。
【００８８】
また、確実に行える理由は、上記障害のような場合、ＰＣＩマスタデバイスからは正常に応答したＰＣＩターゲットデバイスの故障と判断されてしまい、別の誤応答を行ったＰＣＩターゲットデバイスの障害とは判断し難いが、ＰＣＩバス監視回路では本来ＰＣＩターゲットデバイスとして応答してはならないＰＣＩデバイスが応答したとの情報が格納され、正常に応答したＰＣＩターゲットデバイスと不正に応答したＰＣＩターゲットデバイスとの切り分けが可能なためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。
【図２】図１中のＰＣＩバス監視回路のより詳細な構成を示す回路ブロック図である。
【図３】図１中のプロセッサ部が作成するＰＣＩデバイスのメモリ空間アドレスマップの一例を示す図である。
【図４】第１の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。
【図５】本発明の第２の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路の構成を示す回路ブロック図である。
【図６】第２の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。
【図７】本発明の第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。
【図８】図７中のＰＣＩバス監視回路のより詳細な構成を示す回路ブロック図である。
【図９】第３の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。
【図１０】本発明の第４の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路の構成を示す回路ブロック図である。
【図１１】第４の実施の形態に係るＰＣＩバスの障害解析容易化方式の処理例を示すフローチャートである。
【図１２】本発明の第５の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。
【図１３】図１２中のＰＣＩバス監視回路のより詳細な構成を示す回路ブロック図である。
【図１４】本発明の第６の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路の構成を示す回路ブロック図である。
【図１５】本発明の第７の実施の形態に係るＰＣＩバスの障害解析容易化方式の構成を示す回路ブロック図である。
【図１６】図１５中のＰＣＩバス監視回路のより詳細な構成を示す回路ブロック図である。
【図１７】本発明の第８の実施の形態に係るＰＣＩバスの障害解析容易化方式におけるＰＣＩバス監視回路の構成を示す回路ブロック図である。
【符号の説明】
１  プロセッサ部
２  マイクロプロセッサ
３  ホストブリッジ
４  メモリ
１０  ＰＣＩバス
２０〜６０  ターゲット動作信号ａ〜ｅ
１００〜１３０  ＰＣＩデバイスａ〜ｄ
２００，２００ａ〜２００ｇ  ＰＣＩバス監視回路
２０１  アドレス格納回路
２０２  アドレスラッチ回路
２０３  ターゲットデバイス選択回路
２０４  ターゲット比較回路
２０５  エラーステータス回路
２０６  ＰＣＩリセット生成回路
２１０  エラー報告信号
【図１】
0003711871.tif 000002
【図２】
0003711871.tif 000003
【図３】
0003711871.tif 000004
【図４】
0003711871.tif 000005
【図５】
0003711871.tif 000006
【図６】
0003711871.tif 000007
【図７】
0003711871.tif 000008
【図８】
0003711871.tif 000009
【図９】
0003711871.tif 000010
【図１０】
0003711871.tif 000011
【図１１】
0003711871.tif 000012
【図１２】
0003711871.tif 000013
【図１３】
0003711871.tif 000014
【図１４】
0003711871.tif 000015
【図１５】
0003711871.tif 000016
【図１６】
0003711871.tif 000017
【図１７】
0003711871.tif 000018