JP2001142841A - Dma転送制御方式 - Google Patents

Dma転送制御方式

Info

Publication number
JP2001142841A
JP2001142841A JP32337999A JP32337999A JP2001142841A JP 2001142841 A JP2001142841 A JP 2001142841A JP 32337999 A JP32337999 A JP 32337999A JP 32337999 A JP32337999 A JP 32337999A JP 2001142841 A JP2001142841 A JP 2001142841A
Authority
JP
Japan
Prior art keywords
read
write
fifo
control device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32337999A
Other languages
English (en)
Inventor
Hideo Mochizuki
英生 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP32337999A priority Critical patent/JP2001142841A/ja
Publication of JP2001142841A publication Critical patent/JP2001142841A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 転送効率の向上を図ったDMA転送制御方式
を提供する。 【解決手段】 読出し制御装置6と書込み制御装置7と
FIFO9とを備えたDMA装置1で周辺装置14とメ
インメモリ3間のデータの転送を行うDMA転送制御方
式であって、前記FIFO9に蓄積されているデータ量
を監視し、このデータ量に基づいて転送モード及び書込
み・読出しのタイミングを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、DMA転送制御
方式に係り、詳しくは、周辺装置とメインメモリ間に接
続されたDMA装置で効率よくデータの転送制御を行う
DMA転送制御方式に関する。
【0002】
【従来の技術】従来、異なるバス間でDMA転送を効率
よく行う技術として、図21に示すようなDMA転送制
御方式が知られている。この方式は、リードバス100
に接続された読出し制御装置101と、ライトバス10
2に接続された書込み制御装置103との間にFIFO
104と主制御装置105とを設け、この主制御装置1
05から読出し制御装置101及び書込み制御装置10
3に各々リードリクエスト(読出し要求)信号Q50と
ライトリクエスト(書込み要求)信号Q51とを出力
し、また、読出し制御装置101及び書込み制御装置1
03から主制御装置105に各々読出し完了信号Q52
と書込み完了信号Q53を出力するようになっている。
また、読出し制御装置101からFIFO104にリー
ドデータQ54が送られ、FIFO104から書込み制
御装置103にライトデータQ55が送られるようにな
っている。
【0003】DMA転送スタートで、主制御装置8がリ
ードリクエスト信号Q50を「1」にすることで読出し
を開始し、読出し要求が完了すると、読出し完了信号Q
52が「1」となり、それを受けてライトリクエスト信
号Q53を「1」にする。そして、目的のDMA転送が
完了すると、主制御装置105は動作を停止し、読出し
制御装置101及び書込み制御装置103も動作を停止
するようになっている(第1従来例:特開平10−27
3742号公報参照)。
【0004】また、特開昭62−231366号公報
(第2従来例)には、メインメモリから一時的にデータ
を取り込む動作とデータを共有メモリへ移動させる動作
とを並列的に行えるようにして、データの転送能力を向
上させたチャネル制御装置の技術も開示されている。す
なわち、システムバスに接続される主記憶装置をアクセ
スする際のアドレスを計数するアドレス計数回路と、境
界アドレスの有無がセツトされるフリツブフロップと、
前記アドレス計数回路の一部の内容と前記フリップフロ
ップの値とを比較するアドレス比較回路と、前記主記憶
装置から共有記憶回路へ出力すべきデータを一時的に格
納するFIFO記憶回路と、前記アドレス比較回路の出
力に基づいて前記主記憶装置から前記FIFO記憶回路
への入出力制御回路と、前記FIFO記憶回路と前記共
有記憶回路への入出力制御とを並行して実行する2つの
DMA制御回路とを具備したものである。
【0005】また、特開平7−114510号公報(第
3従来例)には、I/Oからのデータの取りこぼしが発
生することを防ぐために、プロセッサの起動によらない
DMA起動、起動条件制御を実現する技術が開示されて
いる。すなわち、データ元のI/OにFIFO、DMA
Cを設ける。このDMACは転送データを有するI/O
から転送先I/OへのDMAを開始するためにI/O内
に蓄積される転送用データ量を、FIFOのライトポイ
ンタを見ることにより監視する。また、このDMACに
は、I/OのFIFO内のデータ量が特定値に達したこ
とをDMAシーケンスに移るきっかけとするために、し
きい値を設定するためのレジスタを設ける。さらにこの
しきい値をネットワークの実際のトラフィック量に応じ
て動的なものにするたあにしきい値制御回路を設けたも
のである。
【0006】
【発明が解決しようとする課題】しかしながら、第1従
来例では、読み出しと書き込みをシーケンシャルに行
う、すなわち、競合が起きなくても読出しと書込みを交
互に行うため、図21のように読出し側と書込み側でバ
ス100、102や制御装置105が分かれていても、
パラレル処理による高速化ができず、転送効率が悪い。
また、読出しサイクルが完全に終了してからでないと書
込みを開始しないので、転送自体が遅い。さらに、読出
し側と書込み側の動作速度やバス幅によっては制御を変
更する必要があり、DMA転送制御方式が複雑になる、
等の問題があった。また、第2従来例は、リード転送と
ライト転送を同時に行ってはいるが、FIFO内にデー
タがあるかないかを、バッファ内にデータ有り(ord
y信号)とバッファ内にデータの空き有り(irdy信
号)の信号で判断するのみで、FIFOにいくつのデー
タがあるかを把握できない。これでは、FIFOにデー
タが例えば1個しかないときに、データを2個以上共有
メモリに読出さねばならないような転送リクエストを受
け付けた場合、FIFOがアンダーフローとなり、ま
た、空き領域が足りない場合はオーバーフローとなり、
いずれもエラーとなるという問題があった。
【0007】さらにまた、第3従来例は、データ元のI
/Oから転送先I/OへのDMA転送量が常に一定であ
る状態しか想定されていない。したがって、ネットワー
クインタフェースを制御する手段がないため、システム
バスをCPUが長時間占有してしまった場合には、バッ
ファ(FIFO)のオーバーフローが発生するという問
題があった。この発明は、上述の事情に鑑みなされたも
ので、DMA転送におけるデータ読出し制御とデータ書
込み制御をFIFOのデータ量に基づいて各々独立に制
御することにより、転送効率の向上を図ったDMA転送
制御方式を提供することを第1の目的としている。ま
た、バースト転送とシングル転送が混在していても正常
に転送が行えるDMA転送制御方式を提供することを第
2の目的としている。また、読出しと書込みの転送速度
が異なっていても正常に転送を行えるDMA転送制御方
式を提供することを第3の目的としている。また、リー
ドバスとライトバスが別々であれば、リードとライトを
パラレルに行えるDMA転送制御方式をを提供すること
を第4の目的としている。
【0008】
【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、読出し制御装置と書込み制
御装置とFIFOとを備えたDMA装置で第1の装置と
第2の装置間のデータの転送を行うDMA転送制御方式
に係り、前記FIFOに蓄積されているデータ量を監視
し、このデータ量に基づいて転送モード及び書込み・読
出しのタイミングを決定することを特徴としている。
【0009】また、請求項2記載の発明は、請求項1記
載のDMA転送制御方式に係り、前記FIFOに読出し
可能な空き領域があるか否かを判断し、読出し可能な空
き領域があるとき前記読出し制御装置を介して読出しを
行い、空き領域がないとき読出し可能な空き領域になる
まで待機することを特徴としている。
【0010】また、請求項3記載の発明は、請求項1又
は2記載のDMA転送制御方式に係り、前記読出しはシ
ングルリードであることを特徴としている。
【0011】また、請求項4記載の発明は、請求項1又
は2記載のDMA転送制御方式に係り、前記読出しはバ
ーストリードであることを特徴としている。
【0012】また、請求項5記載の発明は、請求項1又
は2記載のDMA転送制御方式に係り、前記FIFOに
書込み可能なデータ量があるか否かを判断し、書込み可
能なデータ量あるとき前記書込み制御装置を介して書込
みを行い、データ量がないとき書込み可能なデータ量に
なるまで待機することを特徴としている。
【0013】また、請求項6記載の発明は、請求項1又
は5記載のDMA転送制御方式に係り、前記書込みはシ
ングルライトであることを特徴としている。
【0014】また、請求項3記載の発明は、請求項1又
は5記載のDMA転送制御方式に係り、前記書込みはバ
ーストライトであることを特徴としている。
【0015】また、請求項8記載の発明は、請求項1乃
至7のいずれか1項記載のDMA転送制御方式に係り、
前記読出し制御装置及び書込み制御装置を制御する主制
御装置とを有し、該主制御装置に前記FIFOのデータ
量の情報を送り、該主制御装置で前記データ量を判定し
て前記読出し制御装置及び書込み制御装置を制御するこ
とを特徴としている。
【0016】また、請求項9記載の発明は、請求項1記
載のDMA転送制御方式に係り、前記DMA装置は、前
記FIFOにそのフリーエリアを出力するフリーエリア
出力回路とフィルエリアを出力するフィルエリア出力回
路が設けられ、前記読出し制御装置にはフリーエリア信
号に基づいてシングルリードあるいはバーストリードを
してよいかどうかを判断するリード判断回路が、かつ、
書込み制御装置にはシングルライトあるいはバーストラ
イトをしてよいかどうかを判断するライト判断回路が各
々設けられ、前記リード判断回路の判断に基づいて前記
読出し制御装置を、前記ライト判断回路の判断に基づい
て前記書込み制御装置を制御することを特徴としてい
る。
【0017】また、請求項10記載の発明は、請求項9
記載のDMA転送制御方式に係り、前記FIFOのフリ
ーエリアと読出しするバーストデータの長さとを比較
し、フリーエリアの方が大きいか両者が等しいときバー
ストリードを許可することを特徴としている。
【0018】また、請求項11記載の発明は、請求項9
記載のDMA転送制御方式に係り、前記FIFOにフリ
ーエリアがあるか否かを判定し、フリーエリアがあると
きシングルリードを許可することを特徴としている。
【0019】また、請求項12記載の発明は、請求項9
記載のDMA転送制御方式に係り、前記FIFOのフィ
ルエリアと書込みするバーストデータの長さとを比較
し、フィルエリアの方が大きいか両者が等しいときバー
ストライトを許可することを特徴としている。
【0020】また、請求項13記載の発明は、請求項9
記載のDMA転送制御方式に係り、前記FIFOにフィ
ルエリアがあるか否かを判定し、フィルエリアがあると
きシングルライトを許可することを特徴としている。
【0021】
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。図1は、この発明のD
MA転送制御方式を実施するシステム構成図、図2は、
第1実施の形態のDMA装置の詳細を示すブロック図で
ある。図1に示す装置は、DMA装置1と、このDMA
装置1にメインメモリバス10及びメインメモリコント
ローラ11を介して接続されたメインメモリ3と、DM
A装置1に周辺バス12及び周辺バスコントローラ13
を介して接続されたI/O装置4及びROM5からなる
周辺装置14と、DMA装置1及びメインメモリ3に接
続されたCPU2とで大略構成されている。メインメモ
リ3と周辺装置14間のデータの転送はDMA装置1を
介してCPU2とは独立して行われるようになってい
る。
【0022】図2に示すように、上記DMA装置1は、
読出し制御装置6と、書込み制御装置7と、主制御装置
8と、FIFO9とで構成されている。読出し制御装置
6は、上記メインメモリ3に、メインメモリバス10、
メインメモリバスコントローラ11及びバス選択器15
を介して接続されている。書込み制御装置7は上記周辺
装置14に、周辺バス12、周辺バスコントローラ13
及びOR回路17を介して接続されている。主制御装置
8は、FIFO9に埋まっているデータ領域(フィルエ
リア)、換言すれば、FIFO9のデータ量を監視し、
この情報に基づいて読出し制御装置6及び書込み制御装
置7を制御するものである。すなわち、図3に示すよう
に、次の(1)〜(4)の4つの条件で読出しのアクノ
リッジ信号(以下、リードアクノリッジ信号)及び書込
みのアクノリッジ信号(以下、ライトアクノリッジ信
号)出力するようになっている。
【0023】(1)シングルリードアクノリッジ信号Q
4は、FIFO9のフィルエリアがFIFO9の深さ
(容量)より小さい場合、つまり、FIFO9にシング
ルリードできる空きがある場合に出力する。 (2)バーストリードアクノリッジ信号Q5は、FIF
O9のフィルエリアが、FIFO9の深さからバースト
リードの長さを引いた値以下の場合、つまりFIFO9
にバーストリードできる空きがある場合に出力する。 (3)シングルライトアクノリッジ信号Q9は、FIF
O9のフィルエリアが1以上の場合、つまりFIFO9
にシングルライトできるデータがある場合に出力する。 (4)バーストライトアクノリッジ信号Q10は、FI
FO9のフィルエリアがバーストライトの長さ以上の場
合、つまりFIFO9にバーストライトできるデータが
ある場合に出力する。
【0024】次に、図4〜図10によりDMA転送制御
動作について説明する。図4は、第1実施の形態の読出
し動作を示すフローチャート、図5は、第1実施の形態
の書込み動作を示すフローチャート、図6は、I/O装
置からメインメモリへの転送制御(シングルリード及び
シングルライト)を示すタイムシーケンス、図7は、I
/O装置からメインメモリへの転送制御(シングルリー
ド及びバーストライト)を示すタイムシーケンス、図8
は、メインメモリからI/O装置への転送制御(バース
トリード及びシングルライト)を示すタイムシーケン
ス、図9は、I/O装置からROMへの転送制御を示す
タイムシーケンス、図10は、ROMからメインメモリ
への転送制御を示すタイムシーケンスである。
【0025】最初に、図6〜図10における信号の概略
について説明する。各図において、Q1〜Q13はDM
A装置1、Q14〜Q18は周辺バス12、またQ19
〜Q23はメインメモリバス10における以下の信号を
各々示している。すなわち、Q1はクロック信号、Q2
はDMAスタート信号、Q3はフィルエリア、Q4はシ
ングルリードアクノリッジ信号、Q5はバーストリード
アクノリッジ信号、Q6はリードリクエスト信号、Q7
はリードデータ信号、Q8はリードデータイネーブル信
号、Q9はシングルライトアクノリッジ信号、Q10は
バーストライトアクノリッジ信号、Q11はライトリク
エスト信号、Q12はライトデータ、Q13はライトデ
ータイネーブル信号を示す。また、Q14はリクエスト
信号、Q15はアドレス信号、Q16はデータ信号、Q
17はリード/ライト信号、Q18はアクノリッジ信
号、Q19はリクエスト信号、Q20はアドレス信号、
Q21はデータ信号、Q22はリード/ライト信号、Q
23はアクノリッジ信号を示す。
【0026】次に、図4及び図6を参照してシングルリ
ードの動作について説明する。CPU2からのDMAス
タート信号Q2が「H」(ハイ)になると、DMA装置
1が動作を開始し(ステップS1)、リードアドレス及
びリードカウンタをアップデートし(ステップS2)、
次にDMA転送すべきデータが残っているか否かを判断
する(ステップS3)。データが残っていない場合(N
Oの場合)ばステップS1に戻り、データが蓄積される
まで繰り返す。そして、DMA転送すべきデータが残っ
ている場合、すなわち、ステップS3がYESであれば
ステップS4において、バーストリードが可能か否か
(一回に読み出した方がよい場合とアドレスの位置等に
より1回に読み出すことができない場合がある)を判断
し、このフローではNO(バーストリードが不可能)で
あるとする(YESの場合は後述する)。
【0027】次に、シングルリードアクノリッジ、すな
わち、FIFO9にシングルリード可能な空き領域があ
るか否かを判断し(ステップS7)、シングルリード可
能な空き領域がない場合は空き領域が出るまで待機し、
空き領域がある場合はシングルリードアクノリッジ信号
Q4が読出し制御装置6に出力されてシングルリードを
行い、アドレスも更新する(ステップS8)。シングル
リードの後ステップS3に戻り、シングルリードの結果
DMA転送すべきデータが残っているか否かを判断し、
残っていればステップS4以下の動作を行い、残ってい
なければステップS1に戻る。
【0028】次に、図5及び図6を参照してシングルラ
イトの動作について説明する。CPU2からのDMAス
タート信号Q2が出るとDMA装置1が動作を開始し
(ステップS11)、ライトアドレス及びライトカウン
タをアップデートし(ステップS12)、DMA転送す
べきデータが残っているか否かを判断する(ステップS
13)。データが残っていない場合(NOの場合)はス
テップS11に戻る。そして、DMA転送すべきデータ
が残っている場合、すなわち、ステップS13がYES
であればステップS14において、バーストライトが可
能なデータがあるか否かを判断する。ステップS14に
おいて、NOであれば(バーストライトが不可能)、シ
ングルライトアクノリッジ、すなわち、FIFO9にシ
ングルライト可能なデータがあるか否かを判断し(ステ
ップS17)、シングルライト可能なデータがない場合
(データが0)はデータが蓄積されるまで待機し、デー
タが1個でもある場合はシングルライトアクノリッジ信
号Q9が書込み制御装置7に出力されてシングルライト
を行い、アドレスも更新する(ステップS18)。シン
グルライトの後、ステップS13に戻り、シングルライ
トの結果DMA転送すべきデータが残っているか否かを
判断し、残っていればステップS14以下の動作、残っ
ていなければステップS11に戻る。
【0029】上記転送制御動作を、図6のタイムシーケ
ンスによる信号の流れでさらに説明する。先ず、DMA
スタート信号Q2が出た時点でFIFO9のデータは
0、すなわち、フィルエリア信号Q3は0であり、シン
グルリードアクノリッジ信号Q4でシングルリードリク
エスト信号Q6が出る。リードデータイネーブル信号Q
8でデータを周辺から読出してきたのでFIFO9にお
けるデータ量、すなわち、フィルエリア信号Q3におけ
るデータ量は1個増え(+1)、その結果シングルライ
トアクノリッジ信号Q9が出て、ライトリクエスト信号
Q11が出ることになる。また、ライトデータイネーブ
ル信号Q13によりFIFO9からメインメモリ3にデ
ータが書込まれるため、FIFO9のデータ量は1個減
り、フィルエリア信号Q3が−1される。
【0030】図11に、上記各信号Qの流れを示してい
る。すなわち、図11(a)では、フィルエリア信号Q
3から、シングルリードアクノリッジ信号Q4、バース
トライトアクノリッジ信号Q5、シングルライトアクノ
リッジ信号Q9、及びバーストライトアクノリッジ信号
Q10が出ることを示す。また、シングルリードアクノ
リッジ信号Q4及びバーストライトアクノリッジ信号Q
5からリードリクエスト信号Q6が、シングルライトア
クノリッジ信号Q9及びバーストライトアクノリッジ信
号Q10からライトリクエスト信号Q11が出ることを
示している。また、図11(b)では、リードデータイ
ネーブル信号Q8により、シングルリードを1回行った
結果、フィルエリア信号Q3におけるデータ量が1とな
り、そのデータをライトデータイネーブル信号Q13に
よるシングルライトを行った結果、り、フィルエリア信
号Q3におけるデータ量がQとなったことを示してい
る。
【0031】メインメモリバス10においては、Q14
のライトリクエスト信号(Q11と同じ信号)が出て、
アドレス信号Q15が出るとデータQ16が帰ってき
て、Q18のアクノリッジ信号(Q13と同じ信号)で
有効と判断する。周辺バス12においては、リードリク
エスト信号Q19(Q6と同じ信号)が出て、アドレス
信号Q20が出るとデータQ21が帰ってきて、Q23
のアクノリッジ信号(Q8と同じ信号)で有効と判断す
る。図7は、上記のステップS4において、バーストリ
ードイネーブルがNOであり(図6と同じ)、かつ、ス
テップS14において、バーストライトイネーブルがY
ES、すなわち、バーストライト可能の場合の転送制御
動作を示している。ステップS14でYESであれば、
ステップS15において、FIFO9にバーストライト
可能なデータがあるか否かを判断し、FIFO9にバー
ストライト可能なデータがない場合(NOの場合)、デ
ータが蓄積されるまで待機し、バーストライト可能なデ
ータがある場合(YESの場合)、バーストライトアク
ノリッジ信号Q10が書込み制御装置7に出力されてバ
ーストライトを行い、バーストライトデータQ12(こ
の例ではデータ0〜3の4個のデータ)がメインメモリ
3に書込まれる(ステップS16)。バーストライトの
後、ステップS13に戻り、バーストライトの結果DM
A転送すべきデータが残っているか否かを判断し、残っ
ていればステップS14以下の動作を行い、残っていな
ければステップS11に戻る。
【0032】図8は、上記のステップS4において、バ
ーストリードイネーブルがYES、ステップS14にお
いて、バーストライトイネーブルがNOであるとき(図
6と同じ)の転送制御動作を示している(FIFO9の
深さ=5の例)。バーストリードが可能、すなわち、ス
テップS4がYESであれば、ステップS5において、
FIFO9にバーストリード可能な空き領域があるか否
かを判断する。FIFO9にバーストリード可能な空き
領域がない場合(NOの場合)、空き領域が出るまで待
機し、バーストリード可能な空き領域がある場合(YE
Sの場合)、バーストリードアクノリッジ信号Q5が読
出し制御装置6に出力されてバーストリードを行い、ア
ドレスも更新する(ステップS6)。ステップS6のバ
ーストリードの後、ステップS3に戻り、バーストリー
ドの結果DMA転送すべきデータが残っているか否かを
判断し、残っていればステップS4以下の動作、残って
いなければステップS1に戻る。
【0033】図9は、I/O装置4とROM5の周辺バ
ス12における転送制御動作を示している。前記周辺バ
スコントローラ13がQ19〜Q23のように正常に動
作しておれば(例えば、読出しの途中でライトリクエス
トを受けるような不正常な動作がない)、普通に読出し
(シングルリード、バーストリード)、書込み(シング
ルライト、バーストリード)を繰り返すDMA装置とし
て動作することを示している。図10は、上記のステッ
プS4においてバーストリードイネーブルがYES、ス
テップS14においてバーストライトイネーブルがYE
Sのとき、すなわち、バーストリード及びバーストライ
トの両者(共にバースト長=4の例)を行うときの転送
制御動作を示している。すなわち、信号Q2によりDM
Aスタート(ステップS1)し、バーストリードアクノ
リッジ信号Q5でステップS5がYESとなり、バース
トリードリクエスト信号Q6でバーストリードを行う
(ステップS6)。また、バーストライトアクノリッジ
信号Q10でステップS15がYESとなり、バースト
ライトリクエスト信号Q11でバーストライトを行い
(ステップS16)、バーストライトデータQ12が書
込まれる。
【0034】図12は、前記FIFO9の詳細を示して
おり、ライトイネーブル信号Q13がライトポインタ2
6に入るとFIFO9にデータ25を書込み、リードイ
ネーブル信号Q8がリードポインタ27に入るとFIF
O9のデータ25を読出すようになっている。図13
は、図12に示すFIFO9の書込みの動作を示す。ス
タートでFIFO9がリセットされると、ライトポイン
タ26及びフィルエリアはともに0である(ステップS
41)。そして、ライトイネーブル信号Q13がライト
ポインタ26に入ってくると(ステップS42)、デー
タを1個上に上げ(+1)、データが埋まっている領域
(フィルエリア)も+1となる(ステップS43)。こ
のフィルエリア信号Q3を前記主制御装置8に送るよう
になっている(図2参照)。ライトポインタ26がFI
FO9の深さ以上か否かを判断し(ステップS44)、
YESであればライトポインタ26を0にし、ステップ
S42に戻る(ステップS45)。
【0035】図14は、図12に示すFIFO9の読出
しの動作を示す。スタートでFIFO9がリセットされ
ると、リードポインタ27は0である(ステップS5
1)。そして、リードイネーブル信号Q8がリードポイ
ンタ27に入ってくると(ステップS52)、データを
1個上に上げ(+1)、フィルエリアは−1される(ス
テップS53)。このフィルエリア信号Q3を同様に前
記主制御装置8に送るようになっている(図2参照)。
リードポインタ27がFIFO9の量以上か否かを判断
し(ステップS54)、YESであればリードポインタ
27を0とし、ステップS53に戻る(ステップS5
5)。図15は、前記主制御装置8の機能を、読出し制
御装置6、書込み制御装置7及びFIFO9に分担させ
て、第1実施の形態の主制御装置8を除去した第2実施
の形態を示している。
【0036】FIFO9にはフリーエリア信号Q30を
出力するフリーエリア出力回路20と、フィルエリア信
号を出力するフィルエリア出力回路21を設けている。
そして、読出し制御装置6には、フリーエリア信号Q3
0に基づいてシングルリードあるいはバーストリードを
してよいかどうかを判断するリード判断回路22を設け
ている。また、書込み制御装置7には、フィルエリア信
号Q31に基づいてシングルライトあるいはバーストラ
イトをしてよいかどうかを判断するライト判断回路23
を設けている。図16及び図17は、上記図15に示す
DMA転送制御装置のフローチャートを示している。図
16は読出しみ動作を示しており、ステップS21〜ス
テップS28は図4のステップS1〜ステップS8に対
応している。図4と異なる点は、ステップS25におい
て、前記フリーエリアがバーストの長さより大きい(又
は等しい)か否かを判断し、また、ステップS27にお
いて、フリーエリアがあるか否かを判断する点である。
ステップS25でYESであればステップS26でバー
ストリードが許可され、ステップS27でYESであれ
ばステップS26でシングルリードが許可される点は図
4の動作と同じである。ここで、バーストリードが許可
されていれば、シングルリードも当然許可されており、
バーストリードリクエストとシングルリードリクエスト
のいずれかを受けつけることができる。
【0037】また、図17は書込み動作を示しており、
ステップS31〜ステップS38は、図4のステップS
11〜ステップS18に対応している。図4の動作と異
なる点は、ステップS35において、前記フィルエリア
がバーストの長さより大きい(又は等しい)か否かを判
断し、また、ステップS37において、フィルエリアが
あるか否かを判断する点である。ステップS35でYE
SであればステップS36でバーストライトが許可さ
れ、ステップS37でYESであればステップS36で
シングルライトを行う点は図4の動作と同じである。こ
の場合も、バーストライトが許可されていれば、シング
ルライトも当然許可されており、バーストライトリクエ
ストとシングルライトリクエストのいずれかを受けつけ
ることができる。
【0038】図18は、上記図15のFIFO9の詳細
を示しており、ライトイネーブル信号Q13がライトポ
インタ36に入るとFIFO9にデータ35を書込み、
リードイネーブル信号Q8がリードポインタ37に入る
とFIFO9のデータ35を読出すようになっている。
図19は読出しの動作、図20は書込みの動作を示して
いる。図19において、スタートでFIFO9がリセッ
トされると、ライトポインタ36及びフィルエリアはと
もに0である(ステップS61)。そして、ライトイネ
ーブル信号Q13がライトポインタ36に入ってくると
(ステップS62)、データを1個上に上げ(+1)、
フィルエリアも+1となると共に、フリーエリアが1個
減る(−1)ことになる(ステップS63)。以下は図
4の動作と同じである。
【0039】図20において、スタートでFIFO9が
リセットされると、リードポインタ37は0であると共
に、フリーエリアとFIFO9の深さは等しい(ステッ
プS71)。そして、リードイネーブル信号Q8がリー
ドポインタ37に入ってくると(ステップS72)、デ
ータを1個上に上げ(+1)、埋まっているデータ量
(フィルエリア)は1個減る(−1)となると共に、フ
リーアリアが1個増える(+1)ことになる(ステップ
S73)。以下は図4の動作と同じである。
【0040】以上、この発明の実施例を図面により詳述
してきたが、具体的な構成はこの実施例に限られるもの
ではなく、この発明の要旨を逸脱しない範囲の設計の変
更等があってもこの発明に含まれる。例えば、種々のバ
ースト長に対応したコントローラを使用することによ
り、状況に応じて最適のバースト長で転送することがで
きる。例えば、図16のステップS25において、フリ
ーエリアが8、4、又は2以上のとき、バーストリード
長が各々8、4、又は2で転送でき、フリーエリアが1
以上のとき、シングルリードで転送できる。さらに、図
17のステップS35において、フィルエリアが8、
4、又は2以上のとき、バーストライト長が各々8、
4、又は2で転送でき、フィルエリアが1以上のとき、
シングルライトで転送できる。なお、上記8、4、2、
1等の数値は単なる例示であって、この組合わせは任意
に変更可能である。また、リードとライトとで転送長が
等しく、転送速度が異なる場合であっても、FIFOの
フィルエリア又はフリーエリアを監視することによっ
て、転送タイミングを決定しているため、データのオー
バーフローやアンダーフローを生じることなく、常に正
しく転送可能である。
【0041】
【発明の効果】以上説明したように、この発明のDMA
転送制御方式によれば、読出し制御装置と書込み制御装
置でFIFOに蓄積されているデータ量を監視し、この
データ量の応じて転送モード及び読出し・書込みのタイ
ミングを決定するようにしたので、バースト転送とシン
グル転送が混在してもFIFOのオーバーフローやアン
ダーフローを生じることなく正常に転送を行うことがで
きる。また、読出しと書込みの転送速度が異なっていて
も、正常に転送を行うことができる。また、読出しと書
込みでバスの競合さえ起こさなければ、読出しと書込み
を同時に行うことができ、転送効率の高いDMA方式と
することができる。さらにまた、DMA転送元(周辺装
置)と転送先(メインメモリ)の動作速度やバス幅など
の組み合わせに依存せず、同じ制御でDMAを実現でき
る。さらにまた、最初のリードリクエスト信号の終了を
待たずに書込みを開始できるため、転送速度を速くする
ことができる。
【図面の簡単な説明】
【図1】この発明のDMA転送制御方式を実施するシス
テム構成図である。
【図2】第1実施の形態のDMA装置の詳細を示すブロ
ック図である。
【図3】第1実施の形態の主制御装置の論理を示す説明
図である。
【図4】第1実施の形態のリード動作を示すフローチャ
ートである。
【図5】第1実施の形態のライト動作を示すフローチャ
ートである。
【図6】周辺装置からメインメモリへの転送制御を示す
タイムシーケンスである。
【図7】周辺装置からメインメモリへの転送制御を示す
タイムシーケンスである。
【図8】メインメモリから周辺装置への転送制御を示す
タイムシーケンスである。
【図9】I/O装置からROMへの転送制御を示すタイ
ムシーケンスである。
【図10】ROMからメインメモリへの転送制御を示す
タイムシーケンスである。
【図11】図6のタイムシーケンスにおける信号の流れ
を示す説明図である。
【図12】第1実施の形態のFIFOの動作を示す説明
図である。
【図13】図12のライト動作を示すフローチャートで
ある。
【図14】図12のリード動作を示すフローチャートで
ある。
【図15】この発明のDMA転送制御方式の第2実施の
形態であって、DMA装置の詳細を示すブロック図であ
る。
【図16】第2実施の形態のリード動作を示すフローチ
ャートである。
【図17】第2実施の形態のライト動作を示すフローチ
ャートである。
【図18】第2実施の形態のFIFOの動作を示す説明
図である。
【図19】図18のライト動作を示すフローチャートで
ある。
【図20】図18のリード動作を示すフローチャートで
ある。
【図21】従来のDMA転送制御方式の一例を示すブロ
ック図である。
【符号の説明】
1 DMA装置 3 メインメモリ(第2の装置) 6 読出し制御装置 7 書込み制御装置 8 主制御装置 9 FIFO 14 周辺装置(第1の装置) 20 フリーエリア出力回路 21 フィルエリア出力回路 22 リード判断回路 23 ライト判断回路

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 読出し制御装置と書込み制御装置とFI
    FOとを備えたDMA装置で第1の装置と第2の装置間
    のデータの転送を行うDMA転送制御方式であって、前
    記FIFOに蓄積されているデータ量を監視し、このデ
    ータ量に基づいて転送モード及び書込み・読出しのタイ
    ミングを決定することを特徴とするDMA転送制御方
    式。
  2. 【請求項2】 前記FIFOに読出し可能な空き領域が
    あるか否かを判断し、読出し可能な空き領域があるとき
    前記読出し制御装置を介して読出しを行い、読出し可能
    な空き領域がないとき読出し可能な空き領域になるまで
    待機することを特徴とする請求項1記載のDMA転送制
    御方式。
  3. 【請求項3】 前記読出しはシングルリードであること
    を特徴とする請求項1又は2記載のDMA転送制御方
    式。
  4. 【請求項4】 前記読出しはバーストリードであること
    を特徴とする請求項1又は2記載のDMA転送制御方
    式。
  5. 【請求項5】 前記FIFOに書込み可能なデータ量が
    あるか否かを判断し、書込み可能なデータ量あるとき前
    記書込み制御装置を介して書込みを行い、書込み可能な
    データ量がないとき書込み可能なデータ量になるまで待
    機することを特徴とする請求項1記載のDMA転送制御
    方式。
  6. 【請求項6】 前記書込みはシングルライトであること
    を特徴とする請求項1又は5記載のDMA転送制御方
    式。
  7. 【請求項7】 前記書込みはバーストライトであること
    を特徴とする請求項1又は5記載のDMA転送制御方
    式。
  8. 【請求項8】 前記DMA装置は、前記読出し制御装置
    及び書込み制御装置を制御する主制御装置を有し、該主
    制御装置に前記FIFOのデータ量の情報を送り、該主
    制御装置で前記データ量を判定して前記読出し制御装置
    及び書込み制御装置を制御することを特徴とする請求項
    1乃至7のいずれか1項記載のDMA転送制御方式。
  9. 【請求項9】 前記DMA装置は、前記FIFOにその
    フリーエリアを出力するフリーエリア出力回路と、フィ
    ルエリアを出力するフィルエリア出力回路が設けられ、
    前記読出し制御装置にはフリーエリア信号に基づいてシ
    ングルリードあるいはバーストリードをしてよいかどう
    かを判断するリード判断回路が、かつ、前記書込み制御
    装置にはシングルライトあるいはバーストライトをして
    よいかどうかを判断するライト判断回路が各々設けら
    れ、前記リード判断回路の判断に基づいて前記読出し制
    御装置を、前記ライト判断回路の判断に基づいて前記書
    込み制御装置を制御することを特徴とする請求項1記載
    のDMA転送制御方式。
  10. 【請求項10】 前記FIFOのフリーエリアと読出し
    するバーストデータの長さとを比較し、フリーエリアの
    方が大きいか両者が等しいときバーストリードを許可す
    ることを特徴とする請求項9記載のDMA転送制御方
    式。
  11. 【請求項11】 前記FIFOにフリーエリアがあるか
    否かを判定し、フリーエリアがあるときシングルリード
    を許可することを特徴とする請求項9記載のDMA転送
    制御方式。
  12. 【請求項12】 前記FIFOのフィルエリアと書込み
    するバーストデータの長さとを比較し、フィルエリアの
    方が大きいか両者が等しいときバーストライトを許可す
    ることを特徴とする請求項9記載のDMA転送制御方
    式。
  13. 【請求項13】 前記FIFOにフィルエリアがあるか
    否かを判定し、フィルエリアがあるときシングルライト
    を許可することを特徴とする請求項9記載のDMA転送
    制御方式。
