JPH04227558A - ダイレクトメモリアクセス転送制御装置 - Google Patents

ダイレクトメモリアクセス転送制御装置

Info

Publication number
JPH04227558A
JPH04227558A JP11362791A JP11362791A JPH04227558A JP H04227558 A JPH04227558 A JP H04227558A JP 11362791 A JP11362791 A JP 11362791A JP 11362791 A JP11362791 A JP 11362791A JP H04227558 A JPH04227558 A JP H04227558A
Authority
JP
Japan
Prior art keywords
transfer
register
dma
data
direct memory
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
JP11362791A
Other languages
English (en)
Other versions
JP2765267B2 (ja
Inventor
Ichirou Kouzono
香園 一郎
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 JP3113627A priority Critical patent/JP2765267B2/ja
Publication of JPH04227558A publication Critical patent/JPH04227558A/ja
Application granted granted Critical
Publication of JP2765267B2 publication Critical patent/JP2765267B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリと周辺装置との
間のデータ転送をダイレクト・メモリ・アクセス(以下
、DMAという)方式で行なうデータ転送制御装置に関
する。
【0002】
【従来の技術】マイクロコンピュータを利用した情報処
理システムにおいて、周辺装置とメモリ間で大量のデー
タ転送を行ない、これらのデータを中央処理装置(以下
CPUという)で処理、加工してさらに別の周辺装置、
記憶装置(メモリ)へ転送する動作が頻繁に行なわれて
いる。この場合、周辺装置からCPUに対して割り込み
を発生させ、割り込みルーチンによってデータ転送を行
なうと、CPUの割り込み処理のための時間、いわゆる
オーバヘッドが増大してしまい、システムのデータ処理
効率が低下してしまう。そこで、近年、周辺回路とメモ
リ間でCPUを介することなしにデータ転送を行なうた
めのデータ転送制御装置としてDMAコントローラが提
供されている。
【0003】このDMAコントローラを用いてDAM転
送を行なう場合、予めCPUがDMAコントローラに各
種制御情報を設定する。周辺回路(例えば通信制御回路
、表示制御回路、プリンタ装置など)からDMA要求が
DMAコントローラに対して行なわれると、DMAコン
トローラはCPUに対してバス制御権の空け渡しを要求
する。この要求をCPUが検知すると、CPUはこのD
MA要求より優先度の高い割込み要求がない場合に現在
実行中のプロクラム処理を中断し、アドレスバス、デー
タバスのバス制御権をDMAコントローラに渡す。そし
て、DMAコントローラは空いたバスを利用して予め設
定された各種情報に応じて、周辺回路とメモリ間のデー
タ転送をCPUを介することなしに行なう。
【0004】データ転送の形態として、1回のDMA要
求により予め指定された領域のデータを連続して転送す
るのが一般的である。この指定領域のデータの転送がす
べて終了すると、DMAコントローラは周辺回路および
CPUに対してDMA完了を通知する。この通知により
周辺回路はDMA転送を禁止状態にするなどの処理を行
ない、CPUはメモリ内のデータ処理を行なった後、再
びDMA転送のための各種制御情報をDMAコントロー
ラに再設定する。
【0005】
【発明が解決しようとする課題】近年の情報処理システ
ムでは、周辺装置の1つであるプリンタ装置の印字ヘッ
ド部に対してメモリ内の指定領域に格納された印字デー
タを転送する場合のように、1回のDMA要求により転
送するデータの量が少なく(例えば数バイト)、しかも
その転送が頻繁に行なわれる場合がある。このような場
合、転送終了状態が頻繁に発生し、その都度CPUはD
MA開始アドレス、転送データ数の再設定の処理などを
行なわなければならず、CPUの処理負担が大きくなっ
てしまう。また、CPUの処理が終了するまで次のDM
A要求を受け付けられないことによるDMA転送効率の
悪化を招いてしまう問題点があった。
【0006】したがって本発明の目的は、CPUの処理
負担を低減し、DMA転送の効率を向上することができ
るDMA転送制御装置を提供することにある。
【0007】
【課題を解決するための手段】本発明のダイレクトメモ
リアクセス転送制御装置は、周辺装置からダイレクトメ
モリアクセス転送要求が伝えられたことを検知しCPU
に対してバス制御権の空け渡し要求を伝える手段と、C
PUからバス制御許可信号を受けるとDMA実行許可信
号を発生する手段と、CPUからのメモリのダイレクト
メモリアクセス転送領域として割合てられた領域のうち
の所定アドレスに関連するアドレスを格納する第1のレ
ジスタと、転送すべきデータ数に関連する情報を格納す
る第2のレジスタと、1回の転送要求に対して何回デー
タ転送を行なうかの情報を格納する第3のレジスタと、
DMA実行許可信号を受けて第1および第2のレジスタ
を使ってメモリと周辺装置との間のデータ転送を実行す
る実行手段と、第3のレジスタに格納された情報に基づ
いた回数だけ実行手段がデータ転送したことを検知しC
PUに対するバス制御権の空け渡し要求を取り下げる手
段とを有する。
【0008】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は本発明の一実施例によるDMA転送制御装
置(以下DMACという)10を内蔵する情報処理シス
テムの構成を示すブロック図である。この情報処理シス
テムはCPU11と、周辺装置の1つとしてプリンタ1
2と、他の周辺装置14と、メモリ装置13と、メモリ
装置13と周辺装置13および14との間のデータ転送
処理をCPU11の処理動作とは排他的に実行制御する
DMAC10と、これらの装置10から14がそれぞれ
接続されたデータバス15およびアドレスバス16とを
有している。
【0009】このような構成の情報処理システムは、周
辺回路14で受信した外部装置(図示せず)からのデー
タをDMAC10を用いてDMA転送によりメモリ装置
13に転送し、このデータをプログラム処理した後、更
にDMA転送により周辺装置12(本実施例の場合、プ
リンタ)にデータを送るといった制御動作を行なう。
【0010】周辺装置12は送られてきたデータ(ここ
では印字データ)を基に、印字ヘッド部によりプリント
処理を行なう。
【0011】CPU11は、内部にプログラムカウンタ
、プログラムステータスワード、各種制御レジスタ等を
含み、各種命令の実行制御を行ない、さらにDMAC1
0との間でデータ入出力バス15、アドレスバス16に
ついての制御権の授受を含む動作制御を行なう。
【0012】メモリ装置13は、CPU11用のプログ
ラムメモリとプログラムメモリに格納されたプログラム
の実効の際につかわれるデータメモリを含み、CPU1
1とDMAC10の制御により情報処理システムの各種
データを記憶する。メモリ装置13のデータメモリはD
MA転送のために割り合てられた領域を有している。
【0013】DMAC10は周辺装置12からDMA要
求信号100を受けると、CPU11に対してバス制御
要求信号130を伝え、CPU11からバス制御許可信
号140を受けると、周辺装置12に対してDMA応答
信号110を伝え、DMA転送の制御を行なう。
【0014】次に本実施例の動作について説明する。C
PU11はDMA転送処理に先だってDMAC10に対
する初期設定(DMA転送の先頭アドレス、1回のDM
A要求に対する転送回数、転送データ数などの設定)を
プログラムにもとずき実行する。CPU11はその後プ
ログラムにもとづき別の処理を続行する。周辺装置12
からDMA要求信号100を受けると、DMAC10は
CPU11に対してバス制御要求信号130を伝える。 CPU11は他の周辺回路などからの割込み要求を調停
し、DMACのバス制御要求より優先順位の高い割込み
要求がない場合に、DMAC10に対してバス制御許可
信号140を伝える。
【0015】DMAC10はバス制御許可信号140を
受けると、予じめ設定されたDMA転送の先頭アドレス
に基づきメモリ装置13のメモリ領域の先頭アドレスに
格納されている1ワードのデータを周辺装置12に転送
する。この時にDMAアドレスがインクリメント(又は
デクリメント)される。DMAC10は更新されたDM
Aアドレスにもとずきメモリ13の次アドレスに格納さ
れている次の1ワードのデータを周辺装置12に転送す
る。このようにして同じ動作のDMA転送を予じめ設定
された転送回数だけ繰り返す。
【0016】設定された転送回数だけDMA転送が行な
われると、DMAC10はバス制御要求信号130を取
下げ、CPU11に対してデータ入出力バス15、アド
レスバス16についての制御権を渡し、CPU11はD
MA転送を行なう前の処理を再開する。尚、この時に更
新されたDMAアドレスはそのままDMAC10に保持
されている。
【0017】再び周辺回路12からDMA要求信号10
0を受けると、DMAC10はバス制御要求信号130
の発送とバス制御許可信号140の受信を行ない、自身
に保持されているDMAアドレスに基づいて、設定され
た転送回数だけDMA転送を繰り返し、転送が終了する
とバス制御要求信号130を取下げる。この動作を繰り
返し、転送されたデータが予め設定されている転送デー
タ数に達すると、DMAC10はDMA終了信号120
を発生し、CPU11、周辺装置12に対して一連のデ
ータ転送が終了したことを知らせる。
【0018】CPU11はDMA終了信号120を受け
ると、DMAC10に対する初期設定処理をプログラム
にもとずき実行し、その後別の処理を続行する。
【0019】このような構成とすることにより、プリン
タに対するDMA転送のように、1度のDMA要求で印
字データを所定回数だけ(所定ワード数、例えば4ワー
ド)メモリ装置からDMA転送した後、バスの制御権を
CPUに渡し、プリンタから次のDMA要求がくると、
前のDMA転送を行なったデータが存在したメモリ領域
とアドレスが連続したデータを同じく所定回数だけDM
A転送する場合に、CPUの処理負担を低減することが
可能となる。即ち、1回のDMA要求に対する所定回数
のDMA転送が終了した後に、CPU11はDMAC1
0に対して初期設定処理を実行をすることはなく、次に
DMA要求がくると再び所定回数だけDMA転送をする
ことができる。このDMA転送はデータ転送元のメモリ
装置のメモリ領域のアドレスが連続している限り、CP
Uは初期設定処理を行なわずに周辺回路からのDMA要
求に応じてデータ転送を行なうことが可能となり、CP
Uの処理負担が大幅に低減できる。
【0020】次に図2から図4を参照して図1に示すD
MAC10を更に詳細に説明する。DMAC10は図2
に示すように、周辺装置12(図1)からDMA要求要
求信号100が入力されると要求フラグ信号201を発
生し、後に述べる一致検出信号204を受けると要求信
号フラグ信号201を取り下げるDMA要求制御回路2
00と、要求フラグ信号201を受けるとCPU11(
図1)に対してバス制御要求信号130を発生し、CP
U11からバス制御許可信号140を受けるとDMA実
行許可信号202を発生するDMAアクセス裁定回路2
10と、DMA転送を行なう際のメモリ装置13(図1
)の転送元メモリ領域の先頭アドレス情報を格納するア
ドレスレジスタ231とレジスタ231に格納されてい
るアドレスをインクリメントまたはデクリメントするア
ドレス加減算回路232とを含むDMAアドレス生成回
路230と、メモリ装置13内の連続したアドレス領域
に格納されたデータであって、一連のDMA転送で周辺
回路12に転送される総データ数(転送データ数)の情
報が格納され、1回のDMA転送に応じてその格納され
ているデータを減算し、全てのデータを転送するとDM
A終了検出信号203を発生するターミナルカウント制
御回路240と、1回のDMA要求信号100の発生に
対応して何回のDMA転送を行なうかを示すDMA転送
回数を格納し、DMA転送回数がその値に達すると一致
検出信号204を発生するDMAカウント制御回路25
0と、DMA転送に先立って、CPU11によりDMA
転送時にDMAカウント制御回路250を活性化するか
又は不活性化して通常のDMA転送とするかの情報を格
納しDMAカウント制御回路250に対して活性制御信
号205を発生するDMA制御レジスタ260と、DM
A転送時にDMA実行許可信号202を受けると周辺回
路に対してDMA転送の実行サイクルであることを示す
DMA応答信号110を発生し、DMA終了検出信号2
03を受けるとDMA終了信号120を発生するDMA
応答制御回路220とを有する。
【0021】これらDMAアクセス裁定回路210、D
MAアドレス生成回路230、ターミナルカウント制御
回路240、DMAカウント制御回路250はCPU1
1から供給されるバスサイクル基準信号150に同期し
て動作している。
【0022】次に図3、図4を参照して図2に示すター
ミナルカウント制御回路240およびDMAカウント制
御回路250の一具体例を示す。図3に示すように、タ
ーミナルカウント制御回路240は、転送データ数を格
納するターミナルカウントレジスタ310と、1回のD
MA転送ごとにターミナルカウントレジスタ310の内
容を読み出し、それを減算してレジスタ310に書戻す
とともに、後に述べるゼロ検出回路330に加える減算
回路320と、減算回路320で減算した結果が0にな
ったことを検出しゼロ検出信号301を発生するゼロ検
出回路330と、バスサイクル基準信号150とDMA
実行許可信号202を入力とし、減算指示信号302を
減算回路320に出力するANDゲート回路30と、ゼ
ロ検出信号301とDMAアクセス裁定回路210から
供給されるDMA実行許可信号202とを入力とし、D
MA終了検出信号203を出力するANDゲート回路3
1とを有する。
【0023】図4に示すように、DMAカウント制御回
路250は、1回のDMA転送要求により実行するDM
Aの転送回数を格納する転送回数レジスタ410と、1
回のDMA転送が行なわれるごとにインクリメントされ
るカウンタ430と、転送回数レジスタ410の内容と
カウンタ430の内容を比較し一致した場合に一致信号
401を発生する比較回路420と、バスサイクル基準
信号150とDMA許可信号202を入力とし、カウン
ト信号402をカウンタ430に出力するANDゲート
回路41と、DMA許可信号202とDMA制御レジス
タ260(図2)から供給される活性制御信号205と
一致信号401を入力とし、一致検出信号204を出力
するANDゲート回路42とを有する。
【0024】次に図5、図6をも参照して本実施例の動
作について更に詳細に説明する。本実施例では、周辺装
置12(プリンタ装置)からの1回のDMA要求にもと
ずき、メモリ装置13に図6に示すDMA転送領域A1
に格納されている4ワードの印字データを所定回数(こ
の場合4回)のDMA転送により周辺装置12に転送す
る動作を繰り返し、アドレスが連続しているメモリ装置
13のDMA転送領域B1の全印字データを1回の初期
設定でDMA転送する。
【0025】まず、CPU11(図1)はDMA転送処
理に先だってDMAC10の初期設定処理をプログラム
にもとずき実行する。DMA制御レジスタ260に対し
てはDMA転送の動作形態情報、すなわち1回のDMA
転送で何ビットのデータ転送を行なうのか、DMA転送
動作においてDMAカウント制御回路250を活性化さ
せるのかどうかの情報を設定する。本実施例の場合、転
送ビット数は16ビットすなわち1ワードとし、DMA
カウント制御回路250を活性化させて動作させる情報
が設定され、活性制御信号205が活性状態(ハイレベ
ル)となる。
【0026】アドレスレジスタ231(図2)に対して
は転送元となるメモリ装置13の先頭アドレスTA(図
6)を設定する。
【0027】ターミナルカウント制御回路240に対し
ては、ターミナルカウントレジスタ310(図3)にメ
モリ装置13内のDMA転送領域B1(図6)に格納さ
れたデータ、すなわち一連のDMA転送で周辺回路12
に転送される総データ数(転送データ数)の情報がCP
U11によって設定される。本実施例の場合、DMA転
送領域B1を全て転送するのに必要なDMA転送回数が
設定される。
【0028】DMAカウント制御回路250に対しては
、CPU11は転送回数レジスタ410(図4)に1回
のDMA要求に対して何回DMA転送を行なうかの情報
(転送回数)を設定する。本実施例の場合は1回のDM
A要求に対して4回のDMA転送を行なうため、転送回
数レジスタ410には“3”を設定する。カウンタ43
0は“0”に初期化しておく。
【0029】CPU11はこれら初期設定処理を終了す
ると、プログラムにもとずき別の処理を続行するが、D
MAC10からのバス制御要求信号130の発生を専用
のハードウェア手段により常にチェックしている。
【0030】一方、周辺装置12は、DMA転送要因(
例えばプリント動作開始など)が発生すると、DMAC
10へDMA要求信号100を伝える。これによってD
MAC10は以下に説明するDMA転送動作を開始する
【0031】周辺装置12からDMAC10にDMA要
求信号100が伝えられると、DMA要求制御回路20
0は要求フラグ201をアクティブにする(図5バスサ
イクル(A)参照)。これを受けてDMAアクセス裁定
回路210はCPU11に対してバス制御要求信号13
0を伝える。
【0032】CPU11はバス制御要求信号130を受
けると実行中のプログラム処理を中断して、PC(プロ
グラムカウンタ)、PSW(プログラムステータスワー
ド)、各種レジスタ類の内容をプログラム中断状態のま
ま保持しつつ、バス出力信号をハイインピーダンスとし
て、バス制御許可信号140をアクティブレベルとする
【0033】DMAアクセス裁定回路210はバス制御
許可信号140を受けると、DMA実行許可信号202
をアクティブレベルとし(図5バスサイクル(B)参照
)、DMA実行サイクルを起動する。
【0034】DMA実行サイクルでは、バスサイクル基
準信号150に応じてアドレスレジスタ231(図2)
の内容を読出し(始めは先頭アドレスTA)、このアド
レスに対応したメモリ装置13のデータをデータ入出力
バス15を介して周辺装置12に転送する。
【0035】1回のDMA転送ごと、すなわち1回のバ
スサイクルごとにアドレスレジスタ231の内容が読み
出され、アドレス加減算回路232で演算を行ない、そ
の結果を再びアドレスレジスタ231に書き戻すことに
よりDMAアドレスの更新が行なわれる。
【0036】ターミナルカウント制御回路240におい
ては、DMA実行許可信号202がアクティブレベル(
ハイレベル)であるため、1回のバスサイクルごとに減
算指示信号302が立上る(図3参照)。この減算指示
信号302の立上りに応じてターミナルカウントレジス
タ310の内容が読み出され、減算回路320で減算を
行ない、その結果を再びターミナルカウントレジスタ3
10に書き戻す。
【0037】DMAカウント制御回路250においても
、DMA実行許可信号202がアクティブレベル(ハイ
レベル)であるため、1回のバスサイクルごとにカウン
ト信号402が立上る(図4参照)。このカウント信号
402の立上りに応じてカウンタ430はこれを転送回
数としてカウントする(例えば図5バスサイクル(C)
参照)。カウンタ430のカウント値はカウント情報信
号206としてデータ転送先の周辺装置に送られるため
、周辺装置は今何番目のデータ転送が行なわれているの
かを知ることができる。
【0038】このようなDMA転送が所定回数(本実施
例の場合4回)行なわれると、DMAカウント制御回路
250内のカウンタ430の内容が“3”となり(図5
バスサイクル(E)参照)、比較回路420が一致信号
401をアクティブレベル(ハイレベル)とする。この
時、DMA実行許可信号202および活性制御信号20
5は共にハイレベルであるため、一致検出信号204が
ハイレベルとなる(図4および図5(E)参照)。
【0039】この一致検出信号204を受けてDMA要
求制御回路200は要求フラグ信号201を取り下げる
ため、DMAアクセス裁定回路210はCPU11に対
するバス制御要求信号130を取り下げDMA転送を停
止する(図2参照)。尚、この一致検出信号204を転
送先の周辺装置に送ることにより、その周辺装置に対す
るDMA転送停止処理制御として用いることも可能であ
る。DMAアクセス裁定回路210はDMA実行許可信
号202を立下げる(図5(E)参照)。
【0040】以上の動作によりメモリ装置13内のA1
のデータ領域に格納されたデータが周辺装置12に転送
されたことになる(図6参照)。この時にアドレスレジ
スタ231の内容は初期設定されるのではなく、アドレ
ス加減算回路232により更新されたアドレスTA+4
が格納され、同様にターミナルカウントレジスタ310
の内容も減算回路320により減算された結果をそのま
ま保持している。一方、カウンタ430の内容は自動的
に“0”に初期化される(図5バスサイクル(F)参照
)。
【0041】CPU11はバス制御権を取り戻すと、保
持されていたPC、PSW、及び各種レジスタ類の内容
に応じて中断したプログラム処理を再開する。
【0042】次に再び周辺装置12からDMA要求信号
100が伝えられると、アドレスレジスタ231、ター
ミナルカウントレジスタ310に保持されている情報に
基づいて上述した動作と同様に4回のDMA転送を行な
う。
【0043】DMA要求信号100が伝えられる毎に4
回のDMA転送を行ない、メモリ装置13内のDMA転
送領域B1のデータをすべて転送すると、ターミナルカ
ウント制御回路240内のターミナルカウントレジスタ
の内容が“0”となり、これを検出したゼロ検出回路3
30がゼロ検出信号301をハイレベルとする。この時
、DMA実行許可信号202もハイレベルであるので、
DMA終了検出信号203がアクティブレベルとなる(
図3参照)。
【0044】DMA終了検出信号203を受けてDMA
応答制御回路220(図2)は、DMA終了信号120
を周辺回路12およびCPU11に伝える。CPU11
はDMA終了信号120を受けると、DMAC10に対
する初期設定処理をプログラムにもとずき実行し、その
後別の処理を続行する。
【0045】以上で、CPU11が1回の初期設定によ
り行なわれるメモリ装置13内でアドレスが連続した領
域B1に格納されたデータの周辺装置に対するDMA転
送が終了する。
【0046】以上の動作はDMA制御レシスタ260(
図2)に対してDMAカウント制御回路250を活性化
させる情報を初期設定し、活性制御信号205がハイレ
ベルの場合を説明した。しかし、初期設定の際にDMA
カウント制御回路250を不活性状態とする情報をDM
A制御レジスタ260に格納すれば活性制御信号205
はロウレベルを維持したままとなり、DMAカウント制
御回路250は一致検出信号204がアクティブレベル
となることはなく(図4参照)、このDMAC10はD
MAアドレス生成回路230とターミナルカウント制御
回路240により動作が制御された公知のDMA転送処
理を行なうことができる。
【0047】又、DMA制御レジスタ260にDMAカ
ウント制御回路250を活性化させる情報を初期設定す
るのではなく、例えば、DMAカウント制御回路250
内の転送回数レジスタ410(図4)に初期設定の際、
カウンタが示さない値を格納すれば比較回路420は一
致信号401を発生することがないため、上述した場合
と同様に、DMAカウント制御回路250を不活性化す
ることができる。
【0048】本実施例によれば、1回のDMA要求に対
する所定回数のDMA転送が終了した後に、CPU11
はDMAC10に対して初期設定処理を実行をすること
はなく、次にDMA要求がくると再び所定回数だけDM
A転送をすることができる。従って、DMA転送をデー
タ転送元のメモリ装置のメモリ領域のアドレスが連続し
ている限り、CPUが初期設定処理を行なわずに周辺回
路からのDMA要求に応じてデータ転送を行なうことが
可能となり、CPUの処理負担が大幅に低減できる。
【0049】次に図7を参照して本発明の第2の実施例
について説明する。図7は図1に示すDMAC10の構
成の他の例を示す。本実施例と第1の実施例との違いは
、ターミナルカウント制御回路240に対する制御信号
としてDMAカウント制御回路250から発生する一致
検出信号204を用いている点である。他の構成はすべ
て図1から図4に示す構成と同じである。
【0050】ターミナルカウント制御回路240は、一
致検出信号204が発生するたびにその内部のターミナ
ルカウントレジスタ310の内容をデクリメントするよ
うに、図3に示したANDゲート回路30の一方の入力
をバスサイクル基準信号150の替りに一致検出信号2
04としている。ここで、1回のDMA要求信号100
の発生により行なわれる所定回数のDMA転送を1つの
単位と考え、メモリ装置13内のDMA転送領域B1(
図6)に格納された転送データをすべて転送するのに何
回のDMA要求信号100の発生によるDMA転送が行
なわれるか、いいかえれば何回一致検出信号204が発
生するかというデータをCPUが初期設定の時にターミ
ナルカウントレジスタ310に格納する。他の動作は第
1の実施例と同じである。
【0051】このような構成とすれば、ターミナルカウ
ントレジスタ310に格納されるデータ量は第1の実施
例に比して少なくてすむため、ターミナルカウントレジ
スタの容量および減算回路320の回路構成の規模を小
さくすることができる。
【0052】又、一致検出信号204はバスサイクル基
準信号150に比べ発生サイクルが長いため、例えばそ
の間にターミナルカウントレジスタ310の内容を書換
える等の処理をCPU11が行なうことができ、メモリ
装置13内の転送領域の変更にも柔軟に対応することが
可能となる。
【0053】次に図8から図10を参照して本発明の第
3の実施例について説明する。図8は図2に示すDMA
C10の構成の更に他の例を示す。本実施例と第1の実
施例との違いは、周辺装置12(又は他の周辺装置)か
ら伝えられるDMA要求信号が100aと100bの2
種類となり、それぞれの要求信号に応じてDMA転送の
回数を選択することができる構成とした点である。
【0054】即ち、DMA要求制御回路200aは2つ
のDMA要求信号100a、100bの入力端を有し、
いずれかの信号がアクティブレベルとなると、それに応
じて要求フラグ信号201をDMAアクセス裁定回路2
10に伝えると同時に、チャネル選択信号800aまた
は800bのどちらかをアクティブレベルとする。
【0055】バスサイクル基準信号150、DMA実行
許可信号202、活性制御信号205の他にチャレル選
択信号800a、800bを入力とするDMAカウント
制御回路850は図9に示すように、1回のDMA転送
要求により実行するDMAの転送回数を格納する転送回
数レジスタ410aと、これとは異なる転送回数を格納
する転送回数レジスタ410bと、チャネル選択信号8
00a、800bのレベルに応じて転送回数レジスタ4
10aまたは410bに格納されているデータのいずれ
かを減算回路920に送る選択回路910と、バスサイ
クル基準信号150とDMA許可信号202を入力とし
カウント信号901を出力するANDゲート回路91と
、選択回路910から送られたデータを格納し、カウン
ト信号901に応じてその値を減産し、0となった時に
ゼロ検出信号902をアクティブレベルとする減算回路
920と、ゼロ検出信号902とDMA許可信号202
を入力とし、一致検出信号204を出力するANDゲー
ト回路92とを有する。
【0056】次に、図10をも参照してこの回路の動作
について説明する。まず、CPU11(図1)はDMA
転送処理に先だってDMAC10の初期設定処理をプロ
グラムにもとずき実行する。DMA制御レジスタ260
、アドレスレジスタ231、ターミナルカウント制御回
路240に対しての初期設定は第1の実施例と同じであ
るため説明を省略する。
【0057】DMAカウント制御回路850に対しては
、転送回数レジスタ410a、410b(図9)にそれ
ぞれ1回のDMA要求に対して何回DMA転送を行なう
かの情報(転送回数)を設定する。本実施例の場合は転
送回数レジスタ410aには“3”、410bには“4
”を設定する。
【0058】CPU11はこれら初期設定処理を終了す
ると、プログラムにもとずき別の処理を続行するが、D
MAC10からのバス制御要求信号130の発生を専用
のハードウェア手段により常にチェックしている。
【0059】一方、周辺装置120がDMA転送要因(
例えばプリント動作開始など)を発生し、1回のDMA
要求で4回のDMA転送分のデータ(4ワード分)が必
要となった場合、DMAC10へDMA要求信号100
aを伝える。これによってDMAC10は以下に説明す
るDMA転送動作を開始する。
【0060】周辺装置12からDMAC10にDMA要
求信号100aが伝えられると、DMA要求制御回路2
00aは要求フラグ201をアクティブにするとともに
チャネル選択信号800aをアクティブレベルとする。 これにより選択回路910は転送回数レジスタ410a
に格納されているデータ、すなわち“3”を減算回路9
20に送る(図10バスサイクル(A)参照)。又、D
MAアクセス裁定回路210はCPU11に対してバス
制御要求信号130を伝える。
【0061】CPU11はバス制御要求信号130を受
けると実行中のプログラム処理を中断して、PC(プロ
グラムカウンタ)、PSW(プログラムステータスワー
ド)、各種レジスタ類の内容をプログラム中断状態のま
ま保持しつつ、バス出力信号をハイインピーダンスとし
て、バス制御許可信号140をアクティブレベルとする
【0062】DMAアクセス裁定回路210はバス制御
許可信号140を受けると、DMA実行許可信号202
をアクティブレベルとし(図10バスサイクル(B)参
照)、DMA実行サイクルを起動する。
【0063】DMA実行サイクルでは、バスサイクル基
準信号150に応じてアドレスレジスタ231(図2)
の内容を読出し(始めは先頭アドレスTA)、このアド
レスに対応したメモリ装置13のデータをデータ入出力
バス15を介して周辺装置12に転送する。
【0064】DMAカウント制御回路850において、
DMA実行許可信号202がアクティブレベル(ハイレ
ベル)であるため、1回のバスサイクルごとにカウント
信号901が立上る(図9参照)。このカウント信号9
01に応じて減算回路920は格納されたデータの値を
減算する(図10バスサイクル(C)、(D)参照)。
【0065】このようなDMA転送が4回行なわれると
、減算回路920の内容が“0”となり(図10バスサ
イクル(E)参照)、ゼロ検出信号902をアクティブ
レベル(ハイレベル)とする。この時、DMA実行許可
信号202はハイレベルであるため、一致検出信号20
4がハイレベルとなる(図9参照)。
【0066】この一致検出信号204を受けてDMA要
求制御回路200aは要求フラグ信号201を取り下げ
るため、DMAアクセス裁定回路210はCPU11に
対するバス制御要求信号130を取り下げDMA転送を
停止する(図8参照)。
【0067】CPU11はバス制御権を取り戻すと、保
持されていたPC、PSW、及び各種レジスタ類の内容
に応じて中断したプログラム処理を再開する。
【0068】次に再び周辺装置12からDMA要求信号
100aが伝えられると、アドレスレジスタ231、タ
ーミナルカウントレジスタ310に保持されている情報
に基づいて上述した動作と同様に4回のDMA転送を行
なう。
【0069】DMA要求信号100が伝えられる毎に4
回のDMA転送を行ない、メモリ装置13内のデータを
すべて転送すると、ターミナルカウント制御回路240
がDMA終了検出信号203をアクティブレベルとする
(図8参照)。
【0070】DMA終了検出信号203を受けてDMA
応答制御回路220(図8)は、DMA終了信号120
を周辺回路12およびCPU11に伝える。CPU11
はDMA終了に応じてDMAC10に対する初期設定処
理をプログラムにもとずき実行し、その後別の処理を続
行する。
【0071】一方、例えば周辺装置120とは異なる周
辺装置がDMA転送要因を発生し、この周辺装置は1回
のDMA要求で5回のDMA転送分のデータ(5ワード
分)が必要である場合は、DMAC10へこの周辺回路
がDMA要求信号100bを伝え、チャネル選択信号8
00bによって転送回数レジスタ410bを選択し、1
回のDMA要求により5回のDMA転送を上述した動作
と同様に行なうことができる。
【0072】以上説明したように本実施例によれば、1
回の初期設定により2種類のDMA転送回数を設定する
ことができため、異なる周辺装置からの異なる転送デー
タ量のDMA転送要求に対しても初期設定を再度行う必
要がなくなり、よりCPUの処理負担を減少させること
ができる。
【0073】尚、図9に示したDMAカウント制御回路
850の構成は、減算回路920により一致検出信号2
04を発生させるのではなく、図4に示したDMAカウ
ント制御回路250の構成と同様に、選択回路910に
より選択された転送回数レジスタ410a、410bの
いずれかの値と、転送回数に応じてカウントされるカウ
ンタの値を比較回路で比較し、比較回路からの一致信号
を一致検出信号204とすることも可能である。
【0074】逆に、図4に示したDMAカウント制御回
路250の構成を図9のDMAカウント制御回路850
の構成と同様に、転送回数レジスタ410の値を減算回
路により減算し、ゼロ検出信号を一致検出信号204と
することも可能である。
【0075】
【発明の効果】以上説明したように、本発明のダイレク
トメモリアクセス転送制御装置は、1回のDMA要求に
対する所定回数のDMA転送が終了した後に、CPUは
DMACに対して初期設定処理を実行をすることはなく
、次にDMA要求がくると再び所定回数だけDMA転送
をすることができる。従って、DMA転送をデータ転送
元のメモリ装置のメモリ領域のアドレスが連続している
限り、CPUが初期設定処理を行なわずに周辺回路から
のDMA要求に応じてデータ転送を行なうことが可能と
なり、CPUの処理負担が大幅に低減できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるDMA制御装置
を用いた情報処理システム構成を示すブロック図である
【図2】図1に示すDMA制御装置の要部構成を示すブ
ロック図である。
【図3】図2に示すターミナルカウント制御回路の一具
体例を示すブロック図である。
【図4】図2に示すDMAカウント制御回路の一具体例
を示すブロック図である。
【図5】本発明の第1の実施例の動作を説明するための
波形図である。
【図6】本発明の第1の実施例の動作を説明するための
メモリマップである。
【図7】本発明の第2の実施例によるDMA制御装置の
要部構成を示すブロック図である。
【図8】本発明の第3の実施例によるDMA制御装置の
要部構成を示すブロック図である。
【図9】図8に示すターミナルカウント制御回路の一具
体例を示すブロック図である。
【図10】本発明の第3の実施例の動作を説明するため
の波形図である。
【符号の説明】
10    DMA転送制御装置(DMAC)11  
  CPU 12    プリンタ 13    メモリ装置 14    周辺装置 15    データバス 16    アドレスバス 100    DMA要求信号 110    DMA応答信号 120    DMA終了信号 130    バス制御要求信号 140    バス制御許可信号

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】  メモリのダイレクトメモリアクセス転
    送領域として割合てられ1回の転送シリーズで複数回転
    送し複数の転送シリーズで転送をおえるのに充分な大き
    さをもつ領域のうちの先頭アドレスに関連するアドレス
    を格納する第1のレジスタと、前記1回の転送シリーズ
    内で転送を行なう回数に関連する情報を格納する第2の
    レジスタと、前記転送シリーズの数に関連する情報を格
    納する第3のレジスタと、前記第1のレジスタを使って
    前記メモリと周辺装置との間の各転送シリーズの第1回
    のデータ転送を開始し前記第2のレジスタに格納された
    情報に基づいて前記各転送シリーズのデータ転送を停止
    する第1の手段と、前記第3のレジスタに格納された情
    報に基づいて前記複数の転送シリーズを停止する第2の
    手段とを有することを特徴とするダイレクトメモリアク
    セス転送制御装置。
  2. 【請求項2】  前記第3のレジスタは転送のための初
    期値設定毎に何シリーズのデータ転送を行なうかの情報
    を格納することを特徴とする請求項1記載のダイレクト
    メモリアクセス転送制御装置。
  3. 【請求項3】  前記第1の手段は前記第2のレジスタ
    に格納された情報に基づいた回数だけデータ転送したこ
    とを検知しCPUに対するバス制御権の空け渡し要求を
    取り下げる手段を有することを特徴とする請求項1記載
    のダイレクトメモリアクセス転送制御装置。
  4. 【請求項4】  前記第1の手段は実行された転送回数
    をカウントする手段と、前記カウント手段が示す値と前
    記第2のレジスタに格納された情報に基づいた値とを比
    較し、一致した場合に一致検出信号を発生する手段とを
    含むことを特徴とする請求項1記載のダイレクトメモリ
    アクセス転送制御装置。
  5. 【請求項5】  前記第2の手段は前記第3のレジスタ
    に格納された情報に基づくシリーズ数だけ第1の手段が
    データ転送を行ったことを検知しCPUに対し次の初期
    設定をするよう要求する手段を更に含むことを特徴とす
    る請求項4記載のダイレクトメモリアクセス転送制御装
    置。
  6. 【請求項6】  前記第2の手段は前記第3のレジスタ
    に格納された情報に基づいた値を実行された転送回数に
    応じて減算する手段と、前記減算した結果が所定値に達
    した時に検出信号を発生する手段とを含むことを特徴と
    する請求項1記載のダイレクトメモリアクセス転送制御
    装置。
  7. 【請求項7】  メモリのダイレクトメモリアクセス転
    送領域として割合てられた領域のうちの所定アドレスに
    関連するアドレスを格納する第1のレジスタと、転送す
    べきデータ数に関連する情報を格納する第2のレジスタ
    と、転送要求に対するデータ転送回数に関連する情報を
    格納する第3のレジスタと、前記第1および第2のレジ
    スタを使って前記メモリと周辺装置との間のデータ転送
    を実行する実行手段と、前記第3のレジスタに格納され
    た情報に基づいて前記データ転送を停止する手段とを有
    することを特徴とするダイレクトメモリアクセス転送制
    御装置。
  8. 【請求項8】  前記第2のレジスタに格納された情報
    に基づいて転送すべきデータがすべて転送されたことを
    検知するデータ転送終了検知手段を有することを特徴と
    する請求項7記載のダイレクトメモリアクセス転送制御
    装置。
  9. 【請求項9】  前記第3のレジスタは1回の転送要求
    に対して何回データ転送を行なうかの情報を格納するこ
    とを特徴とする請求項7記載のダイレクトメモリアクセ
    ス転送制御装置。
  10. 【請求項10】  前記データ転送を停止する手段は前
    記第3のレジスタに格納された情報に基づいた回数だけ
    実行手段がデータ転送したことを検知しCPUに対する
    バス制御権の空け渡し要求を取り下げる手段を有するこ
    とを特徴とする請求項8記載のダイレクトメモリアクセ
    ス転送制御装置。
  11. 【請求項11】  前記データ転送を停止する手段は実
    行された転送回数をカウントする手段と、前記カウント
    手段が示す値と前記第3のレジスタに格納された情報に
    基づいた値とを比較し、一致した場合に一致検出信号を
    発生する手段とを含むことを特徴とする請求項7記載の
    ダイレクトメモリアクセス転送制御装置。
  12. 【請求項12】  前記データ転送を停止する手段は前
    記一致検出信号が発生したことを検知しCPUに対する
    バス制御権の空け渡し要求を取り下げる手段を更に含む
    ことを特徴とする請求項10記載のダイレクトメモリア
    クセス転送制御装置。
  13. 【請求項13】  前記データ転送を停止する手段は前
    記第3のレジスタに格納された情報に基づいた値を実行
    された転送回数に応じて減算する手段と、前記減算した
    結果が所定値に達した時に検出信号を発生する手段とを
    含むことを特徴とする請求項7記載のダイレクトメモリ
    アクセス転送制御装置。
  14. 【請求項14】  前記データ転送を停止する手段は前
    記検出信号が発生したことを検知しCPUに対するバス
    制御権の空け渡し要求を取り下げる手段を更に含むこと
    を特徴とする請求項12記載のダイレクトメモリアクセ
    ス転送制御装置。
  15. 【請求項15】  前記第3のレジスタを複数設け、選
    択信号により前記複数の第3のレジスタの値のうち1つ
    を選択出力する手段を有することを特徴とする請求項7
    記載のダイレクトメモリアクセス転送装置。
  16. 【請求項16】  周辺装置からダイレクトメモリアク
    セス転送要求が伝えられたことを検知しCPUに対して
    バス制御権の空け渡し要求を伝える手段と、前記CPU
    からバス制御許可信号を受けるとDMA実行許可信号を
    発生する手段と、前記CPUからのメモリのダイレクト
    メモリアクセス転送領域として割合てられた領域のうち
    の所定アドレスに関連するアドレスを格納する第1のレ
    ジスタと、転送すべきデータ数に関連する情報を格納す
    る第2のレジスタと、1回の転送要求に対して何回デー
    タ転送を行なうかの情報を格納する第3のレジスタと、
    前記DMA実行許可信号を受けて前記第1および第2の
    レジスタを使って前記メモリと周辺装置との間のデータ
    転送を実行する実行手段と、前記第3のレジスタに格納
    された情報に基づいた回数だけ前記実行手段がデータ転
    送したことを検知し前記CPUに対するバス制御権の空
    け渡し要求を取り下げる手段とを有することを特徴とす
    るダイレクトメモリアクセス転送制御装置。
JP3113627A 1990-05-22 1991-05-20 ダイレクトメモリアクセス転送制御装置 Expired - Fee Related JP2765267B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3113627A JP2765267B2 (ja) 1990-05-22 1991-05-20 ダイレクトメモリアクセス転送制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13181890 1990-05-22
JP2-131818 1990-05-22
JP3113627A JP2765267B2 (ja) 1990-05-22 1991-05-20 ダイレクトメモリアクセス転送制御装置

Publications (2)

Publication Number Publication Date
JPH04227558A true JPH04227558A (ja) 1992-08-17
JP2765267B2 JP2765267B2 (ja) 1998-06-11

Family

ID=26452572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3113627A Expired - Fee Related JP2765267B2 (ja) 1990-05-22 1991-05-20 ダイレクトメモリアクセス転送制御装置

Country Status (1)

Country Link
JP (1) JP2765267B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502476A (ja) * 2003-05-15 2007-02-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ホストコントローラ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6329867A (ja) * 1986-07-23 1988-02-08 Nec Corp Dmaコントロ−ラ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6329867A (ja) * 1986-07-23 1988-02-08 Nec Corp Dmaコントロ−ラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502476A (ja) * 2003-05-15 2007-02-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ホストコントローラ

Also Published As

Publication number Publication date
JP2765267B2 (ja) 1998-06-11

Similar Documents

Publication Publication Date Title
US5497501A (en) DMA controller using a predetermined number of transfers per request
US4737932A (en) Processor
US4703420A (en) System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need
JP3055917B2 (ja) データ転送制御装置
JP2978539B2 (ja) データ転送制御装置
JPH04246740A (ja) マイクロコンピュータ
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
US5968159A (en) Interrupt system with fast response time
CA2051177C (en) Bus master with antilockup and no idle bus cycles
US5287486A (en) DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
US5481756A (en) DMA controller mailing auto-initialize halting unit
JPH04227558A (ja) ダイレクトメモリアクセス転送制御装置
JP2819705B2 (ja) データ転送制御装置
JP3265582B2 (ja) マイクロコンピュータ
JP2972557B2 (ja) データ転送制御装置および制御方法
JP2560968B2 (ja) コンピュータシステム
JPH05282243A (ja) バスマスター装置及び該装置を用いた電子機器
JPS5839343B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPS6385955A (ja) ダイレクトメモリアクセス転送制御装置
JP2001117862A (ja) マイクロコンピュータ
JPH04326150A (ja) ダイレクト・メモリ・アクセス転送制御装置
JPH0354374B2 (ja)
JPH0322071A (ja) データ転送処理回路
JPH0724044B2 (ja) Dmaアクセスが可能なコンピユータ・システム
JPS63155330A (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980303

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

Free format text: PAYMENT UNTIL: 20080403

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090403

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100403

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees