JPH10320351A - Buffer system - Google Patents

Buffer system

Info

Publication number
JPH10320351A
JPH10320351A JP12558597A JP12558597A JPH10320351A JP H10320351 A JPH10320351 A JP H10320351A JP 12558597 A JP12558597 A JP 12558597A JP 12558597 A JP12558597 A JP 12558597A JP H10320351 A JPH10320351 A JP H10320351A
Authority
JP
Japan
Prior art keywords
buffer
bus
data
entries
common
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
JP12558597A
Other languages
Japanese (ja)
Inventor
Takashi Suzuki
孝 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP12558597A priority Critical patent/JPH10320351A/en
Publication of JPH10320351A publication Critical patent/JPH10320351A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently perform data transfer by storing transfer data from an upper bus in a common bus through a common buffer controlling part and also making a buffer arbitrating part set transfer data from the common buffer to each sending buffer when the sending buffers have an empty area. SOLUTION: Sending buffers 32 to 52 are connected to lower buses 3 to 5, have capacity that is the same with an entry of a common buffer 21, receive transfer data that is sent to the lower buses by one entry each from the buffer 21 and store it. Bus processing parts 33 to 53 perform data sending control over the buses 3 to 5 of storage data of the buffers 32 to 52, also monitor designating buffers 31 to 51 and detect whether transfer data exists in the buffer 21 or not when the buffers 32 to 52 become empty states. When it exists, it shows an entry number and issues a data request to a buffer arbitrating part 23 and when it receives a set completion notification from the part 23, it sends storage data of the buffers 32 to 52 to the lower buses 3 to 5.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はバッファ方式に関
し、特に上位バスから下位バスへのデータ転送を行うバ
ッファ方式に関する。
The present invention relates to a buffer system, and more particularly to a buffer system for transferring data from an upper bus to a lower bus.

【0002】[0002]

【従来の技術】一つの上位バスと複数の下位バスとを接
続し、上位バスと下位バスの間でデータのやり取りを実
現する場合、両者のバスの性能差,機能差を吸収して円
滑な転送を行うためバスアダプタが用いられる。バスア
ダプタには、バス性能の差分を吸収するためにデータ等
を一時格納するバッファを採用するのが一般的であり、
このバッファには、フリップフロップやメモリなどが用
いられる。このバッファを介して流れるデータ等は、同
じ下位バスに対しては上位バスから送られてきた順番通
りに送出する必要がある一方、異なる下位バス間での順
序性は保証する必要がないのが一般的である。
2. Description of the Related Art When one upper bus is connected to a plurality of lower buses and data is exchanged between the upper bus and the lower bus, a difference in performance and a function between the two buses is absorbed and smooth operation is performed. A bus adapter is used to perform the transfer. A bus adapter generally employs a buffer for temporarily storing data and the like in order to absorb a difference in bus performance.
For this buffer, a flip-flop or a memory is used. The data and the like flowing through this buffer must be sent to the same lower bus in the order sent from the upper bus, but it is not necessary to guarantee the order between different lower buses. General.

【0003】このような階層化されたバス構造を採用す
る場合のバッファの構成方法は、特開昭57―6043
5号公報に述べられている方法が基本的なものである。
すなわち、図2に示すように、上位バスであるデータ容
量の多いシステムバス6からデータ容量の少ない下位バ
スであるローカルバス7へのデータ転送は、バスアダプ
タ1aの内部に設けられているデータバッファ8,9を
交互に使用して行われる。データバッファ8及び9は、
それぞれシステムバス6上のデータ1単位(1バスクロ
ックの転送データ)を格納でき、ローカルバス7のデー
タ1単位に相当する2個のバッファユニット8A,8B
及び9A,9Bから構成されている。
A method of configuring a buffer when such a hierarchized bus structure is adopted is disclosed in Japanese Patent Application Laid-Open No. 57-6043.
The method described in Japanese Patent Publication No. 5 is basic.
That is, as shown in FIG. 2, data transfer from the system bus 6 having a large data capacity as an upper bus to the local bus 7 as a lower bus having a small data capacity is performed by a data buffer provided inside the bus adapter 1a. This is performed using 8 and 9 alternately. Data buffers 8 and 9
Each of the buffer units 8A and 8B can store one unit of data (transfer data of one bus clock) on the system bus 6 and correspond to one unit of data on the local bus 7.
And 9A and 9B.

【0004】システムバス6からデータバッファ8及び
9に格納されたデータは、バッファユニット8A,8
B,9A,9Bの順序でローカルバス7に送出され、バ
ッファユニット8Bのデータが送出されてデータバッフ
ァ8が空き状態となると、システムバス6から次のデー
タが取り込まれる。同様にして、バッファユニット9B
のデータが送出されるとデータバッファ9に次のデータ
を取り込むことにより、2個のデータバッファを交互に
使用してローカルバス7に連続的にデータを送出するこ
とが可能となる。しかしながら、システムバス6からの
データの取り込みはローカルバス7のバスクロックの2
サイクルで1回となり効率的でないため、通常はデータ
バッファの数を多くし、システムバス6からも連続して
データを取り込めるようにしている。
The data stored in the data buffers 8 and 9 from the system bus 6 is transferred to buffer units 8A and 8
When the data is transmitted to the local bus 7 in the order of B, 9A, and 9B, and the data of the buffer unit 8B is transmitted and the data buffer 8 becomes empty, the next data is fetched from the system bus 6. Similarly, the buffer unit 9B
When the next data is transmitted, the next data is taken into the data buffer 9 so that the data can be continuously transmitted to the local bus 7 using the two data buffers alternately. However, fetching of data from the system bus 6 takes two
Since the number of data buffers is one, which is not efficient, the number of data buffers is usually increased so that data can be continuously taken from the system bus 6.

【0005】このような従来の方式のバッファを使用し
て複数の下位バスをサポートするバスアダプタを考えた
場合、上述したようなバッファ及びその制御機構を下位
バスごとに用意する方法と、全下位バスで共用する一組
のバッファのみを用意し、制御機構を複数の下位バスに
対応できる構成とする方法とがある。
When considering a bus adapter that supports a plurality of lower buses using such a conventional buffer, a method of preparing the buffer and its control mechanism for each lower bus as described above, There is a method in which only one set of buffers shared by the bus is prepared and the control mechanism is configured to be compatible with a plurality of lower buses.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上述し
た下位バスごとにバッファを用意する方法では、両バス
間の性能,機能差を吸収できるバッファを下位バスごと
に重複して持っことになり、上位バスには上位装置から
の命令やデータがランダムに発生し、且つその行く先で
ある下位バスもランダムであることを考えると、必要数
以上の余分なハードウェアを持つていることになるとい
う欠点がある。
However, in the above-described method of preparing a buffer for each of the lower buses, a buffer capable of absorbing the difference in performance and function between the two buses is provided for each of the lower buses. Given that commands and data from the higher-level device are generated randomly on the bus, and the lower-level bus to which it goes is also random, it has the disadvantage of having more hardware than necessary. is there.

【0007】一方、バッファを全下位バスに共用とする
場合には、下位バス間の動作状態の相違により、複数の
下位バス中のある下位バスに対してデータを送出しよう
としてバッファを使用しているときに、何らかの理由に
よりその下位バスが使われている状態があると、後続の
別の下位バスに対するデータの送出がバッファが空くま
で待たされてしまうという問題がある。すなわち、一つ
の下位バスの挙動(バスのビジー等)により、他の下位
バスへのデータ転送が影響を受けるというバス間干渉が
発生する欠点がある。
On the other hand, when a buffer is shared by all lower buses, the buffer is used to transmit data to a lower bus among a plurality of lower buses due to a difference in operation state between the lower buses. If there is a state in which the lower bus is being used for some reason, there is a problem that data transmission to another subsequent lower bus is delayed until the buffer becomes empty. In other words, there is a drawback in that the behavior of one lower bus (bus busy or the like) affects the data transfer to the other lower bus, causing interference between buses.

【0008】本発明の目的は、一つの上位バスから複数
の下位バスにデータを転送する場合に、少ないバッファ
容量で且つ下位バスの動作状態によるバス間干渉を抑え
ることができるバッファ方式を提供することにある。
An object of the present invention is to provide a buffer system capable of suppressing interference between buses due to the operation state of a lower bus when transferring data from one upper bus to a plurality of lower buses. It is in.

【0009】[0009]

【課題を解決するための手段】請求項1のバッファ方式
は、性能の異なるバス間に接続されるバスアダプタによ
り上位バスから複数の下位バスへデータ転送を行うため
に使用されるバッファ方式であって、前記上位バスに接
続され前記各下位バスへの転送データを格納する複数エ
ントリの共通バッファと、前記各下位バスごとに設けら
れ転送データを格納した前記共通バッファ中のエントリ
の識別情報を格納する先入れ先出し形式の指示バッファ
と、前記各下位バスに接続され当該下位バスへ送出する
転送データを格納する送出バッファと、前記共通バッフ
ァを管理し前記上位バスから転送データを前記共通バッ
ファに格納すると同時に転送先を識別して該当する前記
指示バッファに転送データを格納したエントリの識別情
報を送出する共通バッファ制御部と、前記各下位バスご
とに設けられ前記送出バッファの格納データの当該下位
バスへの送出を制御すると共に前記指示バッファを監視
し前記送出バッファに空きがあるとき前記指示バッファ
の指示内容に従って前記共通バッファから前記送出バッ
ファへのデータセット要求を行うバス処理部と、前記各
バス処理部からのデータセット要求の調停を行って該当
するデータを前記共通バッファから前記送出バッファに
セットし前記共通バッファ制御部に対してセット完了を
通知するバッファ調停部とを備え、前記共通バッファの
エントリ数が前記指示バッファのうちの最大エントリ数
以上に設定されて構成されている。
According to a first aspect of the present invention, there is provided a buffer system used for transferring data from an upper bus to a plurality of lower buses by a bus adapter connected between buses having different performances. And a common buffer having a plurality of entries connected to the upper bus and storing transfer data to each lower bus, and identification information of an entry in the common buffer provided for each lower bus and storing transfer data. A first-in first-out instruction buffer, a transmission buffer connected to each lower bus for storing transfer data to be transmitted to the lower bus, and a common buffer for managing the common buffer and storing transfer data from the higher bus in the common buffer. A common destination for identifying a transfer destination and transmitting identification information of an entry storing transfer data in the corresponding instruction buffer; A buffer control unit, which is provided for each of the lower buses, controls transmission of data stored in the transmission buffer to the lower bus, monitors the instruction buffer, and indicates contents of the instruction buffer when there is free space in the transmission buffer. A bus processing unit for performing a data set request from the common buffer to the transmission buffer in accordance with, and arbitrating a data set request from each of the bus processing units to set corresponding data from the common buffer to the transmission buffer. A buffer arbitration unit for notifying the common buffer control unit of the completion of the setting, wherein the number of entries in the common buffer is set to be equal to or greater than the maximum number of entries in the instruction buffer.

【0010】請求項2のバッファ方式は、請求項1記載
のバッファ方式において、前記各送出バッファは前記共
通バッファの1エントリと同一の記憶容量を持ち、前記
各バス処理部は対応する前記送出バッファの格納データ
を当該下位バスへ送出完了するごとに前記バス調停部に
対して次のデータセット要求を行うことを特徴としてい
る。
The buffer system according to claim 2 is the buffer system according to claim 1, wherein each of the transmission buffers has the same storage capacity as one entry of the common buffer, and each of the bus processing units corresponds to the corresponding transmission buffer. Each time the transmission of the stored data to the lower bus is completed, the next data set request is made to the bus arbitration unit.

【0011】請求項3のバッファ方式は、請求項1記載
のバッファ方式において、前記送出バッファはそれぞれ
が前記共通バッファの1エントリと同一の記憶容量を有
する2エントリから成り、前記各バス処理部は対応する
前記送出バッファの1エントリの格納データを当該下位
バスへの送出完了するごとに前記バス調停部に対して次
のデータセット要求を行うことを特徴としている。
According to a third aspect of the present invention, in the buffer system according to the first aspect, the transmission buffer includes two entries each having the same storage capacity as one entry of the common buffer. The next data set request is made to the bus arbitration unit every time the transmission of the storage data of one entry of the corresponding transmission buffer to the lower bus is completed.

【0012】請求項4のバッファ方式は、請求項1,請
求項2又は請求項3記載のバッファ方式において、前記
各指示バッファのエントリ数が前記共通バッファのエン
トリ数と同一に設定されていることを特徴としている。
According to a fourth aspect of the present invention, in the buffer system according to the first, second or third aspect, the number of entries in each of the instruction buffers is set to be equal to the number of entries in the common buffer. It is characterized by.

【0013】請求項5のバッファ方式は、請求項2又は
請求項3記載のバッファ方式において、前記各指示バッ
ファのエントリ数がそれぞれ対応する前記各送出バッフ
ァのエントリ数より大きく、前記共通バッファのエント
リ数が前記各指示バッファのエントリ数よりも大きく設
定されていることを特徴としている。
According to a fifth aspect of the present invention, in the buffer system according to the second or third aspect, the number of entries in each of the instruction buffers is larger than the number of entries in each of the corresponding transmission buffers, and The number is set to be larger than the number of entries in each of the instruction buffers.

【0014】請求項6のバッファ方式は、請求項5記載
のバッファ方式において、前記共通バッファのエントリ
数が前記各指示バッファのうちの最大のエントリ数を持
つ二つの指示バッファのエントリ数の和より大きく設定
されていることを特徴としている。
According to a sixth aspect of the present invention, in the buffer system according to the fifth aspect, the number of entries in the common buffer is a sum of the number of entries in two designated buffers having the largest number of entries among the designated buffers. It is characterized by being set large.

【0015】[0015]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
Next, embodiments of the present invention will be described with reference to the drawings.

【0016】図1は本発明の一実施形態の構成を示すブ
ロック図である。
FIG. 1 is a block diagram showing the configuration of one embodiment of the present invention.

【0017】本実施形態のバッファ方式は、図1に示す
ように、性能の異なる上位バス2と複数の下位バス3〜
5との間に接続されたバスアダプタ1において、上位バ
ス2から下位バス3〜5へのデータ転送のために使用さ
れるバッファ方式である。バスアダプタ1は、上位バス
2と下位バス3〜5との間の相互のデータ転送を制御す
るものであり、一般には、下位バスから上位バスへのデ
ータ転送の制御も行うが、図1には上位バスから下位バ
スへのデータ転送に関係する部分のみを示してある。
As shown in FIG. 1, the buffer system of this embodiment uses an upper bus 2 and a plurality of lower buses 3 to 3 having different performances.
5 is a buffer system used for data transfer from the upper bus 2 to the lower buses 3 to 5 in the bus adapter 1 connected to the bus adapter 5. The bus adapter 1 controls mutual data transfer between the upper bus 2 and the lower buses 3 to 5, and generally also controls data transfer from the lower bus to the upper bus. Shows only a portion related to data transfer from the upper bus to the lower bus.

【0018】このバッファ方式は、上位バス2に接続さ
れ下位バス3〜5への転送データを格納する複数エント
リの共通バッファ21と、下位バスごとに設けられ共通
バッファ21の転送データを取り込んだエントリ番号を
格納するFIFO形式の指示バッファ31〜51と、下
位バス3〜5への送出データを格納する1エントリの送
出バッファ32〜52と、送出バッファ32〜52の格
納データの送出を制御すると共に指示バッファ31〜5
1を監視し共通バッファ21から送出バッファ32〜5
2へのデータセット要求を行うバス処理部33〜53
と、共通バッファ21を管理し上位バス2からの転送デ
ータの取り込み及び格納したエントリ番号の指示バッフ
ァ31〜51への送出を制御する共通バッファ制御部2
2と、バス処理部33〜53からのデータ転送要求の調
停を行い共通バッファ21から送出バッファ32〜52
へデータセットを行うバッファ調停部23とを備えて構
成されている。
In this buffer system, a common buffer 21 having a plurality of entries connected to the upper bus 2 and storing transfer data to the lower buses 3 to 5, and an entry provided for each lower bus and taking in the transfer data of the common buffer 21 are provided. Instruction buffers 31 to 51 in FIFO format for storing numbers, transmission buffers 32 to 52 for one entry for storing transmission data to lower buses 3 to 5, and transmission of data stored in transmission buffers 32 to 52 are controlled. Instruction buffers 31-5
1 is monitored, and from the common buffer 21 to the sending buffers 32 to 5
Bus processing units 33 to 53 for making a data set request to
And a common buffer control unit 2 that manages the common buffer 21 and controls fetching of transfer data from the upper bus 2 and transmission of the stored entry number to the instruction buffers 31 to 51.
2, and arbitrates for data transfer requests from the bus processing units 33 to 53, and sends data from the common buffer 21 to the transmission buffers 32 to 52.
And a buffer arbitration unit 23 for setting data to the buffer.

【0019】共通バッファ21は、上位バス2の命令や
データ等の1単位を格納できる容量を1エントリとする
複数のエントリを持っている。共通バッファ制御部22
は、共通バッファ21の複数のエントリのどれが使用中
でどれが未使用なのか使用状況を管理し、上位バス2か
らの転送データをどのエントリへ取り込むかのデータ格
納制御を行うと共に、下位バス3〜5のどこへ送出すべ
き命令やデータなのかを識別し、指示バッファ31〜5
1中の該当する指示バッファに対し転送データを格納し
たエントリの識別情報としてエントリ番号を送る。バッ
ファ調停部23は、バス処理部33〜53からのデータ
セット要求を受けるとバス処理部33〜53間の調停を
行い、送出バッファ32〜52中の選択された送出バッ
ファに対し共通バッファ21の該当エントリの格納デー
タをセットし、該当するバス処理部および共通バッファ
制御部22に対しデータセット完了通知を行う。
The common buffer 21 has a plurality of entries each having a capacity capable of storing one unit such as an instruction and data of the upper bus 2 as one entry. Common buffer control unit 22
Manages the use status of which of the plurality of entries in the common buffer 21 are being used and which are not used, controls the data storage to determine which entry receives the transfer data from the upper bus 2, and controls the lower bus. The instruction buffers 31 to 5 identify where in 3 to 5 the command or data should be sent.
The entry number is sent to the corresponding instruction buffer in 1 as identification information of the entry storing the transfer data. Upon receiving a data set request from the bus processing units 33 to 53, the buffer arbitration unit 23 performs arbitration between the bus processing units 33 to 53, and sends the selected buffer among the transmission buffers 32 to 52 to the common buffer 21. The storage data of the entry is set, and a data set completion notification is sent to the corresponding bus processing unit and common buffer control unit 22.

【0020】下位バス3〜5に対応して設けられている
指示バッファ31〜51は、それぞれFIFO構造で共
通バッファ21のエントリ数と同じエントリ数を持つ。
指示バッファ31〜51には、対応する下位バスに対し
てデータ送信があり共通バッファ21に格納された場
合、共通バッファ21のどのエントリにデータが格納さ
れているかを示す識別情報(エントリ番号)が格納され
る。指示バッファ31〜51の1エントリの容量は、共
通バッファ21の1エントリの容量に比べ僅かである。
送出バッファ32〜52は、それぞれ下位バス3〜5に
接続されており、共通バッファ21の1エントリと同じ
容量を持ち、下位バスへ送出する転送データを共通バッ
ファ21から1エントリ分ずつ受け取り格納する。バス
処理部33〜53は、送出バッファ32〜52の格納デ
ータの下位バス3〜5に対するデータ送出制御を行うと
共に、送出バッファ32〜52が空き状態となると指示
バッファ31〜51を監視して共通バッファ21に転送
データが存在するか否かを検出し、存在する場合にはエ
ントリ番号を示してバッファ調停部23に対してデータ
セット要求を発行し、バッファ調停部23からのデータ
セット完了通知を受けると、送出バッファ32〜52の
格納データを下位バス3〜5に送出する。
The instruction buffers 31 to 51 provided corresponding to the lower buses 3 to 5 have the same number of entries as the number of entries of the common buffer 21 in a FIFO structure.
When data is transmitted to the corresponding lower bus and stored in the common buffer 21, identification information (entry number) indicating which entry of the common buffer 21 stores data is stored in the instruction buffers 31 to 51. Is stored. The capacity of one entry of the instruction buffers 31 to 51 is slightly smaller than the capacity of one entry of the common buffer 21.
The sending buffers 32 to 52 are connected to the lower buses 3 to 5, respectively, have the same capacity as one entry of the common buffer 21, and receive and store transfer data to be sent to the lower bus one entry at a time from the common buffer 21. . The bus processing units 33 to 53 control the data transmission of the data stored in the transmission buffers 32 to 52 to the lower buses 3 to 5, and monitor the instruction buffers 31 to 51 when the transmission buffers 32 to 52 become empty, and perform common control. It detects whether or not transfer data exists in the buffer 21, and if so, issues a data set request to the buffer arbitration unit 23 by indicating the entry number, and sends a data set completion notification from the buffer arbitration unit 23. When received, the data stored in the transmission buffers 32-52 is transmitted to the lower buses 3-5.

【0021】以下、上記のように構成された本実施形態
のバッファ方式の動作を図1を参照して説明する。
Hereinafter, the operation of the buffer system of the present embodiment configured as described above will be described with reference to FIG.

【0022】上位バス2にはプロセッサ等の上位装置が
接続されており、上位装置から発行された命令とそれに
付随するデータとから成る転送データは上位バス2上を
流れる。共通バッファ制御部22は、上位バス2に流れ
ている転送データの命令を常時監視しており、上位バス
2に流れている命令が下位バス3〜5のいずれかに転送
すべき命令であった場合には、その命令を含む転送デー
タを共通バッファ21の空きエントリに格納する。共通
バッファ21に空きエントリがない場合には、その旨を
上位装置に通知する。
An upper device such as a processor is connected to the upper bus 2, and transfer data including an instruction issued from the upper device and data accompanying the command flows on the upper bus 2. The common buffer control unit 22 constantly monitors the instruction of the transfer data flowing to the upper bus 2, and the instruction flowing to the upper bus 2 is an instruction to be transferred to any of the lower buses 3 to 5. In this case, the transfer data including the instruction is stored in a free entry of the common buffer 21. If there is no empty entry in the common buffer 21, the host device is notified to that effect.

【0023】共通バッファ制御部22は、受け付けた命
令が下位バス3〜5のいずれを対象とするかを識別し、
下位バス3に送出すべき転送データであった場合には、
転送データを共通バッファ21のどのエントリに格納し
たかを知らせるためのエントリ番号を指示バッファ31
に送出し格納する。
The common buffer control unit 22 identifies which of the lower buses 3 to 5 the received instruction targets,
If the transfer data is to be sent to the lower bus 3,
An entry buffer 31 for designating an entry number for notifying in which entry of the common buffer 21 the transfer data is stored
Send to and store.

【0024】バス処理部33では、送出バッファ32に
格納データがなく空き状態の場合には指示バッファ31
を監視しており、共通バッファ制御部22から指示バッ
ファ31にエントリ番号が格納されると、最初に格納さ
れたエントリ番号をバッファ調停部23に対して送り、
共通バッファ21の当該エントリの格納データを送出バ
ッファ32に転送してセットするよう要求する。
In the bus processing unit 33, when no data is stored in the transmission buffer 32 and the transmission buffer 32 is empty, the instruction buffer 31
When the entry number is stored in the instruction buffer 31 from the common buffer control unit 22, the first stored entry number is sent to the buffer arbitration unit 23.
A request is made to transfer the data stored in the entry in the common buffer 21 to the transmission buffer 32 and set it.

【0025】バッファ調停部23は、それぞれのバス処
理部33〜53からの要求を監視しており、複数の要求
があった場合には調停を行い(調停は優先制御方式やラ
ウンドロビン方式等で行う)、処理順番を決定する。調
停の結果、バス処理部33からの要求を処理することに
した場合、共通バッファ21の出力バスの選択回路を送
出バッファ32に切り替え、指示されたエントリ番号の
エントリに格納されている格納データを選択し、送出バ
ッファ32に転送しセットする。送出バッファ32に所
定のデータが格納されると、バス処理部33に対してデ
ータセット完了通知を送出すると同時に、共通バッファ
制御部22に対してはエントリ番号を通知して共通バッ
ファ21の当該エントリが空き状態となったことを知ら
せ、次の調停を開始する。
The buffer arbitration unit 23 monitors requests from the respective bus processing units 33 to 53, and arbitrates when there are a plurality of requests (arbitration is performed by a priority control method, a round robin method, or the like). Perform), and determine the processing order. When the request from the bus processing unit 33 is processed as a result of the arbitration, the output bus selection circuit of the common buffer 21 is switched to the transmission buffer 32, and the storage data stored in the entry of the designated entry number is changed. Select, transfer to the sending buffer 32 and set. When predetermined data is stored in the transmission buffer 32, a data set completion notification is transmitted to the bus processing unit 33, and at the same time, an entry number is notified to the common buffer control unit 22 and the corresponding entry of the common buffer 21 is Notifies that the vacant state has been reached, and starts the next arbitration.

【0026】バッファ調停部23からエントリ番号の通
知を受けた共通バッファ制御部22は、共通バッファ2
1の該当するエントリを無効化し、上位バス2上を流れ
る次の転送データをその空きエントリに受け入れられる
ようにする。
The common buffer control unit 22 having received the notification of the entry number from the buffer arbitration unit 23
The corresponding entry 1 is invalidated so that the next transfer data flowing on the upper bus 2 can be accepted by the empty entry.

【0027】一方、バッファ調停部23からデータセッ
ト完了通知を受けたバス処理部33は、バッファ調停部
23に対するデータセット要求の信号を取り下げ、送出
バッファ32に格納された転送データを下位バス3に対
して送出し、送出が完了して送出バッファ32が空き状
態となると、指示バッファ31をチェックして未処理の
エントリ番号があれば上述した処理を繰り返し、未処理
のエントリ番号がなくなれば待機状態となる。
On the other hand, upon receiving the data set completion notification from the buffer arbitration unit 23, the bus processing unit 33 cancels the data set request signal to the buffer arbitration unit 23, and transfers the transfer data stored in the transmission buffer 32 to the lower bus 3. When the transmission is completed and the transmission buffer 32 becomes empty, the instruction buffer 31 is checked, and if there is an unprocessed entry number, the above-mentioned processing is repeated. Becomes

【0028】次に、下位バス3に対して2回のデータ転
送が連続して発生し、続いて、下位バス4に対して1回
のデータ転送が発生した場合について説明する。
Next, a case where two data transfers to the lower bus 3 occur consecutively, and then one data transfer to the lower bus 4 occurs will be described.

【0029】これらの転送データは、上述したと同様の
手順で共通バッファ21の3個のエントリに順に格納さ
れ、上位装置からデータ転送の要求があり転送データが
共通バッファ21に格納されていることを示す情報とし
て、指示バッファ31には最初に格納された2エントリ
のエントリ番号が、指示バッファ41には最後に格納さ
れたエントリのエントリ番号がそれぞれ格納される。
These transfer data are sequentially stored in the three entries of the common buffer 21 in the same procedure as described above, and the transfer data is stored in the common buffer 21 in response to a data transfer request from the host device. The instruction buffer 31 stores the entry numbers of the two entries stored first and the instruction buffer 41 stores the entry numbers of the entries stored last.

【0030】ここで、バス処理部33は、指示バッファ
31から最初の情報を検出してバッファ調停部23に対
してデータセット要求を行う。バス処理部43も同様な
要求をバッファ調停部23に対して行う。このとき、バ
ッファ調停部23が先にバス処理部33の処理を行い、
次にバス処理部43の処理を行ったとする。バッファ調
停部23は、該当するエントリの格納データを送出バッ
ファ32及び42に転送してセットし、共通バッファ制
御部22はデータセット完了通知により該当する二つの
エントリを解放して空き状態とする。この時点では下位
バス3に対する2回目の転送データは処理されていない
ので、そのエントリは空き状態となっていない。この間
に上位バス2から後続のデータ転送があれば、共通バッ
ファ21の解放されたエントリを含む空き状態のエント
リに順に格納される。そして、バス処理部33が送出バ
ッファ32から最初の転送データの送出を完了すると、
指示バッファ31に後続の2回目のデータ転送に対する
情報があるので、これに対する処理を行うため前述した
と同様な動作を繰り返す。
Here, the bus processing unit 33 detects the first information from the instruction buffer 31 and makes a data set request to the buffer arbitration unit 23. The bus processing unit 43 also makes a similar request to the buffer arbitration unit 23. At this time, the buffer arbitration unit 23 performs the processing of the bus processing unit 33 first,
Next, it is assumed that the processing of the bus processing unit 43 is performed. The buffer arbitration unit 23 transfers and sets the storage data of the corresponding entry to the transmission buffers 32 and 42, and the common buffer control unit 22 releases the two corresponding entries in response to the data set completion notification to make the entry empty. At this time, since the second transfer data to the lower bus 3 has not been processed, the entry is not empty. During this period, if there is a subsequent data transfer from the upper bus 2, the data is sequentially stored in the empty entry including the released entry in the common buffer 21. When the bus processing unit 33 completes sending the first transfer data from the sending buffer 32,
Since the instruction buffer 31 has information on the subsequent second data transfer, the same operation as described above is repeated to perform processing for this.

【0031】この際、バス処理部33の下位バス3への
データ送出処理が何らかの理由により停滞して待ち状態
となった場合は、送出バッファ32及び共通バッファ2
1の1エントリは使用できなくなるが、下位バス4及び
5に対するデータ転送は、バス処理部43,53に異常
がなければ共通バッファ21の他のエントリを使用して
遅滞なく処理することができる。なお、下位バス3に対
する転送データが更に発生しても、共通バッファ21の
すべてのエントリが使用されない限り、転送効率は低下
するが他の下位バスに対するデータ転送は可能である。
すなわち、上位バスから下位バスへのデータ転送を他の
下位バスの影響をほとんど受けずに行うことができる。
At this time, if the data transmission process of the bus processing unit 33 to the lower bus 3 is stalled for some reason and enters a waiting state, the transmission buffer 32 and the common buffer 2
Although one entry of 1 cannot be used, data transfer to the lower buses 4 and 5 can be processed without delay using other entries of the common buffer 21 if there is no abnormality in the bus processing units 43 and 53. Even if transfer data to the lower bus 3 is further generated, the transfer efficiency is reduced but data transfer to another lower bus is possible unless all the entries of the common buffer 21 are used.
That is, data transfer from the upper bus to the lower bus can be performed almost without being affected by other lower buses.

【0032】上述した実施の形態では、指示バッファの
エントリ数と共通バッファのエントリ数とを同数とし
た。このため、共通バッファの全エントリを一つの下位
バスへのデータ転送に使用することができ効率的なデー
タ転送が可能となる半面、待ち状態の下位バスへの転送
データにより共通バッファの全エントリが使用され、他
の下位バスへのデータ転送が阻害される可能性もある。
これを避けるためには、指示バッファのエントリ数を共
通バッファのエントリ数よりも少なく設定し、指示バッ
ファに空きエントリがなくなったときには、共通バッフ
ァ制御部からその下位バスに対するデータ転送は受け付
けられないことを上位装置に通知するように構成すると
よい。なお、指示バッファのエントリ数は、上位バスか
ら連続してどれだけの転送データを受信するかを考慮し
て、正常時に効率的なデータ転送が可能となる数に設定
する。
In the above-described embodiment, the number of entries in the instruction buffer is equal to the number of entries in the common buffer. Therefore, all the entries in the common buffer can be used for data transfer to one lower bus, and efficient data transfer can be performed. On the other hand, all the entries in the common buffer are transferred by the transfer data to the waiting lower bus. Used, and data transfer to other lower buses may be hindered.
To avoid this, set the number of entries in the instruction buffer to be smaller than the number of entries in the common buffer, and when there are no more empty entries in the instruction buffer, the common buffer control unit will not accept data transfer to the lower bus. May be notified to the host device. The number of entries in the instruction buffer is set to a number that enables efficient data transfer in a normal state in consideration of how much transfer data is continuously received from the upper bus.

【0033】又、送出バッファは共通バッファの1エン
トリと同じ容量を持ち、格納データを下位バスへ送出し
終えると共通バッファから1エントリ分ずつ受け取るも
のとした。これは、共通バッファから送出バッファへの
データ転送を容易にすると共に、下位バスの数に依存す
るバッファの容量を最少としたものである。しかしなが
ら、送出バッファへのデータセット待ちのために下位バ
スへのデータ送出が連続しなくなる可能性がある。特
に、下位バス数が多くなった場合には、この状態が発生
する確率も高くなる。この問題を回避するためには、下
位バスの数に依存するバッファ容量は増えるが、送出バ
ッファを2エントリ構成とし、バス処理部は各エントリ
を交互に使用して1エントリのデータ送出が完了したと
き次の転送データのセット要求を行うようにすればよ
い。なお、送出バッファの容量は共通バッファの1エン
トリの容量の倍数に限られるものではないが、共通バッ
ファから送出バッファへのデータセットや共通バッファ
の管理が複雑となるので、整数倍とすることが望まし
い。
The sending buffer has the same capacity as one entry of the common buffer, and receives one entry at a time from the common buffer when the storage data has been sent to the lower bus. This facilitates data transfer from the common buffer to the sending buffer and minimizes the buffer capacity depending on the number of lower buses. However, there is a possibility that data transmission to the lower bus will not be continued due to waiting for data set to the transmission buffer. In particular, when the number of lower buses increases, the probability of occurrence of this state also increases. In order to avoid this problem, the buffer capacity depending on the number of lower buses increases, but the transmission buffer has a two-entry configuration, and the bus processing unit has completed data transmission of one entry by using each entry alternately. At this time, the next transfer data set request may be made. Although the capacity of the transmission buffer is not limited to a multiple of the capacity of one entry of the common buffer, the data set from the common buffer to the transmission buffer and the management of the common buffer become complicated. desirable.

