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