JP3985085B2 - DMA controller - Google Patents

DMA controller Download PDF

Info

Publication number
JP3985085B2
JP3985085B2 JP07318199A JP7318199A JP3985085B2 JP 3985085 B2 JP3985085 B2 JP 3985085B2 JP 07318199 A JP07318199 A JP 07318199A JP 7318199 A JP7318199 A JP 7318199A JP 3985085 B2 JP3985085 B2 JP 3985085B2
Authority
JP
Japan
Prior art keywords
access
bus
unit
dma
control unit
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
JP07318199A
Other languages
Japanese (ja)
Other versions
JP2000267993A (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 JP07318199A priority Critical patent/JP3985085B2/en
Priority to US09/521,196 priority patent/US6615291B1/en
Publication of JP2000267993A publication Critical patent/JP2000267993A/en
Application granted granted Critical
Publication of JP3985085B2 publication Critical patent/JP3985085B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、直接メモリアクセス制御(以下、「DMA制御」ともいう)に関する。さらに詳細には、共有バスに接続された複数のデバイスの動作状況の如何にかかわらず、特定のデバイスにより共有バスが占有され、共有バスにアクセスできないデバイスが発生するのを防止したDMA制御装置に関するものである。例えば、複写機のように、CPUと他のデバイス(スキャナ、プリンタ等)とでバスを共用する機器に用いて好適なものである。
【0002】
【従来の技術】
従来のDMA制御装置では、複数のデバイスからバスアクセスのリクエストがあった場合に、バスアクセスを調停するためのバス調停部を備えるものが知られている。そのシステムの一例を図11に示す。図11に示すシステムは、基本的に、メモリ107と、各DMA制御部101,102,103、およびアクセス制御部104とを有し、DMA制御部101〜103、およびアクセス制御部104が共用のバス105を介してメモリ107にアクセスするものである。そして、各DMA制御部101〜103、およびアクセス制御部104からバス105へのアクセスを調停するバス調停部106が設けられている。また、DMA制御部101にはプリンタ装置111が接続され、DMA制御部102にはスキャナ装置112が接続され、DMA制御部103にはハードディスク113が接続され、アクセス制御部104にはCPU114が接続されている。
【0003】
このシステムは次のように動作する。この動作について図12を参照して説明する。例えば、DMA制御部101においてバス105へのアクセスが必要になると、DMA制御部101はバス調停部106に対しリクエスト信号req1を出力する。このリクエスト信号req1に対してバス調停部106は、可能ならばバス使用許可信号ack1を返信する。この許可信号ack1がアクティブである期間中、DMA制御部101を介してプリンタ装置111がバス105にアクセスできるのである。他の制御部(デバイス)でも同様である。
【0004】
ここで、複数の制御部からリクエストが同時にあった場合には、バス調停部106は所定の優先順位にしたがってバス使用許可信号を返信するようになっている。優先順位の一例を図13に示す。この優先順位の場合、バス調停部106に対してリクエスト信号req1,req2,req3,req4が同時に出力されたときには、バス調停部106は、最も優先順位が高いバス使用許可信号ack1のみを返信する。これにより、DMA制御部101が他の制御部102〜104よりも優先してバス105にアクセスする。同様に、リクエスト信号req2,req3,req4が同時に出力されたときには、バス調停部106はその中で最も優先順位の高いバス使用許可信号ack2のみを返信する。このため、DMA制御部102が他の制御部103,104よりも優先してバス105にアクセスする。
【0005】
【発明が解決しようとする課題】
しかしながら、上記した従来のDMA制御装置100では、バス調停部106において常に図13に示す優先順位のみにしたがってバス調停制御が行われるため、DMA制御部101〜103、およびアクセス制御部104からのリクエスト信号req1,req2,req3,req4が一時期に集中してバス調停部106に対して出力されると、優先順位の低いアクセス制御部104(CPU114)がバス105にアクセスできないおそれがあった。かかる場合にはCPU114がバス105にアクセスできずにシステムのプログラムが停止してしまうという問題があった。
【0006】
そこで、本発明は上記した問題点を解決するためになされたものであり、デバイスの動作状況を検出し、その結果検出に応じてバス調停制御の内容を変更することにより、CPUによる共有バスへのアクセスを確保することができるDMA制御装置を提供することを課題とする。
【0007】
【課題を解決するための手段】
上記問題点を解決するため本発明に係るDMA制御装置によれば、CPUと、メモリと、前記CPUおよび前記メモリが接続された共有バスと、前記共有バスに接続されるとともに前記メモリにアクセスする、少なくともプリンタとスキャナを有する複数のデバイスと、前記各デバイスによる前記共有バスへのアクセス後、次のアクセスが可能となるまでの最低アクセス間隔時間を記録した複数の異なるアクセス間隔テーブルと、少なくとも前記プリンタとスキャナの動作状況を検出するデバイスモニタ手段と、前記デバイスモニタ手段による検出の結果、前記プリンタが動作中であるか前記スキャナが動作中であるかに基づいて前記アクセス間隔テーブルのうち1つを選択するアクセス間隔テーブル選択手段と、前記アクセス間隔テーブル選択手段により選択されたアクセス間隔テーブルに従い前記各デバイスによる前記共有バスへのアクセスの許否を決定するアクセス許否決定手段とを有し、前記バス調停手段は、前記アクセス許否決定手段の決定に従い前記CPUおよび前記各デバイスによる前記共有バスへのアクセスを調停することを特徴とする。
【0008】
なお、デバイス(少なくともプリンタとスキャナを含む)の動作状況とは、各デバイスによる共有バスへのアクセス状態(アクセスしているか否か)を示すものである。
【0009】
このDMA制御装置では、デバイスモニタ手段により、少なくともプリンタとスキャナの動作状況が検出されている。そして、アクセス間隔テーブル選択手段により、デバイスモニタ手段による検出の結果、プリンタが動作中であるかスキャナが動作中であるか、すなわち異なるデバイスの動作状況に基づいて複数の異なるアクセス間隔テーブルのうち1つが選択される。さらに、アクセス許否決定手段により、アクセス間隔テーブル選択手段で選択されたアクセス間隔テーブルに従い各デバイスによる共有バスへのアクセスの許否が決定される。その後、アクセス許否決定手段の決定に従い各デバイスおよびCPUのリクエストに対して、共有バスの使用許可の調停が行われる。
【0010】
これにより、デバイスの動作状況に応じて適切に各デバイスおよびCPUによる共有バ スへのアクセスが調停される。従って、複数のデバイスからリクエストが一時期に集中した場合に、優先順位の高いデバイスによる共有バスの独占が防止され、優先順位の低いCPUにも必要なアクセス時間が確保される。なお、アクセス間隔テーブルに、CPUによる共有バスへの最低アクセス間隔を含めてもよい。
【0011】
【0012】
【0013】
【発明の実施の形態】
以下、本発明のDMA制御装置を具体化した実施の形態について図面に基づいて詳細に説明する。本実施の形態は、複写機におけるCPUおよび各種周辺デバイスによるバスへのアクセスを制御するDMA制御装置である。
【0014】
(第1の実施の形態)
まず、第1の実施の形態について説明する。このDMA制御装置200は、図1に示すように、メモリ7と、各DMA制御部1,2,3、およびアクセス制御部4と、デバイスモニタ部208とを有し、DMA制御部1〜3、およびアクセス制御部4が共用のバス5を介してメモリ7にアクセスするものである。そして、デバイスモニタ部208の検出結果に応じて各DMA制御部1〜3、およびアクセス制御部4からバス5へのアクセスを調停するバス調停部206が設けられている。
【0015】
また、DMA制御部1にはプリンタ装置11が接続され、DMA制御部2にはスキャナ装置12が接続され、DMA制御部3にはハードディスク13が接続され、アクセス制御部4にはCPU14が接続されている。CPU14は、このシステムを含めた複写機全体の制御を統括するものである。なお、プリンタ装置11、スキャナ装置12、およびハードディスク13はそれぞれDMA制御部1,2、および3によりCPU14を介さずメモリ7に直接アクセス(DMA)できるようになっている。また、各DMA制御部1〜3のアクセス状況を検出するデバイスモニタ部208が備わっている。
【0016】
バス調停部206は、図2に示すように、各DMA制御部1〜3、およびアクセス制御部4からそれぞれリクエスト信号req1,req2,req3,req4が出力されると、各DMA制御部1〜3、およびアクセス制御部4に対して適宜バス使用許可信号ack1,ack2,ack3,ack4を返信するものである。これらのバス使用許可信号がアクティブである期間中だけ、バス使用許可信号が返信された制御部がバス5にアクセスできる。このときバス5にアクセスしている制御部は、DMA処理信号dmaをデバイスモニタ部208に発するようになっている。そして、バス調停部206は、図3に示すように、DMA制御部1〜3の動作状況に応じてバス調停制御を行うための優先順位テーブルを選択しリクエスト信号req1〜4を処理する優先順位テーブル選択部218と、バス使用許可信号ack1〜4を送出するバス応答制御部17とを備える。
【0017】
優先順位テーブル選択部218は、予め格納されている複数(本実施の形態では2つ)の優先順位テーブルのうち1つを、後述するデバイスモニタ部208の検出結果に応じて選択するものである。この優先順位テーブルの選択は、図4に示す選択テーブルTcrに基づき行われる。例えば、プリンタ装置11(DMA制御部1)が動作中である場合には、優先順位テーブル選択部218では第2優先順位テーブルTr2が選択される。なお、優先順位テーブル選択部218に格納されている優先順位テーブルは、図5に示すものが格納されている。すなわち、第1優先順位テーブルTr1としては、従来のDMA制御装置100で用いられている優先順位テーブル(優先順位は上から順に、DMA制御部1、DMA制御部2、DMA制御部3、アクセス制御部4となっている)と同じものが格納されている。また、第2優先順位テーブルTr2としては、優先順位が上から順にDMA制御部1、DMA制御部2、アクセス制御部4、DMA制御部3となっているものが格納されている。
【0018】
バス応答制御部17は、優先順位テーブル選択部218により選択された優先順位テーブルに従いバス使用許可が付与された制御部に対し、バス使用許可信号を送出するものである。
【0019】
また、デバイスモニタ部208は、各DMA制御部1〜3が発するDMA処理信号dma1〜3に基づきDMA制御部1〜3の動作状況を検出するものである。ここで、DMA制御部1〜3の動作状況とは、バス5へアクセスしているDMA制御部の組み合わせのことを意味する。この動作状況の検出は、各DMA制御部が発するDMA処理信号がアクティブである期間中は、そのDMA制御部が動作している、つまりバス5にアクセスしてDMA処理を行っているものと判断することにより行われる。具体的に、デバイスモニタ部208で検出される動作状況には、図4に示すような3つのパターンがある。すなわち、(1)プリンタ装置11が動作中である場合、(2)スキャナ装置12が動作中である場合、および(3)前記(1)(2)以外の場合の3パターンである。
【0020】
続いて、上記のように構成されたDMA制御装置200の動作について、図6に示すフローチャートを用いて説明する。このフローチャートは、バス調停部206におけるバス調停制御ルーチンを示したものである。まず、S1において、デバイスモニタ部208により、DMA制御部1〜3の動作状況が検出される。つまり、各DMA制御部1〜3が発するDMA処理信号dma1〜3の状態(アクティブ/インアクティブ)から各DMA制御部1〜3のそれぞれの動作状態が判断される。
【0021】
次いでS2において、デバイスモニタ部208検出結果により、優先順位テーブル選択部218で選択テーブルTcr(図4参照)に基づき、バス調停制御を行うための優先順位テーブルが選択される。そしてS3において、リクエスト信号が発生しているか否かが判断される。このとき、リクエスト信号が発生している場合には(S3:YES)、S4の処理に進む。一方、リクエスト信号が発生していない場合には(S3:NO)、S1に戻りS1〜S3の処理を繰り返す。
【0022】
S3でリクエスト信号が発生しておりS4へ進むと、S4では、優先順位テーブル選択部218で選択された優先順位テーブルに従いバス調停制御が実行される。その結果、S5において、バス使用許可信号を付与する制御部が選択される。そうすると、S6において、バス応答制御部17によってS5で選択された制御部に対してバス使用許可信号が送出される。これにより、バス使用許可信号を受信した制御部がバス5にアクセスする。以後、S1〜S6の処理を繰り返す。
【0023】
このように、バス調停部206において、DMA制御部1〜3の動作状況に応じてバス調停制御に使用する優先順位テーブルが選択され、そして、その優先順位テーブルに従い各制御部1〜4のリクエスト信号req1〜4に対するバス5へのアクセスが調停される。つまり、DMA制御部1〜3の動作状況に応じた適切なバス調停制御が行われる。
【0024】
以上、詳細に説明したように第1の実施の形態に係るDMA制御装置200によれば、デバイスモニタ部208により、DMA処理信号dma1〜3に基づきDMA制御部1〜3の動作状態が検出される。そして、デバイスモニタ部208の検出結果に応じて優先順位テーブル選択部218により優先順位テーブルが選択される。これにより、DMA制御部1〜3の動作状況に応じた優先順位テーブルに従いバス調停制御が行われる。従って、DMA制御部1〜3によるバス5の独占が防止され、CPU14にも必要なアクセス時間が確保される。よって、システムプログラムが停止するような事態は確実に回避される。
【0025】
(第2の実施の形態)
次に、第2の実施の形態について説明する。第2の実施の形態に係るDMA制御装置は、第1の実施の形態に係るDMA制御装置200と基本的にほぼ同じ構成のものであるが、図7に示すように、バス調停部256にアクセス間隔テーブル選択部268を備えるものである。すなわち、このアクセス間隔テーブル選択部268により、各DMA制御部1〜3のリクエスト信号req1〜3の受付の遅延が実行されるようになっている。そこで、第2の実施の形態では、第1の実施の形態と同じところについての説明は省略し、アクセス間隔テーブル選択部268を中心に異なるところについて説明する。なお、第1の実施の形態と同じ構成のものについては、同一符号を付するものとする。
【0026】
第2の実施の形態に係るDMA制御装置250も、第1の実施の形態と同様、メモリ7と、各DMA制御部1,2,3、およびアクセス制御部4と、デバイスモニタ部208を有し、DMA制御部1〜3、およびアクセス制御部4が共用のバス5を介してメモリ7にアクセスするものである。そして、デバイスモニタ部208が検出した各DMA制御部1〜3の動作状況に応じて、各DMA制御部1〜3、およびアクセス制御部4からバス5へのアクセスを調停するバス調停部206が設けられている(図1参照)。
【0027】
デバイスモニタ部208は、各DMA制御部1〜3が発するDMA処理信号dma1〜3に基づきDMA制御部1〜3の動作状況を検出するものである。また、バス調停部256は、アクセス間隔テーブルを選択するアクセス間隔テーブル選択部268と、リクエスト信号req1〜4の受付を遅延するアクセス許否決定部269と、遅延リクエスト信号dreq1〜4の調停制御を行うための優先順位テーブルTと、バス使用許可信号ack1〜4を各制御部1〜4へ送出するバス応答制御部17とを備え、デバイスモニタ部208の検出結果に応じたバス調停制御を実行するものである。
【0028】
ここで、アクセス間隔テーブル選択部268は、予め格納されている複数(本実施の形態では2つ)のアクセス間隔テーブルのうち1つを、デバイスモニタ部208の検出結果に応じて選択するものである。この優先順位テーブルの選択は、図8に示す選択テーブルTcaに基づいて行われる。例えば、スキャナ装置12(DMA制御部2)が動作中である場合には、アクセス間隔テーブル選択部268により、第1アクセス間隔テーブルTa1が選択される。
【0029】
そして、アクセス間隔テーブル選択部268には、図9に示すアクセス間隔テーブルが格納されている。すなわち、第1アクセス間隔テーブルTa1として、最低アクセス間隔時間が、リクエスト信号req1に対しては2000nsec、リクエスト信号req2に対しては3000nsec、リクエスト信号req3に対しては5000nsecのものが格納されている。また、第2アクセス間隔テーブルTr2として、最低アクセス間隔時間が、リクエスト信号req1に対しては2000nsec、リクエスト信号req2に対しては3000nsec、リクエスト信号req3に対しては50000nsecのものが格納されている。従って、第2アクセス間隔テーブルTa2が選択されると、ハードディスク装置13(DMA制御装置3)によるバス5へのアクセス間隔が広くなる(10倍以上になる)。また、CPU14(アクセス制御部4)のリクエスト信号req4の受付は遅延されない。なお、バス調停制御を行うための優先順位テーブルTは、従来のDMA制御装置100に格納されている優先順位テーブルと同じものである(図13参照)。
【0030】
また、アクセス許否決定部269は、アクセス間隔テーブル選択部268により選択されたアクセス間隔テーブルに従い、各制御部からのリクエスト信号req1〜4の受付を遅延し、遅延リクエスト信号dreq1〜4を発するものである。このアクセス許否決定部269により、リクエスト信号req1〜4の受付が遅延されるため各制御部のアクセス間隔が調整される。
【0031】
続いて、上記のように構成されたDMA制御装置250の動作について、図10に示すフローチャートを用いて説明する。このフローチャートは、バス調停部256におけるバス調停制御ルーチンを示したものである。なお、DMA制御装置250には、各制御部のアクセス間隔を調整するために、各制御部のリクエストの受付の遅延時間(アクセス間隔)をカウントする残り待ち時間カウンタが備わっている。
【0032】
まず、S11において、デバイスモニタ部208により、DMA制御部1〜3の動作状況が検出される。つまり、各DMA制御部1〜3が発するDMA処理信号dma1〜3の状態(アクティブ/インアクティブ)から各DMA制御部1〜3のそれぞれの動作状態の組み合わせパターンが判断される。
【0033】
次いでS12では、アクセス間隔テーブル選択部268により、選択テーブルTca(図8参照)に基づいてアクセス間隔テーブルが選択される。そうすると、残り待ち時間カウンタに、選択されたアクセス間隔テーブルのアクセス間隔の値が書き込まれる。なお、この残り待ち時間カウンタへの書き込みは、最初のサイクルにおける処理のみ行われる。それ以降のサイクルにおいては、次のようにして処理される。まず、前サイクルの処理で選択されたものと同じアクセス間隔テーブルが選択された場合、つまりアクセス間隔テーブルに変更がなった場合には、残り待ち時間カウンタの値は変更されない。一方、前サイクルの処理で選択されたものと異なるアクセス間隔テーブルが選択された場合、つまりアクセス間隔テーブルが変更になった場合には、残り待ち時間カウンタにアクセス間隔の時間差が加算される。
【0034】
具体的には、アクセス間隔テーブルがTa1からTa2に変更された場合には、DMA制御部3(ハードディスク13)に関する残り待ち時間カウンタに「45000(=50000−5000)」が加算される。逆に、アクセス間隔テーブルがTa2からTa1に変更された場合には、DMA制御部3(ハードディスク13)に関する残り待ち時間カウンタに「−45000(=5000−50000)」が加算される。他の制御部においても同様の処理が行われるが、実際にはアクセス間隔テーブルTa1とTa2とにおいてデータ値に変化がないため、残り待ち時間カウンタの値は変化しない。
【0035】
続いて、S13において、残り待ち時間カウンタが一律に減算される。ただし、残り待ち時間カウンタがゼロになっているものについては減算されない。そして、S14において、残り待ち時間カウンタがゼロになった制御部の許可フラグがONにされる。次いで、S15において、リクエスト信号が発生しているか否かが確認される。リクエスト信号が発生している場合には(S15:YES)、S16の処理に進む。一方、リクエスト信号が発生していない場合には(S15:NO)、S11に戻りS11〜S15の処理を繰り返す。
【0036】
S15でリクエスト信号が発生しておりS16へ進むと、S16ではアクセス許否決定部269により、リクエスト信号を発している制御部であって、その許可フラグがONになっているものがあるか否かが判断される。許可フラグがONになっているものがある場合には(S16:YES)、S17以降の調停制御が実行される。一方、該当する許可フラグがすべてOFFの場合には(S16:NO)、S11に戻りS11〜S16の処理を繰り返す。
【0037】
その後、S17において、優先順位テーブルTが参照される。そして、S18において、この優先順位テーブルTに従ってバス調停制御が行われ、バス使用許可を付与する制御部が選択される。そうすると、バス応答制御部17によって、S18で選択された制御部に対してバス使用許可信号が送出される。これにより、バス使用許可信号を受信した制御部がバス5にアクセスする。すると、S20において、バス5にアクセスした制御部の許可フラグがOFFにされる。また、許可フラグがOFFにされた制御部の残り待ち時間カウンタが更新、つまりアクセス間隔テーブルのデータが書き込まれる。以後、S11〜S20の処理を繰り返す。
【0038】
このように、バス調停部256において、DMA制御部1〜3の動作状況に応じてDMA制御部1〜3のリクエスト信号req1〜3の受付の遅延が行われる。例えば、プリンタ装置11がバス5にアクセスしておりバス5の占有率が高い場合には、第2アクセス間隔テーブルTa2によってリクエスト信号の受付の遅延が行われる。これにより、ハードディスク装置13(DMA制御部3)からのリクエスト信号req3の受付が大幅に遅延される。すなわち、アクセス間隔が5000nsecから50000nsecになるため、ハードディスク装置13によるバス5へのアクセス間隔が10倍以上に広くなる。従って、DMA制御部3の優先順位が実質的に下げられ、アクセス制御部4の優先順位が引き上げられる。よって、バス5の占有率が高い場合にも、CPU14が確実にバス5にアクセスすることができる。つまり、DMA制御部1〜3の動作状況に応じた適切なバス調停制御が行われ、各制御部によるバス5への適切なアクセス時間が確実に確保される。
【0039】
以上、詳細に説明したように第2の実施の形態に係るDMA制御装置250によれば、デバイスモニタ部208により、DMA処理信号dma1〜3に基づきDMA制御部1〜3の動作状態が検出される。すると、アクセス間隔テーブル選択部268により、デバイスモニタ部208の検出結果に応じたアクセス間隔テーブルが選択される。次いで、アクセス許否決定部269により、アクセス間隔テーブル選択部268で選択されたアクセス間隔テーブルに基づき、各制御部のリクエスト信号req1〜4の受付が遅延される。そして、その受付の遅延が行われた遅延リクエスト信号dreq1〜4に対し、優先順位テーブルTに従いバス調停制御が行われる。すなわち、DMA制御部1〜3の動作状態に応じたバス調停制御が行われるため、DMA制御部1〜3によるバス5の独占が防止され、CPU14にも必要なアクセス時間が確保される。よって、システムプログラムが停止するような事態は確実に回避される。
【0040】
なお、上記実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。上記した第1および第2の実施の形態として複写機におけるDMA制御装置を例示したが、これに限らずDMA制御を行うものであればいずれのものにも本発明を適用することができる。また、デバイスモニタ部208を独立して設けているが、もちろんバス調停部206あるいは256の内部に組み込むことも可能である。さらに、デバイスモニタ部208では、各DMA制御部1〜3のDMA処理信号dma1〜3に基づき各DMA制御部1〜3の動作状況を検出しているが、バス使用許可信号ack1〜3に基づき各DMA制御部1〜3の動作状況を検出するようにしても良い。これにより、各DMA制御部1〜3が出力する信号数を減少させられる。また、上記第2に実施の形態においては、優先順位テーブルを1つしか有していないが、第1の実施の形態のように、複数の異なる優先順位テーブルを備え、各DMA制御部1〜3の動作状況に応じてそのうちの1つを選択するようにしてもよい。
【0041】
【発明の効果】
以上、説明した通り本発明のDMA制御装置によれば、共有バスに接続された各デバイスの動作状況が検出され、その検出結果に基づきバス調停制御の内容が変更される。これにより、デバイスによる共有バスの独占が防止され、CPUによる共有バスへのアクセスが確実に確保される。
【図面の簡単な説明】
【図1】 第1の実施の形態に係るDMA制御装置の構成を示すブロック図である。
【図2】 図1のバス調停部およびデバイスモニタ部の動作について説明するための説明図である。
【図3】 図1のバス調停部の構成を示すブロック図である。
【図4】 優先順位テーブルを選択するための選択テーブルを説明するための説明図である。
【図5】 優先順位テーブル選択部に格納されている優先順位テーブルを説明するための説明図である。
【図6】 バス調停部における調停制御ルーチンを示すフローチャートである。
【図7】 第2の実施の形態に係るDMA制御装置におけるバス調停部の構成を示すブロック図である。
【図8】 アクセス間隔テーブルを選択するための選択テーブルを説明するための説明図である。
【図9】 アクセス間隔テーブル選択部に格納されているアクセス間隔テーブルを説明するための説明図である。
【図10】 バス調停部における調停制御ルーチンを示すフローチャートである。
【図11】 従来のDMA制御装置の概略構成を示すブロック図である。
【図12】 従来のバス調停部におけるバス調停制御を説明するための説明図である。
【図13】 従来のバス調停部におけるバス調停制御の優先順位を説明するための説明図である。
【符号の説明】
1,2,3 DMA制御部
4 アクセス制御部
5 バス
7 メモリ
8, バスモニタ部
17 バス応答制御部
200,250 DMA制御装置
206,256 バス調停部
208 デバイスモニタ部
218 優先順位テーブル選択部
268 アクセス間隔テーブル選択部
269 アクセス許否決定部
dma DMA処理信号
req リクエスト信号
dreq 遅延リクエスト信号
ack バス使用許可信号
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to direct memory access control (hereinafter also referred to as “DMA control”). More specifically, the present invention relates to a DMA control apparatus that prevents a device that cannot access a shared bus from being occupied by a specific device regardless of the operation status of a plurality of devices connected to the shared bus. Is. 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. An example of the system 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. The memory 107 is accessed via the bus 105. Each DMA control unit 101 to 103 and a bus arbitration unit 106 that arbitrates access from the access control unit 104 to the bus 105 are provided. Also, a printer device 111 is connected to the DMA control unit 101, a scanner device 112 is connected to the DMA control unit 102, a hard disk 113 is connected to the DMA control unit 103, and a CPU 114 is connected to the access control unit 104. ing.
[0003]
  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 control units (devices).
[0004]
  When there are requests from a plurality of control units at the same time, the bus arbitration unit 106 returns a bus use permission signal according to 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.
[0005]
[Problems to be solved by the invention]
  However, in the conventional DMA control device 100 described above, the bus arbitration unit 106 always performs bus arbitration control according to only the priority order shown in FIG. 13, and therefore requests from the DMA control units 101 to 103 and the access control unit 104. If the signals req1, req2, req3, and req4 are concentrated and output to the bus arbitration unit 106 at one time, the access control unit 104 (CPU 114) having a low priority may not be able to access the bus 105. In such a case, there is a problem that the CPU 114 cannot access the bus 105 and the system program stops.
[0006]
  Therefore, the present invention has been made to solve the above-described problems. By detecting the operation status of the device and changing the contents of the bus arbitration control according to the detection result, the CPU can share the bus. It is an object of the present invention to provide a DMA control device that can ensure the access to the network.
[0007]
[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, a shared bus to which the CPU and the memory are connected, a plurality of devices having at least a printer and a scanner connected to the shared bus and accessing the memory, and the sharing by the devices A plurality of different access interval tables that record the minimum access interval time until the next access becomes possible after accessing the bus, device monitor means for detecting at least the operating status of the printer and scanner, and the device monitor means The access interval table selecting means for selecting one of the access interval tables based on whether the printer is operating or the scanner is operating, and the access interval table selecting means Each device according to the access interval table Access permission / rejection determination means for determining permission / prohibition of access to the shared bus by the bus, and the bus arbitration means allows the CPU and each device to access the shared bus according to the determination of the access permission / rejection determination means. It is characterized by mediation.
[0008]
  Device(Including at least printer and scanner)The operation status indicates an access state (whether access is made) to the shared bus by each device.
[0009]
  In this DMA control apparatus, at least the operating statuses of the printer and the scanner are detected by the device monitor means. Then, as a result of detection by the device monitor means by the access interval table selection means, whether the printer is operating or the scanner is operating, that is, one of a plurality of different access interval tables based on the operating status of different devices. Is selected. Further, the access permission / non-permission determining unit determines whether each device can access the shared bus according to the access interval table selected by the access interval table selecting unit. Thereafter, arbitration of permission to use the shared bus is performed for each device and CPU request according to the determination of the access permission determination means.
[0010]
As a result, the shared bar by each device and CPU can be appropriately selected according to the operation status of the device. Access to the service is arbitrated. Therefore, when requests from a plurality of devices are concentrated at one time, monopolization of the shared bus by devices with higher priority is prevented, and necessary access time is secured even for CPUs with lower priority. The access interval table may include the minimum access interval to the shared bus by the CPU.
[0011]
[0012]
[0013]
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. The present embodiment is a DMA control device that controls access to a bus by a CPU and various peripheral devices in a copying machine.
[0014]
(First embodiment)
  First, the first embodiment will be described. As shown in FIG. 1, the DMA control device 200 includes a memory 7, DMA control units 1, 2 and 3, an access control unit 4, and a device monitor unit 208. , And the access control unit 4 accesses the memory 7 via the shared bus 5. Then, the DMA control units 1 to 3 and the bus arbitration unit 206 that arbitrates access from the access control unit 4 to the bus 5 according to the detection result of the device monitor unit 208 are provided.
[0015]
  A printer device 11 is connected to the DMA control unit 1, a scanner device 12 is connected to the DMA control unit 2, a hard disk 13 is connected to the DMA control unit 3, and a CPU 14 is connected to the access control unit 4. ing. The CPU 14 controls the entire copying machine including this system. Note that the printer device 11, the scanner device 12, and the hard disk 13 can directly access (DMA) the memory 7 by the DMA control units 1, 2, and 3 without using the CPU. Further, a device monitor unit 208 that detects the access status of each of the DMA control units 1 to 3 is provided.
[0016]
  As shown in FIG. 2, 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 206, as shown in FIG. The bus use permission signals ack1, ack2, ack3, and ack4 are appropriately returned to the access control unit 4. Only during the period when these bus use permission signals are active, the control unit to which the bus use permission signal is returned can access the bus 5. At this time, the control unit accessing the bus 5 issues a DMA processing signal dma to the device monitor unit 208. Then, as shown in FIG. 3, the bus arbitration unit 206 selects a priority table for performing bus arbitration control according to the operation status of the DMA control units 1 to 3, and processes the request signals req1 to req4. A table selection unit 218 and a bus response control unit 17 for sending bus use permission signals ack1 to ack4 are provided.
[0017]
  The priority table selection unit 218 selects one of a plurality of (two in this embodiment) priority table stored in advance according to the detection result of the device monitor unit 208 described later. . The selection of the priority table is performed based on the selection table Tcr shown in FIG. For example, when the printer device 11 (DMA control unit 1) is operating, the priority table selection unit 218 selects the second priority table Tr2. Note that the priority table stored in the priority table selection unit 218 is the one shown in FIG. That is, as the first priority table Tr1, the priority table used in the conventional DMA control device 100 (priority is in order from the top, DMA control unit 1, DMA control unit 2, DMA control unit 3, access control) The same data is stored. Further, the second priority order table Tr2 is stored with the priority order from the top to the DMA control unit 1, DMA control unit 2, access control unit 4, and DMA control unit 3.
[0018]
  The bus response control unit 17 sends a bus use permission signal to a control unit that has been granted bus use permission according to the priority table selected by the priority table selection unit 218.
[0019]
  The device monitor 208 detects the operation status of the DMA controllers 1 to 3 based on the DMA processing signals dma1 to 3 issued by the DMA controllers 1 to 3. Here, the operation status of the DMA controllers 1 to 3 means a combination of DMA controllers accessing the bus 5. This operation status is detected when the DMA processing signal issued by each DMA control unit is active and that the DMA control unit is operating, that is, accessing the bus 5 and performing DMA processing. Is done. Specifically, the operation status detected by the device monitor unit 208 has three patterns as shown in FIG. That is, there are three patterns: (1) when the printer device 11 is in operation, (2) when the scanner device 12 is in operation, and (3) cases other than (1) and (2).
[0020]
  Next, the operation of the DMA control device 200 configured as described above will be described using the flowchart shown in FIG. This flowchart shows a bus arbitration control routine in the bus arbitration unit 206. First, in S1, the device monitor unit 208 detects the operation status of the DMA control units 1 to 3. That is, the respective operation states of the DMA control units 1 to 3 are determined from the states (active / inactive) of the DMA processing signals dma1 to 3 issued by the DMA control units 1 to 3.
[0021]
  Next, in S2, the priority table for performing bus arbitration is selected by the priority table selection unit 218 based on the selection table Tcr (see FIG. 4) based on the detection result of the device monitor unit 208. In S3, it is determined whether or not a request signal is generated. At this time, if a request signal is generated (S3: YES), the process proceeds to S4. On the other hand, when the request signal is not generated (S3: NO), the process returns to S1 and the processes of S1 to S3 are repeated.
[0022]
  When a request signal is generated in S3 and the process proceeds to S4, bus arbitration control is executed in S4 according to the priority table selected by the priority table selection unit 218. As a result, in S5, the control unit to which the bus use permission signal is given is selected. Then, in S6, a bus use permission signal is sent to the control unit selected in S5 by the bus response control unit 17. As a result, the control unit that has received the bus use permission signal accesses the bus 5. Thereafter, the processes of S1 to S6 are repeated.
[0023]
  As described above, the bus arbitration unit 206 selects the priority order table used for the bus arbitration control in accordance with the operation status of the DMA control units 1 to 3, and requests the control units 1 to 4 according to the priority order table. Access to bus 5 for signals req1-4 is arbitrated. That is, appropriate bus arbitration control is performed according to the operation status of the DMA control units 1 to 3.
[0024]
  As described above in detail, according to the DMA control apparatus 200 according to the first embodiment, the device monitor unit 208 detects the operation states of the DMA control units 1 to 3 based on the DMA processing signals dma1 to dma3. The Then, the priority table is selected by the priority table selection unit 218 according to the detection result of the device monitor unit 208. Thereby, the bus arbitration control is performed according to the priority order table corresponding to the operation status of the DMA control units 1 to 3. Accordingly, the monopoly of the bus 5 by the DMA control units 1 to 3 is prevented, and the necessary access time is also secured for the CPU 14. Therefore, a situation where the system program stops is surely avoided.
[0025]
(Second Embodiment)
  Next, a second embodiment will be described. The DMA control device according to the second embodiment has basically the same configuration as the DMA control device 200 according to the first embodiment. However, as shown in FIG. An access interval table selection unit 268 is provided. That is, the access interval table selection unit 268 delays reception of the request signals req1 to req3 of each of the DMA control units 1 to 3. Therefore, in the second embodiment, description of the same parts as those in the first embodiment will be omitted, and different parts will be described focusing on the access interval table selection unit 268. In addition, the same code | symbol shall be attached | subjected about the thing of the same structure as 1st Embodiment.
[0026]
  Similarly to the first embodiment, the DMA control device 250 according to the second embodiment also includes the memory 7, the DMA control units 1, 2, and 3, the access control unit 4, and the device monitor unit 208. The DMA control units 1 to 3 and the access control unit 4 access the memory 7 through the shared bus 5. A bus arbitration unit 206 that arbitrates access from the DMA control units 1 to 3 and the access control unit 4 to the bus 5 in accordance with the operation status of the DMA control units 1 to 3 detected by the device monitor unit 208. Provided (see FIG. 1).
[0027]
  The device monitor unit 208 detects the operation status of the DMA control units 1 to 3 based on the DMA processing signals dma1 to 3 issued by the DMA control units 1 to 3. The bus arbitration unit 256 performs arbitration control of the access interval table selection unit 268 that selects the access interval table, the access permission determination unit 269 that delays reception of the request signals req1 to req4, and the delayed request signals dreq1 to dreq4. And a bus response control unit 17 that sends bus use permission signals ack1 to ack4 to the control units 1 to 4, and executes bus arbitration control according to the detection result of the device monitor unit 208. Is.
[0028]
  Here, the access interval table selection unit 268 selects one of a plurality of (two in this embodiment) access interval tables stored in advance according to the detection result of the device monitor unit 208. is there. The selection of the priority table is performed based on the selection table Tca shown in FIG. For example, when the scanner device 12 (DMA control unit 2) is operating, the access interval table selection unit 268 selects the first access interval table Ta1.
[0029]
  The access interval table selection unit 268 stores the access interval table shown in FIG. That is, the first access interval table Ta1 stores the minimum access interval time of 2000 nsec for the request signal req1, 3000 nsec for the request signal req2, and 5000 nsec for the request signal req3. The second access interval table Tr2 stores the minimum access interval time of 2000 nsec for the request signal req1, 3000 nsec for the request signal req2, and 50000 nsec for the request signal req3. Therefore, when the second access interval table Ta2 is selected, the access interval to the bus 5 by the hard disk device 13 (DMA control device 3) becomes wide (10 times or more). Further, the acceptance of the request signal req4 by the CPU 14 (access control unit 4) is not delayed. Note that the priority order table T for performing bus arbitration control is the same as the priority order table stored in the conventional DMA control apparatus 100 (see FIG. 13).
[0030]
  The access permission / rejection determination unit 269 delays reception of the request signals req1 to 4 from each control unit according to the access interval table selected by the access interval table selection unit 268, and issues delayed request signals dreq1 to dreq4. is there. The access permission / rejection determination unit 269 adjusts the access interval of each control unit because reception of the request signals req1 to req4 is delayed.
[0031]
  Next, the operation of the DMA controller 250 configured as described above will be described using the flowchart shown in FIG. This flowchart shows a bus arbitration control routine in the bus arbitration unit 256. The DMA controller 250 is provided with a remaining waiting time counter that counts a delay time (access interval) for receiving a request from each control unit in order to adjust an access interval of each control unit.
[0032]
  First, in S11, the device monitor unit 208 detects the operation status of the DMA control units 1 to 3. That is, the combination pattern of the respective operation states of the DMA controllers 1 to 3 is determined from the states (active / inactive) of the DMA processing signals dma1 to 3 generated by the DMA controllers 1 to 3.
[0033]
  Next, in S12, the access interval table selection unit 268 selects an access interval table based on the selection table Tca (see FIG. 8). Then, the value of the access interval of the selected access interval table is written in the remaining waiting time counter. Note that writing to the remaining waiting time counter is performed only in the first cycle. In subsequent cycles, processing is performed as follows. First, when the same access interval table as that selected in the processing of the previous cycle is selected, that is, when the access interval table is changed, the value of the remaining waiting time counter is not changed. On the other hand, when an access interval table different from that selected in the processing of the previous cycle is selected, that is, when the access interval table is changed, the time difference of the access intervals is added to the remaining waiting time counter.
[0034]
  Specifically, when the access interval table is changed from Ta1 to Ta2, “45000 (= 50000−5000)” is added to the remaining waiting time counter relating to the DMA control unit 3 (hard disk 13). Conversely, when the access interval table is changed from Ta2 to Ta1, “−45000 (= 5000−50000)” is added to the remaining waiting time counter relating to the DMA control unit 3 (hard disk 13). Similar processing is performed in the other control units, but since the data value does not change in the access interval tables Ta1 and Ta2, the value of the remaining waiting time counter does not change.
[0035]
  Subsequently, in S13, the remaining waiting time counter is uniformly subtracted. However, those for which the remaining waiting time counter is zero are not subtracted. In S14, the permission flag of the control unit whose remaining waiting time counter has become zero is turned ON. Next, in S15, it is confirmed whether or not a request signal is generated. If the request signal is generated (S15: YES), the process proceeds to S16. On the other hand, when the request signal is not generated (S15: NO), the process returns to S11 and the processes of S11 to S15 are repeated.
[0036]
  When a request signal is generated in S15 and the process proceeds to S16, in S16, whether or not there is a control unit that has issued a request signal by the access permission determination unit 269 and whose permission flag is ON. Is judged. If there is one for which the permission flag is ON (S16: YES), the arbitration control after S17 is executed. On the other hand, when all the corresponding permission flags are OFF (S16: NO), the process returns to S11 and the processes of S11 to S16 are repeated.
[0037]
  Thereafter, the priority order table T is referred to in S17. In S18, bus arbitration control is performed in accordance with the priority table T, and a control unit that grants bus use permission is selected. Then, the bus response control unit 17 sends a bus use permission signal to the control unit selected in S18. As a result, the control unit that has received the bus use permission signal accesses the bus 5. Then, in S20, the permission flag of the control unit that has accessed the bus 5 is turned OFF. Further, the remaining waiting time counter of the control unit in which the permission flag is turned off is updated, that is, the data of the access interval table is written. Thereafter, the processes of S11 to S20 are repeated.
[0038]
  As described above, the bus arbitration unit 256 delays the reception of the request signals req1 to req3 of the DMA control units 1 to 3 in accordance with the operation status of the DMA control units 1 to 3. For example, when the printer device 11 is accessing the bus 5 and the occupation rate of the bus 5 is high, the request signal reception is delayed by the second access interval table Ta2. As a result, the reception of the request signal req3 from the hard disk device 13 (DMA control unit 3) is greatly delayed. That is, since the access interval is changed from 5000 nsec to 50000 nsec, the access interval to the bus 5 by the hard disk device 13 becomes ten times or more. Therefore, the priority order of the DMA control unit 3 is substantially lowered, and the priority order of the access control unit 4 is raised. Therefore, even when the occupation rate of the bus 5 is high, the CPU 14 can reliably access the bus 5. That is, appropriate bus arbitration control according to the operation status of the DMA controllers 1 to 3 is performed, and an appropriate access time to the bus 5 by each controller is ensured.
[0039]
  As described above in detail, according to the DMA control apparatus 250 according to the second embodiment, the device monitor unit 208 detects the operation states of the DMA control units 1 to 3 based on the DMA processing signals dma1 to dma3. The Then, the access interval table selection unit 268 selects an access interval table corresponding to the detection result of the device monitor unit 208. Next, based on the access interval table selected by the access interval table selection unit 268, the access permission / rejection determination unit 269 delays reception of the request signals req1 to req4 of each control unit. Then, bus arbitration control is performed according to the priority table T for the delayed request signals dreq1 to dreq4 for which the reception delay has been performed. That is, since bus arbitration control according to the operation state of the DMA control units 1 to 3 is performed, monopolization of the bus 5 by the DMA control units 1 to 3 is prevented, and the necessary access time is also secured for the CPU 14. Therefore, a situation where the system program stops is surely avoided.
[0040]
  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. Although the DMA control device in the copying machine has been exemplified as the first and second embodiments described above, the present invention is not limited to this and can be applied to any device that performs DMA control. Further, although the device monitor unit 208 is provided independently, it is of course possible to incorporate it in the bus arbitration unit 206 or 256. Further, the device monitoring unit 208 detects the operation status of each DMA control unit 1 to 3 based on the DMA processing signals dma1 to 3 of each DMA control unit 1 to 3, but based on the bus use permission signals ack1 to 3 The operation status of each of the DMA control units 1 to 3 may be detected. As a result, the number of signals output from the DMA controllers 1 to 3 can be reduced. In the second embodiment, only one priority table is provided. However, as in the first embodiment, a plurality of different priority tables are provided, and each of the DMA controllers 1 to One of them may be selected in accordance with the three operation situations.
[0041]
【The invention's effect】
  As described above, according to the DMA control device of the present invention, the operation status of each device connected to the shared bus is detected, and the contents of the bus arbitration control are changed based on the detection result. This prevents the device from monopolizing the shared bus and ensures the access to the shared bus by the CPU.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a DMA control apparatus according to a first embodiment.
FIG. 2 is an explanatory diagram for explaining operations of a bus arbitration unit and a device monitor unit of FIG. 1;
FIG. 3 is a block diagram illustrating a configuration of a bus arbitration unit in FIG. 1;
FIG. 4 is an explanatory diagram for explaining a selection table for selecting a priority order table;
FIG. 5 is an explanatory diagram for explaining a priority table stored in a priority table selection unit;
FIG. 6 is a flowchart showing an arbitration control routine in a bus arbitration unit.
FIG. 7 is a block diagram showing a configuration of a bus arbitration unit in the DMA control device according to the second embodiment.
FIG. 8 is an explanatory diagram for explaining a selection table for selecting an access interval table;
FIG. 9 is an explanatory diagram for explaining an access interval table stored in an access interval table selection unit;
FIG. 10 is a flowchart showing an arbitration control routine in a bus arbitration unit.
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 conventional bus arbitration unit;
FIG. 13 is an explanatory diagram for explaining priorities of bus arbitration control in a conventional bus arbitration unit.
[Explanation of symbols]
  1,2,3 DMA controller
  4 Access control unit
  5 Bus
  7 memory
  8. Bus monitor section
  17 Bus response controller
  200,250 DMA controller
  206,256 Bus arbitration section
  208 Device monitor
  218 Priority table selection unit
  268 Access interval table selection unit
  269 Access permission / rejection determination unit
  dma DMA processing signal
  req request signal
  dreq Delay request signal
  ack Bus use permission signal

Claims (1)

CPUと、
メモリと、
前記CPUおよび前記メモリが接続された共有バスと、
前記共有バスに接続されるとともに前記メモリにアクセスする、少なくともプリンタとスキャナを有する複数のデバイスと、
前記各デバイスによる前記共有バスへのアクセス後、次のアクセスが可能となるまでの最低アクセス間隔時間を記録した複数の異なるアクセス間隔テーブルと、
少なくとも前記プリンタとスキャナの動作状況を検出するデバイスモニタ手段と、
前記デバイスモニタ手段による検出の結果、前記プリンタが動作中であるか前記スキャナが動作中であるかに基づいて前記アクセス間隔テーブルのうち1つを選択するアクセス間隔テーブル選択手段と、
前記アクセス間隔テーブル選択手段により選択されたアクセス間隔テーブルに従い前記各デバイスによる前記共有バスへのアクセスの許否を決定するアクセス許否決定手段とを有し、
前記バス調停手段は、前記アクセス許否決定手段の決定に従い前記CPUおよび前記各デバイスによる前記共有バスへのアクセスを調停することを特徴とするDMA制御装置。
CPU,
Memory,
A shared bus to which the CPU and the memory are connected;
A plurality of devices having at least a printer and a scanner connected to the shared bus and accessing the memory;
A plurality of different access interval tables that record the minimum access interval time until the next access is possible after each device accesses the shared bus;
Device monitor means for detecting at least the operating status of the printer and scanner;
An access interval table selecting unit that selects one of the access interval tables based on whether the printer is operating or the scanner is operating as a result of detection by the device monitoring unit;
Access permission / non-permission determining means for determining permission / non-permission of access to the shared bus by each device according to the access interval table selected by the access interval table selecting means;
The bus arbitration means arbitrates access to the shared bus by the CPU and each device according to the determination of the access permission / rejection determination means.
JP07318199A 1999-03-08 1999-03-18 DMA controller Expired - Fee Related JP3985085B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07318199A JP3985085B2 (en) 1999-03-18 1999-03-18 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
JP07318199A JP3985085B2 (en) 1999-03-18 1999-03-18 DMA controller

Publications (2)

Publication Number Publication Date
JP2000267993A JP2000267993A (en) 2000-09-29
JP3985085B2 true JP3985085B2 (en) 2007-10-03

Family

ID=13510726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07318199A Expired - Fee Related JP3985085B2 (en) 1999-03-08 1999-03-18 DMA controller

Country Status (1)

Country Link
JP (1) JP3985085B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389030B1 (en) * 2001-06-21 2003-06-25 삼성전자주식회사 High speed direct memory access controller with multiple channels
JP4848562B2 (en) * 2005-08-22 2011-12-28 新世代株式会社 Multiprocessor
JP2012208790A (en) * 2011-03-30 2012-10-25 Renesas Electronics Corp Data transfer device
US10366020B2 (en) 2017-09-22 2019-07-30 Kabushiki Kaisha Toshiba Data transfer control device and image forming apparatus

Also Published As

Publication number Publication date
JP2000267993A (en) 2000-09-29

Similar Documents

Publication Publication Date Title
US7533206B2 (en) Resource management device
JP4480427B2 (en) Resource management device
US6976109B2 (en) Multi-level and multi-resolution bus arbitration
JP4457168B2 (en) Resource request arbitration device, resource request arbitration method, and computer program
US6519666B1 (en) Arbitration scheme for optimal performance
JPH08255126A (en) Bus access arbitration system and method for recognition bus access
JP2008276391A (en) Memory access control device
JP2015530679A (en) Method and apparatus using high efficiency atomic operations
JP3985085B2 (en) DMA controller
EP1029284B1 (en) Shared memory access controller
US6571306B1 (en) Bus request mechanism for bus master which is parked on a shared bus
JP2007087247A (en) Bus control system
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
JPH06161873A (en) Hang-up processings system for plural access points to main memory
JP2006277363A (en) Information transfer system, and image forming device
JP2887476B2 (en) Memory controller
JPH10334042A (en) Bus arbitration control device method therefor, and recording medium recorded with bus arbitration control program
JP2000276437A (en) Dma controller
JPH0830549A (en) Bus control device
KR100605867B1 (en) Bus arbitration method and bus arbitration having a dynamic priority order arbitration function
US7099971B1 (en) Arbitration system
JP2000259550A (en) Dma controller
JP2002091903A (en) Bus system
US6723190B1 (en) ESD sensitivity in titanium/boron compositions
JP4170506B2 (en) Arbitration circuit and method

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: 20051214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061003

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070425

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: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070625

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: 20100720

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130720

Year of fee payment: 6

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