JPH103447A - バスブリッジ装置 - Google Patents
バスブリッジ装置Info
- Publication number
- JPH103447A JPH103447A JP8156781A JP15678196A JPH103447A JP H103447 A JPH103447 A JP H103447A JP 8156781 A JP8156781 A JP 8156781A JP 15678196 A JP15678196 A JP 15678196A JP H103447 A JPH103447 A JP H103447A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- system bus
- master
- slave
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】 独立したバスアービトレーション機能を持つ
2つのシステムバス間において、データ転送を可能とす
るバスブリッジ装置を提供することを目的とする。 【解決手段】 互いに独立したバスアービタを持つ2つ
のシステムバスのマスタ,スレーブになる機能を持ち、
かつ、ベースアドレス保持手段108 と、バスアドレス生
成手段109 を具備し、システムバス[a]上のスレーブ
デバイス[s]に、システムバス[b]上のマスターデ
バイス[m]がアクセスしてきた際に、上記ベースアド
レス保持手段108 と上記バスアドレス生成手段109 とに
よりアクセス先のアドレスを生成し、システムバス
[a]上ではバスマスタとなり、システムバス[b]上
ではマスターデバイス[m]のスレーブとして振舞うこ
とにより、マスターデバイス[m]とスレーブデバイス
[s]の間のデータ転送を仲介する。
2つのシステムバス間において、データ転送を可能とす
るバスブリッジ装置を提供することを目的とする。 【解決手段】 互いに独立したバスアービタを持つ2つ
のシステムバスのマスタ,スレーブになる機能を持ち、
かつ、ベースアドレス保持手段108 と、バスアドレス生
成手段109 を具備し、システムバス[a]上のスレーブ
デバイス[s]に、システムバス[b]上のマスターデ
バイス[m]がアクセスしてきた際に、上記ベースアド
レス保持手段108 と上記バスアドレス生成手段109 とに
よりアクセス先のアドレスを生成し、システムバス
[a]上ではバスマスタとなり、システムバス[b]上
ではマスターデバイス[m]のスレーブとして振舞うこ
とにより、マスターデバイス[m]とスレーブデバイス
[s]の間のデータ転送を仲介する。
Description
【0001】
【発明の属する技術分野】本発明は複数のバスを有する
計算機システム、特にリアルタイム制御の必要なバスを
相互に接続するバスブリッジ装置に関するものである。
計算機システム、特にリアルタイム制御の必要なバスを
相互に接続するバスブリッジ装置に関するものである。
【0002】
【従来の技術】互いに独立な二系統のバスをブリッジす
る手法については、特開平6-89257 号公報に記載のバス
ブリッジの調停装置、特開平6-164594号公報に記載のバ
スシステム及びバスブリッジ方式、特開平6-37768 号公
報に記載の情報処理装置用バスブリッジ、およびDEC Ch
ip21050 PCI-to-PCI Bridge DataSheet(First Edition,
December 1993) の例が知られているが、これらはバス
ブリッジの内部に少なくとも一方のバスのアービトレー
ション機能をもつことでバスブリッジ機能を実現してい
るものである。
る手法については、特開平6-89257 号公報に記載のバス
ブリッジの調停装置、特開平6-164594号公報に記載のバ
スシステム及びバスブリッジ方式、特開平6-37768 号公
報に記載の情報処理装置用バスブリッジ、およびDEC Ch
ip21050 PCI-to-PCI Bridge DataSheet(First Edition,
December 1993) の例が知られているが、これらはバス
ブリッジの内部に少なくとも一方のバスのアービトレー
ション機能をもつことでバスブリッジ機能を実現してい
るものである。
【0003】図12はバスブリッジ装置により二つのバ
スを接続した計算機システムの例を示すブロック図であ
る。この図で第一のバス1210と第二のバス1220は独立し
ており、第一のマスターデバイス1211、第一のスレーブ
デバイス1212、第一のアービタ1213、第二のマスターデ
バイス1221,1224、第二のスレーブデバイス1222、第二
のアービタ1223がそれぞれのバスに接続され、第一のバ
ス1210と第二のバス1220の間にはバスブリッジ装置1201
が配置されている。第一のマスターデバイス1211が第二
のスレーブデバイス1222へのアクセスを実現するために
は、バスブリッジ装置1201は第一のバス1210上ではスレ
ーブデバイスとなって第一のマスターデバイス1211に応
答し、同時に第二のバス1220上ではマスターデバイスと
なって第二のスレーブデバイス1222にアクセスしなけれ
ばならない。同様に第二のマスターデバイス1221が第一
のスレーブデバイス1212へのアクセスを実現するために
は、バスブリッジ装置1201は第二のバス1220上ではスレ
ーブデバイスとなって第二のマスターデバイス1221に応
答し、同時に第一のバス1210上ではマスターデバイスと
なって第一のスレーブ1212にアクセスしなければならな
い。
スを接続した計算機システムの例を示すブロック図であ
る。この図で第一のバス1210と第二のバス1220は独立し
ており、第一のマスターデバイス1211、第一のスレーブ
デバイス1212、第一のアービタ1213、第二のマスターデ
バイス1221,1224、第二のスレーブデバイス1222、第二
のアービタ1223がそれぞれのバスに接続され、第一のバ
ス1210と第二のバス1220の間にはバスブリッジ装置1201
が配置されている。第一のマスターデバイス1211が第二
のスレーブデバイス1222へのアクセスを実現するために
は、バスブリッジ装置1201は第一のバス1210上ではスレ
ーブデバイスとなって第一のマスターデバイス1211に応
答し、同時に第二のバス1220上ではマスターデバイスと
なって第二のスレーブデバイス1222にアクセスしなけれ
ばならない。同様に第二のマスターデバイス1221が第一
のスレーブデバイス1212へのアクセスを実現するために
は、バスブリッジ装置1201は第二のバス1220上ではスレ
ーブデバイスとなって第二のマスターデバイス1221に応
答し、同時に第一のバス1210上ではマスターデバイスと
なって第一のスレーブ1212にアクセスしなければならな
い。
【0004】この二つのアクセスが同時に起こった場合
を考えると、第一のバス1210上では、第一のアービタ12
13はバスアクセス権を第一のマスターデバイス1211に与
えており、第二のマスターデバイス1221から第一のスレ
ーブデバイス1212へのアクセスのためのバスブリッジ装
置1201のマスターデバイスとしてのバスアクセス権は第
一のマスターデバイス1211のアクセスが終了するまで与
えられなくなる。そして、他方の第二のバス上でも、第
二のアービタ1223はバスアクセス権を第二のマスターデ
バイス1221に与えており、第一のマスターデバイス1211
から第二のスレーブデバイス1222へのアクセスのための
バスブリッジ装置1201のマスターデバイスとしてのバス
アクセス権は第二のマスターデバイス1221のアクセスが
終了するまで与えられなくなり、どちらのバスも動作が
進展できない、いわゆるデッドロック状態が起こってし
まう。
を考えると、第一のバス1210上では、第一のアービタ12
13はバスアクセス権を第一のマスターデバイス1211に与
えており、第二のマスターデバイス1221から第一のスレ
ーブデバイス1212へのアクセスのためのバスブリッジ装
置1201のマスターデバイスとしてのバスアクセス権は第
一のマスターデバイス1211のアクセスが終了するまで与
えられなくなる。そして、他方の第二のバス上でも、第
二のアービタ1223はバスアクセス権を第二のマスターデ
バイス1221に与えており、第一のマスターデバイス1211
から第二のスレーブデバイス1222へのアクセスのための
バスブリッジ装置1201のマスターデバイスとしてのバス
アクセス権は第二のマスターデバイス1221のアクセスが
終了するまで与えられなくなり、どちらのバスも動作が
進展できない、いわゆるデッドロック状態が起こってし
まう。
【0005】従来は、この問題を解決するために、アー
ビタをブリッジ内部に持つことで1210か1220のどちらか
のバスに優先順位をつけ、第一のマスターデバイス1211
と第二のマスターデバイス1221同時にアクセス権を与え
ることがないようにする等の処理がなされていた。
ビタをブリッジ内部に持つことで1210か1220のどちらか
のバスに優先順位をつけ、第一のマスターデバイス1211
と第二のマスターデバイス1221同時にアクセス権を与え
ることがないようにする等の処理がなされていた。
【0006】また、アクセスタイムアウトが存在する独
立したバスの場合に、バスをまたいだスレーブアクセス
は、アクセスされるもう一方のバスの状態がかなり混ん
でいる場合には、なかなかもう一方のバスにおいてアク
セスを開始することができず、サイクル終了以前にバス
タイムアウトエラーを起こす可能性が生じる。これを防
ぐためには、一定時間内にアクセスを終わらせる必要が
あり、そのために、ブリッジ内部にアービタを有し、マ
スターデバイスとしてのバスブリッジの優先度を高くし
てやることで解決してきた。
立したバスの場合に、バスをまたいだスレーブアクセス
は、アクセスされるもう一方のバスの状態がかなり混ん
でいる場合には、なかなかもう一方のバスにおいてアク
セスを開始することができず、サイクル終了以前にバス
タイムアウトエラーを起こす可能性が生じる。これを防
ぐためには、一定時間内にアクセスを終わらせる必要が
あり、そのために、ブリッジ内部にアービタを有し、マ
スターデバイスとしてのバスブリッジの優先度を高くし
てやることで解決してきた。
【0007】
【発明が解決しようとする課題】しかし、ブリッジ内部
にアービタを有することとすると、既にアービタの存在
する独立したシステムバス同士をそのままのシステムで
接続するということはできず、新たにシステムの設計を
し直す必要がある。
にアービタを有することとすると、既にアービタの存在
する独立したシステムバス同士をそのままのシステムで
接続するということはできず、新たにシステムの設計を
し直す必要がある。
【0008】本発明の目的はシステムの設計をし直すこ
となく、それぞれ独立なバスのアービトレション機能は
そのままで、後からそれぞれのバスに対してマスター及
びスレーブ機能のみをもつブリッジを追加するだけで、
相互のバスアクセスを実現するブリッジ機能を提供する
ことにある。
となく、それぞれ独立なバスのアービトレション機能は
そのままで、後からそれぞれのバスに対してマスター及
びスレーブ機能のみをもつブリッジを追加するだけで、
相互のバスアクセスを実現するブリッジ機能を提供する
ことにある。
【0009】
【課題を解決するための手段】既にアービタの存在する
独立した2つのシステムバス同士を接続するという上記
の目的を達成するために、本願の請求項1に係る発明
は、互いに独立した2つのシステムバスの両方のマスタ
およびスレーブになる機能を持ち、かつ、ベースアドレ
スを保持する手段と、バスアドレスを生成する手段を具
備し、また、2つのシステムバスのバスアービタは本バ
スブリッジ装置の外部にあって本発明のバスブリッジ装
置とは独立に動作し、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]上に存在す
るあるスレーブデバイス[s]にアクセスするために、
上記の互いに独立した2つのシステムバスのうち、他方
のシステムバス[b]上に存在するあるマスターデバイ
ス[m]が上記バスブリッジ装置にアクセスしてきた際
に、マスターデバイス[m]から受けとったアドレスか
らオフセットを生成し、上記オフセットと、上記のベー
スアドレスを保持する手段にあらかじめ格納されたベー
スアドレスとを合わせて、上記のバスアドレスを生成す
る手段によりスレーブデバイス[s]内のアクセス先の
アドレスを生成し、システムバス[a]上ではバスマス
タとなって、上記のバスアドレスを生成する手段により
生成されたアドレスを発行してスレーブデバイス[s]
にアクセスし、システムバス[b]上ではマスターデバ
イス[m]のスレーブとして振舞うことにより、マスタ
ーデバイス[m]とスレーブデバイス[s]の間のデー
タ転送を仲介するようにしたものである。
独立した2つのシステムバス同士を接続するという上記
の目的を達成するために、本願の請求項1に係る発明
は、互いに独立した2つのシステムバスの両方のマスタ
およびスレーブになる機能を持ち、かつ、ベースアドレ
スを保持する手段と、バスアドレスを生成する手段を具
備し、また、2つのシステムバスのバスアービタは本バ
スブリッジ装置の外部にあって本発明のバスブリッジ装
置とは独立に動作し、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]上に存在す
るあるスレーブデバイス[s]にアクセスするために、
上記の互いに独立した2つのシステムバスのうち、他方
のシステムバス[b]上に存在するあるマスターデバイ
ス[m]が上記バスブリッジ装置にアクセスしてきた際
に、マスターデバイス[m]から受けとったアドレスか
らオフセットを生成し、上記オフセットと、上記のベー
スアドレスを保持する手段にあらかじめ格納されたベー
スアドレスとを合わせて、上記のバスアドレスを生成す
る手段によりスレーブデバイス[s]内のアクセス先の
アドレスを生成し、システムバス[a]上ではバスマス
タとなって、上記のバスアドレスを生成する手段により
生成されたアドレスを発行してスレーブデバイス[s]
にアクセスし、システムバス[b]上ではマスターデバ
イス[m]のスレーブとして振舞うことにより、マスタ
ーデバイス[m]とスレーブデバイス[s]の間のデー
タ転送を仲介するようにしたものである。
【0010】また、本願の請求項2に係る発明は、請求
項1に記載のバスブリッジ装置において、アクセスされ
るスレーブデバイス[s]が存在する側のシステムバス
[a]が混んでいて、もう一方のシステムバス[b]に
存在するマスターデバイス[m]がリードアクセスを開
始することができず、サイクル終了以前にバスタイムア
ウトエラーが起こる可能性がある場合に、かかるバスタ
イムアウトエラーを回避するために、システムバス
[b]上においてはマスターデバイス[m]に対して再
送要求を返してバスサイクルを一旦終了させ、システム
バス[a]上においては、本バスブリッジ装置がシステ
ムバス[a]の使用権を獲得する以前であればバス獲得
要求を取り下げ、システムバス[a]の使用権を獲得し
た後であれば、スレーブデバイス[s]からデータをリ
ードし、読み出したデータを内部に取り込まずに破棄す
ることによりシステムバス[a]のバスサイクルを終了
させるようにしたものである。
項1に記載のバスブリッジ装置において、アクセスされ
るスレーブデバイス[s]が存在する側のシステムバス
[a]が混んでいて、もう一方のシステムバス[b]に
存在するマスターデバイス[m]がリードアクセスを開
始することができず、サイクル終了以前にバスタイムア
ウトエラーが起こる可能性がある場合に、かかるバスタ
イムアウトエラーを回避するために、システムバス
[b]上においてはマスターデバイス[m]に対して再
送要求を返してバスサイクルを一旦終了させ、システム
バス[a]上においては、本バスブリッジ装置がシステ
ムバス[a]の使用権を獲得する以前であればバス獲得
要求を取り下げ、システムバス[a]の使用権を獲得し
た後であれば、スレーブデバイス[s]からデータをリ
ードし、読み出したデータを内部に取り込まずに破棄す
ることによりシステムバス[a]のバスサイクルを終了
させるようにしたものである。
【0011】また、本願の請求項3に係る発明は、請求
項1に記載のバスブリッジ装置において、上記のシステ
ムバス[a]が、バス獲得要求を出してバス使用権を獲
得したマスターデバイスがスレーブデバイスへのアクセ
スのサイクル開始権利を持つバスである場合に、アクセ
スされるスレーブデバイス[s]が存在する側のシステ
ムバス[a]が混んでいて、もう一方のシステムバス
[b]に存在するマスターデバイス[m]がリードアク
セスを開始することができず、サイクル終了以前にバス
タイムアウトエラーを起こす可能性がある場合に、かか
るバスタイムアウトエラーを回避するために、システム
バス[a]のバス使用権を獲得した際に、スレーブデバ
イスへのアクセスのサイクル開始を一時保留する機能を
持つバスサイクル発生手段を備え、システムバス[b]
上においてはマスターデバイス[m]に対して再送要求
を返してバスサイクルを一旦終了させ、システムバス
[a]上においては、上記バスブリッジ装置がシステム
バス[a]の使用権を獲得する以前であればバス獲得要
求を取り下げ、システムバス[a]の使用権を獲得した
後であれば、上記のバスサイクル発生手段により、バス
使用権を獲得したままスレーブデバイスへのアクセスの
サイクル開始を一時保留し、その後、システムバス
[a]のアービタによってバス使用権を剥奪される以前
に、システムバス[b]上のあるマスターデバイスがシ
ステムバス[a]上のあるスレーブデバイスにアクセス
するために上記バスブリッジ装置にアクセスして来た時
には、システムバス[a]上のスレーブデバイスへのア
クセスのサイクルを開始するようにしたものである。
項1に記載のバスブリッジ装置において、上記のシステ
ムバス[a]が、バス獲得要求を出してバス使用権を獲
得したマスターデバイスがスレーブデバイスへのアクセ
スのサイクル開始権利を持つバスである場合に、アクセ
スされるスレーブデバイス[s]が存在する側のシステ
ムバス[a]が混んでいて、もう一方のシステムバス
[b]に存在するマスターデバイス[m]がリードアク
セスを開始することができず、サイクル終了以前にバス
タイムアウトエラーを起こす可能性がある場合に、かか
るバスタイムアウトエラーを回避するために、システム
バス[a]のバス使用権を獲得した際に、スレーブデバ
イスへのアクセスのサイクル開始を一時保留する機能を
持つバスサイクル発生手段を備え、システムバス[b]
上においてはマスターデバイス[m]に対して再送要求
を返してバスサイクルを一旦終了させ、システムバス
[a]上においては、上記バスブリッジ装置がシステム
バス[a]の使用権を獲得する以前であればバス獲得要
求を取り下げ、システムバス[a]の使用権を獲得した
後であれば、上記のバスサイクル発生手段により、バス
使用権を獲得したままスレーブデバイスへのアクセスの
サイクル開始を一時保留し、その後、システムバス
[a]のアービタによってバス使用権を剥奪される以前
に、システムバス[b]上のあるマスターデバイスがシ
ステムバス[a]上のあるスレーブデバイスにアクセス
するために上記バスブリッジ装置にアクセスして来た時
には、システムバス[a]上のスレーブデバイスへのア
クセスのサイクルを開始するようにしたものである。
【0012】また、本願の請求項4に係る発明は、請求
項1に記載のバスブリッジ装置において、アクセスされ
るスレーブデバイス[s]が存在する側のシステムバス
[a]が混んでいて、もう一方のシステムバス[b]に
存在するマスターデバイス[m]がリードアクセスを開
始することができず、サイクル終了以前にバスタイムア
ウトエラーを起こす可能性がある場合に、かかるバスタ
イムアウトエラーを回避し、かつ、必ず一定時間内に上
記マスターデバイス[m]が上記スレーブデバイス
[s]にアクセスできるようにするために、転送データ
を一時保持するデータ保持手段と、システムバス[b]
のバスマスタとなって本バスブリッジ装置自身にアクセ
スしてきたマスターデバイス名を記憶する手段とを備
え、システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、かつマスターデバイス[m]に対し再送要求を
返したことを上記のマスターデバイス名を記憶する手段
に記憶し、システムバス[a]上においては本バスブリ
ッジ装置がバス獲得要求をそのまま出し続けてシステム
バス[a]の使用権をあらかじめ獲得し、スレーブデバ
イス[s]からデータを読み出して上記のデータ保持手
段に蓄えておき、システムバス[b]上においてマスタ
ーデバイス[m]以外のマスターデバイスがシステムバ
ス[b]の使用権を獲得して本バスブリッジ装置にアク
セスしてきた際には再送要求を返し、マスターデバイス
[m]がシステムバス[b]の使用権を獲得して本バス
ブリッジ装置に再度アクセスして来た際に、スレーブデ
バイス[s]からのデータを上記のデータ保持手段に読
み込む前であれば再送要求を返し、読み込み後であれ
ば、上記データ保持手段に蓄えられたデータをマスター
デバイス[m]に転送し、かつ、上記のマスターデバイ
ス名を記憶する手段の記憶内容を無効にするようにした
ものである。
項1に記載のバスブリッジ装置において、アクセスされ
るスレーブデバイス[s]が存在する側のシステムバス
[a]が混んでいて、もう一方のシステムバス[b]に
存在するマスターデバイス[m]がリードアクセスを開
始することができず、サイクル終了以前にバスタイムア
ウトエラーを起こす可能性がある場合に、かかるバスタ
イムアウトエラーを回避し、かつ、必ず一定時間内に上
記マスターデバイス[m]が上記スレーブデバイス
[s]にアクセスできるようにするために、転送データ
を一時保持するデータ保持手段と、システムバス[b]
のバスマスタとなって本バスブリッジ装置自身にアクセ
スしてきたマスターデバイス名を記憶する手段とを備
え、システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、かつマスターデバイス[m]に対し再送要求を
返したことを上記のマスターデバイス名を記憶する手段
に記憶し、システムバス[a]上においては本バスブリ
ッジ装置がバス獲得要求をそのまま出し続けてシステム
バス[a]の使用権をあらかじめ獲得し、スレーブデバ
イス[s]からデータを読み出して上記のデータ保持手
段に蓄えておき、システムバス[b]上においてマスタ
ーデバイス[m]以外のマスターデバイスがシステムバ
ス[b]の使用権を獲得して本バスブリッジ装置にアク
セスしてきた際には再送要求を返し、マスターデバイス
[m]がシステムバス[b]の使用権を獲得して本バス
ブリッジ装置に再度アクセスして来た際に、スレーブデ
バイス[s]からのデータを上記のデータ保持手段に読
み込む前であれば再送要求を返し、読み込み後であれ
ば、上記データ保持手段に蓄えられたデータをマスター
デバイス[m]に転送し、かつ、上記のマスターデバイ
ス名を記憶する手段の記憶内容を無効にするようにした
ものである。
【0013】また、本願の請求項5に係る発明は、請求
項1に記載のバスブリッジ装置において、上記システム
バス[a]が、マスターデバイスがスレーブデバイスへ
のアクセスのサイクル開始権利を持つバスである場合
に、アクセスされるスレーブデバイス[s]が存在する
側のシステムバス[a]が混んでいて、もう一方のシス
テムバス[b]に存在するマスターデバイス[m]がリ
ードアクセスを開始することができず、サイクル終了以
前にバスタイムアウトエラーを起こす可能性がある場合
に、かかるバスタイムアウトエラーを回避するために、
上記システムバス[a]のバス使用権を獲得した際に、
スレーブデバイスへのアクセスのサイクル開始を一時保
留する機能を持つバスサイクル発生手段と、システムバ
ス[b]のバスマスタとなって上記バスブリッジ装置自
身にアクセスしてきたマスターデバイス名を記憶する手
段とを備え、システムバス[b]上においてはマスター
デバイス[m]に対して再送要求を返してバスサイクル
を一旦終了させ、かつマスターデバイス[m]に対し再
送要求を返したことを上記のマスターデバイス名を記憶
する手段に記憶し、システムバス[a]上においては上
記バスブリッジ装置がバス獲得要求をそのまま出し続け
てシステムバス[a]の使用権をあらかじめ獲得し、上
記のバスサイクル発生手段により、バス使用権を獲得し
たままスレーブデバイスへのアクセスのサイクル開始を
一時保留し、その後、システムバス[a]のアービタに
よりバス使用権を剥奪された際には、再度システムバス
[a]のアービタに対しバス獲得要求を出して、システ
ムバス[a]のバス使用権を獲得し、かつ上記のバスサ
イクル発生手段により、バス使用権を獲得したままサイ
クル開始を一時保留し、システムバス[b]上において
マスターデバイス[m]以外のマスターデバイスがシス
テムバス[b]の使用権を獲得して上記バスブリッジ装
置にアクセスしてきた際には再送要求を返し、マスター
デバイス[m]がシステムバス[b]の使用権を獲得し
て上記バスブリッジ装置に再度アクセスして来た際に、
システムバス[a]の使用権を獲得する前であれば再送
要求を返し、使用権を獲得済みであれば受け付けて、シ
ステムバス[a]上のスレーブデバイス[s]へのアク
セスを開始し、かつ、上記のマスターデバイス名を記憶
する手段の記憶内容を無効にするようにしたものであ
る。
項1に記載のバスブリッジ装置において、上記システム
バス[a]が、マスターデバイスがスレーブデバイスへ
のアクセスのサイクル開始権利を持つバスである場合
に、アクセスされるスレーブデバイス[s]が存在する
側のシステムバス[a]が混んでいて、もう一方のシス
テムバス[b]に存在するマスターデバイス[m]がリ
ードアクセスを開始することができず、サイクル終了以
前にバスタイムアウトエラーを起こす可能性がある場合
に、かかるバスタイムアウトエラーを回避するために、
上記システムバス[a]のバス使用権を獲得した際に、
スレーブデバイスへのアクセスのサイクル開始を一時保
留する機能を持つバスサイクル発生手段と、システムバ
ス[b]のバスマスタとなって上記バスブリッジ装置自
身にアクセスしてきたマスターデバイス名を記憶する手
段とを備え、システムバス[b]上においてはマスター
デバイス[m]に対して再送要求を返してバスサイクル
を一旦終了させ、かつマスターデバイス[m]に対し再
送要求を返したことを上記のマスターデバイス名を記憶
する手段に記憶し、システムバス[a]上においては上
記バスブリッジ装置がバス獲得要求をそのまま出し続け
てシステムバス[a]の使用権をあらかじめ獲得し、上
記のバスサイクル発生手段により、バス使用権を獲得し
たままスレーブデバイスへのアクセスのサイクル開始を
一時保留し、その後、システムバス[a]のアービタに
よりバス使用権を剥奪された際には、再度システムバス
[a]のアービタに対しバス獲得要求を出して、システ
ムバス[a]のバス使用権を獲得し、かつ上記のバスサ
イクル発生手段により、バス使用権を獲得したままサイ
クル開始を一時保留し、システムバス[b]上において
マスターデバイス[m]以外のマスターデバイスがシス
テムバス[b]の使用権を獲得して上記バスブリッジ装
置にアクセスしてきた際には再送要求を返し、マスター
デバイス[m]がシステムバス[b]の使用権を獲得し
て上記バスブリッジ装置に再度アクセスして来た際に、
システムバス[a]の使用権を獲得する前であれば再送
要求を返し、使用権を獲得済みであれば受け付けて、シ
ステムバス[a]上のスレーブデバイス[s]へのアク
セスを開始し、かつ、上記のマスターデバイス名を記憶
する手段の記憶内容を無効にするようにしたものであ
る。
【0014】また、本願の請求項6に係る発明は、請求
項1に記載のバスブリッジ装置において、相互のバス間
でのアクセスが衝突し転送ができないデッドロック状態
の発生を回避するために、システムバス[a]上に存在
するスレーブデバイスとシステムバス[b]上に存在す
るスレーブデバイスとの間でデータを転送する場合に、
転送データを一時保持するスレーブ間転送用データ保持
手段と、システムバス[a]上に存在するスレーブデバ
イスとシステムバス[b]上に存在するマスターデバイ
スとの間でデータを転送する場合に、転送データを一時
保持するマスタ・スレーブ間転送用データ保持手段とを
備え、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]のマスタとなって、シス
テムバス[a]上に存在するスレーブデバイス[c]か
らデータをリードして上記スレーブ間転送用データ保持
手段に格納し、次に、上記の互いに独立した2つのシス
テムバスのうちのもう一方のシステムバス[b]のマス
タとなって、上記データ保持手段に格納されているデー
タをシステムバス[b]上に存在するスレーブデバイス
[d]へライトするデータ転送機能により、上記スレー
ブデバイス[c]に格納されているデータを、上記スレ
ーブデバイス[d]に転送する際に、スレーブデバイス
[c]からデータをリードして上記スレーブ間転送用デ
ータ保持手段に格納した後に、システムバス[b]のマ
スタとなるためにシステムバス[b]のアービタにバス
獲得要求をした時に、システムバス[b]上に存在する
あるマスターデバイス[e]がシステムバス[a]上に
存在するスレーブデバイス[f]にデータをライトする
ためにすでにシステムバス[b]の使用権を獲得してい
る場合には、上記スレーブ間転送用データ保持手段のデ
ータを保持した状態で、スレーブデバイス[c]からス
レーブデバイス[d]への転送を中断し、システムバス
[b]のスレーブとなってマスターデバイス[e]がス
レーブデバイス[f]にライトするデータを上記マスタ
・スレーブ間転送用データ保持手段に格納して、マスタ
ーデバイス[e]のシステムバス[b]における転送を
完了させ、システムバス[b]の獲得後にシステムバス
[b]のマスタとなって、上記スレーブ間転送用データ
保持手段に保持しているデータをスレーブデバイス
[d]へ転送し、システムバス[b]上に存在するある
マスターデバイス[e]がシステムバス[a]上に存在
するスレーブデバイス[f]からデータをリードするた
めにすでにシステムバス[b]の使用権を獲得している
場合には、上記スレーブ間転送用データ保持手段のデー
タを保持した状態で、スレーブデバイス[c]からスレ
ーブデバイス[d]への転送を中断し、システムバス
[a]のマスタとなってスレーブデバイス[f]からデ
ータをリードして上記マスタ・スレーブ間転送用データ
保持手段に格納し、システムバス[b]のスレーブとな
ってマスターデバイス[e]に上記マスタ・スレーブ間
転送用データ保持手段のデータを転送して、マスターデ
バイス[e]のシステムバス[b]における転送を完了
させ、システムバス[b]の獲得後にシステムバス
[b]のマスタとなって、上記スレーブ間転送用データ
保持手段に保持しているデータをスレーブデバイス
[d]へ転送するようにしたものである。
項1に記載のバスブリッジ装置において、相互のバス間
でのアクセスが衝突し転送ができないデッドロック状態
の発生を回避するために、システムバス[a]上に存在
するスレーブデバイスとシステムバス[b]上に存在す
るスレーブデバイスとの間でデータを転送する場合に、
転送データを一時保持するスレーブ間転送用データ保持
手段と、システムバス[a]上に存在するスレーブデバ
イスとシステムバス[b]上に存在するマスターデバイ
スとの間でデータを転送する場合に、転送データを一時
保持するマスタ・スレーブ間転送用データ保持手段とを
備え、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]のマスタとなって、シス
テムバス[a]上に存在するスレーブデバイス[c]か
らデータをリードして上記スレーブ間転送用データ保持
手段に格納し、次に、上記の互いに独立した2つのシス
テムバスのうちのもう一方のシステムバス[b]のマス
タとなって、上記データ保持手段に格納されているデー
タをシステムバス[b]上に存在するスレーブデバイス
[d]へライトするデータ転送機能により、上記スレー
ブデバイス[c]に格納されているデータを、上記スレ
ーブデバイス[d]に転送する際に、スレーブデバイス
[c]からデータをリードして上記スレーブ間転送用デ
ータ保持手段に格納した後に、システムバス[b]のマ
スタとなるためにシステムバス[b]のアービタにバス
獲得要求をした時に、システムバス[b]上に存在する
あるマスターデバイス[e]がシステムバス[a]上に
存在するスレーブデバイス[f]にデータをライトする
ためにすでにシステムバス[b]の使用権を獲得してい
る場合には、上記スレーブ間転送用データ保持手段のデ
ータを保持した状態で、スレーブデバイス[c]からス
レーブデバイス[d]への転送を中断し、システムバス
[b]のスレーブとなってマスターデバイス[e]がス
レーブデバイス[f]にライトするデータを上記マスタ
・スレーブ間転送用データ保持手段に格納して、マスタ
ーデバイス[e]のシステムバス[b]における転送を
完了させ、システムバス[b]の獲得後にシステムバス
[b]のマスタとなって、上記スレーブ間転送用データ
保持手段に保持しているデータをスレーブデバイス
[d]へ転送し、システムバス[b]上に存在するある
マスターデバイス[e]がシステムバス[a]上に存在
するスレーブデバイス[f]からデータをリードするた
めにすでにシステムバス[b]の使用権を獲得している
場合には、上記スレーブ間転送用データ保持手段のデー
タを保持した状態で、スレーブデバイス[c]からスレ
ーブデバイス[d]への転送を中断し、システムバス
[a]のマスタとなってスレーブデバイス[f]からデ
ータをリードして上記マスタ・スレーブ間転送用データ
保持手段に格納し、システムバス[b]のスレーブとな
ってマスターデバイス[e]に上記マスタ・スレーブ間
転送用データ保持手段のデータを転送して、マスターデ
バイス[e]のシステムバス[b]における転送を完了
させ、システムバス[b]の獲得後にシステムバス
[b]のマスタとなって、上記スレーブ間転送用データ
保持手段に保持しているデータをスレーブデバイス
[d]へ転送するようにしたものである。
【0015】また、本願の請求項7に係る発明は、請求
項1に記載のバスブリッジ装置において、相互のバス間
でのアクセスが衝突し転送ができないデッドロック状態
の発生を回避するために、転送データを一時保持するデ
ータ保持手段を備え、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]のマスタと
なって、システムバス[a]上に存在するスレーブデバ
イス[c]からデータをリードして上記データ保持手段
に格納し、次に、上記の互いに独立した2つのシステム
バスのうちのもう一方のシステムバス[b]のマスタと
なって、上記データ保持手段に格納されているデータを
システムバス[b]上に存在するスレーブデバイス
[d]へライトするデータ転送機能により、上記スレー
ブデバイス[c]に格納されているデータを、上記スレ
ーブデバイス[d]に転送する際に、上記バスブリッジ
装置がスレーブデバイス[c]からデータをリードして
上記データ保持手段に格納した後に、システムバス
[b]のマスタとなるためにシステムバス[b]のアー
ビタにバス獲得要求をした時に、システムバス[b]上
に存在するあるマスターデバイス[e]がシステムバス
[a]上に存在するスレーブデバイス[f]にデータを
ライトするためにすでにシステムバス[b]の使用権を
獲得している場合には、システムバス[b]のマスタに
なるためのすべての動作を中止し、システムバス[b]
のスレーブとしてマスターデバイス[e]がスレーブデ
バイス[f]にライトするデータを上記データ保持手段
に上書きし、システムバス[a]のマスタとなって、上
記データ保持手段に格納されているデータをスレーブデ
バイス[f]にライトして、マスターデバイス[e]の
スレーブデバイス[f]へのライトを完了させた後に、
システムバス[a]のマスタとなり、スレーブデバイス
[c]からデータを再度リードして上記データ保持手段
に格納し、さらにシステムバス[b]のマスタとなって
上記データ保持手段からスレーブデバイス[d]への転
送を再実行し、システムバス[b]上に存在するあるマ
スターデバイス[e]がシステムバス[a]上に存在す
るスレーブデバイス[f]からデータをリードするため
にすでにシステムバス[b]の使用権を獲得している場
合には、システムバス[b]のマスタになるためのすべ
ての動作を中止し、システムバス[a]のマスタとなっ
て、スレーブデバイス[f]からデータをリードして上
記データ保持手段に上書きし、その後、システムバス
[b]のスレーブとなって上記データ保持手段に上書き
したデータをマスターデバイス[e]に転送して、マス
ターデバイス[e]のスレーブデバイス[f]からのリ
ードを完了させ、その後に、システムバス[a]のマス
タとなり、スレーブデバイス[c]からデータを再度リ
ードして上記データ保持手段に格納し、さらにシステム
バス[b]のマスタとなって上記データ保持手段からス
レーブデバイス[d]への転送を再実行するようにした
ものである。
項1に記載のバスブリッジ装置において、相互のバス間
でのアクセスが衝突し転送ができないデッドロック状態
の発生を回避するために、転送データを一時保持するデ
ータ保持手段を備え、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]のマスタと
なって、システムバス[a]上に存在するスレーブデバ
イス[c]からデータをリードして上記データ保持手段
に格納し、次に、上記の互いに独立した2つのシステム
バスのうちのもう一方のシステムバス[b]のマスタと
なって、上記データ保持手段に格納されているデータを
システムバス[b]上に存在するスレーブデバイス
[d]へライトするデータ転送機能により、上記スレー
ブデバイス[c]に格納されているデータを、上記スレ
ーブデバイス[d]に転送する際に、上記バスブリッジ
装置がスレーブデバイス[c]からデータをリードして
上記データ保持手段に格納した後に、システムバス
[b]のマスタとなるためにシステムバス[b]のアー
ビタにバス獲得要求をした時に、システムバス[b]上
に存在するあるマスターデバイス[e]がシステムバス
[a]上に存在するスレーブデバイス[f]にデータを
ライトするためにすでにシステムバス[b]の使用権を
獲得している場合には、システムバス[b]のマスタに
なるためのすべての動作を中止し、システムバス[b]
のスレーブとしてマスターデバイス[e]がスレーブデ
バイス[f]にライトするデータを上記データ保持手段
に上書きし、システムバス[a]のマスタとなって、上
記データ保持手段に格納されているデータをスレーブデ
バイス[f]にライトして、マスターデバイス[e]の
スレーブデバイス[f]へのライトを完了させた後に、
システムバス[a]のマスタとなり、スレーブデバイス
[c]からデータを再度リードして上記データ保持手段
に格納し、さらにシステムバス[b]のマスタとなって
上記データ保持手段からスレーブデバイス[d]への転
送を再実行し、システムバス[b]上に存在するあるマ
スターデバイス[e]がシステムバス[a]上に存在す
るスレーブデバイス[f]からデータをリードするため
にすでにシステムバス[b]の使用権を獲得している場
合には、システムバス[b]のマスタになるためのすべ
ての動作を中止し、システムバス[a]のマスタとなっ
て、スレーブデバイス[f]からデータをリードして上
記データ保持手段に上書きし、その後、システムバス
[b]のスレーブとなって上記データ保持手段に上書き
したデータをマスターデバイス[e]に転送して、マス
ターデバイス[e]のスレーブデバイス[f]からのリ
ードを完了させ、その後に、システムバス[a]のマス
タとなり、スレーブデバイス[c]からデータを再度リ
ードして上記データ保持手段に格納し、さらにシステム
バス[b]のマスタとなって上記データ保持手段からス
レーブデバイス[d]への転送を再実行するようにした
ものである。
【0016】
【発明の実施の形態】以下、本発明の実施の形態を図面
を用いて説明する。実施の形態1 .図1は、本発明の第1の実施の形態によ
るバスブリッジ装置を用いたシステムの基本構成を示し
たブロック図であり、図1において、101 はバスブリッ
ジ装置、102 はシステムバス[a]、103 はシステムバ
ス[b]、104 はバス[a]のアービタ、105 はバス
[b]のアービタ、106 はスレーブデバイス[s]、10
7はマスターデバイス[m]、108 はベースアドレス保
持手段、109 はバスアドレス発生手段、110 はマスタ・
スレーブ間転送制御手段である。
を用いて説明する。実施の形態1 .図1は、本発明の第1の実施の形態によ
るバスブリッジ装置を用いたシステムの基本構成を示し
たブロック図であり、図1において、101 はバスブリッ
ジ装置、102 はシステムバス[a]、103 はシステムバ
ス[b]、104 はバス[a]のアービタ、105 はバス
[b]のアービタ、106 はスレーブデバイス[s]、10
7はマスターデバイス[m]、108 はベースアドレス保
持手段、109 はバスアドレス発生手段、110 はマスタ・
スレーブ間転送制御手段である。
【0017】この101 のシステムバス[a],および10
2 のシステムバス[b]は、各々がアービタ104 ,アー
ビタ105 を持つ互いに完全に独立したバスであり、仮に
バスブリッジ装置101 を取り外しても、それぞれが一つ
のシステムバスとして独立に機能しうるものである。即
ち、このシステムは、2つのコンピュータシステムを用
意し、それぞれのバス間に本実施の形態によるバスブリ
ッジ装置を取り付けることにより、2つのコンピュータ
システム間で、相手のコンピュータシステムのスレーブ
デバイスがあたかも自分のバス上のスレーブデバイスで
あるかのようにアクセスを行なうことを可能とするもの
である。
2 のシステムバス[b]は、各々がアービタ104 ,アー
ビタ105 を持つ互いに完全に独立したバスであり、仮に
バスブリッジ装置101 を取り外しても、それぞれが一つ
のシステムバスとして独立に機能しうるものである。即
ち、このシステムは、2つのコンピュータシステムを用
意し、それぞれのバス間に本実施の形態によるバスブリ
ッジ装置を取り付けることにより、2つのコンピュータ
システム間で、相手のコンピュータシステムのスレーブ
デバイスがあたかも自分のバス上のスレーブデバイスで
あるかのようにアクセスを行なうことを可能とするもの
である。
【0018】次に、図1を用いて、本実施の形態のバス
ブリッジ装置によるバス間のアクセスの動作について説
明する。バスブリッジ装置101 は、システムバス[a]
とシステムバス[b]のそれぞれに対し、バスマスタと
してのインターフェース機能M(a),M(b) と、スレーブ
としてのインターフェース機能S(a),S(b) とを持ち、
マスタ・スレーブ間転送制御手段110 により、M(a),M
(b),S(a),S(b) の各動作が協調して制御される。そし
て、このバスブリッジ装置101 においては、システムバ
ス[b]側からシステムバス[a]が、ある定まったア
ドレス空間として見えるように、アドレスマッピングを
してある。
ブリッジ装置によるバス間のアクセスの動作について説
明する。バスブリッジ装置101 は、システムバス[a]
とシステムバス[b]のそれぞれに対し、バスマスタと
してのインターフェース機能M(a),M(b) と、スレーブ
としてのインターフェース機能S(a),S(b) とを持ち、
マスタ・スレーブ間転送制御手段110 により、M(a),M
(b),S(a),S(b) の各動作が協調して制御される。そし
て、このバスブリッジ装置101 においては、システムバ
ス[b]側からシステムバス[a]が、ある定まったア
ドレス空間として見えるように、アドレスマッピングを
してある。
【0019】今、107 のマスターデバイス[m]がアー
ビタ105 にバス使用権を要求してシステムバス[b]の
バス使用権を獲得し、106 のスレーブデバイス[s]に
対応するアドレスを発行し、バスブリッジ装置101 に対
しアクセスを開始したとする。このときマスター・スレ
ーブ間転送制御手段110 はシステムバス[b]側ではS
(b) を起動し、バスブリッジ装置101 は107 のマスター
デバイス[m]に対するスレーブとなる。またシステム
バス[a]側ではM(a) を起動してマスターデバイスと
なり、バスアービタ104 に対しバス使用権を要求してシ
ステムバス[a]のバス使用権を獲得し、バスマスタと
なる。
ビタ105 にバス使用権を要求してシステムバス[b]の
バス使用権を獲得し、106 のスレーブデバイス[s]に
対応するアドレスを発行し、バスブリッジ装置101 に対
しアクセスを開始したとする。このときマスター・スレ
ーブ間転送制御手段110 はシステムバス[b]側ではS
(b) を起動し、バスブリッジ装置101 は107 のマスター
デバイス[m]に対するスレーブとなる。またシステム
バス[a]側ではM(a) を起動してマスターデバイスと
なり、バスアービタ104 に対しバス使用権を要求してシ
ステムバス[a]のバス使用権を獲得し、バスマスタと
なる。
【0020】S(b) が107 のマスターデバイス[m]か
らアドレスを受け、マスタ・スレーブ間転送制御手段11
0 がシステムバス[a]上のスレーブデバイスへのアク
セスだと判断すると、受けとったアドレスからオフセッ
トを表す部分を抽出する。ベースアドレス保持手段108
に既に格納されているベースアドレスと前記オフセット
とに基づいて、バスアドレス生成手段109 は106 のスレ
ーブデバイス[s]内のアクセス先のアドレスを生成す
る。なお、ベースアドレス保持手段108 は書き換え可能
で、ベースアドレスは可変である。
らアドレスを受け、マスタ・スレーブ間転送制御手段11
0 がシステムバス[a]上のスレーブデバイスへのアク
セスだと判断すると、受けとったアドレスからオフセッ
トを表す部分を抽出する。ベースアドレス保持手段108
に既に格納されているベースアドレスと前記オフセット
とに基づいて、バスアドレス生成手段109 は106 のスレ
ーブデバイス[s]内のアクセス先のアドレスを生成す
る。なお、ベースアドレス保持手段108 は書き換え可能
で、ベースアドレスは可変である。
【0021】バスマスタとなったM(a) は、前記のバス
アドレス生成手段109 により生成されたアドレスを発行
し、スレーブデバイス[s]とのアクセスを開始する。
以上の一連の動作により、バスブリッジ装置101 を介し
て107 のマスターデバイス[m]と106 のスレーブデバ
イス[s]との通信経路が確立され、データ転送が可能
となる。
アドレス生成手段109 により生成されたアドレスを発行
し、スレーブデバイス[s]とのアクセスを開始する。
以上の一連の動作により、バスブリッジ装置101 を介し
て107 のマスターデバイス[m]と106 のスレーブデバ
イス[s]との通信経路が確立され、データ転送が可能
となる。
【0022】このような本実施の形態1によれば、互い
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができる。
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができる。
【0023】なお、本実施の形態によるバスブリッジ装
置において、システムバス[a]側からシステムバス
[b]がある定まったアドレス空間として見えるよう
に、アドレスマッピングをしておけば、前記と同様の動
作により、システムバス[a]上のマスターデバイスか
ら、システムバス[b]上のスレーブデバイスへのデー
タ転送も同様に可能となる。
置において、システムバス[a]側からシステムバス
[b]がある定まったアドレス空間として見えるよう
に、アドレスマッピングをしておけば、前記と同様の動
作により、システムバス[a]上のマスターデバイスか
ら、システムバス[b]上のスレーブデバイスへのデー
タ転送も同様に可能となる。
【0024】実施の形態2.次に、本発明の第2の実施
の形態によるバスブリッジ装置を用いたシステムについ
て図1を用いて説明する。上述した実施の形態1のバス
ブリッジ装置を用いてシステムを構成した際には、バス
タイムアウトエラーが発生する可能性があるが、本実施
の形態によるバスブリッジ装置を用いたシステムはこれ
を回避するためのものである。
の形態によるバスブリッジ装置を用いたシステムについ
て図1を用いて説明する。上述した実施の形態1のバス
ブリッジ装置を用いてシステムを構成した際には、バス
タイムアウトエラーが発生する可能性があるが、本実施
の形態によるバスブリッジ装置を用いたシステムはこれ
を回避するためのものである。
【0025】以下、図1を用いて、本実施の形態のバス
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。107 のマスタ
ーデバイス[m]がバスブリッジ装置101 を介して106
のスレーブデバイス[s]からデータを読み出そうとし
た際に、バスブリッジ装置101 がシステムバス[a]の
バスマスタになるためにアービタ104 にバス使用権を要
求するが、もし他のデバイスによってシステムバス
[a]が占有されている場合は、バスブリッジ装置101
はバス使用権を獲得できない。この待ち時間が長くなる
と、システムバス[b]がタイムアウトエラーを起こす
可能性がある。システムバス[b]がタイムアウトエラ
ーを起こす可能性が高いとバスブリッジ装置101が判定
した場合、バスブリッジ装置101 は、マスターデバイス
[m]に対して今回のアクセスのやり直しを求めるアク
ノリッジ信号(rerunアクノリッジ) を返送し、システム
バス[b]のバスサイクルを一旦終了させる。
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。107 のマスタ
ーデバイス[m]がバスブリッジ装置101 を介して106
のスレーブデバイス[s]からデータを読み出そうとし
た際に、バスブリッジ装置101 がシステムバス[a]の
バスマスタになるためにアービタ104 にバス使用権を要
求するが、もし他のデバイスによってシステムバス
[a]が占有されている場合は、バスブリッジ装置101
はバス使用権を獲得できない。この待ち時間が長くなる
と、システムバス[b]がタイムアウトエラーを起こす
可能性がある。システムバス[b]がタイムアウトエラ
ーを起こす可能性が高いとバスブリッジ装置101が判定
した場合、バスブリッジ装置101 は、マスターデバイス
[m]に対して今回のアクセスのやり直しを求めるアク
ノリッジ信号(rerunアクノリッジ) を返送し、システム
バス[b]のバスサイクルを一旦終了させる。
【0026】この間にも、バスブリッジ装置101 はシス
テムバス[a]のアービタ104 に対し、バス使用権を要
求し続けている。もしrerun アクノリッジを返した時刻
がアービタ104 からバス使用権を獲得する以前であれ
ば、システムバス[b]のバスサイクルは終っているの
で、獲得要求を取り下げて全動作を完了させることがで
きる。しかし、既にシステムバス[a]の使用権を獲得
してしまっている場合には、106 のスレーブデバイス
[s]からのリードを実行し、読み出したデータをバス
ブリッジ装置内部に取り込まずに破棄することにより、
システムバス[a]のバスサイクルを正常に終了させ
る。
テムバス[a]のアービタ104 に対し、バス使用権を要
求し続けている。もしrerun アクノリッジを返した時刻
がアービタ104 からバス使用権を獲得する以前であれ
ば、システムバス[b]のバスサイクルは終っているの
で、獲得要求を取り下げて全動作を完了させることがで
きる。しかし、既にシステムバス[a]の使用権を獲得
してしまっている場合には、106 のスレーブデバイス
[s]からのリードを実行し、読み出したデータをバス
ブリッジ装置内部に取り込まずに破棄することにより、
システムバス[a]のバスサイクルを正常に終了させ
る。
【0027】このような本実施の形態2によれば、互い
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができる。
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができる。
【0028】なお、マスターデバイス[m]がバスブリ
ッジ装置101 を介してスレーブデバイス[s]にデータ
を書き込もうとしている場合には、バスブリッジ装置10
1 内に書き込み用のライトバッファーを備えて、書き込
みデータを一旦このライトバッファーで受けてシステム
バス[b]のバスサイクルを終了させてから、後でスレ
ーブデバイス[s]に書き込みを行なうようにすること
により、システムバス[b]のタイムアウトエラーの発
生を回避することができる。
ッジ装置101 を介してスレーブデバイス[s]にデータ
を書き込もうとしている場合には、バスブリッジ装置10
1 内に書き込み用のライトバッファーを備えて、書き込
みデータを一旦このライトバッファーで受けてシステム
バス[b]のバスサイクルを終了させてから、後でスレ
ーブデバイス[s]に書き込みを行なうようにすること
により、システムバス[b]のタイムアウトエラーの発
生を回避することができる。
【0029】実施の形態3.次に、本発明の第3の実施
の形態によるバスブリッジ装置について説明する。図2
は、本実施の形態3のバスブリッジ装置を用いたシステ
ムの基本構成を示したブロック図であり、本実施の形態
3によるバスブリッジ装置を用いることによっても、バ
スタイムアウトエラーを回避することができる。図2に
おいて、201はバスブリッジ装置、202 はシステムバス
[a]、203 はシステムバス[b]、204 はバス[a]
のアービタ、205 はバス[b]のアービタ、206 はスレ
ーブデバイス[s]、207 はマスターデバイス[m]、
及び208 はバスサイクル発生手段であり、システムバス
[a]は、バス使用権を獲得したバスマスタがスレーブ
デバイスに対するアクセスの開始権利を持つバスである
とする。
の形態によるバスブリッジ装置について説明する。図2
は、本実施の形態3のバスブリッジ装置を用いたシステ
ムの基本構成を示したブロック図であり、本実施の形態
3によるバスブリッジ装置を用いることによっても、バ
スタイムアウトエラーを回避することができる。図2に
おいて、201はバスブリッジ装置、202 はシステムバス
[a]、203 はシステムバス[b]、204 はバス[a]
のアービタ、205 はバス[b]のアービタ、206 はスレ
ーブデバイス[s]、207 はマスターデバイス[m]、
及び208 はバスサイクル発生手段であり、システムバス
[a]は、バス使用権を獲得したバスマスタがスレーブ
デバイスに対するアクセスの開始権利を持つバスである
とする。
【0030】次に、図2を用いて、本実施の形態のバス
ブリッジ装置によるバス間のアクセスの動作について説
明する。207 のマスターデバイス[m]がバスブリッジ
装置201 を介して206 のスレーブデバイス[s]にアク
セスをしようとした場合において、もし他のデバイスに
よってシステムバス[a]が占有されている場合は、バ
スブリッジ装置201 はシステムバス[a]のバス使用権
を獲得することができず、システムバス[a]のアービ
タ204 にバス使用権の要求をし続けることになる。この
待ち時間が長くなると、システムバス[b]がタイムア
ウトエラーを起こす可能性がある。
ブリッジ装置によるバス間のアクセスの動作について説
明する。207 のマスターデバイス[m]がバスブリッジ
装置201 を介して206 のスレーブデバイス[s]にアク
セスをしようとした場合において、もし他のデバイスに
よってシステムバス[a]が占有されている場合は、バ
スブリッジ装置201 はシステムバス[a]のバス使用権
を獲得することができず、システムバス[a]のアービ
タ204 にバス使用権の要求をし続けることになる。この
待ち時間が長くなると、システムバス[b]がタイムア
ウトエラーを起こす可能性がある。
【0031】システムバス[b]がタイムアウトアラー
を起こす可能性があると本バスブリッジ装置201 が判定
した場合は、207 のマスターデバイス[m]に対してre
runアクノリッジを返し、システムバス[b]のバスサ
イクルを一旦終了させる。この間にも、バスブリッジ装
置201 はシステムバス[a]のアービタ204 に対し、バ
ス使用権を要求し続けている。
を起こす可能性があると本バスブリッジ装置201 が判定
した場合は、207 のマスターデバイス[m]に対してre
runアクノリッジを返し、システムバス[b]のバスサ
イクルを一旦終了させる。この間にも、バスブリッジ装
置201 はシステムバス[a]のアービタ204 に対し、バ
ス使用権を要求し続けている。
【0032】もし、rerun アクノリッジを返した時刻
が、本バスブリッジ装置201 がシステムバス[a]のア
ービタ204 からシステムバス[a]のバス使用権を獲得
する以前であれば、システムバス[b]のバスサイクル
は終っているので、獲得要求を取り下げて全動作を完了
させることができる。
が、本バスブリッジ装置201 がシステムバス[a]のア
ービタ204 からシステムバス[a]のバス使用権を獲得
する以前であれば、システムバス[b]のバスサイクル
は終っているので、獲得要求を取り下げて全動作を完了
させることができる。
【0033】しかし、既に、本バスブリッジ装置201 が
システムバス[a]のアービタ204からシステムバス
[a]のバス使用権を獲得してしまっている場合には、
前記のように、システムバス[a]はバスマスタがスレ
ーブデバイス対するアクセスの開始権利を持つバスであ
るので、バスサイクル発生手段208 はバス使用権を獲得
したままバスサイクルの開始信号の発行を保留する。こ
の間にシステムバス[b]上のあるマスターデバイスか
らシステムバス[a]上のあるスレーブデバイスへの転
送が再び発生すると、バスサイクル発生手段208 は保留
状態を解除してバスサイクル開始信号を出し、本バスブ
リッジ装置201 は目的のスレーブデバイスへのアクセス
を行なう。この場合、アクセス開始の発端となったマス
ターデバイスは先ほどrerun アクノリッジを返したマス
ターデバイス[m]であるとは限らない。
システムバス[a]のアービタ204からシステムバス
[a]のバス使用権を獲得してしまっている場合には、
前記のように、システムバス[a]はバスマスタがスレ
ーブデバイス対するアクセスの開始権利を持つバスであ
るので、バスサイクル発生手段208 はバス使用権を獲得
したままバスサイクルの開始信号の発行を保留する。こ
の間にシステムバス[b]上のあるマスターデバイスか
らシステムバス[a]上のあるスレーブデバイスへの転
送が再び発生すると、バスサイクル発生手段208 は保留
状態を解除してバスサイクル開始信号を出し、本バスブ
リッジ装置201 は目的のスレーブデバイスへのアクセス
を行なう。この場合、アクセス開始の発端となったマス
ターデバイスは先ほどrerun アクノリッジを返したマス
ターデバイス[m]であるとは限らない。
【0034】このような本実施の形態3によれば、互い
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができる。
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができる。
【0035】ただし、既に、マスターデバイスに与えた
バス使用権を、アービタ204 が剥奪して他のマスターデ
バイスに与えることができるバスである場合、もしバス
ブリッジ装置201 が、バス使用権を獲得したままバスサ
イクル開始命令を出さないでいる間に、アービタ204 か
らバス使用権を剥奪された際には、バスサイクル発生手
段208 をアイドル状態にリセットする。これにより全動
作を完了させることができる。
バス使用権を、アービタ204 が剥奪して他のマスターデ
バイスに与えることができるバスである場合、もしバス
ブリッジ装置201 が、バス使用権を獲得したままバスサ
イクル開始命令を出さないでいる間に、アービタ204 か
らバス使用権を剥奪された際には、バスサイクル発生手
段208 をアイドル状態にリセットする。これにより全動
作を完了させることができる。
【0036】実施の形態4.上述の実施の形態2又は3
のバスブリッジ装置を用いたシステムにおいては、バス
タイムアウトエラーを回避することができるものの、マ
スターデバイス[m]が必ず一定時間内にスレーブデバ
イス[s]にアクセスできるとは限らず、最悪では無限
回のrerun アクノリッジを返される可能性がある。その
理由は、マスターデバイス[m]がシステムバス[b]
のバスアービトレーションで、自分以外のマスターデバ
イスに必ず勝てるとはかぎらないことと、せっかくシス
テムバス[b]の使用権を獲得しても、バスブリッジ装
置にアクセスした際に、システムバス[a]の状態如何
で常にrerun のアクノリッジを返される可能性があるこ
とである。
のバスブリッジ装置を用いたシステムにおいては、バス
タイムアウトエラーを回避することができるものの、マ
スターデバイス[m]が必ず一定時間内にスレーブデバ
イス[s]にアクセスできるとは限らず、最悪では無限
回のrerun アクノリッジを返される可能性がある。その
理由は、マスターデバイス[m]がシステムバス[b]
のバスアービトレーションで、自分以外のマスターデバ
イスに必ず勝てるとはかぎらないことと、せっかくシス
テムバス[b]の使用権を獲得しても、バスブリッジ装
置にアクセスした際に、システムバス[a]の状態如何
で常にrerun のアクノリッジを返される可能性があるこ
とである。
【0037】本実施の形態4のバスブリッジ装置を用い
たシステムは、かかる問題を解決し、必ず一定時間内
に、システムバス[b]のマスターデバイス[m]がシ
ステムバス[a]のスレーブデバイス[s]にアクセス
できるようにするものであり、その基本的な構成のブロ
ック図を図3に示す。図において、301 はバスブリッジ
装置、302 はシステムバス[a]、303 はシステムバス
[b]、304 はバス[a]のアービタ、305 はバス
[b]のアービタ、306 はスレーブデバイス[s]、30
7 はマスターデバイス[m]、308 は転送バッファー、
309 はデバイス名記憶手段、及び310 はマスターデバイ
ス[e]である。
たシステムは、かかる問題を解決し、必ず一定時間内
に、システムバス[b]のマスターデバイス[m]がシ
ステムバス[a]のスレーブデバイス[s]にアクセス
できるようにするものであり、その基本的な構成のブロ
ック図を図3に示す。図において、301 はバスブリッジ
装置、302 はシステムバス[a]、303 はシステムバス
[b]、304 はバス[a]のアービタ、305 はバス
[b]のアービタ、306 はスレーブデバイス[s]、30
7 はマスターデバイス[m]、308 は転送バッファー、
309 はデバイス名記憶手段、及び310 はマスターデバイ
ス[e]である。
【0038】以下、図3を用いて、本実施の形態のバス
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。307 のマスタ
ーデバイス[m]がバスブリッジ装置301 を介して306
のスレーブデバイス[s]からデータの読み出そうとし
た場合において、バスブリッジ装置301 がシステムバス
[a]の使用権獲得に時間を要し、システムバス[b]
がタイムアウトエラーを起こす可能性があると判断した
場合、バスブリッジ装置301 は、マスターデバイス
[m]に対してrerun アクノリッジ返し、システムバス
[b]のバスサイクルを一旦終了させる。この時同時
に、デバイス名記憶手段309 において、307 のマスター
デバイス[m]の名称を記憶する。名称を記憶する方法
の一例としては、システムバス[b]上にある全マスタ
ーデバイスに1対1で対応するビットをマスターデバイ
ス数だけ用意し、記憶すべき時点でそのマスターデバイ
スに対応するビットを有効にする方法が挙げられる。な
お、どのマスターデバイスからのアクセスかを判定する
には、システムバス[b]のバス使用権の獲得を示す信
号(グラント信号)を用いる方法や、アドレスの発行時
にマスターデバイスが自分のID番号を同時に出すバスで
は、このID番号を用いる方法が挙げられる。
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。307 のマスタ
ーデバイス[m]がバスブリッジ装置301 を介して306
のスレーブデバイス[s]からデータの読み出そうとし
た場合において、バスブリッジ装置301 がシステムバス
[a]の使用権獲得に時間を要し、システムバス[b]
がタイムアウトエラーを起こす可能性があると判断した
場合、バスブリッジ装置301 は、マスターデバイス
[m]に対してrerun アクノリッジ返し、システムバス
[b]のバスサイクルを一旦終了させる。この時同時
に、デバイス名記憶手段309 において、307 のマスター
デバイス[m]の名称を記憶する。名称を記憶する方法
の一例としては、システムバス[b]上にある全マスタ
ーデバイスに1対1で対応するビットをマスターデバイ
ス数だけ用意し、記憶すべき時点でそのマスターデバイ
スに対応するビットを有効にする方法が挙げられる。な
お、どのマスターデバイスからのアクセスかを判定する
には、システムバス[b]のバス使用権の獲得を示す信
号(グラント信号)を用いる方法や、アドレスの発行時
にマスターデバイスが自分のID番号を同時に出すバスで
は、このID番号を用いる方法が挙げられる。
【0039】そして、バスブリッジ装置301 は、307 の
マスターデバイス[m]に対してrerun アクノリッジを
返した後も、引続きシステムバス[a]のバスマスタに
なろうとする。今、システムバス[a]のアービタ304
がラウンドロビン方式でバスを調停しているとし、シス
テムバス[a]上のマスターデバイス数をx個とする
と、バス獲得要求さえ出し続けていれば、最悪でもx番
目には調停に勝って必ずシステムバス[b]の使用権を
得ることができる。システムバス[a]の使用権を得る
と、バスブリッジ装置301 は306 のスレーブデバイス
[s]から307 のマスターデバイス[m]に渡すべきデ
ータを読み出して転送バッファー308 に入れ、システム
バス[a]のバスサイクルを終了させる。
マスターデバイス[m]に対してrerun アクノリッジを
返した後も、引続きシステムバス[a]のバスマスタに
なろうとする。今、システムバス[a]のアービタ304
がラウンドロビン方式でバスを調停しているとし、シス
テムバス[a]上のマスターデバイス数をx個とする
と、バス獲得要求さえ出し続けていれば、最悪でもx番
目には調停に勝って必ずシステムバス[b]の使用権を
得ることができる。システムバス[a]の使用権を得る
と、バスブリッジ装置301 は306 のスレーブデバイス
[s]から307 のマスターデバイス[m]に渡すべきデ
ータを読み出して転送バッファー308 に入れ、システム
バス[a]のバスサイクルを終了させる。
【0040】一方、システムバス[b]上においては、
各マスターデバイスがバス使用権の獲得要求をアービタ
305 に出している。仮に310 のマスターデバイス[e]
が調停に勝ってバスブリッジ装置301 にアクセスしたと
する。この時、バスブリッジ装置301 は、調停に勝った
バスマスタがどのデバイスであるかを識別し、デバイス
名記憶手段309 の内容と照合する。今、デバイス名記憶
手段309 の内容はマスターデバイス[m]であるので、
照合不一致と判断し、マスターデバイス[e]にはreru
n アクノリッジを返す。アービタ305 もラウンドロビン
方式でバスを調停しているとし、今、システムバス
[b]上のマスターデバイス数をy個とすると、マスタ
ーデバイス[m]は最悪でもy番目には調停に勝ってシ
ステムバス[b]の使用権を得ることができる。マスタ
ーデバイス[m]が調停に勝ってバスブリッジ装置301
に再度アクセスしてきた場合は、デバイス名記憶手段30
9 の内容とは照合一致と判断される。そして、照合一致
と判断されると、前記のスレーブデバイス[s]から転
送バッファー308 へのデータ読み出しが完了しているか
否かを判別する。もし完了していなければ、バスブリッ
ジ装置301 はマスターデバイス[m]にrerun アクノリ
ッジを再び返す。完了していれば、転送バッファー308
に読み込んであるデータをマスターデバイス[m]に渡
し、同時にデバイス名記憶手段309 の記憶内容をクリア
して、全動作を完了させる。転送完了に最も時間を要す
る最悪の場合は、バスブリッジ装置301 がシステムバス
[a]上でx番目に調停に勝って転送バッファー308 に
データを読み込み、その後、マスターデバイス[m]が
システムバス[b]上でy番目に調停に勝ってリード命
令を再送してきた場合であり、それぞれに要した時間の
和が本リードアクセスに要する最大待ち時間となる。
各マスターデバイスがバス使用権の獲得要求をアービタ
305 に出している。仮に310 のマスターデバイス[e]
が調停に勝ってバスブリッジ装置301 にアクセスしたと
する。この時、バスブリッジ装置301 は、調停に勝った
バスマスタがどのデバイスであるかを識別し、デバイス
名記憶手段309 の内容と照合する。今、デバイス名記憶
手段309 の内容はマスターデバイス[m]であるので、
照合不一致と判断し、マスターデバイス[e]にはreru
n アクノリッジを返す。アービタ305 もラウンドロビン
方式でバスを調停しているとし、今、システムバス
[b]上のマスターデバイス数をy個とすると、マスタ
ーデバイス[m]は最悪でもy番目には調停に勝ってシ
ステムバス[b]の使用権を得ることができる。マスタ
ーデバイス[m]が調停に勝ってバスブリッジ装置301
に再度アクセスしてきた場合は、デバイス名記憶手段30
9 の内容とは照合一致と判断される。そして、照合一致
と判断されると、前記のスレーブデバイス[s]から転
送バッファー308 へのデータ読み出しが完了しているか
否かを判別する。もし完了していなければ、バスブリッ
ジ装置301 はマスターデバイス[m]にrerun アクノリ
ッジを再び返す。完了していれば、転送バッファー308
に読み込んであるデータをマスターデバイス[m]に渡
し、同時にデバイス名記憶手段309 の記憶内容をクリア
して、全動作を完了させる。転送完了に最も時間を要す
る最悪の場合は、バスブリッジ装置301 がシステムバス
[a]上でx番目に調停に勝って転送バッファー308 に
データを読み込み、その後、マスターデバイス[m]が
システムバス[b]上でy番目に調停に勝ってリード命
令を再送してきた場合であり、それぞれに要した時間の
和が本リードアクセスに要する最大待ち時間となる。
【0041】なお、マスターデバイス[m]がバスブリ
ッジ装置301 を介してスレーブデバイス[s]にデータ
を書き込もうとしている場合には、転送バッファー308
をライトバッファとして使い、書き込みデータを一旦転
送バッファー308 で受けてシステムバス[b]のバスサ
イクルを終了させてから、後でスレーブデバイス[s]
にそのデータの書き込みを行なえば、システムバス
[b]ではタイムアウトエラーは原理的に発生しない。
ッジ装置301 を介してスレーブデバイス[s]にデータ
を書き込もうとしている場合には、転送バッファー308
をライトバッファとして使い、書き込みデータを一旦転
送バッファー308 で受けてシステムバス[b]のバスサ
イクルを終了させてから、後でスレーブデバイス[s]
にそのデータの書き込みを行なえば、システムバス
[b]ではタイムアウトエラーは原理的に発生しない。
【0042】このような本実施の形態4によれば、互い
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができ、さらに、一定期間内にはマス
ターデバイス[m]が必ずスレーブデバイス[s]に対
してリードアクセスを行なうことができる。
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができ、さらに、一定期間内にはマス
ターデバイス[m]が必ずスレーブデバイス[s]に対
してリードアクセスを行なうことができる。
【0043】次に、本実施の形態4のバスブリッジ装置
を応用したシステムのブロック図を図4に示す。図にお
いて、401 はバスブリッジ装置、402 はシステムバス
[a]、403 はシステムバス[b]、404 はバス[a]
のアービタ、405 はバス[b]のアービタ、406 はスレ
ーブデバイス[s1]、407 はマスターデバイス[m
1]、408 は転送バッファー1、409 はデバイス名記憶
手段1、410 はスレーブデバイス[s2]、411 はマス
ターデバイス[m2]、412 は転送バッファー2、及び
413 はデバイス名記憶手段2である。
を応用したシステムのブロック図を図4に示す。図にお
いて、401 はバスブリッジ装置、402 はシステムバス
[a]、403 はシステムバス[b]、404 はバス[a]
のアービタ、405 はバス[b]のアービタ、406 はスレ
ーブデバイス[s1]、407 はマスターデバイス[m
1]、408 は転送バッファー1、409 はデバイス名記憶
手段1、410 はスレーブデバイス[s2]、411 はマス
ターデバイス[m2]、412 は転送バッファー2、及び
413 はデバイス名記憶手段2である。
【0044】このように、転送バッファーとデバイス名
記憶手段をさらにもう一組備えるようにすれば、402 の
システムバス[a]上にある406 のスレーブデバイス
[s1]から403 のシステムバス[b]上にある407 の
マスターデバイス[m1]へのデータ読み出しと、シス
テムバス[b]上にある410 のスレーブデバイス[s
2]からシステムバス[a]上にある411 のマスターデ
バイス[m2]へのデータ読み出しとが同時に発生して
も、前記と同様の処理により、双方のバス上でタイムア
ウトエラーを起こさず、かつデッドロックも起こさずに
両方の転送を完了させることができる。
記憶手段をさらにもう一組備えるようにすれば、402 の
システムバス[a]上にある406 のスレーブデバイス
[s1]から403 のシステムバス[b]上にある407 の
マスターデバイス[m1]へのデータ読み出しと、シス
テムバス[b]上にある410 のスレーブデバイス[s
2]からシステムバス[a]上にある411 のマスターデ
バイス[m2]へのデータ読み出しとが同時に発生して
も、前記と同様の処理により、双方のバス上でタイムア
ウトエラーを起こさず、かつデッドロックも起こさずに
両方の転送を完了させることができる。
【0045】実施の形態5.本実施の形態5のバスブリ
ッジ装置を用いたシステムも、上記実施の形態4と同様
に、マスターデバイス[m]が一定時間内に必ずスレー
ブデバイス[s]にアクセスできるようにしたものであ
り、特に、本実施の形態は、システムバス[a]がバス
使用権を獲得したバスマスタがスレーブデバイスに対す
るアクセスの開始権利を持つバスである場合に限ったも
のである。
ッジ装置を用いたシステムも、上記実施の形態4と同様
に、マスターデバイス[m]が一定時間内に必ずスレー
ブデバイス[s]にアクセスできるようにしたものであ
り、特に、本実施の形態は、システムバス[a]がバス
使用権を獲得したバスマスタがスレーブデバイスに対す
るアクセスの開始権利を持つバスである場合に限ったも
のである。
【0046】図5に、本実施の形態5のバスブリッジ装
置を用いたシステムの基本構成を示したブロック図を示
す。図において、501 はバスブリッジ装置、502 はシス
テムバス[a]、503 はシステムバス[b]、504 はバ
ス[a]のアービタ、505 はバス[b]のアービタ、50
6 はスレーブデバイス[s]、507 はマスターデバイス
[m]、508 はバスサイクル発生手段、509 はデバイス
名記憶手段、及び510はマスターデバイス[e]であ
る。
置を用いたシステムの基本構成を示したブロック図を示
す。図において、501 はバスブリッジ装置、502 はシス
テムバス[a]、503 はシステムバス[b]、504 はバ
ス[a]のアービタ、505 はバス[b]のアービタ、50
6 はスレーブデバイス[s]、507 はマスターデバイス
[m]、508 はバスサイクル発生手段、509 はデバイス
名記憶手段、及び510はマスターデバイス[e]であ
る。
【0047】本実施の形態5におけるバスブリッジ装置
の構成上の特徴は、図5から明らかなように、上記実施
の形態3で示したのと同様の,バス使用権を獲得したま
まバスサイクルの開始信号の発行を保留することができ
るバスサイクル発生手段508と、上記実施の形態4で示
したのと同様の,デバイス名記憶手段509 とを備えてい
ることである。
の構成上の特徴は、図5から明らかなように、上記実施
の形態3で示したのと同様の,バス使用権を獲得したま
まバスサイクルの開始信号の発行を保留することができ
るバスサイクル発生手段508と、上記実施の形態4で示
したのと同様の,デバイス名記憶手段509 とを備えてい
ることである。
【0048】以下、図5を用いて、本実施の形態のバス
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。507 のマスタ
ーデバイス[m]がバスブリッジ装置501 を介して506
のスレーブデバイス[s]にアクセスしようとした場合
において、バスブリッジ装置501がシステムバス[a]
の使用権獲得に時間を要し、システムバス[b]がタイ
ムアウトエラーを起こす可能性があると判断した場合、
バスブリッジ装置501 はマスターデバイス[m]に対し
てrerun アクノリッジを返し、システムバス[b]のバ
スサイクルを一旦終了させる。この時同時に、デバイス
名記憶手段509 において、マスターデバイス[m]の名
称を記憶する。この間にも、バスブリッジ装置501 はシ
ステムバス[a]のアービタ504 に対し、バス使用権を
要求し続けている。
ブリッジ装置によるシステムバス[a]及びシステムバ
ス[b]間のアクセスの動作を説明する。507 のマスタ
ーデバイス[m]がバスブリッジ装置501 を介して506
のスレーブデバイス[s]にアクセスしようとした場合
において、バスブリッジ装置501がシステムバス[a]
の使用権獲得に時間を要し、システムバス[b]がタイ
ムアウトエラーを起こす可能性があると判断した場合、
バスブリッジ装置501 はマスターデバイス[m]に対し
てrerun アクノリッジを返し、システムバス[b]のバ
スサイクルを一旦終了させる。この時同時に、デバイス
名記憶手段509 において、マスターデバイス[m]の名
称を記憶する。この間にも、バスブリッジ装置501 はシ
ステムバス[a]のアービタ504 に対し、バス使用権を
要求し続けている。
【0049】もし、rerun アクノリッジを出した時刻が
アービタ504 からシステムバス[a]のバス使用権を獲
得する以前であれば、システムバス[b]のバスサイク
ルは終っているので、要求を取り下げて全動作を完了さ
せることができる。しかし、既にシステムバス[a]の
使用権を獲得してしまっている場合には、前記のよう
に、システムバス[a]はバスマスタがスレーブデバイ
ス対するアクセスの開始権利を持つバスであるので、バ
スサイクル発生手段508 はバス使用権を獲得したままバ
スサイクルの開始信号の発行を保留する。
アービタ504 からシステムバス[a]のバス使用権を獲
得する以前であれば、システムバス[b]のバスサイク
ルは終っているので、要求を取り下げて全動作を完了さ
せることができる。しかし、既にシステムバス[a]の
使用権を獲得してしまっている場合には、前記のよう
に、システムバス[a]はバスマスタがスレーブデバイ
ス対するアクセスの開始権利を持つバスであるので、バ
スサイクル発生手段508 はバス使用権を獲得したままバ
スサイクルの開始信号の発行を保留する。
【0050】一方、システムバス[b]上においては、
各マスターデバイスがバス使用権の獲得要求をシステム
バス[b]のアービタ505 に出している。仮に510 のマ
スターデバイス[e]が調停に勝ってバスブリッジ装置
501 にアクセスしたとする。この時、バスブリッジ装置
501 は、調停に勝ったバスマスタがどのデバイスである
かを判別し、デバイス名記憶手段509 の内容と照合す
る。今、デバイス名記憶手段509 の内容はマスターデバ
イス[m]であるので、510 のマスターデバイス[e]
がバスブリッジ装置501 にアクセスしてきた場合は、照
合不一致と判断し、マスターデバイス[e]にrerun ア
クノリッジを返す。
各マスターデバイスがバス使用権の獲得要求をシステム
バス[b]のアービタ505 に出している。仮に510 のマ
スターデバイス[e]が調停に勝ってバスブリッジ装置
501 にアクセスしたとする。この時、バスブリッジ装置
501 は、調停に勝ったバスマスタがどのデバイスである
かを判別し、デバイス名記憶手段509 の内容と照合す
る。今、デバイス名記憶手段509 の内容はマスターデバ
イス[m]であるので、510 のマスターデバイス[e]
がバスブリッジ装置501 にアクセスしてきた場合は、照
合不一致と判断し、マスターデバイス[e]にrerun ア
クノリッジを返す。
【0051】マスターデバイス[m]が調停に勝ってバ
スブリッジ装置501 に再度アクセスしてきた場合は、デ
バイス名記憶手段509 の内容とは照合一致と判断され
る。このときバスサイクル発生手段508 がシステムバス
[a]のバス使用権を既に獲得しているか否かを判別す
る。もし、まだバス使用権を獲得していなければ、バス
ブリッジ装置501 はマスターデバイス[m]にrerun ア
クノリッジを返す。獲得してしていれば、バスサイクル
発生手段508 は一時保留状態を解除してバスサイクル開
始信号を出し、バスブリッジ装置501 を介してマスター
デバイス[m]はスレーブデバイス[s]とのアクセス
を行ない、かつ同時にデバイス名記憶手段509 の記憶内
容をクリアして、全動作を完了させる。
スブリッジ装置501 に再度アクセスしてきた場合は、デ
バイス名記憶手段509 の内容とは照合一致と判断され
る。このときバスサイクル発生手段508 がシステムバス
[a]のバス使用権を既に獲得しているか否かを判別す
る。もし、まだバス使用権を獲得していなければ、バス
ブリッジ装置501 はマスターデバイス[m]にrerun ア
クノリッジを返す。獲得してしていれば、バスサイクル
発生手段508 は一時保留状態を解除してバスサイクル開
始信号を出し、バスブリッジ装置501 を介してマスター
デバイス[m]はスレーブデバイス[s]とのアクセス
を行ない、かつ同時にデバイス名記憶手段509 の記憶内
容をクリアして、全動作を完了させる。
【0052】ただし、システムバス[a]のアービタ50
4 が、マスターデバイスに与えたバス使用権を剥奪して
他のマスターデバイスに与えることができるバスである
場合において、もしバスブリッジ装置501 が、システム
バス[a]のバス使用権を獲得したままバスサイクル開
始命令を出さないでいる間に、アービタ504 からバス使
用権を剥奪された際には、バスブリッジ装置501 は再度
バス獲得要求をアービタ504 に出し、バス使用権を獲得
したら再びバスサイクルの開始信号の発行を保留する。
この場合、アービタ504 があまりに頻繁にマスターデバ
イスに与えたバス使用権を剥奪するようであれば、せっ
かくマスターデバイス[m]が調停に勝ってバスブリッ
ジ装置501 に再度アクセスしてきても、本バスブリッジ
装置501がシステムバス[a]のバス使用権を獲得して
いないため、rerun アクノリッジを返すことが多くなっ
てしまうので、この点はシステムバス[a]のシステム
を設計する際に注意する必要がある。
4 が、マスターデバイスに与えたバス使用権を剥奪して
他のマスターデバイスに与えることができるバスである
場合において、もしバスブリッジ装置501 が、システム
バス[a]のバス使用権を獲得したままバスサイクル開
始命令を出さないでいる間に、アービタ504 からバス使
用権を剥奪された際には、バスブリッジ装置501 は再度
バス獲得要求をアービタ504 に出し、バス使用権を獲得
したら再びバスサイクルの開始信号の発行を保留する。
この場合、アービタ504 があまりに頻繁にマスターデバ
イスに与えたバス使用権を剥奪するようであれば、せっ
かくマスターデバイス[m]が調停に勝ってバスブリッ
ジ装置501 に再度アクセスしてきても、本バスブリッジ
装置501がシステムバス[a]のバス使用権を獲得して
いないため、rerun アクノリッジを返すことが多くなっ
てしまうので、この点はシステムバス[a]のシステム
を設計する際に注意する必要がある。
【0053】このような本実施の形態5によれば、互い
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができ、さらに、一定期間内にはマス
ターデバイス[m]が必ずスレーブデバイス[s]に対
してリードアクセスを行なうことができる。
に独立した2つのシステムの設計をし直すことなく、そ
れぞれの独立なシステムバス[a],[b]のアービト
レション機能はそのままで、相互のバスアクセスを実現
することができるとともに、アクセスされるスレーブデ
バイス[s]が存在する側のシステムバス[a]が混ん
でいて、もう一方のシステムバス[b]に存在するマス
ターデバイス[m]がリードアクセスを開始することが
できない場合であっても、バスタイムアウトエラーの発
生を回避することができ、さらに、一定期間内にはマス
ターデバイス[m]が必ずスレーブデバイス[s]に対
してリードアクセスを行なうことができる。
【0054】実施の形態6.本実施の形態6におけるバ
スブリッジ装置は、互いに完全に独立したシステムバス
[a]とシステムバス[b]との間で、マスタスレーブ
間転送とスレーブ間転送を同時に行なった場合であって
も、内部にバスアービタ機能を備えることなく、デッド
ロック状態を回避することができるようにしたものであ
る。
スブリッジ装置は、互いに完全に独立したシステムバス
[a]とシステムバス[b]との間で、マスタスレーブ
間転送とスレーブ間転送を同時に行なった場合であって
も、内部にバスアービタ機能を備えることなく、デッド
ロック状態を回避することができるようにしたものであ
る。
【0055】図6は本実施の形態6におけるバスブリッ
ジ装置の内部構成およびそれに接続されるデバイスを説
明するための図である。図6において、601 はバスマス
タとしてのインターフェース機能M(a) 、602はバスマ
スタとしてのインターフェース機能M(b) 、603 はスレ
ーブとしてのインタフェース機能S(a) 、604 はスレー
ブとしてのインタフェース機能S(b) 、605 はベースア
ドレス保持手段、607 はバスアドレス発生手段、608 は
マスタスレーブ間転送制御手段、609 はシステムバス
[a]、610 はシステムバス[b]、611 はスレーブデ
バイスc、612 はスレーブデバイスd、613 はマスタデ
バイスe、614 はバスアービタ(a) 、及び615 はバスア
ービタ(b) であり、これらの機能は上述の各実施の形態
に記載のものと同一である。
ジ装置の内部構成およびそれに接続されるデバイスを説
明するための図である。図6において、601 はバスマス
タとしてのインターフェース機能M(a) 、602はバスマ
スタとしてのインターフェース機能M(b) 、603 はスレ
ーブとしてのインタフェース機能S(a) 、604 はスレー
ブとしてのインタフェース機能S(b) 、605 はベースア
ドレス保持手段、607 はバスアドレス発生手段、608 は
マスタスレーブ間転送制御手段、609 はシステムバス
[a]、610 はシステムバス[b]、611 はスレーブデ
バイスc、612 はスレーブデバイスd、613 はマスタデ
バイスe、614 はバスアービタ(a) 、及び615 はバスア
ービタ(b) であり、これらの機能は上述の各実施の形態
に記載のものと同一である。
【0056】そして、616 はデータ保持手段MS、617 は
データ保持手段SS、619 はスレーブ間転送制御手段、62
0 は転送制御手段、621 は転送元アドレス保持手段、62
2 は転送先アドレス保持手段、623 は転送サイズ保持手
段、及び624 は転送方向保持手段である。
データ保持手段SS、619 はスレーブ間転送制御手段、62
0 は転送制御手段、621 は転送元アドレス保持手段、62
2 は転送先アドレス保持手段、623 は転送サイズ保持手
段、及び624 は転送方向保持手段である。
【0057】データ保持手段MS616 は、システムバス
[a]609 上に存在するスレーブデバイスとシステムバ
ス[b]610 上に存在するマスタデバイスとの間でデー
タ転送(マスタスレーブ間転送)を行う場合にその転送
データを一時保持する。データ保持手段SS617 は、シス
テムバス[a]609 上に存在するスレーブデバイスとシ
ステムバス[b]610 上に存在するスレーブデバイスと
の間でデータを転送(スレーブ間転送)を行う場合にそ
の転送データを一時保持する。スレーブ間転送制御手段
619 は、スレーブ間転送におけるデータ転送の制御を行
う。転送制御手段620 は、マスタスレーブ間転送とスレ
ーブ間転送の調停を行う。転送元アドレス保持手段621
は、スレーブ間転送における転送元のスレーブのアドレ
スを保持するものであり、その初期値はマスタデバイス
e613 によってS(b)604を経由して設定され、データ転
送実行中はスレーブ間転送制御手段619 によってインク
リメントされる。転送先アドレス保持手段622 はスレー
ブ間転送における転送先のスレーブのアドレスを保持す
るものであり、その初期値はマスタデバイスe613 によ
ってS(b)604を経由して設定され、データ転送実行中は
スレーブ間転送制御手段619 によってインクリメントさ
れる。転送サイズ保持手段623 は、スレーブ間転送のデ
ータ転送サイズを保持するものであり、その初期値はマ
スタデバイスe613 によってS(b)604を経由して設定さ
れ、データ転送実行中はスレーブ間転送制御手段619 に
よってデクリメントされる。転送方向保持手段624 は、
スレーブ間転送のデータ転送方向を保持するものであ
り、転送開始前にマスタデバイスe613 によってS(b)6
04を経由して設定され、0の場合システムバス[a]60
9 からシステムバス[b]610 への転送が実行され、1
の場合システムバス[b]610 からシステムバス[a]
609 への転送が実行さる。
[a]609 上に存在するスレーブデバイスとシステムバ
ス[b]610 上に存在するマスタデバイスとの間でデー
タ転送(マスタスレーブ間転送)を行う場合にその転送
データを一時保持する。データ保持手段SS617 は、シス
テムバス[a]609 上に存在するスレーブデバイスとシ
ステムバス[b]610 上に存在するスレーブデバイスと
の間でデータを転送(スレーブ間転送)を行う場合にそ
の転送データを一時保持する。スレーブ間転送制御手段
619 は、スレーブ間転送におけるデータ転送の制御を行
う。転送制御手段620 は、マスタスレーブ間転送とスレ
ーブ間転送の調停を行う。転送元アドレス保持手段621
は、スレーブ間転送における転送元のスレーブのアドレ
スを保持するものであり、その初期値はマスタデバイス
e613 によってS(b)604を経由して設定され、データ転
送実行中はスレーブ間転送制御手段619 によってインク
リメントされる。転送先アドレス保持手段622 はスレー
ブ間転送における転送先のスレーブのアドレスを保持す
るものであり、その初期値はマスタデバイスe613 によ
ってS(b)604を経由して設定され、データ転送実行中は
スレーブ間転送制御手段619 によってインクリメントさ
れる。転送サイズ保持手段623 は、スレーブ間転送のデ
ータ転送サイズを保持するものであり、その初期値はマ
スタデバイスe613 によってS(b)604を経由して設定さ
れ、データ転送実行中はスレーブ間転送制御手段619 に
よってデクリメントされる。転送方向保持手段624 は、
スレーブ間転送のデータ転送方向を保持するものであ
り、転送開始前にマスタデバイスe613 によってS(b)6
04を経由して設定され、0の場合システムバス[a]60
9 からシステムバス[b]610 への転送が実行され、1
の場合システムバス[b]610 からシステムバス[a]
609 への転送が実行さる。
【0058】以上のように構成されたバスブリッジ装置
について、以下、その動作説明を行なう。 (1) まず、本実施の形態の第1の動作例として、スレ
ーブデバイスcのアドレスC1を先頭とする64バイトのデ
ータをスレーブデバイスdのアドレスD1を先頭とする領
域へスレーブ間転送している時に、マスタデバイスeが
スレーブデバイスcのアドレスC2を先頭とする4 バイト
のデータをバスブリッジ装置のマスタスレーブ間転送に
よってリードした場合の動作を説明する。
について、以下、その動作説明を行なう。 (1) まず、本実施の形態の第1の動作例として、スレ
ーブデバイスcのアドレスC1を先頭とする64バイトのデ
ータをスレーブデバイスdのアドレスD1を先頭とする領
域へスレーブ間転送している時に、マスタデバイスeが
スレーブデバイスcのアドレスC2を先頭とする4 バイト
のデータをバスブリッジ装置のマスタスレーブ間転送に
よってリードした場合の動作を説明する。
【0059】図7は第1の動作例のシステムバスaとシ
ステムバスbの動作状況を時間を横軸にとって示したも
ので、以下、この図を用いて、動作を説明する。まず、
時刻t1からt2の間に、スレーブデバイスcからスレーブ
デバイスdへのスレーブ間転送を行うために、マスタデ
バイスe613 は、転送元アドレスであるC1を転送元アド
レス保持手段621 に、転送先アドレスであるD1を転送先
アドレス保持手段622 に、転送サイズである64を転送サ
イズ保持手段623 に、転送方向として0(システムバス
aからシステムバスbへの転送)を転送方向保持手段62
4に、それぞれS(b)604を経由して書き込む。そして、
最後に、時刻t2に転送開始命令をS(b)604を経由してス
レーブ間転送制御手段619 に与える。これによって、バ
スブリッジ装置はスレーブデバイスcからスレーブデバ
イスdへのスレーブ間転送を開始する。そして、スレー
ブ間転送制御手段619 はM(a)601にシステムバスaのバ
スマスタとなってスレーブデバイスcのアドレスC1から
32バイトのデータをリードしてデータ保持手段SS617 に
格納するように命令する。この時の転送サイズが32バイ
トであるのは、システムバスaにおいて1回のバスサイ
クルで転送できる最大サイズが32バイトであるためであ
る。すると、M(a)601は、まず、システムバス[a]の
バスマスタとなるために、バスアービタ(a)614に対して
バス獲得要求を出す。この時、システムバス[a]は、
未使用状態であるので、バスアービタ(a)614は、バスブ
リッジ装置にバス使用権を与える。これにより、M(a)6
01はシステムバス[a]のバスマスタとなってスレーブ
デバイスcのアドレスC1から32バイトのデータをリード
してデータ保持手段SS617 に格納する。
ステムバスbの動作状況を時間を横軸にとって示したも
ので、以下、この図を用いて、動作を説明する。まず、
時刻t1からt2の間に、スレーブデバイスcからスレーブ
デバイスdへのスレーブ間転送を行うために、マスタデ
バイスe613 は、転送元アドレスであるC1を転送元アド
レス保持手段621 に、転送先アドレスであるD1を転送先
アドレス保持手段622 に、転送サイズである64を転送サ
イズ保持手段623 に、転送方向として0(システムバス
aからシステムバスbへの転送)を転送方向保持手段62
4に、それぞれS(b)604を経由して書き込む。そして、
最後に、時刻t2に転送開始命令をS(b)604を経由してス
レーブ間転送制御手段619 に与える。これによって、バ
スブリッジ装置はスレーブデバイスcからスレーブデバ
イスdへのスレーブ間転送を開始する。そして、スレー
ブ間転送制御手段619 はM(a)601にシステムバスaのバ
スマスタとなってスレーブデバイスcのアドレスC1から
32バイトのデータをリードしてデータ保持手段SS617 に
格納するように命令する。この時の転送サイズが32バイ
トであるのは、システムバスaにおいて1回のバスサイ
クルで転送できる最大サイズが32バイトであるためであ
る。すると、M(a)601は、まず、システムバス[a]の
バスマスタとなるために、バスアービタ(a)614に対して
バス獲得要求を出す。この時、システムバス[a]は、
未使用状態であるので、バスアービタ(a)614は、バスブ
リッジ装置にバス使用権を与える。これにより、M(a)6
01はシステムバス[a]のバスマスタとなってスレーブ
デバイスcのアドレスC1から32バイトのデータをリード
してデータ保持手段SS617 に格納する。
【0060】一方、システムバス[b]では、時刻t3に
マスタデバイスeがスレーブデバイスcのアドレスC2を
先頭とする4 バイトのデータをバスブリッジ装置のマス
タスレーブ間転送によってリードするためのバスサイク
ルを開始したとする。これによって、マスタスレーブ間
転送制御手段608 は、M(a)601に動作開始命令を送る
が、この時M(a)601はスレーブ間転送によって使用され
ているので、ウエイト状態に入る。そして、時刻t4で、
システムバス[a]におけるスレーブデバイスcのアド
レスC1から32バイトのデータのリードが完了すると、ス
レーブ間転送制御手段619 はM(b)602にシステムバス
[b]のバスマスタとなってデータ保持手段SS617 に格
納されている32バイトのデータをスレーブデバイスdの
アドレスD1に転送するように命令する。すると、M(b)6
02は、システムバス[b]のバスマスタとなるために、
バスアービタ(b)615に対してバス獲得要求を出す。しか
し、この時、システムバス[b]はマスタデバイスeに
よって使用されているため、バス使用権を獲得できな
い。このため、M(b)602は、バス使用権を獲得できるま
でウエイト状態となる。
マスタデバイスeがスレーブデバイスcのアドレスC2を
先頭とする4 バイトのデータをバスブリッジ装置のマス
タスレーブ間転送によってリードするためのバスサイク
ルを開始したとする。これによって、マスタスレーブ間
転送制御手段608 は、M(a)601に動作開始命令を送る
が、この時M(a)601はスレーブ間転送によって使用され
ているので、ウエイト状態に入る。そして、時刻t4で、
システムバス[a]におけるスレーブデバイスcのアド
レスC1から32バイトのデータのリードが完了すると、ス
レーブ間転送制御手段619 はM(b)602にシステムバス
[b]のバスマスタとなってデータ保持手段SS617 に格
納されている32バイトのデータをスレーブデバイスdの
アドレスD1に転送するように命令する。すると、M(b)6
02は、システムバス[b]のバスマスタとなるために、
バスアービタ(b)615に対してバス獲得要求を出す。しか
し、この時、システムバス[b]はマスタデバイスeに
よって使用されているため、バス使用権を獲得できな
い。このため、M(b)602は、バス使用権を獲得できるま
でウエイト状態となる。
【0061】一方、時刻t4より、M(a)601は、スレーブ
デバイスcのアドレスC2から4 バイトのデータをリード
してデータ保持手段MS616 に格納するためのバスサイク
ルを開始する。そして、時刻t5でそれが完了すると、マ
スタスレーブ間転送制御手段608 は、S(b)604に、デー
タ保持手段MS616 に格納されているデータをマスタデバ
イスeへ転送するように命令し、S(b)604がこれを実行
することにより、時刻t6において、時刻t3に開始された
マスタデバイスeのバスサイクルが完了する。これによ
って、バスアービタ(b)615はバス使用権をバスブリッジ
装置に与える。そして、M(b)602がシステムバスbのバ
スマスタとなってデータ保持手段SS617に格納されてい
る32バイトのデータをスレーブデバイスdのアドレスD1
に転送する。これが時刻t7で完了すると、転送元アドレ
ス保持手段621 の値は32インクリメントされてC1+32 に
なり、転送先アドレス保持手段622 の値は32インクリメ
ントされてD1+32 になり、転送サイズ保持手段623 の値
は32デクリメントされて32になる。そして、時刻t7より
時刻t8までの間に、スレーブデバイスcのアドレスC1+3
2 から32バイトのデータをリードしてデータ保持手段SS
617 に格納し、時刻t8より時刻t9までの間に、データ保
持手段SS617 に格納されている32バイトのデータをスレ
ーブデバイスdのアドレスD1+32 に転送する。これが時
刻t9で完了すると、転送元アドレス保持手段621 の値は
32インクリメントされてC1+64 になり、転送先アドレス
保持手段622 の値は32インクリメントされてD1+64 にな
り、転送サイズ保持手段623 の値は32デクリメントされ
て0となるため、スレーブ間転送が完了する。
デバイスcのアドレスC2から4 バイトのデータをリード
してデータ保持手段MS616 に格納するためのバスサイク
ルを開始する。そして、時刻t5でそれが完了すると、マ
スタスレーブ間転送制御手段608 は、S(b)604に、デー
タ保持手段MS616 に格納されているデータをマスタデバ
イスeへ転送するように命令し、S(b)604がこれを実行
することにより、時刻t6において、時刻t3に開始された
マスタデバイスeのバスサイクルが完了する。これによ
って、バスアービタ(b)615はバス使用権をバスブリッジ
装置に与える。そして、M(b)602がシステムバスbのバ
スマスタとなってデータ保持手段SS617に格納されてい
る32バイトのデータをスレーブデバイスdのアドレスD1
に転送する。これが時刻t7で完了すると、転送元アドレ
ス保持手段621 の値は32インクリメントされてC1+32 に
なり、転送先アドレス保持手段622 の値は32インクリメ
ントされてD1+32 になり、転送サイズ保持手段623 の値
は32デクリメントされて32になる。そして、時刻t7より
時刻t8までの間に、スレーブデバイスcのアドレスC1+3
2 から32バイトのデータをリードしてデータ保持手段SS
617 に格納し、時刻t8より時刻t9までの間に、データ保
持手段SS617 に格納されている32バイトのデータをスレ
ーブデバイスdのアドレスD1+32 に転送する。これが時
刻t9で完了すると、転送元アドレス保持手段621 の値は
32インクリメントされてC1+64 になり、転送先アドレス
保持手段622 の値は32インクリメントされてD1+64 にな
り、転送サイズ保持手段623 の値は32デクリメントされ
て0となるため、スレーブ間転送が完了する。
【0062】(2) つぎに、本実施の形態の第2の動作
例として、スレーブデバイスcのアドレスC1を先頭とす
る64バイトのデータをスレーブデバイスdのアドレスD1
の先頭とする領域へスレーブ間転送している時に、マス
タデバイスeが自分自身が保持している4 バイトのデー
タをスレーブデバイスcのアドレスC2を先頭とする領域
にバスブリッジ装置のマスタスレーブ間転送によってラ
イトした場合の動作を説明する。
例として、スレーブデバイスcのアドレスC1を先頭とす
る64バイトのデータをスレーブデバイスdのアドレスD1
の先頭とする領域へスレーブ間転送している時に、マス
タデバイスeが自分自身が保持している4 バイトのデー
タをスレーブデバイスcのアドレスC2を先頭とする領域
にバスブリッジ装置のマスタスレーブ間転送によってラ
イトした場合の動作を説明する。
【0063】図8は第2の動作例のシステムバス[a]
とシステムバス[b]の動作状況を時間を横軸にとって
示したもので、以下この図を用いて、動作を説明する。
まず、時刻t1からt2の間に、スレーブデバイスcからス
レーブデバイスdへのスレーブ間転送を行うために、マ
スタデバイスe613 は、転送元アドレスであるC1を転送
元アドレス保持手段621 に、転送先アドレスであるD1を
転送先アドレス保持手段622 に、転送サイズである64を
転送サイズ保持手段623 に、転送方向として0(システ
ムバスaからシステムバスbへの転送)を転送方向保持
手段624に、それぞれS(b)604を経由して書き込む。そ
して、最後に、時刻t2に転送開始命令をS(b)604を経由
してスレーブ間転送制御手段619 に与える。これによっ
て、バスブリッジ装置はスレーブデバイスcからスレー
ブデバイスdへのスレーブ間転送を開始する。そして、
スレーブ間転送制御手段619 はM(a)601にシステムバス
[a]のバスマスタとなってスレーブデバイスcのアド
レスC1から32バイトのデータをリードしてデータ保持手
段SS617 に格納するように命令する。この時の転送サイ
ズが32バイトであるのは、システムバス[a]において
1回のバスサイクルで転送できる最大サイズが32バイト
であるためである。すると、M(a)601は、まず、システ
ムバス[a]のバスマスタとなるために、バスアービタ
(a)614に対してバス獲得要求を出す。この時、システム
バス[a]は、未使用状態であるので、バスアービタ
(a)614は、バスブリッジ装置にバス使用権を与える。こ
れにより、M(a)601はシステムバス[a]のバスマスタ
となってスレーブデバイスcのアドレスC1から32バイト
のデータをリードしてデータ保持手段SS617 に格納す
る。
とシステムバス[b]の動作状況を時間を横軸にとって
示したもので、以下この図を用いて、動作を説明する。
まず、時刻t1からt2の間に、スレーブデバイスcからス
レーブデバイスdへのスレーブ間転送を行うために、マ
スタデバイスe613 は、転送元アドレスであるC1を転送
元アドレス保持手段621 に、転送先アドレスであるD1を
転送先アドレス保持手段622 に、転送サイズである64を
転送サイズ保持手段623 に、転送方向として0(システ
ムバスaからシステムバスbへの転送)を転送方向保持
手段624に、それぞれS(b)604を経由して書き込む。そ
して、最後に、時刻t2に転送開始命令をS(b)604を経由
してスレーブ間転送制御手段619 に与える。これによっ
て、バスブリッジ装置はスレーブデバイスcからスレー
ブデバイスdへのスレーブ間転送を開始する。そして、
スレーブ間転送制御手段619 はM(a)601にシステムバス
[a]のバスマスタとなってスレーブデバイスcのアド
レスC1から32バイトのデータをリードしてデータ保持手
段SS617 に格納するように命令する。この時の転送サイ
ズが32バイトであるのは、システムバス[a]において
1回のバスサイクルで転送できる最大サイズが32バイト
であるためである。すると、M(a)601は、まず、システ
ムバス[a]のバスマスタとなるために、バスアービタ
(a)614に対してバス獲得要求を出す。この時、システム
バス[a]は、未使用状態であるので、バスアービタ
(a)614は、バスブリッジ装置にバス使用権を与える。こ
れにより、M(a)601はシステムバス[a]のバスマスタ
となってスレーブデバイスcのアドレスC1から32バイト
のデータをリードしてデータ保持手段SS617 に格納す
る。
【0064】一方、システムバス[b]では、時刻t3に
マスタデバイスeが自分自身が保持している4 バイトの
データをスレーブデバイスcのアドレスC2を先頭とする
領域にバスブリッジ装置のマスタスレーブ間転送によっ
てライトするためのバスサイクルを開始したとする。こ
れによって、マスタスレーブ間転送制御手段608 は、S
(b)601に動作開始命令を送り、S(b)601は、マスタデバ
イスeから4 バイトのライトデータを受けとってデータ
保持手段SS617 に保持して、動作を完了する(時刻t
4)。これによって、システムバス[b]のマスタデバ
イスeによるバスサイクルが完了する。同時に、マスタ
スレーブ間転送制御手段608 は、M(a)601に動作開始命
令を送るが、この時M(a)601はスレーブ間転送によって
使用されているので、ウエイト状態に入る。そして、時
刻t5で、システムバス[a]におけるスレーブデバイス
cのアドレスC1から32バイトのデータのリードが完了す
ると、スレーブ間転送制御手段619 はM(b)602にシステ
ムバス[b]のバスマスタとなってデータ保持手段SS61
7 に格納されている32バイトのデータをスレーブデバイ
スdのアドレスD1に転送するように命令する。すると、
M(b)602は、システムバス[b]のバスマスタとなるた
めに、バスアービタ(b)615に対してバス獲得要求を出
す。この時、システムバス[b]は、未使用状態である
ので、バスアービタ(b)615は、バスブリッジ装置にバス
使用権を与える。これにより、M(b)602は、システムバ
ス[b]のバスマスタとなってデータ保持手段SS617 に
格納されている32バイトのデータをスレーブデバイスd
のアドレスD1に転送する。そして時刻t7にこれが完了す
る。
マスタデバイスeが自分自身が保持している4 バイトの
データをスレーブデバイスcのアドレスC2を先頭とする
領域にバスブリッジ装置のマスタスレーブ間転送によっ
てライトするためのバスサイクルを開始したとする。こ
れによって、マスタスレーブ間転送制御手段608 は、S
(b)601に動作開始命令を送り、S(b)601は、マスタデバ
イスeから4 バイトのライトデータを受けとってデータ
保持手段SS617 に保持して、動作を完了する(時刻t
4)。これによって、システムバス[b]のマスタデバ
イスeによるバスサイクルが完了する。同時に、マスタ
スレーブ間転送制御手段608 は、M(a)601に動作開始命
令を送るが、この時M(a)601はスレーブ間転送によって
使用されているので、ウエイト状態に入る。そして、時
刻t5で、システムバス[a]におけるスレーブデバイス
cのアドレスC1から32バイトのデータのリードが完了す
ると、スレーブ間転送制御手段619 はM(b)602にシステ
ムバス[b]のバスマスタとなってデータ保持手段SS61
7 に格納されている32バイトのデータをスレーブデバイ
スdのアドレスD1に転送するように命令する。すると、
M(b)602は、システムバス[b]のバスマスタとなるた
めに、バスアービタ(b)615に対してバス獲得要求を出
す。この時、システムバス[b]は、未使用状態である
ので、バスアービタ(b)615は、バスブリッジ装置にバス
使用権を与える。これにより、M(b)602は、システムバ
ス[b]のバスマスタとなってデータ保持手段SS617 に
格納されている32バイトのデータをスレーブデバイスd
のアドレスD1に転送する。そして時刻t7にこれが完了す
る。
【0065】一方、時刻t5で、M(a)601の動作が完了す
ると、ウエイト状態となっていたマスタスレーブ間転送
制御手段608 が動作状態となり、再度M(a)601に動作開
始命令を送る。すると、M(a)601は、まず、システムバ
ス[a]のバスマスタとなるために、バスアービタ(a)6
14に対してバス獲得要求を出す。この時、システムバス
[a]は、未使用状態であるので、バスアービタ(a)614
は、バスブリッジ装置にバス使用権を与える。これによ
り、M(a)601はシステムバス[a]のバスマスタとなっ
てデータ保持手段SS617 に保持している4 バイトのデー
タをスレーブcのアドレスC2に転送する。そして時刻t6
にこれが完了する。
ると、ウエイト状態となっていたマスタスレーブ間転送
制御手段608 が動作状態となり、再度M(a)601に動作開
始命令を送る。すると、M(a)601は、まず、システムバ
ス[a]のバスマスタとなるために、バスアービタ(a)6
14に対してバス獲得要求を出す。この時、システムバス
[a]は、未使用状態であるので、バスアービタ(a)614
は、バスブリッジ装置にバス使用権を与える。これによ
り、M(a)601はシステムバス[a]のバスマスタとなっ
てデータ保持手段SS617 に保持している4 バイトのデー
タをスレーブcのアドレスC2に転送する。そして時刻t6
にこれが完了する。
【0066】さて、データ保持手段SS617 に格納されて
いる32バイトのデータのスレーブデバイスdのアドレス
D1への転送が時刻t7で完了すると、転送元アドレス保持
手段621 の値は32インクリメントされてC1+32 になり、
転送先アドレス保持手段622の値は32インクリメントさ
れてD1+32 になり、転送サイズ保持手段623 の値は32デ
クリメントされて32になる。そして、時刻t7より時刻8
までの間に、スレーブデバイスcのアドレスC1+32 から
32バイトのデータをリードしてデータ保持手段SS617 に
格納し、時刻t8より時刻t9までの間に、データ保持手段
SS617 に格納されている32バイトのデータをスレーブデ
バイスdのアドレスD1+32 に転送する。これが時刻t9で
完了すると、転送元アドレス保持手段621 の値は32イン
クリメントされてC1+64 になり、転送先アドレス保持手
段622 の値は32インクリメントされてD1+64 になり、転
送サイズ保持手段623 の値は32デクリメントされて0と
なるため、スレーブ間転送が完了する。
いる32バイトのデータのスレーブデバイスdのアドレス
D1への転送が時刻t7で完了すると、転送元アドレス保持
手段621 の値は32インクリメントされてC1+32 になり、
転送先アドレス保持手段622の値は32インクリメントさ
れてD1+32 になり、転送サイズ保持手段623 の値は32デ
クリメントされて32になる。そして、時刻t7より時刻8
までの間に、スレーブデバイスcのアドレスC1+32 から
32バイトのデータをリードしてデータ保持手段SS617 に
格納し、時刻t8より時刻t9までの間に、データ保持手段
SS617 に格納されている32バイトのデータをスレーブデ
バイスdのアドレスD1+32 に転送する。これが時刻t9で
完了すると、転送元アドレス保持手段621 の値は32イン
クリメントされてC1+64 になり、転送先アドレス保持手
段622 の値は32インクリメントされてD1+64 になり、転
送サイズ保持手段623 の値は32デクリメントされて0と
なるため、スレーブ間転送が完了する。
【0067】このような実施の形態6によれば、データ
保持手段MSとデータ保持手段SSとを備え、それぞれ特定
の用途に独立して動作させることによって、マスタスレ
ーブ間転送とスレーブ間転送を同時に行なった場合に、
内部にバスアービタ機能を持たなくても、デッドロック
状態を回避することができる。
保持手段MSとデータ保持手段SSとを備え、それぞれ特定
の用途に独立して動作させることによって、マスタスレ
ーブ間転送とスレーブ間転送を同時に行なった場合に、
内部にバスアービタ機能を持たなくても、デッドロック
状態を回避することができる。
【0068】実施の形態7.本実施の形態7におけるバ
スブリッジ装置は、互いに完全に独立したシステムバス
[a]とシステムバス[b]との間で、マスタスレーブ
間転送とスレーブ間転送を同時に行なった場合であって
も、内部にバスアービタ機能を備えることなく、かつデ
ータ保持手段を1つ備えるのみで、デッドロック状態を
回避することができるようにしたものである。
スブリッジ装置は、互いに完全に独立したシステムバス
[a]とシステムバス[b]との間で、マスタスレーブ
間転送とスレーブ間転送を同時に行なった場合であって
も、内部にバスアービタ機能を備えることなく、かつデ
ータ保持手段を1つ備えるのみで、デッドロック状態を
回避することができるようにしたものである。
【0069】図9は本実施の形態におけるバスブリッジ
装置の内部構成およびそれに接続されるデバイスを示す
ものである。図において、901 はバスマスタとしてのイ
ンターフェース機能M(a) 、902 はバスマスタとしての
インターフェース機能M(b)、903 はスレーブとしての
インタフェース機能S(a) 、904 はスレーブとしてのイ
ンタフェース機能S(b) 、905 はベースアドレス保持手
段、907 はバスアドレス発生手段、908 はマスタスレー
ブ間転送制御手段、909 はシステムバス[a]、910 は
システムバス[b]、911 はスレーブデバイスc、912
はスレーブデバイスd、913 はマスタデバイスe、914
はバスアービタ(a) 、915 はバスアービタ(b) 、919 は
スレーブ間転送制御手段、920 は転送制御手段、921 は
転送元アドレス保持手段、922 は転送先アドレス保持手
段、923 は転送サイズ保持手段、及び924 は転送方向保
持手段で、以上は上記実施の形態6と同一のものであ
る。
装置の内部構成およびそれに接続されるデバイスを示す
ものである。図において、901 はバスマスタとしてのイ
ンターフェース機能M(a) 、902 はバスマスタとしての
インターフェース機能M(b)、903 はスレーブとしての
インタフェース機能S(a) 、904 はスレーブとしてのイ
ンタフェース機能S(b) 、905 はベースアドレス保持手
段、907 はバスアドレス発生手段、908 はマスタスレー
ブ間転送制御手段、909 はシステムバス[a]、910 は
システムバス[b]、911 はスレーブデバイスc、912
はスレーブデバイスd、913 はマスタデバイスe、914
はバスアービタ(a) 、915 はバスアービタ(b) 、919 は
スレーブ間転送制御手段、920 は転送制御手段、921 は
転送元アドレス保持手段、922 は転送先アドレス保持手
段、923 は転送サイズ保持手段、及び924 は転送方向保
持手段で、以上は上記実施の形態6と同一のものであ
る。
【0070】また、916 はデータ保持手段で、システム
バス[a]909 上に存在するスレーブデバイスとシステ
ムバス[b]910 上に存在するマスタデバイスとの間で
データを転送(マスタスレーブ間転送)を行う場合、お
よびシステムバス[a]909上に存在するスレーブデバ
イスとシステムバス[b]910 上に存在するスレーブデ
バイスとの間でデータを転送(スレーブ間転送)を行う
場合にその転送データを一時保持する。
バス[a]909 上に存在するスレーブデバイスとシステ
ムバス[b]910 上に存在するマスタデバイスとの間で
データを転送(マスタスレーブ間転送)を行う場合、お
よびシステムバス[a]909上に存在するスレーブデバ
イスとシステムバス[b]910 上に存在するスレーブデ
バイスとの間でデータを転送(スレーブ間転送)を行う
場合にその転送データを一時保持する。
【0071】以上のように構成されたバスブリッジ装置
について、以下、その動作説明を行なう。 (1) まず、本実施の形態の第1の動作例として、スレ
ーブデバイスcのアドレスC1を先頭とする64バイトのデ
ータをスレーブデバイスdのアドレスD1を先頭とする領
域へスレーブ間転送している時に、マスタデバイスeが
スレーブデバイスcのアドレスC2を先頭とする4 バイト
のデータをバスブリッジ装置のマスタスレーブ間転送に
よってリードした場合の動作を説明する。
について、以下、その動作説明を行なう。 (1) まず、本実施の形態の第1の動作例として、スレ
ーブデバイスcのアドレスC1を先頭とする64バイトのデ
ータをスレーブデバイスdのアドレスD1を先頭とする領
域へスレーブ間転送している時に、マスタデバイスeが
スレーブデバイスcのアドレスC2を先頭とする4 バイト
のデータをバスブリッジ装置のマスタスレーブ間転送に
よってリードした場合の動作を説明する。
【0072】図10は第1の動作例のシステムバス
[a]とシステムバス[b]の動作状況を時間を横軸に
とって示したもので、以下この図を用いて、動作を説明
する。まず、時刻t1からt2の間に、スレーブデバイスc
からスレーブデバイスdへのスレーブ間転送を行うため
に、マスタデバイスe913 は、転送元アドレスであるC1
を転送元アドレス保持手段921 に、転送先アドレスであ
るD1を転送先アドレス保持手段922 に、転送サイズであ
る64を転送サイズ保持手段923 に、転送方向として0
(システムバスaからシステムバスbへの転送)を転送
方向保持手段924に、それぞれS(b)904を経由して書き
込む。そして、最後に、時刻t2に転送開始命令をS(b)9
04を経由してスレーブ間転送制御手段919 に与える。こ
れによって、バスブリッジ装置はスレーブデバイスcか
らスレーブデバイスdへのスレーブ間転送を開始する。
そして、スレーブ間転送制御手段919 はM(a)901にシス
テムバス[a]のバスマスタとなってスレーブデバイス
cのアドレスC1から32バイトのデータをリードしてデー
タ保持手段916 に格納するように命令する。この時の転
送サイズが32バイトであるのは、システムバス[a]に
おいて1回のバスサイクルで転送できる最大サイズが32
バイトであるためである。すると、M(a)901は、まず、
システムバスaのバスマスタとなるために、バスアービ
タ(a)914に対してバス獲得要求を出す。この時、システ
ムバスaは、未使用状態であるので、バスアービタ(a)9
14は、バスブリッジ装置にバス使用権を与える。これに
より、M(a)901はシステムバス[a]のバスマスタとな
ってスレーブデバイスcのアドレスC1から32バイトのデ
ータをリードしてデータ保持手段916 に格納する。
[a]とシステムバス[b]の動作状況を時間を横軸に
とって示したもので、以下この図を用いて、動作を説明
する。まず、時刻t1からt2の間に、スレーブデバイスc
からスレーブデバイスdへのスレーブ間転送を行うため
に、マスタデバイスe913 は、転送元アドレスであるC1
を転送元アドレス保持手段921 に、転送先アドレスであ
るD1を転送先アドレス保持手段922 に、転送サイズであ
る64を転送サイズ保持手段923 に、転送方向として0
(システムバスaからシステムバスbへの転送)を転送
方向保持手段924に、それぞれS(b)904を経由して書き
込む。そして、最後に、時刻t2に転送開始命令をS(b)9
04を経由してスレーブ間転送制御手段919 に与える。こ
れによって、バスブリッジ装置はスレーブデバイスcか
らスレーブデバイスdへのスレーブ間転送を開始する。
そして、スレーブ間転送制御手段919 はM(a)901にシス
テムバス[a]のバスマスタとなってスレーブデバイス
cのアドレスC1から32バイトのデータをリードしてデー
タ保持手段916 に格納するように命令する。この時の転
送サイズが32バイトであるのは、システムバス[a]に
おいて1回のバスサイクルで転送できる最大サイズが32
バイトであるためである。すると、M(a)901は、まず、
システムバスaのバスマスタとなるために、バスアービ
タ(a)914に対してバス獲得要求を出す。この時、システ
ムバスaは、未使用状態であるので、バスアービタ(a)9
14は、バスブリッジ装置にバス使用権を与える。これに
より、M(a)901はシステムバス[a]のバスマスタとな
ってスレーブデバイスcのアドレスC1から32バイトのデ
ータをリードしてデータ保持手段916 に格納する。
【0073】一方、システムバス[b]では、時刻t3に
マスタデバイスeがスレーブデバイスcのアドレスC2を
先頭とする4 バイトのデータをバスブリッジ装置のマス
タスレーブ間転送によってリードするためのバスサイク
ルを開始したとする。これによって、マスタスレーブ間
転送制御手段908 は、動作を開始しようとするが、この
時データ保持手段916 はスレーブ間転送によって使用さ
れているので、ウエイト状態に入る。そして、時刻t4
で、システムバス[a]におけるスレーブデバイスcの
アドレスC1から32バイトのデータのリードが完了する
と、スレーブ間転送制御手段919 はM(b)902にシステム
バス[b]のバスマスタとなってデータ保持手段916 に
格納されている32バイトのデータをスレーブデバイスd
のアドレスD1に転送するように命令する。すると、M
(b)902は、システムバス[b]のバスマスタとなるため
に、バスアービタ(b)915に対してバス獲得要求を出す。
しかし、この時、システムバス[b]はマスタデバイス
eによって使用されているため、バス使用権を獲得でき
ない。このため、M(b)902は、バス使用権を獲得できる
までウエイト状態となる。
マスタデバイスeがスレーブデバイスcのアドレスC2を
先頭とする4 バイトのデータをバスブリッジ装置のマス
タスレーブ間転送によってリードするためのバスサイク
ルを開始したとする。これによって、マスタスレーブ間
転送制御手段908 は、動作を開始しようとするが、この
時データ保持手段916 はスレーブ間転送によって使用さ
れているので、ウエイト状態に入る。そして、時刻t4
で、システムバス[a]におけるスレーブデバイスcの
アドレスC1から32バイトのデータのリードが完了する
と、スレーブ間転送制御手段919 はM(b)902にシステム
バス[b]のバスマスタとなってデータ保持手段916 に
格納されている32バイトのデータをスレーブデバイスd
のアドレスD1に転送するように命令する。すると、M
(b)902は、システムバス[b]のバスマスタとなるため
に、バスアービタ(b)915に対してバス獲得要求を出す。
しかし、この時、システムバス[b]はマスタデバイス
eによって使用されているため、バス使用権を獲得でき
ない。このため、M(b)902は、バス使用権を獲得できる
までウエイト状態となる。
【0074】このように、マスタスレーブ間転送制御手
段908 とスレーブ間転送制御手段919 がともにウエイト
状態となると、転送制御手段920 は、データ保持手段91
6 に格納されているデータを破棄して、マスタスレーブ
間転送制御手段908 にデータ保持手段916 の使用権を与
える。同時に、転送制御手段920 は、スレーブ間転送制
御手段919 にデータ転送が中止されたことを通知する。
これによって、マスタスレーブ間転送制御手段908 は動
作を再開し、M(a)901に動作命令を与える。そして、時
刻t4より、M(a)901は、スレーブデバイスcのアドレス
C2から4 バイトのデータをリードしてデータ保持手段MS
916 に格納するためのバスサイクルを開始する。そし
て、時刻t5でそれが完了すると、マスタスレーブ間転送
制御手段908 は、S(b)904に、データ保持手段MS916 に
格納されているデータをマスタデバイスeへ転送するよ
うに命令し、S(b)904がこれを実行することにより、時
刻t6において、時刻t3に開始されたマスタデバイスeの
バスサイクルが完了する。そして、転送制御手段920
は、スレーブ間転送制御手段919 にデータ転送動作の再
実行を命令する。そして、スレーブ間転送制御手段919
は再度M(a)901にシステムバス[a]のバスマスタとな
ってスレーブデバイスcのアドレスC1から32バイトのデ
ータをリードしてデータ保持手段916 に格納するように
命令する。これにより、M(a)901は、時刻t6から時刻t7
の間にシステムバス[a]のバスマスタとなってスレー
ブデバイスcのアドレスC1から32バイトのデータをリー
ドしてデータ保持手段916 に格納する。
段908 とスレーブ間転送制御手段919 がともにウエイト
状態となると、転送制御手段920 は、データ保持手段91
6 に格納されているデータを破棄して、マスタスレーブ
間転送制御手段908 にデータ保持手段916 の使用権を与
える。同時に、転送制御手段920 は、スレーブ間転送制
御手段919 にデータ転送が中止されたことを通知する。
これによって、マスタスレーブ間転送制御手段908 は動
作を再開し、M(a)901に動作命令を与える。そして、時
刻t4より、M(a)901は、スレーブデバイスcのアドレス
C2から4 バイトのデータをリードしてデータ保持手段MS
916 に格納するためのバスサイクルを開始する。そし
て、時刻t5でそれが完了すると、マスタスレーブ間転送
制御手段908 は、S(b)904に、データ保持手段MS916 に
格納されているデータをマスタデバイスeへ転送するよ
うに命令し、S(b)904がこれを実行することにより、時
刻t6において、時刻t3に開始されたマスタデバイスeの
バスサイクルが完了する。そして、転送制御手段920
は、スレーブ間転送制御手段919 にデータ転送動作の再
実行を命令する。そして、スレーブ間転送制御手段919
は再度M(a)901にシステムバス[a]のバスマスタとな
ってスレーブデバイスcのアドレスC1から32バイトのデ
ータをリードしてデータ保持手段916 に格納するように
命令する。これにより、M(a)901は、時刻t6から時刻t7
の間にシステムバス[a]のバスマスタとなってスレー
ブデバイスcのアドレスC1から32バイトのデータをリー
ドしてデータ保持手段916 に格納する。
【0075】次に、スレーブ間転送制御手段919 はM
(b)902にシステムバス[b]のバスマスタとなってデー
タ保持手段916 に格納されている32バイトのデータをス
レーブデバイスdのアドレスD1に転送するように命令す
る。これによって、M(b)902がシステムバス[b]のバ
スマスタとなってデータ保持手段916 に格納されている
32バイトのデータをスレーブデバイスdのアドレスD1に
転送する。これが時刻t8で完了すると、転送元アドレス
保持手段921 の値は32インクリメントされてC1+32 にな
り、転送先アドレス保持手段922 の値は32インクリメン
トされてD1+32 になり、転送サイズ保持手段923 の値は
32デクリメントされて32になる。そして、時刻t8より時
刻t9までの間に、スレーブデバイスcのアドレスC1+32
から32バイトのデータをリードしてデータ保持手段916
に格納し、時刻t9より時刻t10 までの間に、データ保持
手段916 に格納されている32バイトのデータをスレーブ
デバイスdのアドレスD1+32 に転送する。これが時刻t9
で完了すると、転送元アドレス保持手段921 の値は32イ
ンクリメントされてC1+64 になり、転送先アドレス保持
手段922 の値は32インクリメントされてD1+64 になり、
転送サイズ保持手段923 の値は32デクリメントされて0
となるため、スレーブ間転送が完了する。
(b)902にシステムバス[b]のバスマスタとなってデー
タ保持手段916 に格納されている32バイトのデータをス
レーブデバイスdのアドレスD1に転送するように命令す
る。これによって、M(b)902がシステムバス[b]のバ
スマスタとなってデータ保持手段916 に格納されている
32バイトのデータをスレーブデバイスdのアドレスD1に
転送する。これが時刻t8で完了すると、転送元アドレス
保持手段921 の値は32インクリメントされてC1+32 にな
り、転送先アドレス保持手段922 の値は32インクリメン
トされてD1+32 になり、転送サイズ保持手段923 の値は
32デクリメントされて32になる。そして、時刻t8より時
刻t9までの間に、スレーブデバイスcのアドレスC1+32
から32バイトのデータをリードしてデータ保持手段916
に格納し、時刻t9より時刻t10 までの間に、データ保持
手段916 に格納されている32バイトのデータをスレーブ
デバイスdのアドレスD1+32 に転送する。これが時刻t9
で完了すると、転送元アドレス保持手段921 の値は32イ
ンクリメントされてC1+64 になり、転送先アドレス保持
手段922 の値は32インクリメントされてD1+64 になり、
転送サイズ保持手段923 の値は32デクリメントされて0
となるため、スレーブ間転送が完了する。
【0076】(2) 次に、本実施の形態の第2の動作例
として、スレーブデバイスcのアドレスC1を先頭とする
64バイトのデータをスレーブデバイスdのアドレスD1の
先頭とする領域へスレーブ間転送している時に、マスタ
デバイスeが自分自身が保持している4 バイトのデータ
をスレーブデバイスcのアドレスC2を先頭とする領域に
バスブリッジ装置のマスタスレーブ間転送によってライ
トした場合の動作を説明する。
として、スレーブデバイスcのアドレスC1を先頭とする
64バイトのデータをスレーブデバイスdのアドレスD1の
先頭とする領域へスレーブ間転送している時に、マスタ
デバイスeが自分自身が保持している4 バイトのデータ
をスレーブデバイスcのアドレスC2を先頭とする領域に
バスブリッジ装置のマスタスレーブ間転送によってライ
トした場合の動作を説明する。
【0077】図11は第2の動作例のシステムバス
[a]とシステムバス[b]の動作状況を時間を横軸に
とって示したもので、以下この図を用いて、動作を説明
する。まず、時刻t1からt2の間に、スレーブデバイスc
からスレーブデバイスdへのスレーブ間転送を行うため
に、マスタデバイスe913 は、転送元アドレスであるC1
を転送元アドレス保持手段921 に、転送先アドレスであ
るD1を転送先アドレス保持手段922 に、転送サイズであ
る64を転送サイズ保持手段923 に、転送方向として0
(システムバス[a]からシステムバス[b]への転
送)を転送方向保持手段924 に、それぞれS(b)904を経
由して書き込む。そして、最後に、時刻t2に転送開始命
令をS(b)904を経由してスレーブ間転送制御手段919 に
与える。これによって、バスブリッジ装置はスレーブデ
バイスcからスレーブデバイスdへのスレーブ間転送を
開始する。そして、スレーブ間転送制御手段919 はM
(a)901にシステムバス[a]のバスマスタとなってスレ
ーブデバイスcのアドレスC1から32バイトのデータをリ
ードしてデータ保持手段916 に格納するように命令す
る。この時の転送サイズが32バイトであるのは、システ
ムバス[a]において1回のバスサイクルで転送できる
最大サイズが32バイトであるためである。すると、M
(a)901は、まず、システムバス[a]のバスマスタとな
るために、バスアービタ(a)914に対してバス獲得要求を
出す。この時、システムバス[a]は、未使用状態であ
るので、バスアービタ(a)914は、バスブリッジ装置にバ
ス使用権を与える。これにより、M(a)901はシステムバ
ス[a]のバスマスタとなってスレーブデバイスcのア
ドレスC1から32バイトのデータをリードしてデータ保持
手段916 に格納する。
[a]とシステムバス[b]の動作状況を時間を横軸に
とって示したもので、以下この図を用いて、動作を説明
する。まず、時刻t1からt2の間に、スレーブデバイスc
からスレーブデバイスdへのスレーブ間転送を行うため
に、マスタデバイスe913 は、転送元アドレスであるC1
を転送元アドレス保持手段921 に、転送先アドレスであ
るD1を転送先アドレス保持手段922 に、転送サイズであ
る64を転送サイズ保持手段923 に、転送方向として0
(システムバス[a]からシステムバス[b]への転
送)を転送方向保持手段924 に、それぞれS(b)904を経
由して書き込む。そして、最後に、時刻t2に転送開始命
令をS(b)904を経由してスレーブ間転送制御手段919 に
与える。これによって、バスブリッジ装置はスレーブデ
バイスcからスレーブデバイスdへのスレーブ間転送を
開始する。そして、スレーブ間転送制御手段919 はM
(a)901にシステムバス[a]のバスマスタとなってスレ
ーブデバイスcのアドレスC1から32バイトのデータをリ
ードしてデータ保持手段916 に格納するように命令す
る。この時の転送サイズが32バイトであるのは、システ
ムバス[a]において1回のバスサイクルで転送できる
最大サイズが32バイトであるためである。すると、M
(a)901は、まず、システムバス[a]のバスマスタとな
るために、バスアービタ(a)914に対してバス獲得要求を
出す。この時、システムバス[a]は、未使用状態であ
るので、バスアービタ(a)914は、バスブリッジ装置にバ
ス使用権を与える。これにより、M(a)901はシステムバ
ス[a]のバスマスタとなってスレーブデバイスcのア
ドレスC1から32バイトのデータをリードしてデータ保持
手段916 に格納する。
【0078】一方、システムバス[b]では、時刻t3に
マスタデバイスeが自分自身が保持している4 バイトの
データをスレーブデバイスcのアドレスC2を先頭とする
領域にバスブリッジ装置のマスタスレーブ間転送によっ
てライトするためのバスサイクルを開始したとする。こ
れによって、マスタスレーブ間転送制御手段908 は、動
作を開始しようとするが、この時データ保持手段916 は
スレーブ間転送によって使用されているので、ウエイト
状態に入る。そして、時刻t4で、システムバス[a]に
おけるスレーブデバイスcのアドレスC1から32バイトの
データのリードが完了すると、スレーブ間転送制御手段
919 はM(b)902にシステムバス[b]のバスマスタとな
ってデータ保持手段916 に格納されている32バイトのデ
ータをスレーブデバイスdのアドレスD1に転送するよう
に命令する。すると、M(b)902は、システムバス[b]
のバスマスタとなるために、バスアービタ(b)915に対し
てバス獲得要求を出す。
マスタデバイスeが自分自身が保持している4 バイトの
データをスレーブデバイスcのアドレスC2を先頭とする
領域にバスブリッジ装置のマスタスレーブ間転送によっ
てライトするためのバスサイクルを開始したとする。こ
れによって、マスタスレーブ間転送制御手段908 は、動
作を開始しようとするが、この時データ保持手段916 は
スレーブ間転送によって使用されているので、ウエイト
状態に入る。そして、時刻t4で、システムバス[a]に
おけるスレーブデバイスcのアドレスC1から32バイトの
データのリードが完了すると、スレーブ間転送制御手段
919 はM(b)902にシステムバス[b]のバスマスタとな
ってデータ保持手段916 に格納されている32バイトのデ
ータをスレーブデバイスdのアドレスD1に転送するよう
に命令する。すると、M(b)902は、システムバス[b]
のバスマスタとなるために、バスアービタ(b)915に対し
てバス獲得要求を出す。
【0079】しかし、この時、システムバス[b]はマ
スタデバイスeによって使用されているため、バス使用
権を獲得できない。このため、M(b)902は、バス使用権
を獲得できるまでウエイト状態となる。このように、マ
スタスレーブ間転送制御手段908 とスレーブ間転送制御
手段919 がともにウエイト状態となると、転送制御手段
920 は、データ保持手段916 に格納されているデータを
破棄して、マスタスレーブ間転送制御手段908 にデータ
保持手段916 の使用権を与える。同時に、転送制御手段
920 は、スレーブ間転送制御手段919 にデータ転送が中
止されたことを通知する。これによって、マスタスレー
ブ間転送制御手段908 は動作を再開し、S(b)901に動作
開始命令を送る。S(b)901は、マスタデバイスeから4
バイトのライトデータを受けとってデータ保持手段916
に保持して、動作を完了する(時刻t5)。これによっ
て、システムバス[b]のマスタデバイスeによるバス
サイクルが完了する。同時に、マスタスレーブ間転送制
御手段108 は、M(a)901に動作開始命令を送り、M(a)9
01はシステムバス[a]のバスマスタとなってデータ保
持手段916 に保持している4 バイトのデータをスレーブ
cのアドレスC2に転送する。そして時刻t6にこれが完了
する。そして、転送制御手段920 は、スレーブ間転送制
御手段919 にデータ転送動作の再実行を命令する。そし
て、スレーブ間転送制御手段919 は再度M(a)901にシス
テムバス[a]のバスマスタとなってスレーブデバイス
cのアドレスC1から32バイトのデータをリードしてデー
タ保持手段916 に格納するように命令する。これによ
り、M(a)901は、時刻t6から時刻t7の間にシステムバス
[a]のバスマスタとなってスレーブデバイスcのアド
レスC1から32バイトのデータをリードしてデータ保持手
段916 に格納する。
スタデバイスeによって使用されているため、バス使用
権を獲得できない。このため、M(b)902は、バス使用権
を獲得できるまでウエイト状態となる。このように、マ
スタスレーブ間転送制御手段908 とスレーブ間転送制御
手段919 がともにウエイト状態となると、転送制御手段
920 は、データ保持手段916 に格納されているデータを
破棄して、マスタスレーブ間転送制御手段908 にデータ
保持手段916 の使用権を与える。同時に、転送制御手段
920 は、スレーブ間転送制御手段919 にデータ転送が中
止されたことを通知する。これによって、マスタスレー
ブ間転送制御手段908 は動作を再開し、S(b)901に動作
開始命令を送る。S(b)901は、マスタデバイスeから4
バイトのライトデータを受けとってデータ保持手段916
に保持して、動作を完了する(時刻t5)。これによっ
て、システムバス[b]のマスタデバイスeによるバス
サイクルが完了する。同時に、マスタスレーブ間転送制
御手段108 は、M(a)901に動作開始命令を送り、M(a)9
01はシステムバス[a]のバスマスタとなってデータ保
持手段916 に保持している4 バイトのデータをスレーブ
cのアドレスC2に転送する。そして時刻t6にこれが完了
する。そして、転送制御手段920 は、スレーブ間転送制
御手段919 にデータ転送動作の再実行を命令する。そし
て、スレーブ間転送制御手段919 は再度M(a)901にシス
テムバス[a]のバスマスタとなってスレーブデバイス
cのアドレスC1から32バイトのデータをリードしてデー
タ保持手段916 に格納するように命令する。これによ
り、M(a)901は、時刻t6から時刻t7の間にシステムバス
[a]のバスマスタとなってスレーブデバイスcのアド
レスC1から32バイトのデータをリードしてデータ保持手
段916 に格納する。
【0080】次に、スレーブ間転送制御手段919 はM
(b)902にシステムバス[b]のバスマスタとなってデー
タ保持手段916 に格納されている32バイトのデータをス
レーブデバイスdのアドレスD1に転送するように命令す
る。これによって、M(b)902がシステムバス[b]のバ
スマスタとなってデータ保持手段916 に格納されている
32バイトのデータをスレーブデバイスdのアドレスD1に
転送する。これが時刻t8で完了すると、転送元アドレス
保持手段921 の値は32インクリメントされてC1+32 にな
り、転送先アドレス保持手段922 の値は32インクリメン
トされてD1+32 になり、転送サイズ保持手段923 の値は
32デクリメントされて32になる。そして、時刻t8より時
刻t9までの間に、スレーブデバイスcのアドレスC1+32
から32バイトのデータをリードしてデータ保持手段916
に格納し、時刻t9より時刻t10 までの間に、データ保持
手段916 に格納されている32バイトのデータをスレーブ
デバイスdのアドレスD1+32 に転送する。これが時刻t9
で完了すると、転送元アドレス保持手段921 の値は32イ
ンクリメントされてC1+64 になり、転送先アドレス保持
手段922 の値は32インクリメントされてD1+64 になり、
転送サイズ保持手段923 の値は32デクリメントされて0
となるため、スレーブ間転送が完了する。
(b)902にシステムバス[b]のバスマスタとなってデー
タ保持手段916 に格納されている32バイトのデータをス
レーブデバイスdのアドレスD1に転送するように命令す
る。これによって、M(b)902がシステムバス[b]のバ
スマスタとなってデータ保持手段916 に格納されている
32バイトのデータをスレーブデバイスdのアドレスD1に
転送する。これが時刻t8で完了すると、転送元アドレス
保持手段921 の値は32インクリメントされてC1+32 にな
り、転送先アドレス保持手段922 の値は32インクリメン
トされてD1+32 になり、転送サイズ保持手段923 の値は
32デクリメントされて32になる。そして、時刻t8より時
刻t9までの間に、スレーブデバイスcのアドレスC1+32
から32バイトのデータをリードしてデータ保持手段916
に格納し、時刻t9より時刻t10 までの間に、データ保持
手段916 に格納されている32バイトのデータをスレーブ
デバイスdのアドレスD1+32 に転送する。これが時刻t9
で完了すると、転送元アドレス保持手段921 の値は32イ
ンクリメントされてC1+64 になり、転送先アドレス保持
手段922 の値は32インクリメントされてD1+64 になり、
転送サイズ保持手段923 の値は32デクリメントされて0
となるため、スレーブ間転送が完了する。
【0081】このような実施の形態7によれば、データ
保持手段を1つのみ備え、データ転送制御手段によっ
て、マスタスレーブ間転送とスレーブ間転送が同時に行
なわれ、かつデッドロック状態が発生した場合には、す
でにスレーブ間転送によってデータ保持手段に転送され
たデータを破棄して、マスタスレーブ間転送を優先して
実行することにより、内部にバスアービタ機能を持たな
くても、デッドロック状態を回避することができる。
保持手段を1つのみ備え、データ転送制御手段によっ
て、マスタスレーブ間転送とスレーブ間転送が同時に行
なわれ、かつデッドロック状態が発生した場合には、す
でにスレーブ間転送によってデータ保持手段に転送され
たデータを破棄して、マスタスレーブ間転送を優先して
実行することにより、内部にバスアービタ機能を持たな
くても、デッドロック状態を回避することができる。
【0082】
【発明の効果】以上のように、本発明の請求項1に係る
バスブリッジ装置によれば、互いに独立した2つのシス
テムバス間を接続するバスブリッジ装置において、互い
のバスのマスタおよびスレーブになる機能を持ち、か
つ、ベースアドレスを保持する手段と、バスアドレスを
生成する手段とを具備し、2つのシステムバスのバスア
ービタは本バスブリッジ装置の外部にあって本バスブリ
ッジ装置とは独立に動作し、上記の互いに独立した2つ
のシステムバスのうち、一方のシステムバス[a]上に
存在するあるスレーブデバイス[s]にアクセスするた
めに、上記の互いに独立した2つのシステムバスのう
ち、他方のシステムバス[b]上に存在するあるマスタ
ーデバイス[m]が本バスブリッジ装置にアクセスして
きた際に、マスターデバイス[m]から受けとったアド
レスからオフセットを生成し、上記オフセットと、上記
のベースアドレスを保持する手段にあらかじめ格納され
たベースアドレスとを合わせて、上記のバスアドレスを
生成する手段によりスレーブデバイス[s]内のアクセ
ス先のアドレスを生成し、システムバス[a]上ではバ
スマスタとなって、上記のバスアドレスを生成する手段
により生成されたアドレスを発行してスレーブデバイス
[s]にアクセスし、システムバス[b]上ではマスタ
ーデバイス[m]のスレーブとして振舞うことにより、
マスターデバイス[m]とスレーブデバイス[s]との
間のデータ転送を仲介するようにしたので、システムの
設計をし直すことなく、それぞれ独立したアービトレー
ション機能を持つシステムバスの相互のアクセスを実現
できる効果がある。
バスブリッジ装置によれば、互いに独立した2つのシス
テムバス間を接続するバスブリッジ装置において、互い
のバスのマスタおよびスレーブになる機能を持ち、か
つ、ベースアドレスを保持する手段と、バスアドレスを
生成する手段とを具備し、2つのシステムバスのバスア
ービタは本バスブリッジ装置の外部にあって本バスブリ
ッジ装置とは独立に動作し、上記の互いに独立した2つ
のシステムバスのうち、一方のシステムバス[a]上に
存在するあるスレーブデバイス[s]にアクセスするた
めに、上記の互いに独立した2つのシステムバスのう
ち、他方のシステムバス[b]上に存在するあるマスタ
ーデバイス[m]が本バスブリッジ装置にアクセスして
きた際に、マスターデバイス[m]から受けとったアド
レスからオフセットを生成し、上記オフセットと、上記
のベースアドレスを保持する手段にあらかじめ格納され
たベースアドレスとを合わせて、上記のバスアドレスを
生成する手段によりスレーブデバイス[s]内のアクセ
ス先のアドレスを生成し、システムバス[a]上ではバ
スマスタとなって、上記のバスアドレスを生成する手段
により生成されたアドレスを発行してスレーブデバイス
[s]にアクセスし、システムバス[b]上ではマスタ
ーデバイス[m]のスレーブとして振舞うことにより、
マスターデバイス[m]とスレーブデバイス[s]との
間のデータ転送を仲介するようにしたので、システムの
設計をし直すことなく、それぞれ独立したアービトレー
ション機能を持つシステムバスの相互のアクセスを実現
できる効果がある。
【0083】また、本発明の請求項2に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]上に存在するあるスレー
ブデバイス[s]からデータを読み出すために、上記の
互いに独立した2つのシステムバスのうちのもう一方の
システムバス[b]上に存在するあるマスターデバイス
[m]が本バスブリッジ装置をスレーブデバイスとして
アクセスすることにより、本バスブリッジ装置がシステ
ムバス[a]のバスマスタになろうとしてシステムバス
[a]のアービタにバス獲得要求をし、システムバス
[a]の使用権の獲得に時間を要し、その間にシステム
バス[b]においてバスタイムアウトエラーが発生する
可能性がある際に、システムバス[b]上においてはマ
スターデバイス[m]に対して再送要求を返してバスサ
イクルを一旦終了させ、システムバス[a]上において
は、本バスブリッジ装置がシステムバス[a]の使用権
を獲得する以前であればバス獲得要求を取り下げ、シス
テムバス[a]の使用権を獲得した後であれば、スレー
ブデバイス[s]からデータをリードし、読み出したデ
ータを内部に取り込まずに破棄することによりシステム
バス[a]のバスサイクルを終了させるようにしたの
で、システムの設計をし直すことなく、それぞれ独立し
たアービトレーション機能を持つシステムバスの相互の
アクセスを実現できるとともに、アクセスされるスレー
ブデバイスが存在する側のシステムバスが混んでいても
バスタイムアウトエラーを起こす可能性を回避すること
ができる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]上に存在するあるスレー
ブデバイス[s]からデータを読み出すために、上記の
互いに独立した2つのシステムバスのうちのもう一方の
システムバス[b]上に存在するあるマスターデバイス
[m]が本バスブリッジ装置をスレーブデバイスとして
アクセスすることにより、本バスブリッジ装置がシステ
ムバス[a]のバスマスタになろうとしてシステムバス
[a]のアービタにバス獲得要求をし、システムバス
[a]の使用権の獲得に時間を要し、その間にシステム
バス[b]においてバスタイムアウトエラーが発生する
可能性がある際に、システムバス[b]上においてはマ
スターデバイス[m]に対して再送要求を返してバスサ
イクルを一旦終了させ、システムバス[a]上において
は、本バスブリッジ装置がシステムバス[a]の使用権
を獲得する以前であればバス獲得要求を取り下げ、シス
テムバス[a]の使用権を獲得した後であれば、スレー
ブデバイス[s]からデータをリードし、読み出したデ
ータを内部に取り込まずに破棄することによりシステム
バス[a]のバスサイクルを終了させるようにしたの
で、システムの設計をし直すことなく、それぞれ独立し
たアービトレーション機能を持つシステムバスの相互の
アクセスを実現できるとともに、アクセスされるスレー
ブデバイスが存在する側のシステムバスが混んでいても
バスタイムアウトエラーを起こす可能性を回避すること
ができる効果がある。
【0084】また、本発明の請求項3に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]は、バス獲得要求を出し
てバス使用権を獲得したマスターデバイスが、スレーブ
デバイスへのアクセスのサイクル開始権利を持つバスで
あり、本バスブリッジ装置は、システムバス[a]のバ
ス使用権を獲得した際に、スレーブデバイスへのアクセ
スのサイクル開始を一時保留する機能を持つバスサイク
ル発生手段を備えるものであって、システムバス[a]
上に存在するあるスレーブデバイス[s]にアクセスす
るために、上記の互いに独立した2つのシステムバスの
うちの他方のシステムバス[b]上に存在するあるマス
ターデバイス[m]が本バスブリッジ装置をスレーブデ
バイスとしてアクセスすることにより、本バスブリッジ
装置がシステムバス[a]のバスマスタになろうとして
システムバス[a]のアービタにバス獲得要求をし、シ
ステムバス[a]の使用権の獲得に時間を要し、その間
にシステムバス[b]においてバスタイムアウトエラー
が発生する可能性がある際に、システムバス[b]上に
おいてはマスターデバイス[m]に対して再送要求を返
してバスサイクルを一旦終了させ、システムバス[a]
上においては、本バスブリッジ装置がシステムバス
[a]の使用権を獲得する以前であれば、バス獲得要求
を取り下げ、システムバス[a]の使用権を獲得した後
であれば、上記のバスサイクル発生手段により、バス使
用権を獲得したままスレーブデバイスへのアクセスのサ
イクル開始を一時保留し、その後、システムバス[a]
のアービタによってバス使用権を剥奪される以前に、シ
ステムバス[b]上のあるマスターデバイスがシステム
バス[a]上のあるスレーブデバイスにアクセスするた
めに本バスブリッジ装置にアクセスして来た時には、シ
ステムバス[a]上のスレーブデバイスへのアクセスの
サイクルを開始するようにしたので、システムの設計を
し直すことなく、それぞれ独立したアービトレーション
機能を持つシステムバスの相互のアクセスを実現できる
とともに、アクセスされるスレーブデバイスが存在する
側のシステムバスが混んでいてもバスタイムアウトエラ
ーを起こす可能性を回避することができる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]は、バス獲得要求を出し
てバス使用権を獲得したマスターデバイスが、スレーブ
デバイスへのアクセスのサイクル開始権利を持つバスで
あり、本バスブリッジ装置は、システムバス[a]のバ
ス使用権を獲得した際に、スレーブデバイスへのアクセ
スのサイクル開始を一時保留する機能を持つバスサイク
ル発生手段を備えるものであって、システムバス[a]
上に存在するあるスレーブデバイス[s]にアクセスす
るために、上記の互いに独立した2つのシステムバスの
うちの他方のシステムバス[b]上に存在するあるマス
ターデバイス[m]が本バスブリッジ装置をスレーブデ
バイスとしてアクセスすることにより、本バスブリッジ
装置がシステムバス[a]のバスマスタになろうとして
システムバス[a]のアービタにバス獲得要求をし、シ
ステムバス[a]の使用権の獲得に時間を要し、その間
にシステムバス[b]においてバスタイムアウトエラー
が発生する可能性がある際に、システムバス[b]上に
おいてはマスターデバイス[m]に対して再送要求を返
してバスサイクルを一旦終了させ、システムバス[a]
上においては、本バスブリッジ装置がシステムバス
[a]の使用権を獲得する以前であれば、バス獲得要求
を取り下げ、システムバス[a]の使用権を獲得した後
であれば、上記のバスサイクル発生手段により、バス使
用権を獲得したままスレーブデバイスへのアクセスのサ
イクル開始を一時保留し、その後、システムバス[a]
のアービタによってバス使用権を剥奪される以前に、シ
ステムバス[b]上のあるマスターデバイスがシステム
バス[a]上のあるスレーブデバイスにアクセスするた
めに本バスブリッジ装置にアクセスして来た時には、シ
ステムバス[a]上のスレーブデバイスへのアクセスの
サイクルを開始するようにしたので、システムの設計を
し直すことなく、それぞれ独立したアービトレーション
機能を持つシステムバスの相互のアクセスを実現できる
とともに、アクセスされるスレーブデバイスが存在する
側のシステムバスが混んでいてもバスタイムアウトエラ
ーを起こす可能性を回避することができる効果がある。
【0085】また、本発明の請求項4に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、転送データを一時保持するデータ保持手段と、
システムバス[a]のバスマスタとなって本バスブリッ
ジ装置自身にアクセスしてきたマスターデバイス名を記
憶する手段とを備え、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]上に存在す
るあるスレーブデバイス[s]からデータを読み出すた
めに、上記の互いに独立した2つのシステムバスのうち
の他方のシステムバス[b]上に存在するあるマスター
デバイス[m]が本バスブリッジ装置をスレーブデバイ
スとしてアクセスすることにより、本バスブリッジ装置
がシステムバス[a]のバスマスタになろうとしてシス
テムバス[a]のアービタにバス獲得要求をし、システ
ムバス[a]の使用権の獲得に時間を要し、その間にシ
ステムバス[b]においてバスタイムアウトエラーが発
生する可能性がある際に、システムバス[b]上におい
てはマスターデバイス[m]に対して再送要求を返して
バスサイクルを一旦終了させ、かつマスターデバイス
[m]に対し再送要求を返したことを上記のマスターデ
バイス名を記憶する手段に記憶し、システムバス[a]
上においては本バスブリッジ装置がバス獲得要求をその
まま出し続けてシステムバス[a]の使用権をあらかじ
め獲得し、スレーブデバイス[s]からデータを読み出
して上記のデータ保持手段に蓄えておき、システムバス
[b]上においてマスターデバイス[m]以外のマスタ
ーデバイスがシステムバス[b]の使用権を獲得して本
バスブリッジ装置にアクセスしてきた際には再送要求を
返し、マスターデバイス[m]がシステムバス[b]の
使用権を獲得して本バスブリッジ装置に再度アクセスし
て来た際に、スレーブデバイス[s]からのデータを上
記のデータ保持手段に読み込む前であれば再送要求を返
し、読み込み後であれば、上記データ保持手段に蓄えら
れたデータをマスターデバイス[m]に転送し、かつ、
上記のマスターデバイス名を記憶する手段の記憶内容を
無効にするようにしたので、システムの設計をし直すこ
となく、それぞれ独立したアービトレーション機能を持
つシステムバスの相互のアクセスを実現できるととも
に、アクセスされるスレーブデバイスが存在する側のシ
ステムバスが混んでいてもバスタイムアウトエラーを起
こす可能性を回避することができ、かつ、必ず一定時間
内に上記マスターデバイス[m]が上記スレーブデバイ
ス[s]にアクセスできる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、転送データを一時保持するデータ保持手段と、
システムバス[a]のバスマスタとなって本バスブリッ
ジ装置自身にアクセスしてきたマスターデバイス名を記
憶する手段とを備え、上記の互いに独立した2つのシス
テムバスのうち、一方のシステムバス[a]上に存在す
るあるスレーブデバイス[s]からデータを読み出すた
めに、上記の互いに独立した2つのシステムバスのうち
の他方のシステムバス[b]上に存在するあるマスター
デバイス[m]が本バスブリッジ装置をスレーブデバイ
スとしてアクセスすることにより、本バスブリッジ装置
がシステムバス[a]のバスマスタになろうとしてシス
テムバス[a]のアービタにバス獲得要求をし、システ
ムバス[a]の使用権の獲得に時間を要し、その間にシ
ステムバス[b]においてバスタイムアウトエラーが発
生する可能性がある際に、システムバス[b]上におい
てはマスターデバイス[m]に対して再送要求を返して
バスサイクルを一旦終了させ、かつマスターデバイス
[m]に対し再送要求を返したことを上記のマスターデ
バイス名を記憶する手段に記憶し、システムバス[a]
上においては本バスブリッジ装置がバス獲得要求をその
まま出し続けてシステムバス[a]の使用権をあらかじ
め獲得し、スレーブデバイス[s]からデータを読み出
して上記のデータ保持手段に蓄えておき、システムバス
[b]上においてマスターデバイス[m]以外のマスタ
ーデバイスがシステムバス[b]の使用権を獲得して本
バスブリッジ装置にアクセスしてきた際には再送要求を
返し、マスターデバイス[m]がシステムバス[b]の
使用権を獲得して本バスブリッジ装置に再度アクセスし
て来た際に、スレーブデバイス[s]からのデータを上
記のデータ保持手段に読み込む前であれば再送要求を返
し、読み込み後であれば、上記データ保持手段に蓄えら
れたデータをマスターデバイス[m]に転送し、かつ、
上記のマスターデバイス名を記憶する手段の記憶内容を
無効にするようにしたので、システムの設計をし直すこ
となく、それぞれ独立したアービトレーション機能を持
つシステムバスの相互のアクセスを実現できるととも
に、アクセスされるスレーブデバイスが存在する側のシ
ステムバスが混んでいてもバスタイムアウトエラーを起
こす可能性を回避することができ、かつ、必ず一定時間
内に上記マスターデバイス[m]が上記スレーブデバイ
ス[s]にアクセスできる効果がある。
【0086】また、本発明の請求項5に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]は、バス獲得要求を出し
てバス使用権を獲得したマスターデバイスが、スレーブ
デバイスへのアクセスのサイクル開始権利を持つバスで
あり、本バスブリッジ装置は、システムバス[a]のバ
ス使用権を獲得した際に、スレーブデバイスへのアクセ
スのサイクル開始を一時保留する機能を持つバスサイク
ル発生手段と、システムバス[a]のバスマスタとなっ
て本バスブリッジ装置自身にアクセスしてきたマスター
デバイス名を記憶する手段とを備えるものであって、シ
ステムバス[a]上に存在するあるスレーブデバイス
[s]にアクセスするために、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]上
に存在するあるマスターデバイス[m]が本バスブリッ
ジ装置をスレーブデバイスとしてアクセスすることによ
り、本バスブリッジ装置がシステムバス[a]のバスマ
スタになろうとしてシステムバス[a]のアービタにバ
ス獲得要求をし、システムバス[a]の使用権の獲得に
時間を要し、その間にシステムバス[b]においてバス
タイムアウトエラーが発生する可能性がある際に、シス
テムバス[b]上においてはマスターデバイス[m]に
対して再送要求を返してバスサイクルを一旦終了させ、
かつマスターデバイス[m]に対し再送要求を返したこ
とを上記のマスターデバイス名を記憶する手段に記憶
し、システムバス[a]上においては本バスブリッジ装
置がバス獲得要求をそのまま出し続けてシステムバス
[a]の使用権をあらかじめ獲得し、上記のバスサイク
ル発生手段により、バス使用権を獲得したままスレーブ
デバイスへのアクセスのサイクル開始を一時保留し、そ
の後、システムバス[a]のアービタによりバス使用権
を剥奪された際には、再度システムバス[a]のアービ
タに対しバス獲得要求を出して、システムバス[a]の
バス使用権を獲得し、かつ上記のバスサイクル発生手段
により、バス使用権を獲得したままサイクル開始を一時
保留し、システムバス[b]上においてマスターデバイ
ス[m]以外のマスターデバイスがシステムバス[b]
の使用権を獲得して本バスブリッジ装置にアクセスして
きた際には再送要求を返し、マスターデバイス[m]が
システムバス[b]の使用権を獲得して本バスブリッジ
装置に再度アクセスして来た際に、システムバス[a]
の使用権を獲得する前であれば再送要求を返し、使用権
を獲得済みであれば受け付けて、システムバス[a]上
のスレーブデバイス[s]へのアクセスを開始し、か
つ、上記のマスターデバイス名を記憶する手段の記憶内
容を無効にするようにしたので、システムの設計をし直
すことなく、それぞれ独立したアービトレーション機能
を持つシステムバスの相互のアクセスを実現できるとと
もに、アクセスされるスレーブデバイスが存在する側の
システムバスが混んでいてもバスタイムアウトエラーを
起こす可能性を回避することができ、かつ、必ず一定時
間内に上記マスターデバイス[m]が上記スレーブデバ
イス[s]にアクセスできる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバスのう
ち、一方のシステムバス[a]は、バス獲得要求を出し
てバス使用権を獲得したマスターデバイスが、スレーブ
デバイスへのアクセスのサイクル開始権利を持つバスで
あり、本バスブリッジ装置は、システムバス[a]のバ
ス使用権を獲得した際に、スレーブデバイスへのアクセ
スのサイクル開始を一時保留する機能を持つバスサイク
ル発生手段と、システムバス[a]のバスマスタとなっ
て本バスブリッジ装置自身にアクセスしてきたマスター
デバイス名を記憶する手段とを備えるものであって、シ
ステムバス[a]上に存在するあるスレーブデバイス
[s]にアクセスするために、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]上
に存在するあるマスターデバイス[m]が本バスブリッ
ジ装置をスレーブデバイスとしてアクセスすることによ
り、本バスブリッジ装置がシステムバス[a]のバスマ
スタになろうとしてシステムバス[a]のアービタにバ
ス獲得要求をし、システムバス[a]の使用権の獲得に
時間を要し、その間にシステムバス[b]においてバス
タイムアウトエラーが発生する可能性がある際に、シス
テムバス[b]上においてはマスターデバイス[m]に
対して再送要求を返してバスサイクルを一旦終了させ、
かつマスターデバイス[m]に対し再送要求を返したこ
とを上記のマスターデバイス名を記憶する手段に記憶
し、システムバス[a]上においては本バスブリッジ装
置がバス獲得要求をそのまま出し続けてシステムバス
[a]の使用権をあらかじめ獲得し、上記のバスサイク
ル発生手段により、バス使用権を獲得したままスレーブ
デバイスへのアクセスのサイクル開始を一時保留し、そ
の後、システムバス[a]のアービタによりバス使用権
を剥奪された際には、再度システムバス[a]のアービ
タに対しバス獲得要求を出して、システムバス[a]の
バス使用権を獲得し、かつ上記のバスサイクル発生手段
により、バス使用権を獲得したままサイクル開始を一時
保留し、システムバス[b]上においてマスターデバイ
ス[m]以外のマスターデバイスがシステムバス[b]
の使用権を獲得して本バスブリッジ装置にアクセスして
きた際には再送要求を返し、マスターデバイス[m]が
システムバス[b]の使用権を獲得して本バスブリッジ
装置に再度アクセスして来た際に、システムバス[a]
の使用権を獲得する前であれば再送要求を返し、使用権
を獲得済みであれば受け付けて、システムバス[a]上
のスレーブデバイス[s]へのアクセスを開始し、か
つ、上記のマスターデバイス名を記憶する手段の記憶内
容を無効にするようにしたので、システムの設計をし直
すことなく、それぞれ独立したアービトレーション機能
を持つシステムバスの相互のアクセスを実現できるとと
もに、アクセスされるスレーブデバイスが存在する側の
システムバスが混んでいてもバスタイムアウトエラーを
起こす可能性を回避することができ、かつ、必ず一定時
間内に上記マスターデバイス[m]が上記スレーブデバ
イス[s]にアクセスできる効果がある。
【0087】また、本発明の請求項6に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバス
[a],[b]において、両方のシステムバスのマスタ
となってシステムバス[a]上に存在するスレーブデバ
イス[c]とシステムバス[b]上に存在するスレーブ
デバイス[d]との間でデータを転送する場合に転送デ
ータを一時保持するスレーブ間転送用データ保持手段
と、システムバス[a]においてはマスタとなり、シス
テムバス[b]においてはスレーブとなることにより、
システムバス[a]上に存在するスレーブデバイス
[c]とシステムバス[b]上に存在するマスターデバ
イス[e]との間でデータを転送する場合に転送データ
を一時保持するマスタ・スレーブ間転送用データ保持手
段とを備え、上記の互いに独立した2つのシステムバス
のうち、一方のシステムバス[a]のマスタとなって、
システムバス[a]上に存在するスレーブデバイス
[c]からデータをリードして上記スレーブ間転送用デ
ータ保持手段に格納し、次に、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]の
マスタとなって、上記データ保持手段に格納されている
データをシステムバス[b]上に存在するスレーブデバ
イス[d]へライトするデータ転送機能により、上記ス
レーブデバイス[c]に格納されているデータを、上記
スレーブデバイス[d]に転送する際に、スレーブデバ
イス[c]からデータをリードして上記スレーブ間転送
用データ保持手段に格納した後に、システムバス[b]
のマスタとなるためにシステムバス[b]のアービタに
バス獲得要求をした時に、システムバス[b]上に存在
するあるマスターデバイス[e]がシステムバス[a]
上に存在するスレーブデバイス[f]にデータをライト
するためにすでにシステムバス[b]の使用権を獲得し
ている場合には、上記スレーブ間転送用データ保持手段
のデータを保持した状態で、スレーブデバイス[c]か
らスレーブデバイス[d]への転送を中断し、システム
バス[b]のスレーブとなってマスターデバイス[e]
がスレーブデバイス[f]にライトするデータを上記マ
スタ・スレーブ間転送用データ保持手段に格納してマス
ターデバイス[e]のシステムバス[b]における転送
を完了させ、システムバス[b]の使用権を獲得後にシ
ステムバス[b]のマスタとなって、上記スレーブ間転
送用データ保持手段に保持しているデータをスレーブデ
バイス[d]へ転送し、システムバス[b]上に存在す
るあるマスターデバイス[e]がシステムバス[a]上
に存在するスレーブデバイス[f]からデータをリード
するためにすでにシステムバス[b]の使用権を獲得し
ている場合には、上記スレーブ間転送用データ保持手段
のデータを保持した状態で、スレーブデバイス[c]か
らスレーブデバイス[d]への転送を中断し、システム
バス[a]のマスタとなってスレーブデバイス[f]か
らデータをリードして上記マスタ・スレーブ間転送用デ
ータ保持手段に格納し、システムバス[b]のスレーブ
となってマスターデバイス[e]に上記マスタ・スレー
ブ間転送用データ保持手段のデータを転送して、マスタ
ーデバイス[e]のシステムバス[b]における転送を
完了させ、システムバス[b]の使用権を獲得後にシス
テムバス[b]のマスタとなって、上記スレーブ間転送
用データ保持手段に保持しているデータをスレーブデバ
イス[d]へ転送するようにしたので、システムの設計
をし直すことなく、それぞれ独立したアービトレーショ
ン機能を持つシステムバスの相互のアクセスを実現でき
るとともに、上記のシステムバス[a],[b]間で、
スレーブデバイスからスレーブデバイスへの転送と、マ
スターデバイスとスレーブデバイス間の転送が、互いに
反対側のバスから同時に発生した場合にも、デッドロッ
クを回避することができる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、上記の互いに独立した2つのシステムバス
[a],[b]において、両方のシステムバスのマスタ
となってシステムバス[a]上に存在するスレーブデバ
イス[c]とシステムバス[b]上に存在するスレーブ
デバイス[d]との間でデータを転送する場合に転送デ
ータを一時保持するスレーブ間転送用データ保持手段
と、システムバス[a]においてはマスタとなり、シス
テムバス[b]においてはスレーブとなることにより、
システムバス[a]上に存在するスレーブデバイス
[c]とシステムバス[b]上に存在するマスターデバ
イス[e]との間でデータを転送する場合に転送データ
を一時保持するマスタ・スレーブ間転送用データ保持手
段とを備え、上記の互いに独立した2つのシステムバス
のうち、一方のシステムバス[a]のマスタとなって、
システムバス[a]上に存在するスレーブデバイス
[c]からデータをリードして上記スレーブ間転送用デ
ータ保持手段に格納し、次に、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]の
マスタとなって、上記データ保持手段に格納されている
データをシステムバス[b]上に存在するスレーブデバ
イス[d]へライトするデータ転送機能により、上記ス
レーブデバイス[c]に格納されているデータを、上記
スレーブデバイス[d]に転送する際に、スレーブデバ
イス[c]からデータをリードして上記スレーブ間転送
用データ保持手段に格納した後に、システムバス[b]
のマスタとなるためにシステムバス[b]のアービタに
バス獲得要求をした時に、システムバス[b]上に存在
するあるマスターデバイス[e]がシステムバス[a]
上に存在するスレーブデバイス[f]にデータをライト
するためにすでにシステムバス[b]の使用権を獲得し
ている場合には、上記スレーブ間転送用データ保持手段
のデータを保持した状態で、スレーブデバイス[c]か
らスレーブデバイス[d]への転送を中断し、システム
バス[b]のスレーブとなってマスターデバイス[e]
がスレーブデバイス[f]にライトするデータを上記マ
スタ・スレーブ間転送用データ保持手段に格納してマス
ターデバイス[e]のシステムバス[b]における転送
を完了させ、システムバス[b]の使用権を獲得後にシ
ステムバス[b]のマスタとなって、上記スレーブ間転
送用データ保持手段に保持しているデータをスレーブデ
バイス[d]へ転送し、システムバス[b]上に存在す
るあるマスターデバイス[e]がシステムバス[a]上
に存在するスレーブデバイス[f]からデータをリード
するためにすでにシステムバス[b]の使用権を獲得し
ている場合には、上記スレーブ間転送用データ保持手段
のデータを保持した状態で、スレーブデバイス[c]か
らスレーブデバイス[d]への転送を中断し、システム
バス[a]のマスタとなってスレーブデバイス[f]か
らデータをリードして上記マスタ・スレーブ間転送用デ
ータ保持手段に格納し、システムバス[b]のスレーブ
となってマスターデバイス[e]に上記マスタ・スレー
ブ間転送用データ保持手段のデータを転送して、マスタ
ーデバイス[e]のシステムバス[b]における転送を
完了させ、システムバス[b]の使用権を獲得後にシス
テムバス[b]のマスタとなって、上記スレーブ間転送
用データ保持手段に保持しているデータをスレーブデバ
イス[d]へ転送するようにしたので、システムの設計
をし直すことなく、それぞれ独立したアービトレーショ
ン機能を持つシステムバスの相互のアクセスを実現でき
るとともに、上記のシステムバス[a],[b]間で、
スレーブデバイスからスレーブデバイスへの転送と、マ
スターデバイスとスレーブデバイス間の転送が、互いに
反対側のバスから同時に発生した場合にも、デッドロッ
クを回避することができる効果がある。
【0088】また、本発明の請求項7に係るバスブリッ
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、転送データを一時保持するデータ保持手段を備
え、上記の互いに独立した2つのシステムバスのうち、
一方のシステムバス[a]のマスタとなって、システム
バス[a]上に存在するスレーブデバイス[c]からデ
ータをリードして上記データ保持手段に格納し、次に、
上記の互いに独立した2つのシステムバスのうちの他方
のシステムバス[b]のマスタとなって、上記データ保
持手段に格納されているデータをシステムバス[b]上
に存在するスレーブデバイス[d]へライトするデータ
転送機能により、上記スレーブデバイス[c]に格納さ
れているデータを、上記スレーブデバイス[d]に転送
する際に、本バスブリッジ装置がスレーブデバイス
[c]からデータをリードして上記データ保持手段に格
納した後に、システムバス[b]のマスタとなるために
システムバス[b]のアービタにバス獲得要求をした時
に、システムバス[b]上に存在するあるマスターデバ
イス[e]がシステムバス[a]上に存在するスレーブ
デバイス[f]にデータをライトするためにすでにシス
テムバス[b]の使用権を獲得している場合には、シス
テムバス[b]のマスタになるためのすべての動作を中
止し、システムバス[b]のスレーブとしてマスターデ
バイス[e]がスレーブデバイス[f]にライトするデ
ータを上記データ保持手段に上書きし、システムバス
[a]のマスタとなって、上記データ保持手段に格納さ
れているデータをスレーブデバイス[f]にライトし
て、マスターデバイス[e]のスレーブデバイス[f]
へのライトを完了させた後に、システムバス[a]のマ
スタとなり、スレーブデバイス[c]からデータを再度
リードして上記データ保持手段に格納し、さらにシステ
ムバス[b]のマスタとなって上記データ保持手段から
スレーブデバイス[d]への転送を再実行し、システム
バス[b]上に存在するあるマスターデバイス[e]が
システムバス[a]上に存在するスレーブデバイス
[f]からデータをリードするためにすでにシステムバ
ス[b]の使用権を獲得している場合には、システムバ
ス[b]のマスタになるためのすべての動作を中止し、
システムバス[a]のマスタとなって、スレーブデバイ
ス[f]からデータをリードして上記データ保持手段に
上書きし、その後、システムバス[b]のスレーブとな
って上記データ保持手段に上書きしたデータをマスター
デバイス[e]に転送して、マスターデバイス[e]の
スレーブデバイス[f]からのリードを完了させ、その
後に、システムバス[a]のマスタとなり、スレーブデ
バイス[c]からデータを再度リードして上記データ保
持手段に格納し、さらにシステムバス[b]のマスタと
なって上記データ保持手段からスレーブデバイス[d]
への転送を再実行するようにしたので、システムの設計
をし直すことなく、それぞれ独立したアービトレーショ
ン機能を持つシステムバスの相互のアクセスを実現でき
るとともに、上記のシステムバス[a],[b]間で、
スレーブデバイスからスレーブデバイスへの転送と、マ
スターデバイスとスレーブデバイス間の転送が、互いに
反対側のバスから同時に発生した場合にも、デッドロッ
クを回避することができる効果がある。
ジ装置によれば、請求項1に記載のバスブリッジ装置に
おいて、転送データを一時保持するデータ保持手段を備
え、上記の互いに独立した2つのシステムバスのうち、
一方のシステムバス[a]のマスタとなって、システム
バス[a]上に存在するスレーブデバイス[c]からデ
ータをリードして上記データ保持手段に格納し、次に、
上記の互いに独立した2つのシステムバスのうちの他方
のシステムバス[b]のマスタとなって、上記データ保
持手段に格納されているデータをシステムバス[b]上
に存在するスレーブデバイス[d]へライトするデータ
転送機能により、上記スレーブデバイス[c]に格納さ
れているデータを、上記スレーブデバイス[d]に転送
する際に、本バスブリッジ装置がスレーブデバイス
[c]からデータをリードして上記データ保持手段に格
納した後に、システムバス[b]のマスタとなるために
システムバス[b]のアービタにバス獲得要求をした時
に、システムバス[b]上に存在するあるマスターデバ
イス[e]がシステムバス[a]上に存在するスレーブ
デバイス[f]にデータをライトするためにすでにシス
テムバス[b]の使用権を獲得している場合には、シス
テムバス[b]のマスタになるためのすべての動作を中
止し、システムバス[b]のスレーブとしてマスターデ
バイス[e]がスレーブデバイス[f]にライトするデ
ータを上記データ保持手段に上書きし、システムバス
[a]のマスタとなって、上記データ保持手段に格納さ
れているデータをスレーブデバイス[f]にライトし
て、マスターデバイス[e]のスレーブデバイス[f]
へのライトを完了させた後に、システムバス[a]のマ
スタとなり、スレーブデバイス[c]からデータを再度
リードして上記データ保持手段に格納し、さらにシステ
ムバス[b]のマスタとなって上記データ保持手段から
スレーブデバイス[d]への転送を再実行し、システム
バス[b]上に存在するあるマスターデバイス[e]が
システムバス[a]上に存在するスレーブデバイス
[f]からデータをリードするためにすでにシステムバ
ス[b]の使用権を獲得している場合には、システムバ
ス[b]のマスタになるためのすべての動作を中止し、
システムバス[a]のマスタとなって、スレーブデバイ
ス[f]からデータをリードして上記データ保持手段に
上書きし、その後、システムバス[b]のスレーブとな
って上記データ保持手段に上書きしたデータをマスター
デバイス[e]に転送して、マスターデバイス[e]の
スレーブデバイス[f]からのリードを完了させ、その
後に、システムバス[a]のマスタとなり、スレーブデ
バイス[c]からデータを再度リードして上記データ保
持手段に格納し、さらにシステムバス[b]のマスタと
なって上記データ保持手段からスレーブデバイス[d]
への転送を再実行するようにしたので、システムの設計
をし直すことなく、それぞれ独立したアービトレーショ
ン機能を持つシステムバスの相互のアクセスを実現でき
るとともに、上記のシステムバス[a],[b]間で、
スレーブデバイスからスレーブデバイスへの転送と、マ
スターデバイスとスレーブデバイス間の転送が、互いに
反対側のバスから同時に発生した場合にも、デッドロッ
クを回避することができる効果がある。
【図1】 本発明の実施の形態1および実施の形態2に
よるバスブリッジ装置を用いたシステムの基本構成を示
したブロック図である。
よるバスブリッジ装置を用いたシステムの基本構成を示
したブロック図である。
【図2】 本発明の実施の形態3によるバスブリッジ装
置を用いたシステムの基本構成を示したブロック図であ
る。
置を用いたシステムの基本構成を示したブロック図であ
る。
【図3】 本発明の実施の形態4によるバスブリッジ装
置を用いたシステムの基本構成を示したブロック図であ
る。
置を用いたシステムの基本構成を示したブロック図であ
る。
【図4】 本発明の実施の形態4によるバスブリッジ装
置を応用したシステムのブロック図である。
置を応用したシステムのブロック図である。
【図5】 本発明の実施の形態5によるバスブリッジ装
置を用いたシステムの基本構成を示したブロック図であ
る。
置を用いたシステムの基本構成を示したブロック図であ
る。
【図6】 本発明の実施の形態6によるバスブリッジ装
置を用いたシステムの基本構成を示したブロック図であ
る。
置を用いたシステムの基本構成を示したブロック図であ
る。
【図7】 上記実施の形態6によるバスブリッジ装置を
用いたシステムにおける第1の動作例の説明のためのタ
イミングチャートである。
用いたシステムにおける第1の動作例の説明のためのタ
イミングチャートである。
【図8】 上記実施の形態6によるバスブリッジ装置を
用いたシステムにおける第2の動作例の説明のためのタ
イミングチャートである。
用いたシステムにおける第2の動作例の説明のためのタ
イミングチャートである。
【図9】 本発明の実施の形態7によるバスブリッジ装
置を用いたシステムの基本構成を示したブロック図であ
る。
置を用いたシステムの基本構成を示したブロック図であ
る。
【図10】 上記実施の形態7によるバスブリッジ装置
を用いたシステムにおける第1の動作例の説明のための
タイミングチャートである。
を用いたシステムにおける第1の動作例の説明のための
タイミングチャートである。
【図11】 上記実施の形態7によるバスブリッジ装置
を用いたシステムにおける第2の動作例の説明のための
タイミングチャートである。
を用いたシステムにおける第2の動作例の説明のための
タイミングチャートである。
【図12】 従来のバスブリッジ装置を2つの独立した
システムバス間に接続した場合のシステム構成図であ
る。
システムバス間に接続した場合のシステム構成図であ
る。
101 …バスブリッジ装置、102 …システムバス[a]、
103 …システムバス[b]、104 …バス[a]のアービ
タ、105 …バス[b]のアービタ、106 …スレーブデバ
イス[s]、107 …マスターデバイス[m]、108 …ベ
ースアドレス保持手段、109 …バスアドレス発生手段、
110 …マスタ・スレーブ間転送制御手段、201 …バスブ
リッジ装置、202 …システムバス[a]、203 …システ
ムバス[b]、204 …バス[a]のアービタ、205 …バ
ス[b]のアービタ、206 …スレーブデバイス[s]、
207 …マスターデバイス[m]、208 …バスサイクル発
生手段、301 …バスブリッジ装置、302 …システムバス
[a]、303 …システムバス[b]、304 …バス[a]
のアービタ、305 …バス[b]のアービタ、306 …スレ
ーブデバイス[s]、307 …マスターデバイス[m]、
308 …転送バッファー、309 …デバイス名記憶手段、31
0 …マスターデバイス[e]、401 …バスブリッジ装
置、402 …システムバス[a]、403 …システムバス
[b]、404 …バス[a]のアービタ、405 …バス
[b]のアービタ、406 …スレーブデバイス[s1]、
407 …マスターデバイス[m1]、408 …転送バッファ
ー1、409 …デバイス名記憶手段1、410 …スレーブデ
バイス[s2]、411 …マスターデバイス[m2]、41
2 …転送バッファー2、413 …デバイス名記憶手段2、
501 …バスブリッジ装置、502 …システムバス[a]、
503 …システムバス[b]、504…バス[a]のアービ
タ、505 …バス[b]のアービタ、506 …スレーブデバ
イス[s]、507 …マスターデバイス[m]、508 …バ
スサイクル発生手段、509…デバイス名記憶手段、510
…マスターデバイス[e]、601 …バスマスタとしての
インターフェース機能M(a) 、602 …バスマスタとして
のインターフェース機能M(b) 、603 …スレーブとして
のインタフェース機能S(a) 、604 …スレーブとしての
インタフェース機能S(b) 、605 …ベースアドレス保持
手段、607 …バスアドレス発生手段、608 …マスタスレ
ーブ間転送制御手段、609 …システムバス[a]、610
…システムバス[b]、611 …スレーブデバイスc、61
2 …スレーブデバイスd、613 …マスタデバイスe、61
4 …バスアービタ(a) 、615 …バスアービタ(b) 、616
…データ保持手段MS、617 …データ保持手段SS、619 …
スレーブ間転送制御手段、620 …転送制御手段、621 …
転送元アドレス保持手段、622 …転送先アドレス保持手
段、623 …転送サイズ保持手段、624 …転送方向保持手
段、901 …バスマスタとしてのインターフェース機能M
(a) 、902 …バスマスタとしてのインターフェース機能
M(b) 、903 …スレーブとしてのインタフェース機能S
(a) 、904 …スレーブとしてのインタフェース機能S
(b) 、905 …ベースアドレス保持手段、907 …バスアド
レス発生手段、908 …マスタスレーブ間転送制御手段、
909 …システムバス[a]、910 …システムバス
[b]、911…スレーブデバイスc、912 …スレーブデ
バイスd、913 …マスタデバイスe、914 …バスアービ
タ(a) 、915 …バスアービタ(b) 、919 …スレーブ間転
送制御手段、920 …転送制御手段、921 …転送元アドレ
ス保持手段、922 …転送先アドレス保持手段、923 …転
送サイズ保持手段、924 …転送方向保持手段、916 …デ
ータ保持手段。
103 …システムバス[b]、104 …バス[a]のアービ
タ、105 …バス[b]のアービタ、106 …スレーブデバ
イス[s]、107 …マスターデバイス[m]、108 …ベ
ースアドレス保持手段、109 …バスアドレス発生手段、
110 …マスタ・スレーブ間転送制御手段、201 …バスブ
リッジ装置、202 …システムバス[a]、203 …システ
ムバス[b]、204 …バス[a]のアービタ、205 …バ
ス[b]のアービタ、206 …スレーブデバイス[s]、
207 …マスターデバイス[m]、208 …バスサイクル発
生手段、301 …バスブリッジ装置、302 …システムバス
[a]、303 …システムバス[b]、304 …バス[a]
のアービタ、305 …バス[b]のアービタ、306 …スレ
ーブデバイス[s]、307 …マスターデバイス[m]、
308 …転送バッファー、309 …デバイス名記憶手段、31
0 …マスターデバイス[e]、401 …バスブリッジ装
置、402 …システムバス[a]、403 …システムバス
[b]、404 …バス[a]のアービタ、405 …バス
[b]のアービタ、406 …スレーブデバイス[s1]、
407 …マスターデバイス[m1]、408 …転送バッファ
ー1、409 …デバイス名記憶手段1、410 …スレーブデ
バイス[s2]、411 …マスターデバイス[m2]、41
2 …転送バッファー2、413 …デバイス名記憶手段2、
501 …バスブリッジ装置、502 …システムバス[a]、
503 …システムバス[b]、504…バス[a]のアービ
タ、505 …バス[b]のアービタ、506 …スレーブデバ
イス[s]、507 …マスターデバイス[m]、508 …バ
スサイクル発生手段、509…デバイス名記憶手段、510
…マスターデバイス[e]、601 …バスマスタとしての
インターフェース機能M(a) 、602 …バスマスタとして
のインターフェース機能M(b) 、603 …スレーブとして
のインタフェース機能S(a) 、604 …スレーブとしての
インタフェース機能S(b) 、605 …ベースアドレス保持
手段、607 …バスアドレス発生手段、608 …マスタスレ
ーブ間転送制御手段、609 …システムバス[a]、610
…システムバス[b]、611 …スレーブデバイスc、61
2 …スレーブデバイスd、613 …マスタデバイスe、61
4 …バスアービタ(a) 、615 …バスアービタ(b) 、616
…データ保持手段MS、617 …データ保持手段SS、619 …
スレーブ間転送制御手段、620 …転送制御手段、621 …
転送元アドレス保持手段、622 …転送先アドレス保持手
段、623 …転送サイズ保持手段、624 …転送方向保持手
段、901 …バスマスタとしてのインターフェース機能M
(a) 、902 …バスマスタとしてのインターフェース機能
M(b) 、903 …スレーブとしてのインタフェース機能S
(a) 、904 …スレーブとしてのインタフェース機能S
(b) 、905 …ベースアドレス保持手段、907 …バスアド
レス発生手段、908 …マスタスレーブ間転送制御手段、
909 …システムバス[a]、910 …システムバス
[b]、911…スレーブデバイスc、912 …スレーブデ
バイスd、913 …マスタデバイスe、914 …バスアービ
タ(a) 、915 …バスアービタ(b) 、919 …スレーブ間転
送制御手段、920 …転送制御手段、921 …転送元アドレ
ス保持手段、922 …転送先アドレス保持手段、923 …転
送サイズ保持手段、924 …転送方向保持手段、916 …デ
ータ保持手段。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 12/66
Claims (7)
- 【請求項1】 互いに独立した2つのシステムバス間を
接続するバスブリッジ装置において、 互いのバスのマスタおよびスレーブになる機能を持ち、
かつ、ベースアドレスを保持する手段と、バスアドレス
を生成する手段とを具備し、 2つのシステムバスのバスアービタは本バスブリッジ装
置の外部にあって本バスブリッジ装置とは独立に動作
し、 上記の互いに独立した2つのシステムバスのうち、一方
のシステムバス[a]上に存在するあるスレーブデバイ
ス[s]にアクセスするために、上記の互いに独立した
2つのシステムバスのうち、他方のシステムバス[b]
上に存在するあるマスターデバイス[m]が本バスブリ
ッジ装置にアクセスしてきた際に、マスターデバイス
[m]から受けとったアドレスからオフセットを生成
し、上記オフセットと、上記のベースアドレスを保持す
る手段にあらかじめ格納されたベースアドレスとを合わ
せて、上記のバスアドレスを生成する手段によりスレー
ブデバイス[s]内のアクセス先のアドレスを生成し、 システムバス[a]上ではバスマスタとなって、上記の
バスアドレスを生成する手段により生成されたアドレス
を発行してスレーブデバイス[s]にアクセスし、 システムバス[b]上ではマスターデバイス[m]のス
レーブとして振舞うことにより、マスターデバイス
[m]とスレーブデバイス[s]との間のデータ転送を
仲介することを特徴とするバスブリッジ装置。 - 【請求項2】 上記の互いに独立した2つのシステムバ
スのうち、一方のシステムバス[a]上に存在するある
スレーブデバイス[s]からデータを読み出すために、
上記の互いに独立した2つのシステムバスのうちのもう
一方のシステムバス[b]上に存在するあるマスターデ
バイス[m]が本バスブリッジ装置をスレーブデバイス
としてアクセスすることにより、本バスブリッジ装置が
システムバス[a]のバスマスタになろうとしてシステ
ムバス[a]のアービタにバス獲得要求をし、システム
バス[a]の使用権の獲得に時間を要し、その間にシス
テムバス[b]においてバスタイムアウトエラーが発生
する可能性がある際に、 システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、 システムバス[a]上においては、本バスブリッジ装置
がシステムバス[a]の使用権を獲得する以前であれば
バス獲得要求を取り下げ、システムバス[a]の使用権
を獲得した後であれば、スレーブデバイス[s]からデ
ータをリードし、読み出したデータを内部に取り込まず
に破棄することによりシステムバス[a]のバスサイク
ルを終了させることを特徴とする請求項1記載のバスブ
リッジ装置。 - 【請求項3】 上記の互いに独立した2つのシステムバ
スのうち、一方のシステムバス[a]は、バス獲得要求
を出してバス使用権を獲得したマスターデバイスが、ス
レーブデバイスへのアクセスのサイクル開始権利を持つ
バスであり、本バスブリッジ装置は、システムバス
[a]のバス使用権を獲得した際に、スレーブデバイス
へのアクセスのサイクル開始を一時保留する機能を持つ
バスサイクル発生手段を備えるものであって、 システムバス[a]上に存在するあるスレーブデバイス
[s]にアクセスするために、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]上
に存在するあるマスターデバイス[m]が本バスブリッ
ジ装置をスレーブデバイスとしてアクセスすることによ
り、本バスブリッジ装置がシステムバス[a]のバスマ
スタになろうとしてシステムバス[a]のアービタにバ
ス獲得要求をし、システムバス[a]の使用権の獲得に
時間を要し、その間にシステムバス[b]においてバス
タイムアウトエラーが発生する可能性がある際に、 システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、 システムバス[a]上においては、本バスブリッジ装置
がシステムバス[a]の使用権を獲得する以前であれ
ば、バス獲得要求を取り下げ、システムバス[a]の使
用権を獲得した後であれば、上記のバスサイクル発生手
段により、バス使用権を獲得したままスレーブデバイス
へのアクセスのサイクル開始を一時保留し、 その後、システムバス[a]のアービタによってバス使
用権を剥奪される以前に、システムバス[b]上のある
マスターデバイスがシステムバス[a]上のあるスレー
ブデバイスにアクセスするために本バスブリッジ装置に
アクセスして来た時には、システムバス[a]上のスレ
ーブデバイスへのアクセスのサイクルを開始することを
特徴とする請求項1記載のバスブリッジ装置。 - 【請求項4】 転送データを一時保持するデータ保持手
段と、システムバス[a]のバスマスタとなって本バス
ブリッジ装置自身にアクセスしてきたマスターデバイス
名を記憶する手段とを備え、 上記の互いに独立した2つのシステムバスのうち、一方
のシステムバス[a]上に存在するあるスレーブデバイ
ス[s]からデータを読み出すために、上記の互いに独
立した2つのシステムバスのうちの他方のシステムバス
[b]上に存在するあるマスターデバイス[m]が本バ
スブリッジ装置をスレーブデバイスとしてアクセスする
ことにより、本バスブリッジ装置がシステムバス[a]
のバスマスタになろうとしてシステムバス[a]のアー
ビタにバス獲得要求をし、システムバス[a]の使用権
の獲得に時間を要し、その間にシステムバス[b]にお
いてバスタイムアウトエラーが発生する可能性がある際
に、 システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、かつマスターデバイス[m]に対し再送要求を
返したことを上記のマスターデバイス名を記憶する手段
に記憶し、 システムバス[a]上においては本バスブリッジ装置が
バス獲得要求をそのまま出し続けてシステムバス[a]
の使用権をあらかじめ獲得し、スレーブデバイス[s]
からデータを読み出して上記のデータ保持手段に蓄えて
おき、 システムバス[b]上においてマスターデバイス[m]
以外のマスターデバイスがシステムバス[b]の使用権
を獲得して本バスブリッジ装置にアクセスしてきた際に
は再送要求を返し、マスターデバイス[m]がシステム
バス[b]の使用権を獲得して本バスブリッジ装置に再
度アクセスして来た際に、スレーブデバイス[s]から
のデータを上記のデータ保持手段に読み込む前であれば
再送要求を返し、読み込み後であれば、上記データ保持
手段に蓄えられたデータをマスターデバイス[m]に転
送し、かつ、上記のマスターデバイス名を記憶する手段
の記憶内容を無効にすることを特徴とする請求項1記載
のバスブリッジ装置。 - 【請求項5】 上記の互いに独立した2つのシステムバ
スのうち、一方のシステムバス[a]は、バス獲得要求
を出してバス使用権を獲得したマスターデバイスが、ス
レーブデバイスへのアクセスのサイクル開始権利を持つ
バスであり、 本バスブリッジ装置は、システムバス[a]のバス使用
権を獲得した際に、スレーブデバイスへのアクセスのサ
イクル開始を一時保留する機能を持つバスサイクル発生
手段と、システムバス[a]のバスマスタとなって本バ
スブリッジ装置自身にアクセスしてきたマスターデバイ
ス名を記憶する手段とを備えるものであって、 システムバス[a]上に存在するあるスレーブデバイス
[s]にアクセスするために、上記の互いに独立した2
つのシステムバスのうちの他方のシステムバス[b]上
に存在するあるマスターデバイス[m]が本バスブリッ
ジ装置をスレーブデバイスとしてアクセスすることによ
り、本バスブリッジ装置がシステムバス[a]のバスマ
スタになろうとしてシステムバス[a]のアービタにバ
ス獲得要求をし、システムバス[a]の使用権の獲得に
時間を要し、その間にシステムバス[b]においてバス
タイムアウトエラーが発生する可能性がある際に、 システムバス[b]上においてはマスターデバイス
[m]に対して再送要求を返してバスサイクルを一旦終
了させ、かつマスターデバイス[m]に対し再送要求を
返したことを上記のマスターデバイス名を記憶する手段
に記憶し、 システムバス[a]上においては本バスブリッジ装置が
バス獲得要求をそのまま出し続けてシステムバス[a]
の使用権をあらかじめ獲得し、上記のバスサイクル発生
手段により、バス使用権を獲得したままスレーブデバイ
スへのアクセスのサイクル開始を一時保留し、 その後、システムバス[a]のアービタによりバス使用
権を剥奪された際には、再度システムバス[a]のアー
ビタに対しバス獲得要求を出して、システムバス[a]
のバス使用権を獲得し、かつ上記のバスサイクル発生手
段により、バス使用権を獲得したままサイクル開始を一
時保留し、 システムバス[b]上においてマスターデバイス[m]
以外のマスターデバイスがシステムバス[b]の使用権
を獲得して本バスブリッジ装置にアクセスしてきた際に
は再送要求を返し、マスターデバイス[m]がシステム
バス[b]の使用権を獲得して本バスブリッジ装置に再
度アクセスして来た際に、システムバス[a]の使用権
を獲得する前であれば再送要求を返し、使用権を獲得済
みであれば受け付けて、システムバス[a]上のスレー
ブデバイス[s]へのアクセスを開始し、かつ、上記の
マスターデバイス名を記憶する手段の記憶内容を無効に
することを特徴とする請求項1記載のバスブリッジ装
置。 - 【請求項6】 上記の互いに独立した2つのシステムバ
ス[a],[b]において、両方のシステムバスのマス
タとなってシステムバス[a]上に存在するスレーブデ
バイス[c]とシステムバス[b]上に存在するスレー
ブデバイス[d]との間でデータを転送する場合に転送
データを一時保持するスレーブ間転送用データ保持手段
と、システムバス[a]においてはマスタとなり、シス
テムバス[b]においてはスレーブとなることにより、
システムバス[a]上に存在するスレーブデバイス
[c]とシステムバス[b]上に存在するマスターデバ
イス[e]との間でデータを転送する場合に転送データ
を一時保持するマスタ・スレーブ間転送用データ保持手
段とを備え、 上記の互いに独立した2つのシステムバスのうち、一方
のシステムバス[a]のマスタとなって、システムバス
[a]上に存在するスレーブデバイス[c]からデータ
をリードして上記スレーブ間転送用データ保持手段に格
納し、 次に、上記の互いに独立した2つのシステムバスのうち
の他方のシステムバス[b]のマスタとなって、上記デ
ータ保持手段に格納されているデータをシステムバス
[b]上に存在するスレーブデバイス[d]へライトす
るデータ転送機能により、上記スレーブデバイス[c]
に格納されているデータを、上記スレーブデバイス
[d]に転送する際に、スレーブデバイス[c]からデ
ータをリードして上記スレーブ間転送用データ保持手段
に格納した後に、システムバス[b]のマスタとなるた
めにシステムバス[b]のアービタにバス獲得要求をし
た時に、システムバス[b]上に存在するあるマスター
デバイス[e]がシステムバス[a]上に存在するスレ
ーブデバイス[f]にデータをライトするためにすでに
システムバス[b]の使用権を獲得している場合には、
上記スレーブ間転送用データ保持手段のデータを保持し
た状態で、スレーブデバイス[c]からスレーブデバイ
ス[d]への転送を中断し、システムバス[b]のスレ
ーブとなってマスターデバイス[e]がスレーブデバイ
ス[f]にライトするデータを上記マスタ・スレーブ間
転送用データ保持手段に格納してマスターデバイス
[e]のシステムバス[b]における転送を完了させ、
システムバス[b]の使用権を獲得後にシステムバス
[b]のマスタとなって、上記スレーブ間転送用データ
保持手段に保持しているデータをスレーブデバイス
[d]へ転送し、 システムバス[b]上に存在するあるマスターデバイス
[e]がシステムバス[a]上に存在するスレーブデバ
イス[f]からデータをリードするためにすでにシステ
ムバス[b]の使用権を獲得している場合には、上記ス
レーブ間転送用データ保持手段のデータを保持した状態
で、スレーブデバイス[c]からスレーブデバイス
[d]への転送を中断し、システムバス[a]のマスタ
となってスレーブデバイス[f]からデータをリードし
て上記マスタ・スレーブ間転送用データ保持手段に格納
し、システムバス[b]のスレーブとなってマスターデ
バイス[e]に上記マスタ・スレーブ間転送用データ保
持手段のデータを転送して、マスターデバイス[e]の
システムバス[b]における転送を完了させ、システム
バス[b]の使用権を獲得後にシステムバス[b]のマ
スタとなって、上記スレーブ間転送用データ保持手段に
保持しているデータをスレーブデバイス[d]へ転送す
ることを特徴とする請求項1記載のバスブリッジ装置。 - 【請求項7】 転送データを一時保持するデータ保持手
段を備え、 上記の互いに独立した2つのシステムバスのうち、一方
のシステムバス[a]のマスタとなって、システムバス
[a]上に存在するスレーブデバイス[c]からデータ
をリードして上記データ保持手段に格納し、 次に、上記の互いに独立した2つのシステムバスのうち
の他方のシステムバス[b]のマスタとなって、上記デ
ータ保持手段に格納されているデータをシステムバス
[b]上に存在するスレーブデバイス[d]へライトす
るデータ転送機能により、上記スレーブデバイス[c]
に格納されているデータを、上記スレーブデバイス
[d]に転送する際に、本バスブリッジ装置がスレーブ
デバイス[c]からデータをリードして上記データ保持
手段に格納した後に、システムバス[b]のマスタとな
るためにシステムバス[b]のアービタにバス獲得要求
をした時に、 システムバス[b]上に存在するあるマスターデバイス
[e]がシステムバス[a]上に存在するスレーブデバ
イス[f]にデータをライトするためにすでにシステム
バス[b]の使用権を獲得している場合には、システム
バス[b]のマスタになるためのすべての動作を中止
し、システムバス[b]のスレーブとしてマスターデバ
イス[e]がスレーブデバイス[f]にライトするデー
タを上記データ保持手段に上書きし、システムバス
[a]のマスタとなって、上記データ保持手段に格納さ
れているデータをスレーブデバイス[f]にライトし
て、マスターデバイス[e]のスレーブデバイス[f]
へのライトを完了させた後に、システムバス[a]のマ
スタとなり、スレーブデバイス[c]からデータを再度
リードして上記データ保持手段に格納し、さらにシステ
ムバス[b]のマスタとなって上記データ保持手段から
スレーブデバイス[d]への転送を再実行し、 システムバス[b]上に存在するあるマスターデバイス
[e]がシステムバス[a]上に存在するスレーブデバ
イス[f]からデータをリードするためにすでにシステ
ムバス[b]の使用権を獲得している場合には、システ
ムバス[b]のマスタになるためのすべての動作を中止
し、システムバス[a]のマスタとなって、スレーブデ
バイス[f]からデータをリードして上記データ保持手
段に上書きし、その後、システムバス[b]のスレーブ
となって上記データ保持手段に上書きしたデータをマス
ターデバイス[e]に転送して、マスターデバイス
[e]のスレーブデバイス[f]からのリードを完了さ
せ、その後に、システムバス[a]のマスタとなり、ス
レーブデバイス[c]からデータを再度リードして上記
データ保持手段に格納し、さらにシステムバス[b]の
マスタとなって上記データ保持手段からスレーブデバイ
ス[d]への転送を再実行することを特徴とする請求項
1記載のバスブリッジ装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8156781A JPH103447A (ja) | 1996-06-18 | 1996-06-18 | バスブリッジ装置 |
| US08/877,208 US5978879A (en) | 1996-06-18 | 1997-06-17 | Bus bridge apparatus |
| DE69718710T DE69718710T2 (de) | 1996-06-18 | 1997-06-17 | Busbrückenanordnung |
| EP97109826A EP0814408B1 (en) | 1996-06-18 | 1997-06-17 | Bus bridge apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8156781A JPH103447A (ja) | 1996-06-18 | 1996-06-18 | バスブリッジ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH103447A true JPH103447A (ja) | 1998-01-06 |
Family
ID=15635179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8156781A Pending JPH103447A (ja) | 1996-06-18 | 1996-06-18 | バスブリッジ装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5978879A (ja) |
| EP (1) | EP0814408B1 (ja) |
| JP (1) | JPH103447A (ja) |
| DE (1) | DE69718710T2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002140290A (ja) * | 2000-09-08 | 2002-05-17 | Texas Instruments Inc | データ転送システム |
| JP2005346513A (ja) * | 2004-06-04 | 2005-12-15 | Renesas Technology Corp | 半導体装置 |
| JP2007251947A (ja) * | 2006-03-17 | 2007-09-27 | Agilent Technol Inc | マルチマスタのチェーン接続された二線シリアルバス |
| JP2011065685A (ja) * | 2004-02-11 | 2011-03-31 | Samsung Electronics Co Ltd | 開放形コアプロトコルを基盤とするバスシステム |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6260093B1 (en) | 1998-03-31 | 2001-07-10 | Lsi Logic Corporation | Method and apparatus for arbitrating access to multiple buses in a data processing system |
| US6223237B1 (en) * | 1998-07-07 | 2001-04-24 | Adaptive Systems, Inc. | Expandable communications bus |
| US6636927B1 (en) * | 1999-09-24 | 2003-10-21 | Adaptec, Inc. | Bridge device for transferring data using master-specific prefetch sizes |
| DE10019239B4 (de) * | 2000-04-18 | 2008-09-04 | Fujitsu Siemens Computers Gmbh | Datenverarbeitungseinrichtung mit einer Schaltungsanordnung zur Verbindung eines ersten Kommunikationsbusses mit einem zweiten Kommunikationsbus |
| US6976108B2 (en) * | 2001-01-31 | 2005-12-13 | Samsung Electronics Co., Ltd. | System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities |
| TW514791B (en) * | 2001-05-28 | 2002-12-21 | Via Tech Inc | Structure, method and related control chip for accessing device of computer system with system management bus |
| FI20011257A0 (fi) * | 2001-06-13 | 2001-06-13 | Nokia Corp | Menetelmä väylän mukauttamiseksi ja väylä |
| JP2005250683A (ja) * | 2004-03-02 | 2005-09-15 | Renesas Technology Corp | マイクロコンピュータ |
| JP4260720B2 (ja) * | 2004-10-27 | 2009-04-30 | 日本テキサス・インスツルメンツ株式会社 | バス制御装置 |
| KR100631202B1 (ko) * | 2005-01-11 | 2006-10-04 | 삼성전자주식회사 | Cdma 버스를 이용한 원칩 시스템 및 그의 데이터전송방법 |
| EA013068B1 (ru) * | 2006-06-16 | 2010-02-26 | Шарп Кабусики Кайся | Структура данных канала синхронизации в системе мобильной связи, использующей схему связи с множеством несущих, и базовая станция, управляющая сотой, содержащей множество секторов |
| JP2008118211A (ja) * | 2006-10-31 | 2008-05-22 | Toshiba Corp | データ転送装置及びデータ転送方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4257099A (en) * | 1975-10-14 | 1981-03-17 | Texas Instruments Incorporated | Communication bus coupler |
| JPH02178752A (ja) * | 1988-12-29 | 1990-07-11 | Nissin Electric Co Ltd | システムバスのエクステンダ |
| JPH02178753A (ja) * | 1988-12-29 | 1990-07-11 | Nissin Electric Co Ltd | システムバスのエクステンダ |
| US5717873A (en) * | 1993-09-30 | 1998-02-10 | Intel Corporation | Deadlock avoidance mechanism and method for multiple bus topology |
| CA2160499A1 (en) * | 1994-11-30 | 1996-05-31 | Patrick Maurice Bland | Bridge between buses in a system having a plurality of buses with different memory addressing capacities and having an arrangement for reallocating memory segments within the system memory map |
-
1996
- 1996-06-18 JP JP8156781A patent/JPH103447A/ja active Pending
-
1997
- 1997-06-17 EP EP97109826A patent/EP0814408B1/en not_active Expired - Lifetime
- 1997-06-17 DE DE69718710T patent/DE69718710T2/de not_active Expired - Fee Related
- 1997-06-17 US US08/877,208 patent/US5978879A/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002140290A (ja) * | 2000-09-08 | 2002-05-17 | Texas Instruments Inc | データ転送システム |
| JP2011065685A (ja) * | 2004-02-11 | 2011-03-31 | Samsung Electronics Co Ltd | 開放形コアプロトコルを基盤とするバスシステム |
| JP2005346513A (ja) * | 2004-06-04 | 2005-12-15 | Renesas Technology Corp | 半導体装置 |
| JP2007251947A (ja) * | 2006-03-17 | 2007-09-27 | Agilent Technol Inc | マルチマスタのチェーン接続された二線シリアルバス |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69718710D1 (de) | 2003-03-06 |
| EP0814408A2 (en) | 1997-12-29 |
| EP0814408B1 (en) | 2003-01-29 |
| EP0814408A3 (en) | 2002-03-27 |
| DE69718710T2 (de) | 2003-10-23 |
| US5978879A (en) | 1999-11-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5901295A (en) | Address and data bus arbiter for pipelined transactions on a split bus | |
| JPH103447A (ja) | バスブリッジ装置 | |
| JPH0642236B2 (ja) | コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 | |
| JPH02500784A (ja) | 保留バスにおいて割り込み要求メッセージを処理するノード | |
| JPH02289017A (ja) | コンピユータシステム内でデータ転送方法 | |
| JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
| US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
| US7203781B2 (en) | Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus | |
| US5708783A (en) | Data bus arbiter for pipelined transactions on a split bus | |
| JPH08314854A (ja) | データ転送システムおよびこれに関連する装置 | |
| JPH1040215A (ja) | Pciバス・システム | |
| JPH0689257A (ja) | バスブリッジの調停装置 | |
| JPS63286949A (ja) | バス制御方式 | |
| JPH0844661A (ja) | 情報処理装置 | |
| JP2002175270A (ja) | バスの排他制御方式 | |
| JPH09204409A (ja) | ロック転送制御方式 | |
| JP2992621B2 (ja) | ロック転送方式 | |
| JP2825889B2 (ja) | マルチプロセッサシステムにおけるデッドロック回避回路 | |
| JPH064462A (ja) | バス結合方式 | |
| JP2632049B2 (ja) | マルチプロセッサシステム | |
| JP3797517B2 (ja) | バス拡張システム | |
| JPH0528861B2 (ja) | ||
| JPH04306754A (ja) | Dmaコントローラ | |
| JPH04260956A (ja) | デッドロックを回避する方法 | |
| JPH11143825A (ja) | バス調停機構 |