JP2000259555A - バスアービトレーション制御装置およびバスシステム - Google Patents

バスアービトレーション制御装置およびバスシステム

Info

Publication number
JP2000259555A
JP2000259555A JP11060319A JP6031999A JP2000259555A JP 2000259555 A JP2000259555 A JP 2000259555A JP 11060319 A JP11060319 A JP 11060319A JP 6031999 A JP6031999 A JP 6031999A JP 2000259555 A JP2000259555 A JP 2000259555A
Authority
JP
Japan
Prior art keywords
bus
master device
signal
arbiter
arbitration
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
JP11060319A
Other languages
English (en)
Inventor
Junichi Fusayama
順一 房山
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11060319A priority Critical patent/JP2000259555A/ja
Publication of JP2000259555A publication Critical patent/JP2000259555A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 アービトレーション・レイテンシを低減する
ことができるバスアービトレーション制御装置およびバ
スシステムを提供する 【解決手段】 バスシステム1では、PCIバス11と
PCIバス21とがブリッジ30を介して接続されてい
る。PCIバス11にはマスタデバイス12およびマス
タデバイス13が接続されている。PCIバス21には
マスタデバイス22およびターゲットデバイス23が接
続されている。アービタ14はPCIバス11のアービ
トレーションを行う。アービタ24はPCIバス21の
アービトレーションを行う。マスタデバイス12により
REQ1信号がアサートされると、略同時に、バスアー
ビトレーション制御装置60により2ndREQ1信号
もアサートされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ブリッジを介して
互いに接続された第1のバスおよび第2のバスのうち第
1のバスに接続されたマスタデバイスと第2のバスに接
続されたターゲットデバイスとの間のトランザクション
の際にバスアービトレーションを行うバスアービトレー
ション制御装置、および、このバスアービトレーション
制御装置を含むバスシステムに関するものである。
【0002】
【従来の技術】CPUや周辺装置の相互間の通信を可能
とするバスシステムとして、PCI(Peripheral Compo
nent Interconnect)バスが知られている。このPCI
バスの規格は、PCI Local Bus Specification Revision
2.1に詳細に規定されている。このPCIバスシステム
の下では、PCIバスを使用してターゲットデバイスと
の間でデータ転送(トランザクション)を行おうとする
マスタデバイスは、先ずPCIバスの使用の調停(アー
ビトレーション)を行うアービタに対してバス使用権要
求信号を送出し、このアービタよりバス使用許可を得
て、その許可を得た後にターゲットとの間でトランザク
ションを行うことができる。1つのPCIバスに接続す
ることができるデバイスの個数には制限がある。しか
し、ブリッジを介して複数のPCIバスを接続すること
により、接続されるデバイスの個数を実質的に増加させ
ることができる。
【0003】図5は、ブリッジを介して接続された2つ
のPCIバスを含むバスシステムの1構成例を示す図で
ある。この図に示されたバスシステムでは、PCIバス
11とPCIバス21とがブリッジ30を介して接続さ
れている。一方のPCIバス11にはマスタデバイス1
2およびマスタデバイス13が接続されている。他方の
PCIバス21にはマスタデバイス22およびターゲッ
トデバイス23が接続されている。また、このバスシス
テムは、PCIバス11のアービトレーションを行うア
ービタ14と、PCIバス21のアービトレーションを
行うアービタ24とを有している。このように、PCI
バス毎にアービタが設けられるのが通常である。さら
に、ホストブリッジ40を介してCPU50がPCIバ
ス11に接続されている。
【0004】この図5に示されるバスシステムにおい
て、マスタデバイス12がターゲットデバイス23との
間でトランザクションを行う場合を想定する。マスタデ
バイス12は、先ず、自己が接続されているPCIバス
11の使用権を獲得する為に、バス使用権要求信号RE
Q1をアサートする(アクティブにする)。PCIバス
11側のアービタ14は、このマスタデバイス12から
出力されたバス使用権要求信号REQ1を入力する。ア
ービタ14は、マスタデバイス12からのみバス使用権
要求信号がアサートされている場合には、このマスタデ
バイス12にPCIバス11の使用を許可するが、複数
のマスタデバイスよりバス使用権要求信号がアサートさ
れている場合には、優先順位に従ってアービトレーショ
ンを行い、何れかのマスタデバイスにPCIバス11の
使用を許可する。アービタ14は、マスタデバイス12
にPCIバス11の使用を許可する際には、バス使用許
可信号GNT1をアサートして、許可する旨をマスタデ
バイス12に通知する。
【0005】PCIバス11の使用権を獲得したマスタ
デバイス12は、PCIバス11がアイドル状態である
ことを確認することができ次第、PCIバス11を使用
する旨を示すFRAME信号をアサートし、トランザク
ションを行う相手方のターゲットデバイス23のアドレ
ス情報をPCIバス11に送出する。このPCIバス1
1に接続されている全てのデバイスは、マスタデバイス
12から送出されたアドレス情報と、自己が内部に記憶
しているコンフィギュレーションレジスタ値とを比較
し、自己がターゲットデバイスとしてアクセスされてい
るのか否かを判断する。今の場合、送信元のPCIバス
11上でのターゲットデバイスはブリッジ30であるの
で、このアドレス情報を入力したブリッジ30は、送信
元のPCIバス11の側のアクセスであることを認識
し、送信先のPCIバス21の使用権を獲得する為に、
バス使用権要求信号2ndREQ1をアサートする。
【0006】PCIバス21側のアービタ24は、この
ブリッジ30から出力されたバス使用権要求信号2nd
REQ1を入力する。アービタ24は、ブリッジ30か
らのみバス使用権要求信号がアサートされている場合に
は、このブリッジ30にPCIバス21の使用を許可す
るが、複数のデバイスよりバス使用権要求信号がアサー
トされている場合には、優先順位に従ってアービトレー
ションを行い、何れかのデバイスにPCIバス21の使
用を許可する。アービタ24は、ブリッジ30にPCI
バス21の使用を許可する際には、バス使用許可信号2
ndGNT1をアサートして、許可する旨をブリッジ3
0に通知する。PCIバス21の使用権を獲得したブリ
ッジ30は、PCIバス21がアイドル状態であること
を確認することができ次第、PCIバス21を使用する
旨を示すFRAME信号をアサートする。
【0007】このようにして、マスタデバイス12は、
PCIバス11およびPCIバス21の双方の使用の許
可を得て、ターゲットデバイス23との間でトランザク
ションを行う。しかし、通常、ブリッジ30は、posted
write buffer と呼ばれるバッファ部を有している。し
たがって、マスタデバイス12は、送信先のPCIバス
21の使用許可が得られていなくても、送信元のPCI
バス11の使用許可が得られていれば、PCIバス11
を介してブリッジ30内のバッファ部にデータを転送す
ることができる。マスタデバイス12とターゲットデバ
イス23との間のデータ転送量がブリッジ30内のバッ
ファ部の容量より多い場合であっても、このバッファ部
がフル状態となる前に運良く送信先のPCIバス21の
使用許可が得られれば、マスタデバイス12とターゲッ
トデバイス23との間でトランザクションを行うことが
できる。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来のバスシステムは以下のような問題点を有している、
すなわち、以上のような一連の動作において、転送元の
PCIバス11に接続されているマスタデバイス12が
バス使用権要求信号REQ1をアサートしてから、ブリ
ッジ30が転送先のPCIバス21に対してFRAME
信号をアサートするまでに要する時間は、マスタデバイ
ス12がバス使用権要求信号REQ1をアサートしてか
らFRAME信号をアサートするまでの時間T1、ブリ
ッジ30の内部での遅延時間T2、および、ブリッジ3
0がバス使用権要求信号2ndREQ1をアサートして
からFRAME信号をアサートするまでの時間T3、の
3つの時間を足し合わせた時間(T1+T2+T3)に
略等しい。時間T1およびT3それぞれは、バス使用権
要求からバス使用許可までに要する待ち時間であるアー
ビトレーション・レイテンシが大部分を占めている。す
なわち、上記従来の構成のバスシステムでは、2回分の
アービトレーション・レイテンシが発生する。
【0009】また、ブリッジ30内のバッファ部がフル
状態となる前に送信先のPCIバス21の使用許可が得
られなかった場合には、ブリッジ30は、転送元のPC
Iバス11に対して、自己がターゲットデバイスとして
データ転送が可能な状態であることを示すTRDY信号
をディアサートして(インアクティブにして)、データ
転送が不可能であることを表示する。ブリッジ30は、
このようにしてウェイトステートを挿入することによ
り、マスタデバイス12からのデータ転送を一時的に停
止させるか、或いは、ターゲット・ディスコネクトする
ことにより、マスタデバイス12が開始したトランザク
ションを終了させる。ターゲット・ディスコネクトされ
た場合、マスタデバイス12は、PCIバス11を一旦
解放して、残りのデータを転送する為には再度バス使用
権を獲得した後にトランザクションを開始しなければな
らない。この再度のバス使用権の獲得の際に、アービタ
14よりGNT1信号がアサートされていなければ、G
NT1信号がアサートされるまで待たなければならない
ので、ここでもアービトレーション・レイテンシが発生
する。
【0010】さらに、例えば、図6に示すように、マス
タデバイス12がハードディスクドライブ装置(HD
D)やテープドライブ装置等の記憶装置を含むものであ
る場合には、一般的には、マスタデバイス12はFIF
O(First-In First-Out)バッファ部を有している。そ
して、図7に示すように、マスタデバイス12は、SC
SI(Small Computer System Interface)バスを介し
て記憶装置からデータを読み出してFIFOバッファ部
に蓄積しデータ転送の準備をし、その準備ができた後に
PCIバス11を介してデータ転送する。このような場
合、マスタデバイス12がPCIバス11を介してデー
タ転送するのに要する時間よりも、マスタデバイス12
がデータ転送の準備をするのに要する時間の方が長い。
例えば、PCIバスクロックが33MHzであるときP
CIバスによるデータ転送速度は約133Mバイト/s
であるのに対して、SCSIバスによるデータ読出速度
が約10Mバイト/sである。したがって、転送すべき
データ量が多い場合には、マスタデバイス12がデータ
転送の準備をしている間は、マスタデバイス12はPC
Iバス11を解放するのが普通である。そして、マスタ
デバイス12は、データ転送の準備ができると、REQ
1信号をアサートしてバス使用権を要求し、アービタ1
4によりGNT1信号がアサートされるまで待つ必要が
ある。すなわち、転送すべきデータ量が多いほど、多く
の回数のアービトレーション・レイテンシが発生する。
【0011】なお、特開平6−89257号公報には、
転送元バスのアービタおよび転送先バスのアービタの双
方に同時にバス使用権要求信号をアサートする技術が開
示されている。しかし、この公報に開示された技術は、
バスのアドレスラインを使用してバス使用権要求信号を
アービタに伝送するものであるので、これをPCIバス
に適用したとしてもアービトレーション・レイテンシの
低減を図ることはできない。
【0012】本発明は、上記問題点を解消する為になさ
れたものであり、ブリッジを介して互いに接続された第
1のバスおよび第2のバスのうち第1のバスに接続され
たマスタデバイスと第2のバスに接続されたターゲット
デバイスとの間のトランザクションの際にバスアービト
レーションを行うバスアービトレーション制御装置であ
ってアービトレーション・レイテンシを低減することが
できるバスアービトレーション制御装置、および、この
バスアービトレーション制御装置を含むバスシステムを
提供することを目的とする。
【0013】
【課題を解決するための手段】本発明に係るバスアービ
トレーション制御装置は、ブリッジを介して互いに接続
された第1のバスおよび第2のバスのうち第1のバスに
接続されたマスタデバイスと第2のバスに接続されたタ
ーゲットデバイスとの間のトランザクションの際にバス
アービトレーションを行うバスアービトレーション制御
装置であって、(1) マスタデバイスから出力されたバス
使用権要求信号を入力する入力手段と、(2) トランザク
ションが第1のバスおよび第2のバスの双方を使用する
ものであるときに、入力手段により入力されたバス使用
権要求信号を、第2のバスのアービトレーションを行う
アービタへ送出する出力手段と、を備えることを特徴と
する。
【0014】このバスアービトレーション制御装置によ
れば、マスタデバイスとターゲットデバイスとの間のト
ランザクションが第1のバスおよび第2のバスの双方を
使用するものであるときには、マスタデバイスから出力
され入力手段により入力されたバス使用権要求信号は、
第2のバスのアービトレーションを行うアービタへ出力
手段により送出される。また、マスタデバイスから出力
されたバス使用権要求信号は、第1のバスのアービトレ
ーションを行うアービタへも送られる。すなわち、第1
のバスおよび第2のバスそれぞれの側のアービタに対し
て略同時にバス使用権要求信号が送られる。したがっ
て、実質的に1回分のアービトレーション・レイテンシ
を経た後にマスタデバイスとターゲットデバイスとの間
のトランザクションが開始されるので、また、ターゲッ
ト・ディスコネクトされることなくトランザクションが
開始される確率が高くなるので、第2のバスにてトラン
ザクションが開始されるまでに要する時間が短縮され
る。
【0015】また、本発明に係るバスアービトレーショ
ン制御装置は、(1) トランザクションの際のデータ転送
予定量を入力し記憶する記憶手段と、(2) トランザクシ
ョンの実行中にマスタデバイスとターゲットデバイスと
の間のデータ転送量を計数する計数手段と、(3) 計数手
段により計数されたデータ転送量が記憶手段により記憶
されたデータ転送予定量と一致したときに、第1のバス
および第2のバスそれぞれを通常のアービトレーション
に復帰させる復帰手段と、を更に備えることを特徴とす
る。この場合には、トランザクションの際のデータ転送
予定量が記憶手段により記憶され、トランザクションの
実行中にマスタデバイスとターゲットデバイスとの間の
データ転送量が計数手段により計数される。そして、計
数手段により計数されたデータ転送量が記憶手段により
記憶されたデータ転送予定量と一致すると、第1のバス
および第2のバスそれぞれは通常のアービトレーション
に復帰する。
【0016】本発明に係るバスシステムは、ブリッジを
介して互いに接続された第1のバスおよび第2のバスを
有するバスシステムであって、(1) 第1のバスに接続さ
れたマスタデバイスと、(2) 第2のバスに接続されたタ
ーゲットデバイスと、(3) マスタデバイスから出力され
たバス使用権要求信号を入力して第1のバスのアービト
レーションを行う第1のアービタと、(4) 第2のバスの
アービトレーションを行う第2のアービタと、(5) マス
タデバイスとターゲットデバイスとの間のトランザクシ
ョンが第1のバスおよび第2のバスの双方を使用するも
のであるときに、マスタデバイスから出力されたバス使
用権要求信号を第2のアービタに送出する上記のバスア
ービトレーション制御装置と、を備えることを特徴とす
る。
【0017】このバスシステムによれば、第1のバスに
接続されたマスタデバイスは、第2のバスに接続された
ターゲットデバイスとの間でトランザクションを行おう
とするとき、バス使用権要求信号を出力する。そのバス
使用権要求信号は、第1のバスのアービトレーションを
行う第1のアービタに送られるとともに、バスアービト
レーション制御装置を介して、第2のバスのアービトレ
ーションを行う第2のアービタにも送られる。すなわ
ち、第1のアービタおよび第2のアービタそれぞれに対
して略同時にバス使用権要求信号が送られる。したがっ
て、実質的に1回分のアービトレーション・レイテンシ
を経た後に第2のバスにてデータ転送が開始されるの
で、第2のバスにてデータ転送が開始されるまでの時間
が従来技術と比較して短縮される。また、ターゲット・
ディスコネクトされる確率が低くなるので、アービトレ
ーションの回数が低減される。
【0018】また、本発明に係るバスシステムにおい
て、マスタデバイスおよびターゲットデバイスの双方ま
たは何れか一方は、(1) データを記憶する記憶部と、
(2) 記憶部との間でデータを送受するとともに、第1の
バスおよび第2のバスのうち接続されているバスとの間
でもデータを送受するバッファ部と、を有していること
を特徴とする。このようなデバイスの場合、通常、記憶
部によるデータの書込および読出の速度は、バッファ部
によるデータの書込および読出の速度と比べて遅いこと
から、記憶部とバッファ部との間でデータを送受してい
る間はバスが解放され、バッファ部とバスとの間でデー
タを送受する際にはバス使用権を獲得する。トランザク
ションの際に転送すべきデータが大量である場合、この
ようなバス使用権の獲得と解放とからなる動作が多数回
繰り返し行われる。しかし、このような場合であって
も、本発明では、アービトレーション・レイテンシの発
生は最小限に抑えられる。
【0019】
【発明の実施の形態】以下、添付図面を参照して本発明
の実施の形態を詳細に説明する。なお、図面の説明にお
いて同一の要素には同一の符号を付し、重複する説明を
省略する。
【0020】図1は、本実施形態に係るバスシステム1
の概略構成を示す図である。本実施形態に係るバスシス
テム1では、PCIバス11とPCIバス21とがブリ
ッジ30を介して接続されている。一方のPCIバス1
1にはマスタデバイス12およびマスタデバイス13が
接続されている。他方のPCIバス21にはマスタデバ
イス22およびターゲットデバイス23が接続されてい
る。また、バスシステム1は、PCIバス11のアービ
トレーションを行うアービタ14と、PCIバス21の
アービトレーションを行うアービタ24とを有してい
る。ホストブリッジ40を介してCPU50がPCIバ
ス11に接続されている。さらに、バスシステム1は、
本実施形態に係るバスアービトレーション制御装置60
をも有している。
【0021】PCIバス11に接続されているマスタデ
バイス12は、PCIバス11を使用してトランザクシ
ョンを行おうとするときに、バス使用権要求信号REQ
1をアサートして、アービタ14に対してPCIバス1
1の使用権を要求する。そして、マスタデバイス12
は、アービタ14によりGNT1信号がアサートされる
と、PCIバス11がアイドル状態であることを確認す
ることができ次第、PCIバス11を使用する旨を示す
FRAME信号をアサートし、トランザクションを行う
相手方のデバイスのアドレス情報をPCIバス11に送
出する。マスタデバイス13もアービタ14との間で同
様の手続きを行う。また、PCIバス21に接続されて
いるマスタデバイス22もアービタ24との間で同様の
手続きを行う。ターゲットデバイス23は、マスタデバ
イスが開始したトランザクションに対して応答するデバ
イスのことである。
【0022】アービタ14は、マスタデバイス12,1
3によりアサートされたREQ1、REQ2信号に基づ
いて、優先順位に従ってアービトレーションを行い、何
れかのマスタデバイスにPCIバス11の使用を許可す
る。そして、アービタ14は、何れかのマスタデバイス
にPCIバス11の使用を許可する際には、そのマスタ
デバイスに対してGNT信号をアサートして、そのマス
タデバイスに許可する旨を通知する。アービタ24も同
様である。
【0023】ホストブリッジ40は、CPU50とPC
Iバス11とを接続するものである。ブリッジ30は、
PCIバス11とPCIバス21とを接続するものであ
る。
【0024】図2は、本実施形態に係るバスアービトレ
ーション制御装置60の概略構成を示す図である。この
バスアービトレーション制御装置60は、カウンタ制御
部61、カウント値レジスタ62、REQイネーブルレ
ジスタ63、カウンタ64およびゲート回路65〜69
を備えている。
【0025】カウンタ制御部61、カウント値レジスタ
62およびREQイネーブルレジスタ63それぞれは、
PCIバス11からアクセスできるように接続されてい
る。カウンタ制御部61は、PCIバス11を介して入
力された制御情報に基づいて、カウンタ63の計数動作
を制御する。カウント値レジスタ62は、PCIバス1
1を介して入力されたデータ転送量を記憶する。REQ
イネーブルレジスタ63は、PCIバス11に接続され
得るマスタデバイスの個数と等しいビット数の記憶容量
を有し、各ビットが何れかのマスタデバイスに対応して
いる。REQイネーブルレジスタ63は、PCIバス1
1を介して入力されたマスタ情報に基づいて、そのマス
タ情報が示すマスタデバイスに対応するビットをアサー
ト状態 "0" にセットする。カウンタ64は、カウント
値レジスタ62に記憶されたデータ転送量を初期値とし
て、カウンタ制御部61により制御されてカウントダウ
ンする。なお、カウント値レジスタ62およびREQイ
ネーブルレジスタ63は一体のものであってもよい。
【0026】ゲート回路65は、マスタデバイス12か
ら出力されるREQ1信号と、REQイネーブルレジス
タ63のうちマスタデバイス12に対応するビットの出
力信号とを入力して、両者の負論理の論理積を演算して
出力するゲート回路である。ゲート回路66は、マスタ
デバイス13から出力されるREQ2信号と、REQイ
ネーブルレジスタ63のうちマスタデバイス13に対応
するビットの出力信号とを入力して、両者の負論理の論
理積を演算して出力するゲート回路である。ゲート回路
67も同様である、ゲート回路68は、ゲート回路65
〜67それぞれの出力信号を入力し、これらの正論理の
論理積を演算して出力するゲート回路である。ゲート回
路69は、ゲート回路68からの出力信号と、ブリッジ
30から出力されたTempREQ1信号とを入力し、
これらの負論理の論理和を演算して、その演算結果を2
ndREQ1信号として出力するゲート回路である。な
お、ブリッジ30から出力されるTempREQ1信号
は、PCIバス11に接続されている何れかのマスタデ
バイスがPCIバス12上のデバイスをターゲットとす
るアドレス情報を送出した際に、そのアドレス情報を入
力したブリッジ30がPCIバス21の使用権を要求す
る旨を示す信号である。
【0027】次に、本実施形態に係るバスシステム1お
よびバスアービトレーション制御装置60の動作につい
て説明する。マスタデバイス12がターゲットデバイス
23との間でトランザクションを行う場合を想定する。
【0028】CPU50は、マスタデバイス12に対し
てDMA(Direct Memory Access)の起動をかけるのに
先だって、ホストブリッジ40およびPCIバス11を
介してバスアービトレーション制御装置60に、トラン
ザクションの際に転送されるデータの量、および、トラ
ンザクションの際にマスタデバイス12がマスタとなる
旨を示すマスタ情報を送る。バスアービトレーション制
御装置60は、PCIバス11を介して入力されたデー
タ転送量をカウント値レジスタ62に記憶させ、カウン
タ64の計数値をそのデータ転送量の値に初期化する。
また、バスアービトレーション制御装置60は、PCI
バス11を介して入力されたマスタ情報に基づいて、そ
のマスタ情報が示すマスタデバイス12に対応するRE
Qイネーブルレジスタ63のビットをアサート状態 "
0" にセットする。その後、CPU50は、ホストブリ
ッジ40およびPCIバス11を介して、マスタデバイ
ス12に対してDMAの起動をかける。
【0029】マスタデバイス12は、トランザクション
開始に先だって、PCIバス11およびPCIバス12
の使用権を獲得する為に、バス使用権要求信号REQ1
をアサートする。このバス使用権要求信号REQ1は、
PCIバス11側のアービタ14に入力されるととも
に、バスアービトレーション制御装置60にも入力され
る。
【0030】アービタ14は、このマスタデバイス12
から出力されたバス使用権要求信号REQ1を入力す
る。アービタ14は、マスタデバイス12からのみバス
使用権要求信号がアサートされている場合には、このマ
スタデバイス12にPCIバス11の使用を許可する
が、複数のマスタデバイスよりバス使用権要求信号がア
サートされている場合には、優先順位に従ってアービト
レーションを行い、何れかのマスタデバイスにPCIバ
ス11の使用を許可する。アービタ14は、マスタデバ
イス12にPCIバス11の使用を許可する際には、バ
ス使用許可信号GNT1をアサートして、許可する旨を
マスタデバイス12に通知する。
【0031】バスアービトレーション制御装置60も、
マスタデバイス12から出力されたバス使用権要求信号
REQ1信号を入力する。このとき、マスタデバイス1
2に対応するREQイネーブルレジスタ63のビットが
アサート状態にセットされているので、ゲート回路65
からの出力信号もアサート状態となる。そして、ゲート
回路68からの出力信号もアサート状態となり、ゲート
回路69から出力される2ndREQ1信号もアサート
される。この2ndREQ1信号は、転送先のPCIバ
ス21の側のアービタ24に入力される。なお、ブリッ
ジ30から出力されるTempREQ1信号がアサート
されたときも、2ndREQ1信号はアサートされる
が、これは、本発明を適用しない通常のアービトレーシ
ョンを実施する場合があることを考慮したものである。
アービタ24は、ブリッジ30にPCIバス21の使用
を許可する際には、2ndGNT1信号をアサートし
て、許可する旨をブリッジ30に通知する。
【0032】以上のように、本実施形態では、アービタ
14およびアービタ24の双方に対して、ほぼ同時にバ
ス使用権要求が出される、ただし、アービタ14により
GNT1信号がアサートされるタイミングと、アービタ
24により2ndGNT1信号がアサートされるタイミ
ングとは、必ずしも同時ではなく、一方が他方より早い
ことがある。
【0033】先にアービタ14によりGNT1信号がア
サートされた場合には、マスタデバイス12は、PCI
バス11がアイドル状態であることを確認することがで
き次第、PCIバス11を使用する旨を示すFRAME
信号をアサートする。そして、マスタデバイス12は、
送信先のPCIバス21の使用許可が得られていなくて
も、送信元のPCIバス11の使用許可が得られていれ
ば、PCIバス11を介してブリッジ30内のバッファ
部(posted write buffer)にデータを転送する。この
バッファ部がフル状態となる前にアービタ24により2
ndGNT1信号がアサートされて、送信先のPCIバ
ス21の使用許可が得られれば、中断することなく、マ
スタデバイス12とターゲットデバイス23との間でト
ランザクションを行うことができる。
【0034】これとは逆に先にアービタ24により2n
dGNT1信号がアサートされた場合には、ブリッジ3
0は、転送元PCIバス11からデータが送られてくる
までの間、転送先PCIバス21に対してAD信号、C
/BE信号およびPAR信号を適切な値に設定してバス
パーキング状態とする。ここで、AD信号は、アドレス
またはデータを示す信号であり、C/BE信号は、バス
コマンドを示す信号であり、PAR信号は、PCIバス
を介してアドレスまたはデータが正しく転送されるか否
かを確認する為のバスパリティを示す信号である。バス
パーキングとは、PCIバスに接続されている全てのデ
バイスがトランザクションを実行する必要がないとき
に、アービタが或る1つのマスタデバイスに対してGN
T信号をアサートしている状態を言う。そして、アービ
タ14によりGNT1信号がアサートされると、マスタ
デバイス12は、PCIバス11がアイドル状態である
ことを確認することができ次第、PCIバス11を使用
する旨を示すFRAME信号をアサートして、ターゲッ
トデバイス23との間でトランザクションを行うことが
できる。
【0035】トランザクション実行中、バスアービトレ
ーション制御装置60のカウンタ制御部61は、PCI
バス11に有効な1データフェーズが流れる度に、カウ
ンタ64をカウントダウンさせる。図3は、バスアービ
トレーション制御装置60のカウンタ64における計数
動作を説明するフローチャートである。
【0036】REQイネーブルレジスタ63の所定のビ
ットをセットしようとすると、図3に示すシーケンスが
開始される。カウンタ制御部61は、REQ1信号がア
サートされているか否かを判断し(ステップS10)、
GNT1信号がアサートされているか否かを判断し(ス
テップS11)、DEVSEL信号がアサートされてい
るか否かを判断する(ステップS12)。ここで、DE
VSEL信号は、マスタデバイス12によりアクセスを
受けたブリッジ30により、そのアクセスに対する応答
としてアサートされる信号である。これら3つの信号が
全てアサートされたことを確認した後に、次のステップ
に進む。
【0037】そして、カウンタ制御部61は、IRDY
信号、TRDY信号およびDEVSEL信号の全てがア
サートされているか否かを判断する(ステップS1
3)。ここで、IRDY信号は、マスタデバイス12が
トランザクション可能な状態であるときにマスタデバイ
ス12によりアサートされる信号である。TRDY信号
は、PCIバス11上のターゲットであるブリッジ30
がトランザクション可能な状態であるときにブリッジ3
0によりアサートされる信号である。
【0038】このステップS13における判断の際に、
IRDY信号、TRDY信号およびDEVSEL信号の
うち何れかがアサートされていなければ、DEVSEL
信号がディアサートされているか否かを判断する(ステ
ップS14)。もし、DEVSEL信号がディアサート
されていればステップS10に戻り、DEVSEL信号
がアサートされていればステップS13に戻る。
【0039】一方、ステップS13における判断の際
に、IRDY信号、TRDY信号およびDEVSEL信
号の全てがアサートされていれば、PCIバス11に有
効なデータが流れているので、カウンタ制御部61はカ
ウンタ64をカウントダウンさせる(ステップS1
5)。そして、カウンタ64による計数値が0であるか
否かが判断される(ステップS16)。もし、この計数
値が0でなければ、転送されるべきデータが未だ残って
いることになるので、ステップS13に戻る。一方、こ
の計数値が0であれば、転送されるべきデータが全て転
送されたことになるので、カウンタ64はクリア信号を
出力し、このクリア信号を入力したREQイネーブルレ
ジスタ63におけるマスタデバイス12に対応するビッ
トはクリアされる(ステップS17)。
【0040】なお、バスクロックの立ち上がり毎にステ
ップS13の判断および条件分岐が行われるように、ス
テップS13〜S16の処理はバスクロックの1周期内
に行われる必要がある。
【0041】ステップS17が終了した時点では、マス
タデバイス12からブリッジ30へのデータ転送は終了
して、マスタデバイス12からPCIバス11に送出さ
れるFRAME信号はディアサートされており、転送元
のPCIバス11は解放される。また、ブリッジ30か
らターゲットバス23へのデータ転送が終了すると、ブ
リッジ30からPCIバス21に送出されるFRAME
信号はディアサートされ、転送先のPCIバス21も解
放される。さらに、マスタデバイス12から出力される
REQ1信号はディアサートされ、ブリッジ30から出
力されるTempREQ1信号もディアサートされてい
るので、バスアービトレーション制御装置60から出力
される2ndREQ1信号もディアサートされる。
【0042】図4は、従来のバスシステムにおける各信
号のタイミングおよび本実施形態に係るバスシステムに
おける各信号のタイミングそれぞれを示すタイミングチ
ャートである。同図(a)に示す従来の場合のタイミン
グチャートには、マスタデバイス12から出力されるR
EQ1信号、アービタ14から出力されるGNT1信
号、転送元のPCIバス11のAD(アドレス/デー
タ)信号、ブリッジ30から出力される2ndREQ1
信号、アービタ24から出力される2ndGNT1信
号、および、転送先のPCIバス21の2ndAD信号
それぞれが示されている。同図(b)に示す本実施形態
の場合のタイミングチャートには、REQ1信号、GN
T1信号、転送元のPCIバス11のAD信号、バスア
ービトレーション制御装置60から出力される2ndR
EQ1信号、2ndGNT1信号、および、転送先のP
CIバス21の2ndAD信号それぞれが示されてい
る。
【0043】同図(a)に示すように、従来の場合に
は、マスタデバイス12によりREQ1信号がアサート
された後にアービタ14によりGNT1信号がアサート
されるまでに1回目のアービトレーション・レイテンシ
が生じる。そして、その後に、ブリッジ30により2n
dREQ1信号がアサートされた後にアービタ24によ
り2ndGNT1信号がアサートされるまでに2回目の
アービトレーション・レイテンシが生じる。したがっ
て、従来の場合には、これら2つのアービトレーション
・レイテンシを経た後に、ブリッジ30からターゲット
デバイス23へのデータ転送が開始される。
【0044】一方、同図(b)に示すように、本実施形
態の場合には、マスタデバイス12によりREQ1信号
がアサートされると略同時に、バスアービトレーション
制御装置60により2ndREQ1信号もアサートされ
る。したがって、本実施形態の場合には、アービタ14
によりGNT1信号がアサートされるまでのアービトレ
ーション・レイテンシ、および、アービタ24により2
ndGNT1信号がアサートされるまでのアービトレー
ション・レイテンシのうちで、より長時間のものを経た
後に、ブリッジ30からターゲットデバイス23へのデ
ータ転送が開始される。すなわち、本実施形態では、実
質的に1回分のアービトレーション・レイテンシを経た
後に、ブリッジ30からターゲットデバイス23へのデ
ータ転送が開始される。したがって、本実施形態では、
マスタデバイス12がREQ1信号をアサートしてから
ターゲットデバイス23へのデータ転送が開始されるま
でに要する時間が短縮される。
【0045】また、本実施形態の場合には、従来の場合
と比較して2ndGNT1信号が早期にアサートされる
ことから、ブリッジ30内のバッファ部(posted write
buffer)がフル状態となる前に送信先のPCIバス2
1の使用許可が得られる確率が高くなる。すなわち、タ
ーゲット・ディスコネクトされることなくマスタデバイ
ス12とターゲットデバイス23との間でトランザクシ
ョンを開始することができる確率が高くなる。したがっ
て、この点でも、アービトレーション・レイテンシは削
減され、トランザクションに要する時間が大幅に短縮さ
れる。
【0046】さらに、本実施形態において、マスタデバ
イス12が図6に示したようなHDDを含むものである
場合を想定し、マスタデバイス12が有しているFIF
Oバッファ部の容量が64バイトであって、マスタデバ
イス12からターゲットデバイス23へ転送すべきデー
タ量が16Mバイトであるとする。この場合、FIFO
バッファ部に64バイトのデータが蓄積されるとPCI
バス11の使用権が獲得されて64バイト単位のデータ
転送が行われ、その後にFIFOバッファ部に次の64
バイトのデータが蓄積されるまでの間はPCIバス11
は解放される。このようなバス使用権の獲得と解放とか
らなる動作が約26万回も繰り返し行われる。このよう
な場合、従来技術では約52万回のアービトレーション
・レイテンシが発生するのに対して、本実施形態では、
約26万回分に相当するアービトレーション・レイテン
シが発生するのみであり、トランザクションに要する時
間は従来の場合と比べて大幅に短縮される。
【0047】本発明は、上記実施形態に限定されるもの
ではなく種々の変形が可能である。例えば、アービタ1
4およびアービタ24はブリッジ30と一体であっても
よいし、バスアービトレーション制御装置60もブリッ
ジ30と一体であってもよい。このようにして、各アー
ビタやバスアービトレーション制御装置60それぞれ
は、その設定等をPCIアドレス空間にマッピングして
おくことにより、CPU50がPCIバス11を介して
アクセスすることで設定することができる。
【0048】また、上記実施形態に係るバスアービトレ
ーション制御装置60は、PCIバス11に接続された
デバイスがマスタとなる場合を考慮したものであるが、
PCIバス21に接続されたデバイスがマスタとなる場
合をも考慮すると、上記のようなバスアービトレーショ
ン制御装置を2組設けておくのが好適である。
【0049】
【発明の効果】以上、詳細に説明したとおり、本発明に
よれば、第1のバスおよび第2のバスそれぞれの側のア
ービタに対して略同時にバス使用権要求信号が送られ
る。したがって、実質的に1回分のアービトレーション
・レイテンシを経た後にマスタデバイスとターゲットデ
バイスとの間のトランザクションが開始されるので、ま
た、ターゲット・ディスコネクトされることなくトラン
ザクションが開始される確率が高くなるので、トランザ
クションが開始されるまでに要する時間が短縮される。
【0050】また、マスタデバイスおよびターゲットデ
バイスの双方または何れか一方がアクセス速度が遅い記
憶部を有する場合には、バス使用権の獲得と解放とから
なる動作が繰り返し行われるが、このような場合であっ
ても、アービトレーション・レイテンシの発生は最小限
に抑えられ、トランザクションに要する時間は短縮され
る。
【図面の簡単な説明】
【図1】 本実施形態に係るバスシステムの概略構成を
示す図である。
【図2】 本実施形態に係るバスアービトレーション制
御装置の概略構成を示す図である。
【図3】 本実施形態に係るバスアービトレーション制
御装置のカウンタにおける計数動作を説明するフローチ
ャートである。
【図4】 従来のバスシステムにおける各信号のタイミ
ングおよび本実施形態に係るバスシステムにおける各信
号のタイミングそれぞれを示すタイミングチャートであ
る。
【図5】 ブリッジを介して接続された2つのPCIバ
スを含むバスシステムの1構成例を示す図である。
【図6】 記憶装置を含むマスタデバイスの構成を示す
図である。
【図7】 SCSIバスによるデータ読出とPCIバス
によるデータ転送との関係を示す図である。
【符号の説明】
1…バスシステム、11…PCIバス、12,13…マ
スタデバイス、14…アービタ、21…PCIバス、2
2…マスタデバイス、23…ターゲットデバイス、24
…アービタ、30…ブリッジ、40…ホストブリッジ、
50…CPU、60…バスアービトレーション制御装
置、61…カウンタ制御部、62…カウント値レジス
タ、63…REQイネーブルレジスタ、64…カウン
タ、65〜69…ゲート回路。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ブリッジを介して互いに接続された第1
    のバスおよび第2のバスのうち前記第1のバスに接続さ
    れたマスタデバイスと前記第2のバスに接続されたター
    ゲットデバイスとの間のトランザクションの際にバスア
    ービトレーションを行うバスアービトレーション制御装
    置であって、 前記マスタデバイスから出力されたバス使用権要求信号
    を入力する入力手段と、 前記トランザクションが前記第1のバスおよび前記第2
    のバスの双方を使用するものであるときに、前記入力手
    段により入力された前記バス使用権要求信号を、前記第
    2のバスのアービトレーションを行うアービタへ送出す
    る出力手段と、 を備えることを特徴とするバスアービトレーション制御
    装置。
  2. 【請求項2】 前記トランザクションの際のデータ転送
    予定量を入力し記憶する記憶手段と、 前記トランザクションの実行中に前記マスタデバイスと
    前記ターゲットデバイスとの間のデータ転送量を計数す
    る計数手段と、 前記計数手段により計数されたデータ転送量が前記記憶
    手段により記憶されたデータ転送予定量と一致したとき
    に、前記第1のバスおよび前記第2のバスそれぞれを通
    常のアービトレーションに復帰させる復帰手段と、 を更に備えることを特徴とする請求項1記載のバスアー
    ビトレーション制御装置。
  3. 【請求項3】 ブリッジを介して互いに接続された第1
    のバスおよび第2のバスを有するバスシステムであっ
    て、 前記第1のバスに接続されたマスタデバイスと、 前記第2のバスに接続されたターゲットデバイスと、 前記マスタデバイスから出力されたバス使用権要求信号
    を入力して前記第1のバスのアービトレーションを行う
    第1のアービタと、 前記第2のバスのアービトレーションを行う第2のアー
    ビタと、 前記マスタデバイスと前記ターゲットデバイスとの間の
    トランザクションが前記第1のバスおよび前記第2のバ
    スの双方を使用するものであるときに、前記マスタデバ
    イスから出力された前記バス使用権要求信号を前記第2
    のアービタに送出する請求項1記載のバスアービトレー
    ション制御装置と、 を備えることを特徴とするバスシステム。
  4. 【請求項4】 前記マスタデバイスおよび前記ターゲッ
    トデバイスの双方または何れか一方は、 データを記憶する記憶部と、 前記記憶部との間でデータを送受するとともに、前記第
    1のバスおよび前記第2のバスのうち接続されているバ
    スとの間でもデータを送受するバッファ部と、 を有していることを特徴とする請求項3記載のバスシス
    テム。
