JPS63286949A - Bus control system - Google Patents

Bus control system

Info

Publication number
JPS63286949A
JPS63286949A JP12123987A JP12123987A JPS63286949A JP S63286949 A JPS63286949 A JP S63286949A JP 12123987 A JP12123987 A JP 12123987A JP 12123987 A JP12123987 A JP 12123987A JP S63286949 A JPS63286949 A JP S63286949A
Authority
JP
Japan
Prior art keywords
bus
master
buses
controller
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP12123987A
Other languages
Japanese (ja)
Inventor
Masatoshi Hino
樋野 匡利
Koji Fukuda
浩至 福田
Koji Iwasaki
岩崎 孝二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP12123987A priority Critical patent/JPS63286949A/en
Publication of JPS63286949A publication Critical patent/JPS63286949A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE:To obtain a bus control system which can freely execute accessing on both buses by connecting first and second buses by means of a bus controller and controlling the connection and separation of the first and the second buses in accordance with addresses at the tie of data transfer. CONSTITUTION:The side of the CPU bus 10 is taken precedence and a releasing instruction is outputted to an I/O bus master 70-k. If the I/O bus master 70-k responses to it, the bus controller 60 obtains the I/O bus 20 and connects two buses. Thus, a bus master 40-i executes data transfer. When it is terminated, the master 40-i releases the CPU bus and the controller 60 releases the I/O bus and disconnects both buses. Thus, the master 70-k obtains the bus 20 which has temporarily released. Consequently, the controller 60 outputs a bus request to a CPU bus arbiter 30 and connects the bus after it receives use permission. if the master 70-k releases the bus 20 after data transfer, the controller 60 releases the bus 10 and disconnects both buses.

Description

【発明の詳細な説明】 〔産業上の利用分野J 本発明は計算機システムのバス制御方式に関し、更に詳
しくは、複数のバスを備える計算機システムにおけるバ
ス制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application J] The present invention relates to a bus control method for a computer system, and more particularly to a bus control method for a computer system including a plurality of buses.

〔従来の技術〕[Conventional technology]

従来、1つのバス上にバス使用権を制御するためのプラ
イオリティ・コントローラ(バス・アービタ)と、複数
のマスタ・デバイス(バス・マスタ)およびスレーブ・
デバイス(バス・スレーブ)を接続し、マスタ・デバイ
スがバス要求を発生した時、バス・アービタが使用許可
することによりバスが獲得され、データ転送終了時にマ
スタ・デバイスがバスを解放する形式のものが知られて
いる(第1の方式)。
Traditionally, one bus has a priority controller (bus arbiter) for controlling bus usage rights, multiple master devices (bus masters) and slave devices.
When a device (bus slave) is connected and the master device issues a bus request, the bus arbiter grants permission to acquire the bus, and the master device releases the bus when the data transfer is completed. is known (first method).

また、特開昭60−215270号公報には、外部工1
0装置(バス・マスタ・デバイス)がダイレクト・メモ
リ・アクセス(DMA)によってデータを転送している
間、CPUをホールドしないように、バスに切換器を付
加し、DMA動作中は切換信号により、CPUとI/○
装置のバスを分離する方式(第2の方式)が述べられて
いる。
In addition, in Japanese Patent Application Laid-open No. 60-215270, external engineering 1
To prevent the CPU from being held while the 0 device (bus master device) is transferring data by direct memory access (DMA), a switch is added to the bus, and a switch signal is used to control the CPU during DMA operation. CPU and I/○
A method (second method) of separating the buses of devices is described.

上記第2の方式を更に一般化させたものとして、例えば
特開昭60−200356号公報には、CPUやメイン
・メモリが接続される内部バス(又はCPUバス)と、
DMAを行なうI10装置やDMA用のメモリが接続さ
れるバスとの間の接続、切離しをDMA切離部により行
なう方式(第3の方式)が述べられている。
As a more generalized version of the second method, for example, Japanese Patent Laid-Open No. 60-200356 discloses an internal bus (or CPU bus) to which the CPU and main memory are connected,
A method (third method) is described in which the I10 device that performs DMA and the bus to which the DMA memory is connected are connected and disconnected by a DMA disconnection section.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術のうち、1パス方式でバス・アービタによ
りバスの使用を制御する第1の方式は、構成が、簡単で
制!が容易であ反面、CPU以外のマスタ・デバイスが
大量のデータ転送を行なうと、バスが占有されてしまい
、その間、CPUがホールドされるという問題がある。
Among the above conventional technologies, the first method, which uses a one-pass method to control bus use by a bus arbiter, has a simple configuration and is easy to control! However, when a master device other than the CPU transfers a large amount of data, the bus is occupied, and the CPU is held during that time.

これに対して、複数のバスからなる第2.第3の方式で
は、DMA等のデータ転送開始とともにバスを分離し、
終了後に接続する方式をとっているため、処理効率を向
上できる。しかしながら、これらの方式では、工/○装
置がDMA等により、一連のデータを転送中は、切離さ
れたバスしかアクセスできず、その間はCPU等からの
アクセスも不能になってしまいという問題がある。また
、DMA等のデータ転送開始時に、そのデータ転送に対
してバスを切離して良いかどうかをCPU等の制御装置
で知っている必要がある。
On the other hand, the second bus consisting of multiple buses. In the third method, the bus is separated at the start of data transfer such as DMA,
Processing efficiency can be improved because the connection is made after the process is completed. However, with these methods, while the machine/○ device is transferring a series of data using DMA etc., only the disconnected bus can be accessed, and during that time, access from the CPU etc. is also disabled. be. Further, at the start of data transfer such as DMA, it is necessary for a control device such as a CPU to know whether or not the bus can be disconnected for the data transfer.

また、上述した第3の方式では、第1のバスのマスタ・
デバイスが、第2のバスのスレーブにアクセスすること
と、第2のマスクが第1のスレーブにアクセスすること
が同時に生じたときのバスの競合という問題のが決がな
されていない。第1のバスのマスクが第2のバス上のス
レーブにアクセスする場合は、第1のバスをマスクが第
1のバスを獲得してアドレスを送出し、そのアドレスを
第1のバスと第2のバスを接続する部分がデコードし、
第2のバスに接続されているスレーブにアクセスするか
どうかを判定することができ、その結果で第2のバスに
対する要求信号を送出するかどうかが決定する。このと
き、第2のバスを他のマスクが獲得している場合は、第
1のバスからの要求信号に対する応答信号を返すことは
できない。
In addition, in the third method described above, the master of the first bus
The problem of bus contention when a device simultaneously accesses a slave on a second bus and a second mask accesses a first slave has not been resolved. If the mask on the first bus wants to access a slave on the second bus, the mask on the first bus acquires the first bus, sends out an address, and transfers that address between the first bus and the second bus. The part that connects the bus decodes
It can be determined whether or not to access the slave connected to the second bus, and the result determines whether or not to send a request signal to the second bus. At this time, if another mask has acquired the second bus, it is not possible to return a response signal to the request signal from the first bus.

また、このとき第2のバスのマスクが第1のバス上にあ
るスレーブにアクセスしようとしているとき、第1のバ
スは既にデータ転送処理を開始されているので応答信号
を返すことはできない。よって、第2のバスのマスクと
第1のバスのマスク両方ともデータ転送を開始していて
も、目的のスレーブにアクセスできないまま待ち状態に
入るという不具合が生じる。
Further, at this time, when the second bus mask attempts to access the slave on the first bus, the first bus cannot return a response signal because data transfer processing has already started. Therefore, even if both the second bus mask and the first bus mask have started data transfer, a problem arises in that the slave enters a waiting state without being able to access the target slave.

本発明の目的は、第1のバスに接続されたマスタデバイ
スあるいはバス・マスクと、第2のバスに接続されたマ
スタデバイスあるいはバス・マスクが、上記第1.第2
のバスが接続されているか分離されているかを意識する
ことなく、2つのバス上を自由にアクセスできるバス制
御方式を提供することにある。
An object of the present invention is that a master device or bus mask connected to a first bus and a master device or bus mask connected to a second bus are connected to the first bus. Second
To provide a bus control system that allows free access on two buses without being aware of whether the buses are connected or separated.

また、従来の複数バスにより構成されるシステムにおい
ては、異なるバスマスタが複数のバスを介してデータ転
送を行なう場合にデッドロックするという問題があった
が、本発明はこのデッドロックの問題を解決したバス制
御方式の提供を他の目的とする。
In addition, in conventional systems configured with multiple buses, there was a problem of deadlock when different bus masters transferred data via multiple buses, but the present invention solves this deadlock problem. Another purpose is to provide a bus control method.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的を達成するために、本発明では、第1のバスと
第2のバスとをバスコントローラにより接続し、このバ
スコントローラがデータ転送時のアドレスに応じて第1
.第2バスの接続2分離の制御を行なうようにしたこと
を特徴とする。
In order to achieve the above object, the present invention connects a first bus and a second bus by a bus controller, and this bus controller
.. The present invention is characterized in that the connection of the second bus is controlled to be separated into two parts.

また、本発明は、各マスタ・デバイスが、バス要求信号
と同時にどのバスに接続されたスレーブをアクセスする
かを示す信号を発行するようにしたことを第2の特徴と
する。
A second feature of the present invention is that each master device issues a signal indicating which slave connected to which bus is to be accessed at the same time as the bus request signal.

〔作用〕[Effect]

前述の様に構成されたシステムにおいては、第1バス上
のバス・マスクは、第1バス上のバス・アービタにバス
要求を出し、バス・アービタの使用許可によりデータ転
送を開始する。この時、データ転送アドレスが第1バス
内のアドレスであれば、バスコントローラは第2バスを
分離したままであり、第1バス内だけで、第2バスをホ
ールドすることなくデータ転送を行なうことができる。
In the system configured as described above, the bus mask on the first bus issues a bus request to the bus arbiter on the first bus, and starts data transfer upon permission from the bus arbiter. At this time, if the data transfer address is an address within the first bus, the bus controller keeps the second bus isolated and performs data transfer only within the first bus without holding the second bus. Can be done.

同様に、第2バス上のバス・マスクは、第2バス上のバ
ス・アービタにバス要求を出し、バス・アービタの使用
許可によりデータ転送を開始する。
Similarly, the bus mask on the second bus issues a bus request to the bus arbiter on the second bus and grants the bus arbiter to initiate a data transfer.

この時、データ転送アドレスが第2バス内のアドレスで
あれば、バスコントローラは第1バスを分離したままで
あり、第2バス内だけで、第1バスをホールドすること
なくデータ転送を行なうことができる6本発明によれば
、第1あるいは第2のバス内での閉じたデータ転送は、
互いに独立して同時に実行できるため、効率の良い処理
を行なうことができる。
At this time, if the data transfer address is an address within the second bus, the bus controller will keep the first bus isolated and transfer data only within the second bus without holding the first bus. 6 According to the present invention, closed data transfer within the first or second bus is
Since they can be executed independently and simultaneously, efficient processing can be achieved.

