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

データ転送制御装置

Info

Publication number
JPH03188547A
JPH03188547A JP32881389A JP32881389A JPH03188547A JP H03188547 A JPH03188547 A JP H03188547A JP 32881389 A JP32881389 A JP 32881389A JP 32881389 A JP32881389 A JP 32881389A JP H03188547 A JPH03188547 A JP H03188547A
Authority
JP
Japan
Prior art keywords
data
transfer
address
dma
dma transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP32881389A
Other languages
English (en)
Other versions
JP2819705B2 (ja
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 JP32881389A priority Critical patent/JP2819705B2/ja
Publication of JPH03188547A publication Critical patent/JPH03188547A/ja
Application granted granted Critical
Publication of JP2819705B2 publication Critical patent/JP2819705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、メモリと周辺装置とのデータ転送をダイレク
ト・メモリ・アクセス(以下DMAと記す)方式で行う
データ転送制御装置に関する。
〔従来の技術〕
マイク田コンピュータを利用した情報処理システムにお
いて、周辺装置とメモリ間で大量のデータ転送を行ない
、これらのデータを中央処理装置で処理、加工してさら
に別の周辺装置、記憶装置へ転送するといった例は多く
ある。周辺装置から中央処理装置(以下CPUと記す)
へ割り込みを発生し、割り込みルーチンで上述のデータ
転送を行なうと、CPUのオーバヘッド(割り込み処理
のための時間)が増大し、システムのデータ処理効率が
低下するため、データ転送を専門に制御するデータ転送
制御装置としてダイレクト・メモリ・アクセス・コント
ローラ(以下、DMACという)がある。
DMACによるデータ転送(以下、DMA転送という)
を行う場合、まず、データ転送を行うべきメモリ・アド
レス、DMA転送回数等の各種制御情報をCPUの命令
によりDMAC内にあらかじめ設定する。次に、DMA
転送では周辺回路(例えば印字制御回路、表示制御回路
)からのDMA転送要求をDMACが検知すると、’D
MACはCPUヘバス使用権の空は渡しを要求する。こ
の要求をCPUが検知すると、CPUは現在実行中のプ
ログラム処理を中断し、アドレスバス、データバスを含
むバスの使用権をDMAC側に受は渡す。DMACは空
いたバスを利用して、アドレス情報、リード/ライト制
御信号を発生し、メモリに格納されているデータをDM
A転送要求を発生した周辺回路(以下、Iloという)
へ転送する処理を転送する処理を行なう。
このようなりMA転送動作を繰り返し行うことにより、
転送回数分のデータ転送を完了すると、CPUに対して
DMA転送完了を通知する。CPUはDMA完了を検出
すると、割り込み処理および割り込み処理プログラム・
ルーチンを実行する。
この割り込み処理プログラム・ルーチンの中で、CPU
は次のDMA転送実行に備えてDMACの各種制御情報
を再設定し、再びDMA転送を開始する。
従来のDMACにおけるメモリから周辺回路(Ilo)
へのDMA転送動作について、図を用いて説明する。
第7図は従来の情報処理システム500の主要部を示す
ブロック図である。
情報処理システム500は、CPU511とDMAC5
12とを含むマイクロコンピュータ501、メモリ50
3、周辺装置502とから構成されている。
CPU511は、内部にプログラムカウンタ(以下PC
と記す)と、プログラムステータスワード(以下PSW
と記す)と、各種レジスタ等をもち、各種命令の実行制
御と、DMAC512とのアドレス・バス、データ・バ
ス、リード信号、ライト信号からなるバス505の使用
権に対する制御を含む情報処理システム500全体の動
作制御を行う。
DMAC512は、DMA転送元アドレス情報を記憶す
るメモリ・アドレス・レジスタMAR513と、転送デ
ータ数を記憶するターミナル・カウンタTC514とを
少なくとも1組備えており、MAR513とTC514
にはDMA転送の処理開始にそれぞれ転送元アドレス情
報、転送データ数がCPU511の命令によりあらかじ
め設定されている。DMAC512は、周辺装置502
からのDMA転送要求信号520の発生を検知すると、
バス使用権の空は渡し要求信号であるバス・ホールド要
求信号(以下、HLDRQという)522とその許可信
号であるホールド・アクノリッジ信号(以下、HLDA
Kという)523とによりCPU511からバス使用権
を得て、メモリ503と周辺装置502との間でDMA
転送を実行する。
メモリ503はCPU511のプログラム領域と、デー
タ領域と、DMA転送元領域とを含み、CPU511.
aDMAC512のいずれかの制御によりアドレス・バ
ス、データ・バス、リード信号、ライト信号を含むバス
505を介し情報処理システム500の各種データを記
憶する。CPU511は書き込みアドレスを更新しなが
らこのメモリ503の領域内にDMA転送データを書き
込む、このときCPU511は、更新した書き込みアド
レスDMA転送元領域を越えたときに領域の先頭位置に
戻す制御も同時に行なう。書き込まれたデータはDMA
Cにより周辺装置502へ転送される。
CPU511及びDMAC512ともバス使用権を放棄
した側のバス505への出力はハイ・インピーダンスと
なり、他方のバス使用権を得た側によりバス505にア
ドレスとデータが適時出力される。
次にメモリ503と周辺装置502との間のDMA転送
の動作について説明する。
周辺装置502においてDMA転送要求が発生すると、
周辺装置502はDMA転送要求信号520を活性化し
、DMAC512に供給する。
DMA転送要求信号520が活性化されたことにより、
DMAC512はHLDRQ信号522を活性化し、C
PU511に対してバス505の使用権を要求する。
CPU511は、データ生成処理、および生成されたデ
ータをメモリ503に格納する処理を含む所定のプログ
ラム処理を実行しているが、同時に、DMAC512か
らのHLDRQ信号522の発生を常時モニタしている
。上記信号522が発生したことを検知すると、実行中
のプログラム処理を中断し、pc、psw、各種レジス
タ類の内容をプログラム実行時の値のまま保持しHLD
AK信号523を活性化してDMAC512にバス使用
権を与えたことを伝える。
バス使用権を得たDMAC512は、アドレス・バスに
メモリ503内のDMA転送元アドレス情報を出力し、
同時にメモリ・リード信号を活性化して転送データをバ
ス505上に出力する。続いてDMAC512は、周辺
装置502に対しライト信号(DMAアクノリッジ信号
)521を活性化し、DMA転送データを書き込む。
こうした1回のDMA転送が実行される毎に、メモリ・
アドレス・レジスタMAR513の内容が更新され、D
MAC内の転送データ数を記憶したターミナル・カウン
タTC514の内容が“1″デクリメントされる。
ここで、1回のDMA転送実行後、周辺装置502から
のDMA転送要求信号520が引続き活性化されている
ことをDMAC512が検知した場合には、上記のDM
A転送を繰り返し実行する。また、DMA転送要求信号
520が活性化されていない場合は、DMAC512は
HLDRQ信号522をイン・アクティブにして、CP
U511にバス使用権の放棄を伝える。CPU511は
バス使用権を取り戻すと、pc、psw、及び各種レジ
スタ類がすべてプログラム処理中断前の値を保持してい
るため、中断したプログラム処理を即時に再開する。
こうして連続的、あるいは断続的にDMA転送が実行さ
れた結果、転送回数分のデータ転送を終了する(TC5
14が0となる)と、DMAC512はDMA割り込み
要求信号524を活性化することにより、CPU504
にDMA転送完了を伝える。
この割り込み要求信号524が発生すると、CPU 5
04はPC,PSWをスタックに退避し、割り込み処理
プログラム・ルーチンを起動する。
このプログラム・ルーチンの中でCPU504は次のD
MA転送に備えるためにMAR513゜TC514の値
を再初期設定する処理を行い、その後、pc、pswを
スタックから復帰させる。
この処理により、同一のDMA転送領域に対しDMA転
送を繰り返し実行することができる。
上述のDMA転送において、CPU504によるDMA
転送データ書き込み速度よりDMA転送速度が速いと、
同一のDMA転送領域に対しDMA転送を繰り返し実行
しているうちにDMA転送対象アドレスがCPU504
の書き込みアドレスに追いついてしまい、CPU504
がデータをメモリに書き込む前にDMA転送を行ってし
まうことがあった。
これに対してさらに効率よくデータ転送を行なう方法と
して、第8図に示すように、DMA転送領域を領域Aと
領域Bの2つ以上に分割し、2つの領域に対して交互に
DMA転送を行う手法がある。まずCPUはDMA転送
処理に先だって領域AのDMA転送回数、転送アドレス
を初期設定する処理を行なう。その後CPUは、領域A
に対しデータ書き込みを行い、領域Aのすべてのデータ
の書き込みを終了したとき、領域AのDMA転送を許可
し、同時に領域Bに対するデータ書き込みを開始する。
領域Aに対する指定回数分のDMA転送が終了すると、
DMA転送は停止し、DMACはDMA終了割り込みを
CPUに対して発生する。
CPUはこの割り込み処理で領域BのDMA転送回数、
転送アドレスを設定する処理を行なう。続いて、領域B
のデータ書き込みを開始しすべてのデータの書き込みを
終了したとき、領域BのDMA転送を許可する。領域B
に対する指定回数分のDMA転送終了時にも、DMAC
はCPUに対しDMA終了割り込みを発生し、CPUは
この割り込み処理で領域AのDMA転送回数、転送アド
レスを設定する処理を行なう。以下、上記処理を繰り返
し実行する。
このように、CPUによるデータ書き込みが終了した領
域に対しDMA転送を許可することによって、DMA転
送速度がCPUによる書き込み速度より速い場合にも、
CPUによる書き込みが行われていない領域に対してD
MA転送を実行することがないようにしている。
ここでは、DMA転送領域を2領域に分割したが、最初
にCPUが領域Aにデータを書き込み始めてから領域A
に対するDMA転送が始まるまでの時間を短縮する必要
のある場合には、DMA転送領域をさらに小さく分割し
、DMA転送を開始する前にCPUが書き込むデータ数
を少なくすることによって対処している。
〔発明が解決しようとする課題〕
上述した従来のDMA転送制御装置を応用した情報処理
システムにおいては、転送回数分のDMA転送が完了す
ると、CPUはPC,PSWをスタックに退避、復帰す
る割り込み処理と、次のDMA転送のための制御情報の
設定を行なう割り込みプログラム処理を実行する。この
割り込み処理および割り込みプログラム処理を実行して
いる間、DMACは周辺装置から発生するDMA転送要
求を保留しなければならない。このため、DMA転送要
求が発生してから、実際にDMA転送が実行されるまで
のDMA応答保留時間が長くなるという問題があった。
また、DMA転送領域をサイズの小さい2領域に分割し
交互にDMA転送を実行するようにした場合、上述のD
MA完了時の割り込みがより多く発生するため、DMA
の応答保留時間がさらに長くなっていた。
さらに、CPUがDMA転送データをメモリに書き込む
毎に、CPUの書き込みアドレスとDMA転送領域の最
終アドレスとを比較し、書き込みアドレスが最終アドレ
スを越えたとき、書き込みアドレスを転送領域の先頭ア
ドレスに戻す処理を行わなければならず、CPUの処理
が繁雑となり負担となっていた。
このように、CPUがDMA転送に関する処理に携わる
時間が多くかかり、CPU本来の処理が高速にできなく
なるといった問題点があった。
〔課題を解決するための手段〕
本発明のデータ転送制御装置は、ダイレクトメモリアク
セス(DMA)方式でメモリと周辺装置とのデータ転送
を行うデータ転送制御装置において、DMA転送回数を
記憶するための転送回数記憶手段と、DMA転送の実行
毎に前記転送回数記憶手段の値を更新するための転送回
数更新手段と、DMA転送の対象であるDMA転送領域
の限界アドレスを記憶するための限界アドレス記憶手段
と、DMA転送の実行毎に前記転送回数記憶手段の値と
前記限界アドレス記憶手段の値とからDMA転送アドレ
スを生成するためのDMA転送アドレス生成手段と、外
部の装置のライトアクセスにより出力されるアドレスが
所定のアドレスであることを検出するためのライト検出
手段と、該アドレスと同時に出力されるデータを格納す
るためのデータ格納手段と、前記ライト検出手段により
前記DMA転送領域に対し前記データ格納手段に格納さ
れたデータを書き込む際のアドレスを格納するための書
き込みアドレス格納手段と、該データを書き込む毎に前
記書き込みアドレス格納手段の値を更新するたの書き込
みアドレス更新手段と、前記転送回数更新手段における
更新動作時に増加し、前記アドレス更新手段における更
新動作時に減少する計数手段と、前記計数手段の値が所
定の値となったことを検出するための計数値検出手段、
とを有することにより、DMA転送領域を理論的にリン
グ構造しているバッファとして扱うことができるように
したデータ転送制御装置である。
〔実施例〕
本発明のデータ転送制御装置の実施例について図を用い
て説明する。
第1図は本発明のデータ転送制御装置であるDMAC1
2を内蔵するマイクロコンピュータlを用いた情報処理
システムの構成を示すブロック図で、第2図はDMAC
12の要部構成を示すブロック図である。マイクロコン
ピュータlは中央処理装置CPU1lと、周辺装置10
(例えばデータ受信制御回路)と、周辺装置2とメモリ
3との間のデータ転送処理を実行制御するデータ処理回
路としてのダイレクト・メモリ・アクセス・コントロー
ラDMAC12とを有している。
マイクロコンピュータ1は、周辺装置IOで受信した外
部装置からのデータをプログラム処理してメモリ3内の
DMA転送元領域30に書き込み、DMAC12を用い
て周辺装置2(例えばプリンタ制御装置)に転送すると
いった情報処理システム全体の制御を行なう。
周辺装置2は、データのリード/ライト用バッファを備
えており、DMAC12により上記バッファに送られた
データを基に、印字処理2表示処理等の周辺装置固有の
処理を行う。
メモリ3は、CPUIIのプログラム領域とデータ領域
、およびDMA転送元領域30を含み、CPUIIとD
MAC12のいずれかの制御によりバス5を介して情報
処理システムの各種データを一時記憶する。
マイクロコンピュータ1のCPUIIは、内部にプログ
ラムカウンタ、プログラムステータスワード、各種制御
レジスタ等を含み、各種命令の実行制御と、DMAC1
2との間でのアドレス・バス、データ・バス、リード信
号、ライト信号を含むバス5の使用権の授受制御とを含
む動作制御を行う。
マイクロコンピュータlのDMAC12は、第2図に示
すように、 DMA転送元領域の最終アドレス+1の値を記憶するメ
モリ・アドレス・レジスタMAR131,!−1DMA
転送の実行回数(初期値)を設定するターミナル・カウ
ンタ・モジュロ・レジスタTCM122と、 DMA転送のカレントの実行回数を記憶するターミナル
・カウンタTC121と、 MAR131からTC121を減算、あるいはMAR1
31からTCMI 22を減算してアドレスを生成する
アドレス生成回路ADM132と、CPUIIが次に書
き込むべきメモリ領域の先頭アドレスを指定するリード
・ライト・ポインタRWP 133と、 1回のDMA転送を実行する毎にカウントアツプし、C
PUIIがDMA転送元領域にデータを書き込む毎にカ
ウントダウンすることにより、DMA転送領域内の空き
領域のデータ数を示すアップ・ダウン・カウンタ(以下
、U/Dカウンタという)134と、 U/Dカウンタ134の値との比較値を格納し、比較の
結果等しくなると一致信号25を出力するコンベア・レ
ジスタCOMP 135と、RWP 133の内容を更
新するポインタ更新部130と、 TC121の内容をデクリメントするデクリメンタ12
0と、 CPUとの間のバス5の使用権の授受制御、データの転
送方向とアクセスタイミング等の制御情報を記憶するコ
ントロールレジスタを基に、DMA転送動作時の転送タ
イミング制御と内部各制御レジスタの更新制御を含むD
MAC全体の制御を行う実行制御部100と、 システムバス5に出力されたデータをラッチしておくデ
ータ・う、チ110とから構成される。
次に、第1図のメそす3から周辺装置2ヘデータを転送
する際の動作について具体的に説明する。
まず、CPUII側のソフトウェア処理について説明す
る。CPUIIはDMA転送処理に先だって第4図(a
)のフローに示すように初期設定処理を行う。まず、R
WP 133にDMA転送元領域30の先頭アドレスを
設定しくステップ■)、MAR131に″DMA転送元
領域30の最終アドレス+1″を設定する(ステップ■
)。次に、TCI 21.TCMI 22、U/Dカウ
ンタ134にDMA転送元領域30のデータ数(例えば
バイトデータの転送を行うときには領域30の先頭アド
レスから最終アドレスまでのデータバイト数)を設定す
る(ステップ■)。また、COMP 135に“DMA
転送元領域のデータ数−α” (α:0〜数バイト程度
)を書き込む(ステップ■)。その後、U/Dカウンタ
134の値がCOMP 135の値より小さくなるまで
はDMA転送元領域30に転送データをあらかじめ書き
込み(ステップ■2■)、DMA転送をスタートする(
ステップ■)。
CPUIIは上記のDMA初期設定処理を終了後は、周
辺装置lOから受信したデータを基にデータ生成し、D
MAC12のRWP 133とU/Dカウンタ134を
利用して、生成したデータをDMA転送元領域30に書
き込む処理を行う。
このCPUIIによる書き込み処理を第4図(b)に示
す。まず、U/Dカウンタ134の内容を読み出しくス
テップ(li))、U/Dカンンタ134の値がOであ
るとき、すなわちDMA転送元領域30に空き領域がな
いとき、データの書き込み処理は行わない(ステップ■
)、上記以外のとき、RWP133が指し示すDMA転
送元領域30のアドレスにデータを書き込む命令(以下
、I10操作命令という)をU/Dカウンタ134の値
が示す回数分実行する(ステップ0.ステップ0)。I
10操作命令が実行されたとき、DMA転送領域30に
データを書き込む処理はDMAC12が実行する。書き
込まれたデータはDMA転送によって所定の周辺装置2
へ転送される。
以上のようにCPUIIはプログラム処理で、DMA転
送元領域30に空き領域がある限りDMA転送データの
書き込みを繰り返し行う。
次に、CPUIIがI10操作命令を実行したことによ
りDMAC12がメモリ3にデータを書き込むときの動
作について説明する。CPUIIはI10操作命令を実
行するとバス5上にRWP133のアドレス値、および
メモリに書き込むデータを出力する。実行制御部100
は専用のアドレス・デコーダにより常にバス5に含まれ
るアドレス・バス上の値をデコードしているが、RWP
133のアドレス値を検知すると、バス上に出力されて
いるデータをデータ・ラッチ110にラッチする。同時
に実行制御部100は、バスホールド要求信号HLDR
Q22を活性化してCPU11にバス使用権を要求する
CPUIIはDMAC12からのHLDRQ22の発生
を常にモニタしながら、所定のプログラム処理を実行し
ている。HLDRQ22が活性化状態となったことを検
知すると、実行中のプログラム処理を中断して、pc、
psw、各種レジスタ類の内容をプログラム実行時の値
のまま保持し、バス出力信号をハイインピーダンスとし
て、ホールド・アクノリッジ信号HLDAK23を活性
化してDMAC12にバス使用権を与えたことを伝える
バス使用権を得た実行制御部100はRWP133の値
、およびデータ・ラッチ110の値をバス5上に出力し
、同時にライト信号を活性化してメモリ3にデータを書
き込む。
その後、DMAC12はHLDRQ22信号をイン・ア
クティブにして、CPU11にバス使用権の放棄を伝え
DMA転送動作を終了する。
CPUIIはバス使用権を取り戻すと、PC。
PSW、及び各種レジスタ類がすべてプログラム処理中
断前の値を保持しているため、中断したプログラム処理
を即時に再開する。
ここで、I10操作命令の実行によりDMA C12が
メモリ3にデータを書き込んだときの各ポインタ、カウ
ンタの動作について説明する。処理実行部100がデー
タ書き込む毎に、U/Dカウンタ120の内容は“1″
カウントダウンし、RWP 133の内容は“1″イン
クリメントする。
MARL 31)1MAR131自身の値とRWP13
3の更新結果の値とを比較している。比較の結果一致を
検出し、RWP 133がDMA転送元領域30の終端
アドレスを越えた場合、MAR131は一致信号27を
ADM132に対して活性化する。ADM132はこの
一致信号27の活性化を検出するとMAR131がらT
CMI 22の値を減算してRWP l 33に書き込
む。これにより、RWPI 33#!DMA転送元領域
3oの先頭アドレスに更新される。
次に、DMAC12によるDMA転送元領域3゜から周
辺装置2へのDMA転送動作について具体的に説明する
周辺装置2のDMA転送要因が発生すると、周辺装置2
はDMA実行制御部100に対しDMA転送要求信号2
0を活性化する。実行制御部100はDMA転送要求信
号2oが活性化されると、HLDRQ22、HLI)A
K23にJ:すCPUIIからバス使用権を得る。
データをメモリ3から周辺装置2にデータ転送するDM
A転送でき、DMAC12は、ADM132でMAR1
31からTC121の値を減算し生成したアドレス情報
をバス5に出力してDMA転送元領域30からの転送デ
ータをバス5上に読み出し、周辺装置2に対してアクノ
リッジ信号21を出力する。これにより、周辺装置2は
転送データの読み出しを行なう。
一回のDMA転送の実行終了ごとにTC121の内容は
デクリメンタ120に読み出され“1”デクリメントさ
れた後書き戻される。これにより、MAR131からT
C121の値を減算して生成されるDMA転送対象アド
レスは“1″ずつインクリメント更新されていくことに
なる。また−回のDMA転送の実行終了ごとにU/Dカ
ウンタ120の内容は“l”カウントアツプされる。
周辺装置2からDMA転送要求信号20が続けて発生し
ている時には、再び上記のDMA転送動作を繰り返す。
周辺装置2から連続するDMA転送要求信号20が発生
していなければDMACI2はHLDRQ22信号をイ
ン・アクティブにして、CPUIIにバス使用権の放棄
を伝えDMA転送動作を終了する。
以上のDMA転送を繰り返し実行し、デクリメンタ12
0でTC121をデクリメントした結果TC=Oとなり
、TC121に設定された所定回数のDMA転送の実行
を終了すると、実行制御部100はTCM122の内容
をTC121にロードする。その後、周辺装置2からD
MA転送要求信号20が発生しDMA転送が実行される
ときには、再びメモリ3のDMA転送元領域30の先頭
アドレスからDMA転送が実行される。
このようにして、DMA転送元領域30を用いて繰り返
しDMA転送を行うことができる。
次にDMAC12のCOMPl 35の動作について説
明する。
DMA転送に先立ちCOMPl 35にはプログラムに
より“DMA転送元領域のデータ数−α”が設定されて
いる。DMA転送が実行され、U/Dカウンタ134が
カウント・アップしてGOMP135に一致すると一致
信号25が活性化し実行制御部100に伝えられる。こ
の一致信号25は、DMA転送元領域にDMA転送すべ
きデータが残っていないことを示している。実行制御部
100は一致信号25が活性化状態になったことを検知
すると、CPUIIに対してDMA割り込み要求信号2
4を発生する。
CPUIIは、DMA割り込み要求信号24の発生によ
−り起動される割り込み処理で、DMA転送を禁止状態
にするか、U/Dカウンタ134の値がCOMPl 3
5の値より小さくなるまでDMA転送元領域30に直ち
により高速にデータを書き込む(第4図)。
なお、αを”θ〜数バイト程度”としたのは、COMP
l 35が一致を検出してからDMA転送を禁止するか
、あるいはデータをCPUが書き込むまでの遅延期間に
も行われるDMA転送によってCPUの未処理データが
転送されてしまうことを防止するためのものである。
以上説明したように、本実施例のDMACを内蔵したマ
イクロコンピュータlによれば、メモリの同一転送領域
に対し繰り返しDMA転送が実行される。また、DMA
転送元領域の専用書き込ゐポインタと、CPUが専用書
き込みポインタによりDMA転送元領域にデータを書き
込むと自動的にカウントダウンし、DMA転送が実行さ
れると自動的にカウントアツプするU/Dカウンタを利
用することにより、CPUは書き込みアドレスを管理す
ることなくDMA転送元領域として使用するメモリ領域
なCPUは論理的にリング構造をしているバッファとし
て扱うことができる。
第2の実施例について第5図を用いて説明する。
本実施例が第]の実施例と異なるのは、DMACl3内
の実行制御部102で、実行制御部102内17)DM
A転送禁止フラグ101がCOMP 135の一致信号
26の発生により自動的にセットする機能を付・加して
構成された点である。
実行制御部102の他の動作及びDMAC13の他の構
成、動作は第1の実施例と同一であるのでここでは説明
を省略する。
本実施例ではCPUIIが実行するプログラムの初期設
定処理であらかじめDMA転送禁止フラグ101をリセ
ットしておく、DMAC13は周辺装置からのDMA転
送転送要求信号2尭0りDMA転送を実行している。D
MA転送毎にU/Dカウンタ134をカウントアツプし
た結果GOMPl 35と一致し、一致信号26が発生
すると、実行制御部102はCPUIIに知らせると同
時に、DMA転送禁止フラグ101をセットし、DMA
転送禁止状態にする.つまりDMA転送元領域からDM
A転送データがなくなると自動的にDMA転送を禁止状
態にして、CPUIIがDMA転送データをDMA転送
元領域に書き込む前に、DMACがDMA転送元領域か
らDMA転送データを読み出すことを防止するようにし
ている。
第3の実施例について第6図を用いて説明する。
本実施例が第1の実施例と異なるのは、CPU11がD
MA転送データを書き込むべきメモリ領域の先頭アドレ
スをMAR 1 3 1からオフセット・アドレス0F
FADI 36をADM132で減算して生成するもの
とした点である。
DMAC1 4の他の構成、動作は第1の実施例と同一
であるのでここでは説明を省略する。
本実施例において、CPUIIがデータをメモリ領域に
書き込むときの動作について説明する。
CPUIIは初期設定処理でMAR 1 3 1に″D
MA転送元領域30の最終アドレス+1″を、0FFA
Dl 36にDMA転送元領域3oのデータ数をそれぞ
れあらかじめ設定しておく。CPU1lがI10操作命
令を実行したとき、DMA C14の実行制御部104
は、0FFAD1 3 6のアドレス値がバス5上に出
力されていることを専用のアドレス・デコーダで検知す
ることにより、I10操作命令が実行されたことを検知
する。このとき、バス5上に出力されているデータをデ
ータ・ラッチ110にラッチする.実行制御部104は
、HLDRQ22,HLDAK2 3によりCPUII
カラハス使用権ヲ得、MAR131からoFFAD13
6の値をADM132で減算して生成したアドレス値、
およびデータ・ラッチ110の値をバス5上に出力し、
同時にライト信号を活性化してデータの書き込みを行な
う。この書き込みの度に、ポインタ更新部130により
0FFADl 3 6の値は“1″デクリメントされる
。このため、CPU11はデータを書き込むアドレスを
順次自動的に更新しながらデータの書き込みを行なう。
0FFAD136のデクリメントの結果、0FFAD=
0となりデータ書き込みアドレスがDMA転送元領域3
0の最終アドレスを越えたとき、実行制御部104はT
CM122の内容を0FFAD 1 3 6にロードす
る。その後、CPUIIは、再びDMA転送元領域30
の先頭アドレスからデータ書き込みを開始する。
〔発明の効果〕
以上説明したように、本発明のデータ転送制御装置(D
MAC)を内蔵したマイクロコンピュータでは、転送回
数分のDMA転送が完了したときに自動的に次のDMA
転送のための制御情報を設定するため、CPUにより上
記情報の設定処理が不要となり、その結果DMA転送要
求を保留する必要がなくなり、高速に周辺装置のDMA
転送要求に応答することができる。
また、CPUがDMA転送元領域にデータを書き込む度
に自動的に更新され、しかもDMA転送元領域を越える
ときに領域の先頭アドレス情報が自動的に設定される専
用書き込みポインタと、CPUがデータの書き込みを行
うと自動的にカウントダウンし、DMA転送が実行され
ると自動的にカウントアツプするU/Dカウンタとを利
用することにより、CPUはDMA転送領域を論理的に
リング構造をしているバッファとして扱うことができる
。このため、CPUとしては書き込みアドレスの管理を
一切行わずにI10操作命令を実行するだけでデータの
書き込みができるため、CPUの操作性が非常によく、
システム全体としての処理能力を大幅に向上することが
できるといった効果がある。
さらに、DMA転送元領域からDMA転送データがなく
なると割り込みを発生してCPUに知らせたり、自動的
にDMA転送を禁止したりする。
従って、CPUの未処理データのDMA転送を防止する
と共に単一領域に対して繰り返しDMA転送を実行する
ことが可能である。
【図面の簡単な説明】
第1図は本発明の第一の実施例におけるDMACを用い
た情報処理システム構成を示すブロック図、第2図は本
発明の第一の実施例におけるDMA Cの要部構成を示
すプロ、り図、第3図は本発明の第一の実施例における
メモリのマツプ、第4図は本発明の第一の実施例におけ
るCPU処理フロー第5図は本発明の第二の実施例にお
けるDMA Cの要部構成を示すブロック図、第6図は
本発明の第三の実施例におけるDMACの要部構成を示
すブロック図、第7図は従来のDMACを用いた情報処
理システムのブロック図である。第8図は従来のDMA
転送領域のメモリのマツプである。 1・・・・・・マイクロコンピュータ、2・・・・・・
周辺装置、3・・・・・・メモリ、5・・・・・・バス
、10・・・・・・周辺装置、11・・・・・・CPU
% 12・・・・・・DMAC,13・・・・・・DM
AC,14・・・・・・DMAC,20・・・・・・D
MA転送要求信号、21・・・・・・アクノリッジ信号
、22・・・・・・HLDRQ、23・・・・・・HL
DAK、24・・・・・・DMA割り込み要求信号、2
5・・・・・・一致信号、26・・・・・・一致信号、
27・・・・・・一致信号、30・・・・・・DMA転
送元領域、100・・・・・・DMA実行制御部、10
1・・・・・・DMA転送禁止フラグ、102・・・・
・・DMA実行制御部、104・・・・・・DMA実行
制御部、110・・・・・・データ・ラッチ、120・
・・・・・デクリメンタ、121・・・・・・TC,1
22・・・・・・TCM% 130・・・・・・ポイン
タ更新部、131・・・・・・MAR1132・・・・
・・ADM、133・・・・・・RWP、134・・・
・・・U/Dカウンタ、135・・・・・・COMF、
136・・・・・・0FFAD、500・・・・・・情
報処理システム、501・・・・・・マイクロコンピュ
ータ、502・・・・・・周辺装置、503・・・・・
・メモリ、505・・・・・・・バス、511・・・・
・・CPU、512・・・・・・DMAC,513・・
・・・・MAR。 514・・・・・・TO,520・・・・・・DMA転
送要求信号、521・・・・・・アクノリ、ジ信号、5
22・・・・・・HLDRQ。 523・・・・・・HLDAK、524・・・・・・D
MA割り込み要求信号。

Claims (1)

    【特許請求の範囲】
  1. ダイレクトメモリアクセス(DMA)方式でメモリと周
    辺装置とのデータ転送を行うデータ転送制御装置におい
    て、DMA転送回数を記憶するための転送回数記憶手段
    と、DMA転送の実行毎に前記転送回数記憶手段の値を
    更新するための転送回数更新手段と、DMA転送の対象
    であるDMA転送領域の限界アドレスを記憶するための
    限界アドレス記憶手段と、DMA転送の実行毎に前記転
    送回数記憶手段の値と前記限界アドレス記憶手段の値と
    からDMA転送アドレスを生成するためのDMA転送ア
    ドレス生成手段と、外部の装置のライトアクセスにより
    出力されるアドレスが所定のアドレスであることを検出
    するためのライト検出手段と、該アドレスと同時に出力
    されるデータを格納するためのデータ格納手段と、前記
    ライト検出手段により前記DMA転送領域に対し前記デ
    ータ格納手段に格納されたデータを書き込む際のアドレ
    スを格納するための書き込みアドレス格納手段と、該デ
    ータを書き込む毎に前記書き込みアドレス格納手段の値
    を更新するたの書き込みアドレス更新手段と、前記転送
    回数更新手段における更新動作時に増加し、前記アドレ
    ス更新手段における更新動作時に減少する計数手段と、
    前記計数手段の値が所定の値となったことを検出するた
    めの計数値検出手段、とを有することを特徴とするデー
    タ転送制御装置。
JP32881389A 1989-12-18 1989-12-18 データ転送制御装置 Expired - Fee Related JP2819705B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32881389A JP2819705B2 (ja) 1989-12-18 1989-12-18 データ転送制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32881389A JP2819705B2 (ja) 1989-12-18 1989-12-18 データ転送制御装置

Publications (2)

Publication Number Publication Date
JPH03188547A true JPH03188547A (ja) 1991-08-16
JP2819705B2 JP2819705B2 (ja) 1998-11-05

Family

ID=18214387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32881389A Expired - Fee Related JP2819705B2 (ja) 1989-12-18 1989-12-18 データ転送制御装置

Country Status (1)

Country Link
JP (1) JP2819705B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100315884B1 (ko) * 1994-01-31 2002-02-28 이데이 노부유끼 데이타전송방법및장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100315884B1 (ko) * 1994-01-31 2002-02-28 이데이 노부유끼 데이타전송방법및장치

Also Published As

Publication number Publication date
JP2819705B2 (ja) 1998-11-05

Similar Documents

Publication Publication Date Title
KR960007839B1 (ko) 데이타 전송 제어 장치
EP0464615B1 (en) Microcomputer equipped with DMA controller
JP3055917B2 (ja) データ転送制御装置
JP2978539B2 (ja) データ転送制御装置
JPS60235269A (ja) デ−タ転送制御装置
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JP2822782B2 (ja) シングルチップマイクロコンピュータ
JPS623362A (ja) デ−タ受信方式
JPH03188547A (ja) データ転送制御装置
US5931930A (en) Processor that indicates system bus ownership in an upgradable multiprocessor computer system
JP4592944B2 (ja) Cpuインターフェース回路
JP3265582B2 (ja) マイクロコンピュータ
JP2765267B2 (ja) ダイレクトメモリアクセス転送制御装置
JP2871171B2 (ja) マイクロコンピュータ
JP2972557B2 (ja) データ転送制御装置および制御方法
JP2001117862A (ja) マイクロコンピュータ
JPS6215644A (ja) キヤツシユメモリ制御回路
JPH03226882A (ja) シングルチップマイクロコンピュータ
JPH02224048A (ja) 情報処理装置
JPH05204831A (ja) マイクロプロセッサ及びそれを使用したダイレクトメモリアクセス機能を有するマイクロコンピュータシステム
JPH0322071A (ja) データ転送処理回路
JP2003067190A (ja) プログラム転送制御装置
JPS6174045A (ja) マルチプロセツサシステムにおけるチヤネル制御方式
JPH0468458A (ja) データ通信処理装置
JPH03278133A (ja) 中央演算処理装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20070828

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees