(57)【特許請求の範囲】
【請求項１】
アクセス対象のデバイスのバス上のアドレスのドライブが、次の前記バス上のデバイスのアクセスの発生まで保持されるバスと所定のデバイスとの間に接続され、前記バスを通じて送られてくる前記バス上のアドレスを指定する情報を監視して、前記所定のデバイスのアドレスが指定されたときに、前記所定のデバイスへのチップセレクト信号をアクティブにするチップセレクト回路であって、
前記所定のデバイスのアドレスが指定されて前記チップセレクト信号がアクティブにされた時点からの、前記所定のデバイスのアドレスが指定されている状態の経過時間が、前記所定のデバイスでの１アクセスが完了する時間以上である予め定められた時間を超えたかどうかを検出する時間検出手段と、
前記時間検出手段の検出出力に基づいて、前記チップセレクト信号がアクティブにされた時点からの前記経過時間が、前記予め定められた時間を超えたときに、前記チップセレクト信号を強制的にインアクティブとする手段と、
を備えることを特徴とするチップセレクト回路。
【請求項２】
前記所定のデバイスは、それぞれ独立に異なるバスからのアクセスを受け付けることができる複数個のポートを備えるデバイスであって、前記複数個のポートの一つが前記バスに接続され、前記複数個のポートの他の一つが前記バスとは異なる他のバスに接続されている
ことを特徴とする請求項１に記載のチップセレクト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）からチップセットを用いてＩＳＡバス（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｂｕｓ）に接続されるデバイスをアクセスする際に適用して好適なチップセレクト回路に関する。
【背景技術】
【０００２】
パーソナルコンピュータの拡張バスとしてＩＳＡバスが知られている。このＩＳＡバスに接続されたデバイスをＣＰＵからアクセスする場合には、ＣＰＵが接続されるローカルバスと、ＩＳＡバスとの間のブリッジ回路としてのチップセット経由で行われる。
【０００３】
このＩＳＡバスに接続されたデバイスのＣＰＵからのアクセスの際、ＣＰＵは、ＩＳＡバスを意識せずに、１デバイスとしてアクセスサイクルを開始・終了する。このＣＰＵからのアクセスデータを受けたチップセットは、ＣＰＵからアクセスされるデバイスのアドレスを、ＩＳＡバスに出力する。このとき、チップセットは、次のＩＳＡバス上のデバイスのアクセスがあるまで、そのアドレスを出力し続ける状態を保持する。
【０００４】
ＩＳＡバスとデバイスとの間に接続されるチップセレクト回路は、前記チップセットからのアドレスデータを監視して、そのアドレスデータが、自分が接続されるデバイスのアドレスであると検知すると、チップセレクト信号をアクティブにする。これにより、当該チップセレクト回路に接続されるデバイスが、ＣＰＵからアクセスされることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、チップセットはＩＳＡバス上のデバイスのアドレスを、次のＩＳＡバス上のデバイスのアクセスがあるまでドライブし続ける。したがって、ＩＳＡバスに接続されるデバイスは、アクセスされて所定のジョブが終了した後にも、そのアドレスをドライブし続けられることになる。このような状態においては、次のような問題が生じることがある。
【０００６】
例えばデュアルポートＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の一つのポートがＩＳＡバスに接続され、他方のポートが他のＣＰＵバスに接続されている場合において、このデュアルポートＲＡＭに対して、ＩＳＡバスと他のＣＰＵバスとからアクセスがあったときに、ＩＳＡバスからのアクセスが早いと、ＩＳＡバスでの次のアクセスがあるまで、他のＣＰＵバスからのアクセスは待たされてしまうことになる。このため、全体としての動作速度が低下してしまう。
【０００７】
また、ジョブの終了したデバイスを選択するアドレスがドライブされ続けられることにより、そのアドレス継続ドライブ中にノイズが発生すると、そのノイズの影響を前記デバイスが受けてしまうという耐ノイズ性の問題が生じる。
【０００８】
この発明は、以上の問題点を改善することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、この発明によるチップセレクト回路は、
アクセス対象のデバイスのバス上のアドレスのドライブが、次の前記バス上のデバイスのアクセスの発生まで保持されるバスと所定のデバイスとの間に接続され、前記バスを通じて送られてくる前記バス上のアドレスを指定する情報を監視して、前記所定のデバイスのアドレスが指定されたときに、前記所定のデバイスへのチップセレクト信号をアクティブにするチップセレクト回路であって、
前記所定のデバイスのアドレスが指定されて前記チップセレクト信号がアクティブにされた時点からの、前記所定のデバイスのアドレスが指定されている状態の経過時間が、前記所定のデバイスでの１アクセスが完了する時間以上である予め定められた時間を超えたかどうかを検出する時間検出手段と、
前記時間検出手段の検出出力に基づいて、前記チップセレクト信号がアクティブにされた時点からの前記経過時間が、前記予め定められた時間を超えたときに、前記チップセレクト信号を強制的にインアクティブとする手段と、
を備えることを特徴とする。
【００１０】
上述の構成のこの発明によるチップセレクト回路によれば、そのチップセレクト回路に接続されるデバイスへのチップセレクト信号は、アクティブになってから予め定められた時間が経過すると、インアクティブになり、デバイスがバスからのドライブから開放される。
【００１１】
したがって、例えば、チップセレクト回路に接続されるデバイスをデュアルポートＲＡＭとし、時間検出手段において計測する時間を、そのデュアルポートＲＡＭの１アクセス時間よりも若干長い時間に設定しておくと、そのデュアルポートＲＡＭがＩＳＡバスからアクセスされたときであっても、そのデュアルポートＲＡＭでのジョブが終了すると、チップセレクト信号がインアクティブになるので、デュアルポートＲＡＭはＩＳＡバスからのドライブから開放され、他のＣＰＵバスからのアクセスを即座に受け付けることができるようになる。
【発明の効果】
【００１２】
この発明によれば、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスに接続されたデバイスであっても、１アクセスが終了した後は、バスから開放することができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明によるチップセレクト回路の実施の形態を図を参照しながら説明する。この発明の実施形態を説明する前に、この発明の実施形態の参考となる例を、第１の実施の形態として説明する。
【００１４】
［第１の実施の形態（参考例）］
図１は、第１の実施の形態が適用されたパーソナルコンピュータシステムの構成を示す図である。この図１において、１はＣＰＵ、２はＣＰＵが直接的に接続されるローカルバスである。ローカルバス２には、図示を省略したがプログラムＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やワークエリア用のＲＡＭなどが接続されている。３はＩＳＡバスであり、２個のチップセット４および５を介してローカルバス２と接続されている。
【００１５】
２個のチップセット４および５は、ＣＰＵ１のコマンドを、規格化されたバスであるＩＳＡバス３に対するものに変換する。そして、システムの電源の立ち上げ時に、ＣＰＵ１からのアクセスに対して、ＩＳＡバス３上の各デバイスの１アクセスサイクルにどのくらいの時間を要するかを、チップセット４および５は、記憶して管理する。したがって、ＣＰＵ１が、ＩＳＡバス３を意識せずに、１デバイスとしてアクセスサイクルを開始・終了し、続いて次のアクセスサイクルを開始しても、チップセット４および５により、ＩＳＡバス３上の各デバイスでのジョブ処理のためのアクセスサイクルに必要な時間は保持される。
【００１６】
ＩＳＡバス３には、この例の場合には、デュアルポートＲＡＭ６の一方のポートＰ１が接続されると共に、他のデバイス７も接続される。また、デュアルポートＲＡＭ６の他方のポートＰ２は、他のＣＰＵバス１０に接続される。この場合、前述もしたように、デュアルポートＲＡＭ６は、ＩＳＡバス３からのアクセスによりチップセレクトされ続けると、他のＣＰＵバス１０からのアクセスを受け付けられないという問題が生じるデバイスの一例である。また、他のデバイス７は、ＩＳＡバス３からのアクセスによりチップセレクトされ続けても、支障の生じないデバイスの一例としている。
【００１７】
ＩＳＡバス３とデュアルポートＲＡＭ６との間にはチップセレクト回路８が接続され、ＩＳＡバス３と他のデバイス７との間にはチップセレクト回路９が接続されている。他のＣＰＵバス１０とデュアルポートＲＡＭ６との間にもチップセレクト回路１１が接続される。
【００１８】
チップセレクト回路８は、デュアルポートＲＡＭ６の一方のポートＰ１用のチップセレクト端子Ｓ１にチップセレクト信号ＣＳ１を供給するもので、ＩＳＡバス３上のデバイスのアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、その変化後のアドレス情報がデュアルポートＲＡＭ６を指定するものであるときには、次のアクセスによりＩＳＡバス３上のデバイスのアドレス情報が変更されるまでの間、チップセレクト信号ＣＳ１をアクティブにする。
【００１９】
チップセレクト回路１１は、デュアルポートＲＡＭ６の他方のポートＰ２用のチップセレクト端子Ｓ２にチップセレクト信号ＣＳ２を供給するもので、他のＣＰＵバス１０上のデバイスのアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、その変化後のアドレス情報がデュアルポートＲＡＭ６を指定するものであるときには、チップセレクト信号ＣＳ２をアクティブにする。なお、この例の場合、バス１０からのアクセスは、クロックに同期して行われて、アクセスが終了するとバス１０からデュアルポートＲＡＭ６は開放される。
【００２０】
また、チップセレクト回路９は、他のデバイス７のチップセレクト端子Ｓ１にチップセレクト信号ＣＳ１を供給するもので、ＩＳＡバス３上のアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、そのアドレス情報が他のデバイス７を指定するものであるときには、次のアクセスによりＩＳＡバス３上のデバイスのアドレス情報が変更されるまでの間、チップセレクト信号ＣＳ１をアクティブにする。
【００２１】
この第１の実施の形態においては、デュアルポートＲＡＭ６がＣＰＵ１からアクセスされたときに、ＣＰＵ１によるソフトウエア処理により、ＩＳＡバス１０から速やかに開放されるようにしている。
【００２２】
すなわち、この第１の実施の形態では、ＣＰＵ１からＩＳＡバス３上のデュアルポートＲＡＭ６をアクセスする際には、ＣＰＵ１は、デュアルポートＲＡＭ６のアクセスに続いて、ダミーのアクセスを行ない、そのダミーのアクセスによりＩＳＡバス３を通じてアクセスされ続けても支障のない他のデバイス７をアクセスするようにする。
【００２３】
図２は、このときのＣＰＵ１のアクセスを説明するためのフローチャートである。
【００２４】
すなわち、ＣＰＵ１は、アクセスコマンドの発生であると判別すると（ステップＳ１）、そのアクセスコマンドは、デュアルポートＲＡＭ６へのものであるか否か判別し（ステップＳ２）、デュアルポートＲＡＭ６へのコマンドでなければ、そのアクセスコマンドを発生し（ステップＳ３）、そのまま次のステップに移行する。
【００２５】
ステップＳ２でデュアルポートＲＡＭ６へのコマンドであると判別したときには、そのアクセスコマンドを発生し（ステップＳ４）、引き続いて他のデバイス７へのダミーアクセスコマンドを発生する（ステップＳ５）。そして、その後、次のステップに移行する。
【００２６】
以上説明した第１の実施の形態によれば、ＣＰＵ１は、デュアルポートＲＡＭ６をアクセスする際には、そのアクセスが終了した後には、即座に他のデバイス７をダミーアクセスするようにするので、デュアルポートＲＡＭ６は、ＣＰＵ１からのアクセスによるジョブの終了後、即座にＩＳＡバス３から開放されるようにされる。したがって、デュアルポートＲＡＭ６の他方のポートＰ２が接続される他のＣＰＵバス１０からのアクセスについての待ち時間を最小にすることができる。
【００２７】
［第２の実施の形態（この発明の実施の形態）］
第２の実施の形態は、この発明によるチップセレクト回路の実施の形態を説明するためのものである。このチップセレクト回路が適用されるシステムのハードウエア構成は、図１と全く同様である。しかし、この第２の実施の形態では、前述の第１の実施の形態の場合のＣＰＵ１のソフトウエア処理は行わず、デュアルポートＲＡＭ６をアクセスする場合であっても、ダミーアクセスは行わない。その代わりに、この第２の実施の形態では、チップセレクト回路のうち、少なくとも、デュアルポートＲＡＭ６とＩＳＡバス３との間に接続されるチップセレクト回路が、図３に示すような内部構成を備えるチップセレクト回路８０とされている。
【００２８】
すなわち、チップセレクト回路８０は、この発明の実施の形態では、チップセレクト信号生成回路８１と、ゲート回路８２と、タイマー回路８３と、プリセット値保持回路８４とを備えている。
【００２９】
チップセレクト信号生成回路８１は、この例では、図３に示すように、アドレスデコーダ８１１と、アドレスラッチ回路８１２および８１３と、比較回路８１４とで構成される。
【００３０】
そして、ＩＳＡバス３上のアドレス情報のうちのデバイス選択用のアドレス信号ＡＤＲ（図４（Ａ）参照）がアドレスデコーダ８１１に供給される。また、ＩＳＡバス３上の全てのアドレス情報がアドレスラッチ回路８１２に供給され、アドレスラッチ回路８１２の出力がアドレスラッチ回路８１３に供給される。アドレスデコーダ８１１、アドレスラッチ回路８１２および８１３には、ＩＳＡバス３用のクロックＣＫ（図４（Ｅ）参照）が供給される。
【００３１】
なお、ＩＳＡバス３上の全てのアドレス情報を見た場合、アドレス信号ＡＤＲが同じであっても、アクセス毎に異なる。つまり、連続して同じデバイスをＣＰＵ１がアクセスしたときには、アドレス信号ＡＤＲは同一であっても、ＩＳＡバス３上の全てのアドレス情報をみたときには、変化があり、アクセスごとに変化がそのアドレス情報に現れるものである。
【００３２】
アドレスラッチ回路８１２とアドレスラッチ回路８１３の出力は比較回路８１４に供給されて比較される。そして、比較回路８１４の比較出力ＣＭがアドレスデコーダ８１１に供給されると共に、アドレスラッチ回路８１３のイネーブル端子ＥＮに供給される。さらに、比較回路８１４の比較出力ＣＭは、タイマー回路８３のロード端子ＬＤに供給される。
【００３３】
アドレスラッチ回路８１２は、ＩＳＡバス３上のアドレス情報をＩＳＡバス３用のクロックＣＫに同期してラッチする。アドレスラッチ回路８１３は、比較回路８１４の出力がハイレベルのときに、イネーブルとなって、クロックＣＫに同期して、アドレスラッチ回路８１２のアドレス情報よりは１クロック分前のＩＳＡバス３上のアドレス情報をラッチする。
【００３４】
比較回路８１４では、これら２つのアドレスラッチ回路８１２および８１３のアドレス情報がクロックＣＫに同期して比較され、両アドレス情報が同一であるときには、その出力ＣＭがローレベルとなり、異なるときにはその出力ＣＭはハイレベルとなる。
【００３５】
したがって、比較回路８１４の出力ＣＭは、図４（Ｂ）に示すように、ＩＳＡバス３上のアドレス情報が変化したときにハイレベルとなる。つまり、比較回路１４の出力ＣＭは、ＩＳＡバス３上のアドレス情報が変化したことを示す情報となる。アドレスラッチ回路８１３には、比較回路ＣＭの出力がハイレベルのときに、アドレスラッチ回路８１２のアドレス情報がラッチされるので、アドレスラッチ回路８１３には、ＩＳＡバス３上のアドレス情報が変化したとき、その変化後のアドレス情報がラッチされ、次に、比較回路８１４の出力ＣＭがハイレベルとなるまで保持される。
【００３６】
アドレスデコーダ８１１は、比較回路８１４の出力ＣＭに基づき、アドレス信号ＡＤＲが変化したときに、ＩＳＡバス３を通じて送られてくるアドレス信号ＡＤＲをデコードして監視し、その変化後のアドレス情報が、自分が接続されているデバイスのＩＳＡバス上のアドレスを指定するものであるときに、その出力信号であるチップセレクト信号ＣＳ１（図４（Ｃ）参照）を、インアクティブの状態からアクティブの状態に変更する。このチップセレクト信号ＣＳ１は、ゲート回路８２を通じてデュアルポートＲＡＭ６に出力される。
【００３７】
この実施の形態では、タイマー回路８３は、例えばダウンカウンタで構成されるもので、ＩＳＡバス３用のクロックＣＫがそのクロック端子に供給されている。そして、タイマー回路８３は、比較回路８１４の出力ＣＭを受けて、プリセット値保持回路８４に保持されているタイマー時間に対応するプリセット値をロードする。
【００３８】
すなわち、比較回路８１４の出力ＣＭがローレベルからハイレベルに変化した時点でプリセット値保持回路８４のプリセットカウント値がタイマー回路８３にロードされ、そのプリセットカウント値から、タイマー回路８３はクロックＣＫのダウンカウントを開始する。
【００３９】
そして、タイマー回路８３において、ＩＳＡバス３上のアドレス信号ＡＤＲが変化した時点からプリセット値分だけダウンカウントされると、タイマー回路８３のカウント値が０になって、タイムアウトが検知され、ゲート信号ＧＴは、図４（Ｄ）に示すように、ゲート回路８２をオフにする状態になる。
【００４０】
以上のように、タイマー回路８３は、ＩＳＡバス３上のアドレス情報が変化した時点から、プリセット値保持回路８４に保持されているタイマー時間に対応するプリセット値の分の時間を計測し、そのタイマー時間経過したときに、ゲート回路８２をオフすることにより、チップセレクト信号ＣＳ１を強制的にインアクティブにするようにするためのゲート信号ＧＴ（図４（Ｄ）参照）を形成して、そのゲート信号ＧＴをゲート回路８２に供給する。
【００４１】
ここで、プリセット値保持回路８４に保持されるタイマー時間のプリセット値は、チップセレクト回路８０が接続されるデバイスでの１アクセスが完了する時間を考慮して、その時間よりも大きく、かつ、そのデバイスがＩＳＡバス３からできるだけ早く開放されるような時間に相当する値に設定される。この例では、デュアルポートＲＡＭ６での１アクセスが終了するまでの最長時間よりも若干長い時間分に対応するカウント値であって、そのタイマー時間分に対応するクロックＣＫのクロック数とされる。
【００４２】
以上のようにして、デュアルポートＲＡＭ６のチップセレクト信号ＣＳ１は、アクティブになったとしても、図４（Ｃ）に示すように、タイマー回路８３でタイムアウトが検出された時点からインアクティブの状態となり、デュアルポートＲＡＭ６は、ＩＳＡバス３から開放される。
【００４３】
以上説明した第２の実施の形態によれば、ＩＳＡバス３には、チップセット４、５を通じてデュアルポートＲＡＭ６を指定するアドレスがドライブされ続けても、チップセレクト回路８０からのチップセレクト信号ＣＳ１が、デュアルポートＲＡＭ６でのアクセスが終了した後には、速やかにインアクティブにされるので、デュアルポートＲＡＭ６は、ＩＳＡバス３から開放されて、他のＣＰＵバス１０からのアクセスを受け付けることができるようになる。
【００４４】
なお、図３の構成は、一例であって、これに限られるものではない。例えば、タイマー回路８３の出力ＧＴにより、チップセレクト回路８１をリセットして、チップセレクト信号ＣＳ１をインアクティブにするように構成することもできる。また、アドレスデコーダ８１１には、クロックＣＫを供給しなくてもよい。
【００４５】
また、バス１０も、ＩＳＡバスである場合には、チップセレクト回路１１も、チップセレクト回路８０と同様に構成される。また、チップセレクト回路９は、チップセレクト回路８０と同様の構成のチップセレクト回路を用いてもよいし、従来の構成のチップセレクト回路を用いてもよい。
【００４６】
なお、チップセレクト回路８をチップセレクト回路８０の構成に変更するのではなく、ＩＳＡバスにアクセスされ続けると支障が生じるデバイスに、チップセレクト回路８０のうちの、ゲート回路８２、タイマー回路８３、プリセット値保持回路８４の部分を、内蔵するように構成することもできる。また、チップセレクト回路８０をそのデバイス内に全て内蔵するようにしてもよい。
【００４７】
上述の第１および第２の実施の形態において、ＩＳＡバスにアクセスされ続けると支障が生じるデバイスとしては、デュアルポートＲＡＭに限らず、複数ポートを備え、各ポートがそれぞれ独立に異なるバスからのアクセスを受け付けることができるようなデバイスであれば、対象となる。
【００４８】
また、ノイズ対策を考えた場合には、ＩＳＡバスにアクセスされ続けると支障が生じるデバイスは、複数ポートを備えるデバイスに限らず、一般のデバイスであっても、ノイズ対策が必要な場合には、対象となるものである。
【００４９】
さらに、この発明が適用されるバスも、ＩＳＡバスに限らず、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスであれば、どのようなバスであっても適用可能である。
【００５０】
以上説明したように、この発明によれば、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスに接続されたデバイスであっても、１アクセスが終了した後は、バスから開放することができるようになる。
【図面の簡単な説明】
【００５１】
【図１】この発明の実施の形態が適用されるコンピュータシステムの構成例を示すブロック図である。
【図２】参考例としての第１の実施の形態を説明するためのフローチャートである。
【図３】この発明の実施の形態を説明するためのブロック図である。
【図４】図３の実施の形態の説明に用いるタイミングチャートである。
【符号の説明】
【００５２】
１  ＣＰＵ
２  ローカルバス
３  ＩＳＡバス
４、５  チップセット
６  デュアルポートＲＡＭ
７  他のデバイス
８、９、１１、８０  チップセレクト回路
８１  チップセレクト信号生成回路
８２  ゲート回路
８３  タイマー回路
【図１】
0004587000.tif 000002
【図２】
0004587000.tif 000003
【図３】
0004587000.tif 000004
【図４】
0004587000.tif 000005