JPH08221357A - 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法 - Google Patents

複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法

Info

Publication number
JPH08221357A
JPH08221357A JP2314895A JP2314895A JPH08221357A JP H08221357 A JPH08221357 A JP H08221357A JP 2314895 A JP2314895 A JP 2314895A JP 2314895 A JP2314895 A JP 2314895A JP H08221357 A JPH08221357 A JP H08221357A
Authority
JP
Japan
Prior art keywords
bus
access
access request
request
notification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2314895A
Other languages
English (en)
Inventor
Tetsuya Mochida
哲也 持田
Ichiji Kobayashi
一司 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2314895A priority Critical patent/JPH08221357A/ja
Publication of JPH08221357A publication Critical patent/JPH08221357A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】非スプリットバスを多段接続するコンピュータ
システムを構築する。 【構成】複数のバスの各々へのアクセス要求があったと
きに、当該バスのアクセス要求通知を出力し、同時に受
け付けた前記アクセス要求通知が、一つである場合に
は、当該バスへのアクセス許可通知を出力し、同時に受
け付けた前記アクセス要求通知が複数ある場合には、当
該複数のアクセス要求通知のうちいずれかのバスのアク
セス要求通知を選択し、選択した一つのアクセス要求通
知に対してアクセス許可通知を出力し、前記アクセス許
可通知を受け付けたときに、前記アクセス要求を受け付
けたバスデバイスにバスアクセス権を与え、前記バスデ
バイスのアクセスが実行中のときには、前記アクセス許
可通知の出力を抑止する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステ
ム、特に、多段バス接続の行われたシステムにおけるバ
ス間接続方法に係り、非スプリットタイプのバスを複数
接続可能で効率の良いバス間アクセス手順をあたえる方
法に関する。
【0002】
【従来の技術】複数の端末装置を接続するバスを多段に
接続させる多段バス接続のコンピュータシステムでは、
バスのアクセス時にアクセス要求を送出してバス権を獲
得後、アクセス先を示すアドレスを送出し、その後デー
タを送出している。この場合、バス権を獲得するまで一
時的に待たされることがある。また、多段バスの場合、
第1のバスに接続されている端末装置から第2のバスに
接続されている端末装置にアクセスをする場合には、第
1と第2とのバス権を確保後アクセスを行うので、バス
権を確保するためにさらに待ち時間が必要となることが
ある。
【0003】これに対して、アクセス要求のアドレス送
出後、一時バス権を他の端末装置に明け渡し、データ転
送時に再度アクセスを行う端末装置がバス権を確保して
転送を行なう、いわゆるスプリット方法によりシステム
全体のスループットを向上する技術がある。このスプリ
ット方法に対して、前者のように、バス権を占有してバ
スへのアクセスを行なう方法を以下、非スプリット方法
という。
【0004】スプリット方法を用いたコンピュータシス
テムでは、多段バスの場合に、第1のバスと第2のバス
間のアクセス要求を並行して実行することができ、ま
た、特開平5-233528号公報に開示されているように、一
つの端末装置から複数のアクセス要求を発行できるなど
のアクセスの並行実行が容易であるという特徴がある。
【0005】
【発明が解決しようとする課題】このため、スプリット
方法によるバスは、多段接続が容易であるが、非スプリ
ット方法によるバスを多段接続する場合、原理的にお互
いのバス間の複数のアクセス要求を並行して実行するこ
とができない。アクセス要求を並行に実行できないこと
を、図10を参照して説明する。図10に示すように、
第1のバスがスプリット方法であり、第2と第3とのバ
スが非スプリット方法であり、第2と第3とのバスが第
1のバスに接続されているものとする。この場合におい
て、第2のバスに接続されている端末102が第3のバ
スに接続されている端末105にアクセスするときに
は、まず、端末102は第2のバスのバス権を獲得後第
1のバスのバス権を獲得し、第3のバスのバス権を獲得
しようとする。一方、第3のバスに接続されている端末
104が第2のバスに接続されている端末103にアク
セスするときには、まず、端末104は第3のバスのバ
ス権を獲得後第1のバスのバス権を獲得し、第2のバス
のバス権を獲得しようとする。この場合、第1のバスと
第3のバスとで同時にアクセス要求を処理してバス権を
与えるとすると、端末102は、第2のバスの占有後第
1のバスを獲得しても、第3のバスは端末104に占有
されているので待ち状態となる。また、端末104は、
第3のバスは占有でき、第1のバスはスプリットである
のでバス権を獲得できるが、第2のバスは端末102に
占有されているので待ち状態となる。このように、端末
102と端末104との両方が待ち状態に陥り、それ以
降のアクセスが行なえなくなるハングアップ状態とな
る。
【0006】したがって、非スプリットバスが複数接続
されるシステムにおいては、このハングアップを回避す
る必要がある。
【0007】本発明は、非スプリットバスを多段接続す
るコンピュータシステムを構築可能にするものである。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、 複数のバスデバイスが接続された複数のバスを備
えるコンピュータシステムであって、前記複数のバスの
各々に対応して設けられ、当該バスにおける複数のバス
デバイスの各々からのアクセス要求を受け付け、バスア
クセス権を調停することによりバスへのアクセスを許可
するバス接続装置と、前記複数のバスの各々に対応して
設けられる前記バス接続装置のバスアクセス権について
の制御を行うバス接続制御装置とを有し、前記バス接続
装置は、前記アクセス要求を受け付けたときに当該バス
へのアクセス要求があった旨をアクセス要求通知として
前記バス接続制御装置に出力するアクセス要求出力手段
と、前記アクセス要求出力手段でアクセス要求通知の出
力後、前記バス接続制御装置から前記バスへのアクセス
許可通知を受け付けるアクセス許可受け付け手段と、前
記アクセス許可受け付け手段で前記アクセス許可通知を
受け付けたときに、前記アクセス要求を受け付けたバス
デバイスにバスアクセス権を与え、当該バスデバイスの
アクセスが実行中のときに、当該バスにおけるアクセス
が実行中である旨を前記バス接続制御装置に出力する実
行中出力手段とを備え、前記バス接続制御装置は、前記
アクセス要求出力手段からのアクセス要求通知を受け付
けるアクセス要求受け付け手段と、前記アクセス要求受
け付け手段で同時に受け付けた前記アクセス要求通知
が、一つである場合には、当該バスへのアクセス許可通
知を前記アクセス許可受け付け手段に通知し、前記アク
セス要求受け付け手段で同時に受け付けた前記アクセス
要求通知が複数ある場合には、当該複数のアクセス要求
通知のうちいずれかのバスのアクセス要求通知を選択
し、選択した一つのアクセス要求通知に対するバス接続
装置の前記アクセス許可受け付け手段にアクセス許可通
知を出力する許可通知手段と、前記許可通知手段により
アクセス許可通知が出力されたバス接続装置の実行中出
力手段から、当該バスにおけるアクセスが実行中である
旨を受け付ける実行中受け付け手段とを有し、前記許可
通知手段は、前記実行中受け付け手段において前記バス
におけるアクセスが実行中である旨を受け付けていると
きには、前記アクセス許可通知の出力を抑止し、前記バ
スデバイスは、データを送受信する端末と前記バス接続
装置とを含む。
【0009】また、この場合のバス制御方法としては、
複数のバスの各々へのアクセス要求があったときに、当
該バスのアクセス要求通知を出力し、同時に受け付けた
前記アクセス要求通知が、一つである場合には、当該バ
スへのアクセス許可通知を出力し、同時に受け付けた前
記アクセス要求通知が複数ある場合には、当該複数のア
クセス要求通知のうちいずれかのバスのアクセス要求通
知を選択し、選択した一つのアクセス要求通知に対して
アクセス許可通知を出力し、前記アクセス許可通知を受
け付けたときに、前記アクセス要求を受け付けたバスデ
バイスにバスアクセス権を与え、前記バスデバイスのア
クセスが実行中のときには、前記アクセス許可通知の出
力を抑止する。
【0010】
【作用】バス接続装置では、アクセス要求出力手段が、
アクセス要求を受け付けたときに当該バスへのアクセス
要求があった旨をアクセス要求通知として前記バス接続
制御装置に出力する。
【0011】バス接続制御装置のアクセス要求受け付け
手段は、アクセス要求出力手段からのアクセス要求通知
を受け付け、許可通知手段は、アクセス要求受け付け手
段で同時に受け付けた前記アクセス要求通知が、一つで
ある場合には、当該バスへのアクセス許可通知を前記ア
クセス許可受け付け手段に通知し、前記アクセス要求受
け付け手段で同時に受け付けた前記アクセス要求通知が
複数ある場合には、当該複数のアクセス要求通知のうち
いずれかのバスのアクセス要求通知を選択し、選択した
一つのアクセス要求通知に対するバス接続装置の前記ア
クセス許可受け付け手段にアクセス許可通知を出力す
る。この選択は、バス接続装置ごとに優先順位を決めて
おくことによりできる。
【0012】バス接続装置のアクセス許可受け付け手段
は、アクセス要求出力手段でアクセス要求通知の出力
後、前記バス接続制御装置から前記バスへのアクセス許
可通知を受け付け、実行中出力手段は、アクセス許可受
け付け手段で前記アクセス許可通知を受け付けたとき
に、前記アクセス要求を受け付けたバスデバイスにバス
アクセス権を与え、当該バスデバイスのアクセスが実行
中のときに、当該バスにおけるアクセスが実行中である
旨を前記バス接続制御装置に出力する。
【0013】バス接続制御装置の許可通知手段は、実行
中受け付け手段において前記バスにおけるアクセスが実
行中である旨を受け付けているときには、前記アクセス
許可通知の出力を抑止する。
【0014】これにより、非スプリットバスが複数ある
場合に、同時にアクセス要求が発生した場合には、一つ
のバスへのアクセス要求のみを許可し、同時に複数の非
スプリットバスにおいてアクセスを行なわないよう調停
を行なうことができる。このアクセス要求に対するアク
セスが実行中には、他のアクセス要求を許可しないので
前述したようなハングアップを回避することができ、非
スプリットバスを多段接続することができる。
【0015】
【実施例】本発明の実施例を図面を用いて説明する。
【0016】図1に、本発明によるバス間コントローラ
を用いたシステムの一構成例を示す。図1において、複
数の端末が接続され、前記端末のアクセス要求にしたが
ってアクセスを許可することによりバス権を占有させて
バスへのアクセスを行なわせる非スプリット方法により
アクセスが制御される非スプリットバスとしてバス11
6、117、120および121を備え、スプリットバ
スとしてバス118、119および122を備えてい
る。非スプリットバスには、バス間を接続させるための
バスコンバータ(バス接続装置)103、105、10
7、108、109および113が接続されている。バ
スの各々には、端末装置としてノード101、102、
104、106、110、111、112および114
が接続され、これらのノードは、アクセス要求を出力す
るモナークまたはアクセス先であるサーフとして機能す
る。本実施例においては、非スプリットバスのアクセス
全体を調停するためにバス間コントローラ(バス接続制
御装置)115が設けられている。バス間コントローラ
115は、後述するバスリクエスト通知信号とリードロ
ック信号とを受け付けて、システム全体で非スプリット
バス上のリードアクセスが複数並行に発生しないように
調停し、バスコンバータ103、105、108および
109へ、バスのアクセス許可を通知するためのバスコ
ンバータグラント信号(BC−GNT)132、13
5、138および141を出力する。
【0017】バスコンバータの各々には、バス116、
117、118、119、120、121および122
のそれぞれを調停するバスアービタ150、151、1
52、153、154、155および156が設けてあ
る。バスアービタ150および151はバスコンバータ
103に、バスアービタ152はバスコンバータ105
に、バスアービタ153および154はバスコンバータ
108に、バスアービタ155はバスコンバータ109
に、バスアービタ156はバスコンバータ113の内部
に各々備えられる。バスアービタ150、151、15
4および155は、非スプリットバスを制御する。
【0018】図2にバスコンバータ103のブロック図
を示す。図2において、バスコンバータ103は、バス
116のアクセスを制御するためのバスアービタ150
と、バス116に接続されているノードからのアクセス
要求が発生したときに、「非スプリットバスでバスリク
エストが発生している」ことを示すバスリクエスト通知
信号(BC−REQ)130をバス間コントローラ11
5にそれぞれ出力するアクセス要求出力部210と、ア
クセスが許可されアクセスが実行中であるときに、「非
スプリットバスがリードアクセス中である」ことを示す
リードロック通知信号(ReadLock)131をバ
ス間コントローラ115に出力する実行中出力部220
と、バスコンバータグラント信号(BC−GNT)13
2を受け付けるアクセス許可受付部230とを備えてい
る。さらに、バスコンバータ103は、非スプリットバ
ス117にも接続されるため、バス117のアクセスを
制御するためのバスアービタ151と、バス117に接
続されているノードからのアクセス要求が発生したとき
に、「非スプリットバスでバスリクエストが発生してい
る」ことを示すバスリクエスト通知信号(BC−RE
Q)133をバス間コントローラ115にそれぞれ出力
するアクセス要求出力部260と、アクセスが許可され
アクセスが実行中であるときに、「非スプリットバスが
リードアクセス中である」ことを示すリードロック通知
信号(ReadLock)134をバス間コントローラ
115に出力する実行中出力部250と、バスコンバー
タグラント信号(BC−GNT)135を受け付けるア
クセス許可受付部240とを備えている。また、バスコ
ンバータは、リードロック通知信号の代わりに、バス権
が確保されていることを示すバス上のGNT信号を送出
するようにしてもよい。
【0019】他のバスコンバータも同様な構成となり、
一つの非スプリットバスに接続される場合に、バスアー
ビタ、アクセス要求出力部、実行中出力部およびアクセ
ス許可受付部を1組備える。例えば、非スプリットバス
と非スプリットバスとを接続させる場合には、図2に示
すように、バスコンバータは、バスアービタ、アクセス
要求出力部、実行中出力部およびアクセス許可受付部を
2組備える。
【0020】つぎに、図3を参照し、バス間コントロー
ラ(バス接続制御装置)115を備えない場合に、図1
に示すノード111からノード112にリードアクセス
を行なう場合を例にして動作を説明し、つぎに、図4を
参照してBUS5(120)、BUS6(121)それ
ぞれに接続されるノード111および112から同時に
リードアクセスが発行されてハングアップする場合につ
いて説明した後に、本実施例におけるバス間コントロー
ラ115を備える場合の動作を説明する。
【0021】図3に、図1に示す構成において、非スプ
リットバスのBUS5(120)に接続されるノード1
11から、スプリットバスのBUS4(119)を介
し、非スプリットバスのBUS6(121)に接続され
るノード112にリードアクセスを行なうときのタイム
チャートを示す。この転送にかかわるバス、バスコンバ
ータおよびノードは、破線160内部のものである。図
3に示すタイムチャートは、上段からBUS4(11
9)、BUS5(120)およびBUS6(121)の
それぞれにかかわる信号をまとめてある。図3におい
て、横軸は時間軸であり、S1〜S14のそれぞれの区
間に区切っている。また、それぞれのバスは、統一のク
ロックで動作する同期BUSである。また、バスの信号
線としては、BUS4を例にすると、各バスコンバータ
もしくは各ノードごとに設けられ、バスへのアクセス要
求を示すバスリクエスト(REQ−BC108,10
9)、各バスコンバータもしくは各ノードごとに設けら
れ、バスコンバータから発行されるバスへのアクセス許
可を示すバスグラント(GNT−BC108,10
9)、アドレスもしくはデータが出力される信号線であ
るADR/DAT、ADR/DAT上にアクセス先のア
ドレスが出力されていることを示すアドレスバリッド
(AV)、ADR/DAT上にデータが出力されている
ことを示すデータバリッド信号(DV)、アクセス要求
元の識別情報を示すアクセスID(ID)、転送のタイ
プがリード(Read)であるかライト(Write)
であるかを示すトランザクション種TrTypがある。
他のBUS5(120)およびBUS6(121)につ
いても同様な信号線を備える。さらに、非スプリットバ
スのバスアービタでは、バスグラント(GNT)をアサ
ートしている期間、すなわちアクセス許可をしている間
は、内部信号としてアクセスロック信号(LOCK)を
アサートし続ける。
【0022】図3において、S1で、ノード111から
BUS5にバスリクエスト(REQ−Node111)
が発行される。S2において、バスグラント(GNT−
Node111)がバスコンバータ103より発行され
(アサートされ)、アクセスが完了するまで、すなわ
ち、リードデータが応答されるS11まで継続してGN
T−Node111がアサートされ続ける。このアービ
トレーションをつかさどるのは、バスコンバータ153
内のバスアービタARB−BUS5(154)である。
バスアービタARB−BUS5(154)は、アクセス
の間、内部信号としてアクセスロック信号(LOCK)
をGNTと同じ期間アサートし続ける。GNTを受けた
ノード111は、S3において、ADR/DATにアク
セス先のアドレスを出力するとともに、アドレスバリッ
ド(AV)を出力し、転送がリードであることを示すた
めに転送タイプバスに転送種としてリード(Read)
を出力する。バスバスアービタARB−BUS5(15
4)は、このアドレスをデコードし、BUS6(12
1)へのアクセスであることを認識し、バスアービタA
RB−BUS4(153)にリクエスト信号(REQ−
BC108)をS4において出力する。このリクエスト
信号(REQ−BC108)は、バスアービタARB−
BUS4(153)、バスアービタARB−BUS5
(154)が、ともにバスコンバータ108内に存在す
るので、バスコンバータ108内の内部信号である。バ
スアービタARB−BUS4(153)は、これを受け
てS5において、BUSコンバータ108へのバスグラ
ントGNT−BC108を出力する。BUS4(11
9)のバス権を獲得したBUSコンバータ108は、B
US4上にS6において、アドレスを出力するとともに
BUS4上のアドレスバリッド(AV)を出力し、バス
コンバータ108用にあらかじめ定められた値をアクセ
スID(ID)として出力する。このアクセスIDは、
アクセス要求元の識別情報を示すもので、リードレスポ
ンスの際、図3においては、S12で、サーフより同じ
IDが送出されることで、スプリットバスにおける転送
の一貫性を保つ。BUSコンバータ109は、BUS4
(119)上に流れたアドレスをデコードし、BUS6
(121)向けのアクセスであることを認識し、BUS
6(121)上にS7においてアドレスを出力する。こ
のバスコンバータでは、ノードからのアクセスよりバス
間の転送を優先させているので、この場合、BUSコン
バータ109は、直接アドレスを出力することによりア
クセスすることができる。BUSコンバータ109は、
同時に内部信号としてアクセスロック信号(LOCK)
をアサートする。LOCK信号は、リードデータをサー
フノードから受けとるまで保持される。アクセス先であ
るサーフノード112は、S9でデータを出力してい
る。データ応答を受けたBUSコンバータ109は、B
US4(119)にバスリクエスト信号(REQ−BC
109)をS10において出力する。S11において、
バスアービタARB−BUS4(153)の調停によ
り、バスコンバータ108からバスコンバータ109へ
のバスグラント信号(GNT−BC109)が出力され
る。これを受けたバスコンバータ109は、サーフノー
ド112から受けとったデータをBUS4(119)に
S12で出力する。また、同時にアクセスIDを、アク
セスID信号(ID)に出力する。BUSコンバータ1
08は、このデータを受け取り、S13でBUS6(1
21)上に出力するとともにデータバリッド信号(D
V)をアサートする。モナークノード111は、これを
受け取ってアクセスが完了する。モナークノード111
に出力されるGNT信号、および、バスコンバータの内
部信号であるLOCK信号は、S13までアサートされ
た後、S14ではネゲートされる。
【0023】一方、図4に、BUS5(120)、BU
S6(121)それぞれに接続されるノード111およ
び112から同時にリードアクセスが発行されてハング
アップする場合のタイムチャートを示す。ハングアップ
する場合の動作を以下説明する。
【0024】図4において、S1でノード111、11
2から同時にリクエスト信号(REQ)が発行され、S
2においてグラント信号(GNT)がおのおののノード
に対して発行される。さらに、S3において、同時にア
ドレスが発行され、他者バスへのアクセスであることか
らおのおののバスアービタARB−BUS5(154)
およびARB−BUS6(155)が、ARB−BUS
4(153)にS4においてバスリクエスト(REQ−
BC108、REQ−BC109)をそれぞれ発行す
る。ただし、REQ−BC108は、共にバスコントロ
ーラ108内部にあるバスアービタ間の信号であるた
め、バスコントローラ108の内部インタフェース信号
である。バスコントローラ108内のバスアービタAR
B−BUS4(153)はこれらを調停し、本タイムチ
ャートではバスコンバータ108側(バスアービタAR
B−BUS5(154)側)にバス権を与え、GNT−
BC108をS5において発行している。バス権を得た
バスコンバータ108は、BUS4(119)上にアド
レス(ADR)をS6において出力する。本アクセスが
リードであるため、スプリットバスであるBUS4(1
19)はS6で開放される。バスコンバータ108はS
6でバスコンバータ109へのグラント信号(GNT−
BC109)を出力する。バス権を得たバスコンバータ
109は、BUS4(119)上にアドレス(ADR)
をS7において出力する。バスコンバータ109は、S
6においてBUS4(119)上に流れたリードアクセ
スをBUS6(121)に送る必要があるが、S3にお
いてモナークノード112より発行されたアクセスによ
り非スプリットバスであるBUS6(121)がロック
された状態であるため、アクセスの終了待ちになる。一
方、バスコンバータ108は、S7においてBUS4
(119)上に流れたリードアクセスをBUS5(12
0)に送る必要があるが、S3においてモナークノード
111より発行されたアクセスにより非スプリットバス
であるBUS5(120)がロックされた状態であるた
め、同様にアクセスの終了待ちになる。競合する二つの
アクセスが、お互いに相手側アクセスの終了待ちに陥っ
てしまうので、システムハングアップとなってしまう。
【0025】このような状態を回避するために、本実施
例においては、バス間コントローラ115を備え、バス
間のアクセス制御を行う。
【0026】図9に、本実施例によるバス間コントロー
ラを用いたシステムでの転送のタイムチャートを示す。
図9に示すタイムチャートは、BUS5(120)、B
US6(121)それぞれに接続されるノード111お
よび112から同時にリードアクセスが発行された場合
を示している。バス間コントローラ115は、各バスコ
ンバータから出力されるバスリクエスト通知信号である
バスコンバータリクエスト信号BC−REQ−Arb−
BUS5、6(図1に示す信号線136、139)とリ
ードロック信号ReadLock(図1に示す信号線1
37、140)とを受け付けて、システム全体で非スプ
リットバス上のリードアクセスが複数並行に発生しない
ように調停し、アクセスを許可するバスコンバータへ、
バスのアクセス許可を通知するためのバスコンバータグ
ラント信号BC−GNT−Arb−BUS5もしくは6
(図1に示す信号線138、141)を出力する。
【0027】図9において、ノード111および112
から同時にバスリクエストREQ−Node111、1
12がS1において発生し、S2において非スプリット
バスである各々のバスの使用要求を行う目的で、バスコ
ンバータリクエスト信号BC−REQ−Arb−BUS
5、6(136、139)が、バスアービタ154、1
55からバス間コントローラ115に対して出力され
る。この場合、バス間コントローラ115の調停によ
り、BUS5にバス権が与えられ、S3においてバスコ
ンバータグラントBC−GNT−Arb−BUS5(1
38)が発行される。これを受けたバスアービタ154
では、BUS5上の転送を開始すべくノード111にバ
スグラントGNT−Node111をS4において発行
する。同時に、リードアクセスが開始される可能性があ
るという意味で、バス間コンバータ115に対して、リ
ードロック信号ReadLock(137)を発行しは
じめる。この後、図3に示したのと同様なタイムチャー
トに従って、S15においてリードデータをノード11
1が受け取ることで転送が完了する。バスアービタ15
4では、途中でリードロック信号を継続するかネゲート
するかの判定が入るが、転送種がリードであることをト
ランザクション種TrTypから検出することにより、
リードロック信号が継続される。これについては、後述
する図7に示すフローのステップ726において説明す
る。
【0028】また、ノード112からデータを受けるた
めにBUS6上におけるデータ転送が行われるが、BU
S5のノード111からのアクセス要求であるため、バ
スコンバータを通じたバス間転送は、バス間コントロー
ラ115の調停とは関係なく転送が実行される。これに
ついては、後述する図7に示すフローのステップ720
において説明する。
【0029】図9に示すS16において、バス間コント
ローラ115は、リードロック信号ReadLock
(137)がネゲートされたことで非スプリットバスB
US5(120)上のリードの完了を認識し、つぎに、
S17においてBUS6(121)に転送許可BC−G
NT−Arb−BUS6(141)を発行する。その結
果、S18においてノード112に対するグラントGN
T−Node112が発行され、S29まで、BUS4
を経由した、BUS5上のノード111からデータリー
ドを行う一連の転送シーケンスが実行される。
【0030】図5に、バス間コントローラ115内の調
停回路の一具体例を示す。図5において、バス間コント
ローラ115内の調停回路では、各々のバスからのアク
セス要求をうけつけ、同時に複数のアクセス要求があっ
た場合には、複数のアクセス要求のうちいずれかのバス
のアクセス要求を選択し、選択したバスに対してそのバ
スへのアクセス許可を通知する。
【0031】図5において、調停回路は、バスの優先順
位を判定するための優先判定回路501を備え、バスリ
クエスト通知信号(BC−REQ)130、133、1
36および139と、各々の非スプリットバスのアービ
タを持つバスコンバータからのリードアクセスによるロ
ック信号(ReadLock)131、134、137
および140とを入力し、バスコンバータグラント信号
(BC−GNT)132、135、138および142
を出力する。
【0032】本実施例では、優先判定回路501として
レベル優先判定方式を採用している。すなわち、バスの
優先順位を記憶するプライオリティーテーブル504を
備え、優先順位を判定するプライオリティーエンコーダ
ー502が、プライオリティーテーブル504を参照
し、複数のリクエストの中から最高プライオリティーの
値を出力し、この値をプライオリティーデコーダー50
3に供給する。プライオリティーデコーダー503では
プライオリティーテーブル504を参照して最優先バス
をひとつ決定し、そのバスのBC−GNTをアサートす
る。リクエストが全くない場合は、プライオリティーデ
コーダー503の全ての出力信号がネゲートになる。
【0033】プライオリティーテーブル504の設定の
一例を図6に示す。図6において、各バスリクエスト通
知信号(BC−REQ)ごとに、プライオリティとして
互いに異なる値を設定しておき、ここでは数値が大きい
ほど優先されるものとする。この例では、バス5、バス
6、バス2、バス1の順で優先される。プライオリティ
ーテーブル504は、予め設定しておく。
【0034】図5において、優先判定回路501に入力
されたバスリクエスト通知信号(BC−REQ)13
0、133、136および139は、アンドオア52
0、521、522、523にそれぞれ入力され、オア
507の出力がネゲートのとき、すなわちインバータ5
08の出力がアサートのとき、ラッチ530、531、
532および533にデータが保持される。反対に、オ
ア507の出力がアサートのときは、ラッチ530、5
31、532、533に保持されている値がそのまま保
持され続ける。オア507の出力がアサートになるの
は、オア505またはオア506のいづれかがアサート
であるときである。オア505がアサートとなるのは、
お互い同じバスアービタに対応するバスリクエスト通知
信号(BC−REQ)130、133、136および1
39と、バスコンバータグラント信号(BC−GNT)
132、135、138および142と論理積のいづれ
かがアサートであるときである。これら論理積は、アン
ド510、511、512および513によりとられ
る。これらは、リクエストを出したバスアービタに対応
するバスコンバータグラントが出力された最初のタイミ
ングを捉えるものである。この次のサイクルでは、バス
コンバータグラントを認識したバスアービタがバスリク
エストをネゲートするので対応する論理積510、51
1、512、513の出力はネゲートされる。一方、オ
ア506がアサートとなるのは、リードロック信号(R
eadLock)131、134、137、140のい
づれかがアサートのときである。
【0035】このバス間コントローラの働きにより、リ
ードを実行できる非スプリットバスは、図1に示したシ
ステム中で唯一つに制限できる。
【0036】バス間コントローラ115は、必ずしも独
立して実装される必要はなく、バスコントローラ10
3、105、107、108、109、113のいずれ
かと同一のコンポーネントに実装されれば良い。また、
優先判定回路501は、レベル優先判定回路のほかに
は、ラウンドロビン方式優先判定回路を採用することな
どが考えられる。ここで、ラウンドロビン方式は、アク
セス処理を受けた後に、そのバスの優先順位を最下位に
して、アクセス要求があったときには、優先順位の高い
ものからアクセスを許可する方式をいう。このため、同
時にアクセス要求があったときには、その時点で優先順
位の高いものにアクセス権が与えられる。
【0037】一方、バスコンバータ内の非スプリットバ
スアービタは、バス間コンバータ115よりバスコンバ
ータグラントを受けることで、当該非スプリットバスに
バスグラントを発行する。もし、非スプリットバスのい
ずれか一ヶ所でリードアクセスが実行中であると、新た
なバスコンバータグラントが発行されないため、システ
ム中でリードアクセスを行なっている非スプリットバス
は、ひとつに限られる。本実施例によれば、同じタイミ
ングで2ヶ所以上の非スプリットバスにグラントを与え
ることがないため、複数の非スプリットバス上のリード
アクセスが発生してしまうことがない。さらに、デッド
ロックとは関係のないライトアクセスは並行して実行さ
れるので、システム全体のバス使用効率を著しく下げる
ことなく、デッドロックを回避できる。
【0038】つぎに、図7を参照して非スプリットバス
に接続されるノードにおける処理と、バスコンバータの
処理とを説明する。図7に、非スプリットバスに接続さ
れるノードのリードアクセス時の処理フロー(a)と、
バスコンバータのアクセスコントロールの処理フロー
(b)とを示す。
【0039】図7(a)において、ノードは、バスへの
アクセスを要求する場合に、アクセス要求を示すために
バスリクエストREQを発行する(ステップ710)。
図7(b)において、バスリクエストREQを受けたバ
スコンバータ内部のアービタは、バスコンバータからの
バス要求(バスコンバータ内のバスアービタから発生す
る)すなわち、バス間転送に伴うバス要求がないことを
確認し(ステップ720)、バス間コントローラ115
に対してバスコンバータリクエストBC−REQを出力
する(ステップ721、722)。また、バスコンバー
タからのバス要求がある場合は、ノードからのアクセス
より優先してバスコンバータへのグラントを発行する
(ステップ732)。
【0040】バスコントローラ115から出力されたバ
スコンバータグラントBC−GNTを受けて、非スプリ
ットバスのアクセス開始が許可されると(ステップ72
3)、バスコンバータリクエストBC−REQをネゲー
トし、ノードに対するグラントGNTを出力するととも
に、バス間コントローラに対してリードロック信号Re
adLockを出力する(ステップ724)。この時に
は、まだ転送種がリードであるかライトであるかが決定
していないが、リードが開始される可能性を示して、他
の非スプリットバスでリードが並行実行しないようにリ
ードロック信号を出力する。図7(a)において、この
グラントGNTを受けたノードは(ステップ711)、
バス上にトランザクション種TrTypおよびアドレス
Adrを出力し(ステップ712)、サーフノードから
のデータ応答を待機するステップに遷移する(ステップ
713)。図7(b)において、転送種TrTypを受
けたバスコンバータは(ステップ725)、転送種Tr
Typからリードかライトかの別を判定し(ステップ7
26)、リードの場合はデータがサーフノードからのデ
ータ応答を監視するステップに遷移する(ステップ72
7)。図7(a)において、サーフノードからデータ応
答が行われると、モナークノードはそのデータを受け取
り(ステップ714)、アクセスを完了する。図7
(b)において、バスコンバータは、サーフノードから
のデータ応答を認識したら、リードロックを解除し(ス
テップ728)、ノードに対するグラントGNTをオフ
し(ステップ731)、リクエスト待ち(ステップ72
0)に戻る。ステップ726の判定でアクセスがライト
の場合は、バスコンバータは、転送種TrTypを受け
てライトを認識したときにリードロック信号ReadL
ockをオフする(ステップ729)。ライトのときに
は、リードロックを掛ける必要がないので、リードロッ
ク信号を解除する。その後、モナークノードがライトデ
ータを出力する所定のサイクルをカウントし(ステップ
730)、ノードに対するグラントGNTをオフし(ス
テップ731)、リクエスト待ち(ステップ720)に
戻る。
【0041】また、上記実施例においては、リードロッ
ク信号をバスコンバータから送出しているが、リードロ
ック信号を送出する代わりに、バス上のGNT信号、例
えば、図9に示すGNT−Node111を送出するよ
うにしてもよい。
【0042】また、図8を参照してスプリットバスに接
続されるノードにおける処理と、バスコンバータの処理
とを説明する。図8に、スプリットバスに接続されるノ
ードのリードアクセス時の処理フロー(a)および
(c)と、バスコンバータのアクセスコントロールの処
理フロー(b)とを示す。
【0043】図8(a)において、ノードは、バスへの
アクセスを要求する場合に、アクセス要求を示すために
バスリクエストREQを出力する(ステップ810)。
図8(b)において、バスリクエストREQを受けたバ
スコンバータ内部のアービタは(ステップ830)、ノ
ードに対するグラントGNTを出力する(ステップ83
1)。図8(a)において、このグラントGNTを受け
たノードは(ステップ811)、バスリクエストREQ
をネゲートするともにバス上にトランザクション種Tr
TypおよびアドレスAdrを出力し(ステップ81
2)、サーフノードからのデータ応答を待機するために
いったんバスを開放する。転送種TrTypを受けたバ
スコンバータは(ステップ832)、転送種TrTyp
が、モナークノードからのリードリクエストであるか、
サーフノードからのリードデータの応答であるか、ライ
ト要求であるかを判断する(ステップ833)。この場
合、モナークノードからのリードリクエストであること
を認識する。そこで、アクセスサイクルは転送種TrT
ypとアドレスAdrとを同時に出力する1サイクルに
限られるので、速やかにノードに対するグラントGNT
をネゲートしてバス開放を行う(ステップ836)。図
8(c)において、サーフノードからのデータ応答をモ
ナークノードが認識すると(ステップ820、821)
と、リードレスポンスの所定サイクルのデータを入力し
(ステップ822、823)、アクセスを終了する。こ
のとき、図8(b)において、サーフノードからのデー
タ応答を認識したバスコンバータは、同時に所定のサイ
クル数を数えてから(ステップ834)、ノードに対す
るグラントGNTをネゲートしてバス開放を行う(ステ
ップ836)。アクセスがライトの場合は、バスコンバ
ータは、モナークノードがライトデータを出力する所定
のサイクルをカウントし(ステップ835)、ノードに
対するグラントGNTをオフし(ステップ836)、リ
クエスト待ちに戻る(ステップ830)。
【0044】以上の構成により、非スプリットバスを多
段接続したシステムを構築できる。本実施例によれば、
同じタイミングで2ヶ所以上の非スプリットバスにグラ
ントを与えることがないため、複数の非スプリットバス
上のリードアクセスが発生してしまうことがない。さら
に、デッドロックとは関係のないライトアクセスは並行
して実行されるので、システム全体のバス使用効率を著
しく下げることなく、デッドロックを回避できる。
【0045】
【発明の効果】本発明によれば、リードアクセスの競合
によるデッドロックを回避できるので、非スプリットバ
スを多段接続したシステムを構築できる。
【図面の簡単な説明】
【図1】本実施例におけるバス間コントローラを用いた
システムの構成図。
【図2】本実施例におけるバスコンバータのブロック
図。
【図3】ノード111からノード112にリードアクセ
スを行なうときのタイムチャートの説明図。
【図4】同時にリードアクセスが発行されてハングアッ
プするケースのタイムチャートの説明図。
【図5】本実施例におけるバス間コントローラ内の調停
回路の構成図。
【図6】バス間コントローラ内の調停回路の優先レベル
テーブルの説明図。
【図7】非スプリットバスの場合のノードのリードアク
セス処理フローとバスコンバータのアクセスコントロー
ル処理フローの説明図。
【図8】スプリットバスの場合のノードのリードアクセ
ス処理フローとバスコンバータのアクセスコントロール
処理フローの説明図。
【図9】本実施例における図1に示す構成においてノー
ド111からノード112にリードアクセスを行なうと
きのタイムチャートの説明図。
【図10】従来技術によるシステムの構成図。
【符号の説明】
115…バス間コントローラ、103・105・107
・108・109・113…バスコンバータ、123・
124・125・126・127…バスリクエスト通知
信号(BC−REQ)、リードロック信号(BC−LO
CK)およびバスコンバータグラント信号(BC−GN
T)、501…優先判定回路。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】複数のバスデバイスが接続された複数のバ
    スを備えるコンピュータシステムであって、 前記複数のバスの各々に対応して設けられ、当該バスに
    おける複数のバスデバイスの各々からのアクセス要求を
    受け付け、バスアクセス権を調停することによりバスへ
    のアクセスを許可するバス接続装置と、 前記複数のバスの各々に対応して設けられる前記バス接
    続装置のバスアクセス権についての制御を行うバス接続
    制御装置とを有し、 前記バス接続装置は、 前記アクセス要求を受け付けたときに当該バスへのアク
    セス要求があった旨をアクセス要求通知として前記バス
    接続制御装置に出力するアクセス要求出力手段と、 前記アクセス要求出力手段でアクセス要求通知の出力
    後、前記バス接続制御装置から前記バスへのアクセス許
    可通知を受け付けるアクセス許可受け付け手段と、 前記アクセス許可受け付け手段で前記アクセス許可通知
    を受け付けたときに、前記アクセス要求を受け付けたバ
    スデバイスにバスアクセス権を与え、当該バスデバイス
    のアクセスが実行中のときに、当該バスにおけるアクセ
    スが実行中である旨を前記バス接続制御装置に出力する
    実行中出力手段とを備え、 前記バス接続制御装置は、 前記アクセス要求出力手段からのアクセス要求通知を受
    け付けるアクセス要求受け付け手段と、 前記アクセス要求受け付け手段で同時に受け付けた前記
    アクセス要求通知が、一つである場合には、当該バスへ
    のアクセス許可通知を前記アクセス許可受け付け手段に
    通知し、前記アクセス要求受け付け手段で同時に受け付
    けた前記アクセス要求通知が複数ある場合には、当該複
    数のアクセス要求通知のうちいずれかのバスのアクセス
    要求通知を選択し、選択した一つのアクセス要求通知に
    対するバス接続装置の前記アクセス許可受け付け手段に
    アクセス許可通知を出力する許可通知手段と、 前記許可通知手段によりアクセス許可通知が出力された
    バス接続装置の実行中出力手段から、当該バスにおける
    アクセスが実行中である旨を受け付ける実行中受け付け
    手段とを有し、 前記許可通知手段は、前記実行中受け付け手段において
    前記バスにおけるアクセスが実行中である旨を受け付け
    ているときには、前記アクセス許可通知の出力を抑止
    し、 前記バスデバイスは、データを送受信する端末と前記バ
    ス接続装置とを含むことを特徴とする複数のバスを備え
    るコンピュータシステム。
  2. 【請求項2】請求項1において、前記許可通知手段は、
    前記複数のバス接続装置についての優先順位を予め規定
    しておき、前記アクセス要求受け付け手段で同時に受け
    付けた前記アクセス要求通知が複数ある場合には、当該
    規定した優先順位にしたがって、前記選択を行なうこと
    を特徴とする複数のバスを備えるコンピュータシステ
    ム。
  3. 【請求項3】請求項1において、前記アクセス要求は、
    前記端末から他のバスに接続される端末への読み出し要
    求とすることを特徴とする複数のバスを備えるコンピュ
    ータシステム。
  4. 【請求項4】複数のバスデバイスの各々からのアクセス
    要求を受け付け、バスアクセス権を調停することにより
    バスへのアクセスを許可するバス接続装置であって、 前記アクセス要求を受け付けたときに当該バスへのアク
    セス要求があった旨をアクセス要求通知として外部に出
    力するアクセス要求出力手段と、 前記アクセス要求出力手段でアクセス要求通知の出力
    後、当該バスへのアクセス許可通知を受け付けるアクセ
    ス許可受け付け手段と、 前記アクセス許可受け付け手段で前記アクセス許可通知
    を受け付けたときに、前記アクセス要求を受け付けたバ
    スデバイスにバスアクセス権を与え、当該バスデバイス
    のアクセスが実行中のときに、当該バスにおけるアクセ
    スが実行中である旨を外部に出力する実行中出力手段と
    を備えることを特徴とするバス接続装置。
  5. 【請求項5】複数のバスデバイスが接続された複数のバ
    スを備えるコンピュータシステムにおけるバス制御方法
    であって、 複数のバスの各々へのアクセス要求があったときに、当
    該バスのアクセス要求通知を出力し、 同時に受け付けた前記アクセス要求通知が、一つである
    場合には、当該バスへのアクセス許可通知を出力し、同
    時に受け付けた前記アクセス要求通知が複数ある場合に
    は、当該複数のアクセス要求通知のうちいずれかのバス
    のアクセス要求通知を選択し、選択した一つのアクセス
    要求通知に対してアクセス許可通知を出力し、 前記アクセス許可通知を受け付けたときに、前記アクセ
    ス要求を受け付けたバスデバイスにバスアクセス権を与
    え、 前記バスデバイスのアクセスが実行中のときには、前記
    アクセス許可通知の出力を抑止することを特徴とするバ
    ス制御方法。
JP2314895A 1995-02-10 1995-02-10 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法 Pending JPH08221357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2314895A JPH08221357A (ja) 1995-02-10 1995-02-10 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2314895A JPH08221357A (ja) 1995-02-10 1995-02-10 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法

Publications (1)

Publication Number Publication Date
JPH08221357A true JPH08221357A (ja) 1996-08-30

Family

ID=12102497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2314895A Pending JPH08221357A (ja) 1995-02-10 1995-02-10 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法

Country Status (1)

Country Link
JP (1) JPH08221357A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625678B1 (en) 1999-11-11 2003-09-23 Nec Corporation Livelock avoidance method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625678B1 (en) 1999-11-11 2003-09-23 Nec Corporation Livelock avoidance method

Similar Documents

Publication Publication Date Title
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
JP3370104B2 (ja) バスアービトレーションシステム
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US20020161978A1 (en) Multi-service system-on-chip including on-chip memory with multiple access path
JP4715801B2 (ja) メモリアクセス制御装置
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
JP2539021B2 (ja) 保留バスに割り込み要求を送る割り込み要求発生ノ―ド
US9984014B2 (en) Semiconductor device
US7539806B2 (en) Arbitrator and its arbitration method
EP1811393B1 (en) Method and system for data transfer
JP3485464B2 (ja) マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置
JPH08221357A (ja) 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JPH04134551A (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JP2002288120A (ja) 調停装置およびバスシステム
JPH0830549A (ja) バス制御装置
JPS63175964A (ja) 共有メモリ
KR100605867B1 (ko) 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
JP2000267993A (ja) Dma制御装置
JPH06266657A (ja) 情報処理装置
JP2001167049A (ja) バス調停装置
JP4288014B2 (ja) バス調停システム及び方法
JP2000207352A (ja) メモリアクセス競合制御方法とその回路、並びにデ―タ処理装置
JPH04250553A (ja) プログラマブルコントローラ