JP2803616B2 - I / O bus interface control method - Google Patents
I / O bus interface control methodInfo
- 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
Links
Description
【0001】[0001]
【発明の属する技術分野】本発明は、複数のマイクロプ
ロセッサを用いた情報処理装置(「マルチプロセッサシ
ステム」ともいう)における入出力バス(「I/Oバ
ス」ともいう)インタフェース制御方式に関する。The present invention relates to an input / output bus (also referred to as an "I / O bus") interface control method in an information processing apparatus (also referred to as a "multiprocessor system") using a plurality of microprocessors.
【0002】[0002]
【従来の技術】マルチプロセッサシステムにおいては、
一般に、複数の演算処理装置(EPU)モジュールと主
記憶モジュールがバス接続されるマルチプロセッサバス
階層と、複数の入出力装置(「I/O装置」ともいう)
がバス接続されるI/Oバス階層、及びこれら2階層を
接続するI/Oバスインタフェース制御機構から構成さ
れる場合が多い。2. Description of the Related Art In a multiprocessor system,
Generally, a multiprocessor bus hierarchy in which a plurality of arithmetic processing unit (EPU) modules and a main storage module are bus-connected, and a plurality of input / output devices (also referred to as “I / O devices”)
Are often composed of an I / O bus layer connected to the bus and an I / O bus interface control mechanism connecting these two layers.
【0003】図7は、マルチプロセッサシステムの典型
的な構成を示す図である。FIG. 7 is a diagram showing a typical configuration of a multiprocessor system.
【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を介して接続されている。Referring to FIG. 7, an EPU module 65-1 comprises a microprocessor (MPU) 63-1 and a multiprocessor bus interface controller (BIC) 64-1.
The other EPU modules 65-2 to 65-n have the same configuration,
The plurality of EPU modules 65-1 to 65-n are connected to a multiprocessor bus 68. Main memory (MM)
Main memory module (MM) consisting of 66-1 and controller 66-2
C) 67 is connected to the multiprocessor bus 68, while a plurality of I / O devices 69-1,..., 69-n are connected to the I / O bus 70 in parallel, and bus
70 is an I / O bus interface controller (I / O
C) Connected via 71.
【0005】図8は、従来のI/Oバスインタフェース
制御装置71の構成例を示したもので、マルチプロセッサ
バス制御部72は、スプリット制御方式のマルチプロセッ
サバス68に接続されるとともに、送信先アドレス、コマ
ンド情報(リード/ライト種別、データ長など)、送信
データ(ライトコマンドの場合)から成るコマンド4個
を、マルチプロセッサバス68上での発行順に格納する機
能を有し、4段の先入れ先出し型(First In First Ou
t;「FIFO」という)レジスタからなる送信バッフ
ァ73を介し、I/Oバス制御部74を経てI/Oバス70に
接続されている。FIG. 8 shows an example of the configuration of a conventional I / O bus interface control device 71. A multiprocessor bus control unit 72 is connected to a multiprocessor bus 68 of a split control system and has a transmission destination. It has a function of storing four commands consisting of an address, command information (read / write type, data length, etc.) and transmission data (in the case of a write command) in the order in which they are issued on the multiprocessor bus 68. Type (First In First Ou
t; “FIFO”) is connected to the I / O bus 70 via an I / O bus control unit 74 via a transmission buffer 73 consisting of a register.
【0006】また、I/Oバス制御部74は、別にコマン
ド4個をI/Oバス70上での発行順に格納する機能をも
つ、4段の先入れ先出し型(FIFO)レジスタからな
る受信バッファ75を介しマルチプロセッサバス制御部72
を経てマルチプロセッサバス68に接続されている。The I / O bus control unit 74 further includes a reception buffer 75 comprising a four-stage first-in first-out (FIFO) register having a function of storing four commands in the order of issuance on the I / O bus 70. Multiprocessor bus control unit 72
And is connected to a multiprocessor bus 68.
【0007】送信バッファ73、受信バッファ75の各段
は、書き込まれたコマンドが各々読み出し側の制御部か
ら読み出されるまでは当然占有状態とされ、書き込みは
不可能とされる。Each stage of the transmission buffer 73 and the reception buffer 75 is naturally occupied until the written command is read from the control unit on the reading side, and writing is disabled.
【0008】図8に示した従来のI/Oバスインタフェ
ース制御部71の動作は次の通りである。The operation of the conventional I / O bus interface controller 71 shown in FIG. 8 is as follows.
【0009】(1)EPUからI/O装置へのリード
(読出し)アクセス マルチプロセッサバス制御部72はマルチプロセッサバス
68からI/Oバス70へのリードコマンドを受信すると、
送信バッファ73の全ての段が占有状態でなければ、送信
バッファ73にリードコマンドを書き込む。(1) Read (read) access from the EPU to the I / O device The multiprocessor bus control unit 72
When a read command from 68 to the I / O bus 70 is received,
If all stages of the transmission buffer 73 are not in the occupied state, a read command is written to the transmission buffer 73.
【0010】マルチプロセッサバス68はスプリット制御
方式のため、リードコマンドを送信バッファ73に書き込
み後、マルチプロセッサバス制御部72は、マルチプロセ
ッサバス68を解放する。Since the multiprocessor bus 68 is a split control system, after writing a read command to the transmission buffer 73, the multiprocessor bus control unit 72 releases the multiprocessor bus 68.
【0011】一方、送信バッファ73の全段が占有状態で
コマンドの書き込みが不可であれば、再試行を指示する
コマンドとマルチプロセッサバス68に送信してバスを解
放する。On the other hand, if all stages of the transmission buffer 73 are occupied and a command cannot be written, a command instructing retry and a command to the multiprocessor bus 68 are transmitted to release the bus.
【0012】I/Oバス制御部74は、送信バッファ73の
リードコマンドを先入れ先出し方式で読み出し、I/O
バス70へリードコマンドを送信する。An I / O bus control unit 74 reads a read command from the transmission buffer 73 in a first-in first-out manner, and
A read command is transmitted to the bus 70.
【0013】また、I/Oバス制御部74は、リードコマ
ンドに対するI/O装置からの応答をI/Oバス70から
リードデータとして受信すると、受信バッファ75にリー
ドデータを含むアンサコマンドを書き込み、I/Oバス
70を解放する。When receiving a response from the I / O device to the read command as read data from the I / O bus 70, the I / O bus control unit 74 writes an answer command including the read data in the reception buffer 75, I / O bus
Release 70.
【0014】マルチプロセッサバス制御部72は受信バッ
ファ75からアンサコマンドを読み出してマルチプロセッ
サバス68にリードデータを返送しバスを解放する。The multiprocessor bus control unit 72 reads an answer command from the reception buffer 75, returns read data to the multiprocessor bus 68, and releases the bus.
【0015】(2)EPUからI/Oへのライト(書込
み)アクセス マルチプロセッサバス制御部72は、マルチプロセッサバ
ス68からI/Oバス70へのライトコマンドを受信する
と、送信バッファ73の全ての段が占有状態でなければコ
マンドを書き込みマルチプロセッサバス68を解放する。(2) Write (Write) Access from EPU to I / O Upon receiving a write command from the multiprocessor bus 68 to the I / O bus 70, the multiprocessor bus control unit 72 If the stage is not occupied, a command is written to release the multiprocessor bus 68.
【0016】送信バッファ73の全段が占有状態でコマン
ドの書き込みが不可であれば再試行を指示するコマンド
をマルチプロセッサバス68に返送し、バスを解放する。If all the stages of the transmission buffer 73 are occupied and a command cannot be written, a command instructing retry is returned to the multiprocessor bus 68 to release the bus.
【0017】I/Oバス制御部74は、送信バッファ73か
らライトコマンドを読み出してI/Oバス70へ転送し、
転送後バスを解放する。The I / O bus controller 74 reads a write command from the transmission buffer 73 and transfers it to the I / O bus 70.
Release the bus after transfer.
【0018】[0018]
【発明が解決しようとする課題】上記した従来のI/O
バスインタフェース制御装置における第1の問題点は、
マルチプロセッサシステム特有の動作である、“複数の
MPUからI/Oバス上の各々別のI/Oへの同時アク
セス”が発生した場合、一つのI/Oへの動作がネック
となって、本来このI/O動作と同時に行ない得る他の
I/O動作が阻害され、その結果、それらのI/O動作
を行なっているMPUがウエイト状態となり複数のMP
Uの並列動作という、マルチプロセッサシステムが本来
有する利点を減殺し、システムの性能低下を招来すると
いうことである。以下に理由を説明する。The above-mentioned conventional I / O
The first problem in the bus interface control device is as follows.
When an operation unique to a multiprocessor system, “simultaneous access from a plurality of MPUs to each other I / O on an I / O bus” occurs, the operation to one I / O becomes a bottleneck, Other I / O operations that can be performed simultaneously with this I / O operation are hindered, and as a result, the MPU performing those I / O operations enters a wait state and a plurality of MPs
This means that the advantage inherent in the multiprocessor system, that is, the parallel operation of U, is diminished, and the performance of the system is reduced. The reason will be described below.
【0019】すなわち、上記従来技術に係るI/Oバス
インタフェース制御装置が、MPUからI/Oバスへの
コマンドバッファリングにあたり、先入れ先出し(FI
FO)構造のレジスタの基本機能をバッファ部としてそ
のまま用いているため、このバッファ部がシリアルな行
列構造となり、先にバッファリングされたコマンドの処
理がI/Oバス上で終了しないと、たとえこのコマンド
と後続のコマンドとの間で順序性を保存する必要が無く
従って同時実行が可能であっても、後続のコマンドが実
行できないことによる。That is, the I / O bus interface control device according to the prior art described above performs first-in first-out (FI-FI) upon command buffering from the MPU to the I / O bus.
Since the basic function of the register having the (FO) structure is used as it is as a buffer unit, this buffer unit has a serial matrix structure, and if the processing of the previously buffered command is not completed on the I / O bus, this buffer unit is used. This is because there is no need to preserve the order between the command and the subsequent command, and therefore, even if simultaneous execution is possible, the subsequent command cannot be executed.
【0020】図7及び図8を参照して、従来I/Oバス
インタフェース制御機構を利用した場合の問題点を動作
例を用いて以下に詳細に説明する。With reference to FIGS. 7 and 8, problems in the case where the conventional I / O bus interface control mechanism is used will be described in detail below using an operation example.
【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で保留状態となり得る。Now, a series of write commands WT11-1... 4 from the MPU 63-1 to the I / O device 69-1 and a series of write commands WT22-1. Has been issued. These commands are sent to the WT on the transmission buffer 73 by the bus arbitration of the multiprocessor bus 68 and the buffer control of the I / O bus interface controller 71.
11-1, WT22-1, WT11-2, and WT22-2 are serially buffered, and subsequent commands receive a retry response from the I / O bus interface control unit 71 once, and the EPU modules 65-1, 65-n Can be put on hold.
【0022】この時、I/Oバス制御部74は送信バッフ
ァ73から先頭のライトコマンドWT11-1を読み出し、こ
れをI/O装置69-1に転送し、このI/O装置69-1は受
信完了応答を行った後、I/Oバス70を解放し動作を開
始する。At this time, the I / O bus controller 74 reads the first write command WT11-1 from the transmission buffer 73 and transfers it to the I / O device 69-1. After the reception completion response, the I / O bus 70 is released to start the operation.
【0023】次いで、I/Oバス制御部74は、ライトコ
マンドWT22-1を読み出し、I/O装置69-2に送信し、
I/O装置69-2は受信完了応答の上、I/Oバス70を解
放し動作を開始し、直ちに終了する。Next, the I / O bus control unit 74 reads the write command WT22-1, transmits the read command to the I / O device 69-2,
Upon receiving the reception completion response, the I / O device 69-2 releases the I / O bus 70, starts the operation, and ends immediately.
【0024】次に、I/Oバス制御部74はコマンドWT
11-2を読み出し、I/O装置69-1に転送しようとする
が、I/O装置69-1では先のコマンドWT11-1による動
作が完了していないため、ライトコマンドWT11-2を受
信できず、その結果、再試行を求める応答を行ないI/
Oバス70を解放する。Next, the I / O bus control unit 74 issues a command WT
11-2 is read out and is to be transferred to the I / O device 69-1, but the I / O device 69-1 has not received the write command WT11-2 because the operation by the previous command WT11-1 has not been completed. No, and as a result, a response is
Release the O bus 70.
【0025】このため、ライトコマンドWT11-2は送信
バッファ73で保留される。For this reason, the write command WT11-2 is held in the transmission buffer 73.
【0026】送信バッファ73はFIFO構造のレジスタ
で、I/Oバス制御部74にも追い越し手段が無いため追
い越し転送ができず、本来、同時に実行が可能なコマン
ドWT22-2以降の動作が阻止(ブロック)され、論理的
には停止する必要が無いEPU63-2が、低速のI/O装
置69-1のために停止状態に陥ってしまうことになる。The transmission buffer 73 is a register having a FIFO structure. Since the I / O bus control unit 74 has no overtaking means, it cannot perform the overtaking transfer, and the operation after the command WT 22-2 which can be executed simultaneously can be prevented ( The EPU 63-2 which is blocked and does not need to be stopped logically falls into a stopped state due to the low-speed I / O device 69-1.
【0027】従って、本発明は、上記従来技術の問題点
に鑑みて為されたものであって、マルチプロセッサシス
テムにおいて、複数のMPUから各々別のI/Oへの同
時アクセスが発生した場合に、低速なI/O装置により
他のI/O装置へのアクセスが抑止されることにより
(上記従来技術参照)、本来、論理的には停止する必要
が無い、I/O装置へのアクセスを行なっている、MP
Uを動作可能とするようにして、同時I/Oアクセスが
発生した場合に損なわれている複数のMPUの並行動作
率を改善し、マルチプロセッサシステムのシステム性能
を向上させる入出力バスインタフェース制御方式を提供
することを目的とする。Accordingly, the present invention has been made in view of the above-mentioned problems of the related art, and is intended to be applied to a case where a plurality of MPUs simultaneously access different I / Os in a multiprocessor system. Since access to other I / O devices is suppressed by a low-speed I / O device (refer to the above-described related art), access to the I / O device which does not need to be logically stopped is originally performed. Doing, MP
I / O bus interface control system for improving the performance of a multi-processor system by improving the parallel operation rate of a plurality of MPUs that are impaired when simultaneous I / O access occurs by enabling the U to operate The purpose is to provide.
【0028】[0028]
【課題を解決するための手段】前記目的を達成するた
め、本発明は、複数のマイクロプロセッサが並列に接続
されるマルチプロセッサバスと、1又は複数の入出力装
置が接続される入出力バスと、の入出力インタフェース
を制御する方式であって、前記マイクロプロセッサから
発行された前記入出力装置に対するコマンドを順次格納
する送信バッファと、前記送信バッファに格納されたコ
マンドのアドレス情報から送信先の前記入出力装置のチ
ャネル情報を特定し、該チャネル情報に基づき前記送信
バッファに蓄積されている複数のコマンド相互の間の追
い越し可能性を判定する手段と、後続のコマンドに追い
越しされるコマンドを退避する手段を備えたことを特徴
とする入出力バスインタフェース制御方式を提供する。In order to achieve the above object, the present invention provides a multiprocessor bus in which a plurality of microprocessors are connected in parallel, and an input / output bus in which one or more input / output devices are connected. And a transmission buffer for sequentially storing commands for the input / output device issued from the microprocessor, and a transmission buffer before the transmission destination based on the address information of the command stored in the transmission buffer. Means for specifying the channel information of the entry / output device, determining the possibility of overtaking among the plurality of commands stored in the transmission buffer based on the channel information, and saving the command to be overtaken by the subsequent command An input / output bus interface control method is provided.
【0029】本発明の概要を、好ましい実施の形態を示
す図1を参照して説明する。An outline of the present invention will be described with reference to FIG. 1 showing a preferred embodiment.
【0030】本発明に係る入出力バスインタフェース制
御方式は、好ましくは、マルチプロセッサバス制御部
(3、図1参照)、マルチプロセッサバス(1)からI
/Oバス(10)への送信コマンドを蓄積する送信バッフ
ァ(4)、再試行コマンドを格納する送信保留バッファ
(5)、I/Oバス制御部(6)、チャネル情報判定手
段(7)、追越実行判定手段(8)、マルチプロセッサ
バス(1)への受信コマンドを蓄積する受信バッファ
(9)から成る。The input / output bus interface control system according to the present invention is preferably arranged such that the multiprocessor bus control unit (3, see FIG. 1), the multiprocessor bus (1) to the I
A transmission buffer (4) for storing a transmission command to the / O bus (10), a transmission hold buffer (5) for storing a retry command, an I / O bus control unit (6), a channel information determination unit (7), The overtaking execution determining means (8) comprises a receiving buffer (9) for storing received commands to the multiprocessor bus (1).
【0031】チャネル情報判定手段(7)は、送信バッ
ファ(4)に格納されるコマンド相互間で、マルチプロ
セッサバス(1)上での順序性を保存すべきアドレス空
間単位(「チャネル」という)情報を保持する、ソフト
ウェアの所定の命令実行等により設定可能なレジスタを
備え、このチャネル情報と、送信バッファ(4)に格納
されたコマンドの送信先アドレス情報とから、追越実行
判定手段(8)で追越実行可能なコマンドを判定する。The channel information judging means (7) is an address space unit (referred to as a "channel") for preserving the order on the multiprocessor bus (1) between commands stored in the transmission buffer (4). A register for holding information, which can be set by executing a predetermined instruction of software or the like, is provided. Based on the channel information and the destination address information of the command stored in the transmission buffer (4), the overtaking execution determining means (8) In step ()), a command that can be overtaken is determined.
【0032】I/Oバス制御部(6)は、I/Oバス
(3)へ送信したコマンドに対し再試行を指示する応答
を受けた場合、後続の送信コマンドが追越可能と判定さ
れていれば、これを追越実行する機能、及び追越実行
後、送信保留バッファ(5)に格納された再試行応答を
受けたコマンドを実行する機能を有する。When the I / O bus control unit (6) receives a response instructing retry in response to the command transmitted to the I / O bus (3), it is determined that the succeeding transmission command can be overtaken. If this is the case, it has a function of executing the overtaking, and a function of executing the command which has received the retry response stored in the transmission hold buffer (5) after the overtaking.
【0033】[0033]
【作用】本発明によれば、(a)送信バッファに複数の
コマンドをバッファリングすることが可能であること、
(b)送信バッファにバッファリングされているコマン
ドのアドレス情報が先読み可能であること、及び(c)
コマンド相互間でバッファに入力された順序を保存する
必要があるアドレス範囲の情報をレジスタに保持してい
ることから、バッファリングされているコマンド相互間
での追越実行可能性が判定できる。According to the present invention, (a) it is possible to buffer a plurality of commands in a transmission buffer;
(B) the address information of the command buffered in the transmission buffer can be read ahead, and (c)
Since the information of the address range in which the order of input to the buffer needs to be preserved between commands is stored in the register, it is possible to determine the possibility of overtaking between the buffered commands.
【0034】更に、本発明によれば、追越されるコマン
ドを退避する機構と、退避されたコマンドを再度実行す
る機能を有することから、順序性を保存する必要が無い
関係にあり、先入れ先出し型(FIFO)構造のバッフ
ァに隣接してバッファリングされているコマンドの実行
順を交換させることができる。Further, according to the present invention, since there is a mechanism for saving the command to be overtaken and a function for executing the saved command again, there is no need to preserve the order, and the first-in first-out type is used. The execution order of the commands buffered adjacent to the buffer having the (FIFO) structure can be exchanged.
【0035】この機能によって送信バッファの先頭段に
位置するコマンドが、I/Oバスから再試行応答を受
け、実行保留となった場合、バッファの次段に位置する
コマンドが、保留になったコマンドとは実行順が交換可
能な場合、次段のコマンドが追越実行でき、交換不可の
場合は先頭のコマンドの実行を待つことができる。With this function, when the command located at the first stage of the transmission buffer receives a retry response from the I / O bus and is suspended, the command located at the next stage of the buffer becomes the suspended command. When the execution order can be exchanged, the next command can be overtaken. When the exchange cannot be executed, the execution of the first command can be waited.
【0036】[0036]
【発明の実施の形態】本発明の実施の形態を図面を参照
して以下に詳細に説明する。Embodiments of the present invention will be described in detail below with reference to the drawings.
【0037】図1は、本発明の一実施形態に係る入出力
バスインターフェース制御装置(I/Oバスインタフェ
ース部ともいう)の構成を示す図である。また、図2
は、図1に示した構成を更に詳細に示した図であり、図
1の送信バッファ4を2段構造とした場合の、送信バッ
ファ4、チャネル情報判定部7、追越実行判定部8の詳
細構成を示す図である。FIG. 1 is a diagram showing a configuration of an input / output bus interface control device (also referred to as an I / O bus interface unit) according to an embodiment of the present invention. FIG.
FIG. 3 is a diagram showing the configuration shown in FIG. 1 in more detail. In the case where the transmission buffer 4 of FIG. 1 has a two-stage structure, the transmission buffer 4, the channel information determination unit 7, and the overtaking execution determination unit 8 It is a figure showing a detailed composition.
【0038】一般に、I/O装置へのコマンドの送信に
おいては、その送信順序自体が、当該I/O装置の制御
に関わるため、その送信順序はMPUから当該I/O装
置まで保存される必要がある。In general, in the transmission of a command to an I / O device, the transmission order itself is related to the control of the I / O device. Therefore, the transmission order must be stored from the MPU to the I / O device. There is.
【0039】一つのMPU上のプログラム実行時に発生
するI/O動作は、複数のI/Oコマンドから成るが、
そのI/O動作の間に、コマンドのアクセス対象となり
得る、前述の送信順序を保存すべき、アドレス空間は限
られており、通常の場合、このアドレス空間は、一つの
I/O装置の占有するアドレス空間全体か或いはその一
部であり、このアドレス空間を「チャネル」という。An I / O operation that occurs when a program on one MPU is executed consists of a plurality of I / O commands.
During the I / O operation, the address space in which the above-mentioned transmission order, which can be accessed by a command, should be preserved, is limited, and this address space is usually occupied by one I / O device. The address space is a whole or a part of the address space, and this address space is called a “channel”.
【0040】マルチプロセッサシステムにおいては、そ
の動作特性上、マルチプロセッサバス1上で送信される
I/Oコマンドは、相異なるチャネルへの送信が同時に
発生し得るが、この相異なるチャネルへの送信コマンド
相互間では、必ずしもマルチプロセッサバス1上でのコ
マンド発行順序を保存する必要は無い。In a multiprocessor system, due to its operation characteristics, I / O commands transmitted on the multiprocessor bus 1 can be transmitted simultaneously to different channels. It is not always necessary to preserve the command issuing order on the multiprocessor bus 1 between each other.
【0041】従って、I/Oバスインタフェース制御部
2に、各チャネルの占めるアドレス空間情報、すなわち
チャネルのベースアドレス(基底アドレス)とその大き
さ(サイズ)とを、チャネル識別情報として保持し、コ
マンドのアドレスからチャネルを判定することにより、
I/Oバスインタフェース制御部2にバッファリングさ
れる複数のコマンド相互間でマルチプロセッサバス1か
ら入力された順序を保存することの必要性の有無が判る
ことから、当該コマンド間での追越実行の可/不可が判
定できる。Therefore, the I / O bus interface control unit 2 holds, as channel identification information, address space information occupied by each channel, that is, the base address (base address) of the channel and its size (size). By determining the channel from the address of
Since it is known whether or not it is necessary to preserve the order input from the multiprocessor bus 1 among a plurality of commands buffered in the I / O bus interface control unit 2, the overtaking execution between the commands is performed. Can be determined.
【0042】本実施形態に係るシステムにおいては、シ
ステム初期化時にこのチャネル識別情報を、I/Oバス
10上のチャネル毎にチャネル情報判定部7内のチャネル
情報レジスタ11-1〜11-n(図2参照)に設定する。In the system according to the present embodiment, this channel identification information is stored in the I / O bus when the system is initialized.
The values are set in the channel information registers 11-1 to 11-n (see FIG. 2) in the channel information determination unit 7 for each channel on the channel 10.
【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とから構成されている。In FIG. 2, the channel information determination unit 7
Channel information registers provided for each channel
11-1 to 11-n and a transmission channel determination unit 12-1-1 to 12-2-n, and the transmission channel determination unit
A transmission channel determination unit 12-1-1 to 12-1-n which receives the address of the command of the stage 4-1 and a transmission buffer second stage 4-2
Channel determination unit that receives the address of the command
12-2-1 to 12-2-n.
【0044】チャネル情報レジスタ11-1〜11-nは、それ
ぞれ、チャネルnベースアドレスレジスタ13-1〜13-nと
チャネルnサイズレジスタ14-1〜14-nから成る。The channel information registers 11-1 to 11-n include channel n base address registers 13-1 to 13-n and channel n size registers 14-1 to 14-n, respectively.
【0045】何れもマルチプロセッサバス1に接続され
た不図示のEPUのMPU(例えば図7参照)からマル
チプロセッサバス制御部3を経て読み書きが可能とさ
れ、ソフトウェアによりチャネルnの占めるアドレス空
間のバイトアドレスとその大きさ(例えば「バイトサイ
ズ−1」)を各々に設定する。In each case, reading and writing can be performed from an MPU (not shown) of an EPU (not shown) connected to the multiprocessor bus 1 via the multiprocessor bus control unit 3, and the bytes of the address space occupied by the channel n by software. An address and its size (for example, "byte size-1") are set for each.
【0046】送信チャネル判定部12-1-n〜12-2-nは、マ
ルチプロセッサバス制御部3で受信し、送信バッファ4
に書き込まれた、コマンド種別情報(リード/ライ
ト)、送信先アドレス、データ(ライトコマンドの場合
のみ)から成る送信コマンドの送信先アドレスを、チャ
ネルn情報レジスタ11-1〜11-nからのデータ(ベースア
ドレスおよびサイズ)と、図2に示すような回路にて比
較することにより、当該コマンドの行先チャネルを判定
することができ、その結果を追越実行判定部8に伝達す
る。The transmission channel determination units 12-1-n to 12-2-n receive the data in the multiprocessor bus control unit 3,
The destination address of the transmission command including the command type information (read / write), transmission destination address, and data (only in the case of the write command) written in the channel n information registers 11-1 to 11-n. By comparing (base address and size) with a circuit as shown in FIG. 2, the destination channel of the command can be determined, and the result is transmitted to the overtaking execution determination unit 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に入力される。More specifically, assuming that the address space of channel 1 is, for example, a 32-bit space and is 256 KBytes with "E0000000"(HEX; hexadecimal notation) as a base address, the channel 1 base address register 13-1
The content BAD (0:31) is "E0000000" and the content SIZ (0:31) of the channel 1 size register 14-1 is the space size (256K-1)
Is set. Of the command input to the transmission buffer 4
Assuming that the 32-bit address is AD (0:31), the signal output from the transmission channel determining unit 12-1-1 (the High level when the channel 1 is determined) is ([AD (0:31) .XNOR. BAD (0: 3
1)]. OR.SIZ (0:31)) for each bit. An exclusive NOR (XN) of the command address (AD (0:31)) and the base address (BAD (0:31))
OR), the unmatched bit is set to “0”, but in this case, by performing an OR operation with “1” of SIZ (0:31), if the bit is within the space size, it is present in the channel. And the address of the command is channel 1
, The High level output is input from the transmission channel determination unit 12-1-1 to the overtaking execution determination unit 8.
【0048】追越実行判定部8は送信バッファ4に格納
されている有効な送信コマンドの行先チャネルが、現在
実行中のコマンドと次のコマンドの間で相異なる場合
は、追越し実行可、PASS信号22をI/Oバス制御
部6に伝達する。If the destination channel of the valid transmission command stored in the transmission buffer 4 is different between the currently executed command and the next command, the overtaking execution determining unit 8 determines whether the passing command can be executed, and passes the PASS signal. 22 is transmitted to the I / O bus control unit 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)回路からなる。As shown in FIG. 2, the overtaking execution determination unit 8
The output of the transmission channel determination units 12-1-1 to 12-1-n which receive the address of the command of the first stage 4-1 of the transmission buffer and the signal from the transmission buffer 4-1 (RQ1: valid to be transferred) Is activated when there is a unique command).
And a transmission channel determination unit 12-2-1 which receives the address of the command of the second stage 4-2 of the transmission buffer as an input.
~ 12-2-n output and signal from transmission buffer 4-2 (RQ
2: Activated when there is a valid command to be transferred). The outputs of the second group of AND gates having the input 16 and the outputs of the first group and the second group of the AND gates are input as input for each channel. The n exclusive NOR circuits (XNOR) to be detected and the n exclusive NOR circuits (XN
OR) outputs a high-level signal as a PASS signal 22 when both outputs are at the non-coincidence (Low) level.
【0050】送信バッファ4、受信バッファ7は共に先
入れ先出し型(FIFO)レジスタにより構成されてい
る。The transmission buffer 4 and the reception buffer 7 are both constituted by first-in first-out (FIFO) registers.
【0051】送信バッファ4は、マルチプロセッサバス
1からI/Oバス10への送信コマンドを格納し、リー
ド、ライトの両方のコマンドで用いられる。受信バッフ
ァ7はI/Oバス3から、マルチプロセッサバス1への
リードデータである受信コマンドの格納に用いられる。The transmission buffer 4 stores a transmission command from the multiprocessor bus 1 to the I / O bus 10, and is used for both read and write commands. The reception buffer 7 is used for storing a reception command as read data from the I / O bus 3 to the multiprocessor bus 1.
【0052】次に、図1、及び図2に示した本実施形態
の動作を、図3、及び図4のタイムチャートと、図5の
フローチャートを参照して説明する。Next, the operation of this embodiment shown in FIGS. 1 and 2 will be described with reference to the time charts of FIGS. 3 and 4 and the flowchart of FIG.
【0053】図3、及び図4のライン28に示すSTAT
E(ステート)は、図5のI/Oバス制御部6の状態を
表している。The STAT shown on line 28 in FIGS.
E (state) indicates the state of the I / O bus control unit 6 in FIG.
【0054】マルチプロセッサバス制御部3で、I/O
バス10への送信コマンドC1を検出すると、これを先入
れ先出し(FIFO)レジスタから成る送信バッファ4
に書き込む。In the multiprocessor bus control unit 3, I / O
Upon detecting the transmission command C 1 to the bus 10, the transmit buffer 4 made it from first-in-first-out (FIFO) register
Write to.
【0055】この時、送信バッファ第1段目4-1(図2
参照)に書き込まれたものとすると、ライン29(図3、
図4参照)に示す、RQ1信号15(図2参照)がアサ
ートされる(この場合アクティブ状態はHighレベ
ル)。これはI/Oバス制御部6への送信要求信号であ
る。At this time, the first stage 4-1 of the transmission buffer (FIG. 2)
(See FIG. 3, FIG. 3).
The RQ1 signal 15 (see FIG. 2) shown in FIG. 4) is asserted (in this case, the active state is the High level). This is a transmission request signal to the I / O bus control unit 6.
【0056】書き込みが完了すると、送信バッファ4の
書き込みポインタ16(図2参照)は、送信バッファ第2
段4-2側を入力線に接続する。When the writing is completed, the write pointer 16 of the transmission buffer 4 (see FIG. 2) becomes
Connect the stage 4-2 side to the input line.
【0057】次いで、マルチプロセッサバス制御部3
で、次のI/Oバス10への送信コマンドC2を検出する
と、同様に送信バッファ第2段4-2(図2参照)に書き
込まれ、ライン30(図3、図4参照)に示すRQ2信号
17(図2参照)がアサートされる。書き込みポインタ
16は送信バッファ第1段4-1側に移動する。Next, the multiprocessor bus control unit 3
In, upon detecting the transmission command C 2 to the next I / O bus 10 is written to the transmit similar buffer second stage 4-2 (see FIG. 2), indicated by the line 30 (see FIGS. 3 and 4) The RQ2 signal 17 (see FIG. 2) is asserted. Write pointer
16 moves to the transmission buffer first stage 4-1 side.
【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
に通知される。The address information of the command written in the transmission buffer 4 is compared with the channel identification information set at the time of system initialization in the channel information registers 11-1 to 11-n via the address signal lines AD1, AD218 and 19. Are performed by the transmission channel determination units 12-1-1 to 12-2-n, and the results are the destination channel identification signal lines 20-1 to 20-n and 211-1 to 21-n (see FIG. 2). CD1, CD2 of 31, 32 (see FIGS. 3 and 4)
The signal is notified to the overtaking execution determining unit 8 via a signal line, and as shown in FIG. 2, a line 33 (FIGS. 3 and 4) which is an overtaking executable determination signal.
The PASS signal 22 of the I / O bus controller 6 is generated.
Will be notified.
【0059】図3、及び図4では、CD=1がチャネル
2、CD2がチャネル1で追い越し可と判定されている
(PASS信号がHighレベル)。In FIGS. 3 and 4, it is determined that CD = 1 can be overtaken by channel 2 and CD2 can be overtaken by channel 1 (PASS signal is at High level).
【0060】I/Oバス制御部6は、ライン28(図3及
び図4参照)のRQ1信号がタイミング34でアサートさ
れると、送信コマンドC1の送信要求を検出する。以下
の動作はコマンドがリードアクセスかライトアクセスか
によって異なる。[0060] I / O bus control unit 6, when RQ1 signal line 28 (see FIGS. 3 and 4) is asserted at a timing 34, detects the transmission request of the transmission command C 1. The following operation differs depending on whether the command is a read access or a write access.
【0061】(1)ライトアクセスの場合(図3のタイ
ムチャート参照) I/Oバス制御部6は、ライン35のI/Oバス10(図1
参照)に送信コマンドC1を、送信先アドレス/コマン
ド種別(リード/ライト)信号送信タイミングを示すラ
イン36のAS信号をタイミング37でアサートし、送信先
アドレス/コマンド種別A1、データD1の順に送信す
る。(1) In case of write access (refer to the time chart of FIG. 3) The I / O bus control unit 6 sends the I / O bus 10 (see FIG.
The transmitted reference) command C 1, the AS signal destination address / command type (read / write) line 36 indicating a signal transmission timing asserted at the timing 37, the destination address / command type A 1, the data D 1 Send in order.
【0062】同時に当該送信コマンドC1をライン38
(図3参照)、送信保留バッファ5(図2参照)に格納
する。I/Oバス制御部6は、I/Oバス10から送信コ
マンドC1に対しライン39、タイミング40の受信完了を
示すREADY信号を受信すれば、次の転送要求、ライ
ン30のRQ2による動作に入る(図3(A)参照)。At the same time, the transmission command C 1 is sent to line 38.
(See FIG. 3), and is stored in the transmission hold buffer 5 (see FIG. 2). I / O bus control unit 6, I / O sent from the bus 10 command C 1 to line 39, upon receiving a READY signal indicating the completion of reception of the timing 40, the next transfer request, the operation by RQ2 line 30 (See FIG. 3A).
【0063】一方、送信コマンドC1に対して、受信不
可を示し再試行を要求するライン41のRETRY信号を
タイミング42で受信した場合(図3(B)参照)、且
つ、前述のライン33のPASS信号のアサートをタイミ
ング43で検出すると後続のライン30、タイミング44の送
信要求RQ2によるコマンドを追越実行する。On the other hand, in response to the transmission command C 1 , when the RETRY signal on the line 41 indicating that reception is not possible and requesting a retry is received at the timing 42 (see FIG. 3B), When the assertion of the PASS signal is detected at the timing 43, the command based on the transmission request RQ2 of the subsequent line 30 and the timing 44 is overtaken.
【0064】すなわち、ライン35のI/Oバス10に対
し、送信先アドレス/コマンド種別A2をそのタイミン
グを示すライン36のAS信号と共にタイミング45で送信
する。[0064] That is, with respect to I / O bus 10 of the line 35, and transmits the destination address / command type A 2 at the timing 45 with AS signal on line 36 indicating the timing.
【0065】追越実行後、送信保留バッファ5(図3
(B)ではライン38参照)に書き込まれたコマンドの送
信動作に入る。After the passing, the transmission hold buffer 5 (FIG. 3)
In (B), the transmission operation of the command written in the line 38 is started.
【0066】一方、図3(B)において、ライン33のP
ASS信号がタイミング43でアサートされていなけれ
ば、ライン30の後続のリクエストRQ2を無視して送信
保留バッファ5に格納されたコマンドC1の送信をRE
ADY信号の受信まで行う。On the other hand, in FIG.
If ASS signal has not been asserted at the timing 43, ignoring the subsequent request RQ2 transmission of the transmission suspension command C 1 stored in the buffer 5 line 30 to RE
Perform until the reception of the ADY signal.
【0067】(2)リードアクセスの場合(図4のタイ
ムチャート参照) I/Oバス制御部6は、ライン35のI/Oバス10に送信
コマンドC1を、送信先アドレス/コマンド種別A1をそ
のタイミングを示すライン36のAS信号と共にタイミン
グ46で送信する。(2) In case of read access (refer to the time chart of FIG. 4) The I / O bus control unit 6 sends the transmission command C 1 to the I / O bus 10 of the line 35 and the transmission destination address / command type A 1 At the timing 46 together with the AS signal on the line 36 indicating the timing.
【0068】同時に当該送信コマンドC1をライン38
(図4(A)参照)で示す送信保留バッファ5に格納す
る。I/Oバス制御部6は、ライン35のI/Oバス10
(図1参照)上に送信コマンドC1に対し、タイミング4
7で応答データD1とライン39の受信完了を示すREAD
Y信号のアサートを検出した場合、応答データD1をア
ンサコマンドとして受信バッファ9に書き込む。At the same time, the transmission command C 1 is
(See FIG. 4A). The I / O bus controller 6 controls the I / O bus 10 of the line 35
To transmit command C 1 on (see FIG. 1), the timing 4
READ indicating the completion of reception of the response data D 1 and the line 39 with 7
When detecting the assertion of the Y signal is written to the receive buffer 9 the response data D 1 as the answer command.
【0069】マルチプロセッサバス制御部3は、受信バ
ッファ9からの要求によりアンサコマンドを読み出し、
マルチプロセッサバス1にリードデータを送信する。The multiprocessor bus control unit 3 reads an answer command in response to a request from the reception buffer 9 and
The read data is transmitted to the multiprocessor bus 1.
【0070】一方、送信コマンドC1に対して受信不可
を示し再試行を要求するライン41のRETRY信号をタ
イミング48で受信した場合(図4(B)参照)、かつ前
述のライン33のPASS信号をタイミング49で検出する
と、後続のライン30で示す、タイミング50の送信要求R
Q2によるコマンドを追越実行する。On the other hand, when the RETRY signal on the line 41 which indicates that the transmission command C1 cannot be received and requests retrying is received at the timing 48 (see FIG. 4B), and the PASS signal on the line 33 is received. When detected at the timing 49, the transmission request R at the timing 50 indicated by the subsequent line 30
The command by Q2 is overtaken.
【0071】すなわち、ライン35のI/Oバス10に対
し、送信先アドレス/コマンド種別A2をそのタイミン
グを示すライン36のAS信号と共にタイミング51で送信
する。[0071] That is, with respect to I / O bus 10 of the line 35, and transmits the destination address / command type A 2 at the timing 51 with AS signal on line 36 indicating the timing.
【0072】追越実行後、送信保留バッファ5(図2参
照。図4(B)ではライン38参照)に書き込まれたコマ
ンドの送信動作に入る(図4(B)のタイミング52参
照)。After the overtaking, the operation for transmitting the command written in the transmission hold buffer 5 (see FIG. 2; see line 38 in FIG. 4B) is started (see timing 52 in FIG. 4B).
【0073】ライン33のPASS信号がタイミング49で
アサートされていなければ、ライン30の後続のリクエス
ト信号RQ2を無視して送信保留バッファ5(図2参
照。図4(B)ではライン38参照)に格納されたコマン
ドC1の送信をREADY信号受信まで行う(タイムチ
ャートは省略)。If the PASS signal on the line 33 is not asserted at the timing 49, the subsequent request signal RQ2 on the line 30 is ignored and the transmission hold buffer 5 (see FIG. 2; see FIG. 4 (B), see the line 38). transmits the stored command C 1 to READY signal reception (optional time chart).
【0074】次に、図5のフローチャートを参照して、
本実施形態を更に説明する。これはI/Oバス制御部6
の動作状態の遷移を示した図(状態遷移図)である。Next, referring to the flowchart of FIG.
This embodiment will be further described. This is the I / O bus controller 6
FIG. 4 is a diagram (state transition diagram) showing transition of the operation state of FIG.
【0075】IDLE53は、I/Oバス制御部6に対し
て送信要求が入力されていない状態であり、初期状態は
常にこの状態である。The IDLE 53 is a state in which a transmission request has not been input to the I / O bus control unit 6, and the initial state is always this state.
【0076】REQ54は、送信バッファ4から送信要求
信号RQ1、RQ2(18、19)の何れかがアサートされ
ているか否かを判定するステップである。送信要求があ
る場合は次のステートAD55に移り、送信要求ない場合
にはIDLE53に戻る。REQ 54 is a step for determining whether any of the transmission request signals RQ 1 and RQ 2 (18, 19) is asserted from the transmission buffer 4. When there is a transmission request, the process proceeds to the next state AD55, and when there is no transmission request, the process returns to IDLE53.
【0077】AD55はI/Oバス上にアドレス/コマン
ド種別を送信するステートで、無条件に次のI/Oバス
上でデータの送/受信(ライト/リード)を行うステー
トDT56に進む。The AD 55 is a state for transmitting the address / command type on the I / O bus, and unconditionally proceeds to a state DT 56 for transmitting / receiving (write / read) data on the next I / O bus.
【0078】このステートは、I/Oバスから受信完了
を示すREADY信号又は再試行を要求するRETR
(リトライ)Y信号の何れかがアサートされると終了
し、図5に示すように、次のステートに遷移する。This state is a READY signal indicating completion of reception from the I / O bus or a RETR requesting retry.
(Retry) The process ends when any of the Y signals is asserted, and transitions to the next state as shown in FIG.
【0079】特に、RETRYがアサートされ、NRE
Q57で、現在転送中の転送要求以外の転送要求があると
判定されると、PASS58に進み、後続の転送要求が追
越転送可を示すPASS信号22がアサートされていれ
ば、追越実行ステートであるPAD59、PAD60に進
む。In particular, RETRY is asserted and NRE
In Q57, if it is determined that there is a transfer request other than the transfer request currently being transferred, the process proceeds to PASS58, and if the PASS signal 22 indicating that the succeeding transfer request indicates that overtaking transfer is permitted, the overtaking execution state is determined. To PAD59 and PAD60.
【0080】各々アドレス/コマンド種別の送信、デー
タの送信を行う。この追越実行ステートが終了すると再
試行転送ステートRAD61、RDT62に進む。このステ
ートではI/Oバス出力セレクタ24(図2参照)が転送
保留バッファ5側からの出力となっている他、I/Oバ
スの動作は各々PAD59、RAD60と同様である。Transmission of the address / command type and transmission of data are performed. When the overtaking execution state ends, the process proceeds to retry transfer states RAD61 and RDT62. In this state, the I / O bus output selector 24 (see FIG. 2) outputs from the transfer hold buffer 5 side, and the operation of the I / O bus is the same as that of the PAD59 and RAD60, respectively.
【0081】図6は、本発明の第2の実施形態を説明す
るための図であり、図6(A)は、図1に示した送信保
留バッファ5を廃して、送信バッファ4の読み出し側の
構造及び制御を変更した構成を示した図であり、図2の
符号25の部分に相当する。FIG. 6 is a diagram for explaining the second embodiment of the present invention. FIG. 6 (A) shows an example in which the transmission hold buffer 5 shown in FIG. FIG. 3 is a diagram showing a configuration in which the structure and control of FIG.
【0082】読み出しポインタ23は、前記第1の実施形
態と同様、I/Oバス制御部6からのRD制御信号によ
り動作し、読み出すべきバッファ段を指示するが、本実
施形態では、指示マイナス1出力線77により、「ポイン
タ指示値−1」の段をも出力可能な構造とし、通常指示
出力線76、指示マイスナ1出力線77の何れを出力とする
かは出力セレクタ78により、これはI/Oバス制御部6
の制御による。The read pointer 23 operates in response to the RD control signal from the I / O bus control unit 6 to indicate the buffer stage to be read, as in the first embodiment. The output line 77 has a structure capable of outputting the stage of "pointer indicated value -1", and the output selector 78 determines which of the normal instruction output line 76 and the indicated mesher 1 output line 77 is to be output. / O bus controller 6
Control.
【0083】図6(B)は、本実施形態を、前記第1の
実施形態に組み込んだ場合の動作を説明するためのタイ
ミング図であり、図3(B)に相当するタイムチャート
である。FIG. 6B is a timing chart for explaining the operation when this embodiment is incorporated in the first embodiment, and is a time chart corresponding to FIG. 3B.
【0084】本実施形態が、前記第1の実施形態と相違
する点は、ライン82の読み出しポインタ指示値のタイミ
ング88において、前記第1の実施形態ではI/Oバス制
御部6の状態遷移点AD→DT、PAD→PDT、RA
D→RDTでポインタを動かすRD信号を発行していた
が、本実施形態では、PAD→PDTでは動かさない。The present embodiment is different from the first embodiment in that, at the timing 88 of the read pointer indicating value of the line 82, the state transition point of the I / O bus controller 6 in the first embodiment is different. AD → DT, PAD → PDT, RA
Although the RD signal for moving the pointer is issued from D to RDT, in the present embodiment, the pointer is not moved from PAD to PDT.
【0085】また、新たに設けた出力セレクタ78(図6
(B)のライン83参照)制御については、タイミング89
のI/Oバス制御部6の状態PDT、RADで「指示マ
イナス1出力線」を指示させる。この構造により実施形
態1と同様の効果が得られる。The newly provided output selector 78 (FIG. 6)
(See line 83 in (B)).
"Instruction minus 1 output line" is indicated in the states PDT and RAD of the I / O bus control unit 6 of FIG. With this structure, the same effect as in the first embodiment can be obtained.
【0086】[0086]
【発明の効果】以上説明したように、本発明において
は、従来のI/Oバスインタフェース制御機構では実現
していなかった、コマンドの追越実行を可能としたた
め、先行のコマンドが実行保留となっても、後続のコマ
ンドが抑止されず、この後続のコマンドを発行している
MPUのウエイト時間を低減するようにしたことによ
り、マルチプロセッサシステムにおいて、複数のPMU
から、各々別のI/Oへのアクセスが発生した場合の、
システムにおけるI/O性能とMPUの平行動作率を改
善することが可能となり、システム性能の向上を図るこ
とができる。As described above, according to the present invention, since the command overtaking can be executed, which has not been realized by the conventional I / O bus interface control mechanism, the execution of the preceding command is suspended. However, since the subsequent command is not suppressed, and the wait time of the MPU that issues the subsequent command is reduced, a plurality of PMUs can be provided in the multiprocessor system.
From each other, when access to different I / Os occurs,
It is possible to improve the I / O performance and the parallel operation rate of the MPU in the system, and it is possible to improve the system performance.
【0087】また、本発明によれば、バッファリングさ
れるコマンド相互間の順序を保存する必要があるアドレ
ス範囲の情報を内部レジスタに保持し、これを用いてコ
マンドの追越実行可能性を判定するように構成したこと
により、コマンドの追越実行を可能としていながら、実
行順序を保存すべき、同一MPUからの単一I/Oアク
セスについては、従来通り、この順序性を保存したもの
である。Further, according to the present invention, information on an address range in which the order between buffered commands needs to be preserved is held in an internal register, and the possibility of command overtaking is determined using this information. With this configuration, the execution order can be preserved while the command can be overtaken, and the single I / O access from the same MPU, in which the execution order should be preserved, retains this order as before. is there.
【図1】本発明の一実施形態の構成を示すブロック図で
ある。FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.
【図2】本発明の一実施形態の要部である、送信バッフ
ァ、チャネル情報判定部、追越実行判定部の構成を詳細
に示す図である。FIG. 2 is a diagram illustrating in detail configurations of a transmission buffer, a channel information determination unit, and an overtaking execution determination unit, which are main components of one embodiment of the present invention.
【図3】本発明の一実施形態の動作を説明するタイムチ
ャートである。 (A)ライト動作が正常終了した場合のタイミング図で
ある。 (B)再試行応答により追越が発生した場合のタイミン
グ図である。FIG. 3 is a time chart for explaining the operation of the embodiment of the present invention. FIG. 9A is a timing chart when a write operation is completed normally. (B) is a timing chart in a case where overtaking occurs due to a retry response.
【図4】図3のライト動作をリード動作とした場合のタ
イムチャートである。FIG. 4 is a time chart when the write operation in FIG. 3 is a read operation;
【図5】本発明の一実施形態におけるI/Oバス制御部
の状態遷移を示すフローチャートである。FIG. 5 is a flowchart illustrating a state transition of an I / O bus control unit according to an embodiment of the present invention.
【図6】(A)本発明の別の実施形態における送信バッ
ファの構成を示す図である。 (B)本発明の別の実施形態の動作を説明するタイムチ
ャートである。FIG. 6A is a diagram illustrating a configuration of a transmission buffer according to another embodiment of the present invention. (B) A time chart for explaining the operation of another embodiment of the present invention.
【図7】マルチプロセッサシステムの一般的構成を示す
ブロック図である。FIG. 7 is a block diagram showing a general configuration of a multiprocessor system.
【図8】従来技術によるI/Oバスインタフェース制御
装置の構成を模式的に示した図である。FIG. 8 is a diagram schematically showing a configuration of an I / O bus interface control device according to a conventional technique.
1 マルチプロセッサバス 2 I/Oバスインタフェース制御装置 3 マルチプロセッサバス制御部 4 送信バッファ 5 I/Oバス制御部 6 送信保留バッファ 7 チャネル情報判定部 8 追越実行判定部 9 受信バッファ DESCRIPTION OF SYMBOLS 1 Multiprocessor bus 2 I / O bus interface control device 3 Multiprocessor bus control unit 4 Transmission buffer 5 I / O bus control unit 6 Transmission hold buffer 7 Channel information judgment unit 8 Passing execution judgment unit 9 Reception buffer
Claims (4)
れるマルチプロセッサバスと、1又は複数の入出力装置
が接続される入出力バスと、の入出力インタフェースを
制御する方式であって、 前記マイクロプロセッサから発行された前記入出力装置
に対するコマンドを順次格納する送信バッファと、 前記送信バッファに格納されたコマンドのアドレス情報
から送信先の前記入出力装置のチャネル情報を特定し、
該チャネル情報に基づき前記送信バッファに蓄積されて
いる複数のコマンド相互の間の追い越し可能性を判定す
る手段と、 後続のコマンドに追い越しされるコマンドを退避する手
段と、を備えたことを特徴とする入出力バスインタフェ
ース制御方式。1. A method for controlling an input / output interface between a multiprocessor bus to which a plurality of microprocessors are connected in parallel and an input / output bus to which one or more input / output devices are connected, wherein A transmission buffer for sequentially storing commands for the input / output device issued from a processor, and specifying channel information of the destination input / output device from address information of the command stored in the transmission buffer,
Means for determining the possibility of overtaking among a plurality of commands stored in the transmission buffer based on the channel information; and means for evacuating commands overtaken by a subsequent command. I / O bus interface control method.
数のコマンドの送信先の前記チャネル情報が同一の場合
にはコマンド間の追い越し不可と判定するように構成さ
れたことを特徴とする請求項1記載の入出力バスインタ
フェース制御方式。2. The method according to claim 1, wherein when the channel information of the transmission destinations of the plurality of commands stored in the transmission buffer is the same, it is determined that overtaking between the commands is impossible. 1. The input / output bus interface control method according to 1.
れるマルチプロセッサバスと、1又は複数の入出力装置
が接続されるI/Oバスと、の入出力インタフェースを
制御する方式であって、 前記マルチプロセッサバスからの複数のコマンドを書き
込み順に蓄積し、その順序で読み出し可能なレジスタ配
列から構成され、蓄積されているコマンドのうちの任意
のコマンドの情報を読み出し行の位置にかかわらず外部
から読み出し可能とした送信バッファと、 始点となるアドレスと、始点から終点までの大きさ又は
終点となるアドレスと、を保持してアドレス空間を規定
する空間情報レジスタと、 前記送信バッファの所定の行から読み出されたコマンド
情報のアドレスと前記空間情報レジスタの値から入力さ
れたアドレスの属するアドレス空間を特定するチャネル
判定部と、 前記チャネル判定部により生成された前記送信バッファ
の隣接行に格納されたコマンドのアドレス空間情報の一
致/不一致を検出し、不一致の場合に追越可と判定する
追越実行判定部と、 前記送信バッファから読み出したコマンドを格納し、同
一コマンドを再度読み出し可能とする送信保留バッファ
と、 を備え、 前記送信バッファからコマンドを読み出し、入出力バス
に送信すると共に該コマンドを前記送信保留バッファに
格納し、 送信したコマンドが前記入出力バスから受信不可又は再
試行を求める応答を受け、該コマンドを実行保留とする
際に、 更に送信すべき後続のコマンドが前記送信バッファ中に
あり、前記後続のコマンドが、前記実行保留とされてい
る前記コマンドに対して、前記追越実行判定部により追
越可と判定された場合には、前記後続のコマンドを先に
送信し、該後続のコマンドの完了後に、前記送信保留バ
ッファに格納され、前記実行保留とされている前記コマ
ンドを前記入出力バスに再送信すると共に、 前記後続のコマンドが、実行保留とされた前記コマンド
に対して、前記追越実行判定部により追越不可と判定さ
れた場合、または、送信すべき後続のコマンドが前記送
信バッファ中に存在しない場合には、前記送信保留バッ
ファに格納され、前記実行保留とされているコマンドを
再送信する、入出力バス制御部を具備したことを特徴と
する入出力バスインタフェース制御方式。3. A method for controlling an input / output interface of a multiprocessor bus to which a plurality of microprocessors are connected in parallel and an I / O bus to which one or more input / output devices are connected, A plurality of commands from the multiprocessor bus are stored in the order of writing, and are composed of a register array that can be read in that order. Information on any of the stored commands is read from the outside regardless of the read row position. An enabled transmission buffer, a space information register that holds an address serving as a starting point, and a size from the starting point to the ending point or an address serving as an ending point, and defines an address space; and reading from a predetermined line of the transmitting buffer. Address to which the address of the issued command information and the address input from the value of the space information register belong. And a match / mismatch of the address space information of the command stored in the adjacent row of the transmission buffer generated by the channel decision unit. And a transmission suspension buffer that stores the command read from the transmission buffer and enables the same command to be read again. The command is read from the transmission buffer, transmitted to the input / output bus, and transmitted to the input / output bus. Is stored in the transmission hold buffer, and when the transmitted command receives a response from the input / output bus requesting that reception be impossible or a retry be performed, and when the command is suspended, the subsequent command to be transmitted further includes the transmission buffer. And the succeeding command is in the execution If it is determined that the overtaking is possible, the subsequent command is transmitted first, and after completion of the subsequent command, the command stored in the transmission suspension buffer and the When re-transmitting to the entry output bus, the succeeding command is determined to be unexecutable by the overtaking execution determination unit with respect to the command whose execution has been suspended, or a subsequent command to be transmitted. An input / output bus interface, comprising: an input / output bus control unit for retransmitting the command held in the transmission hold buffer when the command is not present in the transmission buffer and reserving the execution pending command. control method.
マンドを書き込み順に蓄積し、その順序で読み出し可能
なレジスタ配列から構成され、読み出し行を指示するポ
インタカウンタのポインタ指示値、又は該ポインタ指示
値から1差し引いた値のいずれか一のバッファ行が外部
からの指定で読み出し可能とされ、蓄積されているコマ
ンドの任意のコマンドの情報を読み出し行の位置にかか
わらず外部から読み出し可能とした送信バッファと、 前記送信バッファからコマンドを読み出し、入出力バス
に送信し、該コマンドが入出力バスから受信不可又は再
試行を求める応答を受け、該コマンドを実行保留とする
際に、 更に送信すべき後続のコマンドが前記送信バッファ中に
あり、該コマンドが実行保留とされた前記コマンドに対
し前記追越実行判定部により追越可と判定された場合
に、前記後続のコマンドを送信し、該コマンドの完了後
に、前記送信バッファの読み出し行を読み出し、前記ポ
インタ指示値から1差し引いた値側を選択して、前記実
行保留とされている前記コマンドを再送信すると共に、 更に送信すべき後続のコマンドがあり、且つ該コマンド
が前記実行保留とされている前記コマンドに対して前記
追越実行判定部により追越不可と判定された場合、また
は送信すべき後続のコマンドが前記送信バッファ中に存
在しない場合には、前記送信バッファの読み出し行を読
み出しポインタ指示値から1差し引いた値の側を選択
し、前記実行保留とされている前記コマンドを再送信す
る、入出力バス制御部を具備することを特徴とする請求
項3記載の入出力バスインタフェース制御方式。4. A plurality of commands from the multiprocessor bus are stored in the order of writing, and are constituted by a register array readable in the order, and a pointer indicated by a pointer counter for indicating a read line or a pointer indicated by the pointer indicated by a pointer. A transmission buffer in which any one of the buffer rows of the subtracted value can be read by an external designation, and information of any of the stored commands can be externally read regardless of the position of the read row. Read a command from the transmission buffer, transmit the command to the input / output bus, receive a response from the input / output bus requesting that the command be unreceivable or retrying, and, when the command is put on hold, A command is in the transmission buffer, and the command is When the line determination unit determines that passing is possible, the subsequent command is transmitted, and after the completion of the command, the read line of the transmission buffer is read, and a value obtained by subtracting 1 from the pointer indicated value is selected. Retransmitting the command whose execution has been suspended, there is a subsequent command to be transmitted, and the command whose execution is suspended is determined by the overtaking execution determination unit. If it is determined that passing is not possible, or if there is no subsequent command to be transmitted in the transmission buffer, the read line of the transmission buffer is read and the value of the pointer minus one is selected. 4. The input / output bus interface according to claim 3, further comprising an input / output bus control unit that retransmits the command whose execution is suspended. To control system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35362395A JP2803616B2 (en) | 1995-12-28 | 1995-12-28 | I / O bus interface control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35362395A JP2803616B2 (en) | 1995-12-28 | 1995-12-28 | I / O bus interface control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09185573A JPH09185573A (en) | 1997-07-15 |
JP2803616B2 true JP2803616B2 (en) | 1998-09-24 |
Family
ID=18432102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35362395A Expired - Fee Related JP2803616B2 (en) | 1995-12-28 | 1995-12-28 | I / O bus interface control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2803616B2 (en) |
-
1995
- 1995-12-28 JP JP35362395A patent/JP2803616B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09185573A (en) | 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 | |
US5659696A (en) | Method and apparatus for determining address location and taking one of two actions depending on the type of read/write data transfer required | |
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 | |
US7415567B2 (en) | Memory hub bypass circuit and method | |
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 (en) | Bus snooping method | |
JP2591502B2 (en) | Information processing system and its bus arbitration system | |
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 (en) | I / O bus interface control method | |
US5185879A (en) | Cache system and control method therefor | |
US7472212B2 (en) | Multi CPU system | |
US5943509A (en) | Small size inter-processor data transfer system | |
EP0982661B1 (en) | System for connecting a computer to a plurality of I/O means | |
JP2546901B2 (en) | Communication control device | |
JPH0962633A (en) | Network control unit | |
JP3119155B2 (en) | Bus access method | |
JP2682789B2 (en) | Computer I / O cache system | |
KR100454652B1 (en) | Main storage of highly pipelined bus system on multiprocessor system using shared memory | |
JPH02186462A (en) | Bus transfer controller |
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 |