JP3055917B2 - データ転送制御装置 - Google Patents

データ転送制御装置

Info

Publication number
JP3055917B2
JP3055917B2 JP2131820A JP13182090A JP3055917B2 JP 3055917 B2 JP3055917 B2 JP 3055917B2 JP 2131820 A JP2131820 A JP 2131820A JP 13182090 A JP13182090 A JP 13182090A JP 3055917 B2 JP3055917 B2 JP 3055917B2
Authority
JP
Japan
Prior art keywords
transfer
dma transfer
dma
data
area
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.)
Expired - Lifetime
Application number
JP2131820A
Other languages
English (en)
Other versions
JPH0425957A (ja
Inventor
裕子 三平
強 片寄
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 JP2131820A priority Critical patent/JP3055917B2/ja
Priority to DE69127771T priority patent/DE69127771T2/de
Priority to EP91304648A priority patent/EP0458625B1/en
Publication of JPH0425957A publication Critical patent/JPH0425957A/ja
Priority to US08/003,851 priority patent/US5561816A/en
Application granted granted Critical
Publication of JP3055917B2 publication Critical patent/JP3055917B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、メモリと周辺装置とのデータ転送をダイレ
クト・メモリ・アクセス(以下DMAと記す)方式で行う
データ転送制御装置に関する。
〔従来の技術〕
マイクロコンピュータを利用した情報処理システムに
おいて、周辺装置とメモリ間で大量のデータ転送を行な
い、これらのデータを中央処理装置で処理,加工してさ
らに別の周辺装置,記憶装置へ転送するといった例は多
くある。例えば、印字制御処理システムにおいて、中央
処理装置がホスト・コンピュータからデータを受け取
り、受け取ったデータを処理,加工す、印字装置から転
送要求が起こる毎に1文字分のデータずつ転送するとい
った場合がその例である。このとき、周辺装置(例えば
印字装置)から中央処理装置(以下CPUと記す)へ割り
込みを発生し、割り込みルーチンで上述のデータ転送を
行なうと、CPUのオーバヘッド(割り込み処理のための
時間)が増大し、システムのデータ処理効率が低下する
ため、データ転送を専門に制御するデータ転送制御装置
としてダイレクト・メモリ・アクセス・コントローラ
(以下、DMACという)がある。
DMACによるデータ転送(以下、DMA転送という)を行
う場合、まず、データ転送を行うべきメモリ・アドレ
ス、DMA転送回数等の各種制御情報をCPUの命令実行によ
りDMAC内にあらかじめ設定する。次に、周辺装置(例え
ば印字装置,表示装置)からのDMA転送要求をDMACが検
知すると、DMACはCPUへバス使用権の空け渡しを要求す
る。この要求をCPUが検知すると、アドレスバス,デー
タバスを含むバスの使用権をDMAC側に受け渡す。DMACは
空いたバスを利用して、アドレス情報,リード/ライト
制御信号を発生し、メモリに格納されているデータをDM
A転送要求を発生した周辺装置(以下、I/Oという)へ転
送する処理を行なう。
このようなDMA転送動作を繰り返し行うことにより、
転送回数分(例えば1印字データ数分)のデータ転送を
完了すると、DMACはCPUに対してDMA転送完了を通知す
る。CPUはDMA完了を検出すると、割り込み処理および割
り込み処理プログラム・ルーチンを実行する。この割り
込み処理プログラム・ルーチンの中で、CPUは次のDMA転
送実行に備えてDMACの各種制御情報を再設定し、再びDM
A転送を開始する。
従来のDMACにおけるメモリから周辺装置へのデータ転
送について、図を用いて説明する。
第6図は従来の情報処理システム500の主要部を示す
ブロック図である。
情報処理システム500は、CPU511とDMAC512とを含むマ
イクロコンピュータ501,メモリ503,周辺装置502とから
構成されている。
CPU511は、内部にプログラムカウンタ(以下PCと記
す)と、プログラムステータスワード(以下PSWと記
す)と、各種レジスタ等をもち、各種命令の実行制御
と、DMAC512とのアドレス・バス,データ・バス,リー
ド信号,ライト信号からなるバス505の使用権に対する
制御を含む情報処理システム500全体の動作制御を行
う。
DMAC512は、DMA転送対象アドレス情報を記憶するメモ
リ・アドレス・レジスタMAR513と、転送データ数を記憶
するターミナル・カウンタTC514と、転送データ数の初
期値を記憶するターミナル・カウンタ・モジュロ・レジ
スタTCM515とを少なくとも1組備えており、MAR513にDM
A転送開始アドレスを、TC514およびTCM515に1回のDMA
転送要求に対する転送データ数を、CPU511によりDMA転
送開始前にあらかじめ設定しておく。DMAC512は、周辺
装置502からのDMA転送要求信号520の発生を検知する
と、バス使用権の空け渡し要求信号であるバス・ホール
ド要求信号(以下、HLDRQという)522とその許可信号で
あるホールド・アクノリッジ信号(以下、HLDAKとい
う)523とによりCPU511からバス使用権を得て、メモリ5
03と周辺装置502との間でDMA転送を実行する。
メモリ503は、CPU511のプログラム領域と、データ領
域と、DMA転送元領域A530とDMA転送元領域B531とを含
み、CPU511とDMAC512のいずれかの制御によりアドレス
・バス,データ・バス,リード信号,ライト信号を含む
バス505を介し情報処理システム500の各種データを記憶
する。CPU511はDMA転送開始前にまずDMA転送元領域A530
にDMA転送データを書き込む。CPU511がDMA転送元領域A5
30内の最終データまでデータを書き込んだ後、CPU511は
DMA転送元領域A530に対するDMA転送を許可状態にし、DM
AC512はDMA転送元領域A530に書き込まれたデータを周辺
装置502へバースト転送(一括転送)する。CPU511はDMA
転送元領域A530に対するDMA転送の実行以外の間に、DMA
転送元領域B531に対しDMA転送データを書き込む。DMA転
送元領域A530の最終データまでDMA転送が完了した後、C
PU511によりDMA転送元領域B531の最終データまで書き込
まれている場合にDMAC512はDMA転送元領域B531のDMA転
送を実行する。このようにDMA転送元領域A530,DMA転送
元領域B531は交互にDMA転送対象、またはCPU511による
書き込み対象となる。
次にメモリ503と周辺装置502との間のDMA転送の動作
について説明する。
周辺装置502においてTC514に設定した回数分のDMA転
送データを受け取る必要が生じると、周辺装置502はDMA
転送要求信号520を活性化し、DMAC512に供給する。DMA
転送要求信号520が活性化されたことにより、DMAC512は
HLDRQ信号522を活性化し、CPU511に対してバス505の使
用権を要求する。
CPU511は、データ生成処理、および生成されたデータ
をDMA転送元領域A530に格納する処理を含む所定のプロ
グラム処理を実行しているが、同時に、DMAC512からのH
LDRQ信号522の状態を常時モニタしている。上記信号522
が活性化したことを検知すると、PC,PSW,各種レジスタ
類の内容をプログラム実行時の値のまま保持しHLDAK信
号523を活性化してDMAC512にバス使用権を与えたことを
伝える。
バス使用権を得たDMAC512は、アドレス・バスにDMA転
送元領域A530のDMA転送対象アドレス情報を出力し、同
時にメモリ・リード信号を活性化して転送データをメモ
リからバス505上に出力する。続いてDMAC512は、周辺装
置502に対しライト信号(DMAアクノリッジ信号)521を
活性化し、DMA転送データを書き込む。
こうした1回のDMA転送が実行される毎に、メモリ・
アドレス・レジスタMAR513の内容が更新され、DMAC512
内の転送データ数を記憶したターミナル・カウンタTC51
4の内容が“1"デリクメントされる。DMAC512は、上記の
DMA転送を繰り返し実行し、転送回数分のデータ転送を
終了する(TC514の内容がデクリメントされ0となる)
と、DMAC512はHLDRQ信号522をイン・アクティブにし
て、CPU511にバス使用権の放棄を伝える。CPU511はバス
使用権を取り戻すと、プログラムの実行を再開する。ま
た、DMAC512はTCM515の値をTC514にプリセットすること
によりTC514を初期化し次回のDMA転送要求に備えるとと
もに、DMA割り込み要求信号524を活性化することによ
り、CPU504にDMA転送完了を伝える。
この割り込み要求信号524が発生すると、CPU504はPC,
PSWをスタックに退避し、割り込み処理プログラム・ル
ーチンを起動する。このプログラム・ルーチンの中で
は、例えば、第8図のフローに示すように、DMA転送領
域外のメモリに格納されているデータに対してDMA転送
してしまうことがないように、割り込みが発生した回数
(TCが0になった回数)をカウントし、割り込みが発生
した回数が所定の値となったときDMA転送元領域の最終
データまで転送が行われたと判断し、転送許可ビットを
リセットするなどの処理によりDMA転送を禁止状態にす
る。また、DMA転送元領域B531のDMA転送開始アドレスを
MAR513に設定し、DMA転送元領域B531の最終データまでC
PU511による転送データの書き込みが終了している場合
にはDMA転送を許可する処理を行なう。CPU504は割り込
み処理プログラムルーチンの実行後、PC,PSWをスタック
から復帰させる。
〔発明が解決しようとする課題〕
上述した従来のDMA転送制御装置を応用した情報処理
システムにおいては、第9図に示すように転送回数分の
DMA転送が完了すると、CPUはPC,PSWをスタックに退避,
復帰する割り込み処理と、DMA転送領域の最終データま
でDMA転送が終了したかをチェックし終了したときにDMA
転送を禁止する等の割り込みプログラム処理を実行する
(第9図の)。この割り込み処理および割り込みプロ
グラム処理を実行している間、DMACは周辺装置から発生
するDMA転送要求を保留しなければならない(第9図
)。このため、DMA転送要求が発生してから、実際にD
MA転送が実行されるまでのDMA応答保留時間が長くかか
るという問題があった。また、CPUがDMA転送に関する処
理に携わる時間が多くかかり、CPU本来の処理が高速に
できなくなるといった問題点があった。特に印字制御処
理システムにおいては、1回のDMA転送要求に対する転
送回数が1印字データに対応するバイト数(1文字が24
×24ドット構成である場合には通常3バイト)とする使
い方が考えられるため、DMA割り込み処理が非常に頻繁
に発生することになる。
さらに、DMA転送領域の最終データまでDMA転送が完了
した後、CPUは割り込み処理の中でDMA転送を禁止状態に
する処理を行なうので、この期間(第9図の)に次の
DMA転送要求が発生した場合、DMACはDMA転送領域外のデ
ータに対してDMA転送を行ってしまうといった問題があ
った。
〔課題を解決するための手段〕
本発明の第1のデータ転送制御装置は、メモリと周辺
装置との間で、DMA転送要求に応答してn個の所定サイ
ズのデータによって定義されるエリアのデータを、前記
所定サイズのデータをn回DMA転送することによってデ
ータ転送するデータ転送制御装置において、DMA転送要
求に対してn回の連続するDMA転送を実行する手段と、
前記DMA転送が実行される毎に第1の転送回数記憶手段
の値を初期値から更新する第1の転送回数更新手段と、
前記第1の転送回数記憶手段が更新された結果前記DMA
転送を前記n回実行したことを検出した場合には、前記
エリアのデータを転送し終わったとして前記第1の転送
回数記憶手段に前記初期値を設定すると共にDMA転送要
求信号が続けて発生している場合には前記エリアに続く
エリアに対するDMA転送を実行させる手段と、連続して
データ転送される複数のエリアにおける総DMA転送回数
を記憶する第2の転送回数記憶手段と、各DMA転送が実
行される毎に前記第2の転送回数記憶手段の値を更新す
る第2の更新手段と、前記第2の転送回数記憶手段の値
が更新された結果前記総DMA転送回数DMA転送が実行され
たことを検出したときに、DMA転送を停止させる手段と
を備えることを特徴とする。
本発明の第2のデータ転送制御装置は、メモリと周辺
装置との間で、DMA転送要求に応答してn個の所定サイ
ズのデータによって定義されるエリアのデータを、前記
所定サイズのデータをn回DMA転送することによってデ
ータ転送するデータ転送制御装置において、DMA転送要
求に対してn回の連続するDMA転送を実行する手段と、
前記DMA転送が実行される毎に第1の転送回数記憶手段
の値を初期値から更新する第1の転送回数更新手段と、
前記第1の転送回数記憶手段の値が更新された結果前記
DMA転送を前記n回実行したことを検出した場合には、
前記エリアのデータを転送し終わったとして前記第1の
転送回数記憶手段に前記初期値を設定すると共にDMA転
送要求信号が続けて発生している場合には前記エリアに
続くエリアに対するDMA転送を実行させる手段と、連続
してデータ転送される複数のエリアの数を記憶する第2
の転送回数記憶手段と、エリア単位のDMA転送が終了す
る毎に前記第2の転送回数記憶手段の値を更新する第2
の更新手段と、前記第2の転送回数記憶手段の値が更新
された結果前記エリア単位のDMA転送が前記エリアの数
行われたことを検出したときに、DMA転送を停止させる
手段とを備えることを特徴とする。
〔実施例〕
本発明のデータ転送制御装置の実施例について図を用
いて説明する。
第1図は本発明のデータ転送制御装置であるDMAC12を
内蔵するマイクロコンピュータ1を用いた情報処理シス
テムの構成を示すブロック図で、第2図はDMAC12の要部
構成を示すブロック図である。マイクロコンピュータ1
は中央処理装置CPU11と周辺装置10(例えばデータ受信
制御回路)と、周辺装置2とメモリ3との間のデータ転
送処理を制御するデータ処理回路としてのDMAC12とを有
している。
マイクロコンピュータ1は、周辺装置10で受信したデ
ータを生成処理してメモリ3内のDMA転送元領域A30、あ
るいはDMA転送元領域B31に書き込み、DMAC12を用いて周
辺装置2(例えばプリンタ制御装置)に転送するといっ
た情報処理システム全体の制御を行なう。
周辺装置2は、データのリード/ライト用バッファを
備えており、DMAC12により上記バッファに送られたデー
タを基に、印字処理,表示処理等の周辺装置固有の処理
を行う。
メモリ3は、CPU11のプログラム領域とデータ領域、
二分割したDMA転送領域であるDMA転送元領域A30とDMA転
送元領域B31とを含み、CPU11とDMAC12のいずれかの制御
によりバス5を介して情報処理システムの各種データを
記憶する。
マイクロコンピュータ1のCPU11は、内部にPC,PSW、
各種制御レジスタ等を含み、各種命令の実行制御と、DM
AC12との間でのアドレス・バス,データ・バス,リード
信号,ライト信号を含むバス5の使用権に対する制御と
を含む動作制御を行う。
マイクロコンピュータ1のDMAC12は、第2図に示すよ
うに、DMA転送元領域A30、またはDMA転送元領域B31内の
DMA転送対象アドレス情報を記憶するメモリ・アドレス
・レジスタMAR141と、MAR141の内容を更新するポインタ
更新部140と、周辺装置2から発生する1回のDMA転送要
求に対して連続してDMA転送を実行する回数(初期値)
を設定するダウン・カウンタ・モジュロ・レジスタDCM1
32と、周辺装置2から発生する1回のDMA転送要求によ
りDMA転送を実行するデータのうちまだDMA転送が実行さ
れていないデータ数を記憶するダウン・カウンタDC131
と、DC131の内容をデクリメントするデクリメンタ130
と、DMA転送元領域A30、またはDMA転送元領域B31内でま
だDMA転送が実行されていないデータ数を記憶するター
ミナル・カウンタTC121と、TC121の内容をデクリメント
するデクリメンタ120と、CPUとの間のバス5の使用権に
対する制御、DMA転送動作時の転送タイミング制御、内
部各レジスタの更新制御を含むDMAC全体の制御を行う実
行制御部100とから構成される。
次に、メモリ3から周辺装置2へデータを転送する際
のCPU11側のソフトウェア処理について第3図,第5図
を用いて説明する。
第3図のように、DMA転送元領域A30,DMA転送元領域B3
1は、周辺装置2からの1回のDMA転送要求に対して連続
して転送するデータ数を単位としてそれぞれエリア分割
されている。すなわち、DMA転送元領域A30において、第
1回目のDMA転送要求に対し連続してDMA転送される領域
をエリア1、第2回目のDMA転送要求に対し連続してDMA
転送される領域をエリア2、…、第n回目のDMA転送要
求に対し連続してDMA転送される領域をエリアnとし、D
MA転送元領域B31において、第1回目のDMA転送要求に対
し連続してDMA転送される領域をエリア1、第2回目のD
MA転送要求に対し連続したDMA転送される領域をエリア
2,…,第m回目のDMA転送要求に対し連続してDMA転送さ
れる領域をエリアmとする。CPU11はDMA転送開始前に、
周辺装置10から受信したデータを基に生成処理し、処理
したデータをまずDMA転送元領域A30に書き込む。CPU11
はDMA転送元領域A30内の最終データ(エリアnの)ま
でデータを書き込んだ後、MAR141にDMA転送元領域A30の
DMA転送開始アドレスを、DC131,DCM132に周辺装置2か
ら発生する1回のDMA転送要求に対して連続して転送す
るデータ数(第3図では“3")を、TC121にDMA転送元領
域A30のデータ数(第3図ではDC131に設定したデータ数
のn倍である“3n")を初期設定する。その後、CPU11が
転送許可ビットをセットする等によってDMA転送を許可
状態にすることにより、DMAC12はDMA転送元領域A30に書
き込まれたデータをDC131に設定したデータ数分周辺装
置2へバースト転送(一括転送)するDMA転送を開始す
る。
CPU11はDMA転送を許可状態にした後、DMA転送元領域B
31に対し処理したデータを書き込む処理を行う。
次に、DMAC12によるDMA転送元領域A30から周辺装置2
へのDMA転送動作について具体的に説明する。
周辺装置2においてDC131に設定した回数分のDMA転送
データを受け取る必要が生じると、周辺装置2はDMA実
行制御部100に対しDMA転送要求信号20を活性化する。DM
A実行制御部100はDMA転送要求信号20が活性化される
と、HLDRQ22,HLDAK23によりCPU11からバス使用権を得
る。
データをDMA転送元領域A30から周辺装置2にデータ転
送するDMA転送では、DMAC12は、MAR141の内容が示すDMA
転送対象アドレス情報(第3図のエリア1内ののアド
レス)をバス5に出力してDMA転送元領域A30から転送デ
ータをバス5上に読み出し、周辺装置2に対してアクノ
リッジ信号21を出力する。これにより、周辺装置2は転
送データの書き込みを行なう。
上記DMA転送を1回実行するごとに、DC131の内容はデ
クリメンタ130に読み出され“1"デクリメントされた後
書き戻される。また、TC121の内容はデクリメンタ120に
読み出され“1"デクリメントされた後書き戻される。ま
た、DMA転送を1回実行するごとにMAR141の内容はポイ
ンタ更新部140に読み出され次のDMA転送対象アドレス
(第3図エリア1内ののアドレス)に更新された後、
書き戻される。上記の1回のDMA転送終了後、DMAC12は
更新されたMAR141が示すDMA転送対象アドレスに対して
引き続き上記と同様のDMA転送を実行する。同様にしてD
MAC12はエリア1内の、エリア1内のに格納されて
いるデータを引き続きDMA転送していき、エリア1に
格納されているデータをDMA転送すると、すなわちデク
リメンタ130でDC131をデクリメントした結果DC=0とな
ると、DCゼロ検出信号151が活性化されることによりDCM
132の値がDC131にプリセットされる。このとき、周辺装
置2からDMA転送要求信号20が続けて発生しているとき
には、再び上記のDMA転送をエリア2に対してエリア1
の同様に繰り返し実行する。周辺装置2から連続してDM
A転送要求信号20が発生していなければDMA実行制御部10
0はHLDRQ22信号をイン・アクティブにして、CPU11にバ
ス使用権の放棄を伝えDMA転送動作を終了する。
以上のようにDMA転送要求信号20が活性化される度にD
C131に初期設定された回数ずつDMA転送を繰り返し実行
していき、TC121が0となったとき、すなわちエリアn
の最終データまでDMA転送が実行されたとき、TCゼロ検
出信号150が活性化される。この検出信号により、DMA実
行制御部100はDMA転送元領域A30のすべてのデータに対
するDMA転送が終了したことを検知し、CPU11に対してDM
A割り込み要求信号24を活性化するとともに、DMA転送を
禁止状態にする。
CPU11は、DMA割り込み要求信号24の活性化により起動
される割り込み処理プログラム・ルーチンで、DMA転送
元領域B31のDMA転送開始アドレスをMAR141に設定し、CP
U11によりDMA転送元領域B31の最終データまでDMA転送デ
ータが書き込まれている場合にDMA転送を許可状態にす
る。これにより、DMA転送元領域A30と同様のDMA転送をD
MA転送元領域B31のエリア1から開始する。
上記の処理を繰り返し実行することにより、1回のDM
A転送要求に対しDC131に設定したデータ数ずつDMA転送
を行いながらDMA転送元領域A30とDMA転送元領域B31のど
ちらか一方のすべてのデータのDMA転送が完了したとき
に、他方の領域データのDMA転送を開始するといったDMA
転送動作を実行する。
第2の実施例について第4図を用いて説明する。な
お、実施例2の構成は実施例1とほぼ同様の構成である
のでここでは実施例1と異なる部分についてのみ説明す
る。
実施例2ではターミナル・カウンタTC121の代わりに
エリア・カウンタAC171が設けられている。エリア・カ
ウンタAC171は、周辺装置2からの1回のDMA転送要求に
対して連続して転送するデータ数を単位としてDMA転送
元領域を分割したエリアに対し、まだDMA転送されてい
ないエリア数を記憶するカウンタである。
CPU11はDMA転送に先だって、上記AC171を初期設定
し、DMA転送元領域A30に対するDMA転送をスタートす
る。DMA転送要求信号20が活性化されると実施例1と同
様にDMA転送が実行される。DC131の値がデクリメントさ
れた際0となったとき、すなわち1エリアに対するDMA
転送が終了したとき、DCゼロ検出信号161が活性化さ
れ、AC171の内容がデクリメンタ170に読み出され、“1"
デクリメントされた後書き戻される。DC131がデクリメ
ントされ0となる度に、AC171の内容はデクリメントさ
れる。AC171がデクリメントされた結果0となったと
き、ACゼロ検出信号160を活性化する。この検出信号に
よりDMA実行制御部100は、DMA転送元領域A30のDMA転送
が完了したことを検知し、DMA実行制御部100はCPU11に
対してDMA割り込み要求信号24を活性化するとともに、D
MA転送を禁止状態にする。
このように実施例2では、まだDMA転送されていない
エリア数をAC171に設定するため、DMA転送元領域のサイ
ズが増大したとしてもAC171のビット数をDMA転送元領域
のサイズに対応するビット数まで増加する必要がなく最
小限の回路構成をとることができる。
また、実施例1,実施例2ではメモリ・アドレス・レジ
スタを直接更新する方式を採ったが、メモリ・アドレス
・レジスタとターミナル・カウンタとを加算または減算
する演算を行ったDMA転送対象アドレス情報を生成する
方式を採った場合にも、本発明と同様の構成により実現
できることは容易に類推できる。
〔発明の効果〕
以上説明したように、本発明のマイクロコンピュータ
におけるデータ転送制御装置(DMAC)では、1回のDMA
転送要求に対する転送回数分のDMA転送が完了したとき
に次のDMA転送のための転送回数を自動的に設定しなが
ら、続いて次のDMA転送要求に対するDMA転送を繰り返し
実行し、DMA転送領域の最終データまでのDMA転送が完了
したときにDMA転送動作を禁止状態にする。このため、
1回のDMA転送要求に対する転送回数分のDMA転送が完了
する毎に割り込み処理を起動し、割り込み処理プログラ
ム・ルーチンの中でCPUが上記DMA禁止処理を行なう必要
がなくなる。例えば、DMA転送対象領域をnエリアに分
割してDMA転送を行なう場合、従来ではn回の割り込み
処理を起動する必要があったが、実施例では1回の割り
込み処理を起動するのみとなる。従って、CPUの処理効
率が向上するばかりでなく、上記CPU処理の間保留され
ていたDMA転送要求を保留する必要がなくなり、高速に
周辺装置のDMA転送要求に応答することができる(第5
図)。
また、DMA転送領域の最終データまでDMA転送が完了し
た直後にDMA転送が自動的に禁止状態となるため、DMA転
送領域の最終データまでDMA転送が完了してから割り込
み処理プログラム・ルーチンの中でDMA転送を禁止状態
にするまでの間に次のDMA転送要求が発生した場合に
も、DMA転送領域外のデータに対するDMA転送の実行を防
ぐことができる。
【図面の簡単な説明】
第1図は本発明の第一の実施例におけるDMACを用いた情
報処理システム構成を示すブロック図、第2図は本発明
の実施例におけるDMACの要部構成を示すブロック図、第
3図は本発明の第一の実施例におけるDMA転送領域のメ
モリ・マップ、第4図は本発明の第二の実施例における
DMACの要部構成を示すブロック図、第5図は本発明の実
施例におけるCPUおよびDMA転送の処理シーケンス図、第
6図は従来のDMACを用いた情報処理システムのブロック
図、第7図は従来のDMA転送領域のメモリのマップ、第
8図は従来のDMA転送におけるCPU処理フロー、第9図は
従来のCPUおよびDMAC転送の処理シーケンス図である。 1……マイクロコンピュータ、2……周辺装置、3……
メモリ、5……バス、10……周辺装置、11……CPU、12
……DMAC、13……DMAC、20……DMA転送要求信号、21…
…アクノリッジ信号、22……HLDRQ、23……HLDAK、24…
…DMAC割り込み要求信号、30……DMA転送元領域A、31
……DMA転送元領域B、100……DMA実行制御部、120……
デクリメンタ、121……TC、130……デクリメンタ、131
……DC、132……DCM、140……ポインタ更新部、141……
MAR、150……TCゼロ検出信号、151……DCゼロ検出信
号、160……ACゼロ検出信号、161……DCゼロ検出信号、
170……デクリメンタ、171……AC、500……情報処理シ
ステム、501……マイクロコンピュータ、502……周辺装
置、503……メモリ、505……バス、511……CPU、512…
…DMAC、513……MAR、514……TC、515……TCM、520……
DMA転送要求信号、521……アクノリッジ信号、522……H
LDRQ、523……HLDAK、524……DMA割り込み要求信号、53
0……DMA転送領域A、531……DMA転送元領域B。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−192844(JP,A) 特開 昭59−136833(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリと周辺装置との間で、DMA転送要求
    に応答してn個の所定サイズのデータによって定義され
    るエリアのデータを、前記所定サイズのデータをn回DM
    A転送することによってデータ転送するデータ転送制御
    装置において、DMA転送要求に対してn回の連続するDMA
    転送を実行する手段と、前記DMA転送が実行される毎に
    第1の転送回数記憶手段の値を初期値から更新する第1
    の転送回数更新手段と、前記第1の転送回数記憶手段が
    更新された結果前記DMA転送を前記n回実行したことを
    検出した場合には、前記エリアのデータを転送し終わっ
    たとして前記第1の転送回数記憶手段に前記初期値を設
    定すると共にDMA転送要求信号が続けて発生している場
    合には前記エリアに続くエリアに対するDMA転送を実行
    させる手段と、連続してデータ転送される複数のエリア
    における総DMA転送回数を記憶する第2の転送回数記憶
    手段と、各DMA転送が実行される毎に前記第2の転送回
    数記憶手段の値を更新する第2の更新手段と、前記第2
    の転送回数記憶手段の値が更新された結果前記総DMA転
    送回数DMA転送が実行されたことを検出したときに、DMA
    転送を停止させる手段とを備えることを特徴とするデー
    タ転送制御装置。
  2. 【請求項2】メモリと周辺装置との間で、DMA転送要求
    に応答してn個の所定サイズのデータによって定義され
    るエリアのデータを、前記所定サイズのデータをn回DM
    A転送することによってデータ転送するデータ転送制御
    装置において、DMA転送要求に対してn回の連続するDMA
    転送を実行する手段と、前記DMA転送が実行される毎に
    第1の転送回数記憶手段の値を初期値から更新する第1
    の転送回数更新手段と、前記第1の転送回数記憶手段の
    値が更新された結果前記DMA転送を前記n回実行したこ
    とを検出した場合には、前記エリアのデータを転送し終
    わったとして前記第1の転送回数記憶手段に前記初期値
    を設定すると共にDMA転送要求信号が続けて発生してい
    る場合には前記エリアに続くエリアに対するDMA転送を
    実行させる手段と、連続してデータ転送される複数のエ
    リアの数を記憶する第2の転送回数記憶手段と、エリア
    単位のDMA転送が終了する毎に前記第2の転送回数記憶
    手段の値を更新する第2の更新手段と、前記第2の転送
    回数記憶手段の値が更新された結果前記エリア単位のDM
    A転送が前記エリアの数行われたことを検出したとき
    に、DMA転送を停止させる手段とを備えることを特徴と
    するデータ転送制御装置。
JP2131820A 1990-05-22 1990-05-22 データ転送制御装置 Expired - Lifetime JP3055917B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2131820A JP3055917B2 (ja) 1990-05-22 1990-05-22 データ転送制御装置
DE69127771T DE69127771T2 (de) 1990-05-22 1991-05-22 Datenübertragungssteuerungsvorrichtung
EP91304648A EP0458625B1 (en) 1990-05-22 1991-05-22 Data transfer controlling device
US08/003,851 US5561816A (en) 1990-05-22 1993-01-11 Data transfer controlling device for use in a direct memory access (DMA) system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2131820A JP3055917B2 (ja) 1990-05-22 1990-05-22 データ転送制御装置

Publications (2)

Publication Number Publication Date
JPH0425957A JPH0425957A (ja) 1992-01-29
JP3055917B2 true JP3055917B2 (ja) 2000-06-26

Family

ID=15066866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2131820A Expired - Lifetime JP3055917B2 (ja) 1990-05-22 1990-05-22 データ転送制御装置

Country Status (4)

Country Link
US (1) US5561816A (ja)
EP (1) EP0458625B1 (ja)
JP (1) JP3055917B2 (ja)
DE (1) DE69127771T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110886A (ja) * 1994-10-07 1996-04-30 Ricoh Co Ltd Dmaコントローラ及びファクシミリ装置
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
JP2658958B2 (ja) * 1995-03-31 1997-09-30 日本電気株式会社 Dmaコントローラ
JPH08307617A (ja) * 1995-05-10 1996-11-22 Canon Inc 通信装置
US5859990A (en) * 1995-12-29 1999-01-12 Intel Corporation System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
US5933654A (en) * 1996-09-24 1999-08-03 Allen-Bradley Company, Llc Dynamic buffer fracturing by a DMA controller
JPH11110339A (ja) * 1997-10-02 1999-04-23 Toshiba Corp Dmaコントローラ
US6697885B1 (en) * 1999-05-22 2004-02-24 Anthony E. B. Goodfellow Automated DMA engine for ATA control
JP3614714B2 (ja) 1999-06-16 2005-01-26 Necマイクロシステム株式会社 Dma制御装置
US6629164B1 (en) * 1999-11-10 2003-09-30 Digi International Inc. Character counter and match registers in a serial interface
US6643717B1 (en) 1999-11-10 2003-11-04 Digi International Inc. Flow control
JP2001350713A (ja) * 2000-06-07 2001-12-21 Hitachi Ltd 転送制御装置
US6820191B2 (en) * 2000-12-05 2004-11-16 Faraday Technology Corp. Apparatus and method for executing an instruction with a register bit mask for transferring data between a plurality of registers and memory inside a processor
JP3785373B2 (ja) * 2002-03-01 2006-06-14 シャープ株式会社 通信制御回路
US20060155893A1 (en) * 2004-12-09 2006-07-13 International Business Machines Corporation Methods and apparatus for sharing memory bandwidth
US7610415B2 (en) * 2005-07-28 2009-10-27 Digi International System and method for processing data streams
JP4802266B2 (ja) * 2009-09-04 2011-10-26 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システム及びコンピュータ・システムにおけるデータ転送方法
JP5790043B2 (ja) * 2011-03-14 2015-10-07 株式会社リコー データ転送システム及びデータ転送方法
CN114880259B (zh) * 2022-07-12 2022-09-16 北京象帝先计算技术有限公司 数据处理方法、装置、系统、电子设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2445557B1 (fr) * 1978-12-29 1985-09-27 Cii Honeywell Bull Dispositif de transfert de donnees
JPS5911135B2 (ja) * 1979-01-17 1984-03-13 株式会社日立製作所 デ−タ処理システムのデ−タ転送方式
JPS58154054A (ja) * 1982-03-10 1983-09-13 Hitachi Ltd 外部記憶装置制御用回路
JPS59136833A (ja) * 1983-01-27 1984-08-06 Mitsubishi Electric Corp デ−タ転送制御装置
JPS6057457A (ja) * 1983-09-07 1985-04-03 Ricoh Co Ltd Dma装置
JPS60235269A (ja) * 1984-05-08 1985-11-21 Toshiba Corp デ−タ転送制御装置
DE3584690D1 (de) * 1984-06-20 1992-01-02 Convex Computer Corp Ein-/ausgabebus fuer rechner.
JPS62192844A (ja) * 1986-02-20 1987-08-24 Fujitsu Ltd Dma制御回路
JP2624989B2 (ja) * 1988-02-19 1997-06-25 株式会社日立製作所 データ転送制御装置
EP0388574B1 (en) * 1989-03-23 1994-06-15 International Business Machines Corporation Method and apparatus for distributed queue multiple access in a communication system
JP2978539B2 (ja) * 1989-07-24 1999-11-15 日本電気株式会社 データ転送制御装置
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
US5347634A (en) * 1990-03-15 1994-09-13 Hewlett-Packard Company System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers
US5214645A (en) * 1990-06-06 1993-05-25 At&T Bell Laboratories TDM system and method having time slot request signaling
JP3110041B2 (ja) * 1990-11-30 2000-11-20 株式会社東芝 画像情報処理装置

Also Published As

Publication number Publication date
JPH0425957A (ja) 1992-01-29
DE69127771T2 (de) 1998-01-15
DE69127771D1 (de) 1997-11-06
EP0458625B1 (en) 1997-10-01
EP0458625A1 (en) 1991-11-27
US5561816A (en) 1996-10-01

Similar Documents

Publication Publication Date Title
JP3055917B2 (ja) データ転送制御装置
KR960007839B1 (ko) 데이타 전송 제어 장치
EP0464615B1 (en) Microcomputer equipped with DMA controller
EP0212393A2 (en) System for managing a plurality of shared interrupt handlers in a linked-list data structures
JP2978539B2 (ja) データ転送制御装置
JPS60235269A (ja) デ−タ転送制御装置
JPS623362A (ja) デ−タ受信方式
JP2007310735A (ja) ダイレクトメモリアクセスコントローラ
JP2819705B2 (ja) データ転送制御装置
JP2765267B2 (ja) ダイレクトメモリアクセス転送制御装置
JP3265582B2 (ja) マイクロコンピュータ
JPS5839343B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JP2599184B2 (ja) Dmacのリード転送制御装置
JP2972557B2 (ja) データ転送制御装置および制御方法
JP2679440B2 (ja) 情報処理装置
JPH06250965A (ja) 入出力制御装置
JP2594673B2 (ja) データ処理方法
JPH034349A (ja) Dma転送方式
JPH05134980A (ja) バスシステム
JPH07319799A (ja) マイクロ・プロセッサー装置
JPS59189433A (ja) ダイレクトメモリアクセスによるデ−タ消去方式
JPH06332727A (ja) 割込要求方法
JP2000090045A (ja) データ転送システム、ダイレクトメモリアクセス制御装置及び方法、並びに記録媒体
JPH03109662A (ja) メモリ制御装置
JPS63114435A (ja) バス・ア−ビタ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11