JP11060319A 1999-03-08 1999-03-08 バスアービトレーション制御装置およびバスシステム Pending JP2000259555A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11060319A JP2000259555A (ja) 1999-03-08 1999-03-08 バスアービトレーション制御装置およびバスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11060319A JP2000259555A (ja) 1999-03-08 1999-03-08 バスアービトレーション制御装置およびバスシステム

Publications (1)

Publication Number Publication Date
JP2000259555A true JP2000259555A (ja) 2000-09-22

Family

ID=13138750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11060319A Pending JP2000259555A (ja) 1999-03-08 1999-03-08 バスアービトレーション制御装置およびバスシステム

Country Status (1)

Country Link
JP (1) JP2000259555A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003701B2 (en) 2001-01-23 2006-02-21 Nec Corporation System for facilitated analysis of PCI bus malfunction
JP2009003633A (ja) * 2007-06-20 2009-01-08 Panasonic Corp 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003701B2 (en) 2001-01-23 2006-02-21 Nec Corporation System for facilitated analysis of PCI bus malfunction
JP2009003633A (ja) * 2007-06-20 2009-01-08 Panasonic Corp 情報処理装置

Similar Documents

Publication Publication Date Title
JP3231596B2 (ja) 待ち時間及びシャドー・タイマを有するバス・システム
JP4008987B2 (ja) バス通信システム及びバス調停方法並びにデータ転送方法
US5625779A (en) Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
USRE37980E1 (en) Bus-to-bus bridge in computer system, with fast burst memory range
US5870567A (en) Delayed transaction protocol for computer system bus
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US6581124B1 (en) High performance internal bus for promoting design reuse in north bridge chips
US5933610A (en) Predictive arbitration system for PCI bus agents
US5761450A (en) Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
US6513089B1 (en) Dual burst latency timers for overlapped read and write data transfers
US6098134A (en) Lock protocol for PCI bus using an additional "superlock" signal on the system bus
US5949981A (en) Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
WO1995020192A1 (en) Bus deadlock avoidance during master split-transactions
JP4313607B2 (ja) バス接続回路及びバス接続システム
US20040068603A1 (en) Reordering of requests between an initiator and the request queue of a bus controller
US5951667A (en) Method and apparatus for connecting expansion buses to a peripheral component interconnect bus
US7174401B2 (en) Look ahead split release for a data bus
US6604159B1 (en) Data release to reduce latency in on-chip system bus
US5559968A (en) Non-conforming PCI bus master timing compensation circuit
EP1820109B1 (en) Time-based weighted round robin arbiter
US5832243A (en) Computer system implementing a stop clock acknowledge special cycle
US5870570A (en) Multiple bus agent integrated circuit device for connecting to an external bus
US20020078282A1 (en) Target directed completion for bus transactions