JP2000207354A - バスア―ビタ及びバス間制御装置 - Google Patents

バスア―ビタ及びバス間制御装置

Info

Publication number
JP2000207354A
JP2000207354A JP11005108A JP510899A JP2000207354A JP 2000207354 A JP2000207354 A JP 2000207354A JP 11005108 A JP11005108 A JP 11005108A JP 510899 A JP510899 A JP 510899A JP 2000207354 A JP2000207354 A JP 2000207354A
Authority
JP
Japan
Prior art keywords
bus
processing request
mask
arbiter
common
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11005108A
Other languages
English (en)
Inventor
Mamoru Kato
守 加藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11005108A priority Critical patent/JP2000207354A/ja
Publication of JP2000207354A publication Critical patent/JP2000207354A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 共有バスの無駄なリトライトランザクション
を抑制し、バスの転送効率を向上させるバスアービタ及
びバス制御装置を提供する。 【解決手段】 バスアービタ50にはPCIバス10
と、PCIバス10に接続されるデバイスからのバス使
用要求信号22a、バス使用許可信号22bとが接続さ
れる。バス調停手段60は、複数のデバイスからのバス
使用要求信号を受けて、1つのデバイスに対してバス使
用許可信号を出す。リトライ応答検出手段52は、PC
Iバスのディレイドトランザクションを検出し、そのマ
スタデバイス及びアドレスを対応関係記憶手段54に記
憶する。同時に、マスク制御手段58はバス上の時間を
計測し、設定された時間内であるか判定する。設定され
た時間内においては、マスク手段56により該当するマ
スタデバイスのバス使用要求はマスクされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムで使用されるバスアービタ及びバスアービタを有す
るバス間制御装置に関する。
【0002】
【従来の技術】パーソナルコンピュータやサーバーなど
のコンピュータに使用される周辺装置バスとして、最近
では、PCI(Peripheral Component Interconnect)
バスが一般的に採用されている。PCIバスは米国イン
テル社が中心となって規格化したバスであり、従来のI
SA(Industry Standard Architecture)バスに比べて
高速なデータ転送が可能である。
【0003】PCIバスにおいてデータ転送を行う場
合、データ転送を行いたいバス上のデバイスがバスマス
タ、すなわち処理要求元デバイスとなり、バスにトラン
ザクションを発行する。バスマスタがバスにトランザク
ションを発行するためには、PCIバスアービタに対し
てバス要求を出し、バス使用許可を得なければならな
い。PCIバスアービタは、1つのPCIバスに対して
1個存在し、複数のバスマスタからのバス要求を受け、
バス使用を要求しているバスマスタのうちから1つのバ
スマスタにバス使用を許可する。
【0004】PCIバスは、高速動作のために、バスブ
リッジとよばれるバス間制御装置によって、コンピュー
タシステムの他のシステムバスから電気的、論理的に分
離される。例えば、ホストCPU(Central Processing
Unit)やメモリなどが接続されるシステムバスとPC
Iバスのブリッジをホストブリッジと呼ぶ。
【0005】また、電気的な制約によって、1つのPC
Iバスに接続できるデバイス数には上限がある。そこ
で、PCIバスに接続されるデバイスの数が多い場合に
は、一般的にPCI−PCIブリッジによってPCIバ
スを階層化するという構成が採られる。
【0006】図9はPCIバスシステムの概略の構成を
示すブロック図である。ブリッジ2は、少なくとも1個
のCPU4及び少なくとも1個のメモリ6が接続される
システムバス8と、PCIバス10との接続制御を行う
ホストブリッジである。
【0007】PCIバス10にはPCIアービタ12
と、複数のPCIデバイス14、16(デバイスA,
B)が接続される。図9では2つのデバイスが接続され
る例を示したが、PCI規格においては1つのPCIバ
スに最大10個のデバイスまで接続可能である。
【0008】PCIバス上のデバイス(ホストブリッジ
も含む)とPCIアービタとは、それぞれ個別に信号線
で接続されている。例えば、ブリッジ2とPCIアービ
タ12との間にはブリッジ2からPCIアービタ12へ
のバス使用要求信号20a(REQ−BG)とPCIア
ービタ12からブリッジ2に対するバス使用許可信号2
0b(GNT−BG)とに対応した信号線が設けられ
る。また、同様にデバイス14、16とPCIアービタ
12との間にはそれぞれ、デバイス14、16からのバ
ス使用要求信号22a、24a(REQ−A,REQ−
B)、デバイス14、16に対するバス使用許可信号2
2b、24b(GNT−A,GNT−B)に対応した信
号線が設けられる。
【0009】以下に図9の構成において、デバイス14
がメモリ6からデータを読み出す場合を例にとって、P
CIバスシステムの動作を説明する。
【0010】第一に、デバイス14はバス使用要求信号
22aをアクティブにドライブしてアービタ12に対し
バス使用要求を行う。アービタ12はバス要求している
全てのデバイス(ここではデバイス14、16)の中か
ら1つのデバイスを決定し、当該決定により選択された
デバイスに対しバス使用許可を与える。ここで複数のバ
ス使用要求を調停するために、固定プライオリティ、ラ
ウンドロビンなどにより優先順位を決定し、優先度が高
いものから使用許可を与える方法が利用されている。
【0011】例えばデバイス14に対して使用許可を与
える場合には、アービタ12はバス使用許可信号22b
をアクティブにドライブする。デバイス14はバス使用
許可信号22bがアクティブにされたのを検知して、バ
ス10にメモリ読み出しのトランザクションを発行す
る。図9の例ではメモリ6はブリッジ2を介してシステ
ムバス8に接続されているため、上記読み出しトランザ
クションにはブリッジ2が応答することになる。
【0012】ブリッジ2はデバイス14からメモリ読み
出しコマンドを受けると、システムバス8を介してメモ
リ6を読み出す。メモリ6の読み出しには一定時間のア
クセスタイムが必要であるため、このブリッジは、PC
Iバス規格のディレイド・トランザクションという方法
を使用することができる。すなわち、受け取ったメモリ
読み出しコマンドをブリッジ内部で記憶し、メモリ読み
出しを実行しながら、PCIバスにはリトライ応答を返
す。このトランザクションをDRR(DelayedRead Requ
est)という。リトライ応答を受け取ったデバイス14
はメモリ読み出しのトランザクション(DRR)を終了
して、一旦バス10を開放しなければならない。その後
再びアービタ12にバス要求を行い、使用許可を得る
と、再度同じトランザクションを発行する。ブリッジ2
は、その間にメモリ読み出しを完了していた場合、今度
はリトライ応答ではなく、トランザクションに対する処
理結果、すなわちメモリから読み出されたデータを返
し、デバイス14がこれを受け取って、メモリ読み出し
トランザクションが完了する。このトランザクションを
DRC(Delayed Read Completion)という。
【0013】
【発明が解決しようとする課題】上記ディレイドトラン
ザクションの例は、ホストブリッジ2がリトライ応答を
返した場合の例であるが、ディレイドトランザクション
の適用範囲はホストブリッジに限らない。PCIバスを
階層化した場合のPCI−PCIブリッジや、PCIバ
スとISAバスと間のブリッジ、あるいは入出力制御装
置なども考えられる。
【0014】それらの場合には、最初にPCIバストラ
ンザクションがリトライされてから、実際にデータ転送
の準備ができるまでに、非常に時間がかかる場合があ
る。図10はその一例を示すタイミング図である。
【0015】図10において、デバイス14がリトライ
応答30を受け取ってからデータ転送32が行われるま
で(DRR34終了からDRC36開始まで)の期間
は、他のデバイス(例えばデバイス16)がPCIバス
使用許可を得て、PCIバス10を使用することができ
る。一方、デバイス14はDRCにより自身のデータ転
送が完了するまでトランザクションのリトライ38を繰
り返さなければならない。よって、当該期間において
は、バスアービタ12の調停に基づいて、デバイス14
とデバイス16とがバス10を使用することになる。ア
ービタ12の調停方式によっては、デバイス14のリト
ライの方がデバイス16の使用要求よりも優先されてし
まうことも有り得る。
【0016】以上のように、従来は、ディレイドトラン
ザクションの無駄なリトライによってバスが占有され、
本来使えるはずのバスの転送容量が、実質的に減少して
しまうという問題点があった。
【0017】本発明は上記問題点を解決するためになさ
れたものであり、ディレイドトランザクションをサポー
トするバスシステム、特にPCIバスを有するコンピュ
ータシステムにおいて、バスの転送容量を有効に利用す
ることができるバスアービタ及びバス間制御装置を提供
することを目的とする。
【0018】
【課題を解決するための手段】本発明に係るバスアービ
タは、共通バス上のリトライ応答を検出するリトライ応
答検出手段と、前記リトライ応答に係る処理要求元デバ
イスと処理要求先との対応関係を記憶する対応関係記憶
手段と、前記リトライ応答に係る前記処理要求元デバイ
スからの共通バス使用要求をマスクし調停の対象外とす
るマスク手段と、前記処理要求元デバイスに対応する前
記処理要求先に応じて前記マスクの期間を決定し、前記
マスク手段によるマスク動作を制御するマスク制御手段
とを有することを特徴とする。
【0019】また、本発明に係るバスアービタにおいて
は、前記マスク制御手段が前記リトライ応答に係る前記
処理要求先に応じたマスク時間の設定値を保持する設定
値保持手段を有し、前記設定値に基づいて前記マスクの
期間を決定することを特徴とする。
【0020】また、本発明に係るバスアービタにおいて
は、前記共通バスを介した外部からの指示に基づいて前
記設定値保持手段に前記マスク時間を設定する外部指示
値設定手段を有することを特徴とする。
【0021】また、本発明に係るバスアービタは、前記
マスク手段によるマスク動作を不活性とし、前記共通バ
スを監視して、前記処理要求に対する前記処理要求先に
よる処理開始から処理完了までのレイテンシ時間を計測
し、当該レイテンシ時間を当該処理要求先に関する前記
マスク時間として前記設定値保持手段に設定する実測値
設定手段を有することを特徴とする。
【0022】本発明に係るバス間制御装置は、共通バス
の一つに接続された複数のデバイスの当該共通バスへの
アクセスを調停するバスアービタを有し、前記バスアー
ビタは、当該バスアービタが調停する前記共通バス上の
処理要求元デバイスからの共通バス使用要求をマスクし
調停の対象外とするマスク手段を有し、前記バス制御部
は、前記バスアービタにより調停される前記共通バス上
の前記処理要求元デバイスから他の前記共通バス上の処
理要求先への処理要求を検知し、前記マスク手段に対し
当該処理要求元デバイスに対する前記マスクを行うこと
を指示し、当該処理要求に対する前記処理要求先からの
処理結果を受領すると当該処理要求元デバイスに対する
前記マスクを解除することを特徴とするものである。
【0023】
【発明の実施の形態】次に、本発明の実施形態について
図面を参照して説明する。
【0024】[実施の形態1]図1は本発明の第1の実
施の形態に係るバスアービタの概略の構成を示すブロッ
ク図である。このバスアービタ50は、例えば、従来技
術の説明において示した図9と同様の構成を有するバス
システムに用いることができる。以下の説明で図9と同
一の符号は同一の構成要素等を表すものとする。バスア
ービタ50にはPCIバス10と、PCIバス10に接
続される各デバイスに対応したバス使用要求信号とバス
使用許可信号とが接続される。図1では説明の都合上、
バス使用要求信号/バス使用許可信号はデバイス14に
対応するバス使用要求信号22a(REQ−A)、バス
使用許可信号22b(GNT−A)の1組のみ図示して
いるが、他のデバイス(例えばデバイス16、ブリッジ
2)に対するバス使用要求/許可信号についても同様の
方法にて接続される。
【0025】アービタ50はリトライ応答検出手段5
2、対応関係記憶手段54、マスク手段56、マスク制
御手段58、及びバス調停手段60を含んで構成され
る。
【0026】リトライ応答検出手段52は、デバイス1
4、16に共通のバスであるPCIバス10を監視し、
ディレイドトランザクションを検出する機能を有したも
のである。すなわちリトライ応答検出手段52は、処理
要求先からのリトライ応答を検出してディレイドトラン
ザクションを検知する。ここでリトライ応答を返す実体
は、必ずしも処理要求の直接の相手先のデバイスとは限
らない。例えば、デバイス14がメモリ6からデータを
読み出す処理においては、処理の直接の要求先はメモリ
6又はそれを制御するCPU4であるが、PCIバス規
格においてはブリッジ2がメモリ読み出し処理を実行し
ながらデバイス14に対してはリトライ応答を返すこと
は従来技術の説明において述べた。ここで「処理要求
先」という用語を用い、「処理要求先デバイス」という
用語を用いなかったのはこの理由からである。要は、こ
こでの説明における処理要求先とは、直接の要求先のデ
バイス、すなわち処理要求先デバイスである場合と、処
理要求元デバイスと処理要求先デバイスとの間に介在す
る、例えばブリッジのようなデバイスである場合との双
方を含む広い概念である。
【0027】対応関係記憶手段54は、リトライ応答が
返された処理要求元デバイスであるマスタデバイスとそ
の処理要求先であるアドレスとの対応関係を記憶するも
のである。バス調停手段60はバス10に接続される各
デバイスからのバス使用要求信号を入力され、それらの
調停を行い、その結果をバス使用許可信号として出力す
る。マスク手段56は、バス調停手段60へのバス使用
要求信号の信号線に介在し、各デバイスから送出された
バス使用要求信号のバス調停手段60への入力を各デバ
イス個別に制御する。つまり、マスク手段56はマスク
制御手段58からの指示に従って、バス使用要求信号を
マスク、すなわちバス調停手段60への入力を阻止する
ことができ、マスクされているデバイスはその間、バス
使用要求信号を発しても調停の対象外とされ、バス10
へのアクセスを行うことができない。
【0028】図2は、本実施の形態におけるマスク制御
手段58の概略の構成を示すブロック図である。時間計
測手段70は、対応関係記憶手段54に記憶された各マ
スタデバイス毎に、ディレイドトランザクションが開始
されてからの時間を計測する手段であり、さらに具体的
には、クロックカウンタなどで構成が可能である。設定
値保持手段72は、対応関係記憶手段54に記憶された
各処理要求先のアドレス(各ターゲットに相当)毎に設
定されるマスク時間の値を保持する手段である。例え
ば、この設定値保持手段72には、処理要求先デバイス
のハードウェアに応じて予め定められた固定値を設定す
ることができる。つまり、処理を行うデバイスの処理速
度などの要因を考慮して、処理結果が得られるまで最低
限要するであろう時間や、平均的に要する時間を設定値
保持手段72に設定することができる。上述したメモリ
読み出し処理の例に即して述べれば、その固定値は、メ
モリリード/ライトトランザクションの始まりから終わ
りまでの予め設定された時間であり、当該メモリ6の種
類や、それを読み出すCPU4の処理速度、システムバ
ス8のクロック速度に基づいて定められ得る。
【0029】比較手段74は、時間計測手段70により
計測された時間と、設定値保持手段72に保持された設
定値とを比較する手段であり、計測された時間が設定値
よりも小さい場合にマスク手段56にマスクを行うよう
に指示を出す。
【0030】さて、上述したように、図9においてバス
アービタ50をアービタ12に代えて使用することがで
き、そのアービタが置き換えられた当該バスシステムは
本発明の実施の形態に係るバスシステムである。以下、
図9を援用し、本発明の実施の形態に係るバスシステム
の動作を説明する。以下、図9と同一の符号は従来と同
様の構成要素を表すものとする。
【0031】図3は、本発明の実施の形態に係るバスシ
ステムの動作を説明するためのタイミング図であり、P
CIバス上のシーケンスの一例を示すタイミング図であ
る。
【0032】PCIバス10にディレイドトランザクシ
ョンが発行されていない状態では、時間計測手段70に
よる計測は無効であり、マスク手段56は、バス使用要
求信号をそのままバス調停手段60に伝える、すなわち
マスクはされない。
【0033】デバイス14がメモリ6からデータを読み
出す場合、従来の技術にて説明したように、デバイス1
4はバス使用要求信号22aをアクティブ(LOWレベ
ル)にドライブして、バスアービタ50に対しバス使用
要求80を行う。この時点ではバス使用要求はマスクさ
れていないため、バスアービタ50はデバイス14を調
停の対象に含めて調停を行い、所定の調停方法に基づき
バス使用許可を出す。複数のバス使用要求を調停する方
法に関しては本発明の範囲外であり、任意の方法を選択
できる。
【0034】バスアービタ50がデバイス14に対して
バス使用許可82を出すと、デバイス14はバス10に
メモリ読み出しのトランザクション(DRR84)を発
行する。このDRRトランザクション84は、図3にお
いては、デバイス14がアドレスXに対しメモリリード
コマンド86を発行することにより始まり、従来の技術
の説明で述べたようにブリッジ2がリトライ応答88を
返すとデバイス14がメモリからのデータを受領するこ
となく一旦終了する。
【0035】リトライ応答検出手段52は、このリトラ
イ応答88を検出して、DRRトランザクション84の
相手先のアドレスと要求元のマスタデバイスを特定する
情報を対応関係記憶手段54に記憶させる。アドレスは
PCIバス10のアドレス信号から取得される。マスタ
デバイスを特定する情報としてはそのDRR発行時に調
停手段によりバス使用が許可されていたマスタ番号を記
憶する。マスタ番号は、バス使用要求/許可信号と一対
一対応に関連付けられる。これらを記憶すると同時に、
時間計測手段70内の記憶されたマスタ番号に対応する
カウンタが、DRR開始からのクロック時間を計測開始
する。DRRによって開始された計測は有効であり、比
較手段74において比較処理が行われる。
【0036】DRR開始直後は、計測された時間は設定
値保持手段72に設定された時間より小さいため、比較
の結果、そのマスタデバイスのバス使用要求はマスク手
段56によりマスクされる。マスク期間中は、デバイス
14からのバス使用要求信号はバス調停手段60に達す
ることはなく、バス使用要求が無いのと同等の状態とな
る。従って、バス使用許可も出ず、デバイス14はバス
使用権を獲得できない。図3において、このことはデバ
イス14がバス使用要求信号REQ−AをLOWレベル
としてバス使用要求90を出し続けているにも拘わら
ず、バス使用許可信号GNT−AがHIGHレベルに維
持されている、つまりバス使用許可が出されない様子に
表されている。
【0037】時間計測手段70はクロック毎にカウント
アップを進め、設定値保持手段72に設定された時間を
超えると比較手段74によりマスク状態が解除される。
マスク状態が解除されると、デバイス14からバス使用
要求が出されていればバス調停手段60によってバス使
用許可が与えられ、デバイス14はDRCのトランザク
ションを発行することができる。このことは、図3にお
いて、計測時間が設定値を超え、デバイス14からのバ
ス使用要求90に対し、バス使用許可92が出され、そ
れを受けてデバイス14がDRCトランザクション94
を実行することに表されている。DRC94は、DRR
84と同様にメモリリードコマンド96をアドレスXに
対して発行することにより開始され、メモリから読み出
されたデータの転送98を受けることにより完了する。
【0038】以上に述べたように、本発明の第1の実施
形態に係るバスアービタを使用すれば、ディレイドトラ
ンザクション開始(DRR)からディレイドトランザク
ション終了(DRC)までの間は、該ディレイドトラン
ザクションに係るマスタデバイスのバス使用要求はマス
クされ、当該デバイスによる無駄なリトライの繰り返し
が抑止される。マスク期間中は他のデバイスからのバス
使用要求は(同様にディレイドトランザクション処理中
でない限り)受け付けられ、バス使用が許可され得る。
従って、発行中のディレイドトランザクションに関連し
ないデバイスのデータ転送は自由に行うことができる。
このように、ディレイドトランザクションに係るデバイ
スのリトライを抑止することによりバスのデータ転送容
量の実質的な低下を抑制し、他のデバイスに係るトラン
ザクションにおける効率的なデータ転送が可能となる。
なお、この点に関して、図3には、デバイス14がマス
クされているDRR84からDRC94までの間の期間
において、デバイス16からバス使用要求100が出さ
れ、それに対しバス使用許可102が与えられ、デバイ
ス16がアドレスYに対してコマンドAを発行し、その
処理結果としてデータ転送104を受ける様子が示され
ている。デバイス16はバス使用要求100を発行した
際に、バス調停手段60においてデバイス14と競合す
ることがないので、速やかにバス使用許可を得られる。
このようにDRRとDRCとの間の期間において、実質
的な処理を行うことができ、バスの有効利用が図られ
る。
【0039】[実施の形態2]図4は、本発明の第2の
実施の形態におけるマスク制御手段の概略の構成を示す
ブロック図である。本マスク制御手段は、図1に示すバ
スアービタ50におけるマスク制御手段58に置き換え
て使用することができる。よって、それを用いたバスア
ービタの構成は図1と同様であるので同図を援用し、図
1及び図2に関して説明したのと同一の構成要素には同
一の符号を用いて以下、本実施形態の説明を行う。
【0040】マスク制御手段150は、マスク制御手段
58の構成に加えて外部指示値設定手段152を有する
点がマスク制御手段58と相違する。この外部指示値設
定手段152は、PCIバス10のターゲットデバイス
として機能し、本実施形態に係るバスアービタ50の外
部のデバイス、例えばホストCPUはPCIバス10を
介して外部指示値設定手段152に、設定値保持手段7
2に格納される設定値を指示することができる。そして
外部指示値設定手段152は指示された値を設定値保持
手段72に設定する。
【0041】図5は、外部指示値設定手段152で用い
られるレジスタ構成を示す模式図であり、これはバスア
ービタがPCIバスターゲットとして持つレジスタ構成
である。PCIコンフィギュレーションヘッダは、PC
Iバス規格に規定されるレジスタ群であり、バスアービ
タがPCIターゲットとして機能するために必要なもの
である。PCIバス規格により1デバイスに与えられる
コンフィギュレーションレジスタアドレス空間のうち、
PCIコンフィギュレーションヘッダに使用されるアド
レス以外のアドレスをアービタの専用レジスタとして使
用可能であり、ここに設定値保持手段に設定すべき内容
のレジスタアドレスを設けることができる。設定内容は
アドレス範囲と、そのアドレス範囲に対応する設定値で
あり、これらを複数組用意することで、複数のアドレス
範囲に対して個別にマスク時間を設定できる。外部指示
値設定手段152は、外部から指示された値をこれらレ
ジスタに格納する。外部指示値設定手段152はこれら
の値を、外部からの指示により随時、設定値保持手段7
2に設定することもできるし、予め指示されたスケジュ
ール等に従って、設定値保持手段72の設定値と当該レ
ジスタの値とを入れ替えることもできる。
【0042】このように、本実施形態に係るバスアービ
タを使用すれば、例えばホストCPUからこれらのレジ
スタに読み書きすることで、元々ハードウェアで用意さ
れていた設定値を後から自由に書き換えることができる
ので、上記実施形態で得られる効果に加え、様々な状況
に応じて適切なマスク時間を設定することができるとい
う効果が得られる。例えば、異なるレイテンシを有する
ターゲット(=アドレス範囲)に対して個別のマスク時
間を設定できるため、マスク時間が長すぎてディレイド
トランザクションのレイテンシが不要に大きくなった
り、マスク時間が不足してバスに不要なリトライが発生
したりするという問題を、マスク時間を適宜調節するこ
とで解消できる。また、システム構成上のデバイスの増
設や交換などに柔軟に対応できる。また、ターゲットの
処理負荷に応じて設定値を変化させることもできる。例
えばCPUの負荷が通常高い時間帯には、当該CPUに
対する処理要求から処理結果が得られるまでの時間は長
くなると考えられるので、ホストCPUがそのような負
荷の典型的な(平均的な)推移パターンに基づいて、外
部指示値設定手段152を介してマスク時間の設定値を
変更する構成も可能である。
【0043】[実施の形態3]図6は、本発明の第3の
実施の形態におけるマスク制御手段の概略の構成を示す
ブロック図である。本マスク制御手段は、図1に示すバ
スアービタ50におけるマスク制御手段58に置き換え
て使用することができる。よって、それを用いたバスア
ービタの構成は図1と同様であるので同図を援用し、図
1及び図2に関して説明したのと同一の構成要素には同
一の符号を用いて以下、本実施形態の説明を行う。
【0044】マスク制御手段200は、マスク制御手段
58の構成に加えて実測値設定手段202を有する点が
マスク制御手段58と相違する。この実測値設定手段2
02は、PCIバス10を監視し、ディレイドトランザ
クション開始(DRR)から完了(DRC)までの時間
を計測し、その計測された時間を、次回からの該当する
ターゲットに対するマスク時間として設定値保持手段7
2に設定する。つまり、ターゲットのレイテンシを実測
により求めて、その時間をマスク時間とすることができ
る。実測値設定手段202を構成するPCIバス監視部
に関しては、リトライ応答検出手段52と回路の共用が
可能である。
【0045】実測値設定手段202は、ディレイドトラ
ンザクションの開始(DRR)を検出すると経過時間を
計測開始し、ディレイドトランザクションの完了(DR
C)を検出すると計測を終了する。得られた計測時間は
実際にそのターゲットに対するディレイドトランザクシ
ョンのレイテンシに対応しているため、これに基づいて
設定値保持手段72にマスク時間を設定すれば、より精
度の高いマスク時間設定ができる。
【0046】実測値設定手段202は、通常動作モード
と設定値決定モードとを有する。通常動作モードにおい
ては実測値設定手段202はレイテンシの計測は行わ
ず、既に設定値保持手段72に設定されたマスク時間を
用いて、第1の実施形態と同様のマスク動作を行う。
【0047】一方、設定値決定モードにおいては、実測
値設定手段202は、ディレイドトランザクション発行
時にマスク動作を行わず、レイテンシの計測を行う。レ
イテンシの計測は所定回数実施し、その結果の平均値か
ら設定値を決定することができる。また、計測に際して
は所定のタイムアウト時間を設け、タイムアウト時間を
超えてもディレイドトランザクションが完了しない(す
なわちDRCが発行されない)場合には計測を中断する
ことで、障害発生時等の問題を回避できる。所定回数の
計測を実施してマスク時間を設定し終わると、再び通常
動作モードに移行する。通常動作モードから設定値決定
モードへの移行は、一定間隔毎に行われる。それによっ
て、システムの負荷状況に応じたレイテンシの変動にも
対応できる。
【0048】以上のように、本実施の形態で述べたバス
アービタを使用すれば、第1の実施形態で得られる効果
に加えて、以下の効果が得られる。すなわち、システム
の負荷状況に応じてターゲットのレイテンシが変動する
場合にも、実測値を基にしたマスク時間を設定できるた
め、マスク時間が長すぎてディレイドトランザクション
のレイテンシが不要に大きくなったり、マスク時間が不
足してバスに不要なリトライが発生したりするという問
題を解消できる。
【0049】[実施の形態4]図7は、本発明の第4の
実施の形態に係るバス間制御装置(ホストバスブリッ
ジ)及び、それを使用するバスシステムの概略の構成を
示すブロック図である。以下、図1及び図2に関して説
明したのと同一の構成要素には同一の符号を用いて、本
実施形態の説明を行う。
【0050】図7のホストバスブリッジ250はシステ
ムバス8とPCIバス10との間に接続され、これらバ
ス間でのデータ転送制御を行うバス間制御装置である。
ブリッジ250は、バス制御部252とバスアービタ2
54とを含んで構成される。バス制御部252は、シス
テムバス制御部256とPCIバス制御部258とを含
んで構成される。システムバス制御部256は、システ
ムバス8に接続され、システムバス8で発生したPCI
バスアドレス領域のトランザクションをPCIバス制御
部258経由でPCIバス10に転送する。逆にPCI
バス制御部258は、PCIバス10に接続され、PC
Iバス10で発生したシステムバスアドレス領域のトラ
ンザクションをシステムバス制御部256経由でシステ
ムバス8に転送する。
【0051】またバスアービタ254は、バス調停手段
60とマスク手段56とを含んで構成される。バスアー
ビタ254はPCIバス10に接続されたデバイス1
4、16と、バス使用要求/許可信号線22a,22
b,24a,24bで接続される。
【0052】ホストバスブリッジ250に内蔵されたバ
スアービタ254はPCIバス制御部258からマスク
制御信号を受ける点で、上記実施形態のバスアービタと
相違する。つまり、PCIバス10上でブリッジ250
がターゲットとして動作するアドレス領域、すなわちシ
ステムバス8に転送されるアドレス領域(例えばメモリ
6のアドレス)に関して、PCIバス制御部258がマ
スク手段56に対してマスク信号を与え、マスクの開
始、解除を制御する。
【0053】以下に、第1の実施形態と同様にデバイス
14がPCIバス10にメモリ読み出しのトランザクシ
ョンを発行する場合を例に取り、本実施形態の動作を説
明する。
【0054】デバイス14がアービタからバス使用許可
を得て、メモリ6の読み出しトランザクション(DR
R)を発行する。これをメモリ6をアドレスに指定され
たDRRはPCIバス制御部22に受信される。PCI
バス制御部258は、システムバス制御部256を介し
て、メモリ読み出しのトランザクションをシステムバス
8に発行する。同時に、PCIバス制御部258は、バ
スアービタ254に対してマスク信号を送り、デバイス
14のバス使用要求をマスクする。システムバス制御部
256から発行されたメモリ読み出しトランザクション
が完了し、メモリ6から読み出されたメモリデータがP
CIバス制御部258に送られると、PCIバス制御部
258ではDRCの受付け準備が完了した状態となるた
め、バスアービタ254へのマスク信号を解除する。す
ると、バスアービタ254はデバイス14のバス使用要
求のマスクを解除する。デバイス14は、バス使用要求
を発するとバス使用許可を得ることができ、DRCのト
ランザクションを発行することができ、一連のディレイ
ドトランザクションが完了する。
【0055】以上述べたように、本実施形態のバス間制
御装置は、自身が処理を仲介するDRRを受けると当該
処理に係るデバイスのマスクを開始し、DRCの受付け
準備が完了するとマスクを解除する。これにより、第1
の実施形態で述べた効果に加えて、以下の効果が得られ
る。
【0056】システムバス制御部256がメモリ読み出
しを開始しようとしてから実際にメモリ読み出しが完了
するまでのレイテンシは、システムバス8の負荷状況に
よって変化し、一定ではない場合がある。このような場
合でも、本実施形態のブリッジ250によれば、マスク
時間が実際のレイテンシにより決定されるため、マスク
時間の過不足の問題を解消することができる。
【0057】またシステムバス8のアドレス範囲に対す
るマスク時間設定も不要となるため、設定手続きの簡素
化が図れ、レジスタ等のハードウェアリソースの節約が
可能である。
【0058】またバス間制御装置にバスアービタを内蔵
させることによって、外部アービタの場合に比べて、P
CIバスインタフェースの共用による回路規模削減が可
能である。加えてシステムの部品数削減、消費電力削
減、コスト削減等の改善が可能である。
【0059】[実施の形態5]図8は、本発明の第5の
実施の形態に係るバス間制御装置(PCI−PCIバス
ブリッジ)及び、それを使用するバスシステムの概略の
構成を示すブロック図である。以下、上述の説明と同一
の構成要素には同一の符号を用いて、本実施形態の説明
を行う。
【0060】図8のブリッジ300はプライマリPCI
バス302とセカンダリPCIバス304の間に接続さ
れ、これらバス間でのデータ転送制御を行うバス間制御
装置である。ブリッジ300は、バス制御部306とバ
スアービタ254とを含んで構成される。バス制御部3
06は、プライマリPCIバス制御部308とセカンダ
リPCIバス制御部310とを含んで構成される。プラ
イマリPCIバス制御部308は、プライマリPCIバ
ス302に接続され、同バスで発生したセカンダリPC
Iバスアドレス領域へのトランザクションをセカンダリ
PCIバス制御部310経由でセカンダリPCIバス3
04に転送する。逆にセカンダリPCIバス制御部31
0は、セカンダリPCIバス304に接続され、同バス
で発生したプライマリPCIバスアドレス領域へのトラ
ンザクションをプライマリPCIバス制御部308経由
でプライマリPCIバス302に転送する。
【0061】本実施形態のバス間制御装置は、上記シス
テムバス制御部256がプライマリPCIバス制御部3
08に、上記PCIバス制御部258がセカンダリPC
Iバス制御部310に、それぞれ変更されてはいるが動
作上は第4の実施形態で説明したものと同様である。す
なわち、セカンダリPCIバス304で発生したディレ
イドトランザクションのDRRがプライマリPCIバス
302側で完了し、セカンダリPCIバス制御部310
でDRCの準備が完了するまで、バスアービタ254に
対しマスク信号が出される。
【0062】本実施形態においても第4の実施形態と同
様の効果が得られる。
【0063】以上の説明から当業者には明らかなよう
に、本発明は、PCI−ISAブリッジなどを含む他の
バス間制御装置に適用可能である。
【0064】
【発明の効果】本発明に係るバスアービタによれば、リ
トライ応答を検知し、当該リトライ応答に係る処理要求
元デバイスからの共通バス使用要求をマスクし調停の対
象外とすることにより、ディレイドトランザクションの
無駄なリトライの発生を抑止することができる。マスク
はリトライ応答に係るデバイスに対してのみであり、他
のデバイスはバスを使用することができる。バスは無駄
なリトライに占有されることを回避でき、他の有効な処
理のために利用されうる。よって、本発明によれば、バ
スのデータ転送容量の実質的な低下を抑制し、他のデバ
イスに係るトランザクションにおける効率的なデータ転
送が可能となるという効果が得られる。また、マスク時
間は、処理要求先毎に、要求した処理が完了するまでの
時間に応じて決定されるので、リトライ応答に係るデバ
イスの処理効率が低下することも防止される。
【0065】本発明に係るバスアービタによれば、処理
要求先に応じたマスク時間の設定値を保持する設定値保
持手段を有するので、マスク時間の決定のための機構、
処理が簡単であるという効果が得られる。
【0066】本発明に係るバスアービタによれば、設定
値保持手段に外部からの指示に基づいてマスク時間を設
定することがことができ、様々な状況に応じて適切なマ
スク時間を設定することができるという効果が得られ
る。例えば、同一の処理要求先であっても、常に一定の
レイテンシであるとは限らない。本発明によれば、その
ような場合にマスク時間の設定値を適宜書き換え、調整
することにより、過不足ないマスクを実現でき、バスの
データ転送効率とリトライ応答に係るデバイスの処理効
率とを双方とも好適とすることができるという効果が得
られる。また、システム構成上のデバイスの増設や交換
などに柔軟に対応できるという効果も得られる。また、
ターゲットの処理負荷に応じて設定値を変化させ、バス
のデータ転送効率の向上とリトライ応答に係るデバイス
の処理効率の向上とを図ることも可能となる。
【0067】本発明に係るバスアービタによれば、リト
ライ応答に係る処理開始から完了までのレイテンシ時間
を計測し、当該レイテンシ時間をマスク時間として設定
する実測値設定手段を有するので、例えば、システムの
負荷状況に応じてターゲットのレイテンシが変動する場
合にも、実測値を基準にしたマスク時間を設定できる。
よってより適切なマスク時間の設定が可能となるという
効果が得られる。
【0068】本発明に係るバス間制御装置によれば、処
理要求元デバイスと処理要求先とが異なるバスに位置す
る場合に、バス制御部が当該処理要求を検知しマスク開
始を指示し、処理結果の受領によりマスク解除を指示す
るので、実際のレイテンシ時間に基づいてマスクが制御
され、適切なマスク制御が実現されるという効果が得ら
れる。また、マスク時間を予め設定、保持する必要がな
いため、ハードウェアリソースが節約されるという効果
もある。さらに、バスアービタとバスブリッジとでの回
路の共有等によりそれらの総合での回路規模削減が図ら
れ、システムの部品数削減、消費電力削減、コスト削減
等が図られる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態に係るバスアービ
タの概略の構成を示すブロック図である。
【図2】 本発明の第1の実施の形態におけるマスク制
御手段の概略の構成を示すブロック図である。
【図3】 本発明の第1の実施の形態に係るバスシステ
ムの動作を説明する、PCIバス上のシーケンスの一例
を示すタイミング図である。
【図4】 本発明の第2の実施の形態におけるマスク制
御手段の概略の構成を示すブロック図である。
【図5】 外部指示値設定手段で用いられるレジスタ構
成を示す模式図である。
【図6】 本発明の第3の実施の形態におけるマスク制
御手段の概略の構成を示すブロック図である。
【図7】 本発明の第4の実施の形態に係るバス間制御
装置及び、それを使用するバスシステムの概略の構成を
示すブロック図である。
【図8】 本発明の第5の実施の形態に係るバス間制御
装置及び、それを使用するバスシステムの概略の構成を
示すブロック図である。
【図9】 従来のPCIバスシステムの概略の構成を示
すブロック図である。
【図10】 従来例のバスシーケンスを示すタイミング
図である。
【符号の説明】
2,250,300 ブリッジ、6 メモリ、8 シス
テムバス、10 PCIバス、14,16 デバイス、
50,254 バスアービタ、52 リトライ応答検出
手段、54 対応関係記憶手段、56 マスク手段、5
8,150,200 マスク制御手段、60 バス調停
手段、70 時間計測手段、72 設定値保持手段、7
4 比較手段、152 外部指示値設定手段、202
実測値設定手段、252 バス制御部、302 プライ
マリPCIバス、304 セカンダリPCIバス。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 処理要求に対しリトライ応答を返す処理
    要求先と、当該リトライ応答に対応して再度、共通バス
    にアクセスし、処理要求をリトライする処理要求元デバ
    イスとを含むバスシステムに用いられ、前記共通バスに
    接続された複数のデバイスの当該共通バスへのアクセス
    を調停するバスアービタにおいて、 前記共通バス上の前記リトライ応答を検出するリトライ
    応答検出手段と、 前記リトライ応答に係る前記処理要求元デバイスと前記
    処理要求先との対応関係を記憶する対応関係記憶手段
    と、 前記リトライ応答に係る前記処理要求元デバイスからの
    共通バス使用要求をマスクし前記調停の対象外とするマ
    スク手段と、 前記処理要求元デバイスに対応する前記処理要求先に応
    じて前記マスクの期間を決定し、前記マスク手段による
    マスク動作を制御するマスク制御手段と、 を有することを特徴とするバスアービタ。
  2. 【請求項2】 請求項1記載のバスアービタにおいて、 前記マスク制御手段は、前記リトライ応答に係る前記処
    理要求先に応じたマスク時間の設定値を保持する設定値
    保持手段を有し、 前記設定値に基づいて前記マスクの期間を決定すること
    を特徴とするバスアービタ。
  3. 【請求項3】 請求項2記載のバスアービタにおいて、 前記共通バスを介した外部からの指示に基づいて前記設
    定値保持手段に前記マスク時間を設定する外部指示値設
    定手段を有することを特徴とするバスアービタ。
  4. 【請求項4】 請求項2又は請求項3に記載のバスアー
    ビタにおいて、 前記マスク手段によるマスク動作を不活性とし、前記共
    通バスを監視して、前記処理要求に対する前記処理要求
    先による処理開始から処理完了までのレイテンシ時間を
    計測し、当該レイテンシ時間を当該処理要求先に関する
    前記マスク時間として前記設定値保持手段に設定する実
    測値設定手段を有することを特徴とするバスアービタ。
  5. 【請求項5】 処理要求に対しリトライ応答を返す処理
    要求先と、当該リトライ応答に対応して再度、共通バス
    にアクセスし、処理要求をリトライする処理要求元デバ
    イスとを含むバスシステムに用いられ、複数の前記共通
    バス間のデータ転送制御を行うバス制御部を含み複数の
    前記共通バスを相互に接続するバス間制御装置におい
    て、 前記共通バスの一つに接続された複数のデバイスの当該
    共通バスへのアクセスを調停するバスアービタを有し、 前記バスアービタは、 当該バスアービタが調停する前記共通バス上の前記処理
    要求元デバイスからの共通バス使用要求をマスクし前記
    調停の対象外とするマスク手段を有し、 前記バス制御部は、 前記バスアービタにより調停される前記共通バス上の前
    記処理要求元デバイスから他の前記共通バス上の前記処
    理要求先への前記処理要求を検知し、前記マスク手段に
    対し当該処理要求元デバイスに対する前記マスクを指示
    し、 当該処理要求に対する前記処理要求先からの処理結果を
    受領すると当該処理要求元デバイスに対する前記マスク
    を解除すること、 を特徴とするバス間制御装置。
JP11005108A 1999-01-12 1999-01-12 バスア―ビタ及びバス間制御装置 Pending JP2000207354A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11005108A JP2000207354A (ja) 1999-01-12 1999-01-12 バスア―ビタ及びバス間制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11005108A JP2000207354A (ja) 1999-01-12 1999-01-12 バスア―ビタ及びバス間制御装置

Publications (1)

Publication Number Publication Date
JP2000207354A true JP2000207354A (ja) 2000-07-28

Family

ID=11602171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11005108A Pending JP2000207354A (ja) 1999-01-12 1999-01-12 バスア―ビタ及びバス間制御装置

Country Status (1)

Country Link
JP (1) JP2000207354A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973520B2 (en) * 2002-07-11 2005-12-06 International Business Machines Corporation System and method for providing improved bus utilization via target directed completion
US7185137B2 (en) 2001-10-01 2007-02-27 Matsushita Electric Industrial Co., Ltd. Bus bridge with stored controlling relay information
JP2009211560A (ja) * 2008-03-05 2009-09-17 Nec Corp アービタ、バス使用制御装置、及びバス使用制御方法。
US7725633B2 (en) 2004-06-24 2010-05-25 Panasonic Corporation Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185137B2 (en) 2001-10-01 2007-02-27 Matsushita Electric Industrial Co., Ltd. Bus bridge with stored controlling relay information
US7360009B2 (en) 2001-10-01 2008-04-15 Matsushita Electric Industrial Co., Ltd. Data transfer apparatus for limiting read data by a bus bridge with relay information
US7516262B2 (en) 2001-10-01 2009-04-07 Panasonic Corporation Data transfer apparatus with control of buses to enable reading of predetermined data sizes
US7685353B2 (en) 2001-10-01 2010-03-23 Panasonic Corporation Data transfer apparatus with control of buses to optimize different size data transfers
US6973520B2 (en) * 2002-07-11 2005-12-06 International Business Machines Corporation System and method for providing improved bus utilization via target directed completion
US7725633B2 (en) 2004-06-24 2010-05-25 Panasonic Corporation Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
US7779190B2 (en) 2004-06-24 2010-08-17 Panasonic Corporation Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
JP2009211560A (ja) * 2008-03-05 2009-09-17 Nec Corp アービタ、バス使用制御装置、及びバス使用制御方法。

Similar Documents

Publication Publication Date Title
US6185634B1 (en) Address triggered DMA controller with an indicative signal including circuitry for calculating a new trigger address value based on the sum of the current trigger address and the descriptor register data with a trigger address register
JP3231596B2 (ja) 待ち時間及びシャドー・タイマを有するバス・システム
US5619661A (en) Dynamic arbitration system and method
US6199134B1 (en) Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address
US5301282A (en) Controlling bus allocation using arbitration hold
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
US20060190640A1 (en) Data transfer system and data transfer method
JPH076124A (ja) 情報転送システムおよび方法
CA2116826C (en) Data processing system using a non-multiplexed, asynchronous address/data bus system
US6629178B1 (en) System and method for controlling bus access for bus agents having varying priorities
US6026460A (en) Method and apparatus for sequencing system bus grants and disabling a posting buffer in a bus bridge to improve bus efficiency
JP2007058716A (ja) データ転送バスシステム
US5764933A (en) Deadlock prevention in a two bridge system by flushing write buffers in the first bridge
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US5850557A (en) Method and apparatus for reducing bus bridge thrashing by temporarily masking agent requests to allow conflicting requests to be completed
JPS6237428B2 (ja)
US6442632B1 (en) System resource arbitration mechanism for a host bridge
JPH07244634A (ja) 外部記憶制御装置およびバス切り替え制御方法
US6023748A (en) Multiple client memory arbitration system capable of operating multiple configuration types
US5983025A (en) Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
JP2000207354A (ja) バスア―ビタ及びバス間制御装置
US20040225769A1 (en) Bus architecture with primary bus and secondary or slave bus for microprocessor systems
US20040010644A1 (en) System and method for providing improved bus utilization via target directed completion
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法