JP2008102609A - バス・ブリッジ - Google Patents

バス・ブリッジ Download PDF

Info

Publication number
JP2008102609A
JP2008102609A JP2006282753A JP2006282753A JP2008102609A JP 2008102609 A JP2008102609 A JP 2008102609A JP 2006282753 A JP2006282753 A JP 2006282753A JP 2006282753 A JP2006282753 A JP 2006282753A JP 2008102609 A JP2008102609 A JP 2008102609A
Authority
JP
Japan
Prior art keywords
bus
image processing
write
processing circuit
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.)
Withdrawn
Application number
JP2006282753A
Other languages
English (en)
Inventor
Minoru Kobegawa
実 神戸川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006282753A priority Critical patent/JP2008102609A/ja
Publication of JP2008102609A publication Critical patent/JP2008102609A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 課題は画像処理回路Aから画像処理回路Bへデータを受け渡すプロセスにおいて、画像処理回路Aが画像を転送し終えて画像処理回路Bへ通知した時点で画像データはバスブリッジ内のライトバッファに保持されたままである可能性があり、画像処理回路Bが画像データをリードした時点でのデータは無効となることである。
【解決手段】 一つのバスにつながるマスタの数が多いときはバスブリッジでバスを分割する必要が生じるが、ブリッジを隔てたマスタ間でデータの受け渡しをするときにリードがライトを追い越さないように、マスタ1が未使用領域の特定のアドレスにアクセスしたとき、バスブリッジは特殊コマンドと解釈し、ブリッジ内のライトバッファにデータが残っていれば無くなってから前記アクセスのアクノリッジをマスタ1へ返す手段をバスブリッジに持たせる。
【選択図】 図1

Description

本発明はバスとバスとを連結しデータを伝達するブリッジ回路に関するものである。特にバスに多数の画像処理デバイスなどのマスタデバイスを接続するバスのブリッジに関する。
画像処理、例えば圧縮、伸長、濃度変換、色変換、補正処理、各種フィルタ処理などを行うシステムにおいては処理の高速化のために専用のハード回路を用意するケースがある。その場合、画像データを処理する画像処理回路の個数はシステムの高機能化により必然的に増加する。すなわち多数の画像処理回路がバスに接続する必要性が生じる。
その際に顕在化される課題としては高速動作が困難になることである。つまり多数の画像処理部を接続するためバスのパス長が長くなることと、バスの切替の論理が複雑化することとにより、バス部の動作周波数が制限されることである。動作周波数はシステムの処理能力に直結するファクタであるため、それを避けるために一つのバスに接続されるデバイスの数を制限しなければならない。そのためにバスを分割しバスブリッジで分割されたバスを接続する必要がある。
そのようなバスの構成を図3を用いて説明する。同図においてバスAとバスBはバスブリッジ901によって接続されている。バスAはライトバスA(801)とリードバスA(803)から構成される。ライトバスA(801)とリードバスA(803)は独立して動作可能に構成されている。また、バスBはライトバスB(802)とリードバスB(804)とから構成される。ライトバスB(802)とリードバスB(804)はバスAと同様に独立して動作可能に構成されている。
バスブリッジ901はライトバッファ908を有している。ライトバッファ908はバスA側から転送されるライト命令をバッファするためのものであり、バスA側からのライト転送を対応するバスBの転送終了を待つことなく終了することを可能にする。これはライトバスA(801)上のライトデータ転送がライトバスA(801)を占有する時間を短くし、ライトバスA(801)のバンド幅を他の転送のために温存する効果があるため一般的に採用されている手法である。
902はメモリコントローラであり、バスBにスレーブとして接続されて、バスBのマスタからの要求を受けてメモリ903を制御するための信号を生成しメモリ903を制御する。
905、907は画像処理回部でありそれぞれ内部にダイレクトメモリアクセスコントローラ(DMAC)を有している。DMACは、それぞれの画像処理回路が必要とするデータをメモリ903からリードし、処理されたデータをメモリ903へ書き戻す機能を持つ。したがってバスAに接続される画像処理部A(905)はバスAのマスタとして動作し、バスBに接続される画像処理部B(907)はバスBのマスタとして動作する。
つまり画像処理回路A(905)はメモリ903に格納済の画像データを読み出し、自身の画像処理回路により画像を変換生成し、生成された画像をメモリ903へ書き戻すものである。同様に画像処理回路B(907)はメモリ903に格納済の画像データを読み出し、自身の画像処理回路により画像を変換生成し、生成された画像をメモリ903へ書き戻すものである。
図4はさらにバスブリッジ901の内部構成を説明するブロック図である。
同図においてライトバスA(801)とライトバスB(802)は、それぞれADDRESS、DATA、TX、RDYの信号を含んでいる。TXはマスタが出力するADDRESS、DATA信号が有効であるタイミングを示す信号であり転送が行われていることを示す。RDYはスレーブがADDRESS信号、DATA信号を受信したことをマスタへ知らせる信号であり転送を終了させる。
951、952はそれぞれ有限ステイトマシンであり951はTXを受けるとライトバッファ908がフル状態でなければライトバス801のRDY信号をアクティブに駆動するステイトマシンである。またステイトマシン952はライトバッファ908がエンプティ(空)状態でなければ、ライトバスBへTX信号を出力しライトバスBに接続されたスレーブであるメモリーコントローラ902から返されるRDY信号を受けるまでサイクルを継続させるステイトマシンである。
同様にリードバスA(803)とリードバスB(804)はそれぞれ、ADDRESS、TX、DATA、RDYを含んでいる。TXはマスタが出力するADDRESS信号が有効であるタイミングを示す信号でありリード転送中であることを示す。リードバスA側から送られたADDRESS信号とTX信号はフリップフロップ953にラッチされリードバスB(802)側へ出力される。
リードバスのRDYはスレーブから返送されるDATA信号の有効期間を示す信号であり、リードバスBのスレーブであるメモリーコントローラ902から返されるDATAとDRDYをバスブリッジ901はフリップフロップ954でラッチしてリードバスA(803)側へ出力される。
図3においては画像処理回路は2つしか記載していないがそれは説明の簡単のためで一般にはより多数接続されている。また、システムを統括制御するCPU等が一般に接続されるが省略されているのも説明の簡単のためである。また、一つの転送において一般にデータは4回または8回まとめてバースト転送されるが簡単のためシングル転送のみを例に説明する。
上記の構成において、画像処理回路A(905)と画像処理回路B(907)はそれら自身の間に転送終了通知手段909を備えている。この通信手段は複数の画像処理回路部間でまとまった画像データの受け渡しをするためのものである。
例えば、ある画像データを画像処理回路Aにより第1の画像処理を施してメモリ903内のある領域に格納し、さらに領域2に格納された画像データを画像処理回路Bが逆順に読み取り画像処理を施すことがある。画像データを逆順に走査して読み取ることは、画像を180度回転させるためにしばしば必要な方法である。ただし画像処理回路Bが通知を受けた後にどうのような動作するべきか(開始アドレス、画像処理のための設定)については図示しないCPUによって予め設定されておく必要がある。
従来例としては、例えば、省電力を意味するホストからの第一のスペシャルサイクルを取得して第2のスペシャルサイクルをPCIデバイスへ出力するものがある(特許文献1参照)。
特登録3425888号公報
課題は画像処理回路Aから画像処理回路Bへデータを受け渡すプロセスにおいて、画像処理回路Aが画像を転送し終えて画像処理回路Bへ通知した時点で画像データはバスブリッジ901内のライトバッファに保持されたままである可能性があり、画像処理回路Bが画像データをリードした時点でのデータは無効となることである。
図5の波形図がその例を示す。同図においてサイクル1において画像処理回路AはライトバスA/TXをアサートすることによりライト転送を開始する。バスブリッジ901内のステイトマシン951はライトバッファ908がフル状態ではないのでRDYをサイクル3にて返しライトバスAのライト転送は終了する。その時点でライトバスB側の転送は一つ前のライト転送を実行中でありそれはサイクル6においてメモリコントローラ902がデータを受信しRDYを返すことにより終了する。ステイトマシン952はライトバッファ950が最後のライト転送情報を持つためエンプティ状態ではないのでサイクル8でTXをアサートすることにより最後のライト転送を開始する。それはサイクル15でメモリコントローラ902がデータを受信しRDYを返すことにより終了する。
一方、画像処理回路Aにとっての最後のライト転送はサイクル2で終了したのでサイクル3で、画像処理回路Aは画像処理回路Bは前述の転送終了通知手段909によってそれを通知する。画像処理回路Bは通知を受けたのでサイクル4において最初のリード転送を開始する。そのリード転送のアドレスは画像処理回路Aによる最後のライトアドレスと等しい。
ライトバスBにおいてライトの最終転送は8サイクル目から始まるのに対しリード転送は4サイクル目から開始される。したがってメモリコントローラ902はリード転送を先に受付け、13サイクル目においてメモリコントローラ902からリードされるデータは無効データとなりデータの受け渡しは失敗する。
本課題の解決方法として、画像処理回路Bがライト転送終了の通知を受けてから一定時間待機してからリード転送を開始するという手法が考えられる。しかし待機する時間長を長くしないと問題が発生する可能性は残るし長くしすぎるとシステムの性能が低下してしまう。また他の解決手法として、バスブリッジ内のライトバッファの状態がわかるようにバスAのインターフェイスを追加するという方法も考えられる。しかしバス仕様が複雑化し従来との互換性が無くなるという問題があった。
本発明はかかる問題を解決するために以下の手段を設ける。
マスタが出力するアドレスを予め定められた値と比較して一致しているかどうかを検出する特殊アドレス検出手段と、前記手段で特定アドレスが検出されたときはライトバッファが空になるまでライト転送の終了を遅らせるシーケンス手段をバスブリッジ内にもうける。
以上の手段を備えた構成でバスAに接続されたマスタはあるエリア内のデータを送り終えた後に前記特殊アドレスへのライト動作を発行させ、その擬似ライト転送が終了した後に、転送終了通知信号を画像処理回路Bへ送信することによりバスB側における画像処理回路Aからのライト要求と画像処理回路Bからのリード要求が時間的に前後しないようにする。
以上説明したように本発明によれば、システムのパフォーマンスを損なうことなくまたバスの仕様を変更することなく、2つのマスタ間の転送の前後関係を確実に保証することが可能になる。
(実施例1)
以下添付図面を参照して、本発明に係る好適な実施例を説明する。
図1は本発明を実施したバスブリッジの構成を説明するブロック図である。
同図においてライトバスA(801)とライトバスB(802)は、それぞれADDRESS、DATA、TX、RDYの信号を含んでいる。TXはマスタが出力するADDRESS、DATA信号が有効であるタイミングを示す信号でありRDYはスレーブがADDRESS信号、DATA信号を受信したことをマスタへ知らせる信号である。
909は本発明の特徴となるブロックで、ライトバスAのADDRESSと予め定められた規定値とを常に比較する回路である。規定値はアドレスの使用領域外に設定する。バスブリッジに入力されたアドレスと規定値が一致ししているときはフラッシュ信号950を出力する。フラッシュ信号が発生した転送は擬似のライト転送であるのでADDRESSSとDATA信号の値はライトバッファ908へは格納されない。
951は有限ステイトマシンでありフラッシュ信号がインアクティブであれば従来例と同様の状態遷移を行う。つまりライトバスAからのTXを受けるとライトバッファ908がフル状態でなければライトバス801のRDY信号をアクティブに駆動する。それに対しフラッシュ信号950が発生したときはライトバッファ908がエンプティ状態になるまでRDY信号を返さない。
952は有限ステイトマシンであり951はTXを受けるとライトバッファ908がフル状態でなければライトバス801のRDY信号をアクティブに駆動するステイトマシンである。またステイトマシン952はライトバッファ908がエンプティ(空)状態でなければ、ライトバスBへTX信号を出力しライトバスBに接続されたスレーブであるメモリーコントローラ902から返されるRDY信号を受けるまえサイクルを継続させるステイトマシンである。これは従来例と同様である。
リードバスAとリードバスBはそれぞれ、ADDRESS、TX、DATA、RDYを含んでいる。TXはマスタが出力するADDRESS信号が有効であるタイミングを示す信号である。リードバスA側から送られたADDRESS信号とTX信号はフリップフロップ953にラッチされリードバスB側へ出力される。
RDYはスレーブから返送されるDATA信号の有効期間を示す信号であり、リードバスBのスレーブであるメモリーコントローラ902から返されるDATAとDRDYをバスブリッジ901はフリップフロップ956でラッチしてリードバスA側へ出力される。すなわちリードのパスに関しては従来例と同様である。
以上のように構成されたバスブリッジ実施形において画像処理回路Aから画像処理回路Bへデータを渡すときの手順を図2の波形図に沿って説明する。
画像処理回路Aはあるエリアのデータに対して画像処理を施し最後の処理済データをサイクル1においてライトを開始する。バスブリッジ901のステイトマシン951は、フラッシュ信号950が発生せず、かつライトバッファがフル状態ではないので次のサイクル2において、RDYをライトバスAへ出力してライト転送を終える。
次に画像処理回路Aはサイクル4においてライトバッファ908をフラッシュする目的で特殊アドレスへのライト転送をライトバスA/TXを立ち上げることにより開始する。本サイクルを発生する仕組みは予め画像処理回路A内のDMACに備えておく。
特殊アドレス検出手段909は転送開始と同時にフラッシュ信号950を出力する。ステイトマシン955はフラッシュ信号950がアクティブなのでライトバッファ908がエンプティで無い限りRDYを返さない。
一方ライトバッファ908はサイクル4の時点で2つのライト命令を保持している。サイクル5でメモリコントローラ902からRDYが出力されることによりライトバスB上の転送が一つ終了し、最後の転送がライトバスB/TXをステイトマシン952が出力することによりサイクル8で開始される。その最後のライトサイクルはサイクル13でメモリコントローラ902がRDYを出力することにより終了しサイクル15においてライトバッファがエンプティ状態になりEMPTY信号がアサートされる。EMPTY信号のアサートを受けてステイトマシン951の状態が特殊アドレスへの転送を終わらせる状態に遷移しライトバスAにRDY信号をサイクル15で出力する。画像処理回路AはRDY信号をみてフラッシュ動作のための転送を終了しサイクル16において転送終了通知信号を画像処理回路Bへ出力する。画像処理回路Bはサイクル18で最初のリードアクセスをリードバスA/TX信号をドライブすることにより開始する。
以上のシーケンスから明らかのようにライトバスBにおける最終ライト転送(7サイクルから13サイクルまで)とリードの最初の転送(17サイクルから)の前後関係が確実に守られる。
本発明のバスブリッジの構成を説明するブロック図。 本発明を実施したバスブリッジを用いて画像処理回路間でデータの受け渡しをするタイミングを説明する波形図。 バスブリッジを含むバス構成を説明する図(実施例と従来例とに共通)。 従来のバスブリッジの構成を説明するブロック図。 従来例のバスブリッジを用いて画像処理回路間でデータの受け渡しをする時の課題を説明する波形図。

