JPH0696007A - Dma転送方式 - Google Patents
Dma転送方式Info
- Publication number
- JPH0696007A JPH0696007A JP24786292A JP24786292A JPH0696007A JP H0696007 A JPH0696007 A JP H0696007A JP 24786292 A JP24786292 A JP 24786292A JP 24786292 A JP24786292 A JP 24786292A JP H0696007 A JPH0696007 A JP H0696007A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- control information
- dma
- transfer control
- read
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000010586 diagram Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 本発明はメモリ上の転送制御情報に従ってD
MA転送を行うディスクリプタ構成のDMA転送方式に
関し、現在の転送制御情報に基づくDMA転送が終了後
の、後続の転送制御情報の読み込み時間の短縮ができる
ことを目的とする。 【構成】 複数の転送制御情報を転送制御情報記憶手段
18に予め記憶しておき、DMA制御手段14が制御用
記憶手段16に上記転送制御情報を個別に読み込み、D
MA転送要求が発生したとき、制御用記憶手段16に読
み込んだ転送制御情報に基づいてDMA転送を行うDM
A転送方式において、DMA制御手段14は、制御用記
憶手段16に記憶されている現在の転送制御情報の後続
の転送制御情報を、転送制御情報記憶手段18から前も
ってプリフェッチ手段17に読み込み、現在の転送制御
情報に基づくDMA転送が終了したときに、上記後続の
転送制御情報をプリフェッチ手段17から制御用記憶手
段16に取り込む。
MA転送を行うディスクリプタ構成のDMA転送方式に
関し、現在の転送制御情報に基づくDMA転送が終了後
の、後続の転送制御情報の読み込み時間の短縮ができる
ことを目的とする。 【構成】 複数の転送制御情報を転送制御情報記憶手段
18に予め記憶しておき、DMA制御手段14が制御用
記憶手段16に上記転送制御情報を個別に読み込み、D
MA転送要求が発生したとき、制御用記憶手段16に読
み込んだ転送制御情報に基づいてDMA転送を行うDM
A転送方式において、DMA制御手段14は、制御用記
憶手段16に記憶されている現在の転送制御情報の後続
の転送制御情報を、転送制御情報記憶手段18から前も
ってプリフェッチ手段17に読み込み、現在の転送制御
情報に基づくDMA転送が終了したときに、上記後続の
転送制御情報をプリフェッチ手段17から制御用記憶手
段16に取り込む。
Description
【0001】
【産業上の利用分野】本発明はDMA転送方式に係り、
特に、メモリ上の転送制御情報に従ってDMA(ダイレ
クトメモリアクセス)転送を行うディスクリプタ構成の
DMA転送方式に関する。
特に、メモリ上の転送制御情報に従ってDMA(ダイレ
クトメモリアクセス)転送を行うディスクリプタ構成の
DMA転送方式に関する。
【0002】近年、コンピュータシステムの高速化に伴
い、データ転送を行う際のメモリアクセス時間の短縮
と、中央処理装置(CPU)の負荷軽減が要求されてい
る。このため、ディスクリプタ構成のDMA転送方式が
用いられているが、転送制御情報を読み込む時間の短縮
が必要とされている。
い、データ転送を行う際のメモリアクセス時間の短縮
と、中央処理装置(CPU)の負荷軽減が要求されてい
る。このため、ディスクリプタ構成のDMA転送方式が
用いられているが、転送制御情報を読み込む時間の短縮
が必要とされている。
【0003】
【従来の技術】図8は、従来のDMA転送方式の構成図
を示す。図8に示すように、CPU11、入力出力装置
12、転送データを記憶するRAM28、DMA転送を
行うための転送制御情報を記憶するRAM29、及びD
MA転送の制御を行うDMA制御装置44が、データバ
ス1、アドレスバス2、コントロールバス3で接続され
ている。
を示す。図8に示すように、CPU11、入力出力装置
12、転送データを記憶するRAM28、DMA転送を
行うための転送制御情報を記憶するRAM29、及びD
MA転送の制御を行うDMA制御装置44が、データバ
ス1、アドレスバス2、コントロールバス3で接続され
ている。
【0004】RAM29には、4バイトからなる転送制
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図8では、番地“000
0”H(Hは16進表示を示す)から4バイトずつ連続
して記憶されている状態を示している。
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図8では、番地“000
0”H(Hは16進表示を示す)から4バイトずつ連続
して記憶されている状態を示している。
【0005】DMA制御装置44は、転送制御情報をR
AM29から読み込む制御レジスタ46と、DMA転送
の制御、及び制御レジスタ46の制御を行うDMA制御
回路45とからなる。
AM29から読み込む制御レジスタ46と、DMA転送
の制御、及び制御レジスタ46の制御を行うDMA制御
回路45とからなる。
【0006】次に図8のDMA転送方式のDMA制御装
置44の動作について説明する。図9はDMA制御装置
44のDMA制御回路45の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
置44の動作について説明する。図9はDMA制御装置
44のDMA制御回路45の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
【0007】ステップ301では、転送制御情報のアド
レスポインタであるIに先頭番地の“0000”Hを設
定する。次のステップ302では、RAM29のI番地
から転送制御情報4バイトを制御レジスタ46に読み込
む。
レスポインタであるIに先頭番地の“0000”Hを設
定する。次のステップ302では、RAM29のI番地
から転送制御情報4バイトを制御レジスタ46に読み込
む。
【0008】次のステップ303〜ステップ305で
は、ステップ302で制御レジスタ46に読み込んだ転
送制御情報に基づいて、DMA転送を行う。ステップ3
03では、CPU11、又は入出力装置12からDMA
転送要求が有るかを調べ、DMA転送要求が有るとき、
次のステップ304に進む。ステップ304では、CP
U11、又は入力出力装置12からDMA転送要求を受
けて、制御レジスタ46に保持している転送制御情報に
基づいて、入出力装置12とRAM28との間でDMA
転送を実行する。
は、ステップ302で制御レジスタ46に読み込んだ転
送制御情報に基づいて、DMA転送を行う。ステップ3
03では、CPU11、又は入出力装置12からDMA
転送要求が有るかを調べ、DMA転送要求が有るとき、
次のステップ304に進む。ステップ304では、CP
U11、又は入力出力装置12からDMA転送要求を受
けて、制御レジスタ46に保持している転送制御情報に
基づいて、入出力装置12とRAM28との間でDMA
転送を実行する。
【0009】次のステップ305では、制御レジスタ4
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ306へ進み、終了しないとき
は、ステップ303へ戻り、DMA転送を続ける。
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ306へ進み、終了しないとき
は、ステップ303へ戻り、DMA転送を続ける。
【0010】ステップ306では、RAM29のI番地
に転送終了後のステータスを書き出す。ステップ307
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
に転送終了後のステータスを書き出す。ステップ307
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
【0011】ステップ307の終了後、ステップ302
へ戻り、次の転送制御情報に基づくDMA転送を行う。
DMA制御装置44は、全ての転送制御情報に基づくD
MA転送が終了するまで、このフローチャートに示す動
作を続ける。
へ戻り、次の転送制御情報に基づくDMA転送を行う。
DMA制御装置44は、全ての転送制御情報に基づくD
MA転送が終了するまで、このフローチャートに示す動
作を続ける。
【0012】図10はDMA制御装置44の動作タイミ
ングチャートを示す。図10(A)は転送制御情報を制
御レジスタ46に読み込むタイミングを示し、図10
(B)は転送終了後のステータスをRAM29に書き出
すタイミングを示す。また、図10(C)は、CPU、
又は入出力装置12からのDMA転送要求のタイミング
を示し、図10(D)はデータバス上に現れる有効なデ
ータのタイミングを示している。
ングチャートを示す。図10(A)は転送制御情報を制
御レジスタ46に読み込むタイミングを示し、図10
(B)は転送終了後のステータスをRAM29に書き出
すタイミングを示す。また、図10(C)は、CPU、
又は入出力装置12からのDMA転送要求のタイミング
を示し、図10(D)はデータバス上に現れる有効なデ
ータのタイミングを示している。
【0013】このタイミングチャートは、RAM29に
転送制御情報が設定されて、図9のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ46に読み込んで
いる。
転送制御情報が設定されて、図9のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ46に読み込んで
いる。
【0014】次の状態(2)では、DMA転送要求が生
じるのを待っている。次の状態(3)では、DMA転送
要求により入出力装置12とRAM28との間の1回目
のDMA転送を行う。同様に状態(5)では2回目のD
MA転送、状態(7)では3回目のDMA転送を行う。
また、状態(4)、状態(6)では、状態(2)と同様
に、DMA転送要求が生じるのを待っている。
じるのを待っている。次の状態(3)では、DMA転送
要求により入出力装置12とRAM28との間の1回目
のDMA転送を行う。同様に状態(5)では2回目のD
MA転送、状態(7)では3回目のDMA転送を行う。
また、状態(4)、状態(6)では、状態(2)と同様
に、DMA転送要求が生じるのを待っている。
【0015】“0000”H番地からの転送制御情報に
よるDMA転送は、状態(7)の3回目で終了し、状態
(8)では、転送終了後のステータスをRAM29の
“0000”H番地 に書き出している。
よるDMA転送は、状態(7)の3回目で終了し、状態
(8)では、転送終了後のステータスをRAM29の
“0000”H番地 に書き出している。
【0016】次の状態(9)では、“0004”H番地
からの4バイトの転送制御情報を制御レジスタ46に読
み込んでいる。このとき、すでにDMA転送要求が生じ
ているが、転送制御情報を制御レジスタ44に読み込み
中なので、DMA転送は行えない。
からの4バイトの転送制御情報を制御レジスタ46に読
み込んでいる。このとき、すでにDMA転送要求が生じ
ているが、転送制御情報を制御レジスタ44に読み込み
中なので、DMA転送は行えない。
【0017】次の状態(10)では、生じているDMA
転送要求により、制御レジスタ46に保持されている転
送制御情報に基づいてDMA転送を行う。状態(10)
では、1回のDMA転送でDMA転送が終了している。
次の状態(11)では、DMA転送終了後のステータス
をRAM29の“0004”H番地 に書き出してい
る。
転送要求により、制御レジスタ46に保持されている転
送制御情報に基づいてDMA転送を行う。状態(10)
では、1回のDMA転送でDMA転送が終了している。
次の状態(11)では、DMA転送終了後のステータス
をRAM29の“0004”H番地 に書き出してい
る。
【0018】
【発明が解決しようとする課題】しかるに、従来のDM
A転送方式では、上記のように、現在の転送制御情報に
基づくDMA転送が終了しないと、後続の転送制御情報
をDMA制御装置に読み込みことができず、転送制御情
報をDMA制御装置に読み込む時間が必ず必要となり、
DMA転送の時間短縮の妨げとなるという問題点があっ
た。
A転送方式では、上記のように、現在の転送制御情報に
基づくDMA転送が終了しないと、後続の転送制御情報
をDMA制御装置に読み込みことができず、転送制御情
報をDMA制御装置に読み込む時間が必ず必要となり、
DMA転送の時間短縮の妨げとなるという問題点があっ
た。
【0019】本発明は、上記の点に鑑みてなされたもの
で、現在の転送制御情報に基づくDMA転送が終了後
の、後続の転送制御情報の読み込み時間の短縮ができる
DMA転送方式を提供することを目的とする。
で、現在の転送制御情報に基づくDMA転送が終了後
の、後続の転送制御情報の読み込み時間の短縮ができる
DMA転送方式を提供することを目的とする。
【0020】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。同図中、複数の転送制御情報を転送制御情報
記憶手段18の連続する番地に予め記憶しておき、DM
A制御手段14が制御用記憶手段16に上記転送制御情
報を個別に読み込み、DMA転送要求が発生したとき、
上記制御用記憶手段16に読み込んだ転送制御情報に基
づいてDMA転送を行う。
図を示す。同図中、複数の転送制御情報を転送制御情報
記憶手段18の連続する番地に予め記憶しておき、DM
A制御手段14が制御用記憶手段16に上記転送制御情
報を個別に読み込み、DMA転送要求が発生したとき、
上記制御用記憶手段16に読み込んだ転送制御情報に基
づいてDMA転送を行う。
【0021】DMA制御手段14に設けられたプリフェ
ッチ手段17には、上記制御用記憶手段16に記憶され
ている現在の転送制御情報の後続の転送制御情報が、転
送制御情報記憶手段18から前もって読み込まれる。現
在の転送制御情報に基づくDMA転送が終了したとき
に、上記後続の転送制御情報を上記プリフェッチ手段1
7から上記制御用記憶手段16に取り込む。
ッチ手段17には、上記制御用記憶手段16に記憶され
ている現在の転送制御情報の後続の転送制御情報が、転
送制御情報記憶手段18から前もって読み込まれる。現
在の転送制御情報に基づくDMA転送が終了したとき
に、上記後続の転送制御情報を上記プリフェッチ手段1
7から上記制御用記憶手段16に取り込む。
【0022】
【作用】本発明のDMA制御手段14は、制御用記憶手
段16に記憶されている現在の転送制御情報の後続の転
送制御情報を前もってプリフェッチ手段17に読み込
み、現在の転送制御情報に基づくDMA転送が終了した
ときに、前もって読み込んだ後続の転送制御情報を制御
用記憶手段16に取り込む。このため、後続の転送制御
情報の読み込み時間の短縮を可能とする。
段16に記憶されている現在の転送制御情報の後続の転
送制御情報を前もってプリフェッチ手段17に読み込
み、現在の転送制御情報に基づくDMA転送が終了した
ときに、前もって読み込んだ後続の転送制御情報を制御
用記憶手段16に取り込む。このため、後続の転送制御
情報の読み込み時間の短縮を可能とする。
【0023】
【実施例】図2は本発明の第1実施例の構成図を示す。
同図中、図8と同一構成部分には同一符号を付し、適宜
説明を省略する。図2に示すように、CPU11、入力
出力装置12、転送データ記憶手段13であるRAM2
8、転送制御情報記憶手段18であるRAM29、及び
DMA制御手段14であるDMA制御装置24が、デー
タバス1、アドレスバス2、コントロールバス3で接続
されている。
同図中、図8と同一構成部分には同一符号を付し、適宜
説明を省略する。図2に示すように、CPU11、入力
出力装置12、転送データ記憶手段13であるRAM2
8、転送制御情報記憶手段18であるRAM29、及び
DMA制御手段14であるDMA制御装置24が、デー
タバス1、アドレスバス2、コントロールバス3で接続
されている。
【0024】RAM29には、4バイトからなる転送制
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図2では、番地“000
0”Hから4バイトずつ連続して記憶されている状態を
示している。
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図2では、番地“000
0”Hから4バイトずつ連続して記憶されている状態を
示している。
【0025】DMA制御装置24は、制御用記憶手段1
6である制御レジスタ26、プリフェッチ手段17であ
るフェッチ回路27、及び制御部15であるDMA制御
回路25とからなる。なお、制御レジスタ26、フェッ
チ回路27は、共に4バイトの記憶容量を持つ。また、
DMA制御回路25はDMA転送の制御、制御レジスタ
26、及びフェッチ回路27の制御を行う。
6である制御レジスタ26、プリフェッチ手段17であ
るフェッチ回路27、及び制御部15であるDMA制御
回路25とからなる。なお、制御レジスタ26、フェッ
チ回路27は、共に4バイトの記憶容量を持つ。また、
DMA制御回路25はDMA転送の制御、制御レジスタ
26、及びフェッチ回路27の制御を行う。
【0026】次に図2のDMA転送方式のDMA制御装
置24の動作について説明する。図3はDMA制御装置
24のDMA制御回路25の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
置24の動作について説明する。図3はDMA制御装置
24のDMA制御回路25の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
【0027】ステップ101では、転送制御情報のアド
レスポインタであるIに先頭番地の“0000”Hを設
定する。次のステップ102〜ステップ104では、制
御レジスタ26に転送制御情報の4バイトを読み込む。
ステップ102では、フェッチ回路27に次に読み込む
べき転送制御情報が保持されているかどうかを調べ、転
送制御情報が保持されておらず、フェッチ回路が空の場
合は、ステップ103へ進み、転送制御情報が保持され
ている場合は、ステップ104へ進む。
レスポインタであるIに先頭番地の“0000”Hを設
定する。次のステップ102〜ステップ104では、制
御レジスタ26に転送制御情報の4バイトを読み込む。
ステップ102では、フェッチ回路27に次に読み込む
べき転送制御情報が保持されているかどうかを調べ、転
送制御情報が保持されておらず、フェッチ回路が空の場
合は、ステップ103へ進み、転送制御情報が保持され
ている場合は、ステップ104へ進む。
【0028】ステップ103では、RAM29のI番地
から、次に読み込むべき後続の転送制御情報4バイトを
制御レジスタ26に読み込む。ステップ104では、フ
ェッチ回路27から、次に読み込むべき転送制御情報4
バイトを制御レジスタ26に取り込む。
から、次に読み込むべき後続の転送制御情報4バイトを
制御レジスタ26に読み込む。ステップ104では、フ
ェッチ回路27から、次に読み込むべき転送制御情報4
バイトを制御レジスタ26に取り込む。
【0029】このフェッチ回路27から制御レジスタ2
6への転送制御情報の取り込みに掛かる時間は、RAM
29から制御レジスタ26に転送制御情報を読み込む時
間に比べて極めて短い。従って、前もってフェッチ回路
27に次に読み込みべき転送制御情報を保持しておくこ
とで、転送制御情報の制御レジスタ26への読み込み時
間を短縮することができる。
6への転送制御情報の取り込みに掛かる時間は、RAM
29から制御レジスタ26に転送制御情報を読み込む時
間に比べて極めて短い。従って、前もってフェッチ回路
27に次に読み込みべき転送制御情報を保持しておくこ
とで、転送制御情報の制御レジスタ26への読み込み時
間を短縮することができる。
【0030】次のステップ105〜ステップ109で
は、ステップ103、又はステップ104で制御レジス
タ26に読み込んだ転送制御情報に基づいて、DMA転
送を行い、且つ、DMA要求が無いときに、フェッチ回
路27に、後続の転送制御情報を読み込む。
は、ステップ103、又はステップ104で制御レジス
タ26に読み込んだ転送制御情報に基づいて、DMA転
送を行い、且つ、DMA要求が無いときに、フェッチ回
路27に、後続の転送制御情報を読み込む。
【0031】ステップ105では、CPU11、又は入
出力装置12からDMA転送要求が有るかを調べ、DM
A転送要求が有るとき、次のステップ108に進み、D
MA転送要求が無いときは、ステップ106へ進む。
出力装置12からDMA転送要求が有るかを調べ、DM
A転送要求が有るとき、次のステップ108に進み、D
MA転送要求が無いときは、ステップ106へ進む。
【0032】ステップ108では、CPU11、又は入
力出力装置12からDMA転送要求を受けて、制御レジ
スタ26に保持している転送制御情報に基づいて、入出
力装置12とRAM28との間でDMA転送を実行す
る。
力出力装置12からDMA転送要求を受けて、制御レジ
スタ26に保持している転送制御情報に基づいて、入出
力装置12とRAM28との間でDMA転送を実行す
る。
【0033】次のステップ109では、制御レジスタ2
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ110へ進み、終了しないとき
は、ステップ105へ戻り、DMA転送を続ける。
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ110へ進み、終了しないとき
は、ステップ105へ戻り、DMA転送を続ける。
【0034】ステップ105でDMA転送要求が無いと
きは、ステップ106でフェッチ回路27に転送制御情
報を読み込む空きがあるかどうかを調べる。フェッチ回
路27に空きが無いときはステップ105へ戻り、DM
A転送要求を待つ。
きは、ステップ106でフェッチ回路27に転送制御情
報を読み込む空きがあるかどうかを調べる。フェッチ回
路27に空きが無いときはステップ105へ戻り、DM
A転送要求を待つ。
【0035】フェッチ回路27に空きがあるときは、ス
テップ107で、RAM29のI+4番地から記憶され
ている後続の転送制御情報をフェッチ回路27に読み込
む。この際、転送制御情報4バイト全部を必ずしも一度
に読み込まず、DMA転送要求の無い時間で読み込める
バイト数の転送制御情報を読み込み、読み込めなかった
分は、次の機会に読み込む。ステップ107が終わる
と、ステップ105へ戻る。
テップ107で、RAM29のI+4番地から記憶され
ている後続の転送制御情報をフェッチ回路27に読み込
む。この際、転送制御情報4バイト全部を必ずしも一度
に読み込まず、DMA転送要求の無い時間で読み込める
バイト数の転送制御情報を読み込み、読み込めなかった
分は、次の機会に読み込む。ステップ107が終わる
と、ステップ105へ戻る。
【0036】ステップ110では、RAM29のI番地
に転送終了後のステータスを書き出す。ステップ111
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
に転送終了後のステータスを書き出す。ステップ111
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
【0037】ステップ111の終了後、ステップ102
へ戻り、次の転送制御情報に基づくDMA転送を行う。
DMA制御装置24は、全ての転送制御情報に基づくD
MA転送が終了するまで、このフローチャートに示す動
作を続ける。
へ戻り、次の転送制御情報に基づくDMA転送を行う。
DMA制御装置24は、全ての転送制御情報に基づくD
MA転送が終了するまで、このフローチャートに示す動
作を続ける。
【0038】上記のように、DMA転送要求がないと
き、ステップ106、ステップ107で、前もって後続
の転送制御情報をRAM29からフェッチ回路27に読
み込んでおき、ステップ104で、フェッチ回路27か
ら制御レジスタ26に、上記後続の転送制御情報を極め
て短時間で取り込むため、転送制御情報を制御レジスタ
26に読み込む時間を大幅に短縮することができる。
き、ステップ106、ステップ107で、前もって後続
の転送制御情報をRAM29からフェッチ回路27に読
み込んでおき、ステップ104で、フェッチ回路27か
ら制御レジスタ26に、上記後続の転送制御情報を極め
て短時間で取り込むため、転送制御情報を制御レジスタ
26に読み込む時間を大幅に短縮することができる。
【0039】図4はDMA制御装置24の動作タイミン
グチャートを示す。図4(A)は転送制御情報を制御レ
ジスタ26に読み込むタイミングを示し、図4(B)は
転送終了後のステータスをRAM29に書き出すタイミ
ングを示す。また、図4(C)は、フェッチ回路27に
後続の転送制御情報を読み込む空きが有るかどうかを示
し、図4(D)は、CPU11、又は入出力装置12か
らのDMA転送要求のタイミングを示す。また、図4
(E)はデータバス1上に現れる有効なデータのタイミ
ングを示している。
グチャートを示す。図4(A)は転送制御情報を制御レ
ジスタ26に読み込むタイミングを示し、図4(B)は
転送終了後のステータスをRAM29に書き出すタイミ
ングを示す。また、図4(C)は、フェッチ回路27に
後続の転送制御情報を読み込む空きが有るかどうかを示
し、図4(D)は、CPU11、又は入出力装置12か
らのDMA転送要求のタイミングを示す。また、図4
(E)はデータバス1上に現れる有効なデータのタイミ
ングを示している。
【0040】このタイミングチャートは、RAM29に
転送制御情報が設定されて、図3のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ26に読み込む次
の状態(2)では、DMA転送要求が無いので、RAM
29の“0004”H番地からの後続の転送制御情報4
バイトのうちの2バイトを、フェッチ回路27に読み込
む。次の状態(3)では、DMA転送要求により、“0
000”H番地からの4バイトの転送制御情報に基づ
き、入出力装置12とRAM28との間の1回目のDM
A転送を行う。
転送制御情報が設定されて、図3のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ26に読み込む次
の状態(2)では、DMA転送要求が無いので、RAM
29の“0004”H番地からの後続の転送制御情報4
バイトのうちの2バイトを、フェッチ回路27に読み込
む。次の状態(3)では、DMA転送要求により、“0
000”H番地からの4バイトの転送制御情報に基づ
き、入出力装置12とRAM28との間の1回目のDM
A転送を行う。
【0041】次の状態(4)では、DMA転送要求が無
いので、RAM29の“0004”H番地からの4バイ
トの転送制御情報のうち、状態(2)で読み込めなかっ
た残りの2バイトを、フェッチ回路27に読み込む。こ
の読み込みで、フェッチ回路27には、4バイトの転送
制御情報が記憶されて、空きがなくなる。
いので、RAM29の“0004”H番地からの4バイ
トの転送制御情報のうち、状態(2)で読み込めなかっ
た残りの2バイトを、フェッチ回路27に読み込む。こ
の読み込みで、フェッチ回路27には、4バイトの転送
制御情報が記憶されて、空きがなくなる。
【0042】次の状態(5)では“0000”H番地か
らの4バイトの転送制御情報に基づく2回目のDMA転
送、状態(7)では3回目のDMA転送を行う。また、
状態(6)では、DMA転送要求が生じるのを待ってい
る。
らの4バイトの転送制御情報に基づく2回目のDMA転
送、状態(7)では3回目のDMA転送を行う。また、
状態(6)では、DMA転送要求が生じるのを待ってい
る。
【0043】“0000”H番地からの転送制御情報4
バイトに基づくDMA転送は、状態(7)の3回目で終
了し、状態(8)では、転送終了後のステータスをRA
M29の“0000”H番地 に書き出している。
バイトに基づくDMA転送は、状態(7)の3回目で終
了し、状態(8)では、転送終了後のステータスをRA
M29の“0000”H番地 に書き出している。
【0044】次の状態(9)では、状態(2)、及び
(4)でフェッチ回路27に読み込み保持してある後続
の転送制御情報4バイトを、制御レジスタ26に取り込
む。RAM29から転送制御情報を制御レジスタ26に
読み込むのに比べて、フェッチ回路27から制御レジス
タ26への転送制御情報の取り込みは、極めて短時間で
行える。
(4)でフェッチ回路27に読み込み保持してある後続
の転送制御情報4バイトを、制御レジスタ26に取り込
む。RAM29から転送制御情報を制御レジスタ26に
読み込むのに比べて、フェッチ回路27から制御レジス
タ26への転送制御情報の取り込みは、極めて短時間で
行える。
【0045】次の状態(10)では、生じているDMA
転送要求により、制御レジスタ26に保持されている
“0004”H番地からの転送制御情報4バイトに基づ
いてDMA転送を行う。状態(10)では、1回のDM
A転送でDMA転送が終了している。次の状態(11)
では、DMA転送終了後のステータスをRAM29の
“0004”H番地 に書き出している。
転送要求により、制御レジスタ26に保持されている
“0004”H番地からの転送制御情報4バイトに基づ
いてDMA転送を行う。状態(10)では、1回のDM
A転送でDMA転送が終了している。次の状態(11)
では、DMA転送終了後のステータスをRAM29の
“0004”H番地 に書き出している。
【0046】上記のように、第1実施例のDMA転送方
式では、DMA転送要求が無いときに、フェッチ回路2
7に前もって後続の転送制御情報を読み込んでおき、現
在の転送制御情報に基づくDMA転送の終了後に、フェ
ッチ回路27から制御レジスタ26に、この前もって読
み込んだ後続の転送制御情報を取り込む。このため、転
送制御情報を制御レジスタ26に読み込む時間を大幅に
短縮することができる。従って、DMA転送の所要時間
を短縮することができる。
式では、DMA転送要求が無いときに、フェッチ回路2
7に前もって後続の転送制御情報を読み込んでおき、現
在の転送制御情報に基づくDMA転送の終了後に、フェ
ッチ回路27から制御レジスタ26に、この前もって読
み込んだ後続の転送制御情報を取り込む。このため、転
送制御情報を制御レジスタ26に読み込む時間を大幅に
短縮することができる。従って、DMA転送の所要時間
を短縮することができる。
【0047】なお、フェッチ回路27の記憶容量は、第
1実施例の値に限られず、より大きな記憶容量とするこ
とも可能である。
1実施例の値に限られず、より大きな記憶容量とするこ
とも可能である。
【0048】図5は本発明の第2実施例の構成図を示
す。同図中、図2と同一構成部分には同一符号を付し、
適宜説明を省略する。図5に示すように、CPU11、
入力出力装置12、転送データ記憶手段13であるRA
M28、転送制御情報記憶手段18であるRAM29、
及びDMA制御手段であるDMA制御装置34が、デー
タバス1、アドレスバス2、コントロールバス3で接続
されている。
す。同図中、図2と同一構成部分には同一符号を付し、
適宜説明を省略する。図5に示すように、CPU11、
入力出力装置12、転送データ記憶手段13であるRA
M28、転送制御情報記憶手段18であるRAM29、
及びDMA制御手段であるDMA制御装置34が、デー
タバス1、アドレスバス2、コントロールバス3で接続
されている。
【0049】RAM29には、4バイトからなる転送制
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図5では、番地“000
0”Hから4バイトずつ連続して記憶されている状態を
示している。
御情報(ディスクリプタ)が、所定の番地(アドレス)
から連続して複数記憶される。図5では、番地“000
0”Hから4バイトずつ連続して記憶されている状態を
示している。
【0050】DMA制御装置34は、制御用記憶手段1
6である制御レジスタ36、プリフェッチ手段17を構
成するフェッチ回路37とFIFO(ファーストインフ
ァーストアウト)38、及び制御部15であるDMA制
御回路35とからなる。なお、制御レジスタ36、フェ
ッチ回路37は、共に4バイトの記憶容量を持ち、FI
FO38は8バイトの記憶容量を持つ。また、DMA制
御回路35はDMA転送の制御、制御レジスタ36、フ
ェッチ回路37、及びFIFO38の制御を行う。
6である制御レジスタ36、プリフェッチ手段17を構
成するフェッチ回路37とFIFO(ファーストインフ
ァーストアウト)38、及び制御部15であるDMA制
御回路35とからなる。なお、制御レジスタ36、フェ
ッチ回路37は、共に4バイトの記憶容量を持ち、FI
FO38は8バイトの記憶容量を持つ。また、DMA制
御回路35はDMA転送の制御、制御レジスタ36、フ
ェッチ回路37、及びFIFO38の制御を行う。
【0051】次に図5のDMA転送方式のDMA制御装
置34の動作について説明する。図6はDMA制御装置
34のDMA制御回路35の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
置34の動作について説明する。図6はDMA制御装置
34のDMA制御回路35の動作フローチャートを示
す。このフローチャートは、RAM29に転送制御情報
が設定された後にスタートする。
【0052】第2実施例のDMA制御装置34では、I
とJの2つのアドレスポインタを持っており、Iは現在
の転送制御情報の番地を示し、Jは次にFIFO38に
読み込むべき転送制御情報の番地を示す。
とJの2つのアドレスポインタを持っており、Iは現在
の転送制御情報の番地を示し、Jは次にFIFO38に
読み込むべき転送制御情報の番地を示す。
【0053】ステップ201では、転送制御情報のアド
レスポインタであるIに先頭番地の“0000”Hを設
定し、アドレスポインタJに後続の転送制御情報の番地
の“0004”Hを設定する。次のステップ202〜ス
テップ206では、制御レジスタ36に転送制御情報の
4バイトを読み込む。
レスポインタであるIに先頭番地の“0000”Hを設
定し、アドレスポインタJに後続の転送制御情報の番地
の“0004”Hを設定する。次のステップ202〜ス
テップ206では、制御レジスタ36に転送制御情報の
4バイトを読み込む。
【0054】ステップ202では、フェッチ回路37に
次に読み込むべき後続の転送制御情報が保持されている
かどうかを調べ、転送制御情報が保持されておらず、フ
ェッチ回路が空の場合は、ステップ203へ進み、転送
制御情報が保持されている場合は、ステップ205へ進
む。
次に読み込むべき後続の転送制御情報が保持されている
かどうかを調べ、転送制御情報が保持されておらず、フ
ェッチ回路が空の場合は、ステップ203へ進み、転送
制御情報が保持されている場合は、ステップ205へ進
む。
【0055】ステップ203では、FIFO38に次に
読み込むべき後続の転送制御情報が保持されているかど
うかを調べ、転送制御情報が保持されておらず、FIF
O38が空の場合は、ステップ206へ進み、転送制御
情報が保持されている場合は、ステップ204へ進む。
読み込むべき後続の転送制御情報が保持されているかど
うかを調べ、転送制御情報が保持されておらず、FIF
O38が空の場合は、ステップ206へ進み、転送制御
情報が保持されている場合は、ステップ204へ進む。
【0056】フェッチ回路37、FIFO38が共に空
のときは、ステップ206で、RAM29のI番地か
ら、次に読み込むべき後続の転送制御情報4バイトを制
御レジスタ26に読み込む。
のときは、ステップ206で、RAM29のI番地か
ら、次に読み込むべき後続の転送制御情報4バイトを制
御レジスタ26に読み込む。
【0057】フェッチ回路37に転送制御情報が保持さ
れている場合は、ステップ205で、フェッチ回路37
から次に読み込むべき後続の転送制御情報4バイトを制
御レジスタ36に取り込む。
れている場合は、ステップ205で、フェッチ回路37
から次に読み込むべき後続の転送制御情報4バイトを制
御レジスタ36に取り込む。
【0058】FIFO38に後続の転送制御情報が保持
されている場合は、ステップ204で、FIFO38か
ら次に読み込むべき後続の転送制御情報4バイトをフェ
ッチ回路37に取り込み、その後、ステップ205で、
フェッチ回路37から上記後続の転送制御情報4バイト
を制御レジスタ36に取り込む。
されている場合は、ステップ204で、FIFO38か
ら次に読み込むべき後続の転送制御情報4バイトをフェ
ッチ回路37に取り込み、その後、ステップ205で、
フェッチ回路37から上記後続の転送制御情報4バイト
を制御レジスタ36に取り込む。
【0059】FIFO38からフェッチ回路37への転
送制御情報の取り込みに掛かる時間、及び、フェッチ回
路27から制御レジスタ26への転送制御情報の取り込
みに掛かる時間は、RAM29から制御レジスタ26に
転送制御情報を読み込む時間に比べて極めて短い。従っ
て、前もって、FIFO38、フェッチ回路27に次に
読み込みべき後続の転送制御情報を保持しておくこと
で、転送制御情報の制御レジスタ36への読み込み時間
を短縮することができる。
送制御情報の取り込みに掛かる時間、及び、フェッチ回
路27から制御レジスタ26への転送制御情報の取り込
みに掛かる時間は、RAM29から制御レジスタ26に
転送制御情報を読み込む時間に比べて極めて短い。従っ
て、前もって、FIFO38、フェッチ回路27に次に
読み込みべき後続の転送制御情報を保持しておくこと
で、転送制御情報の制御レジスタ36への読み込み時間
を短縮することができる。
【0060】次のステップ207〜ステップ215で
は、ステップ206、又はステップ205で制御レジス
タ36に読み込んだ転送制御情報に基づいて、DMA転
送を行う。且つ、DMA要求が無いときに、FIFO3
8に、後続の転送制御情報を読み込み、フェッチ回路3
7が空のときは、FIFO38に保持している転送制御
情報をフェッチ回路37に取り込む。
は、ステップ206、又はステップ205で制御レジス
タ36に読み込んだ転送制御情報に基づいて、DMA転
送を行う。且つ、DMA要求が無いときに、FIFO3
8に、後続の転送制御情報を読み込み、フェッチ回路3
7が空のときは、FIFO38に保持している転送制御
情報をフェッチ回路37に取り込む。
【0061】ステップ207では、CPU11、又は入
出力装置12からDMA転送要求が有るかを調べ、DM
A転送要求が有るとき、次のステップ214に進み、D
MA転送要求が無いときは、ステップ208へ進む。
出力装置12からDMA転送要求が有るかを調べ、DM
A転送要求が有るとき、次のステップ214に進み、D
MA転送要求が無いときは、ステップ208へ進む。
【0062】ステップ214では、CPU11、又は入
力出力装置12からDMA転送要求を受けて、制御レジ
スタ36に保持している転送制御情報に基づいて、入出
力装置12とRAM28との間でDMA転送を実行す
る。
力出力装置12からDMA転送要求を受けて、制御レジ
スタ36に保持している転送制御情報に基づいて、入出
力装置12とRAM28との間でDMA転送を実行す
る。
【0063】次のステップ215では、制御レジスタ3
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ216へ進み、終了しないとき
は、ステップ207へ戻り、DMA転送を続ける。
6に保持している転送制御情報に基づくDMA転送が全
て終了したかどうかを判断する。DMA転送が全て終了
したときは、ステップ216へ進み、終了しないとき
は、ステップ207へ戻り、DMA転送を続ける。
【0064】ステップ207でDMA転送要求が無いと
きは、ステップ208でFIFO38に後続の転送制御
情報を読み込む空きがあるかどうかを調べる。FIFO
38に空きが無いときはステップ207へ戻り、DMA
転送要求を待つ。
きは、ステップ208でFIFO38に後続の転送制御
情報を読み込む空きがあるかどうかを調べる。FIFO
38に空きが無いときはステップ207へ戻り、DMA
転送要求を待つ。
【0065】FIFO38に空きがあるときは、ステッ
プ209で、RAM29のJ番地から記憶されている、
次にFIFO38に読み込むべき後続の転送制御情報を
FIFO38に読み込む。この際、転送制御情報4バイ
ト全部を必ずしも一度に読み込まず、DMA転送要求の
無い時間で読み込めるバイト数の転送制御情報を読み込
み、読み込めなかった分は、次の機会に読み込む。ステ
ップ209が終わると、ステップ210へ進む。
プ209で、RAM29のJ番地から記憶されている、
次にFIFO38に読み込むべき後続の転送制御情報を
FIFO38に読み込む。この際、転送制御情報4バイ
ト全部を必ずしも一度に読み込まず、DMA転送要求の
無い時間で読み込めるバイト数の転送制御情報を読み込
み、読み込めなかった分は、次の機会に読み込む。ステ
ップ209が終わると、ステップ210へ進む。
【0066】ステップ210では、J番地からの転送制
御情報4バイトを全て読み込めたかどうかを判断し、全
て読み込めたときは、ステップ211で、アドレスポイ
ンタJが次に読み込むべき番地を示すようにアドレスポ
インタJを4進めた後、ステップ212へ進み、4バイ
ト読み込めていないときは、ステップ212へ進む。
御情報4バイトを全て読み込めたかどうかを判断し、全
て読み込めたときは、ステップ211で、アドレスポイ
ンタJが次に読み込むべき番地を示すようにアドレスポ
インタJを4進めた後、ステップ212へ進み、4バイ
ト読み込めていないときは、ステップ212へ進む。
【0067】ステップ212では、フェッチ回路37
に、次に制御レジスタ36に読み込むべき後続の転送制
御情報が保持されているかどうかを調べ、転送制御情報
が保持されている場合は、ステップ207へ戻り、転送
制御情報が保持されておらず、フェッチ回路が空の場合
は、ステップ213へ進む。
に、次に制御レジスタ36に読み込むべき後続の転送制
御情報が保持されているかどうかを調べ、転送制御情報
が保持されている場合は、ステップ207へ戻り、転送
制御情報が保持されておらず、フェッチ回路が空の場合
は、ステップ213へ進む。
【0068】ステップ213では、FIFO38に、4
バイトで1組の転送制御情報が1組以上保持されている
ときは、FIFO38からフェッチ回路37に後続の転
送制御情報4バイトを取り込む。ステップ213が終わ
ると、ステップ207へ戻る。
バイトで1組の転送制御情報が1組以上保持されている
ときは、FIFO38からフェッチ回路37に後続の転
送制御情報4バイトを取り込む。ステップ213が終わ
ると、ステップ207へ戻る。
【0069】ステップ216では、RAM29のI番地
に転送終了後のステータスを書き出す。ステップ217
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
に転送終了後のステータスを書き出す。ステップ217
では、アドレスポインタIの値を4増やして、後続の転
送制御情報の先頭番地を示すようにする。
【0070】ステップ218では、次に制御レジスタ3
6に読み込むべき転送制御情報の番地を示すアドレスポ
インタのIと、次にFIFO38に読み込む転送制御情
報の番地を示すべきアドレスポインタJを比較する。
6に読み込むべき転送制御情報の番地を示すアドレスポ
インタのIと、次にFIFO38に読み込む転送制御情
報の番地を示すべきアドレスポインタJを比較する。
【0071】アドレスポインタJの値がアドレスポイン
タIの値より大きいときは、Jは正しい番地を示してい
るので、そのままステップ202へ戻り、アドレスポイ
ンタJの値がアドレスポインタIの値以下のときは、ス
テップ219で、アドレスポインタJの値をI+4とし
て正しい番地を示すようにした後、ステップ202へ戻
る。
タIの値より大きいときは、Jは正しい番地を示してい
るので、そのままステップ202へ戻り、アドレスポイ
ンタJの値がアドレスポインタIの値以下のときは、ス
テップ219で、アドレスポインタJの値をI+4とし
て正しい番地を示すようにした後、ステップ202へ戻
る。
【0072】ステップ218、又は219の終了後、ス
テップ202へ戻り、後続の転送制御情報に基づくDM
A転送を行う。DMA制御装置34は、全ての転送制御
情報に基づくDMA転送が終了するまで、このフローチ
ャートに示す動作を続ける。
テップ202へ戻り、後続の転送制御情報に基づくDM
A転送を行う。DMA制御装置34は、全ての転送制御
情報に基づくDMA転送が終了するまで、このフローチ
ャートに示す動作を続ける。
【0073】上記のように、DMA転送要求がないとき
に、制御レジスタ36に記憶されている現在の転送制御
情報の後続の転送制御情報を、前もってステップ209
で、RAM29からFIFO38に読み込んでおく。
に、制御レジスタ36に記憶されている現在の転送制御
情報の後続の転送制御情報を、前もってステップ209
で、RAM29からFIFO38に読み込んでおく。
【0074】この後、ステップ213、又はステップ2
04で、FIFO38に読み込んだ転送制御情報をフェ
ッチ回路37に取り込む。そしてこの後、ステップ20
5で、フェッチ回路37から制御レジスタ36に、上記
後続の転送制御情報を極めて短時間で取り込むため、転
送制御情報を制御レジスタ36に読み込む時間を大幅に
短縮することができる。
04で、FIFO38に読み込んだ転送制御情報をフェ
ッチ回路37に取り込む。そしてこの後、ステップ20
5で、フェッチ回路37から制御レジスタ36に、上記
後続の転送制御情報を極めて短時間で取り込むため、転
送制御情報を制御レジスタ36に読み込む時間を大幅に
短縮することができる。
【0075】図7はDMA制御装置34の動作タイミン
グチャートを示す。図7(A)は転送制御情報を制御レ
ジスタ36に読み込むタイミングを示し、図7(B)は
転送終了後のステータスをRAM29に書き出すタイミ
ングを示す。また、図7(C)は、フェッチ回路37が
空で空いており、後続の転送制御情報をFIFO38か
ら取り込めるかどうかを示し、図7(D)は、FIFO
38に、後続の転送制御情報をRAM29より読み込
む、空きの領域が有るかどうかを示している。また、図
7(E)は、CPU11、又は入出力装置12からのD
MA転送要求のタイミングを示し、図7(F)はデータ
バス1上に現れる有効なデータのタイミングを示してい
る。
グチャートを示す。図7(A)は転送制御情報を制御レ
ジスタ36に読み込むタイミングを示し、図7(B)は
転送終了後のステータスをRAM29に書き出すタイミ
ングを示す。また、図7(C)は、フェッチ回路37が
空で空いており、後続の転送制御情報をFIFO38か
ら取り込めるかどうかを示し、図7(D)は、FIFO
38に、後続の転送制御情報をRAM29より読み込
む、空きの領域が有るかどうかを示している。また、図
7(E)は、CPU11、又は入出力装置12からのD
MA転送要求のタイミングを示し、図7(F)はデータ
バス1上に現れる有効なデータのタイミングを示してい
る。
【0076】このタイミングチャートは、RAM29に
転送制御情報が設定されて、図6のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ36に読み込む 次の状態(2)では、DMA転送要求が無いので、RA
M29の“0004”H番地からの後続の転送制御情報
4バイトを、FIFO38に読み込み、この後、すぐ
に、FIFO38に読み込んだ転送制御情報をフェッチ
回路37に取り込む。FIFO38からフェッチ回路3
7に、この転送制御情報を取り込んだ時点で、フェッチ
回路37は空き無しとなる。
転送制御情報が設定されて、図6のフローチャートの初
めからスタートした場合の一例を示している。状態
(1)では、RAM29の“0000”H番地からの4
バイトの転送制御情報を制御レジスタ36に読み込む 次の状態(2)では、DMA転送要求が無いので、RA
M29の“0004”H番地からの後続の転送制御情報
4バイトを、FIFO38に読み込み、この後、すぐ
に、FIFO38に読み込んだ転送制御情報をフェッチ
回路37に取り込む。FIFO38からフェッチ回路3
7に、この転送制御情報を取り込んだ時点で、フェッチ
回路37は空き無しとなる。
【0077】次の状態(3)では、DMA転送要求によ
り、制御レジスタ36に記憶された“0000”H番地
からの4バイトの転送制御情報に基づき、入出力装置1
2とRAM28との間の1回目のDMA転送を行う。次
の状態(4)では、DMA転送要求が無いので、RAM
29の“0008”H番地からの4バイトの転送制御情
報のうち、2バイトを、FIFO38に読み込む。
り、制御レジスタ36に記憶された“0000”H番地
からの4バイトの転送制御情報に基づき、入出力装置1
2とRAM28との間の1回目のDMA転送を行う。次
の状態(4)では、DMA転送要求が無いので、RAM
29の“0008”H番地からの4バイトの転送制御情
報のうち、2バイトを、FIFO38に読み込む。
【0078】次の状態(5)では、“0000”H番地
からの4バイトの転送制御情報に基づく2回目のDMA
転送を行う。次の状態(6)では、DMA転送要求が無
いので、RAM29の“0008”H番地からの4バイ
トの転送制御情報のうち、状態(4)で読み込めなかっ
た残りの2バイトを、FIFO38に読み込む。
からの4バイトの転送制御情報に基づく2回目のDMA
転送を行う。次の状態(6)では、DMA転送要求が無
いので、RAM29の“0008”H番地からの4バイ
トの転送制御情報のうち、状態(4)で読み込めなかっ
た残りの2バイトを、FIFO38に読み込む。
【0079】次の状態(7)では、“0000”H番地
からの4バイトの転送制御情報に基づく3回目のDMA
転送を行う。次の状態(8)では、DMA転送要求が無
いので、RAM29の“000C”H番地からの4バイ
トの転送制御情報のうち、2バイトを、FIFO38に
読み込む。
からの4バイトの転送制御情報に基づく3回目のDMA
転送を行う。次の状態(8)では、DMA転送要求が無
いので、RAM29の“000C”H番地からの4バイ
トの転送制御情報のうち、2バイトを、FIFO38に
読み込む。
【0080】次の状態(9)では、“0000”H番地
からの4バイトの転送制御情報に基づく4回目のDMA
転送を行う。次の状態(10)では、DMA転送要求が
無いので、RAM29の“000C”H番地からの4バ
イトの転送制御情報のうち、状態(8)で読み込めなか
った残りの2バイトを、FIFO38に読み込む。この
読み込み終了時点で、FIFOには後続2組の転送制御
情報8バイトが記憶されて、FIFO38には、空きの
領域がなくなる。
からの4バイトの転送制御情報に基づく4回目のDMA
転送を行う。次の状態(10)では、DMA転送要求が
無いので、RAM29の“000C”H番地からの4バ
イトの転送制御情報のうち、状態(8)で読み込めなか
った残りの2バイトを、FIFO38に読み込む。この
読み込み終了時点で、FIFOには後続2組の転送制御
情報8バイトが記憶されて、FIFO38には、空きの
領域がなくなる。
【0081】次の状態(11)では、“0000”H番
地からの4バイトの転送制御情報に基づく5回目のDM
A転送を行う。“0000”H番地からの転送制御情報
4バイトに基づくDMA転送は、状態(11)の5回目
で終了し、状態(12)では、転送終了後のステータス
をRAM29の“0000”H番地 に書き出してい
る。
地からの4バイトの転送制御情報に基づく5回目のDM
A転送を行う。“0000”H番地からの転送制御情報
4バイトに基づくDMA転送は、状態(11)の5回目
で終了し、状態(12)では、転送終了後のステータス
をRAM29の“0000”H番地 に書き出してい
る。
【0082】次の状態(13)では、状態(2)でフェ
ッチ回路37に取り込み保持してある後続の転送制御情
報4バイトを、制御レジスタ36に取り込む。RAM2
9から転送制御情報を制御レジスタ36に読み込むのに
比べて、フェッチ回路37から制御レジスタ36への転
送制御情報の取り込みは、極めて短時間で行える。
ッチ回路37に取り込み保持してある後続の転送制御情
報4バイトを、制御レジスタ36に取り込む。RAM2
9から転送制御情報を制御レジスタ36に読み込むのに
比べて、フェッチ回路37から制御レジスタ36への転
送制御情報の取り込みは、極めて短時間で行える。
【0083】次の状態(14)では、DMA転送要求が
生じるのを待っている。次の状態(15)では、生じた
DMA転送要求により、制御レジスタ36に保持されて
いる転送制御情報(“0004”H番地からの転送制御
情報4バイト)に基づいてDMA転送を行う。状態(1
5)では、1回のDMA転送でDMA転送が終了してい
る。次の状態(16)では、DMA転送終了後のステー
タスをRAM29の“0004”H番地 に書き出して
いる。
生じるのを待っている。次の状態(15)では、生じた
DMA転送要求により、制御レジスタ36に保持されて
いる転送制御情報(“0004”H番地からの転送制御
情報4バイト)に基づいてDMA転送を行う。状態(1
5)では、1回のDMA転送でDMA転送が終了してい
る。次の状態(16)では、DMA転送終了後のステー
タスをRAM29の“0004”H番地 に書き出して
いる。
【0084】次の状態(17)では、FIFO38に保
持してある後続の転送制御情報(“0008”H番地か
らの転送制御情報4バイト)をフェッチ回路37に取り
込み、その直後にフェッチ回路37の転送制御情報を制
御レジスタ36に取り込む。従って、次に制御レジスタ
36に読み込むべき、“0008”H番地からの転送制
御情報4バイトが、極めて短時間に制御レジスタ36に
読み込める。
持してある後続の転送制御情報(“0008”H番地か
らの転送制御情報4バイト)をフェッチ回路37に取り
込み、その直後にフェッチ回路37の転送制御情報を制
御レジスタ36に取り込む。従って、次に制御レジスタ
36に読み込むべき、“0008”H番地からの転送制
御情報4バイトが、極めて短時間に制御レジスタ36に
読み込める。
【0085】上記のように、第2実施例のDMA転送方
式では、DMA転送要求が無いときに、現在制御レジス
タ36に記憶されている転送制御情報の後続の転送制御
情報を、FIFO38に前もって読み込んでおき、その
後、FIFO38に読み込んだ転送制御情報をフェッチ
回路37に取り込む。
式では、DMA転送要求が無いときに、現在制御レジス
タ36に記憶されている転送制御情報の後続の転送制御
情報を、FIFO38に前もって読み込んでおき、その
後、FIFO38に読み込んだ転送制御情報をフェッチ
回路37に取り込む。
【0086】その後、現在の転送制御情報に基づくDM
A転送の終了後に、フェッチ回路37から制御レジスタ
36に、この前もって読み込んだ転送制御情報を極めて
短時間で取り込む。このため、転送制御情報を制御レジ
スタ36に読み込む時間を大幅に短縮することができ
る。従って、DMA転送の所要時間を短縮することがで
きる。
A転送の終了後に、フェッチ回路37から制御レジスタ
36に、この前もって読み込んだ転送制御情報を極めて
短時間で取り込む。このため、転送制御情報を制御レジ
スタ36に読み込む時間を大幅に短縮することができ
る。従って、DMA転送の所要時間を短縮することがで
きる。
【0087】なお、フェッチ回路37、FIFO38の
記憶容量は、第2実施例での記憶容量に限られず、より
大きな記憶容量とすることも可能である。
記憶容量は、第2実施例での記憶容量に限られず、より
大きな記憶容量とすることも可能である。
【0088】
【発明の効果】上述の如く、本発明によれば、DMA制
御手段は、制御用記憶手段に記憶されている現在の転送
制御情報の後続の転送制御情報を前もってプリフェッチ
手段に読み込み、現在の転送制御情報に基づくDMA転
送が終了したときに、前もって読み込んだ後続の転送制
御情報を制御用記憶手段に取り込むため、現在の転送制
御情報に基づくDMA転送が終了後の、後続の転送制御
情報の読み込み時間の短縮ができる等の特長を有する。
御手段は、制御用記憶手段に記憶されている現在の転送
制御情報の後続の転送制御情報を前もってプリフェッチ
手段に読み込み、現在の転送制御情報に基づくDMA転
送が終了したときに、前もって読み込んだ後続の転送制
御情報を制御用記憶手段に取り込むため、現在の転送制
御情報に基づくDMA転送が終了後の、後続の転送制御
情報の読み込み時間の短縮ができる等の特長を有する。
【図1】本発明の原理構成図である。
【図2】本発明の第1実施例の構成図である。
【図3】第1実施例のDMA制御装置の動作フローチャ
ートである。
ートである。
【図4】第1実施例のDMA制御装置のタイミングチャ
ートである。
ートである。
【図5】本発明の第2実施例の構成図である。
【図6】第2実施例のDMA制御装置の動作フローチャ
ートである。
ートである。
【図7】第2実施例のDMA制御装置のタイミングチャ
ートである。
ートである。
【図8】従来のDMA転送方式の構成図である。
【図9】従来のDMA制御装置の動作フローチャートで
ある。
ある。
【図10】従来のDMA制御装置のタイミングチャート
である。
である。
1 データバス 2 アドレスバス 3 コントロールバス 11 中央処理装置(CPU) 12 入出力装置 13 転送データ記憶手段 14 DMA制御手段 15 制御部 16 制御用記憶手段 17 プリフェッチ手段 18 転送制御情報記憶手段 24 DMA制御装置 25 DMA制御回路 26 制御レジスタ 27 フェッチ回路 28 RAM 29 RAM 34 DMA制御装置 35 DMA制御回路 36 制御レジスタ 37 フェッチ回路 38 FIFO
Claims (3)
- 【請求項1】 複数の転送制御情報を転送制御情報記憶
手段(18)の連続する番地に予め記憶しておき、DM
A制御手段(14)が制御用記憶手段(16)に上記転
送制御情報を個別に読み込み、DMA転送要求が発生し
たとき、上記制御用記憶手段(16)に読み込んだ転送
制御情報に基づいてDMA転送を行うDMA転送方式に
おいて、 DMA制御手段(14)は、上記制御用記憶手段(1
6)に記憶されている現在の転送制御情報の後続の転送
制御情報が転送制御情報記憶手段(18)から前もって
読み込まれるプリフェッチ手段(17)を有し、 現在の転送制御情報に基づくDMA転送が終了したとき
に、上記後続の転送制御情報を上記プリフェッチ手段
(17)から上記制御用記憶手段(16)に取り込む構
成としたことを特徴とするDMA転送方式。 - 【請求項2】 前記プリフェッチ手段(17)は、複数
の転送制御情報を記憶することを特長とする請求項1記
載のDMA転送方式。 - 【請求項3】 前記DMA制御手段(14)は、DMA
転送要求が発生しないときに、前記後続の転送制御情報
を転送制御情報記憶手段(18)から前もってプリフェ
ッチ手段(17)に読み込むことを特徴とする請求項1
記載のDMA転送方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24786292A JPH0696007A (ja) | 1992-09-17 | 1992-09-17 | Dma転送方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24786292A JPH0696007A (ja) | 1992-09-17 | 1992-09-17 | Dma転送方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0696007A true JPH0696007A (ja) | 1994-04-08 |
Family
ID=17169749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24786292A Withdrawn JPH0696007A (ja) | 1992-09-17 | 1992-09-17 | Dma転送方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0696007A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000031649A1 (en) * | 1998-11-19 | 2000-06-02 | Sun Microsystems, Inc. | Host controller interface descriptor fetching unit |
JP2007087086A (ja) * | 2005-09-21 | 2007-04-05 | Nec Electronics Corp | Dma転送システム |
JP2008171426A (ja) * | 2007-01-10 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | ディスクリプタ・プリフェッチを用いてダイレクト・メモリ・アクセス・ブロック移動を行なう方法、ダイレクト・メモリ・アクセス装置、及びデータ処理システム |
US7640374B2 (en) | 2005-01-14 | 2009-12-29 | Fujitsu Limited | Data transfer apparatus by direct memory access controller |
JP2010211322A (ja) * | 2009-03-06 | 2010-09-24 | Renesas Electronics Corp | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 |
JP2011204269A (ja) * | 2003-06-30 | 2011-10-13 | Intel Corp | リードアドレス可能バーチャルdmaコントロール及び状態レジスタ |
JP2012194828A (ja) * | 2011-03-17 | 2012-10-11 | Pfu Ltd | Dma装置、情報処理装置、及びデータ転送方法 |
US8589601B2 (en) | 2009-01-30 | 2013-11-19 | Fujitsu Limited | I/O controller and descriptor transfer method |
-
1992
- 1992-09-17 JP JP24786292A patent/JPH0696007A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000031649A1 (en) * | 1998-11-19 | 2000-06-02 | Sun Microsystems, Inc. | Host controller interface descriptor fetching unit |
JP2011204269A (ja) * | 2003-06-30 | 2011-10-13 | Intel Corp | リードアドレス可能バーチャルdmaコントロール及び状態レジスタ |
US7640374B2 (en) | 2005-01-14 | 2009-12-29 | Fujitsu Limited | Data transfer apparatus by direct memory access controller |
JP2007087086A (ja) * | 2005-09-21 | 2007-04-05 | Nec Electronics Corp | Dma転送システム |
JP2008171426A (ja) * | 2007-01-10 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | ディスクリプタ・プリフェッチを用いてダイレクト・メモリ・アクセス・ブロック移動を行なう方法、ダイレクト・メモリ・アクセス装置、及びデータ処理システム |
US8589601B2 (en) | 2009-01-30 | 2013-11-19 | Fujitsu Limited | I/O controller and descriptor transfer method |
JP2010211322A (ja) * | 2009-03-06 | 2010-09-24 | Renesas Electronics Corp | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 |
US8230137B2 (en) | 2009-03-06 | 2012-07-24 | Renesas Electronics Corporation | Network processor, reception controller and data reception processing method performing direct memory access transfer |
JP2012194828A (ja) * | 2011-03-17 | 2012-10-11 | Pfu Ltd | Dma装置、情報処理装置、及びデータ転送方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5644784A (en) | Linear list based DMA control structure | |
US20040107265A1 (en) | Shared memory data transfer apparatus | |
EP0542417A1 (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
US5155830A (en) | Data processing system capable of performing a direct memory access transfer of data stored in a physical area in a memory | |
US5287471A (en) | Data transfer controller using direct memory access method | |
US6728797B2 (en) | DMA controller | |
US6678755B1 (en) | Method and apparatus for appending memory commands during a direct memory access operation | |
US6687763B2 (en) | ATAPI command receiving method | |
JPH0696007A (ja) | Dma転送方式 | |
JPH11194995A (ja) | Dram内蔵マイクロプロセッサ及びdram内蔵マイクロプロセッサのデータ転送方法 | |
US6278467B1 (en) | Display memory control apparatus | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
EP0410382A2 (en) | Data transfer controller using direct memory access method | |
JPH01125644A (ja) | データ転送装置 | |
CN1357824A (zh) | 数据存取控制装置、方法及其所使用的指令格式 | |
JP2000215154A (ja) | Dmaコントロ―ラ | |
JPH0962633A (ja) | ネットワーク制御装置 | |
JP3204297B2 (ja) | Dma転送制御装置 | |
JPH0736806A (ja) | Dma方式 | |
JPH1091569A (ja) | Dma転送制御装置、及びキャプチャボード又はキャプチャカード、並びに情報処理装置 | |
JP2902709B2 (ja) | 画像処理装置 | |
JPH0683639A (ja) | レジスタ装置 | |
JPH03294951A (ja) | パーソナルコンピュータシステムにおける高速データ転送方式 | |
JPS63187349A (ja) | 記憶装置 | |
JPH03246654A (ja) | データ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991130 |