【0034】なお、上述の実施の形態の説明は、理解を
容易とするため特に明示はしなかったが各下位バスの性
能は同一と考え、各下位バスに設けられる指示バッフ
ァ,送出バッファ,バス処理部は同じ性能を持つものと
して行った。しかしながら、本発明の技術思想は各下位
バスの性能が同一の場合に限定されるものではなく、下
位バスごとに指示バッファ,送出バッファ,バス処理部
の構成が異なっても適用することができる。例えば、指
示バッファのエントリ数が下位バスごとに異なる場合
に、共通バッファのエントリ数を指示バッファ中の最大
エントリ数を持つ二つの指示バッファのエントリ数の和
より大きく設定すると、いずれの下位バスの処理が停滞
して待ち状態となっても、他の下位バスに対するデータ
転送を効率を落とさずに実行することが可能となる。
Although the description of the above-described embodiment has not been made particularly clear for easy understanding, it is assumed that the performance of each lower bus is the same, and the instruction buffer, transmission buffer, bus The processing units were performed as if they had the same performance. However, the technical idea of the present invention is not limited to the case where the performance of each lower bus is the same, and can be applied even if the configuration of the instruction buffer, the transmission buffer, and the bus processing unit differs for each lower bus. For example, when the number of entries in the instruction buffer differs for each lower bus, if the number of entries in the common buffer is set to be larger than the sum of the numbers of entries in the two instruction buffers having the maximum number of entries in the instruction buffer, Even if the process is stalled and becomes a waiting state, data transfer to another lower bus can be executed without lowering the efficiency.

【0035】[0035]

【発明の効果】以上説明したように、本発明のバッファ
方式は、一つの上位バスと複数の下位バス間に接続され
るバスアダプタにおいて、上位バスから下位バスへのデ
ータ転送時に使用するバッファを、複数エントリの共通
バッファと下位バスごとに設ける送出バッファとの二段
階構成とし、各下位バスに複数エントリの指示バッファ
とバス処理部とを設け、共通バッファ制御部により上位
バスから転送データを共通バッファに格納すると共に、
送出バッファに空きができるとバッファ調停部が共通バ
ッファから各送出バッファへ転送データをセットする構
成とした。これにより、少ないバッファ容量でバス間干
渉を抑制しながら効率的なデータ転送を行うことが可能
となる。
As described above, according to the buffer system of the present invention, a bus adapter connected between one upper bus and a plurality of lower buses uses a buffer used when transferring data from the upper bus to the lower bus. , A two-stage configuration of a common buffer of a plurality of entries and a transmission buffer provided for each lower bus, an instruction buffer of a plurality of entries and a bus processing unit are provided for each lower bus, and transfer data from the upper bus is shared by a common buffer control unit. While storing in a buffer,
The buffer arbitration unit sets the transfer data from the common buffer to each transmission buffer when the transmission buffer becomes empty. As a result, efficient data transfer can be performed with a small buffer capacity while suppressing interference between buses.

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

【図1】本発明の一実施形態の構成を示すブロック図で
ある。
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.

【図2】階層化バス構造における基本のバッファ構成を
示すブロック図である。
FIG. 2 is a block diagram showing a basic buffer configuration in a hierarchical bus structure.

【符号の説明】[Explanation of symbols]

