(57)【特許請求の範囲】
【請求項１】
データの変換処理および蓄積処理を行う制御手段を備え、ＰＣＩ−Ｅｘｐｒｅｓｓバスと接続された第１の装置と、ＰＣＩバスと接続された第２の装置との間で前記データの転送を行うデータ転送装置において、
前記制御手段は、
前記ＰＣＩ−Ｅｘｐｒｅｓｓバスを経由して前記第１の装置および当該制御手段のアドレスを受信するとともに、前記ＰＣＩバスを経由して当該制御手段から前記データが転送される転送先を指定する転送先要求信号を受信する送信先転送先情報受信部と、
前記送信先転送先情報受信部が受信した前記第１の装置および当該制御手段のアドレスと前記転送先要求信号とに基づいて、当該制御手段を、前記第１の装置を送信元としたときの送信先から送信元に変換し、更に、前記第２の装置を、前記変換された送信元である当該制御手段に対する前記データの転送先に変換する第１アドレス変換部と、
前記第１の装置からアドレス取得要求を受信し、当該受信したアドレス取得要求に対応するアドレスをリードし、前記データの転送先である前記第２の装置のアドレスとして認識する第２アドレス変換部と、
を備えたことを特徴とするデータ転送装置。
【請求項２】
前記制御手段は、
前記送信先転送先情報受信部で受信した当該制御手段のアドレス、および前記送信先転送先情報受信部が受信した前記転送先のアドレスを格納するレジスタをさらに備えたことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記制御手段は、
転送データをバッファするバッファ部と、
前記バッファ部でバッファされた転送データのリセットを行うリセット部と、をさらに備えたことを特徴とする請求項１または請求項２に記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、およびＰＣＩ−Ｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）バスで接続されたデータ転送装置に関する。
【背景技術】
【０００２】
ＰＣＩバスは、インテル社が１９９２年に提唱した３２ビットインターフェースであり、コンピュータ用のアーキテクチャの１つであって、当該ＰＣＩバスによりモデムカードやビデオカードなど種々のデバイスとの接続が可能である。
図９は、ＰＣＩバスを備えた従来のコントローラを示した図である。
コントローラＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）９００は、ＰＣＩバス９０５を介してＦＣＵ９１０（Ｆａｘ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、およびエンジンＡＳＩＣ９２０と接続されている。
そして、ＰＣＩバス９０５を介して接続されているデバイスは、個々にデータの送信先となるターゲットや、送信元となるマスタを特定することが可能である。
例えば、図９に示す波線９３０のように、コントローラＡＳＩＣ９００を介さず、ＦＣＵ９１０とエンジンＡＳＩＣ９２０との間でデータ転送のやり取りを行うことができる。
【０００３】
そして近年では、３次元グラフィックスや動画などの大容量データを、高画質かつ高速に転送するため、次世代のバスとして「ＰＣＩ−Ｅｘｐｒｅｓｓ」が規格化された。
このＰＣＩ−Ｅバスでは、複数のレーン（伝送路）を束ねることによってシリアル信号で高速なデータ転送が可能であり、片方向で２．５Ｇｂｐｓ、双方向で５．０Ｇｂｐｓの全二重通信を行うことができる。
図１０は、ＰＣＩバス、およびＰＣＩ−Ｅバスを備えた従来のコントローラを示した図である。
コントローラＡＳＩＣ１０００は、ＢＤ（Ｂｒｉｄｇｅ  Ｄｅｖｉｃｅ）１０５０と接続され、このＢＤ１０５０はＰＣＩ−Ｅバス１０１０、およびＰＣＩバス１００５が接続され、該ＰＣＩ−Ｅバス１０１０を介して、エンジンＡＳＩＣ１０２０が接続される。
このように、ＰＣＩ−Ｅバス１０１０を介して接続されることによって、エンジンＡＳＩＣ１０２０からの画像データを高画質、かつ高速で送受信することができる（例えば、下記特許文献参考）。
【特許文献１】特開２００１−５７７２公報
【特許文献２】特開２００２−３１８７７９公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、図１０に示すＢＤ１０５０は、初期設定用のコンフィグレーション空間を図示しないレジスタに備えている。
コンフィグレーション空間とは、コンフィグレーション情報を記憶するための記憶領域であって、システム設定時に該コンフィグレーション情報が設定される。
コンフィグレーション情報は、定義済みヘッダ領域とデバイス依存領域から構成され、例えば、ＰＣＩバス仕様では全体として５６バイトあり、定義済みヘッダ領域では６４バイト、デバイス依存領域では１９２バイトが規格として設定されている。
そして、コンフィグレーション情報を用いて、各ＰＣＩに接続されたデバイス毎に任意の情報を設定することができる。
ＢＤ１０５０は、エンジンＡＳＩＣ１０２０からのＰＣＩ−Ｅバストランザクションや、ＦＣＵ１０３０からのＰＣＩバストランザクションなどを受け付けると、その受け付けたトランザクションの内容に応じて、コントローラＡＳＩＣ１０００内のメモリ１０８０にアクセスしたり、ＰＣＩバス１００５、またはＰＣＩ−Ｅバス１０１０を介して高画質な画像データやマシンの処理速度などに対応したデータ転送を可能にしている。
【０００５】
しかしながら、コンフィグレーション空間へのアクセスには、図１０に示すように、ＰＣＩバス１００５、およびＰＣＩ−Ｅバス１０１０と２種類の規格が存在するため、コンフィグレーション空間へのアクセス時にＢＤ１０５０が必要となる。
そのため、ＰＣＩバスのみと接続された装置にＰＣＩ−Ｅバスを増設する場合、このＢＤ１０５０も設置する必要となるため、装置全体に係るコストが増加し、回路構造が複雑になるという問題があった。
【０００６】
そこで、本発明では、ＰＣＩバス、およびＰＣＩ−Ｅバスの２種類のコンフィグレーション空間へのアクセスでも、ＢＤを用いずに簡易にコンフィグレーション空間へアクセスを行うことを第１の目的とする。
また、ＰＣＩバス、およびＰＣＩ−Ｅバスの２種類のコンフィグレーション空間へのアクセスでも、ＢＤを用いずに簡易にコンフィグレーション空間からデータ転送先のアドレスを取得することを第２の目的とする。
【課題を解決するための手段】
【０００７】
請求項１記載の発明では、データの変換処理および蓄積処理を行う制御手段を備え、ＰＣＩ−Ｅｘｐｒｅｓｓバスと接続された第１の装置と、ＰＣＩバスと接続された第２の装置との間で前記データの転送を行うデータ転送装置において、前記制御手段は、前記ＰＣＩ−Ｅｘｐｒｅｓｓバスを経由して前記第１の装置および当該制御手段のアドレスを受信するとともに、前記ＰＣＩバスを経由して当該制御手段から前記データが転送される転送先を指定する転送先要求信号を受信する送信先転送先情報受信部と、前記送信先転送先情報受信部が受信した前記第１の装置および当該制御手段のアドレスと前記転送先要求信号とに基づいて、当該制御手段を、前記第１の装置を送信元としたときの送信先から送信元に変換し、更に、前記第２の装置を、前記変換された送信元である当該制御手段に対する前記データの転送先に変換する第１アドレス変換部と、前記第１の装置からアドレス取得要求を受信し、当該受信したアドレス取得要求に対応するアドレスをリードし、前記データの転送先である前記第２の装置のアドレスとして認識する第２アドレス変換部と、を備えたことを特徴とするデータ転送装置を提供する。
請求項２記載の発明では、前記制御手段は、前記送信先転送先情報受信部で受信した当該制御手段のアドレス、および前記送信先転送先情報受信部が受信した前記転送先のアドレスを格納するレジスタをさらに備えたことを特徴とする請求項１に記載のデータ転送装置を提供する。
請求項３記載の発明では、前記制御手段は、転送データをバッファするバッファ部と、前記バッファ部でバッファされた転送データのリセットを行うリセット部と、をさらに備えたことを特徴とする請求項１または請求項２に記載のデータ転送装置を提供する。
【発明の効果】
【０００８】
本発明によれば、ＰＣＩバス、およびＰＣＩ−Ｅバスの２種類が接続されたデータ転送装置において、ＢＤを用いずに簡易にコンフィグレーション空間へアクセスを行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、図１から図８を参照して、本発明の実施形態を詳細に説明する。
図１は、本発明の第１の実施形態を示したブロック図である。
第１の実施形態において、データ転送装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７０、ＣＳ（Ｃｈｉｐｓｅｔ）１６０、メモリ１８０、コントローラＡＳＩＣ１００から構成されている。
そして、コントローラＡＳＩＣ１００と、ＦＣＵ１３０、およびＯｐｔｉｏｎ１４０とはＰＣＩバス１０５を介して接続されており、コントローラＡＳＩＣ１００と、エンジンＡＳＩＣ１２０とは、ＰＣＩ−Ｅバス１１０を介して接続されている。
コントローラＡＳＩＣ１００は、画像データの変換、蓄積に係る処理や、メモリ１８０とのハンドリングなどを制御する。
エンジンＡＳＩＣ１２０は、画像データの入出力などを制御する。
ＦＣＵ１３０は、図示しないＦａｘなどの複合機と接続されて画像データを取得し、該画像データの入出力を制御する。
【００１０】
コントローラＡＳＩＣ１００は、初期設定用のコンフィグレーション空間を図示しないレジスタに備えている。
図２は、コントローラＡＳＩＣ１００内のレジスタを示す概念図である。
図２において、コンフィグアドレスレジスタ２００は、アドレス設定用のレジスタとして機能し、コンフィグデータレジスタ２５０は、データアクセス用のレジスタとして機能する。
コントローラＡＳＩＣ１００は、ＰＣＩバス１０５、またはＰＣＩ−Ｅバス１１０からコンフィグレーション情報を受信し、コンフィグアドレスレジスタ２００にアクセス先のアドレス設定を行う。
【００１１】
コンフィグアドレスレジスタ２００は、コンフィグレーション情報を受信した際に、所定のアドレスが設定され、例えば、「００」から「０１」には固定番号データ、「０２」から「１１」には登録アドレスデータ、「１２」から「１４」には機能番号データ、「１５」から「１９」には装置番号データ、「２０」から「２７」にはバス番号データ、「２８」から「３１」には予約データなどが設定される。
なお、コンフィグデータレジスタ２５０は、コンフィグアドレスレジスタ２００でアドレスが設定された後に、同様のアドレスに相当するデータがリードまたはライトされる。
【００１２】
図３は、レジスタのコンフィグレーション空間にアドレスが設定された場合の概念図である。
コンフィグレーションアドレス空間は、１ワード３２ビットで構成される。そして、下段への移行に伴ってワードのアドレスは４ずつ加算される。
例えば、コンフィグアドレスレジスタ２００がコンフィグレーション情報を受信して、１８（Ｈ）が設定された場合に、図３に示した矢印３００の１８（Ｈ）のコンフィグレーション空間に値をアクセスできる。
このように、コンフィグアドレスレジスタ２００の設定に伴って、コンフィグデータレジスタ２５０にてリードもしくはライトを行う。
なお、具体的には、コントローラＡＳＩＣ１００は、コンフィグアドレスレジスタ２００に所定のアドレスがライトされた場合に、コンフィグデータレジスタ２５０の所定のデータがライトされるように処理し、また、コンフィグアドレスレジスタ２００の所定のアドレスがリードされた場合に、コンフィグデータレジスタ２５０に設定された所定のアドレスに所定のデータがリードされるように処理を行う。
【００１３】
このように、第１の実施形態では、ＢＤと同様な機能をデータ転送装置１内部にレジスタを備えることにより、ＢＤの構成を回避することができる。これにより、データ転送装置１の外部に複雑な回路となるＢＤを搭載しないので、よりシンプルな回路で簡易にコンフィグレーション空間へのアクセスを行うことができる。
【００１４】
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、図１に示すＰＣＩバス１０５、およびＰＣＩ−Ｅバス１１０と接続されたデータ転送装置において、コントローラＡＳＩＣ１００がＰＣＩ上でターゲットとなるアドレスと、ＰＣＩ−Ｅバス上でターゲットとなるアドレスが異なるため、異なる規格のバスを経由してデータを転送することが困難となる問題があった。
そこで、第２の実施形態では、ＰＣＩバス、およびＰＣＩ−Ｅバスの２種類のコンフィグレーション空間へのアクセスでも、ＢＤを用いずに簡易にコンフィグレーション空間からデータ転送先のアドレスを取得することができる。
【００１５】
図４は、本発明の第２の実施形態の構成を示したブロック図である。
第２の実施形態においてデータ転送装置４は、ＣＰＵ４７０、ＣＳ４６０、メモリ４８０、コントローラＡＳＩＣ４００から構成されている。
そして、コントローラＡＳＩＣ４００と、ＦＣＵ４３０とはＰＣＩバス４０５を介して接続されており、コントローラＡＳＩＣ４００と、エンジンＡＳＩＣ４２０とは、ＰＣＩ−Ｅバス４１０を介して接続されている。
コントローラＡＳＩＣ４００は、画像データの変換、蓄積に係る処理や、メモリ４８０とのハンドリングなどを制御する。
エンジンＡＳＩＣ４２０は、画像データの入出力などを制御をする。
ＦＣＵ４３０は、図示しないＦａｘなどの複合機と接続されて画像データを取得し、該画像データの入出力を制御する。
【００１６】
図５の波線５００は、エンジンＡＳＩＣ４２０とＦＣＵ４３０とのデータ転送のやり取りを示している。
図５に示すように、第２の実施形態では、データ転送がＰＣＩバス４０５、ＰＣＩ−Ｅバス４１０、およびコントローラＡＳＩＣ４００を介して行われている。
【００１７】
図６は、コントローラＡＳＩＣ４００、およびＦＣＵ４３０の構成をさらに詳細に示したブロック図である。
コントローラＡＳＩＣ４００は、ライト用ブリッジアドレス部６００、ライト用アドレス変換部６０５、ライト用データバッファ部６１０、リード用データバッファ部６１５、リード用アドレス変換部６２０、およびリード用ブリッジアドレス部６２５から構成される。
、各構成要素はレジスタと接続され、該レジスタは、アドレス情報などのライトやリードを受け付ける。
ＦＣＵ４３０は、ライト用アドレス変換部６５０、およびリード用アドレス部６５５から構成されている。
【００１８】
以下に、第２の実施形態におけるデータ転送先のアドレスを取得する処理手順について図５から図８を参照して説明する。
まず、レジスタのコンフィグレーション空間に転送先のアドレスをライトする場合について説明する。
エンジンＡＳＩＣ４２０は、ＰＣＩ−Ｅバス４１０を介してコントローラＡＳＩＣ４００にデータの送信先となるターゲットや、データの送信元となるマスタなどから構成されるアドレス情報、およびデータの転送先となる転送要求信号を送信する。
なお、エンジンＡＳＩＣ４２０からコントローラＡＳＩＣ４００に送信する際、送信先であるターゲットとして「コントローラＡＳＩＣ４００」が設定されており、送信元であるマスタとして「エンジンＡＳＩＣ４２０」が設定されている。そして、転送要求信号には、転送先として「ＦＣＵ４３０」が設定されている。
ここで、アドレス情報は、ＰＣＩ−Ｅバス４１０上での送信先、送信元の情報を示し、転送要求信号は、ＰＣＩ−Ｅバス４１０からさらにＰＣＩバス４０５を経由して転送する転送先の情報を示している。
【００１９】
コントローラＡＳＩＣ４００は、アドレス情報、および転送要求信号を受信し、ライト用ブリッジアドレス部６００に該アドレス情報を送信する。
ライト用ブリッジアドレス部６００は、データの送信元であるマスタ「エンジンＡＳＩＣ４２０」を特定し、該マスタが「エンジンＡＳＩＣ４２０」である場合、図７に示すベースアドレスレジスタ７００にアドレス情報をライトする。
ライト用アドレス変換部６０５は、ベースアドレスレジスタ７００にアドレス情報がライトされると、該アドレス情報のマスタを「エンジンＡＳＩＣ４２０」から「コントローラＡＳＩＣ４００」に変換し、転送要求信号に基づいて該アドレス情報のターゲットを「コントローラＡＳＩＣ４００」から「ＦＣＵ４３０」に変換して該変換されたアドレスを図８に示すアドレス変換レジスタ８００にライトする。
【００２０】
次に、ライトされたコンフィグレーション空間から転送先のアドレスをリードする場合について説明する。
リード用アドレス変換部６２０は、エンジンＡＳＩＣ４２０からのアドレス取得要求を受信すると、該当するアドレスをアドレス変換レジスタ８００からリードする。
そして、リード用ブリッジアドレス部６２５は、リードされたアドレスを転送先のアドレス「ＦＣＵ４３０」として認識し、該「ＦＣＵ４３０」を特定アドレス情報として発行する。
そして、コントローラＡＳＩＣ４００は、当該発行された特定アドレス情報に基づいて、ＰＣＩ−Ｅバス４１０を介して送信されたデータをＰＣＩバス４０５を介して転送する。
【００２１】
このように、第２の実施形態では、エンジンＡＳＩＣ４２０からのＰＣＩ−Ｅ用のアドレスをＰＣＩ用のアドレスに変換する手段を備えることによって、簡易にコンフィグレーション空間からデータ転送先のアドレスを取得することができる。
【００２２】
なお、第２の実施形態では、リード用データバッファ部６１５、およびライト用データバッファ部６１０によって転送するデータをバッファすることができ、さらにバッファされた転送データを適宜リセットすることによって、瞬断やフレーム同期外れなどによる不具合を回避することができる。
例えば、ＰＣＩバス側に不具合が生じ、バッファにバースト長分のデータが蓄積されずにデータ転送が止まった場合、ＰＣＩ−Ｅバスを経由してバッファされたデータをリセットすることで不具合を回避し、データ転送を再開することができる。
【００２３】
また、第１の実施形態、および第２の実施形態では、データ転送装置をＣＰＵ、ＣＳ、メモリ、コントローラＡＳＩＣから構成したが、本発明の実施はそれに限定されることなくコントローラＡＳＩＣのみで実施することが可能である。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態を示したブロック図である。
【図２】コントローラＡＳＩＣ内のレジスタを示す概念図である。
【図３】レジスタのコンフィグレーション空間にアドレスが設定された場合の概念図である。
【図４】本発明の第２の実施形態の構成を示したブロック図である。
【図５】エンジンＡＳＩＣとＦＣＵとのデータ転送のやり取りを示した図である。
【図６】コントローラＡＳＩＣ、およびＦＣＵの構成をさらに詳細に示したブロック図である。
【図７】ライト用ブリッジアドレス部、およびリード用ブリッジアドレス部が備えるるベースアドレスレジスタを示す概念図である。
【図８】ライト用アドレス変換部、およびリード用アドレス変換部が備えるアドレス変換レジスタを示す概念図である。
【図９】ＰＣＩバスを備えた従来のコントローラを示した図である。
【図１０】ＰＣＩバス、およびＰＣＩ−Ｅバスを備えた従来のコントローラを示した図である。
【符号の説明】
【００２５】
１  データ転送装置
１００  コントローラＡＳＩＣ
１０５  ＰＣＩバス
１１０  ＰＣＩ−Ｅバス
１２０  エンジンＡＳＩＣ
１３０  ＦＣＵ
１４０  Ｏｐｔｉｏｎ
１６０  ＣＳ
１７０  ＣＰＵ
１８０  メモリ
【図１】
0005168541.tif 000002
【図２】
0005168541.tif 000003
【図３】
0005168541.tif 000004
【図４】
0005168541.tif 000005
【図５】
0005168541.tif 000006
【図６】
0005168541.tif 000007
【図７】
0005168541.tif 000008
【図８】
0005168541.tif 000009
【図９】
0005168541.tif 000010
【図１０】
0005168541.tif 000011