JP2000029822A - Bridge device - Google Patents

Bridge device

Info

Publication number
JP2000029822A
JP2000029822A JP10200239A JP20023998A JP2000029822A JP 2000029822 A JP2000029822 A JP 2000029822A JP 10200239 A JP10200239 A JP 10200239A JP 20023998 A JP20023998 A JP 20023998A JP 2000029822 A JP2000029822 A JP 2000029822A
Authority
JP
Japan
Prior art keywords
bus
data
time
unit
data transfer
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
JP10200239A
Other languages
Japanese (ja)
Inventor
Yoshimasa Obayashi
善正 尾林
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10200239A priority Critical patent/JP2000029822A/en
Publication of JP2000029822A publication Critical patent/JP2000029822A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a bridge device capable of suppressing overhead at the time of data transfer even when a target side bus is not in a free state and improving bus application efficiency and burst transfer length. SOLUTION: The bridge device 100 is provided with data buses 110, 120 for temporarily storing transfer data, control parts 130, 140 for controlling the transmission/reception of data related to the data buses 110, 120, latency timer registers 150, 151 for storing maximum clock time capable of occupying each bus by one data transfer, an arbitration part 180 for arbitrating the using right of a transfer source bus, and a prediction part 160 consisting of a counter 161 for counting the number of clocks up to timing that the transferred bus becomes in a free state, a regulated value register 162 for storing a regulated value indicating the buffer capacity of the data buses 110, 120, a comparing part 163 for comparing the value of the counter 161 with the regulated value, and a bus state detection part 164 for monitoring whether the transferred bus is in a free state or not.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のバスを有す
る計算機システムにおけるバス間を接続するブリッジ装
置に関する。
The present invention relates to a bridge device for connecting buses in a computer system having a plurality of buses.

【0002】[0002]

【従来の技術】近年の計算機システム、特にパーソナル
コンピュータやワークステーションにおいては、機能、
性能両面の向上を図るため、1つのCPUに多くの周辺
装置が接続される。この場合、CPUや周辺装置などの
デバイスは、バスと呼ばれる共通信号路によって接続さ
れる。
2. Description of the Related Art In recent computer systems, particularly personal computers and workstations, functions,
Many peripheral devices are connected to one CPU in order to improve both performances. In this case, devices such as a CPU and peripheral devices are connected by a common signal path called a bus.

【0003】通常、計算機システムにおけるバスには無
制限に多くのデバイスを接続できるわけではなく、電気
的な負荷や安定性により、その数が制限される。例え
ば、PCI(Peripheral Component Interconnect)バ
スの場合では、10個程度が限界とされている。
[0003] Usually, an unlimited number of devices can be connected to a bus in a computer system, and the number of devices is limited by electrical load and stability. For example, in the case of a PCI (Peripheral Component Interconnect) bus, the limit is about 10 buses.

【0004】しかし、上記限界以上のデバイスを接続し
なければならない場合も生じ得る。このような場合に、
より多くのデバイスを接続する方法として「ブリッジ装
置」を用いる方法がある。これは、「ブリッジ装置」を
2本のバスの間に配置し、内部に設けられたバッファを
活用しながら、双方のバスに接続されているデバイス間
におけるデータ転送の仲介役として使用する方法であ
る。この「ブリッジ装置」を用いることにより、電気的
な負荷が軽減され、安定したデータ転送が可能になる。
[0004] However, there may be a case where a device exceeding the above limit must be connected. In such a case,
As a method for connecting more devices, there is a method using a “bridge device”. This is a method in which a “bridge device” is arranged between two buses, and is used as an intermediary for data transfer between devices connected to both buses while utilizing a buffer provided inside. is there. By using this "bridge device", the electrical load is reduced, and stable data transfer becomes possible.

【0005】以下では、主に従来のブリッジ装置を用い
た場合の「書き込み動作」について説明し、「読み出し
動作」の概要についての説明も加えることとする。図5
は、従来のブリッジ装置500を含む計算機システムの
概略ブロック図である。本システムは、1次側PCIバ
ス510とこれに接続される第1デバイス530及び第
2デバイス540、2次側PCIバス520とこれに接
続される第3デバイス550及び第4デバイス560、
1次側PCIバスにおける使用権を調停するための調停
部570、2次側PCIバスにおける使用権を調停する
ための調停部580を備えるブリッジ装置500から構
成されている。
[0005] In the following, the "write operation" in the case of using a conventional bridge device will be mainly described, and the outline of the "read operation" will be added. FIG.
1 is a schematic block diagram of a computer system including a conventional bridge device 500. The system includes a primary PCI bus 510 and first and second devices 530 and 540 connected thereto, a secondary PCI bus 520 and third and fourth devices 550 and 560 connected thereto,
The bridge device 500 includes an arbitration unit 570 for arbitrating the right to use the primary PCI bus and an arbitration unit 580 for arbitrating the right to use the secondary PCI bus.

【0006】ここで、「バスにおける使用権を調停す
る」とは、調停部が、バスを一時的に占有して使用でき
る権利をどのタイミングで、どのデバイスに与えるかを
一定の規則に基づいて決定することをいう。具体的に
は、以下のような処理を行う。例えば、調停部580
が、第3デバイス550によってアサート(”L”レベ
ルに駆動)された、2次側PCIバス520を使用した
い旨の信号であるバス使用権要求信号(以下、REQと
称する。)551を受信し、他のデバイスからのREQ
がなく、2次側PCIバス520が空き状態の場合は、
第3デバイス550に2次側PCIバス520の使用を
許可する旨のバス使用権許可信号(以下、GNTと称す
る。)552をアサートする。もし、2次側PCIバス
520が空き状態でない場合、調停部580は、他のデ
バイスとの優先度等を考慮した一定の規則に基づいて、
適切なタイミングで第3デバイス550に対してGNT
552をアサートし、2次側PCIバス520の使用権
を与える。
Here, "arbitrating the right to use the bus" means that the arbitration unit gives the right to use the bus temporarily and the right to use to which device based on a certain rule. It means to decide. Specifically, the following processing is performed. For example, the arbitration unit 580
Receives a bus use right request signal (hereinafter, referred to as REQ) 551 asserted (driven to “L” level) by the third device 550, which is a signal to use the secondary PCI bus 520. , REQ from other devices
If the secondary PCI bus 520 is empty,
A bus use permission signal (hereinafter referred to as GNT) 552 for permitting the third device 550 to use the secondary PCI bus 520 is asserted. If the secondary PCI bus 520 is not idle, the arbitration unit 580 determines the priority based on a certain rule in consideration of the priority with other devices.
GNT to the third device 550 at appropriate timing
552 is asserted to grant the right to use the secondary PCI bus 520.

【0007】なお、図5に示すその他のREQ501及
びGNT502、REQ541及びGNT542、RE
Q571及びGNT572の各信号は、上記と同様のバ
ス使用権要求信号及びバス使用権許可信号である。
The other REQ 501 and GNT 502, REQ 541 and GNT 542, RE shown in FIG.
The signals of Q571 and GNT572 are the same bus request signal and bus permission signal as described above.

【0008】ブリッジ装置500は、前述した調停部5
80と、「書き込み動作」のための内部バッファ(図5
には示されていない。)を備えている。例えば、DEC
社製21152の場合では、「書き込み動作」用の内部
バッファとして、アドレスとデータを合わせて22ダブ
ルワード(以下、DWと称する。)の格納領域を備えて
いる。なお、1DWは32ビットで構成されるデータで
ある。
The bridge device 500 includes the arbitration unit 5 described above.
80 and an internal buffer for the "write operation" (FIG.
Is not shown. ). For example, DEC
In the case of the company 21152, a storage area of 22 double words (hereinafter, referred to as DW) including addresses and data is provided as an internal buffer for "write operation". Note that 1DW is data composed of 32 bits.

【0009】第1デバイス530から第4デバイス56
0は、ハードディスク等の入出力装置である。これらの
デバイスは、それぞれが接続されているPCIバスを使
用する際には、REQを調停部570又は580に送信
し、それぞれの調停部からのGNTを受信して、バス使
用権を獲得する。
The first device 530 to the fourth device 56
Reference numeral 0 denotes an input / output device such as a hard disk. When these devices use the connected PCI bus, they transmit REQ to the arbitration unit 570 or 580, receive GNT from each arbitration unit, and acquire the bus use right.

【0010】調停部570は、1次側PCIバス510
における使用権の調停を行う。制御信号511a〜51
1dは、1次側PCIバス510の使用状態を制御する
ための信号であり、バスが何れかのデバイスよって使用
されている状態であることを示すサイクル・フレーム信
号(以下、FRAMEと称する。)511a、マスタ・
デバイスがデータ転送可能な状態を示すイニシエータ・
レディ信号(以下、IRDYと称する。)511b、タ
ーゲット・デバイスがデータ転送可能な状態を示すター
ゲット・レディ信号(以下、TRDYと称する。)51
1c、ターゲット・デバイスが現在実行中の処理の中止
を要求する中止要求信号(以下、STOPと称する。)
511dの4種類の信号である。
The arbitration unit 570 includes a primary PCI bus 510
Arbitrate for the right to use. Control signals 511a-51
1d is a signal for controlling the use state of the primary PCI bus 510, and is a cycle frame signal (hereinafter, referred to as FRAME) indicating that the bus is being used by any device. 511a, master
Initiator that indicates that the device is ready to transfer data
A ready signal (hereinafter, referred to as IRDY) 511b, a target ready signal (hereinafter, referred to as TRDY) 51 indicating that the target device can transfer data.
1c, a stop request signal (hereinafter, referred to as a STOP) for requesting stop of a process currently being executed by the target device.
511d are four types of signals.

【0011】制御信号521a〜521dは、2次側P
CIバス520における制御信号であり、1次側PCI
バス510の場合と同様の、FRAME521a、IR
DY521b、TRDY521c、STOP521dの
4種類の信号である。
The control signals 521a to 521d are
A control signal for the CI bus 520, which is a primary PCI
FRAME 521a, IR similar to bus 510
These are four types of signals, DY521b, TRDY521c, and STOP521d.

【0012】次に、従来のブリッジ装置500を用い
て、2次側PCIバス520に接続されているマスタ・
デバイスである第3デバイス550から、1次側PCI
バス510に接続されているターゲット・デバイスであ
る第1デバイス530に64DWのデータを書き込む
「書き込み動作」について、図6及び図7を参照しなが
ら説明する。この場合、2次側PCIバス520がマス
タ側バスであり、1次側PCIバス510がターゲット
側バスである。
Next, using the conventional bridge device 500, the master device connected to the secondary PCI bus 520 is used.
From the third device 550, which is a device, to the primary PCI
A “write operation” for writing 64 DW data to the first device 530, which is a target device connected to the bus 510, will be described with reference to FIGS. In this case, the secondary PCI bus 520 is the master bus, and the primary PCI bus 510 is the target bus.

【0013】図6は、2次側PCIバス520と1次側
PCIバス510が共に空き状態であるため、連続して
データ転送ができる場合の当該「書き込み動作」におけ
る各信号の様子を示すタイミングチャートである。な
お、図6において、「A/D520」とは、アドレスと
データの送受信を共用している2次側PCIバス520
を意味する(以下、同様)。
FIG. 6 is a timing chart showing the appearance of each signal in the "write operation" when data can be transferred continuously because both the secondary PCI bus 520 and the primary PCI bus 510 are idle. It is a chart. In FIG. 6, "A / D 520" is a secondary PCI bus 520 that shares transmission and reception of addresses and data.
(The same applies hereinafter).

【0014】最初に、第3デバイス550は、2次側P
CIバス520を使用するために、REQ551をアサ
ートする(CLK1)。これに対し、調停部580は、
GNT552をアサートする(CLK2)。これによっ
て、第3デバイス550は2次側PCIバス520の使
用権を獲得する。この後、第3デバイス550は、クロ
ック3のタイミングで2次側PCIバス520が空き状
態であることを、FRAME521a及びIRDY52
1bが共にディアサート状態(”H”レベル)であるこ
とによって確認し、FRAME521aをアサートする
(CLK3)。同時に、第3デバイス550は「(第1
デバイスを示す1DWのアドレス)+(64DWのデー
タ)」の送信を開始する(CLK4)。
First, the third device 550 has a secondary P
REQ551 is asserted to use the CI bus 520 (CLK1). In contrast, the arbitration unit 580
Assert GNT552 (CLK2). Accordingly, the third device 550 obtains the right to use the secondary PCI bus 520. Thereafter, the third device 550 determines that the secondary PCI bus 520 is idle at the timing of the clock 3 by the FRAME 521a and the IRDY 52.
1b is confirmed by the fact that both are in the deasserted state ("H" level), and the FRAME 521a is asserted (CLK3). At the same time, the third device 550 is “(first
Transmission of “1 DW address indicating device) + (64 DW data)” is started (CLK4).

【0015】この場合、ブリッジ装置500は、1次側
PCIバス510が空き状態になっているので、第3デ
バイス550から送信されてくる上記「64DWのデー
タ」を「書き込み動作」用の内部バッファに取り込みつ
つ(CLK5〜CLK68)、1次側PCIバス510
に順次送信し、第1デバイス530への書き込みを行っ
ている(CLK18〜CLK81)。
In this case, since the primary PCI bus 510 is in an idle state, the bridge device 500 transfers the “64 DW data” transmitted from the third device 550 to the internal buffer for the “write operation”. To the primary side PCI bus 510 (CLK5 to CLK68).
, And writing to the first device 530 is performed (CLK18 to CLK81).

【0016】このように、マスタ側バスとターゲット側
バスが共に空き状態となっている場合は、連続的なデー
タ転送が可能である。一般に、マスタ・デバイスにおけ
る最大バースト転送長、即ち1回のアドレス情報の転送
に伴って転送できる最大のデータ長は、64DW程度で
ある。
As described above, when both the master-side bus and the target-side bus are idle, continuous data transfer is possible. In general, the maximum burst transfer length in the master device, that is, the maximum data length that can be transferred with one transfer of address information is about 64 DW.

【0017】図7は、当該「書き込み動作」において、
2次側PCIバス520は空き状態であるが、1次側P
CIバス510が空き状態になっていないため、連続し
たデータ転送ができない場合の各信号の様子を示すタイ
ミングチャートである。
FIG. 7 shows the "write operation"
The secondary PCI bus 520 is empty, but the primary P
6 is a timing chart showing the state of each signal when continuous data transfer cannot be performed because the CI bus 510 is not in an empty state.

【0018】図7が図6と異なる点は、1次側PCIバ
ス510が空き状態になっていないため、ブリッジ装置
500に一時的に取り込んだデータを第1デバイス53
0に送信することができず、ブリッジ装置500におけ
る「書き込み動作」用の内部バッファが全てデータで埋
まった時点で、第3デバイス550から送信されてくる
データの取り込みを一旦中断しなければならない点であ
る。
FIG. 7 differs from FIG. 6 in that the primary PCI bus 510 is not in an idle state, so that the data temporarily captured by the bridge device 500 is stored in the first device 53.
0, and when the internal buffer for the “write operation” in the bridge device 500 is completely filled with data, the capture of the data transmitted from the third device 550 must be temporarily interrupted. It is.

【0019】この場合、ブリッジ装置500は、当該書
き込み動作を中断すべく、STOP521dをアサート
して(CLK25)、第3デバイス550に通知する。
これにより、第3デバイス550は、クロック26以降
のデータの送信を中断する。この後、1次側PCIバス
510がクロック27のタイミングで空き状態になるの
で、ブリッジ装置500は、FRAME511aをアサ
ートし(CLK28)、「書き込み動作」用のバッファ
に格納されている全データを第1デバイス530に送信
する(CLK30〜CLK50)。
In this case, the bridge device 500 asserts STOP 521d (CLK25) to notify the third device 550 to interrupt the write operation.
As a result, the third device 550 suspends the transmission of the data after the clock 26. Thereafter, the primary PCI bus 510 becomes empty at the timing of the clock 27, so that the bridge device 500 asserts the FRAME 511a (CLK28) and transfers all data stored in the buffer for the "write operation" to the first. The data is transmitted to one device 530 (CLK30 to CLK50).

【0020】最後に、ブリッジ装置500は、第3デバ
イス550から残りの43DWのデータの取り込みを再
開し(CLK54〜CLK96)、これと並行して第1
デバイス530へのデータの送信を行う(CLK55〜
CLK97)。以上のように、マスタ側バスとターゲッ
ト側バスが同時に空き状態になっていない場合であって
も、ブリッジ装置を介してデータの書き込みが実施でき
る。
Finally, the bridge device 500 resumes taking in the remaining 43 DW data from the third device 550 (CLK 54 to CLK 96), and in parallel with this, the first device
Data is transmitted to the device 530 (CLK55 to CLK55).
CLK 97). As described above, even when the master-side bus and the target-side bus are not simultaneously idle, data can be written through the bridge device.

【0021】次に、従来のブリッジ装置500を用い
て、第2デバイス540が、第4デバイス560から6
4DWのデータを読み出す「遅延読み出し動作」の場合
について、主に前記「書き込み動作」との相違点を中心
に、その概要について説明する。この場合、読み出され
るデータの転送方向は、前記「書き込み動作」の場合と
同じであるが、1次側PCIバス510がマスタ側バス
になり、2次側PCIバス520がターゲット側バスに
なる。
Next, using the conventional bridge device 500, the second device 540
An outline of a “delayed read operation” for reading 4DW data will be described mainly focusing on differences from the “write operation”. In this case, the transfer direction of the read data is the same as in the case of the “write operation”, but the primary PCI bus 510 becomes the master bus and the secondary PCI bus 520 becomes the target bus.

【0022】ここで、「遅延読み出し」について説明す
る。一方のマスタ側バスに接続されているマスタ・デバ
イスが、他方のターゲット側バスに接続されているター
ゲット・デバイスのデータを読み出す場合に、ブリッジ
装置が、ターゲット側バスの使用権の獲得とデータの読
み出しを代行し、マスタ・デバイスはマスタ側バスの使
用権を一旦放棄する。その後、マスタ・デバイスが再び
当該読み出しのためにマスタ側バスの使用権を獲得する
ために試行している間、ブリッジ装置は、ターゲット・
デバイスから読み出されたデータを内部の「遅延読み出
し」用バッファに次々に蓄積する。マスタ・デバイス
が、再度上記使用権を獲得した場合は、ブリッジ装置か
ら送信されてくるデータを順次受信する。このように、
ブリッジ装置を介して2段階に分けて実行されるデータ
読み出しを「遅延読み出し」という。
Here, "delayed reading" will be described. When a master device connected to one master-side bus reads data from a target device connected to the other target-side bus, the bridge device acquires the right to use the target-side bus and transfers the data. On behalf of the read, the master device once relinquishes the right to use the master side bus. Thereafter, while the master device again attempts to acquire the right to use the master bus for the read, the bridge device returns to the target device.
Data read from the device is sequentially stored in an internal “delayed read” buffer. When the master device acquires the use right again, the master device sequentially receives the data transmitted from the bridge device. in this way,
The data read executed in two stages via the bridge device is called “delayed read”.

【0023】「遅延読み出し動作」が前記「書き込み動
作」と異なっている点は、マスタ・デバイスが、ターゲ
ット・デバイスに対して「ターゲット・デバイスのアド
レス」を送信後、ブリッジ装置にその後の読み出し動作
を代行させ、マスタ側バスの使用権を一旦放棄するとい
う点であるが、マスタ側とターゲット側におけるそれぞ
れのデータの転送方向が逆になる以外は、基本的に前記
「書き込み動作」と同じである。
The difference between the “delayed read operation” and the “write operation” is that the master device transmits the “target device address” to the target device, and then transmits the read operation to the bridge device. Is a point of relinquishing the right to use the master side bus, except that the transfer direction of each data on the master side and the target side is reversed, and is basically the same as the “write operation”. is there.

【0024】以上のように、当該「遅延読み出し動作」
においても、マスタ側バスとターゲット側バスが共に空
き状態の場合は、ターゲット・デバイスからマスタ・デ
バイスに連続した読み出し動作が可能となり、マスタ側
バスが空き状態になっていない場合であっても、前記
「書き込み動作」の場合と同様に、途中、ターゲット・
デバイスからブリッジ装置へのデータの取り込みを中断
する処理を行うことにより、ブリッジ装置を介してデー
タの読み出しを行うことができる。
As described above, the "delayed read operation"
Also, in the case where both the master side bus and the target side bus are empty, a continuous read operation from the target device to the master device becomes possible, even if the master side bus is not empty. As in the case of the “write operation”, the target
By performing the process of interrupting the data fetch from the device to the bridge device, the data can be read through the bridge device.

【0025】[0025]

【発明が解決しようとする課題】しかしながら、上記従
来のブリッジ装置によれば、ターゲット側バスが空き状
態になっていない場合は、データ転送におけるオーバー
ヘッドが増加し、バスの使用効率が低下するという問題
点がある。というのは、例えば図7に示したように「書
き込み動作」の場合では、書き込み動作の中断時と再開
時にオーバーヘッドが発生し、この間のデータ転送がで
きない期間のためにバスの使用効率が低下する。また、
この場合のバースト転送長は、上記のように「書き込み
動作」が中断されるため、ブリッジ装置内のバッファ容
量に制限され、最大バースト転送長によるデータ転送は
できない。
However, according to the conventional bridge device described above, when the target side bus is not idle, the overhead in data transfer increases and the bus use efficiency decreases. There is a point. For example, in the case of the "write operation" as shown in FIG. 7, overhead occurs when the write operation is interrupted and resumed, and the bus use efficiency is reduced due to a period during which data transfer cannot be performed. . Also,
Since the "write operation" is interrupted as described above, the burst transfer length in this case is limited by the buffer capacity in the bridge device, and data transfer with the maximum burst transfer length cannot be performed.

【0026】一方、読み出し動作においても、書き込み
動作の場合と同様の理由から、オーバーヘッドが増加
し、バスの使用効率が低下してしまう。そこで、本発明
は上記課題に鑑みてなされたものであり、ターゲット側
バスが空き状態でない場合であっても、データ転送時の
オーバーヘッドを抑え、バスの使用効率及びバースト転
送長を改善するブリッジ装置を提供することを目的とす
る。
On the other hand, in the read operation, for the same reason as in the write operation, the overhead increases and the bus use efficiency decreases. Therefore, the present invention has been made in view of the above problems, and a bridge device that suppresses data transfer overhead and improves bus use efficiency and burst transfer length even when a target-side bus is not idle. The purpose is to provide.

【0027】[0027]

【課題を解決するための手段】上記目的を達成するため
に、本発明に係るブリッジ装置は、送信すべきデータを
有する送信側デバイスに接続された送信側バスと、かか
るデータを受信し得る受信側デバイスに接続された受信
側バスとを有する計算機システムに備えられ、送信され
た送信側バス上のデータをバッファに取り込み、これを
受信側バスに出力することによりデータの受け渡しを行
うブリッジ装置であって、受信側バスが空き状態になる
タイミングを予測する予測手段と、前記予測手段により
予測されたタイミングに基づいて、データ転送を要求し
た送信側デバイスに送信を許可する許可手段とを備え
る。
In order to achieve the above object, a bridge device according to the present invention comprises a transmitting bus connected to a transmitting device having data to be transmitted, and a receiving device capable of receiving the data. A bridge device that is provided in a computer system having a receiving bus connected to a receiving device, captures the transmitted data on the transmitting bus into a buffer, and outputs the data to the receiving bus to transfer data. There is provided prediction means for predicting a timing at which the reception-side bus becomes empty, and permission means for permitting transmission to a transmission-side device that has requested data transfer based on the timing predicted by the prediction means.

【0028】[0028]

【発明の実施の形態】以下では、本発明に係るブリッジ
装置の実施の形態について、図面を参照しながら説明す
る。なお、実施の形態1では、ブリッジ装置経由の「書
き込み動作」について説明し、実施の形態2では、ブリ
ッジ装置経由の「読み出し動作」について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a bridge device according to the present invention will be described with reference to the drawings. The first embodiment describes a “write operation” via a bridge device, and the second embodiment describes a “read operation” via a bridge device.

【0029】(実施の形態1)図1は、本発明の実施形
態1に係るブリッジ装置100が設けられた計算機シス
テム1の概略ブロック図である。便宜上、本実施形態に
おける「書き込み動作」は、第3デバイス50からブリ
ッジ装置100を介して第1デバイス30に64DWの
データを書き込む場合を想定する。
(First Embodiment) FIG. 1 is a schematic block diagram of a computer system 1 provided with a bridge device 100 according to a first embodiment of the present invention. For convenience, the “write operation” in the present embodiment is assumed to write 64 DW data from the third device 50 to the first device 30 via the bridge device 100.

【0030】図1の計算機システム1は、1次側PCI
バス10、2次側PCIバス20、第1デバイス30、
第2デバイス40、第3デバイス50、第4デバイス6
0、調停部70、ブリッジ装置100から構成されてい
る。なお、図1に示されるように、ブリッジ装置100
は2次側PCIバス20における使用権を調停する調停
部180を備えている。
The computer system 1 shown in FIG.
A bus 10, a secondary PCI bus 20, a first device 30,
Second device 40, third device 50, fourth device 6
0, an arbitration unit 70, and a bridge device 100. In addition, as shown in FIG.
Has an arbitration unit 180 that arbitrates the right to use the secondary PCI bus 20.

【0031】ここで、「デバイス」とは、計算機システ
ムを構成する各種入出力装置の総称をいう。また、「P
CIバス」とは、特定のCPUを前提にしない汎用のロ
ーカルバスであり、32ビットのバス幅を基本とし、同
じ32本の信号線を用いてアドレス転送とデータ転送を
時分割で実現している。このPCIバスにおいては、ア
ドレス送信等のオーバーヘッドを無視すれば、1クロッ
ク期間に1DWのデータ転送が可能である。なお、PC
I(Peripheral Component Interconnect)バスについ
ては、「PCI Local Bus Specification, Rev. 2.1」等
に詳細に記述されている。
Here, "device" is a general term for various input / output devices constituting the computer system. In addition, "P
The “CI bus” is a general-purpose local bus that does not assume a specific CPU, and is based on a 32-bit bus width and realizes address transfer and data transfer in a time-division manner using the same 32 signal lines. I have. In this PCI bus, if the overhead such as address transmission is ignored, 1 DW data transfer can be performed in one clock period. In addition, PC
The I (Peripheral Component Interconnect) bus is described in detail in "PCI Local Bus Specification, Rev. 2.1" and the like.

【0032】1次側PCIバス10は、本計算機システ
ム1が有する2本のPCIバスのうちの1つであり、第
1デバイス30、第2デバイス40、調停部70及びブ
リッジ装置100が接続されている。2次側PCIバス
20は、本計算機システム1が有する2本のPCIバス
のうちのもう一方のバスであり、第3デバイス50、第
4デバイス60及びブリッジ装置100が接続されてい
る。なお、2次側PCIバス20に関する仕様等は、1
次側PCIバス10と同じである。
The primary PCI bus 10 is one of the two PCI buses of the computer system 1, and connects the first device 30, the second device 40, the arbitration unit 70 and the bridge device 100. ing. The secondary PCI bus 20 is the other of the two PCI buses of the computer system 1, and is connected to the third device 50, the fourth device 60, and the bridge device 100. The specifications and the like relating to the secondary PCI bus 20 are as follows.
It is the same as the next PCI bus 10.

【0033】第1デバイス30から第4デバイス60
は、各種の入出力装置である。これらのデバイスは、デ
ータ転送を行う場合、それぞれが接続されているバスに
係る調停部70、180に対してREQをアサート後、
それぞれGNTを受信してバスの使用権の獲得を行う。
ブリッジ装置100は、1次側PCIバス10と2次側
PCIバス20の間におけるデータのやりとりを仲介す
る装置であり、内部に「書き込み動作」用として22D
Wのバッファを有している。
From the first device 30 to the fourth device 60
Are various input / output devices. When performing data transfer, these devices assert REQ to the arbitration units 70 and 180 relating to the buses to which they are connected.
Each of them receives the GNT to acquire the right to use the bus.
The bridge device 100 is a device that mediates the exchange of data between the primary PCI bus 10 and the secondary PCI bus 20 and internally has a 22D for “write operation”.
W buffer.

【0034】調停部70は、1次側PCIバス10にお
けるバス使用権の調停を行う。図2は、ブリッジ装置1
00の詳細なブロック図である。ブリッジ装置100
は、データパス110、120、制御部130、14
0、レイテンシタイマレジスタ150、151、予測部
160、170、調停部180から構成されている。
The arbitration unit 70 arbitrates the right to use the bus on the primary PCI bus 10. FIG. 2 shows a bridge device 1
00 is a detailed block diagram of FIG. Bridge device 100
Are the data paths 110 and 120 and the control units 130 and 14
0, latency timer registers 150 and 151, prediction units 160 and 170, and arbitration unit 180.

【0035】データパス110、120は、内部に、そ
れぞれ一方のバスから他方のバスにデータを転送する際
の一時的にデータを格納するためのバッファを有してい
る。これらのデータパス110、120のバッファに
は、それぞれに「書き込み動作」用として22DW、
「遅延読み出し動作」用として18DWの格納領域があ
る。
Each of the data paths 110 and 120 has a buffer for temporarily storing data when data is transferred from one bus to the other bus. The buffers of these data paths 110 and 120 have 22 DW,
There is a storage area of 18 DW for “delayed read operation”.

【0036】制御部130は、「書き込み動作」又は
「遅延読み出し動作」の過程で、データパス110のバ
ッファが全てデータで埋まった場合に、STOPをアサ
ートして「書き込み動作」又は「遅延読み出し動作」の
中止を要求する。制御部140は、制御部130と同様
の機能を有し、データパス120のバッファが全てデー
タで埋まった場合にSTOPをアサートして実行中の動
作の中止を要求する。
In the course of the "write operation" or the "delayed read operation", when the buffer of the data path 110 is completely filled with data, the control unit 130 asserts STOP to perform the "write operation" or the "delayed read operation". ”Is requested. The control unit 140 has the same function as the control unit 130. When the buffer of the data path 120 is completely filled with data, the control unit 140 asserts STOP and requests to stop the operation being executed.

【0037】レイテンシタイマレジスタ150、151
は、それぞれ1次側PCIバス10と2次側PCIバス
20の使用において、マスタ・デバイスが1回のデータ
転送で使用可能な最長の時間を示すカウンタ初期値を格
納するためのレジスタである。なお、本実施形態ではカ
ウンタ初期値を「80」とする。このカウンタ初期値
は、FRAMEがアサートされた時点で、カウンタ16
1に転送される。
Latency timer registers 150 and 151
Is a register for storing an initial counter value indicating the longest time that the master device can use in one data transfer in the use of the primary PCI bus 10 and the secondary PCI bus 20, respectively. In this embodiment, the initial value of the counter is “80”. The counter initial value is set to the value of the counter 16 when FRAME is asserted.
Transferred to 1.

【0038】予測部160、170は、それぞれ1次側
PCIバス10と2次側PCIバス20において、空き
状態の検出及び空き状態となる時刻を予想するための機
能を有する。予測部160と予測部170は同等の機能
を有しているため、以下では主に予測部160について
説明する。予測部160は、カウンタ161、規定値レ
ジスタ162、比較部163、バス状態検出部164、
判定部165より構成される。
The prediction units 160 and 170 have a function of detecting an empty state and estimating a time at which an empty state is established in the primary PCI bus 10 and the secondary PCI bus 20, respectively. Since the prediction unit 160 and the prediction unit 170 have the same function, the following mainly describes the prediction unit 160. The prediction unit 160 includes a counter 161, a prescribed value register 162, a comparison unit 163, a bus state detection unit 164,
It is composed of a judgment unit 165.

【0039】カウンタ161は、1次側PCIバス10
における何れかのデバイスによってFRAME11aが
アサートされた場合に、レイテンシタイマレジスタ15
0よりカウンタ初期値「80」をロードして動作を開始
し、クロックの立ち上がりのタイミング毎にカウントダ
ウンを行う。従って前述のように、この値が「80」の
場合は、マスタ・デバイスは最長80クロックの期間、
バスを占有できることになる。
The counter 161 is connected to the primary PCI bus 10
When the FRAME 11a is asserted by any of the devices in the above, the latency timer register 15
The operation is started by loading the counter initial value “80” from 0, and the countdown is performed at every rising edge of the clock. Therefore, as described above, when this value is “80”, the master device is in a state of up to 80 clocks,
The bus can be occupied.

【0040】規定値レジスタ162は、カウンタ161
でカウントダウンされる値と比較する規定値を格納す
る。この規定値は、データパス110のバッファ容量に
よって決定される値であり、データパス110のバッフ
ァが全てデータで埋まるまでのクロック時間から決定さ
れる値である。但し、最大のバースト転送長によるデー
タ転送を行うためには、データパス110のバッファが
全てデータで埋まる前に転送先のバスにデータの送信を
開始する必要がある。このため、「書き込み動作」用の
バッファ容量は22DWであるが、時間的に2クロック
余裕を確保させることとする。従って、本実施形態にお
ける「書き込み動作」用の規定値は、「20」とする。
The specified value register 162 includes a counter 161
Stores a specified value to be compared with the value counted down by. This prescribed value is a value determined by the buffer capacity of the data path 110, and is a value determined from a clock time until all the buffers of the data path 110 are filled with data. However, in order to perform data transfer with the maximum burst transfer length, it is necessary to start transmitting data to the transfer destination bus before all buffers of the data path 110 are filled with data. For this reason, the buffer capacity for the "write operation" is 22 DW, but a time margin of two clocks is secured. Therefore, the specified value for the “write operation” in the present embodiment is “20”.

【0041】比較部163は、カウンタ161の値と規
定値レジスタ162の値が同一か否かを比較し、「同
一」になった場合に判定部165にその通知を行う。従
って、例えばカウンタ161によって「80」からカウ
ントダウンが開始された場合は、規定値レジスタ162
の値が「20」になった時に「同一」と判定し、判定部
165に通知する。
The comparing section 163 compares whether the value of the counter 161 and the value of the specified value register 162 are the same, and notifies the judging section 165 when the value becomes "the same". Therefore, for example, when the counter 161 starts counting down from “80”, the specified value register 162
Is determined to be “identical” when the value of “” becomes “20”, and the determination unit 165 is notified.

【0042】バス状態検出部164は、1次側PCIバ
ス10における空き状態の検出を行う。この検出は、制
御信号のうち、FRAMEとIRDYが共にディアサー
ト状態の場合を「空き状態」、これ以外の場合を「使用
状態」として検出する。「空き状態」が検出されたと
き、バス状態検出部164は、判定部165にその旨を
通知する。
The bus state detector 164 detects an empty state in the primary PCI bus 10. In this detection, of the control signals, the case where both FRAME and IRDY are in a deasserted state is detected as an “empty state”, and the other case is detected as a “used state”. When an “empty state” is detected, the bus state detection unit 164 notifies the determination unit 165 of the detection.

【0043】判定部165は、以下の2つの条件のう
ち、一方の条件が成立した時点でその旨を調停部180
に通知する。 (条件1)バス状態検出部164より、1次側PCIバ
ス10が「空き状態」になった旨の通知があったこと。 (条件2)比較部163より、カウンタ161の値と規
定値レジスタ162の規定値が「同一」になった旨の通
知があったこと。
When one of the following two conditions is satisfied, the determination unit 165 determines that one of the following conditions is satisfied.
Notify. (Condition 1) A notification from the bus state detection unit 164 that the primary PCI bus 10 has become “free”. (Condition 2) The comparing unit 163 has notified that the value of the counter 161 and the specified value of the specified value register 162 have become “identical”.

【0044】調停部180は、2次側PCIバス20に
おけるバス使用権の調停を行う。具体的には、2次側P
CIバス20に接続されている各デバイスからREQが
アサートされた場合、一定の規則に基づいて各デバイス
のGNTをアサートして、何れかのデバイスにバス使用
権を付与する。この場合、1次側PCIバス10が空き
状態か否かをFRAME11a及びIRDY11bによ
って検出し、空き状態でない場合は、判定部165から
の通知を待って、バス使用権を与えるべくGNTをアサ
ートする。
The arbitration unit 180 arbitrates the right to use the bus on the secondary PCI bus 20. Specifically, the secondary side P
When REQ is asserted from each device connected to the CI bus 20, the GNT of each device is asserted based on a certain rule, and a bus use right is granted to any device. In this case, the FRAME 11a and the IRDY 11b detect whether or not the primary PCI bus 10 is in an empty state. If not, the GRAM is asserted to give a bus use right after waiting for a notification from the determination unit 165.

【0045】次に、本発明に係るブリッジ装置100の
動作について、図面を参照しながら説明する。図3は、
本装置100を含む計算機システム1において、2次側
PCIバス20に接続されている第3デバイス50が、
ブリッジ装置100を介して1次側PCIバス10に接
続されている第1デバイス30に64DWのデータを書
き込む「書き込み動作」における各信号の状態を示すタ
イミングチャートである。なお、当該「書き込み動作」
においては、2次側PCIバス20がマスタ側バス、第
3デバイス50がマスタ・デバイス、1次側PCIバス
10がターゲット側バス、第1デバイス30がターゲッ
ト・デバイスとなる。最初に、第3デバイス50は、2
次側PCIバス20を使用するために、任意のタイミン
グ、例えばクロック3のタイミングでREQ51をアサ
ートにする。
Next, the operation of the bridge device 100 according to the present invention will be described with reference to the drawings. FIG.
In the computer system 1 including the present apparatus 100, the third device 50 connected to the secondary PCI bus 20
6 is a timing chart showing states of respective signals in a “write operation” for writing 64 DW data to the first device 30 connected to the primary PCI bus 10 via the bridge device 100. The “writing operation”
In the above, the secondary PCI bus 20 is the master bus, the third device 50 is the master device, the primary PCI bus 10 is the target bus, and the first device 30 is the target device. First, the third device 50
To use the next PCI bus 20, the REQ 51 is asserted at an arbitrary timing, for example, the timing of the clock 3.

【0046】一方、カウンタ161は、1次側PCIバ
ス10に係る制御信号のうち、FRAME11aがアサ
ートされたか否かを常に監視しており、クロック2のタ
イミングで、FRAME11aがアサート状態になった
ことを検出する(T30)。なお、このFRAME11
aがアサートされたことは、他のデバイスによって1次
側PCIバス10の使用が開始されたことを意味する。
これにより、カウンタ161は、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
On the other hand, the counter 161 constantly monitors whether or not the FRAME 11a is asserted among the control signals related to the primary PCI bus 10, and the FRAME 11a is asserted at the timing of the clock 2. Is detected (T30). This FRAME11
The assertion of a means that the use of the primary PCI bus 10 has been started by another device.
As a result, the counter 161 loads the counter initial value “80” from the latency timer register 150 and starts counting down.

【0047】また、バス状態検出部164は、1次側P
CIバス10に係る制御信号のうち、FRAME11a
とIRDY11bが共にディアサート状態か否かを常に
監視している。本実施形態の場合は、図3に示されるよ
うに、クロック2からクロック83までの間は、他のデ
バイスによって1次側PCIバス10が使用されてい
る。
Further, the bus state detecting section 164 detects the primary P
Among the control signals related to the CI bus 10, FRAME 11a
And IRDY 11b are constantly monitoring whether or not both are in a deasserted state. In the case of the present embodiment, as shown in FIG. 3, between the clock 2 and the clock 83, the primary PCI bus 10 is used by another device.

【0048】次に、比較部163は、クロック62のタ
イミングで、カウンタ161の値とと規定値レジスタ1
62の値が「20」で同一となったため(T31)、判
定部165を介して調停部180にその旨を通知する。
これによって、判定部180は、第3デバイス50に2
次側PCIバス20の使用権を与えるべく、GNT52
をアサートする(T32)。
Next, at the timing of the clock 62, the comparator 163 compares the value of the counter 161 with the specified value register 1
Since the value of 62 is the same at “20” (T31), the fact is notified to the arbitration unit 180 via the determination unit 165.
Thereby, the determination unit 180 determines that the third device 50
To grant the right to use the secondary PCI bus 20, the GNT 52
Is asserted (T32).

【0049】これによって、第3デバイス50は、クロ
ック64のタイミングから「(第1デバイスを示す1D
Wのアドレス)+(64DWのデータ)」の送信を開始
し、ブリッジ装置100がこれらのデータの取り込みを
始める。また、ブリッジ装置100は、1次側PCIバ
ス10を使用するためにクロック63のタイミングでR
EQ71をアサートする。
As a result, the third device 50 sets “(1D indicating the first device) from the timing of the clock 64.
The transmission of “(address of W) + (data of 64 DW)” is started, and the bridge device 100 starts taking in these data. Further, the bridge device 100 uses the primary PCI bus 10 so that the
Assert EQ71.

【0050】これに対し、調停部70は、カウンタ16
1の値が「0」になるクロック82のタイミングで(T
33)、他のデバイスによってFRAME11aがディ
アサートされ1次側PCIバス10が空き状態となるの
で、GNT72をアサートし(T34)、ブリッジ装置
100に1次側PCIバス10の使用権を与える。
On the other hand, the arbitration unit 70 includes the counter 16
At the timing of the clock 82 when the value of 1 becomes “0”, (T
33) Since the FRAME 11a is deasserted by another device and the primary PCI bus 10 becomes empty, the GNT 72 is asserted (T34), and the bridge device 100 is given the right to use the primary PCI bus 10.

【0051】最後に、ブリッジ装置100は、第1デバ
イス30に対して、クロック84のタイミングから
「(第1デバイスを示す1DWのアドレス)+(64D
Wのデータ)」を送信し、当該「書き込み動作」を終え
る。
Finally, the bridge device 100 sends the first device 30 “(1DW address indicating the first device) + (64D
W data) ”to end the“ write operation ”.

【0052】以上のように、「書き込み動作」におい
て、マスタ側バスとターゲット側バスが同時に空き状態
になっていない場合であっても、ターゲット側バスが空
き状態になると予測されるタイミングに合わせて、マス
タ・デバイスの「書き込み動作」を開始するため、連続
したデータ転送が可能となり、バースト転送長とバス使
用効率の改善が図れる。また、上記のターゲット側バス
が空き状態になると予測されるタイミング以前に、ター
ゲット側バスが空き状態になった場合は、このタイミン
グに合わせてマスタ・デバイスの「書き込み動作」を開
始するため、無駄な待ち時間を排除することができる。
As described above, in the "write operation", even when the master-side bus and the target-side bus are not idle at the same time, the timing is expected to be such that the target-side bus is expected to be idle. Since the "write operation" of the master device is started, continuous data transfer becomes possible, and the burst transfer length and the bus use efficiency can be improved. If the target bus becomes empty before the timing at which the target bus is predicted to be empty, the "write operation" of the master device is started at this timing. A long waiting time can be eliminated.

【0053】(実施の形態2)本発明の実施形態2で
は、「遅延読み出し」による「読み出し動作」について
説明する。本実施形態では、第2デバイス40が、ブリ
ッジ装置100を介して第4デバイス60から64DW
のデータを「遅延読み出し」する場合を想定する。「遅
延読み出し」方法の概要については、前述した通りであ
る。
(Embodiment 2) In Embodiment 2 of the present invention, a "read operation" by "delayed read" will be described. In the present embodiment, the second device 40 communicates with the fourth device 60 via the bridge device 100 to 64DW.
Is assumed to be "delayed read" the data of FIG. The outline of the “delayed reading” method is as described above.

【0054】なお、本実施形態における計算機システム
及びブリッジ装置は、基本的に実施形態1と同一とす
る。但し、データパス110、120の内部に「遅延読
み出し」用として18DWのバッファを有することとす
る。また、規定値レジスタ162の規定値は、前記「書
き込み動作」の場合と同様の理由から「16」とする。
Note that the computer system and the bridge device in the present embodiment are basically the same as those in the first embodiment. However, it is assumed that an 18 DW buffer is provided inside the data paths 110 and 120 for “delayed reading”. The specified value of the specified value register 162 is set to “16” for the same reason as in the case of the “write operation”.

【0055】図4は、当該「読み出し動作」における各
信号の状態を示すタイミングチャートである。なお、当
該「読み出し動作」においては、1次側PCIバスがマ
スタ側バス、第2デバイス40がマスタ・デバイス、2
次側PCIバス20がターゲット側バス、第4デバイス
がターゲット・デバイスとなる。
FIG. 4 is a timing chart showing the state of each signal in the "read operation". In the “read operation”, the primary PCI bus is the master bus, the second device 40 is the master device,
The secondary PCI bus 20 is a target bus, and the fourth device is a target device.

【0056】最初に、第2デバイス40は、1次側PC
Iバス10を使用するために、任意のタイミング、例え
ばクロック1のタイミングでREQ41をアサートす
る。これに対し、調停部70は、GNT42をアサート
し、第2デバイス40に1次側PCIバス10の使用権
を与える。これにより、第2デバイス40は、クロック
4のタイミングで「第4デバイスを示す1DWのアドレ
ス」を送信する。
First, the second device 40 is a primary PC
In order to use the I bus 10, the REQ 41 is asserted at an arbitrary timing, for example, the timing of the clock 1. On the other hand, the arbitration unit 70 asserts the GNT 42 and gives the second device 40 the right to use the primary PCI bus 10. Accordingly, the second device 40 transmits the “1DW address indicating the fourth device” at the timing of the clock 4.

【0057】これにより、ブリッジ装置100は、「第
4デバイスを示す1DWのアドレス」を取り込み、一旦
当該「読み出し動作」を中断するためにクロック4のタ
イミングでSTOP11dをアサートする。この後、第
2デバイス40によって、FRAME11a及びIRD
Y11bがディアサートされ、1次側PCIバス10が
「空き状態」となる。この場合、ブリッジ装置100
は、クロック4のタイミングで2次側PCIバス20を
使用するためにREQ101をアサートする。
As a result, the bridge device 100 takes in the “1DW address indicating the fourth device” and asserts the STOP 11d at the timing of the clock 4 to temporarily suspend the “read operation”. Thereafter, the FRAME 11a and the IRD
Y11b is deasserted, and the primary PCI bus 10 becomes "empty". In this case, the bridge device 100
Asserts REQ101 at the timing of clock 4 to use the secondary PCI bus 20.

【0058】次に、カウンタ161は、第2デバイス4
0が一旦1次側PCIバス10の使用権を放棄した後の
クロック18のタイミングで、他のデバイスによって1
次側PCIバス10に係るFRAME11aがアサート
されたことを検出し(T40)、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
Next, the counter 161 indicates that the second device 4
0 is temporarily released by another device at the timing of the clock 18 after the use right of the primary PCI bus 10 is relinquished.
It detects that the FRAME 11a of the next PCI bus 10 has been asserted (T40), loads the counter initial value "80" from the latency timer register 150, and starts counting down.

【0059】その後、調停部180は、クロック82の
タイミングで、判定部165からカウンタ161の値と
規定値レジスタの値が同一になった(T41)旨の通知
に基づいて、ブリッジ装置100に2次側PCIバス2
0を使用するためにGNT102をアサートし(T4
2)、バス使用権を与える。
After that, the arbitration unit 180 sends the bridge device 100 2 at the timing of the clock 82 based on the notification from the determination unit 165 that the value of the counter 161 and the value of the specified value register have become the same (T41). Secondary PCI bus 2
Assert GNT 102 to use 0 (T4
2) Give the right to use the bus.

【0060】これにより、ブリッジ装置100は、第4
デバイス60から読み出した64DWのデータをデータ
パス120の「遅延読み出し」用のバッファに取り込み
始める(CLK99〜CLK162)。一方、第2デバ
イス40は、カウンタ161の値が規定値「16」と同
一になったクロック82のタイミングで、REQ41を
アサートする。
As a result, the bridge device 100
The 64 DW data read from the device 60 starts to be taken into the buffer for “delayed reading” of the data path 120 (CLK99 to CLK162). On the other hand, the second device 40 asserts the REQ 41 at the timing of the clock 82 at which the value of the counter 161 becomes equal to the specified value “16”.

【0061】この間、バス状態検出部164は、1次側
PCIバス10における制御信号のうち、FRAME1
1aとIRDY11bが共にディアサートされたか否か
を監視しており、カウンタ161の値が「0」なる以前
のクロック84のタイミングで、1次側PCIバス10
が「空き状態」となったことを検出する(T43、T4
4)。
During this time, the bus state detection unit 164 outputs the FRAME1 among the control signals on the primary PCI bus 10.
1a and IRDY 11b are monitored to see if they are both deasserted. At the timing of the clock 84 before the value of the counter 161 becomes "0", the primary PCI bus 10
Is detected as being “vacant” (T43, T4).
4).

【0062】これにより、調停部70は、GNT42を
アサートし(T45)、第2デバイス40に1次側PC
Iバス10の使用権を与える。最後に、第2デバイス4
0は、ブリッジ装置100から送信される第4デバイス
から読み出した「64DWのデータ」の受信し、当該
「読み出し動作」を終える。
As a result, the arbitrating unit 70 asserts the GNT 42 (T45) and causes the second device 40 to send the primary PC
The right to use the I bus 10 is given. Finally, the second device 4
0 receives “64 DW data” read from the fourth device and transmitted from the bridge device 100, and ends the “read operation”.

【0063】以上のように、「遅延読み出し」による
「読み出し動作」において、マスタ側バスとターゲット
側バスが同時に空き状態になっていない場合であって
も、マスタ側バスが空き状態になると予測されるタイミ
ングに合わせて、ターゲット・デバイスの「読み出し動
作」を開始するため、連続したデータ転送が可能とな
り、バースト転送長とバス使用効率の改善が図れる。ま
た、上記のマスタ側バスが空き状態になると予測される
タイミング以前に、マスタ側バスが空き状態になった場
合は、このタイミングに合わせてターゲット・デバイス
からの「読み出し動作」を開始するため、無駄な待ち時
間を排除することができる。
As described above, in the “read operation” by the “delayed read”, even if the master bus and the target bus are not idle at the same time, it is predicted that the master bus will be idle. Since the “read operation” of the target device is started at the same timing as the target device, continuous data transfer becomes possible, and the burst transfer length and the bus use efficiency can be improved. Also, if the master-side bus becomes empty before the timing at which the master-side bus is expected to be empty, a “read operation” from the target device is started in accordance with this timing, Unnecessary waiting time can be eliminated.

【0064】なお、上記各実施形態では、規定値レジス
タ162の規定値を、2クロックの時間的な余裕を確保
して「書き込み動作」用として「20」に、「読み出し
動作」用として「16」に設定したが、2クロック以外
の時間的余裕を確保して規定値を設定してもよい。
In the above embodiments, the specified value of the specified value register 162 is set to “20” for “write operation” and “16” for “read operation” by securing a time margin of two clocks. However, the specified value may be set by securing a time margin other than two clocks.

【0065】[0065]

【発明の効果】以上の説明から明らかなように、本発明
に係るブリッジ装置は、送信すべきデータを有する送信
側デバイスに接続された送信側バスと、かかるデータを
受信し得る受信側デバイスに接続された受信側バスとを
有する計算機システムに備えられ、送信された送信側バ
ス上のデータをバッファに取り込み、これを受信側バス
に出力することによりデータの受け渡しを行うブリッジ
装置であって、受信側バスが空き状態になるタイミング
を予測する予測手段と、前記予測手段により予測された
タイミングに基づいて、データ転送を要求した送信側デ
バイスに送信を許可する許可手段とを備える。
As is apparent from the above description, the bridge device according to the present invention includes a transmitting bus connected to a transmitting device having data to be transmitted, and a receiving device capable of receiving such data. A bridge device that is provided in a computer system having a connected receiving-side bus and captures the transmitted data on the transmitting-side bus in a buffer, and transfers the data by outputting the data to the receiving-side bus. The prediction device includes a prediction unit that predicts a timing at which the reception-side bus becomes empty, and a permission unit that permits transmission to a transmission-side device that has requested data transfer based on the timing predicted by the prediction unit.

【0066】これにより、受信側バスが空き状態になる
タイミングに合わせて、送信側デバイスからデータ転送
を開始することができるため、途中で中断することなく
連続したデータ転送が可能となる。
As a result, the data transfer can be started from the transmitting device at the timing when the receiving bus becomes empty, so that continuous data transfer can be performed without interruption.

【0067】また、前記予測手段は、受信側バスにおけ
る他のデバイスによるデータ転送の開始を検出する検出
部と、データ転送の開始が検出された時から、時間を計
時する計時部とを備え、前記許可手段は、前記計時部が
一定時間を計時したとき、前記送信側デバイスに送信を
許可し、前記一定時間は、1回のデータ転送においてバ
スを連続的に占有することが許されている最長の時間か
ら前記バッファのサイズ分のデータを前記バッファに転
送するのに要する時間を引いた時間として構成すること
もできる。
Further, the predicting means includes a detecting unit for detecting the start of data transfer by another device on the receiving bus, and a timing unit for measuring a time from the start of the data transfer. The permitting means permits the transmitting device to transmit when the timer measures a certain time, and is allowed to continuously occupy the bus in one data transfer during the certain time. It may be configured as a time obtained by subtracting the time required to transfer data of the size of the buffer to the buffer from the longest time.

【0068】これにより、送信側デバイスからブリッジ
装置にバッファサイズ分のデータ転送を完了するタイミ
ングには、他のデバイスにおける受信側バスを占有でき
る時間が終了するので、ブリッジ装置は、受信側バスに
バッファ内のデータを出力しながら、送信側デバイスか
ら送信される続きのデータの取り込みを継続することが
できる。
Thus, at the timing when the data transfer of the buffer size is completed from the transmitting device to the bridge device, the time during which the other device can occupy the receiving bus ends. While outputting the data in the buffer, the capture of the subsequent data transmitted from the transmitting device can be continued.

【0069】さらに、前記予測手段は、受信側バスにお
ける他のデバイスによるデータ転送の開始を検出する検
出部と、データ転送の開始が検出されたとき、1回のデ
ータ転送においてバスを連続的に占有することが許され
ている最長の時間を計時する計時部と、前記バッファの
サイズ分のデータを前記バッファに転送するのに要する
時間を保持する保持部と、前記計時部で計時されている
最長時間までの残り時間と、前記保持部に保持された時
間とを比較し、一致した時点を検出する比較部とを備え
るように構成することもできる。
Further, the predicting means includes a detecting section for detecting the start of data transfer by another device on the receiving side bus, and when detecting the start of data transfer, continuously connects the bus in one data transfer. A timer that measures the longest time allowed to be occupied, a retaining unit that retains the time required to transfer data of the size of the buffer to the buffer, and a timer that measures the time. It may be configured to include a comparing unit that compares the remaining time up to the longest time with the time held in the holding unit and detects a coincidence time.

【0070】これにより、上述のように、送信側デバイ
スからブリッジ装置にバッファサイズ分のデータ転送を
完了するタイミングには、他のデバイスにおける受信側
バスを占有できる時間が終了するので、ブリッジ装置
は、受信側バスにバッファ内のデータを出力しながら、
送信側デバイスから送信される続きのデータの取り込み
を継続することができる。
As a result, as described above, at the timing when the data transfer of the buffer size is completed from the transmitting device to the bridge device, the time during which the receiving device can occupy the receiving bus ends. While outputting the data in the buffer to the receiving bus,
The capture of the subsequent data transmitted from the transmitting device can be continued.

【0071】また、前記許可手段は、送信側バス、受信
側バスそれぞれの空き状態を検出するバス状態検出部
と、前記送信側デバイスからデータ転送要求を受付ける
受付手段と、データ転送を要求した送信側デバイスに対
して、両バスが空いていると検出された場合は、直ちに
送信を許可し、送信側バスのみが空き状態であると検出
された場合は、前記比較部による比較の結果、前記一致
した時点で送信を許可するように構成することもでき
る。
The permitting means includes a bus state detecting unit for detecting an empty state of each of the transmitting bus and the receiving bus, a receiving means for receiving a data transfer request from the transmitting device, and a transmitting means for requesting the data transfer. For the side device, if it is detected that both buses are free, transmission is immediately permitted, and if it is detected that only the transmission side bus is free, as a result of comparison by the comparing unit, It is also possible to configure so that transmission is permitted at the time of matching.

【0072】これにより、送信側バスと受信側バスの空
き状態を常に監視し、受信側バスが空き状態になり次
第、送信側デバイスからデータ転送を開始するので、中
断することなく連続したデータ転送が可能となる。
In this way, the vacant state of the transmitting bus and the receiving bus is constantly monitored, and data transmission is started from the transmitting device as soon as the receiving bus becomes vacant. Becomes possible.

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

【図1】本発明に係るブリッジ装置100を含む計算機
システム1の概略ブロック図である。
FIG. 1 is a schematic block diagram of a computer system 1 including a bridge device 100 according to the present invention.

【図2】本発明に係るブリッジ装置100の詳細ブロッ
ク図である。
FIG. 2 is a detailed block diagram of a bridge device 100 according to the present invention.

【図3】実施形態1に係る書き込み動作における各信号
の様子を示すタイミングチャートである。
FIG. 3 is a timing chart showing a state of each signal in a write operation according to the first embodiment.

【図4】実施形態2に係る読み出し動作における各信号
の様子を示すタイミングチャートである。
FIG. 4 is a timing chart showing a state of each signal in a read operation according to the second embodiment.

【図5】従来のブリッジ装置を含む計算機システムの概
略ブロック図である。
FIG. 5 is a schematic block diagram of a computer system including a conventional bridge device.

【図6】従来のブリッジ装置を用いた書き込み動作で、
ターゲット側バスが空き状態の場合の各信号の様子を示
すタイミングチャートである。
FIG. 6 shows a write operation using a conventional bridge device;
5 is a timing chart showing the state of each signal when the target side bus is empty.

【図7】従来のブリッジ装置を用いた書き込み動作で、
ターゲット側バスが空き状態でない場合の各信号の様子
を示すタイミングチャートである。
FIG. 7 shows a write operation using a conventional bridge device;
6 is a timing chart showing the state of each signal when the target bus is not empty.

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

1 計算機システム 10、510 1次側PCIバス 20、520 2次側PCIバス 30、530 第1デバイス 40、540 第2デバイス 50、550 第3デバイス 60、560 第4デバイス 70、180 調停部 570、580 調停部 100 ブリッジ装置 110、120 データパス 130、140 制御部 150、151 レイテンシタイマレジスタ 160、170 予測部 161 カウンタ 162 規定値レジスタ 163 比較部 164 バス状態検出部 165 判定部 1 Computer System 10, 510 Primary PCI Bus 20, 520 Secondary PCI Bus 30, 530 First Device 40, 540 Second Device 50, 550 Third Device 60, 560 Fourth Device 70, 180 Arbitration Unit 570, 580 Arbitration unit 100 Bridge device 110, 120 Data path 130, 140 Control unit 150, 151 Latency timer register 160, 170 Prediction unit 161 Counter 162 Prescribed value register 163 Comparison unit 164 Bus state detection unit 165 Judgment unit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 送信すべきデータを有する送信側デバイ
スに接続された送信側バスと、かかるデータを受信し得
る受信側デバイスに接続された受信側バスとを有する計
算機システムに備えられ、送信された送信側バス上のデ
ータをバッファに取り込み、これを受信側バスに出力す
ることによりデータの受け渡しを行うブリッジ装置であ
って、 受信側バスが空き状態になるタイミングを予測する予測
手段と、 前記予測手段により予測されたタイミングに基づいて、
データ転送を要求した送信側デバイスに送信を許可する
許可手段とを備えることを特徴とするブリッジ装置。
1. A computer system having a transmitting bus connected to a transmitting device having data to be transmitted and a receiving bus connected to a receiving device capable of receiving such data, and comprising: A bridge device for receiving data on the transmission-side bus into a buffer and outputting the data to the reception-side bus to transfer data, and a prediction unit for predicting a timing at which the reception-side bus becomes empty, Based on the timing predicted by the prediction means,
A permission unit for permitting transmission to a transmission-side device that has requested data transfer.
【請求項2】 前記予測手段は、 受信側バスにおける他のデバイスによるデータ転送の開
始を検出する検出部と、 データ転送の開始が検出された時から、時間を計時する
計時部とを備え、 前記許可手段は、前記計時部が一定時間を計時したと
き、前記送信側デバイスに送信を許可し、 前記一定時間は、1回のデータ転送においてバスを連続
的に占有することが許されている最長の時間から前記バ
ッファのサイズ分のデータを前記バッファに転送するの
に要する時間を引いた時間であることを特徴とする請求
項1記載のブリッジ装置。
2. The predicting means includes: a detecting unit that detects a start of data transfer by another device on a receiving-side bus; and a timing unit that counts time from when the start of the data transfer is detected. The permitting means permits the transmitting device to transmit when the timer measures a predetermined time, and is allowed to continuously occupy the bus in one data transfer during the predetermined time. 2. The bridge device according to claim 1, wherein the time is obtained by subtracting a time required for transferring data of the size of the buffer to the buffer from a longest time.
【請求項3】 前記予測手段は、 受信側バスにおける他のデバイスによるデータ転送の開
始を検出する検出部と、 データ転送の開始が検出されたとき、1回のデータ転送
においてバスを連続的に占有することが許されている最
長の時間を計時する計時部と、 前記バッファのサイズ分のデータを前記バッファに転送
するのに要する時間を保持する保持部と、 前記計時部で計時されている最長時間までの残り時間
と、前記保持部に保持された時間とを比較し、一致した
時点を検出する比較部とを備えることを特徴とする請求
項1記載のブリッジ装置。
3. The detecting means for detecting the start of data transfer by another device on a receiving-side bus, and when the start of data transfer is detected, continuously connects the bus in one data transfer. A timer that measures the longest time allowed to be occupied; a retaining unit that retains the time required to transfer data of the size of the buffer to the buffer; and a timer that measures the time. The bridge device according to claim 1, further comprising: a comparing unit configured to compare a remaining time up to a longest time with a time held in the holding unit and detect a coincidence time.
【請求項4】 前記許可手段は、 送信側バス、受信側バスそれぞれの空き状態を検出する
バス状態検出部と、 前記送信側デバイスからデータ転送要求を受付ける受付
手段と、 データ転送を要求した送信側デバイスに対して、両バス
が空いていると検出された場合は、直ちに送信を許可
し、 送信側バスのみが空き状態であると検出された場合は、
前記比較部による比較の結果、前記一致した時点で送信
を許可することを特徴とする請求項3記載のブリッジ装
置。
4. The transmission device according to claim 1, wherein the permission unit includes a bus state detection unit configured to detect an empty state of each of the transmission-side bus and the reception-side bus; a reception unit configured to receive a data transfer request from the transmission-side device; If both buses are detected to be free for the transmitting device, transmission is immediately permitted.If only the transmitting bus is detected to be free,
4. The bridge device according to claim 3, wherein transmission is permitted at the time when the result of the comparison by the comparison unit matches.
JP10200239A 1998-07-15 1998-07-15 Bridge device Pending JP2000029822A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10200239A JP2000029822A (en) 1998-07-15 1998-07-15 Bridge device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10200239A JP2000029822A (en) 1998-07-15 1998-07-15 Bridge device

Publications (1)

Publication Number Publication Date
JP2000029822A true JP2000029822A (en) 2000-01-28

Family

ID=16421127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10200239A Pending JP2000029822A (en) 1998-07-15 1998-07-15 Bridge device

Country Status (1)

Country Link
JP (1) JP2000029822A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072905A (en) * 2002-08-06 2004-03-04 Toshiba Corp Digital protecting and controlling device
US8713277B2 (en) 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
CN114503089A (en) * 2019-12-05 2022-05-13 奥林巴斯株式会社 Data transfer device and data transfer method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072905A (en) * 2002-08-06 2004-03-04 Toshiba Corp Digital protecting and controlling device
US8713277B2 (en) 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
CN114503089A (en) * 2019-12-05 2022-05-13 奥林巴斯株式会社 Data transfer device and data transfer method

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US6356963B1 (en) Long latency interrupt handling and input/output write posting
US5416910A (en) Method and apparatus for performing bus arbitration in a data processing system
US6094700A (en) Serial bus system for sending multiple frames of unique data
US5933610A (en) Predictive arbitration system for PCI bus agents
CA2026737C (en) Bus master interface circuit with transparent preemption of a data transfer controller
US20050193155A1 (en) Data transfer apparatus and transfer control program
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JP4313607B2 (en) Bus connection circuit and bus connection system
US6697904B1 (en) Preventing starvation of agents on a bus bridge
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
US6247087B1 (en) Bus system for shadowing registers
US6629178B1 (en) System and method for controlling bus access for bus agents having varying priorities
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US20020078282A1 (en) Target directed completion for bus transactions
US6973520B2 (en) System and method for providing improved bus utilization via target directed completion
US7296109B1 (en) Buffer bypass circuit for reducing latency in information transfers to a bus
JP2000029822A (en) Bridge device
EP0886218B1 (en) Time multiplexed scheme for deadlock resolution in distributed arbitration
US7043595B2 (en) Data transfer control device
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
JPH07295947A (en) Equipment and method for data transfer management
US6178477B1 (en) Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
KR20070080307A (en) System having bus architecture for improving cpu performance and method using the same