1,1a バスアダプタ 2 上位バス 3,4,5 下位バス 6 システムバス 7 ローカルバス 8,9 データバッファ 8A,8B,9A,9B バッファユニット 21 共通バッファ 22 共通バッファ制御部 23 バッファ調停部 31,41,51 指示バッファ 32,42,52 送出バッファ 33,43,53 バス処理部 1, 1a Bus adapter 2 Upper bus 3, 4, 5 Lower bus 6 System bus 7 Local bus 8, 9 Data buffer 8A, 8B, 9A, 9B Buffer unit 21 Common buffer 22 Common buffer control unit 23 Buffer arbitration unit 31, 41 , 51 instruction buffer 32, 42, 52 transmission buffer 33, 43, 53 bus processing unit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 性能の異なるバス間に接続されるバスア
ダプタにより上位バスから複数の下位バスへデータ転送
を行うために使用されるバッファ方式であって、前記上
位バスに接続され前記各下位バスへの転送データを格納
する複数エントリの共通バッファと、前記各下位バスご
とに設けられ転送データを格納した前記共通バッファ中
のエントリの識別情報を格納する先入れ先出し形式の指
示バッファと、前記各下位バスに接続され当該下位バス
へ送出する転送データを格納する送出バッファと、前記
共通バッファを管理し前記上位バスから転送データを前
記共通バッファに格納すると同時に転送先を識別して該
当する前記指示バッファに転送データを格納したエント
リの識別情報を送出する共通バッファ制御部と、前記各
下位バスごとに設けられ前記送出バッファの格納データ
の当該下位バスへの送出を制御すると共に前記指示バッ
ファを監視し前記送出バッファに空きがあるとき前記指
示バッファの指示内容に従って前記共通バッファから前
記送出バッファへのデータセット要求を行うバス処理部
と、前記各バス処理部からのデータセット要求の調停を
行って該当するデータを前記共通バッファから前記送出
バッファにセットし前記共通バッファ制御部に対してセ
ット完了を通知するバッファ調停部とを備え、前記共通
バッファのエントリ数が前記指示バッファのうちの最大
エントリ数以上に設定されていることを特徴とするバッ
ファ方式。
1. A buffer system used for transferring data from an upper bus to a plurality of lower buses by a bus adapter connected between buses having different performances, wherein each of the lower buses is connected to the upper bus. A buffer having a plurality of entries for storing data to be transferred to the lower-level bus; a first-in first-out instruction buffer provided for each of the lower-level buses for storing identification information of an entry in the common buffer storing the transfer data; A transmission buffer connected to the transmission buffer for storing transfer data to be transmitted to the lower bus, and a common buffer for managing the common buffer and storing the transfer data from the higher bus in the common buffer, and simultaneously identifying a transfer destination to the corresponding instruction buffer. A common buffer control unit for transmitting identification information of an entry storing transfer data; And controlling the transmission of the data stored in the transmission buffer to the lower bus and monitoring the instruction buffer, and setting a data set from the common buffer to the transmission buffer in accordance with the instruction content of the instruction buffer when the transmission buffer has a free space. A bus processing unit that makes a request, arbitrates a data set request from each of the bus processing units, sets corresponding data from the common buffer to the transmission buffer, and notifies the common buffer control unit of the completion of setting. A buffer arbitration unit, wherein the number of entries in the common buffer is set to be equal to or greater than the maximum number of entries in the instruction buffer.
【請求項2】 前記各送出バッファは前記共通バッファ
の1エントリと同一の記憶容量を持ち、前記各バス処理
部は対応する前記送出バッファの格納データを当該下位
バスへ送出完了するごとに前記バス調停部に対して次の
データセット要求を行うことを特徴とする請求項1記載
のバッファ方式。
2. Each of the transmission buffers has the same storage capacity as one entry of the common buffer, and each of the bus processing units transmits the data stored in the corresponding transmission buffer to the lower bus every time transmission of the data to the lower bus is completed. 2. The buffer system according to claim 1, wherein a next data set request is made to the arbitration unit.
【請求項3】 前記送出バッファはそれぞれが前記共通
バッファの1エントリと同一の記憶容量を有する2エン
トリから成り、前記各バス処理部は対応する前記送出バ
ッファの1エントリの格納データを当該下位バスへの送
出完了するごとに前記バス調停部に対して次のデータセ
ット要求を行うことを特徴とする請求項1記載のバッフ
ァ方式。
3. The transmission buffer includes two entries each having the same storage capacity as one entry of the common buffer, and each of the bus processing units stores storage data of one entry of the transmission buffer corresponding to the lower bus. 2. The buffer method according to claim 1, wherein a next data set request is made to the bus arbitration unit every time transmission to the bus is completed.
【請求項4】 前記各指示バッファのエントリ数が前記
共通バッファのエントリ数と同一に設定されていること
を特徴とする請求項1,請求項2又は請求項3記載のバ
ッファ方式。
4. The buffer system according to claim 1, wherein the number of entries in each of said instruction buffers is set to be equal to the number of entries in said common buffer.
【請求項5】 前記各指示バッファのエントリ数がそれ
ぞれ対応する前記各送出バッファのエントリ数より大き
く、前記共通バッファのエントリ数が前記各指示バッフ
ァのエントリ数よりも大きく設定されていることを特徴
とする請求項2又は請求項3記載のバッファ方式。
5. The method according to claim 1, wherein the number of entries in each of said instruction buffers is set to be larger than the number of entries in each of said transmission buffers, and the number of entries in said common buffer is set to be larger than the number of entries in each of said instruction buffers. The buffer system according to claim 2 or 3, wherein
【請求項6】 前記共通バッファのエントリ数が前記各
指示バッファのうちの最大のエントリ数を持つ二つの指
示バッファのエントリ数の和より大きく設定されている
ことを特徴とする請求項5記載のバッファ方式。
6. The method according to claim 5, wherein the number of entries in the common buffer is set to be larger than the sum of the numbers of entries in two instruction buffers having the maximum number of entries among the instruction buffers. Buffer method.
JP12558597A 1997-05-15 1997-05-15 Buffer system Pending JPH10320351A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12558597A JPH10320351A (en) 1997-05-15 1997-05-15 Buffer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12558597A JPH10320351A (en) 1997-05-15 1997-05-15 Buffer system

Publications (1)

Publication Number Publication Date
JPH10320351A true JPH10320351A (en) 1998-12-04

Family

ID=14913826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12558597A Pending JPH10320351A (en) 1997-05-15 1997-05-15 Buffer system

Country Status (1)

Country Link
JP (1) JPH10320351A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037526A (en) * 2007-08-03 2009-02-19 Mimaki Engineering Co Ltd Data transfer apparatus, request generation apparatus, and request generation method
JP2012150735A (en) * 2011-01-21 2012-08-09 Sony Corp Interconnection apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037526A (en) * 2007-08-03 2009-02-19 Mimaki Engineering Co Ltd Data transfer apparatus, request generation apparatus, and request generation method
JP2012150735A (en) * 2011-01-21 2012-08-09 Sony Corp Interconnection apparatus

Similar Documents

Publication Publication Date Title
US6351780B1 (en) Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US5878217A (en) Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
EP0991999B1 (en) Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates
US5020020A (en) Computer interconnect system with transmit-abort function
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
JP3807250B2 (en) Cluster system, computer and program
JPH04230557A (en) Direct memory access controller
JPS62221057A (en) Method and apparatus for generating pointer address
JPH07202946A (en) System and method to manage communication buffer
JPH11212939A (en) System for exchanging data between data processor units having processor interconnected by common bus
WO2000075797A1 (en) Serialized bus communication and control architecture
JPH07262151A (en) Parallel processor system and packet abandoning method adapted to this system
JPH06337843A (en) Data transfer control method
JPH10320351A (en) Buffer system
JP2001067298A (en) Use of writing request queue for preventing failure of low speed port in transfer controller having hub and port architecture
JP2009251652A (en) Multi-core system
JP3990569B2 (en) Data memory control device
JPH08314850A (en) Bus bridge for computer system
JP2004213666A (en) Dma module and its operating method
JP3312361B2 (en) Distributed shared memory system
JP2000244585A (en) Bus interface circuit
US5125079A (en) Method for controlling the data transmission of a central unit interfacing control circuit and circuit arrangement for the implementation of the method
JPH07319823A (en) Inter-processor communication system
JPS6224830B2 (en)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000816