JPH05314061A - バス・インタフェース制御方式 - Google Patents

バス・インタフェース制御方式

Info

Publication number
JPH05314061A
JPH05314061A JP4104113A JP10411392A JPH05314061A JP H05314061 A JPH05314061 A JP H05314061A JP 4104113 A JP4104113 A JP 4104113A JP 10411392 A JP10411392 A JP 10411392A JP H05314061 A JPH05314061 A JP H05314061A
Authority
JP
Japan
Prior art keywords
command
response
function
system bus
bus
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.)
Granted
Application number
JP4104113A
Other languages
English (en)
Other versions
JP3460090B2 (ja
Inventor
Makoto Okazaki
眞 岡崎
Yuji Shibata
雄司 柴田
Masao Asai
將夫 浅井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10411392A priority Critical patent/JP3460090B2/ja
Publication of JPH05314061A publication Critical patent/JPH05314061A/ja
Application granted granted Critical
Publication of JP3460090B2 publication Critical patent/JP3460090B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】マルチプロセッサシステムにおけるCPUのバ
ス・インタフェース制御方式に関し、アクセス集中時の
デッドロックを防止することを目的とする。 【構成】ローカルバス3とシステムバス1を接続するバ
ス・インタフェース制御回路4に、送信バッファ5と受
信バッファ6とローカルバス制御回路7とシステムバス
制御回路8とを設ける。ローカルバス制御回路7は、ロ
ーカルバス3と、送信バッファ5および受信バッファ6
との間で、起動コマンドと応答コマンドおよびデータの
送受を行う。システムバス制御回路8は、システムバス
1からの起動コマンドと応答コマンドを受信バッファ6
に書き込み、送信バッファ5からの起動コマンドと応答
コマンドをシステムバス1へ転送するが、この際、応答
コマンドの受信制御機能と、応答コマンドの追越し制御
機能とによって、特定のCPUへのアクセス集中時のデ
ッドロックを防止することで構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおける各中央処理装置(CPU)のバス・インタ
フェース制御方式に関するものである。
【0002】マルチプロセッサシステムにおいては、シ
ステムバスに複数のCPUが接続されるとともに、各C
PUにおいては、システムバスにバス・インタフェース
制御回路(BIC)を介して接続されたローカルバス
に、マイクロプロセッサ(MPU)とメモリとが接続さ
れる形態をとる場合が多い。
【0003】このような場合における、各CPUのバス
・インタフェース制御方式は、特定のCPUに複数のア
クセスが集中した場合でも、デッドロックを生じないも
のであることが要望される。
【0004】
【従来の技術】図5は、従来の、および本発明が適用さ
れるマルチプロセッサシステムの構成例を示したもので
あって、複数のCPU111,, 11n がシステムバス
12に並列に接続されるとともに、システムバス12に
は、入出力装置13が接続されている。
【0005】図6は、CPUの構成例を示したものであ
って、図5におけると同じものを同じ番号で示し、例え
ばCPU11n において、15n はマイクロプロセッサ
(MPU)であって、ローカルバス16n を介してメモ
リ17n が接続されている。またローカルバス16n
システムバス12とは、バス・インタフェース制御回路
(BIC)18n を介して接続されている。
【0006】図7は、従来のバス・インタフェース制御
回路の構成例を示したものであって、図6におけると同
じものを同じ番号で示し、バス・インタフェース制御回
路(BIC)18n において、21n はローカルバス制
御回路であって、ローカルバス16n に接続されるとと
もに、2面の先入れ先出し(FIFO)メモリからなる
送信バッファ22n を介してシステムバス制御回路23
n に接続され、システムバス制御回路23n はさらにシ
ステムバス12に接続されている。またシステムバス制
御回路23n は、2面の先入れ先出し(FIFO)メモ
リからなる受信バッファ24n を介してローカルバス制
御回路21n に接続されている。
【0007】このように、従来のバス・インタフェース
制御回路は、各2面の送信バッファと受信バッファとを
有しており、その動作は次のようなものである。
【0008】(1) リードアクセスの送信 ローカルバス制御回路21n は、ローカルバス16n
らリードアクセスを受信すると、送信バッファ22n
リードコマンドを書き込んで、ローカルバス16n を保
留する。
【0009】システムバス制御回路23n は、送信バッ
ファ22n のリードコマンドを読み出し、システムバス
12に転送する(起動転送)。システムバス12はスプ
リット方式のため、リードコマンド転送後は、システム
バス制御回路23n はシステムバス12を解放する。
【0010】システムバス制御回路23n は、システム
バス12からアンサコマンドを受信する(応答転送)
と、受信バッファ24n にアンサコマンドを書き込ん
で、システムバス12を解放する。
【0011】ローカルバス制御回路21n は、受信バッ
ファ24n のアンサコマンドを読み出して、ローカルバ
ス16n へリードデータを返送し、ローカルバス16n
を解放する。
【0012】(2) ライトアクセスの送信 ローカルバス制御回路21n は、ローカルバス16n
らライトアクセスを受信すると、送信バッファ22n
ライトコマンドを書き込んで、ローカルバス16n を解
放する。
【0013】システムバス制御回路23n は、送信バッ
ファ22n のライトコマンドを読み出して、システムバ
ス12へ転送し(起動転送)、転送後は、システムバス
12を解放する。
【0014】ライトアクセスの場合は、起動転送のみを
行い、応答転送を行わない制御(突き放し制御)を行
う。
【0015】(3) リードアクセスの受信 システムバス制御回路21n は、システムバス12から
リードコマンドを受信すると、受信バッファ24n にリ
ードコマンドを書き込んで、システムバス12を解放す
る。
【0016】ローカルバス制御回路21n は、受信バッ
ファ24n のリードコマンドを読み出して、ローカルバ
ス16n へリードアクセスを行い、リードデータを受信
すると、送信バッファ22n にリードデータを含むアン
サコマンドを書き込む。
【0017】システムバス制御回路23n は、送信バッ
ファ22n のアンサコマンドを読み出して、システムバ
ス12へ転送する(応答転送)。転送後は、システムバ
ス12を解放する。
【0018】(4) ライトアクセスの受信 システムバス制御回路23n は、システムバス12から
ライトコマンドを受信すると、受信バッファ24n にラ
イトコマンドを書き込み、システムバス12を解放す
る。
【0019】ローカルバス制御回路21n は、受信バッ
ファ24n のライトコマンドを読み出し、ローカルバス
16n へライトアクセスを行う。ライトアクセスの場合
は、応答転送を行わない。
【0020】
【発明が解決しようとする課題】このような動作を行う
バス・インタフェース制御回路を用いたシステムにおい
て、対向する2つのユニットが相互に相手のメモリをラ
イトしている場合に、その他のユニットが、これらのユ
ニットに対してリードアクセスを行うと、デッドロック
となる可能性がある。
【0021】図8は、従来方式の場合のマルチプロセッ
サシステムの動作例(1) を示したものであって、従来の
バス・インタフェース制御回路におけるデッドロックの
発生を説明するものである。111,, 116 はCPU
である。CPU111,112において、151,152
MPU、161,162 はローカルバス、171,172
メモリ、181,182 はバス・インタフェース制御回路
である。またバス・インタフェース制御回路181 およ
び182 において、2211, 2212 および2221,
22はそれぞれ2面のFIFOメモリからなる送信バッ
ファ、2411,2412および2421, 2422はそれぞれ
2面のFIFOメモリからなる受信バッファである。ま
た図中において、WTはライトコマンドを示し、RDは
リードコマンドを示している。
【0022】図8において、CPU111 からCPU1
2 に対するライトコマンドWTと、CPU112 から
CPU111 に対するライトコマンドWTとが、それぞ
れの送信バッファ2211, 2212 および2221, 22
22に書き込まれているとき、CPU113 とCPU11
4 がCPU111 にリードアクセスして、CPU11 1
の受信バッファ2411, 2412にリードコマンドRDが
書き込まれ、CPU116 とCPU115 がCPU11
2 にリードアクセスして、CPU112 の受信バッファ
2421, 2422にリードコマンドRDが書き込まれるこ
とがあり得る。
【0023】このとき、CPU111,112 では、それ
ぞれの受信バッファにおけるリードコマンドを処理し
て、アンサコマンドを送出しようとしても、それぞれの
送信バッファにアンサコマンドを書き込むべき空きがな
いため、リードコマンドの処理を行うことができない。
【0024】一方、CPU111,112 では、それぞれ
の送信バッファにおけるライトコマンドを処理しようと
しても、相手方の受信バッファに空きがないため、ライ
トコマンドを送出することができない。
【0025】このような状態になると、CPU111,
2 では、以後の処理を全く行うことができなくなり、
いわゆるデッドロックの状態に陥ってしまうことにな
る。
【0026】このような問題を解決するためには、送信
バッファにリードコマンドまたはライトコマンドの書き
込みを行う際に、常にアンサコマンドの書き込みを行う
ための、エリアを空けておくように制御する方法が知ら
れている。
【0027】このようにすれば、送信バッファにおける
リードコマンドの処理を行ったあとでアンサコマンドを
送出することができるので、受信バッファにおけるリー
ドコマンドまたはライトコマンドを処理することがで
き、デッドロックを生じることが防止される。
【0028】しかしながら、このような制御を行って
も、空きエリアを設けたことによって処理されたリード
コマンドのあとに、さらに別のユニットからそれらのユ
ニットに対してリードアクセスを行った場合には、アン
サコマンドを書き込むための空きエリアが、アンサコマ
ンドで満たされるために、やはりデッドロックを生じ
る。このようなデッドロックは、CPUの数が増えた場
合に発生する可能性が高くなる。
【0029】図9は、従来方式の場合のマルチプロセッ
サシステムの動作例(2) を示したものであって、アンサ
用エリアを設けてもデッドロックを生じる例を説明する
ものである。図8におけると同じものを同じ番号で示
し、117,118 はCPUである。また図中において、
ANはアンサコマンドを示している。
【0030】図9において、CPU111 の送信バッフ
ァには、CPU111 からCPU112 に対するライト
コマンドWTと、CPU111 からCPU113 に対す
るアンサコマンドANとが書き込まれているとともに、
受信バッファにCPU114からCPU111 に対する
リードコマンドRDが書き込まれている。CPU11 2
の送信バッファには、CPU112 からCPU111
対するライトコマンドWTと、CPU112 からCPU
115 に対するアンサコマンドANとが書き込まれてい
るとともに、受信バッファにCPU116 からCPU1
2 に対するリードコマンドRDが書き込まれている。
【0031】このような場合に、CPU117 がCPU
111 に対してリードアクセス(またはライトアクセ
ス)を行い、CPU118 がCPU112 に対してリー
ドアクセス(またはライトアクセス)を行って、それぞ
れ受信バッファに書き込まれた場合には、CPU111
とCPU112 は、ともに送信バッファにおけるライト
コマンドWTの処理を行うことができず、デッドロック
を生じる。
【0032】また、対向する2つのユニットが、相互に
相手方のメモリをリードしているときに、その他のユニ
ットがそれらのユニットに対してリードアクセスを行う
と、やはりデッドロックとなる可能性がある。
【0033】図10は、従来方式の場合のマルチプロセ
ッサシステムの動作例(3) を示したものであって、アン
サ用エリアを設けてもデッドロックを生じる他の例を説
明するものである。図8および図9におけると同じもの
を同じ番号で示している。図10の例は、それぞれの送
信バッファにライトコマンドWTの代わりに、相手方に
対するアンサコマンドANが書き込まれた場合を示し、
このような場合も明らかにデッドロックとなる。
【0034】本発明はこのような従来技術の課題を解決
しようとするものであって、上述のようなマルチプロセ
ッサシステムにおいて、バス・インタフェース制御回路
においてデッドロックを生じる恐れのない、バス・イン
タフェース制御方式を提供することを目的としている。
【0035】
【課題を解決するための手段】
(1) 本発明は、図1にその原理的構成を示すように、ス
プリット方式のシステムバス1を介して複数のCPU2
が接続されるとともに、各CPUは、そのローカルバス
3とシステムバス1とを接続するバス・インタフェース
制御回路4を有している。各バス・インタフェース制御
回路は、システムバスに対する送信コマンドを蓄積する
送信バッファ5と、システムバスからの受信コマンドを
蓄積する受信バッファ6と、ローカルバス制御回路7
と、システムバス制御回路8とを有している。
【0036】ローカルバス制御回路7は、ローカルバス
3から受信したアクセスから起動コマンドを作成して送
信バッファ5に書き込む機能と、受信バッファ6から読
み出した応答コマンドからリードデータをローカルバス
3へ返送する機能と、受信バッファ5から読み出した起
動コマンドによってローカルバス3へアクセスを行い、
リードアクセスのときは、応答コマンドを作成して送信
バッファ5に書き込む機能とを有している。
【0037】システムバス制御回路8は、システムバス
1から受信した起動コマンドおよび応答コマンドを受信
バッファ6に書き込む機能と、送信バッファ5から読み
出した起動コマンドおよび応答コマンドをシステムバス
1へ転送する機能と、応答コマンドを書き込むべき空き
を残して起動コマンドを書き込むことによってシステム
バス1から応答コマンドを常に受信可能にする応答コマ
ンドの受信制御機能と、送信バッファ5に起動コマンド
が書き込まれたのちに応答コマンドが書き込まれたとき
応答コマンドを優先してシステムバス1へ転送する応答
コマンドの追越し制御機能とを有している。
【0038】(2) また本発明は(1) の場合に、送信バッ
ファ5が、起動転送用送信バッファ25n と、応答転送
用送信バッファ26n とからなり、ローカルバス制御回
路7が、ローカルバス3から受信したアクセスから起動
コマンドを作成して起動転送用送信バッファ25n に書
き込む機能と、受信バッファ6から読み出した起動コマ
ンドによってローカルバス3へアクセスを行い、リード
アクセスのときは応答コマンドを作成して応答転送用送
信バッファ26n ヘ書き込む機能を有し、システムバス
制御回路8が起動転送用送信バッファ25n から読み出
した起動コマンドをシステムバス1へ転送する機能と、
応答転送用送信バッファ26n から読み出した応答コマ
ンドをシステムバス1へ転送する機能とを有するととも
に、起動転送用送信バッファ25n に起動コマンドが書
き込まれておりかつ応答転送用送信バッファ26n に応
答コマンドが書き込まれているときは応答コマンドを優
先してシステムバス1へ転送することによって、前述の
応答コマンドの追越し制御機能を実現するものである。
【0039】(3) また本発明は(1) の場合に、送信バッ
ファ5が起動コマンド用エリアと応答コマンド用エリア
とを有し、ローカルバス制御回路7が、ローカルバス3
から受信したアクセスから起動コマンドを作成して送信
バッファ5の起動コマンド用エリアに書き込む機能と、
受信バッファから読み出した起動コマンドからローカル
バス3へアクセスを行ってリードアクセスのときは応答
コマンドを作成して送信バッファ5の応答コマンド用エ
リアに書き込む機能を有し、システムバス制御回路8
が、送信バッファ5の起動コマンド用エリアに起動コマ
ンドが書き込まれており、かつ送信バッファの応答コマ
ンド用エリアに応答コマンドが書き込まれているときは
応答コマンドを先にシステムバス1へ転送する機能を有
することによって、前述の応答コマンドの追越し制御機
能を実現するものである。
【0040】(4) また本発明は(1) の場合に、送信バッ
ファ5が、複数のエントリを書き込む機能と、各エント
リごとに起動コマンドと応答コマンドの別を示す識別情
報を付加する機能を有し、システムバス制御回路7はこ
の識別情報から送信コマンドと応答コマンドがともに書
き込まれていると判断したときは、応答コマンドを先に
システムバス1へ転送することによって、前述の応答コ
マンドの追越し制御機能を実現するものである。
【0041】(5) また本発明は(1) の場合に、システム
バス制御回路8が、リードアクセスによる起動コマンド
の転送から応答コマンドの受信までの間は、他の起動コ
マンドを受信しない機能を有することによって、前述の
応答コマンドの受信制御機能を実現するものである。
【0042】(6) また本発明は(1) の場合に、受信バッ
ファ6が起動転送用受信バッファ27n と、応答転送用
受信バッファ28n とからなり、システムバス制御回路
8が、システムバス1から受信した起動コマンドを起動
転送用受信バッファ27n に書き込む機能と、システム
バス1から受信した応答コマンドを応答転送用受信バッ
ファ28n に書き込む機能とを有することによって、前
述の応答コマンドの受信制御機能を実現するものであ
る。
【0043】(7) また本発明は(1) の場合に、受信バッ
ファ6が起動コマンド用エリアと応答コマンド用エリア
とを有し、システムバス制御回路8が、システムバス1
から受信した起動コマンドを起動コマンド用エリアに書
き込む機能と、システムバス1から受信した応答コマン
ドを応答コマンド用エリアに書き込む機能とを有するこ
とによって、前述の応答コマンドの受信制御機能を実現
するものである。
【0044】(8) また本発明は(1) の場合に、受信バッ
ファ6が、複数のエントリを書き込む機能と、各エント
リごとに起動コマンドと応答コマンドの別を示す識別情
報を付加する機能とを有し、システムバス制御回路8
は、この識別情報から受信バッファ6に応答コマンドが
書き込まれていないことを判断したとき、応答コマンド
を書き込むエリアを残して起動コマンドを受信する機能
を有することによって、前述の応答コマンドの受信制御
機能を実現するものである。
【0045】(9) また本発明は(1) の場合に、システム
バス制御回路8が、システムバス1から受信バッファ6
に起動コマンドを書き込むときは、常に応答コマンドを
書き込むエリアを残して起動コマンドを受信する機能を
有することによって、前述の応答コマンドの受信制御機
能を実現するものである。
【0046】
【作用】
【0047】(1) スプリット方式のシステムバス1を介
して複数のCPU2が接続されたマルチプロセッサシス
テムのCPUにおいて、そのローカルバス3とシステム
バス1とをバス・インタフェース制御回路4を介して接
続する。
【0048】バス・インタフェース制御回路は、送信バ
ッファ5にシステムバスに対する送信コマンドを蓄積
し、受信バッファ6にシステムバスからの受信コマンド
を蓄積するとともに、ローカルバス制御回路7を備えて
ローカルバス3側との間の情報の送受を制御し、システ
ムバス制御回路8を備えてシステム1との間で情報の送
受を制御する。
【0049】ローカルバス制御回路7は、ローカルバス
3から受信したアクセスから起動コマンドを作成して送
信バッファ5に書き込み、受信バッファ6から読み出し
た応答コマンドからリードデータをローカルバス3へ返
送し、受信バッファ5から読み出した起動コマンドによ
ってローカルバス3へアクセスを行い、リードアクセス
のときは、応答コマンドを作成して送信バッファ5に書
き込む。
【0050】システムバス制御回路8は、システムバス
1から受信した起動コマンドおよび応答コマンドを受信
バッファ6に書き込み、送信バッファ5から読み出した
起動コマンドおよび応答コマンドをシステムバス1へ転
送するとともに、応答コマンドの受信制御機能によっ
て、応答コマンドを書き込むべき空きを残して起動コマ
ンドを書き込むことによってシステムバス1から応答コ
マンドを常に受信可能にし、さらに応答コマンドの追越
し制御機能によって、送信バッファ5に起動コマンドが
書き込まれたのちに応答コマンドが書き込まれたとき応
答コマンドを優先してシステムバス1へ転送する。
【0051】スプリット方式のバスでは、起動転送と応
答転送とがあり、リードアクセスの場合、起動転送を行
ってから応答転送を受信するまでの間に、他のアクセス
を受信することができる。
【0052】デッドロックを生じるのは、1つのユニッ
トがこのような、応答転送が必要な複数のリードコマン
ドを同時に連続して受信する場合である。複数のリード
コマンドを同時に受信すると、応答転送のアンサコマン
ドを、受信したリードコマンドの分だけ常に処理できな
いと、デッドロックを生じる可能性がある。
【0053】そこでバス・インタフェース制御回路は、
送信バッファに起動コマンドと応答コマンドとが書き込
まれ、起動コマンドの転送(起動転送)ができないとき
は、応答コマンドの転送(応答転送)を先に行うように
制御する。さらにリードアクセスを行うバス・インタフ
ェース制御回路は、リードアクセスに対する応答コマン
ドを常に受信できるように制御する。
【0054】従って、本発明によれば、マルチプロセッ
サシステムにおいて、特定のユニットに複数のアクセス
が集中しても、バス・インタフェース制御回路において
デッドロックを生じる恐れがない。
【0055】(2) 前述の応答コマンドの追越し制御機能
を実現するためには、送信バッファ5を、起動転送用送
信バッファ25n と、応答転送用送信バッファ26n
から構成する。そして、ローカルバス制御回路7が、ロ
ーカルバス3から受信したアクセスから起動コマンドを
作成して起動転送用送信バッファ25n に書き込み、受
信バッファ6から読み出した起動コマンドによってロー
カルバス3へアクセスを行って、リードアクセスのとき
は応答コマンドを作成して応答転送用送信バッファ26
n ヘ書き込むようにし、システムバス制御回路8が、起
動転送用送信バッファ25n から読み出した起動コマン
ドをシステムバス1へ転送し、応答転送用送信バッファ
26n から読み出した応答コマンドをシステムバス1へ
転送するとともに、起動転送用送信バッファ25n に起
動コマンドが書き込まれており、かつ応答転送用送信バ
ッファ26n に応答コマンドが書き込まれているとき
は、応答コマンドを優先してシステムバス1へ転送する
ようにする。
【0056】(3) また前述の応答コマンドの追越し制御
機能を実現するためには、送信バッファ5が起動コマン
ド用エリアと応答コマンド用エリアとを設ける。そし
て、ローカルバス制御回路7が、ローカルバス3から受
信したアクセスから起動コマンドを作成して送信バッフ
ァ5の起動コマンド用エリアに書き込み、受信バッファ
から読み出した起動コマンドからローカルバス3へアク
セスを行ってリードアクセスのときは応答コマンドを作
成して送信バッファ5の応答コマンド用エリアに書き込
むようにし、システムバス制御回路8が、送信バッファ
5の起動コマンド用エリアに起動コマンドが書き込まれ
ており、かつ送信バッファの応答コマンド用エリアに応
答コマンドが書き込まれているときは応答コマンドを先
にシステムバス1へ転送するようにする。
【0057】(4) また前述の応答コマンドの追越し制御
機能を実現するためには、送信バッファ5に、複数のエ
ントリを書き込むとともに、各エントリごとに起動コマ
ンドと応答コマンドの別を示す識別情報を付加すること
ができるようにする。そして、システムバス制御回路7
が、この識別情報から送信コマンドと応答コマンドがと
もに書き込まれていると判断したときは、応答コマンド
を先にシステムバス1へ転送するようにする。
【0058】(5) 前述の応答コマンドの受信制御機能を
実現するためには、システムバス制御回路8が、リード
アクセスによる起動コマンドの転送から応答コマンドの
受信までの間は、他の起動コマンドを受信しないように
する。
【0059】(6) また前述の応答コマンドの受信制御機
能を実現するためには、受信バッファ6を起動転送用受
信バッファ27n と応答転送用受信バッファ28n とか
ら構成する。そして、システムバス制御回路8が、シス
テムバス1から受信した起動コマンドを起動転送用受信
バッファ27n に書き込み、システムバス1から受信し
た応答コマンドを応答転送用受信バッファ28n に書き
込むようにする。
【0060】(7) また前述の応答コマンドの受信制御機
能を実現するためには、受信バッファ6に起動コマンド
用エリアと応答コマンド用エリアとを設ける。そして、
システムバス制御回路8が、システムバス1から受信し
た起動コマンドを起動コマンド用エリアに書き込み、シ
ステムバス1から受信した応答コマンドを応答コマンド
用エリアに書き込むようにする。
【0061】(8) また前述の応答コマンドの受信制御機
能を実現するためには、受信バッファ6が、複数のエン
トリを書き込むとともに、各エントリごとに起動コマン
ドと応答コマンドの別を示す識別情報を付加することが
できるようにする。そして、システムバス制御回路8
は、この識別情報から受信バッファ6に応答コマンドが
書き込まれていないことを判断したとき、応答コマンド
を書き込むエリアを残して起動コマンドを受信するよう
にする。
【0062】(9) また前述の応答コマンドの受信制御機
能を実現するためには、システムバス制御回路8が、シ
ステムバス1から受信バッファ6に起動コマンドを書き
込むときは、常に応答コマンドを書き込むエリアを残し
て起動コマンドを受信するようにする。
【0063】
【実施例】本発明の第1の実施例においては、例えば図
7に示された従来のバス・インタフェース制御回路と同
様の回路構成を用いる。この場合のローカルバス制御回
路7およびシステムバス制御回路8における、リードア
クセスの送信とライトアクセスの送信、およびリードア
クセスの受信とライトアクセスの受信は、図7の場合と
同様である。
【0064】第1の実施例においては、さらに、応答コ
マンドの受信制御機能を有し、起動コマンドを書き込む
際に、応答コマンドを書き込むべき空きを常に残して、
応答コマンドを書き込むようにする。また、応答コマン
ドの追越し制御機能を有し、送信バッファに起動コマン
ドが書き込まれたのちに、応答コマンドが書き込まれた
とき、応答コマンドを優先してシステムバスへ転送す
る。
【0065】このように第1の実施例においては、バス
・インタフェース制御回路は、送信バッファに起動コマ
ンドと応答コマンドとが書き込まれ、起動コマンドの転
送(起動転送)ができないときは、応答コマンドの転送
(応答転送)を先に行うように制御する。さらにリード
アクセスを行うバス・インタフェース制御回路は、リー
ドアクセスに対する応答コマンドを常に受信できるよう
に制御する。
【0066】従って、第1の実施例では、特定のユニッ
トに複数のアクセスが集中しても、バス・インタフェー
ス制御回路においてデッドロックを生じる恐れがない。
【0067】図2は、本発明の第2の実施例におけるバ
ス・インタフェース制御回路の構成を示したものであっ
て、図7におけると同じものを同じ番号で示し、25n
は起動転送用送信バッファ、26n は応答転送用送信バ
ッファ、27n は起動転送用受信バッファ、28n は応
答転送用受信バッファである。
【0068】図2に示された実施例におけるバス・イン
タフェース制御回路の動作は、次のようにして行われ
る。
【0069】(1) リードアクセスの送信 ローカルバス制御回路21n は、ローカルバス16n
らリードアクセスを受信すると、起動転送用送信バッフ
ァ25n にリードコマンドを書き込み、ローカルバス1
n を保留する。
【0070】システムバス制御回路23n は、起動転送
用送信バッファ25n のリードコマンドを読み出して、
システムバス12へ転送する。転送後は、システムバス
12を解放する。
【0071】システムバス制御回路23n は、システム
バス12からアンサコマンドを受信すると、応答転送用
受信バッファ28n にアンサコマンドを書き込み、シス
テムバス12を解放する。
【0072】ローカルバス制御回路21n は、応答転送
用受信バッファ28n のアンサコマンドを読み出し、ロ
ーカルバス16n へリードデータを返送して、ローカル
バス16n を解放する。
【0073】(1) ライトアクセスの送信 ローカルバス制御回路21n は、ローカルバス16n
らライトアクセスを受信すると、起動転送用送信バッフ
ァ25n にライトコマンドを書き込み、ローカルバス1
n を解放する。
【0074】システムバス制御回路23n は、起動転送
用送信バッファ25n のライトコマンドを読み出し、シ
ステムバス12へ転送する。転送後は、システムバス1
2を解放する。
【0075】(1) リードアクセスの受信 システムバス制御回路23n は、システムバス12から
リードコマンドを受信すると、起動転送用受信バッファ
27n にリードコマンドを書き込み、システムバス12
を解放する。
【0076】ローカルバス制御回路21n は、起動転送
用受信バッファ27n からリードコマンドを読み出し、
ローカルバス16n へリードアクセスを行い、リードデ
ータを受信すると、応答転送用送信バッファ26n にリ
ードデータを含むアンサコマンドを書き込む。
【0077】システムバス制御回路23n は、応答転送
用送信バッファ26n のアンサコマンドを読み出して、
システムバス12へ転送する。転送後は、システムバス
12を解放する。
【0078】(1) ライトアクセスの受信 システムバス制御回路23n は、システムバス12から
ライトコマンドを受信すると、起動転送用受信バッファ
27n にライトコマンドを書き込み、システムバス12
を解放する。
【0079】ローカルバス制御回路21n は、起動転送
用受信バッファ27n からライトコマンドを読み出し、
ローカルバス16n へライトアクセスを行う。
【0080】またシステムバス制御回路23n は、起動
転送用送信バッファ25n と応答転送用送信バッファ2
n の両方に書き込みがされている場合には、応答転送
用送信バッファ26n の処理を先に行う。この場合、受
信バッファとしては、起動転送用受信バッファ27n
は別に、応答転送用受信バッファ28n があるため、ア
ンサコマンドを常に受信できる。従って、本発明方式に
よれば、バス・インタフェース制御回路においてデッド
ロックを生じることはない。
【0081】図3は、第2の実施例の場合のマルチプロ
セッサシステムの動作例を示すものである。図3におい
て、図9におけると同じものを同じ番号で示し、25
11, 2512 および2521, 2522は、それぞれCPU
111,CPU112 におけるそれぞれ2面のFIFOメ
モリからなる起動転送用送信バッファ、2611, 2612
および2621, 2622は、それぞれCPU111,CPU
112 におけるそれぞれ2面のFIFOメモリからなる
応答転送用送信バッファ、2711, 2712 および27
21, 2722は、それぞれCPU111,CPU112 にお
けるそれぞれ2面のFIFOメモリからなる起動転送用
受信バッファ、2811, 2812および28 21, 28
22は、それぞれCPU111,CPU112 におけるそれ
ぞれ2面のFIFOメモリからなる応答転送用受信バッ
ファである。
【0082】CPU111 の起動転送用送信バッファ2
11, 2512には、CPU111 からCPU112 に対
する2つのライトコマンドWTが書き込まれ、CPU1
2の起動転送用送信バッファ2521, 2522には、C
PU112 からCPU111に対する2つのライトコマ
ンドWTが書き込まれている。CPU111 の応答転送
用送信バッファ2612には、CPU111 からCPU1
3 に対するアンサコマンドANが書き込まれ、CPU
112 の応答転送用送信バッファ2622には、CPU1
2 からCPU115 に対するアンサコマンドANが書
き込まれている。
【0083】さらに、CPU111 の起動転送用受信バ
ッファ2712には、CPU114 からCPU111 に対
するリードコマンドRDが書き込まれ、CPU112
起動転送用受信バッファ2722には、CPU116 から
CPU112 に対するリードコマンドRDが書き込まれ
ているときに、CPU117 からCPU111 に対して
リードコマンドRDを送出し、CPU118 からCPU
112 に対してリードコマンドRDを送出しても、CP
U111 の応答転送用送信バッファ2611が空いている
ので、起動転送用受信バッファ2712におけるリードコ
マンドRDの処理を行うことができ、またCPU112
の応答転送用送信バッファ2621が空いているので、起
動転送用受信バッファ2722におけるリードコマンドR
Dの処理を行うことができる。
【0084】この場合、CPU112 に応答転送用受信
バッファ2821, 2822があるので、CPU111 の応
答転送用送信バッファ2612におけるアンサコマンドA
Nの転送を常に受信することができ、CPU111 に応
答転送用受信バッファ2811 , 2812があるので、CP
U112 の応答転送用送信バッファ2622におけるアン
サコマンドANの転送を常に受信することができる。
【0085】本発明の第3の実施例として、図2に示さ
れた第2の実施例における起動転送用送信バッファと応
答転送用送信バッファとを、物理的に1つの送信バッフ
ァで共用し、起動コマンド用エリアと応答コマンド用エ
リアとに分離するようにしてもよい。この場合における
送信バッファの論理的構成は、第2の実施例の場合と同
様である。
【0086】本発明の第4の実施例として、起動転送用
送信バッファと応答転送用送信バッファとを1つの送信
バッファで共用し、各エントリごとに起動コマンドと応
答コマンドとの別を示す情報を付加することによって、
システムバス制御回路は、送信バッファに起動コマンド
と応答コマンドとがともに書き込まれている場合には、
応答コマンドの処理を優先して行うようにしてもよい。
この場合も送信バッファの論理的構成は、第2の実施例
の場合と同じである。
【0087】本発明の第5の実施例として、システムバ
ス制御回路が、リードアクセスによる起動コマンドの転
送からリードに対する応答コマンドの受信までの間は、
他の起動コマンドを受信しないように制御しても、応答
コマンドを常に受信バッファに書き込める状態を作るこ
とができる。
【0088】この場合、2つのユニットが相互に相手の
メモリをリードアクセスしても、どちらか一方のユニッ
トのリードアクセスが完了しないと、他方のユニットの
リードアクセスを行うことができないため、デッドロッ
クを生じることはない。
【0089】本発明の第6の実施例として、起動転送用
受信バッファと応答転送用受信バッファとを、物理的に
1つの受信バッファで共用し、起動コマンド用エリアと
応答コマンド用エリアとに分離するようにしてもよい。
この場合の受信バッファの論理的構成は、第2の実施例
の場合と同じである。
【0090】本発明の第7の実施例として、起動転送用
受信バッファと応答転送用受信バッファとを物理的に1
つの受信バッファで共用し、各エントリごとに、起動コ
マンドと応答コマンドの別を示す情報を付加することに
よって、システムバス制御回路は、受信バッファに応答
コマンドが書き込まれていなければ、応答コマンドを書
き込むエリアを残して起動コマンドを受信するようにし
ても、常に応答コマンドを受信できる状態を実現するこ
とができる。
【0091】本発明の第8の実施例として、起動転送用
受信バッファと応答転送用受信バッファとを物理的に1
つの受信バッファで共用し、受信バッファに起動コマン
ドを書き込むときは、常に応答コマンドを書き込むエリ
アを残して起動コマンドを受信するようにしても、常に
応答コマンドを受信できる状態を実現することができ
る。
【0092】図4は、第7および第8の実施例の場合の
マルチプロセッサシステムの動作を説明するものであ
る。図4において、図3におけると同じものを同じ番号
で示し、2911,2912および2921,2922は、それ
ぞれCPU111 およびCPU112 における起動転送
/応答転送共用受信バッファである。
【0093】図4において、CPU111 の応答転送用
送信バッファ2611, 2612にアンサコマンドANが書
き込まれ、CPU112 の応答転送用送信バッファ26
21,2622にアンサコマンドANが書き込まれていると
き、CPU111 の起動転送/応答転送共用受信バッフ
ァ2912にリードコマンドRDが書き込まれ、CPU1
2 の起動転送/応答転送共用受信バッファ2922にリ
ードコマンドRDが書き込まれていると、CPU115
からCPU111 に対して、またはCPU11 8 からC
PU112 に対して、リードコマンドRDを書き込もう
としても、CPU111,CPU112 はこれらのリード
コマンドを受信しないので、CPU11 1,CPU112
は、常にアンサコマンドANを受信することができ、従
ってデッドロックに陥ることはない。
【0094】
【発明の効果】以上説明したように本発明によれば、マ
ルチプロセッサシステムにおいて、特定のユニットに複
数のアクセスが集中しても、バス・インタフェース制御
回路においてデッドロックを生じる恐れがない。
【0095】従って本発明によれば、マルチプロセッサ
システムにおいて、CPUの台数の制限がなく、または
デッドロックを生じないようなソフトウェア管理が不必
要になるので、高性能マルチプロセッサシステムを構築
することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理的構成を示す図である。
【図2】本発明の第2の実施例におけるバス・インタフ
ェース制御回路の構成を示す図である。
【図3】第2の実施例の場合のマルチプロセッサシステ
ムの動作例を示す図である。
【図4】第7および第8の実施例の場合のマルチプロセ
ッサシステムの動作を説明する図である。
【図5】従来の、および本発明が適用されるマルチプロ
セッサシステムの構成例を示す図である。
【図6】CPUの構成例を示す図である。
【図7】従来のバス・インタフェース制御回路の構成例
を示す図である。
【図8】従来方式の場合のマルチプロセッサシステムの
動作例(1) を示す図である。
【図9】従来方式の場合のマルチプロセッサシステムの
動作例(2) を示す図である。
【図10】従来方式の場合のマルチプロセッサシステム
の動作例(3) を示す図である。
【符号の説明】
1 システムバス 2 CPU 3 ローカルバス 4 バス・インタフェース制御回路 5 送信バッファ 6 受信バッファ 7 ローカルバス制御回路 8 システムバス制御回路 25n 起動転送用送信バッファ 26n 応答転送用送信バッファ 27n 起動転送用受信バッファ 28n 応答転送用受信バッファ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 スプリット方式のシステムバス(1)を
    介して複数のCPU(2)が接続され、各CPUは、そ
    のローカルバス(3)とシステムバス(1)とを接続す
    るバス・インタフェース制御回路(4)を有し、各バス
    ・インタフェース制御回路は、 システムバスに対する送信コマンドを蓄積する送信バッ
    ファ(5)と、 システムバスからの受信コマンドを蓄積する受信バッフ
    ァ(6)と、 ローカルバス(3)から受信したアクセスから起動コマ
    ンドを作成して送信バッファ(5)に書き込む機能と、
    受信バッファ(6)から読み出した応答コマンドからリ
    ードデータをローカルバス(3)へ返送する機能と、受
    信バッファ(5)から読み出した起動コマンドによって
    ローカルバス(3)へアクセスを行い、リードアクセス
    のときは、応答コマンドを作成して送信バッファ(5)
    に書き込む機能とを有するローカルバス制御回路(7)
    と、 システムバス(1)から受信した起動コマンドおよび応
    答コマンドを受信バッファ(6)に書き込む機能と、送
    信バッファ(5)から読み出した起動コマンドおよび応
    答コマンドをシステムバス(1)へ転送する機能と、応
    答コマンドを書き込むべき空きを残して起動コマンドを
    書き込むことによってシステムバス(1)から応答コマ
    ンドを常に受信可能にする応答コマンドの受信制御機能
    と、送信バッファ(5)に起動コマンドが書き込まれた
    のちに応答コマンドが書き込まれたとき応答コマンドを
    優先してシステムバス(1)へ転送する応答コマンドの
    追越し制御機能とを有するシステムバス制御回路(8)
    とを備えることを特徴とするバス・インタフェース制御
    方式。
  2. 【請求項2】 前記送信バッファ(5)が起動転送用送
    信バッファ(25n)と、応答転送用送信バッファ(2
    n )とからなり、前記ローカルバス制御回路(7)
    が、ローカルバス(3)から受信したアクセスから起動
    コマンドを作成して起動転送用送信バッファ(25n
    に書き込む機能と、受信バッファ(6)から読み出した
    起動コマンドによってローカルバス(3)へアクセスを
    行い、リードアクセスのときは応答コマンドを作成して
    応答転送用送信バッファ(26n)ヘ書き込む機能を有
    し、前記システムバス制御回路(8)が起動転送用送信
    バッファ(25n )から読み出した起動コマンドをシス
    テムバス(1)へ転送する機能と、応答転送用送信バッ
    ファ(26n )から読み出した応答コマンドをシステム
    バス(1)へ転送する機能とを有するとともに、起動転
    送用送信バッファ(25n )に起動コマンドが書き込ま
    れておりかつ応答転送用送信バッファ(26 n )に応答
    コマンドが書き込まれているときは応答コマンドを優先
    してシステムバス(1)へ転送することによって前記応
    答コマンドの追越し制御機能を実現することを特徴とす
    る請求項1に記載のバス・インタフェース制御方式。
  3. 【請求項3】 前記送信バッファ(5)が起動コマンド
    用エリアと応答コマンド用エリアとを有し、前記ローカ
    ルバス制御回路(7)が、ローカルバス(3)から受信
    したアクセスから起動コマンドを作成して送信バッファ
    (5)の起動コマンド用エリアに書き込む機能と、受信
    バッファから読み出した起動コマンドからローカルバス
    (3)へアクセスを行ってリードアクセスのときは応答
    コマンドを作成して送信バッファ(5)の応答コマンド
    用エリアに書き込む機能を有し、前記システムバス制御
    回路(8)が、送信バッファ(5)の起動コマンド用エ
    リアに起動コマンドが書き込まれており、かつ送信バッ
    ファの応答コマンド用エリアに応答コマンドが書き込ま
    れているときは応答コマンドを先にシステムバス(1)
    へ転送する機能を有することによって、前記応答コマン
    ドの追越し制御機能を実現することを特徴とする請求項
    1に記載のバス・インタフェース制御方式。
  4. 【請求項4】 前記送信バッファ(5)が、複数のエン
    トリを書き込む機能と、各エントリごとに起動コマンド
    と応答コマンドの別を示す識別情報を付加する機能を有
    し、システムバス制御回路(7)は該識別情報から送信
    コマンドと応答コマンドがともに書き込まれていると判
    断したときは、応答コマンドを先にシステムバス(1)
    へ転送することによって前記応答コマンドの追越し制御
    機能を実現することを特徴とする請求項1に記載のバス
    ・インタフェース制御方式。
  5. 【請求項5】 前記システムバス制御回路(8)が、リ
    ードアクセスによる起動コマンドの転送から応答コマン
    ドの受信までの間は、他の起動コマンドを受信しない機
    能を有することによって前記応答コマンドの受信制御機
    能を実現することを特徴とする請求項1に記載のバス・
    インタフェース制御方式。
  6. 【請求項6】 前記受信バッファ(6)が起動転送用受
    信バッファ(27n)と、応答転送用受信バッファ(2
    n )とからなり、前記システムバス制御回路(8)
    は、システムバス(1)から受信した起動コマンドを起
    動転送用受信バッファ(27n )に書き込む機能と、シ
    ステムバス(1)から受信した応答コマンドを応答転送
    用受信バッファ(28n )に書き込む機能とを有するこ
    とによって、前記応答コマンドの受信制御機能を実現す
    ることを特徴とする請求項1に記載のバス・インタフェ
    ース制御方式。
  7. 【請求項7】 前記受信バッファ(6)が起動コマンド
    用エリアと応答コマンド用エリアとを有し、前記システ
    ムバス制御回路(8)が、システムバス(1)から受信
    した起動コマンドを起動コマンド用エリアに書き込む機
    能と、システムバス(1)から受信した応答コマンドを
    応答コマンド用エリアに書き込む機能とを有することに
    よって、前記応答コマンドの受信制御機能を実現するこ
    とを特徴とする請求項1に記載のバス・インタフェース
    制御方式。
  8. 【請求項8】 前記受信バッファ(6)が、複数のエン
    トリを書き込む機能と、各エントリごとに起動コマンド
    と応答コマンドの別を示す識別情報を付加する機能とを
    有し、システムバス制御回路(8)が、該識別情報から
    受信バッファ(6)に応答コマンドが書き込まれていな
    いことを判断したとき、応答コマンドを書き込むエリア
    を残して起動コマンドを受信する機能を有することによ
    って、前記応答コマンドの受信制御機能を実現すること
    を特徴とする請求項1に記載のバス・インタフェース制
    御方式。
  9. 【請求項9】 前記システムバス制御回路(8)が、シ
    ステムバス(1)から受信バッファ(6)に起動コマン
    ドを書き込むときは、常に応答コマンドを書き込むエリ
    アを残して起動コマンドを受信する機能を有することに
    よって、前記応答コマンドの受信制御機能を実現するこ
    とを特徴とする請求項1に記載のバス・インタフェース
    制御方式。
JP10411392A 1992-04-23 1992-04-23 バス・インタフェース制御回路 Expired - Fee Related JP3460090B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10411392A JP3460090B2 (ja) 1992-04-23 1992-04-23 バス・インタフェース制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10411392A JP3460090B2 (ja) 1992-04-23 1992-04-23 バス・インタフェース制御回路

Publications (2)

Publication Number Publication Date
JPH05314061A true JPH05314061A (ja) 1993-11-26
JP3460090B2 JP3460090B2 (ja) 2003-10-27

Family

ID=14372076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10411392A Expired - Fee Related JP3460090B2 (ja) 1992-04-23 1992-04-23 バス・インタフェース制御回路

Country Status (1)

Country Link
JP (1) JP3460090B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249295A (ja) * 1995-03-15 1996-09-27 Kofu Nippon Denki Kk メッセージ制御装置
JP2005501338A (ja) * 2001-08-30 2005-01-13 テレコム・イタリア・エッセ・ピー・アー 電子回路におけるデータ転送方法、電子回路及び関連装置
JP2016197316A (ja) * 2015-04-03 2016-11-24 ファナック株式会社 インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249295A (ja) * 1995-03-15 1996-09-27 Kofu Nippon Denki Kk メッセージ制御装置
JP2005501338A (ja) * 2001-08-30 2005-01-13 テレコム・イタリア・エッセ・ピー・アー 電子回路におけるデータ転送方法、電子回路及び関連装置
JP2016197316A (ja) * 2015-04-03 2016-11-24 ファナック株式会社 インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム

Also Published As

Publication number Publication date
JP3460090B2 (ja) 2003-10-27

Similar Documents

Publication Publication Date Title
JPS63255759A (ja) 制御システム
JP2962787B2 (ja) 通信制御方式
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JPH05314061A (ja) バス・インタフェース制御方式
JPS6341103B2 (ja)
JPS6224830B2 (ja)
JP2000155738A (ja) データ処理装置
JPH064401A (ja) メモリアクセス回路
JP2705955B2 (ja) 並列情報処理装置
JP2573790B2 (ja) 転送制御装置
TW531701B (en) Method to operate a processor bus
JP2961542B2 (ja) データ処理システム
JP2976417B2 (ja) マルチプロセッサシステム
JPH02211571A (ja) 情報処理装置
JP3323430B2 (ja) 通信制御装置
JP2610971B2 (ja) 中央処理装置間ダイレクトメモリアクセス方式
JP2856709B2 (ja) バス間結合システム
JPH02113358A (ja) ローカルバス式
JPH03134712A (ja) プログラマブルコントローラ
JPH0113575B2 (ja)
JPH02186462A (ja) バス転送制御装置
JPH02120966A (ja) 情報処理システム
JPS62145345A (ja) 直接メモリアクセス間隔制御方式
JPS63104155A (ja) 電子計算機
JPH064462A (ja) バス結合方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030708

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees