(57)【特許請求の範囲】
【請求項１】
プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、
前記ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、前記ＰＣＩホスト・ブリッジに装備され前記各ＰＣＩデバイスに対応した周波数のバスクロックを前記ＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備えて成る情報処理装置において、
前記ＰＣＩクロック制御部から出力されている動作クロックが前記一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを判定する周波数判定手段を設け、
前記ＰＣＩホスト・ブリッジと前記各ＰＣＩデバイスとの間に、外部指令に応じて前記ＰＣＩデバイスのうち前記周波数判定手段によって前記動作クロックに対応していないと判定された側のＰＣＩデバイスにかかるバス使用要求信号をマスクする要求信号マスク手段を介装すると共に、
前記プロセッサは、前記要求信号マスク手段でマスクされた前記ＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、前記ＰＣＩクロック制御部に指令する対応バスクロック出力指令機能を備えていることを特徴とした情報処理装置。
【請求項２】
前記請求項１に記載の情報処理装置において、
前記要求信号マスク手段は、前記周波数判定手段によって前記動作クロックが前記一方のＰＣＩデバイスに対応する周波数であると判定された場合に、当該判定信号に基づいて前記他方のＰＣＩデバイスからのバス使用要求信号を選択的にマスクする選択的マスク機能を備え、
この要求信号マスク手段によってマスクされた前記他方のＰＣＩデバイスからバス使用要求信号が出力された場合に、これを保持して監視状態に設定する監視手段を設け、
前記プロセッサは、前記監視手段に保持されているバス使用要求信号が前記一方のＰＣＩデバイスにかかるバス使用要求信号と同一の信号か否かを判断し、異なったバス使用要求信号が保持されていると判断した場合に前記ＰＣＩクロック制御部に対して周波数切替え指令を発信する切替え指令発信機能を備え、
前記ＰＣＩクロック制御部は、前記プロセッサからの指令に基づいて作動し前記ＰＣＩバスにおける動作クロックの周波数を前記バス使用要求信号にかかる他のＰＣＩデバイスに対応したクロック周波数に切り替えるクロック切替え制御機能を備えていることを特徴とした情報処理装置。
【請求項３】
前記請求項１又は２に記載の情報処理装置において、
前記要求信号マスク手段は、Ｄ型フリップフロップと論理和ＯＲのロジックにより一の回路を構成し、前記各ＰＣＩデバイスからのバス使用要求信号に対応して各ＰＣＩデバイス毎に各一つの回路を有することを特徴とした情報処理装置。
【請求項４】
前記請求項１又は２に記載の情報処理装置において、
前記監視手段を、前記要求信号マスク手段によってマスクされたバス使用要求信号をラッチする回路と、当該バス使用要求信号を保持するメモリとを含む構成としたことを特徴とする情報処理装置。
【請求項５】
プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、
前記ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、前記ＰＣＩホスト・ブリッジに装備され前記各ＰＣＩデバイスに対応した周波数のバスクロックを前記ＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備えて成る情報処理装置にあって、
前記ＰＣＩクロック制御部から出力されている動作クロックが前記一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを予め備えられた周波数判定処理手段が判定する周波数判定工程と、
前記ＰＣＩホスト・ブリッジと前記各ＰＣＩデバイスとの間に、外部指令に応じて前記ＰＣＩデバイスのうち前記周波数判定工程で前記動作クロックに対応していないと判定された側のＰＣＩデバイスにかかるバス使用要求信号を予め備えられた要求信号マスク手段がマスクする要求信号マスク工程と、
前記要求信号マスク処理工程でマスクされた前記ＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、予め備えられた前記プロセッサの対応バスクロック出力指令機能が前記ＰＣＩクロック制御部に指令するクロック切替工程と
を備えていることを特徴としたＰＣＩバス制御方法。
【請求項６】
プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、
前記ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、前記ＰＣＩホスト・ブリッジに装備され前記各ＰＣＩデバイスに対応した周波数のバスクロックを前記ＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備えて成る情報処理装置にあって、
前記情報処理装置が備えるコンピュータに、
前記ＰＣＩクロック制御部から出力されている動作クロックが前記一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを判定する周波数判定機能と、
前記ＰＣＩホスト・ブリッジと前記各ＰＣＩデバイスとの間に、外部指令に応じて前記ＰＣＩデバイスのうち前記周波数判定処理機能で前記動作クロックに対応していないと判定された側のＰＣＩデバイスにかかるバス使用要求信号をマスクする要求信号マスク機能と、
前記要求信号マスク処理機能でマスクされた前記ＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、前記ＰＣＩクロック制御部に指令するクロック切替機能と
を実行させることを特徴としたＰＣＩバス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩバスを備えた情報処理装置に係り、特に動作クロック周波数の異なる複数の周辺機器（ＰＣＩデバイス）とＰＣＩバスとの接続の効率化を図った情報処理装置、ＰＣＩバス制御方法、およびＰＣＩバス制御プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置の性能向上に伴い、情報処理装置に多様な周辺機器（デバイス）を接続する要求が高まっている。そのため、情報処理装置には、複数の周辺デバイスが共通に使えるデータ入出力のための転送回路（「バス」という）が設けられている。
この場合、動作クロック周波数が同一の周辺デバイスを接続する場合は、同一のバス（例えばＩＳＡバス、ＰＣＩバスなど）に接続すればすむが、動作クロック周波数の異なる複数の周辺デバイスを接続するためには、動作クロック周波数に対応した複数の「バス」が必要であった。
【０００３】
ここで、具体例として、従来の情報処理装置に備わるバスの代表例であるＰＣＩ（Peripheral Component Interconnect ）バスについて、複数のバスを備える構成について説明する（図７参照）。
この図７に示すように、この具体例では、プロセッサ１１０とそれにつながるシステムバス１２０、及びこのシステムバス１２０とＰＣＩバス（Ａ）１４０とを接続するＰＣＩホスト・ブリッジ１３０、更に、ＰＣＩ−ＰＣＩ・ブリッジ１５０をＰＣＩバスＡ１４０の配下に接続し、ＰＣＩバス（Ｂ）１６０を設けた構成となっている。
【０００４】
この図７に示す構成では、異なるＰＣＩクロックで動作する周辺機器（ＰＣＩバスにつながる周辺デバイスという意味で、以下「ＰＣＩデバイス」と呼ぶ）１７０，１８０を動作させる場合、例えば、ＰＣＩバスＡ１４０を６６〔ＭＨｚ〕用、ＰＣＩバスＢ１６０を３３〔ＭＨｚ〕用にすることで、６６〔ＭＨｚ〕と３３〔ＭＨｚ〕のように異なるＰＣＩクロックのＰＣＩデバイスを動作させるという手法が採られている。
【０００５】
また、異なるクロックで動作する複数のＰＣＩバスを夫々設け、それらＰＣＩバスを一つのＰＣＩホスト・ブリッジを介してシステムバスに接続・切替えるという方法で、ＰＣＩ- ＰＣＩ・ブリッジを不要とした構成（特許文献１）や、ＰＣＩデバイスを接続するスロットにバススイッチを介してクロック周波数の異なる２つのＰＣＩバスを設け、その各ＰＣＩバスは一つのＰＣＩホスト・ブリッジを介してシステムバスに接続・切替えるという方法（特許文献２）が、従来より知られている。
【０００６】
【特許文献１】特開２０００−０８２０３５号公報
【特許文献２】特開２００１−０４３１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した図７に示す例では、ＰＣＩ−ＰＣＩブリッジ１５０を常に実装する必要があり、更にこのブリッジ回路１５０は回路構成が複雑であることからコストが高くなるという不都合があった。また、この図７の例では、ＰＣＩバスを２本必要とするため、回路規模が大きくなるという不都合があった。
【０００８】
又、上述した特許文献１，２に開示された内容にあっては、複数のＰＣＩバスを用意する点では何れも同じであり、そのためバス制御回路やバススイッチなどのために回路規模が大きくなるという問題を抱えていた。
上述したように、従来の方法では、動作クロックが異なるＰＣＩデバイスを情報処理装置のＰＣＩバスに接続・搭載する場合、例えＰＣＩ- ＰＣＩブリッジを使用しない方式であっても、複数のＰＣＩバスが必要であった。そのため、ＰＣＩバス毎にバス制御回路やバススイッチを必要とするため回路規模が大きくなるという問題を常に抱えていた。
【０００９】
（発明の目的）
本発明は、上記問題点に鑑み、ＰＣＩバスを最小単位にて構成すると共にシステム構成の簡易化を図った情報処理装置、ＰＣＩバス制御方法、及びＰＣＩバス制御プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る情報処理装置は、プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、前記ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、前記ＰＣＩホスト・ブリッジに装備され前記各ＰＣＩデバイスに対応した周波数のバスクロックを前記ＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備え、前記ＰＣＩクロック制御部から出力されている動作クロックが前記一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを判定する周波数判定手段を設けている。更に、前述したＰＣＩホスト・ブリッジと前記各ＰＣＩデバイスとの間には、外部指令に応じて前記ＰＣＩデバイスのうち前記周波数判定手段によって前記動作クロックに対応していないと判定された側のバス使用要求信号をマスクする要求信号マスク手段が介装されている。そして、前記プロセッサは、前記要求信号マスク手段でマスクされた前記ＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、前記ＰＣＩクロック制御部に指令する対応バスクロック出力指令機能を備えていることを特徴とする。
【００１１】
上記目的を達成するため、本発明に係るＰＣＩバス制御方法は、プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、ＰＣＩホスト・ブリッジに装備され各ＰＣＩデバイスに対応した周波数のバスクロックをＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備えて成る情報処理装置にあって、ＰＣＩクロック制御部から出力されている動作クロックが一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを予め備えられた周波数判定処理手段が判定する周波数判定工程と、ＰＣＩホスト・ブリッジと各ＰＣＩデバイスとの間に、外部指令に応じてＰＣＩデバイスのうち周波数判定工程で動作クロックに対応していないと判定された側のＰＣＩデバイスにかかるバス使用要求信号を予め備えられた要求信号マスク手段がマスクする要求信号マスク工程と、要求信号マスク処理工程でマスクされたＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、予め備えられたプロセッサの対応バスクロック出力指令機能がＰＣＩクロック制御部に指令するクロック切替工程とを備えていることを特徴とする。
【００１２】
上記目的を達成するため、本発明に係るＰＣＩバス制御プログラムは、プロセッサおよびメモリが接続されたシステムバスと、このシステムバスにＰＣＩホスト・ブリッジを介して接続されたＰＣＩバスとを有し、ＰＣＩバスに接続された周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイスと、ＰＣＩホスト・ブリッジに装備され各ＰＣＩデバイスに対応した周波数のバスクロックをＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部とを備えて成る情報処理装置にあって、情報処理装置が備えるコンピュータに、ＰＣＩクロック制御部から出力されている動作クロックが一方と他方の何れのＰＣＩデバイスに対応した周波数であるかを判定する周波数判定機能と、ＰＣＩホスト・ブリッジと各ＰＣＩデバイスとの間に、外部指令に応じてＰＣＩデバイスのうち周波数判定機能で動作クロックに対応していないと判定された側のＰＣＩデバイスにかかるバス使用要求信号をマスクする要求信号マスク機能と、要求信号マスク処理機能でマスクされたＰＣＩデバイスにかかるバス使用要求信号が出力された場合に当該ＰＣＩデバイスに対応する周波数のバスクロックを出力するように、ＰＣＩクロック制御部に指令するクロック切替機能とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明は、以上のように構成され且つ同一のＰＣＩバス上で異なる動作クロックのＰＣＩデバイスを接続し切替え制御可能としたので、システム構成が大幅に簡易化され、同時にＰＣＩバスクロック周波数を動作クロック周波数としていない他のＰＣＩデバイスからバス使用要求信号が出力された場合に当該バス使用要求信号を要求信号マスク手段が選択的にマスクする構成としたので、プロセッサの負担が大幅に軽減され、これがためシステム全体の情報処理をより一層迅速に成し得るという従来にない優れた情報処理装置、ＰＣＩバス制御方法、およびＰＣＩバス制御プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態を図１乃至６に基づいて説明する。
ここで、本実施形態では、最初に情報処理装置の基本的な構成を説明し、その後に具体的な内容を順次説明する。
【００１５】
まず、図１に、本実施形態に係る情報処理装置のブロック図を示す。この図１において、本情報処理装置は、プロセッサ１０およびメモリ１５が接続されたシステムバス２０と、このシステムバス２０にＰＣＩホスト・ブリッジ３０を介して接続されたＰＣＩバス６０とを有する。このＰＣＩバス６０には、周波数の異なる一方と他方の少なくとも二つのＰＣＩデバイス７０，８０が接続されている。
ここで、本実施形態にあっては、一方のＰＣＩデバイス７０は３３〔ＭＨｚ〕で動作する機能を備え、他方のＰＣＩデバイス８０は６６〔ＭＨｚ〕で動作する機能を備えて構成されている。
【００１６】
ＰＣＩホスト・ブリッジ３０には、上述した各ＰＣＩデバイス７０，８０に対応した周波数３３〔ＭＨｚ〕又は６６〔ＭＨｚ〕のバスクロックをＰＣＩバス用の動作クロックとして出力するＰＣＩクロック制御部３５が装備されている。
又、ＰＣＩホスト・ブリッジ３０と前記各ＰＣＩデバイス７０，８０との間には、前記ＰＣＩバス６０とは別に、外部指令に応じて前記ＰＣＩデバイス７０，８０の何れか一方のバス使用要求信号をマスクするＲＥＱマスク部（要求信号マスク手段）５０が介装されている。
【００１７】
又、本実施形態にあっては、前述したＰＣＩクロック制御部３５から出力されている動作クロックが前記一方と他方の何れのＰＣＩデバイス７０又は８０に対応した周波数であるかを判定する周波数判定手段１１がシステムバス２０に併設されている。ここで、この周波数判定手段１１は、例えば、前述したメモリ１５に予め記憶した周波数判定プログラム１５Ａをプロセッサ１０で実行することにより実現されるように構成してもよい。
【００１８】
ここで、ＲＥＱマスク部（要求信号マスク手段）５０は、前述した一方又は他方のＰＣＩデバイスから７０，８０からのバス使用要求信号を入力すると共に、前記周波数判定手段１１でＰＣＩバス６０上の動作クロックの周波数が例えば一方のＰＣＩデバイス７０（又は８０）に対応する周波数であると判定された場合に、この判定結果に基づいて他方のＰＣＩデバイス８０（又は７０）からのバス使用要求信号を選択的にマスクする選択的マスク機能を備えている。
そして、ＰＣＩバスのクロック周波数が切替えられると、それに伴い、プロセッサ１０からの指令「ＭＡＳＫ  ＲＥＱ」により、マスク対象となるＰＣＩデバイスからのバス使用要求信号REQ#＿INが、これまでマスクされずに通過されていた信号に切替えられるという機能を備えている。
【００１９】
更に、本実施形態には、上記ＲＥＱマスク部５０によってマスクされた前記他方のＰＣＩデバイス８０（又は７０）からバス使用要求信号が出力された場合に、これを保持して監視状態に設定するＲＥＱ監視部（監視手段）４０が設けられている。即ち、前述したシステムバス２０には、前述した二つのＰＣＩデバイス７０，８０からのバス使用要求信号の発信有無を監視し当該監視情報を前記プロセッサ１０に伝送するＲＥＱ監視部（監視手段）４０が併設されている。
【００２０】
又、前述したプロセッサ１０は、ＲＥＱ監視部（監視手段）４０に保持されているバス使用要求信号が前記一方のＰＣＩデバイスにかかるバス使用要求信号と同一の信号か否かを判断し、異なったバス使用要求信号が保持されていると判断した場合に前述したＰＣＩクロック制御部３５に対して周波数切替え指令を発信する切替え指令発信機能１０ａを備えている。
そして、ＰＣＩクロック制御部３５は、プロセッサ１０からの指令に基づいて作動し前記ＰＣＩバス６０における動作クロックの周波数を前記バス使用要求信号にかかる他のＰＣＩデバイス８０（又は７０）に対応したクロック周波数に切り替えるクロック切替え制御機能３５ａを備えている。
【００２１】
ここで、前述したＲＥＱマスク部（要求信号マスク手段）５０の具体例を説明する。
図１に示すように、ＰＣＩデバイス７０用のＲＥＱマスク回路５０Ａと、ＰＣＩデバイス８０用のＲＥＱマスク回路５０Ｂとを備えている。このＲＥＱマスク回路５０Ａ，５０Ｂは共に同一の構成部材により構成されている。
このＲＥＱマスク回路５０Ａ，５０Ｂは、後述するように、それぞれＤ型フリップフロップ５４と論理和ＯＲ回路５２のロジックにより構成され、前記各ＰＣＩデバイス７０又は８０からのバス使用要求信号に個別に且つ迅速に対応し得るように、前述した各ＰＣＩデバイス毎に各一つの回路を有する構成となっている（図３参照）。
【００２２】
又、ＲＥＱ監視部（監視手段）４０は、マスクされたバス使用要求信号をラッチする機能を有すると共に当該ラッチした使用要求信号を保持するメモリ（ＲＥＱ監視テーブル）４５を備えている。そして、プロセッサ１０は、自己の動作タイミングに沿って前記メモリ４５から定期的に当該記憶内容を取り込むように構成されている。
【００２３】
以下、これを更に詳細に説明する。
上述したＰＣＩバス６０は、動作クロック周波数の異なるＰＣＩデバイス７０，８０を接続し搭載するＰＣＩバス仕様に準拠したＰＣＩ信号を許容するバスである。
ＰＣＩホスト・ブリッジ３０は、システム・バス２０とＰＣＩバス６０との間の情報転送、及びＰＣＩバス６０のバス制御を行う機能を備えている。このＰＣＩバス６０に対するバス制御は、ＲＥＱマスク部５０からの出力信号であるＰＣＩデバイス７０又は８０からのバス使用要求信号REQ#＿OUT の競合制御（アービトレーション）を行い、衝突を回避しながらＰＣＩバス６０の時分割的使用をＰＣＩバス仕様に準拠して当該制御が実行される。
【００２４】
尚、ここでは、動作中のバスクロック周波数と異なる動作クロックを有するＰＣＩデバイスからのバス使用要求信号は、後述するように、ＲＥＱマスク部５０においてマスクされ、本ＰＣＩホスト・ブリッジ３０へは出力されない。そのため、この場合の競合制御は、同一動作クロック周波数を有するＰＣＩデバイスの間におけるものとなる。
【００２５】
ＰＣＩクロック制御部３５は、前述したようにＰＣＩバス６０に供給する２つのバスクロック（例えば３３〔ＭＨｚ〕と６６〔ＭＨｚ〕）の供給とその切替制御を行なう。このバスクロックの切替制御は、プロセッサ１０からの指令に基づくが、その切替制御の契機になるのは、プロセッサ１０によるＲＥＱ監視部４０が備えるＲＥＱ監視テーブル４５の監視によって現在動作中のバスクロック周波数とは異なる動作クロック周波数を有するＰＣＩデバイスからのバス使用要求信号が出される場合である。
【００２６】
ＲＥＱ監視部４０は、ＰＣＩデバイス７０、８０の各使用要求信号（ＲＥＱ＃１信号，ＲＥＱ＃２信号）の状態をラッチし、その状態を、自身が備える記憶回路上にＲＥＱ監視テーブル４５として格納し保持する。
尚、本ＲＥＱ監視テーブル４５は、プロセッサ１０から監視できるように構成されている。即ち、プロセッサ１０は、メモリ１５上の監視プログラムと協働して、ＲＥＱ監視テーブル４５の中のＲＥＱマスク部５０でマスクされてバスの使用が禁止されているＰＣＩデバイスからのバス使用要求信号の状態を検出し、それが有効になったことを契機にバスクロック切替の指令をＰＣＩクロック制御部３５に送出する。
【００２７】
ＲＥＱマスク部５０は、プロセッサ１０からの指令により、動作中のＰＣＩバスクロック周波数と同じ動作クロックを持つＰＣＩデバイス７０又は８０からのバス使用要求信号のみを受け付けＰＣＩホスト・ブリッジ３０へ出力し、異なる動作クロックのＰＣＩデバイスからのバス使用要求信号はマスクするよう構成されている。
そして、ＰＣＩバスのクロック周波数が切替えられると、それに伴い、プロセッサ１０からの指令により、マスク対象となるＰＣＩデバイスからのバス使用要求信号REQ#＿INが、これまでマスクされずに通過されていた信号に切替えられるという機能を備えている。
【００２８】
次に、ＲＥＱマスク部５０の具体的な構成と動作の説明に先立って、本実施形態におけるＰＣＩバス６０のバス制御の基本的な動作内容について（詳細は後述する）。
【００２９】
図２に示すように、まず、プロセッサ１０によって、現在動作しているＰＣＩバス６０のクロック周波数が判定される（周波数判定工程：第１のステップ）。次に、ＲＥＱマスク部５０においては、プロセッサ１０から動作中のクロック周波数の情報を受けて、現在のＰＣＩバス６０のクロック周波数で動作するＰＣＩデバイス（例えばＰＣＩデバイス７０）からのバス使用要求がＰＣＩホスト・ブリッジ３０へ送出し、現在動作中のＰＣＩバスクロック周波数を動作クロック周波数とはしない他のＰＣＩデバイス（例えばＰＣＩデバイス８０）からのバス使用要求信号は選択的にマスクしてＰＣＩホスト・ブリッジ３０へは送出しない（要求信号マスク工程：第２のステップ）。
【００３０】
続いて、プロセッサ１０とＲＥＱ監視部４０のＲＥＱ監視テーブル４５の協同により選択的にマスクされたバス使用要求信号を監視する（監視工程：第３のステップ）。その監視工程でのバス使用要求信号の活性化が検出された場合、即ち、ＲＥＱ監視部４０に保持されているバス使用要求信号が前記ＰＣＩバス６０における動作クロック周波数にかかるバス使用要求信号とは異なった信号であると判断された場合（要求信号の活性化検出工程：第４ステップ）には、当該バス使用要求信号に基づいて、プロセッサ１０からはクロック切替指令が出され、ＰＣＩクロック制御部３５においてはＰＣＩバスクロック周波数が切替えられる（クロック切替工程：第５のステップ）。
【００３１】
このクロック切替によって、上述したように、周波数判定工程でクロック周波数を判定したプロセッサ１０は、ＲＥＱマスク部５０にクロック周波数の情報を送り、現在と反対のＰＣＩデバイスをマスクするようＲＥＱマスク部５０を動作させるので、これまでバス使用要求を抑えられていたＰＣＩデバイスがバス使用権を得るようになり、バス使用権を持っていたＰＣＩデバイスがバス使用を抑えられるように切り替わる。
【００３２】
ここで、上述したＰＣＩバス６０のバス制御にかかる基本的な制御動作の内容をプログラム化し、前述したプロセッサ１０に実行させるように構成しても良い。
このＰＣＩバス６０のバス制御にかかる上記制御動作の内容のプログラムに関しては、例えば、以下に示す形態で特定してもよい。
【００３３】
即ち、前述したＰＣＩホスト・ブリッジ３０から前記ＰＣＩバス６０に出力されているＰＣＩバス用の動作クロックの周波数が何れのＰＣＩデバイス７０又は８０にかかる周波数であるかを判定する周波数判定機能、この判定されたＰＣＩバス６０のバスクロック周波数を動作クロック周波数としていない他のＰＣＩデバイス８０又は７０からバス使用要求信号が出力された場合に当該バス使用要求信号を予め装備したＲＥＱマスク部５０が選択的にマスクするのを許容すると共に、当該マスクされた前記他のＰＣＩデバイス８０又は７０にかかるバス使用要求信号を前記システムバス２０に予め装備した監視手段４０が取り込んで保持するのを許容する要求信号保持許容機能、この監視手段４０にて保持されているバス使用要求信号が前記ＰＣＩバス６０における動作クロック周波数にかかるバス使用要求信号とは異なった信号か否かを判断する要求信号判断機能、前記監視手段４０にて保持されているバス使用要求信号が前記ＰＣＩバス６０における動作クロック周波数にかかるバス使用要求信号とは異なった信号と判断した場合に、前記ＰＣＩホスト・ブリッジ３０に対して前記ＰＣＩバス用の動作クロックの切替え指令を発する切替え指令発信機能、を前述したプロセッサ１０に実行させるようにプログラム化する。
【００３４】
次に、ＲＥＱマスク部５０の構成の具体例につき、前述した図１及び図３に基づいて詳細に説明する。
ＲＥＱマスク部５０は、図１に示すように、前述した一方と他方の二つのＰＣＩデバイ７０，８０に対応して二つのＲＥＱマスク回路５０Ａ，５０Ｂを備えている。
ここで、本ＲＥＱマスク部５０は、図１では、二つのＲＥＱマスク回路５０Ａ，５０Ｂを備えている場合を例示したが、ＰＣＩデバイスが三つ以上の場合は、その個数分のＲＥＱマスク回路を備えて構成される。
前述した一方のＰＣＩデバイ７０に対応した一方のＲＥＱマスク回路５０Ａは、図３（ａ）に示すように、Ｄ型フリップ・フロップ５４と論理和であるＯＲ回路５２のロジックを備えて構成されている。他方のＲＥＱマスク回路５０Ｂも同様に構成されている。
【００３５】
図３（ｂ），（ｃ）に、本ＲＥＱマスク部５０Ａ（又は５０Ｂ）の動作を明確にするため、Ｄ型フリップ・フロップ５４の真理値表および論理和ＯＲ回路５２の真理値表を示す。
【００３６】
ここで、上記ＲＥＱマスク部５０に関係している制御信号について詳述する。
まず、論理和ＯＲ回路５２への入力信号として、ＰＣＩデバイスからのバス使用要求信号REQ#＿INがある。又、Ｄ型フリップ・フロップ５４への入力信号としては、プロセッサ１０からのマスク要求信号信号MASK＿REQ とＰＣＩバスのクロック信号PCICLK＿INとがある。
【００３７】
更に、ＲＥＱマスク部５０からの出力信号でＰＣＩホスト・ブリッジ３０へのバス使用要求信号としてはREQ#＿OUT があり、Ｄ型フリップ・フロップ５４の出力端子Ｄからの出力信号で論理和ＯＲ回路５２への入力信号としては内部信号MASK＿ENがある。この内部信号MASK＿ENは、マスクの有効／無効を制御する制御信号であり、本信号が有効のときは、ＰＣＩホスト・ブリッジ３０への使用要求信号「REQ#＿OUT 」は有効にならない。
【００３８】
尚、ここでの信号表示に＃が入っている信号は、負論理を示し、信号が「０」のとき有効であり、「１」のとき無効であることを示す。また、＃が付いていない信号は正論理を示し、信号が「０」のとき無効であり、「１」のとき有効であることを示す。
【００３９】
以下、本ＲＥＱマスク部５０のＲＥＱマスク回路５０Ａの全体的な動作を、図３乃至図５に基づいて説明する。
ここで、図４に、ＲＥＱマスク回路５０Ａの信号制御のタイミングチャートを示す。この図４に示すように、ＲＥＱマスク回路５０Ａの信号制御を、マスク動作のタイミング、マスク動作状態、マスク解除のタイミングの順に説明する。
【００４０】
〈マスク動作のタイミング〉
図４中の４−１（マスクタイミング）のタイミングでは、本ＲＥＱマスク回路５０Ａの出力信号である信号REQ#＿OUT が「１」であり、この信号REQ#＿OUT がフリップ・フロップ５４の端子ＥＮに加えられているので、フリップ・フロップ５４は有効になっている。
【００４１】
このため、フリップ・フロップ５４の入力端子Ｄへの入力信号でプロセッサ１０からのマスク要求信号MASK＿REQ が有効になると、フリップ・フロップ５４の出力端子Ｑからの信号である内部信号MASK＿ENが有効になり、論理和ＯＲ回路５２へ入力されるＰＣＩデバイス７０からのバス使用要求信号REQ#＿INが「０」であっても「１」であっても論理和ＯＲ回路５２の出力端子Ｘからの出力信号にマスクがかかり「１」となる。
【００４２】
〈マスク動作状態〉
図中の４−２（マスク状態）のタイミングでは、内部信号MASK＿ENが有効になっているため、論理和ＯＲ回路５２へ入力されるＰＣＩデバイス７０からのバス使用要求信号REQ#＿INが有効になっても、本ＲＥＱマスク回路５０Ａの出力信号である信号REQ#＿OUT は有効にならないので、バス使用要求信号REQ#＿INはマスク状態となる。
【００４３】
〈マスク解除のタイミング〉
図中の４−３（マスク解除タイミング）では、プロセッサ１０からのマスク要求信号MASK＿REQ が無効になるため、内部信号MASK＿ENが無効になる。このため、論理和ＯＲ回路５２へ入力されるＰＣＩデバイス７０からのバス使用要求信号REQ#＿INの有効状態が、本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT から出力されることになりマスク状態が解除される。
【００４４】
〈マスク解除中〉
図中の４−４（マスク解除中）のタイミングでは、内部信号MASK＿ENが無効のため、論理和ＯＲ回路５２へ入力されるＰＣＩデバイス７０からのバス使用要求信号REQ#＿INの状態変化と共に、本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT も変化する。即ち、バス使用要求信号REQ#＿INはマスクされないで出力信号REQ#＿OUT に反映される。
【００４５】
次に、図５に基づいて、前述したＰＣＩデバイス７０からのバス使用要求信号REQ#が有効となっている場合に実行される前述したプロセッサ１０からのマスク要求信号MASK＿REQ の動作を説明する。
図５の５−１のタイミングより前は、マスク解除状態であるため、ＰＣＩデバイスからの使用要求信号REQ#＿INと本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT とは、共に変化し、図５の５−１のタイミングは、ＰＣＩデバイスからの使用要求信号REQ#＿INと本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT とが、共に有効になっている状態である。このとき、プロセッサ１０からのマスク要求信号MASK＿REQ が有効になった場合の動作は、以下のようになる。
【００４６】
本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT が有効、即ち負論理であるから「０」になっている場合、フリップ・フロップ５４の端子ＥＮは「０」になり、フリップ・フロップ５４は動作無効状態になっている。このため、プロセッサ１０からのマスク要求信号MASK＿REQ が有効になっても、内部信号MASK＿ENは有効にならない。
よって、バス使用要求信号REQ#＿INは、マスクされないで本ＲＥＱマスク回路５０Ａの出力信号REQ#＿OUT になる。
【００４７】
その後、図５の５−２のタイミングで、バス使用要求信号REQ#＿INが無効、即ち「１」になると、フリップ・フロップ５４の端子ＥＮは有効になり、フリップ・フロップ５４が動作可能になる。これにより、プロセッサ１０からのマスク要求信号MASK＿REQ が有効になることによって、内部信号MASK＿ENが有効になる。
よって、バス使用要求信号REQ#＿INはマスクされる。
【００４８】
以上のように動作するＲＥＱマスク回路５０Ａを用いることにより、バス使用要求信号REQ ＃が有効である場合にもマスク動作での誤動作を回避し、バスクロック周波数を適切に切替られる。
これらの動作は、ＰＣＩデバイス８０からのバス使用要求信号REQ#がＲＥＱマスク回路５０Ｂに入力された場合も同様に作動する。
【００４９】
（バス制御動作の説明）
続いて、本情報処理装置のＰＣＩバス制御動作、特に、同一ＰＣＩバス上に動作クロック周波数の異なるＰＣＩデバイスが接続（搭載）されている場合の動作について説明する。
【００５０】
ここで、本動作の説明に先立って、一般的な単一クロック周波数のＰＣＩバス上におけるＰＣＩデバイスの基本的動作を説明する。
例えば、前述した図７における周知例の場合、ＰＣＩデバイス１７０が情報転送動作の主導権をもつマスタ（「イニシエータ」ともいう）として動作する場合には、ＰＣＩデバイス１７０は、使用要求信号（ＲＥＱ＃）を有効にすることで、まず、ＰＣＩホスト・ブリッジ１３０にＰＣＩバスＡ１４０の使用要求（リクエスト）を行う。次に、ＰＣＩホスト・ブリッジ１３０は、有効な使用要求信号を受けると、使用許可信号( ＧＮＴ＃) に基づいてＰＣＩデバイス１７０にＰＣＩバスＡ１４０の使用許可を行う。これにより、ＰＣＩバスＡ１４０の使用許可を得たＰＣＩデバイス１７０は、ＰＣＩバスＡ１４０を使用してアクセスを開始できる。
【００５１】
本実施形態に係る情報処理装置（図１参照）の場合は、上述した図７の動作に加えて、ＰＣＩバス６０のバスクロック周波数とＰＣＩデバイス７０，８０の動作可能なクロック周波数が合わせるための構成と動作を備えている。
以下、その具体的な内容を、図６に基づいて説明する。
【００５２】
ここで、具体例として、ＰＣＩデバイス７０（３３〔ＭＨｚ〕動作デバイス) がマスタになった場合の切替制御動作について、その時のＰＣＩバスクロック周波数が、３３〔ＭＨｚ〕の場合と６６〔ＭＨｚ〕の場合とに分けて、説明する。
【００５３】
〈ＰＣＩバス６０のクロック周波数が３３〔ＭＨｚ〕の場合〉
現時点でのＰＣＩバスクロック周波数がプロセッサ１０で判定され（ステップＳ１００、周波数判定工程）、仮にＰＣＩバスクロック周波数が３３〔ＭＨｚ〕の場合には、ＲＥＱマスク部５０は、プロセッサ１０の命令により、３３〔ＭＨｚ〕のＰＣＩデバイス７０からの使用要求信号（REQ#＿1 ）をマスク解除すると共に、６６〔ＭＨｚ〕のＰＣＩデバイス８０からの使用要求信号（REQ#＿2 ）をマスク状態にする（ステップＳ１０２、要求信号マスク工程）。
【００５４】
これにより、３３〔ＭＨｚ〕のＰＣＩデバイス７０からのアクセスを許可し、６６〔ＭＨｚ〕のＰＣＩデバイス８０のアクセスは不許可としている。
この場合、ＰＣＩデバイス７０からの使用要求信号（REQ#＿1 ）はマスク解除されているので、ＰＣＩホスト・ブリッジ３０に通知される。従って、ＰＣＩデバイス７０は、問題なく通常のＰＣＩ手順に従ってＰＣＩバス６０にアクセスできる。
【００５５】
〈ＰＣＩバス６０のクロック周波数が６６〔ＭＨｚ〕の場合〉
ＰＣＩバスクロック周波数がプロセッサ１０で判定され（ステップＳ１００、周波数判定工程）、その結果、ＰＣＩバスクロック周波数が６６〔ＭＨｚ〕の場合には、ＲＥＱマスク部５０は、プロセッサ１０の命令により、３３〔ＭＨｚ〕のＰＣＩデバイス７０からの使用要求信号REQ#＿1 をマスク状態にすると共に、６６〔ＭＨｚ〕のＰＣＩデバイス８０からの使用要求信号REQ#＿2 をマスク解除する（ステップＳ２０２、要求信号マスク工程）。
【００５６】
ＰＣＩバスクロック周波数が６６〔ＭＨｚ〕であるので、６６〔ＭＨｚ〕のＰＣＩデバイス８０にしかアクセス許可を与えられないからである。この状態では、ＰＣＩデバイス７０からの使用要求信号REQ#＿1 は、ＲＥＱマスク部５０によってマスク状態にされているため、ＰＣＩホスト・ブリッジに通知されず、このままでは、３３〔ＭＨｚ〕のＰＣＩデバイス７０は、永遠にＰＣＩバス６０のアクセス許可を受けることができないことになる。
【００５７】
そこで、これを回避するために、ＲＥＱ監視部４０では、使用要求信号（REQ#＿1 ）の状態の監視を行う。即ち、プロセッサ１０は、ＲＥＱ監視部４０に設けられたＲＥＱ監視テーブルを監視し、そのテーブルの使用要求信号REQ#＿1 の欄が「０」の状態になると、マスク状態であった使用要求信号REQ#＿1 が有効になったことを判断する（ステップＳ２０３、監視工程）。
【００５８】
プロセッサ１０は、この状態を判断すると、ＰＣＩクロック制御部３５を制御し、ＰＣＩバスクロック周波数を、使用要求信号REQ#＿1 を送出しているＰＣＩデバイス７０のクロック周波数である３３〔ＭＨｚ〕に変更を行う（ステップＳ２０４、クロック切替工程）。
【００５９】
次に、プロセッサ１０が、この変更のＰＣＩバスクロック周波数の判定を行ない、周波数を３３〔ＭＨｚ〕と判定する（ステップＳ１００、周波数判定工程）。
そして、プロセッサ１０は、ＲＥＱマスク部５０を制御して、３３〔ＭＨｚ〕のＰＣＩデバイス７０からの使用要求信号REQ#＿1 のマスク解除を行なうと共に、６６〔ＭＨｚ〕のＰＣＩデバイス８０からの使用要求信号REQ#＿2 をマスク状態に設定する（ステップＳ１０２、要求信号マスク工程）。これにより、使用要求信号REQ#＿1 の状態がＰＣＩデバイス７０からＰＣＩホスト・ブリッジ３０に通知されるため、通常のＰＣＩ手順に従ってアクセスが可能になる。
【００６０】
ＲＥＱ監視部４０では、６６〔ＭＨｚ〕のＰＣＩデバイス８０からの使用要求信号REQ#＿2 の状態をラッチし、ＲＥＱ監視テーブルに記憶させる。プロセッサ１０はこのテーブルの使用要求信号REQ#＿2 の欄を監視し続ける（ステップＳ１０３、監視工程）。
【００６１】
上記の処理は、６６〔ＭＨｚ〕のＰＣＩデバイス８０からＰＣＩバス６０の使用要求のときも同様であり、図５に示すフローチャートに従って動作する。
【００６２】
尚、ＰＣＩホスト・ブリッジ３０がマスタとして動作する場合は、プロセッサ１０は、これからアクセスしようとするＰＣＩデバイスが分かっており、従って、そのＰＣＩデバイスの動作クロック周波数も分かるので、それに適合したＰＣＩバスクロック周波数に変更した後、アクセスすることができるので特に不都合はない。
ここで、上述したＰＣＩバス６０におけるバス制御の各動作内容にあっては、これをプログラム化して前述したプロセッサ１０に実行させるように構成しても良い。
【００６３】
尚、これまでは説明の便宜上、異なる動作クロック周波数をもつ二つのＰＣＩデバイスがあるとして説明してきたが、ＲＥＱマスク部５０の構成単位である図２の回路をＰＣＩデバイスの数だけ設け（ＲＥＱマスク回路５０Ａ，５０Ｂの如く）、更に、ＲＥＱ監視部４０でラッチし、監視ケーブルに保存するＰＣＩデバイスからのバス使用要求信号の数を増やすことで、異なる速度の二つ以上のＰＣＩデバイスを制御することも可能である。
【００６４】
上述したように、本実施形態に係る情報処理装置によると、簡易な回路構成のマスク部と監視部を備えることで単一のＰＣＩバス上で、異なる動作クロック周波数のＰＣＩデバイスを接続・搭載可能としたので、複数のＰＣＩデバイスを装備する場合でも複数のＰＣＩバスを使用することなく単一のＰＣＩバス上に並設することができ、これがため、システム構成の簡易化と経済性、さらには使用上の柔軟性及び利便性を向上させることができるという従来にない優れた利点を奏する。
【産業上の利用可能性】
【００６５】
本発明は、システムバスに連結される上記ＰＣＩバスと同等のバスを複数必要とする全ての情報処理装置に適用することができ、汎用性ある発明である。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係る情報処理装置を示すブロック図である。
【図２】図１に開示した情報処理装置にかかるＰＣＩバスの制御動作を示すフローチャートである。
【図３】図１に開示した情報処理装置にかかるＲＥＱマスク部の一例を示す図で、図３（ａ）はその一部を構成するマスク回路を示し、図３（ｂ），（ｃ）は、それぞれ本ＲＥＱマスク回路の動作を明確にするためのＤ型フリップ・フロップの真理値表および論理和ＯＲ回路の真理値表を示す。
【図４】図１に開示した情報処理装置にかかるＲＥＱマスク部の信号制御の状態を示すタイミングチャートである。
【図５】図１に開示した情報処理装置にかかるＲＥＱマスク部の信号制御（ＲＥＱ＃＿ＩＮ有効時）のタイミングチャートである。
【図６】図１に開示した情報処理装置におけるバスクロック周波数の切替動作を示すフローチャートである。
【図７】周知例における情報処理装置の一構成例を示すブロック図である。
【符号の説明】
【００６７】
１０    プロセッサ
１０ａ  切替え指令発信機能
１１  周波数判定手段
１５    メモリ
１５Ａ  周波数判定プログラム
１５Ｂ  監視プログラム
２０    システムバス
３０    ＰＣＩホスト・ブリッジ
３５    ＰＣＩクロック制御部
３５ａ  クロック切替え機能
４０    ＲＥＱ監視部（監視手段）
４５    ＲＥＱ監視テーブル
５０    ＲＥＱマスク部（要求信号マスク手段）
５２    ＯＲ回路（論理和ＯＲ）
５４    Ｄ型フリップ・フロップ
６０    ＰＣＩバス
７０    ＰＣＩデバイス（３３〔ＭＨｚ〕クロック用）
８０    ＰＣＩデバイス（６６〔ＭＨｚ〕クロック用）
【図１】
0004788004.tif 000002
【図２】
0004788004.tif 000003
【図３】
0004788004.tif 000004
【図４】
0004788004.tif 000005
【図５】
0004788004.tif 000006
【図６】
0004788004.tif 000007
【図７】
0004788004.tif 000008