JPH06314249A - データ転送装置 - Google Patents
データ転送装置Info
- Publication number
- JPH06314249A JPH06314249A JP10387393A JP10387393A JPH06314249A JP H06314249 A JPH06314249 A JP H06314249A JP 10387393 A JP10387393 A JP 10387393A JP 10387393 A JP10387393 A JP 10387393A JP H06314249 A JPH06314249 A JP H06314249A
- Authority
- JP
- Japan
- Prior art keywords
- priority
- cpu
- bus
- request
- dma
- 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)【要約】
【目的】 装置全体の処理速度を向上させる。
【構成】 CPU2、周辺デバイス4乃至6には、優先
度が割り当てられている。そして、例えば周辺デバイス
5および6からDMA要求が出力され、さらにその後、
CPU2からDMAC1に対してバス権の要求がなされ
た場合には、DMAC1において、周辺デバイス5のD
MA要求、周辺デバイス6のDMA要求、およびCPU
2のバス権要求に対する処理が、その優先度の高い順に
行われる。
度が割り当てられている。そして、例えば周辺デバイス
5および6からDMA要求が出力され、さらにその後、
CPU2からDMAC1に対してバス権の要求がなされ
た場合には、DMAC1において、周辺デバイス5のD
MA要求、周辺デバイス6のDMA要求、およびCPU
2のバス権要求に対する処理が、その優先度の高い順に
行われる。
Description
【0001】
【産業上の利用分野】本発明は、例えばコンピュータシ
ステムなどに用いられるDMAC(Direct Memory Acce
ss Controller)などのデータ転送装置に関する。
ステムなどに用いられるDMAC(Direct Memory Acce
ss Controller)などのデータ転送装置に関する。
【0002】
【従来の技術】CPUからバスを使用する権利(以下、
バス権という)を獲得し、CPUに代わってデバイス間
のデータ転送の制御を行う、従来のDMACにおいて
は、複数のデバイスからDMAの要求(以下、DMA要
求という)があった場合、すべてのDMA要求のうち、
優先順位の高いDMA要求から順次実行するようになさ
れている。
バス権という)を獲得し、CPUに代わってデバイス間
のデータ転送の制御を行う、従来のDMACにおいて
は、複数のデバイスからDMAの要求(以下、DMA要
求という)があった場合、すべてのDMA要求のうち、
優先順位の高いDMA要求から順次実行するようになさ
れている。
【0003】さらに、このようなDMACでは、ある1
つのデバイスによるDMAの独占状態を避けるために、
あるデバイスに対するDMAを実行した後には、そのデ
バイスのDMA要求の優先順位を下げるようになされて
いる。
つのデバイスによるDMAの独占状態を避けるために、
あるデバイスに対するDMAを実行した後には、そのデ
バイスのDMA要求の優先順位を下げるようになされて
いる。
【0004】
【発明が解決しようとする課題】ところで、近年、いわ
ゆるマルチメディア化によって、コンピュータシステム
に接続されるデバイスが増加し、これによりデバイスど
うしの間でデータを転送させるための、DMACによる
バス占有時間が増加してきている。
ゆるマルチメディア化によって、コンピュータシステム
に接続されるデバイスが増加し、これによりデバイスど
うしの間でデータを転送させるための、DMACによる
バス占有時間が増加してきている。
【0005】DMACが、バスを占有している間は、C
PUはバスにアクセスすることができず、従ってDMA
Cの長時間のバスの占有により、装置全体の処理速度が
低下する課題があった。
PUはバスにアクセスすることができず、従ってDMA
Cの長時間のバスの占有により、装置全体の処理速度が
低下する課題があった。
【0006】そこで、CPUがバスにアクセスする必要
が生じた場合、即座に、あるいは現在実行中のDMAの
終了後に、残っているDMA要求を保持して、バス権を
CPUに返すDMACがある。
が生じた場合、即座に、あるいは現在実行中のDMAの
終了後に、残っているDMA要求を保持して、バス権を
CPUに返すDMACがある。
【0007】しかしながら、この場合、CPUの処理よ
りも先に行う必要のあるDMAがあっても、バス権がC
PUに返されるため、やはり装置全体の処理速度が低下
する課題があった。
りも先に行う必要のあるDMAがあっても、バス権がC
PUに返されるため、やはり装置全体の処理速度が低下
する課題があった。
【0008】本発明は、このような状況に鑑みてなされ
たものであり、装置全体の処理速度を向上させるもので
ある。
たものであり、装置全体の処理速度を向上させるもので
ある。
【0009】
【課題を解決するための手段】請求項1に記載のデータ
転送装置は、例えば周辺デバイス4乃至6やメモリ3な
どのデバイスからのデータ転送要求に応じて、例えばC
PU2などの中央演算処理装置からバス権を獲得し、周
辺デバイス4乃至6やメモリ3によるデータの転送を制
御するデータ転送装置において、周辺デバイス4乃至6
やメモリ3の優先度、およびCPU2の優先度を記述し
た優先度テーブルを記憶している記憶手段としての優先
度テーブル記憶部11を備え、周辺デバイス4乃至6や
メモリ3のうちの複数のデバイスからデータ転送要求の
あったときには、周辺デバイス4乃至6やメモリ3の優
先度順に、データの転送を制御し、CPU2からバス権
を獲得している最中に、CPU2からバス権の要求があ
った場合には、CPU2の優先度が、いまデータ転送要
求をしている周辺デバイス4乃至6やメモリ3の優先度
より高いときのみ、CPU2にバス権を返すことを特徴
とする。
転送装置は、例えば周辺デバイス4乃至6やメモリ3な
どのデバイスからのデータ転送要求に応じて、例えばC
PU2などの中央演算処理装置からバス権を獲得し、周
辺デバイス4乃至6やメモリ3によるデータの転送を制
御するデータ転送装置において、周辺デバイス4乃至6
やメモリ3の優先度、およびCPU2の優先度を記述し
た優先度テーブルを記憶している記憶手段としての優先
度テーブル記憶部11を備え、周辺デバイス4乃至6や
メモリ3のうちの複数のデバイスからデータ転送要求の
あったときには、周辺デバイス4乃至6やメモリ3の優
先度順に、データの転送を制御し、CPU2からバス権
を獲得している最中に、CPU2からバス権の要求があ
った場合には、CPU2の優先度が、いまデータ転送要
求をしている周辺デバイス4乃至6やメモリ3の優先度
より高いときのみ、CPU2にバス権を返すことを特徴
とする。
【0010】請求項2に記載のデータ転送装置は、優先
度テーブルが、書き換え可能であることを特徴とする。
度テーブルが、書き換え可能であることを特徴とする。
【0011】請求項3に記載のデータ転送装置は、優先
度テーブルに記述された周辺デバイス4乃至6やメモリ
3の優先度、およびCPU2の優先度は、ラウンドロビ
ン方式で書き換えられることを特徴とする。
度テーブルに記述された周辺デバイス4乃至6やメモリ
3の優先度、およびCPU2の優先度は、ラウンドロビ
ン方式で書き換えられることを特徴とする。
【0012】
【作用】請求項1に記載のデータ転送装置においては、
周辺デバイス4乃至6やメモリ3のうちの複数からデー
タ転送要求のあったときには、周辺デバイス4乃至6や
メモリ3の優先度順に、データの転送を制御し、CPU
2からバス権を獲得している最中に、CPU2からバス
権の要求があった場合には、CPU2の優先度が、いま
データ転送要求をしている周辺デバイス4乃至6やメモ
リ3の優先度より高いときのみ、CPU2にバス権を返
す。従って、いまされているCPU2のバス権の要求、
および周辺デバイス4乃至6やメモリ3のデータ転送要
求のうち、最も優先度の高いものにバス権が与えられる
ので、優先度の高い順に要求が処理され、その結果、装
置全体の処理速度を向上させることができる。
周辺デバイス4乃至6やメモリ3のうちの複数からデー
タ転送要求のあったときには、周辺デバイス4乃至6や
メモリ3の優先度順に、データの転送を制御し、CPU
2からバス権を獲得している最中に、CPU2からバス
権の要求があった場合には、CPU2の優先度が、いま
データ転送要求をしている周辺デバイス4乃至6やメモ
リ3の優先度より高いときのみ、CPU2にバス権を返
す。従って、いまされているCPU2のバス権の要求、
および周辺デバイス4乃至6やメモリ3のデータ転送要
求のうち、最も優先度の高いものにバス権が与えられる
ので、優先度の高い順に要求が処理され、その結果、装
置全体の処理速度を向上させることができる。
【0013】請求項2に記載のデータ転送装置において
は、優先度テーブルが、書き換え可能であるので、例え
ば緊急な要求が生じたときに、優先度テーブルを書き換
えるようにすることによって、その要求を最優先で処理
するようにすることができる。従って、装置全体の処理
速度を、さらに向上させることができる。
は、優先度テーブルが、書き換え可能であるので、例え
ば緊急な要求が生じたときに、優先度テーブルを書き換
えるようにすることによって、その要求を最優先で処理
するようにすることができる。従って、装置全体の処理
速度を、さらに向上させることができる。
【0014】請求項3に記載のデータ転送装置において
は、優先度テーブルに記述された周辺デバイス4乃至6
やメモリ3の優先度、およびCPU2の優先度は、ラウ
ンドロビン方式で書き換えられるので、周辺デバイス4
乃至6やメモリ3およびCPU2のうちの1つの要求だ
けが処理されて装置全体の処理速度が低下することが防
止される。
は、優先度テーブルに記述された周辺デバイス4乃至6
やメモリ3の優先度、およびCPU2の優先度は、ラウ
ンドロビン方式で書き換えられるので、周辺デバイス4
乃至6やメモリ3およびCPU2のうちの1つの要求だ
けが処理されて装置全体の処理速度が低下することが防
止される。
【0015】
【実施例】図1は、本発明のデータ転送装置を適用した
コンピュータシステムの一実施例の構成を示すブロック
図である。DMAC(Direct Memory Access Controlle
r)1は、例えば3つのDMAチャネルを有し、図2に
示すように、優先度テーブル記憶部11、優先順位判定
ブロック12、転送仕様テーブル記憶部13、転送管理
レジスタテーブル14、制御回路15、データバスバッ
ファ16、およびアドレスバスバッファ17から構成さ
れ、周辺デバイス4乃至6からデータ転送要求(以下、
DMA要求という)を受信し、CPU2からバス権を獲
得して、CPU2の代わりに、周辺デバイス4乃至6
と、メモリ3との間におけるデータの転送(DMA)を
制御する。
コンピュータシステムの一実施例の構成を示すブロック
図である。DMAC(Direct Memory Access Controlle
r)1は、例えば3つのDMAチャネルを有し、図2に
示すように、優先度テーブル記憶部11、優先順位判定
ブロック12、転送仕様テーブル記憶部13、転送管理
レジスタテーブル14、制御回路15、データバスバッ
ファ16、およびアドレスバスバッファ17から構成さ
れ、周辺デバイス4乃至6からデータ転送要求(以下、
DMA要求という)を受信し、CPU2からバス権を獲
得して、CPU2の代わりに、周辺デバイス4乃至6
と、メモリ3との間におけるデータの転送(DMA)を
制御する。
【0016】即ち、優先度テーブル記憶部11は、周辺
デバイス4乃至6のDMA要求の優先度、およびCPU
2のバス権要求の優先度が記述された、例えば図3に示
すような優先度テーブルを記憶している。
デバイス4乃至6のDMA要求の優先度、およびCPU
2のバス権要求の優先度が記述された、例えば図3に示
すような優先度テーブルを記憶している。
【0017】ここで、図3の優先度テーブルは、DMA
C1の3つのチャネル0乃至2に周辺デバイス4乃至6
がそれぞれ割り当てられているとともに、周辺デバイス
4乃至6(チャネル0乃至2)またはCPU2に、1,
3,0、または2の優先度がそれぞれ割り当てられてい
ることを示している。
C1の3つのチャネル0乃至2に周辺デバイス4乃至6
がそれぞれ割り当てられているとともに、周辺デバイス
4乃至6(チャネル0乃至2)またはCPU2に、1,
3,0、または2の優先度がそれぞれ割り当てられてい
ることを示している。
【0018】なお、本実施例においては、優先度は、そ
の値が小さいほど、高いものとする。
の値が小さいほど、高いものとする。
【0019】優先順位判定ブロック12(図2)は、周
辺デバイス4乃至6のいずれか1つからDMA要求を受
信した場合(DMA要求がLレベルからHレベルにされ
た場合)、CPU2に対し、バス権を獲得するための制
御信号(以下、BUS要求という)を出力し(BUS要
求をLレベルからHレベルにし)、その後、CPU2か
らバス権の獲得に対する許可信号(以下、BUS要求O
Kという)を受信すると(BUS要求OKがLレベルか
らHレベルにされると)、DMA要求をした周辺デバイ
スに対し、CPU2からバス権を獲得したことを示す制
御信号(以下、DMA−OKという)を出力する(DM
A−OKをLレベルからHレベルにする)。
辺デバイス4乃至6のいずれか1つからDMA要求を受
信した場合(DMA要求がLレベルからHレベルにされ
た場合)、CPU2に対し、バス権を獲得するための制
御信号(以下、BUS要求という)を出力し(BUS要
求をLレベルからHレベルにし)、その後、CPU2か
らバス権の獲得に対する許可信号(以下、BUS要求O
Kという)を受信すると(BUS要求OKがLレベルか
らHレベルにされると)、DMA要求をした周辺デバイ
スに対し、CPU2からバス権を獲得したことを示す制
御信号(以下、DMA−OKという)を出力する(DM
A−OKをLレベルからHレベルにする)。
【0020】さらに、優先順位判定ブロック12は、周
辺デバイス4乃至6のうちの複数からDMA要求を受信
した場合、まず上述のようにしてバス権を獲得する。そ
して、優先度テーブル記憶部11に記憶された優先度テ
ーブルを参照し、DMA要求を出力した周辺デバイスの
うち、優先度の最も高いものにDMA−OKを出力す
る。
辺デバイス4乃至6のうちの複数からDMA要求を受信
した場合、まず上述のようにしてバス権を獲得する。そ
して、優先度テーブル記憶部11に記憶された優先度テ
ーブルを参照し、DMA要求を出力した周辺デバイスの
うち、優先度の最も高いものにDMA−OKを出力す
る。
【0021】また、優先順位判定ブロック12は、DM
AC1がバス権を獲得している最中に、CPU2からの
BUS要求OKが取り下げられた場合(BUS要求OK
がHレベルからLレベルにされた場合)、優先度テーブ
ル記憶部11に記憶された優先度テーブルを参照し、C
PU2の優先度が、いまDMA要求を出力している周辺
デバイスの優先度より高いときのみ、CPU2に対する
BUS要求および周辺デバイスに対するDMA−OKを
下げ(BUS要求およびDMA−OKをHレベルからL
レベルにし)、CPU2にバス権を返す。
AC1がバス権を獲得している最中に、CPU2からの
BUS要求OKが取り下げられた場合(BUS要求OK
がHレベルからLレベルにされた場合)、優先度テーブ
ル記憶部11に記憶された優先度テーブルを参照し、C
PU2の優先度が、いまDMA要求を出力している周辺
デバイスの優先度より高いときのみ、CPU2に対する
BUS要求および周辺デバイスに対するDMA−OKを
下げ(BUS要求およびDMA−OKをHレベルからL
レベルにし)、CPU2にバス権を返す。
【0022】さらに、優先順位判定ブロック12は、い
まDMAを制御しているチャネルのチャネル番号を転送
仕様テーブル記憶部13および制御回路15に出力す
る。
まDMAを制御しているチャネルのチャネル番号を転送
仕様テーブル記憶部13および制御回路15に出力す
る。
【0023】転送仕様テーブル記憶部13は、3つのD
MAチャネルの転送仕様が記述された、例えば図4に示
すような転送仕様テーブルを記憶しており、優先順位判
定ブロック12からDMAを行うチャネル番号を受信す
ると、そのチャネル番号の転送仕様を転送管理レジスタ
テーブル記憶部14に出力する。
MAチャネルの転送仕様が記述された、例えば図4に示
すような転送仕様テーブルを記憶しており、優先順位判
定ブロック12からDMAを行うチャネル番号を受信す
ると、そのチャネル番号の転送仕様を転送管理レジスタ
テーブル記憶部14に出力する。
【0024】ここで、図4の転送仕様テーブルは、周辺
デバイス4乃至6に割り当てられたチャンネル0乃至2
におけるデータの転送方向が、それぞれメモリ3から周
辺デバイス4、周辺デバイス5からメモリ3、または周
辺デバイス6からメモリ3であり、各チャネル0乃至2
において使用されるメモリ3の先頭アドレスが、それぞ
れ100H,200H、または300Hであることを示
しているとともに、各チャネル0乃至2において1回の
DMA要求に対し、64バイト、32バイト、または2
0バイトのデータがそれぞれ転送されることを示してい
る。
デバイス4乃至6に割り当てられたチャンネル0乃至2
におけるデータの転送方向が、それぞれメモリ3から周
辺デバイス4、周辺デバイス5からメモリ3、または周
辺デバイス6からメモリ3であり、各チャネル0乃至2
において使用されるメモリ3の先頭アドレスが、それぞ
れ100H,200H、または300Hであることを示
しているとともに、各チャネル0乃至2において1回の
DMA要求に対し、64バイト、32バイト、または2
0バイトのデータがそれぞれ転送されることを示してい
る。
【0025】転送管理レジスタテーブル記憶部14は、
DMAのときに必要な情報としての、データの転送方
向、メモリ3に対してデータを読み書きするアドレス、
転送するデータの残りの数(以下、残りワード数とい
う)が記述された転送管理レジスタテーブル(図5)を
記憶する。
DMAのときに必要な情報としての、データの転送方
向、メモリ3に対してデータを読み書きするアドレス、
転送するデータの残りの数(以下、残りワード数とい
う)が記述された転送管理レジスタテーブル(図5)を
記憶する。
【0026】制御回路15は、図示せぬクロック発生回
路からのクロックに同期して動作し、転送管理レジスタ
テーブル記憶部14に記憶された転送管理レジスタテー
ブルを参照して、優先順位判定ブロック12から出力さ
れたチャネル番号のDMAの制御を行う。さらに、制御
回路15は、DMA時のバス制御信号(例えばR/W
(リード/ライト)信号など)を出力するとともに、ア
ドレスなどの同期制御を行う。
路からのクロックに同期して動作し、転送管理レジスタ
テーブル記憶部14に記憶された転送管理レジスタテー
ブルを参照して、優先順位判定ブロック12から出力さ
れたチャネル番号のDMAの制御を行う。さらに、制御
回路15は、DMA時のバス制御信号(例えばR/W
(リード/ライト)信号など)を出力するとともに、ア
ドレスなどの同期制御を行う。
【0027】データバスバッファ16は、バス(データ
バス)上のデータをラッチし、優先度テーブル記憶部1
1または制御回路15に出力するとともに、優先度テー
ブル記憶部11および制御回路15からのデータをラッ
チし、バス(データバス)上に出力する。
バス)上のデータをラッチし、優先度テーブル記憶部1
1または制御回路15に出力するとともに、優先度テー
ブル記憶部11および制御回路15からのデータをラッ
チし、バス(データバス)上に出力する。
【0028】アドレスバスバッファ17は、転送管理レ
ジスタテーブル記憶部14より出力されるアドレスをラ
ッチし、バス(アドレスバス)上に出力する。
ジスタテーブル記憶部14より出力されるアドレスをラ
ッチし、バス(アドレスバス)上に出力する。
【0029】図1に戻り、CPU2は、メモリ3に記憶
されたシステムプログラムに基づいて動作し、同じくメ
モリ3に記憶されているアプリケーションプログラムに
したがって所定の処理を実行する。さらに、CPU2
は、DMAC1からBUS要求があった場合、バス権を
放棄することができる状態であるときには、BUS要求
OKをDMAC1に出力し、バス権をDMAC1に与え
る。また、CPU2は、DMAC1にバス権がある場
合、自身がバスにアクセスする必要が生じたときには、
BUS要求OKを取り下げ、DMAC1に対し、バス権
を返すように要求する。
されたシステムプログラムに基づいて動作し、同じくメ
モリ3に記憶されているアプリケーションプログラムに
したがって所定の処理を実行する。さらに、CPU2
は、DMAC1からBUS要求があった場合、バス権を
放棄することができる状態であるときには、BUS要求
OKをDMAC1に出力し、バス権をDMAC1に与え
る。また、CPU2は、DMAC1にバス権がある場
合、自身がバスにアクセスする必要が生じたときには、
BUS要求OKを取り下げ、DMAC1に対し、バス権
を返すように要求する。
【0030】メモリ3には、例えばシステムプログラム
やアプリケーションプログラムが記憶されている。さら
に、メモリ3は、装置の動作上必要なデータを記憶す
る。なお、本実施例においては、メモリ3のアドレス空
間100H乃至13FHの64バイト、200H乃至2
1FHの32バイト、または300H乃至313Hの2
0バイトが、周辺デバイス4乃至6それぞれとメモリ3
との間のデータ転送用の領域とされている。
やアプリケーションプログラムが記憶されている。さら
に、メモリ3は、装置の動作上必要なデータを記憶す
る。なお、本実施例においては、メモリ3のアドレス空
間100H乃至13FHの64バイト、200H乃至2
1FHの32バイト、または300H乃至313Hの2
0バイトが、周辺デバイス4乃至6それぞれとメモリ3
との間のデータ転送用の領域とされている。
【0031】周辺デバイス4乃至6は、例えば画像処理
ボードや音声処理ボードなどの所定の処理を行うボード
などで、データ転送の必要性が生じると、DMAC1に
対し、DMA要求を出力するようになされている。
ボードや音声処理ボードなどの所定の処理を行うボード
などで、データ転送の必要性が生じると、DMAC1に
対し、DMA要求を出力するようになされている。
【0032】なお、図1においては、デバイス4乃至6
とメモリ3とを区別しているが、本明細書中において、
デバイスという場合には、周辺デバイス4乃至6などの
周辺デバイスだけでなく、メモリ3のようなメモリを含
むものとする。
とメモリ3とを区別しているが、本明細書中において、
デバイスという場合には、周辺デバイス4乃至6などの
周辺デバイスだけでなく、メモリ3のようなメモリを含
むものとする。
【0033】次に、その動作について説明する。まず、
CPU2により、自身または周辺デバイス4乃至6(D
MAのチャネル0乃至2)の優先度が、例えばその処理
の重要性に基づいて、それぞれ2,1,3、または0と
設定され、バス(データバス)およびDMAC1(図
2)のデータバスバッファ16を介して優先度テーブル
記憶部11に記憶された優先度テーブル(図3)に記述
される。
CPU2により、自身または周辺デバイス4乃至6(D
MAのチャネル0乃至2)の優先度が、例えばその処理
の重要性に基づいて、それぞれ2,1,3、または0と
設定され、バス(データバス)およびDMAC1(図
2)のデータバスバッファ16を介して優先度テーブル
記憶部11に記憶された優先度テーブル(図3)に記述
される。
【0034】そして、例えば周辺デバイス4乃至6のう
ちの、例えば周辺デバイス4のみからDMA要求がDM
AC1に対して出力された場合には、DMAC1の優先
順位判定ブロック12により受信され、CPU2に対
し、BUS要求が出力される。
ちの、例えば周辺デバイス4のみからDMA要求がDM
AC1に対して出力された場合には、DMAC1の優先
順位判定ブロック12により受信され、CPU2に対
し、BUS要求が出力される。
【0035】CPU2(図1)は、DMAC1(優先順
位判定ブロック12)からのBUS要求を受信すると、
バスへのアクセスの必要がないときには、BUS要求O
K信号をDMAC1(優先順位判定ブロック12)に出
力し、バス権をDMAC1に与える。
位判定ブロック12)からのBUS要求を受信すると、
バスへのアクセスの必要がないときには、BUS要求O
K信号をDMAC1(優先順位判定ブロック12)に出
力し、バス権をDMAC1に与える。
【0036】優先順位判定ブロック12(図2)は、C
PU2からのBUS要求OKを受信すると、DMA要求
した周辺デバイス4に割り当てられたチャネル番号0を
転送仕様テーブル記憶部13に出力し、そこに記憶され
た転送仕様テーブル(図4)のうちの、チャネル番号0
の転送仕様、即ちメモリ3のアドレス100Hからの6
4バイトのデータを周辺デバイス4に順次転送するとい
う情報(仕様)を転送管理レジスタテーブル記憶部14
に出力させる。
PU2からのBUS要求OKを受信すると、DMA要求
した周辺デバイス4に割り当てられたチャネル番号0を
転送仕様テーブル記憶部13に出力し、そこに記憶され
た転送仕様テーブル(図4)のうちの、チャネル番号0
の転送仕様、即ちメモリ3のアドレス100Hからの6
4バイトのデータを周辺デバイス4に順次転送するとい
う情報(仕様)を転送管理レジスタテーブル記憶部14
に出力させる。
【0037】転送管理レジスタテーブル記憶部14は、
転送仕様テーブル記憶部13からのチャネル番号0の転
送仕様を、図5(a)に示すような転送管理レジスタテ
ーブルに記述して記憶する。
転送仕様テーブル記憶部13からのチャネル番号0の転
送仕様を、図5(a)に示すような転送管理レジスタテ
ーブルに記述して記憶する。
【0038】即ち、この場合、転送管理レジスタテーブ
ル(図5(a))には、転送方向がメモリ3から周辺デ
バイス4、メモリ3に対してデータを読み書きするアド
レス(以下、現在のアドレスという)が100H、残り
ワード数が64バイトという情報が記述される。
ル(図5(a))には、転送方向がメモリ3から周辺デ
バイス4、メモリ3に対してデータを読み書きするアド
レス(以下、現在のアドレスという)が100H、残り
ワード数が64バイトという情報が記述される。
【0039】その後、優先順位判定ブロック12から周
辺デバイス4に対してDMA−OKが出力される。そし
て、制御回路15において、転送管理レジスタテーブル
記憶部14の転送管理レジスタテーブル(図5(a))
が参照され、DMAが開始される。
辺デバイス4に対してDMA−OKが出力される。そし
て、制御回路15において、転送管理レジスタテーブル
記憶部14の転送管理レジスタテーブル(図5(a))
が参照され、DMAが開始される。
【0040】即ち、この場合、データの転送方向がメモ
リ3から周辺デバイス4であるから、制御回路15にお
いて、まずメモリ3に対し、バス(制御バス)を介して
リード信号が出力されるとともに、転送管理レジスタテ
ーブル記憶部14に記憶されたメモリ3のアドレス10
0H(図5(a))がアドレスバスバッファ17および
バス(アドレスバス)を介してメモリ3に出力される。
リ3から周辺デバイス4であるから、制御回路15にお
いて、まずメモリ3に対し、バス(制御バス)を介して
リード信号が出力されるとともに、転送管理レジスタテ
ーブル記憶部14に記憶されたメモリ3のアドレス10
0H(図5(a))がアドレスバスバッファ17および
バス(アドレスバス)を介してメモリ3に出力される。
【0041】これにより、メモリ3(図1)からは、ア
ドレス100Hに記憶されたデータがバス(データバ
ス)上に出力される。
ドレス100Hに記憶されたデータがバス(データバ
ス)上に出力される。
【0042】すると、制御回路15(図2)において、
ライト信号が、バス(制御バス)を介して周辺デバイス
4に出力され、このライト信号のタイミングで、周辺デ
バイス4により、メモリ3からバス(データバス)上に
出力されたアドレス100Hのデータがラッチされる。
即ち、メモリ3のアドレス100Hのデータが、周辺デ
バイス4に転送される。
ライト信号が、バス(制御バス)を介して周辺デバイス
4に出力され、このライト信号のタイミングで、周辺デ
バイス4により、メモリ3からバス(データバス)上に
出力されたアドレス100Hのデータがラッチされる。
即ち、メモリ3のアドレス100Hのデータが、周辺デ
バイス4に転送される。
【0043】1バイト(ワード)のデータの転送が終了
すると、制御回路15において、転送管理レジスタテー
ブル記憶部14の転送管理レジスタテーブル(図5)に
記述されたメモリ3の現在のアドレスが1だけインクリ
メントされるとともに、残りワード数が1だけデクリメ
ントされる。
すると、制御回路15において、転送管理レジスタテー
ブル記憶部14の転送管理レジスタテーブル(図5)に
記述されたメモリ3の現在のアドレスが1だけインクリ
メントされるとともに、残りワード数が1だけデクリメ
ントされる。
【0044】さらに、制御回路15において、転送管理
レジスタテーブル記憶部14の転送管理レジスタテーブ
ルに記述された残りワード数が参照される。
レジスタテーブル記憶部14の転送管理レジスタテーブ
ルに記述された残りワード数が参照される。
【0045】そして、残りワード数が0でない場合、制
御回路15は、再び転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルを参照し、DMAを行
う。
御回路15は、再び転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルを参照し、DMAを行
う。
【0046】即ち、上述のようにして1バイトのデータ
が転送された後においては、転送管理レジスタテーブル
の現在のアドレスには101Hが、残りワード数には6
3バイトが記述されているので、制御回路15は、上述
した場合と同様にして、メモリ3のアドレス101Hか
ら周辺デバイス4へのデータの転送を制御する。
が転送された後においては、転送管理レジスタテーブル
の現在のアドレスには101Hが、残りワード数には6
3バイトが記述されているので、制御回路15は、上述
した場合と同様にして、メモリ3のアドレス101Hか
ら周辺デバイス4へのデータの転送を制御する。
【0047】ここで、図5(b)に、メモリ3から周辺
デバイス4への2バイトのデータの転送が終了したとき
の転送管理レジスタテーブルを示す。
デバイス4への2バイトのデータの転送が終了したとき
の転送管理レジスタテーブルを示す。
【0048】一方、転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルに記述された残りワード
数が0になった場合、即ちメモリ3のアドレス100H
乃至13FHの64バイトのデータの、周辺デバイス4
への転送が終了した場合、周辺デバイス4からDMAC
1(優先順位判定ブロック12)に出力されていたDM
A要求が取り下げられる。
4の転送管理レジスタテーブルに記述された残りワード
数が0になった場合、即ちメモリ3のアドレス100H
乃至13FHの64バイトのデータの、周辺デバイス4
への転送が終了した場合、周辺デバイス4からDMAC
1(優先順位判定ブロック12)に出力されていたDM
A要求が取り下げられる。
【0049】すると、優先順位判定ブロック12におい
て、周辺デバイス4に出力されていたDMA−OKが停
止され、以上の間に、周辺デバイス5または6からDM
A要求が出力されていなければ、CPU2に出力してい
たBUS要求が停止され、これによりDMAC1は、バ
ス権を放棄する。
て、周辺デバイス4に出力されていたDMA−OKが停
止され、以上の間に、周辺デバイス5または6からDM
A要求が出力されていなければ、CPU2に出力してい
たBUS要求が停止され、これによりDMAC1は、バ
ス権を放棄する。
【0050】DMAC1がバス権を放棄すると、CPU
2は、DMAC1に出力していたBUS要求OKを停止
し、バス権を獲得する。
2は、DMAC1に出力していたBUS要求OKを停止
し、バス権を獲得する。
【0051】次に、上述したメモリ3と周辺デバイス4
との間のDMAを行っている最中に、周辺デバイス5お
よび6からDMA要求が出力され、さらにCPU2から
DMAC1に対するBUS要求OKが停止されてバス権
の要求がなされた場合には、メモリ3と周辺デバイス4
との間のDMAが終了した後に、優先順位判定ブロック
12において、優先度テーブル記憶部11の優先度テー
ブル(図3)に記述された、周辺デバイス5および6の
優先度、並びにCPU2の優先度が参照される。
との間のDMAを行っている最中に、周辺デバイス5お
よび6からDMA要求が出力され、さらにCPU2から
DMAC1に対するBUS要求OKが停止されてバス権
の要求がなされた場合には、メモリ3と周辺デバイス4
との間のDMAが終了した後に、優先順位判定ブロック
12において、優先度テーブル記憶部11の優先度テー
ブル(図3)に記述された、周辺デバイス5および6の
優先度、並びにCPU2の優先度が参照される。
【0052】そして、優先順位判定ブロック12は、優
先度がそれぞれ3,0,2の周辺デバイス5,6,CP
U2のうち、最も優先度の高い(優先度0の)周辺デバ
イス6のDMA要求に対する処理を、最初に行う。
先度がそれぞれ3,0,2の周辺デバイス5,6,CP
U2のうち、最も優先度の高い(優先度0の)周辺デバ
イス6のDMA要求に対する処理を、最初に行う。
【0053】即ち、この場合、DMAC1は、CPU2
からバス権の要求があったにも関わらず、CPU2にバ
ス権を返さず、CPU2の優先度より高い優先度の周辺
デバイス6のDMA要求に対する処理を行う。
からバス権の要求があったにも関わらず、CPU2にバ
ス権を返さず、CPU2の優先度より高い優先度の周辺
デバイス6のDMA要求に対する処理を行う。
【0054】従って、この場合、優先順位判定ブロック
12は、周辺デバイス6に割り当てられたチャネル番号
2を転送仕様テーブル記憶部13に出力し、そこに記憶
された転送仕様テーブル(図4)のうちの、チャネル番
号2の転送仕様、即ち周辺デバイス6からの20バイト
のデータを、メモリ3のアドレス300H乃至313H
へ順次転送するという情報(仕様)を転送管理レジスタ
テーブル記憶部14に出力させる。
12は、周辺デバイス6に割り当てられたチャネル番号
2を転送仕様テーブル記憶部13に出力し、そこに記憶
された転送仕様テーブル(図4)のうちの、チャネル番
号2の転送仕様、即ち周辺デバイス6からの20バイト
のデータを、メモリ3のアドレス300H乃至313H
へ順次転送するという情報(仕様)を転送管理レジスタ
テーブル記憶部14に出力させる。
【0055】転送管理レジスタテーブル記憶部14は、
転送仕様テーブル記憶部13からのチャネル番号2の転
送仕様を、転送管理レジスタテーブルに記述して記憶す
る。
転送仕様テーブル記憶部13からのチャネル番号2の転
送仕様を、転送管理レジスタテーブルに記述して記憶す
る。
【0056】その後、優先順位判定ブロック12から周
辺デバイス6に対してDMA−OKが出力される。そし
て、制御回路15において、転送管理レジスタテーブル
記憶部14の転送管理レジスタテーブルが参照され、D
MAが開始される。
辺デバイス6に対してDMA−OKが出力される。そし
て、制御回路15において、転送管理レジスタテーブル
記憶部14の転送管理レジスタテーブルが参照され、D
MAが開始される。
【0057】即ち、この場合、データの転送方向が周辺
デバイス6からメモリ3であるから、制御回路15にお
いて、まず周辺デバイス6に対し、バス(制御バス)を
介してリード信号が出力される。
デバイス6からメモリ3であるから、制御回路15にお
いて、まず周辺デバイス6に対し、バス(制御バス)を
介してリード信号が出力される。
【0058】これにより、周辺デバイス6から、1バイ
トのデータがバス(データバス)上に出力される。
トのデータがバス(データバス)上に出力される。
【0059】すると、制御回路15において、ライト信
号が、バス(制御バス)を介してメモリ3に出力される
とともに、転送管理レジスタテーブル記憶部14に記憶
されたメモリ3のアドレス300Hがアドレスバスバッ
ファ17およびバス(アドレスバス)を介してメモリ3
に出力される。
号が、バス(制御バス)を介してメモリ3に出力される
とともに、転送管理レジスタテーブル記憶部14に記憶
されたメモリ3のアドレス300Hがアドレスバスバッ
ファ17およびバス(アドレスバス)を介してメモリ3
に出力される。
【0060】これにより、周辺デバイス6からバス(デ
ータバス)上に出力された1バイトのデータが、メモリ
3のアドレス300Hに書き込まれる。即ち、周辺デバ
イス6からの1バイトのデータが、メモリ3のアドレス
300Hに転送される。
ータバス)上に出力された1バイトのデータが、メモリ
3のアドレス300Hに書き込まれる。即ち、周辺デバ
イス6からの1バイトのデータが、メモリ3のアドレス
300Hに転送される。
【0061】以上のようにして、1バイト(ワード)の
データの転送が終了すると、制御回路15において、転
送管理レジスタテーブル記憶部14の転送管理レジスタ
テーブルに記述されたメモリ3のアドレスが1だけイン
クリメントされるとともに、残りワード数が1だけデク
リメントされる。
データの転送が終了すると、制御回路15において、転
送管理レジスタテーブル記憶部14の転送管理レジスタ
テーブルに記述されたメモリ3のアドレスが1だけイン
クリメントされるとともに、残りワード数が1だけデク
リメントされる。
【0062】さらに、制御回路15において、転送管理
レジスタテーブル記憶部14の転送管理レジスタテーブ
ルに記述された残りワード数が参照される。
レジスタテーブル記憶部14の転送管理レジスタテーブ
ルに記述された残りワード数が参照される。
【0063】そして、残りワード数が0でない場合、制
御回路15は、再び転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルを参照し、DMAを行
う。
御回路15は、再び転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルを参照し、DMAを行
う。
【0064】即ち、上述したようにして1バイトのデー
タが転送された後においては、転送管理レジスタテーブ
ルの現在のアドレスには301Hが、残りワード数には
19バイトが記述されているので、制御回路15は、上
述した場合と同様にして、周辺デバイス6からメモリ3
のアドレス301Hへのデータの転送を制御する。
タが転送された後においては、転送管理レジスタテーブ
ルの現在のアドレスには301Hが、残りワード数には
19バイトが記述されているので、制御回路15は、上
述した場合と同様にして、周辺デバイス6からメモリ3
のアドレス301Hへのデータの転送を制御する。
【0065】一方、転送管理レジスタテーブル記憶部1
4の転送管理レジスタテーブルに記述された残りワード
数が0になった場合、即ち周辺デバイス6からの20バ
イトのデータの、メモリ3のアドレス300H乃至31
3Hへの転送が終了した場合、周辺デバイス6からDM
AC1(優先順位判定ブロック12)に出力されていた
DMA要求が取り下げられる。
4の転送管理レジスタテーブルに記述された残りワード
数が0になった場合、即ち周辺デバイス6からの20バ
イトのデータの、メモリ3のアドレス300H乃至31
3Hへの転送が終了した場合、周辺デバイス6からDM
AC1(優先順位判定ブロック12)に出力されていた
DMA要求が取り下げられる。
【0066】すると、優先順位判定ブロック12におい
て、周辺デバイス6に出力されていたDMA−OKが停
止される。
て、周辺デバイス6に出力されていたDMA−OKが停
止される。
【0067】周辺デバイス6のDMA要求に対する処理
の後、優先順位判定ブロック12は、優先度テーブル記
憶部11の優先度テーブル(図3)に記述された優先度
に基づいて、残る2つの周辺デバイス5の要求、および
CPU2のバス権要求のいずれかに対する処理を行う。
の後、優先順位判定ブロック12は、優先度テーブル記
憶部11の優先度テーブル(図3)に記述された優先度
に基づいて、残る2つの周辺デバイス5の要求、および
CPU2のバス権要求のいずれかに対する処理を行う。
【0068】即ち、この場合、優先順位判定ブロック1
2は、優先度がそれぞれ3,2の周辺デバイス5,CP
U2のうち、最も優先度の高い(優先度2の)CPU2
のバス権要求に対する処理を行う。
2は、優先度がそれぞれ3,2の周辺デバイス5,CP
U2のうち、最も優先度の高い(優先度2の)CPU2
のバス権要求に対する処理を行う。
【0069】従って、この場合、優先順位判定ブロック
12は、周辺デバイス5からのDMA要求を待たせたま
ま、CPU2に出力していたBUS要求を停止してバス
権を放棄し、これによりCPU2にバス権を獲得させ
る。
12は、周辺デバイス5からのDMA要求を待たせたま
ま、CPU2に出力していたBUS要求を停止してバス
権を放棄し、これによりCPU2にバス権を獲得させ
る。
【0070】そして、バス権を獲得したCPU2は、所
定の処理を実行する。
定の処理を実行する。
【0071】その後、優先順位判定ブロック12は、所
定のウエイト時間だけおいて、周辺デバイス5からのD
MA要求に対する処理を行うために、CPU2にBUS
要求を出力する。
定のウエイト時間だけおいて、周辺デバイス5からのD
MA要求に対する処理を行うために、CPU2にBUS
要求を出力する。
【0072】CPU2は、自身の処理が終了し、バス権
を放棄することができる状態であれば、BUS要求OK
をDMAC1(優先順位判定ブロック12)に出力す
る。
を放棄することができる状態であれば、BUS要求OK
をDMAC1(優先順位判定ブロック12)に出力す
る。
【0073】そして、DMAC1において、CPU2か
らBUS要求OKが受信されると、上述した周辺デバイ
ス4または6における場合と同様にして、待たせてあっ
た周辺デバイス5のDMA要求に対する処理が行われ
る。
らBUS要求OKが受信されると、上述した周辺デバイ
ス4または6における場合と同様にして、待たせてあっ
た周辺デバイス5のDMA要求に対する処理が行われ
る。
【0074】以上のように、周辺デバイス4乃至6およ
びCPU2の優先度に基づいて、DMA処理だけでな
く、CPU2の処理も考慮して、処理の順番が決定され
るので、装置全体の処理速度を向上させることができ
る。
びCPU2の優先度に基づいて、DMA処理だけでな
く、CPU2の処理も考慮して、処理の順番が決定され
るので、装置全体の処理速度を向上させることができ
る。
【0075】なお、上述の場合、周辺デバイス5,6に
対するDMA処理、およびCPU2の処理のうち、例え
ばCPU2の処理を最優先に実行させるようにしたいと
きには、優先度テーブル記憶部11の優先度テーブル
(図3)に記述されたCPU2の優先度を、最高優先度
としての0としておくようにすれば良い。
対するDMA処理、およびCPU2の処理のうち、例え
ばCPU2の処理を最優先に実行させるようにしたいと
きには、優先度テーブル記憶部11の優先度テーブル
(図3)に記述されたCPU2の優先度を、最高優先度
としての0としておくようにすれば良い。
【0076】次に、図6のフローチャートを参照して、
DMAC1の動作についてさらに説明する。まず最初
に、ステップS1において、周辺デバイス4乃至6のう
ちの少なくとも1つからDMA要求が出力されているか
否かが判定される。ステップS1において、DMA要求
が出力されていないと判定された場合、再びステップS
1に戻る。
DMAC1の動作についてさらに説明する。まず最初
に、ステップS1において、周辺デバイス4乃至6のう
ちの少なくとも1つからDMA要求が出力されているか
否かが判定される。ステップS1において、DMA要求
が出力されていないと判定された場合、再びステップS
1に戻る。
【0077】また、ステップS1において、DMA要求
が出力されていると判定された場合、ステップS2に進
み、CPU2にBUS要求が出力され、ステップS3に
進む。ステップS3において、CPU2からBUS要求
OKが出力されるまでのウエイト時間がおかれる。
が出力されていると判定された場合、ステップS2に進
み、CPU2にBUS要求が出力され、ステップS3に
進む。ステップS3において、CPU2からBUS要求
OKが出力されるまでのウエイト時間がおかれる。
【0078】そして、CPU2からBUS要求OKが出
力されると、即ちCPU2からバス権を獲得すると、ス
テップS4に進み、DMA要求が、周辺デバイス4乃至
6のうちの複数から出力されているか否かが判定され
る。
力されると、即ちCPU2からバス権を獲得すると、ス
テップS4に進み、DMA要求が、周辺デバイス4乃至
6のうちの複数から出力されているか否かが判定され
る。
【0079】ステップS4において、複数のDMA要求
が出力されていると判定された場合、ステップS5に進
み、優先度テーブル記憶部11に記憶された優先度テー
ブルが参照される。
が出力されていると判定された場合、ステップS5に進
み、優先度テーブル記憶部11に記憶された優先度テー
ブルが参照される。
【0080】そして、ステップS6に進み、DMA要求
を出力している周辺デバイスのうち、最も優先度の高い
周辺デバイス(DMA要求)が選択(選定)され、ステ
ップS7に進む。
を出力している周辺デバイスのうち、最も優先度の高い
周辺デバイス(DMA要求)が選択(選定)され、ステ
ップS7に進む。
【0081】一方、ステップS4において、DMA要求
が1つだけであると判定された場合、ステップS5およ
びS6をスキップして、ステップS7に進み、ステップ
S3の段階でCPU2から出力されたBUS要求OKが
まだ出力されているか否かが判定される。
が1つだけであると判定された場合、ステップS5およ
びS6をスキップして、ステップS7に進み、ステップ
S3の段階でCPU2から出力されたBUS要求OKが
まだ出力されているか否かが判定される。
【0082】ステップS7において、CPU2からBU
S要求OKが出力されていると判定された場合、ステッ
プS8に進み、DMA要求が複数あったときにはステッ
プS6で選択された方のDMA処理(優先度より高いD
MA処理)が、DMA要求が1つであったときにはその
DMA処理が実行される。
S要求OKが出力されていると判定された場合、ステッ
プS8に進み、DMA要求が複数あったときにはステッ
プS6で選択された方のDMA処理(優先度より高いD
MA処理)が、DMA要求が1つであったときにはその
DMA処理が実行される。
【0083】そして、そのDMA処理が終了すると、ス
テップS9に進み、まだDMA要求があるか否かが判定
される。ステップS9において、DMA要求があると判
定された場合、ステップS4に戻り、再びステップS4
からの処理を繰り返す。
テップS9に進み、まだDMA要求があるか否かが判定
される。ステップS9において、DMA要求があると判
定された場合、ステップS4に戻り、再びステップS4
からの処理を繰り返す。
【0084】また、ステップS9において、DMA要求
がないと判定された場合、ステップS10に進み、CP
U2に対するBUS要求が取り下げられ、これによりバ
ス権がCPU2に返される。
がないと判定された場合、ステップS10に進み、CP
U2に対するBUS要求が取り下げられ、これによりバ
ス権がCPU2に返される。
【0085】その後、ステップS1に戻り、再びステッ
プS1からの処理を繰り返す。
プS1からの処理を繰り返す。
【0086】一方、ステップS7において、CPU2か
らBUS要求OKが出力されていないと判定された場
合、即ちCPU2からバス権の要求がなされている場
合、ステップS11に進み、優先度テーブル記憶部11
に記憶された優先度テーブルが参照される。
らBUS要求OKが出力されていないと判定された場
合、即ちCPU2からバス権の要求がなされている場
合、ステップS11に進み、優先度テーブル記憶部11
に記憶された優先度テーブルが参照される。
【0087】そして、ステップS12に進み、CPU2
の優先度が、DMA要求が複数あったときにはステップ
S6で選択された方のDMA処理(優先度より高いDM
A処理)の優先度、DMA要求が1つであったときには
そのDMA処理の優先度より高いか否かが判定される。
の優先度が、DMA要求が複数あったときにはステップ
S6で選択された方のDMA処理(優先度より高いDM
A処理)の優先度、DMA要求が1つであったときには
そのDMA処理の優先度より高いか否かが判定される。
【0088】ステップS12において、CPU2の優先
度が、DMA処理の優先度より高くないと判定された場
合、即ちDMA処理の優先度が、CPU2の優先度より
高い場合、ステップS8に進み、以下上述したときと同
様の処理が行われる。
度が、DMA処理の優先度より高くないと判定された場
合、即ちDMA処理の優先度が、CPU2の優先度より
高い場合、ステップS8に進み、以下上述したときと同
様の処理が行われる。
【0089】また、ステップS12において、CPU2
の優先度が、DMA処理の優先度より高いと判定された
場合、ステップS13に進み、CPU2に対するBUS
要求が取り下げられ、これによりバス権がCPU2に返
される。
の優先度が、DMA処理の優先度より高いと判定された
場合、ステップS13に進み、CPU2に対するBUS
要求が取り下げられ、これによりバス権がCPU2に返
される。
【0090】その後、ステップS14において、DMA
C1がバス権を放棄したことを、CPU2が認識するた
めのウエイト時間がおかれ、ステップS2に戻り、再び
ステップS2からの処理を繰り返す。
C1がバス権を放棄したことを、CPU2が認識するた
めのウエイト時間がおかれ、ステップS2に戻り、再び
ステップS2からの処理を繰り返す。
【0091】以上のように、優先度テーブル記憶部11
の優先度テーブルに記述された優先度に基づいて、バス
権の授受を行うようにしたので、DMAC1が行うDM
A処理それぞれによるバスの占有時間、およびCPU2
の処理によるバスの占有時間の割合が最適化され、ま
た、最優先に行うべき処理を最優先で行うことができ
る。その結果、装置全体の処理速度を向上させることが
できる。
の優先度テーブルに記述された優先度に基づいて、バス
権の授受を行うようにしたので、DMAC1が行うDM
A処理それぞれによるバスの占有時間、およびCPU2
の処理によるバスの占有時間の割合が最適化され、ま
た、最優先に行うべき処理を最優先で行うことができ
る。その結果、装置全体の処理速度を向上させることが
できる。
【0092】なお、優先度テーブル記憶部11の優先度
テーブルに記述された優先度は、CPU2によって書き
換え可能となされている。従って、緊急なDMA処理、
あるいはCPU2の処理が生じた場合、CPU2によっ
て、その処理に対する優先度を、最も高い優先度に書き
換えるようにすることができ、これにより、緊急なDM
A処理、あるいはCPU2の処理を待たすことなく、即
座に実行することができる。その結果、装置全体の処理
速度を、さらに向上させることが可能となる。
テーブルに記述された優先度は、CPU2によって書き
換え可能となされている。従って、緊急なDMA処理、
あるいはCPU2の処理が生じた場合、CPU2によっ
て、その処理に対する優先度を、最も高い優先度に書き
換えるようにすることができ、これにより、緊急なDM
A処理、あるいはCPU2の処理を待たすことなく、即
座に実行することができる。その結果、装置全体の処理
速度を、さらに向上させることが可能となる。
【0093】また、優先度テーブル記憶部11の優先度
テーブルに記述された優先度は、CPU2によって、ラ
ウンドロビン方式で書き換えるようにすることができ
る。
テーブルに記述された優先度は、CPU2によって、ラ
ウンドロビン方式で書き換えるようにすることができ
る。
【0094】即ち、例えば図3の優先度テーブルに示す
ように、CPU2および周辺デバイス4乃至6の優先度
が高い順に、 周辺デバイス6→周辺デバイス4→CPU2→周辺デバ
イス5 と設定されていた場合、周辺デバイス4のDMA要求、
CPU2のバス権要求、周辺デバイス6のDMA要求の
順で、処理要求があったときには、優先度テーブルを、 周辺デバイス6→周辺デバイス4→CPU2→周辺デバ
イス5 ↓ (周辺デバイス4のDMA処理の実行) ↓ 周辺デバイス6→CPU2→周辺デバイス5→周辺デバ
イス4 ↓ (CPU2の処理の実行) ↓ 周辺デバイス6→周辺デバイス5→周辺デバイス4→C
PU2 ↓ (周辺デバイス6のDMA処理の実行) ↓ 周辺デバイス5→周辺デバイス4→CPU2→周辺デバ
イス6 のように書き換えるようにすることができる。
ように、CPU2および周辺デバイス4乃至6の優先度
が高い順に、 周辺デバイス6→周辺デバイス4→CPU2→周辺デバ
イス5 と設定されていた場合、周辺デバイス4のDMA要求、
CPU2のバス権要求、周辺デバイス6のDMA要求の
順で、処理要求があったときには、優先度テーブルを、 周辺デバイス6→周辺デバイス4→CPU2→周辺デバ
イス5 ↓ (周辺デバイス4のDMA処理の実行) ↓ 周辺デバイス6→CPU2→周辺デバイス5→周辺デバ
イス4 ↓ (CPU2の処理の実行) ↓ 周辺デバイス6→周辺デバイス5→周辺デバイス4→C
PU2 ↓ (周辺デバイス6のDMA処理の実行) ↓ 周辺デバイス5→周辺デバイス4→CPU2→周辺デバ
イス6 のように書き換えるようにすることができる。
【0095】この場合、同一の周辺デバイスのDMA処
理が連続して行われることや、CPU2のバス占有時間
が長時間化することを防止することができる。
理が連続して行われることや、CPU2のバス占有時間
が長時間化することを防止することができる。
【0096】また、本実施例においては、周辺デバイス
4のDMA処理を行っている最中に、周辺デバイス5お
よび6からDMA要求、CPU2からバス権の要求がな
された場合には、周辺デバイス4のDMA処理が終了し
た後に、周辺デバイス5,6からのDMA要求、または
CPU2からのバス権の要求に対する処理を行うように
したが、例えば周辺デバイス4の優先度が、周辺デバイ
ス5,6、またはCPU2の優先度より低ければ、即座
に周辺デバイス4のDMA処理を中断させ、周辺デバイ
ス5,6からのDMA要求、またはCPU2からのバス
権の要求に対する処理を行うようにすることができる。
4のDMA処理を行っている最中に、周辺デバイス5お
よび6からDMA要求、CPU2からバス権の要求がな
された場合には、周辺デバイス4のDMA処理が終了し
た後に、周辺デバイス5,6からのDMA要求、または
CPU2からのバス権の要求に対する処理を行うように
したが、例えば周辺デバイス4の優先度が、周辺デバイ
ス5,6、またはCPU2の優先度より低ければ、即座
に周辺デバイス4のDMA処理を中断させ、周辺デバイ
ス5,6からのDMA要求、またはCPU2からのバス
権の要求に対する処理を行うようにすることができる。
【0097】さらに、本実施例では、説明を簡単にする
ために、メモリ3と、周辺デバイス4乃至6との間のD
MAについて説明したが、例えばメモリ3の内部や、周
辺デバイスどうしの間においても、同様にしてDMAを
行うようにすることができる。また、メモリ3の他にメ
モリを設け、そのメモリとメモリ3との間でDMAを行
うようにすることも可能である。
ために、メモリ3と、周辺デバイス4乃至6との間のD
MAについて説明したが、例えばメモリ3の内部や、周
辺デバイスどうしの間においても、同様にしてDMAを
行うようにすることができる。また、メモリ3の他にメ
モリを設け、そのメモリとメモリ3との間でDMAを行
うようにすることも可能である。
【0098】
【発明の効果】請求項1に記載のデータ転送装置によれ
ば、複数のデバイスからデータ転送要求のあったときに
は、複数のデバイスの優先度順に、データの転送を制御
し、中央演算処理装置からバス権を獲得している最中
に、中央演算処理装置からバス権の要求があった場合に
は、中央演算処理装置の優先度が、いまデータ転送要求
をしているデバイスの優先度より高いときのみ、中央演
算処理装置にバス権を返す。従って、いまされている中
央演算処理装置のバス権の要求、および複数のデバイス
のデータ転送要求のうち、最も優先度の高いものにバス
権が与えられるので、優先度の高い順に要求が処理さ
れ、その結果、装置全体の処理速度を向上させることが
できる。
ば、複数のデバイスからデータ転送要求のあったときに
は、複数のデバイスの優先度順に、データの転送を制御
し、中央演算処理装置からバス権を獲得している最中
に、中央演算処理装置からバス権の要求があった場合に
は、中央演算処理装置の優先度が、いまデータ転送要求
をしているデバイスの優先度より高いときのみ、中央演
算処理装置にバス権を返す。従って、いまされている中
央演算処理装置のバス権の要求、および複数のデバイス
のデータ転送要求のうち、最も優先度の高いものにバス
権が与えられるので、優先度の高い順に要求が処理さ
れ、その結果、装置全体の処理速度を向上させることが
できる。
【0099】請求項2に記載のデータ転送装置によれ
ば、優先度テーブルが、書き換え可能であるので、例え
ば緊急な要求が生じたときに、優先度テーブルを書き換
えることによって、その要求を最優先で処理するように
することができる。従って、装置全体の処理速度を、さ
らに向上させることができる。
ば、優先度テーブルが、書き換え可能であるので、例え
ば緊急な要求が生じたときに、優先度テーブルを書き換
えることによって、その要求を最優先で処理するように
することができる。従って、装置全体の処理速度を、さ
らに向上させることができる。
【0100】請求項3に記載のデータ転送装置によれ
ば、優先度テーブルに記述されたデバイスの優先度、お
よび中央演算処理装置の優先度は、ラウンドロビン方式
で書き換えられるので、デバイスまたは中央演算処理装
置のバス権の占有時間が長くなることによる装置全体の
処理速度の低下を防止することができる。
ば、優先度テーブルに記述されたデバイスの優先度、お
よび中央演算処理装置の優先度は、ラウンドロビン方式
で書き換えられるので、デバイスまたは中央演算処理装
置のバス権の占有時間が長くなることによる装置全体の
処理速度の低下を防止することができる。
【図1】本発明を適用したコンピュータシステムの一実
施例の構成を示すブロック図である。
施例の構成を示すブロック図である。
【図2】図1の実施例のDMAC1のより詳細なブロッ
ク図である。
ク図である。
【図3】図2の優先度テーブル記憶部11に記憶された
優先度テーブルを示す図である。
優先度テーブルを示す図である。
【図4】図2の転送仕様テーブル記憶部13に記憶され
た転送仕様を示す図である。
た転送仕様を示す図である。
【図5】図2の転送管理レジスタテーブル記憶部14に
記憶された転送管理レジスタテーブルを示す図である。
記憶された転送管理レジスタテーブルを示す図である。
【図6】図1の実施例のDMAC1の動作を説明するフ
ローチャートである。
ローチャートである。
1 DMAC 2 CPU 3 メモリ 4乃至6 周辺デバイス 11 優先度テーブル記憶部 12 優先順位判定ブロック 13 転送仕様テーブル記憶部 14 転送管理レジスタテーブル記憶部 15 制御回路 16 データバスバッファ 17 アドレスバスバッファ
Claims (3)
- 【請求項1】 デバイスからのデータ転送要求に応じ
て、中央演算処理装置からバス権を獲得し、前記デバイ
スによるデータの転送を制御するデータ転送装置におい
て、 前記デバイスの優先度、および前記中央演算処理装置の
優先度を記述した優先度テーブルを記憶している記憶手
段を備え、 複数のデバイスからデータ転送要求のあったときには、
前記複数のデバイスの優先度順に、データの転送を制御
し、 前記中央演算処理装置からバス権を獲得している最中
に、前記中央演算処理装置からバス権の要求があった場
合には、前記中央演算処理装置の優先度が、いま前記デ
ータ転送要求をしているデバイスの優先度より高いとき
のみ、前記中央演算処理装置にバス権を返すことを特徴
とするデータ転送装置。 - 【請求項2】 前記優先度テーブルは、書き換え可能で
あることを特徴とする請求項1に記載のデータ転送装
置。 - 【請求項3】 前記優先度テーブルに記述された前記デ
バイスの優先度、および前記中央演算処理装置の優先度
は、ラウンドロビン方式で書き換えられることを特徴と
する請求項1に記載のデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10387393A JPH06314249A (ja) | 1993-04-30 | 1993-04-30 | データ転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10387393A JPH06314249A (ja) | 1993-04-30 | 1993-04-30 | データ転送装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06314249A true JPH06314249A (ja) | 1994-11-08 |
Family
ID=14365560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10387393A Pending JPH06314249A (ja) | 1993-04-30 | 1993-04-30 | データ転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06314249A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400851B1 (ko) * | 2000-07-05 | 2003-10-08 | 샤프 가부시키가이샤 | 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 |
-
1993
- 1993-04-30 JP JP10387393A patent/JPH06314249A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400851B1 (ko) * | 2000-07-05 | 2003-10-08 | 샤프 가부시키가이샤 | 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6304923B1 (en) | Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values | |
JP2634130B2 (ja) | バスの使用を制御する方法及びコンピュータ・システム | |
JP3525518B2 (ja) | データ転送装置 | |
JPH04363746A (ja) | Dma機能を有するマイクロコンピュータシステム | |
JPH08161254A (ja) | 情報処理システムおよびそのバス調停方式 | |
JPH06314249A (ja) | データ転送装置 | |
JP2000227895A (ja) | 画像データ転送装置および画像データ転送方法 | |
JPH08339353A (ja) | マルチプロセッサ装置 | |
JPH09265446A (ja) | バス制御装置 | |
JPH0773136A (ja) | コンピュータシステムの動作方法 | |
JP2635863B2 (ja) | 中央処理装置 | |
JPH11167519A (ja) | メモリリフレッシュ制御回路、メモリ、メモリモジュー ル、デジタル装置 | |
JPH05173936A (ja) | データ転送処理装置 | |
JPH02222058A (ja) | マルチプロセッサシステム | |
JPH10161975A (ja) | バス調停装置および映像入出力装置 | |
JPH08297631A (ja) | バス制御方法 | |
JPH05134980A (ja) | バスシステム | |
JPH1049479A (ja) | マスタデバイス | |
JPH0460257B2 (ja) | ||
JPH0520165A (ja) | システムバス制御装置 | |
JPH0424733B2 (ja) | ||
JPH1115775A (ja) | メモリ制御装置 | |
JPH10134013A (ja) | マルチcpuシステム | |
JPH10293742A (ja) | データ転送方法及び装置 | |
JPH1011356A (ja) | メモリアクセスシステム |