次に、第1バス上のバス・マスクが第2バスにアクセス
する場合、上記と同様にして、第1バスの使用権を獲得
後にデータ転送を開始する。このとき、データ転送アド
レスは第2バス上のアドレスであるため、バスコントロ
ーラは、第2バスのバスアービタにバス要求を出して使
用権を1得後、第1バスと第2バスを接続してデータ転
送を実行可能とする。
Next, when the bus mask on the first bus accesses the second bus, data transfer is started after acquiring the right to use the first bus in the same manner as described above. At this time, since the data transfer address is an address on the second bus, the bus controller issues a bus request to the bus arbiter of the second bus and obtains one usage right, and then connects the first bus and the second bus. Enable data transfer.

同様に、第2バス上のバス・マスタが第1バスにアクセ
スする場合も、アドレスに応じてバスコントローラが第
1バスのバス・アービタにバス要求を出して使用権を獲
得後、第1バスと第2バスを接続してデータ転送を実行
可能とする。
Similarly, when a bus master on the second bus accesses the first bus, the bus controller issues a bus request to the bus arbiter of the first bus according to the address, acquires the right to use the bus, and then accesses the first bus. and a second bus to enable data transfer.

以上の様にして、2つのバスにまたがるデータ転送を実
現することができるが、第1バス上のマスタデバイスの
第2バス・アクセスと、第2バス上のマスタデバイスの
第1バス・アクセスとが競合した場合、デッドロックを
起してしまう。即ち、第1バス・マスクは、第1バスを
獲得後に第2バスを要求し、一方、第2バス・マスクは
、第2バスを獲得後に第1バスを要求する。これらの2
つが、同時発生しない場合には、要求しているバスが解
放されるのを待つことによりバスを獲得できるが、同時
発生した場合には、互いに相手が既に獲得しているバス
を要求し合い、待ち状態を維持する。すなわち、デッド
ロックとなる。この場合、バスコントローラは、どちら
か一方のバス・マスクに対して、一時的にバスを解放さ
せ、他方のバス・マスクのデータ転送終了に伴うバス解
放後、再び、バスを獲得してデータ転送を実行させるよ
うに、制御すればよい。
In the above manner, data transfer across two buses can be realized, but the master device on the first bus accesses the second bus, and the master device on the second bus accesses the first bus. If there is a conflict, a deadlock will occur. That is, the first bus mask requests the second bus after acquiring the first bus, while the second bus mask requests the first bus after acquiring the second bus. These two
If these do not occur at the same time, the bus can be acquired by waiting for the requested bus to be released, but if they occur simultaneously, each party requests the bus that the other has already acquired. Maintain wait state. In other words, a deadlock occurs. In this case, the bus controller temporarily releases the bus for one of the bus masks, and after the bus is released as data transfer for the other bus mask ends, it acquires the bus again and starts data transfer. All you have to do is control it so that it executes.

また、バス要求信号と同時に、どのバスをアクセスする
かを示す場合を送出するようにすると、マスタ・デバイ
スがアドレス・データ信号等をバスに送出する前にバス
要求信号が送出できるので、データ転送処理開始前に優
先制御することが可能となり、誤動作することはない。
In addition, by sending a message indicating which bus to access at the same time as the bus request signal, the bus request signal can be sent before the master device sends address/data signals, etc. to the bus, so data transfer Priority control can be performed before processing starts, and malfunctions will not occur.

〔実施例〕〔Example〕

以下1本発明の実施例について説明する。 An embodiment of the present invention will be described below.

第1図は、本発明の1実施例を示すマルチプロセッサ・
システムの構成図である。このシステムはCPUバス(
第1バX)10とI10バス(第2バス)20の2つの
バスを備え、CPUバス10にはCPU等のバス・マス
タ40−1.40−2.・・・と、メイン・メモリ等の
バス・スレーブ50−1.50−2.・・・が接続され
る。一方、工/○バスにはI10装置等のバス・マスク
7〇−1,70−2,・・・と、I10用バッファ・メ
モリ等のバス・スレーブ80−1.81−2.・・・と
が接続される。CPUバス10の使用権制御はCPUバ
ス・アービタ(プライオリティ・コントローラ)30が
行ない、バスコントローラ60は、工/○バス20の使
用権制御と、CPUバス1oとI10バス20との間の
データ転送制御を行なう。
FIG. 1 shows a multiprocessor system showing one embodiment of the present invention.
FIG. 1 is a configuration diagram of a system. This system uses the CPU bus (
The CPU bus 10 includes bus masters 40-1, 40-2. . . . and bus slaves 50-1, 50-2, etc., such as main memory. ... is connected. On the other hand, the engineering/○ bus includes bus masks 70-1, 70-2, . . . such as I10 devices, and bus slaves 80-1, 81-2, . ... are connected. The CPU bus arbiter (priority controller) 30 controls the right to use the CPU bus 10, and the bus controller 60 controls the right to use the engineering/○ bus 20 and transfers data between the CPU bus 1o and the I10 bus 20. control.

バス・マスクから、バス・スレーブへのデータ転送の流
れを説明するため、先ず、バス10に接続されたバス・
マスク、バス・スレーブ、バス・アービタからなる部分
のみの動作を説明する。
In order to explain the flow of data transfer from the bus mask to the bus slave, first we will explain the flow of data transfer from the bus mask to the bus slave.
The operation of only the mask, bus slave, and bus arbiter will be explained.

第2図に、データ転送の手順を示す。バス・マスク40
−1がバス・アービタ30に対してバス使用の要求(R
EQ)を出す。バス・アービタは、複数のバス・マスク
から出される要求(REQ)を優先度等に基づいて判定
し、1つのバス・マスクに対して、使用の許可(ACK
)を返す。許可(ACK)を受けたバス・マスクは、バ
スを獲得し、バスに対してアドレスと、読み出しくRe
ad)又は書き込み(Write)のコマンドR/Wと
、Write時には書き込みたいデータを出力する。複
数のバス・スレーブのうち、バスに出力されたアドレス
と対応する唯一のバス・スレーブ50−Nがコマンドを
解決し、Write時にはバス上のデータをそのアドレ
スに書き込んだ後、データ転送(Write)が完了し
たことを表わすレディ信号をバス・マスクに送出する。
FIG. 2 shows the data transfer procedure. bus mask 40
-1 requests the bus arbiter 30 to use the bus (R
EQ). The bus arbiter determines requests (REQ) issued from multiple bus masks based on priorities, etc., and grants permission (ACK) for use of one bus mask.
)return it. The bus mask that receives the ACK acquires the bus and sends an address to the bus and a readout address.
ad) or Write command R/W and the data to be written at the time of Write. Among the multiple bus slaves, the only bus slave 50-N that corresponds to the address output to the bus resolves the command, writes the data on the bus to that address at the time of write, and then transfers the data (Write). A ready signal is sent to the bus mask indicating that the process has been completed.

