JP2000029822A - ブリッジ装置 - Google Patents
ブリッジ装置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
Links
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【課題】 一方のバスから他方のバスにブリッジ装置を
経由してデータを転送する際に、転送先のバスが空き状
態でない場合は、データ転送が中断され、バースト転送
長が内部バッファの容量に制限される。 【解決手段】 ブリッジ装置100は、転送データを一
時的に格納するデータパスと、データパスに係るデータ
の送受信を制御する制御部と、1回のデータ転送でバス
を占有できる最大クロック時間を格納するレイテンシタ
イマレジスタと、転送元のバスにおける使用権を調停す
る調停部の他に、転送先のバスが空き状態になるタイミ
ングまでのクロック数をカウントするカウンタ161
と、データパスのバッファ容量を示す規定値を格納する
規定値レジスタ162と、カウンタ161の値と規定値
を比較する比較部163と、転送先のバスが空き状態か
否かを監視するバス状態検出部164とから成る予測部
160を備える。
経由してデータを転送する際に、転送先のバスが空き状
態でない場合は、データ転送が中断され、バースト転送
長が内部バッファの容量に制限される。 【解決手段】 ブリッジ装置100は、転送データを一
時的に格納するデータパスと、データパスに係るデータ
の送受信を制御する制御部と、1回のデータ転送でバス
を占有できる最大クロック時間を格納するレイテンシタ
イマレジスタと、転送元のバスにおける使用権を調停す
る調停部の他に、転送先のバスが空き状態になるタイミ
ングまでのクロック数をカウントするカウンタ161
と、データパスのバッファ容量を示す規定値を格納する
規定値レジスタ162と、カウンタ161の値と規定値
を比較する比較部163と、転送先のバスが空き状態か
否かを監視するバス状態検出部164とから成る予測部
160を備える。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のバスを有す
る計算機システムにおけるバス間を接続するブリッジ装
置に関する。
る計算機システムにおけるバス間を接続するブリッジ装
置に関する。
【0002】
【従来の技術】近年の計算機システム、特にパーソナル
コンピュータやワークステーションにおいては、機能、
性能両面の向上を図るため、1つのCPUに多くの周辺
装置が接続される。この場合、CPUや周辺装置などの
デバイスは、バスと呼ばれる共通信号路によって接続さ
れる。
コンピュータやワークステーションにおいては、機能、
性能両面の向上を図るため、1つのCPUに多くの周辺
装置が接続される。この場合、CPUや周辺装置などの
デバイスは、バスと呼ばれる共通信号路によって接続さ
れる。
【0003】通常、計算機システムにおけるバスには無
制限に多くのデバイスを接続できるわけではなく、電気
的な負荷や安定性により、その数が制限される。例え
ば、PCI(Peripheral Component Interconnect)バ
スの場合では、10個程度が限界とされている。
制限に多くのデバイスを接続できるわけではなく、電気
的な負荷や安定性により、その数が制限される。例え
ば、PCI(Peripheral Component Interconnect)バ
スの場合では、10個程度が限界とされている。
【0004】しかし、上記限界以上のデバイスを接続し
なければならない場合も生じ得る。このような場合に、
より多くのデバイスを接続する方法として「ブリッジ装
置」を用いる方法がある。これは、「ブリッジ装置」を
2本のバスの間に配置し、内部に設けられたバッファを
活用しながら、双方のバスに接続されているデバイス間
におけるデータ転送の仲介役として使用する方法であ
る。この「ブリッジ装置」を用いることにより、電気的
な負荷が軽減され、安定したデータ転送が可能になる。
なければならない場合も生じ得る。このような場合に、
より多くのデバイスを接続する方法として「ブリッジ装
置」を用いる方法がある。これは、「ブリッジ装置」を
2本のバスの間に配置し、内部に設けられたバッファを
活用しながら、双方のバスに接続されているデバイス間
におけるデータ転送の仲介役として使用する方法であ
る。この「ブリッジ装置」を用いることにより、電気的
な負荷が軽減され、安定したデータ転送が可能になる。
【0005】以下では、主に従来のブリッジ装置を用い
た場合の「書き込み動作」について説明し、「読み出し
動作」の概要についての説明も加えることとする。図5
は、従来のブリッジ装置500を含む計算機システムの
概略ブロック図である。本システムは、1次側PCIバ
ス510とこれに接続される第1デバイス530及び第
2デバイス540、2次側PCIバス520とこれに接
続される第3デバイス550及び第4デバイス560、
1次側PCIバスにおける使用権を調停するための調停
部570、2次側PCIバスにおける使用権を調停する
ための調停部580を備えるブリッジ装置500から構
成されている。
た場合の「書き込み動作」について説明し、「読み出し
動作」の概要についての説明も加えることとする。図5
は、従来のブリッジ装置500を含む計算機システムの
概略ブロック図である。本システムは、1次側PCIバ
ス510とこれに接続される第1デバイス530及び第
2デバイス540、2次側PCIバス520とこれに接
続される第3デバイス550及び第4デバイス560、
1次側PCIバスにおける使用権を調停するための調停
部570、2次側PCIバスにおける使用権を調停する
ための調停部580を備えるブリッジ装置500から構
成されている。
【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の使用権
を与える。
る」とは、調停部が、バスを一時的に占有して使用でき
る権利をどのタイミングで、どのデバイスに与えるかを
一定の規則に基づいて決定することをいう。具体的に
は、以下のような処理を行う。例えば、調停部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の使用権
を与える。
【0007】なお、図5に示すその他のREQ501及
びGNT502、REQ541及びGNT542、RE
Q571及びGNT572の各信号は、上記と同様のバ
ス使用権要求信号及びバス使用権許可信号である。
びGNT502、REQ541及びGNT542、RE
Q571及びGNT572の各信号は、上記と同様のバ
ス使用権要求信号及びバス使用権許可信号である。
【0008】ブリッジ装置500は、前述した調停部5
80と、「書き込み動作」のための内部バッファ(図5
には示されていない。)を備えている。例えば、DEC
社製21152の場合では、「書き込み動作」用の内部
バッファとして、アドレスとデータを合わせて22ダブ
ルワード(以下、DWと称する。)の格納領域を備えて
いる。なお、1DWは32ビットで構成されるデータで
ある。
80と、「書き込み動作」のための内部バッファ(図5
には示されていない。)を備えている。例えば、DEC
社製21152の場合では、「書き込み動作」用の内部
バッファとして、アドレスとデータを合わせて22ダブ
ルワード(以下、DWと称する。)の格納領域を備えて
いる。なお、1DWは32ビットで構成されるデータで
ある。
【0009】第1デバイス530から第4デバイス56
0は、ハードディスク等の入出力装置である。これらの
デバイスは、それぞれが接続されているPCIバスを使
用する際には、REQを調停部570又は580に送信
し、それぞれの調停部からのGNTを受信して、バス使
用権を獲得する。
0は、ハードディスク等の入出力装置である。これらの
デバイスは、それぞれが接続されているPCIバスを使
用する際には、REQを調停部570又は580に送信
し、それぞれの調停部からのGNTを受信して、バス使
用権を獲得する。
【0010】調停部570は、1次側PCIバス510
における使用権の調停を行う。制御信号511a〜51
1dは、1次側PCIバス510の使用状態を制御する
ための信号であり、バスが何れかのデバイスよって使用
されている状態であることを示すサイクル・フレーム信
号(以下、FRAMEと称する。)511a、マスタ・
デバイスがデータ転送可能な状態を示すイニシエータ・
レディ信号(以下、IRDYと称する。)511b、タ
ーゲット・デバイスがデータ転送可能な状態を示すター
ゲット・レディ信号(以下、TRDYと称する。)51
1c、ターゲット・デバイスが現在実行中の処理の中止
を要求する中止要求信号(以下、STOPと称する。)
511dの4種類の信号である。
における使用権の調停を行う。制御信号511a〜51
1dは、1次側PCIバス510の使用状態を制御する
ための信号であり、バスが何れかのデバイスよって使用
されている状態であることを示すサイクル・フレーム信
号(以下、FRAMEと称する。)511a、マスタ・
デバイスがデータ転送可能な状態を示すイニシエータ・
レディ信号(以下、IRDYと称する。)511b、タ
ーゲット・デバイスがデータ転送可能な状態を示すター
ゲット・レディ信号(以下、TRDYと称する。)51
1c、ターゲット・デバイスが現在実行中の処理の中止
を要求する中止要求信号(以下、STOPと称する。)
511dの4種類の信号である。
【0011】制御信号521a〜521dは、2次側P
CIバス520における制御信号であり、1次側PCI
バス510の場合と同様の、FRAME521a、IR
DY521b、TRDY521c、STOP521dの
4種類の信号である。
CIバス520における制御信号であり、1次側PCI
バス510の場合と同様の、FRAME521a、IR
DY521b、TRDY521c、STOP521dの
4種類の信号である。
【0012】次に、従来のブリッジ装置500を用い
て、2次側PCIバス520に接続されているマスタ・
デバイスである第3デバイス550から、1次側PCI
バス510に接続されているターゲット・デバイスであ
る第1デバイス530に64DWのデータを書き込む
「書き込み動作」について、図6及び図7を参照しなが
ら説明する。この場合、2次側PCIバス520がマス
タ側バスであり、1次側PCIバス510がターゲット
側バスである。
て、2次側PCIバス520に接続されているマスタ・
デバイスである第3デバイス550から、1次側PCI
バス510に接続されているターゲット・デバイスであ
る第1デバイス530に64DWのデータを書き込む
「書き込み動作」について、図6及び図7を参照しなが
ら説明する。この場合、2次側PCIバス520がマス
タ側バスであり、1次側PCIバス510がターゲット
側バスである。
【0013】図6は、2次側PCIバス520と1次側
PCIバス510が共に空き状態であるため、連続して
データ転送ができる場合の当該「書き込み動作」におけ
る各信号の様子を示すタイミングチャートである。な
お、図6において、「A/D520」とは、アドレスと
データの送受信を共用している2次側PCIバス520
を意味する(以下、同様)。
PCIバス510が共に空き状態であるため、連続して
データ転送ができる場合の当該「書き込み動作」におけ
る各信号の様子を示すタイミングチャートである。な
お、図6において、「A/D520」とは、アドレスと
データの送受信を共用している2次側PCIバス520
を意味する(以下、同様)。
【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)。
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)。
【0015】この場合、ブリッジ装置500は、1次側
PCIバス510が空き状態になっているので、第3デ
バイス550から送信されてくる上記「64DWのデー
タ」を「書き込み動作」用の内部バッファに取り込みつ
つ(CLK5〜CLK68)、1次側PCIバス510
に順次送信し、第1デバイス530への書き込みを行っ
ている(CLK18〜CLK81)。
PCIバス510が空き状態になっているので、第3デ
バイス550から送信されてくる上記「64DWのデー
タ」を「書き込み動作」用の内部バッファに取り込みつ
つ(CLK5〜CLK68)、1次側PCIバス510
に順次送信し、第1デバイス530への書き込みを行っ
ている(CLK18〜CLK81)。
【0016】このように、マスタ側バスとターゲット側
バスが共に空き状態となっている場合は、連続的なデー
タ転送が可能である。一般に、マスタ・デバイスにおけ
る最大バースト転送長、即ち1回のアドレス情報の転送
に伴って転送できる最大のデータ長は、64DW程度で
ある。
バスが共に空き状態となっている場合は、連続的なデー
タ転送が可能である。一般に、マスタ・デバイスにおけ
る最大バースト転送長、即ち1回のアドレス情報の転送
に伴って転送できる最大のデータ長は、64DW程度で
ある。
【0017】図7は、当該「書き込み動作」において、
2次側PCIバス520は空き状態であるが、1次側P
CIバス510が空き状態になっていないため、連続し
たデータ転送ができない場合の各信号の様子を示すタイ
ミングチャートである。
2次側PCIバス520は空き状態であるが、1次側P
CIバス510が空き状態になっていないため、連続し
たデータ転送ができない場合の各信号の様子を示すタイ
ミングチャートである。
【0018】図7が図6と異なる点は、1次側PCIバ
ス510が空き状態になっていないため、ブリッジ装置
500に一時的に取り込んだデータを第1デバイス53
0に送信することができず、ブリッジ装置500におけ
る「書き込み動作」用の内部バッファが全てデータで埋
まった時点で、第3デバイス550から送信されてくる
データの取り込みを一旦中断しなければならない点であ
る。
ス510が空き状態になっていないため、ブリッジ装置
500に一時的に取り込んだデータを第1デバイス53
0に送信することができず、ブリッジ装置500におけ
る「書き込み動作」用の内部バッファが全てデータで埋
まった時点で、第3デバイス550から送信されてくる
データの取り込みを一旦中断しなければならない点であ
る。
【0019】この場合、ブリッジ装置500は、当該書
き込み動作を中断すべく、STOP521dをアサート
して(CLK25)、第3デバイス550に通知する。
これにより、第3デバイス550は、クロック26以降
のデータの送信を中断する。この後、1次側PCIバス
510がクロック27のタイミングで空き状態になるの
で、ブリッジ装置500は、FRAME511aをアサ
ートし(CLK28)、「書き込み動作」用のバッファ
に格納されている全データを第1デバイス530に送信
する(CLK30〜CLK50)。
き込み動作を中断すべく、STOP521dをアサート
して(CLK25)、第3デバイス550に通知する。
これにより、第3デバイス550は、クロック26以降
のデータの送信を中断する。この後、1次側PCIバス
510がクロック27のタイミングで空き状態になるの
で、ブリッジ装置500は、FRAME511aをアサ
ートし(CLK28)、「書き込み動作」用のバッファ
に格納されている全データを第1デバイス530に送信
する(CLK30〜CLK50)。
【0020】最後に、ブリッジ装置500は、第3デバ
イス550から残りの43DWのデータの取り込みを再
開し(CLK54〜CLK96)、これと並行して第1
デバイス530へのデータの送信を行う(CLK55〜
CLK97)。以上のように、マスタ側バスとターゲッ
ト側バスが同時に空き状態になっていない場合であって
も、ブリッジ装置を介してデータの書き込みが実施でき
る。
イス550から残りの43DWのデータの取り込みを再
開し(CLK54〜CLK96)、これと並行して第1
デバイス530へのデータの送信を行う(CLK55〜
CLK97)。以上のように、マスタ側バスとターゲッ
ト側バスが同時に空き状態になっていない場合であって
も、ブリッジ装置を介してデータの書き込みが実施でき
る。
【0021】次に、従来のブリッジ装置500を用い
て、第2デバイス540が、第4デバイス560から6
4DWのデータを読み出す「遅延読み出し動作」の場合
について、主に前記「書き込み動作」との相違点を中心
に、その概要について説明する。この場合、読み出され
るデータの転送方向は、前記「書き込み動作」の場合と
同じであるが、1次側PCIバス510がマスタ側バス
になり、2次側PCIバス520がターゲット側バスに
なる。
て、第2デバイス540が、第4デバイス560から6
4DWのデータを読み出す「遅延読み出し動作」の場合
について、主に前記「書き込み動作」との相違点を中心
に、その概要について説明する。この場合、読み出され
るデータの転送方向は、前記「書き込み動作」の場合と
同じであるが、1次側PCIバス510がマスタ側バス
になり、2次側PCIバス520がターゲット側バスに
なる。
【0022】ここで、「遅延読み出し」について説明す
る。一方のマスタ側バスに接続されているマスタ・デバ
イスが、他方のターゲット側バスに接続されているター
ゲット・デバイスのデータを読み出す場合に、ブリッジ
装置が、ターゲット側バスの使用権の獲得とデータの読
み出しを代行し、マスタ・デバイスはマスタ側バスの使
用権を一旦放棄する。その後、マスタ・デバイスが再び
当該読み出しのためにマスタ側バスの使用権を獲得する
ために試行している間、ブリッジ装置は、ターゲット・
デバイスから読み出されたデータを内部の「遅延読み出
し」用バッファに次々に蓄積する。マスタ・デバイス
が、再度上記使用権を獲得した場合は、ブリッジ装置か
ら送信されてくるデータを順次受信する。このように、
ブリッジ装置を介して2段階に分けて実行されるデータ
読み出しを「遅延読み出し」という。
る。一方のマスタ側バスに接続されているマスタ・デバ
イスが、他方のターゲット側バスに接続されているター
ゲット・デバイスのデータを読み出す場合に、ブリッジ
装置が、ターゲット側バスの使用権の獲得とデータの読
み出しを代行し、マスタ・デバイスはマスタ側バスの使
用権を一旦放棄する。その後、マスタ・デバイスが再び
当該読み出しのためにマスタ側バスの使用権を獲得する
ために試行している間、ブリッジ装置は、ターゲット・
デバイスから読み出されたデータを内部の「遅延読み出
し」用バッファに次々に蓄積する。マスタ・デバイス
が、再度上記使用権を獲得した場合は、ブリッジ装置か
ら送信されてくるデータを順次受信する。このように、
ブリッジ装置を介して2段階に分けて実行されるデータ
読み出しを「遅延読み出し」という。
【0023】「遅延読み出し動作」が前記「書き込み動
作」と異なっている点は、マスタ・デバイスが、ターゲ
ット・デバイスに対して「ターゲット・デバイスのアド
レス」を送信後、ブリッジ装置にその後の読み出し動作
を代行させ、マスタ側バスの使用権を一旦放棄するとい
う点であるが、マスタ側とターゲット側におけるそれぞ
れのデータの転送方向が逆になる以外は、基本的に前記
「書き込み動作」と同じである。
作」と異なっている点は、マスタ・デバイスが、ターゲ
ット・デバイスに対して「ターゲット・デバイスのアド
レス」を送信後、ブリッジ装置にその後の読み出し動作
を代行させ、マスタ側バスの使用権を一旦放棄するとい
う点であるが、マスタ側とターゲット側におけるそれぞ
れのデータの転送方向が逆になる以外は、基本的に前記
「書き込み動作」と同じである。
【0024】以上のように、当該「遅延読み出し動作」
においても、マスタ側バスとターゲット側バスが共に空
き状態の場合は、ターゲット・デバイスからマスタ・デ
バイスに連続した読み出し動作が可能となり、マスタ側
バスが空き状態になっていない場合であっても、前記
「書き込み動作」の場合と同様に、途中、ターゲット・
デバイスからブリッジ装置へのデータの取り込みを中断
する処理を行うことにより、ブリッジ装置を介してデー
タの読み出しを行うことができる。
においても、マスタ側バスとターゲット側バスが共に空
き状態の場合は、ターゲット・デバイスからマスタ・デ
バイスに連続した読み出し動作が可能となり、マスタ側
バスが空き状態になっていない場合であっても、前記
「書き込み動作」の場合と同様に、途中、ターゲット・
デバイスからブリッジ装置へのデータの取り込みを中断
する処理を行うことにより、ブリッジ装置を介してデー
タの読み出しを行うことができる。
【0025】
【発明が解決しようとする課題】しかしながら、上記従
来のブリッジ装置によれば、ターゲット側バスが空き状
態になっていない場合は、データ転送におけるオーバー
ヘッドが増加し、バスの使用効率が低下するという問題
点がある。というのは、例えば図7に示したように「書
き込み動作」の場合では、書き込み動作の中断時と再開
時にオーバーヘッドが発生し、この間のデータ転送がで
きない期間のためにバスの使用効率が低下する。また、
この場合のバースト転送長は、上記のように「書き込み
動作」が中断されるため、ブリッジ装置内のバッファ容
量に制限され、最大バースト転送長によるデータ転送は
できない。
来のブリッジ装置によれば、ターゲット側バスが空き状
態になっていない場合は、データ転送におけるオーバー
ヘッドが増加し、バスの使用効率が低下するという問題
点がある。というのは、例えば図7に示したように「書
き込み動作」の場合では、書き込み動作の中断時と再開
時にオーバーヘッドが発生し、この間のデータ転送がで
きない期間のためにバスの使用効率が低下する。また、
この場合のバースト転送長は、上記のように「書き込み
動作」が中断されるため、ブリッジ装置内のバッファ容
量に制限され、最大バースト転送長によるデータ転送は
できない。
【0026】一方、読み出し動作においても、書き込み
動作の場合と同様の理由から、オーバーヘッドが増加
し、バスの使用効率が低下してしまう。そこで、本発明
は上記課題に鑑みてなされたものであり、ターゲット側
バスが空き状態でない場合であっても、データ転送時の
オーバーヘッドを抑え、バスの使用効率及びバースト転
送長を改善するブリッジ装置を提供することを目的とす
る。
動作の場合と同様の理由から、オーバーヘッドが増加
し、バスの使用効率が低下してしまう。そこで、本発明
は上記課題に鑑みてなされたものであり、ターゲット側
バスが空き状態でない場合であっても、データ転送時の
オーバーヘッドを抑え、バスの使用効率及びバースト転
送長を改善するブリッジ装置を提供することを目的とす
る。
【0027】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係るブリッジ装置は、送信すべきデータを
有する送信側デバイスに接続された送信側バスと、かか
るデータを受信し得る受信側デバイスに接続された受信
側バスとを有する計算機システムに備えられ、送信され
た送信側バス上のデータをバッファに取り込み、これを
受信側バスに出力することによりデータの受け渡しを行
うブリッジ装置であって、受信側バスが空き状態になる
タイミングを予測する予測手段と、前記予測手段により
予測されたタイミングに基づいて、データ転送を要求し
た送信側デバイスに送信を許可する許可手段とを備え
る。
に、本発明に係るブリッジ装置は、送信すべきデータを
有する送信側デバイスに接続された送信側バスと、かか
るデータを受信し得る受信側デバイスに接続された受信
側バスとを有する計算機システムに備えられ、送信され
た送信側バス上のデータをバッファに取り込み、これを
受信側バスに出力することによりデータの受け渡しを行
うブリッジ装置であって、受信側バスが空き状態になる
タイミングを予測する予測手段と、前記予測手段により
予測されたタイミングに基づいて、データ転送を要求し
た送信側デバイスに送信を許可する許可手段とを備え
る。
【0028】
【発明の実施の形態】以下では、本発明に係るブリッジ
装置の実施の形態について、図面を参照しながら説明す
る。なお、実施の形態1では、ブリッジ装置経由の「書
き込み動作」について説明し、実施の形態2では、ブリ
ッジ装置経由の「読み出し動作」について説明する。
装置の実施の形態について、図面を参照しながら説明す
る。なお、実施の形態1では、ブリッジ装置経由の「書
き込み動作」について説明し、実施の形態2では、ブリ
ッジ装置経由の「読み出し動作」について説明する。
【0029】(実施の形態1)図1は、本発明の実施形
態1に係るブリッジ装置100が設けられた計算機シス
テム1の概略ブロック図である。便宜上、本実施形態に
おける「書き込み動作」は、第3デバイス50からブリ
ッジ装置100を介して第1デバイス30に64DWの
データを書き込む場合を想定する。
態1に係るブリッジ装置100が設けられた計算機シス
テム1の概略ブロック図である。便宜上、本実施形態に
おける「書き込み動作」は、第3デバイス50からブリ
ッジ装置100を介して第1デバイス30に64DWの
データを書き込む場合を想定する。
【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を備えている。
バス10、2次側PCIバス20、第1デバイス30、
第2デバイス40、第3デバイス50、第4デバイス6
0、調停部70、ブリッジ装置100から構成されてい
る。なお、図1に示されるように、ブリッジ装置100
は2次側PCIバス20における使用権を調停する調停
部180を備えている。
【0031】ここで、「デバイス」とは、計算機システ
ムを構成する各種入出力装置の総称をいう。また、「P
CIバス」とは、特定のCPUを前提にしない汎用のロ
ーカルバスであり、32ビットのバス幅を基本とし、同
じ32本の信号線を用いてアドレス転送とデータ転送を
時分割で実現している。このPCIバスにおいては、ア
ドレス送信等のオーバーヘッドを無視すれば、1クロッ
ク期間に1DWのデータ転送が可能である。なお、PC
I(Peripheral Component Interconnect)バスについ
ては、「PCI Local Bus Specification, Rev. 2.1」等
に詳細に記述されている。
ムを構成する各種入出力装置の総称をいう。また、「P
CIバス」とは、特定のCPUを前提にしない汎用のロ
ーカルバスであり、32ビットのバス幅を基本とし、同
じ32本の信号線を用いてアドレス転送とデータ転送を
時分割で実現している。このPCIバスにおいては、ア
ドレス送信等のオーバーヘッドを無視すれば、1クロッ
ク期間に1DWのデータ転送が可能である。なお、PC
I(Peripheral Component Interconnect)バスについ
ては、「PCI Local Bus Specification, Rev. 2.1」等
に詳細に記述されている。
【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と同じである。
ム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と同じである。
【0033】第1デバイス30から第4デバイス60
は、各種の入出力装置である。これらのデバイスは、デ
ータ転送を行う場合、それぞれが接続されているバスに
係る調停部70、180に対してREQをアサート後、
それぞれGNTを受信してバスの使用権の獲得を行う。
ブリッジ装置100は、1次側PCIバス10と2次側
PCIバス20の間におけるデータのやりとりを仲介す
る装置であり、内部に「書き込み動作」用として22D
Wのバッファを有している。
は、各種の入出力装置である。これらのデバイスは、デ
ータ転送を行う場合、それぞれが接続されているバスに
係る調停部70、180に対してREQをアサート後、
それぞれGNTを受信してバスの使用権の獲得を行う。
ブリッジ装置100は、1次側PCIバス10と2次側
PCIバス20の間におけるデータのやりとりを仲介す
る装置であり、内部に「書き込み動作」用として22D
Wのバッファを有している。
【0034】調停部70は、1次側PCIバス10にお
けるバス使用権の調停を行う。図2は、ブリッジ装置1
00の詳細なブロック図である。ブリッジ装置100
は、データパス110、120、制御部130、14
0、レイテンシタイマレジスタ150、151、予測部
160、170、調停部180から構成されている。
けるバス使用権の調停を行う。図2は、ブリッジ装置1
00の詳細なブロック図である。ブリッジ装置100
は、データパス110、120、制御部130、14
0、レイテンシタイマレジスタ150、151、予測部
160、170、調停部180から構成されている。
【0035】データパス110、120は、内部に、そ
れぞれ一方のバスから他方のバスにデータを転送する際
の一時的にデータを格納するためのバッファを有してい
る。これらのデータパス110、120のバッファに
は、それぞれに「書き込み動作」用として22DW、
「遅延読み出し動作」用として18DWの格納領域があ
る。
れぞれ一方のバスから他方のバスにデータを転送する際
の一時的にデータを格納するためのバッファを有してい
る。これらのデータパス110、120のバッファに
は、それぞれに「書き込み動作」用として22DW、
「遅延読み出し動作」用として18DWの格納領域があ
る。
【0036】制御部130は、「書き込み動作」又は
「遅延読み出し動作」の過程で、データパス110のバ
ッファが全てデータで埋まった場合に、STOPをアサ
ートして「書き込み動作」又は「遅延読み出し動作」の
中止を要求する。制御部140は、制御部130と同様
の機能を有し、データパス120のバッファが全てデー
タで埋まった場合にSTOPをアサートして実行中の動
作の中止を要求する。
「遅延読み出し動作」の過程で、データパス110のバ
ッファが全てデータで埋まった場合に、STOPをアサ
ートして「書き込み動作」又は「遅延読み出し動作」の
中止を要求する。制御部140は、制御部130と同様
の機能を有し、データパス120のバッファが全てデー
タで埋まった場合にSTOPをアサートして実行中の動
作の中止を要求する。
【0037】レイテンシタイマレジスタ150、151
は、それぞれ1次側PCIバス10と2次側PCIバス
20の使用において、マスタ・デバイスが1回のデータ
転送で使用可能な最長の時間を示すカウンタ初期値を格
納するためのレジスタである。なお、本実施形態ではカ
ウンタ初期値を「80」とする。このカウンタ初期値
は、FRAMEがアサートされた時点で、カウンタ16
1に転送される。
は、それぞれ1次側PCIバス10と2次側PCIバス
20の使用において、マスタ・デバイスが1回のデータ
転送で使用可能な最長の時間を示すカウンタ初期値を格
納するためのレジスタである。なお、本実施形態ではカ
ウンタ初期値を「80」とする。このカウンタ初期値
は、FRAMEがアサートされた時点で、カウンタ16
1に転送される。
【0038】予測部160、170は、それぞれ1次側
PCIバス10と2次側PCIバス20において、空き
状態の検出及び空き状態となる時刻を予想するための機
能を有する。予測部160と予測部170は同等の機能
を有しているため、以下では主に予測部160について
説明する。予測部160は、カウンタ161、規定値レ
ジスタ162、比較部163、バス状態検出部164、
判定部165より構成される。
PCIバス10と2次側PCIバス20において、空き
状態の検出及び空き状態となる時刻を予想するための機
能を有する。予測部160と予測部170は同等の機能
を有しているため、以下では主に予測部160について
説明する。予測部160は、カウンタ161、規定値レ
ジスタ162、比較部163、バス状態検出部164、
判定部165より構成される。
【0039】カウンタ161は、1次側PCIバス10
における何れかのデバイスによってFRAME11aが
アサートされた場合に、レイテンシタイマレジスタ15
0よりカウンタ初期値「80」をロードして動作を開始
し、クロックの立ち上がりのタイミング毎にカウントダ
ウンを行う。従って前述のように、この値が「80」の
場合は、マスタ・デバイスは最長80クロックの期間、
バスを占有できることになる。
における何れかのデバイスによってFRAME11aが
アサートされた場合に、レイテンシタイマレジスタ15
0よりカウンタ初期値「80」をロードして動作を開始
し、クロックの立ち上がりのタイミング毎にカウントダ
ウンを行う。従って前述のように、この値が「80」の
場合は、マスタ・デバイスは最長80クロックの期間、
バスを占有できることになる。
【0040】規定値レジスタ162は、カウンタ161
でカウントダウンされる値と比較する規定値を格納す
る。この規定値は、データパス110のバッファ容量に
よって決定される値であり、データパス110のバッフ
ァが全てデータで埋まるまでのクロック時間から決定さ
れる値である。但し、最大のバースト転送長によるデー
タ転送を行うためには、データパス110のバッファが
全てデータで埋まる前に転送先のバスにデータの送信を
開始する必要がある。このため、「書き込み動作」用の
バッファ容量は22DWであるが、時間的に2クロック
余裕を確保させることとする。従って、本実施形態にお
ける「書き込み動作」用の規定値は、「20」とする。
でカウントダウンされる値と比較する規定値を格納す
る。この規定値は、データパス110のバッファ容量に
よって決定される値であり、データパス110のバッフ
ァが全てデータで埋まるまでのクロック時間から決定さ
れる値である。但し、最大のバースト転送長によるデー
タ転送を行うためには、データパス110のバッファが
全てデータで埋まる前に転送先のバスにデータの送信を
開始する必要がある。このため、「書き込み動作」用の
バッファ容量は22DWであるが、時間的に2クロック
余裕を確保させることとする。従って、本実施形態にお
ける「書き込み動作」用の規定値は、「20」とする。
【0041】比較部163は、カウンタ161の値と規
定値レジスタ162の値が同一か否かを比較し、「同
一」になった場合に判定部165にその通知を行う。従
って、例えばカウンタ161によって「80」からカウ
ントダウンが開始された場合は、規定値レジスタ162
の値が「20」になった時に「同一」と判定し、判定部
165に通知する。
定値レジスタ162の値が同一か否かを比較し、「同
一」になった場合に判定部165にその通知を行う。従
って、例えばカウンタ161によって「80」からカウ
ントダウンが開始された場合は、規定値レジスタ162
の値が「20」になった時に「同一」と判定し、判定部
165に通知する。
【0042】バス状態検出部164は、1次側PCIバ
ス10における空き状態の検出を行う。この検出は、制
御信号のうち、FRAMEとIRDYが共にディアサー
ト状態の場合を「空き状態」、これ以外の場合を「使用
状態」として検出する。「空き状態」が検出されたと
き、バス状態検出部164は、判定部165にその旨を
通知する。
ス10における空き状態の検出を行う。この検出は、制
御信号のうち、FRAMEとIRDYが共にディアサー
ト状態の場合を「空き状態」、これ以外の場合を「使用
状態」として検出する。「空き状態」が検出されたと
き、バス状態検出部164は、判定部165にその旨を
通知する。
【0043】判定部165は、以下の2つの条件のう
ち、一方の条件が成立した時点でその旨を調停部180
に通知する。 (条件1)バス状態検出部164より、1次側PCIバ
ス10が「空き状態」になった旨の通知があったこと。 (条件2)比較部163より、カウンタ161の値と規
定値レジスタ162の規定値が「同一」になった旨の通
知があったこと。
ち、一方の条件が成立した時点でその旨を調停部180
に通知する。 (条件1)バス状態検出部164より、1次側PCIバ
ス10が「空き状態」になった旨の通知があったこと。 (条件2)比較部163より、カウンタ161の値と規
定値レジスタ162の規定値が「同一」になった旨の通
知があったこと。
【0044】調停部180は、2次側PCIバス20に
おけるバス使用権の調停を行う。具体的には、2次側P
CIバス20に接続されている各デバイスからREQが
アサートされた場合、一定の規則に基づいて各デバイス
のGNTをアサートして、何れかのデバイスにバス使用
権を付与する。この場合、1次側PCIバス10が空き
状態か否かをFRAME11a及びIRDY11bによ
って検出し、空き状態でない場合は、判定部165から
の通知を待って、バス使用権を与えるべくGNTをアサ
ートする。
おけるバス使用権の調停を行う。具体的には、2次側P
CIバス20に接続されている各デバイスからREQが
アサートされた場合、一定の規則に基づいて各デバイス
のGNTをアサートして、何れかのデバイスにバス使用
権を付与する。この場合、1次側PCIバス10が空き
状態か否かをFRAME11a及びIRDY11bによ
って検出し、空き状態でない場合は、判定部165から
の通知を待って、バス使用権を与えるべくGNTをアサ
ートする。
【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をアサ
ートにする。
動作について、図面を参照しながら説明する。図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をアサ
ートにする。
【0046】一方、カウンタ161は、1次側PCIバ
ス10に係る制御信号のうち、FRAME11aがアサ
ートされたか否かを常に監視しており、クロック2のタ
イミングで、FRAME11aがアサート状態になった
ことを検出する(T30)。なお、このFRAME11
aがアサートされたことは、他のデバイスによって1次
側PCIバス10の使用が開始されたことを意味する。
これにより、カウンタ161は、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
ス10に係る制御信号のうち、FRAME11aがアサ
ートされたか否かを常に監視しており、クロック2のタ
イミングで、FRAME11aがアサート状態になった
ことを検出する(T30)。なお、このFRAME11
aがアサートされたことは、他のデバイスによって1次
側PCIバス10の使用が開始されたことを意味する。
これにより、カウンタ161は、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
【0047】また、バス状態検出部164は、1次側P
CIバス10に係る制御信号のうち、FRAME11a
とIRDY11bが共にディアサート状態か否かを常に
監視している。本実施形態の場合は、図3に示されるよ
うに、クロック2からクロック83までの間は、他のデ
バイスによって1次側PCIバス10が使用されてい
る。
CIバス10に係る制御信号のうち、FRAME11a
とIRDY11bが共にディアサート状態か否かを常に
監視している。本実施形態の場合は、図3に示されるよ
うに、クロック2からクロック83までの間は、他のデ
バイスによって1次側PCIバス10が使用されてい
る。
【0048】次に、比較部163は、クロック62のタ
イミングで、カウンタ161の値とと規定値レジスタ1
62の値が「20」で同一となったため(T31)、判
定部165を介して調停部180にその旨を通知する。
これによって、判定部180は、第3デバイス50に2
次側PCIバス20の使用権を与えるべく、GNT52
をアサートする(T32)。
イミングで、カウンタ161の値とと規定値レジスタ1
62の値が「20」で同一となったため(T31)、判
定部165を介して調停部180にその旨を通知する。
これによって、判定部180は、第3デバイス50に2
次側PCIバス20の使用権を与えるべく、GNT52
をアサートする(T32)。
【0049】これによって、第3デバイス50は、クロ
ック64のタイミングから「(第1デバイスを示す1D
Wのアドレス)+(64DWのデータ)」の送信を開始
し、ブリッジ装置100がこれらのデータの取り込みを
始める。また、ブリッジ装置100は、1次側PCIバ
ス10を使用するためにクロック63のタイミングでR
EQ71をアサートする。
ック64のタイミングから「(第1デバイスを示す1D
Wのアドレス)+(64DWのデータ)」の送信を開始
し、ブリッジ装置100がこれらのデータの取り込みを
始める。また、ブリッジ装置100は、1次側PCIバ
ス10を使用するためにクロック63のタイミングでR
EQ71をアサートする。
【0050】これに対し、調停部70は、カウンタ16
1の値が「0」になるクロック82のタイミングで(T
33)、他のデバイスによってFRAME11aがディ
アサートされ1次側PCIバス10が空き状態となるの
で、GNT72をアサートし(T34)、ブリッジ装置
100に1次側PCIバス10の使用権を与える。
1の値が「0」になるクロック82のタイミングで(T
33)、他のデバイスによってFRAME11aがディ
アサートされ1次側PCIバス10が空き状態となるの
で、GNT72をアサートし(T34)、ブリッジ装置
100に1次側PCIバス10の使用権を与える。
【0051】最後に、ブリッジ装置100は、第1デバ
イス30に対して、クロック84のタイミングから
「(第1デバイスを示す1DWのアドレス)+(64D
Wのデータ)」を送信し、当該「書き込み動作」を終え
る。
イス30に対して、クロック84のタイミングから
「(第1デバイスを示す1DWのアドレス)+(64D
Wのデータ)」を送信し、当該「書き込み動作」を終え
る。
【0052】以上のように、「書き込み動作」におい
て、マスタ側バスとターゲット側バスが同時に空き状態
になっていない場合であっても、ターゲット側バスが空
き状態になると予測されるタイミングに合わせて、マス
タ・デバイスの「書き込み動作」を開始するため、連続
したデータ転送が可能となり、バースト転送長とバス使
用効率の改善が図れる。また、上記のターゲット側バス
が空き状態になると予測されるタイミング以前に、ター
ゲット側バスが空き状態になった場合は、このタイミン
グに合わせてマスタ・デバイスの「書き込み動作」を開
始するため、無駄な待ち時間を排除することができる。
て、マスタ側バスとターゲット側バスが同時に空き状態
になっていない場合であっても、ターゲット側バスが空
き状態になると予測されるタイミングに合わせて、マス
タ・デバイスの「書き込み動作」を開始するため、連続
したデータ転送が可能となり、バースト転送長とバス使
用効率の改善が図れる。また、上記のターゲット側バス
が空き状態になると予測されるタイミング以前に、ター
ゲット側バスが空き状態になった場合は、このタイミン
グに合わせてマスタ・デバイスの「書き込み動作」を開
始するため、無駄な待ち時間を排除することができる。
【0053】(実施の形態2)本発明の実施形態2で
は、「遅延読み出し」による「読み出し動作」について
説明する。本実施形態では、第2デバイス40が、ブリ
ッジ装置100を介して第4デバイス60から64DW
のデータを「遅延読み出し」する場合を想定する。「遅
延読み出し」方法の概要については、前述した通りであ
る。
は、「遅延読み出し」による「読み出し動作」について
説明する。本実施形態では、第2デバイス40が、ブリ
ッジ装置100を介して第4デバイス60から64DW
のデータを「遅延読み出し」する場合を想定する。「遅
延読み出し」方法の概要については、前述した通りであ
る。
【0054】なお、本実施形態における計算機システム
及びブリッジ装置は、基本的に実施形態1と同一とす
る。但し、データパス110、120の内部に「遅延読
み出し」用として18DWのバッファを有することとす
る。また、規定値レジスタ162の規定値は、前記「書
き込み動作」の場合と同様の理由から「16」とする。
及びブリッジ装置は、基本的に実施形態1と同一とす
る。但し、データパス110、120の内部に「遅延読
み出し」用として18DWのバッファを有することとす
る。また、規定値レジスタ162の規定値は、前記「書
き込み動作」の場合と同様の理由から「16」とする。
【0055】図4は、当該「読み出し動作」における各
信号の状態を示すタイミングチャートである。なお、当
該「読み出し動作」においては、1次側PCIバスがマ
スタ側バス、第2デバイス40がマスタ・デバイス、2
次側PCIバス20がターゲット側バス、第4デバイス
がターゲット・デバイスとなる。
信号の状態を示すタイミングチャートである。なお、当
該「読み出し動作」においては、1次側PCIバスがマ
スタ側バス、第2デバイス40がマスタ・デバイス、2
次側PCIバス20がターゲット側バス、第4デバイス
がターゲット・デバイスとなる。
【0056】最初に、第2デバイス40は、1次側PC
Iバス10を使用するために、任意のタイミング、例え
ばクロック1のタイミングでREQ41をアサートす
る。これに対し、調停部70は、GNT42をアサート
し、第2デバイス40に1次側PCIバス10の使用権
を与える。これにより、第2デバイス40は、クロック
4のタイミングで「第4デバイスを示す1DWのアドレ
ス」を送信する。
Iバス10を使用するために、任意のタイミング、例え
ばクロック1のタイミングでREQ41をアサートす
る。これに対し、調停部70は、GNT42をアサート
し、第2デバイス40に1次側PCIバス10の使用権
を与える。これにより、第2デバイス40は、クロック
4のタイミングで「第4デバイスを示す1DWのアドレ
ス」を送信する。
【0057】これにより、ブリッジ装置100は、「第
4デバイスを示す1DWのアドレス」を取り込み、一旦
当該「読み出し動作」を中断するためにクロック4のタ
イミングでSTOP11dをアサートする。この後、第
2デバイス40によって、FRAME11a及びIRD
Y11bがディアサートされ、1次側PCIバス10が
「空き状態」となる。この場合、ブリッジ装置100
は、クロック4のタイミングで2次側PCIバス20を
使用するためにREQ101をアサートする。
4デバイスを示す1DWのアドレス」を取り込み、一旦
当該「読み出し動作」を中断するためにクロック4のタ
イミングでSTOP11dをアサートする。この後、第
2デバイス40によって、FRAME11a及びIRD
Y11bがディアサートされ、1次側PCIバス10が
「空き状態」となる。この場合、ブリッジ装置100
は、クロック4のタイミングで2次側PCIバス20を
使用するためにREQ101をアサートする。
【0058】次に、カウンタ161は、第2デバイス4
0が一旦1次側PCIバス10の使用権を放棄した後の
クロック18のタイミングで、他のデバイスによって1
次側PCIバス10に係るFRAME11aがアサート
されたことを検出し(T40)、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
0が一旦1次側PCIバス10の使用権を放棄した後の
クロック18のタイミングで、他のデバイスによって1
次側PCIバス10に係るFRAME11aがアサート
されたことを検出し(T40)、レイテンシタイマレジ
スタ150からカウンタ初期値「80」をロードし、カ
ウントダウンを開始する。
【0059】その後、調停部180は、クロック82の
タイミングで、判定部165からカウンタ161の値と
規定値レジスタの値が同一になった(T41)旨の通知
に基づいて、ブリッジ装置100に2次側PCIバス2
0を使用するためにGNT102をアサートし(T4
2)、バス使用権を与える。
タイミングで、判定部165からカウンタ161の値と
規定値レジスタの値が同一になった(T41)旨の通知
に基づいて、ブリッジ装置100に2次側PCIバス2
0を使用するためにGNT102をアサートし(T4
2)、バス使用権を与える。
【0060】これにより、ブリッジ装置100は、第4
デバイス60から読み出した64DWのデータをデータ
パス120の「遅延読み出し」用のバッファに取り込み
始める(CLK99〜CLK162)。一方、第2デバ
イス40は、カウンタ161の値が規定値「16」と同
一になったクロック82のタイミングで、REQ41を
アサートする。
デバイス60から読み出した64DWのデータをデータ
パス120の「遅延読み出し」用のバッファに取り込み
始める(CLK99〜CLK162)。一方、第2デバ
イス40は、カウンタ161の値が規定値「16」と同
一になったクロック82のタイミングで、REQ41を
アサートする。
【0061】この間、バス状態検出部164は、1次側
PCIバス10における制御信号のうち、FRAME1
1aとIRDY11bが共にディアサートされたか否か
を監視しており、カウンタ161の値が「0」なる以前
のクロック84のタイミングで、1次側PCIバス10
が「空き状態」となったことを検出する(T43、T4
4)。
PCIバス10における制御信号のうち、FRAME1
1aとIRDY11bが共にディアサートされたか否か
を監視しており、カウンタ161の値が「0」なる以前
のクロック84のタイミングで、1次側PCIバス10
が「空き状態」となったことを検出する(T43、T4
4)。
【0062】これにより、調停部70は、GNT42を
アサートし(T45)、第2デバイス40に1次側PC
Iバス10の使用権を与える。最後に、第2デバイス4
0は、ブリッジ装置100から送信される第4デバイス
から読み出した「64DWのデータ」の受信し、当該
「読み出し動作」を終える。
アサートし(T45)、第2デバイス40に1次側PC
Iバス10の使用権を与える。最後に、第2デバイス4
0は、ブリッジ装置100から送信される第4デバイス
から読み出した「64DWのデータ」の受信し、当該
「読み出し動作」を終える。
【0063】以上のように、「遅延読み出し」による
「読み出し動作」において、マスタ側バスとターゲット
側バスが同時に空き状態になっていない場合であって
も、マスタ側バスが空き状態になると予測されるタイミ
ングに合わせて、ターゲット・デバイスの「読み出し動
作」を開始するため、連続したデータ転送が可能とな
り、バースト転送長とバス使用効率の改善が図れる。ま
た、上記のマスタ側バスが空き状態になると予測される
タイミング以前に、マスタ側バスが空き状態になった場
合は、このタイミングに合わせてターゲット・デバイス
からの「読み出し動作」を開始するため、無駄な待ち時
間を排除することができる。
「読み出し動作」において、マスタ側バスとターゲット
側バスが同時に空き状態になっていない場合であって
も、マスタ側バスが空き状態になると予測されるタイミ
ングに合わせて、ターゲット・デバイスの「読み出し動
作」を開始するため、連続したデータ転送が可能とな
り、バースト転送長とバス使用効率の改善が図れる。ま
た、上記のマスタ側バスが空き状態になると予測される
タイミング以前に、マスタ側バスが空き状態になった場
合は、このタイミングに合わせてターゲット・デバイス
からの「読み出し動作」を開始するため、無駄な待ち時
間を排除することができる。
【0064】なお、上記各実施形態では、規定値レジス
タ162の規定値を、2クロックの時間的な余裕を確保
して「書き込み動作」用として「20」に、「読み出し
動作」用として「16」に設定したが、2クロック以外
の時間的余裕を確保して規定値を設定してもよい。
タ162の規定値を、2クロックの時間的な余裕を確保
して「書き込み動作」用として「20」に、「読み出し
動作」用として「16」に設定したが、2クロック以外
の時間的余裕を確保して規定値を設定してもよい。
【0065】
【発明の効果】以上の説明から明らかなように、本発明
に係るブリッジ装置は、送信すべきデータを有する送信
側デバイスに接続された送信側バスと、かかるデータを
受信し得る受信側デバイスに接続された受信側バスとを
有する計算機システムに備えられ、送信された送信側バ
ス上のデータをバッファに取り込み、これを受信側バス
に出力することによりデータの受け渡しを行うブリッジ
装置であって、受信側バスが空き状態になるタイミング
を予測する予測手段と、前記予測手段により予測された
タイミングに基づいて、データ転送を要求した送信側デ
バイスに送信を許可する許可手段とを備える。
に係るブリッジ装置は、送信すべきデータを有する送信
側デバイスに接続された送信側バスと、かかるデータを
受信し得る受信側デバイスに接続された受信側バスとを
有する計算機システムに備えられ、送信された送信側バ
ス上のデータをバッファに取り込み、これを受信側バス
に出力することによりデータの受け渡しを行うブリッジ
装置であって、受信側バスが空き状態になるタイミング
を予測する予測手段と、前記予測手段により予測された
タイミングに基づいて、データ転送を要求した送信側デ
バイスに送信を許可する許可手段とを備える。
【0066】これにより、受信側バスが空き状態になる
タイミングに合わせて、送信側デバイスからデータ転送
を開始することができるため、途中で中断することなく
連続したデータ転送が可能となる。
タイミングに合わせて、送信側デバイスからデータ転送
を開始することができるため、途中で中断することなく
連続したデータ転送が可能となる。
【0067】また、前記予測手段は、受信側バスにおけ
る他のデバイスによるデータ転送の開始を検出する検出
部と、データ転送の開始が検出された時から、時間を計
時する計時部とを備え、前記許可手段は、前記計時部が
一定時間を計時したとき、前記送信側デバイスに送信を
許可し、前記一定時間は、1回のデータ転送においてバ
スを連続的に占有することが許されている最長の時間か
ら前記バッファのサイズ分のデータを前記バッファに転
送するのに要する時間を引いた時間として構成すること
もできる。
る他のデバイスによるデータ転送の開始を検出する検出
部と、データ転送の開始が検出された時から、時間を計
時する計時部とを備え、前記許可手段は、前記計時部が
一定時間を計時したとき、前記送信側デバイスに送信を
許可し、前記一定時間は、1回のデータ転送においてバ
スを連続的に占有することが許されている最長の時間か
ら前記バッファのサイズ分のデータを前記バッファに転
送するのに要する時間を引いた時間として構成すること
もできる。
【0068】これにより、送信側デバイスからブリッジ
装置にバッファサイズ分のデータ転送を完了するタイミ
ングには、他のデバイスにおける受信側バスを占有でき
る時間が終了するので、ブリッジ装置は、受信側バスに
バッファ内のデータを出力しながら、送信側デバイスか
ら送信される続きのデータの取り込みを継続することが
できる。
装置にバッファサイズ分のデータ転送を完了するタイミ
ングには、他のデバイスにおける受信側バスを占有でき
る時間が終了するので、ブリッジ装置は、受信側バスに
バッファ内のデータを出力しながら、送信側デバイスか
ら送信される続きのデータの取り込みを継続することが
できる。
【0069】さらに、前記予測手段は、受信側バスにお
ける他のデバイスによるデータ転送の開始を検出する検
出部と、データ転送の開始が検出されたとき、1回のデ
ータ転送においてバスを連続的に占有することが許され
ている最長の時間を計時する計時部と、前記バッファの
サイズ分のデータを前記バッファに転送するのに要する
時間を保持する保持部と、前記計時部で計時されている
最長時間までの残り時間と、前記保持部に保持された時
間とを比較し、一致した時点を検出する比較部とを備え
るように構成することもできる。
ける他のデバイスによるデータ転送の開始を検出する検
出部と、データ転送の開始が検出されたとき、1回のデ
ータ転送においてバスを連続的に占有することが許され
ている最長の時間を計時する計時部と、前記バッファの
サイズ分のデータを前記バッファに転送するのに要する
時間を保持する保持部と、前記計時部で計時されている
最長時間までの残り時間と、前記保持部に保持された時
間とを比較し、一致した時点を検出する比較部とを備え
るように構成することもできる。
【0070】これにより、上述のように、送信側デバイ
スからブリッジ装置にバッファサイズ分のデータ転送を
完了するタイミングには、他のデバイスにおける受信側
バスを占有できる時間が終了するので、ブリッジ装置
は、受信側バスにバッファ内のデータを出力しながら、
送信側デバイスから送信される続きのデータの取り込み
を継続することができる。
スからブリッジ装置にバッファサイズ分のデータ転送を
完了するタイミングには、他のデバイスにおける受信側
バスを占有できる時間が終了するので、ブリッジ装置
は、受信側バスにバッファ内のデータを出力しながら、
送信側デバイスから送信される続きのデータの取り込み
を継続することができる。
【0071】また、前記許可手段は、送信側バス、受信
側バスそれぞれの空き状態を検出するバス状態検出部
と、前記送信側デバイスからデータ転送要求を受付ける
受付手段と、データ転送を要求した送信側デバイスに対
して、両バスが空いていると検出された場合は、直ちに
送信を許可し、送信側バスのみが空き状態であると検出
された場合は、前記比較部による比較の結果、前記一致
した時点で送信を許可するように構成することもでき
る。
側バスそれぞれの空き状態を検出するバス状態検出部
と、前記送信側デバイスからデータ転送要求を受付ける
受付手段と、データ転送を要求した送信側デバイスに対
して、両バスが空いていると検出された場合は、直ちに
送信を許可し、送信側バスのみが空き状態であると検出
された場合は、前記比較部による比較の結果、前記一致
した時点で送信を許可するように構成することもでき
る。
【0072】これにより、送信側バスと受信側バスの空
き状態を常に監視し、受信側バスが空き状態になり次
第、送信側デバイスからデータ転送を開始するので、中
断することなく連続したデータ転送が可能となる。
き状態を常に監視し、受信側バスが空き状態になり次
第、送信側デバイスからデータ転送を開始するので、中
断することなく連続したデータ転送が可能となる。
【図1】本発明に係るブリッジ装置100を含む計算機
システム1の概略ブロック図である。
システム1の概略ブロック図である。
【図2】本発明に係るブリッジ装置100の詳細ブロッ
ク図である。
ク図である。
【図3】実施形態1に係る書き込み動作における各信号
の様子を示すタイミングチャートである。
の様子を示すタイミングチャートである。
【図4】実施形態2に係る読み出し動作における各信号
の様子を示すタイミングチャートである。
の様子を示すタイミングチャートである。
【図5】従来のブリッジ装置を含む計算機システムの概
略ブロック図である。
略ブロック図である。
【図6】従来のブリッジ装置を用いた書き込み動作で、
ターゲット側バスが空き状態の場合の各信号の様子を示
すタイミングチャートである。
ターゲット側バスが空き状態の場合の各信号の様子を示
すタイミングチャートである。
【図7】従来のブリッジ装置を用いた書き込み動作で、
ターゲット側バスが空き状態でない場合の各信号の様子
を示すタイミングチャートである。
ターゲット側バスが空き状態でない場合の各信号の様子
を示すタイミングチャートである。
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 判定部
Claims (4)
- 【請求項1】 送信すべきデータを有する送信側デバイ
スに接続された送信側バスと、かかるデータを受信し得
る受信側デバイスに接続された受信側バスとを有する計
算機システムに備えられ、送信された送信側バス上のデ
ータをバッファに取り込み、これを受信側バスに出力す
ることによりデータの受け渡しを行うブリッジ装置であ
って、 受信側バスが空き状態になるタイミングを予測する予測
手段と、 前記予測手段により予測されたタイミングに基づいて、
データ転送を要求した送信側デバイスに送信を許可する
許可手段とを備えることを特徴とするブリッジ装置。 - 【請求項2】 前記予測手段は、 受信側バスにおける他のデバイスによるデータ転送の開
始を検出する検出部と、 データ転送の開始が検出された時から、時間を計時する
計時部とを備え、 前記許可手段は、前記計時部が一定時間を計時したと
き、前記送信側デバイスに送信を許可し、 前記一定時間は、1回のデータ転送においてバスを連続
的に占有することが許されている最長の時間から前記バ
ッファのサイズ分のデータを前記バッファに転送するの
に要する時間を引いた時間であることを特徴とする請求
項1記載のブリッジ装置。 - 【請求項3】 前記予測手段は、 受信側バスにおける他のデバイスによるデータ転送の開
始を検出する検出部と、 データ転送の開始が検出されたとき、1回のデータ転送
においてバスを連続的に占有することが許されている最
長の時間を計時する計時部と、 前記バッファのサイズ分のデータを前記バッファに転送
するのに要する時間を保持する保持部と、 前記計時部で計時されている最長時間までの残り時間
と、前記保持部に保持された時間とを比較し、一致した
時点を検出する比較部とを備えることを特徴とする請求
項1記載のブリッジ装置。 - 【請求項4】 前記許可手段は、 送信側バス、受信側バスそれぞれの空き状態を検出する
バス状態検出部と、 前記送信側デバイスからデータ転送要求を受付ける受付
手段と、 データ転送を要求した送信側デバイスに対して、両バス
が空いていると検出された場合は、直ちに送信を許可
し、 送信側バスのみが空き状態であると検出された場合は、
前記比較部による比較の結果、前記一致した時点で送信
を許可することを特徴とする請求項3記載のブリッジ装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10200239A JP2000029822A (ja) | 1998-07-15 | 1998-07-15 | ブリッジ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10200239A JP2000029822A (ja) | 1998-07-15 | 1998-07-15 | ブリッジ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000029822A true JP2000029822A (ja) | 2000-01-28 |
Family
ID=16421127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10200239A Pending JP2000029822A (ja) | 1998-07-15 | 1998-07-15 | ブリッジ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000029822A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072905A (ja) * | 2002-08-06 | 2004-03-04 | Toshiba Corp | ディジタル形保護制御装置 |
US8713277B2 (en) | 2010-06-01 | 2014-04-29 | Apple Inc. | Critical word forwarding with adaptive prediction |
CN114503089A (zh) * | 2019-12-05 | 2022-05-13 | 奥林巴斯株式会社 | 数据传送装置和数据传送方法 |
-
1998
- 1998-07-15 JP JP10200239A patent/JP2000029822A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072905A (ja) * | 2002-08-06 | 2004-03-04 | Toshiba Corp | ディジタル形保護制御装置 |
US8713277B2 (en) | 2010-06-01 | 2014-04-29 | Apple Inc. | Critical word forwarding with adaptive prediction |
CN114503089A (zh) * | 2019-12-05 | 2022-05-13 | 奥林巴斯株式会社 | 数据传送装置和数据传送方法 |
CN114503089B (zh) * | 2019-12-05 | 2024-05-14 | 奥林巴斯株式会社 | 数据传送装置和数据传送方法 |
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 | |
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 | |
EP0369264B1 (en) | Multiprocessor system having distributed shared resources and deadlock prevention | |
US5933610A (en) | Predictive arbitration system for PCI bus agents | |
US6094700A (en) | Serial bus system for sending multiple frames of unique data | |
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 (ja) | バス接続回路及びバス接続システム | |
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 | |
US7174401B2 (en) | Look ahead split release for a data bus | |
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 (ja) | ブリッジ装置 | |
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 (ja) | データ転送管理装置及び方法 | |
US6178477B1 (en) | Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource |