(57)【要約】【課題】ＤＭＡ転送の完了を待つ際、あるいは複数種類あるＤＭＡ転送制御部を連続して使用する際におけるソフトウェアの動作効率を改善する。【解決手段】ＤＭＡ転送制御部の転送パラメータデータ内に自己の優先順位及び他のＤＭＡ転送制御部へ転送パラメータデータを送るか否かの情報を含め、転送パラメータデータを他のＤＭＡ転送制御部に送る場合には、必要な転送パラメータデータを全てＤＭＡ転送制御部の転送パラメータデータバッファ３１０に書き込む。また、ＤＭＡ転送制御部内にデータバッファ制御回路を優先順位別にして複数具備し、転送パラメータデータ内の優先順位に指示された優先順位の転送パラメータデータバッファ３１０へ書き込む。さらに、ＤＭＡ転送制御部内で先の転送パラメータデータバッファ３１０に書き込まれた転送パラメータデータ内の優先順位を更新し、異なる優先順位の転送パラメータデータバッファ３１０にデータを移動させる。【選択図】図２
2008217659.tif 000002
【特許請求の範囲】
【請求項１】
データの転送処理を行うデータ転送制御部を備え、複数のタスクを実行可能な情報処理装置において、
前記データ転送制御部は、
所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納し、
当該転送処理の終了後、格納された前記転送情報に基づいて、前記他のタスクによる他の転送処理を実行することを特徴とする情報処理装置。
【請求項２】
複数の前記データ転送制御部を備え、
前記転送情報に、前記転送処理を行う前記データ転送制御部を示す識別情報を含め、
前記転送情報で指定された他の前記データ転送制御部が前記転送情報に基づいて前記他の転送処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記転送処理を終了した前記データ転送制御部が、前記転送情報で指定される前記他のデータ転送制御部に対して前記転送情報を渡すことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記転送情報に、複数の転送処理の優先度を示す優先度情報を含め、
前記データ転送制御部は、当該転送処理の終了後、前記優先度情報に基づいて、次に行う転送処理を判定する判定手段を有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データ転送制御部は、
予め設定された優先度に基づいて前記転送情報を格納する複数の格納手段を備え、
最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理を自身で行うこと、又は他の前記ＤＭＡ転送制御部に対して前記転送情報を渡すことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記データ転送制御部は、最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理が行われた後、当該転送処理に係る前記転送情報を削除し、優先順位の低い前記格納手段に格納された前記転送情報を、優先順位の高い前記格納手段に遷移させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記データ転送制御部は、ＤＭＡ転送制御部であることを特徴とする請求項１から請求項６のいずれか１項４に記載の情報処理装置。
【請求項８】
データの転送処理を行うデータ転送制御部を備え、複数のタスクを実行可能な情報処理装置によるデータ転送制御方法であって、
前記データ転送制御部において、
所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納するステップと、
当該転送処理の終了後、格納された前記転送情報に基づいて、前記他のタスクによる他の転送処理を実行するステップとを有することを特徴とするデータ転送制御方法。
【請求項９】
複数の前記データ転送制御部を備え、
前記転送情報に、前記転送処理を行う前記データ転送制御部を示す識別情報が含まれ、
前記データ転送制御部において、
前記転送情報で指定された他の前記データ転送制御部が前記転送情報に基づいて前記他の転送処理を実行するステップを有することを特徴とする請求項８に記載のデータ転送制御方法。
【請求項１０】
前記転送処理を終了した前記データ転送制御部において、
前記転送情報で指定される前記他のデータ転送制御部に対して前記転送情報を渡すステップを有することを特徴とする請求項９に記載のデータ転送制御方法。
【請求項１１】
前記転送情報に、複数の転送処理の優先度を示す優先度情報が含まれ、
前記データ転送制御部において、
当該転送処理の終了後、前記優先度情報に基づいて、次に行う転送処理を判定する判定ステップを有することを特徴とする請求項１０に記載のデータ転送制御方法。
【請求項１２】
前記データ転送制御部において、
予め設定された優先度に基づいて前記転送情報を格納する複数の格納手段に前記転送情報を格納するステップと、
最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理を自身で実行するステップ、又は他の前記ＤＭＡ転送制御部に対して前記転送情報を渡すステップとを有することを特徴とする請求項１１に記載のデータ転送制御方法。
【請求項１３】
前記データ転送制御部において、
最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理が実行された後、当該転送処理に係る前記転送情報を削除し、優先順位の低い前記格納手段に格納された前記転送情報を、優先順位の高い前記格納手段に遷移させるステップを有することを特徴とする請求項１２に記載のデータ転送制御方法。
【請求項１４】
前記データ転送制御部がＤＭＡ転送制御部であることを特徴とする請求項８から請求項１３のいずれか１項４に記載のデータ転送制御方法。
【請求項１５】
データの転送処理を行うデータ転送制御部を備え、複数のタスクを実行可能な情報処理装置の前記データ転送制御部上で実行されるデータ転送制御プログラムであって、
前記データ転送制御部に、
所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納する処理と、
当該転送処理の終了後、格納された前記転送情報に基づいて、前記他のタスクによる他の転送処理とを実行させることを特徴とするデータ転送制御プログラム。
【請求項１６】
前記情報処理装置は複数の前記データ転送制御部を備え、
前記転送情報に、前記転送処理を行う前記データ転送制御部を示す識別情報が含まれ、
前記データ転送制御部に、
前記転送情報で指定された他の前記データ転送制御部が前記転送情報に基づいて前記他の転送処理を実行させることを特徴とする請求項１５に記載のデータ転送制御プログラム。
【請求項１７】
前記転送処理を終了した前記データ転送制御部に、
前記転送情報で指定される前記他のデータ転送制御部に対して前記転送情報を渡す処理を実行させることを特徴とする請求項１６に記載のデータ転送制御プログラム。
【請求項１８】
前記転送情報に、複数の転送処理の優先度を示す優先度情報が含まれ、
前記データ転送制御部に、
当該転送処理の終了後、前記優先度情報に基づいて、次に行う転送処理を判定する判定処理を実行させることを特徴とする請求項１７に記載のデータ転送制御プログラム。
【請求項１９】
前記データ転送制御部に、
予め設定された優先度に基づいて前記転送情報を格納する複数の格納手段に前記転送情報を格納する処理と、
最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理を自身に実行させるステップ、又は他の前記ＤＭＡ転送制御部に対して前記転送情報を渡す処理とを実行させることを特徴とする請求項１８に記載のデータ転送制御プログラム。
【請求項２０】
前記データ転送制御部に、
最も優先度の高い前記格納手段に格納された前記転送情報に基づいて前記転送処理が実行された後、当該転送処理に係る前記転送情報を削除し、優先順位の低い前記格納手段に格納された前記転送情報を、優先順位の高い前記格納手段に遷移させる処理を実行させることを特徴とする請求項１９に記載のデータ転送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送制御部を搭載する情報処理装置に関し、特にマルチタスクオペレーティングシステムを搭載した制御プログラムのＤＭＡ転送制御方法に関する。
【背景技術】
【０００２】
近年、情報処理装置の性能を向上させるため、高性能なマルチプロセッサが情報処理装置に使用されるようになってきていて、また、ホスト装置からの複数のアクセス要求に対応するため、情報処理装置を制御するソフトウェアにはマルチタスクオペレーティングシステムが使用されることが多くなってきている。
【０００３】
前記のようなマルチプロセッサやマルチタスクオペレーティングシステムを搭載する情報処理装置において複数のＤＭＡ転送を連続して実行する従来の技術の一例が特許文献１（特開平９−２２３１０２号公報）に開示されており、また、このような情報処理装置において、図１０に示すような、転送起動（Ｇ１、Ｇ３、Ｇ５）によってＤＭＡ転送動作を行いＤＭＡ転送動作終了後に終了報告（Ｇ２、Ｇ４、Ｇ６）を行う複数種類のＤＭＡ転送制御部（ＤＭＡ転送（Ａ）制御部１１０ａ、ＤＭＡ転送（Ｂ）制御部１１１ａ、ＤＭＡ転送（Ｃ）制御部１１２ａ）を備える従来のブリッジ１００ａを搭載した場合、ソフトウェアはマルチタスク動作が可能なため、ＤＭＡ転送制御部（ＤＭＡ転送（Ａ）制御部１１０ａ、ＤＭＡ転送（Ｂ）制御部１１１ａ、ＤＭＡ転送（Ｃ）制御部１１２ａ）は複数のタスクに共有されて使用されることとなる。図１１の従来のシーケンス図に示したように、タスクＴ１、Ｔ２がソフトウェア上で動作し、タスクＴ１がＤＭＡ転送（Ａ）制御部１１０ａを使用し（ステップＳ１）、タスクＴ２がＤＭＡ制御部（Ｂ）１１１ａを使用している場合（ステップＳ２）において、タスクＴ１がＤＭＡ制御部（Ｂ）１１１ａを使用したい場合には、タスクＴ２によるＤＭＡ制御部（Ｂ）１１１ａのＤＭＡ転送処理の終了を待たなければならない（ステップＳ６）。このとき、タスクＴ１は、ステップＳ６の後において、ＤＭＡ制御部（Ｂ）１１１ａの起動動作（ステップＳ９）を行わなくては次の動作を行うことができないためソフトウェアを一定時間拘束してしまい、プロセッサの動作効率が低下してしまう問題があった。
【０００４】
また、図１のような構成の情報処理装置では、ホストアダプタ部３０、３１やＩ／Ｏアダプタ部４０、４１によって、バススイッチ６０を使用してキャッシュメモリ部５０や各アダプタのメモリ８０、８１、８２、８３に書き込まれるデータを共有する処理が行われているが、各アダプタ部のブリッジ１００、１０１、１０２、１０３に備えられたＤＭＡ転送制御部を共有して使用することはできない。このため、ホスト装置１０、１１とＩ／Ｏ装置２０、２１のデータ転送を行う場合には、それぞれのアダプタ部のプロセッサ７０、７１、７２、７３が転送コマンド通信を行うことによってホスト装置へのデータ転送が行われており、そのプロセッサ間の転送コマンド通信が頻繁に行われることによりソフトウェアの動作効率が低下してしまう問題があった。
【特許文献１】特開平９−２２３１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＤＭＡ転送制御方法は、以下に示すような問題点を有する。
【０００６】
第１の問題点は、情報処理装置に備えられたＤＭＡ転送制御部が現在転送中である場合においてその転送が終了するまで次のＤＭＡ転送を起動することができない従来のソフトウェアで、２個以上のタスクがＤＭＡ転送制御部を同時に使用して転送を行おうとした場合、少なくとも１個以上のタスクのＤＭＡ転送の起動処理が、現在行われているＤＭＡ転送の処理が完了するまで待たされてしまい、その間にソフトウェア処理が停滞してしまうことである。
【０００７】
第２の問題点は、複数種類のＤＭＡ転送制御部を備えるブリッジが搭載された情報処理装置は、各々ＤＭＡ転送制御部が独立しているため、ＤＭＡ転送制御部が転送を完了した際の割り込み処理や転送に異常が発生していないかどうかの確認処理などの後処理が必要となるため、当該後処理にソフトウェアの処理時間がかかることから、ＤＭＡ転送制御に時間がかかるということである。
【０００８】
（発明の目的）
本発明の目的は、ＤＭＡ転送の完了を待つ際、あるいは複数種類あるＤＭＡ転送制御部を連続して使用する際に、ソフトウェアが必要最小限の動作によってＤＭＡ転送を行うことができるＤＭＡ転送制御部を具備する情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明は、データの転送処理を行うデータ転送制御部を備え、複数のタスクを実行可能な情報処理装置において、前記データ転送制御部は、所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納し、当該転送処理の終了後、格納された前記転送情報に基づいて、前記他のタスクによる他の転送処理を実行することを特徴とする。
【００１０】
より詳細に、本発明は、前記の課題を解決するために、ＤＭＡ転送制御部の転送パラメータデータ内に自己の優先順位を表すデータと他のＤＭＡ転送制御部へ転送パラメータデータを送るかどうかの情報を具備し、転送パラメータデータを他のＤＭＡ転送制御部に送る場合には、必要な転送パラメータデータを全て転送パラメータ書き込みデータとしてＤＭＡ転送制御部の転送パラメータデータバッファに書き込むことができる転送パラメータデータバッファを具備する。また、ＤＭＡ転送制御部内にデータバッファ制御回路を優先順位別にして複数具備し、転送パラメータデータ内に具備する優先順位に指示された優先順位のデータバッファへ書き込むことが可能である機構を具備する。さらにＤＭＡ転送制御部内で先のデータバッファに書き込まれた転送パラメータデータ内の優先順位を更新し、異なる優先順位のデータバッファにデータを移動させる機構を具備する。
【００１１】
また、本発明は、ＤＭＡ転送制御部が複数種類具備されていた場合かつ、転送パラメータ内に複数のＤＭＡ転送制御部への転送パラメータデータの送信を指示されている場合には、転送パラメータ内に指定されたＤＭＡ転送制御部の転送パラメータデータバッファに転送パラメータデータ書き込むことが可能である機構を具備する。
【００１２】
（作用）
上記構成により、所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納し、当該転送処理の終了後、格納された転送情報に基づいて、他のタスクによる他の転送処理を実行できるため、ソフトウェア動作による転送起動を待たせる動作を削減できる。
【発明の効果】
【００１３】
本発明によれば、ソフトウェアの使用効率を改善させることができる。
【００１４】
その理由は、所定のタスクによる転送処理の実行中に、他のタスクから要求された他の転送処理の内容を示す転送情報を格納し、当該転送処理の終了後、格納された転送情報に基づいて、他のタスクによる他の転送処理を実行できるため、データ転送制御部の動作状況を確認せずに転送起動を行うことが可能であるからである。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の第１の実施の形態について図面を用いて詳細に説明する。
【００１６】
（第１の実施の形態の構成）
図１は、従来及び本実施の形態による情報処理装置の構成例の概略を示すブロック図である。
【００１７】
図１を参照すると、本実施の形態による情報処理装置は、上述したように、ホスト装置１０、１１と接続するホストアダプタ部３０、３１と、Ｉ／Ｏ（入出力）装置２０、２１と接続する３１やＩ／Ｏアダプタ部４０、４１と、キャッシュメモリ部５０とが、バススイッチ６０を介して接続されており、ホストアダプタ部３０、３１やＩ／Ｏアダプタ部４０、４１が、バススイッチ６０を使用してキャッシュメモリ部５０や各アダプタのメモリ８０、８１、８２、８３に書き込まれるデータを共有する処理を行う。なお、各アダプタ部は、プロセッサ（プロセッサ７０、７１、７２、７３、７４）と、メモリ（メモリ８０、８１、８２、８３、８４）と、ブリッジ（ブリッジ１００、１０１、１０２、１０３、１０４）とを備える。
【００１８】
ブリッジ（ブリッジ１００、１０１、１０２、１０３、１０４）は、ホスト装置１０、１１とＩ／Ｏ装置２０、２１との間で行われるデータ転送を制御する。なお、ブリッジ（ブリッジ１００、１０１、１０２、１０３、１０４）以外の上記各構成要素は従来と同様であるため、説明を省略する。
【００１９】
ここで、本発明の特徴であるブリッジについて詳細に説明する。
【００２０】
図２は、本実施の形態におけるブリッジ１００の構成を示すブロック図であり、図２を参照すると、本実施の形態におけるブリッジ１００は、３つのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）と、バススイッチインターフェース制御部６００と、３つのＤＭＡ転送制御部のいずれか１つの出力、その他の２つの入力及びバススイッチインターフェース制御部６００と接続する伝送路Ｄ２ａ、Ｄ２ｂ、Ｄ２ｃとを備える。なお、ブリッジ１０２〜１０５も同様の構成及び機能を有する。
【００２１】
ＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）は、バススイッチインターフェース制御部６００を介して入力されたデータに基づいて所定の処理を行う。
【００２２】
ここで、本発明の特徴であるＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）について詳細に説明する。
【００２３】
図３は、本実施の形態におけるＤＭＡ転送制御部（Ａ）１１０の構成を示すブロック図であり、図３を参照すると、本実施の形態におけるＤＭＡ転送制御部（Ａ）１１０は、個別の優先順位を指定されたデータバッファ制御回路３００、３０１、３０２と、転送パラメータデータ読み出しデータ制御部４００と、ＤＭＡ転送制御主制御部５００と、データバッファ制御回路３０１及び転送パラメータデータ読み出しデータ制御部４００と接続する伝送路Ｄ３ａと、データバッファ制御回路３０２及び転送パラメータデータ読み出しデータ制御部４００と接続するＤ３ｂとを備える。なお、ＤＭＡ転送制御部（Ｂ）１１１及びＤＭＡ転送制御部（Ｃ）１１２も同様の構成及び機能を有する。また、本実施の形態では、一例として、優先順位の高い方から順にデータバッファ制御回路３０２、データバッファ制御回路３０１、データバッファ制御回路３００とする。
【００２４】
転送パラメータデータ読み出しデータ制御部４００は、データバッファ制御回路３００、３０１、３０２から送出されたデータを受け取ると、受け取ったデータをＤＭＡ転送制御主制御部５００に対して送る。
【００２５】
また、転送パラメータデータ読み出しデータ制御部４００は、データバッファ制御回路３００、３０１、３０２のうち最も優先順位が高いデータバッファ制御回路から優先的にデータを読み出す機能を有し、全てのデータバッファ制御回路が転送パラメータデータを書き込まれている場合において、まず一番優先順位の高いデータバッファ制御回路３０２から読み出したデータをＤＭＡ転送制御主制御部５００に送り、次にデータバッファ制御回路３００、３０１から読み出したデータを、優先順位を高くするために伝送路Ｄ３ａ、Ｄ３ｂを介して優先順位の高いデータバッファ制御回路３０１、３０２に書き込む。
【００２６】
ＤＭＡ転送制御主制御部５００は、転送パラメータデータ読み出しデータ制御部４００から当該データが送られるとＤＭＡ転送を実行する。
【００２７】
データバッファ制御回路（データバッファ制御回路３００、データバッファ制御回路３０１、データバッファ制御回路３０２）は、受信した転送パラメータ書き込みデータ（ソフトウェアからの転送パラメータ書き込みデータＤ１、他のＤＭＡ転送制御部からの転送パラメータ書き込みデータＤ２、低優先データバッハからの転送パラメータ書き込みデータＤ３）に所定の処理を行って転送パラメータデータ読み出しデータ制御部４００に対して出力する。
【００２８】
ここで、本発明の特徴であるデータバッファ制御回路（データバッファ制御回路３００、データバッファ制御回路３０１、データバッファ制御回路３０２）について詳細に説明する。
【００２９】
図４は、本実施の形態におけるデータバッファ制御回路３００の構成を示すブロック図であり、図４を参照すると、データバッファ制御回路３００は、ＤＭＡ転送制御部内の１つの転送パラメータデータを格納する転送パラメータデータバッファ３１０と、受信した転送パラメータ書き込みデータ（ソフトウェアからの転送パラメータ書き込みデータＤ１、他のＤＭＡ転送制御部からの転送パラメータ書き込みデータＤ２、低優先データバッハからの転送パラメータ書き込みデータＤ３）の転送パラメータデータバッファ３１０への書き込みを制御する転送パラメータデータ書き込み制御回路３２０と、転送パラメータ読み出し制御回路３３０とを備える。
【００３０】
図５は、本実施の形態におけるＤＭＡ転送制御部（Ａ）転送パラメータデータ２００の構成を示す図であり、図５を参照すると、本実施の形態におけるＤＭＡ転送制御部（Ａ）転送パラメータデータ２００は、連携起動情報、優先順位、転送コマンド、転送元アドレス、転送先アドレスを含んで構成される。なお、ＤＭＡ転送制御部（Ｂ）転送パラメータデータ２０１及びＤＭＡ転送制御部（Ｃ）転送パラメータデータ２０２も同様に構成される。
【００３１】
図６は、図５に示すＤＭＡ転送制御部（Ａ）転送パラメータデータ２００等が、転送パラメータバッファ３１０に書き込まれる際の転送パラメータ書き込みデータＤ１ａの構成を示す図であり、図６を参照すると、本実施の形態における転送パラメータ書き込みデータＤ１ａは、各ＤＭＡ転送制御部に対応するＤＭＡ転送制御部（Ａ）転送パラメータ２００、ＤＭＡ転送制御部（Ｂ）転送パラメータ２０１、ＤＭＡ転送制御部（Ｃ）転送パラメータ２０２を含んで構成されるため、ブリッジ１００は、転送パラメータ書き込みデータＤ１ａに基づいて、３つの個別のＤＭＡ転送制御部に対し連続したＤＭＡ転送を行う指示が可能となる。
【００３２】
このため、図６に示したＤＭＡ転送制御部（Ａ）転送パラメータデータ２００は、ソフトウェアあるいは他のＤＭＡ転送制御部からの書き込み要求を受け取ることにより、転送パラメータ書き込みデータＤ１、Ｄ２、Ｄ３として転送パラメータ書き込み制御回路３２０を介して転送パラメータデータバッファ３１０に書き込まれる。
【００３３】
転送パラメータ読み出し制御回路３３０は、ＤＭＡ転送制御部１１０が転送を行っていないかあるいは転送が完了した場合に、転送パラメータデータバッファ３１０に書き込まれた順番にＤＭＡ転送制御部（Ａ）転送パラメータデータ２００を読み出し、読み出したＤＭＡ転送制御部（Ａ）転送パラメータデータ２００を転送パラメータ読み出しデータ制御部４００へ送出する。
【００３４】
本実施の形態におけるＤＭＡ転送制御部１１０は、自身のＤＭＡ転送制御主制御部５００においてＤＭＡ転送が完了した後、転送パラメータデータ内に他のＤＭＡ転送制御部への起動が指示されていたならば、ＤＭＡ転送制御部１１０内のＤＭＡ転送制御主制御部５００において使用された図６に示す転送パラメータ書き込みデータＤ１ａからＤＭＡ転送制御部（Ａ）転送パラメータデータ２００を削除したデータを他のＤＭＡ転送制御部に送信して他のＤＭＡ転送制御部を起動する。
【００３５】
また、本実施の形態における情報処理装置が図１に示したような構成のため、本実施の形態におけるＤＭＡ転送制御部は、バススイッチインターフェース制御部６００を経由して他のアダプタ部に具備されているＤＭＡ転送制御部に対して転送パラメータデータを送信することが可能である。
【００３６】
ここで、ブリッジのハードウェア構成の説明をする。
【００３７】
図７は、本実施の形態によるブリッジのハードウェア構成を示すブロック図である。
【００３８】
図７を参照すると、本発明によるブリッジは、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部１００２、ネットワーク２０００を介してデータの送受信を行う通信制御部１００３、周辺機器と接続してデータの送受信を行うインタフェース部１００４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部１００５、本情報処理装置の上記各構成要素を相互に接続するシステムバス１００６等を備えている。
【００３９】
本発明によるブリッジは、その動作を、ブリッジ内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上述した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ１００１で実行することにより、ソフトウェア的に実現することができる。
【００４０】
すなわち、ＣＰＵ１００１は、補助記憶部１００７に格納されているプログラムを、主記憶部１００２にロードして実行し、ブリッジの動作を制御することにより、上述した各機能をソフトウェア的に実現する。
【００４１】
（第１の実施の形態の動作）
本実施の形態の動作を、図１に示されるホストアダプタ部３０に搭載されるブリッジ１００、プロセッサ７０の動作を中心に図８及び図９等を用いて詳細に説明する。
【００４２】
図８は、タスクＴ１、タスクＴ２、ＤＭＡ転送制御部（Ａ）１１０及びＤＭＡ転送制御部（Ｂ）１１１間の処理を示すシーケンス図、図９は、本実施の形態による情報処理装置の動作を示すフローチャートであり、タスクＴ１、Ｔ２がソフトウェア上で動作し、タスクＴ１がＤＭＡ転送（Ａ）制御部１１０を使用し（ステップＳ１１）、タスクＴ２がＤＭＡ制御部（Ｂ）１１１を使用している場合（ステップＳ１２）において、タスクＴ１がＤＭＡ制御部（Ｂ）１１１を使用したい場合の動作を示すものである。
【００４３】
図２に示されるように、ブリッジ１００には３つのＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）が搭載される。プロセッサ７０がホスト装置１０からの転送要求を受信し（ステップＳ１０１）、その転送を行うためにブリッジ１００に搭載されるＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１を使用しなくてはならない場合、プロセッサ７０で動作しているソフトウェアは、図５、図６に示したＤＭＡ転送制御部（Ａ）転送パラメータデータ２００、ＤＭＡ転送制御部（Ｂ）転送パラメータデータ２０１を用意し（ステップＳ１０２）、ソフトウェアからの転送パラメータ書き込みデータＤ１として図４に示すＤＭＡ転送制御部（Ａ）１１０のデータバッファ制御回路３００内の転送パラメータデータバッファ３１０に書き込む（ステップＳ１０３）。
【００４４】
ＤＭＡ転送制御部（Ａ）１１０の転送パラメータデータ読み出し制御回路３３０は、転送パラメータデータ書き込み制御回路３２０によって書き込みが行われた順番で転送パラメータデータバッファ３１０に対して読み出し処理を行う（ステップＳ１０４）。
【００４５】
ソフトウェアからの転送パラメータ書き込みデータＤ１が転送パラメータデータ読み出し制御回路３３０に読み出されて転送パラメータデータ読み出しデータ制御部４００に送られる。
【００４６】
ここで、ＤＭＡ転送制御部（Ａ）１１０の転送パラメータデータ読み出しデータ制御部４００は、データバッファ制御回路３０１、３０２にデータが書き込まれているか否かを判定し（ステップＳ１０５）、データバッファ制御回路３０１、３０２にデータが書き込まれていない場合には、転送パラメータデータ読み出しデータ制御部４００に送られた転送パラメータ書き込みデータＤ１がＤＭＡ転送制御主制御部５００に送られて、ＤＭＡ転送制御部（Ａ）１１０から転送される（ステップＳ１０６）。
【００４７】
ＤＭＡ転送制御部（Ａ）１１０のＤＭＡ転送制御主制御部５００は、転送２を完了すると、他のＤＭＡ転送制御部の転送を行うことが指示されているか否かを判定し（ステップＳ１０７）、本実施の形態の場合他のＤＭＡ転送制御部（Ｂ）１１１の転送を行うことが指示されているため、転送パラメータ書き込みデータＤ１からＤＭＡ転送制御部制御部（Ａ）１１０で使用したＤＭＡ転送制御部（Ａ）転送パラメータデータ２００を削除し、削除後に残った転送パラメータ書き込みデータＤ１を伝送路Ｄ２ａを通してＤＭＡ転送制御部（Ｂ）１１１に送信する（ステップＳ１３、ステップＳ１０８）。
【００４８】
ＤＭＡ転送制御部（Ｂ）１１１のＤＭＡ転送制御部１１１は、先のＤＭＡ転送制御部１１０と同等の転送パラメータデータの処理機能を搭載していて同様の処理を行う。ＤＭＡ転送制御部１１１のＤＭＡ転送制御主制御部５００は、転送１を完了すると、他のＤＭＡ転送制御部へ送るデータがもうないため（ステップＳ１０７）、ソフトウェアに対して転送１の終了報告Ｇ２を実行し（ステップＳ１４、ステップＳ１０９）、さらに、転送３を完了すると、ソフトウェアに対して転送３の終了報告Ｇ２を実行し（ステップＳ１５、ステップＳ１０９）、これによりホスト装置からの転送要求が完了する。
【００４９】
ホスト装置１０、１１から連続で転送要求を受信した場合、その転送を行うためにマルチタスク動作を行う。この場合ブリッジ１００に搭載するＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）は複数のタスクで共有して使用されることになる。
【００５０】
また、この場合それぞれのタスクが図６に示す転送パラメータ書き込みデータＤ１をそれぞれの形で生成して、それぞれ個別にＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）に書き込む。このＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）内の転送パラメータデータバッファ３１０には複数の異なるＤＭＡ転送制御部転送パラメータデータが、タスクの種類により異なる優先順位を指定されて書き込まれる。
【００５１】
この状況におけるホスト装置１０からの転送要求で低優先にて実行可能とプロセッサ７０に指示されかつＤＭＡ転送制御部（Ａ）１１０のみを使用する転送要求を受けた場合、プロセッサ７０は、転送パラメータ書き込みデータＤ１を用意してＤＭＡ転送制御部（Ａ）１１０に書き込む。
【００５２】
ＤＭＡ転送制御部（Ａ）１１０は、低優先が指定されているため、図３のデータバッファ制御回路３００に転送パラメータ書き込みデータＤ１を書き込む。
【００５３】
転送パラメータ書き込みデータＤ１が転送パラメータバッファ３１０から転送パラメータデータ読み出し制御回路３３０によって読み出され転送パラメータデータ読み出しデータ制御部４００に送信されたとき、データバッファ制御回路３０１、３０２に優先順位の高いＤＭＡ転送制御部転送パラメータデータが書き込まれていたならば、データバッファ制御回路３０２から読み出されたＤＭＡ転送制御部転送パラメータデータが優先的に選択されてＤＭＡ転送制御主制御部５００に送信される。この場合、データバッファ制御回路３００、３０１から読み出されたデータは、図３に示したデータ転送路Ｄ３ａとＤ３ｂを経由してデータバッファ制御回路３０１、３０２の転送パラメータデータバッファ３１０に書き込まれる。
【００５４】
この動作を繰り返し行うことで、転送パラメータ書き込みデータＤ１は、最後にデータバッファ制御回路３０２の転送パラメータデータバッファ３１０に書き込まれ、後に転送パラメータデータ読み出しデータ制御部４００に読み出されてＤＭＡ転送制御主制御部５００に送信される。
【００５５】
ＤＭＡ転送制御主制御部５００は、転送が完了したならばプロセッサ７０に対して転送終了報告Ｇ２を行い（ステップＳ１１０）、これによりホスト装置からの転送要求が完了する。
【００５６】
（第１の実施の形態の効果）
本実施の形態によれば以下に示す効果を達成できる。
【００５７】
第１に、ソフトウェアの使用効率を改善させることができる。
【００５８】
その理由は、転送を行うための転送パラメータデータをＤＭＡ転送制御部の動作状況に関係なくデータバッファに書き込むことが可能なため、ＤＭＡ転送制御部（ＤＭＡ転送制御部（Ａ）１１０、ＤＭＡ転送制御部（Ｂ）１１１、ＤＭＡ転送制御部（Ｃ）１１２）の動作状況を確認せずに転送起動を連続で行うことが可能であり、ソフトウェア動作による転送起動を待たせる動作を削減できるからである。また、複数種類のＤＭＡ転送制御部を動作させなければならないタスクを行う場合には、共有に係るＤＭＡ転送制御部の転送処理の終了等の動作確認を必要としないため、ソフトウェアの動作を減少させることができるからである。さらに、転送完了後に自ＤＭＡ転送制御部からソフトウェアへの終了報告を行わず他のＤＭＡ転送制御部に転送パラメータデータを書き込むことが可能なため、転送終了後に行う転送終了処理を削減できるからである。このため、ソフトウェア動作が削減された分、ソフトウェアは別のタスクを実行可能となるからである。
【００５９】
第２に、ＤＭＡ転送制御部を搭載するボードが複数ある装置構成の場合には、ＤＭＡ転送制御部の数を拡張できる。
【００６０】
その理由は、自プロセッサが搭載されているボードから他のボードに搭載されるＤＭＡ転送制御部の動作状況を確認せずに使用することが可能なデータバッファ制御回路３００、３０１、３０２を備えるためである。従って、一例として、図２には３つのＤＭＡ転送制御部１１０、１１１、１１２が搭載されている構成が示されているが、本発明は、特にＤＭＡ転送制御部搭載する数を制限するものではなく、１個以上のＤＭＡ転送制御部を搭載する情報処理装置に適応する。
【００６１】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００６２】
例えば、図３は３つのデータバッファ制御回路３００、３０１、３０２が搭載されている図であるが、本発明は、特にデータバッファ制御回路の搭載する数を制限するものではなく、２個以上のデータバッファ制御回路を搭載する情報処理装置に適応する。
【００６３】
また、本発明は、図１に示すようなアダプタ部を複数搭載する装置構成である場合、図２に示すバススイッチインターフェース制御部６００を介して他のアダプタに搭載されるＤＭＡ転送制御部に対しても転送パラメータデータを送信することが可能であるため、他のアダプタのＤＭＡ転送制御部もその他のアダプタのＤＭＡ転送制御部の動作状況に関係なく当該オその他のアダプタのＤＭＡ転送制御部を使用することが可能となり、ＤＭＡ転送制御部の数が情報処理装置内部で拡張可能であるようにソフトウェアが扱うことができる。
【図面の簡単な説明】
【００６４】
【図１】従来及び本発明の第１の実施の形態による情報処理装置の構成例の概略を示すブロック図である。
【図２】第１の実施の形態によるブリッジの構成を示すブロック図である。
【図３】第１の実施の形態によるＤＭＡ転送制御部の構成を示すブロック図である。
【図４】第１の実施の形態によるデータバッファ制御回路の構成を示すブロック図である。
【図５】第１の実施の形態によるＤＭＡ転送制御部転送パラメータデータの構成を示す図である。
【図６】第１の実施の形態によるＤＭＡ転送制御部転送パラメータデータが、転送パラメータバッファに書き込まれる際の転送パラメータ書き込みデータの構成を示す図である。
【図７】第１の実施の形態によるブリッジのハードウェア構成を示すブロック図である。
【図８】第１の実施の形態によるタスクとＤＭＡ転送制御部の動作を示すシーケンス図である。
【図９】第１の実施の形態による情報処理装置の動作を示すフローチャートであるである。
【図１０】従来のブリッジに搭載されるＤＭＡ転送制御部の構成を示すブロック図である。
【図１１】従来のタスクとＤＭＡ転送制御部の動作を示すシーケンス図である。
【符号の説明】
【００６５】
１０、１１    ホスト装置
２０、２１    Ｉ／Ｏ装置
３０、３１    ホストアダプタ部
４０、４１    Ｉ／Ｏアダプタ部
５０    キャッシュメモリ部
６０    バススイッチ
７０、７１、７２、７３、７４    プロセッサ
８０、８１、８２、８３、８４    プロセッサのメモリ
１００、１０１、１０２    ブリッジ
１１０    ＤＭＡ転送制御部（Ａ）
１１１    ＤＭＡ転送制御部（Ｂ）
１１２    ＤＭＡ転送制御部（Ｃ）
２００、２０１、２０２    ＤＭＡ転送パラメータデータ
３００、３０１、３０２    データバッファ制御回路
３１０    転送パラメータデータバッファ
３２０    転送パラメータデータ書き込み制御回路
３３０    転送パラメータデータ読み出し制御回路
４００    転送パラメータデータ読み出しデータ制御回路
５００    ＤＭＡ転送制御主制御部
６００    バススイッチインターフェース制御部
Ｄ１    ソフトウェアからのＤＭＡ転送パラメータ書き込みデータ
Ｄ２、Ｄ２ａ、Ｄ２ｂ、Ｄ２ｃ    他のＤＭＡ転送制御部からのＤＭＡ転送パラメータ書き込みデータ
Ｄ３、Ｄ３ａ、Ｄ３ｂ    低優先のデータバッファからのＤＭＡ転送パラメータ書き込みデータ
Ｇ１、Ｇ３、Ｇ５    ソフトウェアによる転送起動
Ｇ２、Ｇ４、Ｇ６    ソフトウェアへの転送終了報告
Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８    ソフトウェア動作状態
Ｔ１、Ｔ２    タスク
１００１    ＰＵ
１００２    主記憶部
１００３    通信制御部
１００４    インタフェース部
１００５    補助記憶部
１００６    システムバス
２０００    ネットワーク
【図１】
2008217659.tif 000003
【図２】
2008217659.tif 000004
【図３】
2008217659.tif 000005
【図４】
2008217659.tif 000006
【図５】
2008217659.tif 000007
【図６】
2008217659.tif 000008
【図７】
2008217659.tif 000009
【図８】
2008217659.tif 000010
【図９】
2008217659.tif 000011
【図１０】
2008217659.tif 000012
【図１１】
2008217659.tif 000013