(57)【要約】【課題】ターゲットからデータをリードする際に、不要とするデータをリードせずに、マスタが必要とするデータをリードするバスブリッジを提供する。【解決手段】  プライマリバスとセカンダリバスとに接続しているバスブリッジは、プライマリバスインタフェース、セカンダリバスインタフェース、データＦＩＦＯ、レジスタブロックを備える。そして、バスブリッジが中継するデータの数を示す中継情報を、マスタから書き込み可能なレジスタブロックに記録し、ターゲットからデータをリードする際には、プライマリバスインタフェース、又はセカンダリインタフェースは、レジスタブロックに記録されている中継情報に示される量のデータがデータＦＩＦＯに格納されるまで、当該ターゲットからデータを読み出す。【選択図】図１
2006079639.tif 000002
【特許請求の範囲】
【請求項１】
中継するデータの供給先となるデバイスをマスタ、中継する
データの供給源となるデバイスをターゲットとし、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジであって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録手段と、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納手段と
、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御手段と
を備えることを特徴とするバスブリッジ。
【請求項２】
前記バスブリッジが接続している複数のバスには、マスタ及
びターゲットのいずれかになりうるデバイスが複数接続しており、
前記内部記憶領域は、バスごとに対応する一次部分記憶領域を含み、
前記記録手段は、
ターゲットが接続しているバスと対応する一次部分記憶領域に前記中継情報を
記録し、
前記制御手段は、バスごとに対応するマスタ機能部を含み、
各マスタ機能部は、
ターゲットが接続しているバスと対応する一次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すこと
を特徴とする請求項１記載のバスブリッジ。
【請求項３】
複数のターゲットになりうるデバイスが接続しているバスと
対応する一次部分記憶領域は、
当該バスに接続しているターゲットになりうるデバイスごとに対応する二次部
分記憶領域を含み、
前記記録手段は、
ターゲットになりうるデバイスと対応する二次部分記憶領域に前記中継情報を
記録し、
各マスタ機能部は、
ターゲットと対応する二次部分記憶領域に記録されている中継情報に示される
量のデータを当該ターゲットから読み出すこと
を特徴とする請求項２記載のバスブリッジ。
【請求項４】
複数のターゲットになりうるデバイスが接続しているバスと
対応する二次部分記憶領域は、
当該バスに接続しているターゲットになりうるデバイスから読み出したデータ
を中継するマスタになりうるデバイスごとに対応する三次部分記憶領域を含み、
前記記録手段は、
マスタになりうるデバイスと対応する三次部分記憶領域に前記中継情報を記録
し、
各マスタ機能部は、
ターゲットから読み出したデータが中継されるマスタと対応する三次部分記憶
領域に記録されている中継情報に示される量のデータを当該ターゲットから読み
出すこと
を特徴とする請求項２又は３に記載のバスブリッジ。
【請求項５】
前記記録手段は、
初期状態時、及び前記制御手段によるバスの解放時に、デフォルトとする中継
情報を前記内部記憶領域に記録すること
を特徴とする請求項１記載のバスブリッジ。
【請求項６】
前記中継情報は、
バス幅のビット数を単位とするデータの数、及び中継するデータの総サイズの
いずれかであること
を特徴とする請求項１記載のバスブリッジ。
【請求項７】
前記バスブリッジは、
前記マスタからの要求に応答する応答手段を備え、
前記応答手段は、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録手段に記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御手段に読み出させること
を特徴とする請求項１記載のバスブリッジ。
【請求項８】
前記バスブリッジが接続している複数のバスには、マスタ及
びターゲットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバ
イスを識別する識別情報が割り当てられており、
前記内部記憶領域は、識別情報記憶領域を含み、
前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、
前記応答手段は、さらに、前記デバイスからの要求に応答し、
前記デバイスからの要求が、
(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識別情
報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ、
(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させること
を特徴とする請求項７記載のバスブリッジ。
【請求項９】
前記バスブリッジは、マスタとなる中央演算処理装置、及び
ターゲットとなる内部記憶装置が接続している第１バスと、マスタ及びターゲッ
トのいずれかとなるデバイスが複数接続している第２バスとに接続しており、
前記内部記憶領域は、
第１バスに接続しているターゲットから読み出すデータの量を示す中継情報が
記録される第１一次部分記憶領域と、
第２バスに接続しているターゲットから読み出すデータの量を示す中継情報が
記録される第２一次部分記憶領域と
を含み、
前記一時記憶領域は、
第２バスのターゲットから読み出されたデータが記録される第１一時記憶領域
と、
第１バスのターゲットから読み出されたデータが記録される第２一時記憶領域
と
を含み、
前記記録手段は、
前記第１一次部分記憶領域に接続し、前記第１一次部分記憶領域に記録されて
いる中継情報を選択する第１セレクタと、
前記第２一次部分記憶領域に接続し、前記第２一次部分記憶領域に記録されて
いる中継情報を選択する第２セレクタと
を含み、
前記バスブリッジは、
第２バスのマスタになりうるデバイスと対応する中継情報を選択させる制御信
号を前記第１セレクタに出力するバスアービタと、
第２バスのターゲットになりうるデバイスと対応する中継情報を選択させる制
御信号を前記第２セレクタに出力するアドレスデコーダと
を備え、
前記制御手段は、
前記第１一次部分記憶領域に記録されている中継情報の内、前記第１セレクタ
により選択された中継情報に示される量のデータが第１一時記憶領域に記録され
るまで、第１バスに接続しているターゲットからデータを読み出す第１マスタ機
能部と、
前記第２の一次部分記憶領域に記録されている中継情報の内、前記第２セレク
タにより選択された中継情報に示される量のデータが第２一時記憶領域に格納さ
れるまで、第２バスに接続しているターゲットからデータを読み出す第２マスタ
機能部と
を含むことを特徴とする請求項１記載のバスブリッジ。
【請求項１０】
中継するデータの供給先となるデバイスであるマスタと、
中継するデータの供給源となるデバイスであるターゲットと、互いに異なるバス
に接続しているマスタとターゲットとの間のデータを中継するバスブリッジとに
おけるデータ中継方法であって、
前記マスタに中継するデータの量を示す中継情報を前記マスタから前記バスブ
リッジに渡すステップと、
前記ターゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡
すステップと、
前記バスブリッジにおいて、前記マスタに出力するデータが格納されている場
合には、格納されているデータを当該バスブリッジから前記マスタに渡し、格納
されていない場合には、当該バスブリッジに渡された中継情報に示される量のデ
ータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続して
データを読み出し、当該量のデータが格納されると、占有しているバスを解放す
るステップと
を含むことを特徴とするデータ中継方法。
【請求項１１】
中継するデータの供給先となるデバイスであるマスタと、
中継するデータの供給源となるデバイスであるターゲットと、互いに異なるバス
に接続しているマスタとターゲットとの間のデータを中継するバスブリッジとに
おけるデータ中継方法であって、
前記ターゲットから供給されるデータの量を示す供給情報を前記マスタに中継
する要求を前記マスタ以外のデバイスから前記バスブリッジに渡すステップと、
前記バスブリッジにおいて、前記供給情報を複製し、複製した供給情報を、前
記ターゲットから読み出すデータの量を示す中継情報として、記録するステップ
と、
前記ターゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡
すステップと、
前記バスブリッジにおいて、前記マスタに出力するデータが格納されている場
合には、格納されているデータを当該バスブリッジから前記マスタに渡し、格納
されていない場合には、前記バスブリッジに記録されている中継情報に示される
量のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連
続してデータを読み出し、当該量のデータが格納されると、占有しているバスを
解放するステップと
を含むことを特徴とするデータ中継方法。
【請求項１２】
中継するデータの供給先となるデバイスをマスタ、中継す
るデータの供給源となるデバイスをターゲットとし、互いに異なるバスに接続し
ているマスタとターゲットとの間のデータを中継するバスブリッジをプログラマ
ブルデバイスに形成させるプログラムであって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録ブロックと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロッ
クと、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御ブロックと
をプログラマブルデバイスに形成させることを特徴とするプログラム。
【請求項１３】
前記プログラムは、
前記マスタからの要求に応答する応答ブロックをプログラマブルデバイスに形
成させ、
前記応答ブロックは、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させること
を特徴とする請求項１２記載のプログラム。
【請求項１４】
中継するデータの供給先となるデバイスをマスタ、中継す
るデータの供給源となるデバイスをターゲットとし、互いに異なるバスに接続し
ているマスタとターゲットとの間のデータを中継するバスブリッジをプログラマ
ブルデバイスに形成させるプログラムを記録したプログラマブルデバイス取り込
み可能な記録媒体であって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録ブロックと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロッ
クと、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御ブロックと
をプログラマブルデバイスに形成させるプログラムを記録した記録媒体。
【請求項１５】
前記記録媒体は、
前記マスタからの要求に応答する応答ブロックをプログラマブルデバイスに形
成させるプログラムを記録し、
前記応答ブロックは、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させること
を特徴とする請求項１４記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに異なるバスに接続しているデバイス間のデータを中継するバ
スブリッジに関する。
【背景技術】
【０００２】
従来、情報機器に組み込まれるコンピュータシステム、及びパーソナルコンピ
ュータなどにおいて、システムを拡張する、バス速度、及びバス幅などを吸収す
る目的として、バスとバスとの間にバスブリッジを備える。
（従来のバスブリッジの構成）
図２２は、従来のバスブリッジのブロック図である。
【０００３】
同図にみられるように、バスブリッジ１０は、プライマリバスインタフェース
１１、セカンダリバスインタフェース１２、バスアービタ１３、コンフィグレー
ションレジスタ１４、及びデータＦＩＦＯ１５から構成される。
プライマリバスインタフェース１１は、バースト転送可能なプライマリバスの
インタフェースとして機能し、さらに、データＦＩＦＯ１５を制御する。
【０００４】
セカンダリバスインタフェース１２は、バースト転送可能なセカンダリバスの
インタフェースとして機能し、さらに、データＦＩＦＯ１５を制御する。
ここで、プライマリバス、及びセカンダリバスは、一例として、アドレス／デ
ータ・マルチプレクサ型の３２ビットバスであるＰＣＩ（Peripheral Component
Interconnect）バスとする。
【０００５】
バスアービタ１３は、バスブリッジ１０とセカンダリバスのマスタとの間で、
セカンダリバスの使用権を調停する。
ここで、マスタとは、別名、バスマスタとも呼称し、バスのアドレス線をドラ
イブしてデータの転送先となるデバイスを指定し、バスコマンドを送るデバイス
を指す。また、ある一つのデータ転送において、マスタとして唯一機能している
デバイスを明示的にイニシエータと呼称する。
【０００６】
コンフィグレーションレジスタ１４は、バスブリッジ１０の基本的な動作が決
定される設定情報を保持している。なお、設定情報については、ＰＣＩ−ＰＣＩ
ブリッジ仕様書（PCI-to-PCI Bridge Architecture Specification）などで記さ
れているフォーマットに基づく。
データＦＩＦＯ１５は、さらに、ダウンストリームデータＦＩＦＯ１６（以下
、ＤＳデータＦＩＦＯ１６と呼称する）、アップストリームデータＦＩＦＯ１７
（以下、ＵＳデータＦＩＦＯ１７と呼称する）とから構成される。
【０００７】
ＤＳデータＦＩＦＯ１６は、プライマリバスのイニシエータからセカンダリバ
スのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイ
トイネーブルビット、及びデータなどを保持する。そして、バスブリッジ１０が
、セカンダリバスのイニシエータとしてバスサイクルを発生する際には、保持し
ているアドレス、バスコマンド、バイトイネーブルビット、及びデータなどをセ
カンダリバスにドライブする。
【０００８】
ここで、ターゲットとは、アドレス、バスコマンドを受け取り、受け取ったア
ドレス、バスコマンドをデコードして応答するデバイスを指す。
ＵＳデータＦＩＦＯ１７は、セカンダリバスのイニシエータからプライマリバ
スのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイ
トイネーブルビット、及びデータなどを保持する。そして、バスブリッジ１０が
、プライマリバスのイニシエータとしてバスサイクルを発生する際には、保持し
ているアドレス、バスコマンド、バイトイネーブルビット、及びデータなどをプ
ライマリバスにドライブする。
【０００９】
そして、バスブリッジ１０におけるリードデータトランザクションは、所定サ
イズ（例えば、８エントリ）のデータがデータＦＩＦＯ１５に格納されるまで、
ターゲットからデータをリードする。なお、アドレス、バスコマンド、バイトイ
ネーブルビットなどについては、エントリとして、数に入れないとする。
ここで、１エントリを４バイト（３２ビット）として、８エントリとは、３２
バイトを指す。
【特許文献１】特開２０００−２０７３５４号公報
【特許文献２】特開２０００−０６６９９３号公報
【特許文献３】特開平１０−２５４８１７号公報
【特許文献４】特開平０５−１７３９３３号公報
【特許文献５】特開平０５−００２５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、バスブリッジ１０は、リードデータトランザクションにおいて
、イニシエータが必要としないデータをターゲットからリードする場合がある。
例えば、イニシエータが２エントリのデータを必要とする場合においても、バ
スブリッジ１０は、８エントリのデータをターゲットからリードする。
これにより、バスブリッジ１０は、不要とされるデータをリードする分、ター
ゲット側のバスを占有している期間が長くなるという問題がある。
【００１１】
本発明は、上記の問題に鑑みてなされたものであり、リードデータトランザク
ションにおいて、ターゲットからデータをリードする際に、不要とされるデータ
をリードすることなく、イニシエータが必要とするデータをリードするバスブリ
ッジ、前記バスブリッジによるデータ中継方法、前記バスブリッジをプログラマ
ブルデバイスに形成させるプログラム、及び前記プログラムを記録したプログラ
マブルデバイス取り込み可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係わるバスブリッジは、中継するデータの供給先となるデバイスをマ
スタ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なる
バスに接続しているマスタとターゲットとの間のデータを中継するバスブリッジ
であって、中継するデータの量を示す中継情報を外部から書き込み可能な内部記
憶領域に記録する記録手段と、前記ターゲットから読み出されるデータを一時記
憶領域に格納する格納手段と、前記内部記憶領域に記録されている中継情報に示
される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続
しているバスを占有し、連続してデータを読み出し、当該量のデータが格納され
ると、占有しているバスを解放する制御手段とを備えるとする。
【００１３】
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続しており、前記内部記憶領域は、
バスごとに対応する一次部分記憶領域を含み、前記記録手段は、ターゲットが接
続しているバスと対応する一次部分記憶領域に前記中継情報を記録し、前記制御
手段は、バスごとに対応するマスタ機能部を含み、各マスタ機能部は、ターゲッ
トが接続しているバスと対応する一次部分記憶領域に記録されている中継情報に
示される量のデータを当該ターゲットから読み出すとしてもよい。
【００１４】
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
一次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスご
とに対応する二次部分記憶領域を含み、前記記録手段は、ターゲットになりうる
デバイスと対応する二次部分記憶領域に前記中継情報を記録し、各マスタ機能部
は、ターゲットと対応する二次部分記憶領域に記録されている中継情報に示され
る量のデータを当該ターゲットから読み出すとしてもよい。
【００１５】
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
二次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスか
ら読み出したデータを中継するマスタになりうるデバイスごとに対応する三次部
分記憶領域を含み、前記記録手段は、マスタになりうるデバイスと対応する三次
部分記憶領域に前記中継情報を記録し、各マスタ機能部は、ターゲットから読み
出したデータが中継されるマスタと対応する三次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すとしてもよい。
【００１６】
さらに、前記記録手段は、初期状態時、及び前記制御手段によるバスの解放時
に、デフォルトとする中継情報を前記内部記憶領域に記録するとしてもよい。
さらに、前記中継情報は、バス幅のビット数を単位とするデータの数、及び中
継するデータの総サイズのいずれかであるとしてもよい。
加えて、前記バスブリッジは、前記マスタからの要求に応答する応答手段を備
え、前記応答手段は、前記マスタからの要求が、(a) 前記内部記憶領域に対する
書き込み要求である場合には、前記内部記憶領域に書き込まれるデータを、中継
情報として、前記記録手段に記録させ、(b) 前記ターゲットに対する読み出し要
求である場合には、前記マスタに出力するデータが前記一時記憶領域に記録され
ているか否かを判定し、(b1)記録されている場合には、記録されているデータを
前記マスタに出力し、(b2)記録されていない場合には、前記読み出し要求を再度
要求することを前記マスタに通知し、前記マスタに出力するデータを前記制御手
段に読み出させるとしてもよい。
【００１７】
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバイスを識
別する識別情報が割り当てられており、前記内部記憶領域は、識別情報記憶領域
を含み、前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、前記
応答手段は、さらに、前記デバイスからの要求に応答し、前記デバイスからの要
求が、(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識
別情報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ
、(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させるとしてもよ
い。
【００１８】
加えて、前記バスブリッジは、マスタとなる中央演算処理装置、及びターゲッ
トとなる内部記憶装置が接続している第１バスと、マスタ及びターゲットのいず
れかとなるデバイスが複数接続している第２バスとに接続しており、前記内部記
憶領域は、第１バスに接続しているターゲットから読み出すデータの量を示す中
継情報が記録される第１一次部分記憶領域と、第２バスに接続しているターゲッ
トから読み出すデータの量を示す中継情報が記録される第２一次部分記憶領域と
を含み、前記一時記憶領域は、第２バスのターゲットから読み出されたデータが
記録される第１一時記憶領域と、第１バスのターゲットから読み出されたデータ
が記録される第２一時記憶領域とを含み、前記記録手段は、前記第１一次部分記
憶領域に接続し、前記第１一次部分記憶領域に記録されている中継情報を選択す
る第１セレクタと、前記第２一次部分記憶領域に接続し、前記第２一次部分記憶
領域に記録されている中継情報を選択する第２セレクタとを含み、前記バスブリ
ッジは、第２バスのマスタになりうるデバイスと対応する中継情報を選択させる
制御信号を前記第１セレクタに出力するバスアービタと、第２バスのターゲット
になりうるデバイスと対応する中継情報を選択させる制御信号を前記第２セレク
タに出力するアドレスデコーダとを備え、前記制御手段は、前記第１一次部分記
憶領域に記録されている中継情報の内、前記第１セレクタにより選択された中継
情報に示される量のデータが第１一時記憶領域に記録されるまで、第１バスに接
続しているターゲットからデータを読み出す第１マスタ機能部と、前記第２の一
次部分記憶領域に記録されている中継情報の内、前記第２セレクタにより選択さ
れた中継情報に示される量のデータが第２一時記憶領域に格納されるまで、第２
バスに接続しているターゲットからデータを読み出す第２マスタ機能部とを含む
としてもよい。
【００１９】
本発明に係わるデータ中継方法は、中継するデータの供給先となるデバイスで
あるマスタと、中継するデータの供給源となるデバイスであるターゲットと、互
いに異なるバスに接続しているマスタとターゲットとの間のデータを中継するバ
スブリッジとにおけるデータ中継方法であって、前記マスタに中継するデータの
量を示す中継情報を前記マスタから前記バスブリッジに渡すステップと、前記タ
ーゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡すステッ
プと、前記バスブリッジにおいて、前記マスタに出力するデータが格納されてい
る場合には、格納されているデータを当該バスブリッジから前記マスタに渡し、
格納されていない場合には、当該バスブリッジに渡された中継情報に示される量
のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放するステップとを含むとする。
【００２０】
さらに、中継するデータの供給先となるデバイスであるマスタと、中継するデ
ータの供給源となるデバイスであるターゲットと、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジとにおけるデー
タ中継方法であって、前記ターゲットから供給されるデータの量を示す供給情報
を前記マスタに中継する要求を前記マスタ以外のデバイスから前記バスブリッジ
に渡すステップと、前記バスブリッジにおいて、前記供給情報を複製し、複製し
た供給情報を、前記ターゲットから読み出すデータの量を示す中継情報として、
記録するステップと、前記ターゲットに対する読み出し要求を前記マスタから前
記バスブリッジに渡すステップと、前記バスブリッジにおいて、前記マスタに出
力するデータが格納されている場合には、格納されているデータを当該バスブリ
ッジから前記マスタに渡し、格納されていない場合には、前記バスブリッジに記
録されている中継情報に示される量のデータが格納されるまで、前記ターゲット
が接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格
納されると、占有しているバスを解放するステップとを含むとしてもよい。
【００２１】
本発明に係わるプログラムは、中継するデータの供給先となるデバイスをマス
タ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なるバ
スに接続しているマスタとターゲットとの間のデータを中継するバスブリッジを
プログラマブルデバイスに形成させるプログラムであって、中継するデータの量
を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ブロック
と、前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロ
ックと、前記内部記憶領域に記録されている中継情報に示される量のデータが前
記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し
、連続してデータを読み出し、当該量のデータが格納されると、占有しているバ
スを解放する制御ブロックとをプログラマブルデバイスに形成させるとする。
【００２２】
さらに、前記プログラムは、前記マスタからの要求に応答する応答ブロックを
プログラマブルデバイスに形成させ、前記応答ブロックは、前記マスタからの要
求が、(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記
憶領域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ
、(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させるとしてもよい。
【００２３】
本発明に係わるプログラマブルデバイス取り込み可能な記録媒体は、中継する
データの供給先となるデバイスをマスタ、中継するデータの供給源となるデバイ
スをターゲットとし、互いに異なるバスに接続しているマスタとターゲットとの
間のデータを中継するバスブリッジをプログラマブルデバイスに形成させるプロ
グラムを記録したプログラマブルデバイス取り込み可能な記録媒体であって、中
継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に記録
する記録ブロックと、前記ターゲットから読み出されるデータを一時記憶領域に
格納する格納ブロックと、前記内部記憶領域に記録されている中継情報に示され
る量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続して
いるバスを占有し、連続してデータを読み出し、当該量のデータが格納されると
、占有しているバスを解放する制御ブロックとをプログラマブルデバイスに形成
させるプログラムを記録しているとする。
【００２４】
さらに、前記記録媒体は、前記マスタからの要求に応答する応答ブロックをプ
ログラマブルデバイスに形成させるプログラムを記録し、前記応答ブロックは、
前記マスタからの要求が、(a) 前記内部記憶領域に対する書き込み要求である場
合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録
ブロックに記録させ、(b) 前記ターゲットに対する読み出し要求である場合には
、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判
定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力
し、(b2)記録されていない場合には、前記読み出し要求を再度要求することを前
記マスタに通知し、前記マスタに出力するデータを前記制御ブロックに読み出さ
せるとしてもよい。
【発明の効果】
【００２５】
本発明に係わるバスブリッジは、中継するデータの供給先となるデバイスをマ
スタ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なる
バスに接続しているマスタとターゲットとの間のデータを中継するバスブリッジ
であって、中継するデータの量を示す中継情報を外部から書き込み可能な内部記
憶領域に記録する記録手段と、前記ターゲットから読み出されるデータを一時記
憶領域に格納する格納手段と、前記内部記憶領域に記録されている中継情報に示
される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続
しているバスを占有し、連続してデータを読み出し、当該量のデータが格納され
ると、占有しているバスを解放する制御手段とを備えるとする。
【００２６】
これによって、リードデータトランザクションにおいて、ターゲットからデー
タを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記憶
領域に書き込むことにより、マスタが不要とするデータをターゲットから読み出
すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そし
て、マスタが不要とするデータをターゲットから読み出さない分、ターゲットが
接続しているバスを占有する期間が短くなるという効果がある。
【００２７】
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続しており、前記内部記憶領域は、
バスごとに対応する一次部分記憶領域を含み、前記記録手段は、ターゲットが接
続しているバスと対応する一次部分記憶領域に前記中継情報を記録し、前記制御
手段は、バスごとに対応するマスタ機能部を含み、各マスタ機能部は、ターゲッ
トが接続しているバスと対応する一次部分記憶領域に記録されている中継情報に
示される量のデータを当該ターゲットから読み出すとしてもよい。
【００２８】
これによって、ターゲットが接続しているバスが変わる度に、マスタが中継情
報を内部記憶領域に書き込まなくとも、一度書き込むことで、効率的にデータを
中継することが可能となる。また、予め、バスごとに最適化された中継情報を、
当該バスと対応する一次部分記憶領域に記録しておくことにより、より効率的に
データを中継することが可能という効果がある。
【００２９】
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
一次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスご
とに対応する二次部分記憶領域を含み、前記記録手段は、ターゲットになりうる
デバイスと対応する二次部分記憶領域に前記中継情報を記録し、各マスタ機能部
は、ターゲットと対応する二次部分記憶領域に記録されている中継情報に示され
る量のデータを当該ターゲットから読み出すとしてもよい。
【００３０】
これによって、ターゲットになりうるデバイスが変わる度に、マスタが中継情
報を内部記憶領域に書き込まなくとも、一度書き込むことで、効率的にデータを
中継することが可能となる。また、予め、ターゲットになりうるデバイスごとに
最適化された中継情報を、当該デバイスと対応する二次部分記憶領域に記録して
おくことにより、より効率的にデータを中継することが可能という効果がある。
【００３１】
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
二次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスか
ら読み出したデータを中継するマスタになりうるデバイスごとに対応する三次部
分記憶領域を含み、前記記録手段は、マスタになりうるデバイスと対応する三次
部分記憶領域に前記中継情報を記録し、各マスタ機能部は、ターゲットから読み
出したデータが中継されるマスタと対応する三次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すとしてもよい。
【００３２】
これによって、マスタになりうるデバイスが変わる度に、中継情報を内部記憶
領域に書き込まなくとも、一度書き込むことで、効率的にデータを中継すること
が可能となる。また、予め、マスタになりうるデバイスごとに最適化された中継
情報を、当該デバイスと対応する三次部分記憶領域に記録しておくことにより、
より効率的にデータを中継することが可能という効果がある。
【００３３】
さらに、前記記録手段は、初期状態時、及び前記制御手段によるバスの解放時
に、デフォルトとする中継情報を前記内部記憶領域に記録するとしてもよい。
これによって、マスタが、中継情報を書き込まなくとも、前に書き込まれた中
継情報を更新し、デフォルトの値とすることが可能という効果がある。
さらに、前記中継情報は、バス幅のビット数を単位とするデータの数、及び中
継するデータの総サイズのいずれかであるとしてもよい。
【００３４】
これによって、バス幅を単位とするデータの数、又は中継するデータの総サイ
ズにより、マスタが必要とするデータの量をターゲットから読み出すことが可能
という効果がある。
加えて、前記バスブリッジは、前記マスタからの要求に応答する応答手段を備
え、前記応答手段は、前記マスタからの要求が、(a) 前記内部記憶領域に対する
書き込み要求である場合には、前記内部記憶領域に書き込まれるデータを、中継
情報として、前記記録手段に記録させ、(b) 前記ターゲットに対する読み出し要
求である場合には、前記マスタに出力するデータが前記一時記憶領域に記録され
ているか否かを判定し、(b1)記録されている場合には、記録されているデータを
前記マスタに出力し、(b2)記録されていない場合には、前記読み出し要求を再度
要求することを前記マスタに通知し、前記マスタに出力するデータを前記制御手
段に読み出させるとしてもよい。
【００３５】
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をバス
ブリッジに出すことにより、当該中継情報をマスタが必要とするデータの量とし
て、ターゲットから読み出すことが可能となる。
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバイスを識
別する識別情報が割り当てられており、前記内部記憶領域は、識別情報記憶領域
を含み、前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、前記
応答手段は、さらに、前記デバイスからの要求に応答し、前記デバイスからの要
求が、(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識
別情報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ
、(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させるとしてもよ
い。
【００３６】
これによって、中継情報を内部記憶領域に書き込むことができないマスタでも
、前もって、当該マスタ以外のデバイス（例えば中央演算装置）が代わりに、中
継情報を内部記憶領域に書き込むことにより、中継情報を内部記憶領域に書き込
むことができないマスタでも必要とするデータの量をターゲットから読み出すこ
とが可能となる。また、マスタになりうるデバイスごとに中継情報を内部記憶領
域に書き込まなくとも、それらデバイスと対応する複数の中継情報を特定のデバ
イスにおいて管理しておき、特定のデバイスから、一括して複数の中継情報を内
部記憶領域に書き込むことにより、より効率的にデータを中継することが可能と
いう効果がある。
【００３７】
加えて、前記バスブリッジは、マスタとなる中央演算処理装置、及びターゲッ
トとなる内部記憶装置が接続している第１バスと、マスタ及びターゲットのいず
れかとなるデバイスが複数接続している第２バスとに接続しており、前記内部記
憶領域は、第１バスに接続しているターゲットから読み出すデータの量を示す中
継情報が記録される第１一次部分記憶領域と、第２バスに接続しているターゲッ
トから読み出すデータの量を示す中継情報が記録される第２一次部分記憶領域と
を含み、前記一時記憶領域は、第２バスのターゲットから読み出されたデータが
記録される第１一時記憶領域と、第１バスのターゲットから読み出されたデータ
が記録される第２一時記憶領域とを含み、前記記録手段は、前記第１一次部分記
憶領域に接続し、前記第１一次部分記憶領域に記録されている中継情報を選択す
る第１セレクタと、前記第２一次部分記憶領域に接続し、前記第２一次部分記憶
領域に記録されている中継情報を選択する第２セレクタとを含み、前記バスブリ
ッジは、第２バスのマスタになりうるデバイスと対応する中継情報を選択させる
制御信号を前記第１セレクタに出力するバスアービタと、第２バスのターゲット
になりうるデバイスと対応する中継情報を選択させる制御信号を前記第２セレク
タに出力するアドレスデコーダとを備え、前記制御手段は、前記第１一次部分記
憶領域に記録されている中継情報の内、前記第１セレクタにより選択された中継
情報に示される量のデータが第１一時記憶領域に記録されるまで、第１バスに接
続しているターゲットからデータを読み出す第１マスタ機能部と、前記第２の一
次部分記憶領域に記録されている中継情報の内、前記第２セレクタにより選択さ
れた中継情報に示される量のデータが第２一時記憶領域に格納されるまで、第２
バスに接続しているターゲットからデータを読み出す第２マスタ機能部とを含む
としてもよい。
【００３８】
これによって、内部記憶領域に複数の中継情報が記録されていれも、バスアー
ビタとアドレスデコードにより、マスタと対応する中継情報、又はターゲットと
対応する中継情報、又はマスタとターゲットとの組み合わせと対応する中継情報
を選択することが可能となる。そして、選択された中継情報に基づいて、マスタ
が必要とするデータをターゲットから読み出すことが可能という効果がある。
【００３９】
本発明に係わるデータ中継方法は、中継するデータの供給先となるデバイスで
あるマスタと、中継するデータの供給源となるデバイスであるターゲットと、互
いに異なるバスに接続しているマスタとターゲットとの間のデータを中継するバ
スブリッジとにおけるデータ中継方法であって、前記マスタに中継するデータの
量を示す中継情報を前記マスタから前記バスブリッジに渡すステップと、前記タ
ーゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡すステッ
プと、前記バスブリッジにおいて、前記マスタに出力するデータが格納されてい
る場合には、格納されているデータを当該バスブリッジから前記マスタに渡し、
格納されていない場合には、当該バスブリッジに渡された中継情報に示される量
のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放するステップとを含むとする。
【００４０】
これによって、リードデータトランザクションにおいて、ターゲットからデー
タを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記憶
領域に書き込むことにより、マスタが不要とするデータをターゲットから読み出
すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そし
て、マスタが不要とするデータをターゲットから読み出さない分、ターゲットが
接続しているバスを占有する期間が短くなるという効果がある。
【００４１】
さらに、中継するデータの供給先となるデバイスであるマスタと、中継するデ
ータの供給源となるデバイスであるターゲットと、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジとにおけるデー
タ中継方法であって、前記ターゲットから供給されるデータの量を示す供給情報
を前記マスタに中継する要求を前記マスタ以外のデバイスから前記バスブリッジ
に渡すステップと、前記バスブリッジにおいて、前記供給情報を複製し、複製し
た供給情報を、前記ターゲットから読み出すデータの量を示す中継情報として、
記録するステップと、前記ターゲットに対する読み出し要求を前記マスタから前
記バスブリッジに渡すステップと、前記バスブリッジにおいて、前記マスタに出
力するデータが格納されている場合には、格納されているデータを当該バスブリ
ッジから前記マスタに渡し、格納されていない場合には、前記バスブリッジに記
録されている中継情報に示される量のデータが格納されるまで、前記ターゲット
が接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格
納されると、占有しているバスを解放するステップとを含むとしてもよい。
【００４２】
これによって、中継情報を内部記憶領域に書き込むことができないマスタでも
、前もって、当該マスタ以外のデバイス（例えば中央演算装置）が代わりに、中
継情報を内部記憶領域に書き込むことにより、中継情報を内部記憶領域に書き込
むことができないマスタでも必要とするデータの量をターゲットから読み出すこ
とが可能となる。また、マスタになりうるデバイスごとに中継情報を内部記憶領
域に書き込まなくとも、それらデバイスと対応する複数の中継情報を特定のデバ
イスにおいて管理しておき、特定のデバイスから、一括して複数の中継情報を内
部記憶領域に書き込むことにより、より効率的にデータを中継することが可能と
いう効果がある。
【００４３】
本発明に係わるプログラムは、中継するデータの供給先となるデバイスをマス
タ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なるバ
スに接続しているマスタとターゲットとの間のデータを中継するバスブリッジを
プログラマブルデバイスに形成させるプログラムであって、中継するデータの量
を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ブロック
と、前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロ
ックと、前記内部記憶領域に記録されている中継情報に示される量のデータが前
記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し
、連続してデータを読み出し、当該量のデータが格納されると、占有しているバ
スを解放する制御ブロックとをプログラマブルデバイスに形成させるとする。
【００４４】
これによって、記録媒体、ネットワークなどを介して入手したプログラムを、
コンピュータ等の一般のハードウェアにおいて、ダウンロードケーブルを介して
、プログラマブルデバイスにダウンロードすれば、ダウンロードされたプログラ
マブルデバイスは、リードデータトランザクションにおいて、ターゲットからデ
ータを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記
憶領域に書き込むことにより、マスタが不要とするデータをターゲットから読み
出すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そ
して、マスタが不要とするデータをターゲットから読み出さない分、ターゲット
が接続しているバスを占有する期間が短くなるという効果がある。
【００４５】
さらに、前記プログラムは、前記マスタからの要求に応答する応答ブロックを
プログラマブルデバイスに形成させ、前記応答ブロックは、前記マスタからの要
求が、(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記
憶領域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ
、(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させるとしてもよい。
【００４６】
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をプロ
グラマブルデバイスに出すことにより、当該中継情報をマスタが必要とするデー
タの量として、ターゲットから読み出すことが可能となる。
本発明に係わるプログラムを記録したプログラマブルデバイス取り込み可能な
記録媒体は、中継するデータの供給先となるデバイスをマスタ、中継するデータ
の供給源となるデバイスをターゲットとし、互いに異なるバスに接続しているマ
スタとターゲットとの間のデータを中継するバスブリッジをプログラマブルデバ
イスに形成させるプログラムを記録したプログラマブルデバイス取り込み可能な
記録媒体であって、中継するデータの量を示す中継情報を外部から書き込み可能
な内部記憶領域に記録する記録ブロックと、前記ターゲットから読み出されるデ
ータを一時記憶領域に格納する格納ブロックと、前記内部記憶領域に記録されて
いる中継情報に示される量のデータが前記一時記憶領域に格納されるまで、前記
ターゲットが接続しているバスを占有し、連続してデータを読み出し、当該量の
データが格納されると、占有しているバスを解放する制御ブロックとをプログラ
マブルデバイスに形成させるプログラムを記録しているとする。
【００４７】
これによって、記録媒体を介して入手したプログラムを、コンピュータ等の一
般のハードウェアにおいて、ダウンロードケーブルを介して、プログラマブルデ
バイスにダウンロードすれば、ダウンロードされたプログラマブルデバイスは、
リードデータトランザクションにおいて、ターゲットからデータを読み出す前に
、マスタが必要とするデータの量を中継情報として、内部記憶領域に書き込むこ
とにより、マスタが不要とするデータをターゲットから読み出すことなく、マス
タが必要とするデータの量を読み出すことが可能となる。そして、マスタが不要
とするデータをターゲットから読み出さない分、ターゲットが接続しているバス
を占有する期間が短くなるという効果がある。
【００４８】
さらに、前記記録媒体は、前記マスタからの要求に応答する応答ブロックをプ
ログラマブルデバイスに形成させるプログラムを記録し、前記応答ブロックは、
前記マスタからの要求が、(a) 前記内部記憶領域に対する書き込み要求である場
合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録
ブロックに記録させ、(b) 前記ターゲットに対する読み出し要求である場合には
、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判
定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力
し、(b2)記録されていない場合には、前記読み出し要求を再度要求することを前
記マスタに通知し、前記マスタに出力するデータを前記制御ブロックに読み出さ
せるとしてもよい。
【００４９】
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をプロ
グラマブルデバイスに出すことにより、当該中継情報をマスタが必要とするデー
タの量として、ターゲットから読み出すことが可能となる。
【発明を実施するための最良の形態】
【００５０】
（実施の形態１）
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、従
来と同一の構成要素については同一の符号を付して、その説明を省略する。
（バスブリッジの構成）
図１は、実施の形態１におけるバスブリッジのブロック図である。
【００５１】
同図にみられるように、バスブリッジ１００は、従来のバスブリッジ１０と比
べて、プライマリバスインタフェース１１、及びセカンダリバスインタフェース
１２の代わりに、プライマリバスインタフェース１０１、及びセカンダリバスイ
ンタフェース１０２を備え、さらに、レジスタブロック１１１を備える。
プライマリバスインタフェース１０１は、プライマリバスインタフェース１１
と比べて、さらに、レジスタブロック１１１と接続している点が異なる。そして
、セカンダリバスのイニシエータがプライマリバスのターゲットに対してリード
サイクルを発生した際には、レジスタブロック１１１が保持している中継情報に
応じて、プライマリバスに発生させるリードサイクルを制御する。
【００５２】
ここて、中継情報とは、バスブリッジ１００が転送するデータの数を指す。
セカンダリバスインタフェース１０２は、セカンダリバスインタフェース１２
と比べて、さらに、レジスタブロック１１１と接続している点が異なる。そして
、プライマリバスのイニシエータがセカンダリバスのターゲットに対してリード
サイクルを発生した際には、レジスタブロック１１１が保持している中継情報に
応じて、セカンダリバスに発生させるリードサイクルを制御する。
【００５３】
レジスタブロック１１１は、中継情報を保持する。
図２は、プライマリバスインタフェース１０１、セカンダリバスインタフェー
ス１０２、及びレジスタブロック１１１の詳細なブロック図である。
同図にみられるように、プライマリバスインタフェース１０１は、さらに、プ
ライマリバスマスタ２０１、プライマリバスターゲット２０２、及びアドレスデ
コーダ２０３から構成される。
【００５４】
プライマリバスマスタ２０１は、プライマリバスのマスタとして機能する。そ
して、プライマリバスのターゲットからデータをリードする際には、レジスタブ
ロック１１１が保持している中継情報に応じて、プライマリバスにリードサイク
ルを発生する。
プライマリバスターゲット２０２は、プライマリバスのターゲットとして機能
する。
【００５５】
アドレスデコーダ２０３は、コンフィグレーションレジスタ１４を参照し、プ
ライマリバスに発生しているバスサイクルとともに、ドライブされたアドレスか
らデバイスを特定する。また、特定したデバイスのアドレスをレジスタブロック
１１１に通知する。
セカンダリバスインタフェース１０２は、さらに、セカンダリバスマスタ２１
１、及びセカンダリバスターゲット２１２から構成される。
【００５６】
セカンダリバスマスタ２１１は、セカンダリバスのマスタとして機能する。そ
して、セカンダリバスのターゲットからデータをリードする際には、レジスタブ
ロック１１１が保持している中継情報に応じて、セカンダリバスにリードサイク
ルを発生する。
セカンダリバスターゲット２１２は、セカンダリバスのターゲットとして機能
する。
【００５７】
レジスタブロック１１１は、さらに、アドレスバッファ２２１、レジスタ２３
１、及びレジスタ２４１から構成される。
アドレスバッファ２２１は、プライマリバス、及びセカンダリバスのいずれか
のイニシエータが、アドレスバッファ２２１に対して発生したライトサイクルと
ともにドライブしたデータ（アドレス）を保持する。また、アドレスデコーダ２
０３、及びレジスタ２３１に接続している。そして、アドレスバッファ２２１が
保持しているデータ（アドレス）と、アドレスデコーダ２０３から通知されたア
ドレスとが一致する場合には、一致するアドレスに続いてライトサイクルととも
にドライブされたデータ（中継情報）を複製し、複製したデータをレジスタ２３
１に書き込む。
【００５８】
レジスタ２３１は、プライマリバス、及びセカンダリバスのいずれかのイニシ
エータが、レジスタ２３１に対して発生したライトサイクルとともにドライブし
たデータ（中継情報）を保持する。そして、セカンダリバスのイニシエータが、
プライマリバスのターゲットに対してリードサイクルを発生する際には、保持し
ているデータ（中継情報）をプライマリバスマスタ２０１に送る。
【００５９】
レジスタ２４１は、プライマリバス、及びセカンダリバスのいずれかのイニシ
エータが、レジスタ２４１に対して発生したライトサイクルとともにドライブし
たデータ（中継情報）を保持する。そして、プライマリバスのイニシエータが、
セカンダリバスのターゲットに対してリードサイクルを発生する際には、保持し
ているデータ（中継情報）をセカンダリバスマスタ２１１に送る。
【００６０】
（バスブリッジ１００を備えたコンピュータシステムの構成例）
図３は、一例として、バスブリッジ１００を備えたコンピュータシステムの構
成図である。
同図にみられるように、コンピュータシステム３００は、プライマリバスに接
続しているＣＰＵ３０１、及びメモリ３０２と、セカンダリバスに接続している
バスマスタ３０３，３０４、及びバスターゲット３０５，３０６と、プライマリ
バス、及びセカンダリバスとに接続しているバスブリッジ１００とから構成され
る。
【００６１】
ＣＰＵ３０１は、プライマリバスのマスタとして機能する。
メモリ３０２は、プライマリバスのターゲットとして機能する。
バスマスタ３０３，３０４とは、セカンダリバスのマスタとして機能する。
さらに、バスマスタ３０３は、レジスタ３１１を備える。そして、バスマスタ
３０３に対して発生したライトサイクルとともにドライブされたデータ（中継情
報）をレジスタ３１１に記憶する。
【００６２】
図４は、コンピュータシステム３００における各デバイス、及びレジスタに割
り当てられたアドレスのメモリマップを示す図である。
同図にみられるように、メモリマップ４００は、アドレス列の各行に、３２ビ
ットのメモリ空間における特定のアドレス、またはメモリ領域を示している。デ
バイス、及びレジスタの列の各行に、同じ行のアドレス、又はメモリ領域に対応
付けられた各デバイス、又ははレジスタを示す。なお、アドレスは、単位をByte
として、１６進数表記でを示している。
【００６３】
以下、コンピュータシステム３００において、メモリ３０２はアドレス000000
00〜3FFFFFFFが割り当てられ、バスターゲット３０５はアドレス40000000〜5FFF
FFFFが割り当てられている。バスターゲット３０６はアドレス60000000〜7FFFFF
FFが割り当てられ、アドレスバッファ２２１はアドレス80000000が割り当てられ
ている。レジスタ２３１はアドレス80000004が割り当てられ、レジスタ２４１は
アドレス8000000Cが割り当てられている。そして、レジスタ３１１はアドレス90
000000が割り当てられている。
【００６４】
（バスブリッジの動作）
以上のように構成されたバスブリッジ１００について、その動作を説明する。
（バスブリッジ１００におけるデータ中継処理）
図５は、バスブリッジ１００におけるデータ中継処理のフローチャートである
。
【００６５】
同図にみられるように、バスブリッジ１００は、バスブリッジ１００がリセッ
トされるまで、以下の処理を繰り返し実行する（ステップＳ５０１）。
バスブリッジ１００は、プライマリバスにライトサイクルが発生しているか否
かを判定する（ステップＳ５０２）。
判定した結果、ライトサイクルが発生している場合には、中継情報記憶処理を
実行する（ステップＳ５０３）。
【００６６】
そして、プライマリバスにリードサイクルが発生しているか否かを判定する（
ステップＳ５０４）。
判定した結果、リードサイクルが発生している場合には、第１リードサイクル
応答処理を実行する（ステップＳ５０５）。
また、セカンダリバスにリードサイクルが発生しているか否かを判定する（ス
テップＳ５０６）。
【００６７】
判定した結果、リードサイクルが発生している場合には、第２リードサイクル
応答処理を実行する（ステップＳ５０７）。
（中継情報記憶処理）
図６は、バスブリッジ１００における中継情報記憶処理のフローチャートであ
る。
【００６８】
同図にみられるように、プライマリバスターゲット２０２は、ライトサイクル
とともにドライブされたアドレスから、プライマリバスに発生したバスサイクル
を判定する（ステップＳ６０１）。
判定した結果、レジスタ２４１に対するライトサイクルである場合には、プラ
イマリバスターゲット２０２は、ライトサイクルとともにドライブされたデータ
（中継情報）をレジスタ２４１に記憶し（ステップＳ６０２）、中継情報記憶処
理を終了する。
【００６９】
あるいは、アドレスバッファ２２１に対するライトサイクルである場合には、
プライマリバスターゲット２０２は、ライトサイクルとともにドライブされたデ
ータ（アドレス）をアドレスバッファ２２１に記憶し（ステップＳ６０３）、中
継情報記憶処理を終了する。
あるいは、セカンダリバスのデバイスに対するライトサイクルである場合には
、アドレスバッファ２２１は、アドレスデコーダ２０３から通知されたアドレス
と、アドレスバッファ２２１が保持しているデータ（アドレス）とが一致するか
否かを判定する（ステップＳ６０４）。
【００７０】
判定した結果、一致する場合には、アドレスバッファ２２１は、ライトサイク
ルとともにドライブされたデータ（中継情報）を複製し、複製したデータをレジ
スタ２３１に記憶する（ステップＳ６０５）。また、プライマリバスターゲット
２０２は、アドレス、コマンド、バイトイネーブルビット、及びデータ（中継情
報）をＤＳデータＦＩＦＯ１６に格納する（ステップＳ６０６）。
【００７１】
そして、セカンダリバスマスタ２１１は、セカンダリバスにライトサイクルを
発生するとともに、ＤＳデータＦＩＦＯ１６に格納されているアドレス、データ
（中継情報）をドライブし（ステップＳ６０７）、中継情報記憶処理を終了する
。
（第１リードサイクル応答処理）
図７は、バスブリッジ１００における第１リードサイクル応答処理のフローチ
ャートである。
【００７２】
同図にみられるように、プライマリバスターゲット２０２は、リードサイクル
とともにドライブされたアドレスから、プライマリバスに発生したバスサイクル
がセカンダリバスのターゲットに対するリードサイクルであるか否かを判定する
（ステップＳ７０１）。
判定した結果、セカンダリバスのターゲットに対するリードサイクルである場
合には、プライマリバスターゲット２０２は、ＵＳデータＦＩＦＯ１７を参照し
、リードサイクルを発生させたイニシエータに対して転送するデータが準備され
ているか否かを判定する（ステップＳ７０２）。
【００７３】
判定した結果、転送するデータが準備されている場合には、プライマリバスタ
ーゲット２０２は、ＵＳデータＦＩＦＯ１７に格納されているデータを転送し（
ステップＳ７０３）、第１リードサイクル応答処理を終了する。転送するデータ
が準備されていない場合には、プライマリバスターゲット２０２は、リードサイ
クルとともにドライブされたアドレスをＤＳデータＦＩＦＯ１６に格納し、リー
ドサイクルを発生させたイニシエータに対して、リトライで応答する（ステップ
Ｓ７０４）。
【００７４】
そして、セカンダリバスマスタ２１１は、レジスタ２４１から中継情報を受け
取り、セカンダリバスにリードサイクルを発生するとともに、ＤＳデータＦＩＦ
Ｏ１６に格納されているアドレスをセカンダリバスにドライブする（ステップＳ
７０５）。
続いて、セカンダリバスマスタ２１１は、ターゲットからデータをリードし、
リードしたデータをＵＳデータＦＩＦＯ１７に格納し（ステップＳ７０６）、タ
ーゲットからリードしたデータの数と、受け取った中継情報とが一致するか否か
を判定する（ステップＳ７０７）。
【００７５】
判定した結果、一致する場合には、セカンダリバスマスタ２１１は、リードサ
イクルを発生させたイニシエータに対して転送されるデータが準備できているこ
とを、プライマリバスターゲット２０２に通知し（ステップＳ７０８）、第１リ
ードサイクル応答処理を終了する。一致しない場合には、ステップＳ７０６に処
理を戻す。
【００７６】
（第２リードサイクル応答処理）
図８は、バスブリッジ１００における第２リードサイクル応答処理のフローチ
ャートである。
同図にみられるように、セカンダリバスターゲット２１２は、リードサイクル
とともにドライブされたアドレスから、セカンダリバスに発生したバスサイクル
がプライマリバスのターゲットに対するリードサイクルであるか否かを判定する
（ステップＳ８０１）。
【００７７】
判定した結果、プライマリバスのターゲットに対するリードサイクルである場
合には、セカンダリバスターゲット２１２は、ＤＳデータＦＩＦＯ１６を参照し
、リードサイクルを発生させたイニシエータに対して転送するデータが準備され
ているか否かを判定する（ステップＳ８０２）。
判定した結果、転送するデータが準備されている場合には、セカンダリバスタ
ーゲット２１２は、ＤＳデータＦＩＦＯ１６に格納されているデータを転送し（
ステップＳ８０３）、第２リードサイクル応答処理を終了する。転送するデータ
が準備されていない場合には、セカンダリバスターゲット２１２は、リードサイ
クルとともにドライブされたアドレスをＵＳデータＦＩＦＯ１７に格納し、リー
ドサイクルを発生させたイニシエータに対して、リトライで応答する（ステップ
Ｓ８０４）。
【００７８】
そして、プライマリバスマスタ２０１は、レジスタ２３１から中継情報を受け
取り、プライマリバスにリードサイクルを発生するとともに、ＵＳデータＦＩＦ
Ｏ１７に格納されているアドレスをプライマリバスにドライブする（ステップＳ
８０５）。
続いて、プライマリバスマスタ２０１は、ターゲットからデータをリードし、
リードしたデータをＤＳデータＦＩＦＯ１６に格納し（ステップＳ８０６）、タ
ーゲットからリードしたデータの数と、受け取った中継情報とが一致するか否か
を判定する（ステップＳ８０７）。
【００７９】
判定した結果、一致する場合には、プライマリバスマスタ２０１は、リードサ
イクルを発生させたイニシエータに対して転送されるデータが準備できているこ
とを、セカンダリバスターゲット２１２に通知し（ステップＳ８０８）、第２リ
ードサイクル応答処理を終了する。一致しない場合には、ステップＳ８０６に処
理を戻す。
【００８０】
以上、バスブリッジ１００におけるデータ中継処理のフローチャートについて
である。
（動作例）
ここで、上記コンピュータシステム３００において、以下に示す（場合−１）
、（場合−２）を例に、バスブリッジ１００の具体的な動作を、タイミングチャ
ートを参照しながら説明する。
【００８１】
（場合−１）セカンダリバスのターゲットからプライマリバスのイニシエータ
にデータが転送される場合
（場合−２）プライマリバスのターゲットからセカンダリバスのイニシエータ
にデータが転送される場合
以下、（場合−１）におけるバスブリッジ１００のデータ中継処理をアップス
トリーム転送処理と呼称し、（場合−２）におけるバスブリッジ１００のデータ
中継処理をダウンストリーム転送処理と呼称する。
【００８２】
（アップストリーム転送処理）
まず、アップストリーム転送処理について、タイミングチャートを参照しなが
ら具体的な動作を説明する。
図９〜１１は、アップストリーム転送処理におけるタイミングチャートを示す
図である。
【００８３】
図９（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのプライマリバ
スに関するタイミングチャートを示す図である。
図９（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、プラ
イマリバスの使用権、アドレス／データ、フェーズ、リード／ライト、及びバス
応答種類のタイミングチャートを示している。
【００８４】
ここで、使用権とは、バスを使用する権利を有しているデバイスを指す。
ここて、アドレス／データとは、アドレス／データ線の状態を指す。
ここで、フェーズとは、"address"、"data"、"turn around"、"idle"などのバ
スサイクルのフェーズを指す。
ここで、バス応答種類とは、"completion"、"retry"などのバスブリッジ１０
０のバス応答を指す。
【００８５】
図１０（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのバスブリッ
ジ１００に関するタイミングチャートを示す図である。
図１０（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、レ
ジスタ３３３、ＵＳデータＦＩＦＯ２１２エントリ１、ＵＳデータＦＩＦＯ２１
２エントリ２のタイミングチャートを示している。
【００８６】
図１１（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのセカンダリ
バスに関するタイミングチャートを示す図である。
図１１（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、セ
カンダリバスの使用権、アドレス／データ、フェーズ、リード／ライト、及びバ
ス応答種類のタイミングチャートを示している。
【００８７】
なお、図９〜１１に示すタイミングチャートは同期している。
まず、図９（ａ）にみられるように、Ｔ０〜Ｔ２において、ＣＰＵ３０１は、
プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレス80
00000C（レジスタ２４１のアドレス）と、データ00000002（中継情報）とをプラ
イマリバスにドライブする。これにともない、バスブリッジ１００は、中継情報
記憶処理を実行する。また、Ｔ１〜Ｔ２において、ＣＰＵ３０１は、プライマリ
バスをディアサートする。
【００８８】
ここで、アサートとは、イニシエータがバスを占有し、リードサイクル又はラ
イトサイクルを発生することを指す。
ここで、ディアサートとは、次のクロックを以て、イニシエータにより発生さ
れているリードサイクル又はライトサイクルを終了し、占有しているバスを解放
することを指す。
【００８９】
続いて、図１０（ａ）にみられるように、Ｔ２〜Ｔ３において、バスブリッジ
１００は、ライトサイクルとともにドライブされたデータ00000002（中継情報）
をレジスタ２４１に記憶する。
ここで、バスブリッジ１００は、ステップＳ６０１において、レジスタ２４１
に対するライトサイクルであると判定し、ステップＳ６０２を実行し、中継情報
記憶処理を終了する。
【００９０】
続いて、図９（ａ）にみられるように、Ｔ３〜Ｔ６において、ＣＰＵ３０１は
、プライマリバスをアサートし、リードサイクルを発生するとともに、アドレス
40000000（バスターゲット３０５のアドレス）をプライマリバスにドライブする
。これにともない、バスブリッジ１００は、第１リードサイクル応答処理を実行
する。そして、ＣＰＵ３０１は、リードサイクルに対する応答として、バスブリ
ッジ１００からリトライをレシーブする。また、Ｔ５〜Ｔ６において、ＣＰＵ３
０１は、プライマリバスをディアサートする。
【００９１】
ここで、バスブリッジ１００は、ステップＳ７０１において、セカンダリバス
のターゲット（バスターゲット３０５）に対するリードサイクルであると判定し
、ステップＳ７０２を実行する。そして、ステップＳ７０２において、転送する
データが準備されていないと判定し、ステップＳ７０４を実行する。
続いて、図１１（ａ）（ｂ）にみられるように、Ｔ５〜Ｔ９において、バスブ
リッジ１００は、セカンダリバスをアサートし、リードサイクルを発生するとと
もに、ＤＳデータＦＩＦＯ１６に格納されているアドレス（アドレス40000000）
をセカンダリバスにドライブする。そして、バスブリッジ１００は、セカンダリ
バスのターゲット（バスターゲット３０５）からデータ01234567と、データ89AB
CDEFとをリードする。また、Ｔ８〜Ｔ９において、バスブリッジ１００は、セカ
ンダリバスをディアサートする。
【００９２】
続いて、図１０（ｂ）にみられるように、Ｔ８〜Ｔ１０において、バスブリッ
ジ１００は、リードしたデータ01234567をＵＳデータＦＩＦＯ１７の第１エント
リに、データ89ABCDEFをＵＳデータＦＩＦＯ１７の第２エントリに格納する。
ここで、バスブリッジ１００は、ステップＳ７０７において、ターゲットから
リードしたデータの数と、受け取った中継情報とが一致すると判定されるまで、
ステップＳ７０５，Ｓ７０６を実行し、第１リードサイクル応答処理を終了する
。
【００９３】
続いて、図９（ｂ）にみられるように、Ｔ９〜Ｔ１３において、ＣＰＵ３０１
は、プライマリバスをアサートし、再度、リードサイクルを発生するとともに、
アドレス40000000（バスターゲット３０５のアドレス）をプライマリバスにドラ
イブする。これにともない、バスブリッジ１００は、再度、第１リードサイクル
応答処理を実行する。そして、ＣＰＵ３０１は、バスブリッジ１００（ＵＳデー
タＦＩＦＯ１７の第１エントリと第２エントリと）から、データ01234567とデー
タ89ABCDEFとをリードする。また、Ｔ１２〜Ｔ１３において、ＣＰＵ３０１は、
プライマリバスをディアサートする。
【００９４】
ここで、バスブリッジ１００は、ステップＳ７０１において、セカンダリバス
のターゲット（バスターゲット３０５）に対するリードサイクルであると判定し
、ステップＳ７０２を実行する。そして、ステップＳ７０２において、転送する
データが準備されていると判定し、ステップＳ７０３を実行し、第１リードサイ
クル応答処理を終了する。
【００９５】
以上、アップストリーム転送処理によるバスブリッジ１００の動作についてで
ある。
（ダウンストリーム転送処理）
次に、ダウンストリーム転送処理について、タイミングチャートを参照しなが
ら具体的なその動作を説明する。
【００９６】
図１２〜１４は、ダウンストリーム転送処理におけるタイミングチャートを示
す図である。
図１２（ａ）は、Ｔ０〜Ｔ９まで、（ｂ）は、Ｔ９〜Ｔ２０までのプライマリ
バスに関するタイミングチャートを示す図である。
図１２（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、プ
ライマリバス使用権、アドレス／データ、フェーズ、リード／ライト、バス応答
種類のタイミングチャートを示している。
【００９７】
図１３（ａ）は、Ｔ０〜Ｔ９まで、（ｂ）は、Ｔ９〜Ｔ２０までのバスブリッ
ジ１００、及びレジスタ３１１に間するタイミングチャートを示す図である。
図１３（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、ア
ドレスバッファ２２１、レジスタ２４１、ＤＳデータＦＩＦＯ１６の第１エント
リ、ＤＳデータＦＩＦＯ１６の第２エントリ、レジスタ２３１のタイミングチャ
ートを示している。
【００９８】
図１４（ａ）は、Ｔ０〜Ｔ１２まで、（ｂ）は、Ｔ１２〜Ｔ２０までのセカン
ダリバスに関するタイミングチャートを示す図である。
図１４（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、セ
カンダリバス使用権、アドレス／データ、フェーズ、リード／ライト、バス応答
種類のタイミングチャートを示している。
【００９９】
なお、図１２〜１４に示すタイミングチャートは同期している。
まず、図１２（ａ）にみられるように、Ｔ０〜Ｔ２において、ＣＰＵ３０１は
、プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレス
80000000（アドレスバッファ２２１のアドレス）とデータ90000000（レジスタ３
１１のアドレス）とをプライマリバスにドライブする。これにともない、バスブ
リッジ１００は、中継情報記憶処理を実行する。また、Ｔ１〜Ｔ２において、Ｃ
ＰＵ３０１は、プライマリバスをディアサートする。
【０１００】
続いて、図１３（ａ）にみられるよう1に、Ｔ１〜Ｔ２において、バスブリッ
ジ１００は、ライトサイクルとともにドライブされたデータ90000000（レジスタ
３１１のアドレス）をアドレスバッファ２２１に記憶する。
ここで、バスブリッジ１００は、ステップＳ６０１において、アドレスバッフ
ァ２２１に対するライトサイクルであると判定し、ステップＳ６０３を実行し、
中継情報記憶処理を終了する。
【０１０１】
続いて、図１２（ａ）にみられるように、Ｔ３〜Ｔ５において、ＣＰＵ３０１
は、プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレ
ス90000000（レジスタ３１１のアドレス）とデータ00000002（中継情報）とをプ
ライマリバスにドライブする。これにともない、バスブリッジ１００は、中継情
報記憶処理を実行する。また、Ｔ４〜Ｔ５において、ＣＰＵ３０１は、プライマ
リバスをディアサートする。
【０１０２】
続いて、図１３（ａ）にみられるように、Ｔ５〜Ｔ６において、バスブリッジ
１００は、ライトサイクルとともにドライブされたデータ00000002（中継情報）
をＤＳデータＦＩＦＯ１６に格納する。また、ライトサイクルとともにドライブ
されたデータ00000002（中継情報）を複製し、複製したデータをレジスタ２３１
に記憶する。
【０１０３】
ここで、バスブリッジ１００は、ステップＳ６０１において、セカンダリバス
のデバイスに対するライトサイクルであると判定し、ステップＳ６０４を実行す
る。続いて、ステップＳ６０４において、一致すると判定し、ステップＳ６０５
を実行しする。そして、ステップＳ６０６を実行する。
続いて、図１４（ａ）にみられるように、Ｔ５〜Ｔ７において、バスブリッジ
１００は、セカンダリバスをアサートし、ライトサイクルを発生するとともに、
アドレス90000000（レジスタ３１１のアドレス）とデータ00000002（中継情報）
とをセカンダリバスにドライブする。また、Ｔ６〜Ｔ７において、バスブリッジ
１００は、セカンダリバスをディアサートする。
【０１０４】
続いて、図１３（ａ）にみられるように、Ｔ７〜Ｔ８において、バスマスタ３
０３は、ライトサイクルとともにセカンダリバスにドライブされたデータ000000
02をレジスタ３１１に記憶する。
ここで、バスブリッジ１００は、ステップＳ６０７を実行し、中継情報記憶処
理を終了する。
【０１０５】
続いて、図１４（ａ）にみられるように、Ｔ８〜Ｔ１１において、バスマスタ
３０３は、プライマリバスをアサートし、リードサイクルを発生するとともに、
アドレス20000000（メモリ３０２の部分アドレス）をセカンダリバスにドライブ
する。これにともない、バスブリッジ１００は、第２リードサイクル応答処理を
実行する。そして、バスマスタ３０３は、リードサイクルに対する応答として、
バスブリッジ１００からリトライをレシーブする。また、Ｔ１０〜Ｔ１１におい
て、バスマスタ３０３は、セカンダリバスをディアサートする。
【０１０６】
ここで、バスブリッジ１００は、ステップＳ８０１において、プライマリバス
のターゲット（メモリ３０２）に対するリードサイクルであると判定し、ステッ
プＳ８０２を実行する。そして、ステップＳ８０２において、転送するデータが
準備されていないと判定し、ステップＳ８０４を実行する。
続いて、図１２（ｂ）にみられるように、Ｔ１０〜Ｔ１４において、バスブリ
ッジ１００は、プライマリバスをアサートし、リードサイクルを発生するととも
に、ＵＳデータＦＩＦＯ１７に格納されているアドレス20000000（メモリ３０２
の部分アドレス）をプライマリバスにドライブする。そして、バスブリッジ１０
０は、プライマリバスのターゲット（メモリ３０２）からデータ01234567とデー
タ89ABCDEFとをリードする。また、Ｔ１３〜Ｔ１４において、バスブリッジ１０
０は、プライマリバスをディアサートする。
【０１０７】
続いて、図１３（ｂ）にみられるように、Ｔ１３〜Ｔ１５において、バスブリ
ッジ１００は、リードしたデータ01234567をＤＳデータＦＩＦＯ１６の第１エン
トリに格納し、データ89ABCDEFをＤＳデータＦＩＦＯ１６の第２エントリに格納
する。
ここで、バスブリッジ１００は、ステップＳ８０７において、ターゲットから
リードしたデータの数と、受け取った中継情報とが一致すると判定されるまで、
ステップＳ８０５，Ｓ８０６を実行し、第２リードサイクル応答処理を終了する
。
【０１０８】
続いて、図１４（ｂ）にみられるように、Ｔ１５〜Ｔ１９において、バスマス
タ３０３は、セカンダリバスをアサートし、再度、リードサイクルを発生すると
ともに、アドレス20000000（メモリ３０２の部分アドレス）をセカンダリバスに
ドライブする。これにともない、バスブリッジ１００は、再度、第２リードサイ
クル応答処理を実行する。そして、バスマスタ３０３は、バスブリッジ１００（
ＤＳデータＦＩＦＯ１６の第１エントリと第２エントリと）から、データ012345
67とデータ89ABCDEFとをリードする。また、Ｔ１８〜Ｔ１９において、バスマス
タ３０３は、セカンダリバスをディアサートする。
【０１０９】
ここで、バスブリッジ１００は、ステップＳ８０１において、プライマリバス
のターゲット（メモリ３０２）に対するリードサイクルであると判定し、ステッ
プＳ８０２を実行する。そして、ステップＳ８０２において、転送するデータが
準備されていると判定し、ステップＳ８０３を実行し、第２リードサイクル応答
処理を終了する。
【０１１０】
以上、ダウンストリーム転送処理によるバスブリッジ１００の動作についてで
ある。
（従来のバスブリッジとの対比）
ここで、従来のバスブリッジ１０と、バスブリッジ１００とを対比する。
一例として、上記コンピュータシステム３００において、バスブリッジ１００
の代わりに、バスブリッジ１０を備えた場合におけるタイミングチャートを示す
。
【０１１１】
図１５〜１６は、従来のバスブリッジ１０によるアップストリーム転送処理に
おけるタイミングチャートを示す図である。
図１５（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ５〜Ｔ１３までのバスブリッ
ジ１０が接続しているプライマリバスに関するタイミングチャートを示す図であ
る。
【０１１２】
図１５（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、プ
ライマリバスの使用権、アドレス／データ、フェーズ、リード／ライト、及びバ
ス応答種類のタイミングチャートを示している。
図１６（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ５〜Ｔ１３までのバスブリッ
ジ１０が接続しているセカンダリバスに関するタイミングチャートを示す図であ
る。
【０１１３】
図１６（ａ）（ｂ）にみられるように、上から順に、クロック（ＣＬＫ）、セ
カンダリバスの使用権、アドレス／データ、フェーズ、リード／ライト、及びバ
ス応答種類のタイミングチャートを示している。
なお、図１５〜１６に示すタイミングチャートは同期している。
まず、図１５（ａ）にみられるように、Ｔ０〜Ｔ３において、ＣＰＵ３１は、
プライマリバスをアサートし、リードサイクルを発生するとともに、アドレス40
000000（バスターゲット３５のアドレス）をプライマリバスにドライブする。こ
れにともない、バスブリッジ１０は、アドレス、バスコマンド、バイトイネーブ
ルビットなどをＤＳデータＦＩＦＯ１６に格納する。そして、ＣＰＵ３１は、バ
スブリッジ１０からリードサイクルに対する応答としてリトライをレシーブする
。また、Ｔ２〜Ｔ３において、プライマリバスをディアサートする。
【０１１４】
ここで、バスブリッジ１０は、ＵＳデータＦＩＦＯ１７を参照し、転送するデ
ータが準備されていないと判定し、リードサイクルに対して、リトライで応答す
る。
この間、図１６（ａ）（ｂ）にみられるように、Ｔ１〜Ｔ１１において、バス
ブリッジ１０は、セカンダリバスをアサートし、リードサイクルを発生するとと
もに、ＤＳデータＦＩＦＯ１６に格納されているアドレス40000000（バスターゲ
ット３０５のアドレス）をセカンダリバスにドライブする。そして、バスターゲ
ット３５から、連続して、データ01234567、89ABCDEF、12345678、9ABCDEF0、23
456789、ABCDEF01、3456789A、BCDEF012とをリードし、リードしたデータをＵＳ
データＦＩＦＯ１７に格納する。また、Ｔ１１〜１２において、セカンダリバス
をディアサートする。
【０１１５】
この間、図１５（ｂ）にみられるように、Ｔ６〜Ｔ１０において、ＣＰＵ３１
は、プライマリバスをアサートし、再度、リードサイクルを発生するとともに、
アドレス40000000（バスターゲット３４のアドレス）をプライマリバスにドライ
ブする。そして、バスブリッジ１０から、データ01234567とデータ89ABCDEFとを
リードする。また、Ｔ９〜Ｔ１０において、ＣＰＵ３０１は、プライマリバスを
ディアサートする。
【０１１６】
以上、バスブリッジ１０と、バスブリッジ１００とを対比すると、図１５〜１
６にみられるように、バスブリッジ１０は、２エントリのデータをＣＰＵ３０１
に転送する際にも、８エントリのデータをバスターゲットからリードする。一方
、図９〜１１にみられるように、バスブリッジ１００は、２エントリのデータを
ＣＰＵ３０１に転送する際には、２エントリのデータをバスターゲットからリー
ドするのみである。結果、ターゲット側のバスを占有している期間はバスブリッ
ジ１００の方が短いことが窺える。
【０１１７】
（実施の形態２）
以下、本発明の実施の形態２について、図面を参照しながら説明する。なお、
実施の形態１と同一の構成要素、動作については同一の符号を付して、その説明
を省略する。
図１７は、実施の形態２におけるバスブリッジのブロック図である。
【０１１８】
同図にみられるように、バスブリッジ１２０は、実施の形態１におけるバスブ
リッジ１００と比べて、プライマリバスインタフェース１０１、バスアービタ１
３、及びレジスタブロック１１１の代わりに、プライマリバスインタフェース１
２１、バスアービタ１２３、及びレジスタブロック１３１を備える。
図１８は、プライマリバスインタフェース１２１、及びレジスタブロック１３
１の詳細なブロック図である。
【０１１９】
同図にみられるように、プライマリバスインタフェース１２１は、アドレスデ
コーダ２０３の代わりに、アドレスデコーダ２０６を備える。
レジスタブロック１３１は、セカンダリバスのデバイスごとに対応づけられた
レジスタ２５１〜２６２と、それらのレジスタの出力を選択するセレクタ２７１
，２７２とを備える。
【０１２０】
レジスタ２５１〜２６２は、プライマリバス、及びセカンダリバスのいずれか
のイニシエータが、それぞれのレジスタに対して発生したライトサイクルととも
にドライブしたデータ（中継情報）を保持する。そして、レジスタ２５１，２５
２とは、セレクタ２７１とそれぞれ接続し、保持しているデータをセレクタ２７
１に出力する。また、レジスタ２６１，２６２とは、セレクタ２７２とそれぞれ
接続し、保持しているデータをセレクタ２７２に出力する。
【０１２１】
セレクタ２７１は、レジスタ２５１，２５２、及びプライマリバスマスタ２０
１と接続している。そして、バスアービタ１０３から出力される制御信号に応じ
て、レジスタ２５１，２５２のいずれかの出力を選択し、プライマリバスマスタ
２０１に出力する。
セレクタ２７２は、レジスタ２６１，２６２、及びセカンダリバスマスタ２１
１と接続している。そして、アドレスデコーダ２０６から出力される制御信号に
応じて、レジスタ２６１，２６２のいずれかの出力を選択し、セカンダリバスマ
スタ２１１に出力する。
【０１２２】
アドレスデコーダ２０６は、さらに、セレクタ２７２に制御信号を出力する。
そして、リードサイクルとともにドライブされたアドレス（セカンダリバスのタ
ーゲットのアドレス）に応じて、セカンダリバスマスタ２１１に出力される中継
情報を制御する。
バスアービタ１２３は、さらに、セレクタ２７１に制御信号を出力する。そし
て、セカンダリバスの使用権を有するイニシエータに応じて、プライマリバスマ
スタ２０１に出力される中継情報を制御する。
【０１２３】
なお、レジスタ２５１はアドレス80000004が割り当てられ、レジスタ２５２は
アドレス80000008が割り当てられている。レジスタ２６１はアドレス8000000Cが
割り当てられ、レジスタ２６２はアドレス80000010が割り当てられている。
（バスブリッジ１２０の動作）
以上のように構成されたバスブリッジ１２０について、その動作を説明する。
【０１２４】
（バスブリッジ１２０におけるデータ中継処理）
図１９は、バスブリッジ１２０におけるデータ中継処理のフローチャートであ
る。
同図にみられるように、データ中継処理１９００は、データ中継処理５００と
比べて、中継情報記憶処理（ステップＳ５０３）、第１リードサイクル応答処理
（ステップＳ５０５）、及び第２リードサイクル応答処理（ステップＳ５０７）
との代わりに、中継情報記憶処理（ステップＳ１９０３）、第１リードサイクル
応答処理（ステップＳ１９０５）、及び第２リードサイクル応答処理（ステップ
Ｓ１９０７）とを実行する点が異なる。
【０１２５】
中継情報記憶処理（ステップＳ１９０３）は、中継情報記憶処理（ステップＳ
５０３）と比べて、ステップＳ６０２の代わりに、ライトサイクルとともにドラ
イブされたデータ（中継情報）を、レジスタ２６１に対するライトサイクルであ
る場合には、レジスタ２６１に記憶し、レジスタ２６２に対するライトサイクル
である場合には、レジスタ２６２に記憶する。
【０１２６】
（第１リードサイクル応答処理）
図２０は、バスブリッジ１２０における第１リードサイクル応答処理のフロー
チャートである。
同図にみられるように、第１リードサイクル応答処理（ステップＳ１９０５）
は、第１リードサイクル応答処理（ステップＳ５０５）と比べて、ステップＳ７
０５の代わりに、以下のステップＳ２００１〜Ｓ２００４を実行する。
【０１２７】
アドレスデコーダ２０６は、リードサイクルとともにドライブされたアドレス
に応じて、以下の処理を実行する（ステップＳ２００１）。
リードサイクルとともにドライブされたアドレスが、バスターゲット３０５の
アドレスである場合には、アドレスデコーダ２０６は、レジスタ２６１の出力を
選択させる制御信号をセレクタ２７２に出力する（ステップＳ２００２）。ある
いは、バスターゲット３０６のアドレスである場合には、アドレスデコーダ２０
６は、レジスタ２６２の出力を選択させる制御信号をセレクタ２７２に出力する
（ステップＳ２００３）。
【０１２８】
そして、セカンダリバスマスタ２１１は、セレクタ２７２から出力された中継
情報を受け取り、セカンダリバスにリードサイクルを発生するとともに、ＤＳデ
ータＦＩＦＯ１６に格納されているアドレスをセカンダリバスにドライブする（
ステップＳ２００４）。
（第２リードサイクル応答処理）
図２１は、バスブリッジ１２０における第２リードサイクル応答処理のフロー
チャートである。
【０１２９】
同図にみられるように、第２リードサイクル応答処理（ステップＳ１９０７）
は、第２リードサイクル応答処理（ステップＳ５０７）と比べて、ステップＳ８
０５の代わりに、以下のステップＳ２１０１〜Ｓ２１０４を実行する。
バスアービタ１２３は、セカンダリバスの使用権を有しているイニシエータに
応じて、以下の処理を実行する（ステップＳ２１０１）。
【０１３０】
セカンダリバスの使用権を有しているイニシエータが、バスマスタ３０３であ
る場合には、バスアービタ１２３は、レジスタ２５１の出力を選択させる制御信
号をセレクタ２７１に出力する（ステップＳ２１０２）。あるいは、バスマスタ
３０４である場合には、バスアービタ１２３は、レジスタ２５２の出力を選択さ
せる制御信号をセレクタ２７１に出力する（ステップＳ２１０３）。
【０１３１】
そして、プライマリバスマスタ２０１は、セレクタ２７１から出力された中継
情報を受け取り、プライマリバスにリードサイクルを発生するとともに、ＵＳデ
ータＦＩＦＯ１７に格納されているアドレスをプライマリバスにドライブする（
ステップＳ２１０４）。
以上、バスブリッジ１２０におけるデータ中継処理のフローチャートである。
【０１３２】
（その他）
なお、初期状態時、及びターゲットからデータを読み出してリードサイクルを
終了した時に、デフォルトの中継情報（例えば、８エントリ）をレジスタブロッ
クを構成する全レジスタに記録するとしてもよい。
なお、レジスタブロック１１１は、レジスタを、マスタごとに備えるとしても
よいし、ターゲットごとに備えるとしてもよい。
【０１３３】
なお、複数のバスに接続しているバスブリッジの第ｉ番目のバスに接続してい
るターゲットの総数をＴ［ｉ］、第ｉ番目のバスに接続しているマスタの総数を
Ｍ［ｉ］、バスブリッジに接続している全デバイスの内、マスタになりうるデバ
イスの総数をＭとし、第ｉ番目のバスに対応するレジスタの数とするＲ［ｉ］を
、以下の（式−１）に基づくとしてもよい。
【０１３４】
（式−１）Ｒ［ｉ］＝（Ｍ−Ｍ［ｉ］）×Ｔ［ｉ］（ｉ＝１，２，・・・）
なお、バスブリッジは、フルカスタムＬＳＩ（Large Scale Integration）と
して形成されるとしてもよいし、ＶＨＤＬ（Very high speed integrated circu
it Hardware Description Language）／Ｖｅｒｉｌｏｇ−ＨＤＬなどのハードウ
ェア記述言語（Hardware Description Language）で記述されたプログラム（以
下、ＨＤＬプログラムと呼称する）により、ＡＳＩＣ（Application Specific I
ntegrated Circuit）のようなセミカスタムＬＳＩ、ＦＰＧＡ（Field Programma
ble Gate Array）／ＣＰＤＬ（Complex Programmable Logic Device）などのプ
ログラマブルデバイスに形成されるとしてもよい。また、ＨＤＬプログラムから
論理合成したネットリストにより形成されるとしてもよい。
【０１３５】
また、ＨＤＬプログラム、又はネットリストを、光学記録媒体（例えば、ＣＤ
−ＲＯＭなど）、磁気記録媒体（例えば、ハードディスクなど）、光磁気記録媒
体（例えば、ＭＯなど）、半導体メモリ（例えば、ＲＯＭなど）などのコンピュ
ータ読み取り可能な記録媒体に記録しておき、他のコンピュータにおいて、ダウ
ンロードケーブルを介して、プログラマブルデバイスにダウンロードするとして
もよい。また、ネットワークにより接続されているコンピュータ等の一般のハー
ドウェア上に設けられたハードディスク等のコンピュータ読み取り可能な記録媒
体にＨＤＬプログラム、又はネットリストを記録しておき、ネットワーク等の伝
送路を経由して読み取った他のコンピュータにおいて、ダウンロードケーブルを
介して、プログラマブルデバイスにダウンロードするとしてもよい。また、ＨＤ
Ｌプログラムから論理合成したデータをシリアルＲＯＭに記録しておき、ＦＰＧ
Ａに直接、ダウンロードするとしてもよい。
【産業上の利用可能性】
【０１３６】
本発明に係るバスブリッジは、情報機器に組み込まれるコンピューターシステムにおいて、互いに異なるバスに接続されているデバイス間のデータを中継する装置として、情報産業分野で利用される。
【図面の簡単な説明】
【０１３７】
【図１】実施の形態１におけるバスブリッジのブロック図である。
【図２】プライマリバスインタフェース１０１、セカンダリバスインタフェース１０２、及びレジスタブロック１１１の詳細なブロック図である。
【図３】一例として、バスブリッジ１００を備えたコンピュータシステムの構成図である。
【図４】一例として、コンピュータシステム３００における各デバイス、及びレジスタに割り当てられたアドレスのメモリマップを示す図である。
【図５】バスブリッジ１００におけるデータ中継処理のフローチャートである。
【図６】バスブリッジ１００における中継情報記憶処理のフローチャートである。
【図７】バスブリッジ１００における第１リードサイクル応答処理のフローチャートである。
【図８】バスブリッジ１００における第２リードサイクル応答処理のフローチャートである。
【図９】（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのプライマリバスに関するタイミングチャートを示す図である。
【図１０】（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのバスブリッジ１００に関するタイミングチャートを示す図である。
【図１１】（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ７〜Ｔ１５までのセカンダリバスに関するタイミングチャートを示す図である。
【図１２】（ａ）は、Ｔ０〜Ｔ９まで、（ｂ）は、Ｔ９〜Ｔ２０までのプライマリバスに関するタイミングチャートを示す図である。
【図１３】（ａ）は、Ｔ０〜Ｔ９まで、（ｂ）は、Ｔ９〜Ｔ２０までのバスブリッジ１００、及びレジスタ３１１に間するタイミングチャートを示す図である。
【図１４】（ａ）は、Ｔ０〜Ｔ１２まで、（ｂ）は、Ｔ１２〜Ｔ２０までのセカンダリバスに関するタイミングチャートを示す図である。
【図１５】（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ５〜Ｔ１３までのプライマリバスに関するタイミングチャートを示す図である。
【図１６】（ａ）は、Ｔ０〜Ｔ８まで、（ｂ）は、Ｔ５〜Ｔ１３までのセカンダリバスに関するタイミングチャートを示す図である。
【図１７】実施の形態２におけるバスブリッジのブロック図である。
【図１８】プライマリバスインタフェース１２１、及びレジスタブロック１３１の詳細なブロック図である。
【図１９】バスブリッジ１２０におけるデータ中継処理のフローチャートである。
【図２０】バスブリッジ１２０における第１リードサイクル応答処理のフローチャートである。
【図２１】バスブリッジ１２０における第２リードサイクル応答処理のフローチャートである。
【図２２】従来のバスブリッジのブロック図である。
【符号の説明】
【０１３８】
１００  バスブリッジ
１０１  プライマリバスインタフェース
１０２  セカンダリバスインタフェース
１０４  コンフィグレーションレジスタ
１１１  レジスタブロック
２０１  プライマリバスマスタ
２０２  プライマリバスターゲット
２０３  アドレスデコーダ
２１１  セカンダリバスマスタ
２１２  セカンダリバスターゲット
２２１  アドレスバッファ
２３１，２４１  レジスタ
３０１  ＣＰＵ
３０２  メモリ
３０３，３０４  バスマスタ
３０５，３０６  バスターゲット
３１１  レジスタ
１０  バスブリッジ
１１  プライマリバスインタフェース
１２  セカンダリバスインタフェース
１３  バスアービタ
１４  コンフィグレーションレジスタ
１５  データＦＩＦＯ
１６  ＤＳデータＦＩＦＯ
１７  ＵＳデータＦＩＦＯ
【図１】
2006079639.tif 000003
【図２】
2006079639.tif 000004
【図３】
2006079639.tif 000005
【図４】
2006079639.tif 000006
【図５】
2006079639.tif 000007
【図６】
2006079639.tif 000008
【図７】
2006079639.tif 000009
【図８】
2006079639.tif 000010
【図９】
2006079639.tif 000011
【図１０】
2006079639.tif 000012
【図１１】
2006079639.tif 000013
【図１２】
2006079639.tif 000014
【図１３】
2006079639.tif 000015
【図１４】
2006079639.tif 000016
【図１５】
2006079639.tif 000017
【図１６】
2006079639.tif 000018
【図１７】
2006079639.tif 000019
【図１８】
2006079639.tif 000020
【図１９】
2006079639.tif 000021
【図２０】
2006079639.tif 000022
【図２１】
2006079639.tif 000023
【図２２】
2006079639.tif 000024
【手続補正書】
【提出日】平成17年11月24日(2005.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のバスに接続された第１のデバイスと前記第１のバスとは異なる第２のバスに接続された第２のデバイスとの間のデータを中継し、前記第１のバスと前記第２のバスとに接続されたバスブリッジであって、
前記第１，第２のバスに対応する一次記憶領域を含み、外部から書き込み可能な記憶手段と、
データの供給先であり前記第１，第２のデバイスのうちの一方であるマスタと、データの供給元であって前記第１，第２のデバイスのうちの異なる一方であるターゲットについて、前記ターゲットが接続されている第１，第２のバスのうちの一方に対応する一次記憶領域に、ターゲットからマスタに中継されるデータの量を示す中継情報を記録する記録手段と、
前記ターゲットから読み出されたデータを一時格納部に格納する格納手段と、
（ａ）前記一時格納部に格納されたデータの量が前記一次記憶領域に記憶された中継情報で示される量に達するまで前記ターゲットからデータを読み出し、
（ｂ）前記一時格納部に格納されたデータの量が前記中継情報で示される量に達したならば、前記バスを解放する、ターゲットが接続されたバスに対応し、第１，第２のバスに対応するマスタ機能手段とを備え、
前記中継情報は、（ａ）バス幅のビット数を単位とするデータの数又は（ｂ）中継するデータの総サイズのいずれかであることを特徴とするバスブリッジ。
【請求項２】
前記マスタ機能手段は、前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格納されると、占有しているバスを解放することを特徴とする請求項１記載のバスブリッジ。
【請求項３】
前記記録手段は、
初期状態時、及び前記制御手段によるバスの解放時に、デフォルトとする中継情報を前記内部記憶領域に記録すること
を特徴とする請求項１記載のバスブリッジ。
【請求項４】
前記バスブリッジが接続している複数のバスには、マスタ及びターゲットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバイスを識別する識別情報が割り当てられており、
前記内部記憶領域は、識別情報記憶領域を含み、
前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、
さらに、応答手段を含み、
前記応答手段は、前記デバイスからの要求に応答し、
前記デバイスからの要求が、
(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識別情報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ、
(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデバイスに出力するデータを、中継情報として、記録手段に記録させること
を特徴とする請求項１記載のバスブリッジ。
【請求項５】
中継するデータの供給先となり、データの読み出し、書き込みのバスサイクルを発生させるデバイスをマスタ、中継するデータの供給源となり、データの読み出し、書き込みのバスサイクルに応答するデバイスをターゲットとし、互いに異なるバスに接続しているマスタとターゲットとの間のデータを中継するバスブリッジであって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録手段と、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納手段と、
前記内部記憶領域に記録されている中継情報に示される量のデータを前記一時記憶領域に格納する制御手段と
前記マスタが発生させるバスサイクルに応答する応答手段を備え、
前記応答手段は、前記マスタからのバスサイクルが、
(a) 前記内部記憶領域に対する書き込みのバスサイクルである場合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録手段に記録させ、
(b) 前記ターゲットに対する読み出しのバスサイクルである場合には、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力し、(b2)記録されていない場合には、前記読み出しのバスサイクルを再度発生させることを前記マスタに通知し、前記マスタに出力するデータを前記制御手段に読み出させること
を特徴とするバスブリッジ。
【請求項６】
中継するデータの供給先となるデバイスをマスタ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なるバスに接続しているマスタとターゲットとの間のデータ中継方法であって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ステップと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ステップと、
前記内部記憶領域に記録されている中継情報に示される量のデータを前記一時記憶領域に格納する制御ステップと
前記マスタからの要求に応答する応答ステップを備え、
前記応答ステップは、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録ステップで記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力し、(b2)記録されていない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、前記マスタに出力するデータを前記制御ステップで読み出させること
を特徴とするデータ中継方法。
【請求項７】
前記制御ステップは、前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格納されると、占有しているバスを解放することを特徴とする請求項６記載のデータ中継方法。
【請求項８】
中継するデータの供給先となり、データの読み出し、書き込みのバスサイクルを発生させるデバイスをマスタ、中継するデータの供給源となり、データの読み出し、書き込みのバスサイクルに応答するデバイスをターゲットとし、互いに異なるバスに接続しているマスタとターゲットとの間のデータ中継方法であって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ステップと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ステップと、
前記内部記憶領域に記録されている中継情報に示される量のデータを前記一時記憶領域に格納する制御ステップと
前記マスタが発生させるバスサイクルに応答する応答ステップを備え、
前記応答ステップは、前記マスタからのバスサイクルが、
(a) 前記内部記憶領域に対する書き込みのバスサイクルである場合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録ステップで記録させ、
(b) 前記ターゲットに対する読み出しのバスサイクルである場合には、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力し、(b2)記録されていない場合には、前記読み出しのバスサイクルを再度発生させることを前記マスタに通知し、前記マスタに出力するデータを前記制御ステップで読み出させること
を特徴とするデータ中継方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明に係わるバスブリッジは、第１のバスに接続された第１のデバイスと前記第１のバスとは異なる第２のバスに接続された第２のデバイスとの間のデータを中継し、前記第１のバスと前記第２のバスとに接続されたバスブリッジであって、前記第１，第２のバスに対応する一次記憶領域を含み、外部から書き込み可能な記憶手段と、データの供給先であり前記第１，第２のデバイスのうちの一方であるマスタと、データの供給元であって前記第１，第２のデバイスのうちの異なる一方であるターゲットについて、前記ターゲットが接続されている第１，第２のバスのうちの一方に対応する一次記憶領域に、ターゲットからマスタに中継されるデータの量を示す中継情報を記録する記録手段と、前記ターゲットから読み出されたデータを一時格納部に格納する格納手段と、（ａ）前記一時格納部に格納されたデータの量が前記一次記憶領域に記憶された中継情報で示される量に達するまで前記ターゲットからデータを読み出し、（ｂ）前記一時格納部に格納されたデータの量が前記中継情報で示される量に達したならば、前記バスを解放する、ターゲットが接続されたバスに対応し、第１，第２のバスに対応するマスタ機能手段とを備え、前記中継情報は、（ａ）バス幅のビット数を単位とするデータの数又は（ｂ）中継するデータの総サイズのいずれかであることとしている。