JPH01283659A - データ転送制御方法 - Google Patents

データ転送制御方法

Info

Publication number
JPH01283659A
JPH01283659A JP63113751A JP11375188A JPH01283659A JP H01283659 A JPH01283659 A JP H01283659A JP 63113751 A JP63113751 A JP 63113751A JP 11375188 A JP11375188 A JP 11375188A JP H01283659 A JPH01283659 A JP H01283659A
Authority
JP
Japan
Prior art keywords
transfer
data
register
count
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
JP63113751A
Other languages
English (en)
Other versions
JPH0561668B2 (ja
Inventor
Toru Yamagishi
亨 山岸
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP63113751A priority Critical patent/JPH01283659A/ja
Publication of JPH01283659A publication Critical patent/JPH01283659A/ja
Publication of JPH0561668B2 publication Critical patent/JPH0561668B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデータ転送制御方法に係り、特に直接メモリア
クセス制御回路(以下DMAコントローラという)を用
いてコンピュータ内のメモリと周辺機器の通信回線との
間のデータ転送又は光ディスクやHDDなどのデータ転
送をrlllllするデータ転送制御方法に関する。
従来の技術 第2図は直接メモリアクセス制御回路(以下I DMA
コントローラ」という)2を用いてSC3I (sma
ll computer system 1nterf
ace )バス6とメモリ1との間のデータ転送を行う
装置のブロック図を示す、DMA (ダイレクト・メモ
リ・アクセス)は中央処理回路(IX下CPUという)
4の介入なしでシステムバスを利用してメモリや入出力
装置間で直接にデータの転送を行う方式であり、CPU
4を介してデータの転送を行う場合に比べて転送速度が
大幅に向上する。DMAコントO−ラ2はこのDMA転
送動作を制御する。また5C8Iバス6はメモリ1から
転送されたデータが正しく転送されたことを確認するた
めの手段を持つことを特徴とし、5C3Iコントローラ
5によって1lJillされる。
DMAコントローラ2の内部には、ワーキングカウント
レジスタ(Working Count Regist
er;以下WCレジスタと略記する)2a1カレントア
ドレスレジスタ(Current Address R
egister;以下CAレジスタと略記する)2b及
びマスターコントロールレジスタ(Master Co
ntrol Reaister:以下MCレジスタと略
記する)2cがある。WCレジスタ2aは、メモリ1か
ら転送を希望するバイト数が設定されメモリ1より1バ
イト読み出されると1だけデクリメントされ、ゼロとな
るとメモリ1よりの読み出しを終了する。CAレジスタ
2bはメモリ1から読み出すデータの先頭番地を設定し
メモリ1から1バイトのデータが読み出されると1だけ
インクリメントされ次に読み出すアドレスを指定する。
またMCレジスタはメモリ1からのデータ転送の開始及
び終了を指示するものであり、CPU4がIH(16進
数の1を示す。以下同様)と磨ぎ込むことにより、DM
A動作が開始され、CPU4が0と書き込むとDMA動
作が停止する。WCレジスタ2aがゼロとなって転送が
終了した場合にはDMAコントローラ2自身がこのMC
レジスタ2Gに0と書き込む。
一方、5C8Iコントローラ5の内部にはトランスファ
カウントレジスタ(Transfer CountRe
gister : T Cレジスタと略記する)5a1
コマンドレジスタ(Cosuiand Registe
r: Cレジスタと略記する)5b1及びscs iス
テータスレジスタ(5CSI 5tatus Regi
ster : S Sレジスタと略記する)5cがある
。TCレジスタ5aは転送を希望するバイト数(WCレ
ジスタ2aに設定されるバイト数と一致する)が設定さ
れSC8Iバス6より1バイト転送されると1だけデク
リメントされ、ゼロとなった時点で転送を終了する。C
レジスタ5bは5C3Iバスの転送開始を指示し、CP
U4が08Hと書ぎ込むことにより転送を開始させる。
SSレジスタ5Cは5C8Iバスの状態を示すレジスタ
であり、例えば後述するSDPが送られてくるとSSレ
ジスタ5Cは21HとなってCPtJ4に割り込みをか
ける。
SC8Iパス6には、データをどこまで転送したかを確
認するための手段が備わっている。これはデータを転送
中にSC3Iバス6を介してセーブデータポインタメツ
セージ(Save Data PointerMess
age : S D Pと略記する)を5C3I:]コ
ントローラに送り返し、そこまでのデータはバリティヂ
エツクするなどの結果正しく転送されたことを示すもの
である。
転送途中に5C8Iバス6を通じてSDRが送られて来
ると5C3Iコントローラ5はSSレジスタの値を21
8として(第3図ステップS+)CPU4に割り込みを
かける。これによってCPU4は5cstコントローラ
5の転送動作を停止させる。第3図はこの後の動作のフ
ローチャートを示す。ステップ2(以下82等と略記す
る)において、CPU4がMCレジスタに0と1いてD
MAコントローラ2を停止させる。次に83でCAレジ
スタ及びWCレジスタの値を退避させる。
これはその時までのデータは正常に転送されたという証
拠を残すためである。その後S4でMCレジスタに1を
書き込んでDMAコントローラを動作させDMA動作を
再開する。最後にSsにおいてコマンドレジスタに08
8と書ぎ込んで5C8Iコントローラを動作させ5C8
Iバス6による転送を再開する。
発明が解決しようとする課題 しかしながら、第3図に示す方法でデータの転送を行う
と、以下のような問題が発生する。すなわち、DMAコ
ントローラ2がメモリ1よりデータを読み出した後、5
C8Iパス6がまだそのデータを転送していない時点で
第3図の81の動作が行われデータの転送が中断される
と、DMAコントローラ2の中のWCレジスタ2a及び
CAレジスタ2bは夫々デクリメント、インクリメント
されているにも拘らず5csrコントローラ4の中のT
Cレジスタ5aは今だにデクリメントされていない。
したがってこの後データの転送を引き続いて行うとWC
レジスタ2aSCAレジスタ2bとTCレジスタ5aと
の間のカウント数がずれてしまい、DMAコントローラ
2の動作が終了した時点でもSC8Iコントローラ5の
動作は終了していないことになる。この結果データが画
像データである場合には画面上に表示される画像がずれ
てしまうことになる。またコンピュータのデータを転送
する場合には、次の転送の時に前回転送すべきだったデ
ータがメモリ1中に残っているなどの不都合が生じる。
特に、1転送単位が複数ワード分のデータのブリフエッ
ヂを伴うDMAコントローラを用いてデータの転送を行
う場合には、1回の転送の中断で更に大きなずれが生じ
ることとなり、種々の不都合が生じるという問題点があ
った。
本発明は、上記の点に鑑みてなされたものであり、転送
の途中に中断があった場合にもメモリからのデータの読
み出しとデータの転送との間にずれを生じることのない
データ転送制御方法を提供することを目的とする。
課題を解決するための手段 本発明には、中央処理回路及び直接メモリアクセス11
11w回路を用いてメモリと通信回線との間のデータ転
送を制御するデータ転送制御方法であって、データ転送
開始前に、前記直接メモリアクセスυIi1回路内にあ
って前記メモリから1転送単位のデータの読み出し又は
書き込みが行なわれると1だけデクリメントされる第1
のカウントレジスタに希望する転送バイト数を設定し、
前記直接メモリアクセス制御回路内にあって前記メモリ
から1転送単位のデータの読み出し又は書ぎ込みが行な
われると1だけインクリメントされて次にアクセスされ
るアドレスを示す第2のカウンタにデータの転送開始ア
ドレスの値を設定し、通信回線の動作を制御する通信回
線制御回路内にあって前記メモリに書き込まれ又は読み
出される1転送単位のデータが通信回線によって転送さ
れると1だけデクリメントされる第3のカウントレジス
タに転送バイト数を設定し、前記中央処理回路に転送バ
イト数及び転送開始アドレスの値の初期値を記憶させた
後データ転送を開始し、データ転送開始後にデータ転送
を中断した時は、転送バイト数及び転送開始アドレスの
値の初期値とデータ転送を中断した時点での第1乃至第
3のレジスタの値より、中央処理回路によって第1及び
第2のレジスタの正しい値を算出し、第1及び第2のレ
ジスタに再設定する。
作用 第1のカウントレジスタに希望する転送バイト数を設定
し、第2のカウントレジスタにデータの転送開始アドレ
スの値の初期値を設定し、第3のカウントレジスタに上
記第1のカウントレジスタと同数の転送バイト数を設定
すると、中央処理回路にはこれら転送バイト数及びデー
タの転送開始アドレスの値の初期値が保持される。
データの転送が開始されメモリより1転送単位のデータ
が読み出されると、第1のカウントレジスタは1だけデ
クリメントされ第2のカウントレジスタは1だけインク
リメントされる。またこの1転送単位のデータが通信回
線を介して転送されると第3のカウントレジスタは1だ
けデクリメントされる。
メモリよりデータが読み出された直後にデータの転送が
中断されると、第1のカウントレジスタはデクリメント
され第2のカウントレジスタはインクリメントされるが
、データはまだ通信回線に転送されていないため第3の
カウントレジスタはデクリメントされない。この時中央
処理回路は、予め保持していた上記転送バイト数及びデ
ータの転送開始アドレスの値の初期値と第1乃至第3の
カウントレジスタの値より、第1及び第2のカウントレ
ジスタの正しい値を求め、第1及び第2のカウントレジ
スタに再設定する。
実施例 第1図は本発明方法の一実施例のフローチャートを示す
。同図の動作プログラムは第2の中央処理回路(以下C
PUという)4中に内蔵され、このブOグラムを実行す
る回路は第2図に示すものと同様である。
CPLJ4は第1のカウントレジスタであるWCレジス
タ2a、第2のカウントレジスタであるCAレジスタ2
b及び第3のカウントレジスタであるTCレジスタ5a
に設定された初期値1wc。
Ic^、lyeを内部の記憶領域に保持する。
第1図においてSu 、SL2は第3図のS+。
S2と同様であり、次の813〜S6が本発明の主要部
となる。メモリ1より1バイトのデータが読み出された
直後にデータの転送が中断されると、WCレジタ2aは
デクリメントされCAレジスタ2bはインクリメントさ
れるが、丁Cレジスタ5aはいまだにデクリメントされ
ない。しかしデータはまだ5C3Iバス6を介して転送
されていないのであるから、デクリメントされていない
TCレジスタ5aの値が正しい値となっている。
以上のことからS13においてこの“[Cレジスタ5a
の値(これをCTCとする)をCPUJ内に読み込む。
次に$−において、CPU内に予め保持された上記1w
c、ICA、IrcとCrcよりWCレジスタ2a及び
CAレジスタ2bの現在の正しい値CWC,OCAを算
出する。これらの値は、データの転送が中断される以前
に5C8Iバス6を介して転送されたデータのバイト数
がITC−CTCであることから Cwc =Ivc −(ITC−CTC)    (1
)CcA=Ic^+(ITC−CTC)    [F]
を実行することにより求められる。このようにして求め
られたCWC,CCAはCPLI4内に一時的に退避さ
れる6SIsではS14で求めたCwc。
OCAを正しい値としてWCレジスタ2a、CAレジス
タ2bに大々再設定する。
以下SI6. Sy 、Su+は第3図の34 、 S
s 。
Ssと同様テアリ、DMA動作、5C8IvJ作が再開
されることとなる。
以上のようにすることにより転送時のWCレジスタ2a
、CAレジスタ2bとTCレジスタ5aの値のずれを防
止し得るだけでなくどこまで転送したのかを正確に知る
ことができる。
なお、本実施例では1バイトのデータを1転送単位とし
てメモリ1より読み出し、5C3Iバス6を介して転送
する例を示したが、本発明はこれに限るものではなく、
例えば数ワード分のデータを1度に読み出して転送する
ブリフェッチ型のDMAコントローラのように任意のデ
ータ1を1転送単位とする場合にも適用でき、しかも1
転送単位のデータ量が大きい程(例えば数バイトを1転
送単位とする)上記カウントレジスタのカウントのずれ
の影響が大きいことから、本発明を適用した場合の効果
が大ぎくなる。
また、本実施例では通信回線として5C8Iパス6を用
いた場合を説明したが、これに限られることはなく、S
DP或いはこれに相当する機能を有するものであれば伯
の通信回線であっても同様に適用することができる。
更に、本実施例ではメモリからデータを読み出して通信
回線に供給される例を示したが、通信回線からメモリへ
データを書き込む場合にも同様に適用することができる
発明の効果 上述の如く、本発明によれば、データの転送中に一時的
に転送を中断した場合であっても、メモリからの読み出
しのカウントとデータ転送のカウントとの間にずれを生
じることはなく正確に転送が行い得ると同時に、データ
をどこまで転送したのかを正確に知ることができ、更に
ブリフェッチタイプのDMAコントローラのように数ワ
ード分を一度に読み出して転送を行うDMAコントロ−
ラを用いた装dに本発明を適用すれば、上記メモリから
の読み出しのカウントとデータ転送のカラン1−の間に
ずれが生じないことの効果がより大きくなるという特長
を有する。
【図面の簡単な説明】
第1図は本発明の一実施例のフローチャート、第2図は
DMAコントローラ、5csrバスを用いたデータ転送
を行う装置のブロック図、第3図は従来のデータ転送制
御方法の一例の手順を示すフ0−ヂャートである。 1・・・メモリ、2・・・DMAコントローラ、2a・
・・WCレジスタ、2b・・・CAレジスタ、2C−・
・MCレジスタ、3・・・データバス、4・・・CPU
、5・・・5C8Iコントローラ、5a・・・TCレジ
スタ、5b・・・Cレジスタ、5C・・・SSレジスタ
、6・・・5C8Iバス。 第1図 第2図 ? 5CSIl′Cス 第3図

Claims (1)

  1. 【特許請求の範囲】 中央処理回路及び直接メモリアクセス制御回路を用いて
    メモリと通信回線との間のデータ転送を制御するデータ
    転送制御方法であつて、 データ転送開始前に、前記直接メモリアクセス制御回路
    内にあつて前記メモリから1転送単位のデータの読み出
    し又は書き込みが行なわれると1だけデクリメントされ
    る第1のカウントレジスタに希望する転送バイト数を設
    定し、 前記直接メモリアクセス制御回路内にあつて前記メモリ
    から1転送単位のデータの読み出し又は書き込みが行な
    われると1だけインクリメントされて次にアクセスされ
    るアドレスを示す第2のカウントレジスタにデータの転
    送開始アドレスの値を設定し、 通信回線の動作を制御する通信回線制御回路内にあつて
    前記メモリに書き込まれ又は読み出される1転送単位の
    データが該通信回線によつて転送されると1だけデクリ
    メントされる第3のカウントレジスタに該転送バイト数
    を設定し、前記中央処理回路に該転送バイト数及び該転
    送開始アドレスの値の前期値を記憶させた後データ転送
    を開始し、 データ転送開始後にデータ転送を中断した時は、該転送
    バイト数及び該転送開始アドレスの値の初期値とデータ
    転送を中断した時点での該第1乃至第3のレジスタの値
    より、該中央処理回路によつて該第1及び第2のレジス
    タの正しい値を算出し、該第1及び第2のレジスタに再
    設定することを特徴とするデータ転送制御方法。
JP63113751A 1988-05-11 1988-05-11 データ転送制御方法 Granted JPH01283659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63113751A JPH01283659A (ja) 1988-05-11 1988-05-11 データ転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63113751A JPH01283659A (ja) 1988-05-11 1988-05-11 データ転送制御方法

Publications (2)

Publication Number Publication Date
JPH01283659A true JPH01283659A (ja) 1989-11-15
JPH0561668B2 JPH0561668B2 (ja) 1993-09-06

Family

ID=14620201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63113751A Granted JPH01283659A (ja) 1988-05-11 1988-05-11 データ転送制御方法

Country Status (1)

Country Link
JP (1) JPH01283659A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188355A (ja) * 1990-11-22 1992-07-06 Oki Data Syst:Kk ダイレクトメモリアクセス制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188355A (ja) * 1990-11-22 1992-07-06 Oki Data Syst:Kk ダイレクトメモリアクセス制御装置

Also Published As

Publication number Publication date
JPH0561668B2 (ja) 1993-09-06

Similar Documents

Publication Publication Date Title
JPH0496163A (ja) Dmaコントローラ
US5481756A (en) DMA controller mailing auto-initialize halting unit
JPH0798663A (ja) 非同期i/o制御方式
JP3514651B2 (ja) リブート制御装置
JPH01283659A (ja) データ転送制御方法
JPH04311219A (ja) データバックアップ方式
JP2846760B2 (ja) プログラマブルコントローラ
JPS63305445A (ja) 電源切断時のデ−タ書込み方式
JPS63157238A (ja) コンピユ−タ
JP3130798B2 (ja) バス転送装置
JPS6355094B2 (ja)
JP2941809B2 (ja) 画像処理方法及びその装置
JP2501393B2 (ja) 直接メモリアクセス装置
JPH04169929A (ja) ブートプライオリティ変更装置
JPH0833838B2 (ja) コンピユ−タシステム
JPH0546641A (ja) オンラインデータ引継ぎ方式
JP2909128B2 (ja) 起動処理の引き継ぎ処理装置
JPH04245360A (ja) 入出力チャネル
JPH02299046A (ja) 計算機システムの閉塞/開始処理方法
JPH02144653A (ja) データ処理装置
JPH08147184A (ja) エミュレータ
JPH03260746A (ja) データ更新方法
JPS62256047A (ja) 擬似障害発生方式
JPH02253336A (ja) プログラム起動方式
JPS63298654A (ja) マイクロコンピユ−タ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees