(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、
複数のメモリブロックを備えるメモリと、
前記メモリに接続された共有バスと、
前記共有バスに接続されるとともに前記メモリにアクセスする複数のデバイスと、
前記各デバイスによる前記メモリへのアクセスを制御するメモリコントローラ手段と、
所定時間ごとの前記共有バスの使用割合を算出する占有率算出手段と、
前記各デバイスごとの、前記共有バスへのアクセス状況を検出するアクセス検出手段とを有し、
前記メモリコントローラ手段は、前記占有率算出手段の算出結果と前記アクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードを制御することを特徴とするＤＭＡ制御装置。
【請求項２】
請求項１に記載するＤＭＡ制御装置において、
前記各メモリブロックは、随時書き込み読み出し可能な記憶手段であり、
前記メモリコントローラ手段は、前記記憶手段の動作モードを通常モード、パワーダウンモード、およびセルフリフレッシュモードのいずれかのモードにすることを特徴とするＤＭＡ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、低消費電力化を図った直接メモリアクセス制御（以下、「ＤＭＡ制御」という）装置に関する。さらに詳細には、共有バスに接続された複数のデバイスによる共有バスの使用割合に応じてメモリの動作モードを制御して低消費電力化を図ったＤＭＡ制御装置に関するものである。例えば、複写機のように、ＣＰＵと他のデバイス（スキャナ、プリンタ等）とでバスを共用する機器に用いて好適なものである。
【０００２】
【従来の技術】
従来のＤＭＡ制御装置では、複数のデバイスからバスアクセスのリクエストがあった場合に、バスアクセスを調停するためのバス調停部を備えるものが知られている。そのシステムの一例として、デジタルコピー機における画像形成装置のシステムを図１１に示す。図１１に示すシステムは、基本的に、メモリ１０７と、各ＤＭＡ制御部１０１，１０２，１０３、およびアクセス制御部１０４とを有し、ＤＭＡ制御部１０１〜１０３、およびアクセス制御部１０４が共用のバス１０５を介してメモリ１０７にアクセスしてデータ転送を行うものである。
【０００３】
また、メモリ１０７へのアクセスを制御するメモリコントローラ部１０９がバス１０５とメモリ１０７の間に設けられている。さらに、各ＤＭＡ制御部１０１〜１０３、およびアクセス制御部１０４からバス１０５へのアクセスを調停するバス調停部１０６が設けられている。なお、ＤＭＡ制御部１０１にはプリンタ装置１１１が接続され、ＤＭＡ制御部１０２にはスキャナ装置１１２が接続され、アクセス制御部１０４にはＣＰＵ１１４が接続されている。
【０００４】
このシステムは次のように動作する。この動作について図１２を参照して説明する。例えば、ＤＭＡ制御部１０１においてバス１０５へのアクセスが必要になると、ＤＭＡ制御部１０１はバス調停部１０６に対しリクエスト信号req1を出力する。このリクエスト信号req1に対してバス調停部１０６は、可能ならばバス使用許可信号ack1を返信する。この許可信号ack1がアクティブである期間中、ＤＭＡ制御部１０１を介してプリンタ装置１１１がバス１０５にアクセスできるのである。他のＤＭＡ制御部（デバイス）でも同様である。そして、それぞれのＤＭＡ制御部がバス１０５にアクセスすると、バス１０５からメモリアクセス要求がメモリコントローラ部１０９に対して発せられる。このメモリアクセス要求に基づきメモリコントローラ部１０９により各ＤＭＡ制御部によるメモリ１０７へのアクセスが制御されるようになっている。
【０００５】
なお、複数の制御部からリクエストが同時にあった場合には、バス調停部１０６は所定の優先順位にしたがってバス使用許可信号を返信するようになっている。優先順位の一例を図１３に示す。この優先順位の場合、バス調停部１０６に対してリクエスト信号req1,req2,req3,req4が同時に出力されたときには、バス調停部１０６は、最も優先順位が高いバス使用許可信号ack1のみを返信する。これにより、ＤＭＡ制御部１０１が他の制御部１０２〜１０４よりも優先してバス１０５にアクセスする。同様に、リクエスト信号req2,req3,req4が同時に出力されたときには、バス調停部１０６はその中で最も優先順位の高いバス使用許可信号ack2のみを返信する。このため、ＤＭＡ制御部１０２が他の制御部１０３，１０４よりも優先してバス１０５にアクセスする。
【０００６】
ここで、メモリ１０７にはＤＲＡＭが使用されている。デジタルコピー機等の画像形成装置では、大容量のメモリを必要とするためである。ところが、ＤＲＡＭは記憶容量が大きいという利点を有する一方、消費電力が大きいという欠点を持っている。このため、メモリ１０７を使用しない場合には動作モードを低消費電力モードに移行させることにより、システムの低消費電力化が図られている。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記した従来のＤＭＡ制御装置１００では、メモリ１０７のブロック（領域）ごとに動作モードを細かく制御することができないという問題があった。このため、効果的に消費電力を低く押さえることができていなかった。この問題を解決するためには、メモリ１０７のブロックごとに動作モードを制御すればよい。ところが、そのためにはＣＰＵ１１４において、各制御部によるメモリ１０７へのアクセス状況等を把握する必要がある。そして、そのような制御を実現するためには、ＣＰＵ１１４において非常に複雑な制御を行わなければならないという問題があった。
【０００８】
そこで、本発明は上記した問題点を解決するためになされたものであり、複雑な制御を行わずに複数のデバイスによるバスの使用割合やアクセス状況を把握し、それに応じてメモリのブロックごとに動作モードを制御することができるＤＭＡ制御装置を提供することを課題とする。
【０００９】
【課題を解決するための手段】
上記問題点を解決するため本発明に係るＤＭＡ制御装置によれば、ＣＰＵと、複数のメモリブロックを備えるメモリと、前記メモリに接続された共有バスと、前記共有バスに接続されるとともに前記メモリにアクセスする複数のデバイスと、前記各デバイスによる前記メモリへのアクセスを制御するメモリコントローラ手段と、所定時間ごとの前記共有バスの使用割合を算出する占有率算出手段と、前記各デバイスごとの、前記共有バスへのアクセス状況を検出するアクセス検出手段とを有し、前記メモリコントローラ手段は、前記占有率算出手段の算出結果と前記アクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードを制御する。
【００１０】
このＤＭＡ制御装置では、占有率算出手段により、所定時間ごとのデバイス全体としての前記共有バスの使用割合が算出される。また、アクセス検出手段により、各デバイスごとの共有バスへのアクセス状況が検出される。そして、メモリコントローラ手段により、占有率算出手段の算出結果とアクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードが制御される。つまり、メモリコントローラ手段により、各メモリブロックの動作状況に応じて各メモリブロックごとに動作モードが制御される。これにより、メモリブロックごとに必要とされる情報処理速度に適合した動作モードが選択されることになる。従って、高速処理が必要ない場合には、低消費電力モードに移行させることにより、効果的に消費電力を低く押さえることができる。
【００１１】
本発明に係るＤＭＡ制御装置においては、各メモリブロックは、随時書き込み読み出し可能な記憶手段であり、メモリコントローラ手段は、記憶手段の動作モードを通常モード、パワーダウンモード、およびセルフリフレッシュモードのいずれかのモードにすることが好ましい。
【００１２】
デバイスがほとんど作動していない場合には、そのデバイスに対応するメモリブロックではデータの書込や読込が頻繁には行われていない。このため、このような場合にもメモリブロックを通常モードで動作させるのは、無駄に電力を消費していることになる。このため、このＤＭＡ制御装置では、メモリコントローラ手段によって、バスモニタ手段で算出される共有バスの使用割合に応じ、記憶手段の動作モードが通常モードからパワーダウンモードあるいはセルフリフレッシュモードに切り替えられる。つまり、デバイスがほとんど作動していない場合には、そのデバイスに対応する記憶手段の動作モードがパワーダウンモードあるいはセルフリフレッシュモードとなる。これらのモードは、通常モードよりも消費電力が大幅に低い（約１／５０）ため、記憶手段の消費電力を効果的に低く押さえることができる。
【００１３】
なお、パワーダウンモードとセルフリフレッシュモードとは、ともに低消費電力モードであり、コマンド入力によりそれぞれのモードに移行する。また、パワーダウンモードあるいはセルフリフレッシュモードから通常モードに復帰させるにもコマンド入力が必要である。
【００１４】
【発明の実施の形態】
以下、本発明のＤＭＡ制御装置を具体化した実施の形態について図面に基づいて詳細に説明する。本実施の形態は、複写機における各デバイスのバスへのアクセスを制御するＤＭＡ制御装置である。
【００１５】
図１に示すように、ＤＭＡ制御装置１０は、後述するメモリブロック（ＤＲＡＭ）７１〜７４（図２参照）を備えるメモリ７と、各ＤＭＡ制御部１，２，３、およびアクセス制御部４とを有し、ＤＭＡ制御部１〜３、およびアクセス制御部４が共用のバス５を介してメモリ７にアクセスするものである。そして、各ＤＭＡ制御部１〜３、およびアクセス制御部４からバス５へのアクセスを調停するバス調停部６と、バス５の使用割合を算出するバスモニタ部８と、バスモニタ部８の算出結果に応じてメモリ７に備わる各メモリブロックの動作モード等の制御を行うメモリコントローラ部９とが設けられている。
【００１６】
また、ＤＭＡ制御部１にはプリンタ装置１１が接続され、ＤＭＡ制御部２にはスキャナ装置１２が接続され、アクセス制御部４にはＣＰＵ１４が接続されている。ＣＰＵ１４は、このシステムを含めた複写機全体の制御を統括するものである。なお、プリンタ装置１１、スキャナ装置１２はそれぞれＤＭＡ制御部１，２によりＣＰＵ１４を介さずメモリ７に直接アクセスできるようになっている。
【００１７】
メモリ７は、図２に示すように、４つのメモリブロック７１〜７４を備えている。それぞれのメモリブロック７１〜７４は、各ＤＭＡ制御部１〜３およびアクセス制御部４に対応している。具体的には、メモリブロック７１に対してはＤＭＡ制御部１がアクセスし、メモリブロック７２に対してはＤＭＡ制御部２がアクセスし、メモリブロック７３に対してはＤＭＡ制御部３がアクセスし、メモリブロック７４に対してはアクセス制御部４がアクセスするようになっている。
【００１８】
メモリコントローラ部９は、各メモリブロック７１〜７４に対して制御信号およびアドレス信号を発信することにより、データの授受や動作モードの切り替え等の制御を行うものである。このメモリコントローラ部９には、後述する占有率大信号ＢＳとアクセス信号ａｃ１〜ａｃ３との状態の組み合わせによって、各メモリブロック７１〜７４の動作モードを決定するための図３に示す動作モード選択テーブルＴｍが記憶されている。
【００１９】
この動作モード選択テーブルＴｍでは、占有率大信号ＢＳがアクティブであるか非アクティブであるかによって、基準となる動作モードが大きく異なる。すなわち、占有率大信号ＢＳがアクティブである場合には、各メモリブロック７１〜７４の動作モードがすべて通常モードに設定されるようになっている。占有率大信号ＢＳがアクティブである場合には、各メモリブロック７１〜７４における処理速度を高めてバス占有率Ｓを下げる必要があるからである。
【００２０】
一方、占有率大信号ＢＳが非アクティブである場合には、各メモリブロック７１〜７４の動作モードは基本的にパワーダウンモードに設定されるようになっている。消費電力を低く押さえるためには、パワーダウンモードよりもセルフリフレッシュモードの方が有利であるが、アクセス開始までに要する時間（リカバリタイム）が長くなるので、基本的にパワーダウンモードに設定されるようにしている。なお、パワーダウンモードからのリカバリタイムは数１０ｎｓｅｃであるのに対し、セルフリフレッシュモードからのリカバリタイムは数１００μｓｅｃである。
【００２１】
ここで、占有率大信号ＢＳが非アクティブであって、アクセス信号ａｃ１〜ａｃ３のすべてがアクティブである場合には、メモリブロック７４の動作モードのみが通常モードに設定されるようになっている。この場合、バス５の占有率Ｓは低いが（５０％未満）、すべてのＤＭＡ制御部１〜３が作動しているため、ＣＰＵ１４に対して高速処理が要求されるからである。
【００２２】
また、占有率大信号ＢＳが非アクティブであって、アクセス信号ａｃ２，ａｃ３がともに非アクティブである場合には、メモリブロック７３の動作モードがセルフリフレッシュモードに設定されるようになっている。これにより、さらに消費電力を低くすることができる。このようにメモリブロック７３の動作モードをセルフリフレッシュモードに設定できるのは、画像データの伸長処理時には、数１００ｍｓｅｃで伸長処理を行う最初の１アクセスに数１００μｓｅｃかかってもよいため、伸長データの読み出しアクセスが開始してからセルフリフレッシュモードからパワーダウンモードに移行させても何ら問題が発生しないからである。
【００２３】
バス調停部６は、図４に示すように、各ＤＭＡ制御部１〜３およびアクセス制御部４からそれぞれリクエスト信号req1,req2,req3、およびreq4が出力されると、各ＤＭＡ制御部１〜３およびアクセス制御部４に対して適宜、バス使用許可信号ack1,ack2,ack3、およびack4を返信するものである。このバス調停部６には、図５に示すように、各ＤＭＡ制御部１〜３、およびアクセス制御部４のリクエスト信号req1〜req3、およびreq4が入力されるリクエスト入力レジスタ１５と、バス５へアクセスする優先順位が記憶された優先順位テーブルＴ（図１３参照）と、バス使用許可信号ackを返信するバス応答制御部１７とが備わっている。そして、バス応答制御部１７から発せられるバス使用許可信号ackがアクティブである期間中だけ、バス使用許可信号ackが返信された制御部がバス５にアクセスできるようになっている。
【００２４】
なお、各ＤＭＡ制御部１〜３、およびアクセス制御部４が同時にリクエスト信号req1,req2,req3,req4を出力した場合には、予め決められた優先順位を記録した優先順位テーブルＴ（図１３参照）に基づいてバス５へのアクセスが調停されるようになっている。
【００２５】
図４に戻って、バスモニタ部８は、バス５におけるアドレス信号ＡＤＤの発生状況をモニタすることによりバス５のバス占有率Ｓを算出するとともに、各ＤＭＡ制御部１〜３の動作状況を検出し、それらの情報をメモリコントローラ部９に入力するものである。このようにアドレス信号ＡＤＤからバス５のバス占有率Ｓを算出することができるのは、バス５において各ＤＭＡ制御部１〜３、およびアクセス制御部４が使用できるアドレスが予め割り当てられているからである。
【００２６】
例えば本実施の形態では、図６に示すように、アドレス0000000h〜0FFFFFFhがＤＭＡ制御部１（メモリブロック７１）に割り当てられ、アドレス1000000h〜1FFFFFFhがＤＭＡ制御部２（メモリブロック７２）に割り当てられ、アドレス2000000h〜2FFFFFFhがＤＭＡ制御部３（メモリブロック７３）に割り当てられ、アドレス3000000h〜3FFFFFFhがアクセス制御部４（メモリブロック７４）に割り当てられている。なお、図中の領域信号Ｒ１〜Ｒ３についての説明は後述する。
【００２７】
このバスモニタ部８は、図７に示すように、バス占有率Ｓを算出する占有率算出部５２と、各ＤＭＡ制御部１〜３のアクセス状況を検出するアクセス検出部５３と、アドレスデコーダ５１とが備わっている。このアドレスデコーダ５１は、バス５のアドレス信号ＡＤＤを読み込み、そのアドレス信号ＡＤＤに応じて領域信号Ｒ１〜Ｒ３のいずれかをアクティブにするものである。具体的には、アドレス信号ＡＤＤの２４ビットと２５ビットめがアドレス空間の最上位の数値を示すため、この数値を検出してその検出結果により、領域信号Ｒ１〜Ｒ３のいずれかの信号をアクティブにするようになっている。例えば、アドレス信号ＡＤＤの２４，２５ビットが「１０」であれば、１６進数に換算すると「２」となるから、領域信号Ｒ３がアクティブとなる。
【００２８】
なお、領域信号Ｒ１〜Ｒ３とアドレス信号ＡＡＤとの関係は、図６に示すように、アドレス0000000h〜0FFFFFFhに対しては領域信号Ｒ１がアクティブとなり、アドレス1000000h〜1FFFFFFhに対しては領域信号Ｒ２がアクティブとなり、アドレス2000000h〜2FFFFFFhに対しては領域信号Ｒ３がアクティブとなるようになっている。
【００２９】
占有率算出部５２には、図８に示すように、カウンタ２１，２２，２３と、延形フリップフロップ（Delay Flip-Flop、以下「ＤＦＦ」という）３１，３２，３３と、加算器２５と、比較器２６とが備わっている。そして、カウンタ２１の端子ＥＮには領域信号Ｒ１が入力され、端子ＣＬＫにはクロック信号ＣＳが入力され、端子ＣＬＲにはカウンタクリア信号ＣＣＳが入力されている。一方、端子Ｑからはカウンタ２１におけるカウント値Ｃ１が出力され、これがＤＦＦ３１の端子ＩＮに入力されている。また、ＤＦＦ３１の端子ＣＬＫには占有率セット信号ＳＳＳが入力され、端子ＯＵＴからは占有率Ｓ１が出力され、これが加算器２５に入力されている。
【００３０】
カウンタ２１は、端子ＣＬＫに入力されているクロック信号ＣＳの立ち上がりで、端子ＥＮに入力されている領域Ｒ１がアクティブであればカウントアップを行うとともに、そのカウント値Ｃ１を端子Ｑから出力してＤＦＦ３１の端子ＩＮに入力するものである。そして所定周期ごとに発信されるカウンタクリア信号ＣＣＳが端子ＣＬＫに入力されると、カウント値Ｃ１をリセットするようになっている。なお、カウンタ２２，２３も同様の作用をするものである。
【００３１】
ＤＦＦ３１は、所定周期ごとに発信される占有率セット信号ＳＳＳが端子ＣＬＫに入力されると、カウンタ２１から入力されているカウント値Ｃ１を端子ＯＵＴから出力するものである。すなわち、ＤＦＦ３１は占有率セット信号ＳＳＳの入力周期における領域信号Ｒ１の発生割合、つまりＤＭＡ制御部１のバス使用割合を算出しているのである。なお、ＤＦＦ３２，３３も同様の作用をするものであり、ＤＦＦ３２がＤＭＡ制御部２のバス使用割合を算出し、ＤＦＦ３３がＤＭＡ制御部３のバス使用割合を算出するようになっている。
【００３２】
加算器２５は、ＤＦＦ３１〜３３が算出したバス占有率Ｓ１〜Ｓ３の和を算出するものである。また比較器２６は、加算器２５が算出した結果としきい値（本実施の形態におけるしきい値は「５０」である）とを比較し、その算出結果がしきい値よりも大きい場合にメモリコントローラ部９に入力されている占有率大信号ＳＢをアクティブにするものである。なお、クロック信号ＣＳ、カウンタクリア信号ＣＣＳ、および占有率セット信号ＳＳＳは、すべてバスモニタ８の内部で生成されるものである。
【００３３】
アクセス検出部５３は、領域信号Ｒ１〜Ｒ３の状態から原則として１ｍｓｅｃごとにアクセス信号ａｃ１〜ａｃ３を出力するものである。このアクセス検出部５３には、図９に示すように、ＤＦＦ８１，８２，８３と、ＤＦＦ９１，９２，９３と、カウンタ８０とが備わっている。カウンタ８０は、１ｍｓｅｃごとに信号を発するものである。そして、カウンタ８０の端子ＣＬＫにクロック信号ＣＳ（１μｓｅｃ周期）が入力され、このクロック信号ＣＳが１ｍｓｅｃごとに端子ＯＵＴから出力されている。端子ＯＵＴから出力された信号は、各ＤＦＦ８１〜８３と９１〜９３のそれぞれの端子ＣＬＫに入力されている。
【００３４】
また、ＤＦＦ８１，９１の端子ＰＲに領域信号Ｒ１が入力され、ＤＦＦ８２，９２の端子ＰＲに領域信号Ｒ２が入力され、ＤＦＦ８３，９３の端子ＰＲに領域信号Ｒ３が入力されている。これにより、カウンタ８０からの１ｍｓｅｃ周期の信号に関わりなく、領域信号Ｒ１がＤＦＦ８１，９１の端子ＰＲに入力されると、即座にアクセス信号ａｃ１がアクティブとされるようになっている。これと同様に、領域信号Ｒ２がＤＦＦ８２，９２の端子ＰＲに入力されると、即座にアクセス信号ａｃ２がアクティブとされ、領域信号Ｒ３がＤＦＦ８３，９３の端子ＰＲに入力されると、即座にアクセス信号ａｃ３がアクティブとされるようになっている。
【００３５】
さらに、ＤＦＦ８１〜８３の端子ＩＮがそれぞれ接地（“Lo”レベル固定）されており、ＤＦＦ８１〜８３の端子ＯＵＴとＤＦＦ９１〜９３の端子ＩＮとがそれぞれ接続されている。これにより１ｍｓｅｃ以上の間、領域信号Ｒ１がＤＦＦ８１，９１の端子ＰＲに入力されないと、アクセス信号ａｃ１が非アクティブとされるようになっている。同様に、領域信号Ｒ２がＤＦＦ８２，９２の端子ＰＲに入力されないと、アクセス信号ａｃ２が非アクティブとされ、領域信号Ｒ３がＤＦＦ８３，９３の端子ＰＲに入力されないと、アクセス信号ａｃ３が非アクティブとされるようになっている。
【００３６】
このようにバス５の占有率Ｓを算出する占有率算出部５２、および各ＤＭＡ制御部１〜３によるバス５へのアクセス状況を検出するアクセス検出部５３は、ともにハードウェアにより構成されている。このため、占有率Ｓの算出や各ＤＭＡ制御部１〜３のアクセス状況の検出をするために、ＣＰＵ１４において複雑な制御を行う必要がない。
【００３７】
続いて、上記のように構成されたＤＭＡ制御装置１０の動作について、図１０に示すタイミングチャート図を用いて説明する。なお、本実施の形態では、占有率セット信号ＳＳＳ、カウンタクリア信号ＣＣＳともに１００μｓｅｃごとに発信され、占有率セット信号ＳＳＳの発信直後（１２５ｎｓｅｃ後）にカウンタクリア信号ＣＣＳが発信されるようになっている。また、クロック信号ＣＳは１μｓｅｃ周期の信号である。
【００３８】
時刻ｔ０ 以前においては、カウント値Ｃ１，Ｃ２，Ｃ３はそれぞれ「５０」「２８」「９」となっている。また、各ＤＭＡ制御部１〜３のバス占有率Ｓ１〜Ｓ３として、前回の占有率セット信号ＳＳＳの発信時に読み込まれた値「１５」「８」「１０」が加算器２５に入力されている。よって、加算器２５は、算出結果として「３３」を出力している。そして、この出力は比較器２６に入力されているが、しきい値「５０」を越えていないので、占有率大信号ＢＳは非アクティブ（Lo）となっている。
【００３９】
そして、時刻ｔ０ においてクロック信号ＣＳが立ち上がり、このときアドレス信号ＡＤＤが「100FFFFh」であるから、アドレスデコーダ５１は領域信号Ｒ２をアクティブ（Hi）とし、領域信号Ｒ１，Ｒ３を非アクティブ（Lo）とする。このため、カウンタ２２がカウントアップを行って、そのカウント値Ｃ２が更新されて「２９」になる。一方、カウンタ２１および２３はカウントアップしないため、それぞれのカウント値Ｃ１およびＣ３は「５０」および「９」のままである。
【００４０】
ここで、領域信号Ｒ１，Ｒ３が時刻ｔ０ 以前において１ｍｓｅｃ以上非アクティブであったとする。そうすると時刻ｔ０ においては、アクセス信号ａｃ１が非アクティブとなり、アクセス信号ａｃ２がアクティブとなり、アクセス信号ａｃ３が非アクティブとなる。この結果、メモリコントローラ部９は、メモリブロック７１〜７４の動作モードをすべてパワーダウンモードにする。
【００４１】
また、時刻ｔ０ から１μｓｅｃ経過した時刻ｔ１ に再びクロック信号ＣＳが立ち上がり、このときアドレス信号ＡＤＤが「100FFFFh」であるから、アドレスデコーダ５１は領域信号Ｒ２をアクティブ（Hi）にし、領域信号Ｒ１，Ｒ３を非アクティブ（Lo）にする。このため、カウンタ２２がカウントアップを行って、そのカウント値Ｃ２が更新されて「３０」になる。一方、カウンタ２１および２３はカウントアップしないため、それぞれのカウント値Ｃ１およびＣ３は「５０」および「９」のままである。なお、メモリブロック７１〜７４の動作モードは、時刻ｔ０ と同様、すべてパワーダウンモードのままである。
【００４２】
時刻ｔ１ から５００ｎｓｅｃ経過した時刻ｔ２ において、アドレス信号ＡＤＤが「2001234h」に変化したとする。すると、アドレスデコーダ５１は領域信号Ｒ３をアクティブ（Hi）とし、領域信号Ｒ１，Ｒ２を非アクティブ(Lo）にする。このため、アクセス信号ａｃ３がアクティブとなるが、図３の動作モード選択テーブルＴｍに従い、メモリブロック７１〜７４の動作モードは、時刻ｔ０ と同様、すべてパワーダウンモードのままである。
【００４３】
その後、時刻ｔ１ から１μｓｅｃ経過した時刻ｔ３ で再びクロック信号ＣＳが立ち上がるため、カウンタ２３がカウントアップを行って、そのカウント値Ｃ３が更新され「１０」になる。一方、カウンタ２１および２２はカウントアップしないため、それぞれのカウント値Ｃ１およびＣ２は「５０」および「３０」のままである。
【００４４】
時刻ｔ３ から３７５ｎｓｅｃ経過した時刻ｔ４ において、占有率セット信号ＳＳＳが各ＤＦＦ３１〜３３に入力される。すると、ＤＦＦ３１〜３３は、時刻ｔ４ 時点におけるカウント値Ｃ１〜Ｃ３をバス占有率Ｓ１〜Ｓ３として出力する。すなわち、ＤＦＦ３１からバス占有率Ｓ１として「５０」が出力され、ＤＦＦ３２からバス占有率Ｓ２として「３０」が出力され、ＤＦＦ３３からバス占有率Ｓ３として「１０」が出力される。このように、カウント値Ｃ１〜Ｃ３をバス占有率Ｓ１〜Ｓ３として出力できるのは、本実施の形態では占有率セット信号ＳＳＳおよびカウンタクリア信号ＣＣＳを１００μｓｅｃ周期で各ＤＦＦ３１〜３３および各カウンタ２１〜２３に入力しているからである。
【００４５】
そして、このようにして算出されたバス占有率Ｓ１〜Ｓ３は、加算器２５に入力される。すると加算器２５は、算出結果として「９０」を出力し、それを比較器２６に入力する。比較器２６は、しきい値「５０」を越えていると判断するため、占有率大信号ＢＳをアクティブ（Hi）にする。この結果、メモリコントローラ部９は、図３の動作モード選択テーブルＴｍに従い、メモリブロック７１〜７４の動作モードをすべて通常モードにする。
【００４６】
さらに、時刻ｔ４ から１２５ｎｓｅｃ経過後の時刻ｔ５ （時刻ｔ3 から５００ｎｓｅｃ経過）において、カウンタクリア信号ＣＣＳが各カウンタ２１〜２３に入力される。これにより、各カウンタ２１〜２３のカウント値Ｃ１〜Ｃ３はすべてクリアされて「０」になる。
【００４７】
時刻ｔ５ から５００ｎｓｅｃ経過した時刻ｔ６で再びクロック信号ＣＳが立ち上がり、このときアドレス信号ＡＤＤが「2001234h」のままで領域信号Ｒ３がアクティブ（Hi）であるため、カウンタ２３がカウントアップを行って、そのカウント値Ｃ３が更新されて「１」になる。一方、領域信号Ｒ１，Ｒ２は非アクティブ（Lo）であるから、カウンタ２１および２２はカウントアップしないため、それぞれのカウント値Ｃ１およびＣ２は、ともに「０」のままである。
【００４８】
次いで、時刻ｔ６ から５００ｎｓｅｃ経過した時刻ｔ７ において、アドレス信号ＡＤＤが「000ABCDh」に変化したとする。すると、アドレスデコーダ５１は領域信号Ｒ１をアクティブ（Hi）にし、領域信号Ｒ２，Ｒ３を非アクティブ(Lo）にする。その後、時刻ｔ６ から１μｓｅｃ経過した時刻ｔ８ で再びクロック信号ＣＳが立ち上がるため、カウンタ２１がカウントアップを行って、そのカウント値Ｃ１が更新されて「１」になる。一方、カウンタ２２および２３はカウントアップしないため、それぞれのカウント値Ｃ２およびＣ３は「０」および「１」のままである。
【００４９】
以後、同様にしてアドレスデコーダ５１は領域信号Ｒ１〜Ｒ３のいずれかの信号をアクティブ（Hi）とするから、クロック信号ＣＳの立ち上がりでそれに対応するカウンタにおいてカウントアップが行われる。そして、占有率セット信号ＳＳＳが各ＤＦＦ３１〜３３に入力されると、各ＤＭＡ制御部１〜３の占有率Ｓ１〜Ｓ３が算出される。その後、算出結果およびアクセス信号ａｃ１〜ａｃ３の状態に応じて、メモリコントローラ部９により、各メモリブロック７１〜７４のそれぞれの動作モードが制御される。これにより、メモリブロック７１〜７４は、処理に悪影響を与えない範囲で消費電力が低い動作モードで作動させられる。従って、効果的に消費電力が低く押さえられる。
【００５０】
以上、詳細に説明したように実施の形態に係るＤＭＡ制御装置１０によれば、バスモニタ部８において、バス５のバス占有率Ｓが算出されるとともに、ＤＭＡ制御１〜３の動作状況が検出される。そして、メモリコントローラ部９により、算出されたバス占有率ＳおよびＤＡＭ制御部１〜３の動作状況に応じて、各メモリブロック７１〜７４の動作モードが制御される。これにより、各メモリブロック７１〜７４は、処理に悪影響を与えない範囲で消費電力が低い動作モードで作動させられる。従って、効果的に消費電力が低く押さえられる。また、バス占有率Ｓの算出および各ＤＭＡ制御部１〜３の動作状況の検出を、それぞれハードウェアにより構成された占有率検出部５２およびアクセス検出部５３により行っている。このため、各メモリブロック７１〜７４の動作モードに関する制御が複雑化することがない。
【００５１】
なお、上記実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。上記した実施の形態として複写機におけるＤＭＡ制御装置を例示したが、これに限らずＤＭＡ制御を行うものであればいずれのものに本発明を適用することができる。
【００５２】
【発明の効果】
以上、説明した通り本発明のＤＭＡ制御装置によれば、複雑な制御を行わずに複数のデバイスによるバスの使用割合やアクセス状況が把握され、それに応じてメモリのブロックごとに動作モードが制御される。これにより、高速処理が必要ないブロックは、低消費電力モードで作動させることができる。このため、効果的に消費電力を低く押さえることができる。
【図面の簡単な説明】
【図１】  ＤＭＡ制御装置の構成を示すブロック図である。
【図２】  図１のメモリおよびメモリコントローラ部のブロック図である。
【図３】  メモリコントローラ部に記憶されている動作モード選択テーブルの内容を説明するための説明図である。
【図４】  図１のバス調停部およびバスモニタ部の動作について説明するための説明図である。
【図５】  図１のバス調停部の構成を示すブロック図である。
【図６】  アドレス信号とデバイスおよび領域信号の対応を説明する説明図である。
【図７】  図１のバスモニタ部の構成を示すブロック図である。
【図８】  図７の占有率算出部の構成を示すブロック図である。
【図９】  図７のアクセス検出部の構成を示すブロック図である。
【図１０】  各種信号の状態を示したタイミングチャートである。
【図１１】  従来のＤＭＡ制御装置の概略構成を示すブロック図である。
【図１２】  バス調停部におけるバス調停制御を説明するための説明図である。
【図１３】  バス調停部におけるバス調停制御の優先順位を説明するための説明図である。
【符号の説明】
１，２，３  ＤＭＡ制御部
４    アクセス制御部
５    バス
６    バス調停部
７    メモリ
８    バスモニタ部
９    メモリコントローラ部
１０    ＤＭＡ制御装置
１４    ＣＰＵ
７１，７２，７３，７４  メモリブロック
【図１】
0003758437.tif 000002
【図２】
0003758437.tif 000003
【図３】
0003758437.tif 000004
【図４】
0003758437.tif 000005
【図５】
0003758437.tif 000006
【図６】
0003758437.tif 000007
【図７】
0003758437.tif 000008
【図８】
0003758437.tif 000009
【図９】
0003758437.tif 000010
【図１０】
0003758437.tif 000011
【図１１】
0003758437.tif 000012
【図１２】
0003758437.tif 000013
【図１３】
0003758437.tif 000014