Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3758437B2 - DMA controller - Google Patents
[go: Go Back, main page]

JP3758437B2 - DMA controller - Google Patents

DMA controller Download PDF

Info

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
Application number
JP35732099A
Other languages
Japanese (ja)
Other versions
JP2001175532A (en
Inventor
伸雄 亀井
猛 南
賢一 守田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP35732099A priority Critical patent/JP3758437B2/en
Priority to US09/521,196 priority patent/US6615291B1/en
Publication of JP2001175532A publication Critical patent/JP2001175532A/en
Application granted granted Critical
Publication of JP3758437B2 publication Critical patent/JP3758437B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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】
時刻t 以前においては、カウント値C1,C2,C3はそれぞれ「50」「28」「9」となっている。また、各DMA制御部1〜3のバス占有率S1〜S3として、前回の占有率セット信号SSSの発信時に読み込まれた値「15」「8」「10」が加算器25に入力されている。よって、加算器25は、算出結果として「33」を出力している。そして、この出力は比較器26に入力されているが、しきい値「50」を越えていないので、占有率大信号BSは非アクティブ(Lo)となっている。
【0039】
そして、時刻t においてクロック信号CSが立ち上がり、このときアドレス信号ADDが「100FFFFh」であるから、アドレスデコーダ51は領域信号R2をアクティブ(Hi)とし、領域信号R1,R3を非アクティブ(Lo)とする。このため、カウンタ22がカウントアップを行って、そのカウント値C2が更新されて「29」になる。一方、カウンタ21および23はカウントアップしないため、それぞれのカウント値C1およびC3は「50」および「9」のままである。
【0040】
ここで、領域信号R1,R3が時刻t 以前において1msec以上非アクティブであったとする。そうすると時刻t においては、アクセス信号ac1が非アクティブとなり、アクセス信号ac2がアクティブとなり、アクセス信号ac3が非アクティブとなる。この結果、メモリコントローラ部9は、メモリブロック71〜74の動作モードをすべてパワーダウンモードにする。
【0041】
また、時刻t から1μsec経過した時刻t に再びクロック信号CSが立ち上がり、このときアドレス信号ADDが「100FFFFh」であるから、アドレスデコーダ51は領域信号R2をアクティブ(Hi)にし、領域信号R1,R3を非アクティブ(Lo)にする。このため、カウンタ22がカウントアップを行って、そのカウント値C2が更新されて「30」になる。一方、カウンタ21および23はカウントアップしないため、それぞれのカウント値C1およびC3は「50」および「9」のままである。なお、メモリブロック71〜74の動作モードは、時刻t と同様、すべてパワーダウンモードのままである。
【0042】
時刻t から500nsec経過した時刻t において、アドレス信号ADDが「2001234h」に変化したとする。すると、アドレスデコーダ51は領域信号R3をアクティブ(Hi)とし、領域信号R1,R2を非アクティブ(Lo)にする。このため、アクセス信号ac3がアクティブとなるが、図3の動作モード選択テーブルTmに従い、メモリブロック71〜74の動作モードは、時刻t と同様、すべてパワーダウンモードのままである。
【0043】
その後、時刻t から1μsec経過した時刻t で再びクロック信号CSが立ち上がるため、カウンタ23がカウントアップを行って、そのカウント値C3が更新され「10」になる。一方、カウンタ21および22はカウントアップしないため、それぞれのカウント値C1およびC2は「50」および「30」のままである。
【0044】
時刻t から375nsec経過した時刻t において、占有率セット信号SSSが各DFF31〜33に入力される。すると、DFF31〜33は、時刻t 時点におけるカウント値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】
さらに、時刻t から125nsec経過後の時刻t (時刻t3 から500nsec経過)において、カウンタクリア信号CCSが各カウンタ21〜23に入力される。これにより、各カウンタ21〜23のカウント値C1〜C3はすべてクリアされて「0」になる。
【0047】
時刻t から500nsec経過した時刻tで再びクロック信号CSが立ち上がり、このときアドレス信号ADDが「2001234h」のままで領域信号R3がアクティブ(Hi)であるため、カウンタ23がカウントアップを行って、そのカウント値C3が更新されて「1」になる。一方、領域信号R1,R2は非アクティブ(Lo)であるから、カウンタ21および22はカウントアップしないため、それぞれのカウント値C1およびC2は、ともに「0」のままである。
【0048】
次いで、時刻t から500nsec経過した時刻t において、アドレス信号ADDが「000ABCDh」に変化したとする。すると、アドレスデコーダ51は領域信号R1をアクティブ(Hi)にし、領域信号R2,R3を非アクティブ(Lo)にする。その後、時刻t から1μsec経過した時刻t で再びクロック信号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 memory 107, each of the DMA control units 101, 102, 103, and an access control unit 104. The DMA control units 101 to 103 and the access control unit 104 are shared. Data is transferred by accessing the memory 107 via the bus 105.
[0003]
A memory controller 109 that controls access to the memory 107 is provided between the bus 105 and the memory 107. Further, a bus arbitration unit 106 that arbitrates access from the DMA control units 101 to 103 and the access control unit 104 to the bus 105 is provided. A printer device 111 is connected to the DMA control unit 101, a scanner device 112 is connected to the DMA control unit 102, and a CPU 114 is connected to the access control unit 104.
[0004]
This system operates as follows. This operation will be described with reference to FIG. For example, when the DMA control unit 101 needs to access the bus 105, the DMA control unit 101 outputs a request signal req 1 to the bus arbitration unit 106. In response to the request signal req1, the bus arbitration unit 106 returns a bus use permission signal ack1 if possible. During the period in which the permission signal ack1 is active, the printer apparatus 111 can access the bus 105 via the DMA control unit 101. The same applies to other DMA control units (devices). When each DMA control unit accesses the bus 105, a memory access request is issued from the bus 105 to the memory controller unit 109. Based on this memory access request, the memory controller unit 109 controls access to the memory 107 by each DMA control unit.
[0005]
When there are requests from a plurality of control units simultaneously, the bus arbitration unit 106 returns a bus use permission signal in accordance with a predetermined priority. An example of the priority order is shown in FIG. In the case of this priority, when the request signals req1, req2, req3, and req4 are simultaneously output to the bus arbitration unit 106, the bus arbitration unit 106 returns only the bus use permission signal ack1 having the highest priority. Thereby, the DMA control unit 101 accesses the bus 105 with priority over the other control units 102 to 104. Similarly, when the request signals req2, req3, and req4 are output simultaneously, the bus arbitration unit 106 returns only the bus use permission signal ack2 having the highest priority among them. For this reason, the DMA control unit 102 accesses the bus 105 with priority over the other control units 103 and 104.
[0006]
Here, a DRAM is used for the memory 107. This is because an image forming apparatus such as a digital copying machine requires a large capacity memory. However, DRAM has the advantage of large storage capacity, but has the disadvantage of high power consumption. For this reason, when the memory 107 is not used, the power consumption of the system is reduced by shifting the operation mode to the low power consumption mode.
[0007]
[Problems to be solved by the invention]
However, the conventional DMA control device 100 described above has a problem that the operation mode cannot be finely controlled for each block (area) of the memory 107. For this reason, the power consumption could not be effectively suppressed low. In order to solve this problem, the operation mode may be controlled for each block of the memory 107. However, in order to do so, it is necessary for the CPU 114 to grasp the status of access to the memory 107 by each control unit. And in order to implement | achieve such control, there existed a problem that very complicated control had to be performed in CPU114.
[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 DMA control device 10 includes a memory 7 having memory blocks (DRAMs) 71 to 74 (see FIG. 2), which will be described later, the DMA controllers 1, 2, 3, and the access controller 4. The DMA controllers 1 to 3 and the access controller 4 access the memory 7 via the shared bus 5. Then, each of the DMA control units 1 to 3 and the bus arbitration unit 6 that arbitrates access to the bus 5 from the access control unit 4, a bus monitor unit 8 that calculates the usage rate of the bus 5, and calculation of the bus monitor unit 8 A memory controller unit 9 is provided for controlling the operation mode of each memory block provided in the memory 7 according to the result.
[0016]
Further, a printer device 11 is connected to the DMA control unit 1, a scanner device 12 is connected to the DMA control unit 2, and a CPU 14 is connected to the access control unit 4. The CPU 14 controls the entire copying machine including this system. The printer device 11 and the scanner device 12 can directly access the memory 7 by the DMA control units 1 and 2 without using the CPU 14.
[0017]
As shown in FIG. 2, the memory 7 includes four memory blocks 71 to 74. Each of the memory blocks 71 to 74 corresponds to each of the DMA control units 1 to 3 and the access control unit 4. Specifically, the DMA control unit 1 accesses the memory block 71, the DMA control unit 2 accesses the memory block 72, the DMA control unit 3 accesses the memory block 73, The access control unit 4 accesses the memory block 74.
[0018]
The memory controller unit 9 performs control such as data exchange and operation mode switching by transmitting control signals and address signals to the memory blocks 71 to 74. The memory controller unit 9 includes an operation mode selection table shown in FIG. 3 for determining the operation mode of each of the memory blocks 71 to 74 according to the combination of the states of a large occupation rate signal BS and access signals ac1 to ac3 described later. Tm is stored.
[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 memory block 74 is set to the normal mode. In this case, the occupation rate S of the bus 5 is low (less than 50%), but since all the DMA control units 1 to 3 are operating, high speed processing is required for the CPU 14.
[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 memory block 73 is set to the self-refresh mode. Thereby, power consumption can be further reduced. In this way, the operation mode of the memory block 73 can be set to the self-refresh mode because when the image data is decompressed, it may take several hundreds of microseconds for the first access to perform the decompression process in several hundreds of milliseconds. This is because no problem occurs even if the self-refresh mode is shifted to the power-down mode after the access is started.
[0023]
As shown in FIG. 4, when the request signals req1, req2, req3, and req4 are output from the DMA control units 1 to 3 and the access control unit 4, respectively, the bus arbitration unit 6 The bus use permission signals ack1, ack2, ack3, and ack4 are returned to the access control unit 4 as appropriate. As shown in FIG. 5, the bus arbitration unit 6 has a request input register 15 to which the request signals req 1 to req 3 and req 4 of the DMA control units 1 to 3 and the access control unit 4 are input, and the bus 5. A priority table T (see FIG. 13) in which priority levels to be accessed are stored, and a bus response control unit 17 that returns a bus use permission signal ack are provided. The control unit to which the bus use permission signal ack is returned can access the bus 5 only while the bus use permission signal ack issued from the bus response control unit 17 is active.
[0024]
When the DMA control units 1 to 3 and the access control unit 4 output the request signals req1, req2, req3, and req4 at the same time, a priority order table T that records a predetermined priority order (see FIG. 13). ), The access to the bus 5 is arbitrated.
[0025]
Returning to FIG. 4, the bus monitor unit 8 calculates the bus occupation rate S of the bus 5 by monitoring the generation state of the address signal ADD in the bus 5 and detects the operation state of each of the DMA control units 1 to 3. The information is input to the memory controller unit 9. The reason why the bus occupancy S of the bus 5 can be calculated from the address signal ADD in this way is because addresses that can be used by the DMA control units 1 to 3 and the access control unit 4 in the bus 5 are assigned in advance. It is.
[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 bus monitor unit 8 includes an occupancy rate calculation unit 52 that calculates the bus occupancy rate S, an access detection unit 53 that detects the access status of each of the DMA control units 1 to 3, and an address decoder 51. And is equipped. The address decoder 51 reads the address signal ADD of the bus 5 and activates one of the area signals R1 to R3 according to the address signal ADD. Specifically, since the 24th and 25th bits of the address signal ADD indicate the highest numerical value in the address space, this numerical value is detected, and one of the area signals R1 to R3 is activated according to the detection result. It is supposed to be. For example, if the 24th and 25th bits of the address signal ADD are “10”, the area signal R3 becomes active because it is “2” when converted to hexadecimal.
[0028]
As shown in FIG. 6, the region signal R1 is active for the addresses 0000000h to 0FFFFFFh, and the region signal R2 is for the addresses 1000000h to 1FFFFFFh. It becomes active, and the region signal R3 becomes active for the addresses 2000000h to 2FFFFFFh.
[0029]
As shown in FIG. 8, the occupancy rate calculation unit 52 includes counters 21, 22, 23, extended flip-flops (Delay Flip-Flop, hereinafter referred to as “DFF”) 31, 32, 33, an adder 25, And a comparator 26. The region signal R1 is input to the terminal EN of the counter 21, the clock signal CS is input to the terminal CLK, and the counter clear signal CCS is input to the terminal CLR. On the other hand, the count value C1 in the counter 21 is output from the terminal Q, and this is input to the terminal IN of the DFF 31. An occupancy set signal SSS is input to the terminal CLK of the DFF 31, and an occupancy S 1 is output from the terminal OUT, and this is input to the adder 25.
[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 DFF 31. To the terminal IN. When the counter clear signal CCS transmitted every predetermined cycle is input to the terminal CLK, the count value C1 is reset. The counters 22 and 23 have the same function.
[0031]
The DFF 31 outputs the count value C1 input from the counter 21 from the terminal OUT when the occupation rate set signal SSS transmitted every predetermined cycle is input to the terminal CLK. That is, the DFF 31 calculates the generation ratio of the area signal R1 in the input period of the occupation ratio set signal SSS, that is, the bus use ratio of the DMA control unit 1. The DFFs 32 and 33 operate in the same manner, and the DFF 32 calculates the bus usage ratio of the DMA control unit 2 and the DFF 33 calculates the bus usage ratio of the DMA control unit 3.
[0032]
The adder 25 calculates the sum of the bus occupancy rates S1 to S3 calculated by the DFFs 31 to 33. The comparator 26 compares the result calculated by the adder 25 with a threshold value (the threshold value in the present embodiment is “50”), and if the calculated result is greater than the threshold value, the comparator 26 The large occupation ratio signal SB input to the controller unit 9 is activated. Note that the clock signal CS, the counter clear signal CCS, and the occupation rate set signal SSS are all generated inside the bus monitor 8.
[0033]
The access detector 53 outputs the access signals ac1 to ac3 every 1 msec in principle from the state of the area signals R1 to R3. As shown in FIG. 9, the access detection unit 53 includes DFFs 81, 82, 83, DFFs 91, 92, 93, and a counter 80. The counter 80 emits a signal every 1 msec. The clock signal CS (1 μsec cycle) is input to the terminal CLK of the counter 80, and this clock signal CS is output from the terminal OUT every 1 msec. The signal output from the terminal OUT is input to each terminal CLK of each of the DFFs 81 to 83 and 91 to 93.
[0034]
Further, the region signal R1 is input to the terminals PR of the DFFs 81 and 91, the region signal R2 is input to the terminals PR of the DFFs 82 and 92, and the region signal R3 is input to the terminals PR of the DFFs 83 and 93. Thus, the access signal ac1 is immediately activated when the area signal R1 is input to the terminal PR of the DFFs 81 and 91 regardless of the 1 msec period signal from the counter 80. Similarly, when the region signal R2 is input to the terminal PR of the DFFs 82 and 92, the access signal ac2 is immediately activated, and when the region signal R3 is input to the terminal PR of the DFFs 83 and 93, access is immediately performed. The signal ac3 is activated.
[0035]
Furthermore, the terminals IN of the DFFs 81 to 83 are grounded (“Lo” level is fixed), and the terminals OUT of the DFFs 81 to 83 and the terminals IN of the DFFs 91 to 93 are connected to each other. As a result, when the area signal R1 is not input to the terminals PR of the DFFs 81 and 91 for 1 msec or longer, the access signal ac1 is made inactive. Similarly, when the region signal R2 is not input to the terminal PR of the DFFs 82 and 92, the access signal ac2 is inactive, and when the region signal R3 is not input to the terminal PR of the DFFs 83 and 93, the access signal ac3 is inactive. It has become so.
[0036]
Thus, the occupancy rate calculation unit 52 that calculates the occupancy rate S of the bus 5 and the access detection unit 53 that detects the status of access to the bus 5 by the DMA control units 1 to 3 are both configured by hardware. . For this reason, it is not necessary to perform complicated control in the CPU 14 in order to calculate the occupation rate S and to detect the access status of each of the DMA control units 1 to 3.
[0037]
Next, the operation of the DMA control device 10 configured as described above will be described with reference to the timing chart shown in FIG. In this embodiment, both the occupation rate set signal SSS and the counter clear signal CCS are transmitted every 100 μsec, and the counter clear signal CCS is transmitted immediately after the occupation rate set signal SSS is transmitted (after 125 nsec). Yes. The clock signal CS is a signal having a period of 1 μsec.
[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 adder 25 as the bus occupation rates S1 to S3 of the respective DMA control units 1 to 3. . Therefore, the adder 25 outputs “33” as the calculation result. Although this output is input to the comparator 26, the threshold value “50” is not exceeded, so the large occupation ratio signal BS is inactive (Lo).
[0039]
And time t 0 Since the address signal ADD is “100FFFFh” at this time, the address decoder 51 sets the area signal R2 to active (Hi) and sets the area signals R1 and R3 to inactive (Lo). Therefore, the counter 22 counts up, and the count value C2 is updated to “29”. On the other hand, since the counters 21 and 23 do not count up, the respective count values C1 and C3 remain “50” and “9”.
[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 memory controller unit 9 sets all the operation modes of the memory blocks 71 to 74 to the power down mode.
[0041]
Also, time t 0 1 μsec after t 1 Then, the clock signal CS rises again, and at this time, the address signal ADD is “100FFFFh”. Therefore, the address decoder 51 makes the region signal R2 active (Hi) and makes the region signals R1 and R3 inactive (Lo). Therefore, the counter 22 counts up, and the count value C2 is updated to “30”. On the other hand, since the counters 21 and 23 do not count up, the respective count values C1 and C3 remain “50” and “9”. The operation mode of the memory blocks 71 to 74 is the time t. 0 All remain in power-down mode.
[0042]
Time t 1 Time t after 500nsec from 2 , The address signal ADD is changed to “2001234h”. Then, the address decoder 51 makes the region signal R3 active (Hi) and makes the region signals R1 and R2 inactive (Lo). Therefore, although the access signal ac3 becomes active, the operation mode of the memory blocks 71 to 74 is determined at time t according to the operation mode selection table Tm of FIG. 0 All remain in power-down mode.
[0043]
Then time t 1 1 μsec after t 3 Then, since the clock signal CS rises again, the counter 23 counts up, and the count value C3 is updated to “10”. On the other hand, since the counters 21 and 22 do not count up, the respective count values C1 and C2 remain “50” and “30”.
[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 DFFs 31 to 33 are time t 4 The count values C1 to C3 at the time are output as bus occupancy rates S1 to S3. That is, “50” is output as the bus occupation rate S1 from the DFF 31, “30” is output as the bus occupation rate S2 from the DFF 32, and “10” is output as the bus occupation rate S3 from the DFF 33. In this embodiment, the count values C1 to C3 can be output as the bus occupancy rates S1 to S3. In this embodiment, the occupancy rate set signal SSS and the counter clear signal CCS are output at 100 μsec intervals to the DFFs 31 to 33 and the counters 21 to 21. This is because the data is input to 23.
[0045]
The bus occupancy rates S1 to S3 calculated in this way are input to the adder 25. Then, the adder 25 outputs “90” as the calculation result and inputs it to the comparator 26. Since the comparator 26 determines that the threshold value “50” is exceeded, the comparator 26 activates the high occupation ratio signal BS (Hi). As a result, the memory controller unit 9 sets all the operation modes of the memory blocks 71 to 74 to the normal mode according to the operation mode selection table Tm of FIG.
[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 counters 21 to 23 are all cleared and become “0”.
[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 counter 23 counts up, and the count value C3 is updated. 1 ”. On the other hand, since the area signals R1 and R2 are inactive (Lo), the counters 21 and 22 do not count up, so that the count values C1 and C2 are both “0”.
[0048]
Then time t 6 Time t after 500nsec from 7 Assume that the address signal ADD changes to “000ABCDh”. Then, the address decoder 51 makes the region signal R1 active (Hi) and makes the region signals R2 and R3 inactive (Lo). Then time t 6 1 μsec after t 8 Then, since the clock signal CS rises again, the counter 21 counts up, and the count value C1 is updated to “1”. On the other hand, since the counters 22 and 23 do not count up, the respective count values C2 and C3 remain “0” and “1”.
[0049]
Thereafter, similarly, the address decoder 51 makes any one of the region signals R1 to R3 active (Hi), so that the counter corresponding thereto is counted up at the rising edge of the clock signal CS. When the occupancy rate set signal SSS is input to the DFFs 31 to 33, the occupancy rates S1 to S3 of the DMA control units 1 to 3 are calculated. Thereafter, the operation mode of each of the memory blocks 71 to 74 is controlled by the memory controller unit 9 according to the calculation result and the states of the access signals ac1 to ac3. As a result, the memory blocks 71 to 74 are operated in an operation mode with low power consumption within a range that does not adversely affect the processing. Therefore, the power consumption can be effectively reduced.
[0050]
As described above in detail, according to the DMA controller 10 according to the embodiment, the bus monitor unit 8 calculates the bus occupancy S of the bus 5 and detects the operation status of the DMA controls 1 to 3. Is done. The memory controller unit 9 controls the operation mode of each of the memory blocks 71 to 74 in accordance with the calculated bus occupancy S and the operation status of the DAM control units 1 to 3. Accordingly, each of the memory blocks 71 to 74 is operated in an operation mode with low power consumption within a range that does not adversely affect the processing. Therefore, the power consumption can be effectively reduced. The calculation of the bus occupancy S and the detection of the operation status of each of the DMA control units 1 to 3 are performed by the occupancy detection unit 52 and the access detection unit 53 configured by hardware, respectively. For this reason, the control regarding the operation mode of each memory block 71-74 does not become complicated.
[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)

CPUと、
複数のメモリブロックを備えるメモリと、
前記メモリに接続された共有バスと、
前記共有バスに接続されるとともに前記メモリにアクセスする複数のデバイスと、
前記各デバイスによる前記メモリへのアクセスを制御するメモリコントローラ手段と、
所定時間ごとの前記共有バスの使用割合を算出する占有率算出手段と、
前記各デバイスごとの、前記共有バスへのアクセス状況を検出するアクセス検出手段とを有し、
前記メモリコントローラ手段は、前記占有率算出手段の算出結果と前記アクセス検出手段の検出結果とに基づき、各メモリブロックごとに動作モードを制御することを特徴とする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 .
請求項1に記載するDMA制御装置において、
前記各メモリブロックは、随時書き込み読み出し可能な記憶手段であり、
前記メモリコントローラ手段は、前記記憶手段の動作モードを通常モード、パワーダウンモード、およびセルフリフレッシュモードのいずれかのモードにすることを特徴とする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.
JP35732099A 1999-03-08 1999-12-16 DMA controller Expired - Fee Related JP3758437B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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