JPH05120206A - Dmaコントローラ - Google Patents

Dmaコントローラ

Info

Publication number
JPH05120206A
JPH05120206A JP27951691A JP27951691A JPH05120206A JP H05120206 A JPH05120206 A JP H05120206A JP 27951691 A JP27951691 A JP 27951691A JP 27951691 A JP27951691 A JP 27951691A JP H05120206 A JPH05120206 A JP H05120206A
Authority
JP
Japan
Prior art keywords
channel
priority
request
dma
transfer
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.)
Pending
Application number
JP27951691A
Other languages
English (en)
Inventor
Toshiyuki Uchimura
敏幸 内村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP27951691A priority Critical patent/JPH05120206A/ja
Publication of JPH05120206A publication Critical patent/JPH05120206A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】優先順位が低位のチャネルであっても、優先順
位が巡回型のどのチャネルでも、転送要求が受付けられ
ると予め設定された期間、連続してデータ転送を行うこ
とができるようにする。 【構成】複数のチャネルCh0,Ch1のうちの1つの
チャネルのDMA転送要求(RQ0,RQ1)を受付け
ると、所定の単位のデータを予め設定された数だけ連続
した転送する期間を設ける。この連続転送制御回路14
はカウンタ15を含み、このカウンタ15よりデータの
転送数を定める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はDMAコントローラに関
し、特に複数のチャネルから出力されるDMA要求を処
理するための優先順位制御を備えたDMAコントローラ
に関する。
【0002】
【従来の技術】従来、マイクロコンピュータの分野に
は、メモリ・メモリ間、あるいは、I/O装置・メモリ
間のデータ転送を行うためのDMAコントローラがあ
る。
【0003】DMAコントローラには、複数のチャネル
が用意され、各チャネルから出力されるDMA転送要求
を受付け、予めチャネルごとに設定されているアドレス
と転送サイズに従ってデータ転送を行う。
【0004】この時、DMAコントローラには、複数の
DMA要求が同時に出力された場合にどのチャネルの要
求から受付けるのかを優先順位によって制御している。
この優先順位によって、要求を出しているチャネルの中
で優先順位の内最も高いチャネルの要求を受付ける。
【0005】この要求チャネルの選択は、1ワードのデ
ータを転送するごとに行われる。従って、優先順位の高
いチャネルから連続して転送要求が出力されている間は
そのチャネルが選択され続け、データ転送が行われるこ
とになる。低い優先順位のチャネルでは、高い優先順位
のチャネルから転送要求が出されていない時にだけデー
タ転送が行われる。
【0006】すなわち、このDMAコントローラでは、
チャネルごとに優先順位が固定されているため、より高
位の優先順位を持つチャネルのデータ転送サービスほど
連続した行われることになり、下位のチャネルでは、高
位のチャネルのデータ転送の間隙を使って断続的にデー
タ転送サービスを行うことになる。
【0007】また、このDMAコントローラでは、チャ
ネル間の優先順位を同程度に設定することができない。
そのために、いったん要求を受付けたチャネルの優先順
位が最下位に位置するように巡回させてどのチャネルも
同程度に受付けられるようにする方式のDMAコントロ
ーラがある。
【0008】
【発明が解決しようとする課題】上述した従来のDMA
コントローラは、第1の例ではチャネルごとに優先順位
が固定されているため、複数のチャネルを同時に動作さ
せた場合、下位のチャネルでは連続したデータ転送をす
ることが困難になるという欠点があり、また第2の例で
は、一度要求が受付けられてデータを転送するとそのチ
ャネルの優先順位は最下位になるように巡回型となって
いるため、特定のチャネルに集中してゲータ転送が行わ
れることはなくなるが、全てのチャネルが断続的に動作
し、連続したデータ転送ができないという欠点があっ
た。
【0009】このようなDMA転送では、例えばDRA
Mで構成されたメモリに対して転送を行う場合に高速な
アクセスができない。DRAMのアクセスモードをペー
ジモードのような高速アクセスモードにするには、連続
したメモリ領域を連続してアクセスができなくてはなら
ない。この従来のDMAコントローラでは、第1の例の
優先順位の上位のチャネルではこの連続メモリアクセス
が可能であるが、第1の例の下位側にチャネルにおいて
は転送が上位のチャネルの転送要求によって断続的にな
ってしまい、また第2の例では全てのチャネルが断続的
になってしまい、高速なメモリアクセスが行いにくい。
【0010】本発明の目的は、どのチャネルでも、転送
要求が受付けられると予め設定された期間、連続したデ
ータ転送を行うことができるDMAコントローラを提供
することにある。
【0011】
【課題を解決するための手段】本発明のDMAコントロ
ーラは、複数のチャネルから出力されるDMA転送要求
に対してそれぞれ予め受付け優先順位が設定され、前記
複数のチャネルのうちの2つ以上のチャネルからDMA
転送要求があったときには前記受付け優先順位の最も高
いチャネルのDMA転送要求を受付け、所定の単位のデ
ータの転送処理を行うDMAコントローラにおいて、前
記複数のチャネルのうちの1つのチャネルのDMA転送
要求を受付けると、前記所定の単位のデータを予め設定
された数だけ連続して転送する期間を設けて一時的にこ
のチャネルの受付け優先順位を最高位にし、この期間が
経過後は所定の受付け優先順位に戻るように制御する連
続転送制御手段を設けて構成される。
【0012】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0013】図1(A),(B)は本発明の第1の実施
例のブロック図及びこの実施例の要求信号選択部の内部
構成を示す回路図である。この実施例では、チャネルが
2つあり、これらのチャネルCh0,Ch1に2つのI
/O装置201,202がそれぞれ対応して接続される
場合について説明する。
【0014】通常、I/O装置201,202などから
出力されるDMA要求信号RQ0,RQ1は、DMAコ
ントローラの動作とは非同期に出力される。そのため、
DMAコントローラに入力されるDMA要求信号RQ
0,RQ1はいったん同期化される。それにあたるのが
2ビットレジスタ11である。
【0015】ここではサンプリング信号SP1によって
チャネルCh0のDMA要求信号RQ0とチャネルCh
1のDMA要求信号RQ1がサンプリングされる。サン
プリングされたDMA要求信号は優先順位設定回路12
により、予め設定されている優先順位に従いアクティブ
な信号のなかから1つを選びそれ以外の信号をマスクす
る。
【0016】本実施例では2チャネルであるから2つと
も要求信号がアクティブの場合にはDMA要求信号RQ
0が選択されるものとする。つまり、優先順位はRQ0
>RQ1である。
【0017】ここで選択されたDMA要求信号をつぎの
2ビットレジスタ13に入力し、再度サンプリング信号
SP2によってサンプリングし、ここから出力される信
号を内部要求信号IRQ0,IRQ1としてアドレス制
御部2に送る。ただし、ここから出力される内部要求信
号IRQ0,IRQ1は2つともアクティブになること
はない。この内部要求信号IRQ0,IRQ1に対して
アドレス制御部2から応答信号AK0,AK1が出力さ
れる。この応答信号AK0,AK1は所定の単位のデー
タが1つ転送されるごとに出力される。また、DMA要
求信号RQ0,RQ1の選択もデータが1つ転送される
ごとに繰り返えされていても受付けられない。従って、
このままではチャネルCh0の要求が出力され続けれ
ば、たとえチャネルCh1の要求が出力されていても受
付けられない。
【0018】また、従来のDMAコントローラであれ
ば、チャネルCh1の要求が受付けられ、データ転送を
行っていたとしても、途中でチャネルCh0の要求がア
クティブになった場合には次にデータ転送ではチャネル
Ch0の要求が受付けられる。しかし、本発明ではカウ
ンタ15を含む連続転送制御回路14が用意されてい
る。このカウンタ15は、内部要求信号IRQ1が
“0”の間はリセット状態となる。そして内部要求信号
IRQ1が1になるとカウントが可能となり、その出力
信号CVが“1”となる。カウンタ15は予め値が設定
されており、その設定値までカウントすると出力信号C
Vは“0”になる。カウントは応答信号AK1が1つ出
力されるごとに行われる。カウンタ15からの出力信号
CVが“1”の時、優先順位は逆転する。出力信号CV
によってチャネルCh0側のDMA要求信号RQ0はマ
スクされ、チャネルCh1側のDMA要求信号RQ1が
受付けられる。
【0019】例えばカウンタ15に“5”を設定した時
には、チャネルCh1の要求がいったん受付けられると
最大6回連続したデータを転送することができる。この
時、チャネルCh0の要求の状態には依存しない。
【0020】なお、DMA要求信号RQ0,RQ1が同
時にアクティブとなっている場合には常にDMA要求信
号RQ0が選択され、データを連続した転送できるの
で、DMA要求信号RQ0に対しては連続転送制御回路
14の機能を適用する必要がなく、本実施例ではDMA
要求信号RQ1に対してのみこの機能を適用している。
【0021】また、アドレス制御部2は、内部要求信号
IRQ0,IRQ1のうちのアクティブの内部要求信号
と対応するアドレス信号ADと、リード信号R,ライト
信号Wを出力し所定の装置間のDMA処理を制御する。
このDMA処理が行なわれるメモリシステムのブロック
図を図2に示す。
【0022】図3は本発明の第2の実施例の要求信号選
択部の回路図である。
【0023】この実施例は、第1の実施例のカウンタ1
5を、フリップフロップFF1〜FF3から成るシフト
レジスタに置換えたものである。
【0024】このシフトレジスタのシフトクロックは応
答信号AK1となっている。チャネルCh1側のデータ
が1つ転送されるごとに1ビットずつ左側にシフトされ
る。シフトされるデータは内部要求信号IRQ1であ
る。またシフトレジスタを構成するフリップフロップF
F1〜FF3は内部要求信号IRQ1が“0”の時リセ
ットされ、出力が“0”になる。
【0025】内部要求信号IRQ1が“0”の時、つま
りチャネルCh1側のデータ転送を行っていない時はチ
ャネルCh0側の要求はマスクされないが、チャネルC
h1側の要求が受付けられるとチャネルCh0側の要求
がマスクされる。ただし、マスクする期間は、シフトレ
ジスタを構成するフリップフロップFF3の出力が
“1”になるまでである。この出力信号が“1”になる
のは、シフトレジスタのリセットが解除され、シフトレ
ジスタの入力端にデータとして“1”が与えられ、段数
分のシフトが行われた時である。つまりそれはチャネル
Ch1側のデータの転送がシフトレジスタの段数に等し
い回数だけ行われた時である。本実施例ではその回数は
3回となる。
【0026】第1の実施例1ではデータの連続転送制御
をカウンタ15で実現しているが、第2の実施例ではシ
フトレジスタによって実現している。カウンタ方式であ
れば連続転送数をプログラマブルに設定できるが、シフ
トレジスタで構成した場合には固定される。しかし連続
転送数が固定の場合でかつその数が少ない場合にはカウ
ンタよりも容易に実現できる。
【0027】図4(A),(B)は本発明の第3の実施
例のブロック図及びこの実施例の要求信号選択部の内部
構成を示す回路図である。
【0028】この実施例は、優先順位が巡回型のDMA
コントローラに本発明を適用したもので、チャネル数は
4となっている。
【0029】4ビットレジスタ16aは、DMAコント
ローラの外部から入力される各チャネルDMA要求信号
RQ0〜RQ3を、内部の動作クロックに同期化させる
ためのものであり、またデータ転送手順内でのあるタイ
ミングでDMA要求信号をサンプリングするためのもの
である。
【0030】巡回型優先順位設定回路17は、要求を選
ぶ基準として予め各チャネルの優先順位を決めておき、
それに従って優先順位の高いものから選ぶものである。
初期状態での優先順位の並びはCh0>Ch1>Ch2
>Ch3とする。また本実施例では、一度受付けたチャ
ネルの優先順位を最下位にするようにデータ転送のたび
に優先順位を巡回させる。例えば、初期状態と同じ順位
の時にチャネルCh2の要求を受付けた場合には、優先
順位はCh3>Ch0>Ch1>Ch2の順に変更され
る。
【0031】各チャネルCh0〜Ch3のDMA要求信
号RQ0〜RQ3は、4ビットレジスタ16aによって
サンプリングされ巡回型優先順位設定回路17に出力さ
れる。この時点では、DMA要求信号は複数が“1”に
なる可能性がある。巡回型優先順位設定回路17に入力
されたDMA要求信号はここでそのうちの1つが選択さ
れ、それ以外は“0”にマスクされる。1つだけ選択さ
れたDMA要求信号は4ビットレジスタ16bで再度サ
ンプリングされてアドレス制御部2aに送られる。
【0032】本実施例では4ビットレジスタ16aと巡
回型優先順位設定回路17との間でDMA要求信号をマ
スク制御するための連続転送制御回路14bが挿入され
ている。この連続転送制御回路14bはどのDMA要求
信号も“0”の時には働かないが、1つでも要求が受付
けられて4ビットレジスタ16aから出力されるDMA
要求信号の1つが“1”になると、“1”になったDM
A要求信号以外のチャネルの要求を“0”にマスクす
る。
【0033】カウンタ15aはチャネルCh0〜Ch3
のDMA要求信号RQ0〜RQ3が全て“0”の時はリ
セットされたおり、出力信号はその時“1”である。ど
れか1つのDMA要求信号が“1”になるとリセットは
解除され、カウンタ15aは動作可能となる。この状態
で“1”になったDMA要求信号に対する応答信号がカ
ウンタ15aに入力される。この応答信号が入力される
とカウンタ15aは1ずつカウントする。
【0034】予め設定された数だけカウントするとカウ
ンタ15aは出力信号を“1”から“0”に変化させ
る。応答信号は、データが1つ転送されるごとに出力さ
れるので、カウント15aがカウントするのはデータの
転送数となる。
【0035】従って、あるチャネルの要求が1度受付け
られると、他のチャネルの要求は4ビットレジスタ1と
巡回型優先順位設定回路17との間で“0”にマスクさ
れ、このマスクは、受付けられたチャネルの転送がカウ
ンタ15aに設定されている数だけ連続した行われる
か、あるいはそれまでに要求がなくなるまで続く。巡回
型優先順位設定回路17では要求を受付けたチャネルの
優先順位を最下位に位置されるように変更するが、その
前段で他のチャネルの要求がマスクされているために、
同じチャネルの要求を受付けることになる。カウンタ1
5aが設定値までカウントした場合にはいったんその出
力信号“0”に変化するため、これによってマスクが解
除される。この時、優先順位は受付けられていたチャネ
ルが最下位になるように巡回しているので他のチャネル
からの要求があれば、そのチャネルの要求が受付けられ
る。以後、同様の動作が行われる。
【0036】図5は本発明の第4の実施例を示す回路図
である。
【0037】この実施例は、第3の実施例のカウンタ1
5aを、フリップフロップFF1〜FF3から成るシフ
トレジスタに置換えたものである。
【0038】このシフトレジスタのシフトクロックは、
各チャネルCh0〜Ch3に対応する応答信号AK0〜
AK3の論理和となっている。このシフトレジスタは、
内部要求信号IRQ0〜IRQ3の論理和信号をデータ
として、応答信号(AK0〜AK3)が1つ返されるご
とにフリップフロップFF1から1ビットずつそのデー
タを左側にシフトするものである。またシフトレジスタ
を構成するフリップフロップFF1〜FF3は内部要求
信号IRQ0〜IRQ3の論理和信号が“0”と時リセ
ットされ出力が“0”になる。
【0039】第3の実施例の場合にはカウンタ15aが
カウントする間その出力が“1”であったが、この第4
の実施例ではシフトレジスタの左端に“1”が伝搬する
までシフトレジスタの出力は“0”となる。この出力を
反転させ、内部要求信号IRQ0〜IRQ3の論理和信
号との論理積をとった信号が、カウンタ15aの出力信
号に相当する。
【0040】ただ、第3の実施例では連続転送回数を制
御するのにカウンタ15aに回数を設定したのに対して
第4の実施例ではシフトレジスタのビット数(フリップ
フロップの数)がその回数となる。カウンタ方式であれ
ば連続転送数をプログラマブルに設定できるが、シフト
レジスタで構成した場合には固定される。しかし連続転
送数が固定の場合でかつその数が少ない場合にはカウン
タよりも容易に実現できる。
【0041】
【発明の効果】以上説明したように本発明は、複数のチ
ャネルのうちの1つのチャネルのDMA転送要求を受付
けると、所定の単位のデータを予め設定された数だけ連
続して転送する期間を設けて一時的にこのチャネルの受
付け優先順位を最高位にし、この期間が経過後は所定の
受付け優先順位に戻るように制御する連続転送制御手段
を設けた構成とすることにより、優先順位を巡回す方式
であっても、優先順位が固定の方式で定位の優先順位で
あっても同じチャネルでの連続したデータ転送が可能に
なるという効果がある。
【0042】このことはシステム全体からみて効率の良
いデータ転送を行うのに有効である。
【0043】例えばI/O装置側がFIFOキューの場
合、1データずつ転送するよりもキューの深さに合せて
ある程度まとめてデータを転送した方が効率的に転送が
行えるが、従来の方式では1度要求が受付けられると次
の回では優先順位が最下位になり、連続して転送するこ
とが困難であった。しかし、本発明を適用すれば、指定
された回数だけ一時的に優先順位を最上位に維持するこ
とができ、そのため連続してデータを転送することがで
きる。
【0044】また、メモリがDRAMで構成されている
場合、本発明は有効である。DRAMをアクセスする場
合にはアドレスをローアドレスとカラムアドレスの2回
に分けて与える。このとき、ローアドレスが同じ領域を
アクセスするような時には1度ローアドレスを与えた後
はカラムアドレスだけを連続して与えて高速にアクセス
する方法がある。この方法でDRAMをアクセスするに
はなるべく連続した領域を連続してアクセスしなければ
ならない。
【0045】従来のDMAコントローラでは、複数のチ
ャネルが動作した場合には、チャネルによって違う領域
のメモリを断続的にアクセスすることになるが、本発明
ではそれぞれのチャネルが連続的に動作することができ
るため、上記の高速アクセスの回数が増加し、転送速度
も向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図及びこの実
施例の要求信号選択部の内部構成を示す回路図である。
【図2】図1に示された実施例のDMAコントローラを
メモリシステムに適用したときのブロック図である。
【図3】本発明の第2の実施例の要求信号選択部の回路
図である。
【図4】本発明の第3の実施例のブロック図及びこの実
施例の要求信号選択部の内部構成を示す回路図である。
【図5】本発明の第4の実施例の要求信号選択部の回路
図である。
【符号の説明】
1,1a〜1c 要求信号選択部 2,2a アドレス制御部 11 2ビットレジスタ 12,12a 優先順位設定回路 13 2ビットレジスタ 14,14a〜14c 連続転送制御回路 15,15a カウンタ 16a,16b 4ビットレジスタ 17 巡回型優先順位設定回路 100 DMAコントローラ 201,202 I/O装置 300 ホストプロセッサ 400 メモリ 500 データバス 600 制御バス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のチャネルから出力されるDMA転
    送要求に対してそれぞれ予め受付け優先順位が設定さ
    れ、前記複数のチャネルのうちの2つ以上のチャネルか
    らDMA転送要求があったときには前記受付け優先順位
    の最も高いチャネルのDMA転送要求を受付け、所定の
    単位のデータの転送処理を行うDMAコントローラにお
    いて、前記複数のチャネルのうちの1つのチャネルのD
    MA転送要求を受付けると、前記所定の単位のデータを
    予め設定された数だけ連続して転送する期間を設けて一
    時的にこのチャネルの受付け優先順位を最高位にし、こ
    の期間が経過後は所定の受付け優先順位に戻るように制
    御する連続転送制御手段を設けたことを特徴とするDM
    Aコントローラ。
  2. 【請求項2】 所定の単位のデータを予め設定された数
    だけ連続して転送する期間が経過したチャネルの受付け
    優先順位を最下位とする巡回型である請求項1記載のD
    MAコントローラ。
JP27951691A 1991-10-25 1991-10-25 Dmaコントローラ Pending JPH05120206A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27951691A JPH05120206A (ja) 1991-10-25 1991-10-25 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27951691A JPH05120206A (ja) 1991-10-25 1991-10-25 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH05120206A true JPH05120206A (ja) 1993-05-18

Family

ID=17612127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27951691A Pending JPH05120206A (ja) 1991-10-25 1991-10-25 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH05120206A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125827A (ja) * 1999-08-31 2001-05-11 Koninkl Philips Electronics Nv 共用資源へのアクセス
WO2004102404A1 (ja) * 2003-05-14 2004-11-25 Fujitsu Limited データ転送装置
JP4774152B2 (ja) * 1999-01-08 2011-09-14 インテル・コーポレーション 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4774152B2 (ja) * 1999-01-08 2011-09-14 インテル・コーポレーション 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置
JP2001125827A (ja) * 1999-08-31 2001-05-11 Koninkl Philips Electronics Nv 共用資源へのアクセス
WO2004102404A1 (ja) * 2003-05-14 2004-11-25 Fujitsu Limited データ転送装置

Similar Documents

Publication Publication Date Title
US4523274A (en) Data processing system with processors having different processing speeds sharing a common bus
US7472213B2 (en) Resource management device
US5710891A (en) Pipelined distributed bus arbitration system
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
EP0476990A2 (en) Dynamic bus arbitration
US5546547A (en) Memory bus arbiter for a computer system having a dsp co-processor
US5699516A (en) Method and apparatus for implementing a in-order termination bus protocol within a data processing system
US5313591A (en) Computer bus arbitration for N processors requiring only N unidirectional signal leads
GB2103850A (en) Memory refresh circuit
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
US4896266A (en) Bus activity sequence controller
US6314499B1 (en) Non-preemptive memory locking mechanism in a shared resource system
US6163831A (en) Minimum refractory period in a multiple agent resource sharing environment
JPH05120206A (ja) Dmaコントローラ
JPS594733B2 (ja) キヨウツウバスセイギヨカイロ
JPH03150654A (ja) キヤツシユを有するプロセツサのための優先制御システム
JPH09153009A (ja) 階層構成バスのアービトレーション方法
US4567571A (en) Memory control for refreshing in a step mode
US6499087B1 (en) Synchronous memory sharing based on cycle stealing
JPS58223833A (ja) ダイレクト・メモリ・アクセス制御方式
US20010005870A1 (en) External bus control system
JP2837698B2 (ja) ダイレクト・メモリ・アクセス制御装置
JPH04346140A (ja) 共有メモリのアクセス制御装置
KR20040063404A (ko) 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001107