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

データ転送制御装置

Info

Publication number
JPH0520263A
JPH0520263A JP3172853A JP17285391A JPH0520263A JP H0520263 A JPH0520263 A JP H0520263A JP 3172853 A JP3172853 A JP 3172853A JP 17285391 A JP17285391 A JP 17285391A JP H0520263 A JPH0520263 A JP H0520263A
Authority
JP
Japan
Prior art keywords
dma transfer
dma
transfer
area
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
JP3172853A
Other languages
English (en)
Inventor
Hiroko Mihira
裕子 三平
Tsuyoshi Katayose
強 片寄
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 JP3172853A priority Critical patent/JPH0520263A/ja
Priority to US07/913,279 priority patent/US5325489A/en
Priority to KR1019920012560A priority patent/KR960007839B1/ko
Priority to EP92112019A priority patent/EP0524530B1/en
Priority to DE69230961T priority patent/DE69230961T2/de
Publication of JPH0520263A publication Critical patent/JPH0520263A/ja
Pending 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

Abstract

(57)【要約】 【目的】1つのDMA転送領域のDMA転送が完了した
ときに、次の領域のDMA転送を継続して実行するか、
DMA転送を停止するかを選択して行なう。上記動作に
加えて、実行中のDMA転送を緊急に停止したい場合に
は、転送中のDMA転送領域に対するDMA転送が終了
するまで待たずに直ちにDMA転送を停止することを可
能にする。 【構成】複数のメモリ領域に対して連続してDMA転送
を行なう場合に、DMA転送動作を許可状態にするED
MAビット202と、次領域に対するDMA転送を許可
状態にするNEDMAビット203とを備え、DMA転
送データ数をカウントするTC205がデクリメント動
作により所定の値となったとき、信号210によりNE
DMAビット203の内容をEDMAビット202に設
定する。このEDMAビット202の内容に基づき、次
のDMA転送要求が発生したときに、DMA転送を継続
するか、あるいは停止するかの制御を行なう。また、上
記EDMAビット202に値を直接設定することにより
DMA転送を緊急に停止することもできる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリと周辺装置との
データ転送をダイレクト・メモリ・アクセス(以下DM
Aと記す)方式で行うデータ転送制御装置に関する。
【0002】
【従来の技術】マイクロコンピュータを利用した情報処
理システムにおいて、周辺装置とメモリ間で大量のデー
タ転送を行ない、これらのデータを中央処理装置で処
理、加工してさらに別の周辺装置,記憶装置へ転送する
といった例は多くある。例えば、印字制御処理システム
において、中央処理装置が他のコンピュータからデータ
を受け取り、受け取ったデータを処理,加工し、印字装
置から転送要求が起こる毎に1文字分のデータずつ転送
するといった場合がその例である。このとき、周辺装置
(印字装置)から中央処理装置(以下CPUと記す)へ
割り込みを発生し、割り込みルーチンで上述のデータ転
送を行なうと、CPUのオーバヘッド(割り込み処理の
ための時間)が増大し、システムのデータ処理効率が低
下するため、データ転送を専門に制御するデータ転送制
御装置としてダイレクト・メモリ・アクセス・コントロ
ーラ(以下、DMACという)がある。
【0003】DMACによるデータ転送(以下、DMA
転送という)を行う場合、まず、データ転送を行うべき
メモリ・アドレス、DMA転送回数等の各種制御情報を
CPUの命令実行によりDMAC内にあらかじめ設定す
る。次に、周辺装置からのDMA転送要求をDMACが
検知すると、DMACはCPUへバス使用権の空け渡し
を要求する。この要求をCPUが検知すると、アドレス
バス,データバスを含むバスの使用権をDMAC側に受
け渡す。DMACは空いたバスを利用して、アドレス情
報,リード/ライト制御信号を発生し、メモリに格納さ
れているデータをDMA転送要求を発生した周辺装置へ
転送する処理を行なう。
【0004】このようなDMA転送動作を繰り返し行う
ことにより、転送回数分のデータ転送を完了すると、D
MACはCPUに対してDMA転送完了を通知する。C
PUはDMA完了を検出すると、割り込み処理および割
り込み処理プログラム・ルーチンを実行する。この割り
込み処理プログラム・ルーチンの中で、CPUは次のD
MA転送実行に備えてDMACの各種制御情報を再設定
し、再びDMA転送を開始する。
【0005】このようなDMA転送を実行する際に、D
MA転送の対象となるメモリ空間の領域が少ない場合、
上記メモリを複数の領域に分け、交互に連続してDMA
転送を実行するといった方法が一般的に行われている。
【0006】従来のDMACにおけるメモリから周辺装
置へのデータ転送について、図を用いて説明する。
【0007】図7は従来の情報処理システム750の主
要部を示すブロック図である。
【0008】情報処理システム750は、CPU706
とDMAC705と周辺装置704を含むマイクロコン
ピュータ700,メモリ703,周辺装置701とから
構成されている。
【0009】CPU706は、内部にプログラムカウン
タ(以下PCと記す)と、プログラムステータスワード
(以下PSWと記す)と、各種レジスタ等をもち、各種
命令の実行制御と、DMAC705とのアドレス・バ
ス,データ・バス,リード信号,ライト信号からなるバ
ス709の使用権に対する制御を含む情報処理システム
750全体の動作制御を行う。
【0010】DMAC705は、DMA転送対象アドレ
ス情報を記憶するメモリ・アドレス・レジスタMAR7
28と、転送データ数を記憶するターミナル・カウンタ
TC725と、次のDMA転送対象となる領域の先頭ア
ドレスを記憶するネクスト・メモリ・アドレス・レジス
タNMAR729と、次のDMA転送対象となる領域の
転送データ数を記憶するネクスト・ターミナルNTC7
26と、DMA転送制御を司るDMA実行制御部730
とから構成されている。DMA実行制御部730は、D
MA転送の許可/禁止を指定するDMA許可ビットED
MA732等からなるDMAコントロール・レジスタD
CR731を含んでいる。MAR728にDMA転送開
始アドレスを、TC725にDMA転送データ数を、N
MAR729に次のDMA転送を行なう領域の先頭アド
レスを、NTC726に次のDMA転送を行なう領域の
転送データ数を、CPU706によりDMA転送開始前
にあらかじめ設定しておく。DMAC705は、周辺装
置701からのDMA転送要求信号710の発生を検知
すると、バス使用権の空け渡し要求信号であるDMAサ
ービス要求信号(以下、DMASVF信号という)71
2とその許可信号であるDMAサービス許可信号(以
下、DMAEN信号という)713とによりCPU70
6からバス使用権を得て、メモリ703と周辺装置70
1との間でDMA転送を実行する。
【0011】メモリ703は、CPU706のプログラ
ム領域と、データ領域と、DMA転送領域A707とD
MA転送領域B708とを含み、CPU706とDMA
C705のいずれかの制御によりアドレス・バス,デー
タ・バス,リード信号,ライト信号を含むバス709を
介し情報処理システム750の各種データを記憶する。
【0012】CPU706はDMA転送開始前にまずD
MA転送領域A707にDMA転送データを書き込む。
CPU706がDMA転送領域A707内の最終データ
までデータを書き込んだ後、CPU706はDCR73
1内のDMA許可ビットEDMA732をセットしてD
MA転送領域A707に対するDMA転送を許可状態に
する。これにより、DMAC705はDMA転送領域A
707に書き込まれたデータを周辺装置701へ転送す
る。CPU706はDMA転送領域A707に対するD
MA転送の実行以外の間に、DMA転送領域B708に
対しDMA転送データを書き込む。DMA転送領域A7
07の最終データまでDMA転送が完了したとき、DM
AC705はDMA転送領域B708のDMA転送を直
ちに開始する。CPU706はDMA転送領域B708
に対するDMA転送の実行以外の間に、DMA転送領域
A707に対しDMA転送データを書き込む。このよう
にDMA転送領域A707,DMA転送領域B708は
交互にDMA転送対象、またはCPU706による書き
込み対象となる。
【0013】次にメモリ703と周辺装置702との間
のDMA転送の動作について説明する。
【0014】周辺装置701においてDMA転送を実行
する必要が生じると、周辺装置701はDMA転送要求
信号710を活性化し、DMAC705に供給する。D
MA転送要求信号710が活性化されたことにより、D
MAC705はDMASVF信号712を活性化し、C
PU706に対してバス709の使用権を要求する。
【0015】CPU706は、データ生成処理、および
生成されたデータをDMA転送領域707,708に格
納する処理を含む所定のプログラム処理を実行している
が、同時に、DMAC705からのDMASVF信号7
12の状態を常時モニタしている。上記信号712が活
性化したことを検知すると、PC,PSW,各種レジス
タ類の内容をプログラム実行時の値のまま保持し、DM
AEN信号713を活性化してDMAC705にバス使
用権を与えたことを伝える。
【0016】バス使用権を得たDMAC705は、アド
レス・バスにDMA転送領域A707のDMA転送対象
アドレス情報を出力し、同時にメモリ・リード信号(R
D)を活性化して転送データをメモリ703からバス上
に出力する。続いてDMAC705は、周辺装置701
に対しDMAライト信号(IOWR)711を活性化
し、DMA転送データを書き込む。
【0017】こうした1回のDMA転送が実行される毎
に、メモリ・アドレス・レジスタMAR728の内容が
アドレス更新部717により更新され、ターミナル・カ
ウンタTC725の内容がデクリメンタ724により
“1”デクリメントされる。周辺装置701から連続し
てDMA転送要求が発生していなければ、DMAC70
5は、DMAサービス要求信号712をイン・アクティ
ブにしてCPU06にバス使用権の放棄を伝える。CP
U706はバス使用権を取り戻すと、プログラムの実行
を再開する。DMAC705は、上記のDMA転送を繰
り返し実行し、転送回数分のデータ転送を終了する(T
C725の内容がデクリメントされ0となる)と、DM
AC705はTCゼロ検出信号720により、NMAR
729の内容をMAR728に、NTC726の内容を
TC725にそれぞれロードし、次回のDMA転送要求
に備える。また、DMA割り込み要求信号714を活性
化することにより、CPU706にDMA転送完了を伝
える。
【0018】この割り込み要求信号714が発生する
と、CPU706はPC,PSWをスタックに退避し、
割り込み処理プログラム・ルーチンを起動する。このプ
ログラム・ルーチン処理では、継続してDMA転送を実
行するか否かを判定し、継続する場合にはそのまま終了
し、継続しない場合にはEDMAビット732をリセッ
トして終了する。CPU706は割り込み処理プログラ
ムルーチンの終了後、PC,PSWをスタックから復帰
させる。
【0019】上記のように、1つのDMA転送領域のD
MA転送が終了したときに発生する割込み処理ルーチン
で、次のDMA転送を継続して行わない場合には、ED
MAビットをリセットしているが、このとき、EDMA
ビットをリセットするまでの間に次のDMA転送要求が
発生すると、次の領域に対するDMA転送が実行されて
しまう。
【0020】このため、次のような2方式が考えられて
いる。
【0021】第1の方式は、DMA転送終了割込みの中
で上記と同様TC726の値を変更し、NTC726に
値を書き続ける限りは次のDMA転送領域に対するDM
A転送を継続して実行するように制御し、NTC726
に値が書かれなくなったとき、次のDMA転送領域に対
するDMA転送を実行しないように制御する方式であ
る。
【0022】第2の方式は、DMA転送許可ビットに
“1”を設定してDMA転送を許可状態にし、最後のD
MA転送領域に対するDMA転送実行中に上記ビットを
“0”にし、最後のDMA転送領域に対するDMA転送
でTCが0となったときに初めて上記ビットが有効とな
って、DMA転送が停止する方式である。
【0023】上記二方式のいずれの場合にも、DMA転
送領域の最終データまでDMA転送を完了したときに確
実にDMA転送を停止させることができる。
【0024】
【発明が解決しようとする課題】上述したように、従来
のDMA転送制御装置を応用した情報処理システムにお
いて、DMA転送領域の最終データまでDMA転送を終
了したときにDMA転送を停止する方式として二方式あ
り、第一の方式としては、NTC726に値が書かれな
くなったとき、実行中のDMA転送領域の最終データに
対するDMA転送完了時にDMA転送を停止させる方
式、第二の方式としては、DMA転送許可ビットが
“0”に設定されたとき、実行中のDMA転送領域の最
終データに対するDMA転送完了時にDMA転送を停止
させる方式があった。
【0025】第一の方式としては、DMA転送データ数
がそれぞれのDMA転送領域で等しい場合にもDMA転
送領域に対するDMA転送が終了する度に、NTCの値
を設定し直さなければならない。また、第一の方式,第
二の方式ともに、DMA転送領域に対するDMA転送が
終了したときに、DMA転送を停止することはできる
が、例えば、データ処理生成上に発生したエラー等の要
因により、緊急にDMA転送を停止させたい場合にも、
実行中の領域のすべてのデータに対するDMA転送が終
了するまで停止させることがでないといった問題点があ
った。
【0026】
【課題を解決するための手段】本発明の第1のデータ転
送制御装置は、ダイレクトメモリアクセス(DMA)方
式でメモリと周辺装置との間でデータ転送を行うデータ
転送制御装置において、DMA転送データ数を記憶する
DMAデータ数記憶手段の値を、DMA転送の1実行毎
に更新する手段と、前記DMA転送データ数記憶手段の
値が更新された結果所定の値になった時に、前記DMA
転送データ数記憶手段を含む内部制御記憶手段に対して
所定データを設定する手段と、前記DMA転送データ数
記憶手段の値が更新された結果所定の値になった時に次
のDMA転送領域に対してDMA転送を実行するかある
いはDMA転送を停止するかという情報を格納する次領
域DMA転送動作格納手段と、実行中のDMA転送の実
行を動作させるか、あるいは停止させるかのどちらか一
方を選択して実行するDMA転送動作格納手段と、前記
DMA転送データ数記憶手段の値が更新された結果所定
の値になった時に、前記次領域DMA転送動作格納手段
に格納されている値を前記DMA転送動作格納手段に設
定する手段とを有することにより、次のDMA転送領域
に対するDMA転送を継続して実行するように指定した
場合には、更新された内部制御記憶手段に基づいたDM
A転送が継続して実行され、次のDMA転送領域に対す
るDMA転送を継続しないように指定した場合には、自
動的にDMA転送動作を停止し、かつ、上記動作に加え
て、緊急にDMA転送を停止させることも可能にしたデ
ータ転送制御装置である。
【0027】好ましくは、本発明のデータ転送制御装置
は、さらに、連続してDMA転送を繰り返すべきDMA
転送対象領域数を記憶するDMA転送領域数記憶手段
と、第1の請求範囲のDMA転送データ数記憶手段の値
が更新された結果所定の値になった時に、前記DMA転
送領域数記憶手段の値を更新するための領域数更新手段
と、前記DMA転送領域数記憶手段の値が更新された結
果所定の値になった時に第1の請求範囲の次領域DMA
転送動作格納手段に格納されている値を第1の請求範囲
のDMA転送動作格納手段に設定する手段とを有するこ
とにより、指定回数のDMA転送領域に対するDMA転
送が終了したときにCPUの介在なしに自動的にDMA
転送動作を停止し、かつ、上記動作に加えて、緊急にD
MA転送を停止させることも可能にしたデータ転送制御
装置である。
【0028】
【実施例】本発明のデータ転送制御装置の実施例につい
て図を用いて説明する。
【0029】図1は本発明のデータ転送制御装置である
DMAC105を内蔵するマイクロコンピュータ100
を用いた情報処理システム150の構成を示すブロック
図で、第2図はDMACの腰部構成を示すブロック図で
ある。マイクロコンピュータ100は中央処理装置CP
U106と、周辺装置104(例えばデータ受信制御回
路)と、周辺装置101とメモリ103との間のデータ
転送処理を実行制御するデータ処理回路としてのDMA
C105とを有している。
【0030】マイクロコンピュータ100は、周辺装置
104で受信したデータを加工処理してメモリ103内
のDMA転送領域A107、あるいはDMA転送領域B
108に書き込み、DMAC105を用いて周辺装置1
01(例えばプリンタ制御装置)に転送するといった情
報処理システム全体の制御を行なう。
【0031】周辺装置101は、データのリード/ライ
ト用バッファを備えており、DMAC105により上記
バッファに送られたデータを基に、印字処理,表示処理
等の周辺装置固有の処理を行う。
【0032】メモリ103は、CPU106のプログラ
ム領域とデータ領域,二分割したDMA転送領域である
DMA転送領域A107とDMA転送領域B108とを
含み、CPU106とDMAC105のいずれかの制御
によりバス109を介して情報処理システムの各種デー
タを記憶する。
【0033】マイクロコンピュータ100のCPU10
6は、内部にPC,PSW,各種制御レジスタ等を含
み、各種命令の実行制御と、DMAC105との間での
アドレス・バス,データ・バス,リード信号,ライト信
号を含むバス109の使用権に対する制御とを含む動作
制御を行う。
【0034】マイクロコンピュータ100のDMAC1
05は、図2に示すように、DMA転送領域A107、
またはDMA転送領域B108内のDMA転送対象アド
レス情報を記憶するメモリ・アドレス・レジスタMAR
208と、MAR208の内容を更新するアドレス更新
部207と、次のDMA転送対象となる領域の先頭アド
レスを記憶するネクスト・メモリ・アドレス・レジスタ
NMAR209と、DMA転送領域A107、またはD
MA転送領域B108にDMA転送する転送データ数を
記憶するターミナル・カウンタTC205と、TC20
5の値をデクリメントするデクリメンタ204と、次の
DMA転送対象となる領域の転送データ数を設定するネ
クスト・ターミナル・カウンタNTC206と、DMA
転送制御を司るDMA実行制御部200とから構成され
ている。
【0035】DMA実行制御部200は、DMA転送の
許可/禁止を指定するDMA許可ビットEDMA20
2,DMA転送単位(バイト/ワードなど)を指定する
ビット、DMA転送方向(I/O→MEM・MEM→I
/O)を指定するビット等から構成されるDMAコント
ロール・レジスタDCR201と、次のDMA転送領域
に対するDMA転送を許可するか禁止するかを示す次領
域DMA許可ビットNEDMA203とを含んでいる。
DMA許可ビットEDMA202は“1”が設定されて
いるときDMA転送が許可状態であることを示し、
“0”が設定されているときDMA転送が禁止状態であ
ることを示す。また、次領域DMA許可ビットNEDM
A203は“1”が設定されているとき次MPDMA転
送領域に対するDMA転送が許可状態であることを示
し、“0”が設定されているとき禁止状態であることを
示す。
【0036】MAR208に1回目のDMA転送領域の
先頭アドレスを、TC205に1回目のDMA転送領域
のDMA転送データ数を、NMAR209に2回目のD
MA転送領域の先頭アドレスを、NTC206に2回目
のDMA転送領域の転送データ数を、CPU106によ
りDMA転送開始前にあらかじめ設定しておく。
【0037】次に、メモリ103から周辺装置101へ
データを転送する際のCPU106側のソフトウェア処
理について説明する。
【0038】DMA転送領域103はDMA転送領域A
107,DMA転送領域B108の二つのDMA転送対
象領域が含まれており、ここではDMA転送領域A10
7からDMA転送を実行し、領域A107のDMA転送
終了後、引続きDMA転送領域Bに対するDMA転送を
実行し、その御再び領域A107に対するDMA転送を
実行する、というように順次上記二領域に対して交互に
DMA転送するものとする。CPU106はDMAC1
05内の各レジスタに対してDMA転送情報を初期設定
する。すなわち、DMA転送領域A107の先頭アドレ
スをMAR208に、DMA転送領域B108の先頭ア
ドレスをNMAR209に、DMA転送領域A107の
DMA転送データ数をTC205に、DMA転送領域B
108のDMA転送データ数をNTC206にそれぞれ
設定する。CPU106はDMA転送開始前にまずDM
A転送領域AにDMA転送データを書き込む。CPU1
06がDMA転送領域A107内の最終データまでデー
タを書き込んだ後、CPU106はDCR201内のD
MA許可ビットEDMA202をセットしてDMA転送
を許可状態にする。DMAC105はDMA転送領域A
107に書き込まれたデータを周辺装置101へ転送す
る。CPU106はDMA転送領域A107に対するD
MA転送の実行以外の間に、DMA転送領域B108に
対しDMA転送データを書き込む。DMA転送領域A1
07の最終データまでDMA転送が完了すると、DMA
C105はDMA転送領域B108のDMA転送を直ち
に開始する。CPU106はDMA転送領域B108に
対するDMA転送の実行以外の間に、DMA転送領域A
107に対しDMA転送データを書き込む。このように
DMA転送領域A107,DMA転送領域B108は交
互にDMA転送対象、またはCPU511による書き込
み対象となる。
【0039】次に、DMAC105によるメモリ103
から周辺装置101へのDMA転送動作について具体的
に説明する。
【0040】周辺装置101においてDMA転送を実行
する必要が生じると、周辺装置101はDMA実行制御
部200に対してDMA転送要求信号110を活性化す
る。
【0041】このとき、EDMAビット202が“1”
に設定されている場合には、DMA実行制御部105
は、DMASVF信号112を活性化し、CPU106
に対して供給する。EDMAビット202が“0”に設
定されている場合には、DMASVF信号112を活性
化しない。CPU106は、DMASVF信号112を
活性化されたことを検知すると、PC,PSW,各種レ
ジスタ類の内容をプログラム実行時の値のまま保持しD
MAEN信号113を活性化して、DMAC105にバ
ス使用権を与えたことを伝える。
【0042】バス109の使用権を得たDMAC105
は、MAR208の内容が示すDMA転送対象アドレス
情報をバス109に出力してDMA転送領域A107か
ら転送データをバス109上に読み出し、周辺装置10
1に対してDMAライト信号(IOWR)111を出力
する。これにより、周辺装置101は転送データの書き
込みを行なう。
【0043】上記DMA転送を1回実行するごとに、T
C205の内容はデクリメンタ204に読み出され
“1”デクリメントされた後書き戻される。また、DM
A転送を1回実行するごとにMAR208の内容はアド
レス更新部207に読み出されインクリメント,デクリ
メント等により次のDMA転送対象アドレスに更新され
た後、書き戻される。周辺装置101から連続してDM
A転送要求信号110が発生していなければ、DMAC
105は、DMASVF信号112をイン・アクティブ
にして、CPU106にバス使用権の放棄を伝えDMA
転送動作を終了する。CPU106はバス使用権を取り
戻すと、プログラムの実行を再開する。
【0044】次にDMA転送要求が発生すると、DMA
C105は更新されたMAR208が示すDMA転送対
象アドレスに対して引き続き上記と同様のDMA転送を
実行する。
【0045】以上のようなDMA転送を実行する度にT
C205がデクリメントされていき、TC205が0と
なったとき、すなわちDMA転送領域A107のすべて
のデータに対するDMA転送が終了したとき、TCゼロ
検出信号210が活性化される。この検出信号210が
活性化されると、NMAR209の内容がMAR208
に、NTC206の内容がTC205にそれぞれロード
される。また、上記検出信号210はDMA実行制御部
200にも供給される。DMA実行制御部200はこの
検出信号210の活性化により、NEDMAビット20
3の内容をEDMAビット202にセットするととも
に、CPU11に対してDMA割り込み要求信号INT
RQ114を活性化する。
【0046】ここで、NEDMAビット203には、次
のDMA転送領域に対するDMA転送を行なうか否かの
情報が設定されている。次にDMA転送領域に対するD
MA転送を行なう場合、NEDMA203には“1”が
設定されているので、上記動作によりNEDMA203
の内容がEDMAビット202に格納されると、EDM
Aビット202はセット(“1”)されたままとなるの
で、次のDMA転送要求が発生した場合DMASVF信
号112が活性化され、DMA転送領域B108から引
続きDMA転送が開始される(図4(A))。また、次
のDMA転送領域に対するDMA転送を行わない場合、
NEDMA203には“0”が設定されているので、E
DMAビット202はリセット(“0”)される。次の
DMA転送要求が発生するとDMA転送要求はマスクさ
れ、DMASVF112は活性化されないため、次のD
MA転送が実行せず停止する(図5(A))。
【0047】一方、CPU106は、DMA転送領域A
107に対するDMA転送が終了したことにより起動さ
れる割り込み処理プログラム・ルーチンで、第3図に示
すような処理を行なう。まず、現在DMA転送が行われ
ているDMA転送領域(領域B108)の最終データま
でDMA転送を完了後、次のDMA転送領域(領域A1
07)に対するDMA転送を引続き実行するか否かを判
断する。引続き実行しない場合、NEDMAビット20
3を“0”にリセットする。実行する場合、NEDMA
ビット203を“1”にセットしたままにしておき、D
MA転送領域A107のDMA転送開始アドレスをNM
AR209に、DMA転送領域A107の転送データ数
をNTC206にそれぞれ設定して、領域Bに対するD
MA転送が終了したとき引続き領域Aに対するDMA転
送を開始できるように準備しておく。
【0048】上述のようにして、DMA転送終了割り込
み処理ルーチンの中で、次のDMA転送対象領域に対す
るDMA転送許可ビットNEDMA203をセット、あ
るいはリセットすれば、現在実行中のDMA転送終了時
に次の領域のDMA転送を継続して実行するか、あるい
はDMA転送を停止することができる。
【0049】また、DMA転送データを生成処理時に発
生したエラー等の要因で、実行中のDMA転送を緊急に
停止する必要が生じた場合、EDMAビット202をC
PU106により直接リセットする。これにより、次に
DMA転送要求が発生しても、DMA転送要求はEDM
Aビット202によりマスクされ、DMASVF112
が活性化されず、DMA転送は停止する(図4
(B))。
【0050】第2の実施例について図6を用いて説明す
る。なお本実施例の構成は実施例1とほぼ同様の構成で
あるのでここでは実施例1と異なる部分についてのみ説
明する。
【0051】本実施例ではDMA実行制御部600内
に、EDMAビット202等からなるDMAコントロー
ル・レジスタDCR201と、NEDMAビット203
の他に、何領域のDMA転送対象領域に対して継続して
DMA転送を実行するかを示すエリア・カウンタ601
と、上記エリア・カウンタ601をデクリメントするデ
クリメンタ602とが含まれている。
【0052】CPU11はDMA転送に先だって、実施
例1と同様TC205,NTC206,MAR208,
NMAR209に対し初期設定を行なうとともに、上記
エリア・カウンタ601に継続してDMA転送を実行す
るDMA転送領域数を設定しておく。また、NEDMA
ビット203は“0”に設定しておく。その後、EDM
A202をセットしてDMA転送領域A107に対する
DMA転送をスタートする。
【0053】DMA転送要求信号110が活性化される
と実施例1と同様にDMA転送が実行される。TC20
5の値がデクリメントされた際0となったとき、すなわ
ち1つのDMA転送領域に対するDMA転送が終了した
とき、TCゼロ検出信号604が活性化され、エリア・
カウンタ601の内容がデクリメンタ602に読み出さ
れ、“1”デクリメントされた後書き戻される。TC2
05がデクリメントされ0となる度に、エリア・カウン
タ601の内容はデクリメントされる。エリア・カウン
タ601がデクリメントされた結果0となったとき、エ
リア・カウンタ・ゼロ検出信号603を活性化する。こ
の検出信号603によりDMA実行制御部600は、継
続してDMA転送すべき領域数分のすべてのDMA転送
を完了したことを検知し、NEDMAビット203をE
DMAビット202にロードする。このとき、NEDM
Aビット203には“0”が格納されているので、ED
MAビット202には“0”が格納される。このため、
次のDMA転送要求が発生してもEDMAビット202
によりますくされ、DMASVF112は活性化され
ず、DMA転送は直ちに停止する。
【0054】このように本実施例では、DMA転送領域
数をあらかじめエリア・カウンタに格納しておき、エリ
アカウンタで指定された数のDMA転送領域に対するす
べてのDMA転送が終了したときにDMA転送を禁止す
るので、DMA転送を実行する領域数をCPUにより管
理することなく、DMA転送を停止することができる。
例えば、印字するデータをCPUで生成しDMA転送に
よりプリンタに転送する場合、印字する1行分のデータ
を1つのDMA転送領域に対応させて連続してDMA転
送し、1ページ分のデータのDMA転送を完了したとき
にDMA転送を停止させることがある。この場合、エリ
ア・カウンタに1ページ分の行数をあらかじめ設定して
おけば、1ページ分のデータのDMA転送が終了したと
き、CPUが介在することなくDMA転送を停止するこ
とができる。
【0055】また、DMA転送データを生成処理時に発
生したエラー等の要因で、実行中のDMA転送を緊急に
停止する必要が生じた場合、EDMAビット202をC
PU106により直接リセットすれば、実施例1と同様
にして、リセットした直後からDMA転送を停止するこ
ともできる。
【0056】なお、実施例1,実施例2ではメモリ・ア
ドレス・レジスタを直接更新する方式を採ったが、メモ
リ・アドレス・レジスタとターミナル・カウンタとを加
算または減算する演算を行ってDMA転送対象アドレス
情報を生成する方式を採った場合にも、本発明と同様の
構成により実現できることは容易に類推できる。
【0057】
【発明の効果】以上説明したように、本発明のマイクロ
コンピュータにおけるデータ転送制御装置(DMAC)
によれば、1つのDMA転送領域に対し、転送回数分の
DMA転送が完了したときに、次のDMA転送の先頭ア
ドレス、および次のDMA転送領域の転送回数を自動的
に更新し、次のDMA転送領域に対するDMA転送を継
続して実行するように指定されている場合には、更新さ
れたアドレス、転送回数に伴ったDMA転送が継続して
実行され、また、次のDMA転送領域に対するDMA転
送を継続しないように指定されている場合には、自動的
にDMA転送動作を停止する。これにより、例えば印字
するデータをCPUで生成しDMA転送によりプリンタ
に転送する場合、印字する1行分のデータを1つのDM
A転送領域に対応させて連続してDMA転送し、最終行
のDMA転送を実行しているときに次転送領域に対する
DMA転送を継続しないように指定すれば、1ページ分
のデータのDMA転送を完了したときにDMA転送を停
止させることができる。
【0058】上記動作に加えて、例えば、データ処理時
に発生したエラー等の要因により、緊急にDMA転送を
停止させたい場合には、DMA転送許可ビットをリセッ
トすることにより、転送実行中のDMA転送領域に対す
るDMA転送が終了するまで待たずに直ちにDMA転送
を停止することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例におけるDMACを用い
た情報処理システム構成を示すブロック図である。
【図2】本発明の第一の実施例におけるDMACの要部
構成を示すブロック図である。
【図3】本発明の第一の実施例のDMA転送におけるC
PU処理フローである。
【図4】本発明の第一の実施例におけるDMA転送動作
のタイミング・チャートである。
【図5】本発明の第一の実施例におけるDMA転送動作
のタイミング・チャートである。
【図6】本発明の第二の実施例におけるDMACの要部
構成を示すブロック図である。
【図7】従来のDMACを用いて情報処理システムのブ
ロック図である。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ダイレクトメモリアクセス(DMA)方
    式でメモリと周辺装置との間でデータ転送を行うデータ
    転送制御装置において、DMA転送データ数を記憶する
    DMAデータ数記憶手段の値を、DMA転送の1実行毎
    に更新する手段と、前記DMA転送データ数記憶手段の
    値が更新された結果所定の値になった時に、前記DMA
    転送データ数記憶手段を含む内部制御記憶手段に対して
    所定データを設定する手段と、前記DMA転送データ数
    記憶手段の値が更新された結果所定の値になった時に次
    のDMA転送領域に対してDMA転送を実行するかある
    いはDMA転送を停止するかという情報を格納する次領
    域DMA転送動作格納手段と、実行中のDMA転送の実
    行を動作させるか、あるいは停止させるかのどちらか一
    方を選択して実行するDMA転送動作格納手段と、前記
    DMA転送データ数記憶手段の値が更新された結果所定
    の値になった時に、前記次領域DMA転送動作格納手段
    に格納されている値を前記DMA転送動作格納手段に設
    定する手段とを有することを特徴とするデータ転送制御
    装置。
  2. 【請求項2】 請求項1記載のデータ転送制御装置にお
    いて、さらに、連続してDMA転送を繰り返すべきDM
    A転送対象領域数を記憶するDMA転送領域数記憶手段
    と、第1の請求範囲のDMA転送データ数記憶手段の値
    が更新された結果所定の値になった時に、前記DMA転
    送領域数記憶手段の値を更新するための領域数更新手段
    と、前記DMA転送領域数記憶手段の値が更新された結
    果所定の値になった時に第1の請求範囲の次領域DMA
    転送動作格納手段に格納されている値を第1の請求範囲
    のDMA転送動作格納手段に設定する手段とを有するこ
    とを特徴とするデータ転送制御装置。
JP3172853A 1991-07-15 1991-07-15 データ転送制御装置 Pending JPH0520263A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP3172853A JPH0520263A (ja) 1991-07-15 1991-07-15 データ転送制御装置
US07/913,279 US5325489A (en) 1991-07-15 1992-07-14 Data transfer control device using direct memory access
KR1019920012560A KR960007839B1 (ko) 1991-07-15 1992-07-15 데이타 전송 제어 장치
EP92112019A EP0524530B1 (en) 1991-07-15 1992-07-15 DMA controller
DE69230961T DE69230961T2 (de) 1991-07-15 1992-07-15 DMA-Steuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3172853A JPH0520263A (ja) 1991-07-15 1991-07-15 データ転送制御装置

Publications (1)

Publication Number Publication Date
JPH0520263A true JPH0520263A (ja) 1993-01-29

Family

ID=15949515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3172853A Pending JPH0520263A (ja) 1991-07-15 1991-07-15 データ転送制御装置

Country Status (5)

Country Link
US (1) US5325489A (ja)
EP (1) EP0524530B1 (ja)
JP (1) JPH0520263A (ja)
KR (1) KR960007839B1 (ja)
DE (1) DE69230961T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108548A (ja) * 1991-10-15 1993-04-30 Nec Ic Microcomput Syst Ltd Dmaコントローラ
JP3471384B2 (ja) * 1993-03-19 2003-12-02 富士通株式会社 データ転送装置及びデータ転送処理方法
JPH0736806A (ja) * 1993-07-15 1995-02-07 Nec Corp Dma方式
AU703975B2 (en) * 1993-07-15 1999-04-01 Nec Corporation DMA operable in compliance with pointers, each including a discrimination bit
US5634076A (en) * 1994-10-04 1997-05-27 Analog Devices, Inc. DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
US5619728A (en) * 1994-10-20 1997-04-08 Dell Usa, L.P. Decoupled DMA transfer list storage technique for a peripheral resource controller
US5732279A (en) * 1994-11-10 1998-03-24 Brooktree Corporation System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
KR0135813B1 (ko) * 1994-12-19 1998-06-15 김광호 엠피이지으로 압축된 데이타 전송방법 및 그 방법을 수행하기 위한 장치
JPH08307617A (ja) * 1995-05-10 1996-11-22 Canon Inc 通信装置
US5954811A (en) * 1996-01-25 1999-09-21 Analog Devices, Inc. Digital signal processor architecture
US5896543A (en) * 1996-01-25 1999-04-20 Analog Devices, Inc. Digital signal processor architecture
US5754884A (en) * 1996-05-20 1998-05-19 Advanced Micro Devices Method for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
US6055583A (en) * 1997-03-27 2000-04-25 Mitsubishi Semiconductor America, Inc. DMA controller with semaphore communication protocol
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6002882A (en) * 1997-11-03 1999-12-14 Analog Devices, Inc. Bidirectional communication port for digital signal processor
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6061779A (en) * 1998-01-16 2000-05-09 Analog Devices, Inc. Digital signal processor having data alignment buffer for performing unaligned data accesses
US6412027B1 (en) * 1998-02-11 2002-06-25 Globespanvirata, Inc. Direct memory access controller having on-board arbitration circuitry
US6092124A (en) * 1998-04-17 2000-07-18 Nvidia Corporation Method and apparatus for accelerating the rendering of images
JP2001350713A (ja) * 2000-06-07 2001-12-21 Hitachi Ltd 転送制御装置
US6654818B1 (en) * 2000-06-22 2003-11-25 International Business Machines Corporation DMA access authorization for 64-bit I/O adapters on PCI bus
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7047328B1 (en) * 2001-07-13 2006-05-16 Legerity, Inc. Method and apparatus for accessing memories having a time-variant response over a PCI bus by using two-stage DMA transfers
US6922740B2 (en) * 2003-05-21 2005-07-26 Intel Corporation Apparatus and method of memory access control for bus masters
US7383363B2 (en) * 2004-11-20 2008-06-03 Marvell International Technology Ltd. Method and apparatus for interval DMA transfer access
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20070240011A1 (en) * 2006-04-05 2007-10-11 Texas Instruments Incorporated FIFO memory data pipelining system and method for increasing I²C bus speed
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
JP5790043B2 (ja) * 2011-03-14 2015-10-07 株式会社リコー データ転送システム及びデータ転送方法
US11321249B2 (en) * 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430705A (en) * 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
US4703418A (en) * 1985-06-28 1987-10-27 Hewlett-Packard Company Method and apparatus for performing variable length data read transactions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
US8732382B2 (en) 2008-08-06 2014-05-20 Qualcomm Incorporated Haltable and restartable DMA engine

Also Published As

Publication number Publication date
US5325489A (en) 1994-06-28
KR960007839B1 (ko) 1996-06-12
EP0524530A1 (en) 1993-01-27
DE69230961D1 (de) 2000-05-31
EP0524530B1 (en) 2000-04-26
KR930002956A (ko) 1993-02-23
DE69230961T2 (de) 2001-01-18

Similar Documents

Publication Publication Date Title
JPH0520263A (ja) データ転送制御装置
JP3055917B2 (ja) データ転送制御装置
EP0464615B1 (en) Microcomputer equipped with DMA controller
JP2978539B2 (ja) データ転送制御装置
JP3676882B2 (ja) マイクロプロセッサ及びその周辺装置
US5968159A (en) Interrupt system with fast response time
US5928348A (en) Method of processing interrupt requests and information processing apparatus using the method
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2819705B2 (ja) データ転送制御装置
JP3265582B2 (ja) マイクロコンピュータ
JP2560968B2 (ja) コンピュータシステム
JP2765267B2 (ja) ダイレクトメモリアクセス転送制御装置
JP2679440B2 (ja) 情報処理装置
JP3481357B2 (ja) Dmaデータ転送制御方式
JPH02166548A (ja) 共通バス制御方式
JPH02219157A (ja) コンピュータシステム内のバスアービタ
JPS6336543B2 (ja)
JP2004021713A (ja) 半導体記憶装置
JPH0236971B2 (ja)
JP2001005775A (ja) バスシステム
JPH034349A (ja) Dma転送方式
JPS6143369A (ja) マルチプロセツサシステム
JPH05334239A (ja) バスシステム
JPH05113947A (ja) Dma制御方式
JPH02224048A (ja) 情報処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030930