JPH0285948A - 直接記憶アクセス制御方式 - Google Patents
直接記憶アクセス制御方式Info
- Publication number
- JPH0285948A JPH0285948A JP23780988A JP23780988A JPH0285948A JP H0285948 A JPH0285948 A JP H0285948A JP 23780988 A JP23780988 A JP 23780988A JP 23780988 A JP23780988 A JP 23780988A JP H0285948 A JPH0285948 A JP H0285948A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- input
- processor
- output 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
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段
作用
実施例
発明の効果
〔概要〕
メモリと入出力装置間のデータ転送を直接記憶アクセス
モードにより実行するシステムで、プロセッサの一回の
介入によりデータ転送が完了する直接記憶アクセス制御
方式に関し、 プロセッサの負担を軽減し、システム全体の処理効率を
高めることを目的とし、 プロセッサと、メモリと、メモリとデータ転送を行う入
出力装置と、プロセッサが設定する情報に基づきメモリ
と入出力装置間のデータ転送を制御する直接記憶アクセ
ス制御回路とを備えたシステムにおいて、直接記憶アク
セス制御回路には、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を記憶する記憶手段と
、記憶手段に格納された情報に基づき、入出力装置とメ
モリ間の複数のデータブロックの転送を制御する制御手
段を設け、プロセッサには直接記憶アクセス制御回路に
設けた記憶手段に、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を格納する指示を行う
指示手段を設け、プロセッサが直接記迫アクセス制御回
路の記憶手段に、指示手段が指示する情報を格納してか
ら、直接記憶アクセス制御回路を起動した後は、プロセ
ッサが再度介入することなく、入出力装置とメモリとの
間のデータ転送を完了させる構成とする。
モードにより実行するシステムで、プロセッサの一回の
介入によりデータ転送が完了する直接記憶アクセス制御
方式に関し、 プロセッサの負担を軽減し、システム全体の処理効率を
高めることを目的とし、 プロセッサと、メモリと、メモリとデータ転送を行う入
出力装置と、プロセッサが設定する情報に基づきメモリ
と入出力装置間のデータ転送を制御する直接記憶アクセ
ス制御回路とを備えたシステムにおいて、直接記憶アク
セス制御回路には、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を記憶する記憶手段と
、記憶手段に格納された情報に基づき、入出力装置とメ
モリ間の複数のデータブロックの転送を制御する制御手
段を設け、プロセッサには直接記憶アクセス制御回路に
設けた記憶手段に、入出力装置とメモリ間で複数のデー
タブロックを転送するための情報を格納する指示を行う
指示手段を設け、プロセッサが直接記迫アクセス制御回
路の記憶手段に、指示手段が指示する情報を格納してか
ら、直接記憶アクセス制御回路を起動した後は、プロセ
ッサが再度介入することなく、入出力装置とメモリとの
間のデータ転送を完了させる構成とする。
本発明はメモリと入出力装置との間のデータ転送を直接
記憶アクセス(以後DMAと略す)モードにより実行す
るシステムに係り、特に入出力装置とメモリ間で複数の
データブロックを転送する際に、プロセッサの一回の介
入によりデータ転送が完了する直接記憶アクセス制御方
式に関する。
記憶アクセス(以後DMAと略す)モードにより実行す
るシステムに係り、特に入出力装置とメモリ間で複数の
データブロックを転送する際に、プロセッサの一回の介
入によりデータ転送が完了する直接記憶アクセス制御方
式に関する。
DMAモードにより動作するシステムにおいて、例えば
、メモリと入出力装置との間でデータ転送を行う場合、
プロセッサがDMA制御回路を起動することにより、そ
の後はプロセッサの介入を必要とせず、DMA制御回路
の制御によりデータ転送が実行されるようになっている
。
、メモリと入出力装置との間でデータ転送を行う場合、
プロセッサがDMA制御回路を起動することにより、そ
の後はプロセッサの介入を必要とせず、DMA制御回路
の制御によりデータ転送が実行されるようになっている
。
ところで、プロセッサの1回の介入でメモリ側から複数
のデータブロックを入出力装置側に転送し、入出力装置
側で一つのデータブロックとすることが出来るが、入出
力装置側はプロセッサの1回の介入で1データブロツク
をメモリ側に転送し得るのみであるため、入出力装置側
で転送するデータブロックが複数あるか、複数のデータ
ブロックに分けて受信する場合、■データブロックの転
送が済む度にプロセッサの介入が必要となるが、この介
入は不要であることが望ましい。
のデータブロックを入出力装置側に転送し、入出力装置
側で一つのデータブロックとすることが出来るが、入出
力装置側はプロセッサの1回の介入で1データブロツク
をメモリ側に転送し得るのみであるため、入出力装置側
で転送するデータブロックが複数あるか、複数のデータ
ブロックに分けて受信する場合、■データブロックの転
送が済む度にプロセッサの介入が必要となるが、この介
入は不要であることが望ましい。
第4図は従来の技術を説明するブロック図で、第5図は
第4図の動作を説明する図である。
第4図の動作を説明する図である。
プロセッサ1はDMA制御回路3の内部レジスタに、メ
モリ2に設けたテーブルの先頭アドレスと、入出力装置
4のアドレスを設定し、メモリ2に転送すべきデータブ
ロック数とそのアドレス及び転送語数等を記録したテー
ブルを設定した後、D M A II御回路3を起動す
る。
モリ2に設けたテーブルの先頭アドレスと、入出力装置
4のアドレスを設定し、メモリ2に転送すべきデータブ
ロック数とそのアドレス及び転送語数等を記録したテー
ブルを設定した後、D M A II御回路3を起動す
る。
起動されたDMA制御回路3は、内部レジスタに設定さ
れたメキリ2のテーブルの先頭アドレス及び入出力装置
4のアドレスを参照し、メモリ2に設定されたテーブル
を索引して、メモリ2に存在する転送すべきデータブロ
ック数とそのアドレス及び転送語数を認識するか、又は
メモリ2に格納するデータブロック数と、格納するメモ
リ領域の先頭アドレス及び転送語数を認識すると、メモ
リ2の指定されたアドレスから指定された数のデータブ
ロックを読出して、入出力装置4に転送するか、又は、
入出力装置4のデータブロックを読出してメモリ2に転
送し、指定されたアドレス領域に格納する。
れたメキリ2のテーブルの先頭アドレス及び入出力装置
4のアドレスを参照し、メモリ2に設定されたテーブル
を索引して、メモリ2に存在する転送すべきデータブロ
ック数とそのアドレス及び転送語数を認識するか、又は
メモリ2に格納するデータブロック数と、格納するメモ
リ領域の先頭アドレス及び転送語数を認識すると、メモ
リ2の指定されたアドレスから指定された数のデータブ
ロックを読出して、入出力装置4に転送するか、又は、
入出力装置4のデータブロックを読出してメモリ2に転
送し、指定されたアドレス領域に格納する。
従来、DMA制御回路3の1ボートにおけるDMA制御
方式は、第5図(a)に示す如く、1データブロツクを
メモリ2側から入出力装置4側へ転送するか、又は、入
出力装置4側からメモリ2側へ転送する場合と、第5図
(b)に示す如く、メモリ2側から入出力装置4側には
複数のデータブロックを転送して、一つのデータブロッ
クとして、例えば入出力装置4のバッファメモリに格納
させ、入出力装置4側からメモリ2側にはlデータブロ
ックを転送して、メモリ2の指定されたアドレス領域に
分割して格納する場合とがある。
方式は、第5図(a)に示す如く、1データブロツクを
メモリ2側から入出力装置4側へ転送するか、又は、入
出力装置4側からメモリ2側へ転送する場合と、第5図
(b)に示す如く、メモリ2側から入出力装置4側には
複数のデータブロックを転送して、一つのデータブロッ
クとして、例えば入出力装置4のバッファメモリに格納
させ、入出力装置4側からメモリ2側にはlデータブロ
ックを転送して、メモリ2の指定されたアドレス領域に
分割して格納する場合とがある。
上記の如く、従来はプロセッサの1回の介入によりメモ
リ2側からは複数のデータブロックを転送することが出
来るが、入出力装置4側からはプロセッサの1回の介入
により、1データブロツクを転送することが出来るのみ
であって、複数のデータブロックを転送することは出来
ない。
リ2側からは複数のデータブロックを転送することが出
来るが、入出力装置4側からはプロセッサの1回の介入
により、1データブロツクを転送することが出来るのみ
であって、複数のデータブロックを転送することは出来
ない。
しかし、近年、メモリ容量の増大等により、入出力装置
4側のデータブロック数が増大してきている。このため
、従来の方式では入出力装置4側から転送する複数のデ
ータブロックに対して、データ転送を行わせる場合、D
M A II御回路3に対するプロセッサ1の起動は
1回では完了せず、入出力装置4側から転送するデータ
ブロック数に対応して、DMA制御回路3に対する起動
を行う必要がある。
4側のデータブロック数が増大してきている。このため
、従来の方式では入出力装置4側から転送する複数のデ
ータブロックに対して、データ転送を行わせる場合、D
M A II御回路3に対するプロセッサ1の起動は
1回では完了せず、入出力装置4側から転送するデータ
ブロック数に対応して、DMA制御回路3に対する起動
を行う必要がある。
即ち、プロセッサ1がDMA制御回路3の起動を行う場
合、プロセ・ノサ1はその都度DMA制御回路3の内部
レジスタにメモリ2に設けたテーブルの先頭アドレスと
、入出力装置4のバッファメモリの各データブロック格
納領域のアドレスを設定し、メモリ2内にデータブロッ
ク数とそのアドレス及び転送語数を記録したテーブルを
設定する必要がある。
合、プロセ・ノサ1はその都度DMA制御回路3の内部
レジスタにメモリ2に設けたテーブルの先頭アドレスと
、入出力装置4のバッファメモリの各データブロック格
納領域のアドレスを設定し、メモリ2内にデータブロッ
ク数とそのアドレス及び転送語数を記録したテーブルを
設定する必要がある。
又、メモリ2側から転送される複数のデータブロックを
入出力装置4側で複数のデータブロックに分割して受信
する場合も同様であり、プロセッサlの負担が大きく、
システム全体の処理効率を低下させるという問題がある
。
入出力装置4側で複数のデータブロックに分割して受信
する場合も同様であり、プロセッサlの負担が大きく、
システム全体の処理効率を低下させるという問題がある
。
本発明はこのような問題点に鑑み、入出力装置4側のデ
ータブロック数に関係無く、プロセッサ1のDMA制御
回路3に対する起動は一回で済むようにして、プロセッ
サ1の負担を軽減し、システム全体の処理効率を高める
ことを目的としている。
ータブロック数に関係無く、プロセッサ1のDMA制御
回路3に対する起動は一回で済むようにして、プロセッ
サ1の負担を軽減し、システム全体の処理効率を高める
ことを目的としている。
第1図は本発明の原理ブロック図である。
第4図と同一符号は同一機能のものを示す。プロセッサ
5は指示手段7の指示に基づき、入出力袋W4とメモリ
2の間で複数のデータブロックを転送するための情報を
、DMA制御回路6の記憶手段8に格納する。そして、
DMA制御回路6に起動信号を送出する。
5は指示手段7の指示に基づき、入出力袋W4とメモリ
2の間で複数のデータブロックを転送するための情報を
、DMA制御回路6の記憶手段8に格納する。そして、
DMA制御回路6に起動信号を送出する。
DMA制御回路6は制御手段9の制御により、プロセッ
サ5から送出された起動信号により動作を開始し、記憶
手段8に格納された情報を読出す。
サ5から送出された起動信号により動作を開始し、記憶
手段8に格納された情報を読出す。
記憶手段8に格納された情報は、例えば、入出力装置4
から転送するか、入出力装置4に格納するデータブロッ
ク数と、メモリ2に設けたテーブルのアドレスであり、
DMA制御回路6の制御手段9はこの情報で、メモリ2
に設けたテーブルを索引し、このテーブルから各データ
ブロックのアドレス及び転送語数を読出して、メモリ2
と入出力装置4の間のデータ転送を制御する。
から転送するか、入出力装置4に格納するデータブロッ
ク数と、メモリ2に設けたテーブルのアドレスであり、
DMA制御回路6の制御手段9はこの情報で、メモリ2
に設けたテーブルを索引し、このテーブルから各データ
ブロックのアドレス及び転送語数を読出して、メモリ2
と入出力装置4の間のデータ転送を制御する。
即ち、制御手段9は記憶手段8とメモリ2に設けたテー
ブルから、データブロック数とそのアドレスを知り、入
出力装置4からデータブロックを続出し、転送語数分の
データをメモリ2に転送して、第4図で説明した如く、
メモリ2に設けられたテーブルを参照して、指定された
メモリ2のアドレス領域に書込ませるか、メモリ2のデ
ータフロックを読出し、転送語数分のデータを入出力装
置4に転送して、テーブルから索引したアドレスが指示
する入出力装置4のバッファメモリのアドレス領域に書
込ませる。
ブルから、データブロック数とそのアドレスを知り、入
出力装置4からデータブロックを続出し、転送語数分の
データをメモリ2に転送して、第4図で説明した如く、
メモリ2に設けられたテーブルを参照して、指定された
メモリ2のアドレス領域に書込ませるか、メモリ2のデ
ータフロックを読出し、転送語数分のデータを入出力装
置4に転送して、テーブルから索引したアドレスが指示
する入出力装置4のバッファメモリのアドレス領域に書
込ませる。
上記の如く構成することにより、指示手段7はプロセッ
サ5に指示して、入出力装置4とメモリ2の間で複数の
データブロックを転送するための情報を、DMA制御回
路6の記憶手段8に格納させ、制御手段9はD M A
i制御回路6の記憶手段8に格納された情報を使用し
て、入出力装置4に存在する複数のデータブロックをメ
モリ2に転送し、メモリ2から転送された複数のデータ
ブロックを入出力装置4に格納するため、プロセッサ5
はDMA制御回路6の起動を一回行うだけで、その後は
介入する必要が無く、プロセッサ5の負担が軽減される
ため、システムの処理効率を高めることが出来る。
サ5に指示して、入出力装置4とメモリ2の間で複数の
データブロックを転送するための情報を、DMA制御回
路6の記憶手段8に格納させ、制御手段9はD M A
i制御回路6の記憶手段8に格納された情報を使用し
て、入出力装置4に存在する複数のデータブロックをメ
モリ2に転送し、メモリ2から転送された複数のデータ
ブロックを入出力装置4に格納するため、プロセッサ5
はDMA制御回路6の起動を一回行うだけで、その後は
介入する必要が無く、プロセッサ5の負担が軽減される
ため、システムの処理効率を高めることが出来る。
第2図は本発明の一実施例を示す回路のブロック図で、
第3図は第2図の動作を説明する図である。
第3図は第2図の動作を説明する図である。
プロセッサ5はプログラム23を読出して、このプログ
ラムの指示に従い、先ずバス24を経てメモリ2に転送
情報を格納するテーブルを作成する。
ラムの指示に従い、先ずバス24を経てメモリ2に転送
情報を格納するテーブルを作成する。
第3図(a)はアレイチエインモードで動作する場合を
示し、メモリ2に、例えば転送すべきデータブロック又
は、格納すべきデータブロックが■〜■に示す如く4ブ
ロツクあり、入出力装置4には転送すべきデータブロッ
ク又は、格納すべきデータブロックが■〜■に示す如く
3ブロツクあるものとする。
示し、メモリ2に、例えば転送すべきデータブロック又
は、格納すべきデータブロックが■〜■に示す如く4ブ
ロツクあり、入出力装置4には転送すべきデータブロッ
ク又は、格納すべきデータブロックが■〜■に示す如く
3ブロツクあるものとする。
プロセッサ5はメモリ2に第3図(a)に示す如く、テ
ーブルXとYを作成し、テーブルXにはデータブロック
■〜■の各ブロック領域の先頭アドレス(以後メモリア
ドレスと称する)及び転送語数■〜[相]と、テーブル
Yにはデータブロック■〜■の各ブロック領域の先頭ア
ドレス(以後デバイスアドレスと称する)及び転送語数
■〜0を設定する。
ーブルXとYを作成し、テーブルXにはデータブロック
■〜■の各ブロック領域の先頭アドレス(以後メモリア
ドレスと称する)及び転送語数■〜[相]と、テーブル
Yにはデータブロック■〜■の各ブロック領域の先頭ア
ドレス(以後デバイスアドレスと称する)及び転送語数
■〜0を設定する。
そして、プロセッサ5はバス24を経てDMA制御回路
6の主制御部10を制御し、バス制御部11を経てテー
ブルアドレスレジスタ18に対し、メモリ2に設けたテ
ーブルXの先頭アドレスを設定させ、ブロックカウント
レジスタ20には転送するデータブロック数(本例の場
合4)を設定させ、バス制御部22を経てテーブルアド
レスレジスタ19に対し、メモリ2に設けたテーブルY
の先頭アドレスを設定させ、ブロックカウントレジスタ
21には転送するデータブロック数(本例の場合3)を
設定させる。
6の主制御部10を制御し、バス制御部11を経てテー
ブルアドレスレジスタ18に対し、メモリ2に設けたテ
ーブルXの先頭アドレスを設定させ、ブロックカウント
レジスタ20には転送するデータブロック数(本例の場
合4)を設定させ、バス制御部22を経てテーブルアド
レスレジスタ19に対し、メモリ2に設けたテーブルY
の先頭アドレスを設定させ、ブロックカウントレジスタ
21には転送するデータブロック数(本例の場合3)を
設定させる。
ここで、プロセッサ5は主制御部10に起動を指示する
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスと、ブロックカウントレジスタ20が記
憶するデータブロック数を読取り、又、バス制御部22
を経てテーブルアドレスレジスタ19が記憶するテーブ
ルYの先頭アドレスと、ブロックカウントレジスタ21
が記憶するデータブロック数を読取る。
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスと、ブロックカウントレジスタ20が記
憶するデータブロック数を読取り、又、バス制御部22
を経てテーブルアドレスレジスタ19が記憶するテーブ
ルYの先頭アドレスと、ブロックカウントレジスタ21
が記憶するデータブロック数を読取る。
主記憶部10はテーブルアドレスレジスタ18と19か
ら読出したテーブルXとYの先頭アドレスを用いてメモ
リ2をアクセスし、メモリ2のテーブルXとYの内容を
読取り、アドレスレジスタ12にメモリアドレス■を、
語カウントレジスタ14に転送語数■を格納し、アドレ
スレジスタ13にデバイスアドレス■を、語カウントレ
ジスタ15に転送語数■を格納する。
ら読出したテーブルXとYの先頭アドレスを用いてメモ
リ2をアクセスし、メモリ2のテーブルXとYの内容を
読取り、アドレスレジスタ12にメモリアドレス■を、
語カウントレジスタ14に転送語数■を格納し、アドレ
スレジスタ13にデバイスアドレス■を、語カウントレ
ジスタ15に転送語数■を格納する。
主制御部IOはメモリ2から入出力装置4にデータブロ
ックを転送する場合、メモリアドレス■が指定するアド
レスで、メモリ2のデータブロック■を続出し、バス2
4を経て入出力装置4のデバイスアドレス■が指定する
バッファメモリ領域■に格納する。ここで、転送語数■
と■が同じであれば、データブロック■はデータブロッ
ク■に示す領域に総て転送される。
ックを転送する場合、メモリアドレス■が指定するアド
レスで、メモリ2のデータブロック■を続出し、バス2
4を経て入出力装置4のデバイスアドレス■が指定する
バッファメモリ領域■に格納する。ここで、転送語数■
と■が同じであれば、データブロック■はデータブロッ
ク■に示す領域に総て転送される。
次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス@を、語
カウントレジスタ15に転送語数@を格納する。
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス@を、語
カウントレジスタ15に転送語数@を格納する。
そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス@が指定するバッファメモリ領域■に格
納する。ここで、転送語数■と@が同じであれば、デー
タブロック■はデータブロック■に示す領域に総て転送
される。
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス@が指定するバッファメモリ領域■に格
納する。ここで、転送語数■と@が同じであれば、デー
タブロック■はデータブロック■に示す領域に総て転送
される。
次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス0が指定するノ<・ソ・ファメモリ領域
■に格納する。
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス0が指定するノ<・ソ・ファメモリ領域
■に格納する。
ここで、転送語数■が0より少ないため、データブロッ
ク■はデータブロック■に示す領域に総て転送されるが
、主制御部10はプロ・ツクカウントレジスタ20と2
1の記憶するデータプロ・ツタ数の差を認識しており、
メモリ2から更に1データブロツクが転送されて来るた
め、転送語数0と■の差から、次のデータブロックを格
納するためのバッファメモリ領域■における先頭アドレ
スを認識する。
ク■はデータブロック■に示す領域に総て転送されるが
、主制御部10はプロ・ツクカウントレジスタ20と2
1の記憶するデータプロ・ツタ数の差を認識しており、
メモリ2から更に1データブロツクが転送されて来るた
め、転送語数0と■の差から、次のデータブロックを格
納するためのバッファメモリ領域■における先頭アドレ
スを認識する。
そして、主制御部10はアドレスレジスタ12にメモリ
アドレス[相]を、語カウントレジスタ14に転送語数
[相]を格納し、メモリアドレス[相]が指定するアド
レスでデータブロック■を続出し、ノくス24を経て入
出力装置4のバ・ノファメモリ領域■に格納する。
アドレス[相]を、語カウントレジスタ14に転送語数
[相]を格納し、メモリアドレス[相]が指定するアド
レスでデータブロック■を続出し、ノくス24を経て入
出力装置4のバ・ノファメモリ領域■に格納する。
ここで、転送語数0と転送語数■+[相]が同じであれ
ば、データブロック■と■はデータブロック■に示す領
域に総て転送される。
ば、データブロック■と■はデータブロック■に示す領
域に総て転送される。
主制御部10は入出力装置4からメモリ2にデータブロ
ックを転送する場合、テーブルXとYの内容を読取り、
アドレスレジスタ12にメモリアドレス■を、語カウン
トレジスタ14に転送語数■を格納し、アドレスレジス
タ13にデバイスアドレス0を、語カウントレジスタ1
5に転送語数■を格納する。
ックを転送する場合、テーブルXとYの内容を読取り、
アドレスレジスタ12にメモリアドレス■を、語カウン
トレジスタ14に転送語数■を格納し、アドレスレジス
タ13にデバイスアドレス0を、語カウントレジスタ1
5に転送語数■を格納する。
そして、デバイスアドレス0が指定する入出力装置4の
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と■が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と■が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
次に主制御部10はテーブルXとYの内容を読取り、ア
ドレスレジスタ12にメモリアドレス■を、語カウント
レジスタ14に転送語数■を格納し、アドレスレジスタ
13にデバイスアドレス0を、語カウントレジスタ15
に転送語数[相]を格納する。
ドレスレジスタ12にメモリアドレス■を、語カウント
レジスタ14に転送語数■を格納し、アドレスレジスタ
13にデバイスアドレス0を、語カウントレジスタ15
に転送語数[相]を格納する。
そして、デバイスアドレス@が指定する入出力装置4の
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と0が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
バッファメモリ領域のデータブロック■を続出し、バス
24を経てメモリアドレス■が指定するメモリ2の領域
■に格納する。ここで、転送語数■と0が同じであれば
、データブロック■は、データブロック■に示す領域に
総て転送される。
次に主制御部10はアドレスレジスタ12にメモリアド
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
レス■を、語カウントレジスタ14に転送語数■を格納
し、アドレスレジスタ13にデバイスアドレス0を、語
カウントレジスタ15に転送語数0を格納する。
そして、デバイスアドレス■が指定する入出力装置4の
データブロック■を続出し、メモリアドレス■が指定す
るメモリ2の領域■に転送するが、主制御部10はブロ
ックカウントレジスタ20と21の記憶するデータブロ
ック数の差を認識しており、転送語数■と同じ語数のデ
ータを転送すると、続いて、アドレスレジスタ12にメ
モリアドレス[相]を、語カウントレジスタ14に転送
語数[相]を格納し、データブロック■の残りのデータ
をメモリアドレス[相]が指定するメモリ2の領域■に
格納する。
データブロック■を続出し、メモリアドレス■が指定す
るメモリ2の領域■に転送するが、主制御部10はブロ
ックカウントレジスタ20と21の記憶するデータブロ
ック数の差を認識しており、転送語数■と同じ語数のデ
ータを転送すると、続いて、アドレスレジスタ12にメ
モリアドレス[相]を、語カウントレジスタ14に転送
語数[相]を格納し、データブロック■の残りのデータ
をメモリアドレス[相]が指定するメモリ2の領域■に
格納する。
ここで、転送語数0と転送語数■+[相]が同じであれ
ば、データブロック■はデータブロック■と■に示す領
域に総て転送される。
ば、データブロック■はデータブロック■と■に示す領
域に総て転送される。
又、主制御部10はチャネル制御レジスタ16と17に
はDMA制御の起動、停止及びエラー情報等を格納して
、上記動作を遂行する。
はDMA制御の起動、停止及びエラー情報等を格納して
、上記動作を遂行する。
第3図(b)はリンクアレイチエインモードで動作する
場合を示し、第3図(a)と同様にメモリ2に、転送す
べきデータブロック又は格納すべきデータブロックが■
〜■に示す如く4ブロツクあり、入出力装置4には転送
すべきデータブロック又は格納すべきデータブロックが
■〜■に示す如く3ブロツクあるものとする。
場合を示し、第3図(a)と同様にメモリ2に、転送す
べきデータブロック又は格納すべきデータブロックが■
〜■に示す如く4ブロツクあり、入出力装置4には転送
すべきデータブロック又は格納すべきデータブロックが
■〜■に示す如く3ブロツクあるものとする。
プロセッサ5はメモリ2にテーブルXとYを作成し、テ
ーブルXにはデータブロック■〜■のメモリアドレス、
転送語数及びリンクアドレス■〜[相]とデータブロッ
ク■のメそりアドレス、転送語数及びテーブル終了コー
ドOを設定し、テーブルYにはデータブロック■〜■の
デバイスアドレス、転送語数及びリンクアドレス@〜[
相]とデータブロック■のデバイスアドレス、転送語数
及びテーブル終了コード[相]を設定する。
ーブルXにはデータブロック■〜■のメモリアドレス、
転送語数及びリンクアドレス■〜[相]とデータブロッ
ク■のメそりアドレス、転送語数及びテーブル終了コー
ドOを設定し、テーブルYにはデータブロック■〜■の
デバイスアドレス、転送語数及びリンクアドレス@〜[
相]とデータブロック■のデバイスアドレス、転送語数
及びテーブル終了コード[相]を設定する。
このリンクアレイチエインモードでは、テーブルXはリ
ンクアドレスで■から■まで結合されており、テーブル
Yはリンクアドレスで[相]からOまで結合されている
ため、プロセッサ5はテーブルアドレスレジスタ18に
対し、テーブルXの先頭アドレスを設定させ、テーブル
アドレスレジスタ19に対し、テーブルYの先頭アドレ
スを設定させるが、ブロックカウントレジスフ20と2
1にはデータブロック数を設定させない。
ンクアドレスで■から■まで結合されており、テーブル
Yはリンクアドレスで[相]からOまで結合されている
ため、プロセッサ5はテーブルアドレスレジスタ18に
対し、テーブルXの先頭アドレスを設定させ、テーブル
アドレスレジスタ19に対し、テーブルYの先頭アドレ
スを設定させるが、ブロックカウントレジスフ20と2
1にはデータブロック数を設定させない。
ここで、プロセッサ5は主制御部10に起動を指示する
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスを読取り、バス制御部22を経てテーブ
ルアドレスレジスタ19が記憶するテーブルYの先頭ア
ドレスを読取る。
。起動を指示された主制御部10はバス制御部11を経
てテーブルアドレスレジスタ18が記憶するテーブルX
の先頭アドレスを読取り、バス制御部22を経てテーブ
ルアドレスレジスタ19が記憶するテーブルYの先頭ア
ドレスを読取る。
主制御部10はテーブルXとYの先頭アドレスを用いて
メモリ2のテーブルXとYの内容を読取り、アドレスレ
ジスタ12にメモリアドレス@とリンクアドレス■を、
語カウントレジスク14に転送語数0を格納し、アドレ
スレジスタ13にデバイスアドレス[相]とリンクアド
レス[相]を、語カウントレジスタ15に転送語数[相
]を格納する。
メモリ2のテーブルXとYの内容を読取り、アドレスレ
ジスタ12にメモリアドレス@とリンクアドレス■を、
語カウントレジスク14に転送語数0を格納し、アドレ
スレジスタ13にデバイスアドレス[相]とリンクアド
レス[相]を、語カウントレジスタ15に転送語数[相
]を格納する。
主制御部10はメモリ2から入出力装置4にデータブロ
ックを転送する場合、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、ハス24を経て入出
力装置4のデバイスアドレス[相]が指定するバッファ
メモリ領域■に格納する。
ックを転送する場合、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、ハス24を経て入出
力装置4のデバイスアドレス[相]が指定するバッファ
メモリ領域■に格納する。
ここで、転送語数■と[相]が同じであれば、データブ
ロック■はデータブロック■に示す領域に総て転送され
る。
ロック■はデータブロック■に示す領域に総て転送され
る。
次に、主制御部10はリンクアドレス■を用いてテーブ
ルXからアドレスレジスタ12に、メモリアドレス[相
]とリンクアドレス■を、語カウントレジスタ14に転
送語数■を格納し、リンクアドレス[相]を用いてテー
ブルYからアドレスレジスタ13に、デバイスアドレス
[相]とリンクアドレス[相]を、語カウントレジスタ
15に転送語数[相]を格納する。
ルXからアドレスレジスタ12に、メモリアドレス[相
]とリンクアドレス■を、語カウントレジスタ14に転
送語数■を格納し、リンクアドレス[相]を用いてテー
ブルYからアドレスレジスタ13に、デバイスアドレス
[相]とリンクアドレス[相]を、語カウントレジスタ
15に転送語数[相]を格納する。
そして、メモリアドレス■が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス[相]が指定するバッファメモリ領域■
に格納する。ここで、転送語数@と0が同じであれば、
データブロック■はデータブロック■に示す領域に総て
転送される。
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレス[相]が指定するバッファメモリ領域■
に格納する。ここで、転送語数@と0が同じであれば、
データブロック■はデータブロック■に示す領域に総て
転送される。
次に、主制御部lOはリンクアドレス■を用いてテーブ
ルXからアドレスレジスタ12にメモリアドレス[相]
とリンクアドレス[相]を、語カウントレジスタ14に
転送語数[相]を格納し、リンクアドレスOを用いてア
ドレスレジスタ13に、デバイスアドレス[相]とテー
ブル終了コード[相]を、語カウントレジスタ15に転
送語数[相]を格納する。
ルXからアドレスレジスタ12にメモリアドレス[相]
とリンクアドレス[相]を、語カウントレジスタ14に
転送語数[相]を格納し、リンクアドレスOを用いてア
ドレスレジスタ13に、デバイスアドレス[相]とテー
ブル終了コード[相]を、語カウントレジスタ15に転
送語数[相]を格納する。
そして、メモリアドレス@が指定するアドレスでデータ
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレスOが指定するバッファメモリ領域■に格
納する。ここで、転送語数[相]が[相]より少ないた
め、データブロック■はデータブロック■の領域に総て
転送されるが、主制御部10は転送語数[相]と[相]
の差から、次のデータブロックを格納するためのバッフ
ァメモリ領域■における先頭アドレスを認識する。
ブロック■を続出し、バス24を経て入出力装置4のデ
バイスアドレスOが指定するバッファメモリ領域■に格
納する。ここで、転送語数[相]が[相]より少ないた
め、データブロック■はデータブロック■の領域に総て
転送されるが、主制御部10は転送語数[相]と[相]
の差から、次のデータブロックを格納するためのバッフ
ァメモリ領域■における先頭アドレスを認識する。
そして、主制御部IOはリンクアドレス@を用いて、テ
ーブルXからアドレスレジスタ12にメモリアドレス0
とテーブル終了コードOを、語カウントレジスタ14に
転送語数Oを格納し、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、バス24を経て入出
力装置4のバッファメモリ領域■に格納する。
ーブルXからアドレスレジスタ12にメモリアドレス0
とテーブル終了コードOを、語カウントレジスタ14に
転送語数Oを格納し、メモリアドレス■が指定するアド
レスでデータブロック■を続出し、バス24を経て入出
力装置4のバッファメモリ領域■に格納する。
ここで、転送語数[相]と転送語数[相]十〇が同じで
あれば、データブロック■と■はデータブロック■に示
す領域に総て転送される。
あれば、データブロック■と■はデータブロック■に示
す領域に総て転送される。
主制御部10はアドレスレジスタ12と13に格納され
ているテーブル終了コードにより、データブロックの転
送が完了したことを認識する。
ているテーブル終了コードにより、データブロックの転
送が完了したことを認識する。
主制御部10は入出力装置4からメモリ2にデータブロ
ックを転送する場合は上記同様であり、容易に類推し得
るため詳細説明は省略する。
ックを転送する場合は上記同様であり、容易に類推し得
るため詳細説明は省略する。
以上説明した如く、本発明はプロセッサ5がDMA制御
回路6の起動を一回行うだけで、その後は介入する必要
が無く、プロセッサ5の負担が軽減されるため、システ
ムの処理効率を高めることが出来る。
回路6の起動を一回行うだけで、その後は介入する必要
が無く、プロセッサ5の負担が軽減されるため、システ
ムの処理効率を高めることが出来る。
第5図は第4図の動作を説明する図である。
図において、
1.5はプロセッサ、 2はメモリ、3.6はDM
A制御回路、4は入出力装置、7は指示手段、
8は記憶手段、9は制御手段、 10は主制御部
、11.22はバス制御部、 12.13はアドレスレジスタ、 14、15は語カウントレジスタ、 16、17はチャネル制御レジスタ、 18、19はテーブルアドレスレジスタ、20.21は
ブロックカウントレジスタ、23はプログラム、
24はバスである。
A制御回路、4は入出力装置、7は指示手段、
8は記憶手段、9は制御手段、 10は主制御部
、11.22はバス制御部、 12.13はアドレスレジスタ、 14、15は語カウントレジスタ、 16、17はチャネル制御レジスタ、 18、19はテーブルアドレスレジスタ、20.21は
ブロックカウントレジスタ、23はプログラム、
24はバスである。
第1図は本発明の原理ブロック図、
第2図は本発明の一実施例を示す回路のブロック図、
第3図は第2図の動作を説明する図、
第4図は従来の技術を説明するブロック図、(αン
)司・2区の市がlと8L8月1ろ閉
本3 図Cイの1)
Claims (1)
- 【特許請求の範囲】 プロセッサ(5)と、該プロセッサ(5)が使用する命
令やデータを記憶するメモリ(2)と、該メモリ(2)
とデータ転送を行う入出力装置(4)と、該プロセッサ
(5)が設定する情報に基づき該メモリ(2)と該入出
力装置(4)との間のデータ転送を制御する直接記憶ア
クセス制御回路(6)とを備えたシステムにおいて、該
直接記憶アクセス制御回路(6)には、該入出力装置(
4)と該メモリ(2)間で複数のデータブロックを相互
に転送するための情報を記憶する記憶手段(8)と、該
記憶手段(8)に格納された情報に基づき、該入出力装
置(4)と該メモリ(2)間の複数のデータブロックの
転送を制御する制御手段(9)とを設け、該プロセッサ
(5)には、該直接記憶アクセス制御回路(6)に設け
た該記憶手段(8)に、該入出力装置(4)と該メモリ
(2)間で複数のデータブロックを相互に転送するため
の情報を格納する指示を行う指示手段(7)を設け、 該プロセッサ(5)が該直接記憶アクセス制御回路(6
)の該記憶手段(8)に、該指示手段(7)が指示する
情報を格納してから、該直接記憶アクセス制御回路(6
)を起動した後は、該プロセッサ(5)が再度介入する
ことなく、該直接記憶アクセス制御回路(6)の制御に
より、該入出力装置(4)と該メモリ(2)との間のデ
ータ転送を完了させることを特徴とする直接記憶アクセ
ス制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23780988A JPH0285948A (ja) | 1988-09-22 | 1988-09-22 | 直接記憶アクセス制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23780988A JPH0285948A (ja) | 1988-09-22 | 1988-09-22 | 直接記憶アクセス制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0285948A true JPH0285948A (ja) | 1990-03-27 |
Family
ID=17020729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23780988A Pending JPH0285948A (ja) | 1988-09-22 | 1988-09-22 | 直接記憶アクセス制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0285948A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61276050A (ja) * | 1985-05-31 | 1986-12-06 | Toshiba Corp | デ−タ転送方式 |
JPS63223943A (ja) * | 1987-03-13 | 1988-09-19 | Fujitsu Ltd | ダイレクトメモリアクセス制御装置 |
-
1988
- 1988-09-22 JP JP23780988A patent/JPH0285948A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61276050A (ja) * | 1985-05-31 | 1986-12-06 | Toshiba Corp | デ−タ転送方式 |
JPS63223943A (ja) * | 1987-03-13 | 1988-09-19 | Fujitsu Ltd | ダイレクトメモリアクセス制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2829091B2 (ja) | データ処理システム | |
JPS6027964A (ja) | メモリアクセス制御回路 | |
JPH0285948A (ja) | 直接記憶アクセス制御方式 | |
JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
JPS592058B2 (ja) | 記憶装置 | |
JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
JPS6240736B2 (ja) | ||
JPS6143367A (ja) | レジスタ制御方式 | |
JPS62276663A (ja) | プログラム転送方法 | |
JPH0477945B2 (ja) | ||
JPH0316652B2 (ja) | ||
JPS63168720A (ja) | メモリバツフア装置 | |
JPS63193252A (ja) | マクロコマンド処理装置 | |
JPS60142450A (ja) | 記憶システム | |
JPH01248207A (ja) | 数値制御装置 | |
JPS61153728A (ja) | 磁気記憶装置の高速制御方式 | |
JPS61112270A (ja) | バイト変換装置 | |
JPH0219926A (ja) | マイクロプログラム格納方式 | |
JPH04247540A (ja) | メモリ間ブロック転送方式 | |
JPS6380332A (ja) | マイクロプロセツサ | |
JPH08161253A (ja) | Dma制御方法およびdma制御装置 | |
JPH06110822A (ja) | 情報処理装置のdma制御装置及び該装置を用いたデータ制御方法 | |
JPS61131152A (ja) | Dmaバツフア制御方式 | |
JPS61248149A (ja) | メモリ間デ−タ転送制御方式 | |
JPH02307149A (ja) | 直接メモリアクセス制御方式 |