Claims (1)

  1. ライト転送を一つ以上保持することが可能なバスブリッジにおいて
    特定のアドレスへの転送命令を受信したときにその転送を少なくとも前記ライトバッファが空になるかまたは空になる条件が成立するまで前記転送が終了しないように制御するバスブリッジ。
JP2006282753A 2006-10-17 2006-10-17 バス・ブリッジ Withdrawn JP2008102609A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006282753A JP2008102609A (ja) 2006-10-17 2006-10-17 バス・ブリッジ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006282753A JP2008102609A (ja) 2006-10-17 2006-10-17 バス・ブリッジ

Publications (1)

Publication Number Publication Date
JP2008102609A true JP2008102609A (ja) 2008-05-01

Family

ID=39436913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006282753A Withdrawn JP2008102609A (ja) 2006-10-17 2006-10-17 バス・ブリッジ

Country Status (1)

Country Link
JP (1) JP2008102609A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326045A (zh) * 2015-06-30 2017-01-11 展讯通信(上海)有限公司 一种检测总线延时的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326045A (zh) * 2015-06-30 2017-01-11 展讯通信(上海)有限公司 一种检测总线延时的方法
CN106326045B (zh) * 2015-06-30 2019-10-25 展讯通信(上海)有限公司 一种检测总线延时的方法

Similar Documents

Publication Publication Date Title
US7263572B2 (en) Bus bridge and data transfer method
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
JP2004171209A (ja) 共有メモリデータ転送装置
US20080005387A1 (en) Semiconductor device and data transfer method
US20060236001A1 (en) Direct memory access controller
JP2003296267A (ja) バスシステム及びバスシステムを含む情報処理システム
JP4233373B2 (ja) データ転送制御装置
JP2007048022A (ja) 非同期バスインタフェース及びその処理方法
JP2010267259A (ja) メモリデバイスおよびメモリデバイス制御装置
US10996904B2 (en) Network control device, image forming apparatus, control method of network control device, and non-transitory recording medium
US8799699B2 (en) Data processing system
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
JP2008102609A (ja) バス・ブリッジ
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
JP2005216147A (ja) 情報処理装置
JPH10307787A (ja) バッファメモリ装置
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
JP5146675B2 (ja) 画像処理装置、その制御方法及び制御プログラム、並びに画像形成装置
JP2005250683A (ja) マイクロコンピュータ
JP4190969B2 (ja) バスシステム及びambaにおけるバス調停システム
JP4799137B2 (ja) バスシステム
JP4840963B2 (ja) バスシステム及びその制御方法
JPH08180027A (ja) 調停回路
JP2002351818A (ja) バス制御システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105