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
Links
- 230000000873 masking effect Effects 0.000 claims abstract description 47
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 38
- 238000000034 method Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 18
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 12
- 238000005070 sampling Methods 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 239000013256 coordination polymer Substances 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 102100035589 Distal membrane-arm assembly complex protein 2 Human genes 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 101000930307 Homo sapiens Distal membrane-arm assembly complex protein 2 Proteins 0.000 description 2
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 2
- 102100036822 Ankyrin repeat and KH domain-containing protein 1 Human genes 0.000 description 1
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 1
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
合、または、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
emory Access)転送装置に係り、詳細には、CPUの動
作と独立に、メモリと外部リクエストデバイス間で直接
データを転送するDMA転送制御を行うDMA制御部を
備えたDMA転送装置に関する。
インメモリとI/O装置(例えば、外部リクエストデバ
イス)などの周辺機器間でデータ転送を行うものであ
る。これにより高速・大容量のデータ転送がCPUのオ
ーバヘッドを伴わずに可能となる。DMA転送は、一般
にDMAC(Direct Memory Access Controler)がバス
を管理して転送を制御する。
との間でDMA転送を行うシステムにおいて、DMAC
は、外部リクエストデバイスから出力されるDMAリク
エスト(DREQ)信号を受けてメモリデバイスと外部
リクエストデバイス間でデータ転送ができるよう他のデ
バイスを制御する。
すブロック図であり、DMACと外部リクエストデバイ
ス間のデータ転送を例としたものである。
C、3,4は複数の(2つの)外部リクエストデバイス
(外部リクエストデバイス1,2)、5は外部メモリで
ある。
スト信号DREQ1/DREQ2がDMAC2に対して
出力される。DMAC2には、それぞれのDMAリクエ
スト信号DREQ1/DREQ2が入力され、DMAC
2は、このDREQ信号の入力によって、CPU1に対
してバスリクエスト(BREQ)信号を出力し、バスの
開放を要求する。
可(BACK)信号を出力し、バスをDMAC2に開放
する。ここで、外部リクエストデバイスが複数存在する
場合は、各デバイスからのDREQの発生回数が増加す
るため、DMACの内部でBREQ信号を発生させる順
序を調整(調停)し、各外部リクエストデバイスのDM
A転送を実現している。
うな従来のDMA転送装置にあっては、上述したように
複数の外部リクエストデバイスシステムに搭載した場合
に、DREQ信号の調停が必要である。また、外部リク
エストデバイスの数と外部リクエストデバイスのDRE
Q信号の発生周期によってDMAによるバスの占有率が
大きくなり、通常の一連のCPUによる処理が極端に延
ばされてしまう可能性があるという問題点があった。
念的に示すタイミングチャートである。
て、各CHの1回のDMA転送に所要する時間をTとす
る。図33の場合は、DMACが各チャンネルのDMA
の調停を行って、CH1→CH2→CH3→CH1とい
ったラウンドロビン型の方式でチャンネルを使用してい
る。しかし、この方法を用いると、DMA転送にだけバ
スが占有されることになり、プロセッサがバスを使用し
て処理している時間が、時間的に極端に延ばされてしま
うことがある。
存在する場合、または、DREQ信号の発生周期が短い
外部リクエストデバイスが同一のバスに存在する場合、
DMAによるバス占有率を低減し、時間的にバスを有効
に利用することができるDMA転送装置を提供すること
を目的とする。
装置は、CPUの動作と独立に、メモリと外部リクエス
トデバイス間で直接データを転送するDMA転送制御を
行うDMA制御部を備え、DMA制御部は、外部リクエ
ストデバイスからDREQ信号が発生したとき、CPU
に対してBREQN信号を出力してバスの開放を要求
し、CPUからBACKN信号が返されると、外部リク
エストデバイスにDACK信号を送出し、メモリと外部
リクエストデバイス間のデータ転送制御を行うDMA転
送装置において、外部リクエストデバイスは、DREQ
信号をマスクするマスク手段を備え、マスク手段により
DREQ信号をマスクしてDMA転送によるバス占有状
態を制御すること特徴とする。
動作と独立に、メモリと外部リクエストデバイス間で直
接データを転送するDMA転送制御を行うDMA制御部
を備え、DMA制御部は、外部リクエストデバイスから
DREQ信号が発生したとき、CPUに対してBREQ
N信号を出力してバスの開放を要求し、CPUからBA
CKN信号が返されると、外部リクエストデバイスにD
ACK信号を送出し、メモリと外部リクエストデバイス
間のデータ転送制御を行うDMA転送装置において、D
MA制御部は、DREQ信号をマスクするマスク手段を
備え、マスク手段によりDREQ信号をマスクしてDM
A転送によるバス占有状態を制御することを特徴とす
る。
動作と独立に、メモリと外部リクエストデバイス間で直
接データを転送するDMA転送制御を行うDMA制御部
を備え、DMA制御部は、外部リクエストデバイスから
DREQ信号が発生したとき、CPUに対してBREQ
N信号を出力してバスの開放を要求し、CPUからBA
CKN信号が返されると、外部リクエストデバイスにD
ACK信号を送出し、メモリと外部リクエストデバイス
間のデータ転送制御を行うDMA転送装置において、D
MA制御部は、BREQN信号をマスクするマスク手段
を備え、マスク手段によりBREQN信号をマスクして
DMA転送によるバス占有状態を制御することを特徴と
する。
可能な外部リクエストデバイスの数に応じてマスク時間
を制御する手段をさらに備えたものであってもよい。
処理負荷を管理する管理手段と、CPUの処理負荷に応
じてマスク時間を制御する手段とを備えたものであって
もよい。
信号の発生周期を検出するDREQ信号周期検出手段を
備え、マスク手段は、DREQ信号発生周期に基づいて
DREQ信号をマスクするものであってもよい。
可する複数の外部リクエストデバイスのDREQ信号に
伴い発生するBREQN信号の発生周期を検出するBR
EQN信号周期検出手段を備え、マスク手段は、BRE
QN信号発生周期に基づいてBREQN信号をマスクす
るものであってもよい。
処理負荷を管理する管理手段と、CPU処理に伴うバス
占有率を求め、その限界値を設定する設定手段と、CP
Uの処理負荷及び限界値に応じてマスク時間を制御する
手段とを備えたものであってもよい。
構成を示すブロック図である。本実施形態は、外部メモ
リと外部リクエストデバイスとの間でDMA転送を行う
システムに適用したものである。
100、DMAC110(DMA制御部)、外部リクエ
ストデバイス111、外部リクエストデバイス112、
及び外部メモリ113から構成される。
ルを搭載しており、それらをCH0,CH1とする。ま
た、CH0とCH1はそれぞれ、外部リクエストデバイ
ス111、外部リクエストデバイス112に接続されて
いる。
は、DREQ信号マスク回路121(マスク手段)が、
また外部リクエストデバイス112の内部には、DRE
Q信号マスク回路122(マスク手段)が設置され、D
REQ信号マスク回路121,122は、CPU100
からのマスク信号mask_en0,mask_en1
により制御される。
en1は、DREQ信号マスク回路121,122のイ
ネーブル/ディセーブルをコントロールする信号であ
り、両信号ともアクティブ“H”(“H”レベルでアク
ティブな信号)である。
BREQ(バス開放要求)信号が出力され、CPU10
0からDMAC110にBACK(バス開放許可)信号
が出力される。
ティネーシ(転送先)、または、ソース(転送元)にな
る。
路121,122の構成を示す回路図であり、図2はD
REQ信号がアクティブ“H”の場合の回路構成を、図
3はDREQ信号がアクティブ“L”(“L”レベルで
アクティブな信号)の場合の回路構成をそれぞれ示す。
“H”の場合のDREQ信号マスク回路121,122
は、ANDゲート131により構成される。外部リクエ
ストデバイス内部のDREQ信号をDREQ_P_in
(アクティブ“H”の場合)とし、マスクを制御するマ
スク信号をmask_enとする。
k_enの反転信号とDREQ_P_in信号のAND
論理をとりDREQ_Pを出力する。この場合、mas
k_en=“H”のときにDREQ_P_in信号がマ
スクされて、出力としてDREQ_Pが出力される。
クティブ“L”の場合のDREQ信号マスク回路12
1,122は、ORゲート132により構成される。
_enとDREQ_N_in信号のOR論理をとりDR
EQ_Nを出力する。この場合、mask_en=
“H”のときにDREQ_N_in信号がマスクされ
て、出力としてDREQ_Nが出力される。
装置の動作を説明する。
のDREQ信号マスク回路121がイネーブルになり、
mask_en1によりCH1のDREQ信号マスク回
路122がイネーブルになる場合を説明する。
作を示すタイミングチャートであり、時間T(例えば、
500ns)で1回のDMA転送が行われる。図中、C
H0,CH1は、DMAC110の2つのDMAチャン
ネルを示す。
CH1の各々のDREGが同時に発生したとする。
0信号は、mask_en0信号によってマスクされて
いるため、CH1のDMA転送が行われている。そのと
き、mask_en1信号はディセーブルの状態
(“L”)である。
Aチャネルがマスクされているため、DMA転送が行わ
れない。この区間では、CPU100がバスを占有し、
プログラムに応じた処理を行っている。
en1がイネーブルの状態(“H”)になっているた
め、CH1のDREQ1信号がマスクされ、DREQ1
が出力されないため、DMAシーケンスが行われない。
この区間では、CH0のDMA転送が行われる。
と同様に、CPU100の処理が行われる。よって、こ
こでもCPU100の処理は停止しない。
_en1を利用して、DREQ信号をマスクしてDRE
Q0/DREQ1信号の発生周期を変えている。
1は、CPU100が制御しているが、このような周期
的なイネーブル信号は、CPU100の内蔵のタイマを
使用して実現することが可能である。例えば、500n
sの割り込み処理で、mask_en0/mask_e
n1を交互にイネーブルにするように設定すれば、各C
HのDMAは、2μsに1回DREQが発生する。さら
に、設定間隔を短くする場合には、CPU100から設
定するのではなく、外部リクエストデバイスの内部に周
期的にイネーブルを制御するタイマを内蔵することによ
って実現できる。
る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の介在による破綻を防止するという効果がある。
いため、既存のCPUシステムの変更なしにシステム全
体のスループットの向上及び信頼性の向上を図ることが
できる。また、ゲート回路という簡単な部品の追加で実
現できるので、低コストで実施できる。
バイス111,112の内部に、DREQ0/DREQ
1信号をマスクするDREQ信号マスク回路121,1
22を設けるようにしているが、これらマスク回路12
1,122は外部リクエストデバイス側に設置されてい
ればよく、必ずしも外部リクエストデバイスの内部に設
置する構成でなくてもよい。 第2の実施形態 図5は本発明の第2の実施形態に係るDMA転送装置の
構成を示すブロック図である。本実施形態は、DMAC
を使用して、外部メモリデバイスと外部リクエストデバ
イスとの間でDMA転送を行うシステムに適用した例で
ある。本実施形態に係るDMA転送装置の説明にあたり
前記図1と同一構成部分には同一符号を付している。
100、DMAC200、外部リクエストデバイス24
0、外部リクエストデバイス241、及び外部メモリ1
13から構成される。
ルを搭載しており、それらをCH0,CH1とする。ま
た、CH0とCH1はそれぞれ、外部リクエストデバイ
ス240、外部リクエストデバイス241に接続されて
いる。
され、CPU100からのマスク信号mask_en
0,mask_en1により制御されるDREQ信号マ
スク回路210,220と、DREQ信号マスク回路2
10,220のBREQ0信号,BREQ1信号を調停
する調停回路230とを備える。
en1は、CH0とCH1のDREQ信号マスク回路2
10,220のイネーブル/ディセーブルの切替えをす
る信号であり、両信号ともアクティブ“H”である。
n信号は、マスク信号そのものを意味するが、本実施形
態を含む後述する各実施形態で記載されるmask_e
n信号はマスク回路を動作させるか否かを制御するため
の信号を意味する。したがって、必ずマスク回路を動作
させる場合は、mask_en信号を省略することがで
きる。
_en0,mask_en1をDREQ信号マスク回路
210,220に出力してDREQ信号マスク回路21
0,220を制御する。また、CPU100は、DRE
Q信号マスク回路210,220に対してタイマカウン
ト値を設定することが可能であり、CPU100が設定
するタイマカウント値によって、生成されるマスク信号
の長さが変わる。
200に出力するDREQ信号をDREQ0、外部リク
エストデバイス241がDMAC200に出力するDR
EQ信号をDREQ1とし、DMAC200から外部リ
クエストデバイス240,241に返すDREQ0とD
REQ1に対するDACK信号をそれぞれDACK0,
DACK1とする。
BREQN信号(バス開放リクエスト信号:CPUに対
して、バス権の開放を要求する信号/アクティブ
“L”)が出力され、CPU100からDMAC200
に対してBACKN信号(バス・アクノリッジ信号:外
部DMACに対して、バス権の開放を許可していること
を示す信号/アクティブ“L”)が出力される。
ストデバイス→外部メモリ方向と、外部メモリ→外部リ
クエストデバイス方向の2通りあり、この転送方向は、
CPU100がDMAC200に対して設定可能なもの
とする。
0,220の構成を示すブロック図である。各チャンネ
ルのDREQ信号マスク回路210,220は、同一構
成をとるため、DREQ信号マスク回路210を代表し
て説明する。
10は、サンプリングクロックの立ち上がりエッジでカ
ウント(デクリメント)するカウンタ回路211、カウ
ントデータを所定値“0”と比較し、“0”とカウント
データが一致したときサンプリングクロックの周期分の
パルス、すなわちカウンタTC(Terminal Count:最終
カウントを意味する)信号を出力する比較器212、及
びマスク回路213から構成される。
カウントするための初期値と、カウントするためのサン
プリングクロックが入力される。また、比較器212に
は、カウンタ回路211がカウントしたデータである現
在のカウント値が入力され、比較器212からはカウン
タTC信号が出力される。
カウントデータ値が“0”になった区間で1サンプリン
グクロック分の幅で“H”のパルスになる信号であり、
カウントが終了したことを示す。
2から出力されるカウンタTC信号が入力されるととも
に、DREQ信号及びDACK信号が入力され、BRE
Q信号が出力される。
細な構成を示す図である。
ンタTC信号を基にDACK信号が入力された時点で内
部で生成されたマスク信号がイネーブルになるマスク信
号を出力するマスク信号発生回路214、及び発生した
マスク信号とDREQ信号のOR論理をとるORゲート
215から構成される。
装置の動作を説明する。
めのタイミングチャートである。なお、図中、番号(1)
〜(5)は動作タイミングまたは動作の区間を説明するた
めの符号である。
CH0のDREQ0信号マスク回路210を例にして説
明する。
EQ0信号は、DACK0信号がディセーブル
(“L”)になってから、一定時間経過後にイネーブル
(“H”)になるものとする。
DREQ0信号マスク回路210に対して、タイマカウ
ント値をライトする。本動作の場合は、“5”をライト
するものとする。
U100は、mask_en0を“H”にする。ここま
でのCPU100の動作で、DREQ0信号マスク回路
210は動作可能状態になる。
出力されるDREQ0信号がタイマに入力される。この
とき、DREQ0信号マスク回路210は動作すること
なしに、DMAC200はDREQ0の入力のタイミン
グTEQN信号をCPU100に対して出力する。
は、ある決まったタイミング(CPUの仕様によって異
なる)で、BACKN信号を出力する(図8の(2)−1
の区間参照)。この区間は、DMAC200がバスを占
有する区間であり、この区間ではCPU100はバス権
を開放している状態になる。
BACKN信号からDACK0信号を生成し、外部リク
エストデバイス240に出力する。この時、DACK0
信号の立ち下がりのタイミング(図8の(3)−1参照)
で、マスク信号を“H”にする。その後、図8の(5)−
1のタイミングでDREQ0信号は、マスク信号でマス
クされる。
信号マスク回路210,220のマスク動作について説
明する。
路211に対してカウントの初期値(本実施形態では、
“5h”)をセットする。このとき、DACK信号が入
力されて初めてカウントが行われる。
でカウント(デクリメント)が行われ、比較器212で
は、このカウントデータを所定値“0”と比較する。
“0”とカウントデータが一致した場合は、サンプリン
グクロックの周期の分だけカウンタTC信号が出力され
る。
号が入力された時点で、内部のマスク信号発生回路21
4(図7)のマスク信号がイネーブル(アクティブ
“H”)となり、ORゲート215でこのマスク信号と
DREQ信号とのOR論理がとられ、BREQ信号とし
て出力される。マスク信号がディセーブルになるために
は、カウンタTC信号を使用し、マスク信号をディセー
ブルにする。このマスク信号は、マスク信号発生回路2
14で生成される信号で、DACK信号により“H”と
なり、カウンタTC信号で“L”となる信号である。
ら生成された出力を使用してBREQN信号を作成す
る。
に同期して、DREQ信号マスク回路210のカウンタ
回路211のカウンタがデクリメントされる。カウンタ
値が“0”になった時点で、カウンタTC信号が発生す
る(アクティブ“H”)。
してマスク信号が“L”となり、マスクがディセーブル
になる(図8の(4)−1参照)。マスク信号が“L”に
なった時点でマスク回路213のマスク信号が“L”に
なるので、DREQ0信号がそのままゲートを抜けて出
力となる。この出力信号を利用して、BREQN信号が
出力される(タイミングは図8の(4)−1参照)。
KN信号の立ち下がりエッジまでの区間においては、B
REQNが出力されないため、バス権はCPU100に
あることになる。
しては上記説明と同様である。
2、(2)−3はDMAC200がバス権を所有している
区間であり、それ以外の区間はCPU100がバス権を
所有している区間である。
に関しての動作の説明をしたが、外部リクエストデバイ
ス241に関しても、同じ動作である。
EQ1信号の調停に関して説明する。
調停動作を説明するためのタイミングチャートである。
図中、○印はCH0のDMAシーケンスの開始を、●印
はCH0のDMAシーケンスの開始を指し、番号(1)〜
(2)は動作タイミングを説明するための符号である。ま
た、DREQ信号監視CHは調停回路230の内部にあ
る。
EQ1信号の調停は、調停回路230によって、CH0
→CH1→CH0→…の順(ラウンドロビン式)にDR
EQが入力されたかどうかを監視している。
DREQ1が入力された場合を例にとり説明する。
がCH0を監視しているときに同時にDREQ0/DR
EQ1が入力されたことから、DREQ0が優先され
る。DREQ0を受けたBREQN信号は“L”となる
(図9の○の部分参照)。
H0のDMAシーケンスが終了した時点で、DREQ信
号監視CHがCH1を示していて、しかも、DREQ1
信号がイネーブルであるために、T4の区間でDREQ
1を受けたBREQN信号が“L”となる(図9の●部
分参照)。CH1のDMAシーケンスはT5区間で終了
する。
Hが1周期毎に、CH0/CH1のDREQ0/DRE
Q1を監視し、DREQ信号が入力されるのを待ってい
る状態である。このとき、マスク信号CH0とマスク信
号CH1が動作しているために、T6でDREQ0が、
T8でDREQ1がマスクされている。
になるために、T10区間でBREQN信号がイネーブ
ル(“L”)になり、CH1のDMAシーケンスが行わ
れ、T11区間でそのシーケンスが終了する。
0が“L”になり、なおかつ、DREQ監視CHが
“0”を示しているため、T13区間でDREQ0を受
けたBREQN信号が“L”となり、CH0のDMAシ
ーケンスが行われる。
REQ信号を監視して、有効になったDREQ信号と監
視CHが同じくなった場合にBREQN信号を“L”に
してDMAシーケンスをスタートさせている。
る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の処理ができなくなるこ
とを避けることができ、システムの破綻を防止できると
いう効果がある。
スク回路210,220をDMAC200内部に搭載す
るようにしているので、外部リクエストデバイスを新規
に追加した場合に、新規デバイス搭載の度に、上記マス
ク回路を追加することによるハードウェアの増加を防ぐ
ことができるという効果がある。
0によるDREQ監視CHを搭載することで、DMA転
送チャンネルに優先順位を付与し、均等にDMAのチャ
ネルを配分することが可能になるという効果がある。
内部に、DREQ信号をマスクするDREQ信号マスク
回路210,220を設けるようにしているが、これら
マスク回路210,220はDMAC側に設置されてい
ればよく、必ずしもDMACの内部に設置する構成でな
くてもよい。 第3の実施形態 図10は本発明の第3の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
U100、DMAC300、外部リクエストデバイス3
50、外部リクエストデバイス351、外部リクエスト
デバイス352及び外部メモリ113から構成され、D
MAC300は、BREQN信号をマスクするカウンタ
付きマスク回路310を備えて構成される。
ルを搭載しており、それらをCH0,CH1,CH3と
する。また、CH0,CH1,CH2はそれぞれ、外部
リクエストデバイス351、外部リクエストデバイス3
52、外部リクエストデバイス353に接続されてい
る。
ャンネルをCH1、外部リクエストデバイス352のD
MAチャンネルをCH2、外部リクエストデバイス35
3のDMAチャンネルをCH3とする。
1,CH2毎に、外部リクエストデバイス351、外部
リクエストデバイス352、外部リクエストデバイス3
53からDMAC300にDMA要求信号DREQ1,
DREQ2,DREQ3が出力され、また、DMAC3
00から外部リクエストデバイス351、外部リクエス
トデバイス352、外部リクエストデバイス353にD
MA許可信号DACK1,DACK2,DACK3が出
力される。
バス開放リクエスト信号BREQNを出力し、CPU1
00は、DMAC300に対してバス開放許可信号BA
CKNを出力する。
出力されるmask_en信号は、CPU100のポー
トから出力される信号であり、カウンタ付きマスク回路
310のカウンタ回路をイネーブルにする信号(アクテ
ィブ“H”)である。
0の構成を示すブロック図である。
立ち上がりエッジでカウント(デクリメント)するカウ
ンタ回路311と、カウントデータを所定値“0”と比
較し、“0”とカウントデータが一致したときサンプリ
ングクロックの周期分のパルス、すなわちカウンタTC
信号を出力する比較器312と、DMAC300内部で
作成したBREQ信号とmask_enマスク信号との
OR(論理和)を作成して、BREQN信号を作成する
マスク回路313とから構成される。
ンプルクロック、BACKN信号が入力され、現在のカ
ウント値が出力される。
ら出力された現在のカウント値のデータが入力され、カ
ウンタTC信号が出力される。
部でDREQ信号から作成したBREQ信号、CPU1
00からのBACKN信号、mask_en信号、比較
器312からカウンタTC信号が入力され、BREQN
信号を出力する。
の詳細な構成を示す図である。
ウンタTC信号を基にBACKN信号が入力された時点
で内部で生成されたマスク信号がイネーブルになるマス
ク信号を出力するマスク信号発生回路314、及び発生
したマスク信号とBREQ信号のOR論理をとるORゲ
ート315から構成される。
DREQ2,DREQ3からBREQN信号発生までの
構成を示す図である。
トデバイス351、外部リクエストデバイス352、外
部リクエストデバイス353からのDREQ1,DRE
Q2,DREQ3信号を調停し、DMAC300内部で
作成したBREQ信号を出力するDREQ信号調停回路
である。
BREQ信号は、マスク回路313(図11及び図1
2)に出力され、マスク回路313はBREQN信号を
出力する。
マスク回路310は、第2の実施形態のDREQ信号マ
スク回路210,220と同様に、ハード的なカウンタ
(タイマ)を設けてマスク時間を決定する方法をとる。
但し、第2の実施形態のようにハード的なカウンタ(タ
イマ)を設けてマスク時間を決定する方法も可能である
し、CPU自体のタイマ割り込みを利用して、CPUポ
ートを利用してマスク時間を制御することも可能であ
る。
リクエストデバイスの数に応じて選択する)になるよう
に、マスクカウンタ付きマスク回路310内のカウンタ
回路311のカウンタの値をセットするものであり、こ
のカウンタに対して、所定のマスク時間になるようにデ
ータをセットする。これも、CPU自体のタイマ割り込
みを使ってでも実現可能である。
装置の動作を説明する。
作について述べる。
ンタ回路311にカウントすべき初期値をセット(本実
施形態の場合は“5h”をセット)する。次に、BAC
KN信号が入力されると、サンプルクロックの立ち上が
りエッジでカウント(デクリメント)が行われる。次
に、比較器312により現在のカウント値を“0”と比
較し、一致するとサンプルクロックの1周期分のパルス
を出力する。
2に示すようにBACKN信号により内部のマスク信号
がイネーブル(アクティブ“H”)となり、DMAC3
00内部でDREQから作成したBREQ信号と内部の
マスク信号とのORゲート315の出力をBREQNと
して出力する。ここで、内部のマスク信号は、BACK
N信号にてイネーブル(アクティブ“H”)となり、カ
ウンタTC信号にてディセーブル(アクティブ“L”)
となる信号である。
n信号はCPU100からDMAC300に入力される
信号であり、CPU100のポートで制御される。この
mask_en信号は、マスクカウンタ付きマスク回路
310全体をイネーブルにするかディセーブルにするか
を制御する信号であり、マスクカウンタ付きマスク回路
310を使用しないでBREQを出力する場合は、CP
U100はディセーブル(“L”)になるように制御す
る。
ためのタイミングチャートである。なお、図中、番号
(1)〜(4)は動作タイミングまたは動作の区間を説明する
ための符号である。
REQ1、DREQ2、DREQ3信号が図14の(2)
のタイミングで同時にイネーブルになるものとする。各
CH(CH1、CH2、CH3)のDMA要求の優先度
は、CH1→CH2→CH3→CH1というようなラウ
ンドロビン方式である。
値を“5”に設定した場合を例にする。
“5”がセットされる。
のDREQ(DREQ1、DREQ2、DREQ3)が
同時にイネーブルになる。ここで、図14の(2)−1の
区間はCH1のDMAが実行されている区間である。
ACKN信号の立ち上がり)でマスク信号イネーブルに
なり、BREQ信号がマスクされる。カウントの開始
も、(3)−1の地点つまり、BACKN信号が“H”に
なったタイミングで開始される。BREQ信号のマスク
回路は、前記図11のマスク回路313であり、DMA
C300内部のBREQ信号がこのマスク回路313の
マスク信号にてマスクされる。
ウンタ値が“0”となり、マスク信号が“L”(ディセ
ーブル)になり、マスクが解除され、BREQN信号が
DMAC300外部に出力される。図14の(2)−2の
区間は、CH2のDMA転送が行われる。
ACKN信号の立ち上がり)でマスク信号がイネーブル
になりBREQN信号がマスクされる。このマスク動作
は、前記図11に示したマスク回路313により行われ
る。
ウンタが“0”となり、マスク信号が“L”(ディセー
ブル)になり、マスクが解除され、BREQN信号がD
MAC300外部に出力される。
してBREQNが発生する周期を調整している。
るDMA転送装置は、DMAC300は、BREQN信
号をマスクするカウンタ付きマスク回路310を備え、
カウンタ付きマスク回路310がBREQN信号をマス
クしてDMA転送によるバス占有状態を制御するように
構成したので、第1及び第2の実施形態と同様の効果を
得ることができる。
態のように外部リクエストデバイスから出力されるDR
EQ信号をマスクするのではなく、DMAC300内部
で、BREQN信号をマスクしている。このようにする
と、第2の実施形態のように、各CHごとにマスク回路
を付加するよりも、マスク回路を1個にすることがで
き、第2の実施形態の場合よりもハードウェアを小さく
できる効果がある。
複数の外部リクエストデバイスからのDREQ信号が頻
繁に重なってきた場合でも、BREQN信号を周期的に
出力するように制御することが可能になり、DMAC3
00によるバス占有率を一定にできる効果がある。 第4の実施形態 図15は本発明の第4の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
U100、DMAC400、複数の外部リクエストデバ
イス(451,452,453,…,N−1,N)、及
び外部メモリ113から構成される。
ルを搭載しており、それらをCH1,CH2,CH3,
…,CHN−1,CHNとする。また、CH1,CH
2,CH3,…,CHN−1,CHNはそれぞれ、対応
する外部リクエストデバイス(451,452,45
3,…,N−1,N)に接続されている。
3,…,CHN−1,CHNに対応して設置された複数
のDREQ信号マスク回路410,…と、DREQ信号
マスク回路410,…のBREQ信号を調停する調停回
路230とを備える。
エストデバイス452、外部リクエストデバイス453
が出力するDREQ信号をそれぞれ、DREQ1、DR
EQ2、DREQ3とし、そのリクエスト信号に対する
DACK信号をそれぞれ、DACK1、DACK2、D
ACK3とする。このとき、外部リクエストデバイス
(N−1),外部リクエストデバイス(N)は、複数個
外部リクエストデバイスがあるという意味で、DMAC
400が対応可能な外部リクエストデバイスの数を示し
ている。外部メモリ113は、DMAシステムのメモリ
であり、DMAシステムのソースデバイスにもなり、デ
ィスティネーションデバイスにもなる。
及びマスク回路を内蔵したマスクカウンタ付きマスク回
路(DREQ信号マスク回路)が各チャンネル毎に搭載
されている。このマスク回路は、前記図2及び図3と同
様な回路構成であり、マスクカウンタに対しては、CP
U100がマスク時間に見合ったカウンタ値を設定す
る。
停回路230は、各チャンネルから出力されたDREQ
信号を調停し、BREQN信号をCPU100に対して
出力する。調停方法は、第2の実施形態と同様であり、
DREQ信号の入力順番とDREQ信号監視CH(前記
図9の動作説明参照)によりどのDMAシーケンスを行
うか決定する。
BREQN信号(バス開放リクエスト信号:CPUに対
して、バス権の開放を要求する信号/アクティブ
“L”)が出力され、CPU100からDMAC400
に対してBACKN信号(バス開放許可信号:外部DM
ACに対して、バス権の開放を許可していることを示す
信号/アクティブ“L”)が出力される。
装置の動作を説明する。
ためのタイミングチャートである。なお、図中、番号
(1)〜(12)は動作タイミングまたは動作の区間を説明す
るための符号である。
エストデバイス452、外部リクエストデバイス453
からそれぞれDREQ1、DREQ2、DREQ3信号
が任意のタイミングで同時(図16の(1)、(7)の地点)
に出力された場合の動作について説明する。
0内部のマスクタイマー(Ch1〜ChN)に対してマ
スク時間を設定する。設定値は図17に示す値である。
本実施形態の場合、外部リクエストデバイスの個数が3
個なので、図17に示す表からマスク時間=2μsに設
定する。
いて、1つのチャネルのDMAのみを有効にするため、
チャンネルが有効になる順番をCh1,Ch2,…,C
hNという順序で有効にする。
(1)、(7)地点でDREQ1を受けてBREQNが“L”
となり、DMAシーケンスが開始される。このDMAシ
ーケンスが終了したあと、(2)、(8)地点でMASK1信
号がイネーブルになる。マスク時間の設定が2μsであ
るため、2μs分マスクされる。
REQ2を受けて、BREQNが“L”となり、DMA
シーケンスが開始される。図16の(4)、(10)のタイミ
ングでこのDMAシーケンスが終了するが、このタイミ
ングでマスクが開始される。ここでも、マスク時間が2
μs設定であるために、マスクは2μs分行われる。
ングでDREQ3を受けて、DMAシーケンスが開始さ
れて、(6)、(12)地点でDMAシーケンスが終了し、マ
スクが開始される。この一連の流れにおいて、(6)の地
点と(13)の地点の間に、DMAが行われていない区間が
存在するが、この区間では、CPU100は、そのシス
テムのプログラムに準じた処理を行うことができる。こ
の区間は、DREQのマスクがなければ存在しない区間
である。この区間はDREQ1、DREQ2、DREQ
3の発生周期と、外部リクエストデバイスを搭載する個
数によって、決まってくる。
るDMA転送装置は、DMAC400側(内部)に、C
H1,CH2,CH3,…,CHN−1,CHNに対応
して設置された複数のDREQ信号マスク回路410,
…と、DREQ信号マスク回路410,…のBREQ信
号を調停する調停回路230とを設け、各チャネル毎に
配置された複数のDREQ信号マスク回路410,…
が、CPU100により外部同時動作するリクエストデ
バイスの数に応じてマスク時間を制御するように構成し
たので、各DMAチャンネルのDMA転送の機会を時間
的に均等に与えることが可能になりDMAチャンネルの
時間的調停が可能になる。
トデバイスが同一のバス上に存在する場合に、システム
としては、DMAC400がバスを占有する時間は自ず
と増加する。つまり、DMAC400によるバス占有率
が増加する。本実施形態では、DREQ信号のマスク時
間を外部リクエストデバイスの同時動作する個数により
制御することで、平均的なDMACのバス占有率を制御
することができ、外部リクエストデバイスが複数存在す
ることによる、システムにおけるDMAC400のバス
占有率の著しい増加を防止することができる効果があ
る。
バス占有率制御方法として第2の実施形態の方法を使用
した例を示したが、第1の実施形態の方法に示したよう
に、動作可能な外部リクエストデバイス側で制御するこ
とも、また第3の実施形態の方法でDMAC400のB
REQを制御することによっても実現可能である。 第5の実施形態 図18は本発明の第5の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図15と同一構成部分に
は同一符号を付している。
U500、DMAC400、複数の外部リクエストデバ
イス(451,452,453,…,N−1,N)、及
び外部メモリ113から構成される。
グラムの処理タスクを管理するタスク管理機能510
(管理手段)が搭載されている。
ルを搭載しており、それらをCH1,CH2,CH3,
…,CHN−1,CHNとする。また、CH1,CH
2,CH3,…,CHN−1,CHNはそれぞれ、対応
する外部リクエストデバイス(451,452,45
3,…,N−1,N)に接続されている。
3,…,CHN−1,CHNに対応して設置された複数
のDREQ信号マスク回路410,…と、DREQ信号
マスク回路410,…のBREQ信号を調停する調停回
路230とを備える。
エストデバイス452、外部リクエストデバイス453
が出力するDREQ信号をそれぞれ、DREQ1、DR
EQ2、DREQ3とし、そのリクエスト信号に対する
DACK信号をそれぞれ、DACK1、DACK2、D
ACK3とする。このとき、外部リクエストデバイス
(N−1),外部リクエストデバイス(N)は、複数個
外部リクエストデバイスがあるという意味で、DMAC
400が対応可能な外部リクエストデバイスの数を示し
ている。外部メモリ113は、DMAシステムのメモリ
であり、DMAシステムのソースデバイスにもなり、デ
ィスティネーションデバイスにもなる。
k_en1、mask_en2、mask_en3はそ
れぞれDREQ信号マスク回路410,…(DREQ信
号マスク回路CH1、CH2、CH3)のマスクを有効
にする信号である。制御は、CPU500自体がポート
制御により行う。
停回路230は、各チャンネル(CH1/2/3…)の
DREQ信号を調停し、BREQN信号をCPU500
に出力する。調停方法は、第2の実施形態と同様であ
る。
BREQN信号(バス開放リクエスト信号:アクティブ
“L”)が出力され、また、このBREQN信号に応答
して、CPU500は、DMAC400に対して、BA
CKN信号(バス開放許可信号:アクティブ“L”)を
出力する。
装置の動作を説明する。
処理をしているが、処理するタスクによっては、CPU
に対する処理負荷が異なっている。CPU500の内部
にあるタスク管理機能510は、現在何のタスクを処理
しているかを常に監視し、その情報を保持する機能をも
つものである。このタスク管理機能510はソフトウェ
アにより実現されている。
0とその処理負荷と対応するマスク時間の関係を図19
の表に示す。
スクをT1,T2,T3,…,T10,T1,…の順番
で処理していくようなプログラムになっている。
DREQ1のイネーブル間隔が1μsである場合を例に
挙げて説明する。
ためのタイミングチャートである。
処理されている最中は、マスク時間が1μsにセットさ
れている(図19の表参照)。このときDREQ1信号
がイネーブルされた場合、必ず1μs分DREQ1信号
がDMAC400内部のマスクでマスクされて、DMA
転送が行われる。この場合は、マスク設定時間が1μs
であったが、DREQ1のイネーブル間隔が1μsであ
るために、マスクタイマが有効であってもまったく効果
がない。
ついて説明する。このときは、マスク時間が2μsにセ
ットされている(図19の表参照)。このとき、DRE
Q1信号がイネーブルされた場合、必ず2μs分DRE
Q1信号がDMAC400内部のDREQ信号マスク回
路410でマスクされ、DMA転送が行われる。この場
合は、DREQのイネーブル間隔が1μsであるのに対
し、マスク設定時間が2μsであったため、マスクの効
果が1μs出すことができたことになる。
の効果が2μs、タスクT4の場合は3μsだけマスク
の効果が出てくる。
各チャンネルの調停動作は第2の実施形態と同様であ
る。
るDMA転送装置は、CPU500が、プログラムの処
理タスクを管理するタスク管理機能510を備え、CP
Uの処理負荷に応じてマスク時間を制御するように構成
したので、以下のような効果を得ることができる。
あり、しかも、所定の時間内に処理を完了させなければ
ならないタスクがシステム上に多くある場合、DMAC
から出力されるBREQ信号はそのCPU処理を時間的
に非効率的にしてしまうことがある。このとき、本実施
形態のように、タスクごとのDREQ信号のマスク動作
を行うことで、CPU処理を所定の時間内に完了させる
ことを遂行することができ、システム上のCPUの時間
的処理能力の低下を防止することができる効果がある。
第2の実施形態の方法を制御したが、第1の実施形態に
示したように、外部リクエストデバイス側で制御する方
法でも、また第3の実施形態に示したように、DMAC
内部のBREQ信号を制御する方法でも実現可能であ
る。 第6の実施形態 図21は本発明の第6の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図5と同一構成部分には
同一符号を付している。
U100、DMAC600、外部リクエストデバイス6
50及び外部メモリ113から構成され、DMAC60
0は、DREQ信号マスク回路610(マスク手段)
と、DREQ信号の発生周期を検出するDREQ周期検
出回路620(DREQ周期検出手段)とを備えて構成
される。
C600にDREQ信号が出力され、DMAC600か
ら外部リクエストデバイス650にDACK信号が出力
される。
Q信号が出力され、CPU100からDMAC600に
BACK信号が出力される。
ソースデバイス(または、ディスティネーションデバイ
ス)になる。
n信号は、DREQ信号マスク回路610を有効にする
信号である。
_enをDREQ信号マスク回路610に出力してDR
EQ信号マスク回路610を制御する。
の回路構成を示す図である。
20は、DREQ信号を入力してDREQ信号のエッジ
を論理的に検出するエッジ検出回路621、サンプリン
グクロックの立ち上がりエッジでカウント(デクリメン
ト)するカウンタ622、及びカウントデータを格納す
るデータバッファ623から構成される。
の結果をCPU100(図21)がリードできるように
データを保持しておくバッファである。
装置の動作を説明する。
作を示すタイミングチャートである。
DREC信号がDMAC600に入力され、その入力信
号が内部のDREQ周期検出回路620に入力される。
おいては、図23のタイミングチャートに示すように、
エッジ検出部621がDREQ信号の立ち上がりエッジ
を検出し、検出したパルスをトリガとして、カウンタ6
22がカウントを開始する。このカウントは次のDRE
Q信号のエッジまでカウントする。
ントデータは、データバッファ623に転送され、カウ
ント終了後はデータバッファ623はそのデータを保持
している。
ためのタイミングチャートである。
カウントデータを任意のタイミングで読み出し、そのデ
ータに従ってCPUのポートにより、mask_en信
号のイネーブル/ディセーブルの操作を行う。すなわ
ち、CPU100は、読み出したカウントデータが小さ
ければmask_en信号をイネーブルにしている時間
を長くする。
がイネーブルの場合、DREQ信号は一定期間(区間)
マスクされ、マスク解除後、mask_en信号がディ
セーブルとなりBREQ信号となってCPU100に出
力される。
は、バス権を開放したことを知らせるためにBACK信
号を出力する。
がディセーブルの区間は、BREQ信号の発生間隔が短
くなっているが、mask_en信号がイネーブルの区
間はBREQの発生間隔がディセーブルの区間に比べて
長くなっているのがわかる。この区間(マスク効果が出
ている区間)では、CPU100がプログラムに従って
処理している区間である。
るDMA転送装置は、DMAC600が、DREQ信号
マスク回路610と、DREQ信号の発生周期を検出す
るDREQ周期検出回路620とを備え、DREQ周期
検出回路620が入力されるDREQ信号の発生周期を
検出し、そのカウンタデータ値を利用してDREQ信号
をマスクするように構成したので、DMAの周期(間
隔)を広げることができ、しかも、DMAC600によ
る、システムにおけるバス占有率を低減するという効果
がある。
のスピードをCPU100によって制御することが可能
になるため、DREQ信号発生周期が変動するI/O装
置(外部リクエストデバイス)がバス上に存在する場
合、同じ周期でBREQ信号を発生させ、バス占有率を
低減させる効果がある。
動作を第2の実施形態の方法で制御したが、第1の実施
形態の方法に示したように、動作可能な外部リクエスト
デバイス側で制御することも、また第3の実施形態の方
法に示したようにDMAC内部のBREQを制御する方
法でも実現可能である。 第7の実施形態 図25は本発明の第7の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図21と同一構成部分に
は同一符号を付している。
U100、DMAC700、外部リクエストデバイス7
51、外部リクエストデバイス752及び外部メモリ1
13から構成され、DMAC700は、BREQN信号
マスク回路720(マスク手段)と、動作を許可する複
数の外部リクエストデバイスのDREQ信号に伴い発生
するBREQN信号の発生周期を検出するBREQN周
期検出回路720(BREQN周期検出手段)とを備え
て構成される。
Aチャンネルを搭載しており、それらをCH1,CH2
とする。また、CH1,CH2はそれぞれ、外部リクエ
ストデバイス751、外部リクエストデバイス752に
接続されている。
ャンネルをCH1、外部リクエストデバイス752のD
MAチャンネルをCH2とする。
2毎に、外部リクエストデバイス751、外部リクエス
トデバイス752からDMAC700に対してDMA要
求信号DREQ1,DREQ2(アクテイブ“H”)が
出力され、また、DMAC700から外部リクエストデ
バイス751、外部リクエストデバイス752に対して
DMA許可信号DACK1,DACK2が出力される。
バス開放リクエスト信号BREQN(アクティブ
“L”)を出力し、CPU100は、DMAC700に
対してバス開放許可信号BACKN(アクティブ
“L”)を出力する。
出力されるmask_en信号は、CPU100のポー
トから出力される信号であり、BREQNマスク回路7
20のカウンタ回路をイネーブルにする信号(アクティ
ブ“H”)である。
720の回路構成を示す図である。
回路720は、BREQN信号を入力してBREQN信
号のエッジを論理的に検出するエッジ検出回路721、
サンプリングクロックの立ち上がりエッジでカウント
(デクリメント)するカウンタ722、及びカウントデ
ータを格納するデータバッファ723から構成される。
がカウンタに対して出力され、カウンタ722から、カ
ウントデータがデータバッファ723に転送される。
の結果をCPU100(図25)がリードできるように
データを保持しておくバッファである。
装置の動作を説明する。
0の動作を示すタイミングチャートであり、図28はD
MA転送装置の動作を説明するためのタイミングチャー
トである。
度は、本実施形態の場合、CH1→CH2→CH1→C
H2のようにラウンドするラウンドロビン型をとるもの
とする。同時にDREQ(要求信号)がDMAC700
に入力された場合は、CH1優先とし、その他の場合
は、時間的に先にDREQ(要求信号)が入ってきた方
を優先とする。
(1)の地点でアクティブになっている場合を例にする。
このとき、DMAは、CH1のDMAが行われる。
MAが行われる。このとき、図28の(1)と(2)のBRE
QN信号の立ち下がりエッジで、図26に示すBREQ
N信号周期検出回路720が動作し、カウンタ722が
動作する。そして、図27のタイミングチャートに示す
ように、カウントデータがデータバッファ723に転送
される。
Aが実行されるが、このときも、BREQN信号周期検
出回路720により図28の(2)と(3)のBREQNのエ
ッジからエッジの間のカウントが行われる。この時のカ
ウントデータも、データバッファ723に上書きされ
る。
CPU100は、データバッファ723のデータをリー
ドする。このリードした値で、DMAC700のBRE
QN信号の発生周期をCPU100が認識することがで
きる。
ACKN信号が“H”になった時点で、CPU100
は、mask_en1信号を“H”にする。mask_
en1を“H”にした時点で、BREQN信号は、マス
クされていて、DREQ1、DREQ2が入力されて
も、BREQN信号は外部に出力されない(図28のマ
スク効果が出ている区間参照)。
ある。
にする時間は、先にリードしたBREQ信号の発生周期
の値をもとに制御する。例えば、データバッファ723
からリードした数値が極端に短かかった場合は、mas
k_en1を“H”にしている時間を長くして、DMA
C100によるバス占有率を低下させ、逆に、データバ
ッファ723からリードした数値が極端に長かった場合
には、mask_en1信号を“H”にする時間を短め
に制御することが可能である。
100が認識することで装置のDMAC700によるバ
ス占有率をCPU100が制御することが可能である。
る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によるバス占有率を制御することが可能にな
る。
ャンネル)ごとに、DREQの発生周期を検出するDR
EQ周期検出回路620を搭載すると、外部リクエスト
デバイスを多数搭載したときに、DREQ周期検出回路
を構成するカウンタや、データバッファを新規にCHご
とに追加する必要がある。本実施形態によれば、BRE
QN信号に対して、BREQN周期検出回路720を搭
載しているために、外部リクエストデバイスが多数搭載
されても、BREQN周期検出回路を構成するカウンタ
やデータバッファは1個のみで済むので、ハードウェア
の規模を小さくできる効果がある。
方法でDMACの動作を制御したが、制御の方法はCP
Uによる制御でも、マスク回路にハード的なタイマーを
設けて、ハードでマスクすることも可能である。また、
第1の実施形態の方法に示したように、動作可能な外部
リクエストデバイス側で制御することも、第2の実施形
態の方法に示したように、DMAC側で制御することも
可能である。 第8の実施形態 図29は本発明の第8の実施形態に係るDMA転送装置
の構成を示すブロック図である。本実施形態に係るDM
A転送装置の説明にあたり前記図18及び図21と同一
構成部分には同一符号を付している。
U800(設定手段)、DMAC600、外部リクエス
トデバイス650及び外部メモリ113から構成され、
DMAC600は、DREQ信号マスク回路610と、
DREQ周期検出回路620とを備えて構成される。
グラムの処理タスクを管理するタスク管理機能810
(管理手段)が搭載されている。このタスク管理機能8
10はソフトウェアにより実現されている。
ス650からDREQ信号が入力され、マスクイネーブ
ルの場合はDREQ信号をmask_en信号の区間分
だけマスクしてBREQN信号をCPU800に対して
出力する。CPU800がバス権を開放したときにBA
CKN信号がDMAC600に出力される。
0は、外部リクエストデバイス650に対して、DAC
K信号を出力する。
施形態の図22と同じ回路構成である。
装置の動作を説明する。
る。説明を簡単にするために、本実施形態ではシステム
全体のバス負荷率を12%以下とする。また、外部リク
エストデバイス650のDREQ信号発生間隔を5μs
とし、1回(Word分)のDMA転送のバス占有率を
10%とする。これによりDMAでバスを占有する時間
=500nsとなる。
0とその処理負荷と対応するマスク時間及びDMACの
負荷率の関係を図30の表に示す。
クT1〜T10を使って処理するシステムであり、その
中のT1,T3,T5,T7を図31に示すタイミング
チャートのような順序でタスク処理していく場合を考え
る。
ためのタイミングチャートである。
力される。この場合、図30の表から計算すると、合計
のバス占有率が11%となり、本実施形態の占有率12
%を超えることはない。そのためマスク回路を動作させ
る必要はないために、mask_en信号はディセーブ
ルのままで、何ら問題がない。よってDREQ信号と同
じ周期でBREQ信号が発生する。
生した場合、図30の表とDMAのバス占有率から計算
すると13%となってしまう。本実施形態のバスの占有
率は12%以下であるため、問題が生じる。このような
ことが起きないように、処理がタスクT3に入った場合
にmask_en信号を図31に示すタイミングで出力
するようにCPU800がコントロールする。このと
き、DREQ信号はmask_en信号によりマスクさ
れてBREQ信号としてCPU800に出力される。こ
のBREQ信号によってCPU800はバス権を開放す
るためにBACK信号を出力する。このようなやり取り
でDMA転送のシーケンスを実行する。
力された場合を説明する。
占有率を計算すると15%になってしまう。これもま
た、本実施形態のバス占有率12%以下を満たしていな
いので、この条件を満たすために、図30の表を使用し
てマスク時間を設定する。
enがイネーブルの時間が2.14μs+5μsとな
り、バス占有率が12%以下になる。この時のマスク時
間を満たすようにCPU800がmask_enを制御
する。
らマスク時間を設定して、本実施形態で設定したバス占
有率12%以下になるようにmask_en時間を決
め、このマスク時間を満たすようにCPU800がma
sk_enを制御する。
るDMA転送装置は、CPU800が、プログラムの処
理タスクを管理するタスク管理機能810を備え、CP
Uの処理負荷に応じて所定のシステムのバス負荷を保持
して、マスク時間を制御するように構成したので、各タ
スクが動作しているときのバス占有率を予め計算してお
き、その計算値からシステム全体のバス占有率の限界値
を設定し、CPU処理が効果的でかつ、DMA周期もバ
ス占有率の上限を超えないような値で行うことが可能に
なり、予め計算していたバス占有率の値まで、確実にバ
ス占有率を低減する効果がある。
法でDMACを制御していたが、第1の実施形態の方法
に示したように、動作可能な外部リクエストデバイス側
で制御することも、第3の実施形態の方法でDMAC内
部のBREQ信号を制御することによっても実現可能で
ある。
ることも、マスク回路にハード的なタイマを設けてCP
Uからタイマの時間をセットすることによって実現する
ことも可能である。
A転送装置を、例えば、プリンタなどに代表されるよう
な、PC(パーソナルコンピュータ)周辺機器におい
て、PCからのデータ転送速度と周辺機器自身のデータ
処理速度がお互いに高速処理が必要な場合で、しかもシ
ステムの破綻を避けることが不可欠なシステムにおい
て、データ転送とCPU処理を時間的に均等に処理した
い場合に有効である。また、CPUを中心としたDMA
によるデータ転送を含むすべてのシステムにおいて利用
可能である。
トデバイスまたはDMAC内にマスク回路等を設置する
ようにしているが、これは一例であり、外部に外付けす
るように設置してもよい。また、DMACは、専用のD
MAコントローラでも汎用のDMAコントローラでもよ
く、特に、高速性が要求されるときにはカウンタ及びバ
ッファ等の個別部品を用いて構成するものでもよい。
ジスタ、カウンタ、各種制御回路等の種類、数などは上
述した実施形態に限られないことは言うまでもない。
リクエストデバイスまたはDMA制御部が、DREQ信
号をマスクするマスク手段を備え、マスク手段によりD
REQ信号をマスクしてDMA転送によるバス占有状態
を制御するように構成したので、外部リクエストデバイ
スが複数存在する場合、または、DREQ信号の発生周
期が短い外部リクエストデバイスが同一のバスに存在す
る場合、DMAによるバス占有率を低減でき、時間的に
バスを有効に利用することができる。
転送装置の構成を示すブロック図である。
の構成を示す回路図である。
の構成を示す回路図である。
イミングチャートである。
転送装置の構成を示すブロック図である。
の構成を示すブロック図である。
な構成を示す図である。
イミングチャートである。
明するためのタイミングチャートである。
A転送装置の構成を示すブロック図である。
路の構成を示すブロック図である。
細な構成を示す図である。
Q1,DREQ2,DREQ3からBREQN信号発生
までの構成を示す図である。
タイミングチャートである。
A転送装置の構成を示すブロック図である。
タイミングチャートである。
を示す図である。
A転送装置の構成を示すブロック図である。
名とその処理負荷と対応するマスク時間の関係の表を示
す図である。
タイミングチャートである。
A転送装置の構成を示すブロック図である。
の回路構成を示す図である。
の動作を示すタイミングチャートである。
タイミングチャートである。
A転送装置の構成を示すブロック図である。
出回路の回路構成を示す図である。
出回路の動作を示すタイミングチャートである。
タイミングチャートである。
A転送装置の構成を示すブロック図である。
名とその処理負荷と対応するマスク時間の関係の表を示
す図である。
タイミングチャートである。
図である。
に示すタイミングチャートである。
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】 CPUの動作と独立に、メモリと外部リ
クエストデバイス間で直接データを転送するDMA転送
制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからデータ転
送リクエスト(以下、DREQという)信号が発生した
とき、CPUに対してバスリクエスト(以下、BREQ
Nという)信号を出力してバスの開放を要求し、CPU
からバス開放許可(以下、BACKNという)信号が返
されると、外部リクエストデバイスにデータ転送リクエ
スト確認(以下、DACKという)信号を送出し、メモ
リと外部リクエストデバイス間のデータ転送制御を行う
DMA転送装置において、 前記外部リクエストデバイスは、前記DREQ信号をマ
スクするマスク手段を備え、 前記マスク手段により前記DREQ信号をマスクしてD
MA転送によるバス占有状態を制御すること特徴とする
DMA転送装置。 - 【請求項2】 CPUの動作と独立に、メモリと外部リ
クエストデバイス間で直接データを転送するDMA転送
制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからDREQ
信号が発生したとき、CPUに対してBREQN信号を
出力してバスの開放を要求し、CPUからBACKN信
号が返されると、外部リクエストデバイスにDACK信
号を送出し、メモリと外部リクエストデバイス間のデー
タ転送制御を行うDMA転送装置において、 前記DMA制御部は、前記DREQ信号をマスクするマ
スク手段を備え、 前記マスク手段により前記DREQ信号をマスクしてD
MA転送によるバス占有状態を制御することを特徴とす
るDMA転送装置。 - 【請求項3】 CPUの動作と独立に、メモリと外部リ
クエストデバイス間で直接データを転送するDMA転送
制御を行うDMA制御部を備え、 DMA制御部は、外部リクエストデバイスからDREQ
信号が発生したとき、CPUに対してBREQN信号を
出力してバスの開放を要求し、CPUからBACKN信
号が返されると、外部リクエストデバイスにDACK信
号を送出し、メモリと外部リクエストデバイス間のデー
タ転送制御を行うDMA転送装置において、 前記DMA制御部は、前記BREQN信号をマスクする
マスク手段を備え、 前記マスク手段により前記BREQN信号をマスクして
DMA転送によるバス占有状態を制御することを特徴と
するDMA転送装置。 - 【請求項4】 同時動作可能な外部リクエストデバイス
の数に応じて前記マスク時間を制御する手段をさらに備
えたことを特徴とする請求項1乃至3の何れかに記載の
DMA転送装置。 - 【請求項5】 CPUの処理負荷を管理する管理手段
と、 CPUの処理負荷に応じて前記マスク時間を制御する手
段とを備えたこと特徴とする請求項1乃至4の何れかに
記載のDMA転送装置。 - 【請求項6】 DREQ信号の発生周期を検出するDR
EQ信号周期検出手段を備え、 前記マスク手段は、前記DREQ信号発生周期に基づい
て前記DREQ信号をマスクすることを特徴とする請求
項1乃至3の何れかに記載のDMA転送装置。 - 【請求項7】 動作を許可する複数の外部リクエストデ
バイスのDREQ信号に伴い発生するBREQN信号の
発生周期を検出するBREQN信号周期検出手段を備
え、 前記マスク手段は、前記BREQN信号発生周期に基づ
いて前記BREQN信号をマスクすることを特徴とする
請求項1乃至3の何れかに記載のDMA転送装置。 - 【請求項8】 CPUの処理負荷を管理する管理手段
と、 CPU処理に伴うバス占有率を求め、その限界値を設定
する設定手段と、 CPUの処理負荷及び前記限界値に応じて前記マスク時
間を制御する手段とを備えたこと特徴とする請求項1乃
至4の何れかに記載のDMA転送装置。
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)
| 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)
| 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 | 禁止時間付競合調停方式 |
-
1999
- 1999-04-14 JP JP10690399A patent/JP4549458B2/ja not_active Expired - Fee Related
Patent Citations (3)
| 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)
| 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 |