説明

チップセレクト回路

【課題】例えばISAバスのように、次のアクセスがあるまでは、前のアクセスで指定されたデバイスのアドレスが保持されるバスであっても、速やかにバスからデバイスを開放するようにする。
【解決手段】アクセス対象のデバイスのバス上のアドレスのドライブが、次のアクセスの発生まで保持されるバスと前記デバイスとの間に接続され、前記バスを通じて送られてくる前記バス上のアドレスを指定する情報を監視して、前記デバイスが指定されたときに、前記デバイスへのチップセレクト信号をアクティブにするチップセレクト回路である。前記デバイスが指定されてチップセレクト信号がアクティブにされた時点からの時間が、予め定められた時間を超えたときに、当該デバイスのチップセレクト信号を強制的にインアクティブとする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、CPU(Central Processing Unit)からチップセットを用いてISAバス(Industry Standard Architecture Bus)に接続されるデバイスをアクセスする際に適用して好適なチップセレクト回路に関する。
【背景技術】
【0002】
パーソナルコンピュータの拡張バスとしてISAバスが知られている。このISAバスに接続されたデバイスをCPUからアクセスする場合には、CPUが接続されるローカルバスと、ISAバスとの間のブリッジ回路としてのチップセット経由で行われる。
【0003】
このISAバスに接続されたデバイスのCPUからのアクセスの際、CPUは、ISAバスを意識せずに、1デバイスとしてアクセスサイクルを開始・終了する。このCPUからのアクセスデータを受けたチップセットは、CPUからアクセスされるデバイスのアドレスを、ISAバスに出力する。このとき、チップセットは、次のISAバス上のデバイスのアクセスがあるまで、そのアドレスを出力し続ける状態を保持する。
【0004】
ISAバスとデバイスとの間に接続されるチップセレクト回路は、前記チップセットからのアドレスデータを監視して、そのアドレスデータが、自分が接続されるデバイスのアドレスであると検知すると、チップセレクト信号をアクティブにする。これにより、当該チップセレクト回路に接続されるデバイスが、CPUからアクセスされることになる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、チップセットはISAバス上のデバイスのアドレスを、次のISAバス上のデバイスのアクセスがあるまでドライブし続ける。したがって、ISAバスに接続されるデバイスは、アクセスされて所定のジョブが終了した後にも、そのアドレスをドライブし続けられることになる。このような状態においては、次のような問題が生じることがある。
【0006】
例えばデュアルポートRAM(Random Access Memory)の一つのポートがISAバスに接続され、他方のポートが他のCPUバスに接続されている場合において、このデュアルポートRAMに対して、ISAバスと他のCPUバスとからアクセスがあったときに、ISAバスからのアクセスが早いと、ISAバスでの次のアクセスがあるまで、他のCPUバスからのアクセスは待たされてしまうことになる。このため、全体としての動作速度が低下してしまう。
【0007】
また、ジョブの終了したデバイスを選択するアドレスがドライブされ続けられることにより、そのアドレス継続ドライブ中にノイズが発生すると、そのノイズの影響を前記デバイスが受けてしまうという耐ノイズ性の問題が生じる。
【0008】
この発明は、以上の問題点を改善することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、この発明によるチップセレクト回路は、
アクセス対象のデバイスのバス上のアドレスのドライブが、次のアクセスの発生まで保持されるバスと前記デバイスとの間に接続され、前記バスを通じて送られてくる前記バス上のアドレスを指定する情報を監視して、前記デバイスが指定されたときに、前記デバイスへのチップセレクト信号をアクティブにするチップセレクト回路において、
前記デバイスが指定されて前記チップセレクト信号がアクティブにされた時点からの時間が、予め定められた時間を超えたかどうかを検出する時間検出手段と、
前記時間検出手段の検出出力に基づいて、前記チップセレクト信号がアクティブにされた時点からの時間が、前記予め定められた時間を超えたときに、前記チップセレクト信号を強制的にインアクティブとする手段と、
を備えることを特徴とする。
【0010】
上述の構成のこの発明によるチップセレクト回路によれば、そのチップセレクト回路に接続されるデバイスへのチップセレクト信号は、アクティブになってから予め定められた時間が経過すると、インアクティブになり、デバイスがバスからのドライブから開放される。
【0011】
したがって、例えば、チップセレクト回路に接続されるデバイスをデュアルポートRAMとし、時間検出手段において計測する時間を、そのデュアルポートRAMの1アクセス時間よりも若干長い時間に設定しておくと、そのデュアルポートRAMがISAバスからアクセスされたときであっても、そのデュアルポートRAMでのジョブが終了すると、チップセレクト信号がインアクティブになるので、デュアルポートRAMはISAバスからのドライブから開放され、他のCPUバスからのアクセスを即座に受け付けることができるようになる。
【発明の効果】
【0012】
この発明によれば、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスに接続されたデバイスであっても、1アクセスが終了した後は、バスから開放することができるようになる。
【発明を実施するための最良の形態】
【0013】
以下、この発明によるチップセレクト回路の実施の形態を図を参照しながら説明する。この発明の実施形態を説明する前に、この発明の実施形態の参考となる例を、第1の実施の形態として説明する。
【0014】
[第1の実施の形態(参考例)]
図1は、第1の実施の形態が適用されたパーソナルコンピュータシステムの構成を示す図である。この図1において、1はCPU、2はCPUが直接的に接続されるローカルバスである。ローカルバス2には、図示を省略したがプログラムROM(Read Only Memory)やワークエリア用のRAMなどが接続されている。3はISAバスであり、2個のチップセット4および5を介してローカルバス2と接続されている。
【0015】
2個のチップセット4および5は、CPU1のコマンドを、規格化されたバスであるISAバス3に対するものに変換する。そして、システムの電源の立ち上げ時に、CPU1からのアクセスに対して、ISAバス3上の各デバイスの1アクセスサイクルにどのくらいの時間を要するかを、チップセット4および5は、記憶して管理する。したがって、CPU1が、ISAバス3を意識せずに、1デバイスとしてアクセスサイクルを開始・終了し、続いて次のアクセスサイクルを開始しても、チップセット4および5により、ISAバス3上の各デバイスでのジョブ処理のためのアクセスサイクルに必要な時間は保持される。
【0016】
ISAバス3には、この例の場合には、デュアルポートRAM6の一方のポートP1が接続されると共に、他のデバイス7も接続される。また、デュアルポートRAM6の他方のポートP2は、他のCPUバス10に接続される。この場合、前述もしたように、デュアルポートRAM6は、ISAバス3からのアクセスによりチップセレクトされ続けると、他のCPUバス10からのアクセスを受け付けられないという問題が生じるデバイスの一例である。また、他のデバイス7は、ISAバス3からのアクセスによりチップセレクトされ続けても、支障の生じないデバイスの一例としている。
【0017】
ISAバス3とデュアルポートRAM6との間にはチップセレクト回路8が接続され、ISAバス3と他のデバイス7との間にはチップセレクト回路9が接続されている。他のCPUバス10とデュアルポートRAM6との間にもチップセレクト回路11が接続される。
【0018】
チップセレクト回路8は、デュアルポートRAM6の一方のポートP1用のチップセレクト端子S1にチップセレクト信号CS1を供給するもので、ISAバス3上のデバイスのアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、その変化後のアドレス情報がデュアルポートRAM6を指定するものであるときには、次のアクセスによりISAバス3上のデバイスのアドレス情報が変更されるまでの間、チップセレクト信号CS1をアクティブにする。
【0019】
チップセレクト回路11は、デュアルポートRAM6の他方のポートP2用のチップセレクト端子S2にチップセレクト信号CS2を供給するもので、他のCPUバス10上のデバイスのアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、その変化後のアドレス情報がデュアルポートRAM6を指定するものであるときには、チップセレクト信号CS2をアクティブにする。なお、この例の場合、バス10からのアクセスは、クロックに同期して行われて、アクセスが終了するとバス10からデュアルポートRAM6は開放される。
【0020】
また、チップセレクト回路9は、他のデバイス7のチップセレクト端子S1にチップセレクト信号CS1を供給するもので、ISAバス3上のアドレスを指定するアドレス情報を監視し、そのアドレス情報が変化したときに、そのアドレス情報が他のデバイス7を指定するものであるときには、次のアクセスによりISAバス3上のデバイスのアドレス情報が変更されるまでの間、チップセレクト信号CS1をアクティブにする。
【0021】
この第1の実施の形態においては、デュアルポートRAM6がCPU1からアクセスされたときに、CPU1によるソフトウエア処理により、ISAバス10から速やかに開放されるようにしている。
【0022】
すなわち、この第1の実施の形態では、CPU1からISAバス3上のデュアルポートRAM6をアクセスする際には、CPU1は、デュアルポートRAM6のアクセスに続いて、ダミーのアクセスを行ない、そのダミーのアクセスによりISAバス3を通じてアクセスされ続けても支障のない他のデバイス7をアクセスするようにする。
【0023】
図2は、このときのCPU1のアクセスを説明するためのフローチャートである。
【0024】
すなわち、CPU1は、アクセスコマンドの発生であると判別すると(ステップS1)、そのアクセスコマンドは、デュアルポートRAM6へのものであるか否か判別し(ステップS2)、デュアルポートRAM6へのコマンドでなければ、そのアクセスコマンドを発生し(ステップS3)、そのまま次のステップに移行する。
【0025】
ステップS2でデュアルポートRAM6へのコマンドであると判別したときには、そのアクセスコマンドを発生し(ステップS4)、引き続いて他のデバイス7へのダミーアクセスコマンドを発生する(ステップS5)。そして、その後、次のステップに移行する。
【0026】
以上説明した第1の実施の形態によれば、CPU1は、デュアルポートRAM6をアクセスする際には、そのアクセスが終了した後には、即座に他のデバイス7をダミーアクセスするようにするので、デュアルポートRAM6は、CPU1からのアクセスによるジョブの終了後、即座にISAバス3から開放されるようにされる。したがって、デュアルポートRAM6の他方のポートP2が接続される他のCPUバス10からのアクセスについての待ち時間を最小にすることができる。
【0027】
[第2の実施の形態(この発明の実施の形態)]
第2の実施の形態は、この発明によるチップセレクト回路の実施の形態を説明するためのものである。このチップセレクト回路が適用されるシステムのハードウエア構成は、図1と全く同様である。しかし、この第2の実施の形態では、前述の第1の実施の形態の場合のCPU1のソフトウエア処理は行わず、デュアルポートRAM6をアクセスする場合であっても、ダミーアクセスは行わない。その代わりに、この第2の実施の形態では、チップセレクト回路のうち、少なくとも、デュアルポートRAM6とISAバス3との間に接続されるチップセレクト回路が、図3に示すような内部構成を備えるチップセレクト回路80とされている。
【0028】
すなわち、チップセレクト回路80は、この発明の実施の形態では、チップセレクト信号生成回路81と、ゲート回路82と、タイマー回路83と、プリセット値保持回路84とを備えている。
【0029】
チップセレクト信号生成回路81は、この例では、図3に示すように、アドレスデコーダ811と、アドレスラッチ回路812および813と、比較回路814とで構成される。
【0030】
そして、ISAバス3上のアドレス情報のうちのデバイス選択用のアドレス信号ADR(図4(A)参照)がアドレスデコーダ811に供給される。また、ISAバス3上の全てのアドレス情報がアドレスラッチ回路812に供給され、アドレスラッチ回路812の出力がアドレスラッチ回路813に供給される。アドレスデコーダ811、アドレスラッチ回路812および813には、ISAバス3用のクロックCK(図4(E)参照)が供給される。
【0031】
なお、ISAバス3上の全てのアドレス情報を見た場合、アドレス信号ADRが同じであっても、アクセス毎に異なる。つまり、連続して同じデバイスをCPU1がアクセスしたときには、アドレス信号ADRは同一であっても、ISAバス3上の全てのアドレス情報をみたときには、変化があり、アクセスごとに変化がそのアドレス情報に現れるものである。
【0032】
アドレスラッチ回路812とアドレスラッチ回路813の出力は比較回路814に供給されて比較される。そして、比較回路814の比較出力CMがアドレスデコーダ811に供給されると共に、アドレスラッチ回路813のイネーブル端子ENに供給される。さらに、比較回路814の比較出力CMは、タイマー回路83のロード端子LDに供給される。
【0033】
アドレスラッチ回路812は、ISAバス3上のアドレス情報をISAバス3用のクロックCKに同期してラッチする。アドレスラッチ回路813は、比較回路814の出力がハイレベルのときに、イネーブルとなって、クロックCKに同期して、アドレスラッチ回路812のアドレス情報よりは1クロック分前のISAバス3上のアドレス情報をラッチする。
【0034】
比較回路814では、これら2つのアドレスラッチ回路812および813のアドレス情報がクロックCKに同期して比較され、両アドレス情報が同一であるときには、その出力CMがローレベルとなり、異なるときにはその出力CMはハイレベルとなる。
【0035】
したがって、比較回路814の出力CMは、図4(B)に示すように、ISAバス3上のアドレス情報が変化したときにハイレベルとなる。つまり、比較回路14の出力CMは、ISAバス3上のアドレス情報が変化したことを示す情報となる。アドレスラッチ回路813には、比較回路CMの出力がハイレベルのときに、アドレスラッチ回路812のアドレス情報がラッチされるので、アドレスラッチ回路813には、ISAバス3上のアドレス情報が変化したとき、その変化後のアドレス情報がラッチされ、次に、比較回路814の出力CMがハイレベルとなるまで保持される。
【0036】
アドレスデコーダ811は、比較回路814の出力CMに基づき、アドレス信号ADRが変化したときに、ISAバス3を通じて送られてくるアドレス信号ADRをデコードして監視し、その変化後のアドレス情報が、自分が接続されているデバイスのISAバス上のアドレスを指定するものであるときに、その出力信号であるチップセレクト信号CS1(図4(C)参照)を、インアクティブの状態からアクティブの状態に変更する。このチップセレクト信号CS1は、ゲート回路82を通じてデュアルポートRAM6に出力される。
【0037】
この実施の形態では、タイマー回路83は、例えばダウンカウンタで構成されるもので、ISAバス3用のクロックCKがそのクロック端子に供給されている。そして、タイマー回路83は、比較回路814の出力CMを受けて、プリセット値保持回路84に保持されているタイマー時間に対応するプリセット値をロードする。
【0038】
すなわち、比較回路814の出力CMがローレベルからハイレベルに変化した時点でプリセット値保持回路84のプリセットカウント値がタイマー回路83にロードされ、そのプリセットカウント値から、タイマー回路83はクロックCKのダウンカウントを開始する。
【0039】
そして、タイマー回路83において、ISAバス3上のアドレス信号ADRが変化した時点からプリセット値分だけダウンカウントされると、タイマー回路83のカウント値が0になって、タイムアウトが検知され、ゲート信号GTは、図4(D)に示すように、ゲート回路82をオフにする状態になる。
【0040】
以上のように、タイマー回路83は、ISAバス3上のアドレス情報が変化した時点から、プリセット値保持回路84に保持されているタイマー時間に対応するプリセット値の分の時間を計測し、そのタイマー時間経過したときに、ゲート回路82をオフすることにより、チップセレクト信号CS1を強制的にインアクティブにするようにするためのゲート信号GT(図4(D)参照)を形成して、そのゲート信号GTをゲート回路82に供給する。
【0041】
ここで、プリセット値保持回路84に保持されるタイマー時間のプリセット値は、チップセレクト回路80が接続されるデバイスでの1アクセスが完了する時間を考慮して、その時間よりも大きく、かつ、そのデバイスがISAバス3からできるだけ早く開放されるような時間に相当する値に設定される。この例では、デュアルポートRAM6での1アクセスが終了するまでの最長時間よりも若干長い時間分に対応するカウント値であって、そのタイマー時間分に対応するクロックCKのクロック数とされる。
【0042】
以上のようにして、デュアルポートRAM6のチップセレクト信号CS1は、アクティブになったとしても、図4(C)に示すように、タイマー回路83でタイムアウトが検出された時点からインアクティブの状態となり、デュアルポートRAM6は、ISAバス3から開放される。
【0043】
以上説明した第2の実施の形態によれば、ISAバス3には、チップセット4、5を通じてデュアルポートRAM6を指定するアドレスがドライブされ続けても、チップセレクト回路80からのチップセレクト信号CS1が、デュアルポートRAM6でのアクセスが終了した後には、速やかにインアクティブにされるので、デュアルポートRAM6は、ISAバス3から開放されて、他のCPUバス10からのアクセスを受け付けることができるようになる。
【0044】
なお、図3の構成は、一例であって、これに限られるものではない。例えば、タイマー回路83の出力GTにより、チップセレクト回路81をリセットして、チップセレクト信号CS1をインアクティブにするように構成することもできる。また、アドレスデコーダ811には、クロックCKを供給しなくてもよい。
【0045】
また、バス10も、ISAバスである場合には、チップセレクト回路11も、チップセレクト回路80と同様に構成される。また、チップセレクト回路9は、チップセレクト回路80と同様の構成のチップセレクト回路を用いてもよいし、従来の構成のチップセレクト回路を用いてもよい。
【0046】
なお、チップセレクト回路8をチップセレクト回路80の構成に変更するのではなく、ISAバスにアクセスされ続けると支障が生じるデバイスに、チップセレクト回路80のうちの、ゲート回路82、タイマー回路83、プリセット値保持回路84の部分を、内蔵するように構成することもできる。また、チップセレクト回路80をそのデバイス内に全て内蔵するようにしてもよい。
【0047】
上述の第1および第2の実施の形態において、ISAバスにアクセスされ続けると支障が生じるデバイスとしては、デュアルポートRAMに限らず、複数ポートを備え、各ポートがそれぞれ独立に異なるバスからのアクセスを受け付けることができるようなデバイスであれば、対象となる。
【0048】
また、ノイズ対策を考えた場合には、ISAバスにアクセスされ続けると支障が生じるデバイスは、複数ポートを備えるデバイスに限らず、一般のデバイスであっても、ノイズ対策が必要な場合には、対象となるものである。
【0049】
さらに、この発明が適用されるバスも、ISAバスに限らず、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスであれば、どのようなバスであっても適用可能である。
【0050】
以上説明したように、この発明によれば、アクセスとアクセスとの間では、前にアクセスされていたデバイスがバスからドライブされ続けるようなバスに接続されたデバイスであっても、1アクセスが終了した後は、バスから開放することができるようになる。
【図面の簡単な説明】
【0051】
【図1】この発明の実施の形態が適用されるコンピュータシステムの構成例を示すブロック図である。
【図2】参考例としての第1の実施の形態を説明するためのフローチャートである。
【図3】この発明の実施の形態を説明するためのブロック図である。
【図4】図3の実施の形態の説明に用いるタイミングチャートである。
【符号の説明】
【0052】
1 CPU
2 ローカルバス
3 ISAバス
4、5 チップセット
6 デュアルポートRAM
7 他のデバイス
8、9、11、80 チップセレクト回路
81 チップセレクト信号生成回路
82 ゲート回路
83 タイマー回路

【特許請求の範囲】
【請求項1】
アクセス対象のデバイスのバス上のアドレスのドライブが、次のアクセスの発生まで保持されるバスと前記デバイスとの間に接続され、前記バスを通じて送られてくる前記バス上のアドレスを指定する情報を監視して、前記デバイスが指定されたときに、前記デバイスへのチップセレクト信号をアクティブにするチップセレクト回路であって、
前記デバイスが指定されて前記チップセレクト信号がアクティブにされた時点からの時間が、予め定められた時間を超えたかどうかを検出する時間検出手段と、
前記時間検出手段の検出出力に基づいて、前記チップセレクト信号がアクティブにされた時点からの時間が、前記予め定められた時間を超えたときに、前記チップセレクト信号を強制的にインアクティブとする手段と、
を備えることを特徴とするチップセレクト回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−310900(P2007−310900A)
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2007−173926(P2007−173926)
【出願日】平成19年7月2日(2007.7.2)
【分割の表示】特願2001−29671(P2001−29671)の分割
【原出願日】平成13年2月6日(2001.2.6)
【出願人】(000000181)岩崎通信機株式会社 (133)
【Fターム(参考)】