Read時には、指定アドレスのデータをバス上に送出
するとともに、レディ信号をバス・マスクに送出する。
At the time of Read, data at the designated address is sent onto the bus, and a ready signal is sent to the bus mask.

レディ信号を受けたバス・マスタ50−1は、Read
時にはバス上のデータを読み込み、Write時には、
何もしないでバスを解放する。バスが解放されると、バ
ス・アービタ30は、要求(REQ)を出している他の
バス・マスクに対して同様に優先判定を行ない、使用許
可(A CK)を出す。
The bus master 50-1 that received the ready signal
Sometimes it reads data on the bus, and when writing,
Release the bus without doing anything. When the bus is released, the bus arbiter 30 similarly performs priority determination on other bus masks that have issued requests (REQ) and issues permission to use (ACK).

以上の様にして、1つのバス上で、複数のバスマスタと
複数のバス・スレーブとの間のデータ転送が制御される
In the manner described above, data transfer between multiple bus masters and multiple bus slaves is controlled on one bus.

次に、第1図に示した、第1.第2の2つのバスからな
る構成の場合について、データ転送の手順を示す第3図
を参照して説明する。
Next, the first section shown in FIG. The case of the second configuration consisting of two buses will be explained with reference to FIG. 3 showing the data transfer procedure.

データ転送には、CPUバス・マスタ40−1とCPU
バス・スレーブ50−5間(ケースり、I10バス・マ
スク80−1とI10バス・スレーブ80−5間(ケー
スn) 、CPUバス・マスタ40−iと110バス・
スレーブ80−5間(ケースm)、I10バス・マスタ
70−1とCPUバス・スレーブ50−5間(ケース■
)の4つの場合があり、以下、各々のケースについて述
べる。
For data transfer, CPU bus master 40-1 and CPU
Between bus slave 50-5 (case n), between I10 bus mask 80-1 and I10 bus slave 80-5 (case n), between CPU bus master 40-i and 110 bus mask 80-1 and I10 bus slave 80-5 (case n)
Between slave 80-5 (case m), between I10 bus master 70-1 and CPU bus slave 50-5 (case ■
) There are four cases, and each case will be described below.

(ケース■):前述の1バス構成の場合と、同様である
(Case ■): This is the same as the case of the one-bus configuration described above.

(ケース■):1バス構成の説明中のバス・アービタを
、I10バス制御部で置き 換えた場合と同様である。
(Case ■): This is the same as the case where the bus arbiter in the explanation of the 1-bus configuration is replaced with an I10 bus control unit.

(ケースIII)  :CPUバス・マスタ40−1が
(Case III): CPU bus master 40-1.

CPUバス・アービス3oに対し て要求(REQ)を出し、許可 (ACK)が返ってくると、バス 10にアドレス、R/Wコマンド。For CPU bus Urbis 3o Make a request (REQ) and receive permission. When (ACK) is returned, the bus 10 is address and R/W command.

Write  時にはデータを出力する。When writing, data is output.

バスコントローラ60は、バス 10上のアドレスにより工/○バ スへのアクセス要求が生じたこと を検知し、I10バスが未使用で あることを確認して、CPUバス 10とI10バス20を接続する。The bus controller 60 10 by the address above that a request to access the is detected and the I10 bus is unused. Make sure that the CPU bus 10 and I10 bus 20 are connected.

I10バス20の使用制御はバス コントローラ60で行なっている ので、バス20が未使用か否かの 確認は自分で行なうことができる。The use of I10 bus 20 is controlled by the bus Performed by controller 60 Therefore, whether bus 20 is unused or not You can check it yourself.

上記バスの接続により、I10バ ス20上にアドレス、R/Wコマ ンド、データがそれぞれ出力され、 対応するアドレスのI10バス・ スレーブ80−jがコマンドに従 った動作を行ない、レディ信号を 返送する。このレディ信号により、 CPUバス・マスタ40−1が CPUバス10を解放する。また、 工/○バス制御部60は2つのバ スを切断し、これによってIlo バス20が解放される。By connecting the above bus, I10 bus address and R/W frame on the screen 20. command and data are output respectively. I10 bus of the corresponding address Slave 80-j follows the command. the ready signal. Send it back. This ready signal causes CPU bus master 40-1 Release the CPU bus 10. Also, Engineering/○ The bus control unit 60 has two buses. This causes Ilo Bus 20 is released.

(ケースrV):I10バス・マスタ70−1がバスコ
ントローラ60に対してバス 要求(REQ)を出し、許可 ()= G K )を取けとると、I10バス20を獲
得する。バス獲得後、 バスにアドレス、 Read / Writeのコマン
ド、llrite時にはデータを送出する。バスコント
ローラ60 は、バス上のアドレスにより、 CPUバスへのアクセスであるこ とを検知し、CPUバス・アービ タ30に対してバス要求(REQ) を発生し、許可(AC,K)があれ ばCPUバス10を獲得して、2 つのバス10と20とを接続する。
(Case rV): When the I10 bus master 70-1 issues a bus request (REQ) to the bus controller 60 and obtains permission ()=GK), it acquires the I10 bus 20. After acquiring the bus, it sends addresses, Read/Write commands, and data during llrite to the bus. The bus controller 60 detects that the access is to the CPU bus based on the address on the bus, issues a bus request (REQ) to the CPU bus arbiter 30, and if permission (AC, K) is granted, the CPU The bus 10 is acquired and the two buses 10 and 20 are connected.

このバス接続により、CPUバス 10上にアドレス、コマンド、デ ータが送出され、対応するアドレ スのCPUバス・スレーブ40− jが、コマンドに従った動作を行 ない、レディ信号を返送する。こ のレディ信号により、バスコント ローラ6oはCPUバス1oを解 放するとともに、上記2つのバス の切断と工/○バスの解放を行な う。This bus connection allows the CPU bus Address, command, data on 10 data is sent and the corresponding address CPU bus slave 40- j performs the action according to the command. No, send back a ready signal. child The bus control is activated by the ready signal. Roller 6o disconnects from CPU bus 1o. At the same time, release the above two buses. cutting and machining / ○Releasing the bus cormorant.

上記の4つの場合の組合せによる競合は、説明かられか
る様に、CPUバス・アービタ3oとバスコントローラ
60により制御できるが、ケース■とケース■とが成る
特定のタイミングで競合した場合に、デッド・ロックが
生ずる。これを第4図を用いて説明する。
As can be seen from the explanation, conflicts caused by combinations of the above four cases can be controlled by the CPU bus arbiter 3o and the bus controller 60, but if cases 2 and 3 conflict at a specific timing, dead・Lock occurs. This will be explained using FIG. 4.

今、CPUバス・マスタ40−1とI10バス・マスク
70−にとが、それぞれI10パス・スレーブ80−Q
、CPUバス・スレーブ50−jに対してデータ転送を
行なう場合を想定する。この時、双方がバスを獲得した
後、互いのバスを要求し合うという状態が生じ得る。即
ち、CPUバス・マスタ40−iは、CPUバス10を
獲得後に工/○バス20を要求しているが、I10バス
20は、I10バス・マスタ70−kが既に獲得してい
るため、CPUバス・マスタ40−iはこれが解放され
るのを待つ。一方、I10バス・マスク70−には、I
10バス20を獲得した後、CPUバス10を要求して
いるが、CPUバス20はCPUバス・マスタ40−i
が既に獲得しているため、これが解放されるのを待つ。
Now, the CPU bus master 40-1 and the I10 bus mask 70- are connected to the I10 bus slave 80-Q, respectively.
, a case where data is transferred to the CPU bus slave 50-j is assumed. At this time, a situation may arise in which after both parties have acquired the bus, they request each other's bus. That is, the CPU bus master 40-i requests the work/○ bus 20 after acquiring the CPU bus 10, but since the I10 bus 20 has already been acquired by the I10 bus master 70-k, the CPU Bus master 40-i waits for it to be released. On the other hand, the I10 bus mask 70-
After acquiring the 10 bus 20, the CPU bus 20 is requested by the CPU bus master 40-i.
has already been acquired, so we will wait for it to be released.

すなわち、デッド・ロック状態が生ずる。この状態は、
バスコントローラ60だけが検知できるので、バスコン
トローラ60が、いずれかのバス・マスクに対して、バ
スを一時的に解放するよう指示(REL)を出す。
In other words, a deadlock condition occurs. This state is
Since only the bus controller 60 can detect this, the bus controller 60 issues an instruction (REL) to one of the bus masks to temporarily release the bus.

第4図の例では、CPUバス10側を優先させ、■/○
バス・マスタ70−kにバス解放指示(REL)を出し
ている。上記バス解放指示に工/○バス・マスタが応答
すると、バスコントローラ60は工/○バス2oを獲得
し、2つのバスを接続する。これにより(CPUバス・
マスタ40−iがデータ転送を実行する。転送終了後、
CPUバス・マスタ40−1は、CPUバスを解放し、
バスコントローラ60は、工/○バスを解放するととも
に2つのバスを切断する。これにより、工/○バス・マ
スタ70−には一時解放していたI10バス20を獲得
することができる。従って、バスコントローラ60が、
c P Uバス・アービタ30にバス要求(REQ)を
出し、使用許可(ACK)を受は取った後、バスを接続
する。工/○バス・マスタ70−kがデータ転送終了機
工10バス20を解放すると、I10制御部60がCP
Uバス10を解放するとともに、上記2つのバスを切断
する。
In the example shown in Figure 4, the CPU bus 10 side is prioritized, and ■/○
A bus release instruction (REL) is issued to the bus master 70-k. When the work/○ bus master responds to the above bus release instruction, the bus controller 60 acquires the work/○ bus 2o and connects the two buses. As a result, (CPU bus
Master 40-i executes data transfer. After the transfer is complete,
The CPU bus master 40-1 releases the CPU bus,
The bus controller 60 releases the work/○ bus and disconnects the two buses. As a result, the temporarily released I10 bus 20 can be acquired by the I10 bus master 70-. Therefore, the bus controller 60
c After issuing a bus request (REQ) to the PU bus arbiter 30 and receiving permission to use (ACK), the bus is connected. When the machine/○ bus master 70-k releases the data transfer end machine 10 bus 20, the I10 control unit 60 releases the CP
The U bus 10 is released and the two buses mentioned above are disconnected.

次に1本発明の第2の実施例について第5図〜第8図を
参照して説明する。
Next, a second embodiment of the present invention will be described with reference to FIGS. 5 to 8.

第5図はシステム構成図であり、この例では第1バス(
バスA)10にバス・マスタ40.バス・スレーブ50
.プライオリティ・コントローラ30を有し、第2バス
(バスB)20にバス・マスク70.バス・スレーブ8
0.プライオリティ・コントローラ90を有し、上記2
つのバス間にバスコントローラ60を備える。
Figure 5 is a system configuration diagram, and in this example, the first bus (
bus A) 10 to bus master 40. bus slave 50
.. a priority controller 30 and a bus mask 70 . bus slave 8
0. It has a priority controller 90, and the above 2
A bus controller 60 is provided between the two buses.

本実施例では、各バス・マスクがバスコントローラ60
を介して別のバスにアクセスする場合(前述のケースJ
IV)と、各バス・マスクが自分が接続されているバス
上に存在するスレーブ・デバイスをアクセスする場合(
前述のケース■。
In this embodiment, each bus mask is connected to the bus controller 60.
(Case J mentioned above)
IV) and when each bus mask accesses slave devices on the bus to which it is connected (
The aforementioned case ■.

■)を区別するための信号(以下アドレス制御信号とい
う)を付加する。このことで、異なるバス間のアクセス
競合を防ぎ、処理効率を高める。
(2) A signal (hereinafter referred to as an address control signal) is added to distinguish between the two types. This prevents access contention between different buses and improves processing efficiency.

第6図より本実施例のバス獲得手順を説明する。The bus acquisition procedure of this embodiment will be explained with reference to FIG.

第2図において120〜129はバス要求ヲ発行するマ
スタ・デバイスと、それを受けて応答信号を返すデバイ
スの対応関係を示している。120はバス・マスタ40
によるバスAの要求信号(以下、HRQ M A : 
Ho1d ReQuest Master Aと言う)
121はアドレス制御信号(以下B CMA : Bu
saddress Control Magtar A
という)、122は、上記HRQ M Aに対する応答
信号(以下、ACKMA :A CKnovleolg
e Master Aの略)であり、以上がバス・マス
タ40がバスAを要求する時に3のプライオリティコン
トローラ30に発行、受信する信号であり、バス・マス
ク70とプライオリテイコントローラ90にも同様な信
号が存在する6以下、信号127をHRQMB、128
をBACMB 。
In FIG. 2, reference numerals 120 to 129 indicate the correspondence between a master device that issues a bus request and a device that receives the request and returns a response signal. 120 is bus master 40
A request signal for bus A (hereinafter referred to as HRQ MA:
Ho1d ReQuest Master A)
121 is an address control signal (hereinafter referred to as B CMA: Bu
Saddress Control Magtar A
), 122 is a response signal (hereinafter referred to as ACKMA) to the HRQ M A
e (abbreviation for Master A), and the above are the signals that the bus master 40 issues to and receives from the priority controllers 30 (3) when it requests the bus A. Similar signals are also sent to the bus mask 70 and the priority controller 90. 6 or less, signal 127 is HRQMB, 128
BACMB.

129をACKMBと記述する。プライオリティコント
ローラ30は、HRQMA120とBACMA121よ
りバス・マスタ4oがバス20に接続されたバス・スレ
ーブ80アクセスしようとしているか(ケースIl?)
、バス10に接続されたバス・スレーブ50にアクセス
しようとしている(ケースI)かが解る。ケース!なら
ば、優先制御をして、プライオリティコントローラ3o
はACKMA122を返してバス・マスタ40をバスA
のマスタとする。
129 is written as ACKMB. Is the priority controller 30 trying to access the bus slave 80 connected to the bus 20 by the bus master 4o from the HRQMA 120 and BACMA 121 (case Il?)?
, it can be seen whether an attempt is made to access the bus slave 50 connected to the bus 10 (case I). Case! If so, perform priority control and use the priority controller 3o.
returns ACKMA122 and sends bus master 40 to bus A.
be the master.

一方、ケース■の場合には、バス20に対するバス要求
信号124(以下、HRQ P A : Ho1dRe
Quast from Pr1ority contr
olar Aの略)をプライオリティコントローラ90
に対して発行する。
On the other hand, in case ■, the bus request signal 124 for the bus 20 (hereinafter referred to as HRQ P A : Ho1dRe
Quant from Pr1ority contr
(abbreviation of olar A) as the priority controller 90
Issued to.

これに対する応答信号が123(以下、ACKPAと記
述する)であり、この信号によりプライオリティコント
ローラ30は、バス・マスタ40に応答信号を返す、A
CKPA、−123が返ってくるということは、バス2
0のマスクに、プライオリティコントローラ30にバス
要求を発行したバス・マスクがなることを許可されたと
いうことである。
The response signal to this is 123 (hereinafter referred to as ACKPA), and this signal causes the priority controller 30 to return a response signal to the bus master 40.
CKPA, -123 is returned, which means bus 2
This means that the bus mask that issued the bus request to the priority controller 30 was allowed to become a mask of 0.

つまり、ケース■の場合には、ACKMAl、22は、
プライオリティコントローラ30がACKPA123を
受けてから返すようにする。すなわち、異なるバスに接
続されたスレーブにアクセスする場合には、異なるバス
から獲得してゆくことになるので。
In other words, in case ■, ACKMAl, 22 is
The priority controller 30 returns the ACKPA 123 after receiving it. In other words, when accessing slaves connected to different buses, the information will be acquired from different buses.

関係するバス間に複数のバスマスタが存在することはな
い。よって、ケース■と■とが同時に生じても、プライ
オリティコントローラは、どちらか一つのバス・マスク
にのみ応答信号を返すので、バスの競合は生じない。
There are never multiple bus masters between the buses involved. Therefore, even if cases (2) and (2) occur simultaneously, the priority controller returns a response signal to only one of the bus masks, so no bus contention occurs.

本方式ではアドレス制御信号をバス要求信号と同時に発
行する。アドレス制御信号は、既存のマスタ・デバイス
に外付回路を設けることでバス要求信号と同時に発行で
きる。
In this method, the address control signal is issued simultaneously with the bus request signal. The address control signal can be issued simultaneously with the bus request signal by providing an external circuit to an existing master device.

第7図は外付は回路のブロック図である。既存のバス要
求信号130とバス応答信号131を直結し、バス要求
信号が発行されると同時に応答信号が返るようにする。
FIG. 7 is a block diagram of the external circuit. The existing bus request signal 130 and bus response signal 131 are directly connected so that the response signal is returned at the same time as the bus request signal is issued.

応答信号によりバス・マスク40は、アドレス信号13
2を送出する。これをアドレスデコーダ138により、
送出するアドレスがバスA、Bのどちらに接続されたス
レーブかを判定してアドレス制御信号141を送出する
The response signal causes bus mask 40 to output address signal 13.
Send 2. This is processed by the address decoder 138.
It determines whether the slave is connected to bus A or B to which the address to be sent is connected, and sends out the address control signal 141.

139はBRQMA120.ACMA121を同期させ
て送出する回路であり、マスタ・デバイスの仕様により
応答信号130よりアドレス信号132の送出までの時
間が解るので、同期制御回路139は、バス要求信号1
20をアドレス制御信号が有効になるタイミングで送出
する。
139 is BRQMA120. This is a circuit that synchronizes and sends out the ACMA 121, and since the time from the response signal 130 to the sending of the address signal 132 can be determined according to the specifications of the master device, the synchronization control circuit 139 transmits the bus request signal 1.
20 is sent at the timing when the address control signal becomes valid.

135.136,137はそれぞれシステムバスAのア
ドレス信号群、データ信号群、および制御信号群である
。バス応答信号130の返りで、マスタ・デバイス40
のデータ転送処理は開始されており、マスタ・デバイス
のアドレス信号132゜データ信号133.制御信号1
34は送出されているが、ゲート140により、システ
ムバスAとは切断されており、 BACKMA 122
をイネーブル信号に利用することでマスタ・デバイス4
0がバスAのマスクになるまで、システムバスに対して
アドレス、データ、制御信号を送出するこはない。
135, 136, and 137 are an address signal group, a data signal group, and a control signal group of system bus A, respectively. In return of the bus response signal 130, the master device 40
The data transfer process has started, and the master device's address signal 132 and data signal 133 . Control signal 1
34 is being sent out, but it is disconnected from the system bus A by the gate 140, and BACKMA 122
master device 4 by using it as an enable signal.
No address, data, or control signals are sent to the system bus until 0 becomes the bus A mask.

第8図にアドレスデコーダ138の詳細を示す。FIG. 8 shows details of the address decoder 138.

142.143はバス・スレーブ80の上限・下限アド
レスを示すレジスタであり、マスタ・デバイス40から
のアドレス信号132と比較しく144,145は比較
器)、アドレス信号132がバス・スレーブ80内に存
在するアドレスかどうかを判定する。上限、下限レジス
タを書き変えることで、バス・スレーブのアドレスを変
更することが可能である。更に、これらの機能を内部を
内部に格納したマスタデバイスを利用すると実装効率が
向上する。
142 and 143 are registers indicating the upper and lower limit addresses of the bus slave 80, and the address signal 132 is compared with the address signal 132 from the master device 40 (144 and 145 are comparators), and the address signal 132 is present in the bus slave 80. Determine whether the address is By rewriting the upper and lower limit registers, it is possible to change the address of the bus slave. Furthermore, implementation efficiency is improved by using a master device that stores these functions internally.

以上マスタ・デバイス40についての制御方式を説明し
たが、他方のバス・マスク70についても同様である。
Although the control method for the master device 40 has been described above, the same applies to the other bus mask 70.

また、アドレス制御信号本数は、バスの数により増加す
る。バスの数nに対して本数pは、 n≦2P を満足するだけ必要となる。
Further, the number of address control signals increases depending on the number of buses. For the number n of buses, the number p needs to satisfy n≦2P.

〔発明の効果〕〔Effect of the invention〕

複数のバスからなるシステムでは、複数バスにまたがる
アクセスが競合するとデッドロックを生する場合がある
が、本発明によればこれらのデッドロックを効果的に回
避することができる。
In a system consisting of a plurality of buses, conflicting accesses across the plurality of buses may cause deadlocks, but according to the present invention, these deadlocks can be effectively avoided.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明による複数バスからなるシステムの1例
を示す図、第2図は本発明によるバス制御の基本的な動
作説明図、第3図と第4図は本発明によるバス制御動作
の1実施例を説明するための図、第5図は本発明による
複数バスからなるシステムの他の例を示す図、第6図は
バス制御に使用する信号の配線図、第7図は既存のマス
タデバイスを利用する場合の外付回路図、第8図はアド
レスデコード部の詳細図である。 10・・・第1バス、2o・・・第2バス、30.90
・・・バス・アービタ(プライオリティ・コントローラ
)、40・・・バス・マスク、50・・・バス・スレー
ブ、60・・・バスコントローラ、70・・・バス・マ
スク、80・・・バス・スレーブ。 ≠ 1 図 第2図 第3図 第4図 第  5 図 第  6 図 ¥ 7 図 第3図
FIG. 1 is a diagram showing an example of a system consisting of multiple buses according to the present invention, FIG. 2 is a diagram illustrating the basic operation of bus control according to the present invention, and FIGS. 3 and 4 are bus control operations according to the present invention. FIG. 5 is a diagram showing another example of the system consisting of multiple buses according to the present invention, FIG. 6 is a wiring diagram of signals used for bus control, and FIG. 7 is a wiring diagram of the existing system. FIG. 8 is a detailed diagram of the address decoding section. 10...1st bus, 2o...2nd bus, 30.90
... bus arbiter (priority controller), 40 ... bus mask, 50 ... bus slave, 60 ... bus controller, 70 ... bus mask, 80 ... bus slave . ≠ 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 3

Claims (1)

【特許請求の範囲】 1、バスコントローラにより相互接続された第1、第2
のバスからなり、それぞれのバスにマスタ・デバイスと
スレーブ・デバイスとを備えるシステムにおいて、複数
のマスタ・デバイスからスレーブ・デバイスのアクセス
要求が競合したとき、いずれかのマスタ・デバイスによ
るデータ転送終了前に一時的にバスを解放させることを
特徴とするバス制御方式。 2、前記各マスタ・デバイスが、どのバスに接続された
スレーブ・デバイスをアクセスするかを示す信号を出力
するようにしたことを特徴とする第1項記載のバス制御
方式。
[Claims] 1. A first and a second interconnected by a bus controller.
In a system where each bus has a master device and a slave device, when access requests from multiple master devices to the slave device conflict, before one of the master devices completes data transfer. A bus control method characterized by temporarily releasing the bus. 2. The bus control method according to item 1, wherein each master device outputs a signal indicating which slave device connected to which bus is to be accessed.
JP12123987A 1987-05-20 1987-05-20 Bus control system Pending JPS63286949A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12123987A JPS63286949A (en) 1987-05-20 1987-05-20 Bus control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12123987A JPS63286949A (en) 1987-05-20 1987-05-20 Bus control system

Publications (1)

Publication Number Publication Date
JPS63286949A true JPS63286949A (en) 1988-11-24

Family

ID=14806349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12123987A Pending JPS63286949A (en) 1987-05-20 1987-05-20 Bus control system

Country Status (1)

Country Link
JP (1) JPS63286949A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258502A (en) * 2004-03-09 2005-09-22 Hitachi Kokusai Electric Inc Information processing board
JP2009301568A (en) * 2009-08-11 2009-12-24 Hitachi Ltd Information processor
JP2010134950A (en) * 2010-01-18 2010-06-17 Hitachi Ltd Data processing apparatus and method
US7802045B2 (en) 1990-06-04 2010-09-21 Hitachi, Ltd. Bus system for use with information processing apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802045B2 (en) 1990-06-04 2010-09-21 Hitachi, Ltd. Bus system for use with information processing apparatus
JP2005258502A (en) * 2004-03-09 2005-09-22 Hitachi Kokusai Electric Inc Information processing board
JP4523303B2 (en) * 2004-03-09 2010-08-11 株式会社日立国際電気 Information processing board
JP2009301568A (en) * 2009-08-11 2009-12-24 Hitachi Ltd Information processor
JP4599524B2 (en) * 2009-08-11 2010-12-15 株式会社日立製作所 Data processing apparatus and method
JP2010134950A (en) * 2010-01-18 2010-06-17 Hitachi Ltd Data processing apparatus and method

Similar Documents

Publication Publication Date Title
JP2575356B2 (en) Method and apparatus for ordering the operation of a multiprocessor in a multiprocessor system
US5355455A (en) Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
JPH05197671A (en) Master and slave communication method
EP0535696A2 (en) Method and apparatus for avoiding processor dead lock in a multiprocessor system
JPH06266681A (en) Preserving method of indivisible sequence of bus-operation, bus-interface and computer device
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH0628049B2 (en) Data transfer method between asynchronous buses
US7543093B2 (en) Method and system for stream burst data transfer
JPH103447A (en) Bus bridge device
JPS63286949A (en) Bus control system
JP2647035B2 (en) Bus control circuit
JP2972491B2 (en) Bus control mechanism and computer system
JP3626292B2 (en) Bus interface control method
JPH0962640A (en) Access control method for shared memory
JPH10307788A (en) Bus bridge
JP2906197B2 (en) Duplex bus device
JPH05257903A (en) Multiprocessor system
JPH0844661A (en) Information processor
JPH06266657A (en) Information processor
JPS619747A (en) Bus controller
JP2825889B2 (en) Deadlock avoidance circuit in multiprocessor system
JPH04260956A (en) Method for avoiding deadlock
JPH02257249A (en) Information processing system
JP4432268B2 (en) Bus arbitration system and interrupt processing method for a device serving as a bus master in this system
JP2910444B2 (en) Bus transmission control method