JP2002373146A - バスブリッジ装置 - Google Patents

バスブリッジ装置

Info

Publication number
JP2002373146A
JP2002373146A JP2001181340A JP2001181340A JP2002373146A JP 2002373146 A JP2002373146 A JP 2002373146A JP 2001181340 A JP2001181340 A JP 2001181340A JP 2001181340 A JP2001181340 A JP 2001181340A JP 2002373146 A JP2002373146 A JP 2002373146A
Authority
JP
Japan
Prior art keywords
data
bus
buffer
bus bridge
bridge device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001181340A
Other languages
English (en)
Inventor
Hiromasa Nagai
宏昌 永井
Hiroyuki Oyabu
裕之 大藪
Kenji Takeuchi
健二 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2001181340A priority Critical patent/JP2002373146A/ja
Publication of JP2002373146A publication Critical patent/JP2002373146A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 複数のバス間におけるデータ転送を行うバス
ブリッジ装置において、そのデータ転送の際に用いるバ
ッファのサイズを動的に割り当てることで、より効率的
なデータ転送を実現する。 【解決手段】 複数のブロックに区切られた記憶領域を
用いてバス10,20間で転送するデータを一時的に格
納するバッファ203と、転送データのデータ量を計測
する計測手段303と、その計測結果からバッファ20
3がデータを格納する際のブロック割当量を決定するバ
ッファ制御手301段とを備えて、バスブリッジ装置3
00を構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のバス間にお
けるデータ転送を行うことで、これらバス間の橋渡し的
な役割を果たすバスブリッジ装置に関するものである。
【0002】
【従来の技術】一般に、パーソナルコンピュータやワー
クステーション等に代表される計算機システムでは、種
々の機能を実現するために、CPU(Central Processi
ng Unit)にメモリその他の素子からなる多くのデバイ
スが接続されている。この場合において、CPUおよび
各デバイスは、通常、バスと呼ばれる共通信号路によっ
て接続される。
【0003】バスの規格には種々存在するが、近年の計
算機システムにおいては、PCI(Peripheral Compone
nt Interconnect)バスの採用が一般的である。PCI
は、米国インテル(Intel)社が提唱したバス規格で、
米国の業界団体であるPCISIG(Peripheral Compo
nent Interconnect Special Interest Group)が仕様を
策定し、公開している。PCIバスは、そのバス上に複
数のデバイスを接続できるが、無制限に接続できるわけ
ではなく、電気的な負荷や安定性等によりその数が制限
されている。通常は、PCIバスの場合、接続可能なデ
バイスの数が10個程度とされている。
【0004】ところが、計算機システムが実現する機能
によっては、上述した制限数以上のデバイスを接続しな
ければならない場合もあり得る。このような場合、より
多くのデバイスを接続する手法として、バスブリッジ装
置を用いることが知られている。これは、バスブリッジ
装置を二つのPCIバスの間に配置し、そのバスブリッ
ジ装置を介して、双方のバスに接続されているデバイス
間のデータ転送を行うというものである。
【0005】図7は、一般的なバスブリッジ装置の構成
を示すブロック図である。図例において、バスブリッジ
装置100は、第一のPCIバス(以下、単に「第一の
バス」という)10と第二のPCIバス(以下、単に
「第二のバス」という)20との間に配置されていると
ともに、バスの使用権を調停するバス制御手段101
と、バス間の転送データを一時的に格納するバッファ1
02と、そのバッファ102を管理するバッファ制御手
段103とを備えて構成されている。
【0006】ここで、このように構成されたバスブリッ
ジ装置100を用いて、第一のバス10上に接続された
デバイス11から第二のバス20上に接続されたデバイ
ス21へ、データを転送する場合の動作例について説明
する。この場合、先ず、デバイス11は、第一のバス1
0の使用権をバス制御手段101に要求し、使用権を獲
得すると、バスブリッジ装置100へのデータの転送を
開始する。これに対し、バスブリッジ装置100では、
デバイス11からの転送データを受け取ると、その転送
データを順次バッファ102内に格納する。そして、デ
ータの転送を終了すると、デバイス11は、一旦、第一
のバス10の使用権を開放する。その後、バスブリッジ
装置100では、バス制御手段101が第二のバス20
の使用権を獲得し、バッファ102内に格納しているデ
ータをデバイス21に転送する。そして、デバイス21
へのデータ転送を終了すると、バスブリッジ装置100
は、第二のバス20の使用権を解放する。
【0007】このような動作は、例えばデバイス21か
らデバイス11へデータを転送する場合についても全く
同様に行われる。したがって、バスブリッジ装置100
を用いれば、互いに異なるバス10,20上に接続され
たデバイス11,21…同士の間であっても、データ転
送を行うことができるようになる。
【0008】ところで、以上のように構成された従来の
バスブリッジ装置100においては、一方のバスに接続
されたデバイスより転送されたデータを格納するための
バッファ102のサイズが、予め設定されたサイズで固
定されている。そのため、例えば第一のバス10が64
ビット・33MHzのPCIバスであり、第二のバス2
0が32ビット・33MHzのPCIバスであるといっ
たように、異なるデータ転送能力を有する場合には、デ
ータ転送の際にバッファ102を効率よく利用できない
おそれがある。
【0009】このことから、バスブリッジ装置として
は、例えば特開2000−132502号公報に開示さ
れているように、バッファを複数のブロックサイズに分
割し、二つのバスのバス幅等に応じてバッファのブロッ
クを割り当てることで、異なるデータ転送能力を有する
二つのバスが接続された場合のデータ転送の効率改善を
図ったものが提案されている。
【0010】図8は、かかるバスブリッジ装置の構成を
示すブロック図である。このバスブリッジ装置200
は、上述したバスブリッジ装置100(図7参照)とは
異なり、バッファ制御手段201がレジスタ202を備
えるとともに、バッファ203が複数のブロックに分け
られている。なお、他部は上述したバスブリッジ装置1
00と略同様なので、同一の符号を付している。
【0011】このように構成されたバスブリッジ装置2
00を用いて、第一のバス10上のデバイス11から第
二のバス20上のデバイス21へデータ転送を行う場合
には、そのデータ転送に先立って、第一のバス10およ
び第二のバス20のバス幅等の情報をレジスタ202に
格納しておく。そして、バッファ制御手段201は、レ
ジスタ202に格納された情報を基に、各バス10,2
0の単位時間あたりのデータ転送量の比を求め、その比
に最も近くなるようにデータ転送する際に用いるバッフ
ァ203のサイズをブロック単位で割り当てる。このと
きのデータ転送動作の詳細については、上述したバスブ
リッジ装置100の場合と略同様である。これにより、
バスブリッジ装置200では、異なるデータ転送能力を
有する二つのバス10,20が接続されても、上述した
バスブリッジ装置100の場合よりもデータ転送の効率
を改善することができる。
【0012】
【発明が解決しようとする課題】しかしながら、例えば
特開2000−132502号公報に開示されたバスブ
リッジ装置200では、以下に述べる理由によって、必
ずしもデータ転送の効率が最適化されているとは言い切
れない。かかるバスブリッジ装置200では、第一のバ
ス10および第二のバス20のバス幅等といった物理的
な仕様に基づいて、バッファ203のサイズをブロック
単位で割り当てている。ところが、実際の計算機システ
ムにおいては、各バス10,20上に接続されているデ
バイス11,21…によって、転送するデータ量が異な
る。さらには、同一のデバイスであっても、計算機シス
テムが実現しようとする機能や扱うデータ等によって
も、バス間を転送するデータ量が異なる場合もある。こ
れらのことから、バスブリッジ装置200では、データ
転送の要求元となるデバイス11,21…や、計算機シ
ステムが実現しようとする機能や扱うデータ等によって
は、バッファ203の使用効率が十分に最適化されない
ことも考えられる。
【0013】本発明は、上記の事情を鑑みてなされたも
ので、各デバイスのデータ転送毎でのデータ量を計測し
て、その計測結果をもとに、動的に、より効率的なバッ
ファのサイズを割り当てることにより、効率的なデータ
転送を実現するバスブリッジ装置を提供することを目的
とする。
【0014】
【課題を解決するための手段】本発明は、上記目的を達
成するために案出されたもので、複数のバスに接続し、
当該複数のバス間におけるデータ転送を行うバスブリッ
ジ装置であって、前記バス間で転送するデータを複数の
ブロックに区切られた記憶領域を用いて一時的に格納す
るバッファと、前記転送するデータのデータ量を計測す
る計測手段と、前記計測手段による計測結果から前記バ
ッファがデータを格納する際のブロック割当量を決定す
るバッファ制御手段とを備えることを特徴とするもので
ある。
【0015】上記構成のバスブリッジ装置によれば、バ
ス間で転送するデータのデータ量を計測手段が計測する
ので、その次に同一条件(例えば、転送要求元が同一の
デバイスであったり、計算機システムが実現しようとす
る機能や扱うデータが同一である等)によるデータ転送
を行う場合には、その計測結果に基づいてバッファにお
けるブロック割当量が決定される。これにより、条件に
よってはバス間を転送するデータ量が異なる場合であっ
ても、バッファのサイズとして、適切な大きさの記憶領
域が動的に割り当てられることになる。
【0016】
【発明の実施の形態】以下、図面に基づき本発明に係る
バスブリッジ装置について説明する。
【0017】〔第一の実施の形態〕図1は、本発明に係
るバスブリッジ装置の第一の実施の形態における概略構
成を示すブロック図である。なお、図中において、従来
のバスブリッジ装置(図7,8参照)と同様の構成要素
については、同一の符号を与えている。
【0018】図例のように、本実施形態で説明するバス
ブリッジ装置300は、第一のバス10と第二のバス2
0との間に配置されているとともに、バス制御手段10
1と、バッファ203と、バッファ制御手段301と、
計測手段303とを備えて構成されている。
【0019】このうち、バッファ制御手段301は、従
来のもの(図8参照)と同様に、複数のブロックに分割
されたバッファ203を管理するとともに、そのバッフ
ァ203がデータを格納する際のブロック割当量を決定
するものであるが、その際に基にするレジスタ302内
の情報が従来とは異なる。
【0020】具体的には、レジスタ302は、以下に述
べるような情報を格納する。図2は、レジスタが格納す
るデータ構成の一具体例を示す説明図である。図例のよ
うに、レジスタ302では、マスタ1およびマスタ2に
ついて、デバイス1〜10のデータ量に関する情報を、
それぞれ個別に格納するようになっている。ここで、マ
スタ1およびマスタ2は、バスブリッジ装置300が第
一のバス10および第二のバス20に接続されているこ
とから、それぞれのバス10,20上に存在するデバイ
ス群を表している。また、デバイス群がデバイス1から
デバイス10まであるのは、PCIバスの場合に接続可
能なデバイス数と対応したものである。さらに、デバイ
ス1〜10のデータ量に関する情報には、各デバイス1
〜10が第一のバス10または第二のバス20の使用権
を要求した際に、バスブリッジ装置300を介して転送
されたデータのデータ量の値が該当する。
【0021】なお、ここでは、理解を容易にするため
に、各デバイス群にマスタ1,2、それぞれのデバイス
にデバイス1〜10という番号を付した場合を例に挙げ
たが、バス10,20およびデバイス11,21…を識
別できれば、これに限らず他の記号等を付してもよいこ
とは勿論である。
【0022】また、図1において、計測手段303は、
バスブリッジ装置300を介して第一のバス10と第二
のバス20との間で転送を行うデータについて、その転
送を要求したデバイス11,21…毎に個別に、そのデ
ータ量の計測を行うものである。この計測手段303に
よって計測されたデバイス11,21…毎のデータ量の
値が、バッファ制御手段301におけるレジスタ302
内に格納されることになる。この計測手段303による
データ量の計測自体については、周知技術を利用して行
えばよいため、ここではその詳細な説明を省略する。
【0023】ここで、以上のように構成されたバスブリ
ッジ装置300を用いて、第一のバス10上に接続され
たデバイス11から第二のバス20上に接続されたデバ
イス21へ、データを転送する場合の動作例について説
明する。図3は、デバイス間でデータを転送(PCIラ
イト)する際の信号処理の一動作例を示すタイミングチ
ャートである。なお、図中における信号「DATA#」は、
信号「IRDY#」、信号「TRDY#」および信号「DEVSEL#」
の論理積に相当する。他の信号は、全てPCI規格に準
拠したものである。例えば「FRAME#」は使用権を獲得し
マスタとなったデバイスがバスのトランザクション開始
を示す信号である。
【0024】デバイス11からデバイス21へデータを
転送する場合には、先ず、デバイス11が、第一のバス
10の使用権を要求する。使用権を発行するのは、第一
のバス10および第二のバス20のバス調停機能を有す
るバス制御手段101である。したがって、バス制御手
段101は、データ転送の要求元がデバイス11である
ことを認識することができる。このときのバス調停は、
PCI規格に準拠して行うものとする。そして、バス制
御手段101は、デバイス11に対して第一のバス10
の使用権を発行すると同時に、バッファ制御手段301
に対してデータ転送の要求元がデバイス11であること
を通知する。
【0025】バス制御手段101からの通知があると、
バッファ制御手段301は、レジスタ302におけるデ
バイス11に対応したデバイス番号の項、すなわちデバ
イス11について格納されているデータ量の値を参照し
て、バッファ203がデバイス11からのデータを格納
する際のブロック割当量を決定する。詳しくは、バッフ
ァ203における各ブロックサイズが予め分かっている
ので、バッファ制御手段301は、レジスタ302の該
当する項に格納されたデータ量に対して、必要十分とな
る記憶容量を満たす数のブロックを確保し、その数のブ
ロックをブロック割当量とする。
【0026】ところで、デバイス11がデバイス21へ
最初にデータ転送を行う場合であれば、この時点におい
ては、そのデータ転送が行われる前の段階なので、計測
手段303によるデータ量の計測が行われておらず、そ
の計測結果のレジスタ302内への格納も行われていな
い。したがって、バッファ制御手段301は、レジスタ
302の該当する項に予め格納されているデフォルト値
に基づいて、その最初のデータ転送についてのブロック
割当量を決定することになる。
【0027】バッファ制御手段301がブロック割当量
を決定すると、その後、第一のバス10の使用権を獲得
したデバイス11は、バスブリッジ装置300に対して
データを転送する。これを受けて、バスブリッジ装置3
00では、バス制御手段101が、バッファ制御手段3
01によって割り当てられたブロックを用いて、デバイ
ス11からの転送データをバッファ203内に書き込
む。
【0028】また、これに合わせて、バスブリッジ装置
300では、計測手段303がデバイス11からの転送
データのデータ量を計測する。このとき、デバイス11
からのデータのデータ量は、信号「IRDY#」、信号「TRD
Y#」および信号「DEVSEL#」の論理積によって検出でき
る。これは、バスブリッジ装置300では、データ転送
の主導側からの信号である「IRDY#」と、データ転送の
従導側からの信号である「TRDY#」と、デバイスの選択
信号である「DEVSEL#」とのいずれもが出力されている
間に限り、データ転送が行われるからである。よって、
計測手段303は、これらの論理積である信号「DATA
#」に基づき、その信号「DATA#」の出力期間中に周知技
術を利用して計測することで、デバイス11からのデー
タのデータ量の計測を行うことになる。
【0029】そして、データの転送が終了したことを、
信号「DEVSEL#」の出力終了によって検出すると、計測
手段303は、データ量の計測結果をバッファ制御手段
301に通知する。これを受けて、バッファ制御手段3
01では、通知されたデータ量の値を、レジスタ302
内の該当する項に登録する。これにより、レジスタ30
2においては、デバイス11について格納されているデ
ータ量の値が、デフォルト値(または既に登録されてい
る計測値)から計測手段303での計測結果に更新され
ることになる。
【0030】その後、バスブリッジ装置300では、バ
ッファ203内に格納したデータを、第二のバス20を
介して、そのデータの転送先となるデバイス21へ転送
する。この転送については、従来と略同様であるため、
ここではその説明を省略する。
【0031】さらにその後、再び、デバイス11からデ
バイス21へのデータ転送を行う場合には、上述した通
りの動作を繰り返すことで、そのデータ転送を行う。た
だし、このときは、デバイス11がデバイス21へ最初
にデータ転送を行う場合とは異なり、前回デバイス11
が転送したデータ量の値がレジスタ302内に格納され
ている。したがって、バッファ制御手段301は、その
データ転送についてのブロック割当量を、デフォルト値
ではなく前回の計測結果を参照しつつ決定する。つま
り、データ転送の際のブロック割当量の決定に、前回の
データ転送時のデータ量の計測結果が反映されることに
なる。
【0032】また、このときにも、そのデータ転送によ
るデータ量が計測手段303によって計測されるととも
に、レジスタ302内に格納されているデータ量の値が
その計測結果によって更新される。よって、そのデータ
転送の際に計測したデータ量は、次回のデータ転送の際
のブロック割当量の決定に反映されることになることに
なる。
【0033】以上のように、本実施形態におけるバスブ
リッジ装置300によれば、バス10,20間で転送す
るデータのデータ量を計測手段303が計測するので、
その次に同一デバイス11,21…の要求によるデータ
転送を行う場合には、その計測結果に基づいてバッファ
203におけるブロック割当量が決定されるようになっ
ている。したがって、例えば各バス10,20のバス幅
等といった物理的な仕様が互いに異なる場合のみなら
ず、各デバイス11,21…によって転送するデータ量
が異なったり、あるいは計算機システムが実現しようと
する機能や扱うデータ等によって転送するデータ量が異
なる場合であっても、バッファ203のサイズとして、
適切な大きさの記憶領域が動的に割り当てられることに
なる。つまり、本実施形態のバスブリッジ装置300を
介してバス10,20間のデータ転送を行えば、各デバ
イス11,21…毎の転送データ量の計測結果に基づい
て適切なバッファ203のサイズを割り当てるので、不
必要な大きさ記憶領域を割り当てることがなくなり、結
果としてバッファ203の使用効率を十分に最適化する
ことが期待できる。
【0034】また、本実施形態のバスブリッジ装置30
0では、データ量の計測を計測手段303がデバイス1
1,21…毎に行うとともに、バッファ制御手段301
がバッファ203のサイズ割り当てを、レジスタ302
が各デバイス11,21…について個別に格納している
データ量の値に基づいて、デバイス11,21…毎に行
うようになっている。したがって、本実施形態のバスブ
リッジ装置300を介してバス10,20間のデータ転
送を行えば、特に各デバイス11,21…によって転送
するデータ量が異なるような場合であっても、確実にバ
ッファ203の使用効率の最適化を図ることが可能にな
る。
【0035】〔第二の実施の形態〕次に、本発明に係る
バスブリッジ装置の第二の実施の形態について説明す
る。図4は、本発明の第二の実施の形態におけるバスブ
リッジ装置の概略構成を示すブロック図である。ただ
し、ここでは、主に、上述した第一の実施の形態との相
違点を説明する。したがって、図中においても、第一の
実施の形態の場合と同一の構成要素については、同一の
符号を与えるものとする。
【0036】図例のように、本実施形態で説明するバス
ブリッジ装置400は、第一のバス10上にバスインタ
フェースおよびメモリ制御手段(以下、単に「バスI/
F」という)12が存在しており、そのバスI/F12
を介して画像データを格納した画像メモリ13が第一の
バス10と接続するようになっている。
【0037】また、バッファ制御手段401は、ブロッ
ク割当量を決定する際に基にするレジスタ402内の情
報が、第一の実施の形態の場合とは異なる。具体的に
は、レジスタ402は、以下に述べるような情報を格納
する。図5は、レジスタが格納するデータ構成の一具体
例を示す説明図である。図例のように、レジスタ402
では、マスタ1およびマスタ2について、デバイス1〜
10のデータ量に関する情報に加えて、それぞれのデバ
イス1〜10が画像メモリ13からの読み出しを要求し
た画像データのメモリアドレスに関する情報をも、それ
ぞれ個別に格納するようになっている点で、第一の実施
の形態の場合とは異なる。
【0038】ここで、以上のように構成されたバスブリ
ッジ装置400を用いて、第二のバス20に接続された
デバイス21が第一のバス10に接続された画像メモリ
13から画像データの読み出しを行う場合の動作例につ
いて説明する。
【0039】図6は、デバイス間でデータを転送(PC
Iライト)する際の信号処理の一動作例を示すタイミン
グチャートである。なお、図中における信号「DATA#」
は、第一の実施の形態の場合と同様に、信号「IRDY
#」、信号「TRDY#」および信号「DEVSEL#」の論理積に
相当し、他の信号は全てPCI規格に準拠したものであ
る。
【0040】デバイス21が画像メモリ13から画像デ
ータの読み出しを行う場合には、先ず、デバイス21
が、第二のバス20の使用権を要求する。使用権を発行
するのは、第一のバス10および第二のバス20のバス
調停機能を有するバス制御手段101である。したがっ
て、このときに、バス制御手段101は、データ転送の
要求元がデバイス21であることを認識することができ
る。なお、このときのバス調停は、PCI規格に準拠し
て行うものとする。そして、バス制御手段101は、デ
バイス21に対して第二のバス20の使用権を発行する
と同時に、バッファ制御手段401に対してデータ転送
の要求元がデバイス21であることを通知する。
【0041】バス制御手段101からの通知があると、
バッファ制御手段401は、レジスタ402におけるデ
バイス21に対応したデバイス番号の項、すなわちデバ
イス21について格納されているデータ量の値を参照し
て、バッファ203が画像メモリ13からの画像データ
を格納する際のブロック割当量を決定する。詳しくは、
バッファ203における各ブロックサイズが予め分かっ
ているので、バッファ制御手段401は、レジスタ40
2の該当する項に格納されたデータ量に対して、必要十
分となる記憶容量を満たす数のブロックを確保し、その
数のブロックをブロック割当量とする。
【0042】ところで、デバイス21が画像メモリ13
から最初に画像データの読み出しを行う場合であれば、
この時点においては、その読み出しが行われる前の段階
なので、計測手段303によるデータ量の計測が行われ
ておらず、その計測結果のレジスタ402内への格納も
行われていない。したがって、バッファ制御手段401
は、レジスタ402の該当する項に予め格納されている
デフォルト値に基づいて、その最初のデータ転送につい
てのブロック割当量を決定することになる。
【0043】バッファ制御手段401がブロック割当量
を決定すると、その後、第二のバス20の使用権を獲得
したデバイス21は、バスブリッジ装置400に対し
て、画像メモリ13から画像データを読み出するための
コマンドであるメモリリードコマンドと、その画像デー
タの画像メモリ13内におけるメモリアドレスとを、そ
れぞれ送出する。そして、メモリリードコマンドおよび
メモリアドレスを受け取ったバスブリッジ装置400
は、そのうちのメモリアドレスを、レジスタ402内に
おけるデバイス21に対応したアドレスの項に格納す
る。
【0044】レジスタ402内にメモリアドレスを格納
した後は、バスブリッジ装置400は、自ら第一のバス
10の使用権を獲得し、デバイス21から指定されたメ
モリアドレスの画像データを、バッファ制御手段401
によって割り当てられたブロックのデータ量分だけ、画
像メモリ13内から読み出してバッファ203内に書き
込む。
【0045】そして、割り当てられたデータ量分の画像
データを画像メモリ13から読み出したバスブリッジ装
置400は、第一のバス10の使用権を解放するととも
に、バッファ203内に書き込んだ画像データのデバイ
ス21へのデータ転送を開始する。この転送について
は、第一の実施の形態の場合と略同様であるため、ここ
ではその説明を省略する。
【0046】ただし、このとき、バスブリッジ装置40
0では、計測手段303がデバイス21への転送データ
のデータ量を計測する。このデータ量は、第一の実施の
形態の場合と略同様に、信号「IRDY#」、信号「TRDY#」
および信号「DEVSEL#」の論理積によって検出する。そ
して、データの転送が終了したことを、信号「DEVSEL
#」の出力終了によって検出すると、計測手段303
は、データ量の計測結果をバッファ制御手段401に通
知する。これを受けて、バッファ制御手段401では、
通知されたデータ量の値を、レジスタ402内の該当す
る項に登録する。これにより、レジスタ402において
は、デバイス21について格納されているデータ量の値
が、デフォルト値(または既に登録されている計測値)
から計測手段303での計測結果に更新されることにな
る。
【0047】これにより、レジスタ402内には、デバ
イス21へ転送した画像データのデータ量に関する情報
と、その画像データの画像メモリ13内におけるメモリ
アドレスに関する情報とが、それぞれ格納されることに
なる。つまり、これらの情報を参照すれば、画像メモリ
13内のどこのメモリアドレスに格納されていた画像デ
ータを、どれだけのデータ量分だけ読み出したかが分か
るようになる。
【0048】ところで、一般に、画像データは、連続し
たアドレスに格納されているものが、順次読み出されて
処理されることが多い。このことから、バスブリッジ装
置400では、デバイス21へのデータ転送が終了し、
レジスタ402内にデータ量およびメモリアドレスに関
する情報を格納すると、その後、デバイス21が既に受
け取った画像データと連続したアドレスの画像データを
画像メモリ13から取得すると仮定して、第一のバス1
0がバスアドレス状態において、レジスタ402内に格
納しているメモリアドレスと連続するアドレスの画像デ
ータを、レジスタ402内に格納しているデータ量分だ
け、予め画像メモリ13内から読み出し、割り当てられ
たバッファ203に格納しておく。
【0049】したがって、その後に、デバイス21が画
像メモリ13から連続したアドレスの画像データの読み
出しを行う場合には、バスブリッジ装置400は、その
読み出し要求に係るアドレスの画像データが既にバッフ
ァ203に格納されていることを認識し、第一のバス1
0を介して画像メモリ13にアクセスすることなく、そ
の画像データをデバイス21へ転送することが可能とな
る。そして、このときにも、バスブリッジ装置400で
は、レジスタ402内に格納しているメモリアドレスに
関する情報を更新し、次に連続するアドレスの画像デー
タに対応し得るようにしておく。
【0050】以上のように、本実施形態におけるバスブ
リッジ装置400によれば、バッファ制御手段401が
決定したブロック割当量分だけ、画像メモリ13から読
み出した画像データをバッファ203に格納させるよう
になっているので、画像データを転送する場合であって
も、バッファ203のサイズとして適切な大きさの記憶
領域が動的に割り当てられることになり、結果としてバ
ッファ203の使用効率を十分に最適化することが可能
となる。
【0051】しかも、本実施形態のバスブリッジ装置4
00では、画像メモリ13から読み出した画像データに
関するアドレス情報をもレジスタ402内に格納して管
理するようになっているので、前回画像メモリ13から
の読み出しがあった画像データと連続するアドレスの画
像データを予めバッファ203内に格納しておくことが
可能となる。したがって、画像メモリ13からデバイス
21へ画像データの転送を行う場合に、バッファ203
を効率的に使用するだけではなく、そのデータ転送も非
常に効率的に行うことができるようになる。
【0052】なお、上述した第一および第二の実施の形
態では、バスブリッジ装置300,400が第一および
第二のバス10,221といった二つのPCIバス間で
のデータ転送を行う場合を例に挙げて説明したが、本発
明はこれに限定されるものではなく、例えば他のバス規
格によるバス間でデータ転送を行う場合や、三つ以上の
バス間でデータ転送を行う場合等にも応用することが考
えられる。
【0053】
【発明の効果】以上に説明したように、本発明に係るバ
スブリッジ装置では、従来のような物理的な仕様だけで
なく、バス間で転送されるデータ量に基づいて、転送デ
ータを一時的に格納するバッファが割り当てられるの
で、そのバッファをより効率的に使用することができ、
効率的なデータ転送を実現することができるといった効
果が得られる。
【図面の簡単な説明】
【図1】 本発明に係るバスブリッジ装置の第一の実施
の形態における概略構成を示すブロック図である。
【図2】 図1のバスブリッジ装置におけるレジスタが
格納するデータ構成の一具体例を示す説明図である。
【図3】 デバイス間でデータを転送(PCIライト)
する際の信号処理の一動作例を示すタイミングチャート
(その1)である。
【図4】 本発明に係るバスブリッジ装置の第二の実施
の形態における概略構成を示すブロック図である。
【図5】 図4のバスブリッジ装置におけるレジスタが
格納するデータ構成の一具体例を示す説明図である。
【図6】 デバイス間でデータを転送(PCIライト)
する際の信号処理の一動作例を示すタイミングチャート
(その2)である。
【図7】 従来のバスブリッジ装置の一例の概略構成を
示すブロック図である。
【図8】 従来のバスブリッジ装置の他の例の概略構成
を示すブロック図である。
【符号の説明】
10…第一のバス、20…第二のバス、11,21…デ
バイス、13…画像メモリ、101…バス制御手段、2
03…バッファ、300,400…バスブリッジ装置、
301,401…バッファ制御手段、302,402…
レジスタ、303…計測手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 竹内 健二 神奈川県海老名市本郷2274番地 富士ゼロ ックス株式会社海老名事業所内 Fターム(参考) 5B061 FF01 FF06 GG01 RR03 RR05

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のバスに接続し、当該複数のバス間
    におけるデータ転送を行うバスブリッジ装置であって、 前記バス間で転送するデータを複数のブロックに区切ら
    れた記憶領域を用いて一時的に格納するバッファと、 前記転送するデータのデータ量を計測する計測手段と、 前記計測手段による計測結果から前記バッファがデータ
    を格納する際のブロック割当量を決定するバッファ制御
    手段とを備えることを特徴とするバスブリッジ装置。
  2. 【請求項2】 前記計測手段は、データ量の計測を、前
    記バス上に接続されデータ転送の要求元となるデバイス
    毎に行うものであり、 前記バッファ制御手段は、前記バッファについてのブロ
    ック割当量の決定を、前記デバイス毎に行うものである
    ことを特徴とする請求項1記載のバスブリッジ装置。
  3. 【請求項3】 前記バス上に画像データを格納した画像
    メモリが接続されている場合に、前記バッファ制御手段
    が決定したブロック割当量分だけ、当該画像メモリから
    読み出した画像データを前記バッファに格納させるよう
    に構成されたことを特徴とする請求項2記載のバスブリ
    ッジ装置。
  4. 【請求項4】 前記バッファ制御手段は、前記画像メモ
    リから読み出した画像データに関するアドレス情報をも
    管理することを特徴とする請求項3記載のバスブリッジ
    装置。
JP2001181340A 2001-06-15 2001-06-15 バスブリッジ装置 Pending JP2002373146A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001181340A JP2002373146A (ja) 2001-06-15 2001-06-15 バスブリッジ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001181340A JP2002373146A (ja) 2001-06-15 2001-06-15 バスブリッジ装置

Publications (1)

Publication Number Publication Date
JP2002373146A true JP2002373146A (ja) 2002-12-26

Family

ID=19021625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001181340A Pending JP2002373146A (ja) 2001-06-15 2001-06-15 バスブリッジ装置

Country Status (1)

Country Link
JP (1) JP2002373146A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269467A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd 転送システム、イニシエータデバイス及びデータ転送方法
US8443122B2 (en) 2009-12-01 2013-05-14 Samsung Electronics Co., Ltd. Asynchronous upsizing circuit in data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269467A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd 転送システム、イニシエータデバイス及びデータ転送方法
US8443122B2 (en) 2009-12-01 2013-05-14 Samsung Electronics Co., Ltd. Asynchronous upsizing circuit in data processing system

Similar Documents

Publication Publication Date Title
US5862387A (en) Method and apparatus for handling bus master and direct memory access (DMA) requests at an I/O controller
EP0628914B1 (en) System direct memory access (DMA) support logic for PCI based computer system
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
US6618777B1 (en) Method and apparatus for communicating between multiple functional units in a computer environment
US5515516A (en) Initialization mechanism for symmetric arbitration agents
US5892978A (en) Combined consective byte update buffer
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US20020019899A1 (en) Method of bus priority arbitration
JP4313607B2 (ja) バス接続回路及びバス接続システム
JPH04257054A (ja) チャネル間接続装置
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
US6078742A (en) Hardware emulation
US5968144A (en) System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
US5933613A (en) Computer system and inter-bus control circuit
US6421756B1 (en) Buffer assignment for bridges
US7194567B2 (en) Method and system for ordering requests at a bus interface
JP2002373146A (ja) バスブリッジ装置
US6327636B1 (en) Ordering for pipelined read transfers
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
KR101226389B1 (ko) 시스템 온 칩에서의 독점 접근 제어 방법 및 시스템
US6240474B1 (en) Pipelined read transfers
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
JP2503059B2 (ja) 異種バス間接続装置
JP2576934B2 (ja) メモリ−マップド割込み方式