JP32337999A 1999-11-12 1999-11-12 Dma転送制御方式 Pending JP2001142841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32337999A JP2001142841A (ja) 1999-11-12 1999-11-12 Dma転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32337999A JP2001142841A (ja) 1999-11-12 1999-11-12 Dma転送制御方式

Publications (1)

Publication Number Publication Date
JP2001142841A true JP2001142841A (ja) 2001-05-25

Family

ID=18154103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32337999A Pending JP2001142841A (ja) 1999-11-12 1999-11-12 Dma転送制御方式

Country Status (1)

Country Link
JP (1) JP2001142841A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128589A (ja) * 2010-12-14 2012-07-05 Fujitsu Semiconductor Ltd データ転送装置、データ転送方法、及び半導体装置
WO2013129031A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128589A (ja) * 2010-12-14 2012-07-05 Fujitsu Semiconductor Ltd データ転送装置、データ転送方法、及び半導体装置
WO2013129031A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
CN104145255A (zh) * 2012-02-29 2014-11-12 三菱电机株式会社 数据传输装置、数据传输方法及数据传输程序
JPWO2013129031A1 (ja) * 2012-02-29 2015-07-30 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
US9727504B2 (en) 2012-02-29 2017-08-08 Mitsubishi Electric Corporation Data transfer apparatus, data transfer method, and data transfer program

Similar Documents

Publication Publication Date Title
US7162556B2 (en) Matrix type bus connection system and power reduction method therefor
US4933840A (en) I/O control system using buffer full/empty and zero words signals to control DMA read/write commands
JP2003006143A (ja) バス共有化システムと装置及び方法
US6058251A (en) Data transmission system
JPH01277928A (ja) 印刷装置
US7340544B2 (en) Method of using bus and bus interface
US20080005387A1 (en) Semiconductor device and data transfer method
US20040225760A1 (en) Method and apparatus for transferring data at high speed using direct memory access in multi-processor environments
JPH01229354A (ja) Dmaコントローラ
JPH04363746A (ja) Dma機能を有するマイクロコンピュータシステム
US20130219095A1 (en) Circuit and method for pipe arbitration using available state information and arbitration
JP2001142841A (ja) Dma転送制御方式
KR100357284B1 (ko) 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로
JP4536189B2 (ja) Dma転送装置及びdma転送システム
JPH0793274A (ja) データ転送方式及びデータ転送装置
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
US6868457B2 (en) Direct memory access controller, direct memory access device, and request device
JP3266610B2 (ja) Dma転送方式
JP2007109199A (ja) バッファ装置、、バッファ装置の制御方法、情報処理装置
JP2980163B2 (ja) データ転送方式
US20050060453A1 (en) Instruction supply control unit and semiconductor device
JPH11175392A (ja) ランダムアクセスメモリへの共用アクセスを制御する方法およびシステム
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JPH1011411A (ja) 割込み制御システム
JPH0713910A (ja) システム・バスを介して他のアダプタに可変サイズのデータ・ブロックを転送するためのアダプタ