JPH0561668B2 - - Google Patents

Info

Publication number
JPH0561668B2
JPH0561668B2 JP63113751A JP11375188A JPH0561668B2 JP H0561668 B2 JPH0561668 B2 JP H0561668B2 JP 63113751 A JP63113751 A JP 63113751A JP 11375188 A JP11375188 A JP 11375188A JP H0561668 B2 JPH0561668 B2 JP H0561668B2
Authority
JP
Japan
Prior art keywords
data
register
transfer
transferred
data 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.)
Expired - Fee Related
Application number
JP63113751A
Other languages
English (en)
Other versions
JPH01283659A (ja
Inventor
Tooru 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

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデータ転送制御方法に係り、特に直接
メモリアクセス制御回路(以下DMAコントロー
ラという)を用いてコンピユータ内のメモリと周
辺機器の通信回線との間のデータ転送又は光デイ
スクやHDDなどのデータ転送を制御するデータ
転送制御方法に関する。
従来の技術 第2図は直接メモリアクセス制御回路(以下
「DMAコントローラ」という)2を用いてSCSI
(Small Computer System Interface)バス6と
メモリ1との間のデータ転送を行う装置のブロツ
ク図を示す。DMA(ダイレクト・メモリ・アク
セス)は中央処理回路(以下CPUという)4の
介入なしでデータバス3を利用してメモリ1や他
の入出力装置間で直接にデータの転送を行う方式
であり、CPU4を介してデータの転送を行う場
合に比べて転送速度が大幅に向上する。DMAコ
ントローラ2はこのDMA転送動作を制御する。
またSCSIバス6はメモリ1から転送されたデー
タが正しく転送されたことを確認するための図示
しない手段を持ち、SCSIコントローラ5によつ
て制御される。
DMAコントローラ2の内部には、ワーキング
カウントレジスタ(Working Count Register;
以下WCレジスタと略記する)2a、カレントア
ドレスレジスタ(Current Address Register;
以下CAレジスタと略記する)2b及びマスター
コントロールレジスタ(Master Control
Register;以下MCレジスタと略記する)2cが
ある。WCレジスタ2aでは、メモリ1からSCSI
バス6へ転送すべきデータの量即ち転送予定デー
タ量がCPU4によつて設定されており、メモリ
1より1バイト読み出されると1だけデクリメン
トされ、その結果がゼロとなるとメモリ1よりの
読み出しを終了する。CAレジスタ2bではメモ
リ1から読み出すデータの先頭番地が設定されて
おり、メモリ1から1バイトのデータが読み出さ
れると1だけインクリメントされ次に読み出すア
ドレスを指定する。またMCレジスタはメモリ1
からのデータ転送の開始及び終了を該CPU4に
よつて該DMAコントローラ2に対して指示する
ものであり、CPU4が該MCレジスタ2cへ1H
(16進数の1を示す。以下同様)と書き込むこと
により、DMA動作が開始され、CPU4が0と書
き込むとDMA動作が停止する。WCレジスタ2
aがゼロとなつて転送が終了した場合にはDMA
コントローラ2自身がこのMCレジスタ2cに0
と書き込む。
一方、SCSIコントローラ5の内部にはトラン
スフアカウントレジスタ(Transfer Count
Register;TCレジスタと略記する)5a、コマ
ンドレジスタ(Command Register;Cレジス
タと略記する)5b、及びSCSIステータスレジ
スタ(SCSI Status Register;SSレジスタと略
記する)5cがある。TCレジスタ5aには該転
送予定データ量(通常WCレジスタ2aに設定さ
れるバイト数と一致する)が設定され、SCSIコ
ントローラ5よりSCSIバス6へ1バイト転送さ
れると1だけデクリメントされ、ゼロとなつた時
点で転送を終了する。Cレジスタ5bはSCSIバ
スの転送開始を指示するためのもので、CPU4
がCレジスタ5bに08Hと書き込むことにより転
送を開始させる。SSレジスタ5cはSCSIバスの
状態を示すレジスタであり、例えば後述する
SDPが送られてくるとSSレジスタ5cは21Hとな
つてCPU4に割り込みをかける。
SCSIバス6には、データをどこまで転送した
かを確認するための図示しない手段が備わつてい
る。これはデータを転送中にSCSIバス6を介し
てセーブデータポインタメツセージ(Save Data
Pointer Message;SDPと略記する)をSCSIコ
ントローラ5に送り返し、そこまでのデータはパ
リテイチエツクするなどの結果正しく転送された
ことを示すものである。
転送途中にSCSIバス6を通じてSDPが送られ
て来るとSCSIコントローラ5はSSレジスタの値
を21Hとして(第3図ステツプS1)CPU4に割り
込みをかける。これによつてCPU4はSCSIコン
トローラ5の転送動作を停止させる。第3図はこ
の後の動作のフローチヤートを示す。第3図に示
すステツプ2(以下S2等と略記する)において、
CPU4がMCレジスタに0と書いてDMAコント
ローラ2を停止させる。次にS3でCAレジスタ及
びWCレジスタの値を退避させる。これはその時
までのデータは正常に転送されたという証拠を残
すためである。その後S4でMCレジスタに1を書
き込んでDMAコントローラを動作させDMA動
作を再開する。最後にS5においてCレジスタ5b
に08Hと書き込んでSCSIコントローラを動作させ
るSCSIバス6による転送を再開する。
発明が解決しようとする課題 しかしながら、第3図に示す方法でデータの転
送を行うと、以下のような問題が発生する。すな
わち、DMAコントローラ2がメモリ1よりデー
タを読み出した後、SCSIバス6がまだそのデー
タを転送していない時点で第3図のS1の動作が行
われデータの転送が中断されると、DMAコント
ローラ2の中のWCレジスタ2a及びCAレジス
タ2bは夫々デクリメント、インクリメントされ
ているにも拘らずSCSIコントローラ4の中のTC
レジスタ5aはまだデクリメントされていない。
したがつてこの後データの転送を引き続いて行
うとWCレジスタ2a、CAレジスタ2bとTCレ
ジスタ5aとの間のカウント数がずれてしまい、
DMAコントローラ2の動作が終了した時点でも
SCSIコントローラ5の動作は終了していないこ
とになる。この結果データが画像データである場
合には画面上に表示される画像がずれてしまうこ
とになる。またコンピユータのデータを転送する
場合には、次の転送の時に前回転送すべきだつた
データがメモリ1中に残つているなどの不都合が
生じる。
特に、1転送単位が複数ワード分のデータのプ
リフエツチを伴うDMAコントローラを用いてデ
ータの転送を行う場合には、1回の転送の中断で
更に大きなずれが生じることとなり、種々の不都
合が生じるという問題があつた。
本発明は、上記の点に鑑みてなされたものであ
り、転送の途中に中断があつた場合にもメモリか
らのデータの読み出しとデータの転送との間にず
れを生じることのないデータ転送制御方法を提供
することを目的とする。
課題を解決するための手段 本発明は、中央処理回路及び直接メモリアクセ
ス制御回路を用いてメモリと通信回線との間のデ
ータ転送を制御するデータ転送制御方法であつ
て、データ転送開始前に、前記直接メモリアクセ
ス制御回路内にあつて前記メモリで1転送単位の
データの読み出し又は書き込みが行なわれると1
だけデクリメントされる第1のカウントレジスタ
に希望する転送予定データ量を設定し、前記直接
メモリアクセス制御回路内にあつて前記メモリで
1転送単位のデータの読み出し又は書き込みが行
なわれると1だけインクリメントされて次にアク
セスされるアドレスを示す第2のカウンタレジス
タにデータの転送開始アドレスの値を設定し、通
信回線の動作を制御する通信回線制御回路内にあ
つて1転送単位のデータが通信回線によつて転送
されると1だけデクリメントされる第3のカウン
トレジスタに転送予定データ量の初期値を設定
し、前記中央処理回路に転送バイト数及び転送開
始アドレスの値の初期値を記憶させた後データ転
送を開始し、データ転送開始後にデータ転送を中
断した時は、転送予定データ量と転送開始アドレ
スの値の初期値とデータ転送を中断した時点での
第3のレジスタの値とより、第1及び第2のレジ
スタの値を個別に算出し、第1及び第2のレジス
タに再設定する。
作 用 第1のカウントレジスタに希望する転送バイト
数を設定し、第2のカウントレジスタにデータの
転送開始アドレスの値の初期値を設定し、第3の
カウントレジスタに上記第1のカウントレジスタ
と同数の転送バイト数を設定すると、中央処理回
路にはこれら転送バイト数及びデータの転送開始
アドレスの値の初期値が保持される。
データの転送が開始されメモリより1転送単位
のデータが読み出されると、第1のカウントレジ
スタは1だけデクリメントされ第2のカウントレ
ジスタは1だけインクリメントされる。またこの
1転送単位のデータが通信回線を介して転送され
ると、第3のカウントレジスタは1だけデクリメ
ントされる。
メモリよりデータが読み出された直後にデータ
の転送が中断されると、第1のカウントレジスタ
はデクリメントされ第2のカウントレジスタはイ
ンクリメントされるが、データはまで通信回線に
転送されていないため第3のカウントレジスタは
デクリメントされない。この時中央処理回路は、
予め保持していた上記第1乃至第3のカウントレ
ジスタ夫々の初期値と第3のカウントレジスタの
現在値とより、第1及び第2のカウントレジスタ
の現在値を別個に求め、第1及び第2のカウント
レジスタに再設定する。
実施例 第1図は本発明方法の一実施例のフローチヤー
トを示す。同図の動作プログラムは第2図の中央
処理回路(以下CPUという)4中に内蔵され、
このプログラムを実行する回路は第2図に示すも
のと同様である。
CPU4第1のカウントレジスタであるWCレジ
スタ2a、第2のカウントレジスタであるCAレ
ジスタ2b及び第3のカウントレジスタである
TCレジスタ5aに設定された初期値IWC,ICA
ITCを内部の記憶領域に保持する。
第1図においてS11,S12は第3図のS12と同様
であり、次のS13〜S15が本発明の主要部となる。
メモリ1より1バイトのデータが読み出された直
後にデータの転送が中断されると、WCレジスタ
2aはデクリメントされCAレジスタ2bはイン
クリメントされるが、TCレジスタ5aはいまだ
にデクリメントされない。しかしデータはまだ
SCSIバス6を介して転送されていないのである
から、デクリメントされていないTCレジスタ5
aの値が正しい値となつている。
以上のことからS13においてこのTCレジスタ5
aの値(これをCTCとする)をCPU4内に読み込
む。次にS14において、CPU内に予め保持された
上記IWC,ICA,ITCとTCレジスタの現在値CTCとよ
りWCレジスタ2a及びCAレジスタ2bの現在
の正しい値CWC,CCAを算出する。これらの値は
データの転送が中断される以前にSCSIバス6を
介して転送されたデータのバイト数がITC−CTC
あることから CWC=IWC−(ITC−CTC) (1) CCA=ICA+(ITC−CTC) (2) を実行することにより求められる。
尚、通常は、IWC=ITC であるからCWC=CTC として支障ない。
このようにして求められたCWC,CCAはCPU4
内に一時的に退避される。S15ではS14で求めた
CWC,CCAを正しい値としてWCレジスタ2a、
CAレジスタ2bに夫々再設定する。
以下、S16,S17,S18は第3図のS4,S5,S6
同様であり、DMA動作、SCSI動作が再開される
こととなる。
以上のようにすることにより転送時のWCレジ
スタ2a、CAレジスタ2bとTCレジスタ5aの
値のずれを防止し得るだけでなくどこまで転送し
たのかを正確に知ることができる。
なお、本実施例では1バイトのデータを1転送
単位としてメモリ1より読み出し、SCSIバス6
を介して転送する例を示したが、本発明はこれに
限るものではなく、例えば数バイト分のデータを
1度に読み出して転送するプリフエツチ型の
DMAコントローラのように任意のデータ量を1
転送単位とする場合にも適用でき、しかも例え
ば、数バイトのデータを予め読でおいてからこれ
を1転送単位のデータとして転送する場合のよう
に1転送単位のデータ量が大きい程上記カウント
レジスタのカウントのずれの影響が大きいことか
ら、本発明を適用した場合の効果が大きくなる。
また、本実施例では通信回線としてSCSIバス
6を用いた場合を説明したが、これに限られるこ
とはなく、SDP或いはこれに相当する機能を有
するものであれば他の通信回線であつても同様に
適用することができる。
更に、本実施例ではメモリからデータを読み出
して通信回線に供給する例を示したが、通信回線
からメモリへデータを書き込む場合にも同様に適
用することができる。
発明の効果 上述の如く、本発明によれば、データの転送中
に一時的に転送を中断した場合であつても、メモ
リからの読み出しのカウントとデータ転送のカウ
ントとの間にずれを生じることはなく正確に転送
が行い得ると同時に、データをどこまで転送した
のかを正確に知ることができ、更にプリフエツチ
タイプのDMAコントローラのように数バイト分
を一度に読み出して転送を行うDMAコントロー
ラを用いた装置に本発明を適用すれば、上記メモ
リからの読み出しのカウントとデータ転送のカウ
ントとの間にずれを生じないことの効果がより大
きくなるという特長を有する。
【図面の簡単な説明】
第1図は本発明の一実施例のフローチヤート、
第2図はDMAコントローラを用いてSCSIバスと
メモリ間でデータ転送を行う装置のブロツク図、
第3図は従来のデータ転送制御方法の一例の手順
を示すフローチヤートである。 1…メモリ、2…DMAコントローラ、2a…
WCレジスタ、2b…CAレジスタ、2c…MCレ
ジスタ、3…データバス、4…CPU、5…SCSI
コントローラ、5a…TCレジスタ、5b…Cレ
ジスタ、5c…SSレジスタ、6…SCSIバス。

Claims (1)

  1. 【特許請求の範囲】 1 中央処理回路及び直接メモリアクセス制御回
    路を用いてメモリと通信回線との間のデータ転送
    を制御するデータ転送制御方法であつて、 データ転送開始前に、前記直接メモリアクセス
    制御回路内にあつて前記メモリで1転送単位のデ
    ータの読み出し又は書き込みが行なわれると1だ
    けデクリメントされる第1のカウントレジスタに
    転送予定データ量を設定し、 前記直接メモリアクセス制御回路内にあつて前
    記メモリで1転送単位のデータの読み出し又は書
    き込みが行なわれると1だけインクリメントされ
    て次にアクセスされるアドレスを示す第2のカウ
    ントレジスタにデータの転送開始アドレスの値を
    設定し、 通信回線の動作を制御する通信回線制御回路内
    にあつて1転送単位のデータが該通信回線によつ
    て転送されると1だけデクリメントされる第3の
    カウントレジスタに該転送データ量を設定し、前
    記中央処理回路に該転送予定データ量の初期値及
    び該転送開始アドレスの値の初期値を記憶させた
    後データ転送を開始し、 データ転送開始後にデータ転送を中断した時
    は、該転送予定データ量の初期値及び該転送開始
    アドレスの値の初期値とデータ転送を中断した時
    点での該第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 JPH01283659A (ja) 1989-11-15
JPH0561668B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2625573B2 (ja) * 1990-11-22 1997-07-02 株式会社沖データ ダイレクトメモリアクセス制御装置

Also Published As

Publication number Publication date
JPH01283659A (ja) 1989-11-15

Similar Documents

Publication Publication Date Title
US5367639A (en) Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
JPH05257866A (ja) 入出力装置に対して実行すべき直接メモリアクセス動作を動的に連鎖する装置及び方法
JPH0291749A (ja) 不揮発型半導体メモリ装置
US6732198B1 (en) Methods and apparatus for saving and restoring scatter/gather list processing context in intelligent controllers
JP2821345B2 (ja) 非同期i/o制御方式
JPH0561668B2 (ja)
JPS63305445A (ja) 電源切断時のデ−タ書込み方式
JPH0821009B2 (ja) チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム
JP3130798B2 (ja) バス転送装置
JPS6113328A (ja) データファイルのアクセス制御装置
JP3131844B2 (ja) 端末装置及び端末装置のメモリ・ダンプ転送方式
JP3246605B2 (ja) デ−タ転送方法
JP3228575B2 (ja) データ通信方式
JP3127737B2 (ja) ディジタル信号処理装置
JPH04306754A (ja) Dmaコントローラ
JP2941809B2 (ja) 画像処理方法及びその装置
JPS6336021B2 (ja)
JP2001084216A (ja) データプリフェッチシステム、プリフェッチ方法、記録媒体
JPS6048784B2 (ja) デ−タ転送装置
JPS5938827A (ja) マイクロプロセツサipl方式
JPS63226757A (ja) 情報処理システムのデ−タ転送方式
JPS6355094B2 (ja)
JPH0242529A (ja) 入出力処理装置
JP2001147802A (ja) 画像処理装置
JPS6254348A (ja) フアイルの障害処理方式

Legal Events

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