JPH10283309A - 共有バス制御装置 - Google Patents

共有バス制御装置

Info

Publication number
JPH10283309A
JPH10283309A JP9654497A JP9654497A JPH10283309A JP H10283309 A JPH10283309 A JP H10283309A JP 9654497 A JP9654497 A JP 9654497A JP 9654497 A JP9654497 A JP 9654497A JP H10283309 A JPH10283309 A JP H10283309A
Authority
JP
Japan
Prior art keywords
bus
use request
partial
node
shared
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
JP9654497A
Other languages
English (en)
Inventor
Akihiro Takeya
彰浩 竹谷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP9654497A priority Critical patent/JPH10283309A/ja
Publication of JPH10283309A publication Critical patent/JPH10283309A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 任意のノード間で短時間かつ等しい時間で交
信でき、然も1つの共通バスを空間的に分割して多重使
用することにより共通バスの使用効率を高めた共有バス
制御装置を提供する。 【解決手段】 共有バスBは、各々少なくとも1つのノ
ード(11,12,13等) が接続された複数の部分バス14,24,
…,N4 を、バススイッチ10,20,…,(N-1)0 を介して直列
に接続された構造を持つ。バス調停装置100 は、複数の
ノードから同時にバス使用要求が出された場合、部分バ
スの使用範囲が重複しない全てのバス使用要求を選択
し、この選択したバス使用要求にかかるバスアクセスで
使用される部分バスの範囲に応じて各バススイッチ10,2
0,…,(N-1)0 の開閉状態を制御することで、共有バスB
を互いに電気的に分離された複数のバスとして構成し、
前記選択した複数のバス使用要求にかかるバスアクセス
を並行して行わせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の中央処理装
置やメモリ等を共有バスを介して相互に接続するための
共有バス制御装置の改良に関する。
【0002】
【従来の技術】中央処理装置やメモリや入出力制御装置
など相互結合の対象となるものをノードと呼ぶとき、複
数のノードを相互に結合する代表的な方式に、共有バス
方式がある。この共有バス方式は、全てのノードを共通
のバスに接続し、バスを時分割で使用する方式である。
比較的ハードウェア量が少なく、またノード間の交信が
1ステップで行える利点がある為、マルチプロセッサシ
ステムなどの各種システムで多用されている。
【0003】しかしながら、共有バス方式では、ノード
数が増加するにつれてバストラフィックが急激に増大
し、これがシステムのボトルネックとなる。
【0004】そこで、例えば特開平3−6768号公報
の第4図に示されるように共有バスを複数に分割して階
層化し、各階層間を共有メモリで結合する方式や、例え
ば特開平4−74233号公報の第1図に示されるよう
に共有バスを複数に分割し、共有バス間をメモリや光ス
ターカプラで結合する方式が提案されている。
【0005】
【発明が解決しようとする課題】しかし、これらの従来
技術では、同じ共有バスに接続されたノード間の交信は
1ステップで行えるが、別の共有バスに接続されたノー
ド間の交信は、その間にメモリや光スターカプラが介在
するため1ステップでは行えず、時間がかかる。また、
ノード間のアクセスレイテンシが一定にならないのも問
題である。
【0006】そこで本発明の目的は、任意のノード間で
短時間かつ等しい時間で交信でき、然も1つの共有バス
を空間的に分割して多重使用することにより共有バスの
使用効率を高め、バスのスケーラビリティを保った、即
ち、ノード数の増大に応じて処理性能を向上させること
ができる共有バス制御装置を提供することにある。
【0007】
【課題を解決するための手段】本発明は上記の目的を達
成するために、複数のノードを共有バスを介して相互に
接続するための共有バス制御装置であって、前記共有バ
スは、各々少なくとも1つのノードが接続された複数の
部分バスがバススイッチを介して直列に接続された構造
を有し、且つ、複数のノードから同時にバス使用要求が
出された場合に、部分バスの使用範囲が重複しない全て
のバス使用要求を選択し、該選択したバス使用要求にか
かるバスアクセスで使用される部分バスの範囲に応じて
各バススイッチの開閉状態を制御することで、前記共有
バスを互いに電気的に分離された複数のバスとして構成
して前記選択した複数のバス使用要求にかかるバスアク
セスを並行して行わせるバス調停装置を備えることを特
徴とする。
【0008】このように構成された本発明の共有バス制
御装置にあっては、中央処理装置や入出力制御装置等の
複数のノードから同時にバス使用要求が出された場合、
バス調停装置が、部分バスの使用範囲が重複しない全て
のバス使用要求を選択し、この選択したバス使用要求に
かかるバスアクセスで使用される部分バスの範囲に応じ
て各バススイッチの開閉状態を制御する。これによっ
て、共有バスが互いに電気的に分離された複数のバスと
して構成され、前記選択された複数のバス使用要求にか
かるバスアクセスが並行して行われる。
【0009】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0010】図1は本発明の共有バス制御装置を適用し
た分散共有メモリ型マルチプロセッサシステムの一例を
示すブロック図である。
【0011】この例のマルチプロセッサシステムは、合
計N個の部分バス14,24,…,N4をN−1個のバ
ススイッチ10,20,…,(N−1)0によって直列
に接続した構造を有する共通バスBを備え、各部分バス
14,24,…,N4の各々に、中央処理装置(CP
U)11,21,…,N1と、メインメモリ12,2
2,…,N2と、入出力制御装置13,23,…,N3
との3つのノードをそれぞれ接続し、それぞれユニット
1,2,…,Nとした構成を有している。ここで、各ユ
ニット1,2,…,Nの中央処理装置11,21,…,
N1は同一のアドレス空間を有し、図2に示すように、
メインメモリ12,22,…,N2はそれぞれ異なるメ
モリアドレス空間に割り当てられ、同様に、入出力制御
装置13,23,…,N3はそれぞれ異なるI/Oアド
レス空間に割り当てられている。
【0012】各部分バス14,24,…,N4は、本例
の場合、メモリバスとI/Oバスとを兼ねたバス、つま
りシステムバスであり、全て同じ構造を有し、データ
線,アドレス線および制御線を含む。
【0013】バススイッチ10,20,…,(N−1)
0は、両隣の部分バスを電気的に接続,切断するスイッ
チである。電気的に接続した場合、両隣の部分バスにお
けるデータ線の同じビット線同士、アドレス線の同じビ
ット線同士、制御線の同じビット線同士がそれぞれ接続
され、あたかも1本のバスのようになる。逆に、電気的
に切断した場合、両隣の部分バスは独立したバスとな
る。
【0014】図3にバススイッチ10の構成例を示す。
この例のバススイッチ10は、部分バス14と部分バス
24との対応するビット線同士をFET(電界効果トラ
ンジスタ)によって電気的に接続し、また切断する構成
を採用している。他のバススイッチ20,…,(N−
1)0も全く同様の構成である。各FETは、スイッチ
制御信号線10Sを通じてゲートに与えられる共通のス
イッチ制御信号によって導通状態が制御される。導通時
には一方のビット線の信号をほとんど無視できる遅延時
間で他方のビット線に伝達する。逆に導通遮断時には両
隣のビット線を電気的に分離する。勿論、FET以外の
素子を使用することも可能である。
【0015】再び図1を参照すると、バス調停装置10
0は、各ユニット1,2,…,N中のアクセス元となる
ノード、即ち、中央処理装置11,21,…,N1およ
び入出力制御装置13,23,…,N3に対してバス使
用要求線11R,21R,…,N1R,13R,23
R,…,N3Rおよびバス使用許可線11A,21A,
…,N1A,13A,23A,…,N3Aで接続され、
また、各バススイッチ10,20,…,(N−1)0に
対してスイッチ制御信号線10S,20S,…,(N−
1)0Sで接続されており、各ノードからのバス使用要
求をとりまとめ、要求が重なった場合に所定の方法に従
ってバスの使用を許可するノードを決定し、それに応じ
て各バススイッチを制御する。特に、複数のノードから
同時にバス使用要求が出された場合に、部分バスの使用
範囲が重複しない全てのバス使用要求を選択し、この選
択したバス使用要求にかかるバスアクセスで使用される
部分バスの範囲に応じて各バススイッチの開閉状態を制
御することで、共有バスBを互いに電気的に分離された
複数のバスとして構成し、複数のバス使用要求にかかる
バスアクセスを並行して行わせる。
【0016】図4(a)はバスサイクルの説明図であ
る。本例のマルチプロセッサシステムでは、アービトレ
ーションを行う期間aと実際にノード間でアクセスを行
う期間bとを1サイクルとして動作する。共有バスBを
使用して他ノードにアクセスするノードは、期間aの立
ち上がり時点でバス使用要求を出し、許可が得られたノ
ードが期間bで実際にアクセスを行う。各ノードが期間
a,bを認識する方法としては、期間a,bがともに固
定時間の場合、共通クロックで各ノード間の同期をとる
方法がある。また、期間aを固定時間、期間bを可変時
間とすることもできる。この場合は、バスビジー信号を
設け、バスビジー信号がアクティブになっている期間を
bとし、バスビジー信号がアクティブからインアクティ
ブに変化した時点より一定期間を期間aとすれば良い。
更に、図4(b)に示すように、期間aと期間bをパイ
プライン化し、バスの使用効率を向上させるようにして
も良い。
【0017】次に、図1に示されるマルチプロセッサシ
ステムの動作について説明する。
【0018】他のノードをアクセスしようとするノード
は、アービトレーション期間aの立ち上がり時点でバス
使用要求をバス使用要求線を通じてバス調停装置100
に送出する。このバス使用要求の形式は、バス調停装置
100側で、そのアクセスにおいてどの部分バスが使用
されるかが分かるような形式とする。この具体的な実現
方法としては種々の方法が考えられる。例えば、バス使
用要求を伝えるバス使用要求線11R,21R,…,N
1R、13R,23R,…,N3Rのそれぞれを、部分
バス14,24,…,N4の本数分(すなわちN本)の
ビット線の集合とし、使用する部分バスに対応するビッ
ト線は論理“1”、その他は論理“0”とする方法が考
えられる。また、部分バスとユニットとが1対1に対応
しているため、アクセス元のノードが含まれるユニット
と、アクセス先のノードが含まれるユニットとが分かれ
ば、そのアクセスで使用される部分バスが判明するた
め、アクセス元およびアクセス先のユニットの識別番号
をコード化して通知する方法も考えられる。本例では、
この後者の方法を使用するものとする。
【0019】バス調停装置100は、アービトレーショ
ン期間aの立ち上がり時点で各ノードから出されたバス
使用要求をとりまとめ、1つの要求しか出ていない場合
には無条件でそのノードに対してバス使用許可を付与
し、そのアクセス時に使用される部分バスを1本化する
ためにバススイッチを制御する。他方、複数のノードか
ら同時にバス使用要求が出ている場合には、各ノードの
バス割り当て優先順位および部分バスの競合具合を勘案
して、1つまたは複数のノードに対してバス使用許可を
付与し、それらのアクセス時に使用される部分バスを1
本化するためにバススイッチを制御する。
【0020】例えば、図5に示すような6つのバス使用
要求(a)〜(f)が一斉に発生したとする。なお、図
5において、Sはバス使用要求で示される要求元のユニ
ットを、Dはバス使用要求で示されるアクセス先のユニ
ットを、それぞれ示す。このとき、バス割り当て優先順
位が要求(a)を出したノードが最も高く、次に要求
(b)を出したノードが高く、以下、(c)、(d)、
(e)の順に低くなり、(f)の要求を出したノードの
バス割り当て優先順位が最も低いものとすると、バス調
停装置100は以下のようなアービトレーションを行
う。
【0021】まず、同時に発生した複数のバス使用要求
のうち最も優先順位の高いノードが出したバス使用要求
(a)を受け付ける。
【0022】次に優先順位の高いバス使用要求(b)
は、そのアクセスで使用される部分バスの一部が、上記
受け付けたバス使用要求(a)と重複するので、受け付
けない。次に優先順位の高いバス使用要求(c)も同様
に、受け付けない。
【0023】次に優先順位の高いバス使用要求(d)
は、そのアクセスで使用される部分バスが上記受け付け
たバス使用要求(a)で使用される部分バスと重複しな
いので、受け付ける。
【0024】残りの(e),(f)の各バス使用要求
は、それらのアクセスで使用される部分バスの一部が、
上記受け付けた(d)のバス使用要求と重複するので、
何れも受け付けない。
【0025】他にバス使用要求がないので、バス調停装
置100は、上記受け付けた(a),(d)の各バス使
用要求を出したノードに対してバス使用許可信号を送出
する。同時に、(a)のバス使用要求にかかるアクセス
で使用される部分バス14,24,34を1本化するた
めにバススイッチ10,20を閉じると共に、(d)の
バス使用要求にかかるアクセスで使用される部分バス4
4〜(N−1)4を1本化するためにバススイッチ40
〜(N−2)0を閉じ、且つ、これら1本化した2つの
バス間を分離するために、バススイッチ30を開ける。
【0026】(a),(d)のバス使用要求を出した各
ノードは、バス使用許可が得られたため、アービトレー
ション期間a直後の期間bでそれぞれバスサイクルを実
行し、アクセス先のノードをアクセスする。
【0027】(a),(d)のバス使用要求を出した各
ノードが次のサイクルでバス使用要求を出さなかったと
し、次のサイクルでは(b),(c),(e),(f)
の4つのバス使用要求が同時に発生したとすると、バス
調停装置100は、次のサイクルでは、(b)のバス使
用要求を出したノードと(e)のバス使用要求を出した
ノードとの2つのノードに対してバス使用許可を与え、
バススイッチ20,30を閉じて部分バス24〜44を
1本化し、且つ、バススイッチ40〜(N−2)0のう
ちの少なくとも1つのバススイッチを開けることで、1
本化された部分バス24〜44と部分バス(N−1)0
とを分離する。
【0028】同様に次のサイクルでは、(c)のバス使
用要求を出したノードと(f)のバス使用要求を出した
ノードに対してバス使用許可が与えられ、それに応じて
バススイッチの開閉が制御される。
【0029】このように本実施例では、各ノードから出
されたバス使用要求をアービトレーションした結果に応
じてバススイッチの開閉を制御して共通バスBを電気的
に分離された複数のバスとするため、複数のバスアクセ
スを同時に実行することができる。このため、共通バス
Bの使用効率が向上する。簡単化のために、各ユニット
からバス使用要求が発生する確率を1/2とし、アクセ
ス先のユニットは同じ確率で発生すると仮定すると、バ
ススイッチが無く1本の共有バスBにより結合された従
来の分散メモリ共有型マルチプロセッサシステムにおい
ては、ユニット数N=2の時、4サイクル中3回のバス
アクセスが実行され、ユニット数N=3の時、8サイク
ル中7回のバスアクセスが実行される。これに対し、本
実施例では、ユニット数N=2の時、4サイクル中3.2
5 回のバスアクセスが実行され、ユニット数N=3の
時、8サイクル中8.22 回のバスアクセスが実行され
る。すなわち、バスのスループットは、ユニット数N=
2のとき8.3%向上し、ユニット数N=3のとき17.4
%向上する。
【0030】次に、バス調停装置100の構成例を図6
を参照して説明する。
【0031】図6に示す例のバス調停装置100は、優
先順位設定レジスタ101と、優先順位決定部102
と、アンドゲート103と、使用許可信号発生部104
と、デコーダ105と、重複検出部106と、レジスタ
107と、スイッチ制御信号発生部108とから構成さ
れている。
【0032】各ノードから出されるバス使用要求は、バ
ス使用要求線11R〜N1R,13R〜N3Rを介して
優先順位決定部102に入力される。優先順位決定部1
02は、各ノードの優先順位を設定してある優先順位設
定レジスタ101の優先順位に従って、1つのバス使用
要求を選択する。即ち、同時に複数のバス使用要求が発
生している場合、その内の最も優先順位の高いバス使用
要求を選択してデコーダ105に出力すると共に、この
選択したバス使用要求を発したノードの識別子をアンド
ゲート103に出力する。1つしかバス使用要求が発生
していない場合には当然そのバス使用要求が選択され
る。
【0033】ここで、優先順位設定レジスタ101の設
定値を固定にすれば固定優先方式となり、アービトレー
ション毎に変更すれば可変優先方式となる。
【0034】デコーダ105は、優先順位決定部102
から出力されたバス使用要求をデコードして、各部分バ
ス14,24,…,N4に1対1に対応する信号線10
9−1,109−2,…,109−Nに、そのバス使用
要求にかかるアクセスでその部分バスが使用されるとき
はバス使用要求元のノードが含まれるユニットの識別子
を出力し、使用されないときは例えば“0”を出力す
る。
【0035】レジスタ107は、各部分バス14,2
4,…,N4に1対1に対応するエントリ107−1〜
107−Nを有し、アービトレーション開始時には全て
のエントリが“0”になっている。重複検出部106
は、各部分バス14〜N4毎に、デコーダ105からの
信号線109−1〜109−Nと、対応するレジスタ1
07のエントリ107−1〜107−Nの内容とを比較
し、ユニット識別子を出力した信号線109−iに対応
するエントリ107−iの内容が全て“0”の場合、優
先順位決定部102が今回出力したバス使用要求を許可
すべく、信号線110によってアンドゲート103を開
き、許可したバス使用要求にかかるノード識別子を使用
許可信号発生部104に与える。使用許可信号発生部1
04は、入力されたノード識別子のノードにつながるバ
ス使用許可線11A〜N1A,13A〜N3Aを通じて
そのノードにバス使用許可を通知する。同時に重複検出
部106は、レジスタ107における、ユニット識別子
を出力した信号線109−iに対応するエントリ107
−iにそのユニット識別子を書き込み、レジスタ107
のエントリの内少なくとも1つのエントリが“0”であ
れば信号線111を通じて優先順位決定部102に次の
バス使用要求を選択するよう要求する。これに応じて優
先順位決定部102は、次に優先順位の高いバス使用要
求が存在すれば、それを選択して出力する。無ければ、
信号線112によってその旨を重複検出部106に通知
する。
【0036】他方、重複検出部106は、ユニット識別
子を出力した信号線109−iに対応するエントリ10
7−iの内容の内少なくとも1つが“0”でなければ、
アンドゲート103を開かない。この結果、優先順位決
定部102が今回出力したバス使用要求は許可されな
い。この場合も重複検出部106は、信号線111を通
じて優先順位決定部102に次のバス使用要求を選択す
るよう要求する。これに応じて優先順位決定部102
は、次に優先順位の高いバス使用要求が存在すれば、そ
れを選択して出力し、無ければ、信号線112によって
その旨を重複検出部106に通知する。
【0037】以上のような動作は、レジスタ107の全
エントリが全て“0”でなくなるか、または、優先順位
決定部102で全てのバス使用要求が選択されるまで続
けられる。
【0038】一方、スイッチ制御信号発生回路108
は、レジスタ107の隣接するエントリ内容を比較する
比較器113−1,113−2,…,113−(N−
1)をバススイッチ10,20,…,(N−1)0に対
応して有しており、各比較器からバススイッチ制御信号
10S,20S,…(N−1)0Sを発生する。すなわ
ち、比較器113−1は、部分バス14に対応するエン
トリ内容と部分バス24に対応するエントリ内容とが異
なる内容のとき、即ち部分バス14と部分バス24とが
異なるユニット内のノードによって使用されるとき、あ
るいは部分バス14と部分バス24の一方のみが使用さ
れるとき、スイッチ制御信号10Sをインアクティブに
してバススイッチ10を開き、それ以外はスイッチ制御
信号10Sをアクティブにしてバススイッチ10を閉じ
る。他の比較器113−2〜113−(N−1)の動作
も同様である。
【0039】例えば図5で説明したバス使用要求(a)
〜(f)の場合、優先順位決定部102は、まずバス使
用要求(a)を選択して出力し、デコーダ105は信号
線109−1〜109−3に当該ノードが含まれるユニ
ットの識別子を出力し、他の信号線109−4〜109
−Nには“0”を出力する。その時点ではレジスタ10
7の全エントリは“0”なので、重複検出部106は、
バス使用要求(a)を許可すべくアンドゲート103を
開き、使用許可信号発生部104は、バス使用要求
(a)の発生元であるノードにバス使用許可を通知す
る。また、重複検出部106は、レジスタ107のエン
トリ107−1〜107−3にバス使用要求(a)を発
したノードが含まれるユニットの識別子を設定する。そ
して、1つ以上のエントリが“0”であるので、信号線
111によって次の選択を優先順位決定部102に指示
する。
【0040】優先順位決定部102は、次に優先順位の
高いバス使用要求(b)を選択して出力し、デコーダ1
05は信号線109−2,109−3,109−4に当
該ノードが含まれるユニットの識別子を出力する。重複
検出部106は、レジスタ107のエントリ107−1
〜107−3に既にユニット識別子が設定されているた
め、部分バスの重複有りと判断し、アンドゲート103
は開かず、信号線111によって次の選択を優先順位決
定部102に指示する。この次に選択されるのは、バス
使用要求(c)であるが、これもバス使用要求(a)と
使用する部分バスが重複するため許可されず、更に次の
選択が指示される。
【0041】次に選択されるのはバス使用要求(d)で
あり、デコーダ105のデコードの結果、信号線109
−4〜109−(N−1)に当該ノードが含まれるユニ
ットの識別子が出力される。この時点のレジスタ107
の内容は、エントリ107−1〜107−3にユニット
識別子が設定されているだけで、他のエントリの内容は
“0”なので、重複検出部106は部分バスの重複無し
と判断し、アンドゲート103を開く。これによって、
使用許可信号発生部104からバス使用要求(d)の発
生元のノードに対してバス使用許可が通知される。
【0042】以降、バス使用要求(e),(f)が順に
優先順位決定部102で選択されるが、何れも許可され
ず、最後のバス使用要求(f)を処理し終えた時点で、
アービトレーションの処理が完了する。この時点では、
レジスタ107のエントリ107−1〜107−3にバ
ス使用要求(a)を出したノードが含まれるユニットの
識別子が、エントリ107−4〜107−(N−1)に
バス使用要求(d)を出したノードが含まれるユニット
の識別子が設定され、他のエントリは“0”である。従
って、スイッチ制御信号線10S,20S,40S〜
(N−2)0Sがアクティブとなってバススイッチ1
0,20,40〜(N−2)0が閉じ、スイッチ制御信
号線30S,(N−1)0Sがインアクティブとなって
バススイッチ30,(N−1)0が開く。
【0043】図7は本発明の共有バス制御装置を適用し
た分散共有メモリ型マルチプロセッサシステムの別の例
を示すブロック図であり、図1と同一符号は同一部分を
示し、11C,21C,…,N1C,13C,23C,
…,N3Cはバス調停部、10C,20C,…,(N−
1)0Cはスイッチ制御部、Lは各ノードのバス使用要
求を伝達する図1のバス使用要求線11R,21R,
…,N1R、13R,23R,…,N3Rを束ねた信号
線束である。
【0044】図7のマルチプロセッサシステムが図1に
示したマルチプロセッサシステムと相違するところは、
中央処理装置11,21,…,N1に設けたバス調停部
11C,21C,…,N1Cと、入出力制御装置13,
23,…,N3に設けたバス調停部13C,23C,
…,N3Cと、各バススイッチ10,20,…,(N−
1)0に設けたスイッチ制御部10C,20C,…,
(N−1)0Cとで、図1のバス調停装置100と同様
なバス調停装置を構成した点にある。即ち、図1のバス
調停装置は集中制御型であるのに対し、本例のバス調停
装置は分散制御型になっている。
【0045】本実施例のマルチプロセッサシステムにお
いて、他のノードをアクセスしようとするノードは、ア
ービトレーション期間aの立ち上がり時点でバス使用要
求を信号線束L中の自ノードに対応するバス使用要求線
に送出し、他のバス使用要求を考慮してバス使用許可が
得られたか否かを自ノードのバス調停部で判断する。ま
た、各バススイッチ10〜(N−1)0も信号線束L上
のバス使用要求に基づき、閉じるべきか、開くべきかを
自バススイッチのスイッチ制御部10C〜(N−1)0
Cで判断する。
【0046】図8に中央処理装置11に設けられるバス
調停部11Cの構成例を示す。同図に示すように、バス
調停部11Cは、優先順位設定レジスタ201と、優先
順位決定部202と、アンドゲート203と、デコーダ
205と、重複検出部206と、レジスタ207と、検
出部220とから構成されている。
【0047】自ノードからバス使用要求線11Rに送出
したバス使用要求および他ノードからバス使用要求線に
出たバス使用要求は、優先順位決定部202に入力され
る。優先順位決定部202は、各ノードの優先順位を設
定してある優先順位設定レジスタ201の優先順位に従
って、最も優先順位の高い1つのバス使用要求を選択し
てデコーダ205に出力すると共に、この選択したバス
使用要求を発したノードの識別子をアンドゲート203
に出力する。
【0048】デコーダ205は、優先順位決定部202
から出力されたバス使用要求をデコードして、各部分バ
ス14,24,…,N4に1対1に対応する信号線20
9−1,209−2,…,209−Nに、そのバス使用
要求にかかるアクセスでその部分バスが使用されるとき
は例えば“1”を、使用されないときは例えば“0”
を、それぞれ出力する。
【0049】レジスタ207は、各部分バス14,2
4,…,N4に1対1に対応するエントリ207−1〜
207−Nを有し、アービトレーション開始時には全て
のエントリが“0”になっている。重複検出部206
は、各部分バス14〜N4毎に、デコーダ205からの
信号線209−1〜209−Nと、対応するレジスタ2
07のエントリ207−1〜207−Nの内容とを比較
し、“1”を出力した信号線209−iに対応するエン
トリ207−iの内容が全て“0”の場合、優先順位決
定部202が今回出力したバス使用要求を選択すべく、
信号線210によってアンドゲート203を開き、選択
したバス使用要求の発行元のノードの識別子を検出部2
20に与える。上記以外の場合はアンドゲート203を
開かない。
【0050】検出部220は、アンドゲート203から
与えられたノード識別子が自ノードの識別子である場
合、バス使用許可が得られた旨の信号を出力し、アービ
トレーション動作を終了させる。
【0051】他方、自ノードの識別子でなかった場合、
その旨が検出部220から重複検出部206に信号線2
21によって通知され、重複検出部206は、レジスタ
207における、デコーダ205が“1”を出力した信
号線209−iに対応するエントリ207−iに“1”
を書き込み、レジスタ207のエントリの内少なくとも
1つのエントリが“0”であれば信号線211によって
優先順位決定部202に次のバス使用要求を選択するよ
うに要求する。優先順位決定部202はこれに応じて次
に優先順位の高いバス使用要求があればそれを選択して
出力する。無ければその旨が信号線212によって重複
検出部206に通知される。
【0052】以上の動作は、検出部220からバス使用
許可信号が出力されるか、またはレジスタ207の全エ
ントリが全て“0”でなくなるか、または優先順位決定
部202で全てのバス使用要求を選択し終わるまで続け
られる。そして、検出部220からバス使用許可が出た
ときに限り、自ノードは次の期間bにバスアクセスを実
行する。なお、不要な動作を無くすためには、自ノード
がバス使用要求を出した場合に限り図8のバス調停部が
動作するようにすれば良い。また、動作時においても、
優先順位決定部202で自ノードのバス使用要求が選択
されるまで動作することとすれば良い。この場合、自ノ
ードがバス使用要求を出したかどうかを通知する手段を
設け、また、アンドゲート203を検出部220の後段
側に移動させて、検出部220が最終的に許可されるか
否かを問わず優先順位決定部202から自ノードの識別
子が出力されたことを検出できるように構成を変更する
必要がある。
【0053】他のバス調停部21C,…,N1C,13
C,23C,…,N3Cの構成も基本的にバス調停部1
1Cと同じである。
【0054】ここで、各調停部の優先順位設定レジスタ
201の設定値を固定にすれば固定優先方式となり、各
アービトレーション毎に全ての優先順位設定レジスタの
内容を同期して変更すれば、可変優先方式となる。但
し、可変優先方式を実現するためには、自ノードがバス
使用要求を出したか否かにかかわらずアービトレーショ
ン動作が必要となる。
【0055】図9にバススイッチ10に設けられるスイ
ッチ制御部10Cの構成例を示す。同図に示すように、
スイッチ制御部10Cは、バス調停部11C〜N1Cに
設定されたものと同じ優先順位が設定された優先順位設
定レジスタ301と、優先順位決定部302と、デコー
ダ305と、重複検出部306と、レジスタ307と、
スイッチ制御信号発生部308とから構成されている。
【0056】各ノードから信号線束Lに送出されたバス
使用要求は、優先順位決定部302に入力される。優先
順位決定部302は、各ノードの優先順位を設定してあ
る優先順位設定レジスタ301の優先順位に従って、最
も優先順位の高い1つのバス使用要求を選択し、デコー
ダ305に出力する。
【0057】デコーダ305は、優先順位決定部302
から出力されたバス使用要求をデコードして、各部分バ
ス14,24,…,N4に1対1に対応する信号線30
9−1,309−2,…,309−Nに、そのバス使用
要求にかかるアクセスでその部分バスが使用されるとき
はバス使用要求元のノードを含むユニットの識別子を、
使用されないときは例えば“0”を出力する。
【0058】レジスタ307は、各部分バス14,2
4,…,N4に1対1に対応するエントリ307−1,
307−2,…,307−Nを有し、アービトレーショ
ン開始時には双方のエントリが“0”になっている。重
複検出部306は、各部分バス14,24,…,N4毎
に、デコーダ305からの信号線309−1,309−
2,…,309−Nと、対応するレジスタ307のエン
トリ307−1,307−2,…,307−Nの内容と
を比較し、ユニット識別子を出力した信号線309−i
に対応するエントリ307−iの内容が全て“0”の場
合、レジスタ307における、デコーダ305がユニッ
ト識別子を出力した信号線309−iに対応するエント
リ307−iにそのユニット識別子を書き込む。そし
て、レジスタ307のエントリの内少なくとも1つのエ
ントリが“0”であれば信号線311によって優先順位
決定部302に次のバス使用要求を選択するように要求
する。優先順位決定部302はこれに応じて次に優先順
位の高いバス使用要求があれば、それを選択して出力
し、無ければその旨を信号線312で重複検出部306
に通知する。
【0059】以上の動作は、レジスタ307のエントリ
307−1,307−2の双方が“0”でなくなるか、
または優先順位決定部302で全てのバス使用要求を選
択し終わるまで続けられる。
【0060】一方、スイッチ制御信号発生回路308
は、レジスタ307の部分バス14に対応するエントリ
307−1の内容と部分バス24に対応するエントリ3
07−2の内容とを比較する比較器313−1を有して
おり、この比較器313−1からバススイッチ制御信号
10Sを発生する。すなわち、比較器313−1は、双
方のエントリの内容が異なるとき、即ち部分バス14と
部分バス24とが異なるユニット内のノードによって使
用されるとき、あるいは部分バス14と部分バス24の
一方のみが使用されるとき、スイッチ制御信号10Sを
インアクティブにしてバススイッチ10を開き、それ以
外はスイッチ制御信号10Sをアクティブにしてバスス
イッチ10を閉じる。
【0061】他のスイッチ制御部20C〜(N−1)0
Cの構成も基本的にスイッチ制御部10Cと同じであ
る。但し、スイッチ制御信号発生回路308における比
較器が比較する2つのエントリは、そのスイッチ制御部
が制御するバススイッチの両隣の部分バスに対応するエ
ントリとなる。
【0062】ここで、各スイッチ制御部の優先順位設定
レジスタ301の設定値を固定にすれば固定優先方式と
なり、各アービトレーション毎に全てのスイッチ制御部
およびバス調停部が同期して同じように変更すれば、可
変優先方式となる。
【0063】図10は本発明の共有バス制御装置を適用
したマルチプロセッサシステムの更に別の構成例を示す
ブロック図である。この例のマルチプロセッサシステム
が図1および図7に示したマルチプロセッサシステムと
相違するところは、両端の部分バス14と部分バスN4
とをバススイッチN0によって接続し、共有バスBをル
ープ状にした点にある。なお、バススイッチN0は他の
バススイッチ10,20,…,(N−1)0と同様の構
成である。
【0064】本実施例のマルチプロセッサシステムで
は、ユニットNからバススイッチN0を経由してユニッ
ト1に至る経路が存在するため、この経路を活用して、
より効率良くバスアクセスを行うことができる。その例
を図11に示す。
【0065】図11では、図5のバス使用要求(f)の
代わりにバス使用要求(f’)が発生している。このよ
うなバス使用要求(a)〜(f’)が同時に発生した場
合、図1および図7の実施例では、バス使用要求(a)
とバス使用要求(d)が最初の1サイクルで許可され、
バス使用要求(b)とバス使用要求(e)が次の1サイ
クルで許可され、バス使用要求(c)が次の1サイクル
で許可され、そして、バス使用要求(f’)が次の1サ
イクルで許可されることにより、合計4サイクル必要と
なる。
【0066】しかし、図10の実施例では、ユニットN
からバススイッチN0を経由してユニット1に至る経路
が存在するため、バススイッチ10,40(あるいは、
(N−2)0),(N−1)0を開き、バススイッチ2
0,30,N0を閉じることにより、バス使用要求
(b),(e),(f’)にかかるバスアクセスを同時
に実行させることが可能である。従って、バス使用要求
(a)とバス使用要求(d)が最初の1サイクルで許可
され、バス使用要求(b)とバス使用要求(e)とバス
使用要求(f’)が次の1サイクルで許可され、バス使
用要求(c)が次の1サイクルで許可されることによ
り、合計3サイクルで完了することができる。
【0067】なお、図10にはバス調停装置は省略され
ている。バス調停装置としては、図6で説明した集中制
御型や図8および図9で説明した分散制御型のものが使
用できる。この場合、共通バスBはループ状バスである
ため、バス使用要求にかかるバスアクセスで使用される
部分バスの範囲を定める際は、予め定められた回転方向
を基準にして部分バスの使用範囲を定めれば良い。
【0068】以上本発明の実施例について説明したが、
本発明は以上の実施例にのみ限定されず、その他各種の
付加変更が可能である。例えば、メインメモリ及び入出
力制御装置とも中央処理装置と同じくN個存在する場合
について説明したが、メインメモリ及び入出力制御装置
の数に制限は無い。また、各ユニットに1個の中央処理
装置が含まれるようユニット数を中央処理装置数と同じ
くN個とした場合について説明したが、ユニット数と中
央処理装置数との対応に関して制限は無い。すなわち、
ユニットは、中央処理装置,メインメモリ,入出力制御
装置の各ノードのうち何れかのノード1個で構成する場
合から、複数個のノードで構成する場合まで、種々変形
可能である。
【0069】
【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
【0070】共有バスの利用効率を高めることができ
る。その理由は、複数のノードから同時にバス使用要求
が出された場合に、部分バスの使用範囲が重複しない全
てのバス使用要求を選択し、この選択したバス使用要求
にかかるバスアクセスで使用される部分バスの範囲に応
じて各バススイッチの開閉状態を制御して、共有バスを
互いに電気的に分離された複数のバスとして構成し、前
記選択した複数のバス使用要求にかかるバスアクセスを
並行して行わせるためである。
【0071】各ノードのアクセスレイテンシを等しくす
ることができる。その理由は、各ノードは何れのノード
に対しても共有バスを経由する1ステップでアクセスで
きるためである。
【0072】高速なノード間アクセスが可能となる。そ
の理由は、各ノードは何れのノードに対しても共有バス
を経由する1ステップでアクセスでき、然も、複数の部
分バスを経由するアクセスであっても、介在するバスス
イッチによる伝送遅延が殆ど無視できるためである。
【0073】比較的安価に実現できる。その理由は、光
スターカプラ等を必要とせず、電気的にバススイッチを
開閉制御しているだけだからである。
【図面の簡単な説明】
【図1】本発明の共有バス制御装置を適用した分散共有
メモリ型マルチプロセッサシステムの一例を示すブロッ
ク図である。
【図2】メインメモリのメモリアドレス空間および入出
力制御装置のI/Oアドレス空間の説明図である。
【図3】バススイッチの構成例を示す図である。
【図4】バスサイクルの説明図である。
【図5】同時に発生した複数のバス使用要求の例を示す
図である。
【図6】バス調停装置の構成例を示すブロック図であ
る。
【図7】本発明の共有バス制御装置を適用した分散共有
メモリ型マルチプロセッサシステムの別の例を示すブロ
ック図である。
【図8】バス調停部の構成例を示すブロック図である。
【図9】スイッチ制御部の構成例を示すブロック図であ
る。
【図10】本発明の共有バス制御装置を適用したマルチ
プロセッサシステムの更に別の構成例を示すブロック図
である。
【図11】同時に発生した複数のバス使用要求の例を示
す図である。
【符号の説明】
1,2,…,N;ユニット 11,21,…,N1;中央処理装置(CPU) 12,22,…,N2;メインメモリ 13,23,…,N3;入出力制御装置 14,24,…,N4;部分バス 10,20,…,(N−1)0,N0;バススイッチ 10C,20C,…,(N−1)0C;スイッチ制御部 11C,21C,…,N1C、13C,23C,…,N
3C;バス調停部 100;バス調停装置 B;共有バス L;信号線束

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードを共有バスを介して相互に
    接続するための共有バス制御装置であって、 前記共有バスは、各々少なくとも1つのノードが接続さ
    れた複数の部分バスがバススイッチを介して直列に接続
    された構造を有し、且つ、 複数のノードから同時にバス使用要求が出された場合
    に、部分バスの使用範囲が重複しない全てのバス使用要
    求を選択し、該選択したバス使用要求にかかるバスアク
    セスで使用される部分バスの範囲に応じて各バススイッ
    チの開閉状態を制御することで、前記共有バスを互いに
    電気的に分離された複数のバスとして構成して前記選択
    した複数のバス使用要求にかかるバスアクセスを並行し
    て行わせるバス調停装置を備えることを特徴とする共有
    バス制御装置。
  2. 【請求項2】 バス使用要求の形式を、その要求にかか
    るバスアクセスでどの部分バスを使用するかを明示する
    形式としたことを特徴とする請求項1記載の共有バス制
    御装置。
  3. 【請求項3】 前記共有バスが線状バスである請求項2
    記載の共有バス制御装置。
  4. 【請求項4】 前記共有バスがループ状バスである請求
    項2記載の共有バス制御装置。
JP9654497A 1997-03-31 1997-03-31 共有バス制御装置 Pending JPH10283309A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9654497A JPH10283309A (ja) 1997-03-31 1997-03-31 共有バス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9654497A JPH10283309A (ja) 1997-03-31 1997-03-31 共有バス制御装置

Publications (1)

Publication Number Publication Date
JPH10283309A true JPH10283309A (ja) 1998-10-23

Family

ID=14168054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9654497A Pending JPH10283309A (ja) 1997-03-31 1997-03-31 共有バス制御装置

Country Status (1)

Country Link
JP (1) JPH10283309A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003519A1 (fr) * 1998-07-09 2000-01-20 Sony Corporation Procede de commande de communication, systeme de communication et dispositif electronique
JP2006258635A (ja) * 2005-03-17 2006-09-28 Advantest Corp 試験装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003519A1 (fr) * 1998-07-09 2000-01-20 Sony Corporation Procede de commande de communication, systeme de communication et dispositif electronique
US6286071B1 (en) 1998-07-09 2001-09-04 Sony Corporation Communication control method, communication system and electronic device used therefor
JP2006258635A (ja) * 2005-03-17 2006-09-28 Advantest Corp 試験装置
JP4568146B2 (ja) * 2005-03-17 2010-10-27 株式会社アドバンテスト 試験装置

Similar Documents

Publication Publication Date Title
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US5583999A (en) Bus arbiter and bus arbitrating method
KR100812225B1 (ko) 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조
US5701413A (en) Multi-processor system with shared memory
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
US4796232A (en) Dual port memory controller
WO1999000819A2 (en) Packet routing switch for controlling access at different data rates to a shared memory
US5410300A (en) Distributed crossbar switch architecture
US20060221980A1 (en) Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
JPS62266642A (ja) デ−タ処理装置
JPH0754502B2 (ja) 先読み優先調停システム及び方法
JPH0766363B2 (ja) 調停システム
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
JP3770203B2 (ja) クロスバの高速化方法及びクロスバの高速化方式
JPH10283309A (ja) 共有バス制御装置
US7343457B1 (en) Dual active bank memory controller
US20060155956A1 (en) Processor array
US20050228914A1 (en) Matrix type bus connection system
US6862640B2 (en) Arbitration in local system for access to memory in a distant subsystem
JP3094944B2 (ja) アービトレーション方法及びその装置
JPH0218639A (ja) モジュール式メモリ
CA2239426A1 (en) Shared memory system
JPH064401A (ja) メモリアクセス回路
JP3388344B2 (ja) 相互結合網、相互結合網自己診断システム及び相互結合網自己診断方法