(57)【要約】【課題】  システムのスループットを低減させることなくデータ転送を効率よく行わせ、かつＣＰＵ及びＤＭＡ制御部による外部メモリへのアクセス競合を確実に調停する。【解決手段】  外部メモリ１０９との間のデータ転送をＣＰＵ１０２の動作と独立して行うＤＭＡ制御部１０６及び外部バスインタフェースユニット１０７を内蔵するコンピュータシステムシにおいて、ＤＭＡ制御部１０６の制御による外部メモリ１０９とのデータ転送をＤＭＡ制御部１０６と外部バスインタフェースユニット１０７との間に設けたローカルバス１１０を通して行い、ＣＰＵの制御下での外部メモリとのデータ転送及びＤＭＡ制御部の制御下での外部メモリとのデータ転送に対する優先順位を外部バスインタフェースユニットに設けた転送順位設定手段１１１により設定する構成にした。【選択図】        図１
2006023808.tif 000002
【特許請求の範囲】
【請求項１】
システムバスと、
前記システムバスに接続されシステム全体を管理し制御するとともに命令の解析や必要な演算及び転送処理などを実行するＣＰＵと、
前記システムバスに接続され前記ＣＰＵでの処理データ及びシステム制御用のプログラムを格納する内部メモリを含むペリフェラルモジュールと、
前記システムバスに接続されたＤＭＡ制御部と、
前記システムバスに接続された外部バスインタフェースユニットと、
前記外部バスインタフェースユニットに接続された外部メモリと、
前記ＤＭＡ制御部と前記外部バスインタフェースユニットとの間に接続され前記ＤＭＡ制御部の制御下で前記外部メモリとのデータ転送を行うローカルバスと備え、
前記外部バスインタフェースユニットは、前記ＣＰＵの制御下での前記外部メモリとのデータ転送及び前記ＤＭＡ制御部の制御下での前記外部メモリとのデータ転送に対する優先順位を設定する転送順位設定手段を有する、
ことを特徴とするデータ転送装置。
【請求項２】
前記転送順位設定手段は、前記ＣＰＵの制御によるデータ転送が最優先に実行されるように設定されている時は前記外部バスインタフェースユニットに対し前記外部メモリのデータ転送要求コマンドを出して外部メモリとのデータ転送が実行されるように制御することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記ＣＰＵの制御下で外部メモリとのデータ転送を行っている時に前記ＤＭＡ制御部から前記外部バスインタフェースユニットに対して外部メモリとのデータ転送要求コマンドが出された場合は該コマンドを前記転送順位設定手段で受けることにより前記ＤＭＡ制御部に対し待ち信号を出力して該ＤＭＡ制御部の制御によるデータ転送の開始を待たせ、前記ＣＰＵの制御下での外部メモリとのデータ転送が終了した時点で前記ＤＭＡ制御部の制御による外部メモリとのデータ転送を行うように構成したことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記転送順位設定手段は、前記ＤＭＡ制御部の制御によるデータ転送が最優先に実行されるように設定されている時は前記外部バスインタフェースユニットに対し前記外部メモリのデータ転送要求コマンドを出して外部メモリとのデータ転送が実行されるように制御することを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記ＤＭＡ制御部の制御下で外部メモリとのデータ転送を行っている時に前記ＣＰＵから前記外部バスインタフェースユニットに対して外部メモリとのデータ転送要求コマンドが出された場合は該コマンドを前記転送順位設定手段で受けることにより前記ＣＰＵに対し待ち信号を出力して該ＣＰＵの制御によるデータ転送の開始を待たせ、前記ＤＭＡ制御部の制御下での外部メモリとのデータ転送が終了した時点で前記ＣＰＵの制御による外部メモリとのデータ転送を行うように構成したことを特徴とする請求項１記載のデータ転送装置。
【請求項６】
外部メモリとの間のデータ転送をＣＰＵの動作と独立して自律的に行うＤＭＡ制御部及び外部バスインタフェースユニットを内蔵するコンピュータシステムシのデータ転送方法であって、
前記ＣＰＵ，前記ＤＭＡ制御部及び外部バスインタフェースユニットが接続されるシステムバスを備え、
前記ＤＭＡ制御部の制御による前記外部メモリとのデータ転送を前記ＤＭＡ制御部と前記外部バスインタフェースユニットとの間に設けたローカルバスを通して行い、
前記ＣＰＵの制御下での前記外部メモリとのデータ転送及び前記ＤＭＡ制御部の制御下での前記外部メモリとのデータ転送に対する優先順位を前記外部バスインタフェースユニットに設けた転送順位設定手段により設定するようにした、
ことを特徴とするデータ転送方法。
【請求項７】
前記転送順位設定手段は、前記ＣＰＵの制御によるデータ転送が最優先に実行されるように設定されている時は前記外部バスインタフェースユニットに対し前記外部メモリのデータ転送要求コマンドを出して外部メモリとのデータ転送が実行されるように制御することを特徴とする請求項６記載のデータ転送方法。
【請求項８】
前記ＣＰＵの制御下で外部メモリとのデータ転送を行っている時に前記ＤＭＡ制御部から前記外部バスインタフェースユニットに対して外部メモリとのデータ転送要求コマンドが出された場合は該コマンドを前記転送順位設定手段で受けることにより前記ＤＭＡ制御部に対し待ち信号を出力して該ＤＭＡ制御部の制御によるデータ転送の開始を待たせ、前記ＣＰＵの制御下での外部メモリとのデータ転送が終了した時点で前記ＤＭＡ制御部の制御による外部メモリとのデータ転送を行うように構成したことを特徴とする請求項６記載のデータ転送方法。
【請求項９】
前記転送順位設定手段は、前記ＤＭＡ制御部の制御によるデータ転送が最優先に実行されるように設定されている時は前記外部バスインタフェースユニットに対し前記外部メモリのデータ転送要求コマンドを出して外部メモリとのデータ転送が実行されるように制御することを特徴とする請求項６記載のデータ転送方法。
【請求項１０】
前記ＤＭＡ制御部の制御下で外部メモリとのデータ転送を行っている時に前記ＣＰＵから前記外部バスインタフェースユニットに対して外部メモリとのデータ転送要求コマンドが出された場合は該コマンドを前記転送順位設定手段で受けることにより前記ＣＰＵに対し待ち信号を出力して該ＣＰＵの制御によるデータ転送の開始を待たせ、前記ＤＭＡ制御部の制御下での外部メモリとのデータ転送が終了した時点で前記ＣＰＵの制御による外部メモリとのデータ転送を行うように構成したことを特徴とする請求項６記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像や音楽などのデータを処理するコンピュータシステムに適用されるデータ転送装置及びデータ転送方法に関し、さらに詳しくは、システムのデータ処理速度を低減することなく効率のよいデータ転送を可能にしたデータ転送装置及びデータ転送方法に関する。
【背景技術】
【０００２】
近年、ディジタルカメラや携帯型ＰＣなどを構成するコンピュータシステムで処理されるデータには画像や音楽などの情報も含まれる関係上、その処理データ量は大幅に増えている。このため、コンピュータシステムで処理されメインメモリに格納されているデータをフラッシュメモリのような外部メモリに保存する場合、メインメモリから外部メモリへのデータ転送にかかる時間が大幅に増加し、この間、コンピュータシステムを制御し管理するＣＰＵがデータ転送制御に占有されてしまう。
そこで、この種のコンピュータシステムでは、ＣＰＵを介在さずに、直接メインメモリと外部メモリとの間でデータのやり取りを可能にしたＤＭＡ（Direct Memory Access）方式がある（例えば特許文献１参照）。
【０００３】
以下、図６により従来のコンピュータシステムについて説明する。図６において、ＤＭＡ転送を可能にしたコンピュータシステム６０は、アドレス・データ・コントロールの各バスを含むシステムバス６１に接続されたＣＰＵ６２、メインメモリ（またはＩ／Ｏ装置を含むペリフェラルモジュール）６３、ＤＭＡ制御部６４及び外部バスインタフェースユニット（ＢＩＵ）６５を含んで構成され、外部バスインタフェースユニット６５には画像や音楽などのデータを格納する外部メモリ６６が接続されている。
【０００４】
このようなコンピュータシステムにおいて、例えばメインメモリ６３と外部メモリ６６との間でデータを直接転送（ＤＭＡ）する場合は、ＤＭＡ制御部６４からＣＰＵ６２にＤＭＡ要求を出し、この要求に対するＤＭＡ応答をＤＭＡ制御部６４に与えることによりシステムバス６１の使用権をＤＭＡ制御部６４に移す。これにより、外部バスインタフェースユニット６５によるメインメモリ６３及び外部メモリ６６へのアクセスを可能にする。この状態で、ＤＭＡ制御部６４からアドレス信号とデータの読み込みまたは書き込みのたもの制御信号をメインメモリ６３と外部メモリ６６に与えることにより、メインメモリ６３内のデータを外部メモリ６６に転送し、または外部メモリ６６からメインメモリ６３へデータを転送する。
【特許文献１】特開平１１−２３８０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のコンピュータシステムに用いられるＤＭＡ方式は、内部メモリ、入出力装置など及びこれらを管理し制御するＣＰＵはシステムバスにより相互に接続されているため、ＤＭＡ制御部を使用して外部メモリと内部メモリまたは入出力装置などとの間でデータのやり取りを行う場合、これらのデータ転送にシステムバスが占有されてしまい、この間ＣＰＵはバスマスターになることができず、ＣＰＵが他のＩ／Ｏ装置を含むペリフェラルモジュールに対して命令を実行できなくなり、システム全体のスループットが低下してしまう。
【０００６】
また、ＤＭＡ方式において、データの転送相手である外部メモリの動作スピードが遅い場合、最小単位のデータの転送でさえシステムバスが数クロック必要になり、これに伴いデータを転送する時間が増加し、さらにシステム全体のスループットを低下させる要因になってしまう。これを解決するために従来においては（例えば特許文献１の図１参照）、システムバス上にバススイッチ回路を設け、このバススイッチ回路をＤＭＡ制御部とＢＩＵ間をローカルバスのように使用すれば、ＣＰＵは他のペリフェラルモジュールに対して命令を実行することができる。しかし、この方法だとバススイッチ回路が必要であり、さらにバススイッチ回路を制御するアドレス比較回路や制御線が必要になり、コンピュータシステムの構成が複雑になる問題がある。
【０００７】
また、上述の問題を解決するために従来においては（例えば特許文献１の図５参照）、ＤＭＡ制御部とＢＩＵをローカルバスで接続し、このローカルバスを通して外部メモリにデータ転送するようにしている。しかし、このような従来方式では、ＣＰＵから外部メモリにデータ転送するには別のＢＩＵとこのＢＩＵにローカルバスを介して接続された別のＤＭＡ制御部が必要なるとともにＢＩＵを２つ搭載しているため、その分端子が増加してしまうという問題がある。
また、従来のデータ伝送方式においては、ＤＭＡ制御部とＣＰＵから外部メモリに同時にデータ転送を行おうとしたときに、アクセス競合が起こり、お互いにデータ転送ができなくなるという問題があった。
【０００８】
本発明は、このような従来の問題を解決するためになされたもので、システムのスループットを低減させることなく外部メモリとのデータ転送を効率よく行わせるとともに、ＣＰＵ及びＤＭＡ制御部による外部メモリへのアクセス競合を確実に調停できるようにしたデータ転送装置及びデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は、システムバスと、前記システムバスに接続されシステム全体を管理し制御するとともに命令の解析や必要な演算及び転送処理などを実行するＣＰＵと、前記システムバスに接続され前記ＣＰＵでの処理データ及びシステム制御用のプログラムを格納する内部メモリを含むペリフェラルモジュールと、前記システムバスに接続されたＤＭＡ制御部と、前記システムバスに接続された外部バスインタフェースユニットと、前記外部バスインタフェースユニットに接続された外部メモリと、前記ＤＭＡ制御部と前記外部バスインタフェースユニットとの間に接続され前記ＤＭＡ制御部の制御下で前記外部メモリとのデータ転送を行うローカルバスと備え、前記外部バスインタフェースユニットは、前記ＣＰＵの制御下での前記外部メモリとのデータ転送及び前記ＤＭＡ制御部の制御下での前記外部メモリとのデータ転送に対する優先順位を設定する転送順位設定手段を有することを特徴とする。
【００１０】
また、本発明は、外部メモリとの間のデータ転送をＣＰＵの動作と独立して自律的に行うＤＭＡ制御部及び外部バスインタフェースユニットを内蔵するコンピュータシステムシのデータ転送方法であって、前記ＣＰＵ，前記ＤＭＡ制御部及び外部バスインタフェースユニットが接続されるシステムバスを備え、前記ＤＭＡ制御部の制御による前記外部メモリとのデータ転送を前記ＤＭＡ制御部と前記外部バスインタフェースユニットとの間に設けたローカルバスを通して行い、前記ＣＰＵの制御下での前記外部メモリとのデータ転送及び前記ＤＭＡ制御部の制御下での前記外部メモリとのデータ転送に対する優先順位を前記外部バスインタフェースユニットに設けた転送順位設定手段により設定するようにしたことを特徴とする。
【発明の効果】
【００１１】
本発明のデータ転送装置及びデータ転送方法によれば、ＤＭＡ制御部から外部バスインタフェースユニットを通して外部メモリとのデータ転送を行う時、ＤＭＡ制御部と外部バスインタフェースユニットとの間に設けたローカルバスを用いるようにしたので、ＤＭＡ制御部から外部バスインタフェースユニットにデータを転送中でも、ＣＰＵはこれに関係なくプログラムを実行することができ、コンピュータシステムのスループットを向上できる。
【００１２】
また、本発明によれば、外部バスインタフェースユニットに設けた転送順位設定手段により、ＣＰＵの制御下での外部メモリとのデータ転送とＤＭＡ制御部の制御下での外部メモリとのデータ転送に対する優先順位を設定してアクセス競合を調停できるように構成したので、外部バスインタフェースユニットにシステムバスとローカルバスが接続されていることにより、ＤＭＡ制御部の制御下とＣＰＵの制御下で外部メモリに同時にデータ転送要求が発生しても、これによるアクセス競合が起こるおそれがなく、常に安定した効率のよいデータ転送が可能になる。
【発明を実施するための最良の形態】
【００１３】
システムのスループットを低減させることなくデータ転送を効率よく行わせ、かつＣＰＵ及びＤＭＡ制御部による外部メモリへのアクセス競合を確実に調停できるデータ転送装置を提供するという目的を、ＤＭＡ制御部の制御による外部メモリとのデータ転送をＤＭＡ制御部と外部バスインタフェースユニットとの間に設けたローカルバスを通して行い、ＣＰＵの制御下での外部メモリとのデータ転送及びＤＭＡ制御部の制御下での外部メモリとのデータ転送に対する優先順位を外部バスインタフェースユニットに設けた転送順位設定手段により設定することによって実現した。
【実施例１】
【００１４】
以下、本発明の実施例１について図面を参照して説明する。
図１は本発明のデータ転送方法を適用したコンピュータシステムの構成の一例を示すブロック図である。
【００１５】
図１において、１０はディジタルカメラや携帯型ＰＣなどを構成するコンピュータシステムであり、外部メモリとの間のデータ転送をＣＰＵの動作と独立して自律的に行うＤＭＡ制御機能を内蔵している。
このコンピュータシステム１０は、アドレス・データ・コントロールの各バスを含むシステムバス１０１を有し、このシステムバス１０１には、システム全体を管理し制御するとともに命令の解析や必要な演算及び転送処理などを実行するＣＰＵ１０２、システム制御用のプログラムなどのデータを格納するＲＯＭ１０３、ＣＰＵ１０２での処理データや外部から取り込まれたプログラムなどのデータを格納するＲＡＭ１０４、キー処理回路やタイマー回路などの複数の内部Ｉ／Ｏ装置１０５、ＤＭＡ制御部１０６及び外部バスインタフェースユニット（ＢＩＵ）１０７がそれぞれ接続されている。
【００１６】
外部バスインタフェースユニット１０７には外部バス１０８を介して外部メモリ１０９が接続されている。この外部メモリ１０９はフラッシュメモリやＥＥＰＲＡＭから構成される。また、ＤＭＡ制御部１０６と外部バスインタフェースユニット１０７との間はローカルバス１１０によって接続され、このローカルバス１１０はＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送に使用される。
また、外部バスインタフェースユニット１０７は、ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送及びＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送に対する優先順位を設定する転送順位設定手段１１１を備えている。この転送順位設定手段１１１に対する優先順位の設定はコンピュータシステム１０においてＣＰＵ１０２で実行されるプログラムにより行われる。
【００１７】
次に、本実施例に示すデータ転送の動作について説明する。
例えば、ＲＡＭ１０４に格納されているデータをＤＭＡ方式で外部メモリ１０９に転送し、または外部メモリ１０９のデータをＲＡＭ１０４に転送するに際しては、まず、コンピュータシステム１０のプログラム制御下において、ＣＰＵ１０２から信号線１１２を通して供給させる命令により、ＤＭＡ制御部１０６、外部バスインタフェースユニット１０７及び外部メモリ１０９にＤＭＡコマンドを与え初期設定する。これに伴い、外部メモリ１０９でデータ転送の用意ができると、外部メモリ１０９から信号線１１３及び１１２を通してＤＭＡ制御部１０６及び外部バスインタフェースユニット１０７に対しＤＭＡ要求が出され、それによってＤＭＡ制御部１０６が信号線１１４を通してＲＡＭ１０４にメモリに対しＲ／Ｗすべきアドレスを送出するとともに外部バスインタフェースユニット１０７及びローカルバス１１０に対してアドレス発生とデータの読み込みまたは書き込みを要求する。ここで、ＲＡＭ１０４に格納されているデータを外部メモリ１０９に転送する場合には、上記アドレスされたＲＡＭ１０４内のデータを読み出し、システムバス１０１を通してＤＭＡ制御部１０６のバッファ１０６Ａに一時記憶させる。しかる後、バッファ１０６Ａ内のデータは、ローカルバス１１０、外部バスインタフェースユニット１０７及び外部バス１０８を通してダイレクトに外部メモリ１０９に転送される。また、外部メモリ１０９のデータをＲＡＭ１０４に転送する場合は、上記の逆に外部メモリ１０９内のデータを読み出し、外部バス１０８、外部バスインタフェースユニット１０７及びローカルバス１１０を通してＤＭＡ制御部１０６のバッファ１０６Ａに一時記憶させる。しかる後、バッファ１０６Ａ内のデータはＣＰＵ１０２の空き時間などを利用してＲＡＭ１０４に転送される。
したがって、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送が行われている時は、ＣＰＵ１０２にはほとんど負担がかからないため、このＣＰＵ１０２及びシステムバス１０１を内部Ｉ／Ｏ装置１０５などとのデータ転送や命令の解析や演算、プロセスの実行制御など利用できる。
【００１８】
次に、ＣＰＵ１０２の制御下で外部メモリ１０９とＲＡＭ１０４間でのデータ転送を行う場合について説明する。
この場合は、まず、コンピュータシステム１０のプログラム制御下において、ＣＰＵ１０２から信号線１１２を通して供給させる命令により、外部バスインタフェースユニット１０７及び外部メモリ１０９にデータ転送コマンドを与え初期設定する。これに伴い、外部メモリ１０９でデータ転送の用意ができると、外部メモリ１０９から信号線１１２を通して外部バスインタフェースユニット１０７に対し転送要求が出され、それによってＲＡＭ１０４に対しＲ／Ｗすべきアドレスを送出するとともに外部バスインタフェースユニット１０７に対してアドレス発生とデータの読み込みまたは書き込みを要求する。ここで、ＲＡＭ１０４に格納されているデータを外部メモリ１０９に転送する場合は、上記アドレスされたＲＡＭ１０４内のデータを読み出し、この読み出されたデータはシステムバス１０１、外部バスインタフェースユニット１０７及び外部バス１０８を通して外部メモリ１０９に転送される。外部メモリ１０９のデータをＲＡＭ１０４に転送する場合は、上記の逆になる。
【００１９】
次に、ＣＰＵ１０２の制御による外部メモリ１０９とのデータ転送をＤＭＡ制御部１０６の制御によるデータ転送より優先する場合の動作について、図２及び図３を参照して説明する。
ＣＰＵ１０２の制御下でのデータ転送を優先する場合は、転送順位設定手段１１１はＣＰＵ１０２の制御によるデータ転送が最優先に実行されるように設定されている。かかる状態において、ＣＰＵ１０２の制御下で外部メモリ１０９とＲＡＭ１０４間のデータ転送をＤＭＡ制御部１０６の制御によるデータ転送より優先して行う場合は、図２に示すように、ＣＰＵ１０２から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドを出す（ステップＳ１１）。その後、ＣＰＵ１０２の制御下で外部メモリ１０９とのデータ転送が開始され（ステップＳ１２）、しかる後、外部メモリ１０９とのデータ転送終了へと移行する（ステップＳ１３）。
【００２０】
一方、ＣＰＵ１０２の制御下で外部メモリ１０９とのデータ転送を行っている時に、図２に示すように、ＤＭＡ制御部１０６から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドが出されると（ステップＳ１４）、このコマンドを受けた転送順位設定手段１１１ではＤＭＡ制御部１０６に対して「ＤＭＡ−ＷＡＩＴ」信号を出し（ステップＳ１５）、ＤＭＡ制御部１０６の制御下でのデータ転送の開始を待たせる。その後、ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送が終了すると、転送順位設定手段１１１はＤＭＡ制御部１０６に対する「ＤＭＡ−ＷＡＩＴ」信号を解除し（ステップＳ１６）、その旨をＤＭＡ制御部１０６に通知する。これにより、ＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送が行われる（ステップＳ１７）。
【００２１】
次に、外部バスインタフェースユニット１０７の転送順位設定手段１１１がＣＰＵ１０２の制御下でのデータ転送が最優先に実行されるように設定されている場合において、ＤＭＡ制御部１０６の制御によるデータ転送が行われている時にＣＰＵ１０２の制御によるデータ転送が開始された場合について説明する。
この場合は、図３のステップＳ２１に示すように、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送が行われている。かかる状態において、ＣＰＵ１０２から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドを出されると（ステップＳ２２）、このコマンドを受けた転送順位設定手段１１１はＤＭＡ制御部１０６に対して「ＤＭＡ−ＷＡＩＴ」信号を出す（ステップＳ２３）。これにより、ＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送を中断させる（ステップＳ２４）。これに伴い、ＣＰＵ１０２の制御下で外部メモリ１０９とのデータ転送が開始され（ステップＳ２５）、その後、外部メモリ１０９とのデータ転送終了へと移行する（ステップＳ２６）。上記ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送が終了すると、転送順位設定手段１１１はＤＭＡ制御部１０６に対する「ＤＭＡ−ＷＡＩＴ」信号を解除し（ステップＳ２７）、その旨をＤＭＡ制御部１０６に通知する。これにより、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送が再開される（ステップＳ２８）。
【００２２】
次に、ＤＭＡ制御部１０６の制御によるデータ転送をＣＰＵ１０２の制御による外部メモリ１０９とのデータ転送よりを優先する場合の動作について、図４及び図５を参照して説明する。
ＤＭＡ制御部１０６の制御下でのデータ転送が優先する場合は、転送順位設定手段１１１はＤＭＡ制御部１０６の制御によるデータ転送が最優先に実行されるように設定されている。かかる状態において、ＤＭＡ制御部１０６の制御による外部メモリ１０９とのデータ転送をＣＰＵ１０２の制御によるデータ転送より優先して行う場合は、図４に示すように、ＤＭＡ制御部１０６から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドを出す（ステップＳ３１）。その後、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送が開始され（ステップＳ３２）、しかる後、外部メモリ１０９とのデータ転送終了へと移行する（ステップＳ３３）。
【００２３】
一方、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送を行っている時に、図４に示すように、ＣＰＵ１０２から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドが出されると（ステップＳ３４）、このコマンドを受けた転送順位設定手段１１１ではＣＰＵ１０２に対して「ＣＰＵ−ＷＡＩＴ」信号を出し（ステップＳ３５）、ＣＰＵ１０２の制御下でのデータ転送の開始を待たせる。その後、ＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送が終了すると、転送順位設定手段１１１はＣＰＵ１０２に対する「ＣＰＵ−ＷＡＩＴ」信号を解除し（ステップＳ３６）、その旨をＣＰＵ１０２に通知する。これにより、ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送が行われる（ステップＳ３７）。
【００２４】
次に、外部バスインタフェースユニット１０７の転送順位設定手段１１１がＤＭＡ制御部１０６の制御下でのデータ転送が優先的に実行されるように設定されている場合において、ＣＰＵ１０２の制御によるデータ転送が行われている時にＤＭＡ制御部１０６の制御によるデータ転送が開始された場合について説明する。
この場合は、図５のステップＳ４１に示すように、ＣＰＵ１０２の制御下で外部メモリ１０９とのデータ転送が行われている。かかる状態において、ＤＭＡ制御部１０６から外部バスインタフェースユニット１０７に対して外部メモリ１０９とのデータ転送要求コマンドを出されると（ステップＳ４２）、このコマンドを受けた転送順位設定手段１１１はＣＰＵ１０２に対して「ＣＰＵ−ＷＡＩＴ」信号を出す（ステップＳ４３）。これにより、ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送を中断させる（ステップＳ４４）。これに伴い、ＤＭＡ制御部１０６の制御下で外部メモリ１０９とのデータ転送が開始され（ステップＳ４５）、その後、外部メモリ１０９とのデータ転送終了へと移行する（ステップＳ４６）。上記ＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送が終了すると、転送順位設定手段１１１はＣＰＵ１０２に対する「ＣＰＵ−ＷＡＩＴ」信号を解除し（ステップＳ４７）、その旨をＣＰＵ１０２に通知する。これにより、ＣＰＵ１０２の制御下で外部メモリ１０９とのデータ転送が再開される（ステップＳ４８）。
【００２５】
このような本実施例によれば、外部メモリ１０９との間のデータ転送をＣＰＵ１０２の動作と独立して自律的に行うＤＭＡ制御部１０６、外部バスインタフェースユニット１０７を内蔵するコンピュータシステムにおいて、ＤＭＡ制御部１０６と外部バスインタフェースユニット１０７との間にローカルバス１１０を設け、ＤＭＡ制御部１０６から外部バスインタフェースユニット１０７を通して外部メモリ１０９とのデータ転送を行う時はローカルバス１１０を使用するようにしたので、ＤＭＡ制御部１０６から外部バスインタフェースユニット１０７にデータを転送中でも、ＣＰＵ１０２はこれに関係なくプログラムを実行することができる。これにより、ＣＰＵが外部メモリ１０９とのデータ転送に要するシステムバスの使用時間が大幅に縮減され、コンピュータシステムのスループットを向上できる。
【００２６】
また、本実施例によれば、外部バスインタフェースユニット１０７に転送順位設定手段１１１を設け、この転送順位設定手段１１１により、ＣＰＵ１０２の制御下での外部メモリ１０９とのデータ転送とＤＭＡ制御部１０６の制御下での外部メモリ１０９とのデータ転送に対する優先順位を設定してアクセス競合を調停できるように構成したので、外部バスインタフェースユニット１０７にシステムバス１０１とローカルバス１１０が接続されていることにより、ＤＭＡ制御部１０６の制御下とＣＰＵ１０２の制御下で外部メモリ１０９に同時にデータ転送要求が発生しても、これによるアクセス競合が起こるおそれがなく、常に安定した効率のよいデータ転送が可能になるとともに、システムバスに対するＣＰＵのバスマスターとしての使用権を拡大できる。
【図面の簡単な説明】
【００２７】
【図１】本発明のデータ転送方法を適用したコンピュータシステムの構成の一例を示すブロック図である。
【図２】本発明の実施例においてＣＰＵの制御による外部メモリとのデータ転送をＤＭＡ制御部の制御によるデータ転送より優先する場合の動作を示すシーケンス図である。
【図３】本発明の実施例においてＣＰＵの制御による外部メモリとのデータ転送をＤＭＡ制御部の制御によるデータ転送より優先する場合の他の例を示す動作説明用のシーケンス図である。
【図４】本発明の実施例においてＤＭＡ制御部の制御による外部メモリとのデータ転送をＣＰＵの制御によるデータ転送より優先する場合の動作を示すシーケンス図である。
【図５】本発明の実施例においてＤＭＡ制御部の制御による外部メモリとのデータ転送をＣＰＵの制御によるデータ転送より優先する場合の他の例を示す動作説明用のシーケンス図である。
【図６】従来のデータ転送方法を適用したコンピュータシステムの構成の一例を示すブロック図である。
【符号の説明】
【００２８】
１０……コンピュータシステム、１０１……システムバス、１０２……ＣＰＵ、１０３……ＲＯＭ、１０４……ＲＡＭ、１０５……内部Ｉ／Ｏ装置、１０６……ＤＭＡ制御部、１０７……外部バスインタフェースユニット（ＢＩＵ）、１０８……外部バス、１０９……外部メモリ、１１０……ローカルバス、１１１……転送順位設定手段。
【図１】
2006023808.tif 000003
【図２】
2006023808.tif 000004
【図３】
2006023808.tif 000005
【図４】
2006023808.tif 000006
【図５】
2006023808.tif 000007
【図６】
2006023808.tif 000008