JP2000298638A - Dma転送装置 - Google Patents

Dma転送装置

Info

Publication number
JP2000298638A
JP2000298638A JP11106903A JP10690399A JP2000298638A JP 2000298638 A JP2000298638 A JP 2000298638A JP 11106903 A JP11106903 A JP 11106903A JP 10690399 A JP10690399 A JP 10690399A JP 2000298638 A JP2000298638 A JP 2000298638A
Authority
JP
Japan
Prior art keywords
signal
mask
dreq
dma
cpu
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.)
Granted
Application number
JP11106903A
Other languages
English (en)
Other versions
JP4549458B2 (ja
JP2000298638A5 (ja
Inventor
Eiji Azuma
栄次 我妻
Hiroshi Ueno
博 上野
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data 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 Oki Data Corp filed Critical Oki Data Corp
Priority to JP10690399A priority Critical patent/JP4549458B2/ja
Publication of JP2000298638A publication Critical patent/JP2000298638A/ja
Publication of JP2000298638A5 publication Critical patent/JP2000298638A5/ja
Application granted granted Critical
Publication of JP4549458B2 publication Critical patent/JP4549458B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 外部リクエストデバイスが複数存在する場
合、または、DREQ信号の発生周期が短い外部リクエ
ストデバイスが同一のバスに存在する場合、DMAによ
るバス占有率を低減し、時間的にバスを有効に利用する
ことができるDMA転送装置を提供する。 【解決手段】 DMA転送装置は、CPU100、DM
AC110、外部リクエストデバイス111、外部リク
エストデバイス112及び外部メモリ113から構成さ
れ、外部リクエストデバイス111,112は、DRE
Q信号をマスクするDREQ信号マスク回路121,1
22を備え、DREQ信号マスク回路121,122が
DREQ0/DREQ1信号をマスクしてDMA転送に
よるバス占有状態を制御するように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、DMA(Direct M
emory Access)転送装置に係り、詳細には、CPUの動
作と独立に、メモリと外部リクエストデバイス間で直接
データを転送するDMA転送制御を行うDMA制御部を
備えたDMA転送装置に関する。
【0002】
【従来の技術】DMA転送は、CPUを介さずに直接メ
インメモリとI/O装置(例えば、外部リクエストデバ
イス)などの周辺機器間でデータ転送を行うものであ
る。これにより高速・大容量のデータ転送がCPUのオ
ーバヘッドを伴わずに可能となる。DMA転送は、一般
にDMAC(Direct Memory Access Controler)がバス
を管理して転送を制御する。
【0003】従来、DMACと外部リクエストデバイス
との間でDMA転送を行うシステムにおいて、DMAC
は、外部リクエストデバイスから出力されるDMAリク
エスト(DREQ)信号を受けてメモリデバイスと外部
リクエストデバイス間でデータ転送ができるよう他のデ
バイスを制御する。
【0004】図32は従来のDMA転送装置の構成を示
すブロック図であり、DMACと外部リクエストデバイ
ス間のデータ転送を例としたものである。
【0005】図32において、1はCPU、2はDMA
C、3,4は複数の(2つの)外部リクエストデバイス
(外部リクエストデバイス1,2)、5は外部メモリで
ある。
【0006】外部リクエストデバイス3,4からリクエ
スト信号DREQ1/DREQ2がDMAC2に対して
出力される。DMAC2には、それぞれのDMAリクエ
スト信号DREQ1/DREQ2が入力され、DMAC
2は、このDREQ信号の入力によって、CPU1に対
してバスリクエスト(BREQ)信号を出力し、バスの
開放を要求する。
【0007】BREQを受けたCPU1は、バス開放許
可(BACK)信号を出力し、バスをDMAC2に開放
する。ここで、外部リクエストデバイスが複数存在する
場合は、各デバイスからのDREQの発生回数が増加す
るため、DMACの内部でBREQ信号を発生させる順
序を調整(調停)し、各外部リクエストデバイスのDM
A転送を実現している。
【0008】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のDMA転送装置にあっては、上述したように
複数の外部リクエストデバイスシステムに搭載した場合
に、DREQ信号の調停が必要である。また、外部リク
エストデバイスの数と外部リクエストデバイスのDRE
Q信号の発生周期によってDMAによるバスの占有率が
大きくなり、通常の一連のCPUによる処理が極端に延
ばされてしまう可能性があるという問題点があった。
【0009】以下、この不具合について説明する。
【0010】図33はDMACの調停のタイミングを概
念的に示すタイミングチャートである。
【0011】3チャンネル持っているDMACにおい
て、各CHの1回のDMA転送に所要する時間をTとす
る。図33の場合は、DMACが各チャンネルのDMA
の調停を行って、CH1→CH2→CH3→CH1とい
ったラウンドロビン型の方式でチャンネルを使用してい
る。しかし、この方法を用いると、DMA転送にだけバ
スが占有されることになり、プロセッサがバスを使用し
て処理している時間が、時間的に極端に延ばされてしま
うことがある。
【0012】本発明は、外部リクエストデバイスが複数
存在する場合、または、DREQ信号の発生周期が短い
外部リクエストデバイスが同一のバスに存在する場合、
DMAによるバス占有率を低減し、時間的にバスを有効
に利用することができるDMA転送装置を提供すること
を目的とする。
【0013】
【課題を解決するための手段】本発明に係るDMA転送
装置は、CPUの動作と独立に、メモリと外部リクエス
トデバイス間で直接データを転送するDMA転送制御を
行うDMA制御部を備え、DMA制御部は、外部リクエ
ストデバイスからDREQ信号が発生したとき、CPU
に対してBREQN信号を出力してバスの開放を要求
し、CPUからBACKN信号が返されると、外部リク
エストデバイスにDACK信号を送出し、メモリと外部
リクエストデバイス間のデータ転送制御を行うDMA転
送装置において、外部リクエストデバイスは、DREQ
信号をマスクするマスク手段を備え、マスク手段により
DREQ信号をマスクしてDMA転送によるバス占有状
態を制御すること特徴とする。
【0014】本発明に係るDMA転送装置は、CPUの
動作と独立に、メモリと外部リクエストデバイス間で直
接データを転送するDMA転送制御を行うDMA制御部
を備え、DMA制御部は、外部リクエストデバイスから
DREQ信号が発生したとき、CPUに対してBREQ
N信号を出力してバスの開放を要求し、CPUからBA
CKN信号が返されると、外部リクエストデバイスにD
ACK信号を送出し、メモリと外部リクエストデバイス
間のデータ転送制御を行うDMA転送装置において、D
MA制御部は、DREQ信号をマスクするマスク手段を
備え、マスク手段によりDREQ信号をマスクしてDM
A転送によるバス占有状態を制御することを特徴とす
る。
【0015】本発明に係るDMA転送装置は、CPUの
動作と独立に、メモリと外部リクエストデバイス間で直
接データを転送するDMA転送制御を行うDMA制御部
を備え、DMA制御部は、外部リクエストデバイスから
DREQ信号が発生したとき、CPUに対してBREQ
N信号を出力してバスの開放を要求し、CPUからBA
CKN信号が返されると、外部リクエストデバイスにD
ACK信号を送出し、メモリと外部リクエストデバイス
間のデータ転送制御を行うDMA転送装置において、D
MA制御部は、BREQN信号をマスクするマスク手段
を備え、マスク手段によりBREQN信号をマスクして
DMA転送によるバス占有状態を制御することを特徴と
する。
【0016】本発明に係るDMA転送装置は、同時動作
可能な外部リクエストデバイスの数に応じてマスク時間
を制御する手段をさらに備えたものであってもよい。
【0017】本発明に係るDMA転送装置は、CPUの
処理負荷を管理する管理手段と、CPUの処理負荷に応
じてマスク時間を制御する手段とを備えたものであって
もよい。
【0018】本発明に係るDMA転送装置は、DREQ
信号の発生周期を検出するDREQ信号周期検出手段を
備え、マスク手段は、DREQ信号発生周期に基づいて
DREQ信号をマスクするものであってもよい。
【0019】本発明に係るDMA転送装置は、動作を許
可する複数の外部リクエストデバイスのDREQ信号に
伴い発生するBREQN信号の発生周期を検出するBR
EQN信号周期検出手段を備え、マスク手段は、BRE
QN信号発生周期に基づいてBREQN信号をマスクす
るものであってもよい。
【0020】本発明に係るDMA転送装置は、CPUの
処理負荷を管理する管理手段と、CPU処理に伴うバス
占有率を求め、その限界値を設定する設定手段と、CP
Uの処理負荷及び限界値に応じてマスク時間を制御する
手段とを備えたものであってもよい。
【0021】
【発明の実施の形態】第1の実施形態 図1は本発明の第1の実施形態に係るDMA転送装置の
構成を示すブロック図である。本実施形態は、外部メモ
リと外部リクエストデバイスとの間でDMA転送を行う
システムに適用したものである。
【0022】図1において、DMA転送装置は、CPU
100、DMAC110(DMA制御部)、外部リクエ
ストデバイス111、外部リクエストデバイス112、
及び外部メモリ113から構成される。
【0023】DMAC110は、2つのDMAチャンネ
ルを搭載しており、それらをCH0,CH1とする。ま
た、CH0とCH1はそれぞれ、外部リクエストデバイ
ス111、外部リクエストデバイス112に接続されて
いる。
【0024】外部リクエストデバイス111の内部に
は、DREQ信号マスク回路121(マスク手段)が、
また外部リクエストデバイス112の内部には、DRE
Q信号マスク回路122(マスク手段)が設置され、D
REQ信号マスク回路121,122は、CPU100
からのマスク信号mask_en0,mask_en1
により制御される。
【0025】マスク信号mask_en0,mask_
en1は、DREQ信号マスク回路121,122のイ
ネーブル/ディセーブルをコントロールする信号であ
り、両信号ともアクティブ“H”(“H”レベルでアク
ティブな信号)である。
【0026】また、DMAC110からCPU100に
BREQ(バス開放要求)信号が出力され、CPU10
0からDMAC110にBACK(バス開放許可)信号
が出力される。
【0027】外部メモリ113は、DMA転送のディス
ティネーシ(転送先)、または、ソース(転送元)にな
る。
【0028】図2及び図3は上記DREQ信号マスク回
路121,122の構成を示す回路図であり、図2はD
REQ信号がアクティブ“H”の場合の回路構成を、図
3はDREQ信号がアクティブ“L”(“L”レベルで
アクティブな信号)の場合の回路構成をそれぞれ示す。
【0029】図2において、DREQ信号がアクティブ
“H”の場合のDREQ信号マスク回路121,122
は、ANDゲート131により構成される。外部リクエ
ストデバイス内部のDREQ信号をDREQ_P_in
(アクティブ“H”の場合)とし、マスクを制御するマ
スク信号をmask_enとする。
【0030】ANDゲート131は、マスク信号mas
k_enの反転信号とDREQ_P_in信号のAND
論理をとりDREQ_Pを出力する。この場合、mas
k_en=“H”のときにDREQ_P_in信号がマ
スクされて、出力としてDREQ_Pが出力される。
【0031】同様に、図3において、DREQ信号がア
クティブ“L”の場合のDREQ信号マスク回路12
1,122は、ORゲート132により構成される。
【0032】ORゲート132は、マスク信号mask
_enとDREQ_N_in信号のOR論理をとりDR
EQ_Nを出力する。この場合、mask_en=
“H”のときにDREQ_N_in信号がマスクされ
て、出力としてDREQ_Nが出力される。
【0033】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0034】ここでは、mask_en0によりCH0
のDREQ信号マスク回路121がイネーブルになり、
mask_en1によりCH1のDREQ信号マスク回
路122がイネーブルになる場合を説明する。
【0035】図4は上記DMA転送装置のDMA転送動
作を示すタイミングチャートであり、時間T(例えば、
500ns)で1回のDMA転送が行われる。図中、C
H0,CH1は、DMAC110の2つのDMAチャン
ネルを示す。
【0036】図4に示すように、T1の区間でCH0/
CH1の各々のDREGが同時に発生したとする。
【0037】T2の区間においては、CH0のDREQ
0信号は、mask_en0信号によってマスクされて
いるため、CH1のDMA転送が行われている。そのと
き、mask_en1信号はディセーブルの状態
(“L”)である。
【0038】次に、T3の区間においては、両方のDM
Aチャネルがマスクされているため、DMA転送が行わ
れない。この区間では、CPU100がバスを占有し、
プログラムに応じた処理を行っている。
【0039】次に、T4の区間においては、mask_
en1がイネーブルの状態(“H”)になっているた
め、CH1のDREQ1信号がマスクされ、DREQ1
が出力されないため、DMAシーケンスが行われない。
この区間では、CH0のDMA転送が行われる。
【0040】次に、T5の区間においては、T3の区間
と同様に、CPU100の処理が行われる。よって、こ
こでもCPU100の処理は停止しない。
【0041】このように、mask_en0,mask
_en1を利用して、DREQ信号をマスクしてDRE
Q0/DREQ1信号の発生周期を変えている。
【0042】また、mask_en0/mask_en
1は、CPU100が制御しているが、このような周期
的なイネーブル信号は、CPU100の内蔵のタイマを
使用して実現することが可能である。例えば、500n
sの割り込み処理で、mask_en0/mask_e
n1を交互にイネーブルにするように設定すれば、各C
HのDMAは、2μsに1回DREQが発生する。さら
に、設定間隔を短くする場合には、CPU100から設
定するのではなく、外部リクエストデバイスの内部に周
期的にイネーブルを制御するタイマを内蔵することによ
って実現できる。
【0043】以上説明したように、第1の実施形態に係
るDMA転送装置は、CPU100、DMAC110、
外部リクエストデバイス111、外部リクエストデバイ
ス112及び外部メモリ113から構成され、外部リク
エストデバイス111,112は、DREQ信号をマス
クするDREQ信号マスク回路121,122を備え、
DREQ信号マスク回路121,122がDREQ0/
DREQ1信号をマスクしてDMA転送によるバス占有
状態を制御するように構成したので、CPU100から
のmask_en0/mask_en1信号(アクティ
ブ“H”)により、DREQ信号マスク回路121,1
22が、DREQ0/DREQ1信号をマスクすること
で、周期的にDREQ信号を発生させることにより、D
MAによるシステバス占有率を制御することができる。
その結果、DMAにバスを占有されてCPUの処理がで
きなくなることを避けることができ、システムのDMA
Cの介在による破綻を防止するという効果がある。
【0044】また、DMAC側の構成には一切変更がな
いため、既存のCPUシステムの変更なしにシステム全
体のスループットの向上及び信頼性の向上を図ることが
できる。また、ゲート回路という簡単な部品の追加で実
現できるので、低コストで実施できる。
【0045】なお、本実施形態では、外部リクエストデ
バイス111,112の内部に、DREQ0/DREQ
1信号をマスクするDREQ信号マスク回路121,1
22を設けるようにしているが、これらマスク回路12
1,122は外部リクエストデバイス側に設置されてい
ればよく、必ずしも外部リクエストデバイスの内部に設
置する構成でなくてもよい。 第2の実施形態 図5は本発明の第2の実施形態に係るDMA転送装置の
構成を示すブロック図である。本実施形態は、DMAC
を使用して、外部メモリデバイスと外部リクエストデバ
イスとの間でDMA転送を行うシステムに適用した例で
ある。本実施形態に係るDMA転送装置の説明にあたり
前記図1と同一構成部分には同一符号を付している。
【0046】図5において、DMA転送装置は、CPU
100、DMAC200、外部リクエストデバイス24
0、外部リクエストデバイス241、及び外部メモリ1
13から構成される。
【0047】DMAC200は、2つのDMAチャンネ
ルを搭載しており、それらをCH0,CH1とする。ま
た、CH0とCH1はそれぞれ、外部リクエストデバイ
ス240、外部リクエストデバイス241に接続されて
いる。
【0048】DMAC200は、各チャンネル毎に設置
され、CPU100からのマスク信号mask_en
0,mask_en1により制御されるDREQ信号マ
スク回路210,220と、DREQ信号マスク回路2
10,220のBREQ0信号,BREQ1信号を調停
する調停回路230とを備える。
【0049】マスク信号mask_en0,mask_
en1は、CH0とCH1のDREQ信号マスク回路2
10,220のイネーブル/ディセーブルの切替えをす
る信号であり、両信号ともアクティブ“H”である。
【0050】なお、前記第1の実施形態のmask_e
n信号は、マスク信号そのものを意味するが、本実施形
態を含む後述する各実施形態で記載されるmask_e
n信号はマスク回路を動作させるか否かを制御するため
の信号を意味する。したがって、必ずマスク回路を動作
させる場合は、mask_en信号を省略することがで
きる。
【0051】CPU100は、このマスク信号mask
_en0,mask_en1をDREQ信号マスク回路
210,220に出力してDREQ信号マスク回路21
0,220を制御する。また、CPU100は、DRE
Q信号マスク回路210,220に対してタイマカウン
ト値を設定することが可能であり、CPU100が設定
するタイマカウント値によって、生成されるマスク信号
の長さが変わる。
【0052】外部リクエストデバイス240がDMAC
200に出力するDREQ信号をDREQ0、外部リク
エストデバイス241がDMAC200に出力するDR
EQ信号をDREQ1とし、DMAC200から外部リ
クエストデバイス240,241に返すDREQ0とD
REQ1に対するDACK信号をそれぞれDACK0,
DACK1とする。
【0053】また、DMAC200からCPU100に
BREQN信号(バス開放リクエスト信号:CPUに対
して、バス権の開放を要求する信号/アクティブ
“L”)が出力され、CPU100からDMAC200
に対してBACKN信号(バス・アクノリッジ信号:外
部DMACに対して、バス権の開放を許可していること
を示す信号/アクティブ“L”)が出力される。
【0054】ここで、DMAの転送方向は、外部リクエ
ストデバイス→外部メモリ方向と、外部メモリ→外部リ
クエストデバイス方向の2通りあり、この転送方向は、
CPU100がDMAC200に対して設定可能なもの
とする。
【0055】図6は上記DREQ信号マスク回路21
0,220の構成を示すブロック図である。各チャンネ
ルのDREQ信号マスク回路210,220は、同一構
成をとるため、DREQ信号マスク回路210を代表し
て説明する。
【0056】図6において、DREQ信号マスク回路2
10は、サンプリングクロックの立ち上がりエッジでカ
ウント(デクリメント)するカウンタ回路211、カウ
ントデータを所定値“0”と比較し、“0”とカウント
データが一致したときサンプリングクロックの周期分の
パルス、すなわちカウンタTC(Terminal Count:最終
カウントを意味する)信号を出力する比較器212、及
びマスク回路213から構成される。
【0057】カウンタ回路211には、データバスから
カウントするための初期値と、カウントするためのサン
プリングクロックが入力される。また、比較器212に
は、カウンタ回路211がカウントしたデータである現
在のカウント値が入力され、比較器212からはカウン
タTC信号が出力される。
【0058】上記カウンタTC信号は、入力されてくる
カウントデータ値が“0”になった区間で1サンプリン
グクロック分の幅で“H”のパルスになる信号であり、
カウントが終了したことを示す。
【0059】また、マスク回路213には、比較器21
2から出力されるカウンタTC信号が入力されるととも
に、DREQ信号及びDACK信号が入力され、BRE
Q信号が出力される。
【0060】図7は図6のマスク回路213の内部の詳
細な構成を示す図である。
【0061】図7において、マスク回路213は、カウ
ンタTC信号を基にDACK信号が入力された時点で内
部で生成されたマスク信号がイネーブルになるマスク信
号を出力するマスク信号発生回路214、及び発生した
マスク信号とDREQ信号のOR論理をとるORゲート
215から構成される。
【0062】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0063】図8はDMA転送装置の動作を説明するた
めのタイミングチャートである。なお、図中、番号(1)
〜(5)は動作タイミングまたは動作の区間を説明するた
めの符号である。
【0064】2チャンネルCH0,CH1のうち、まず
CH0のDREQ0信号マスク回路210を例にして説
明する。
【0065】図8のタイミングチャートにおいて、DR
EQ0信号は、DACK0信号がディセーブル
(“L”)になってから、一定時間経過後にイネーブル
(“H”)になるものとする。
【0066】図8の(1)のタイミングでCPU100は
DREQ0信号マスク回路210に対して、タイマカウ
ント値をライトする。本動作の場合は、“5”をライト
するものとする。
【0067】次に、図8の(1)−1のタイミングでCP
U100は、mask_en0を“H”にする。ここま
でのCPU100の動作で、DREQ0信号マスク回路
210は動作可能状態になる。
【0068】次に、外部リクエストデバイス240から
出力されるDREQ0信号がタイマに入力される。この
とき、DREQ0信号マスク回路210は動作すること
なしに、DMAC200はDREQ0の入力のタイミン
グTEQN信号をCPU100に対して出力する。
【0069】BREQN信号を受け取ったCPU100
は、ある決まったタイミング(CPUの仕様によって異
なる)で、BACKN信号を出力する(図8の(2)−1
の区間参照)。この区間は、DMAC200がバスを占
有する区間であり、この区間ではCPU100はバス権
を開放している状態になる。
【0070】図8の(2)−1区間でDMAC200は、
BACKN信号からDACK0信号を生成し、外部リク
エストデバイス240に出力する。この時、DACK0
信号の立ち下がりのタイミング(図8の(3)−1参照)
で、マスク信号を“H”にする。その後、図8の(5)−
1のタイミングでDREQ0信号は、マスク信号でマス
クされる。
【0071】ここで、図6及び図7を参照してDREQ
信号マスク回路210,220のマスク動作について説
明する。
【0072】図6において、CPU100がカウンタ回
路211に対してカウントの初期値(本実施形態では、
“5h”)をセットする。このとき、DACK信号が入
力されて初めてカウントが行われる。
【0073】サンプリングクロックの立ち上がりエッジ
でカウント(デクリメント)が行われ、比較器212で
は、このカウントデータを所定値“0”と比較する。
“0”とカウントデータが一致した場合は、サンプリン
グクロックの周期の分だけカウンタTC信号が出力され
る。
【0074】一方、マスク回路213では、DACK信
号が入力された時点で、内部のマスク信号発生回路21
4(図7)のマスク信号がイネーブル(アクティブ
“H”)となり、ORゲート215でこのマスク信号と
DREQ信号とのOR論理がとられ、BREQ信号とし
て出力される。マスク信号がディセーブルになるために
は、カウンタTC信号を使用し、マスク信号をディセー
ブルにする。このマスク信号は、マスク信号発生回路2
14で生成される信号で、DACK信号により“H”と
なり、カウンタTC信号で“L”となる信号である。
【0075】図8のタイミングチャートの説明に戻る。
【0076】入力にDREQ0信号と上記マスク信号か
ら生成された出力を使用してBREQN信号を作成す
る。
【0077】図8の(3)−1地点からサンプルクロック
に同期して、DREQ信号マスク回路210のカウンタ
回路211のカウンタがデクリメントされる。カウンタ
値が“0”になった時点で、カウンタTC信号が発生す
る(アクティブ“H”)。
【0078】このカウンタTC信号の立ち下がりを利用
してマスク信号が“L”となり、マスクがディセーブル
になる(図8の(4)−1参照)。マスク信号が“L”に
なった時点でマスク回路213のマスク信号が“L”に
なるので、DREQ0信号がそのままゲートを抜けて出
力となる。この出力信号を利用して、BREQN信号が
出力される(タイミングは図8の(4)−1参照)。
【0079】ここで、図8の(5)−1〜(2)−2のBAC
KN信号の立ち下がりエッジまでの区間においては、B
REQNが出力されないため、バス権はCPU100に
あることになる。
【0080】図8の(4)−1以降の動作シーケンスに関
しては上記説明と同様である。
【0081】図8に示すように、区間(2)−1、(2)−
2、(2)−3はDMAC200がバス権を所有している
区間であり、それ以外の区間はCPU100がバス権を
所有している区間である。
【0082】上記では、外部リクエストデバイス240
に関しての動作の説明をしたが、外部リクエストデバイ
ス241に関しても、同じ動作である。
【0083】次に、CH0とCH1のDREQ0/DR
EQ1信号の調停に関して説明する。
【0084】図9はDMA転送装置のDMAC200の
調停動作を説明するためのタイミングチャートである。
図中、○印はCH0のDMAシーケンスの開始を、●印
はCH0のDMAシーケンスの開始を指し、番号(1)〜
(2)は動作タイミングを説明するための符号である。ま
た、DREQ信号監視CHは調停回路230の内部にあ
る。
【0085】DMAC200内部でのDREQ0/DR
EQ1信号の調停は、調停回路230によって、CH0
→CH1→CH0→…の順(ラウンドロビン式)にDR
EQが入力されたかどうかを監視している。
【0086】ここではT1区間の始まりにDREQ0、
DREQ1が入力された場合を例にとり説明する。
【0087】まず、図9の(1)の箇所で、DREQ監視
がCH0を監視しているときに同時にDREQ0/DR
EQ1が入力されたことから、DREQ0が優先され
る。DREQ0を受けたBREQN信号は“L”となる
(図9の○の部分参照)。
【0088】次に、T3の区間((2)の箇所参照)でC
H0のDMAシーケンスが終了した時点で、DREQ信
号監視CHがCH1を示していて、しかも、DREQ1
信号がイネーブルであるために、T4の区間でDREQ
1を受けたBREQN信号が“L”となる(図9の●部
分参照)。CH1のDMAシーケンスはT5区間で終了
する。
【0089】T6〜T8区間では、DREQ信号監視C
Hが1周期毎に、CH0/CH1のDREQ0/DRE
Q1を監視し、DREQ信号が入力されるのを待ってい
る状態である。このとき、マスク信号CH0とマスク信
号CH1が動作しているために、T6でDREQ0が、
T8でDREQ1がマスクされている。
【0090】T9において、マスク信号CH1が“L”
になるために、T10区間でBREQN信号がイネーブ
ル(“L”)になり、CH1のDMAシーケンスが行わ
れ、T11区間でそのシーケンスが終了する。
【0091】また、T12区間においてマスク信号CH
0が“L”になり、なおかつ、DREQ監視CHが
“0”を示しているため、T13区間でDREQ0を受
けたBREQN信号が“L”となり、CH0のDMAシ
ーケンスが行われる。
【0092】このように、DREQ監視CHによってD
REQ信号を監視して、有効になったDREQ信号と監
視CHが同じくなった場合にBREQN信号を“L”に
してDMAシーケンスをスタートさせている。
【0093】以上説明したように、第2の実施形態に係
るDMA転送装置は、DMAC200が、各チャンネル
毎に設置され、CPU100からのマスク信号mask
_en0,mask_en1により制御されるDREQ
信号マスク回路210,220と、DREQ信号マスク
回路210,220のBREQ0信号,BREQ1信号
を調停する調停回路230とを備え、DREQ信号マス
ク回路210,220がDREQ0/DREQ1信号を
マスクしてDMA転送によるバス占有状態を制御するよ
うに構成したので、DMAC側(内部)で外部リクエス
トデバイスのDREQ信号をマスクすることによって、
周期的にDREQ信号を発生させることにより、DMA
によるシステムのバス占有率を制御することができ、D
MAにバスを占有され、CPUの処理ができなくなるこ
とを避けることができ、システムの破綻を防止できると
いう効果がある。
【0094】さらに、本実施形態では、DREQ信号マ
スク回路210,220をDMAC200内部に搭載す
るようにしているので、外部リクエストデバイスを新規
に追加した場合に、新規デバイス搭載の度に、上記マス
ク回路を追加することによるハードウェアの増加を防ぐ
ことができるという効果がある。
【0095】また、DMAC側(内部)に調停回路23
0によるDREQ監視CHを搭載することで、DMA転
送チャンネルに優先順位を付与し、均等にDMAのチャ
ネルを配分することが可能になるという効果がある。
【0096】なお、本実施形態では、DMAC200の
内部に、DREQ信号をマスクするDREQ信号マスク
回路210,220を設けるようにしているが、これら
マスク回路210,220はDMAC側に設置されてい
ればよく、必ずしもDMACの内部に設置する構成でな
くてもよい。 第3の実施形態 図10は本発明の第3の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
【0097】図10において、DMA転送装置は、CP
U100、DMAC300、外部リクエストデバイス3
50、外部リクエストデバイス351、外部リクエスト
デバイス352及び外部メモリ113から構成され、D
MAC300は、BREQN信号をマスクするカウンタ
付きマスク回路310を備えて構成される。
【0098】DMAC300は、3つのDMAチャンネ
ルを搭載しており、それらをCH0,CH1,CH3と
する。また、CH0,CH1,CH2はそれぞれ、外部
リクエストデバイス351、外部リクエストデバイス3
52、外部リクエストデバイス353に接続されてい
る。
【0099】外部リクエストデバイス351のDMAチ
ャンネルをCH1、外部リクエストデバイス352のD
MAチャンネルをCH2、外部リクエストデバイス35
3のDMAチャンネルをCH3とする。
【0100】図10の破線に示すように、CH0,CH
1,CH2毎に、外部リクエストデバイス351、外部
リクエストデバイス352、外部リクエストデバイス3
53からDMAC300にDMA要求信号DREQ1,
DREQ2,DREQ3が出力され、また、DMAC3
00から外部リクエストデバイス351、外部リクエス
トデバイス352、外部リクエストデバイス353にD
MA許可信号DACK1,DACK2,DACK3が出
力される。
【0101】DMAC300は、CPU100に対して
バス開放リクエスト信号BREQNを出力し、CPU1
00は、DMAC300に対してバス開放許可信号BA
CKNを出力する。
【0102】また、CPU100からDMAC300に
出力されるmask_en信号は、CPU100のポー
トから出力される信号であり、カウンタ付きマスク回路
310のカウンタ回路をイネーブルにする信号(アクテ
ィブ“H”)である。
【0103】図11は上記カウンタ付きマスク回路31
0の構成を示すブロック図である。
【0104】図11において、サンプリングクロックの
立ち上がりエッジでカウント(デクリメント)するカウ
ンタ回路311と、カウントデータを所定値“0”と比
較し、“0”とカウントデータが一致したときサンプリ
ングクロックの周期分のパルス、すなわちカウンタTC
信号を出力する比較器312と、DMAC300内部で
作成したBREQ信号とmask_enマスク信号との
OR(論理和)を作成して、BREQN信号を作成する
マスク回路313とから構成される。
【0105】カウンタ回路311には、データバス、サ
ンプルクロック、BACKN信号が入力され、現在のカ
ウント値が出力される。
【0106】比較器312には、カウンタ回路311か
ら出力された現在のカウント値のデータが入力され、カ
ウンタTC信号が出力される。
【0107】マスク回路313には、DMAC300内
部でDREQ信号から作成したBREQ信号、CPU1
00からのBACKN信号、mask_en信号、比較
器312からカウンタTC信号が入力され、BREQN
信号を出力する。
【0108】図12は図11のマスク回路313の内部
の詳細な構成を示す図である。
【0109】図12において、マスク回路313は、カ
ウンタTC信号を基にBACKN信号が入力された時点
で内部で生成されたマスク信号がイネーブルになるマス
ク信号を出力するマスク信号発生回路314、及び発生
したマスク信号とBREQ信号のOR論理をとるORゲ
ート315から構成される。
【0110】図13は上記DMA要求信号DREQ1,
DREQ2,DREQ3からBREQN信号発生までの
構成を示す図である。
【0111】図13において、316は、外部リクエス
トデバイス351、外部リクエストデバイス352、外
部リクエストデバイス353からのDREQ1,DRE
Q2,DREQ3信号を調停し、DMAC300内部で
作成したBREQ信号を出力するDREQ信号調停回路
である。
【0112】DREQ信号調停回路316で作成された
BREQ信号は、マスク回路313(図11及び図1
2)に出力され、マスク回路313はBREQN信号を
出力する。
【0113】ここで、本実施形態のマスクカウンタ付き
マスク回路310は、第2の実施形態のDREQ信号マ
スク回路210,220と同様に、ハード的なカウンタ
(タイマ)を設けてマスク時間を決定する方法をとる。
但し、第2の実施形態のようにハード的なカウンタ(タ
イマ)を設けてマスク時間を決定する方法も可能である
し、CPU自体のタイマ割り込みを利用して、CPUポ
ートを利用してマスク時間を制御することも可能であ
る。
【0114】また、本実施形態では、マスク時間(外部
リクエストデバイスの数に応じて選択する)になるよう
に、マスクカウンタ付きマスク回路310内のカウンタ
回路311のカウンタの値をセットするものであり、こ
のカウンタに対して、所定のマスク時間になるようにデ
ータをセットする。これも、CPU自体のタイマ割り込
みを使ってでも実現可能である。
【0115】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0116】まず、カウンタ付きマスク回路310の動
作について述べる。
【0117】図11に示すように、CPU100はカウ
ンタ回路311にカウントすべき初期値をセット(本実
施形態の場合は“5h”をセット)する。次に、BAC
KN信号が入力されると、サンプルクロックの立ち上が
りエッジでカウント(デクリメント)が行われる。次
に、比較器312により現在のカウント値を“0”と比
較し、一致するとサンプルクロックの1周期分のパルス
を出力する。
【0118】一方、マスク回路313においては、図1
2に示すようにBACKN信号により内部のマスク信号
がイネーブル(アクティブ“H”)となり、DMAC3
00内部でDREQから作成したBREQ信号と内部の
マスク信号とのORゲート315の出力をBREQNと
して出力する。ここで、内部のマスク信号は、BACK
N信号にてイネーブル(アクティブ“H”)となり、カ
ウンタTC信号にてディセーブル(アクティブ“L”)
となる信号である。
【0119】また、図10に示すように、mask_e
n信号はCPU100からDMAC300に入力される
信号であり、CPU100のポートで制御される。この
mask_en信号は、マスクカウンタ付きマスク回路
310全体をイネーブルにするかディセーブルにするか
を制御する信号であり、マスクカウンタ付きマスク回路
310を使用しないでBREQを出力する場合は、CP
U100はディセーブル(“L”)になるように制御す
る。
【0120】図14はDMA転送装置の動作を説明する
ためのタイミングチャートである。なお、図中、番号
(1)〜(4)は動作タイミングまたは動作の区間を説明する
ための符号である。
【0121】図14のタイミングチャートにおいて、D
REQ1、DREQ2、DREQ3信号が図14の(2)
のタイミングで同時にイネーブルになるものとする。各
CH(CH1、CH2、CH3)のDMA要求の優先度
は、CH1→CH2→CH3→CH1というようなラウ
ンドロビン方式である。
【0122】カウンタ付きマスク回路310のカウンタ
値を“5”に設定した場合を例にする。
【0123】図14の(1)のタイミングでカウント値
“5”がセットされる。
【0124】次に、図14の(2)のタイミングで、3つ
のDREQ(DREQ1、DREQ2、DREQ3)が
同時にイネーブルになる。ここで、図14の(2)−1の
区間はCH1のDMAが実行されている区間である。
【0125】次に、図14の(3)−1のタイミング(B
ACKN信号の立ち上がり)でマスク信号イネーブルに
なり、BREQ信号がマスクされる。カウントの開始
も、(3)−1の地点つまり、BACKN信号が“H”に
なったタイミングで開始される。BREQ信号のマスク
回路は、前記図11のマスク回路313であり、DMA
C300内部のBREQ信号がこのマスク回路313の
マスク信号にてマスクされる。
【0126】次に、図14の(4)−1のタイミングでカ
ウンタ値が“0”となり、マスク信号が“L”(ディセ
ーブル)になり、マスクが解除され、BREQN信号が
DMAC300外部に出力される。図14の(2)−2の
区間は、CH2のDMA転送が行われる。
【0127】次に、図14の(3)−2のタイミング(B
ACKN信号の立ち上がり)でマスク信号がイネーブル
になりBREQN信号がマスクされる。このマスク動作
は、前記図11に示したマスク回路313により行われ
る。
【0128】次に、図14の(4)−2のタイミングでカ
ウンタが“0”となり、マスク信号が“L”(ディセー
ブル)になり、マスクが解除され、BREQN信号がD
MAC300外部に出力される。
【0129】このようにして、BREQN信号をマスク
してBREQNが発生する周期を調整している。
【0130】以上説明したように、第3の実施形態に係
るDMA転送装置は、DMAC300は、BREQN信
号をマスクするカウンタ付きマスク回路310を備え、
カウンタ付きマスク回路310がBREQN信号をマス
クしてDMA転送によるバス占有状態を制御するように
構成したので、第1及び第2の実施形態と同様の効果を
得ることができる。
【0131】特に、本実施形態によれば、第2の実施形
態のように外部リクエストデバイスから出力されるDR
EQ信号をマスクするのではなく、DMAC300内部
で、BREQN信号をマスクしている。このようにする
と、第2の実施形態のように、各CHごとにマスク回路
を付加するよりも、マスク回路を1個にすることがで
き、第2の実施形態の場合よりもハードウェアを小さく
できる効果がある。
【0132】また、BREQN信号をマスクするので、
複数の外部リクエストデバイスからのDREQ信号が頻
繁に重なってきた場合でも、BREQN信号を周期的に
出力するように制御することが可能になり、DMAC3
00によるバス占有率を一定にできる効果がある。 第4の実施形態 図15は本発明の第4の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
【0133】図15において、DMA転送装置は、CP
U100、DMAC400、複数の外部リクエストデバ
イス(451,452,453,…,N−1,N)、及
び外部メモリ113から構成される。
【0134】DMAC400は、複数のDMAチャンネ
ルを搭載しており、それらをCH1,CH2,CH3,
…,CHN−1,CHNとする。また、CH1,CH
2,CH3,…,CHN−1,CHNはそれぞれ、対応
する外部リクエストデバイス(451,452,45
3,…,N−1,N)に接続されている。
【0135】DMAC400は、CH1,CH2,CH
3,…,CHN−1,CHNに対応して設置された複数
のDREQ信号マスク回路410,…と、DREQ信号
マスク回路410,…のBREQ信号を調停する調停回
路230とを備える。
【0136】外部リクエストデバイス451、外部リク
エストデバイス452、外部リクエストデバイス453
が出力するDREQ信号をそれぞれ、DREQ1、DR
EQ2、DREQ3とし、そのリクエスト信号に対する
DACK信号をそれぞれ、DACK1、DACK2、D
ACK3とする。このとき、外部リクエストデバイス
(N−1),外部リクエストデバイス(N)は、複数個
外部リクエストデバイスがあるという意味で、DMAC
400が対応可能な外部リクエストデバイスの数を示し
ている。外部メモリ113は、DMAシステムのメモリ
であり、DMAシステムのソースデバイスにもなり、デ
ィスティネーションデバイスにもなる。
【0137】DMAC400内部には、マスクカウンタ
及びマスク回路を内蔵したマスクカウンタ付きマスク回
路(DREQ信号マスク回路)が各チャンネル毎に搭載
されている。このマスク回路は、前記図2及び図3と同
様な回路構成であり、マスクカウンタに対しては、CP
U100がマスク時間に見合ったカウンタ値を設定す
る。
【0138】DMAC400の内部のDRPQ信号の調
停回路230は、各チャンネルから出力されたDREQ
信号を調停し、BREQN信号をCPU100に対して
出力する。調停方法は、第2の実施形態と同様であり、
DREQ信号の入力順番とDREQ信号監視CH(前記
図9の動作説明参照)によりどのDMAシーケンスを行
うか決定する。
【0139】また、DMAC400からCPU100に
BREQN信号(バス開放リクエスト信号:CPUに対
して、バス権の開放を要求する信号/アクティブ
“L”)が出力され、CPU100からDMAC400
に対してBACKN信号(バス開放許可信号:外部DM
ACに対して、バス権の開放を許可していることを示す
信号/アクティブ“L”)が出力される。
【0140】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0141】図16はDMA転送装置の動作を説明する
ためのタイミングチャートである。なお、図中、番号
(1)〜(12)は動作タイミングまたは動作の区間を説明す
るための符号である。
【0142】外部リクエストデバイス451、外部リク
エストデバイス452、外部リクエストデバイス453
からそれぞれDREQ1、DREQ2、DREQ3信号
が任意のタイミングで同時(図16の(1)、(7)の地点)
に出力された場合の動作について説明する。
【0143】CPU100は、DMAコントローラ40
0内部のマスクタイマー(Ch1〜ChN)に対してマ
スク時間を設定する。設定値は図17に示す値である。
本実施形態の場合、外部リクエストデバイスの個数が3
個なので、図17に示す表からマスク時間=2μsに設
定する。
【0144】DMAC400は、任意のタイミングにお
いて、1つのチャネルのDMAのみを有効にするため、
チャンネルが有効になる順番をCh1,Ch2,…,C
hNという順序で有効にする。
【0145】図16のタイミングチャートにおいて、
(1)、(7)地点でDREQ1を受けてBREQNが“L”
となり、DMAシーケンスが開始される。このDMAシ
ーケンスが終了したあと、(2)、(8)地点でMASK1信
号がイネーブルになる。マスク時間の設定が2μsであ
るため、2μs分マスクされる。
【0146】次に、図16の(3)、(9)のタイミングでD
REQ2を受けて、BREQNが“L”となり、DMA
シーケンスが開始される。図16の(4)、(10)のタイミ
ングでこのDMAシーケンスが終了するが、このタイミ
ングでマスクが開始される。ここでも、マスク時間が2
μs設定であるために、マスクは2μs分行われる。
【0147】同様に、図16の(5)、(11)地点のタイミ
ングでDREQ3を受けて、DMAシーケンスが開始さ
れて、(6)、(12)地点でDMAシーケンスが終了し、マ
スクが開始される。この一連の流れにおいて、(6)の地
点と(13)の地点の間に、DMAが行われていない区間が
存在するが、この区間では、CPU100は、そのシス
テムのプログラムに準じた処理を行うことができる。こ
の区間は、DREQのマスクがなければ存在しない区間
である。この区間はDREQ1、DREQ2、DREQ
3の発生周期と、外部リクエストデバイスを搭載する個
数によって、決まってくる。
【0148】以上説明したように、第4の実施形態に係
るDMA転送装置は、DMAC400側(内部)に、C
H1,CH2,CH3,…,CHN−1,CHNに対応
して設置された複数のDREQ信号マスク回路410,
…と、DREQ信号マスク回路410,…のBREQ信
号を調停する調停回路230とを設け、各チャネル毎に
配置された複数のDREQ信号マスク回路410,…
が、CPU100により外部同時動作するリクエストデ
バイスの数に応じてマスク時間を制御するように構成し
たので、各DMAチャンネルのDMA転送の機会を時間
的に均等に与えることが可能になりDMAチャンネルの
時間的調停が可能になる。
【0149】すなわち、複数の動作可能な外部リクエス
トデバイスが同一のバス上に存在する場合に、システム
としては、DMAC400がバスを占有する時間は自ず
と増加する。つまり、DMAC400によるバス占有率
が増加する。本実施形態では、DREQ信号のマスク時
間を外部リクエストデバイスの同時動作する個数により
制御することで、平均的なDMACのバス占有率を制御
することができ、外部リクエストデバイスが複数存在す
ることによる、システムにおけるDMAC400のバス
占有率の著しい増加を防止することができる効果があ
る。
【0150】なお、本実施形態では、DMAC400の
バス占有率制御方法として第2の実施形態の方法を使用
した例を示したが、第1の実施形態の方法に示したよう
に、動作可能な外部リクエストデバイス側で制御するこ
とも、また第3の実施形態の方法でDMAC400のB
REQを制御することによっても実現可能である。 第5の実施形態 図18は本発明の第5の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図15と同一構成部分に
は同一符号を付している。
【0151】図18において、DMA転送装置は、CP
U500、DMAC400、複数の外部リクエストデバ
イス(451,452,453,…,N−1,N)、及
び外部メモリ113から構成される。
【0152】CPU500のプログラムの中には、プロ
グラムの処理タスクを管理するタスク管理機能510
(管理手段)が搭載されている。
【0153】DMAC400は、複数のDMAチャンネ
ルを搭載しており、それらをCH1,CH2,CH3,
…,CHN−1,CHNとする。また、CH1,CH
2,CH3,…,CHN−1,CHNはそれぞれ、対応
する外部リクエストデバイス(451,452,45
3,…,N−1,N)に接続されている。
【0154】DMAC400は、CH1,CH2,CH
3,…,CHN−1,CHNに対応して設置された複数
のDREQ信号マスク回路410,…と、DREQ信号
マスク回路410,…のBREQ信号を調停する調停回
路230とを備える。
【0155】外部リクエストデバイス451、外部リク
エストデバイス452、外部リクエストデバイス453
が出力するDREQ信号をそれぞれ、DREQ1、DR
EQ2、DREQ3とし、そのリクエスト信号に対する
DACK信号をそれぞれ、DACK1、DACK2、D
ACK3とする。このとき、外部リクエストデバイス
(N−1),外部リクエストデバイス(N)は、複数個
外部リクエストデバイスがあるという意味で、DMAC
400が対応可能な外部リクエストデバイスの数を示し
ている。外部メモリ113は、DMAシステムのメモリ
であり、DMAシステムのソースデバイスにもなり、デ
ィスティネーションデバイスにもなる。
【0156】また、CPU500から出力されるmas
k_en1、mask_en2、mask_en3はそ
れぞれDREQ信号マスク回路410,…(DREQ信
号マスク回路CH1、CH2、CH3)のマスクを有効
にする信号である。制御は、CPU500自体がポート
制御により行う。
【0157】DMAC400の内部のDRPQ信号の調
停回路230は、各チャンネル(CH1/2/3…)の
DREQ信号を調停し、BREQN信号をCPU500
に出力する。調停方法は、第2の実施形態と同様であ
る。
【0158】また、DMAC400からCPU500に
BREQN信号(バス開放リクエスト信号:アクティブ
“L”)が出力され、また、このBREQN信号に応答
して、CPU500は、DMAC400に対して、BA
CKN信号(バス開放許可信号:アクティブ“L”)を
出力する。
【0159】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0160】CPU500は、通常プログラムに則って
処理をしているが、処理するタスクによっては、CPU
に対する処理負荷が異なっている。CPU500の内部
にあるタスク管理機能510は、現在何のタスクを処理
しているかを常に監視し、その情報を保持する機能をも
つものである。このタスク管理機能510はソフトウェ
アにより実現されている。
【0161】まず、プログラム上のタスク名T1〜T1
0とその処理負荷と対応するマスク時間の関係を図19
の表に示す。
【0162】図19に示すように、CPU500は、タ
スクをT1,T2,T3,…,T10,T1,…の順番
で処理していくようなプログラムになっている。
【0163】以下、DREQ1が連続して発生する時の
DREQ1のイネーブル間隔が1μsである場合を例に
挙げて説明する。
【0164】図20はDMA転送装置の動作を説明する
ためのタイミングチャートである。
【0165】まず、図20に示すように、タスクT1が
処理されている最中は、マスク時間が1μsにセットさ
れている(図19の表参照)。このときDREQ1信号
がイネーブルされた場合、必ず1μs分DREQ1信号
がDMAC400内部のマスクでマスクされて、DMA
転送が行われる。この場合は、マスク設定時間が1μs
であったが、DREQ1のイネーブル間隔が1μsであ
るために、マスクタイマが有効であってもまったく効果
がない。
【0166】次に、タスクT2が処理されている最中に
ついて説明する。このときは、マスク時間が2μsにセ
ットされている(図19の表参照)。このとき、DRE
Q1信号がイネーブルされた場合、必ず2μs分DRE
Q1信号がDMAC400内部のDREQ信号マスク回
路410でマスクされ、DMA転送が行われる。この場
合は、DREQのイネーブル間隔が1μsであるのに対
し、マスク設定時間が2μsであったため、マスクの効
果が1μs出すことができたことになる。
【0167】同様にして、タスクT3の場合は、マスク
の効果が2μs、タスクT4の場合は3μsだけマスク
の効果が出てくる。
【0168】各チャンネル毎に上記動作を行う。また、
各チャンネルの調停動作は第2の実施形態と同様であ
る。
【0169】以上説明したように、第5の実施形態に係
るDMA転送装置は、CPU500が、プログラムの処
理タスクを管理するタスク管理機能510を備え、CP
Uの処理負荷に応じてマスク時間を制御するように構成
したので、以下のような効果を得ることができる。
【0170】すなわち、CPU処理(タスク)が複雑で
あり、しかも、所定の時間内に処理を完了させなければ
ならないタスクがシステム上に多くある場合、DMAC
から出力されるBREQ信号はそのCPU処理を時間的
に非効率的にしてしまうことがある。このとき、本実施
形態のように、タスクごとのDREQ信号のマスク動作
を行うことで、CPU処理を所定の時間内に完了させる
ことを遂行することができ、システム上のCPUの時間
的処理能力の低下を防止することができる効果がある。
【0171】なお、本実施形態では、DMACの動作を
第2の実施形態の方法を制御したが、第1の実施形態に
示したように、外部リクエストデバイス側で制御する方
法でも、また第3の実施形態に示したように、DMAC
内部のBREQ信号を制御する方法でも実現可能であ
る。 第6の実施形態 図21は本発明の第6の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
【0172】図21において、DMA転送装置は、CP
U100、DMAC600、外部リクエストデバイス6
50及び外部メモリ113から構成され、DMAC60
0は、DREQ信号マスク回路610(マスク手段)
と、DREQ信号の発生周期を検出するDREQ周期検
出回路620(DREQ周期検出手段)とを備えて構成
される。
【0173】外部リクエストデバイス650からDMA
C600にDREQ信号が出力され、DMAC600か
ら外部リクエストデバイス650にDACK信号が出力
される。
【0174】DMAC600からCPU100にBRE
Q信号が出力され、CPU100からDMAC600に
BACK信号が出力される。
【0175】また、外部メモリ113は、DMA転送の
ソースデバイス(または、ディスティネーションデバイ
ス)になる。
【0176】CPU100から出力されるmask_e
n信号は、DREQ信号マスク回路610を有効にする
信号である。
【0177】CPU100は、このマスク信号mask
_enをDREQ信号マスク回路610に出力してDR
EQ信号マスク回路610を制御する。
【0178】図22は上記DREQ周期検出回路620
の回路構成を示す図である。
【0179】図22において、DREQ周期検出回路6
20は、DREQ信号を入力してDREQ信号のエッジ
を論理的に検出するエッジ検出回路621、サンプリン
グクロックの立ち上がりエッジでカウント(デクリメン
ト)するカウンタ622、及びカウントデータを格納す
るデータバッファ623から構成される。
【0180】データバッファ623は、カウンタ623
の結果をCPU100(図21)がリードできるように
データを保持しておくバッファである。
【0181】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0182】図23はDREQ周期検出回路620の動
作を示すタイミングチャートである。
【0183】まず、外部リクエストデバイス650から
DREC信号がDMAC600に入力され、その入力信
号が内部のDREQ周期検出回路620に入力される。
【0184】DREQ周期検出回路620の内部回路に
おいては、図23のタイミングチャートに示すように、
エッジ検出部621がDREQ信号の立ち上がりエッジ
を検出し、検出したパルスをトリガとして、カウンタ6
22がカウントを開始する。このカウントは次のDRE
Q信号のエッジまでカウントする。
【0185】カウンタ622によりカウントされたカウ
ントデータは、データバッファ623に転送され、カウ
ント終了後はデータバッファ623はそのデータを保持
している。
【0186】図24はDMA転送装置の動作を説明する
ためのタイミングチャートである。
【0187】CPU100は、データバッファ623の
カウントデータを任意のタイミングで読み出し、そのデ
ータに従ってCPUのポートにより、mask_en信
号のイネーブル/ディセーブルの操作を行う。すなわ
ち、CPU100は、読み出したカウントデータが小さ
ければmask_en信号をイネーブルにしている時間
を長くする。
【0188】図24に示すように、mask_en信号
がイネーブルの場合、DREQ信号は一定期間(区間)
マスクされ、マスク解除後、mask_en信号がディ
セーブルとなりBREQ信号となってCPU100に出
力される。
【0189】BREQ信号を受け付けたCPU100
は、バス権を開放したことを知らせるためにBACK信
号を出力する。
【0190】図24に示すように、mask_en信号
がディセーブルの区間は、BREQ信号の発生間隔が短
くなっているが、mask_en信号がイネーブルの区
間はBREQの発生間隔がディセーブルの区間に比べて
長くなっているのがわかる。この区間(マスク効果が出
ている区間)では、CPU100がプログラムに従って
処理している区間である。
【0191】以上説明したように、第6の実施形態に係
るDMA転送装置は、DMAC600が、DREQ信号
マスク回路610と、DREQ信号の発生周期を検出す
るDREQ周期検出回路620とを備え、DREQ周期
検出回路620が入力されるDREQ信号の発生周期を
検出し、そのカウンタデータ値を利用してDREQ信号
をマスクするように構成したので、DMAの周期(間
隔)を広げることができ、しかも、DMAC600によ
る、システムにおけるバス占有率を低減するという効果
がある。
【0192】また、この方法を使用すれば、DMA転送
のスピードをCPU100によって制御することが可能
になるため、DREQ信号発生周期が変動するI/O装
置(外部リクエストデバイス)がバス上に存在する場
合、同じ周期でBREQ信号を発生させ、バス占有率を
低減させる効果がある。
【0193】なお、本実施形態においては、DMACの
動作を第2の実施形態の方法で制御したが、第1の実施
形態の方法に示したように、動作可能な外部リクエスト
デバイス側で制御することも、また第3の実施形態の方
法に示したようにDMAC内部のBREQを制御する方
法でも実現可能である。 第7の実施形態 図25は本発明の第7の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図21と同一構成部分に
は同一符号を付している。
【0194】図25において、DMA転送装置は、CP
U100、DMAC700、外部リクエストデバイス7
51、外部リクエストデバイス752及び外部メモリ1
13から構成され、DMAC700は、BREQN信号
マスク回路720(マスク手段)と、動作を許可する複
数の外部リクエストデバイスのDREQ信号に伴い発生
するBREQN信号の発生周期を検出するBREQN周
期検出回路720(BREQN周期検出手段)とを備え
て構成される。
【0195】DMAC700は、複数の(2つの)DM
Aチャンネルを搭載しており、それらをCH1,CH2
とする。また、CH1,CH2はそれぞれ、外部リクエ
ストデバイス751、外部リクエストデバイス752に
接続されている。
【0196】外部リクエストデバイス751のDMAチ
ャンネルをCH1、外部リクエストデバイス752のD
MAチャンネルをCH2とする。
【0197】図25の破線に示すように、CH1,CH
2毎に、外部リクエストデバイス751、外部リクエス
トデバイス752からDMAC700に対してDMA要
求信号DREQ1,DREQ2(アクテイブ“H”)が
出力され、また、DMAC700から外部リクエストデ
バイス751、外部リクエストデバイス752に対して
DMA許可信号DACK1,DACK2が出力される。
【0198】DMAC700は、CPU100に対して
バス開放リクエスト信号BREQN(アクティブ
“L”)を出力し、CPU100は、DMAC700に
対してバス開放許可信号BACKN(アクティブ
“L”)を出力する。
【0199】また、CPU100からDMAC700に
出力されるmask_en信号は、CPU100のポー
トから出力される信号であり、BREQNマスク回路7
20のカウンタ回路をイネーブルにする信号(アクティ
ブ“H”)である。
【0200】図26は上記BREQN信号周期検出回路
720の回路構成を示す図である。
【0201】図26において、BREQN信号周期検出
回路720は、BREQN信号を入力してBREQN信
号のエッジを論理的に検出するエッジ検出回路721、
サンプリングクロックの立ち上がりエッジでカウント
(デクリメント)するカウンタ722、及びカウントデ
ータを格納するデータバッファ723から構成される。
【0202】エッジ検出回路721からカウントパルス
がカウンタに対して出力され、カウンタ722から、カ
ウントデータがデータバッファ723に転送される。
【0203】データバッファ723は、カウンタ723
の結果をCPU100(図25)がリードできるように
データを保持しておくバッファである。
【0204】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0205】図27はBREQN信号周期検出回路72
0の動作を示すタイミングチャートであり、図28はD
MA転送装置の動作を説明するためのタイミングチャー
トである。
【0206】まず、CH1とCH2のDMA転送の優先
度は、本実施形態の場合、CH1→CH2→CH1→C
H2のようにラウンドするラウンドロビン型をとるもの
とする。同時にDREQ(要求信号)がDMAC700
に入力された場合は、CH1優先とし、その他の場合
は、時間的に先にDREQ(要求信号)が入ってきた方
を優先とする。
【0207】DREQ1とDREQ2が同時に図28の
(1)の地点でアクティブになっている場合を例にする。
このとき、DMAは、CH1のDMAが行われる。
【0208】次に、図28の(2)の地点で、CH2のD
MAが行われる。このとき、図28の(1)と(2)のBRE
QN信号の立ち下がりエッジで、図26に示すBREQ
N信号周期検出回路720が動作し、カウンタ722が
動作する。そして、図27のタイミングチャートに示す
ように、カウントデータがデータバッファ723に転送
される。
【0209】また、図28の(3)の地点でCH1のDM
Aが実行されるが、このときも、BREQN信号周期検
出回路720により図28の(2)と(3)のBREQNのエ
ッジからエッジの間のカウントが行われる。この時のカ
ウントデータも、データバッファ723に上書きされ
る。
【0210】図28の(3)のDMA転送終了した時点で
CPU100は、データバッファ723のデータをリー
ドする。このリードした値で、DMAC700のBRE
QN信号の発生周期をCPU100が認識することがで
きる。
【0211】次に、図28の(4)−1の地点、つまりB
ACKN信号が“H”になった時点で、CPU100
は、mask_en1信号を“H”にする。mask_
en1を“H”にした時点で、BREQN信号は、マス
クされていて、DREQ1、DREQ2が入力されて
も、BREQN信号は外部に出力されない(図28のマ
スク効果が出ている区間参照)。
【0212】図28の(4)−2、(4)−3地点でも同様で
ある。
【0213】CPU100がmask_en1を“H”
にする時間は、先にリードしたBREQ信号の発生周期
の値をもとに制御する。例えば、データバッファ723
からリードした数値が極端に短かかった場合は、mas
k_en1を“H”にしている時間を長くして、DMA
C100によるバス占有率を低下させ、逆に、データバ
ッファ723からリードした数値が極端に長かった場合
には、mask_en1信号を“H”にする時間を短め
に制御することが可能である。
【0214】このように、BREQの発生周期をCPU
100が認識することで装置のDMAC700によるバ
ス占有率をCPU100が制御することが可能である。
【0215】以上説明したように、第7の実施形態に係
るDMA転送装置は、DMAC700が、BREQN信
号マスク回路720と、動作を許可する複数の外部リク
エストデバイスのDREQ信号に伴い発生するBREQ
N信号の発生周期を検出するBREQN周期検出回路7
20とを備え、BREQN信号周期検出回路720は、
BREQN信号を入力してBREQN信号のエッジを論
理的に検出するエッジ検出回路721、サンプリングク
ロックの立ち上がりエッジでカウント(デクリメント)
するカウンタ722、及びカウントデータを格納するデ
ータバッファ723により構成したので、BREQN信
号の発生周期(発生間隔)をBREQNの信号のエッジ
を使用してカウントし、カウントデータをデータバッフ
ァ723に保持しておくことで、CPU100が、DM
AC700から入力されるBREQの発生周期を認識す
ることできるようになり、CPU100によって、DM
AC700によるバス占有率を制御することが可能にな
る。
【0216】また、第6の実施形態のように、CH(チ
ャンネル)ごとに、DREQの発生周期を検出するDR
EQ周期検出回路620を搭載すると、外部リクエスト
デバイスを多数搭載したときに、DREQ周期検出回路
を構成するカウンタや、データバッファを新規にCHご
とに追加する必要がある。本実施形態によれば、BRE
QN信号に対して、BREQN周期検出回路720を搭
載しているために、外部リクエストデバイスが多数搭載
されても、BREQN周期検出回路を構成するカウンタ
やデータバッファは1個のみで済むので、ハードウェア
の規模を小さくできる効果がある。
【0217】なお、本実施形態では、第3の実施形態の
方法でDMACの動作を制御したが、制御の方法はCP
Uによる制御でも、マスク回路にハード的なタイマーを
設けて、ハードでマスクすることも可能である。また、
第1の実施形態の方法に示したように、動作可能な外部
リクエストデバイス側で制御することも、第2の実施形
態の方法に示したように、DMAC側で制御することも
可能である。 第8の実施形態 図29は本発明の第8の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図18及び図21と同一
構成部分には同一符号を付している。
【0218】図29において、DMA転送装置は、CP
U800(設定手段)、DMAC600、外部リクエス
トデバイス650及び外部メモリ113から構成され、
DMAC600は、DREQ信号マスク回路610と、
DREQ周期検出回路620とを備えて構成される。
【0219】CPU800のプログラムの中には、プロ
グラムの処理タスクを管理するタスク管理機能810
(管理手段)が搭載されている。このタスク管理機能8
10はソフトウェアにより実現されている。
【0220】DMAC600は、外部リクエストデバイ
ス650からDREQ信号が入力され、マスクイネーブ
ルの場合はDREQ信号をmask_en信号の区間分
だけマスクしてBREQN信号をCPU800に対して
出力する。CPU800がバス権を開放したときにBA
CKN信号がDMAC600に出力される。
【0221】そのBACKN信号を受けてDMAC60
0は、外部リクエストデバイス650に対して、DAC
K信号を出力する。
【0222】DREQ周期検出回路620は、第6の実
施形態の図22と同じ回路構成である。
【0223】以下、上述のように構成されたDMA転送
装置の動作を説明する。
【0224】まず、システム全体のバス負荷率を規定す
る。説明を簡単にするために、本実施形態ではシステム
全体のバス負荷率を12%以下とする。また、外部リク
エストデバイス650のDREQ信号発生間隔を5μs
とし、1回(Word分)のDMA転送のバス占有率を
10%とする。これによりDMAでバスを占有する時間
=500nsとなる。
【0225】まず、プログラム上のタスク名T1〜T1
0とその処理負荷と対応するマスク時間及びDMACの
負荷率の関係を図30の表に示す。
【0226】図30に示すように、本実施形態は、タス
クT1〜T10を使って処理するシステムであり、その
中のT1,T3,T5,T7を図31に示すタイミング
チャートのような順序でタスク処理していく場合を考え
る。
【0227】図31はDMA転送装置の動作を説明する
ためのタイミングチャートである。
【0228】まず、DREQ信号がタスクT1区間で入
力される。この場合、図30の表から計算すると、合計
のバス占有率が11%となり、本実施形態の占有率12
%を超えることはない。そのためマスク回路を動作させ
る必要はないために、mask_en信号はディセーブ
ルのままで、何ら問題がない。よってDREQ信号と同
じ周期でBREQ信号が発生する。
【0229】次に、タスクT3区間でDREQ信号が発
生した場合、図30の表とDMAのバス占有率から計算
すると13%となってしまう。本実施形態のバスの占有
率は12%以下であるため、問題が生じる。このような
ことが起きないように、処理がタスクT3に入った場合
にmask_en信号を図31に示すタイミングで出力
するようにCPU800がコントロールする。このと
き、DREQ信号はmask_en信号によりマスクさ
れてBREQ信号としてCPU800に出力される。こ
のBREQ信号によってCPU800はバス権を開放す
るためにBACK信号を出力する。このようなやり取り
でDMA転送のシーケンスを実行する。
【0230】次に、タスクT5区間にDREQ信号が入
力された場合を説明する。
【0231】この場合はタスクT3の場合と同様にバス
占有率を計算すると15%になってしまう。これもま
た、本実施形態のバス占有率12%以下を満たしていな
いので、この条件を満たすために、図30の表を使用し
てマスク時間を設定する。
【0232】この表によればT5の場合は、mask_
enがイネーブルの時間が2.14μs+5μsとな
り、バス占有率が12%以下になる。この時のマスク時
間を満たすようにCPU800がmask_enを制御
する。
【0233】同様に、タスクT7の場合も図30の表か
らマスク時間を設定して、本実施形態で設定したバス占
有率12%以下になるようにmask_en時間を決
め、このマスク時間を満たすようにCPU800がma
sk_enを制御する。
【0234】以上説明したように、第8の実施形態に係
るDMA転送装置は、CPU800が、プログラムの処
理タスクを管理するタスク管理機能810を備え、CP
Uの処理負荷に応じて所定のシステムのバス負荷を保持
して、マスク時間を制御するように構成したので、各タ
スクが動作しているときのバス占有率を予め計算してお
き、その計算値からシステム全体のバス占有率の限界値
を設定し、CPU処理が効果的でかつ、DMA周期もバ
ス占有率の上限を超えないような値で行うことが可能に
なり、予め計算していたバス占有率の値まで、確実にバ
ス占有率を低減する効果がある。
【0235】なお、本実施形態は、第2の実施形態の方
法でDMACを制御していたが、第1の実施形態の方法
に示したように、動作可能な外部リクエストデバイス側
で制御することも、第3の実施形態の方法でDMAC内
部のBREQ信号を制御することによっても実現可能で
ある。
【0236】また、マスク時間はCPUによって制御す
ることも、マスク回路にハード的なタイマを設けてCP
Uからタイマの時間をセットすることによって実現する
ことも可能である。
【0237】したがって、このような特長を有するDM
A転送装置を、例えば、プリンタなどに代表されるよう
な、PC(パーソナルコンピュータ)周辺機器におい
て、PCからのデータ転送速度と周辺機器自身のデータ
処理速度がお互いに高速処理が必要な場合で、しかもシ
ステムの破綻を避けることが不可欠なシステムにおい
て、データ転送とCPU処理を時間的に均等に処理した
い場合に有効である。また、CPUを中心としたDMA
によるデータ転送を含むすべてのシステムにおいて利用
可能である。
【0238】また、上記各実施形態では、外部リクエス
トデバイスまたはDMAC内にマスク回路等を設置する
ようにしているが、これは一例であり、外部に外付けす
るように設置してもよい。また、DMACは、専用のD
MAコントローラでも汎用のDMAコントローラでもよ
く、特に、高速性が要求されるときにはカウンタ及びバ
ッファ等の個別部品を用いて構成するものでもよい。
【0239】さらに、上記DMA転送装置を構成するレ
ジスタ、カウンタ、各種制御回路等の種類、数などは上
述した実施形態に限られないことは言うまでもない。
【0240】
【発明の効果】本発明に係るDMA転送装置では、外部
リクエストデバイスまたはDMA制御部が、DREQ信
号をマスクするマスク手段を備え、マスク手段によりD
REQ信号をマスクしてDMA転送によるバス占有状態
を制御するように構成したので、外部リクエストデバイ
スが複数存在する場合、または、DREQ信号の発生周
期が短い外部リクエストデバイスが同一のバスに存在す
る場合、DMAによるバス占有率を低減でき、時間的に
バスを有効に利用することができる。
【図面の簡単な説明】
【図1】本発明を適用した第1の実施形態に係るDMA
転送装置の構成を示すブロック図である。
【図2】上記DMA転送装置のDREQ信号マスク回路
の構成を示す回路図である。
【図3】上記DMA転送装置のDREQ信号マスク回路
の構成を示す回路図である。
【図4】上記DMA転送装置のDMA転送動作を示すタ
イミングチャートである。
【図5】本発明を適用した第2の実施形態に係るDMA
転送装置の構成を示すブロック図である。
【図6】上記DMA転送装置のDREQ信号マスク回路
の構成を示すブロック図である。
【図7】上記DMA転送装置のマスク回路の内部の詳細
な構成を示す図である。
【図8】上記DMA転送装置の動作を説明するためのタ
イミングチャートである。
【図9】上記DMA転送装置のDMACの調停動作を説
明するためのタイミングチャートである。
【図10】本発明を適用した第3の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図11】上記DMA転送装置のカウンタ付きマスク回
路の構成を示すブロック図である。
【図12】上記DMA転送装置のマスク回路の内部の詳
細な構成を示す図である。
【図13】上記DMA転送装置のDMA要求信号DRE
Q1,DREQ2,DREQ3からBREQN信号発生
までの構成を示す図である。
【図14】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図15】本発明を適用した第4の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図16】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図17】上記DMA転送装置のマスク時間を設定の表
を示す図である。
【図18】本発明を適用した第5の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図19】上記DMA転送装置のプログラム上のタスク
名とその処理負荷と対応するマスク時間の関係の表を示
す図である。
【図20】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図21】本発明を適用した第6の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図22】上記DMA転送装置のDREQ周期検出回路
の回路構成を示す図である。
【図23】上記DMA転送装置のDREQ周期検出回路
の動作を示すタイミングチャートである。
【図24】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図25】本発明を適用した第7の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図26】上記DMA転送装置のBREQN信号周期検
出回路の回路構成を示す図である。
【図27】上記DMA転送装置のBREQN信号周期検
出回路の動作を示すタイミングチャートである。
【図28】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図29】本発明を適用した第8の実施形態に係るDM
A転送装置の構成を示すブロック図である。
【図30】上記DMA転送装置のプログラム上のタスク
名とその処理負荷と対応するマスク時間の関係の表を示
す図である。
【図31】上記DMA転送装置の動作を説明するための
タイミングチャートである。
【図32】従来のDMA転送装置の構成を示すブロック
図である。
【図33】従来のDMACの調停のタイミングを概念的
に示すタイミングチャートである。
【符号の説明】
100,500,800 CPU、110,200,3
00,400,600,700 DMAC(DMA制御
部)、111,112,240,241,351,35
2,353,451,452,453,751,752
外部リクエストデバイス、113 外部メモリ、12
1,122,210,220,410,610 DRE
Q信号マスク回路(マスク手段)、131 ANDゲー
ト、132 ORゲート、230 調停回路、211,
311 カウンタ回路、212,312 比較器、21
3,313 マスク回路、214 マスク信号発生回
路、215,315 ORゲート、310 カウンタ付
きマスク回路(マスク手段)、316 DREQ信号調
停回路、313 BREQ信号マスク回路、314マス
ク信号生成回路、510,810 タスク管理機能(管
理手段)、620DREQ周期検出回路(DREQ周期
検出手段)、621,721 エッジ検出回路、62
2,722 カウンタ、623,723 データバッフ
ァ、710BREQN信号マスク回路(マスク手段)、
720 BREQN周期検出回路(BREQN周期検出
手段)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 CPUの動作と独立に、メモリと外部リ
    クエストデバイス間で直接データを転送するDMA転送
    制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからデータ転
    送リクエスト(以下、DREQという)信号が発生した
    とき、CPUに対してバスリクエスト(以下、BREQ
    Nという)信号を出力してバスの開放を要求し、CPU
    からバス開放許可(以下、BACKNという)信号が返
    されると、外部リクエストデバイスにデータ転送リクエ
    スト確認(以下、DACKという)信号を送出し、メモ
    リと外部リクエストデバイス間のデータ転送制御を行う
    DMA転送装置において、 前記外部リクエストデバイスは、前記DREQ信号をマ
    スクするマスク手段を備え、 前記マスク手段により前記DREQ信号をマスクしてD
    MA転送によるバス占有状態を制御すること特徴とする
    DMA転送装置。
  2. 【請求項2】 CPUの動作と独立に、メモリと外部リ
    クエストデバイス間で直接データを転送するDMA転送
    制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからDREQ
    信号が発生したとき、CPUに対してBREQN信号を
    出力してバスの開放を要求し、CPUからBACKN信
    号が返されると、外部リクエストデバイスにDACK信
    号を送出し、メモリと外部リクエストデバイス間のデー
    タ転送制御を行うDMA転送装置において、 前記DMA制御部は、前記DREQ信号をマスクするマ
    スク手段を備え、 前記マスク手段により前記DREQ信号をマスクしてD
    MA転送によるバス占有状態を制御することを特徴とす
    るDMA転送装置。
  3. 【請求項3】 CPUの動作と独立に、メモリと外部リ
    クエストデバイス間で直接データを転送するDMA転送
    制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからDREQ
    信号が発生したとき、CPUに対してBREQN信号を
    出力してバスの開放を要求し、CPUからBACKN信
    号が返されると、外部リクエストデバイスにDACK信
    号を送出し、メモリと外部リクエストデバイス間のデー
    タ転送制御を行うDMA転送装置において、 前記DMA制御部は、前記BREQN信号をマスクする
    マスク手段を備え、 前記マスク手段により前記BREQN信号をマスクして
    DMA転送によるバス占有状態を制御することを特徴と
    するDMA転送装置。
  4. 【請求項4】 同時動作可能な外部リクエストデバイス
    の数に応じて前記マスク時間を制御する手段をさらに備
    えたことを特徴とする請求項1乃至3の何れかに記載の
    DMA転送装置。
  5. 【請求項5】 CPUの処理負荷を管理する管理手段
    と、 CPUの処理負荷に応じて前記マスク時間を制御する手
    段とを備えたこと特徴とする請求項1乃至4の何れかに
    記載のDMA転送装置。
  6. 【請求項6】 DREQ信号の発生周期を検出するDR
    EQ信号周期検出手段を備え、 前記マスク手段は、前記DREQ信号発生周期に基づい
    て前記DREQ信号をマスクすることを特徴とする請求
    項1乃至3の何れかに記載のDMA転送装置。
  7. 【請求項7】 動作を許可する複数の外部リクエストデ
    バイスのDREQ信号に伴い発生するBREQN信号の
    発生周期を検出するBREQN信号周期検出手段を備
    え、 前記マスク手段は、前記BREQN信号発生周期に基づ
    いて前記BREQN信号をマスクすることを特徴とする
    請求項1乃至3の何れかに記載のDMA転送装置。
  8. 【請求項8】 CPUの処理負荷を管理する管理手段
    と、 CPU処理に伴うバス占有率を求め、その限界値を設定
    する設定手段と、 CPUの処理負荷及び前記限界値に応じて前記マスク時
    間を制御する手段とを備えたこと特徴とする請求項1乃
    至4の何れかに記載のDMA転送装置。
JP10690399A 1999-04-14 1999-04-14 Dma転送装置 Expired - Fee Related JP4549458B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10690399A JP4549458B2 (ja) 1999-04-14 1999-04-14 Dma転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10690399A JP4549458B2 (ja) 1999-04-14 1999-04-14 Dma転送装置

Publications (3)

Publication Number Publication Date
JP2000298638A true JP2000298638A (ja) 2000-10-24
JP2000298638A5 JP2000298638A5 (ja) 2005-10-27
JP4549458B2 JP4549458B2 (ja) 2010-09-22

Family

ID=14445427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10690399A Expired - Fee Related JP4549458B2 (ja) 1999-04-14 1999-04-14 Dma転送装置

Country Status (1)

Country Link
JP (1) JP4549458B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352666A (ja) * 2004-06-09 2005-12-22 Murata Mach Ltd Dmaコントローラ及びdma制御方法
JP2010191492A (ja) * 2009-02-16 2010-09-02 Ricoh Co Ltd データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
KR101214068B1 (ko) 2006-02-03 2012-12-20 삼성전자주식회사 직접 메모리 액세스 제어부에서 버스 제어 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205652A (ja) * 1984-03-29 1985-10-17 Hitachi Ltd Dma転送方式
JPS63214860A (ja) * 1987-03-03 1988-09-07 Toshiba Corp Dma装置
JPH0546540A (ja) * 1991-08-15 1993-02-26 Pfu Ltd 禁止時間付競合調停方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205652A (ja) * 1984-03-29 1985-10-17 Hitachi Ltd Dma転送方式
JPS63214860A (ja) * 1987-03-03 1988-09-07 Toshiba Corp Dma装置
JPH0546540A (ja) * 1991-08-15 1993-02-26 Pfu Ltd 禁止時間付競合調停方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352666A (ja) * 2004-06-09 2005-12-22 Murata Mach Ltd Dmaコントローラ及びdma制御方法
KR101214068B1 (ko) 2006-02-03 2012-12-20 삼성전자주식회사 직접 메모리 액세스 제어부에서 버스 제어 방법 및 장치
JP2010191492A (ja) * 2009-02-16 2010-09-02 Ricoh Co Ltd データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体

Also Published As

Publication number Publication date
JP4549458B2 (ja) 2010-09-22

Similar Documents

Publication Publication Date Title
US7062582B1 (en) Method and apparatus for bus arbitration dynamic priority based on waiting period
JP4457168B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
US5572686A (en) Bus arbitration scheme with priority switching and timer
US9201816B2 (en) Data processing apparatus and a method for setting priority levels for transactions
US20120042105A1 (en) Bus arbitration apparatus
US7450606B2 (en) Bit slice arbiter
US20060155903A1 (en) Resource management device
US6571306B1 (en) Bus request mechanism for bus master which is parked on a shared bus
JP2000298638A (ja) Dma転送装置
US6784890B1 (en) Accelerated graphics port expedite cycle throttling control mechanism
JP5677007B2 (ja) バス調停装置、バス調停方法
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2004078508A (ja) バス調停回路、バス調停方法およびそのプログラム
JPH0696014A (ja) バス使用優先順位制御装置
JP4309508B2 (ja) Dma制御装置
JP4344163B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
JP3985085B2 (ja) Dma制御装置
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JP4898527B2 (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
JPH10334042A (ja) バス調停制御装置及びバス調停制御方法並びにバス調停制御プログラムを記録した記録媒体
JP2001117860A (ja) メモリアクセス優先順位切替制御装置
JP2000259550A (ja) Dma制御装置
JP5494925B2 (ja) 半導体集積回路、情報処理装置およびプロセッサ性能保証方法
JP2002091903A (ja) バスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100707

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees