(57)【要約】【課題】  ＤＭＡ転送の割り込みを相互に、かつ低レイテンシーで通知する。【解決手段】  第１の制御部、第１のＤＭＡ制御部、外部バスと内部バスとを変換する第１の外部バス変換部とを持つ第１のシステムと、第２の制御部、第２のＤＭＡ制御部、外部バスと内部バスとを変換する第２の外部バス変換部とを持つ第２のシステムと、を有し、前記第１のシステムと前記第２のシステムが、前記内部バス上のアドレス空間へアクセス可能な外部バスで相互に接続され、前記第１のシステムは、前記第２のシステムより前記外部バスを経由して通知される第２のＤＭＡ制御部が転送するデータの最終アドレスと、前記第１の外部バス制御部の出力する内部バスアドレスとを比較し、その結果に応じて前記第１の制御部へ割り込みを通知する第１のアドレス判定部を有する。【選択図】  図１
2018085003.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御部、第１のＤＭＡ制御部、外部バスと内部バスとを変換する第１の外部バス変換部とを持つ第１のシステムと、
第２の制御部、第２のＤＭＡ制御部、外部バスと内部バスとを変換する第２の外部バス変換部とを持つ第２のシステムと、を有し、
前記第１のシステムと前記第２のシステムが、前記内部バス上のアドレス空間へアクセス可能な外部バスで相互に接続され、
前記第１のシステムは、前記第２のシステムより前記外部バスを経由して通知される第２のＤＭＡ制御部が転送するデータの最終アドレスと、前記第１の外部バス制御部の出力する内部バスアドレスとを比較し、その結果に応じて前記第１の制御部へ割り込みを通知する第１のアドレス判定部を有することを特徴とするデータ処理装置。
【請求項２】
前記第１のアドレス判定部は、前記第１の外部バス制御部の出力する内部バスへの書き込みアドレスを監視し、前記最終アドレスへのアクセスが発生する時に割り込みを通知することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記内部バスはバースト転送に対応し、
前記第１のアドレス判定部は、前記第１の外部バス制御部の出力する内部バスへの書き込みアドレスとバースト長を監視し、前記最終アドレスへのアクセスがバースト転送内に存在することを判定することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記最終アドレスは、前記第２のＤＭＡ制御部によるデータの転送開始前に、前記第２のＤＭＡ制御部により前記第１のアドレス判定部へ通知されることを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記最終アドレスは、前記第２のＤＭＡ制御部によるデータの転送開始前に、前記第２の制御部により前記第１のアドレス判定部へ通知されることを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記第２のＤＭＡ制御部はディスクリプタによるチェーン転送を行い、
前記第２のＤＭＡ制御部は、前記最終アドレスを、最後のディスクリプタ情報より生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記外部バスは、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠したバスであることを特徴とする請求項１乃至６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記外部バスは、ＰＣＩ規格に準拠したバスであることを特徴とする請求項１乃至６のいずれか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置に関する。
【背景技術】
【０００２】
近年、ビッグデータの処理に代表されるように、大量のデータ処理行う集積回路システムの必要性が増してきている。多量のデータを高速に処理するためには、個々にメモリを持つ複数の集積回路が連携して動作する事が欠かせない。そのためには、連携して動作する複数の集積回路が別々に持つデータを、高速に低レイテンシーで送受信する事が求められている。集積回路において、データの転送には一般的にＤＭＡコントローラと呼ばれるメモリ転送制御装置が利用される。特許文献１には、ＤＭＡコントローラを用いてＤＭＡ転送を行い、その転送完了を割り込みとしてＣＰＵへ通知する手法が記載されている。
【０００３】
一方近年の技術の普及により、複数の集積回路間のデータ転送にＰＣＩやＰＣＩ  Ｅｘｐｒｅｓｓ（以下ＰＣＩｅと称す）に代表される、汎用的かつ接続されているデバイスのアドレス空間へアクセスできるようなバスが利用されつつある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２８７６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示されるように、ＤＭＡ転送の完了をＣＰＵに通知するためには一般的に割り込み信号が利用される。割り込み信号を受け取ったＣＰＵは、ＤＭＡ転送によるデータが全てそろったと判断し、それらのデータに対して処理を実施する。しかしながら、ＰＣＩにおいては、割り込み信号をＰＣＩデバイスからＰＣＩホストの単一方向にしか伝達する事が出来ない。同様にＰＣＩｅにおいては、割り込み信号をＥｎｄ  Ｐｏｉｎｔ（以下ＥＰ）から、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ（以下ＲＣと称す）の単一方向にしか伝送する事が出来ない。
【０００６】
そのため、ＥＰないしデバイスとして接続された集積回路が持つＣＰＵに対して、ＲＣないしホストによるＤＭＡ転送の完了を通知できないという課題があった。
【０００７】
そこで、本発明の目的は、ＰＣＩやＰＣＩｅに代表される、デバイスのアドレス空間へアクセスできるようなバスで複数の集積回路が接続されている構成において、ＤＭＡ転送の割り込みを相互に、かつ低レイテンシーで通知可能な装置を提供する事にある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のデータ処理装置は、第１の制御部、第１のＤＭＡ制御部、外部バスと内部バスとを変換する第１の外部バス変換部とを持つ第１のシステムと、第２の制御部、第２のＤＭＡ制御部、外部バスと内部バスとを変換する第２の外部バス変換部とを持つ第２のシステムと、を有し、前記第１のシステムと前記第２のシステムが、前記内部バス上のアドレス空間へアクセス可能な外部バスで相互に接続され、前記第１のシステムは、前記第２のシステムより前記外部バスを経由して通知される第２のＤＭＡ制御部が転送するデータの最終アドレスと、前記第１の外部バス制御部の出力する内部バスアドレスとを比較し、その結果に応じて前記第１の制御部へ割り込みを通知する第１のアドレス判定部を有する。
【発明の効果】
【０００９】
本発明によれば、ＰＣＩやＰＣＩｅに代表される、デバイスのアドレス空間へアクセスできるようなバスで複数の集積回路が接続されている構成において、ＤＭＡ転送の割り込みを相互に、かつ低レイテンシーで通知する事が可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態におけるデータ処理装置を示すブロック図である。
【図２】ＤＭＡ転送処理を示すフローチャートである。
【図３】ＤＭＡ転送設定の内容を示す図である。
【図４】最終アドレス検出処理を示すフローチャートである。
【図５】ＤＭＡ転送設定の内容を示す図である。
【図６】ＤＭＡ転送処理を示すフローチャートである。
【図７】第３の実施形態におけるデータ処理装置を示すブロック図である。
【図８】ＤＭＡ転送処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下図面を参照しながら、本発明の実施の形態を詳細に説明する。
［実施例１］
図１は、本発明の第１の実施形態におけるデータ処理装置を示すブロック図である。図１において、１０００はデータ処理装置、１１００、１２００はそれぞれ集積回路を示す。図１において、制御部１１０１、１２０１は、ＣＰＵ，ＭＰＵなどのプログラマブルプロセッサと、プログラマブルプロセッサが実行する制御プログラムを格納する不揮発メモリを含み、それぞれの集積回路１１００、１２００の全体の処理を制御する。ＤＭＡ制御部１１０２、１２０２は、所謂ダイレクトメモリアクセスをコントロールする。
【００１２】
本発明の第１の実施形態においては、集積回路１１００，１２００間でデータを転送するためにＤＭＡ制御部１１０２、１２０２が利用される。ＤＭＡ制御部１１０２、１２０２は、それぞれの集積回路１１００、１２００内に存在する制御部１１０１、１２０２によりＤＭＡ転送の設定や、開始指示等が行われる。メモリ制御部１１０３、１２０３はメモリ１１０４，１２０４に対してコマンドの発行やリフレッシュ等の制御をおこない、それぞれの集積回路１１００、１２００内に存在する各動作部のメモリ１１０４、１２０４へのアクセスを制御する。
【００１３】
ＰＣＩｅ制御部１１１０、１２１０には、それぞれシリアルパラレル変換部１１１１、１２１１、コマンド解析設定部１１１２、１２１２、アドレス変換部１１１３、１２１３と設定通知レジスタ部１１１４、１２１４が含まれる。
【００１４】
シリアルパラレル変換部１１１１、１２１１は、ＰＣＩｅバス１３００上に伝送されるシリアルデータからクロック信号を取り出し、パラレルデータへと変換し、更に８ｂ１０ｂ変換とデスクランブリング処理を行い、その結果をコマンド解析設定部１１１２、１２１２へ供給する。また、コマンド解析設定部１１１２、１２１２から供給されるパラレルデータをシリアルデータへと変換し、ＰＣＩｅバス１３０１上へ伝送する事も行う。
【００１５】
コマンド解析設定部１１１２、１２１２は、シリアルパラレル変換部１１１１、１２１１より供給されるパケットを解析し、コマンドに応じてパケットデータを各部へ転送する。ＰＣＩｅにおいては、メッセージトランザクション、コンフィギュレーショントランザクション、メモリトランザクション、Ｉ／Ｏトランザクションの４種類のコマンドが定義されている。そのうちメモリトランザクションとＩ／Ｏトランザクションは、コマンド解析設定部１１１２、１２１２により内部バス１１０７、１２０７に対してのコマンドに変換され、アドレス変換部１１１３、１２１３へ供給される。
【００１６】
メッセージトランザクションとコンフィギュレーショントランザクションは、設定通知レジスタ部１１１４、１２１４へと転送される。アドレス変換部１１１３，１２１３は、コマンド解析部から送信された内部バスコマンドのアドレスを、ＰＣＩｅの規格に基づくＢＡＲ（Ｂａｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｇｉｓｔｅｒ）の設定や、それぞれのＢＡＲ空間のオフセットアドレス設定に基づき、外部バスアドレスから内部バスアドレスへと変換する。
【００１７】
また、制御部１１０１、１２０１等からＰＣＩｅ制御部１１１０、１２１０へ供給される内部バスコマンドのアドレスを、ＢＡＲの設定に基づき外部バスアドレスへと変換する。設定通知レジスタ部１１１４、１２１４は、ＰＣＩｅ制御部１１１０、１２１０の各動作部に関する種々の設定を保持する。また、ＰＣＩｅ制御部１１１０、１２１０の各動作部からの通知を保持し、その内容は制御部１１０１、１２０１等から参照される。
【００１８】
なお、ＰＣＩｅは、リンクアップ動作を行う際にそれぞれＲｏｏｔ  Ｃｏｍｐｌｅｘ（以下ＲＣと称す）かＥｎｄＰｏｉｎｔ（以下ＥＰと称す）のどちらかを選択する必要がある。しかし、本発明の第１の実施形態において、ＰＣＩｅ制御部１１１０、１２１０はＲＣ・ＥＰの限定は無い。ＰＣＩｅ制御部１１１０をＲＣ、ＰＣＩｅ制御部１２１０をＥＰとしてリンクアップしても良いし、その逆でもよい。
【００１９】
内部バス１１０７、１２０７は、例えばＡＸＩやＯＣＰ等のインターコネクトである。各動作部はアドレスが設定され、例えば制御部１１０１、１２０１からの指定された、任意のアドレスに対してのアクセスを、それぞれの動作部へ振り分けることを行う。また、所謂アービトレーション等、バスの一般的な制御に関しての動作も行う。
【００２０】
アクセス解析部１１０５、１２０５は、ＰＣＩｅ制御部１１１０、１２１０により内部バス１１０７、１２０７へ送信された、ないしは内部バス１１０７、１２０７から受信したコマンドを解析し、予め設定された監視対象アドレスへ対するアクセスが発生したか否かを解析する。解析した結果アクセスが発生していた場合、割り込み生成部１１０６，１２０６へ制御部１１０１，１２０１に対する割り込みを発生させるよう通知する。
【００２１】
図２は、本発明の第１の実施形態におけるＤＭＡ転送処理を示すフローチャートである。図２は、集積回路１１００が集積回路１２００に対して、ＤＭＡ転送を用いてデータを書き込む際のフローを表している。まず、ステップＳ２０１において、制御部１１０１は、ＤＭＡ制御部１１０２に対してＤＭＡの転送に関する設定を行う。
【００２２】
図３は本発明の第１の実施形態におけるＤＭＡ転送設定の内容を示す表である。本発明の第１の実施形態において、図３に示すように、制御部１１０１はＰＣＩｅバスアドレス、内部バスアドレス、転送データサイズ、転送方向の４つのパラメータを設定する。
【００２３】
次に、図２において、制御部１１０１は、ＤＭＡ制御部１１０２に対してＤＭＡの転送を開始する指示を送付する（Ｓ２０２）。一般的には、ステップＳ２０２は、ＤＭＡ制御部１１０２が持つＤＭＡ開始レジスタに対して制御部１１０１が開始指示を書き込むことにより実現される。その後、制御部１１０１は、ＤＭＡ制御部１１０２からの転送完了通知を受け取るまで待機する（Ｓ２０３）。
【００２４】
なお、Ｓ２０３において、制御部１１０１は転送完了通知を割り込みとして受け取るような構成を持つことで、制御部１１０１上で図２に示すＤＭＡ転送処理以外の処理を行わせることも可能である。制御部１１０１は、ＤＭＡ制御部１１０２からの転送完了通知を受け取り次第、ＤＭＡ転送処理を終了する。
【００２５】
ＤＭＡ制御部１１０２は制御部１１０１からの開始指示を受け取ると、まず最終アドレス計算処理を行う（Ｓ２１１）。Ｓ２１１において、最終外部バスアドレスはステップＳ１０１で設定されたＤＭＡ転送設定を用いて、次の式から計算される。
【００２６】
最終外部バスアドレス＝外部バスアドレス＋転送データサイズ−１
次にＤＭＡ制御部１１０２は、ＰＣＩｅバス１３００を経由して、アクセス解析部１２０５に対して最終外部バスアドレスを通知する（Ｓ２１２）。その後、ＤＭＡ制御部１１０２は、メモリ制御部１１０３を経由してメモリ１１０４にアクセスし、内部バスアドレスから転送データサイズ分の転送データを取得し（Ｓ２１３）、ＰＣＩｅ制御部１１１０、ＰＣＩｅバス１３００を経由して、集積回路１２００へデータを送信する（Ｓ２１４）。
【００２７】
アクセス解析部１２０５は、ステップＳ２１２で転送された最終外部バスアドレスを受け取ると、最終外部バスアドレスに対してアドレス変換処理を行い、最終内部バスアドレスを算出する（Ｓ２２１）。この処理はアドレス変換部１２１３で行われるアドレス変換処理と同一の処理である。この変換処理により、ＰＣＩｅバス１３００を経由して通知された最終外部バスアドレスが最終内部バスアドレスへと変換される。次に、アクセス解析部１２０５は、ステップＳ２２１で変換したアドレスを監視対象アドレスとして設定する（Ｓ２２２）。
【００２８】
次に、アクセス解析部１２０５は、ステップＳ２２２で設定した監視対象アドレスに対して、ＰＣＩｅ制御部１２１０からのアクセスが発生することを監視する（Ｓ２２３）。Ｓ２２３の具体的な処理内容は後述する。最後にＳ２３４において、アクセス解析部１２０５は、割り込み生成部１２０６に対して割り込みを生成させるよう制御を行い、制御部１２０２に対しての割り込みを生成する。Ｓ２２４で生成された割り込み信号は制御部１２０１へと通知され、制御部１２０１はＤＭＡ転送終了処理を行い（Ｓ２３１）、本フローは終了する。
【００２９】
図４は、本発明の第１の実施形態における最終アドレス検出処理について示すフローチャートである。まず、アクセス解析部１２０５は、ＰＣＩｅ制御部１２１０からのアクセスを受信するまで待機する（Ｓ４０１）。ＰＣＩｅ制御部１２１０からのアクセスを検出した後に、アクセス解析部１２０５はＳ４０１で受信したアクセスのアドレス範囲を算出する（Ｓ４０２）。Ｓ４０２におけるアドレス範囲の下限値と上限値は、具体的に次の式から算出される。
【００３０】
アドレス下限値（書き込み時）＝ＡＷＡＤＤＲ
アドレス上限値（書き込み時）＝ＡＷＡＤＤＲ＋ＡＷＬＥＮ−１
アドレス下限値（読み出し時）＝ＡＲＡＤＤＲ
アドレス上限値（読み出し時）＝ＡＲＡＤＤＲ＋ＡＲＬＥＮ−１
【００３１】
次にアクセス解析部１２０５は、ステップＳ２２２で設定した監視対象アドレスが、ステップＳ４０２で算出したアドレス範囲内に含まれているか否かを判定する（Ｓ４０３）。監視対象アドレスがアドレス範囲内に含まれていない場合、ステップＳ４０１へ戻り次のアクセスが発生するまで待機する。監視対象がアドレス範囲内に含まれている場合、アクセス解析部１２０５は最終データが受信されるまで待機し（Ｓ４０４）、受信が確認された後本フローを終了する。最終データ受信の判定は、次の式で行う。
【００３２】
最終データ受信判定（書き込み時）＝ＷＶＡＬＩＤ＆＆ＷＲＥＡＤＹ＆＆ＷＬＡＳＴ
最終データ受信判定（読み出し時）＝ＲＶＡＬＩＤ＆＆ＲＲＥＡＤＹ＆＆ＲＬＡＳＴ
【００３３】
以上説明したように、本発明の第１の実施形態のデータ処理装置によれば、ＤＭＡ転送完了時に制御部の介在なく、対向に接続されている集積回路に対して割り込みを発生させることが可能となる。それにより、複数の集積回路がＰＣＩｅバスに接続されている構成において、対向デバイスへデータの転送が完了したことを高速に通知することが可能となり、より高速なデータ処理が可能となる。
【００３４】
なお、第１の実施形態では、集積回路１１００から集積回路１２００へのデータ転送を行う例について説明したが、集積回路１２００から集積回路１１００へのデータ転送時についても同様の手順を用いて、ＤＭＡの転送完了を通知する事が出来る。ゆえに、第１の実施形態においては、ＰＣＩｅ制御部のＲＣやＥＰの設定に依存しない。
【００３５】
また、第１の実施形態では、ステップＳ２２１においてアクセス解析部１２０５がアドレス変換処理を行う構成について説明した。しかし、ＰＣＩｅバスのメモリマップとローカルバスのメモリマップが同一になるようにアドレス変換部１２１３に対して設定を行う事により、アドレス変換処理Ｓ２２１を省略し、外部バスアドレスをそのまま監視対象アドレスとして設定する事も、本発明の第１の実施形態の派生として含まれる。
【００３６】
また、第１の実施形態では、最終アドレス計算処理と最終アドレス通知処理をＤＭＡ制御部１１０２で行う例について説明したが、最終アドレス計算処理と最終アドレス通知処理は制御部１１０１で行う事も、本発明の第１の実施形態の派生として含まれる。その場合は、ステップＳ２２１で行う最終アドレス変換処理も制御部１１０１で行ってもよい。
【００３７】
［実施例２］
本発明の第１の実施形態においては、ＤＭＡ制御部１１０２が単一のＤＭＡ転送によって制御される例を示したが、第２の実施形態では、ＤＭＡ制御部１１０２が複数のＤＭＡ転送を連続して行う、所謂チェーン転送動作により制御される例について説明する。なお、第１の実施形態と同一のしょりを行う部分は同一の記号で示し、説明を省略する。
【００３８】
図５は、本発明の第２の実施形態におけるＤＭＡ転送設定の内容を示す表である。図３で示したＤＭＡ制御部に対してのＤＭＡ設定内容（ＰＣＩｅバスアドレス、内部バスアドレス、転送データサイズ、転送方向）に加えて、ＤＭＡ制御部に対する次のＤＭＡ設定へのポインタと、次の設定内容が存在するか否かを設定する。ＤＭＡ制御部は、本ＤＭＡ設定内容を解析し、次のＤＭＡ設定が存在する場合は、メモリ制御部を通して次のＤＭＡ設定を取得する。
【００３９】
図６は、本発明の第２の実施形態におけるＤＭＡ転送処理を示すフローチャートである。まず、制御部１１０１は、メモリ１１０４に対して図５で示したＤＭＡ転送設定を書き込む（Ｓ６０１）。また、制御部１１０１は、ＤＭＡ制御部１１０２に対して、ステップＳ６０１で書きこんだＤＭＡ転送設定のうち、最初のＤＭＡ転送設定が格納されているメモリ１１０４上のアドレスを設定する（Ｓ６０２）。その後、ＤＭＡ制御部に対してＤＭＡ転送開始指示を行う（Ｓ２０２）。
【００４０】
ＤＭＡ制御部１１０２は、制御部１１０１からのＤＭＡ転送開始指示を受け取ると、メモリ１１０４からＤＭＡ転送設定を、ステップＳ６０２で設定されたアドレスから取得する（Ｓ６１１）。次に、取得したＤＭＡ転送設定を解析し、取得したＤＭＡ転送設定が最終のＤＭＡ転送設定か否かを確認する（Ｓ６１２）。取得したＤＭＡ転送設定が、最終のＤＭＡ転送設定でない場合は、本ＤＭＡ転送設定から算出される最終アドレスがＤＭＡの完了時に発生するものと異なるため、最終アドレス計算処理（Ｓ２１１）と最終アドレス通知処理を行わずに、ステップＳ２１３へ進む。
【００４１】
ステップＳ６１２で取得したＤＭＡ転送設定が、最終のＤＭＡ転送設定である場合は、ＤＭＡデータを送受信する前に最終アドレスを設定しなければならないため、アクセス解析部１２０５に対して最終アドレスを算出して通知する（Ｓ２１１、Ｓ２１２）。ＤＭＡ制御部１１０２は、ＤＭＡデータの転送を行ったあと（Ｓ２１３、Ｓ２１４）、再度現在のＤＭＡ転送設定が最終のＤＭＡ転送設定であるか否かを確認する（Ｓ６１３）。最終のＤＭＡ転送設定でない場合はＳ６１１へと戻り、次のＤＭＡ転送設定を取得する。最終のＤＭＡ転送設定である場合は、ＤＭＡ制御部１１０２は動作を終了する。
【００４２】
以上説明したように、本発明の第２の実施形態のデータ処理装置によれば、チェーン転送として動作するＤＭＡ転送を利用したとしても、対向に接続されている制御部に対して適切な割り込みを発生させることが可能となる。それにより、複数の集積回路がＰＣＩｅバスに接続されている構成において、対向デバイスへデータの転送が完了したことを高速に通知することが可能となり、より高速なデータ処理が可能となる。
【００４３】
なお、第２の実施形態では、集積回路１１００から集積回路１２００へのデータ転送を行う例について説明したが、集積回路１２００から集積回路１１００へのデータ転送時についても同様の手順を取ることで、ＤＭＡの転送完了を通知する事が出来る。ゆえに、第２の実施形態においては、ＰＣＩｅ制御部のＲＣやＥＰの設定に依存しない。
【００４４】
また、第２の実施形態では、ステップＳ２２１においてアクセス解析部１２０５がアドレス変換処理を行う構成について説明した。しかし、ＰＣＩｅバスのメモリマップとローカルバスのメモリマップが同一になるようにアドレス変換部１２１３に対して設定を行う事により、アドレス変換処理Ｓ２２１を省略し、外部バスアドレスをそのまま監視対象アドレスとして設定する事も、本発明の第２の実施形態の派生として含まれる。
【００４５】
また、第２の実施形態では、最終アドレス計算処理と最終アドレス通知処理をＤＭＡ制御部１１０２で行う例について説明したが、最終アドレス計算処理と最終アドレス通知処理は制御部１１０１で行う事も、本発明の第２の実施形態の派生として含まれる。その場合は、ステップＳ２２１で行う最終アドレス変換処理も制御部１１０１で行ってもよい。
【００４６】
［実施例３］
次に、本発明の第３の実施形態として、外部バスにＰＣＩバスを利用する構成においての例を説明する。なお、第１の実施形態、第２の実施形態と同一の処理を行う部分は同一の記号で示し、説明を省略する。
【００４７】
図７は、本発明の第３の実施形態におけるデータ処理装置を示すブロック図である。第３の実施形態では集積回路１１００と集積回路１２００はＰＣＩバス７３００により接続される。
【００４８】
ＰＣＩ制御部７１１０、７２２０には、コマンド解析設定部７１１２、７２１２、アドレス変換部７１１３、７２１３、設定通知レジスタ部７１１４、７２１４が含まれる。コマンド解析部７１１２、７２１２は、ＰＣＩバス７３００を経由して伝送されたバス信号を解析し、コマンドに応じてバスのデータを各部へ転送する。ＰＣＩにおいては、大きく分けるとコンフィギュレーショントランザクション、メモリトランザクション、Ｉ／Ｏトランザクションの３種類のコマンドが定義されている。
【００４９】
そのうちメモリトランザクションとＩ／Ｏトランザクションは、コマンド解析設定部７１１２、７２１２により内部バス７１０７、７２０７に対してのコマンドに変換され、アドレス変換部７１１３、７２１３へ供給される。コンフィギュレーショントランザクションは、設定通知レジスタ部７１１４、７２１４へと転送される。
【００５０】
アドレス変換部７１１３，７２１３は、コマンド解析部から送信された内部バスコマンドのアドレスを、ＰＣＩの規格に基づくＢＡＲ（Ｂａｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｇｉｓｔｅｒ）の設定や、それぞれのＢＡＲ空間のオフセットアドレス設定に基づき、外部バスアドレスから内部バスアドレスへと変換する。また、制御部１１０１、１２０１等からＰＣＩ制御部７１１０、７２１０へ供給される内部バスコマンドのアドレスを、ＢＡＲの設定に基づき外侮バスアドレスへと変換する。
【００５１】
設定通知レジスタ部７１１４、７２１４は、ＰＣＩ制御部７１１０、７２１０の各動作部に関する種々の設定を保持する。また、ＰＣＩ制御部７１１０、７２１０の各動作部からの通知を保持し、その内容は制御部１１０１、１２０１等から参照される。
【００５２】
図８は、本発明の第３の実施形態におけるＤＭＡ転送処理を示すフローチャートである。
【００５３】
ＤＭＡ制御部１１０２は制御部１１０１からの開始指示を受け取ると、まず最終アドレス計算処理を行う（Ｓ２１１）。次にＤＭＡ制御部１１０２は、ＰＣＩバス７３００を経由して、アクセス解析部１２０５に対して最終外部バスアドレスを通知する（Ｓ８１２）。その後ＤＭＡ制御部１１０２は、メモリ制御部１１０３を経由してメモリ１１０４にアクセスし、内部バスアドレスから転送データサイズ分の転送データを取得し（Ｓ２１３）、ＰＣＩ制御部７１１０、ＰＣＩバス７３００を経由して集積回路１２００へデータを送信する（Ｓ８１４）。
【００５４】
ＰＣＩ制御部は、ＰＣＩｅ制御部と、内部バスとの接続に関しての変更はない。そのため、ほとんどの手順において図２に示すＰＣＩｅ制御部を利用する際のフローと同一のフローで、ＰＣＩ制御部を利用してＤＭＡ転送の割り込みを通知する事が可能となる。
【００５５】
以上説明したように、本発明の第３の実施形態のデータ処理装置によれば、ＤＭＡ転送完了時に制御部の介在なく、対向に接続されている集積回路に対して割り込みを発生させることが可能となる。それにより、複数の集積回路がＰＣＩバスに接続されている構成において、接続されているデバイスへデータの転送が完了したことを高速に通知することが可能となり、より高速なデータ処理が可能となる。
【００５６】
なお、第３の実施形態では、集積回路１１００から集積回路１２００へのデータ転送を行う例について説明したが、集積回路１２００から集積回路１１００へのデータ転送時についても同様の手順を取ることで、ＤＭＡの転送完了を通知する事が出来る。ゆえに、第３の実施形態においては、ＰＣＩのデバイスやホストの設定には依存しない。
【００５７】
また、第３の実施形態では、ステップＳ２２１においてアクセス解析部１２０５がアドレス変換処理を行う構成について説明した。しかし、ＰＣＩバスのメモリマップとローカルバスのメモリマップが同一になるようにアドレス変換部１２１３に対して設定を行う事により、アドレス変換処理Ｓ２２１を省略し、外部バスアドレスをそのまま監視対象アドレスとして設定する事も、本発明の第３の実施形態の派生として含まれる。
【００５８】
また、第３の実施形態では、最終アドレス計算処理と最終アドレス通知処理をＤＭＡ制御部１１０２で行う例について説明したが、最終アドレス計算処理と最終アドレス通知処理は制御部１１０１で行う事も、本発明の第３の実施形態の派生として含まれる。その場合は、ステップＳ２２１で行う最終アドレス変換処理も制御部１１０１で行ってもよい。
【符号の説明】
【００５９】
１０００  データ処理装置
１１００、１２００  集積回路
１１０１、１２０１  制御部
１１０２、１２０２  ＤＭＡ制御部
【図１】
2018085003.tif 000003
【図２】
2018085003.tif 000004
【図３】
2018085003.tif 000005
【図４】
2018085003.tif 000006
【図５】
2018085003.tif 000007
【図６】
2018085003.tif 000008
【図７】
2018085003.tif 000009
【図８】
2018085003.tif 000010