JPS6132710B2 - - Google Patents
Info
- Publication number
- JPS6132710B2 JPS6132710B2 JP58003702A JP370283A JPS6132710B2 JP S6132710 B2 JPS6132710 B2 JP S6132710B2 JP 58003702 A JP58003702 A JP 58003702A JP 370283 A JP370283 A JP 370283A JP S6132710 B2 JPS6132710 B2 JP S6132710B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- input
- transferred
- dma
- 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
- 238000010586 diagram Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
- 239000004065 semiconductor Substances 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制御装置に関する。
計算機システムにおいて、DMA(Direct
Memory Access)を行う入出力装置は、CPUか
らの起動によつてDMA動作及び入出力動作を行
い、終了すると動作を停止して割込み等の手段で
CPUに動作終了を知らせるようになつている。
更に動作を続けたい場合は、再びCPUからの起
動によつて上記操作を繰り返せばよい。ところ
で、入出力装置によつては、大量のデータ転送を
行つている間に装置の停止、再起動を繰り返すこ
とが望ましくない場合がある。このような場合
は、1回の起動における転送量を大きくして1回
の起動で全データの転送を済ませるようにすれば
よい。しかしながら、このようにすると大量のメ
モリ領域を用意しなければならなくなる。
Memory Access)を行う入出力装置は、CPUか
らの起動によつてDMA動作及び入出力動作を行
い、終了すると動作を停止して割込み等の手段で
CPUに動作終了を知らせるようになつている。
更に動作を続けたい場合は、再びCPUからの起
動によつて上記操作を繰り返せばよい。ところ
で、入出力装置によつては、大量のデータ転送を
行つている間に装置の停止、再起動を繰り返すこ
とが望ましくない場合がある。このような場合
は、1回の起動における転送量を大きくして1回
の起動で全データの転送を済ませるようにすれば
よい。しかしながら、このようにすると大量のメ
モリ領域を用意しなければならなくなる。
また、入出力装置にプリンタ、デイスク装置等
を用いることがあることから、メモリに対する読
出しと書込みの両方で大量のデータ転送を行える
のが望ましい。
を用いることがあることから、メモリに対する読
出しと書込みの両方で大量のデータ転送を行える
のが望ましい。
本発明は上述した点に鑑みてなされたものであ
り、メモリに対する読出しと書込みの両方で、大
量のデータを中断なく転送できるDMA制御装置
を実現することを目的とする。
り、メモリに対する読出しと書込みの両方で、大
量のデータを中断なく転送できるDMA制御装置
を実現することを目的とする。
本発明は、
本体と入出力装置の間で大量のデータのDMA
転送を行う場合において、本体内にデータの授受
を行うためのメモリを設け、該メモリをN個のブ
ロツクに分割し、ブロツク単位で前記メモリから
前記入出力装置へデータを転送する読出し或いは
入出力装置からメモリへデータを転送する書込み
が終了するたびごとにCPUにその旨を知らせて
終了ブロツクは再使用可能な状態にしておき、メ
モリの全領域の読出し或いは書込みが終了したら
再びメモリの最初の番地に戻るようにして、大量
のデータを中断することなく転送することができ
るようにしたDMA制御装置である。
転送を行う場合において、本体内にデータの授受
を行うためのメモリを設け、該メモリをN個のブ
ロツクに分割し、ブロツク単位で前記メモリから
前記入出力装置へデータを転送する読出し或いは
入出力装置からメモリへデータを転送する書込み
が終了するたびごとにCPUにその旨を知らせて
終了ブロツクは再使用可能な状態にしておき、メ
モリの全領域の読出し或いは書込みが終了したら
再びメモリの最初の番地に戻るようにして、大量
のデータを中断することなく転送することができ
るようにしたDMA制御装置である。
以下、図面を参照して本発明を詳細に説明す
る。
る。
第1図は、本発明の一実施例を示す構成ブロツ
ク図である。図において、DBはシステムバス、
1はCPU、2はメモリ、3は入出力コントロー
ラ、4は入出力装置である。30は入出力コント
ローラ3の内部に設けられたDMAコントローラ
である。メモリ2としては、磁気メモリや半導体
メモリが用いられ、入出力装置4としてはプリン
タや、デイスク装置が用いられる。このように構
成されたシステムの動作を概説すると、以下のと
おりである。
ク図である。図において、DBはシステムバス、
1はCPU、2はメモリ、3は入出力コントロー
ラ、4は入出力装置である。30は入出力コント
ローラ3の内部に設けられたDMAコントローラ
である。メモリ2としては、磁気メモリや半導体
メモリが用いられ、入出力装置4としてはプリン
タや、デイスク装置が用いられる。このように構
成されたシステムの動作を概説すると、以下のと
おりである。
先ず、メモリ2からデータを読出す場合につい
て説明する。CPU1から入出力コントローラ3
に起動がかかると、該コントローラはメモリ2に
格納されているデータをDMAで入出力装置4に
転送する。メモリ2に格納されていた全データの
転送が終了すると、再びメモリ2の先頭番地から
のDMA転送が開始される。このとき、メモリ2
に格納されているデータは新しいデータに置き換
わつている。このようにして、CPU1にデータ
転送終了命令が入力されるまでデータの転送が続
行される。メモリ2の1スキヤンが終了し、次の
スキヤンのときにはデータが新しいものに置き換
わつているので、入出力装置4には常に新しいデ
ータが転送されることになる。このようにして、
大量のデータをデータ転送を中断することなくか
つメモリ2の容量を大きくすることなく転送する
ことができる。
て説明する。CPU1から入出力コントローラ3
に起動がかかると、該コントローラはメモリ2に
格納されているデータをDMAで入出力装置4に
転送する。メモリ2に格納されていた全データの
転送が終了すると、再びメモリ2の先頭番地から
のDMA転送が開始される。このとき、メモリ2
に格納されているデータは新しいデータに置き換
わつている。このようにして、CPU1にデータ
転送終了命令が入力されるまでデータの転送が続
行される。メモリ2の1スキヤンが終了し、次の
スキヤンのときにはデータが新しいものに置き換
わつているので、入出力装置4には常に新しいデ
ータが転送されることになる。このようにして、
大量のデータをデータ転送を中断することなくか
つメモリ2の容量を大きくすることなく転送する
ことができる。
次に、入出力装置4から本体側にデータを転送
する場合について説明する。CPU1から入出力
コントローラ3に起動がかかると、該コントロー
ラは入出力装置4から送られてくるデータを
DMAでメモリ2に転送する。メモリ2の全領域
への書込みが終了すると、再びメモリ2の先頭番
地から新たなデータの書込みが開始される。この
とき、第1回目の書込みによりメモリ2に格納さ
れていたデータは、2回目の書込みが始まるまで
に他の記憶装置に移し換えられているか、或いは
データ処理されてしまつていて、2回目の書込み
が始まるまでには用済みとなつている。このよう
にして、CPU1にデータ転送終了命令が入力さ
れるまでデータの転送が続行され、メモリ2の容
量を大きくすることなくかつデータ転送を中断す
ることなく大量のデータ転送が行える。
する場合について説明する。CPU1から入出力
コントローラ3に起動がかかると、該コントロー
ラは入出力装置4から送られてくるデータを
DMAでメモリ2に転送する。メモリ2の全領域
への書込みが終了すると、再びメモリ2の先頭番
地から新たなデータの書込みが開始される。この
とき、第1回目の書込みによりメモリ2に格納さ
れていたデータは、2回目の書込みが始まるまで
に他の記憶装置に移し換えられているか、或いは
データ処理されてしまつていて、2回目の書込み
が始まるまでには用済みとなつている。このよう
にして、CPU1にデータ転送終了命令が入力さ
れるまでデータの転送が続行され、メモリ2の容
量を大きくすることなくかつデータ転送を中断す
ることなく大量のデータ転送が行える。
第2図は、DMAコントローラ30の具体的構
成を示す電気的接続図である。31はコントロー
ルの中心をなす制御回路、32は該制御回路にス
タート信号とストツプ信号を出力するコントロー
ルレジスタである。該コントロールレジスタに
は、CPU1(第1図)からスタート或いはスト
ツプコマンドがセツトされるようになつている。
33はDMA転送開始番地が格納されるアドレス
カウンタ、34は転送データ数が格納されるデー
タカウンタ、35は制御回路31からの終了
(END)信号及びアドレスカウンタ33から、各
ブロツクごとの書込み或いは読出し終了ごとに送
られてくるブロツクエンド(Block End)信号を
受けてCPU1への割込みを発生させる割込み発
生回路である。このように構成された回路の動作
を設明すれば、以下のとおりである。
成を示す電気的接続図である。31はコントロー
ルの中心をなす制御回路、32は該制御回路にス
タート信号とストツプ信号を出力するコントロー
ルレジスタである。該コントロールレジスタに
は、CPU1(第1図)からスタート或いはスト
ツプコマンドがセツトされるようになつている。
33はDMA転送開始番地が格納されるアドレス
カウンタ、34は転送データ数が格納されるデー
タカウンタ、35は制御回路31からの終了
(END)信号及びアドレスカウンタ33から、各
ブロツクごとの書込み或いは読出し終了ごとに送
られてくるブロツクエンド(Block End)信号を
受けてCPU1への割込みを発生させる割込み発
生回路である。このように構成された回路の動作
を設明すれば、以下のとおりである。
CPU1は、アドレスカウンタ33にDMA開始
番地を、データカウンタ34にデータ数を設定し
て起動をかける。CPU1からの駆動を受けたコ
ントロールレジスタ32は、制御回路31にスタ
ート信号を送る。制御回路31は、該スタート信
号を受けるとDMA転送を開始する。入出力装置
4(第1図)にデータを転送する場合を例にとつ
て説明する。第3図はメモリ2の構成を示す図で
ある。図に示すように、該メモリはB1からBN
(Nは整数)までのN個のブロツクに分割されて
いる。第1のブロツクB1の先頭番地から最初の
データが転送されると、制御回路31はアドレス
カウンタ33にアツプ(UP)信号を送つてカウ
ンタの内容を1だけ更新すると共に、データカウ
ンタ34にダウン(DOWN)信号を送つてカウ
ンタの内容を1だけ減ずる。そして、メモリ2の
B1ブロツクの次のデータが転送される。
番地を、データカウンタ34にデータ数を設定し
て起動をかける。CPU1からの駆動を受けたコ
ントロールレジスタ32は、制御回路31にスタ
ート信号を送る。制御回路31は、該スタート信
号を受けるとDMA転送を開始する。入出力装置
4(第1図)にデータを転送する場合を例にとつ
て説明する。第3図はメモリ2の構成を示す図で
ある。図に示すように、該メモリはB1からBN
(Nは整数)までのN個のブロツクに分割されて
いる。第1のブロツクB1の先頭番地から最初の
データが転送されると、制御回路31はアドレス
カウンタ33にアツプ(UP)信号を送つてカウ
ンタの内容を1だけ更新すると共に、データカウ
ンタ34にダウン(DOWN)信号を送つてカウ
ンタの内容を1だけ減ずる。そして、メモリ2の
B1ブロツクの次のデータが転送される。
このようなデータ転送が繰り返されていく間に
アドレスカウンタ33の内容は順次増えていき、
データカウンタ34の内容は順次減つていく。そ
してB1ブロツクの最後のデータが転送される
と、アドレスカウンタ33は制御回路31にブロ
ツク走査終了信号BLKENDを出力する。この
BLKEND信号は、割込発生回路35に送られ、
該割込発生回路はCPU1に割込みを発生する。
CPU1はこの割込みによつて、B1ブロツクのデ
ータが全て転送が終了したことを知り、新たなデ
ータをB1ブロツクに書込む。この間において
も、データのDMA転送は続行されており、次の
B2ブロツクのデータが入出力装置4に転送され
る。そして、B2ブロツクの走査が終了するとブ
ロツク走査終了信号BLKENDが発生し、CPU1
はB2ブロツクに新たなデータを書込む。
アドレスカウンタ33の内容は順次増えていき、
データカウンタ34の内容は順次減つていく。そ
してB1ブロツクの最後のデータが転送される
と、アドレスカウンタ33は制御回路31にブロ
ツク走査終了信号BLKENDを出力する。この
BLKEND信号は、割込発生回路35に送られ、
該割込発生回路はCPU1に割込みを発生する。
CPU1はこの割込みによつて、B1ブロツクのデ
ータが全て転送が終了したことを知り、新たなデ
ータをB1ブロツクに書込む。この間において
も、データのDMA転送は続行されており、次の
B2ブロツクのデータが入出力装置4に転送され
る。そして、B2ブロツクの走査が終了するとブ
ロツク走査終了信号BLKENDが発生し、CPU1
はB2ブロツクに新たなデータを書込む。
このような操作を繰り返して、BNブロツクの
最後の番地のデータの転送が終了すると、制御回
路31はブロツク終了信号を受けてアドレスカウ
ンタ33を再びメモリのDMA開始番地の値にセ
ツトする。そして、B1ブロツクの最初の番地か
らデータ転送が続行される。このような操作を繰
り返している間に、データ転送数がデータカウン
タ34にセツトされていた値になると、該カウン
タはカウンタの内容が0になつたという信号
ZEROを制御回路31に送る。該制御回路は、
ZERO信号を受けると割込発生回路35にデータ
転送終了信号ENDを送る。該割込発生回路は、
END信号を受けてCPU1に割込みを送り、デー
タ転送は終了する。上述の説明では、メモリ2の
内容を入出力制御装置4に転送する場合を例にと
つたが、逆に入出力制御装置4側から本体に向か
つてデータを転送する場合についても同様である
ので説明は省略する。
最後の番地のデータの転送が終了すると、制御回
路31はブロツク終了信号を受けてアドレスカウ
ンタ33を再びメモリのDMA開始番地の値にセ
ツトする。そして、B1ブロツクの最初の番地か
らデータ転送が続行される。このような操作を繰
り返している間に、データ転送数がデータカウン
タ34にセツトされていた値になると、該カウン
タはカウンタの内容が0になつたという信号
ZEROを制御回路31に送る。該制御回路は、
ZERO信号を受けると割込発生回路35にデータ
転送終了信号ENDを送る。該割込発生回路は、
END信号を受けてCPU1に割込みを送り、デー
タ転送は終了する。上述の説明では、メモリ2の
内容を入出力制御装置4に転送する場合を例にと
つたが、逆に入出力制御装置4側から本体に向か
つてデータを転送する場合についても同様である
ので説明は省略する。
上述したように、CPU1は起動を1回だけ行
えばよく、後は次々に入つてくるブロツク終了割
込みに合わせてデータの準備又は処理を行つてい
けばよい。若し、データ処理が間に合わなくなつ
た場合、コントロールレジスタ32にコマンドを
送り、DMA転送を中断させることができる。即
ち、コントロールレジスタ32はCPU1からの
コマンドを受けるとストツプ信号を制御回路31
に送り、制御回路31は転送動作を停止する。
CPU1はデータ処理を終了した後、コントロー
ルレジスタ32に再起動をかける。これによつて
中断していたDMA転送が再開される。本発明の
長所を列挙すれば、以下のとおりである。
えばよく、後は次々に入つてくるブロツク終了割
込みに合わせてデータの準備又は処理を行つてい
けばよい。若し、データ処理が間に合わなくなつ
た場合、コントロールレジスタ32にコマンドを
送り、DMA転送を中断させることができる。即
ち、コントロールレジスタ32はCPU1からの
コマンドを受けるとストツプ信号を制御回路31
に送り、制御回路31は転送動作を停止する。
CPU1はデータ処理を終了した後、コントロー
ルレジスタ32に再起動をかける。これによつて
中断していたDMA転送が再開される。本発明の
長所を列挙すれば、以下のとおりである。
(1) 入出力装置の動作を中断することなく、大量
のデータの転送が行える。
のデータの転送が行える。
(2) 使用するメモリ空間が転送データ数より小さ
いにも拘らず大量データ転送が行える。
いにも拘らず大量データ転送が行える。
(3) 必要な場合、転送を途中で中断し、続行する
ことができる。
ことができる。
(4) メモリに対する読み書き両方のデータ転送に
おいてブロツク単位でデータを転送できるた
め、入出力装置として、データを与える装置
(例えばデイスク装置)とデータが与えられる
装置(例えばプリンタ)の両方を使用できる。
入出力装置がプリンタの場合はプリンタに対し
てデータを切れ目なく与えることができて特に
有効である。
おいてブロツク単位でデータを転送できるた
め、入出力装置として、データを与える装置
(例えばデイスク装置)とデータが与えられる
装置(例えばプリンタ)の両方を使用できる。
入出力装置がプリンタの場合はプリンタに対し
てデータを切れ目なく与えることができて特に
有効である。
以上説明したように、本発明によれば、メモリ
に対する読出しと書込みの両方で、大量のデータ
を中断なく転送できるDMA制御装置を実現する
ことができる。
に対する読出しと書込みの両方で、大量のデータ
を中断なく転送できるDMA制御装置を実現する
ことができる。
第1図は本発明の一実施例を示す構成ブロツク
図、第2図はDMAコントローラの具体的構成を
示す電気的接続図、第3図はメモリの構成を示す
図である。 1……CPU、2……メモリ、3……入出力コ
ントローラ、4……入出力装置、30……DMA
コントローラ、31……制御回路、32……コン
トロールレジスタ、33……アドレスカウンタ、
34……データカウンタ、35……割込み発生回
路、DB……システムパス、B1〜BN……メモリブ
ロツク。
図、第2図はDMAコントローラの具体的構成を
示す電気的接続図、第3図はメモリの構成を示す
図である。 1……CPU、2……メモリ、3……入出力コ
ントローラ、4……入出力装置、30……DMA
コントローラ、31……制御回路、32……コン
トロールレジスタ、33……アドレスカウンタ、
34……データカウンタ、35……割込み発生回
路、DB……システムパス、B1〜BN……メモリブ
ロツク。
Claims (1)
- 1 本体と入出力装置間で大量のデータのDMA
転送を行う場合において、本体内にデータの授受
を行うためのメモリを設け、該メモリをN個のブ
ロツクに分割し、ブロツク単位で前記メモリから
前記入出力装置へデータを転送する読出し或いは
入出力装置からメモリへデータを転送する書込み
が終了するたびごとにCPUにその旨を知らせて
終了ブロツクは再使用可能な状態にしておき、メ
モリの全領域の読出し或いは書込みが終了したら
再びメモリの最初の番地に戻るようにして、大量
のデータを中断することなく転送することができ
るようにしたDMA制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP370283A JPS59128621A (ja) | 1983-01-13 | 1983-01-13 | Dma制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP370283A JPS59128621A (ja) | 1983-01-13 | 1983-01-13 | Dma制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59128621A JPS59128621A (ja) | 1984-07-24 |
JPS6132710B2 true JPS6132710B2 (ja) | 1986-07-29 |
Family
ID=11564698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP370283A Granted JPS59128621A (ja) | 1983-01-13 | 1983-01-13 | Dma制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59128621A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6455005A (en) * | 1987-08-25 | 1989-03-02 | Yao Seisakusho Kk | End processor for covered wire |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56143038A (en) * | 1980-04-09 | 1981-11-07 | Hitachi Ltd | Data processing system |
-
1983
- 1983-01-13 JP JP370283A patent/JPS59128621A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56143038A (en) * | 1980-04-09 | 1981-11-07 | Hitachi Ltd | Data processing system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6455005A (en) * | 1987-08-25 | 1989-03-02 | Yao Seisakusho Kk | End processor for covered wire |
Also Published As
Publication number | Publication date |
---|---|
JPS59128621A (ja) | 1984-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3598321B2 (ja) | 異なる周波数で動作するバス間でやりとりされるバッファリングデータ | |
US4096572A (en) | Computer system with a memory access arbitrator | |
US5283872A (en) | SCSI device having transfer parameter storage memory blocks which correspond to each apparatus | |
EP0212637B1 (en) | Mircrocomputer | |
US5287486A (en) | DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts | |
JPS6132710B2 (ja) | ||
JP2701739B2 (ja) | プロセッサの系切替え方式 | |
JPH0222748A (ja) | 不揮発生メモリ制御回路 | |
JP3293838B2 (ja) | データ転送方式 | |
JP2826780B2 (ja) | データ転送方法 | |
JPS62276663A (ja) | プログラム転送方法 | |
JP2821176B2 (ja) | 情報処理装置 | |
JPH11212904A (ja) | データ転送システム | |
JPS6218074B2 (ja) | ||
JP3259095B2 (ja) | データ転送方法 | |
JPH02163820A (ja) | データバッファ装置 | |
JPS61153770A (ja) | 画像処理装置 | |
JPS6019023B2 (ja) | デ−タ処理装置 | |
JPS61117651A (ja) | インタ−フエイス装置 | |
JPH0820934B2 (ja) | ディスクキャッシュ制御方式 | |
JPS62145345A (ja) | 直接メモリアクセス間隔制御方式 | |
JPS61127025A (ja) | 光デイスク制御装置 | |
JPS63245712A (ja) | 外部記憶装置間のデ−タ転送制御方式 | |
JPH05210615A (ja) | Dma装置 | |
JPH0128971B2 (ja) |