JPH05128043A - データ転送制御方式 - Google Patents
データ転送制御方式Info
- Publication number
- JPH05128043A JPH05128043A JP29259891A JP29259891A JPH05128043A JP H05128043 A JPH05128043 A JP H05128043A JP 29259891 A JP29259891 A JP 29259891A JP 29259891 A JP29259891 A JP 29259891A JP H05128043 A JPH05128043 A JP H05128043A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- size
- address
- peripheral device
- 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
Links
- 230000002093 peripheral effect Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Abstract
(57)【要約】
【目的】 ホストコンピュータ上のメインメモリ上の複
数のアドレス領域に分散して存在するデータを周辺装置
に短時間で転送することを可能とする。 【構成】 データ転送に先だち、メインメモリ13上に
分散して存在するデータブロックA、Bのデータサイズ
の合計値をコマンドパケットにて周辺装置12に送出す
る。周辺装置12は、受信したコマンドパケットから合
計値を抽出しサイズレジスタ42、45に格納する。ホ
ストコンピュータ側のCPU25は転送制御テーブル2
8を作成し、その内容に従ってデータブロックAの先頭
アドレスをアドレスレジスタ31にセットするととも
に、そのデータサイズをサイズアドレス32にセット
し、DMAの起動をかける。これにより、データブロッ
クAのデータが周辺装置に転送される。次にCPU25
は、データブロックBについても同様のシーケンスによ
り周辺装置12に転送する。周辺装置12のDMA制御
回路24は、サイズレジスタ42内の合計データサイズ
の分だけデータが転送されて来たとき、完了メッセージ
を送出する。
数のアドレス領域に分散して存在するデータを周辺装置
に短時間で転送することを可能とする。 【構成】 データ転送に先だち、メインメモリ13上に
分散して存在するデータブロックA、Bのデータサイズ
の合計値をコマンドパケットにて周辺装置12に送出す
る。周辺装置12は、受信したコマンドパケットから合
計値を抽出しサイズレジスタ42、45に格納する。ホ
ストコンピュータ側のCPU25は転送制御テーブル2
8を作成し、その内容に従ってデータブロックAの先頭
アドレスをアドレスレジスタ31にセットするととも
に、そのデータサイズをサイズアドレス32にセット
し、DMAの起動をかける。これにより、データブロッ
クAのデータが周辺装置に転送される。次にCPU25
は、データブロックBについても同様のシーケンスによ
り周辺装置12に転送する。周辺装置12のDMA制御
回路24は、サイズレジスタ42内の合計データサイズ
の分だけデータが転送されて来たとき、完了メッセージ
を送出する。
Description
【0001】
【産業上の利用分野】本発明は、ホストコンピュータと
周辺装置との間のデータ転送を制御するデータ転送制御
方式に関する。
周辺装置との間のデータ転送を制御するデータ転送制御
方式に関する。
【0002】
【従来の技術】一般のコンピュータシステムにおいて
は、例えば磁気テープ装置や磁気ディスク装置のような
外部記憶装置が設けられ、ホストコンピュータとこれら
の装置との間でデータ転送が行われる。このようなデー
タ転送を行うに際し、ホストコンピュータ側のCPU
は、転送するデータ毎にデータ転送コマンドを発行し、
このコマンドに基づいて一連の動作により転送が行われ
るようになっている。
は、例えば磁気テープ装置や磁気ディスク装置のような
外部記憶装置が設けられ、ホストコンピュータとこれら
の装置との間でデータ転送が行われる。このようなデー
タ転送を行うに際し、ホストコンピュータ側のCPU
は、転送するデータ毎にデータ転送コマンドを発行し、
このコマンドに基づいて一連の動作により転送が行われ
るようになっている。
【0003】図5は、従来のデータ転送制御方式を説明
するためのものである。この図に示すように、ここでは
ホストコンピュータ11上に設けられたメインメモリ1
3上の相互に離れた領域のデータブロックA,Bを周辺
装置12に転送する場合について考える。この場合、図
示しないCPUは、まず第1の書込みコマンド14を周
辺装置12側に送出し、このコマンドによりデータブロ
ックAを周辺装置12に送出する。これが終了すると、
周辺装置12から完了メッセージ15が返送される。次
にCPUは第2の書込みコマンド16を送出することに
よりデータブロックBを周辺装置12に転送する。これ
に対しても、周辺装置12から完了メッセージ17が返
送される。このように、従来のデータ転送方式において
は、メインメモリ上の連続しないアドレス領域に存在す
るデータを周辺装置に転送する場合には、各データブロ
ック毎に書込みコマンドを発行し、所定のシーケンスに
よりデータ転送を行うようになっていた。
するためのものである。この図に示すように、ここでは
ホストコンピュータ11上に設けられたメインメモリ1
3上の相互に離れた領域のデータブロックA,Bを周辺
装置12に転送する場合について考える。この場合、図
示しないCPUは、まず第1の書込みコマンド14を周
辺装置12側に送出し、このコマンドによりデータブロ
ックAを周辺装置12に送出する。これが終了すると、
周辺装置12から完了メッセージ15が返送される。次
にCPUは第2の書込みコマンド16を送出することに
よりデータブロックBを周辺装置12に転送する。これ
に対しても、周辺装置12から完了メッセージ17が返
送される。このように、従来のデータ転送方式において
は、メインメモリ上の連続しないアドレス領域に存在す
るデータを周辺装置に転送する場合には、各データブロ
ック毎に書込みコマンドを発行し、所定のシーケンスに
よりデータ転送を行うようになっていた。
【0004】
【発明が解決しようとする課題】このように従来のデー
タ転送制御方式では、ホストコンピュータの線形アドレ
ス空間上の隣接していない複数の領域のデータを周辺装
置に転送する場合には、これらの領域の数に見合う分の
転送コマンドを発行する必要があった。このため従来
は、以下のような問題があった。
タ転送制御方式では、ホストコンピュータの線形アドレ
ス空間上の隣接していない複数の領域のデータを周辺装
置に転送する場合には、これらの領域の数に見合う分の
転送コマンドを発行する必要があった。このため従来
は、以下のような問題があった。
【0005】(1)分散した各データブロックごとにコ
マンドを発行しなければならず、その制御のためのオー
バヘッドが大きくなるとともに、全体としての転送時間
が長くなる。すなわち、図8(a)に示すように、デー
タブロックAを転送するのに要する時間は、第1の転送
コマンド14、データブロックA、及び完了メッセージ
15の転送時間とこれらの間隔を合計した時間T1とな
り、データブロックBを転送するのに要する時間は、第
2の転送コマンド16、データブロックB、及び完了メ
ッセージ17の転送時間とこれらの間隔を合計した時間
T2となる。さらに、これらの両コマンドの間には所定
の時間間隔T3も必要となる。従って、従来のデータ転
送制御方式では、2つのデータブロックA,Bの転送に
要する時間はT1+T2+T3となり、長時間を要する
こととなる。
マンドを発行しなければならず、その制御のためのオー
バヘッドが大きくなるとともに、全体としての転送時間
が長くなる。すなわち、図8(a)に示すように、デー
タブロックAを転送するのに要する時間は、第1の転送
コマンド14、データブロックA、及び完了メッセージ
15の転送時間とこれらの間隔を合計した時間T1とな
り、データブロックBを転送するのに要する時間は、第
2の転送コマンド16、データブロックB、及び完了メ
ッセージ17の転送時間とこれらの間隔を合計した時間
T2となる。さらに、これらの両コマンドの間には所定
の時間間隔T3も必要となる。従って、従来のデータ転
送制御方式では、2つのデータブロックA,Bの転送に
要する時間はT1+T2+T3となり、長時間を要する
こととなる。
【0006】(2)周辺装置のデータ転送に対する応答
が遅くなるという問題がある。例えば図6に示すよう
に、周辺装置として磁気テープ装置を考えたとき、矢印
21の方向に走行する磁気テープ18上には、オペレー
ティングシステム(OS)の管理用データ19とユーザ
データ20とが隣接して記録される必要がある。ところ
が、OSの管理用データ19が、例えばメインメモリ1
3(図5)上のデータブロックAの位置に存在し、ユー
ザデータ20がデータブロックB(同図)の位置に存在
していたとすると、OSの管理用データ19とユーザデ
ータ20の転送とはそれぞれ別個のコマンドにより実行
されるため、磁気テープ18上の両者の記録領域間に、
図7に示すようなブランク29が挿入されてしまうこと
となる。従って、このようなブランクの挿入を防止する
ため、磁気テープ装置側では、各データ転送コマンド毎
にデータの書込みヘッドを所望のブロックへ合わせるた
めの機械的な動作が必要となり、処理時間が著しく長く
なる。また、周辺装置がハードディスクや光ディスク装
置等であった場合、これらの装置は本来一つのデータ転
送コマンドで回転待ちなく連続的にデータ転送が可能で
あるにもかかわらず、上記したような複数のコマンドで
データ転送を行う場合にはコマンド毎に回転待時間を要
することとなり、処理時間が長くなる。
が遅くなるという問題がある。例えば図6に示すよう
に、周辺装置として磁気テープ装置を考えたとき、矢印
21の方向に走行する磁気テープ18上には、オペレー
ティングシステム(OS)の管理用データ19とユーザ
データ20とが隣接して記録される必要がある。ところ
が、OSの管理用データ19が、例えばメインメモリ1
3(図5)上のデータブロックAの位置に存在し、ユー
ザデータ20がデータブロックB(同図)の位置に存在
していたとすると、OSの管理用データ19とユーザデ
ータ20の転送とはそれぞれ別個のコマンドにより実行
されるため、磁気テープ18上の両者の記録領域間に、
図7に示すようなブランク29が挿入されてしまうこと
となる。従って、このようなブランクの挿入を防止する
ため、磁気テープ装置側では、各データ転送コマンド毎
にデータの書込みヘッドを所望のブロックへ合わせるた
めの機械的な動作が必要となり、処理時間が著しく長く
なる。また、周辺装置がハードディスクや光ディスク装
置等であった場合、これらの装置は本来一つのデータ転
送コマンドで回転待ちなく連続的にデータ転送が可能で
あるにもかかわらず、上記したような複数のコマンドで
データ転送を行う場合にはコマンド毎に回転待時間を要
することとなり、処理時間が長くなる。
【0007】この発明は係る課題を解決するためになさ
れたもので、一方の装置のメインメモリ上の複数の領域
に分散して存在するデータを、短い時間で他方の装置に
転送することができるデータ転送制御方式を得ることを
目的とする。
れたもので、一方の装置のメインメモリ上の複数の領域
に分散して存在するデータを、短い時間で他方の装置に
転送することができるデータ転送制御方式を得ることを
目的とする。
【0008】
【課題を解決するための手段】この発明に係るデータ転
送制御方式は、ホストコンピュータの主メモリ上の相互
に隣接しない複数のアドレス領域と周辺装置との間で行
うデータ転送の制御方式であって、ホストコンピュータ
側では、主メモリ上のデータ転送に係わる複数のアドレ
ス領域の領域サイズの合計値を1つのコマンドで周辺装
置に通知しておき、転送アドレス指定用レジスタ及び転
送サイズ指定用レジスタに複数のアドレス領域の各先頭
アドレス値とサイズとを順次セットすることにより、こ
れら複数のアドレス領域と周辺装置との間で連続的にデ
ータ転送を行い、周辺装置側では、ホストコンピュータ
から通知された領域サイズの合計値を記憶しておき、ホ
ストコンピュータとの間で連続的に転送されるデータの
サイズの合計が領域サイズの合計値に達したとき、転送
処理を終了するようにしたものである。
送制御方式は、ホストコンピュータの主メモリ上の相互
に隣接しない複数のアドレス領域と周辺装置との間で行
うデータ転送の制御方式であって、ホストコンピュータ
側では、主メモリ上のデータ転送に係わる複数のアドレ
ス領域の領域サイズの合計値を1つのコマンドで周辺装
置に通知しておき、転送アドレス指定用レジスタ及び転
送サイズ指定用レジスタに複数のアドレス領域の各先頭
アドレス値とサイズとを順次セットすることにより、こ
れら複数のアドレス領域と周辺装置との間で連続的にデ
ータ転送を行い、周辺装置側では、ホストコンピュータ
から通知された領域サイズの合計値を記憶しておき、ホ
ストコンピュータとの間で連続的に転送されるデータの
サイズの合計が領域サイズの合計値に達したとき、転送
処理を終了するようにしたものである。
【0009】
【作用】この発明に係るデータ転送制御方式では、ホス
トコンピュータから周辺装置に主メモリ上の転送に係わ
る複数のアドレス領域の合計値を1つのコマンドで通知
するとともに、各アドレス領域のアドレス値とサイズと
を順次設定することにより、これらの分散した領域と周
辺装置との間で連続的にデータ転送を行うことができ
る。そして、予定した分のデータの転送が終了すると、
周辺装置側からホストコンピュータへのデータ転送完了
通知が行われる。
トコンピュータから周辺装置に主メモリ上の転送に係わ
る複数のアドレス領域の合計値を1つのコマンドで通知
するとともに、各アドレス領域のアドレス値とサイズと
を順次設定することにより、これらの分散した領域と周
辺装置との間で連続的にデータ転送を行うことができ
る。そして、予定した分のデータの転送が終了すると、
周辺装置側からホストコンピュータへのデータ転送完了
通知が行われる。
【0010】
【実施例】以下、実施例について本発明を詳細に説明す
る。
る。
【0011】図1は、本発明の一実施例におけるデータ
転送制御方式を応用したシステムを表したものである。
この図に示すように、ホストコンピュータ11、及び周
辺装置12には、それぞれDMA制御回路23、24が
設けられ、インタフェイス回路27、29を介して相互
に接続されている。これらのDMA制御回路23、24
は、それぞれに設けられたCPU25、35の指示によ
り、メインメモリ13と磁気テープ装置26との間のデ
ータ転送制御を行うようになっている。ここでは、ホス
トコンピュータ11のメインメモリ13の隣接しない領
域に2つのデータブロックA、Bが存在しており、これ
らを周辺装置12に転送するものとする。
転送制御方式を応用したシステムを表したものである。
この図に示すように、ホストコンピュータ11、及び周
辺装置12には、それぞれDMA制御回路23、24が
設けられ、インタフェイス回路27、29を介して相互
に接続されている。これらのDMA制御回路23、24
は、それぞれに設けられたCPU25、35の指示によ
り、メインメモリ13と磁気テープ装置26との間のデ
ータ転送制御を行うようになっている。ここでは、ホス
トコンピュータ11のメインメモリ13の隣接しない領
域に2つのデータブロックA、Bが存在しており、これ
らを周辺装置12に転送するものとする。
【0012】メインメモリ13上の所定の領域には、デ
ータ転送開始に先立って作成される転送制御テーブル2
8(図2:後述)が格納されるようになっている。CP
U25は、この転送制御テーブル28の内容に従って、
DMA制御回路23の制御を行う。
ータ転送開始に先立って作成される転送制御テーブル2
8(図2:後述)が格納されるようになっている。CP
U25は、この転送制御テーブル28の内容に従って、
DMA制御回路23の制御を行う。
【0013】DMA制御回路23には、以下に示すよう
なレジスタが設けられている。
なレジスタが設けられている。
【0014】(i) アドレスレジスタ31:このレジスタ
には、データ転送に先立って、転送対象のデータブロッ
クAまたはBの先頭アドレスが格納される。
には、データ転送に先立って、転送対象のデータブロッ
クAまたはBの先頭アドレスが格納される。
【0015】(ii)サイズレジスタ32:このレジスタに
は、転送すべき各データブロックごとのデータサイズが
格納される。
は、転送すべき各データブロックごとのデータサイズが
格納される。
【0016】また、インタフェイス回路27には、以下
のような各種レジスタが設けられている。
のような各種レジスタが設けられている。
【0017】(i) コマンドレジスタ33:このレジスタ
には、CPU25から与えられたコマンドが格納され
る。
には、CPU25から与えられたコマンドが格納され
る。
【0018】(ii)ステータスレジスタ34:このレジス
タには、周辺装置12から送られてきたステータスの内
容が格納される。
タには、周辺装置12から送られてきたステータスの内
容が格納される。
【0019】(iii) サイズレジスタ35:このレジスタ
には、サイズレジスタ32と同様の内容が格納される。
には、サイズレジスタ32と同様の内容が格納される。
【0020】(iv)割込ステータスレジスタ36:外部割
込の原因となった周辺装置12からのステータスが格納
される。このレジスタの内容は、インタフェイス回路2
7からCPU25への外部割込37に応答してCPU2
5により読み出される。
込の原因となった周辺装置12からのステータスが格納
される。このレジスタの内容は、インタフェイス回路2
7からCPU25への外部割込37に応答してCPU2
5により読み出される。
【0021】一方、周辺装置12側では、インターフェ
ース回路29に転送されてきたデータは、DMA制御回
路24の制御の下にMT駆動回路30へ転送され、磁気
テープ装置26に記録されるようになっている。DMA
制御回路24には、以下に示すようなレジスタが設けら
れている。
ース回路29に転送されてきたデータは、DMA制御回
路24の制御の下にMT駆動回路30へ転送され、磁気
テープ装置26に記録されるようになっている。DMA
制御回路24には、以下に示すようなレジスタが設けら
れている。
【0022】(i) アドレスレジスタ41:このレジスタ
には、データ転送に先立ち、ホストコンピュータからの
コマンドパケットより抽出された転送先のアドレスが格
納される。周辺装置が磁気テープ装置の場合は磁気テー
プ上のブロックアドレス、周辺装置12が磁気ディスク
装置の場合はセクタアドレスである。
には、データ転送に先立ち、ホストコンピュータからの
コマンドパケットより抽出された転送先のアドレスが格
納される。周辺装置が磁気テープ装置の場合は磁気テー
プ上のブロックアドレス、周辺装置12が磁気ディスク
装置の場合はセクタアドレスである。
【0023】(ii)サイズレジスタ42:このレジスタに
は、後述するように、ホストコンピュータ11より送ら
れてきたコマンドパケットから抽出された合計転送デー
タサイズが格納される。
は、後述するように、ホストコンピュータ11より送ら
れてきたコマンドパケットから抽出された合計転送デー
タサイズが格納される。
【0024】また、インタフェイス回路29には、以下
のような各種レジスタが設けられている。
のような各種レジスタが設けられている。
【0025】(i) コマンドレジスタ43:このレジスタ
には、ホストコンピュータ11から送られてきたコマン
ドパケットから抽出されたコマンド内容が格納される。
には、ホストコンピュータ11から送られてきたコマン
ドパケットから抽出されたコマンド内容が格納される。
【0026】(ii)ステータスレジスタ44:このレジス
タには、ホストコンピュータ11に送出するステータス
の内容が格納される。
タには、ホストコンピュータ11に送出するステータス
の内容が格納される。
【0027】(iii) サイズレジスタ45:このレジスタ
には、サイズレジスタ42と同様の内容が格納される。
には、サイズレジスタ42と同様の内容が格納される。
【0028】(iv)割込ステータスレジスタ46:外部割
込の原因となったホストコンピュータ11からのステー
タスが格納される。このレジスタの内容は、インタフェ
イス回路29からCPU35への外部割込47に応答し
てCPU35により読み出される。
込の原因となったホストコンピュータ11からのステー
タスが格納される。このレジスタの内容は、インタフェ
イス回路29からCPU35への外部割込47に応答し
てCPU35により読み出される。
【0029】以上のような構成のコンピュータシステム
におけるデータ転送動作を、図4と共に説明する。ま
ず、ホストコンピュータ側では、OSからの要求がある
と(ステップS101)、CPU25は、図2に示すよ
うに転送先テーブル51と転送元テーブル52からなる
転送制御テーブル28をメインメモリ13上の所定の領
域に作成する。この図に示すように、転送元テーブル5
1は、転送先である磁気テープ上のブロックの先頭アド
レス54、転送データサイズの合計55、及び転送方向
56から構成される。また、転送元テーブル52は、デ
ータブロックAのエントリ57、データブロックBのエ
ントリ58、及び終了マーク59から構成される。エン
トリ57は、データブロックAのメインメモリ13上に
おける先頭アドレス61、サイズ62、及び転送方向6
3から構成される。同様に、エントリ58は、データブ
ロックBのメインメモリ13上における先頭アドレス6
4、サイズ65、及び転送方向66から構成される。こ
こでは、データブロックA及びBのサイズをそれぞれ4
バイトおよび3バイトとして説明する。なお、転送方向
とはデータの読出しあるいはデータの書込みを表すもの
である。
におけるデータ転送動作を、図4と共に説明する。ま
ず、ホストコンピュータ側では、OSからの要求がある
と(ステップS101)、CPU25は、図2に示すよ
うに転送先テーブル51と転送元テーブル52からなる
転送制御テーブル28をメインメモリ13上の所定の領
域に作成する。この図に示すように、転送元テーブル5
1は、転送先である磁気テープ上のブロックの先頭アド
レス54、転送データサイズの合計55、及び転送方向
56から構成される。また、転送元テーブル52は、デ
ータブロックAのエントリ57、データブロックBのエ
ントリ58、及び終了マーク59から構成される。エン
トリ57は、データブロックAのメインメモリ13上に
おける先頭アドレス61、サイズ62、及び転送方向6
3から構成される。同様に、エントリ58は、データブ
ロックBのメインメモリ13上における先頭アドレス6
4、サイズ65、及び転送方向66から構成される。こ
こでは、データブロックA及びBのサイズをそれぞれ4
バイトおよび3バイトとして説明する。なお、転送方向
とはデータの読出しあるいはデータの書込みを表すもの
である。
【0030】さて、転送制御テーブル28を作成したC
PU25は、この転送制御テーブル28内の転送先テー
ブル51の内容を読み出してインタフェイス回路27に
送出するとともに、コマンドレジスタ33に書込みコマ
ンドをセットする(ステップS103)。そして、イン
タフェイス回路27は、図3に示すようなコマンドパケ
ットを周辺装置12に送出する(ステップS104)。
このコマンドパケットは、図に示すように、転送先のブ
ロックアドレス67、データブロックA及びBの合計サ
イズ68及びコマンド内容69により構成される。ここ
では、データブロックAとBの合計サイズは7バイトで
ある。
PU25は、この転送制御テーブル28内の転送先テー
ブル51の内容を読み出してインタフェイス回路27に
送出するとともに、コマンドレジスタ33に書込みコマ
ンドをセットする(ステップS103)。そして、イン
タフェイス回路27は、図3に示すようなコマンドパケ
ットを周辺装置12に送出する(ステップS104)。
このコマンドパケットは、図に示すように、転送先のブ
ロックアドレス67、データブロックA及びBの合計サ
イズ68及びコマンド内容69により構成される。ここ
では、データブロックAとBの合計サイズは7バイトで
ある。
【0031】周辺装置12のインタフェイス回路29
が、送られてきたコマンドパケットを受信すると、CP
U35はこれより合計サイズ68(ここでは7バイト)
を抽出し、サイズレジスタ45とDMA制御回路24の
サイズレジスタ42にセットする(ステップS105)
とともに、コマンド内容69をコマンドレジスタ43に
セットする。また、CPU35は、コマンドパケットか
らブロックアドレス67を抽出し、アドレスレジスタ4
1にセットする(ステップS106)。
が、送られてきたコマンドパケットを受信すると、CP
U35はこれより合計サイズ68(ここでは7バイト)
を抽出し、サイズレジスタ45とDMA制御回路24の
サイズレジスタ42にセットする(ステップS105)
とともに、コマンド内容69をコマンドレジスタ43に
セットする。また、CPU35は、コマンドパケットか
らブロックアドレス67を抽出し、アドレスレジスタ4
1にセットする(ステップS106)。
【0032】このような受信動作が終了すると、CPU
35は、インタフェイス回路29を介してデータ転送要
求をホストコンピュータ11へ送出するとともに、DM
A制御回路24を起動する(ステップS107)。デー
タ転送要求を受けたホストコンピュータ11のインタフ
ェイス回路27は、割込ステータスレジスタ36に“デ
ータ転送要求”を格納するとともに、CPU25に対し
外部割込信号37を送出する(ステップS129)。C
PU25は、割込ステータスレジスタ36を参照し、割
込みの原因がデータ転送要求によるものであることを認
識し、メインメモリ13上の転送制御テーブル28(図
2)の転送元テーブル52から、まずデータブロックA
のエントリ57の内容を読み出し(ステップS10
9)、これをDMA制御回路23に転送する(ステップ
S110)。これにより、DMA制御回路23のサイズ
レジスタ32には、データブロックAのサイズ“4バイ
ト”がセットされるとともに(ステップS111)、ア
ドレスレジスタ31にデータブロックAの先頭アドレス
がセットされる(ステップS112)。このとき、デー
タブロックAのサイズ“4バイト”は、インタフェイス
回路27のサイズレジスタ35にもセットされる。
35は、インタフェイス回路29を介してデータ転送要
求をホストコンピュータ11へ送出するとともに、DM
A制御回路24を起動する(ステップS107)。デー
タ転送要求を受けたホストコンピュータ11のインタフ
ェイス回路27は、割込ステータスレジスタ36に“デ
ータ転送要求”を格納するとともに、CPU25に対し
外部割込信号37を送出する(ステップS129)。C
PU25は、割込ステータスレジスタ36を参照し、割
込みの原因がデータ転送要求によるものであることを認
識し、メインメモリ13上の転送制御テーブル28(図
2)の転送元テーブル52から、まずデータブロックA
のエントリ57の内容を読み出し(ステップS10
9)、これをDMA制御回路23に転送する(ステップ
S110)。これにより、DMA制御回路23のサイズ
レジスタ32には、データブロックAのサイズ“4バイ
ト”がセットされるとともに(ステップS111)、ア
ドレスレジスタ31にデータブロックAの先頭アドレス
がセットされる(ステップS112)。このとき、デー
タブロックAのサイズ“4バイト”は、インタフェイス
回路27のサイズレジスタ35にもセットされる。
【0033】次にCPU25は、DMA制御回路23を
起動し(ステップS113)。これを受けたDMA制御
回路23は、メインメモリ13上のデータブロックAの
内容4バイト分を読み出し、1バイトずつ周辺装置12
側へと転送する(ステップS114)。この際、インタ
フェイス回路27、29間では、各バイトごとに以下の
ようなハンドシェークによりデータ転送が行われる。す
なわち、インタフェイス回路29からのリクエスト(R
EQ)信号に応答して、インタフェイス回路27は1バ
イトのデータを転送し、さらにアクノレージ(ACK)
信号を送出する。これを繰り返し行うことにより4バイ
ト分のデータが転送されることとなる。
起動し(ステップS113)。これを受けたDMA制御
回路23は、メインメモリ13上のデータブロックAの
内容4バイト分を読み出し、1バイトずつ周辺装置12
側へと転送する(ステップS114)。この際、インタ
フェイス回路27、29間では、各バイトごとに以下の
ようなハンドシェークによりデータ転送が行われる。す
なわち、インタフェイス回路29からのリクエスト(R
EQ)信号に応答して、インタフェイス回路27は1バ
イトのデータを転送し、さらにアクノレージ(ACK)
信号を送出する。これを繰り返し行うことにより4バイ
ト分のデータが転送されることとなる。
【0034】周辺装置12側のDMA制御回路24で
は、送られてきた4バイトのデータを、図示しないバッ
ファに一旦蓄えた後、これを磁気テープ装置26に順次
書き込む(ステップS115)。ホストコンピュータ1
1側のDMA制御回路23は、データブロックAの4バ
イト分の送出が終了すると、DMA終了の内部割込みを
CPU25に対して行う(ステップS116)。
は、送られてきた4バイトのデータを、図示しないバッ
ファに一旦蓄えた後、これを磁気テープ装置26に順次
書き込む(ステップS115)。ホストコンピュータ1
1側のDMA制御回路23は、データブロックAの4バ
イト分の送出が終了すると、DMA終了の内部割込みを
CPU25に対して行う(ステップS116)。
【0035】これを受けたCPU25は、メインメモリ
13上の転送制御テーブル28内の転送元テーブル52
からデータブロックBのエントリ58の内容を読み出し
(ステップS117)、これをDMA制御回路23に転
送する(ステップS118)。これによりDMA制御回
路23のサイズレジスタには、データブロックBのサイ
ズ“3バイト”がセットされると共に(ステップS11
9)、アドレスレジスタ31にデータブロックBの先頭
アドレスがセットされる(ステップS120)。
13上の転送制御テーブル28内の転送元テーブル52
からデータブロックBのエントリ58の内容を読み出し
(ステップS117)、これをDMA制御回路23に転
送する(ステップS118)。これによりDMA制御回
路23のサイズレジスタには、データブロックBのサイ
ズ“3バイト”がセットされると共に(ステップS11
9)、アドレスレジスタ31にデータブロックBの先頭
アドレスがセットされる(ステップS120)。
【0036】次にCPU25は、DMA制御回路23を
起動する(ステップS121)。これを受けたDMA制
御回路23は、メインメモリ13上のデータブロックB
の内容3バイト分を読み出し、1バイトずつ周辺装置1
2に転送する(ステップS122)。なお、この場合も
上記したと同様のハンドシェークにより転送が行われ
る。
起動する(ステップS121)。これを受けたDMA制
御回路23は、メインメモリ13上のデータブロックB
の内容3バイト分を読み出し、1バイトずつ周辺装置1
2に転送する(ステップS122)。なお、この場合も
上記したと同様のハンドシェークにより転送が行われ
る。
【0037】周辺装置12のDMA制御回路24では、
受信した3バイトのデータを図示しないバッファに一旦
格納した後、これを順次磁気テープ装置26に転送する
(ステップS123)。ホストコンピュータ11のDM
A制御回路23は、データブロックBの内容3バイト分
の転送終了後、DMA終了の内部割込信号38をCPU
25に送出する(ステップS124)。
受信した3バイトのデータを図示しないバッファに一旦
格納した後、これを順次磁気テープ装置26に転送する
(ステップS123)。ホストコンピュータ11のDM
A制御回路23は、データブロックBの内容3バイト分
の転送終了後、DMA終了の内部割込信号38をCPU
25に送出する(ステップS124)。
【0038】一方、周辺装置12のCPU35は、デー
タブロックBの3バイトの受信終了後、データが正常に
受信されたか否かを示す受信結果ステータスをステータ
スレジスタ44にセットし(ステップS125)、これ
をホストコンピュータ側に送出する(ステップS12
6)。
タブロックBの3バイトの受信終了後、データが正常に
受信されたか否かを示す受信結果ステータスをステータ
スレジスタ44にセットし(ステップS125)、これ
をホストコンピュータ側に送出する(ステップS12
6)。
【0039】ホストコンピュータ11のインタフェイス
回路27は、周辺装置12から送られてきた受信結果ス
テータスの内容をステータスレジスタ34に格納すると
ともに、CPU25に対し外部割込信号37を送出する
(ステップS127)。
回路27は、周辺装置12から送られてきた受信結果ス
テータスの内容をステータスレジスタ34に格納すると
ともに、CPU25に対し外部割込信号37を送出する
(ステップS127)。
【0040】この外部割込信号37を受けたCPU25
は、割込ステータスレジスタ36を参照し、外部割込み
の原因となったステータスが“受信結果ステータス”で
あったことを認識する。
は、割込ステータスレジスタ36を参照し、外部割込み
の原因となったステータスが“受信結果ステータス”で
あったことを認識する。
【0041】続いて周辺装置12のCPU35から完了
メッセージが送出されると(ステップS128)、イン
タフェイス回路27は、CPU25に対し外部割込信号
37を送出する(ステップS129)。CPU25は、
割込ステータスレジスタ36を参照し、割込みの原因が
完了メッセージ受信によるものであることを認識する。
メッセージが送出されると(ステップS128)、イン
タフェイス回路27は、CPU25に対し外部割込信号
37を送出する(ステップS129)。CPU25は、
割込ステータスレジスタ36を参照し、割込みの原因が
完了メッセージ受信によるものであることを認識する。
【0042】そして、CPU25は、ステータスレジス
タ34にセットされたステータスを解析する(ステップ
S130)。
タ34にセットされたステータスを解析する(ステップ
S130)。
【0043】以上のように、本実施例によれば、ホスト
コンピュータ11から周辺装置12に対しては、上記ス
テップS104におけるコマンドパケットが送出される
だけで、メインメモリ13上の隔たったデータブロック
A及びBが連続的に転送されることとなる。したがっ
て、図8(b)に示すようにデータ転送に要する全体の
時間はT4となる。この図に示すように、データ転送に
要する全時間T4は、コマンドパケット48、全データ
転送終了時の完了メッセージ49、及びデータブロック
A及びBのデータ転送時間、及びこれらの間隔により規
定され、従来の方式に比し、格段に短縮化される。そし
て、その短縮の度合いは、データブロックの数が多くな
ればなるほど顕著となる。なお、この図で時間T5は、
アドレスレジスタ31とサイズレジスタ32の内容を、
データブロックAの内容からデータブロックBの内容に
設定し直すのに要する時間であるが、磁気テープ装置2
6のテープ走行速度に比べて無視できる時間である。し
たがって、磁気テープ上には図6に示したように、2つ
のデータブロックの内容が隣接して連続的に書込まれる
こととなる。
コンピュータ11から周辺装置12に対しては、上記ス
テップS104におけるコマンドパケットが送出される
だけで、メインメモリ13上の隔たったデータブロック
A及びBが連続的に転送されることとなる。したがっ
て、図8(b)に示すようにデータ転送に要する全体の
時間はT4となる。この図に示すように、データ転送に
要する全時間T4は、コマンドパケット48、全データ
転送終了時の完了メッセージ49、及びデータブロック
A及びBのデータ転送時間、及びこれらの間隔により規
定され、従来の方式に比し、格段に短縮化される。そし
て、その短縮の度合いは、データブロックの数が多くな
ればなるほど顕著となる。なお、この図で時間T5は、
アドレスレジスタ31とサイズレジスタ32の内容を、
データブロックAの内容からデータブロックBの内容に
設定し直すのに要する時間であるが、磁気テープ装置2
6のテープ走行速度に比べて無視できる時間である。し
たがって、磁気テープ上には図6に示したように、2つ
のデータブロックの内容が隣接して連続的に書込まれる
こととなる。
【0044】なお、本実施例では、ホストコンピュータ
11から周辺装置12にデータを書き込む場合について
説明したが、周辺装置12からデータを読み出してホス
トコンピュータ11に転送する場合のシーケンスもほぼ
同様である。この場合には、転送制御テーブル28の転
送先テーブル51及び転送元テーブル52の転送方向5
6、63、66として“データ読出し”をセットすれば
よい。これにより、データ読出しのコマンドパケットが
送出され、以下データ書込みの場合と反対方向にデータ
転送が行われる。ただし、この際、インタフェイス回路
27、29間では、各バイトごとに以下のようなハンド
シェークによりデータ転送が行われる。すなわち、イン
タフェイス回路29は1バイトのデータをバスに送出し
たのち、REQ信号を送出する。これに応答して、イン
タフェイス回路27はデータを取り込みACK信号を送
出する。これを繰り返し行うことにより所定バイト分の
データが転送されることとなる。
11から周辺装置12にデータを書き込む場合について
説明したが、周辺装置12からデータを読み出してホス
トコンピュータ11に転送する場合のシーケンスもほぼ
同様である。この場合には、転送制御テーブル28の転
送先テーブル51及び転送元テーブル52の転送方向5
6、63、66として“データ読出し”をセットすれば
よい。これにより、データ読出しのコマンドパケットが
送出され、以下データ書込みの場合と反対方向にデータ
転送が行われる。ただし、この際、インタフェイス回路
27、29間では、各バイトごとに以下のようなハンド
シェークによりデータ転送が行われる。すなわち、イン
タフェイス回路29は1バイトのデータをバスに送出し
たのち、REQ信号を送出する。これに応答して、イン
タフェイス回路27はデータを取り込みACK信号を送
出する。これを繰り返し行うことにより所定バイト分の
データが転送されることとなる。
【0045】
【発明の効果】以上説明したように、本発明によれば、
一回のコマンド送出のみで複数のデータ領域のデータを
連続的に転送することができるため、データ転送制御の
オーバヘッドを少なくすることができる。また、転送さ
れるデータブロック間にタイムラグがなくなるため、周
辺装置側ではコマンド毎にデータの書込みヘッド等を所
望のブロックにあわせるための機械的動作や、回転待動
作を不要とすることができ、処理時間を著しく短縮化す
ることができるという効果がある。
一回のコマンド送出のみで複数のデータ領域のデータを
連続的に転送することができるため、データ転送制御の
オーバヘッドを少なくすることができる。また、転送さ
れるデータブロック間にタイムラグがなくなるため、周
辺装置側ではコマンド毎にデータの書込みヘッド等を所
望のブロックにあわせるための機械的動作や、回転待動
作を不要とすることができ、処理時間を著しく短縮化す
ることができるという効果がある。
【図1】本発明の一実施例におけるデータ転送制御方式
を応用したコンピュータシステムを示すブロック図であ
る。
を応用したコンピュータシステムを示すブロック図であ
る。
【図2】メインメモリ上に作成された転送制御テーブル
の内容を示す説明図である。
の内容を示す説明図である。
【図3】ホストコンピュータから送出されるコマンドパ
ケットを示す説明図である。
ケットを示す説明図である。
【図4】本発明の一実施例におけるデータ転送制御方式
を説明するためのシーケンス図である。
を説明するためのシーケンス図である。
【図5】従来のデータ転送制御方式を説明するための説
明図である。
明図である。
【図6】磁気テープ装置上のデータフォマットの一例を
示す説明図である。
示す説明図である。
【図7】磁気テープへの書込み時に、データブロック間
にブランクが挿入された状態を示す説明図である。
にブランクが挿入された状態を示す説明図である。
【図8】複数のデータブロックを転送するに際し、従来
のデータ転送制御方式で要する時間と、本発明のデータ
転送制御方式で要する時間とを比較した説明図である。
のデータ転送制御方式で要する時間と、本発明のデータ
転送制御方式で要する時間とを比較した説明図である。
11 ホストコンピュータ 12 周辺装置 13 メインメモリ 23、24 DMA制御回路 25、35 CPU 27、29 インタフェイス回路 28 転送制御テーブル 31、41 アドレスレジスタ 32、42 サイズレジスタ 51 転送元テーブル 52 転送先テーブル
Claims (1)
- 【請求項1】ホストコンピュータの主メモリ上の相互に
隣接しない複数のアドレス領域と周辺装置との間で行う
データ転送の制御方式であって、 ホストコンピュータ側では、前記主メモリ上のデータ転
送に係わる複数のアドレス領域の領域サイズの合計値を
1つのコマンドで周辺装置に通知しておき、転送アドレ
ス指定用レジスタ及び転送サイズ指定用レジスタに前記
複数のアドレス領域の各先頭アドレス値とサイズとを順
次セットすることにより、これら複数のアドレス領域と
周辺装置との間で連続的にデータ転送を行い、 周辺装置側では、ホストコンピュータから通知された前
記領域サイズの合計値を記憶しておき、ホストコンピュ
ータとの間で連続的に転送されるデータのサイズの合計
が前記領域サイズの合計値に達したとき、転送処理を終
了するようにしたことを特徴とするデータ転送制御方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29259891A JPH05128043A (ja) | 1991-11-08 | 1991-11-08 | データ転送制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29259891A JPH05128043A (ja) | 1991-11-08 | 1991-11-08 | データ転送制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05128043A true JPH05128043A (ja) | 1993-05-25 |
Family
ID=17783862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29259891A Pending JPH05128043A (ja) | 1991-11-08 | 1991-11-08 | データ転送制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05128043A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57206950A (en) * | 1981-06-15 | 1982-12-18 | Fujitsu Ltd | Input/output controlling system |
| JPH02118748A (ja) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | 入出力制御方式 |
-
1991
- 1991-11-08 JP JP29259891A patent/JPH05128043A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57206950A (en) * | 1981-06-15 | 1982-12-18 | Fujitsu Ltd | Input/output controlling system |
| JPH02118748A (ja) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | 入出力制御方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5452432A (en) | Partially resettable, segmented DMA counter | |
| KR960002543B1 (ko) | 주변 장비 제어 장치 | |
| US6889266B1 (en) | Method for delivering packet boundary or other metadata to and from a device using direct memory controller | |
| US5845151A (en) | System using descriptor and having hardware state machine coupled to DMA for implementing peripheral device bus mastering via USB controller or IrDA controller | |
| JPS6292022A (ja) | データ転送制御方法 | |
| US6289402B1 (en) | Bidirectional data transfer protocol primarily controlled by a peripheral device | |
| JP2723022B2 (ja) | ディスク装置のインタフェース及びその制御方法 | |
| US6772311B2 (en) | ATAPI device unaligned and aligned parallel I/O data transfer controller | |
| JPH03204023A (ja) | 磁気記録装置の二重化制御方式 | |
| JPH05128043A (ja) | データ転送制御方式 | |
| US6233628B1 (en) | System and method for transferring data using separate pipes for command and data | |
| KR100843199B1 (ko) | 고속 아이.디.이. 인터페이스 장치 및 그 방법 | |
| JPH01140326A (ja) | 磁気ディスク装置 | |
| US20060277326A1 (en) | Data transfer system and method | |
| KR920007949B1 (ko) | 컴퓨터 주변장치 제어기 | |
| JPH06236340A (ja) | データ転送方法及び転送装置 | |
| US7032054B1 (en) | Method and apparatus for increasing the device count on a single ATA bus | |
| JP2537541B2 (ja) | Dma制御方式 | |
| JP3645696B2 (ja) | Pciバス・s/tインタフェース間接続装置 | |
| JPS6253864B2 (ja) | ||
| JPH06301607A (ja) | マルチアクセスi/o制御方式 | |
| JPS63223822A (ja) | デイスク装置の制御方式 | |
| JPH10214247A (ja) | 外部記憶装置インタフェース | |
| JPH11338644A (ja) | ディスク制御装置及び記憶装置 | |
| JP2732951B2 (ja) | データ転送制御方法 |