(57)【特許請求の範囲】
【請求項１】
複数の装置が接続されたバスの使用権の調停を行うバスアービタと、
前記複数の装置のうち少なくとも第１の装置へのアクセスを要求するアクセス要求信号を出力する中央演算装置と、
前記中央演算装置から出力された前記アクセス要求信号に応じて、前記バスの使用を要求する第１のバス使用要求信号を前記バスアービタに出力する第１のバス制御装置と、
前記複数の装置のうち第２の装置に対してアクセスするときに、前記中央演算装置から出力されるアクセス要求信号とは無関係に、自発的に前記バスの使用を要求する第２のバス使用要求信号を前記バスアービタに出力する第２のバス制御装置とを有するバス制御システムであって、
前記第１のバス制御装置は、少なくとも前記中央演算装置が前記第１の装置への連続する複数のアクセスを要求するとき、前記連続する複数のアクセスのうち一つのアクセスが終了した後、アクセスが終了したことを示す信号を前記中央演算装置へ出力するとともに、該アクセスの終了を示す信号の出力タイミングに対応させて、前記第１のバス使用要求信号の出力を所定の時間停止し、
前記第２のバス制御装置は、前記バス制御システムへ電源が供給された時に発生するリセット信号に応答して、所定の期間、第１の制御信号を出力し、前記バスアービタは、前記第１の制御信号に応答して、前記第２のバス制御装置が前記バス制御システム内に存在することを示す第２の制御信号を前記第１のバス制御装置へ出力する
ことを特徴とするバス制御システム。
【請求項２】
複数の装置が接続されたバスの使用権の調停を行うバスアービタと、
前記複数の装置のうち少なくとも第１の装置へのアクセスを要求するアクセス要求信号を出力する中央演算装置と、
前記中央演算装置から出力された前記アクセス要求信号に応じて、前記バスの使用を要求する第１のバス使用要求信号を前記バスアービタに出力する第１のバス制御装置と、
前記複数の装置のうち第２の装置に対してアクセスするときに、前記中央演算装置から出力されるアクセス要求信号とは無関係に、自発的に前記バスの使用を要求する第２のバス使用要求信号を前記バスアービタに出力する第２のバス制御装置とを有するバス制御システムであって、
前記第１のバス制御装置は、少なくとも前記中央演算装置が前記第１の装置への連続する複数のアクセスを要求するとき、前記連続する複数のアクセスのうち一つのアクセスが終了した後、アクセスが終了したことを示す信号を前記中央演算装置へ出力するとともに、該アクセスの終了を示す信号の出力タイミングに対応させて、前記第１のバス使用要求信号の出力を所定の時間停止し、
前記第１及び第２のバス制御装置は、前記バス制御システムへ電源が供給された時に発生するリセット信号に応答して、所定の期間、第１の制御信号を出力し、前記バスアービタは、一方の前記バス制御装置から出力される前記第１の制御信号に応答して、一方のバス制御装置が前記バス制御システム内に存在することを示す第２の制御信号を他方の前記バス制御装置へ出力する
ことを特徴とするバス制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の装置が接続されたバスを制御するバス制御システム及びバス制御方法に関する。特に、本発明は、バスに接続された装置がバスを使用する場合に、複数のバスコントローラを内蔵したバス制御装置を使用してバスを制御するバス制御システム及びバス制御方法に関する。
【０００２】
【従来の技術】
一つのバスライン（例えば、外部バスライン）に例えばＲＯＭ、ＳＲＡＭ、ＤＲＡＭ等の複数の装置あるいは機器が接続されたシステムが、従来から知られている。このシステムでは、ＣＰＵ或いは制御装置からの制御コマンド、アドレス、データ等の信号が、複数の装置で共有されたバスラインを通して各装置に伝達される。
【０００３】
複数の装置が一つのバスラインを共有する場合には、同時に複数の装置がバスラインを使用することはできない。従って、バスラインの使用は、バス制御装置内で調整される（調停される。）。詳細には、複数の装置に対応する複数のバスコントローラの動作が制御されることによって、バスラインの使用が制御される。一般的に、複数のバスコントローラからバス使用要求信号が出力された場合、これらのバス使用要求信号には優先順位が設定される。バスラインの使用許可は、この優先順位に従って、各バスコントローラに対して与えられる。各バスコントローラから出力されるバス使用要求信号に優先順位を設定し、各バスコントローラにバスラインの使用許可を与える装置は、バスアービタと称されている。
【０００４】
図１は、従来のバス制御装置の概略構成を示すブロック図である。
【０００５】
外部バス制御装置１には、外部バスＥＸＢＵＳが接続されている。外部バスＥＸＢＵＳには、図示されていないＲＯＭ、ＳＲＡＭ、ＤＲＡＭ等の複数の装置あるいは機器が接続されている。
【０００６】
外部バス制御装置１は、中央演算装置（ＣＰＵ）１１と、第１外部バスコントローラ１２と、第２外部バスコントローラ１３と、外部バスアービタ１４とを有している。
【０００７】
中央演算装置（ＣＰＵ）１１は、例えば上記複数の装置に対してアドレス信号を出力する。また、ＣＰＵ１１は、上記複数の装置に対してデータを送信し、上記複数の装置からデータを受信する。さらに、ＣＰＵ１１は、各装置あるいは機器に対してアクセス要求を発行する。また、ＣＰＵ１１は、各装置に対するアクセスの終了通知を受信する。
【０００８】
第１外部バスコントローラ１２および第２外部バスコントローラ１３は、ＣＰＵ１から出力される信号が外部バスＥＸＢＵＳ上を伝達可能になるように、ＣＰＵ１から出力される信号を変換する。
【０００９】
外部バスアービタ１４は、第１外部バスコントローラ１２から出力されるバス使用要求信号と第２外部バスコントローラ１３から出力される外部バス使用要求信号に対して優先順位を設定する。そして、外部バスアービタ１４は、何れかの外部バスコントローラに対して外部バスラインの使用許可信号を出力する。それにより、複数のバス使用要求信号の間で調整（調停）が実施される。
【００１０】
また、図１中に１１〜１４で示された各ブロックには、制御タイミングのベース信号となるクロック信号ＣＬＫ、および、初期化のためのリセット信号ＲＳＴが入力される。
【００１１】
第１外部バスコントローラ１２は、ＣＰＵ１１からの制御によってのみ外部バス使用要求信号を出力するコントローラである。言い変えると、第１外部バスコントローラ１２は、ＣＰＵ１１の動作に同期して外部バス使用要求信号を出力する外部バスコントローラである。以下、このような外部バスコントローラは、受動タイプの外部バスコントローラと称される。
【００１２】
第１外部バスコントローラ１２は、ＣＰＵ１１とのインターフェース部であるＣＰＵ側インターフェース（Ｉ／Ｆ）２１と、外部バスアービタ１４とのインターフェース部であるアービタ側インターフェース（Ｉ／Ｆ）２２とを有している。
【００１３】
アービタ側Ｉ／Ｆ２２の中には、外部バスＥＸＢＵＳに接続されたＲＯＭ、ＳＲＡＭ、ＤＲＡＭ等のデータの読み出し動作等が競合することを避けるためのオフタイム期間の値を格納するオフタイム記憶部３１が設けられている。オフタイム期間の値は、装置（機器）及びその動作速度によって異なっている。
【００１４】
ＣＰＵ側Ｉ／Ｆ２１は、ＣＰＵ１１からアドレス信号ＡＤＲおよびアクセス要求信号ＡＲＱを受信する。また、ＣＰＵ側Ｉ／Ｆ２１は、ＣＰＵ１１にアクセス終了信号ＡＥＤ１を出力する。さらに、ＣＰＵ側Ｉ／Ｆ２１は、ＣＰＵ１１に対してデータＤＡＴを送信し、ＣＰＵ１１からデータＤＡＴを受信する。
【００１５】
また、ＣＰＵ側Ｉ／Ｆ２１は、アービタ側Ｉ／Ｆ２２に読み出し要求ＲＲＱ１および書き込み要求ＷＲＱ１を送信し、アービタ側Ｉ／Ｆ２２から外部バスアクセス終了信号ＤＥＤ１を受信する。
【００１６】
アービタ側Ｉ／Ｆ２２は、外部バスアービタ１４に、アドレス信号ＡＤＲ１、データイネーブル信号ＤＥＮ１、外部バス使用要求信号ＢＲＱ１、データ信号ＤＡＴ１を送信し、外部バスアービタ１４から、データ信号ＤＡＴ１、外部バス使用許可信号ＢＡＭ１を受信する。なお、オフタイム記憶部３１内に格納された各オフタイムデータは、１つのアドレスへのアクセスの終了時における外部バス使用要求信号ＢＲＱ１の延長期間を示している。このオフタイム期間を設けることにより、現在のアクセスと次回のアクセスとの間で、外部バスＥＸＢＵＳに接続された装置間でデータ読み出し動作等の競合が起きることが防止される。
【００１７】
第２外部バスコントローラ１３は、ＣＰＵ１１の制御による外部バス使用要求と、自発的な外部バス使用要求を出力することができるコントローラである。自発的な外部バス使用要求とは、リフレッシュが必要とされるＤＲＡＭのような外部バスＥＸＢＵＳに接続された装置側からの要求に基づき、所定間隔で発行される要求である。言い換えると、第２外部バスコントローラ１３は、ＣＰＵ１１の動作とは非同期に外部バス要求信号を出力することもできるコントローラである。以下、このような外部バスコントローラは、受動タイプ／自発タイプの外部バスコントローラと称される。
【００１８】
第２外部バスコントローラ１３は、ＣＰＵ１１とのインターフェース部であるＣＰＵ側インターフェース（Ｉ／Ｆ）４１と、外部バスアービタ１４とのインターフェース部であるアービタ側インターフェース（Ｉ／Ｆ）４２とを有している。
【００１９】
アービタ側Ｉ／Ｆ４２の中には、外部バスＥＸＢＵＳに接続されたＲＯＭ、ＳＲＡＭ、ＤＲＡＭ等に使用される制御信号等の競合を避けるためのオフタイム期間の値を格納するオフタイム記憶部５１と、自発的な外部バス使用要求を生成する自発要求生成部５２とが設けられている。
【００２０】
ＣＰＵ側Ｉ／Ｆ４１は、ＣＰＵ１１からアドレス信号ＡＤＲおよびアクセス要求信号ＡＲＱを受信する。また、ＣＰＵ側Ｉ／Ｆ４１は、ＣＰＵ１１にアクセス終了信号ＡＥＤ２を送信する。さらに、ＣＰＵ側Ｉ／Ｆ４１は、ＣＰＵ１１に対してデータＤＡＴを送信し、ＣＰＵ１１からデータＤＡＴを受信する。
【００２１】
また、ＣＰＵ側Ｉ／Ｆ４１は、アービタ側Ｉ／Ｆ４２に、読み出し要求ＲＲＱ２および書き込み要求ＷＲＱ２を送信し、アービタ側Ｉ／Ｆ４２から外部バスアクセス終了信号ＤＥＤ２を受信する。
【００２２】
アービタ側Ｉ／Ｆ４２は、外部バスアービタ１４に、アドレス信号ＡＤＲ２、データイネーブル信号ＤＥＮ２、外部バス使用要求信号ＢＲＱ２、データ信号ＤＡＴ２を送信し、外部バスアービタ１４から、データ信号ＤＡＴ２、外部バス使用許可信号ＢＡＭ２を受信する。また、外部バス使用要求信号ＢＲＱ２は、外部バスアービタ１４に送信されると共に、第１外部バスコントローラ１２にも送信される。
【００２３】
オフタイム記憶部５１内に格納された各オフタイムデータは、オフタイム記憶部３１と同様に、１つのアドレスへのアクセスの終了時における外部バス使用要求信号ＢＲＱ２の延長期間を示している。このオフタイム期間を設けることにより、現在のアクセスと次回のアクセスとの間で、外部バスＥＸＢＵＳに接続された装置間でデータ読み出し動作等の競合が起きることが防止される。
【００２４】
自発要求生成部５２で生成された自発要求は、外部バスＥＸＢＵＳに接続された装置がＤＲＡＭである場合には、ＤＲＡＭへのリフレッシュ要求である。この要求は、所定のリフレッシュサイクル期間毎に、ＣＰＵからの要求によらず、自発要求生成部５２から生成される。
【００２５】
図２は、第２外部バスコントローラ１３が、ＣＰＵの動作に同期して外部バス使用要求信号ＢＲＱ２を送信する場合のタイミングチャートである。図２では、例えば、Ｔ１〜Ｔ１５のクロックタイミングに合わせて処理が実行される。
【００２６】
図２において（ａ）は外部バス制御装置１の各ブロックに供給されるクロック信号ＣＬＫであり、（ｃ）はＣＰＵ１１から第１外部バスコントローラ１２および第２外部バスコントローラ１３に出力されるアドレス信号ＡＤＲであり、（ｄ）はＣＰＵ１１から第１外部バスコントローラ１２および第２外部バスコントローラ１３に出力されるアクセス要求信号ＡＲＱである。
【００２７】
また、（ｅ）は第１外部バスコントローラ１２によるアクセスの終了を示すアクセス終了信号ＡＥＤ１であり、（ｆ）は外部バスコントローラ１２から外部バスアービタ１４へ出力されるアドレス信号ＡＤＲ１であり、（ｇ）は第１外部バスコントローラ１２と外部バスアービタ１４との間で入出力されるデータＤＡＴ１であり、（ｈ）は第１外部バスコントローラ１２から外部バスアービタ１４へ出力される外部バス使用要求信号ＢＲＱ１であり、（ｉ）は外部バスアービタ１４から外部バスコントローラ１２に出力される外部バス使用許可信号ＢＡＭ１である。
【００２８】
図２において、（ｌ）は第２外部バスコントローラ１３によるアクセスの終了を示すアクセス終了信号ＡＥＤ２であり、（ｍ）は第２外部バスコントローラ１３から外部バスアービタ１４へ出力されるアドレス信号ＡＤＲ２であり、（ｎ）は第２外部バスコントローラ１３と外部バスアービタ１４との間で入出力されるデータＤＡＴ２であり、（ｏ）は第２外部バスコントローラ１３から外部バスアービタ１４へ出力される外部バス使用要求信号ＢＲＱ２であり、（ｐ）は外部バスアービタ１４から第２外部バスコントローラ１３に出力される外部バス使用許可信号ＢＡＭ２である。
【００２９】
また、（ｒ）は外部バスアービタ１４から外部バスＥＸＢＵＳに送信されるアドレス信号ＡＤＲＸであり、（ｓ）は外部バスアービタ１４と外部バスＥＸＢＵＳとの間で送受信されるデータ信号ＤＡＴＸである。
【００３０】
次に、第２外部バスコントローラ１３が、ＣＰＵの動作に同期して外部バス使用要求信号ＢＲＱ２を送信する場合の外部バス制御装置１の動作を説明する。  （この動作は第１モードと称される。）
ここで、外部バスＥＸＢＵＳには、例えば第１のＳＲＡＭと第２のＳＲＡＭとが接続されているものと仮定する。アドレス信号Ａ１は第１のＳＲＡＭを指定するアドレスであり、アドレス信号Ａ２は第２のＳＲＡＭを指定するアドレスである。なお、この第１のＳＲＡＭへのデータの送受信は、第１外部バスコントローラ１２が実行し、この第２のＳＲＡＭへのデータの送受信は、第２外部バスコントローラ１３が実行する。
【００３１】
まず、ＣＰＵ１１はアドレス信号ＡＤＲとしてアドレス信号Ａ１を第１外部バスコントローラ１２へ出力する。さらに、ＣＰＵ１１はＨレベルのアクセス要求信号ＡＲＱを出力する。これ以降、第１のＳＲＡＭに対するアクセスが開始される。なお、今回のアクセスが第１のＳＲＡＭへのデータの書き込みである場合は、書き込み要求ＷＲＱ１が出力され、今回のアクセスが第１のＳＲＡＭからのデータの読み出しである場合は、読み出し要求ＲＲＱ１が出力される。しかし、これらの要求については説明を省略する。（期間Ｔ１）
第１外部バスコントローラ１２は、Ｈレベルのアクセス要求信号ＡＲＱに応答して、Ｈレベルの外部バス使用要求信号ＢＲＱ１を出力する。（期間Ｔ２）
次に、外部バスアービター１４は、Ｈレベルの外部バス使用要求信号ＢＲＱ２が存在しないことを検出して、Ｈレベルの外部バス使用要求信号ＢＲＱ１に応答して、Ｈレベルの外部バス使用許可信号ＢＡＭ１を第１外部バスコントローラ１２に返答する。さらに、第１外部バスコントローラ１２は、アドレス信号ＡＤＲ１としてアドレス信号Ａ１を外部バスアービター１４へ出力する。さらに、第１外部バスコントローラ１２は、データ信号ＤＡＴ１としてデータ信号Ｄ１を外部バスアービター１４へ出力する。外部バス使用許可信号ＢＡＭ１がＨレベルに遷移したことに応答して、アドレス信号ＡＤＲＸとしてアドレス信号Ａ１が外部バスＥＸＢＵＳに出力され、データ信号ＤＡＴＸとしてデータ信号Ｄ１が外部バスＥＸＢＵＳに出力される。（期間Ｔ３）
以降、例えば、第１のＳＲＡＭからのデータの読み出し動作が実行される。
【００３２】
次に、第１のＳＲＡＭに対するアクセスが終了すると、第１外部バスコントローラ１２は、Ｈレベルのアクセス終了信号ＡＥＤ１をＣＰＵ１１に出力する。ＣＰＵ１１は、Ｈレベルのアクセス終了信号ＡＥＤ１を受信して、再びＨレベルのアクセス要求信号ＡＲＱを出力する。このＨレベルのアクセス要求信号ＡＲＱは、次のアクセスサイクルが開始されることを示す。また、ＣＰＵ１１は、次のサイクルにおいて、第２のＳＲＡＭに対するアクセスを開始するために、アドレス信号ＡＤＲとしてアドレス信号Ａ２を第２バスコントローラ１３へ出力する。（期間Ｔ１１）
次に、第２バスコントローラ１３は、Ｈレベルのアクセス要求信号ＡＲＱに応答して、Ｈレベルの外部バス要求信号ＢＲＱ２を出力する。なお、第１のＳＲＡＭに対するアクセスは終了したが、オフタイム記憶部３１に格納された第１のＳＲＡＭに関するオフタイム期間、アクセス要求信号ＢＲＱ１のＨレベルは維持される。（期間Ｔ１２）
次に、外部バスアービター１４は、外部バス使用要求信号ＢＲＱ１がまだＨレベルであることを検出し、外部バス使用許可信号ＢＡＭ２のＬレベルを維持させる。一方、オフタイム期間が終了したので、この期間Ｔ１３では、Ｈレベルのアクセス要求信号ＢＲＱ１がＬレベルへ変化する。（期間Ｔ１３）
次に、外部バスアービター１４は、外部バス使用要求信号ＢＲＱ１がＬレベルに変化したことを検出して、Ｈレベルの外部バス使用要求信号ＢＲＱ２に応答して、Ｈレベルの外部バス使用許可信号ＢＡＭ２を第２外部バスコントローラ１３に返答する。また、外部バスアービター１４は、Ｌレベルの外部バス使用要求信号ＢＲＱ１に応答して、Ｈレベルの外部バス使用許可信号ＢＡＭ１をＬレベルに変化させる。
【００３３】
さらに、第２外部バスコントローラ１３は、データ信号ＤＡＴ２としてデータ信号Ｄ２を外部バスアービター１４へ出力する。外部バス使用許可信号ＢＡＭ２がＨレベルに遷移したことに応答して、アドレス信号ＡＤＲＸとしてアドレス信号Ａ２が外部バスＥＸＢＵＳに出力され、データ信号ＤＡＴＸとしてデータ信号Ｄ２が外部バスＥＸＢＵＳに出力される。これ以降、第２のＳＲＡＭに対するアクセスが開始される。すなわち、外部バスＥＸＢＵＳの使用権が、第１の外部バスコントローラ１２から第２の外部バスコントローラ１３に移ったことになる。（期間Ｔ１４）
図３は、ＣＰＵの動作に同期して外部バス使用要求信号ＢＲＱ２を送信する第２外部バスコントローラ１３を有する外部バス制御装置１の動作の概略を示すフローチャートである。すなわち、図３は、上記第１モードの動作説明の要約である。
【００３４】
外部バス使用要求信号ＢＲＱ１が出力される。（ステップＳ１）
外部バス使用許可信号ＢＡＭ１が出力される。（ステップＳ２）
第１外部バスコントローラ１２が外部バスＥＸＢＵＳの使用を終了しているか否かが判断される。（ステップＳ３）
第１外部バスコントローラ１２が外部バスの使用を終了していない場合には、ステップＳ３が繰り返される。（ステップＳ３：ＮＯ）
第１外部バスコントローラ１２が外部バスの使用を終了した場合には、外部バス使用要求信号ＢＲＱ１がオフタイム分だけ延長される。（ステップＳ４）
外部バス使用要求信号ＢＲＱ２が出力される。（ステップＳ５）
ステップＳ４で延長された外部バス使用要求信号ＢＲＱ１の出力が終了したか否かが判断される。（ステップＳ６）
外部バス使用要求信号ＢＲＱ１の出力が終了していない場合には、ステップＳ６が繰り返される。（ステップＳ６：ＮＯ）
外部バス使用要求信号ＢＲＱ１の出力が終了した場合には、外部バス使用許可信号ＢＡＭ１の出力が中止される。（ステップＳ７）
外部バス使用許可信号ＢＡＭ２が出力される。（ステップＳ８）
以上のように、図２および図３では、ＣＰＵ１１の動作に同期して外部バス使用要求信号ＢＲＱ２を出力する第２外部バスコントローラ１３が説明されている。
【００３５】
以降の説明では、第２外部バスコントローラ１３が、ＣＰＵ１１の動作とは非同期に外部バス使用要求信号ＢＲＱ２を出力する場合を説明する。（この動作は第２モードと称される。）
すなわち、第２外部バスコントローラ１３は、外部バスＥＸＢＵＳに接続されたＤＲＡＭのリフレッシュ要求のために、自発的に外部バス使用要求信号ＢＲＱ２を出力する。
【００３６】
ここで、外部バスＥＸＢＵＳには、第２のＳＲＡＭに代わってＤＲＡＭが接続されている。従って、アドレス信号Ａ２はＤＲＡＭを指定するアドレスである。なお、このＤＲＡＭへのデータの送受信は、第２外部バスコントローラ１３が実行する。
【００３７】
図４は、第２外部バスコントローラ１３が、自発的に外部バス使用要求信号ＢＲＱ２を送信する場合のタイミングチャートである。
【００３８】
図４と図２との主な差異は以下の通りである。
【００３９】
（１）第１のＳＲＡＭへのアクセス要求が連続して発行される。すなわち、期間Ｔ１１において、ＣＰＵ１１が出力するアドレス信号ＡＤＲが、前回のサイクルに引き続きアドレス信号Ａ１である。
【００４０】
（２）バス使用要求信号ＢＲＱ２が、期間Ｔ５において、アクセス要求信号ＡＲＱとは無関係にＨレベルになる。これは図５において、ステップＳ１３に対応する。
【００４１】
（３）アクセス要求信号ＢＲＱ１が、期間Ｔ１４において、再びＨレベルになる。これは図５において、ステップＳ１９に対応する。
【００４２】
この第２モードでは、外部バス使用要求信号ＢＲＱ２が、ＣＰＵ１１が出力するアクセス要求信号ＡＲＱとは非同期に出力される。（外部バス使用要求信号ＢＲＱ２は、ＣＰＵ１１とは非同期にアクティブ状態になる。）
このようなアクセス要求は、以下のような場合に無視される可能性が有る。すなわち、図４に示されているように、連続した２つのサイクルにおいて、ＣＰＵ１１が第１のＳＲＡＭにアクセスしようと試みる場合である。
【００４３】
このような場合、図４中で矢印Ａが示している点線で示されているように、ＣＰＵ１１から出力されたアドレスＡ１に従って、外部バス使用要求信号ＢＲＱ１のＨレベルが維持される。その結果、次のサイクルでは、第１のＳＲＡＭが再びアクセスされ、ＤＲＡＭへのアクセスが無視されてしまう。その結果、ＤＲＡＭのデータが破壊される可能性がある。
【００４４】
この第２のモードにおいては、このようなアクセス要求信号ＢＲＱ２を受け付けるために、アクセスが終了してオフタイム期間が終了する度にアクセス要求信号ＢＲＱ２が入力されていたら第１外部バスコントローラ１２は、外部バス使用要求信号ＢＲＱ１のレベルをＬレベルに変化させている。つまり、アクセス要求信号ＢＲＱ２が受け付けられるように、オフタイム期間後に、アクセス要求信号ＢＲＱ２の入力により第１外部バスコントローラ１２では、外部バス使用要求信号ＢＲＱ１が強制的にＬレベルに設定される。これにより、外部バス使用許可が、外部バスコントローラ１２から外部バスコントローラ１３へ移される。
【００４５】
以上のように、従来の外部バス制御装置１では、特に第２のモードを実行するために、第１外部バスコントローラ１２が、第２外部バスコントローラ１３から出力される外部バス使用要求信号ＢＲＱ２を監視していた。
【００４６】
【発明が解決しようとする課題】
しかしながら、上記した従来の外部バス制御装置では、受動タイプ／自発タイプの外部バスコントローラ（第２の外部バスコントローラに対応する。）を新たに追加する場合、この受動タイプの外部バスコントローラの外部バス使用要求信号を、他の外部バスコントローラ（第１の外部バスコントローラに対応する。）全てに入力させる必要がある。従って、他の外部コントローラにおいては、この外部バス使用要求信号を受信するための新たな回路設計が必要となる。この新たな回路設計は、追加すべき外部バスコントローラの数が変更される度に、すなわち、外部バスＥＸＢＵＳに接続される装置の数が変更される度に変更する必要がある。
【００４７】
従って、外部バス制御装置を含むシステムの製造期間を短縮することが困難になり、よってユーザーのニーズに即座に答えることが困難になるという課題があった。
【００４８】
また、受動タイプ／自発タイプの外部バスコントローラ（第２の外部バスコントローラに対応する。）の削除を行った場合、ＣＰＵが誤ってこの外部バスコントローラに対応するアドレスを指定すると、システムがスタックしてしまうという他の課題があった。
【００４９】
従って、従来の外部バス制御装置においては、外部バスコントローラの追加および削除は容易ではなかった。
【００５０】
本発明は、上記課題を解決するためになされたものであって、外部バス制御装置における外部バスコントローラの追加および削除を容易に実施できるバス制御システムおよびバス制御方法を提供することを目的とする。
【００５１】
【課題を解決するための手段】
本発明は、上記課題を克服するために考え出されたものである。本願において開示される発明のうち、代表的なバス制御システムの概要は以下の通りである。
【００５２】
すなわち、本発明のバス制御システムは、複数の装置が接続されたバスの使用権の調停を行うバスアービタと、複数の装置のうち少なくとも第１の装置へのアクセスを要求するアクセス要求信号を出力する中央演算装置と、中央演算装置から出力されたアクセス要求信号に応じて、バスの使用を要求する第１のバス使用要求信号をバスアービタに出力する第１のバス制御装置と、複数の装置のうち第２の装置に対してアクセスするときに、中央演算装置から出力されるアクセス要求信号とは無関係に、自発的にバスの使用を要求する第２のバス使用要求信号をバスアービタに出力する第２のバス制御装置とを有するバス制御システムであって、第１のバス制御装置は、少なくとも中央演算装置が第１の装置への連続する複数のアクセスを要求するとき、連続する複数のアクセスのうち一つのアクセスが終了した後、アクセスが終了したことを示す信号を中央演算装置へ出力するとともに、そのアクセスの終了を示す信号の出力タイミングに対応させて、第１のバス使用要求信号の出力を所定の時間停止し、前記第２のバス制御装置は、前記バス制御システムへ電源が供給された時に発生するリセット信号に応答して、所定の期間、第１の制御信号を出力し、前記バスアービタは、前記第１の制御信号に応答して、前記第２のバス制御装置が前記バス制御システム内に存在することを示す第２の制御信号を前記第１のバス制御装置へ出力する。
【００５３】
また、本発明の他のバス制御システムは、複数の装置が接続されたバスの使用権の調停を行うバスアービタと、複数の装置のうち少なくとも第１の装置へのアクセスを要求するアクセス要求信号を出力する中央演算装置と、中央演算装置から出力されたアクセス要求信号に応じて、バスの使用を要求する第１のバス使用要求信号をバスアービタに出力する第１のバス制御装置と、複数の装置のうち第２の装置に対してアクセスするときに、中央演算装置から出力されるアクセス要求信号とは無関係に、自発的にバスの使用を要求する第２のバス使用要求信号をバスアービタに出力する第２のバス制御装置とを有するバス制御システムであって、第１のバス制御装置は、少なくとも中央演算装置が第１の装置への連続する複数のアクセスを要求するとき、連続する複数のアクセスのうち一つのアクセスが終了した後、アクセスが終了したことを示す信号を中央演算装置へ出力するとともに、そのアクセスの終了を示す信号の出力タイミングに対応させて、第１のバス使用要求信号の出力を所定の時間停止し、前記第１及び第２のバス制御装置は、前記バス制御システムへ電源が供給された時に発生するリセット信号に応答して、所定の期間、第１の制御信号を出力し、前記バスアービタは、一方の前記バス制御装置から出力される前記第１の制御信号に応答して、一方のバス制御装置が前記バス制御システム内に存在することを示す第２の制御信号を他方の前記バス制御装置へ出力する。
【００５４】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
【００５５】
（第１の実施形態）
図６は、本発明の第１の実施形態の外部バス制御装置の構成を示すブロック図である。
【００５６】
なお、図６の外部バス制御装置２において、図１に示された従来の外部バス制御装置１と同様の構成については、同じ番号を付与して重複する説明を省略する。
【００５７】
図６の外部バス制御装置２が図１に示された外部バス制御装置１と異なる点は、主に以下の点である。
【００５８】
（１）ＣＰＵの動作のみに同期して外部バス使用要求信号ＢＲＱ１を出力する第１外部バスコントローラ１５（受動タイプの外部バスコントローラ）のアービタ側Ｉ／Ｆ２３は、オフタイム記憶部３１に格納されたオフタイムデータに基づいて、外部バスアービタ１７にオフタイム信号ＯＦＴ１を出力する。
【００５９】
（２）ＣＰＵの動作とは非同期に外部バス使用要求信号ＢＲＱ２を出力することができる第２外部バスコントローラ１６（受動タイプ／自発タイプの外部バスコントローラ）中のアービタ側Ｉ／Ｆ４３は、オフタイム記憶部５１に格納されたオフタイムデータに基づいて、外部バスアービタ１７にオフタイム信号ＯＦＴ２を出力する。
【００６０】
（３）アービタ側Ｉ／Ｆ４３から出力される外部バス使用要求信号ＢＲＱ２が、第１外部バスコントローラ１５に出力されない。すなわち、第１外部バスコントローラは、第２外部バスコントローラの動作を監視していない。
【００６１】
図６の外部バス制御装置２におけるその他の構成については、図１に示された外部バス制御装置１と同様である。
【００６２】
次に、第２外部バスコントローラ１６が、ＣＰＵ１１の動作とは非同期に外部バス使用要求信号ＢＲＱ２を出力する場合を例として説明する。（この動作は第２モードと称される。）
すなわち、第２外部バスコントローラ１６は、外部バスＥＸＢＵＳに接続されたＤＲＡＭのリフレッシュ要求のために、自発的に外部バス使用要求信号ＢＲＱ２を出力する。
【００６３】
ここで、外部バスＥＸＢＵＳには、ＳＲＡＭとＤＲＡＭが接続されている。アドレス信号Ａ１はＳＲＡＭを指定するアドレスであり、アドレス信号Ａ２はＤＲＡＭを指定するアドレスである。なお、このＳＲＡＭへのデータの送受信は、第１外部バスコントローラ１５が実行し、このＤＲＡＭへのデータの送受信は、第２外部バスコントローラ１６が実行する。
【００６４】
図７は、第２外部バスコントローラ１６が、自発的に外部バス使用要求信号ＢＲＱ２を送信する場合のタイミングチャートである。
【００６５】
まず、ＣＰＵ１１はアドレス信号ＡＤＲとしてアドレス信号Ａ１を第１外部バスコントローラ１５へ出力する。さらに、ＣＰＵ１１はＨレベルのアクセス要求信号ＡＲＱを出力する。これ以降、ＳＲＡＭに対するアクセスが開始される。なお、今回のアクセスがＳＲＡＭへのデータの書き込みである場合は、書き込み要求ＷＲＱ１が出力され、今回のアクセスがＳＲＡＭからのデータの読み出しである場合は、読み出し要求ＲＲＱ１が出力される。しかし、これらの要求については説明を省略する。（期間Ｔ１）
第１外部バスコントローラ１５は、Ｈレベルのアクセス要求信号ＡＲＱに応答して、Ｈレベルの外部バス使用要求信号ＢＲＱ１を出力する。（期間Ｔ２）
次に、外部バスアービター１７は、Ｈレベルの外部バス使用要求信号ＢＲＱ２が存在しないことを検出して、Ｈレベルの外部バス使用要求信号ＢＲＱ１に応答して、Ｈレベルの外部バス使用許可信号ＢＡＭ１を第１外部バスコントローラ１５に返答する。さらに、第１外部バスコントローラ１５は、アドレス信号ＡＤＲ１としてアドレス信号Ａ１を外部バスアービター１７へ出力する。さらに、第１外部バスコントローラ１５は、データ信号ＤＡＴ１としてデータ信号Ｄ１を外部バスアービター１７へ出力する。外部バス使用許可信号ＢＡＭ１がＨレベルに遷移したことに応答して、アドレス信号ＡＤＲＸとしてアドレス信号Ａ１が外部バスＥＸＢＵＳに出力され、データ信号ＤＡＴＸとしてデータ信号Ｄ１が外部バスＥＸＢＵＳに出力される。（期間Ｔ３）
以降、例えば、ＳＲＡＭからのデータの読み出し動作が実行される。
【００６６】
次に、ＤＲＡＭのリフレッシュを行わなくてはならない期間に入る。従って、期間Ｔ５において、自発要求信号機億部５２のデータに基づいて、Ｈレベルのバス使用要求信号ＢＲＱ２が、アクセス要求信号ＡＲＱとは無関係に出力される。（期間Ｔ５）
次に、ＳＲＡＭに対するアクセスが終了すると、第１外部バスコントローラ１５は、Ｈレベルのアクセス終了信号ＡＥＤ１をＣＰＵ１１に出力する。ＣＰＵ１１は、Ｈレベルのアクセス終了信号ＡＥＤ１を受信して、再びＨレベルのアクセス要求信号ＡＲＱを出力する。このＨレベルのアクセス要求信号ＡＲＱは、次のアクセスサイクルが開始されることを示す。また、ＣＰＵ１１は、次のサイクルにおいて、同じＳＲＡＭに対するアクセスを開始するために、アドレス信号ＡＤＲとしてアドレス信号Ａ１を第１バスコントローラ１５へ出力する。さらに、第１外部バスコントローラ１５は、Ｈレベルのアクセス終了信号ＡＥＤ１に応答して、Ｈレベルの外部バスアクセス要求信号ＢＲＱ１を少なくとも１クロック期間Ｌレベルに設定する。ここで、外部バスアクセス要求信号ＢＲＱ１がＬレベルになるタイミングと、アクセス終了信号ＡＥＤ１がＨレベルになるタイミングとがほぼ同時である点に注意されたい。（期間Ｔ１１）
次に、外部バスアービタ１７は、Ｌレベルの外部バスアクセス要求信号ＢＲＱ１に応答して、Ｈレベルの外部バス使用許可信号ＢＡＭ１をＬレベルへ変化させる。第１バスコントローラ１５は、外部バス使用許可信号ＢＡＭ１がＬレベルに変化したタイミングで、Ｈレベルのオフタイム信号ＯＦＴ１を外部バスアービタ１７に出力する。このオフタイム信号ＯＦＴ１のＨレベルは、オフタイム記憶部２３に格納されたＳＲＡＭに関するオフタイム期間、維持される。
【００６７】
外部バスアービタ１７は、Ｌレベルの外部バス使用許可信号ＢＡＭ１とＨレベルの外部バスアクセス要求信号ＢＲＱ２を検出して、ＤＲＡＭへのアクセス要求を受理する。
【００６８】
なお、オフタイム信号ＯＦＴ１がＨレベルであるため、ＤＲＡＭに対するアクセスは未だ開始されない。すなわち、外部バス使用許可信号ＢＡＭ２のＬレベルは未だ維持される。その後、第１外部バスコントローラ１５は、ＨレベルのＢＲＱ１を出力するが、外部バス使用許可信号ＢＡＭ１がＬレベルであるため、ＳＲＡＭに対するアクセスは開始されない。（期間Ｔ１２）
次に、外部バスアービター１７は、オフタイム信号ＯＦＴ１がＬレベルであることを検出し、Ｈレベルの外部バス使用許可信号ＢＡＭ２を第２外部バスコントローラ１３に返答する。
【００６９】
第２外部バスコントローラ１６は、データ信号ＤＡＴ２としてデータ信号Ｄ２を外部バスアービター１７へ出力する。外部バス使用許可信号ＢＡＭ２がＨレベルに遷移したことに応答して、アドレス信号ＡＤＲＸとしてアドレス信号Ａ２が外部バスＥＸＢＵＳに出力され、データ信号ＤＡＴＸとしてデータ信号Ｄ２が外部バスＥＸＢＵＳに出力される。これ以降、ＤＲＡＭに対するアクセスが開始される。すなわち、外部バスＥＸＢＵＳの使用権が、第１の外部バスコントローラ１５から第２の外部バスコントローラ１６に移ったことになる。（期間Ｔ１４）なお、従来では、オフタイム期間がＬレベルの外部バス使用要求信号ＢＲＱ１によって定義されていた。一方、本発明では、オフタイム期間がＨレベルのオフタイム信号ＯＦＴ１によって定義されている。この点で本発明と従来とは異なる。
【００７０】
図７には、外部バス使用要求信号ＢＲＱ２がＨレベルからＬレベルへと変化した後、再びＨレベルへと変化するタイミングは示されていない。また、外部バス使用許可信号ＢＡＭ２がＬレベルへ変化するタイミングは示されていない。
【００７１】
しかしながら、第２外部コントローラの上記のタイミングは、第１外部コントローラに関するタイミングと同様である。
【００７２】
図８は、図７に示された動作説明の要約である。
【００７３】
外部バス使用要求信号ＢＲＱ１が出力される。（ステップＳ８１）
外部バス使用許可信号ＢＡＭ１が出力される。（ステップＳ８２）
外部バス使用要求信号ＢＲＱ２が出力される。（ステップＳ８３）
第１外部バスコントローラ１５が外部バスＥＸＢＵＳの使用を終了しているか否かが判断される。（ステップＳ８４）
第１外部バスコントローラ１２が外部バスの使用を終了していない場合には、ステップＳ８４が繰り返される。（ステップＳ８４：ＮＯ）
第１外部バスコントローラ１５が外部バスの使用を終了した場合には、外部バス使用要求信号ＢＲＱ１の出力が停止される。（ステップＳ８５）
オフタイム信号ＯＦＴ１が出力される。（ステップＳ８６）
オフタイム信号ＯＦＴ１の出力が終了したか否かが判断される。（ステップＳ８７）
オフタイム信号ＯＦＴ１の出力が終了していない場合には、ステップＳ８７が繰り返される。（ステップＳ８７）
オフタイム信号ＯＦＴ１の出力が終了した場合には、外部バス使用要求信号ＢＲＱ２が出力される。（ステップＳ８８）
本実施の形態における外部バス制御装置では、受動タイプ／自発タイプの外部バスコントローラを新たに追加する場合、この受動タイプの外部バスコントローラの外部バス使用要求信号を、他の外部バスコントローラに出力する必要がない。
【００７４】
従って、他の外部コントローラにおいては、この外部バス使用要求信号を受信するための新たな回路設計が不要となる。つまり、追加すべき外部バスコントローラの数が変更されても、すなわち、外部バスＥＸＢＵＳに接続される装置の数が変更されても、回路の設計変更は不要である。
【００７５】
従って、外部バス制御装置を含むシステムの製造期間を短縮することが可能になり、よってユーザーのニーズに即座に答えることが可能になる。
【００７６】
（第２の実施形態）
図９は、本発明の第２の実施形態の外部バス制御装置の構成を示すブロック図である。
【００７７】
なお、図９の外部バス制御装置３において、図６に示された第１の実施形態の外部バス制御装置２と同様の構成については、同様の番号が付与されている。従って、重複する説明は省略されている。
【００７８】
図９の外部バス制御装置３と図６の外部バス制御装置２との主な差異は以下の通りである。
（１）第２外部バスコントローラ１６が、リセット信号ＲＳＴに基づいて、外部バス使用要求信号ＢＲＱ２を出力する。詳細には、外部バス制御装置に第２外部バスコントローラ１６が実装されている場合、すなわち、例えばＤＲＡＭが外部バスＥＸＢＵＳに接続されている場合、リセット期間中に外部バス使用要求信号ＢＲＱ２が出力される。
（２）第２外部バスコントローラ１６が実装されていることを検出する実装検出部６３が外部バスアービタ１９内に設けられている。この実装検出部６３は外部バス使用要求信号ＢＲＱ２を検出する。
（３）実装信号ＩＳＴを生成する実装信号生成部６４が外部バスアービタ１９内に設けられている。この実装信号ＩＳＴは、第２外部バスコントローラ１６が外部バス制御装置に実装されていることを第１外部バスコントローラに通知する信号である。
（４）ＣＰＵの動作に同期して外部バス使用要求信号ＢＲＱ１を出力する第１外部バスコントローラ１８中のアービタ側Ｉ／Ｆ２４が、実装信号ＩＳＴを受信する。この実装信号ＩＳＴは、第２外部バスコントローラ１６が外部バス制御装置３内に実装されていることを示す信号である。
【００７９】
次に、図１０及び図１１を使用して、本実施の形態の動作を説明する。
【００８０】
図１０は、本実施の形態の動作を説明するタイミングチャートである。このタイミングチャートは、外部バス制御装置を含めたシステムに電源が供給された直後のリセット期間を示している。また、このタイミングチャートは、第２外部バスコントローラ１６が外部バス制御装置に実装されている場合を示している。
まず、システムに電源が供給される、外部バス制御装置３には、クロックＣＬＫが供給され始める。リセット信号ＲＳＴのレベルは未だ不定である。（期間Ｔ１）
その後、リセット信号ＲＳＴのレベルがＬレベル（アクティブ状態）に確定する。リセット信号がアクティブ状態になると、第２外部バスコントローラ１６は、Ｈレベルの外部バス使用要求信号ＢＲＱ２を出力する。（期間Ｔ２）
その後、期間Ｔ２から期間Ｔ１１までの間、リセット信号ＲＳＴのＬレベルが維持される。このＬレベルの期間において、システムの初期化が実行される。
【００８１】
次に、リセット信号ＲＳＴがＬレベルからＨレベルへ変化する。よって、システムの初期化が終了する。（期間Ｔ１２）
次に、Ｈレベルのリセット信号ＲＳＴに応答して、外部バス使用要求信号ＢＲＱ２がＬレベルに変化する。また、Ｌレベルの外部バス使用要求信号ＢＲＱ２に応答して、実装信号ＩＳＴがＨレベルに変化する。（期間Ｔ１３）
このＨレベルの実装信号ＩＳＴは、実装信号記憶部に保持される。この保持されたＨレベルの実装信号ＩＳＴは、リセット期間以降の通常動作期間において、第１外部バスコントローラ１８に出力される。
【００８２】
通常動作期間において、第１外部バスコントローラ１８はＨレベルの実装信号ＩＳＴを受信しているため、第１外部バスコントローラ１８は、外部バス制御装置３内に第２外部バスコントローラ１６が実装されていることを認識することができる。従って、外部バス制御装置３は、第１の実施の形態と同様に動作する。
【００８３】
仮に、外部バス制御装置３内に第２外部バスコントローラ１６が実装されていない場合、外部バス使用要求信号ＢＲＱ２は出力されない。よって、実装信号機億部６４は、Ｌレベルの実装信号ＩＳＴを出力する。通常動作期間において、第１外部バスコントローラ１８はＬレベルの実装信号ＩＳＴを受信しているため、第１外部バスコントローラ１８は、外部バス制御装置３内に第２外部バスコントローラ１６が実装されていないことを認識することができる。従って、第１外部バスコントローラ１８は、第２外部バスコントローラ１６が存在しないものとして動作する。言い換えれば、例えばＤＲＡＭが外部バスＥＸＢＵＳに接続されていないものとしてシステム全体が動作する。
【００８４】
図１１は、本実施の形態の動作を説明する他のタイミングチャートである。このタイミングチャートは、通常動作期間における動作を示している。また、このタイミングチャートは、第２外部バスコントローラ１６が外部バス制御装置に実装されていないにも関らず、ＣＰＵ１１が第２外部バスコントローラ１６を誤って指定した場合の波形図である。
【００８５】
通常動作期間において、外部バスＥＸＢＵＳに接続されていないＤＲＡＭに関連するアドレス信号Ａ２が、アクセス要求信号ＡＲＱと共にＣＰＵ１１から誤って出力される。（期間Ｔ１）
ここで、外部バスＥＸＢＵＳにはＤＲＡＭが接続されていないので、第２外部バスコントローラも外部バス制御装置３に実装されていない。よって、アクセス終了信号ＡＥＤ２も出力されない。そのため、ＣＰＵ１１には、アドレス信号Ａ２に対する応答が出力されないことになり、このままではシステムがスタックしてしまう。そこで、本実施の形態では、Ｌレベルの実装信号ＩＳＴに応答して、第１外部バスコントローラ１８が、Ｈレベルのアクセス終了信号ＡＥＤ１を第２外部バスコントローラに代わってＣＰＵ１１に出力する。その他の動作は、第１の実施の形態と同様である。
【００８６】
以上のように、本実施形態の外部バス制御装置３では、第２外部バスコントローラ１６を削除した場合であって、さらにＣＰＵ１１が第２外部バスコントローラ１６を誤って指定した場合でも、アクセス終了信号ＡＥＤ２に代わってアクセス終了信号ＡＥＤ１が出力される。従って、システムがスタックする可能性がなくなる。
【００８７】
従って、本実施形態によれば、外部バスコントローラを容易に削減することができる。
【００８８】
【発明の効果】
本願において開示される発明のうち、代表的なバス制御システムによって得られる効果を簡単に説明すると以下の通りである。
【００８９】
受動タイプ／自発タイプの外部バスコントローラを新たに追加する場合、この受動タイプの外部バスコントローラの外部バス使用要求信号を、他の外部バスコントローラに出力する必要がない。従って、他の外部コントローラにおいては、この外部バス使用要求信号を受信するための新たな回路設計が不要となる。つまり、追加すべき外部バスコントローラの数が変更されても、すなわち、外部バスに接続される装置の数が変更されても、回路の設計変更は不要である。従って、外部バス制御装置を含むシステムの製造期間を短縮することが可能になり、よってユーザーのニーズに即座に答えることが可能になる。
【図面の簡単な説明】
【図１】従来の外部バス制御装置の概略構成を示すブロック図である。
【図２】図１に示された外部バス制御装置の第１モードにおける動作を説明するタイミングチャートである。
【図３】図１に示された外部バス制御装置の第１モードにおける動作を説明するフローチャートである。
【図４】図１に示された外部バス制御装置の第２モードにおける動作を説明するタイミングチャートである。
【図５】図１に示された外部バス制御装置の第２モードにおける動作を説明するフローチャートである。
【図６】本発明の第１の実施形態の外部バス制御装置の構成を示すブロック図である。
【図７】図６に示された外部バス制御装置の動作を説明するタイミングチャートである。
【図８】図６に示された外部バス制御装置の動作を説明するフローチャートである。
【図９】本発明の第２の実施形態の外部バス制御装置の構成を示すブロック図である。
【図１０】図９に示された外部バス制御装置の動作を説明するタイミングチャートである。
【図１１】図９に示された外部バス制御装置の動作を説明するタイミングチャートである。
【符号の説明】
１、２、３  外部バス制御装置、  １１  中央演算装置（ＣＰＵ）、  １２、１５、１８  第１外部バスコントローラ（ＣＰＵ受動）、  １３、１６  第２外部バスコントローラ、  １４、１７、１９  外部バスアービタ、  ２１、２５、４１  ＣＰＵ側インターフェース（Ｉ／Ｆ）、  ２２、２３、２４、４２、４３アービタ側インターフェース（Ｉ／Ｆ）、  ３１、５１  オフタイム記憶部、５２  自発要求生成部。
【図１】
0003606852.tif 000002
【図２】
0003606852.tif 000003
【図３】
0003606852.tif 000004
【図４】
0003606852.tif 000005
【図５】
0003606852.tif 000006
【図６】
0003606852.tif 000007
【図７】
0003606852.tif 000008
【図８】
0003606852.tif 000009
【図９】
0003606852.tif 000010
【図１０】
0003606852.tif 000011
【図１１】
0003606852.tif 000012