(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、
メモリと、
前記ＣＰＵおよび前記メモリが接続された共有バスと、
前記共有バスに接続されるとともに前記メモリにアクセスする、少なくともプリンタとスキャナを有する複数のデバイスと、
前記各デバイスによる前記共有バスへのアクセス後、次のアクセスが可能となるまでの最低アクセス間隔時間を記録した複数の異なるアクセス間隔テーブルと、
少なくとも前記プリンタとスキャナの動作状況を検出するデバイスモニタ手段と、
前記デバイスモニタ手段による検出の結果、前記プリンタが動作中であるか前記スキャナが動作中であるかに基づいて前記アクセス間隔テーブルのうち１つを選択するアクセス間隔テーブル選択手段と、
前記アクセス間隔テーブル選択手段により選択されたアクセス間隔テーブルに従い前記各デバイスによる前記共有バスへのアクセスの許否を決定するアクセス許否決定手段とを有し、
前記バス調停手段は、前記アクセス許否決定手段の決定に従い前記ＣＰＵおよび前記各デバイスによる前記共有バスへのアクセスを調停することを特徴とするＤＭＡ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、直接メモリアクセス制御（以下、「ＤＭＡ制御」ともいう）に関する。さらに詳細には、共有バスに接続された複数のデバイスの動作状況の如何にかかわらず、特定のデバイスにより共有バスが占有され、共有バスにアクセスできないデバイスが発生するのを防止したＤＭＡ制御装置に関するものである。例えば、複写機のように、ＣＰＵと他のデバイス（スキャナ、プリンタ等）とでバスを共用する機器に用いて好適なものである。
【０００２】
【従来の技術】
従来のＤＭＡ制御装置では、複数のデバイスからバスアクセスのリクエストがあった場合に、バスアクセスを調停するためのバス調停部を備えるものが知られている。そのシステムの一例を図１１に示す。図１１に示すシステムは、基本的に、メモリ１０７と、各ＤＭＡ制御部１０１，１０２，１０３、およびアクセス制御部１０４とを有し、ＤＭＡ制御部１０１〜１０３、およびアクセス制御部１０４が共用のバス１０５を介してメモリ１０７にアクセスするものである。そして、各ＤＭＡ制御部１０１〜１０３、およびアクセス制御部１０４からバス１０５へのアクセスを調停するバス調停部１０６が設けられている。また、ＤＭＡ制御部１０１にはプリンタ装置１１１が接続され、ＤＭＡ制御部１０２にはスキャナ装置１１２が接続され、ＤＭＡ制御部１０３にはハードディスク１１３が接続され、アクセス制御部１０４にはＣＰＵ１１４が接続されている。
【０００３】
このシステムは次のように動作する。この動作について図１２を参照して説明する。例えば、ＤＭＡ制御部１０１においてバス１０５へのアクセスが必要になると、ＤＭＡ制御部１０１はバス調停部１０６に対しリクエスト信号req1を出力する。このリクエスト信号req1に対してバス調停部１０６は、可能ならばバス使用許可信号ack1を返信する。この許可信号ack1がアクティブである期間中、ＤＭＡ制御部１０１を介してプリンタ装置１１１がバス１０５にアクセスできるのである。他の制御部（デバイス）でも同様である。
【０００４】
ここで、複数の制御部からリクエストが同時にあった場合には、バス調停部１０６は所定の優先順位にしたがってバス使用許可信号を返信するようになっている。優先順位の一例を図１３に示す。この優先順位の場合、バス調停部１０６に対してリクエスト信号req1,req2,req3,req4が同時に出力されたときには、バス調停部１０６は、最も優先順位が高いバス使用許可信号ack1のみを返信する。これにより、ＤＭＡ制御部１０１が他の制御部１０２〜１０４よりも優先してバス１０５にアクセスする。同様に、リクエスト信号req2,req3,req4が同時に出力されたときには、バス調停部１０６はその中で最も優先順位の高いバス使用許可信号ack2のみを返信する。このため、ＤＭＡ制御部１０２が他の制御部１０３，１０４よりも優先してバス１０５にアクセスする。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記した従来のＤＭＡ制御装置１００では、バス調停部１０６において常に図１３に示す優先順位のみにしたがってバス調停制御が行われるため、ＤＭＡ制御部１０１〜１０３、およびアクセス制御部１０４からのリクエスト信号req1,req2,req3,req4が一時期に集中してバス調停部１０６に対して出力されると、優先順位の低いアクセス制御部１０４（ＣＰＵ１１４）がバス１０５にアクセスできないおそれがあった。かかる場合にはＣＰＵ１１４がバス１０５にアクセスできずにシステムのプログラムが停止してしまうという問題があった。
【０００６】
そこで、本発明は上記した問題点を解決するためになされたものであり、デバイスの動作状況を検出し、その結果検出に応じてバス調停制御の内容を変更することにより、ＣＰＵによる共有バスへのアクセスを確保することができるＤＭＡ制御装置を提供することを課題とする。
【０００７】
【課題を解決するための手段】
上記問題点を解決するため本発明に係るＤＭＡ制御装置によれば、ＣＰＵと、メモリと、前記ＣＰＵおよび前記メモリが接続された共有バスと、前記共有バスに接続されるとともに前記メモリにアクセスする、少なくともプリンタとスキャナを有する複数のデバイスと、前記各デバイスによる前記共有バスへのアクセス後、次のアクセスが可能となるまでの最低アクセス間隔時間を記録した複数の異なるアクセス間隔テーブルと、少なくとも前記プリンタとスキャナの動作状況を検出するデバイスモニタ手段と、前記デバイスモニタ手段による検出の結果、前記プリンタが動作中であるか前記スキャナが動作中であるかに基づいて前記アクセス間隔テーブルのうち１つを選択するアクセス間隔テーブル選択手段と、前記アクセス間隔テーブル選択手段により選択されたアクセス間隔テーブルに従い前記各デバイスによる前記共有バスへのアクセスの許否を決定するアクセス許否決定手段とを有し、前記バス調停手段は、前記アクセス許否決定手段の決定に従い前記ＣＰＵおよび前記各デバイスによる前記共有バスへのアクセスを調停することを特徴とする。
【０００８】
なお、デバイス（少なくともプリンタとスキャナを含む）の動作状況とは、各デバイスによる共有バスへのアクセス状態（アクセスしているか否か）を示すものである。
【０００９】
このＤＭＡ制御装置では、デバイスモニタ手段により、少なくともプリンタとスキャナの動作状況が検出されている。そして、アクセス間隔テーブル選択手段により、デバイスモニタ手段による検出の結果、プリンタが動作中であるかスキャナが動作中であるか、すなわち異なるデバイスの動作状況に基づいて複数の異なるアクセス間隔テーブルのうち１つが選択される。さらに、アクセス許否決定手段により、アクセス間隔テーブル選択手段で選択されたアクセス間隔テーブルに従い各デバイスによる共有バスへのアクセスの許否が決定される。その後、アクセス許否決定手段の決定に従い各デバイスおよびＣＰＵのリクエストに対して、共有バスの使用許可の調停が行われる。
【００１０】
これにより、デバイスの動作状況に応じて適切に各デバイスおよびＣＰＵによる共有バスへのアクセスが調停される。従って、複数のデバイスからリクエストが一時期に集中した場合に、優先順位の高いデバイスによる共有バスの独占が防止され、優先順位の低いＣＰＵにも必要なアクセス時間が確保される。なお、アクセス間隔テーブルに、ＣＰＵによる共有バスへの最低アクセス間隔を含めてもよい。
【００１１】
【００１２】
【００１３】
【発明の実施の形態】
以下、本発明のＤＭＡ制御装置を具体化した実施の形態について図面に基づいて詳細に説明する。本実施の形態は、複写機におけるＣＰＵおよび各種周辺デバイスによるバスへのアクセスを制御するＤＭＡ制御装置である。
【００１４】
（第１の実施の形態）
まず、第１の実施の形態について説明する。このＤＭＡ制御装置２００は、図１に示すように、メモリ７と、各ＤＭＡ制御部１，２，３、およびアクセス制御部４と、デバイスモニタ部２０８とを有し、ＤＭＡ制御部１〜３、およびアクセス制御部４が共用のバス５を介してメモリ７にアクセスするものである。そして、デバイスモニタ部２０８の検出結果に応じて各ＤＭＡ制御部１〜３、およびアクセス制御部４からバス５へのアクセスを調停するバス調停部２０６が設けられている。
【００１５】
また、ＤＭＡ制御部１にはプリンタ装置１１が接続され、ＤＭＡ制御部２にはスキャナ装置１２が接続され、ＤＭＡ制御部３にはハードディスク１３が接続され、アクセス制御部４にはＣＰＵ１４が接続されている。ＣＰＵ１４は、このシステムを含めた複写機全体の制御を統括するものである。なお、プリンタ装置１１、スキャナ装置１２、およびハードディスク１３はそれぞれＤＭＡ制御部１，２、および３によりＣＰＵ１４を介さずメモリ７に直接アクセス（ＤＭＡ）できるようになっている。また、各ＤＭＡ制御部１〜３のアクセス状況を検出するデバイスモニタ部２０８が備わっている。
【００１６】
バス調停部２０６は、図２に示すように、各ＤＭＡ制御部１〜３、およびアクセス制御部４からそれぞれリクエスト信号req1,req2,req3,req4が出力されると、各ＤＭＡ制御部１〜３、およびアクセス制御部４に対して適宜バス使用許可信号ack1,ack2,ack3,ack4を返信するものである。これらのバス使用許可信号がアクティブである期間中だけ、バス使用許可信号が返信された制御部がバス５にアクセスできる。このときバス５にアクセスしている制御部は、ＤＭＡ処理信号dmaをデバイスモニタ部２０８に発するようになっている。そして、バス調停部２０６は、図３に示すように、ＤＭＡ制御部１〜３の動作状況に応じてバス調停制御を行うための優先順位テーブルを選択しリクエスト信号req1〜4を処理する優先順位テーブル選択部２１８と、バス使用許可信号ack1〜4を送出するバス応答制御部１７とを備える。
【００１７】
優先順位テーブル選択部２１８は、予め格納されている複数（本実施の形態では２つ）の優先順位テーブルのうち１つを、後述するデバイスモニタ部２０８の検出結果に応じて選択するものである。この優先順位テーブルの選択は、図４に示す選択テーブルＴｃｒに基づき行われる。例えば、プリンタ装置１１（ＤＭＡ制御部１）が動作中である場合には、優先順位テーブル選択部２１８では第２優先順位テーブルＴｒ２が選択される。なお、優先順位テーブル選択部２１８に格納されている優先順位テーブルは、図５に示すものが格納されている。すなわち、第１優先順位テーブルＴｒ１としては、従来のＤＭＡ制御装置１００で用いられている優先順位テーブル（優先順位は上から順に、ＤＭＡ制御部１、ＤＭＡ制御部２、ＤＭＡ制御部３、アクセス制御部４となっている）と同じものが格納されている。また、第２優先順位テーブルＴｒ２としては、優先順位が上から順にＤＭＡ制御部１、ＤＭＡ制御部２、アクセス制御部４、ＤＭＡ制御部３となっているものが格納されている。
【００１８】
バス応答制御部１７は、優先順位テーブル選択部２１８により選択された優先順位テーブルに従いバス使用許可が付与された制御部に対し、バス使用許可信号を送出するものである。
【００１９】
また、デバイスモニタ部２０８は、各ＤＭＡ制御部１〜３が発するＤＭＡ処理信号dma1〜3に基づきＤＭＡ制御部１〜３の動作状況を検出するものである。ここで、ＤＭＡ制御部１〜３の動作状況とは、バス５へアクセスしているＤＭＡ制御部の組み合わせのことを意味する。この動作状況の検出は、各ＤＭＡ制御部が発するＤＭＡ処理信号がアクティブである期間中は、そのＤＭＡ制御部が動作している、つまりバス５にアクセスしてＤＭＡ処理を行っているものと判断することにより行われる。具体的に、デバイスモニタ部２０８で検出される動作状況には、図４に示すような３つのパターンがある。すなわち、（１）プリンタ装置１１が動作中である場合、（２）スキャナ装置１２が動作中である場合、および（３）前記（１）（２）以外の場合の３パターンである。
【００２０】
続いて、上記のように構成されたＤＭＡ制御装置２００の動作について、図６に示すフローチャートを用いて説明する。このフローチャートは、バス調停部２０６におけるバス調停制御ルーチンを示したものである。まず、Ｓ１において、デバイスモニタ部２０８により、ＤＭＡ制御部１〜３の動作状況が検出される。つまり、各ＤＭＡ制御部１〜３が発するＤＭＡ処理信号dma1〜3の状態（アクティブ／インアクティブ）から各ＤＭＡ制御部１〜３のそれぞれの動作状態が判断される。
【００２１】
次いでＳ２において、デバイスモニタ部２０８検出結果により、優先順位テーブル選択部２１８で選択テーブルＴｃｒ（図４参照）に基づき、バス調停制御を行うための優先順位テーブルが選択される。そしてＳ３において、リクエスト信号が発生しているか否かが判断される。このとき、リクエスト信号が発生している場合には（Ｓ３：ＹＥＳ）、Ｓ４の処理に進む。一方、リクエスト信号が発生していない場合には（Ｓ３：ＮＯ）、Ｓ１に戻りＳ１〜Ｓ３の処理を繰り返す。
【００２２】
Ｓ３でリクエスト信号が発生しておりＳ４へ進むと、Ｓ４では、優先順位テーブル選択部２１８で選択された優先順位テーブルに従いバス調停制御が実行される。その結果、Ｓ５において、バス使用許可信号を付与する制御部が選択される。そうすると、Ｓ６において、バス応答制御部１７によってＳ５で選択された制御部に対してバス使用許可信号が送出される。これにより、バス使用許可信号を受信した制御部がバス５にアクセスする。以後、Ｓ１〜Ｓ６の処理を繰り返す。
【００２３】
このように、バス調停部２０６において、ＤＭＡ制御部１〜３の動作状況に応じてバス調停制御に使用する優先順位テーブルが選択され、そして、その優先順位テーブルに従い各制御部１〜４のリクエスト信号req1〜4に対するバス５へのアクセスが調停される。つまり、ＤＭＡ制御部１〜３の動作状況に応じた適切なバス調停制御が行われる。
【００２４】
以上、詳細に説明したように第１の実施の形態に係るＤＭＡ制御装置２００によれば、デバイスモニタ部２０８により、ＤＭＡ処理信号dma1〜3に基づきＤＭＡ制御部１〜３の動作状態が検出される。そして、デバイスモニタ部２０８の検出結果に応じて優先順位テーブル選択部２１８により優先順位テーブルが選択される。これにより、ＤＭＡ制御部１〜３の動作状況に応じた優先順位テーブルに従いバス調停制御が行われる。従って、ＤＭＡ制御部１〜３によるバス５の独占が防止され、ＣＰＵ１４にも必要なアクセス時間が確保される。よって、システムプログラムが停止するような事態は確実に回避される。
【００２５】
（第２の実施の形態）
次に、第２の実施の形態について説明する。第２の実施の形態に係るＤＭＡ制御装置は、第１の実施の形態に係るＤＭＡ制御装置２００と基本的にほぼ同じ構成のものであるが、図７に示すように、バス調停部２５６にアクセス間隔テーブル選択部２６８を備えるものである。すなわち、このアクセス間隔テーブル選択部２６８により、各ＤＭＡ制御部１〜３のリクエスト信号req1〜3の受付の遅延が実行されるようになっている。そこで、第２の実施の形態では、第１の実施の形態と同じところについての説明は省略し、アクセス間隔テーブル選択部２６８を中心に異なるところについて説明する。なお、第１の実施の形態と同じ構成のものについては、同一符号を付するものとする。
【００２６】
第２の実施の形態に係るＤＭＡ制御装置２５０も、第１の実施の形態と同様、メモリ７と、各ＤＭＡ制御部１，２，３、およびアクセス制御部４と、デバイスモニタ部２０８を有し、ＤＭＡ制御部１〜３、およびアクセス制御部４が共用のバス５を介してメモリ７にアクセスするものである。そして、デバイスモニタ部２０８が検出した各ＤＭＡ制御部１〜３の動作状況に応じて、各ＤＭＡ制御部１〜３、およびアクセス制御部４からバス５へのアクセスを調停するバス調停部２０６が設けられている（図１参照）。
【００２７】
デバイスモニタ部２０８は、各ＤＭＡ制御部１〜３が発するＤＭＡ処理信号dma1〜3に基づきＤＭＡ制御部１〜３の動作状況を検出するものである。また、バス調停部２５６は、アクセス間隔テーブルを選択するアクセス間隔テーブル選択部２６８と、リクエスト信号req1〜4の受付を遅延するアクセス許否決定部２６９と、遅延リクエスト信号dreq1〜4の調停制御を行うための優先順位テーブルＴと、バス使用許可信号ack1〜4を各制御部１〜４へ送出するバス応答制御部１７とを備え、デバイスモニタ部２０８の検出結果に応じたバス調停制御を実行するものである。
【００２８】
ここで、アクセス間隔テーブル選択部２６８は、予め格納されている複数（本実施の形態では２つ）のアクセス間隔テーブルのうち１つを、デバイスモニタ部２０８の検出結果に応じて選択するものである。この優先順位テーブルの選択は、図８に示す選択テーブルＴｃａに基づいて行われる。例えば、スキャナ装置１２（ＤＭＡ制御部２）が動作中である場合には、アクセス間隔テーブル選択部２６８により、第１アクセス間隔テーブルＴａ１が選択される。
【００２９】
そして、アクセス間隔テーブル選択部２６８には、図９に示すアクセス間隔テーブルが格納されている。すなわち、第１アクセス間隔テーブルＴａ１として、最低アクセス間隔時間が、リクエスト信号req1に対しては２０００nsec、リクエスト信号req2に対しては３０００nsec、リクエスト信号req3に対しては５０００nsecのものが格納されている。また、第２アクセス間隔テーブルＴｒ２として、最低アクセス間隔時間が、リクエスト信号req1に対しては２０００nsec、リクエスト信号req2に対しては３０００nsec、リクエスト信号req3に対しては５００００nsecのものが格納されている。従って、第２アクセス間隔テーブルＴａ２が選択されると、ハードディスク装置１３（ＤＭＡ制御装置３）によるバス５へのアクセス間隔が広くなる（１０倍以上になる）。また、ＣＰＵ１４（アクセス制御部４）のリクエスト信号req4の受付は遅延されない。なお、バス調停制御を行うための優先順位テーブルＴは、従来のＤＭＡ制御装置１００に格納されている優先順位テーブルと同じものである（図１３参照）。
【００３０】
また、アクセス許否決定部２６９は、アクセス間隔テーブル選択部２６８により選択されたアクセス間隔テーブルに従い、各制御部からのリクエスト信号req1〜4の受付を遅延し、遅延リクエスト信号dreq1〜4を発するものである。このアクセス許否決定部２６９により、リクエスト信号req1〜4の受付が遅延されるため各制御部のアクセス間隔が調整される。
【００３１】
続いて、上記のように構成されたＤＭＡ制御装置２５０の動作について、図１０に示すフローチャートを用いて説明する。このフローチャートは、バス調停部２５６におけるバス調停制御ルーチンを示したものである。なお、ＤＭＡ制御装置２５０には、各制御部のアクセス間隔を調整するために、各制御部のリクエストの受付の遅延時間（アクセス間隔）をカウントする残り待ち時間カウンタが備わっている。
【００３２】
まず、Ｓ１１において、デバイスモニタ部２０８により、ＤＭＡ制御部１〜３の動作状況が検出される。つまり、各ＤＭＡ制御部１〜３が発するＤＭＡ処理信号dma1〜3の状態（アクティブ／インアクティブ）から各ＤＭＡ制御部１〜３のそれぞれの動作状態の組み合わせパターンが判断される。
【００３３】
次いでＳ１２では、アクセス間隔テーブル選択部２６８により、選択テーブルＴｃａ（図８参照）に基づいてアクセス間隔テーブルが選択される。そうすると、残り待ち時間カウンタに、選択されたアクセス間隔テーブルのアクセス間隔の値が書き込まれる。なお、この残り待ち時間カウンタへの書き込みは、最初のサイクルにおける処理のみ行われる。それ以降のサイクルにおいては、次のようにして処理される。まず、前サイクルの処理で選択されたものと同じアクセス間隔テーブルが選択された場合、つまりアクセス間隔テーブルに変更がなった場合には、残り待ち時間カウンタの値は変更されない。一方、前サイクルの処理で選択されたものと異なるアクセス間隔テーブルが選択された場合、つまりアクセス間隔テーブルが変更になった場合には、残り待ち時間カウンタにアクセス間隔の時間差が加算される。
【００３４】
具体的には、アクセス間隔テーブルがＴａ１からＴａ２に変更された場合には、ＤＭＡ制御部３（ハードディスク１３）に関する残り待ち時間カウンタに「４５０００（＝５００００−５０００）」が加算される。逆に、アクセス間隔テーブルがＴａ２からＴａ１に変更された場合には、ＤＭＡ制御部３（ハードディスク１３）に関する残り待ち時間カウンタに「−４５０００（＝５０００−５００００）」が加算される。他の制御部においても同様の処理が行われるが、実際にはアクセス間隔テーブルＴａ１とＴａ２とにおいてデータ値に変化がないため、残り待ち時間カウンタの値は変化しない。
【００３５】
続いて、Ｓ１３において、残り待ち時間カウンタが一律に減算される。ただし、残り待ち時間カウンタがゼロになっているものについては減算されない。そして、Ｓ１４において、残り待ち時間カウンタがゼロになった制御部の許可フラグがONにされる。次いで、Ｓ１５において、リクエスト信号が発生しているか否かが確認される。リクエスト信号が発生している場合には（Ｓ１５：ＹＥＳ）、Ｓ１６の処理に進む。一方、リクエスト信号が発生していない場合には（Ｓ１５：ＮＯ）、Ｓ１１に戻りＳ１１〜Ｓ１５の処理を繰り返す。
【００３６】
Ｓ１５でリクエスト信号が発生しておりＳ１６へ進むと、Ｓ１６ではアクセス許否決定部２６９により、リクエスト信号を発している制御部であって、その許可フラグがONになっているものがあるか否かが判断される。許可フラグがONになっているものがある場合には（Ｓ１６：ＹＥＳ）、Ｓ１７以降の調停制御が実行される。一方、該当する許可フラグがすべてOFFの場合には（Ｓ１６：ＮＯ）、Ｓ１１に戻りＳ１１〜Ｓ１６の処理を繰り返す。
【００３７】
その後、Ｓ１７において、優先順位テーブルＴが参照される。そして、Ｓ１８において、この優先順位テーブルＴに従ってバス調停制御が行われ、バス使用許可を付与する制御部が選択される。そうすると、バス応答制御部１７によって、Ｓ１８で選択された制御部に対してバス使用許可信号が送出される。これにより、バス使用許可信号を受信した制御部がバス５にアクセスする。すると、Ｓ２０において、バス５にアクセスした制御部の許可フラグがOFFにされる。また、許可フラグがOFFにされた制御部の残り待ち時間カウンタが更新、つまりアクセス間隔テーブルのデータが書き込まれる。以後、Ｓ１１〜Ｓ２０の処理を繰り返す。
【００３８】
このように、バス調停部２５６において、ＤＭＡ制御部１〜３の動作状況に応じてＤＭＡ制御部１〜３のリクエスト信号req1〜3の受付の遅延が行われる。例えば、プリンタ装置１１がバス５にアクセスしておりバス５の占有率が高い場合には、第２アクセス間隔テーブルＴａ２によってリクエスト信号の受付の遅延が行われる。これにより、ハードディスク装置１３（ＤＭＡ制御部３）からのリクエスト信号req3の受付が大幅に遅延される。すなわち、アクセス間隔が５０００nsecから５００００nsecになるため、ハードディスク装置１３によるバス５へのアクセス間隔が１０倍以上に広くなる。従って、ＤＭＡ制御部３の優先順位が実質的に下げられ、アクセス制御部４の優先順位が引き上げられる。よって、バス５の占有率が高い場合にも、ＣＰＵ１４が確実にバス５にアクセスすることができる。つまり、ＤＭＡ制御部１〜３の動作状況に応じた適切なバス調停制御が行われ、各制御部によるバス５への適切なアクセス時間が確実に確保される。
【００３９】
以上、詳細に説明したように第２の実施の形態に係るＤＭＡ制御装置２５０によれば、デバイスモニタ部２０８により、ＤＭＡ処理信号dma1〜3に基づきＤＭＡ制御部１〜３の動作状態が検出される。すると、アクセス間隔テーブル選択部２６８により、デバイスモニタ部２０８の検出結果に応じたアクセス間隔テーブルが選択される。次いで、アクセス許否決定部２６９により、アクセス間隔テーブル選択部２６８で選択されたアクセス間隔テーブルに基づき、各制御部のリクエスト信号req1〜4の受付が遅延される。そして、その受付の遅延が行われた遅延リクエスト信号dreq1〜4に対し、優先順位テーブルＴに従いバス調停制御が行われる。すなわち、ＤＭＡ制御部１〜３の動作状態に応じたバス調停制御が行われるため、ＤＭＡ制御部１〜３によるバス５の独占が防止され、ＣＰＵ１４にも必要なアクセス時間が確保される。よって、システムプログラムが停止するような事態は確実に回避される。
【００４０】
なお、上記実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。上記した第１および第２の実施の形態として複写機におけるＤＭＡ制御装置を例示したが、これに限らずＤＭＡ制御を行うものであればいずれのものにも本発明を適用することができる。また、デバイスモニタ部２０８を独立して設けているが、もちろんバス調停部２０６あるいは２５６の内部に組み込むことも可能である。さらに、デバイスモニタ部２０８では、各ＤＭＡ制御部１〜３のＤＭＡ処理信号dma1〜3に基づき各ＤＭＡ制御部１〜３の動作状況を検出しているが、バス使用許可信号ack1〜3に基づき各ＤＭＡ制御部１〜３の動作状況を検出するようにしても良い。これにより、各ＤＭＡ制御部１〜３が出力する信号数を減少させられる。また、上記第２に実施の形態においては、優先順位テーブルを１つしか有していないが、第１の実施の形態のように、複数の異なる優先順位テーブルを備え、各ＤＭＡ制御部１〜３の動作状況に応じてそのうちの１つを選択するようにしてもよい。
【００４１】
【発明の効果】
以上、説明した通り本発明のＤＭＡ制御装置によれば、共有バスに接続された各デバイスの動作状況が検出され、その検出結果に基づきバス調停制御の内容が変更される。これにより、デバイスによる共有バスの独占が防止され、ＣＰＵによる共有バスへのアクセスが確実に確保される。
【図面の簡単な説明】
【図１】  第１の実施の形態に係るＤＭＡ制御装置の構成を示すブロック図である。
【図２】  図１のバス調停部およびデバイスモニタ部の動作について説明するための説明図である。
【図３】  図１のバス調停部の構成を示すブロック図である。
【図４】  優先順位テーブルを選択するための選択テーブルを説明するための説明図である。
【図５】  優先順位テーブル選択部に格納されている優先順位テーブルを説明するための説明図である。
【図６】  バス調停部における調停制御ルーチンを示すフローチャートである。
【図７】  第２の実施の形態に係るＤＭＡ制御装置におけるバス調停部の構成を示すブロック図である。
【図８】  アクセス間隔テーブルを選択するための選択テーブルを説明するための説明図である。
【図９】  アクセス間隔テーブル選択部に格納されているアクセス間隔テーブルを説明するための説明図である。
【図１０】  バス調停部における調停制御ルーチンを示すフローチャートである。
【図１１】  従来のＤＭＡ制御装置の概略構成を示すブロック図である。
【図１２】  従来のバス調停部におけるバス調停制御を説明するための説明図である。
【図１３】  従来のバス調停部におけるバス調停制御の優先順位を説明するための説明図である。
【符号の説明】
１，２，３      ＤＭＡ制御部
４              アクセス制御部
５              バス
７              メモリ
８，            バスモニタ部
１７            バス応答制御部
２００，２５０  ＤＭＡ制御装置
２０６，２５６  バス調停部
２０８          デバイスモニタ部
２１８          優先順位テーブル選択部
２６８          アクセス間隔テーブル選択部
２６９          アクセス許否決定部
dma             ＤＭＡ処理信号
req             リクエスト信号
dreq            遅延リクエスト信号
ack             バス使用許可信号
【図１】
0003985085.tif 000002
【図２】
0003985085.tif 000003
【図３】
0003985085.tif 000004
【図４】
0003985085.tif 000005
【図５】
0003985085.tif 000006
【図６】
0003985085.tif 000007
【図７】
0003985085.tif 000008
【図８】
0003985085.tif 000009
【図９】
0003985085.tif 000010
【図１０】
0003985085.tif 000011
【図１１】
0003985085.tif 000012
【図１２】
0003985085.tif 000013
【図１３】
0003985085.tif 000014