JP3758437B2 - DMA controller - Google Patents
DMA controller Download PDFInfo
- Publication number
- JP3758437B2 JP3758437B2 JP35732099A JP35732099A JP3758437B2 JP 3758437 B2 JP3758437 B2 JP 3758437B2 JP 35732099 A JP35732099 A JP 35732099A JP 35732099 A JP35732099 A JP 35732099A JP 3758437 B2 JP3758437 B2 JP 3758437B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bus
- access
- signal
- dma control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、低消費電力化を図った直接メモリアクセス制御(以下、「DMA制御」という)装置に関する。さらに詳細には、共有バスに接続された複数のデバイスによる共有バスの使用割合に応じてメモリの動作モードを制御して低消費電力化を図ったDMA制御装置に関するものである。例えば、複写機のように、CPUと他のデバイス(スキャナ、プリンタ等)とでバスを共用する機器に用いて好適なものである。
【0002】
【従来の技術】
従来のDMA制御装置では、複数のデバイスからバスアクセスのリクエストがあった場合に、バスアクセスを調停するためのバス調停部を備えるものが知られている。そのシステムの一例として、デジタルコピー機における画像形成装置のシステムを図11に示す。図11に示すシステムは、基本的に、メモリ107と、各DMA制御部101,102,103、およびアクセス制御部104とを有し、DMA制御部101〜103、およびアクセス制御部104が共用のバス105を介してメモリ107にアクセスしてデータ転送を行うものである。
【0003】
また、メモリ107へのアクセスを制御するメモリコントローラ部109がバス105とメモリ107の間に設けられている。さらに、各DMA制御部101〜103、およびアクセス制御部104からバス105へのアクセスを調停するバス調停部106が設けられている。なお、DMA制御部101にはプリンタ装置111が接続され、DMA制御部102にはスキャナ装置112が接続され、アクセス制御部104にはCPU114が接続されている。
【0004】
このシステムは次のように動作する。この動作について図12を参照して説明する。例えば、DMA制御部101においてバス105へのアクセスが必要になると、DMA制御部101はバス調停部106に対しリクエスト信号req1を出力する。このリクエスト信号req1に対してバス調停部106は、可能ならばバス使用許可信号ack1を返信する。この許可信号ack1がアクティブである期間中、DMA制御部101を介してプリンタ装置111がバス105にアクセスできるのである。他のDMA制御部(デバイス)でも同様である。そして、それぞれのDMA制御部がバス105にアクセスすると、バス105からメモリアクセス要求がメモリコントローラ部109に対して発せられる。このメモリアクセス要求に基づきメモリコントローラ部109により各DMA制御部によるメモリ107へのアクセスが制御されるようになっている。
【0005】
なお、複数の制御部からリクエストが同時にあった場合には、バス調停部106は所定の優先順位にしたがってバス使用許可信号を返信するようになっている。優先順位の一例を図13に示す。この優先順位の場合、バス調停部106に対してリクエスト信号req1,req2,req3,req4が同時に出力されたときには、バス調停部106は、最も優先順位が高いバス使用許可信号ack1のみを返信する。これにより、DMA制御部101が他の制御部102〜104よりも優先してバス105にアクセスする。同様に、リクエスト信号req2,req3,req4が同時に出力されたときには、バス調停部106はその中で最も優先順位の高いバス使用許可信号ack2のみを返信する。このため、DMA制御部102が他の制御部103,104よりも優先してバス105にアクセスする。
【0006】
ここで、メモリ107にはDRAMが使用されている。デジタルコピー機等の画像形成装置では、大容量のメモリを必要とするためである。ところが、DRAMは記憶容量が大きいという利点を有する一方、消費電力が大きいという欠点を持っている。このため、メモリ107を使用しない場合には動作モードを低消費電力モードに移行させることにより、システムの低消費電力化が図られている。
【0007】
【発明が解決しようとする課題】
しかしながら、上記した従来のDMA制御装置100では、メモリ107のブロック(領域)ごとに動作モードを細かく制御することができないという問題があった。このため、効果的に消費電力を低く押さえることができていなかった。この問題を解決するためには、メモリ107のブロックごとに動作モードを制御すればよい。ところが、そのためにはCPU114において、各制御部によるメモリ107へのアクセス状況等を把握する必要がある。そして、そのような制御を実現するためには、CPU114において非常に複雑な制御を行わなければならないという問題があった。
【0008】
そこで、本発明は上記した問題点を解決するためになされたものであり、複雑な制御を行わずに複数のデバイスによるバスの使用割合やアクセス状況を把握し、それに応じてメモリのブロックごとに動作モードを制御することができるDMA制御装置を提供することを課題とする。
【0009】
【課題を解決するための手段】
上記問題点を解決するため本発明に係るDMA制御装置によれば、CPUと、複数のメモリブロックを備えるメモリと、前記メモリに接続された共有バスと、前記共有バスに接続されるとともに前記メモリにアクセスする複数のデバイスと、前記各デバイスによる前記メモリへのアクセスを制御するメモリコントローラ手段と、所定時間ごとの前記共有バスの使用割合を算出する占有率算出手段と、前記各デバイスごとの、前記共有バスへのアクセス状況を検出するアクセス検出手段とを有し、前記メモリコントローラ手段は、前記占有率算出手段の算出結果と前記アクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードを制御する。
【0010】
このDMA制御装置では、占有率算出手段により、所定時間ごとのデバイス全体としての前記共有バスの使用割合が算出される。また、アクセス検出手段により、各デバイスごとの共有バスへのアクセス状況が検出される。そして、メモリコントローラ手段により、占有率算出手段の算出結果とアクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードが制御される。つまり、メモリコントローラ手段により、各メモリブロックの動作状況に応じて各メモリブロックごとに動作モードが制御される。これにより、メモリブロックごとに必要とされる情報処理速度に適合した動作モードが選択されることになる。従って、高速処理が必要ない場合には、低消費電力モードに移行させることにより、効果的に消費電力を低く押さえることができる。
【0011】
本発明に係るDMA制御装置においては、各メモリブロックは、随時書き込み読み出し可能な記憶手段であり、メモリコントローラ手段は、記憶手段の動作モードを通常モード、パワーダウンモード、およびセルフリフレッシュモードのいずれかのモードにすることが好ましい。
【0012】
デバイスがほとんど作動していない場合には、そのデバイスに対応するメモリブロックではデータの書込や読込が頻繁には行われていない。このため、このような場合にもメモリブロックを通常モードで動作させるのは、無駄に電力を消費していることになる。このため、このDMA制御装置では、メモリコントローラ手段によって、バスモニタ手段で算出される共有バスの使用割合に応じ、記憶手段の動作モードが通常モードからパワーダウンモードあるいはセルフリフレッシュモードに切り替えられる。つまり、デバイスがほとんど作動していない場合には、そのデバイスに対応する記憶手段の動作モードがパワーダウンモードあるいはセルフリフレッシュモードとなる。これらのモードは、通常モードよりも消費電力が大幅に低い(約1/50)ため、記憶手段の消費電力を効果的に低く押さえることができる。
【0013】
なお、パワーダウンモードとセルフリフレッシュモードとは、ともに低消費電力モードであり、コマンド入力によりそれぞれのモードに移行する。また、パワーダウンモードあるいはセルフリフレッシュモードから通常モードに復帰させるにもコマンド入力が必要である。
【0014】
【発明の実施の形態】
以下、本発明のDMA制御装置を具体化した実施の形態について図面に基づいて詳細に説明する。本実施の形態は、複写機における各デバイスのバスへのアクセスを制御するDMA制御装置である。
【0015】
図1に示すように、DMA制御装置10は、後述するメモリブロック(DRAM)71〜74(図2参照)を備えるメモリ7と、各DMA制御部1,2,3、およびアクセス制御部4とを有し、DMA制御部1〜3、およびアクセス制御部4が共用のバス5を介してメモリ7にアクセスするものである。そして、各DMA制御部1〜3、およびアクセス制御部4からバス5へのアクセスを調停するバス調停部6と、バス5の使用割合を算出するバスモニタ部8と、バスモニタ部8の算出結果に応じてメモリ7に備わる各メモリブロックの動作モード等の制御を行うメモリコントローラ部9とが設けられている。
【0016】
また、DMA制御部1にはプリンタ装置11が接続され、DMA制御部2にはスキャナ装置12が接続され、アクセス制御部4にはCPU14が接続されている。CPU14は、このシステムを含めた複写機全体の制御を統括するものである。なお、プリンタ装置11、スキャナ装置12はそれぞれDMA制御部1,2によりCPU14を介さずメモリ7に直接アクセスできるようになっている。
【0017】
メモリ7は、図2に示すように、4つのメモリブロック71〜74を備えている。それぞれのメモリブロック71〜74は、各DMA制御部1〜3およびアクセス制御部4に対応している。具体的には、メモリブロック71に対してはDMA制御部1がアクセスし、メモリブロック72に対してはDMA制御部2がアクセスし、メモリブロック73に対してはDMA制御部3がアクセスし、メモリブロック74に対してはアクセス制御部4がアクセスするようになっている。
【0018】
メモリコントローラ部9は、各メモリブロック71〜74に対して制御信号およびアドレス信号を発信することにより、データの授受や動作モードの切り替え等の制御を行うものである。このメモリコントローラ部9には、後述する占有率大信号BSとアクセス信号ac1〜ac3との状態の組み合わせによって、各メモリブロック71〜74の動作モードを決定するための図3に示す動作モード選択テーブルTmが記憶されている。
【0019】
この動作モード選択テーブルTmでは、占有率大信号BSがアクティブであるか非アクティブであるかによって、基準となる動作モードが大きく異なる。すなわち、占有率大信号BSがアクティブである場合には、各メモリブロック71〜74の動作モードがすべて通常モードに設定されるようになっている。占有率大信号BSがアクティブである場合には、各メモリブロック71〜74における処理速度を高めてバス占有率Sを下げる必要があるからである。
【0020】
一方、占有率大信号BSが非アクティブである場合には、各メモリブロック71〜74の動作モードは基本的にパワーダウンモードに設定されるようになっている。消費電力を低く押さえるためには、パワーダウンモードよりもセルフリフレッシュモードの方が有利であるが、アクセス開始までに要する時間(リカバリタイム)が長くなるので、基本的にパワーダウンモードに設定されるようにしている。なお、パワーダウンモードからのリカバリタイムは数10nsecであるのに対し、セルフリフレッシュモードからのリカバリタイムは数100μsecである。
【0021】
ここで、占有率大信号BSが非アクティブであって、アクセス信号ac1〜ac3のすべてがアクティブである場合には、メモリブロック74の動作モードのみが通常モードに設定されるようになっている。この場合、バス5の占有率Sは低いが(50%未満)、すべてのDMA制御部1〜3が作動しているため、CPU14に対して高速処理が要求されるからである。
【0022】
また、占有率大信号BSが非アクティブであって、アクセス信号ac2,ac3がともに非アクティブである場合には、メモリブロック73の動作モードがセルフリフレッシュモードに設定されるようになっている。これにより、さらに消費電力を低くすることができる。このようにメモリブロック73の動作モードをセルフリフレッシュモードに設定できるのは、画像データの伸長処理時には、数100msecで伸長処理を行う最初の1アクセスに数100μsecかかってもよいため、伸長データの読み出しアクセスが開始してからセルフリフレッシュモードからパワーダウンモードに移行させても何ら問題が発生しないからである。
【0023】
バス調停部6は、図4に示すように、各DMA制御部1〜3およびアクセス制御部4からそれぞれリクエスト信号req1,req2,req3、およびreq4が出力されると、各DMA制御部1〜3およびアクセス制御部4に対して適宜、バス使用許可信号ack1,ack2,ack3、およびack4を返信するものである。このバス調停部6には、図5に示すように、各DMA制御部1〜3、およびアクセス制御部4のリクエスト信号req1〜req3、およびreq4が入力されるリクエスト入力レジスタ15と、バス5へアクセスする優先順位が記憶された優先順位テーブルT(図13参照)と、バス使用許可信号ackを返信するバス応答制御部17とが備わっている。そして、バス応答制御部17から発せられるバス使用許可信号ackがアクティブである期間中だけ、バス使用許可信号ackが返信された制御部がバス5にアクセスできるようになっている。
【0024】
なお、各DMA制御部1〜3、およびアクセス制御部4が同時にリクエスト信号req1,req2,req3,req4を出力した場合には、予め決められた優先順位を記録した優先順位テーブルT(図13参照)に基づいてバス5へのアクセスが調停されるようになっている。
【0025】
図4に戻って、バスモニタ部8は、バス5におけるアドレス信号ADDの発生状況をモニタすることによりバス5のバス占有率Sを算出するとともに、各DMA制御部1〜3の動作状況を検出し、それらの情報をメモリコントローラ部9に入力するものである。このようにアドレス信号ADDからバス5のバス占有率Sを算出することができるのは、バス5において各DMA制御部1〜3、およびアクセス制御部4が使用できるアドレスが予め割り当てられているからである。
【0026】
例えば本実施の形態では、図6に示すように、アドレス0000000h〜0FFFFFFhがDMA制御部1(メモリブロック71)に割り当てられ、アドレス1000000h〜1FFFFFFhがDMA制御部2(メモリブロック72)に割り当てられ、アドレス2000000h〜2FFFFFFhがDMA制御部3(メモリブロック73)に割り当てられ、アドレス3000000h〜3FFFFFFhがアクセス制御部4(メモリブロック74)に割り当てられている。なお、図中の領域信号R1〜R3についての説明は後述する。
【0027】
このバスモニタ部8は、図7に示すように、バス占有率Sを算出する占有率算出部52と、各DMA制御部1〜3のアクセス状況を検出するアクセス検出部53と、アドレスデコーダ51とが備わっている。このアドレスデコーダ51は、バス5のアドレス信号ADDを読み込み、そのアドレス信号ADDに応じて領域信号R1〜R3のいずれかをアクティブにするものである。具体的には、アドレス信号ADDの24ビットと25ビットめがアドレス空間の最上位の数値を示すため、この数値を検出してその検出結果により、領域信号R1〜R3のいずれかの信号をアクティブにするようになっている。例えば、アドレス信号ADDの24,25ビットが「10」であれば、16進数に換算すると「2」となるから、領域信号R3がアクティブとなる。
【0028】
なお、領域信号R1〜R3とアドレス信号AADとの関係は、図6に示すように、アドレス0000000h〜0FFFFFFhに対しては領域信号R1がアクティブとなり、アドレス1000000h〜1FFFFFFhに対しては領域信号R2がアクティブとなり、アドレス2000000h〜2FFFFFFhに対しては領域信号R3がアクティブとなるようになっている。
【0029】
占有率算出部52には、図8に示すように、カウンタ21,22,23と、延形フリップフロップ(Delay Flip-Flop、以下「DFF」という)31,32,33と、加算器25と、比較器26とが備わっている。そして、カウンタ21の端子ENには領域信号R1が入力され、端子CLKにはクロック信号CSが入力され、端子CLRにはカウンタクリア信号CCSが入力されている。一方、端子Qからはカウンタ21におけるカウント値C1が出力され、これがDFF31の端子INに入力されている。また、DFF31の端子CLKには占有率セット信号SSSが入力され、端子OUTからは占有率S1が出力され、これが加算器25に入力されている。
【0030】
カウンタ21は、端子CLKに入力されているクロック信号CSの立ち上がりで、端子ENに入力されている領域R1がアクティブであればカウントアップを行うとともに、そのカウント値C1を端子Qから出力してDFF31の端子INに入力するものである。そして所定周期ごとに発信されるカウンタクリア信号CCSが端子CLKに入力されると、カウント値C1をリセットするようになっている。なお、カウンタ22,23も同様の作用をするものである。
【0031】
DFF31は、所定周期ごとに発信される占有率セット信号SSSが端子CLKに入力されると、カウンタ21から入力されているカウント値C1を端子OUTから出力するものである。すなわち、DFF31は占有率セット信号SSSの入力周期における領域信号R1の発生割合、つまりDMA制御部1のバス使用割合を算出しているのである。なお、DFF32,33も同様の作用をするものであり、DFF32がDMA制御部2のバス使用割合を算出し、DFF33がDMA制御部3のバス使用割合を算出するようになっている。
【0032】
加算器25は、DFF31〜33が算出したバス占有率S1〜S3の和を算出するものである。また比較器26は、加算器25が算出した結果としきい値(本実施の形態におけるしきい値は「50」である)とを比較し、その算出結果がしきい値よりも大きい場合にメモリコントローラ部9に入力されている占有率大信号SBをアクティブにするものである。なお、クロック信号CS、カウンタクリア信号CCS、および占有率セット信号SSSは、すべてバスモニタ8の内部で生成されるものである。
【0033】
アクセス検出部53は、領域信号R1〜R3の状態から原則として1msecごとにアクセス信号ac1〜ac3を出力するものである。このアクセス検出部53には、図9に示すように、DFF81,82,83と、DFF91,92,93と、カウンタ80とが備わっている。カウンタ80は、1msecごとに信号を発するものである。そして、カウンタ80の端子CLKにクロック信号CS(1μsec周期)が入力され、このクロック信号CSが1msecごとに端子OUTから出力されている。端子OUTから出力された信号は、各DFF81〜83と91〜93のそれぞれの端子CLKに入力されている。
【0034】
また、DFF81,91の端子PRに領域信号R1が入力され、DFF82,92の端子PRに領域信号R2が入力され、DFF83,93の端子PRに領域信号R3が入力されている。これにより、カウンタ80からの1msec周期の信号に関わりなく、領域信号R1がDFF81,91の端子PRに入力されると、即座にアクセス信号ac1がアクティブとされるようになっている。これと同様に、領域信号R2がDFF82,92の端子PRに入力されると、即座にアクセス信号ac2がアクティブとされ、領域信号R3がDFF83,93の端子PRに入力されると、即座にアクセス信号ac3がアクティブとされるようになっている。
【0035】
さらに、DFF81〜83の端子INがそれぞれ接地(“Lo”レベル固定)されており、DFF81〜83の端子OUTとDFF91〜93の端子INとがそれぞれ接続されている。これにより1msec以上の間、領域信号R1がDFF81,91の端子PRに入力されないと、アクセス信号ac1が非アクティブとされるようになっている。同様に、領域信号R2がDFF82,92の端子PRに入力されないと、アクセス信号ac2が非アクティブとされ、領域信号R3がDFF83,93の端子PRに入力されないと、アクセス信号ac3が非アクティブとされるようになっている。
【0036】
このようにバス5の占有率Sを算出する占有率算出部52、および各DMA制御部1〜3によるバス5へのアクセス状況を検出するアクセス検出部53は、ともにハードウェアにより構成されている。このため、占有率Sの算出や各DMA制御部1〜3のアクセス状況の検出をするために、CPU14において複雑な制御を行う必要がない。
【0037】
続いて、上記のように構成されたDMA制御装置10の動作について、図10に示すタイミングチャート図を用いて説明する。なお、本実施の形態では、占有率セット信号SSS、カウンタクリア信号CCSともに100μsecごとに発信され、占有率セット信号SSSの発信直後(125nsec後)にカウンタクリア信号CCSが発信されるようになっている。また、クロック信号CSは1μsec周期の信号である。
【0038】
時刻t0 以前においては、カウント値C1,C2,C3はそれぞれ「50」「28」「9」となっている。また、各DMA制御部1〜3のバス占有率S1〜S3として、前回の占有率セット信号SSSの発信時に読み込まれた値「15」「8」「10」が加算器25に入力されている。よって、加算器25は、算出結果として「33」を出力している。そして、この出力は比較器26に入力されているが、しきい値「50」を越えていないので、占有率大信号BSは非アクティブ(Lo)となっている。
【0039】
そして、時刻t0 においてクロック信号CSが立ち上がり、このときアドレス信号ADDが「100FFFFh」であるから、アドレスデコーダ51は領域信号R2をアクティブ(Hi)とし、領域信号R1,R3を非アクティブ(Lo)とする。このため、カウンタ22がカウントアップを行って、そのカウント値C2が更新されて「29」になる。一方、カウンタ21および23はカウントアップしないため、それぞれのカウント値C1およびC3は「50」および「9」のままである。
【0040】
ここで、領域信号R1,R3が時刻t0 以前において1msec以上非アクティブであったとする。そうすると時刻t0 においては、アクセス信号ac1が非アクティブとなり、アクセス信号ac2がアクティブとなり、アクセス信号ac3が非アクティブとなる。この結果、メモリコントローラ部9は、メモリブロック71〜74の動作モードをすべてパワーダウンモードにする。
【0041】
また、時刻t0 から1μsec経過した時刻t1 に再びクロック信号CSが立ち上がり、このときアドレス信号ADDが「100FFFFh」であるから、アドレスデコーダ51は領域信号R2をアクティブ(Hi)にし、領域信号R1,R3を非アクティブ(Lo)にする。このため、カウンタ22がカウントアップを行って、そのカウント値C2が更新されて「30」になる。一方、カウンタ21および23はカウントアップしないため、それぞれのカウント値C1およびC3は「50」および「9」のままである。なお、メモリブロック71〜74の動作モードは、時刻t0 と同様、すべてパワーダウンモードのままである。
【0042】
時刻t1 から500nsec経過した時刻t2 において、アドレス信号ADDが「2001234h」に変化したとする。すると、アドレスデコーダ51は領域信号R3をアクティブ(Hi)とし、領域信号R1,R2を非アクティブ(Lo)にする。このため、アクセス信号ac3がアクティブとなるが、図3の動作モード選択テーブルTmに従い、メモリブロック71〜74の動作モードは、時刻t0 と同様、すべてパワーダウンモードのままである。
【0043】
その後、時刻t1 から1μsec経過した時刻t3 で再びクロック信号CSが立ち上がるため、カウンタ23がカウントアップを行って、そのカウント値C3が更新され「10」になる。一方、カウンタ21および22はカウントアップしないため、それぞれのカウント値C1およびC2は「50」および「30」のままである。
【0044】
時刻t3 から375nsec経過した時刻t4 において、占有率セット信号SSSが各DFF31〜33に入力される。すると、DFF31〜33は、時刻t4 時点におけるカウント値C1〜C3をバス占有率S1〜S3として出力する。すなわち、DFF31からバス占有率S1として「50」が出力され、DFF32からバス占有率S2として「30」が出力され、DFF33からバス占有率S3として「10」が出力される。このように、カウント値C1〜C3をバス占有率S1〜S3として出力できるのは、本実施の形態では占有率セット信号SSSおよびカウンタクリア信号CCSを100μsec周期で各DFF31〜33および各カウンタ21〜23に入力しているからである。
【0045】
そして、このようにして算出されたバス占有率S1〜S3は、加算器25に入力される。すると加算器25は、算出結果として「90」を出力し、それを比較器26に入力する。比較器26は、しきい値「50」を越えていると判断するため、占有率大信号BSをアクティブ(Hi)にする。この結果、メモリコントローラ部9は、図3の動作モード選択テーブルTmに従い、メモリブロック71〜74の動作モードをすべて通常モードにする。
【0046】
さらに、時刻t4 から125nsec経過後の時刻t5 (時刻t3 から500nsec経過)において、カウンタクリア信号CCSが各カウンタ21〜23に入力される。これにより、各カウンタ21〜23のカウント値C1〜C3はすべてクリアされて「0」になる。
【0047】
時刻t5 から500nsec経過した時刻t6で再びクロック信号CSが立ち上がり、このときアドレス信号ADDが「2001234h」のままで領域信号R3がアクティブ(Hi)であるため、カウンタ23がカウントアップを行って、そのカウント値C3が更新されて「1」になる。一方、領域信号R1,R2は非アクティブ(Lo)であるから、カウンタ21および22はカウントアップしないため、それぞれのカウント値C1およびC2は、ともに「0」のままである。
【0048】
次いで、時刻t6 から500nsec経過した時刻t7 において、アドレス信号ADDが「000ABCDh」に変化したとする。すると、アドレスデコーダ51は領域信号R1をアクティブ(Hi)にし、領域信号R2,R3を非アクティブ(Lo)にする。その後、時刻t6 から1μsec経過した時刻t8 で再びクロック信号CSが立ち上がるため、カウンタ21がカウントアップを行って、そのカウント値C1が更新されて「1」になる。一方、カウンタ22および23はカウントアップしないため、それぞれのカウント値C2およびC3は「0」および「1」のままである。
【0049】
以後、同様にしてアドレスデコーダ51は領域信号R1〜R3のいずれかの信号をアクティブ(Hi)とするから、クロック信号CSの立ち上がりでそれに対応するカウンタにおいてカウントアップが行われる。そして、占有率セット信号SSSが各DFF31〜33に入力されると、各DMA制御部1〜3の占有率S1〜S3が算出される。その後、算出結果およびアクセス信号ac1〜ac3の状態に応じて、メモリコントローラ部9により、各メモリブロック71〜74のそれぞれの動作モードが制御される。これにより、メモリブロック71〜74は、処理に悪影響を与えない範囲で消費電力が低い動作モードで作動させられる。従って、効果的に消費電力が低く押さえられる。
【0050】
以上、詳細に説明したように実施の形態に係るDMA制御装置10によれば、バスモニタ部8において、バス5のバス占有率Sが算出されるとともに、DMA制御1〜3の動作状況が検出される。そして、メモリコントローラ部9により、算出されたバス占有率SおよびDAM制御部1〜3の動作状況に応じて、各メモリブロック71〜74の動作モードが制御される。これにより、各メモリブロック71〜74は、処理に悪影響を与えない範囲で消費電力が低い動作モードで作動させられる。従って、効果的に消費電力が低く押さえられる。また、バス占有率Sの算出および各DMA制御部1〜3の動作状況の検出を、それぞれハードウェアにより構成された占有率検出部52およびアクセス検出部53により行っている。このため、各メモリブロック71〜74の動作モードに関する制御が複雑化することがない。
【0051】
なお、上記実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。上記した実施の形態として複写機におけるDMA制御装置を例示したが、これに限らずDMA制御を行うものであればいずれのものに本発明を適用することができる。
【0052】
【発明の効果】
以上、説明した通り本発明のDMA制御装置によれば、複雑な制御を行わずに複数のデバイスによるバスの使用割合やアクセス状況が把握され、それに応じてメモリのブロックごとに動作モードが制御される。これにより、高速処理が必要ないブロックは、低消費電力モードで作動させることができる。このため、効果的に消費電力を低く押さえることができる。
【図面の簡単な説明】
【図1】 DMA制御装置の構成を示すブロック図である。
【図2】 図1のメモリおよびメモリコントローラ部のブロック図である。
【図3】 メモリコントローラ部に記憶されている動作モード選択テーブルの内容を説明するための説明図である。
【図4】 図1のバス調停部およびバスモニタ部の動作について説明するための説明図である。
【図5】 図1のバス調停部の構成を示すブロック図である。
【図6】 アドレス信号とデバイスおよび領域信号の対応を説明する説明図である。
【図7】 図1のバスモニタ部の構成を示すブロック図である。
【図8】 図7の占有率算出部の構成を示すブロック図である。
【図9】 図7のアクセス検出部の構成を示すブロック図である。
【図10】 各種信号の状態を示したタイミングチャートである。
【図11】 従来のDMA制御装置の概略構成を示すブロック図である。
【図12】 バス調停部におけるバス調停制御を説明するための説明図である。
【図13】 バス調停部におけるバス調停制御の優先順位を説明するための説明図である。
【符号の説明】
1,2,3 DMA制御部
4 アクセス制御部
5 バス
6 バス調停部
7 メモリ
8 バスモニタ部
9 メモリコントローラ部
10 DMA制御装置
14 CPU
71,72,73,74 メモリブロック[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a direct memory access control (hereinafter referred to as “DMA control”) device that achieves low power consumption. More specifically, the present invention relates to a DMA control device that reduces the power consumption by controlling the operation mode of a memory in accordance with the usage ratio of a shared bus by a plurality of devices connected to the shared bus. For example, it is suitable for a device such as a copying machine that shares a bus between a CPU and other devices (scanner, printer, etc.).
[0002]
[Prior art]
A conventional DMA control apparatus is known that includes a bus arbitration unit for arbitrating bus access when there is a request for bus access from a plurality of devices. As an example of the system, an image forming apparatus system in a digital copying machine is shown in FIG. The system shown in FIG. 11 basically includes a
[0003]
A
[0004]
This system operates as follows. This operation will be described with reference to FIG. For example, when the
[0005]
When there are requests from a plurality of control units simultaneously, the
[0006]
Here, a DRAM is used for the
[0007]
[Problems to be solved by the invention]
However, the conventional
[0008]
Accordingly, the present invention has been made to solve the above-described problems, and grasps the bus usage ratio and access status by a plurality of devices without performing complicated control, and accordingly, for each block of the memory. It is an object of the present invention to provide a DMA control device capable of controlling an operation mode.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, according to the DMA control device of the present invention, a CPU, a memory including a plurality of memory blocks, a shared bus connected to the memory, and the memory connected to the shared bus and the memory A plurality of devices accessing the memory, and memory controller means for controlling access to the memory by each device; Occupancy rate calculating means for calculating the usage rate of the shared bus every predetermined time, and access detecting means for detecting the access status to the shared bus for each device And the memory controller means comprises: Based on the calculation result of the occupancy rate calculation means and the detection result of the access detection means, for each memory block Control the operating mode.
[0010]
In this DMA controller, The occupancy rate calculation means calculates the usage ratio of the shared bus as a whole device every predetermined time. The access detection means detects the access status to the shared bus for each device. And by the memory controller means, Based on the calculation result of the occupancy rate calculation means and the detection result of the access detection means, for each memory block The operation mode is controlled. In other words, the memory controller means each memory block according to the operation status of each memory block. Every The operation mode is controlled. Thereby, an operation mode suitable for the information processing speed required for each memory block is selected. Therefore, when high-speed processing is not necessary, the power consumption can be effectively reduced by shifting to the low power consumption mode.
[0011]
In the DMA control device according to the present invention, each memory block is a storage means that can be written and read at any time, and the memory controller means can select one of a normal mode, a power-down mode, and a self-refresh mode as the operation mode of the storage means. It is preferable to select the mode.
[0012]
When the device is hardly operated, data is not frequently written or read in the memory block corresponding to the device. For this reason, even in such a case, operating the memory block in the normal mode consumes power wastefully. For this reason, in this DMA control device, the operation mode of the storage means is switched from the normal mode to the power-down mode or the self-refresh mode by the memory controller means in accordance with the shared bus usage ratio calculated by the bus monitor means. That is, when the device is hardly operated, the operation mode of the storage means corresponding to the device is the power down mode or the self refresh mode. Since these modes consume significantly less power (about 1/50) than the normal mode, the power consumption of the storage means can be effectively reduced.
[0013]
Note that both the power down mode and the self refresh mode are low power consumption modes, and each mode is shifted by a command input. A command input is also required to return from the power-down mode or the self-refresh mode to the normal mode.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments embodying a DMA control device of the present invention will be described below in detail with reference to the drawings. This embodiment is a DMA control device that controls access of each device to a bus in a copying machine.
[0015]
As shown in FIG. 1, the
[0016]
Further, a
[0017]
As shown in FIG. 2, the
[0018]
The
[0019]
In this operation mode selection table Tm, the reference operation mode varies greatly depending on whether the occupation ratio large signal BS is active or inactive. That is, when the large occupation ratio signal BS is active, all the operation modes of the memory blocks 71 to 74 are set to the normal mode. This is because when the large occupation ratio signal BS is active, it is necessary to increase the processing speed in each of the memory blocks 71 to 74 and decrease the bus occupation ratio S.
[0020]
On the other hand, when the large occupation rate signal BS is inactive, the operation mode of each of the memory blocks 71 to 74 is basically set to the power down mode. In order to keep power consumption low, the self-refresh mode is more advantageous than the power-down mode. However, since the time required to start access (recovery time) becomes longer, the power-down mode is basically set. I am doing so. The recovery time from the power-down mode is several tens of nsec, while the recovery time from the self-refresh mode is several hundred μsec.
[0021]
Here, when the large occupation rate signal BS is inactive and all the access signals ac1 to ac3 are active, only the operation mode of the
[0022]
When the large occupation ratio signal BS is inactive and both the access signals ac2 and ac3 are inactive, the operation mode of the
[0023]
As shown in FIG. 4, when the request signals req1, req2, req3, and req4 are output from the
[0024]
When the
[0025]
Returning to FIG. 4, the
[0026]
For example, in this embodiment, as shown in FIG. 6, addresses 0000000h to 0FFFFFFh are assigned to the DMA control unit 1 (memory block 71), and addresses 1000000h to 1FFFFFFh are assigned to the DMA control unit 2 (memory block 72). Addresses 2000000h to 2FFFFFFh are assigned to the DMA control unit 3 (memory block 73), and addresses 3000000h to 3FFFFFFh are assigned to the access control unit 4 (memory block 74). The description of the region signals R1 to R3 in the drawing will be described later.
[0027]
As shown in FIG. 7, the
[0028]
As shown in FIG. 6, the region signal R1 is active for the
[0029]
As shown in FIG. 8, the occupancy
[0030]
The counter 21 counts up if the region R1 input to the terminal EN is active at the rising edge of the clock signal CS input to the terminal CLK, and outputs the count value C1 from the terminal Q to output the
[0031]
The
[0032]
The
[0033]
The
[0034]
Further, the region signal R1 is input to the terminals PR of the
[0035]
Furthermore, the terminals IN of the
[0036]
Thus, the occupancy
[0037]
Next, the operation of the
[0038]
Time t 0 Previously, the count values C1, C2, and C3 are “50”, “28”, and “9”, respectively. Further, the values “15”, “8”, and “10” read at the time of transmission of the previous occupation rate set signal SSS are input to the
[0039]
And time t 0 Since the address signal ADD is “100FFFFh” at this time, the
[0040]
Here, the region signals R1, R3 are 0 It is assumed that it has been inactive for 1 msec or more before. Then time t 0 , The access signal ac1 becomes inactive, the access signal ac2 becomes active, and the access signal ac3 becomes inactive. As a result, the
[0041]
Also,
[0042]
Time t 1 Time t after 500nsec from 2 , The address signal ADD is changed to “2001234h”. Then, the
[0043]
Then
[0044]
Time t 3 375nsec after t 4 , The occupation rate set signal SSS is input to each of the DFFs 31-33. Then, the
[0045]
The bus occupancy rates S1 to S3 calculated in this way are input to the
[0046]
Furthermore, time t 4 T after 125nsec from 5 At 500 nsec from time t3, a counter clear signal CCS is input to each counter 21-23. As a result, the count values C1 to C3 of the
[0047]
Time t 5 Time t after 500nsec from 6 Then, the clock signal CS rises again. At this time, since the address signal ADD remains “2001234h” and the area signal R3 is active (Hi), the
[0048]
Then time t 6 Time t after 500nsec from 7 Assume that the address signal ADD changes to “000ABCDh”. Then, the
[0049]
Thereafter, similarly, the
[0050]
As described above in detail, according to the
[0051]
In addition, the said embodiment is only a mere illustration and does not limit this invention at all. Accordingly, the present invention can be variously improved and modified without departing from the scope of the invention. The DMA control apparatus in the copying machine has been exemplified as the above-described embodiment. However, the present invention is not limited to this, and the present invention can be applied to any apparatus that performs DMA control.
[0052]
【The invention's effect】
As described above, according to the DMA control device of the present invention, the bus usage ratio and access status by a plurality of devices can be grasped without performing complicated control, and the operation mode is controlled for each block of the memory accordingly. The As a result, blocks that do not require high-speed processing can be operated in the low power consumption mode. For this reason, power consumption can be effectively suppressed low.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a DMA control device.
FIG. 2 is a block diagram of a memory and a memory controller unit in FIG. 1;
FIG. 3 is an explanatory diagram for explaining the contents of an operation mode selection table stored in a memory controller unit;
4 is an explanatory diagram for explaining operations of a bus arbitration unit and a bus monitor unit of FIG. 1; FIG.
FIG. 5 is a block diagram illustrating a configuration of a bus arbitration unit in FIG. 1;
FIG. 6 is an explanatory diagram for explaining a correspondence between an address signal, a device, and a region signal.
7 is a block diagram showing a configuration of a bus monitor unit in FIG. 1. FIG.
8 is a block diagram showing a configuration of an occupancy rate calculation unit in FIG. 7. FIG.
9 is a block diagram showing a configuration of an access detection unit in FIG. 7;
FIG. 10 is a timing chart showing states of various signals.
FIG. 11 is a block diagram showing a schematic configuration of a conventional DMA control device.
FIG. 12 is an explanatory diagram for explaining bus arbitration control in a bus arbitration unit;
FIG. 13 is an explanatory diagram for explaining priorities of bus arbitration control in the bus arbitration unit.
[Explanation of symbols]
1,2,3 DMA controller
4 Access control unit
5 buses
6 Bus mediation department
7 memory
8 Bus monitor section
9 Memory controller
10 DMA controller
14 CPU
71, 72, 73, 74 Memory blocks
Claims (2)
複数のメモリブロックを備えるメモリと、
前記メモリに接続された共有バスと、
前記共有バスに接続されるとともに前記メモリにアクセスする複数のデバイスと、
前記各デバイスによる前記メモリへのアクセスを制御するメモリコントローラ手段と、
所定時間ごとの前記共有バスの使用割合を算出する占有率算出手段と、
前記各デバイスごとの、前記共有バスへのアクセス状況を検出するアクセス検出手段とを有し、
前記メモリコントローラ手段は、前記占有率算出手段の算出結果と前記アクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードを制御することを特徴とするDMA制御装置。CPU,
A memory comprising a plurality of memory blocks;
A shared bus connected to the memory;
A plurality of devices connected to the shared bus and accessing the memory;
Memory controller means for controlling access to the memory by each device;
An occupancy rate calculating means for calculating a usage rate of the shared bus every predetermined time;
Access detecting means for detecting an access status to the shared bus for each device ;
The DMA controller according to claim 1, wherein the memory controller means controls an operation mode for each memory block based on a calculation result of the occupation ratio calculation means and a detection result of the access detection means .
前記各メモリブロックは、随時書き込み読み出し可能な記憶手段であり、
前記メモリコントローラ手段は、前記記憶手段の動作モードを通常モード、パワーダウンモード、およびセルフリフレッシュモードのいずれかのモードにすることを特徴とするDMA制御装置。The DMA controller according to claim 1, wherein
Each of the memory blocks is storage means that can be written and read at any time,
The DMA controller according to claim 1, wherein the memory controller means sets the operation mode of the storage means to one of a normal mode, a power-down mode, and a self-refresh mode.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35732099A JP3758437B2 (en) | 1999-12-16 | 1999-12-16 | DMA controller |
| US09/521,196 US6615291B1 (en) | 1999-03-08 | 2000-03-07 | DMA controller with dynamically variable access priority |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35732099A JP3758437B2 (en) | 1999-12-16 | 1999-12-16 | DMA controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001175532A JP2001175532A (en) | 2001-06-29 |
| JP3758437B2 true JP3758437B2 (en) | 2006-03-22 |
Family
ID=18453523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP35732099A Expired - Fee Related JP3758437B2 (en) | 1999-03-08 | 1999-12-16 | DMA controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3758437B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007219998A (en) * | 2006-02-20 | 2007-08-30 | Fuji Xerox Co Ltd | Storage control device |
| JP5106864B2 (en) * | 2007-01-22 | 2012-12-26 | 京セラドキュメントソリューションズ株式会社 | Bus system and image forming apparatus |
| WO2010019119A1 (en) * | 2008-08-13 | 2010-02-18 | Hewlett-Packard Development Company, L.P. | Dynamic utilization of power-down modes in multi-core memory modules |
| JP5744650B2 (en) | 2011-07-06 | 2015-07-08 | オリンパス株式会社 | BUS MONITOR DEVICE, BUS MONITOR METHOD, AND PROGRAM |
| JP6076053B2 (en) * | 2012-11-21 | 2017-02-08 | 三菱電機株式会社 | Image interpolation device |
-
1999
- 1999-12-16 JP JP35732099A patent/JP3758437B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001175532A (en) | 2001-06-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4480427B2 (en) | Resource management device | |
| JPH0696015A (en) | Computer system and method for bus control synchronization and adjustment | |
| US4161779A (en) | Dynamic priority system for controlling the access of stations to a shared device | |
| JP3758437B2 (en) | DMA controller | |
| US6782433B2 (en) | Data transfer apparatus | |
| US6615291B1 (en) | DMA controller with dynamically variable access priority | |
| JP2001356961A (en) | Arbitration device | |
| US20090254710A1 (en) | Device and method for controlling cache memory | |
| EP1029284B1 (en) | Shared memory access controller | |
| JP4309508B2 (en) | DMA controller | |
| JP2000276436A (en) | Dma control device | |
| US6691182B2 (en) | DMA controller in which bus access ratio can be set | |
| JPH0628246A (en) | Storage device | |
| JP2978871B2 (en) | Refresh control method | |
| JP3985085B2 (en) | DMA controller | |
| JP3618249B2 (en) | Data transfer device | |
| JPH117763A (en) | Method for refresh control to dram and circuit therefor | |
| JP3606852B2 (en) | Bus control system | |
| US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
| JP3205992B2 (en) | Direct memory access transfer controller | |
| JPH05173923A (en) | Input/output data transfer processing device | |
| JP4898527B2 (en) | RESOURCE USE MANAGEMENT DEVICE, RESOURCE USE MANAGEMENT SYSTEM, AND RESOURCE USE MANAGEMENT DEVICE CONTROL METHOD | |
| JP2000259550A (en) | Dma controller | |
| JP2001167049A (en) | Bus arbitration device | |
| JPS63191398A (en) | Information processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050614 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050621 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050808 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050906 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051031 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051213 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051226 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090113 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |