[go: up one dir, main page]

JP2803616B2 - 入出力バスインタフェース制御方式 - Google Patents

入出力バスインタフェース制御方式

Info

Publication number
JP2803616B2
JP2803616B2 JP35362395A JP35362395A JP2803616B2 JP 2803616 B2 JP2803616 B2 JP 2803616B2 JP 35362395 A JP35362395 A JP 35362395A JP 35362395 A JP35362395 A JP 35362395A JP 2803616 B2 JP2803616 B2 JP 2803616B2
Authority
JP
Japan
Prior art keywords
command
bus
input
read
transmission
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.)
Expired - Fee Related
Application number
JP35362395A
Other languages
English (en)
Other versions
JPH09185573A (ja
Inventor
敬一 山田
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 JP35362395A priority Critical patent/JP2803616B2/ja
Publication of JPH09185573A publication Critical patent/JPH09185573A/ja
Application granted granted Critical
Publication of JP2803616B2 publication Critical patent/JP2803616B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のマイクロプ
ロセッサを用いた情報処理装置(「マルチプロセッサシ
ステム」ともいう)における入出力バス(「I/Oバ
ス」ともいう)インタフェース制御方式に関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
一般に、複数の演算処理装置(EPU)モジュールと主
記憶モジュールがバス接続されるマルチプロセッサバス
階層と、複数の入出力装置(「I/O装置」ともいう)
がバス接続されるI/Oバス階層、及びこれら2階層を
接続するI/Oバスインタフェース制御機構から構成さ
れる場合が多い。
【0003】図7は、マルチプロセッサシステムの典型
的な構成を示す図である。
【0004】図7を参照して、EPUモジュール65-1は
マイクロプロセッサ(MPU)63-1とマルチプロセッサ
バスインタフェース制御部(BIC)64-1とからなり、
他のEPUモジュール65-2〜65-nも同様の構成とされ、
これら複数のEPUモジュール65-1〜65-nはマルチプロ
セッサバス68に接続されている。また、主記憶(MM)
66-1と制御装置66-2から成る主記憶モジュール(MM
C)67がマルチプロセッサバス68に接続され、一方、複
数のI/O装置69-1、…、69-nは並列にI/Oバス70に
接続され、そしてマルチプロセッサバス68とI/Oバス
70とはI/Oバスインタフェース制御装置(I/O
C)71を介して接続されている。
【0005】図8は、従来のI/Oバスインタフェース
制御装置71の構成例を示したもので、マルチプロセッサ
バス制御部72は、スプリット制御方式のマルチプロセッ
サバス68に接続されるとともに、送信先アドレス、コマ
ンド情報(リード/ライト種別、データ長など)、送信
データ(ライトコマンドの場合)から成るコマンド4個
を、マルチプロセッサバス68上での発行順に格納する機
能を有し、4段の先入れ先出し型(First In First Ou
t;「FIFO」という)レジスタからなる送信バッフ
ァ73を介し、I/Oバス制御部74を経てI/Oバス70に
接続されている。
【0006】また、I/Oバス制御部74は、別にコマン
ド4個をI/Oバス70上での発行順に格納する機能をも
つ、4段の先入れ先出し型(FIFO)レジスタからな
る受信バッファ75を介しマルチプロセッサバス制御部72
を経てマルチプロセッサバス68に接続されている。
【0007】送信バッファ73、受信バッファ75の各段
は、書き込まれたコマンドが各々読み出し側の制御部か
ら読み出されるまでは当然占有状態とされ、書き込みは
不可能とされる。
【0008】図8に示した従来のI/Oバスインタフェ
ース制御部71の動作は次の通りである。
【0009】(1)EPUからI/O装置へのリード
(読出し)アクセス マルチプロセッサバス制御部72はマルチプロセッサバス
68からI/Oバス70へのリードコマンドを受信すると、
送信バッファ73の全ての段が占有状態でなければ、送信
バッファ73にリードコマンドを書き込む。
【0010】マルチプロセッサバス68はスプリット制御
方式のため、リードコマンドを送信バッファ73に書き込
み後、マルチプロセッサバス制御部72は、マルチプロセ
ッサバス68を解放する。
【0011】一方、送信バッファ73の全段が占有状態で
コマンドの書き込みが不可であれば、再試行を指示する
コマンドとマルチプロセッサバス68に送信してバスを解
放する。
【0012】I/Oバス制御部74は、送信バッファ73の
リードコマンドを先入れ先出し方式で読み出し、I/O
バス70へリードコマンドを送信する。
【0013】また、I/Oバス制御部74は、リードコマ
ンドに対するI/O装置からの応答をI/Oバス70から
リードデータとして受信すると、受信バッファ75にリー
ドデータを含むアンサコマンドを書き込み、I/Oバス
70を解放する。
【0014】マルチプロセッサバス制御部72は受信バッ
ファ75からアンサコマンドを読み出してマルチプロセッ
サバス68にリードデータを返送しバスを解放する。
【0015】(2)EPUからI/Oへのライト(書込
み)アクセス マルチプロセッサバス制御部72は、マルチプロセッサバ
ス68からI/Oバス70へのライトコマンドを受信する
と、送信バッファ73の全ての段が占有状態でなければコ
マンドを書き込みマルチプロセッサバス68を解放する。
【0016】送信バッファ73の全段が占有状態でコマン
ドの書き込みが不可であれば再試行を指示するコマンド
をマルチプロセッサバス68に返送し、バスを解放する。
【0017】I/Oバス制御部74は、送信バッファ73か
らライトコマンドを読み出してI/Oバス70へ転送し、
転送後バスを解放する。
【0018】
【発明が解決しようとする課題】上記した従来のI/O
バスインタフェース制御装置における第1の問題点は、
マルチプロセッサシステム特有の動作である、“複数の
MPUからI/Oバス上の各々別のI/Oへの同時アク
セス”が発生した場合、一つのI/Oへの動作がネック
となって、本来このI/O動作と同時に行ない得る他の
I/O動作が阻害され、その結果、それらのI/O動作
を行なっているMPUがウエイト状態となり複数のMP
Uの並列動作という、マルチプロセッサシステムが本来
有する利点を減殺し、システムの性能低下を招来すると
いうことである。以下に理由を説明する。
【0019】すなわち、上記従来技術に係るI/Oバス
インタフェース制御装置が、MPUからI/Oバスへの
コマンドバッファリングにあたり、先入れ先出し(FI
FO)構造のレジスタの基本機能をバッファ部としてそ
のまま用いているため、このバッファ部がシリアルな行
列構造となり、先にバッファリングされたコマンドの処
理がI/Oバス上で終了しないと、たとえこのコマンド
と後続のコマンドとの間で順序性を保存する必要が無く
従って同時実行が可能であっても、後続のコマンドが実
行できないことによる。
【0020】図7及び図8を参照して、従来I/Oバス
インタフェース制御機構を利用した場合の問題点を動作
例を用いて以下に詳細に説明する。
【0021】今、MPU63-1からI/O装置69-1に対し
一連のライトコマンドWT11-1…4が、MPU63-2から
I/O装置69-2に一連のライトコマンドWT22-1…4が
発行されたものとする。これらのコマンドはマルチプロ
セッサバス68のバス調停とI/Oバスインタフェース制
御装置71のバッファ制御により送信バッファ73上にWT
11-1、WT22-1、WT11-2、WT22-2とシリアルにバッ
ファリングされ、後続のコマンドは一旦I/Oバスイン
タフェース制御部71から再試行応答を受けEPUモジュ
ール65-1、65-nで保留状態となり得る。
【0022】この時、I/Oバス制御部74は送信バッフ
ァ73から先頭のライトコマンドWT11-1を読み出し、こ
れをI/O装置69-1に転送し、このI/O装置69-1は受
信完了応答を行った後、I/Oバス70を解放し動作を開
始する。
【0023】次いで、I/Oバス制御部74は、ライトコ
マンドWT22-1を読み出し、I/O装置69-2に送信し、
I/O装置69-2は受信完了応答の上、I/Oバス70を解
放し動作を開始し、直ちに終了する。
【0024】次に、I/Oバス制御部74はコマンドWT
11-2を読み出し、I/O装置69-1に転送しようとする
が、I/O装置69-1では先のコマンドWT11-1による動
作が完了していないため、ライトコマンドWT11-2を受
信できず、その結果、再試行を求める応答を行ないI/
Oバス70を解放する。
【0025】このため、ライトコマンドWT11-2は送信
バッファ73で保留される。
【0026】送信バッファ73はFIFO構造のレジスタ
で、I/Oバス制御部74にも追い越し手段が無いため追
い越し転送ができず、本来、同時に実行が可能なコマン
ドWT22-2以降の動作が阻止(ブロック)され、論理的
には停止する必要が無いEPU63-2が、低速のI/O装
置69-1のために停止状態に陥ってしまうことになる。
【0027】従って、本発明は、上記従来技術の問題点
に鑑みて為されたものであって、マルチプロセッサシス
テムにおいて、複数のMPUから各々別のI/Oへの同
時アクセスが発生した場合に、低速なI/O装置により
他のI/O装置へのアクセスが抑止されることにより
(上記従来技術参照)、本来、論理的には停止する必要
が無い、I/O装置へのアクセスを行なっている、MP
Uを動作可能とするようにして、同時I/Oアクセスが
発生した場合に損なわれている複数のMPUの並行動作
率を改善し、マルチプロセッサシステムのシステム性能
を向上させる入出力バスインタフェース制御方式を提供
することを目的とする。
【0028】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、複数のマイクロプロセッサが並列に接続
されるマルチプロセッサバスと、1又は複数の入出力装
置が接続される入出力バスと、の入出力インタフェース
を制御する方式であって、前記マイクロプロセッサから
発行された前記入出力装置に対するコマンドを順次格納
する送信バッファと、前記送信バッファに格納されたコ
マンドのアドレス情報から送信先の前記入出力装置のチ
ャネル情報を特定し、該チャネル情報に基づき前記送信
バッファに蓄積されている複数のコマンド相互の間の追
い越し可能性を判定する手段と、後続のコマンドに追い
越しされるコマンドを退避する手段を備えたことを特徴
とする入出力バスインタフェース制御方式を提供する。
【0029】本発明の概要を、好ましい実施の形態を示
す図1を参照して説明する。
【0030】本発明に係る入出力バスインタフェース制
御方式は、好ましくは、マルチプロセッサバス制御部
(3、図1参照)、マルチプロセッサバス(1)からI
/Oバス(10)への送信コマンドを蓄積する送信バッフ
ァ(4)、再試行コマンドを格納する送信保留バッファ
(5)、I/Oバス制御部(6)、チャネル情報判定手
段(7)、追越実行判定手段(8)、マルチプロセッサ
バス(1)への受信コマンドを蓄積する受信バッファ
(9)から成る。
【0031】チャネル情報判定手段(7)は、送信バッ
ファ(4)に格納されるコマンド相互間で、マルチプロ
セッサバス(1)上での順序性を保存すべきアドレス空
間単位(「チャネル」という)情報を保持する、ソフト
ウェアの所定の命令実行等により設定可能なレジスタを
備え、このチャネル情報と、送信バッファ(4)に格納
されたコマンドの送信先アドレス情報とから、追越実行
判定手段(8)で追越実行可能なコマンドを判定する。
【0032】I/Oバス制御部(6)は、I/Oバス
(3)へ送信したコマンドに対し再試行を指示する応答
を受けた場合、後続の送信コマンドが追越可能と判定さ
れていれば、これを追越実行する機能、及び追越実行
後、送信保留バッファ(5)に格納された再試行応答を
受けたコマンドを実行する機能を有する。
【0033】
【作用】本発明によれば、(a)送信バッファに複数の
コマンドをバッファリングすることが可能であること、
(b)送信バッファにバッファリングされているコマン
ドのアドレス情報が先読み可能であること、及び(c)
コマンド相互間でバッファに入力された順序を保存する
必要があるアドレス範囲の情報をレジスタに保持してい
ることから、バッファリングされているコマンド相互間
での追越実行可能性が判定できる。
【0034】更に、本発明によれば、追越されるコマン
ドを退避する機構と、退避されたコマンドを再度実行す
る機能を有することから、順序性を保存する必要が無い
関係にあり、先入れ先出し型(FIFO)構造のバッフ
ァに隣接してバッファリングされているコマンドの実行
順を交換させることができる。
【0035】この機能によって送信バッファの先頭段に
位置するコマンドが、I/Oバスから再試行応答を受
け、実行保留となった場合、バッファの次段に位置する
コマンドが、保留になったコマンドとは実行順が交換可
能な場合、次段のコマンドが追越実行でき、交換不可の
場合は先頭のコマンドの実行を待つことができる。
【0036】
【発明の実施の形態】本発明の実施の形態を図面を参照
して以下に詳細に説明する。
【0037】図1は、本発明の一実施形態に係る入出力
バスインターフェース制御装置(I/Oバスインタフェ
ース部ともいう)の構成を示す図である。また、図2
は、図1に示した構成を更に詳細に示した図であり、図
1の送信バッファ4を2段構造とした場合の、送信バッ
ファ4、チャネル情報判定部7、追越実行判定部8の詳
細構成を示す図である。
【0038】一般に、I/O装置へのコマンドの送信に
おいては、その送信順序自体が、当該I/O装置の制御
に関わるため、その送信順序はMPUから当該I/O装
置まで保存される必要がある。
【0039】一つのMPU上のプログラム実行時に発生
するI/O動作は、複数のI/Oコマンドから成るが、
そのI/O動作の間に、コマンドのアクセス対象となり
得る、前述の送信順序を保存すべき、アドレス空間は限
られており、通常の場合、このアドレス空間は、一つの
I/O装置の占有するアドレス空間全体か或いはその一
部であり、このアドレス空間を「チャネル」という。
【0040】マルチプロセッサシステムにおいては、そ
の動作特性上、マルチプロセッサバス1上で送信される
I/Oコマンドは、相異なるチャネルへの送信が同時に
発生し得るが、この相異なるチャネルへの送信コマンド
相互間では、必ずしもマルチプロセッサバス1上でのコ
マンド発行順序を保存する必要は無い。
【0041】従って、I/Oバスインタフェース制御部
2に、各チャネルの占めるアドレス空間情報、すなわち
チャネルのベースアドレス(基底アドレス)とその大き
さ(サイズ)とを、チャネル識別情報として保持し、コ
マンドのアドレスからチャネルを判定することにより、
I/Oバスインタフェース制御部2にバッファリングさ
れる複数のコマンド相互間でマルチプロセッサバス1か
ら入力された順序を保存することの必要性の有無が判る
ことから、当該コマンド間での追越実行の可/不可が判
定できる。
【0042】本実施形態に係るシステムにおいては、シ
ステム初期化時にこのチャネル識別情報を、I/Oバス
10上のチャネル毎にチャネル情報判定部7内のチャネル
情報レジスタ11-1〜11-n(図2参照)に設定する。
【0043】図2において、チャネル情報判定部7は、
各チャネルに対応して設けられるチャネル情報レジスタ
11-1〜11-nおよび送信チャネル判定部12-1-1〜12-2-nか
ら構成され、送信チャネル判定部は、送信バッファ第1
段目4-1のコマンドのアドレスを入力とする送信チャネ
ル判定部12-1-1〜12-1-nと、送信バッファ第2段目4-2
のコマンドのアドレスを入力とする送信チャネル判定部
12-2-1〜12-2-nとから構成されている。
【0044】チャネル情報レジスタ11-1〜11-nは、それ
ぞれ、チャネルnベースアドレスレジスタ13-1〜13-nと
チャネルnサイズレジスタ14-1〜14-nから成る。
【0045】何れもマルチプロセッサバス1に接続され
た不図示のEPUのMPU(例えば図7参照)からマル
チプロセッサバス制御部3を経て読み書きが可能とさ
れ、ソフトウェアによりチャネルnの占めるアドレス空
間のバイトアドレスとその大きさ(例えば「バイトサイ
ズ−1」)を各々に設定する。
【0046】送信チャネル判定部12-1-n〜12-2-nは、マ
ルチプロセッサバス制御部3で受信し、送信バッファ4
に書き込まれた、コマンド種別情報(リード/ライ
ト)、送信先アドレス、データ(ライトコマンドの場合
のみ)から成る送信コマンドの送信先アドレスを、チャ
ネルn情報レジスタ11-1〜11-nからのデータ(ベースア
ドレスおよびサイズ)と、図2に示すような回路にて比
較することにより、当該コマンドの行先チャネルを判定
することができ、その結果を追越実行判定部8に伝達す
る。
【0047】より詳細には、例えばチャネル1のアドレ
ス空間が32ビット空間で“E0000000”(HEX;ヘキサ
デシマル表示)を基底アドレスとした256KByteである
ものとすると、チャネル1ベースアドレスレジスタ13-1
の内容BAD(0:31)は“E0000000”、チャネル1サイズレ
ジスタ14-1の内容SIZ(0:31)は空間サイズ(256K−1)
が設定される。送信バッファ4に入力されるコマンドの
32ビットアドレスをAD(0:31)とすると送信チャネル
判定部12-1-1から出力される信号(チャネル1と判定さ
れた時Highレベル)は、([AD(0:31).XNOR.BAD(0:3
1)].OR.SIZ(0:31))を各ビット毎にAND演算したも
のとされる。このコマンドアドレス(AD(0:31))とベー
スアドレス(BAD(0:31))との排他的否定論理和(XN
OR)による一致検出で不一致のビットは“0”とされ
るが、この場合、SIZ(0:31)の“1”とOR演算するこ
とにより、空間サイズ内のビットであればチャネル内に
存在するものとされ、コマンドのアドレスがチャネル1
のアドレス空間内にあれば送信チャネル判定部12-1-1か
らHighレベル出力が追越実行判定部8に入力される。
【0048】追越実行判定部8は送信バッファ4に格納
されている有効な送信コマンドの行先チャネルが、現在
実行中のコマンドと次のコマンドの間で相異なる場合
は、追越し実行可、PASS信号22をI/Oバス制御
部6に伝達する。
【0049】図2に示すように、追越実行判定部8は、
送信バッファ第1段目4-1のコマンドのアドレスを入力
とする送信チャネル判定部12-1-1〜12-1-nの出力と送信
バッファ4-1からの信号(RQ1:転送すべき有効なコ
マンドがある時に活性化される)16を入力とする第1
のANDゲート群と、送信バッファ第2段目4-2のコマ
ンドのアドレスを入力とする送信チャネル判定部12-2-1
〜12-2-nの出力と送信バッファ4-2からの信号(RQ
2:転送すべき有効なコマンドがある時に活性化され
る)16を入力とする第2のANDゲート群と、第1群
及び第2群のANDゲートの出力をそれぞれチャネル毎
に入力として一致を検出するn個の排他的否定論理和回
路(XNOR)と、n個の排他的否定論理和回路(XN
OR)の出力がいずれもが不一致(Low)レベルの時に
PASS信号22としてHighレベルを出力する否定論
理和(NOR)回路からなる。
【0050】送信バッファ4、受信バッファ7は共に先
入れ先出し型(FIFO)レジスタにより構成されてい
る。
【0051】送信バッファ4は、マルチプロセッサバス
1からI/Oバス10への送信コマンドを格納し、リー
ド、ライトの両方のコマンドで用いられる。受信バッフ
ァ7はI/Oバス3から、マルチプロセッサバス1への
リードデータである受信コマンドの格納に用いられる。
【0052】次に、図1、及び図2に示した本実施形態
の動作を、図3、及び図4のタイムチャートと、図5の
フローチャートを参照して説明する。
【0053】図3、及び図4のライン28に示すSTAT
E(ステート)は、図5のI/Oバス制御部6の状態を
表している。
【0054】マルチプロセッサバス制御部3で、I/O
バス10への送信コマンドC1を検出すると、これを先入
れ先出し(FIFO)レジスタから成る送信バッファ4
に書き込む。
【0055】この時、送信バッファ第1段目4-1(図2
参照)に書き込まれたものとすると、ライン29(図3、
図4参照)に示す、RQ1信号15(図2参照)がアサ
ートされる(この場合アクティブ状態はHighレベ
ル)。これはI/Oバス制御部6への送信要求信号であ
る。
【0056】書き込みが完了すると、送信バッファ4の
書き込みポインタ16(図2参照)は、送信バッファ第2
段4-2側を入力線に接続する。
【0057】次いで、マルチプロセッサバス制御部3
で、次のI/Oバス10への送信コマンドC2を検出する
と、同様に送信バッファ第2段4-2(図2参照)に書き
込まれ、ライン30(図3、図4参照)に示すRQ2信号
17(図2参照)がアサートされる。書き込みポインタ
16は送信バッファ第1段4-1側に移動する。
【0058】送信バッファ4に書き込まれたコマンドの
アドレス情報はアドレス信号線AD1、AD218、19を
経てチャネルの情報レジスタ11-1〜11-nにシステム初期
化時に設定されたチャネル識別情報との比較を送信チャ
ネル判定部12-1-1〜12-2-nにて行ない、結果を行先チャ
ネル識別信号線20-1〜20-n、21-1〜21-n(図2参照)で
あるライン31、32(図3、図4参照)のCD1、CD2
信号線を経て、追越実行判定部8に通知され、図2の通
り、追越実行可能判定信号であるライン33(図3、図4
参照)のPASS信号22を生成し、I/Oバス制御部6
に通知される。
【0059】図3、及び図4では、CD=1がチャネル
2、CD2がチャネル1で追い越し可と判定されている
(PASS信号がHighレベル)。
【0060】I/Oバス制御部6は、ライン28(図3及
び図4参照)のRQ1信号がタイミング34でアサートさ
れると、送信コマンドC1の送信要求を検出する。以下
の動作はコマンドがリードアクセスかライトアクセスか
によって異なる。
【0061】(1)ライトアクセスの場合(図3のタイ
ムチャート参照) I/Oバス制御部6は、ライン35のI/Oバス10(図1
参照)に送信コマンドC1を、送信先アドレス/コマン
ド種別(リード/ライト)信号送信タイミングを示すラ
イン36のAS信号をタイミング37でアサートし、送信先
アドレス/コマンド種別A1、データD1の順に送信す
る。
【0062】同時に当該送信コマンドC1をライン38
(図3参照)、送信保留バッファ5(図2参照)に格納
する。I/Oバス制御部6は、I/Oバス10から送信コ
マンドC1に対しライン39、タイミング40の受信完了を
示すREADY信号を受信すれば、次の転送要求、ライ
ン30のRQ2による動作に入る(図3(A)参照)。
【0063】一方、送信コマンドC1に対して、受信不
可を示し再試行を要求するライン41のRETRY信号を
タイミング42で受信した場合(図3(B)参照)、且
つ、前述のライン33のPASS信号のアサートをタイミ
ング43で検出すると後続のライン30、タイミング44の送
信要求RQ2によるコマンドを追越実行する。
【0064】すなわち、ライン35のI/Oバス10に対
し、送信先アドレス/コマンド種別A2をそのタイミン
グを示すライン36のAS信号と共にタイミング45で送信
する。
【0065】追越実行後、送信保留バッファ5(図3
(B)ではライン38参照)に書き込まれたコマンドの送
信動作に入る。
【0066】一方、図3(B)において、ライン33のP
ASS信号がタイミング43でアサートされていなけれ
ば、ライン30の後続のリクエストRQ2を無視して送信
保留バッファ5に格納されたコマンドC1の送信をRE
ADY信号の受信まで行う。
【0067】(2)リードアクセスの場合(図4のタイ
ムチャート参照) I/Oバス制御部6は、ライン35のI/Oバス10に送信
コマンドC1を、送信先アドレス/コマンド種別A1をそ
のタイミングを示すライン36のAS信号と共にタイミン
グ46で送信する。
【0068】同時に当該送信コマンドC1をライン38
(図4(A)参照)で示す送信保留バッファ5に格納す
る。I/Oバス制御部6は、ライン35のI/Oバス10
(図1参照)上に送信コマンドC1に対し、タイミング4
7で応答データD1とライン39の受信完了を示すREAD
Y信号のアサートを検出した場合、応答データD1をア
ンサコマンドとして受信バッファ9に書き込む。
【0069】マルチプロセッサバス制御部3は、受信バ
ッファ9からの要求によりアンサコマンドを読み出し、
マルチプロセッサバス1にリードデータを送信する。
【0070】一方、送信コマンドC1に対して受信不可
を示し再試行を要求するライン41のRETRY信号をタ
イミング48で受信した場合(図4(B)参照)、かつ前
述のライン33のPASS信号をタイミング49で検出する
と、後続のライン30で示す、タイミング50の送信要求R
Q2によるコマンドを追越実行する。
【0071】すなわち、ライン35のI/Oバス10に対
し、送信先アドレス/コマンド種別A2をそのタイミン
グを示すライン36のAS信号と共にタイミング51で送信
する。
【0072】追越実行後、送信保留バッファ5(図2参
照。図4(B)ではライン38参照)に書き込まれたコマ
ンドの送信動作に入る(図4(B)のタイミング52参
照)。
【0073】ライン33のPASS信号がタイミング49で
アサートされていなければ、ライン30の後続のリクエス
ト信号RQ2を無視して送信保留バッファ5(図2参
照。図4(B)ではライン38参照)に格納されたコマン
ドC1の送信をREADY信号受信まで行う(タイムチ
ャートは省略)。
【0074】次に、図5のフローチャートを参照して、
本実施形態を更に説明する。これはI/Oバス制御部6
の動作状態の遷移を示した図(状態遷移図)である。
【0075】IDLE53は、I/Oバス制御部6に対し
て送信要求が入力されていない状態であり、初期状態は
常にこの状態である。
【0076】REQ54は、送信バッファ4から送信要求
信号RQ1、RQ2(18、19)の何れかがアサートされ
ているか否かを判定するステップである。送信要求があ
る場合は次のステートAD55に移り、送信要求ない場合
にはIDLE53に戻る。
【0077】AD55はI/Oバス上にアドレス/コマン
ド種別を送信するステートで、無条件に次のI/Oバス
上でデータの送/受信(ライト/リード)を行うステー
トDT56に進む。
【0078】このステートは、I/Oバスから受信完了
を示すREADY信号又は再試行を要求するRETR
(リトライ)Y信号の何れかがアサートされると終了
し、図5に示すように、次のステートに遷移する。
【0079】特に、RETRYがアサートされ、NRE
Q57で、現在転送中の転送要求以外の転送要求があると
判定されると、PASS58に進み、後続の転送要求が追
越転送可を示すPASS信号22がアサートされていれ
ば、追越実行ステートであるPAD59、PAD60に進
む。
【0080】各々アドレス/コマンド種別の送信、デー
タの送信を行う。この追越実行ステートが終了すると再
試行転送ステートRAD61、RDT62に進む。このステ
ートではI/Oバス出力セレクタ24(図2参照)が転送
保留バッファ5側からの出力となっている他、I/Oバ
スの動作は各々PAD59、RAD60と同様である。
【0081】図6は、本発明の第2の実施形態を説明す
るための図であり、図6(A)は、図1に示した送信保
留バッファ5を廃して、送信バッファ4の読み出し側の
構造及び制御を変更した構成を示した図であり、図2の
符号25の部分に相当する。
【0082】読み出しポインタ23は、前記第1の実施形
態と同様、I/Oバス制御部6からのRD制御信号によ
り動作し、読み出すべきバッファ段を指示するが、本実
施形態では、指示マイナス1出力線77により、「ポイン
タ指示値−1」の段をも出力可能な構造とし、通常指示
出力線76、指示マイスナ1出力線77の何れを出力とする
かは出力セレクタ78により、これはI/Oバス制御部6
の制御による。
【0083】図6(B)は、本実施形態を、前記第1の
実施形態に組み込んだ場合の動作を説明するためのタイ
ミング図であり、図3(B)に相当するタイムチャート
である。
【0084】本実施形態が、前記第1の実施形態と相違
する点は、ライン82の読み出しポインタ指示値のタイミ
ング88において、前記第1の実施形態ではI/Oバス制
御部6の状態遷移点AD→DT、PAD→PDT、RA
D→RDTでポインタを動かすRD信号を発行していた
が、本実施形態では、PAD→PDTでは動かさない。
【0085】また、新たに設けた出力セレクタ78(図6
(B)のライン83参照)制御については、タイミング89
のI/Oバス制御部6の状態PDT、RADで「指示マ
イナス1出力線」を指示させる。この構造により実施形
態1と同様の効果が得られる。
【0086】
【発明の効果】以上説明したように、本発明において
は、従来のI/Oバスインタフェース制御機構では実現
していなかった、コマンドの追越実行を可能としたた
め、先行のコマンドが実行保留となっても、後続のコマ
ンドが抑止されず、この後続のコマンドを発行している
MPUのウエイト時間を低減するようにしたことによ
り、マルチプロセッサシステムにおいて、複数のPMU
から、各々別のI/Oへのアクセスが発生した場合の、
システムにおけるI/O性能とMPUの平行動作率を改
善することが可能となり、システム性能の向上を図るこ
とができる。
【0087】また、本発明によれば、バッファリングさ
れるコマンド相互間の順序を保存する必要があるアドレ
ス範囲の情報を内部レジスタに保持し、これを用いてコ
マンドの追越実行可能性を判定するように構成したこと
により、コマンドの追越実行を可能としていながら、実
行順序を保存すべき、同一MPUからの単一I/Oアク
セスについては、従来通り、この順序性を保存したもの
である。
【図面の簡単な説明】
【図1】本発明の一実施形態の構成を示すブロック図で
ある。
【図2】本発明の一実施形態の要部である、送信バッフ
ァ、チャネル情報判定部、追越実行判定部の構成を詳細
に示す図である。
【図3】本発明の一実施形態の動作を説明するタイムチ
ャートである。 (A)ライト動作が正常終了した場合のタイミング図で
ある。 (B)再試行応答により追越が発生した場合のタイミン
グ図である。
【図4】図3のライト動作をリード動作とした場合のタ
イムチャートである。
【図5】本発明の一実施形態におけるI/Oバス制御部
の状態遷移を示すフローチャートである。
【図6】(A)本発明の別の実施形態における送信バッ
ファの構成を示す図である。 (B)本発明の別の実施形態の動作を説明するタイムチ
ャートである。
【図7】マルチプロセッサシステムの一般的構成を示す
ブロック図である。
【図8】従来技術によるI/Oバスインタフェース制御
装置の構成を模式的に示した図である。
【符号の説明】
1 マルチプロセッサバス 2 I/Oバスインタフェース制御装置 3 マルチプロセッサバス制御部 4 送信バッファ 5 I/Oバス制御部 6 送信保留バッファ 7 チャネル情報判定部 8 追越実行判定部 9 受信バッファ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のマイクロプロセッサが並列に接続さ
    れるマルチプロセッサバスと、1又は複数の入出力装置
    が接続される入出力バスと、の入出力インタフェースを
    制御する方式であって、 前記マイクロプロセッサから発行された前記入出力装置
    に対するコマンドを順次格納する送信バッファと、 前記送信バッファに格納されたコマンドのアドレス情報
    から送信先の前記入出力装置のチャネル情報を特定し、
    該チャネル情報に基づき前記送信バッファに蓄積されて
    いる複数のコマンド相互の間の追い越し可能性を判定す
    る手段と、 後続のコマンドに追い越しされるコマンドを退避する手
    段と、を備えたことを特徴とする入出力バスインタフェ
    ース制御方式。
  2. 【請求項2】前記送信バッファに蓄積されている前記複
    数のコマンドの送信先の前記チャネル情報が同一の場合
    にはコマンド間の追い越し不可と判定するように構成さ
    れたことを特徴とする請求項1記載の入出力バスインタ
    フェース制御方式。
  3. 【請求項3】複数のマイクロプロセッサが並列に接続さ
    れるマルチプロセッサバスと、1又は複数の入出力装置
    が接続されるI/Oバスと、の入出力インタフェースを
    制御する方式であって、 前記マルチプロセッサバスからの複数のコマンドを書き
    込み順に蓄積し、その順序で読み出し可能なレジスタ配
    列から構成され、蓄積されているコマンドのうちの任意
    のコマンドの情報を読み出し行の位置にかかわらず外部
    から読み出し可能とした送信バッファと、 始点となるアドレスと、始点から終点までの大きさ又は
    終点となるアドレスと、を保持してアドレス空間を規定
    する空間情報レジスタと、 前記送信バッファの所定の行から読み出されたコマンド
    情報のアドレスと前記空間情報レジスタの値から入力さ
    れたアドレスの属するアドレス空間を特定するチャネル
    判定部と、 前記チャネル判定部により生成された前記送信バッファ
    の隣接行に格納されたコマンドのアドレス空間情報の一
    致/不一致を検出し、不一致の場合に追越可と判定する
    追越実行判定部と、 前記送信バッファから読み出したコマンドを格納し、同
    一コマンドを再度読み出し可能とする送信保留バッファ
    と、 を備え、 前記送信バッファからコマンドを読み出し、入出力バス
    に送信すると共に該コマンドを前記送信保留バッファに
    格納し、 送信したコマンドが前記入出力バスから受信不可又は再
    試行を求める応答を受け、該コマンドを実行保留とする
    際に、 更に送信すべき後続のコマンドが前記送信バッファ中に
    あり、前記後続のコマンドが、前記実行保留とされてい
    る前記コマンドに対して、前記追越実行判定部により追
    越可と判定された場合には、前記後続のコマンドを先に
    送信し、該後続のコマンドの完了後に、前記送信保留バ
    ッファに格納され、前記実行保留とされている前記コマ
    ンドを前記入出力バスに再送信すると共に、 前記後続のコマンドが、実行保留とされた前記コマンド
    に対して、前記追越実行判定部により追越不可と判定さ
    れた場合、または、送信すべき後続のコマンドが前記送
    信バッファ中に存在しない場合には、前記送信保留バッ
    ファに格納され、前記実行保留とされているコマンドを
    再送信する、入出力バス制御部を具備したことを特徴と
    する入出力バスインタフェース制御方式。
  4. 【請求項4】前記マルチプロセッサバスからの複数のコ
    マンドを書き込み順に蓄積し、その順序で読み出し可能
    なレジスタ配列から構成され、読み出し行を指示するポ
    インタカウンタのポインタ指示値、又は該ポインタ指示
    値から1差し引いた値のいずれか一のバッファ行が外部
    からの指定で読み出し可能とされ、蓄積されているコマ
    ンドの任意のコマンドの情報を読み出し行の位置にかか
    わらず外部から読み出し可能とした送信バッファと、 前記送信バッファからコマンドを読み出し、入出力バス
    に送信し、該コマンドが入出力バスから受信不可又は再
    試行を求める応答を受け、該コマンドを実行保留とする
    際に、 更に送信すべき後続のコマンドが前記送信バッファ中に
    あり、該コマンドが実行保留とされた前記コマンドに対
    し前記追越実行判定部により追越可と判定された場合
    に、前記後続のコマンドを送信し、該コマンドの完了後
    に、前記送信バッファの読み出し行を読み出し、前記ポ
    インタ指示値から1差し引いた値側を選択して、前記実
    行保留とされている前記コマンドを再送信すると共に、 更に送信すべき後続のコマンドがあり、且つ該コマンド
    が前記実行保留とされている前記コマンドに対して前記
    追越実行判定部により追越不可と判定された場合、また
    は送信すべき後続のコマンドが前記送信バッファ中に存
    在しない場合には、前記送信バッファの読み出し行を読
    み出しポインタ指示値から1差し引いた値の側を選択
    し、前記実行保留とされている前記コマンドを再送信す
    る、入出力バス制御部を具備することを特徴とする請求
    項3記載の入出力バスインタフェース制御方式。
JP35362395A 1995-12-28 1995-12-28 入出力バスインタフェース制御方式 Expired - Fee Related JP2803616B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35362395A JP2803616B2 (ja) 1995-12-28 1995-12-28 入出力バスインタフェース制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35362395A JP2803616B2 (ja) 1995-12-28 1995-12-28 入出力バスインタフェース制御方式

Publications (2)

Publication Number Publication Date
JPH09185573A JPH09185573A (ja) 1997-07-15
JP2803616B2 true JP2803616B2 (ja) 1998-09-24

Family

ID=18432102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35362395A Expired - Fee Related JP2803616B2 (ja) 1995-12-28 1995-12-28 入出力バスインタフェース制御方式

Country Status (1)

Country Link
JP (1) JP2803616B2 (ja)

Also Published As

Publication number Publication date
JPH09185573A (ja) 1997-07-15

Similar Documents

Publication Publication Date Title
US5255374A (en) Bus interface logic for computer system having dual bus architecture
US8209445B2 (en) Apparatus and method for direct memory access in a hub-based memory system
US5265211A (en) Arbitration control logic for computer system having dual bus architecture
US5544346A (en) System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus
EP0542417B1 (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
US4982321A (en) Dual bus system
US20040107265A1 (en) Shared memory data transfer apparatus
US5687393A (en) System for controlling responses to requests over a data bus between a plurality of master controllers and a slave storage controller by inserting control characters
JPH06309230A (ja) バススヌ−プ方法
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
US5799161A (en) Method and apparatus for concurrent data routing
US5754802A (en) Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation
JP2803616B2 (ja) 入出力バスインタフェース制御方式
US5185879A (en) Cache system and control method therefor
US7472212B2 (en) Multi CPU system
EP0982661B1 (en) System for connecting a computer to a plurality of I/O means
JPS61150054A (ja) データ処理装置
JP2546901B2 (ja) 通信制御装置
JPH0962633A (ja) ネットワーク制御装置
JP3119155B2 (ja) バスアクセス方式
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
KR100454652B1 (ko) 하이파이버스시스템의주기억장치
JPH02186462A (ja) バス転送制御装置
JPH0573473A (ja) 産業用コンピユータシステム
JPS62224846A (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: 19980616

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

Free format text: PAYMENT UNTIL: 20070717

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080717

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090717

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100717

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110717

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees