JPS634219B2 - - Google Patents
Info
- Publication number
- JPS634219B2 JPS634219B2 JP5063181A JP5063181A JPS634219B2 JP S634219 B2 JPS634219 B2 JP S634219B2 JP 5063181 A JP5063181 A JP 5063181A JP 5063181 A JP5063181 A JP 5063181A JP S634219 B2 JPS634219 B2 JP S634219B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- memory area
- address
- control circuit
- 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
Links
- 230000007246 mechanism Effects 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 32
- 230000004044 response Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】
本発明は、ダイレクト・メモリ・アクセス
(DMA)機構によつて、記憶装置内の分散した
メモリエリアに対するデータ転送を行なうための
方式に関する。
(DMA)機構によつて、記憶装置内の分散した
メモリエリアに対するデータ転送を行なうための
方式に関する。
従来のDMA機構は転送対象の先頭メモリアド
レスと転送データ数および転送方向等を示すコン
トロール情報を格納し、これら情報に基づきデー
タ転送を行つていた。このため、記憶装置から周
辺入出力装置へデータを転送する場合、転送対象
データを記憶装置上連続するアドレスに用意して
おく必要があつた。したがつて、転送対象データ
が記憶装置上に点在しているときは、それらのデ
ータを予めプログラム処理で連続したアドレスに
集めるか、又は点在する転送対象データの各群毎
にその都度プログラム処理を介在させてDMA機
構に対し新たなアドレス、転送データ数およびコ
ントロール情報を与えることが必要で、処理能力
を低下させていた。このようなプログラムの介在
を少くする目的で、アドレスレジスタ、転送デー
タカウンタを複数組内蔵し、その1組によつて1
群のデータを転送し終えると、次のアドレスレジ
スタと転送データカウンタの組に自動的に切替え
て別の1群のデータの転送を行なうようにした
DMA機構もある。しかしこのようなDMA機構
は、自動的に連鎖できるメモリエリアの組数はア
ドレスレジスタと転送データカウンタの組の個数
で制限され、この制限を大きくするには回路素子
の増加によるコスト上昇が避けられない。
レスと転送データ数および転送方向等を示すコン
トロール情報を格納し、これら情報に基づきデー
タ転送を行つていた。このため、記憶装置から周
辺入出力装置へデータを転送する場合、転送対象
データを記憶装置上連続するアドレスに用意して
おく必要があつた。したがつて、転送対象データ
が記憶装置上に点在しているときは、それらのデ
ータを予めプログラム処理で連続したアドレスに
集めるか、又は点在する転送対象データの各群毎
にその都度プログラム処理を介在させてDMA機
構に対し新たなアドレス、転送データ数およびコ
ントロール情報を与えることが必要で、処理能力
を低下させていた。このようなプログラムの介在
を少くする目的で、アドレスレジスタ、転送デー
タカウンタを複数組内蔵し、その1組によつて1
群のデータを転送し終えると、次のアドレスレジ
スタと転送データカウンタの組に自動的に切替え
て別の1群のデータの転送を行なうようにした
DMA機構もある。しかしこのようなDMA機構
は、自動的に連鎖できるメモリエリアの組数はア
ドレスレジスタと転送データカウンタの組の個数
で制限され、この制限を大きくするには回路素子
の増加によるコスト上昇が避けられない。
したがつて本発明の目的は、DMA機構のコス
ト上昇を招くことなく、記憶装置内に分散した任
意数のメモリエリアに対するデータ転送を可能に
するデータ転送方式を提供することにある。
ト上昇を招くことなく、記憶装置内に分散した任
意数のメモリエリアに対するデータ転送を可能に
するデータ転送方式を提供することにある。
しかして本発明によれば、記憶装置の任意のア
ドレスから始まる任意数のメモリエリアのそれぞ
れに、自メモリエリアに対する転送データ数を示
す長さ情報と、自メモリエリアに連鎖すべき(次
にデータ転送すべき)他のメモリエリアの先頭ア
ドレスとを格納しておく。一方DMA機構は、デ
ータ転送中のメモリエリアにおける転送済みデー
タ数が、そのメモリエリアから読し出した長さ情
報で指定された値に達すると、このメモリエリア
におけるデータ転送を終了し、かつこのメモリエ
リアから読み出した先頭アドレス情報で指定され
る別のメモリエリアに対するデータ転送を開始す
るように構成する。
ドレスから始まる任意数のメモリエリアのそれぞ
れに、自メモリエリアに対する転送データ数を示
す長さ情報と、自メモリエリアに連鎖すべき(次
にデータ転送すべき)他のメモリエリアの先頭ア
ドレスとを格納しておく。一方DMA機構は、デ
ータ転送中のメモリエリアにおける転送済みデー
タ数が、そのメモリエリアから読し出した長さ情
報で指定された値に達すると、このメモリエリア
におけるデータ転送を終了し、かつこのメモリエ
リアから読み出した先頭アドレス情報で指定され
る別のメモリエリアに対するデータ転送を開始す
るように構成する。
このようなデータ転送方式によれば、記憶装置
内に分散する任意数のメモリエリアに対するデー
タ転送を自動的に連続し行なうことができる。し
かも、連鎖するメモリエリアの数がいくら大きく
なつても、DMA機構の部品数をそれに比例して
増加させる必要はなく、DMA機構のコストも低
く抑えることができる。
内に分散する任意数のメモリエリアに対するデー
タ転送を自動的に連続し行なうことができる。し
かも、連鎖するメモリエリアの数がいくら大きく
なつても、DMA機構の部品数をそれに比例して
増加させる必要はなく、DMA機構のコストも低
く抑えることができる。
以下、図面に沿つて本発明の実施例を説明す
る。
る。
第1図は、本発明を実施するDMA機構の一例
を示すブロツク図である。当該DMA機構20
は、プロセツサ6、記憶装置5、周辺入出力装置
15と図示のような接続関係にある。
を示すブロツク図である。当該DMA機構20
は、プロセツサ6、記憶装置5、周辺入出力装置
15と図示のような接続関係にある。
記憶装置5は、プロセツサ6が実行するプログ
ラムおよび処理用データを格納する。アドレスバ
ス101は記憶装置5のアクセスすべきアドレス
を伝ぱんするもので、16本のバス線から成り、ま
たデータバス102は記憶装置5に対する書込み
データあるいは読出しデータを伝ぱんするもの
で、16本の双方向性のバス線から成る。
ラムおよび処理用データを格納する。アドレスバ
ス101は記憶装置5のアクセスすべきアドレス
を伝ぱんするもので、16本のバス線から成り、ま
たデータバス102は記憶装置5に対する書込み
データあるいは読出しデータを伝ぱんするもの
で、16本の双方向性のバス線から成る。
DMA機構20は1組のアドレスレジスタ1,
2を有する。第1のアドレスレジスタ1は、現在
データ転送を実行中のメモリエリアに連鎖する次
のメモリエリアの先頭アドレスを格納する16ビツ
トのレジスタである。第2のアドレスレジスタ2
は記憶装置5のアクセスアドレスを保持する16ビ
ツトのレジスタであり、その内容を+1するカウ
ント機能も具備している。転送カウンタ3は、現
在データ転送中のメモリエリアから転送すべきデ
ータ数と実際に転送したデータ数の差を表示する
16ビツトのカウンタであり、トリガが加わる毎に
その内容が−1される。コントロールレジスタ4
はDMA転送方向を示す2ビツトのレジスタであ
り、そのいづれかのビツトが“1”となつたとき
に当該DMA機構20は起動し、2ビツト共
“0”になると当該DMA機能20はDMA動作を
停止する。周辺入出力装置15はDMA機構20
の制御下で記憶装置5とデータ転送する。
2を有する。第1のアドレスレジスタ1は、現在
データ転送を実行中のメモリエリアに連鎖する次
のメモリエリアの先頭アドレスを格納する16ビツ
トのレジスタである。第2のアドレスレジスタ2
は記憶装置5のアクセスアドレスを保持する16ビ
ツトのレジスタであり、その内容を+1するカウ
ント機能も具備している。転送カウンタ3は、現
在データ転送中のメモリエリアから転送すべきデ
ータ数と実際に転送したデータ数の差を表示する
16ビツトのカウンタであり、トリガが加わる毎に
その内容が−1される。コントロールレジスタ4
はDMA転送方向を示す2ビツトのレジスタであ
り、そのいづれかのビツトが“1”となつたとき
に当該DMA機構20は起動し、2ビツト共
“0”になると当該DMA機能20はDMA動作を
停止する。周辺入出力装置15はDMA機構20
の制御下で記憶装置5とデータ転送する。
またDMA機構20において、デコード回路8
は第2のアドレスレジスタ2の内容がFFFF(16
進)となつたときデコード出力105を“1”に
する。このアドレス値FFFF(16進)は記憶装置
5の最上位アドレスであり、データ転送対象のメ
モリエリアの先頭としては出現し得ない値である
ことを利用してデータ群の連鎖の終りを示すため
の符号として選んだ値である。デコード出力10
5はコントロールレジスタ4のリセツト入力とプ
ロセツサ6の割込み入力に接続されており、第2
のアドレスレジスタ2の内容がFFFF(16進)と
なつたときに、コントロールレジスタ4をリセツ
トしDMA機構の動作を停止せしめると同時に、
プロセツサ6に転送完了を通知するようになつて
いる。もう1つのデコード回路11は、転送カウ
ンタ3の内容が0となつたことを検出すると出力
209を“1”にする。このデコーダ出力209
は転送制御回路14に接続され、現在転送中のメ
モリエリアに対するデータ転送の完了を通知す
る。転送制御回路14は記憶装置5と周辺入出力
装置15のデータの転送に関連する信号線のシー
ケンスを制御するもので詳細動作は後述する。
は第2のアドレスレジスタ2の内容がFFFF(16
進)となつたときデコード出力105を“1”に
する。このアドレス値FFFF(16進)は記憶装置
5の最上位アドレスであり、データ転送対象のメ
モリエリアの先頭としては出現し得ない値である
ことを利用してデータ群の連鎖の終りを示すため
の符号として選んだ値である。デコード出力10
5はコントロールレジスタ4のリセツト入力とプ
ロセツサ6の割込み入力に接続されており、第2
のアドレスレジスタ2の内容がFFFF(16進)と
なつたときに、コントロールレジスタ4をリセツ
トしDMA機構の動作を停止せしめると同時に、
プロセツサ6に転送完了を通知するようになつて
いる。もう1つのデコード回路11は、転送カウ
ンタ3の内容が0となつたことを検出すると出力
209を“1”にする。このデコーダ出力209
は転送制御回路14に接続され、現在転送中のメ
モリエリアに対するデータ転送の完了を通知す
る。転送制御回路14は記憶装置5と周辺入出力
装置15のデータの転送に関連する信号線のシー
ケンスを制御するもので詳細動作は後述する。
ゲート回路7は通常ハイインピーダンス状態に
あり、プロセツサ6がメモリアクセス権を開放し
ている状態、つまり信号109が出力されている
ときだけ第2のアドレスレジスタ2の内容をアド
レスバス101に乗せる。オアゲート9,10は
プロセツサ6、連鎖制御回路12および転送制御
回路14から出される読出し要求、書込み要求を
それぞれ論理和し、記憶装置5に与える。オアゲ
ート16は、第2のアドレスレジスタ2に対する
プロセツサ6および連鎖制御回路12からのデー
タバス102の情報取込要求を論理和する。また
オアゲート13は、連鎖制御回路12および転送
制御回路14からのメモリアクセス権開放要求を
論理和してプロセツサ6に与える。オアゲート1
7は、連鎖制御回路12および転送制御回路14
からの第2のアドレスレジスタ2の内容を+1す
る要求を論理和してアドレスレジスタ2に与え
る。信号線110はクロツク信号であり、連鎖制
御回路12および転送制御回路14において信号
発生タイミングおよびパルス幅を定めるために使
用している。信号線111は初期リセツト信号で
あり、DMA制御機構を初期状態にするものであ
る。
あり、プロセツサ6がメモリアクセス権を開放し
ている状態、つまり信号109が出力されている
ときだけ第2のアドレスレジスタ2の内容をアド
レスバス101に乗せる。オアゲート9,10は
プロセツサ6、連鎖制御回路12および転送制御
回路14から出される読出し要求、書込み要求を
それぞれ論理和し、記憶装置5に与える。オアゲ
ート16は、第2のアドレスレジスタ2に対する
プロセツサ6および連鎖制御回路12からのデー
タバス102の情報取込要求を論理和する。また
オアゲート13は、連鎖制御回路12および転送
制御回路14からのメモリアクセス権開放要求を
論理和してプロセツサ6に与える。オアゲート1
7は、連鎖制御回路12および転送制御回路14
からの第2のアドレスレジスタ2の内容を+1す
る要求を論理和してアドレスレジスタ2に与え
る。信号線110はクロツク信号であり、連鎖制
御回路12および転送制御回路14において信号
発生タイミングおよびパルス幅を定めるために使
用している。信号線111は初期リセツト信号で
あり、DMA制御機構を初期状態にするものであ
る。
次に、第2図のメモリマツプに示すように記憶
装置5内に散在するメモリエリアA,B,Cに対
するデータ転送を説明する。なお、データ転送方
向は記憶装置5から周辺入出力装置15の方向と
するが、これはあくまで説明の便宜上である。
装置5内に散在するメモリエリアA,B,Cに対
するデータ転送を説明する。なお、データ転送方
向は記憶装置5から周辺入出力装置15の方向と
するが、これはあくまで説明の便宜上である。
さて、プログラムは、DMA制御機構に次のと
うり起動処理を行う。まず第2のアドレスレジス
タ2にi番地のアドレス値すなわちiをセツトす
る命令を発行する。このセツト命令により、プロ
セツサ6からデータバス102上に値iが伝送さ
れ、続いて信号線106にセツトパルスが出され
る。これにより、第2のアドレスレジスタ2に値
iがセツトされる。次にプロセツサ6からデータ
バス102上に転送方向指示情報が伝送され、続
いて信号線107にセツトパルスが出される。こ
れにより、コントロールレジスタ4に転送方向指
示がセツトされる。この転送方向指示は転送制御
回路14を介し信号線211によつて周辺入出力
装置15にも伝えられる。また、記憶装置5から
周辺入出力装置15への転送例であるので、転送
制御装置14は信号線211によりデータの受取
りモードで動作するよう周辺入出力装置15に指
示する。
うり起動処理を行う。まず第2のアドレスレジス
タ2にi番地のアドレス値すなわちiをセツトす
る命令を発行する。このセツト命令により、プロ
セツサ6からデータバス102上に値iが伝送さ
れ、続いて信号線106にセツトパルスが出され
る。これにより、第2のアドレスレジスタ2に値
iがセツトされる。次にプロセツサ6からデータ
バス102上に転送方向指示情報が伝送され、続
いて信号線107にセツトパルスが出される。こ
れにより、コントロールレジスタ4に転送方向指
示がセツトされる。この転送方向指示は転送制御
回路14を介し信号線211によつて周辺入出力
装置15にも伝えられる。また、記憶装置5から
周辺入出力装置15への転送例であるので、転送
制御装置14は信号線211によりデータの受取
りモードで動作するよう周辺入出力装置15に指
示する。
コントロールレジスタ4に転送方向指示がセツ
トされたとき、同時にそれはDMA機構の起動で
もあることは前述したとおりであるから、コント
ロールレジスタ4にセツトされた起動指示が連鎖
制御回路12に信号線201によつて伝えられる
と、連鎖制御回路12はプロセツサ6にメモリア
クセス権開放要求を出す。この要求はオアゲート
13を経て信号線108でプロセツサ6に伝えら
れる。
トされたとき、同時にそれはDMA機構の起動で
もあることは前述したとおりであるから、コント
ロールレジスタ4にセツトされた起動指示が連鎖
制御回路12に信号線201によつて伝えられる
と、連鎖制御回路12はプロセツサ6にメモリア
クセス権開放要求を出す。この要求はオアゲート
13を経て信号線108でプロセツサ6に伝えら
れる。
プロセツサ6はメモリアクセス権開放要求を検
出すると、命令実行の区切りのつく所で命令実行
を一時中断し、アドレスバス101、データバス
102との接続を切離し、信号線109を“1”
にしてメモリアクセス権を開放したことをDMA
機構20に伝える。
出すると、命令実行の区切りのつく所で命令実行
を一時中断し、アドレスバス101、データバス
102との接続を切離し、信号線109を“1”
にしてメモリアクセス権を開放したことをDMA
機構20に伝える。
DMA機構20では、信号線109が“1”に
なることによりゲート回路7が開き、第2のアド
レスレジスタ2の内容すなわちiをアドレスバス
101に送出する。また信号線109によりメモ
リアクセス権の開放が伝えられた連鎖制御回路1
2は、記憶装置の読出し要求をオアゲート9を介
し記憶装置5へ送る。これにより記憶装置5のメ
モリエリアAの先頭アドレスの内容(k)が読み
出され、データバス102に出力される。このタ
イミングに合わせて連鎖制御回路12からパルス
信号202が出され、これにより第1のアドレス
レジスタ1にデータバス102の内容が取り込ま
れる。この第1のアドレスレジスタの内容(k)
は、次にデータ転送すべきメモリエリアBの先頭
アドレスを指定している。
なることによりゲート回路7が開き、第2のアド
レスレジスタ2の内容すなわちiをアドレスバス
101に送出する。また信号線109によりメモ
リアクセス権の開放が伝えられた連鎖制御回路1
2は、記憶装置の読出し要求をオアゲート9を介
し記憶装置5へ送る。これにより記憶装置5のメ
モリエリアAの先頭アドレスの内容(k)が読み
出され、データバス102に出力される。このタ
イミングに合わせて連鎖制御回路12からパルス
信号202が出され、これにより第1のアドレス
レジスタ1にデータバス102の内容が取り込ま
れる。この第1のアドレスレジスタの内容(k)
は、次にデータ転送すべきメモリエリアBの先頭
アドレスを指定している。
次に連鎖制御回路12はパルス信号203を発
生し、第2のアドレスレジスタ2の内容を+1す
る。即ちi+1とする。i+1はメモリエリアA
内の転送対象データ数(第2図においてメモリエ
リアAの斜線部分の長さ)を格納するアドレスで
あり、その内容はaである。ここで連鎖制御回路
12は再度記憶装置5に読出し要求を出し、続い
てパルス信号203および204を発生する。そ
の結果、転送カウンタ3にはaがセツトされまた
第2のアドレスレジスタ2はi+2となる。ここ
で連鎖制御回路12はプロセツサ6に出していた
メモリアクセス権開放要求信号108を断ち、メ
モリアクセス権をプロセツサ6に返す。これによ
り、プロセツサ6は中断していた処理を再開す
る。またこのとき、連鎖制御回路12は信号線2
05を介して転送制御回路14を起動する。この
起動指示を受けた転送制御回路14は、この時点
から周辺入出力装置15の転送要求の監視を開始
する。
生し、第2のアドレスレジスタ2の内容を+1す
る。即ちi+1とする。i+1はメモリエリアA
内の転送対象データ数(第2図においてメモリエ
リアAの斜線部分の長さ)を格納するアドレスで
あり、その内容はaである。ここで連鎖制御回路
12は再度記憶装置5に読出し要求を出し、続い
てパルス信号203および204を発生する。そ
の結果、転送カウンタ3にはaがセツトされまた
第2のアドレスレジスタ2はi+2となる。ここ
で連鎖制御回路12はプロセツサ6に出していた
メモリアクセス権開放要求信号108を断ち、メ
モリアクセス権をプロセツサ6に返す。これによ
り、プロセツサ6は中断していた処理を再開す
る。またこのとき、連鎖制御回路12は信号線2
05を介して転送制御回路14を起動する。この
起動指示を受けた転送制御回路14は、この時点
から周辺入出力装置15の転送要求の監視を開始
する。
周辺入出力装置15は、記憶装置5のデータが
必要となつた時点でデータ転送要求206を転送
制御回路に送出する。転送制御回路14は転送要
求206を検出すると、メモリアクセス権開放要
求をオアゲート13を介しプロセツサ6に要求す
る。このメモリアクセス権開放要求は前述したと
同様に信号線109によりプロセツサ6に通知さ
れると同時に、第2のアドレスレジスタ2にも伝
えられ、その内容がアドレスバス101に乗せら
れる。第2のアドレスレジスタ2の内容は連鎖制
御回路12によりi+2となつており、メモリエ
リアAの転送対象データの先頭アドレスである。
次に転送制御回路14は、読出し要求をオアゲー
ト9を通じ記憶装置5に送出する。
必要となつた時点でデータ転送要求206を転送
制御回路に送出する。転送制御回路14は転送要
求206を検出すると、メモリアクセス権開放要
求をオアゲート13を介しプロセツサ6に要求す
る。このメモリアクセス権開放要求は前述したと
同様に信号線109によりプロセツサ6に通知さ
れると同時に、第2のアドレスレジスタ2にも伝
えられ、その内容がアドレスバス101に乗せら
れる。第2のアドレスレジスタ2の内容は連鎖制
御回路12によりi+2となつており、メモリエ
リアAの転送対象データの先頭アドレスである。
次に転送制御回路14は、読出し要求をオアゲー
ト9を通じ記憶装置5に送出する。
その後、転送制御回路14は、記憶装置5から
読出されたデータがデータバス102に出力され
るタイミングで周辺入出力装置15に転送要求応
答を信号線207で伝えるとともに、パルス信号
208を発生し、第2のアドレスレジスタ2の内
容を+1更新し、転送カウンタ3の内容を−1更
新する。これにより、第2のアドレスレジスタ2
の内容はi+3、すなわちメモリエリアAの転送
対象データの2番目のアドレスを示し、また転送
カウンタ3の内容はa−1となり、メモリエリア
Aの転送対象データ中の未転送データ数を示すこ
とになる。第2のアドレスレジスタ2と転送カウ
ンタ3は、その値を次の転送要求発生まで保持す
る。
読出されたデータがデータバス102に出力され
るタイミングで周辺入出力装置15に転送要求応
答を信号線207で伝えるとともに、パルス信号
208を発生し、第2のアドレスレジスタ2の内
容を+1更新し、転送カウンタ3の内容を−1更
新する。これにより、第2のアドレスレジスタ2
の内容はi+3、すなわちメモリエリアAの転送
対象データの2番目のアドレスを示し、また転送
カウンタ3の内容はa−1となり、メモリエリア
Aの転送対象データ中の未転送データ数を示すこ
とになる。第2のアドレスレジスタ2と転送カウ
ンタ3は、その値を次の転送要求発生まで保持す
る。
一方、転送制御回路14から信号線207を介
し転送要求応答を受領した周辺入出力装置15
は、信号線206に出していた転送要求を徹回す
ると同時にデータバス102の内容を取り込む。
信号線206上の転送要求が徹回されると、転送
制御回路14はメモリアクセス権要求を徹回し、
メモリアクセス権をプロセツサ6に返す。
し転送要求応答を受領した周辺入出力装置15
は、信号線206に出していた転送要求を徹回す
ると同時にデータバス102の内容を取り込む。
信号線206上の転送要求が徹回されると、転送
制御回路14はメモリアクセス権要求を徹回し、
メモリアクセス権をプロセツサ6に返す。
以上のようにして、i+2番地の転送対象デー
タの転送動作が行なわれる。同様にしてi+3番
地の転送対象データの転送が行なわれ、第2のア
ドレスレジスタ2の内容がi+4となり、転送カ
ウンタ3の内容がa−2となる。以下同様にして
i+4,i+5,…i+a,i+a+1,i+a
+2番地の転送対象データが順次転送される。こ
のとき、転送カウンタ3の内容はa−3,a−
4,…,2,1,0と更新されていく。
タの転送動作が行なわれる。同様にしてi+3番
地の転送対象データの転送が行なわれ、第2のア
ドレスレジスタ2の内容がi+4となり、転送カ
ウンタ3の内容がa−2となる。以下同様にして
i+4,i+5,…i+a,i+a+1,i+a
+2番地の転送対象データが順次転送される。こ
のとき、転送カウンタ3の内容はa−3,a−
4,…,2,1,0と更新されていく。
転送カウンタ3の値が0になると、これがデコ
ード回路11によつて検出され、信号線209に
よつて0検出信号が転送制御回路14と連鎖制御
回路12に伝えられる。転送制御回路14は0検
出信号が伝えられると、周辺入出力装置15から
の転送要求206の監視動作を停止する。一方、
0検出信号が伝えられた連鎖制御回路12は、パ
ルス信号210を出力し、第2のアドレスレジス
タ2に第1のアドレスレジスタ1の内容を移送す
る。第1のアドレスレジスタ1の内容はkであつ
たから、第2のアドレスレジスタ2の内容もkと
なる。
ード回路11によつて検出され、信号線209に
よつて0検出信号が転送制御回路14と連鎖制御
回路12に伝えられる。転送制御回路14は0検
出信号が伝えられると、周辺入出力装置15から
の転送要求206の監視動作を停止する。一方、
0検出信号が伝えられた連鎖制御回路12は、パ
ルス信号210を出力し、第2のアドレスレジス
タ2に第1のアドレスレジスタ1の内容を移送す
る。第1のアドレスレジスタ1の内容はkであつ
たから、第2のアドレスレジスタ2の内容もkと
なる。
ここで連鎖制御回路12は、コントロールレジ
スタ4に初めて転送指示なされた場合と同じ動作
シーケンスを行う。即ち、第1のアドレスレジス
タ1にk+1番地の内容jが格納され、転送カウ
ンタ3に値bが格納され、そして第2のアドレス
レジスタ2の内容はk+2となる。換言すれば第
1のアドレスレジスタはメモリエリアCの先頭ア
ドレスを示し、転送カウンタ3はメモリエリアB
の転送対象データ長を示し、そして第2のアドレ
スレジスタ2はメモリエリアBの転送対象データ
の先頭アドレスを示している。そして、連鎖制御
回路12は転送制御回路14を信号線205を介
してメモリエリアAの場合と同様に起動す。転送
制御回路14は再び周辺入出力装置15の転送要
求206の監視を再開し、メモリエリアBの転送
対象データの転送を行う。
スタ4に初めて転送指示なされた場合と同じ動作
シーケンスを行う。即ち、第1のアドレスレジス
タ1にk+1番地の内容jが格納され、転送カウ
ンタ3に値bが格納され、そして第2のアドレス
レジスタ2の内容はk+2となる。換言すれば第
1のアドレスレジスタはメモリエリアCの先頭ア
ドレスを示し、転送カウンタ3はメモリエリアB
の転送対象データ長を示し、そして第2のアドレ
スレジスタ2はメモリエリアBの転送対象データ
の先頭アドレスを示している。そして、連鎖制御
回路12は転送制御回路14を信号線205を介
してメモリエリアAの場合と同様に起動す。転送
制御回路14は再び周辺入出力装置15の転送要
求206の監視を再開し、メモリエリアBの転送
対象データの転送を行う。
このようにして、メモリエリアA,Bが連鎖さ
れ、連続的にデータ転送が行なわれる。この動作
は、第1のアドレスレジスタ1の内容がFFFF
(16進)となり、それが第2のアドレスレジスタ
2にセツトされるまで継続する。つまり、連鎖す
べきメモリエリアの数は任意である。
れ、連続的にデータ転送が行なわれる。この動作
は、第1のアドレスレジスタ1の内容がFFFF
(16進)となり、それが第2のアドレスレジスタ
2にセツトされるまで継続する。つまり、連鎖す
べきメモリエリアの数は任意である。
さて連鎖の最終メモリエリア、つまり本例では
メモリエリアCに対するデータ転送について説明
する。
メモリエリアCに対するデータ転送について説明
する。
1つ前のメモリエリアBからメモリエリアCに
連鎖され、メモリエリアC内のデータ転送が行な
われることは前述と同様である。そしてメモリエ
リアCの最後の転送対象データが転送されると、
デコード回路11から0検出信号が信号線209
に出力される。0検出信号が出ると、連鎖制御回
路12はメモリエリアBの場合と同様にパルス信
号210を出力し、第1のアドレスレジスタ1の
内容を第2のアドレスレジスタ2に移送する。第
1のアドレスレジスタ1はメモリエリアBの取出
し時にj番地の内容FFFF(16進)が格納されて
いた。ゆえに、第2のアドレスレジスタ2の内容
はFFFF(16進)となる。第2のアドレスレジス
タ2の内容がFFFF(16進)になると、デコード
回路8はデコード出力105を“1”にする。デ
コード出力105が出力されるとコントロールレ
ジスタ4がリセツトされ、転送指示がリセツトさ
れる。この転送指示のリセツトは連鎖制御回路1
2に信号線201によつて伝えられ、これを受領
した連鎖制御回路12はこの時出していたメモリ
アクセス権開放要求を徹回する。これでDMA機
構によるデータ転送動作は終結し、再びコントロ
ールレジスタ4に転送指示がセツトされない限り
動作を引き起すことはない。またデコード出力1
05はプロセツサ6の割込み入力にも接続されて
いるので、デコード出力105が出力されメモリ
アクセス権がプロセツサ6に戻ると、プロセツサ
6の割込みを引き起こす。プロセツサ6ではこの
割込みにてDMA機構によるデータ転送が完了し
たと認識し、転送後の後処理に移ることができ
る。
連鎖され、メモリエリアC内のデータ転送が行な
われることは前述と同様である。そしてメモリエ
リアCの最後の転送対象データが転送されると、
デコード回路11から0検出信号が信号線209
に出力される。0検出信号が出ると、連鎖制御回
路12はメモリエリアBの場合と同様にパルス信
号210を出力し、第1のアドレスレジスタ1の
内容を第2のアドレスレジスタ2に移送する。第
1のアドレスレジスタ1はメモリエリアBの取出
し時にj番地の内容FFFF(16進)が格納されて
いた。ゆえに、第2のアドレスレジスタ2の内容
はFFFF(16進)となる。第2のアドレスレジス
タ2の内容がFFFF(16進)になると、デコード
回路8はデコード出力105を“1”にする。デ
コード出力105が出力されるとコントロールレ
ジスタ4がリセツトされ、転送指示がリセツトさ
れる。この転送指示のリセツトは連鎖制御回路1
2に信号線201によつて伝えられ、これを受領
した連鎖制御回路12はこの時出していたメモリ
アクセス権開放要求を徹回する。これでDMA機
構によるデータ転送動作は終結し、再びコントロ
ールレジスタ4に転送指示がセツトされない限り
動作を引き起すことはない。またデコード出力1
05はプロセツサ6の割込み入力にも接続されて
いるので、デコード出力105が出力されメモリ
アクセス権がプロセツサ6に戻ると、プロセツサ
6の割込みを引き起こす。プロセツサ6ではこの
割込みにてDMA機構によるデータ転送が完了し
たと認識し、転送後の後処理に移ることができ
る。
以上は記憶装置5から周辺入出力装置15へ向
けてデータを転送する場合であつた。これと逆方
向のデータ転送も同様に考えてよいが、異なる点
について以下に簡単に説明する。
けてデータを転送する場合であつた。これと逆方
向のデータ転送も同様に考えてよいが、異なる点
について以下に簡単に説明する。
初めにプログラムによるDMA制御機構に対す
る起動処理において、コントロールレジスタ4は
記憶装置5から周辺入出力装置15に対する起動
時にセツトしたビツトと反対側のビツトに“1”
がセツトされる。この転送方向指示は、周辺入出
力装置15に対し記憶装置5へデータを送出する
モードで動作するように信号線211で伝えられ
る。その後の連鎖制御回路12の動作は、記憶装
置5から周辺入出力装置15への転送の場合と何
ら変るところはない。一方、転送制御回路12に
おける動作は少し異なる。すなわち、記憶装置5
から周辺入出力装置15へ向けて転送する場合、
周辺入出力装置15からの転送要求206を契機
にプロセツサ6にメモリアクセス権開放要求後、
先ず記憶装置5に読出し要求を行い、続いて転送
要求応答207を周辺入出力装置15に返し、デ
ータバス102上のデータを周辺入出力装置に取
込むよう制御した。これに対し、周辺入出力装置
15から記憶装置5への転送の場合、転送制御回
路14は周辺入出力装置15からの転送要求20
6を契機にプロセツサ6にメモリアクセス権開放
要求後、先ず周辺入出力装置15に送出データを
データバス102に乗せるよう信号線212を通
じて指示する。次に記憶装置5に対しオアゲート
10を介して書込み要求を送り、続いて周辺入出
力装置15に転送要求応答207を返す。周辺入
出力装置15は、転送要求応答答207を受領す
ると転送要求206を徹回する。
る起動処理において、コントロールレジスタ4は
記憶装置5から周辺入出力装置15に対する起動
時にセツトしたビツトと反対側のビツトに“1”
がセツトされる。この転送方向指示は、周辺入出
力装置15に対し記憶装置5へデータを送出する
モードで動作するように信号線211で伝えられ
る。その後の連鎖制御回路12の動作は、記憶装
置5から周辺入出力装置15への転送の場合と何
ら変るところはない。一方、転送制御回路12に
おける動作は少し異なる。すなわち、記憶装置5
から周辺入出力装置15へ向けて転送する場合、
周辺入出力装置15からの転送要求206を契機
にプロセツサ6にメモリアクセス権開放要求後、
先ず記憶装置5に読出し要求を行い、続いて転送
要求応答207を周辺入出力装置15に返し、デ
ータバス102上のデータを周辺入出力装置に取
込むよう制御した。これに対し、周辺入出力装置
15から記憶装置5への転送の場合、転送制御回
路14は周辺入出力装置15からの転送要求20
6を契機にプロセツサ6にメモリアクセス権開放
要求後、先ず周辺入出力装置15に送出データを
データバス102に乗せるよう信号線212を通
じて指示する。次に記憶装置5に対しオアゲート
10を介して書込み要求を送り、続いて周辺入出
力装置15に転送要求応答207を返す。周辺入
出力装置15は、転送要求応答答207を受領す
ると転送要求206を徹回する。
以上述べた以外の転送制御回路14における動
作は、転送方向に依存せず同一である。したがつ
て、周辺入出力装置15から記憶装置5への転送
の場合、周辺入出力装置15から送出するデータ
が記憶装置5上の連鎖しているメモリエリアを順
次たどりながらそのデータ転送対象領域を順次埋
め、連鎖の最後のメモリエリアのデータ転送対象
領域を全部埋め終ると、DMA機構を終結し、プ
ロセツサ6に転送完了の割込みを起す。
作は、転送方向に依存せず同一である。したがつ
て、周辺入出力装置15から記憶装置5への転送
の場合、周辺入出力装置15から送出するデータ
が記憶装置5上の連鎖しているメモリエリアを順
次たどりながらそのデータ転送対象領域を順次埋
め、連鎖の最後のメモリエリアのデータ転送対象
領域を全部埋め終ると、DMA機構を終結し、プ
ロセツサ6に転送完了の割込みを起す。
以上、3つのメモリエリアを連鎖してデータ転
送する例について説明したが、メモリエリアが1
個の場合および4個以上の場合も可能であること
は明らかである。またメモリエリアをループ状に
連鎖させることも可能である。この場合は連鎖が
無限に繰り返されるが、コントロールレジスタ4
をプログラムでリセツト(2ビツトとも“0”)
すれば連鎖を止めることができる。
送する例について説明したが、メモリエリアが1
個の場合および4個以上の場合も可能であること
は明らかである。またメモリエリアをループ状に
連鎖させることも可能である。この場合は連鎖が
無限に繰り返されるが、コントロールレジスタ4
をプログラムでリセツト(2ビツトとも“0”)
すれば連鎖を止めることができる。
前記実施例のDMA機構はアドレスレジスタを
2つ備えていたが、1つ減らすことも可能であ
る。例えば、第2図中の第1のアドレスレジスタ
1およびそれに対する信号線212,213を省
くこともできる。このようにする場合は、連鎖す
べき各メモリエリアの制御情報の位置を例えば第
3図のメモリマツプに示すように変更する。そし
て、あるメモリエリアの最後の転送対象データの
転送を終了したら、その次のアドレスの内容(次
にデータ転送を行なうメモリエリアの先頭アドレ
ス)を第2のアドレスレジスタ2へ直接入れる。
こうすれば、前記実施例において第1のアドレス
レジスタ1の内容を第2のアドレスレジスタ2へ
移したのと、結果的に同じ動作を達成できること
は明らかである。
2つ備えていたが、1つ減らすことも可能であ
る。例えば、第2図中の第1のアドレスレジスタ
1およびそれに対する信号線212,213を省
くこともできる。このようにする場合は、連鎖す
べき各メモリエリアの制御情報の位置を例えば第
3図のメモリマツプに示すように変更する。そし
て、あるメモリエリアの最後の転送対象データの
転送を終了したら、その次のアドレスの内容(次
にデータ転送を行なうメモリエリアの先頭アドレ
ス)を第2のアドレスレジスタ2へ直接入れる。
こうすれば、前記実施例において第1のアドレス
レジスタ1の内容を第2のアドレスレジスタ2へ
移したのと、結果的に同じ動作を達成できること
は明らかである。
本発明は以上に述べた如くであり、記憶装置内
の分散したメモリエリアに対し、プログラムを介
入させることなく自動的に連鎖させてデータ転送
することができる。しかも、メモリエリアの数は
全く任意であり、その数が多くなつてもDMA機
構の部品数が増えることもない。このように、本
発明のデータ転送方式は、記憶装置と周辺入出力
装置の間などにおけるデータ転送に適用すると極
めて大きな効果が得られる。
の分散したメモリエリアに対し、プログラムを介
入させることなく自動的に連鎖させてデータ転送
することができる。しかも、メモリエリアの数は
全く任意であり、その数が多くなつてもDMA機
構の部品数が増えることもない。このように、本
発明のデータ転送方式は、記憶装置と周辺入出力
装置の間などにおけるデータ転送に適用すると極
めて大きな効果が得られる。
第1図は本発明の一実施例を示すブロツク図、
第2図は同上実施例の動作説明のためのメモリマ
ツプ、第3図は本発明の他の一実施例を説明する
ためのメモリマツプである。 1……第1のアドレスレジスタ、2……第2の
アドレスレジスタ、3……転送カウンタ、4……
コントロールレジスタ、5……記憶装置、6……
プロセツサ、7……ゲート回路、8,11……デ
コード回路、9,10,13,16,17……オ
アゲート、12……連鎖制御回路、14……転送
制御回路、15……周辺入出力装置。
第2図は同上実施例の動作説明のためのメモリマ
ツプ、第3図は本発明の他の一実施例を説明する
ためのメモリマツプである。 1……第1のアドレスレジスタ、2……第2の
アドレスレジスタ、3……転送カウンタ、4……
コントロールレジスタ、5……記憶装置、6……
プロセツサ、7……ゲート回路、8,11……デ
コード回路、9,10,13,16,17……オ
アゲート、12……連鎖制御回路、14……転送
制御回路、15……周辺入出力装置。
Claims (1)
- 1 記憶装置の任意のアドレスから始まる任意数
のメモリエリアに対し、直接メモリアクセス
(DMA)機構によつて直接メモリアクセスする
ことによりデータ転送を行なう方式において、前
記の各メモリエリアに自メモリエリアに対する転
送データ数を示す長さ情報と自メモリエリアに連
鎖すべき他のメモリエリアの先頭アドレス情報と
を格納しておき、該DMA機構は、任意のメモリ
エリアに対するデータ転送を当該メモリエリアか
ら読み出した長さ情報で指定されたデータ数だけ
実行すると終了し、当該メモリエリアから読み出
した先頭アドレス情報で指定される別のメモリエ
リアに対するデータ転送を開始し、以て任意数の
メモリエリアを自動的に連鎖してデータ転送する
ことを特徴とするデータ転送方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5063181A JPS57166626A (en) | 1981-04-06 | 1981-04-06 | Data transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5063181A JPS57166626A (en) | 1981-04-06 | 1981-04-06 | Data transfer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57166626A JPS57166626A (en) | 1982-10-14 |
JPS634219B2 true JPS634219B2 (ja) | 1988-01-28 |
Family
ID=12864314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5063181A Granted JPS57166626A (en) | 1981-04-06 | 1981-04-06 | Data transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57166626A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0433498U (ja) * | 1990-07-10 | 1992-03-18 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59183425A (ja) * | 1983-03-31 | 1984-10-18 | Fujitsu Ltd | デ−タ転送方式 |
JPS6072052A (ja) * | 1983-09-29 | 1985-04-24 | Nec Corp | メモリアクセス方式 |
JPS63123118A (ja) * | 1986-11-12 | 1988-05-26 | Nec Corp | メモリアドレス制御装置 |
JPS6488669A (en) * | 1987-09-29 | 1989-04-03 | Nec Corp | Dma transfer control table prereading system |
JP5390991B2 (ja) * | 2009-08-27 | 2014-01-15 | キヤノン株式会社 | データ転送システム、データ転送装置、データ転送装置の制御方法、及びプログラム |
-
1981
- 1981-04-06 JP JP5063181A patent/JPS57166626A/ja active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0433498U (ja) * | 1990-07-10 | 1992-03-18 |
Also Published As
Publication number | Publication date |
---|---|
JPS57166626A (en) | 1982-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4860244A (en) | Buffer system for input/output portion of digital data processing system | |
CA1247249A (en) | System bus means for inter-processor communication | |
US4481572A (en) | Multiconfigural computers utilizing a time-shared bus | |
US4547849A (en) | Interface between a microprocessor and a coprocessor | |
US4949241A (en) | Microcomputer system including a master processor and a slave processor synchronized by three control lines | |
JPH0354375B2 (ja) | ||
JPS6331813B2 (ja) | ||
KR100335785B1 (ko) | 데이타처리명령의실행 | |
US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
US4897779A (en) | Method and apparatus for optimizing inter-processor instruction transfers | |
US5341495A (en) | Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols | |
JPS634219B2 (ja) | ||
JP2509569B2 (ja) | 情報処理システム用i/o構造 | |
JP2643931B2 (ja) | 情報処理装置 | |
JPH051504B2 (ja) | ||
JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
SU433484A1 (ru) | СШТШДА ОБРАБОТКИ ДАННЫХ1 Т Бii^f;'- ViJ- i^ О г^ ал | |
JP2679440B2 (ja) | 情報処理装置 | |
JPH01106158A (ja) | プロセツサ間のデータ通信制御方式 | |
JPS6097459A (ja) | デ−タ処理システム同期方法 | |
JP2961542B2 (ja) | データ処理システム | |
SU1341636A1 (ru) | Устройство дл прерывани программ | |
JPH0434187B2 (ja) | ||
JPH0713814B2 (ja) | バス制御方式 | |
JPH0425581B2 (ja) |