JPH0473181B2 - - Google Patents

Info

Publication number
JPH0473181B2
JPH0473181B2 JP1672287A JP1672287A JPH0473181B2 JP H0473181 B2 JPH0473181 B2 JP H0473181B2 JP 1672287 A JP1672287 A JP 1672287A JP 1672287 A JP1672287 A JP 1672287A JP H0473181 B2 JPH0473181 B2 JP H0473181B2
Authority
JP
Japan
Prior art keywords
bus
data
buffer
output
bytes
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
Application number
JP1672287A
Other languages
English (en)
Other versions
JPS63184150A (ja
Inventor
Naoyuki Nishimura
Shigeru Hashimoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1672287A priority Critical patent/JPS63184150A/ja
Publication of JPS63184150A publication Critical patent/JPS63184150A/ja
Publication of JPH0473181B2 publication Critical patent/JPH0473181B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling 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

【発明の詳細な説明】
〔概要〕 データバス幅の異なる2組のバス間でダイレク
トメモリアクセス(DMA)転送を行うとき、転
送データを一方のデータバス幅に揃えた後にバス
要求を出力すると、バス要求からバス許可までの
時間が無駄となる。 本発明のDMA制御方式は、転送データがバツ
フアに揃う前にバス要求を行うもので、万一バス
許可時にデータが揃つていないときはバス使用を
放棄し、揃つた時点でバス要求を再出力する。 〔産業上の利用分野〕 本発明はデータバス幅の異なるバス間における
DMA制御方式の改良に関する。 複数バイト幅(例えば4バイト)を持つシステ
ムバスにデイスク装置等デバイスからの1バイト
幅のデータをDMA転送する場合、1バイト幅の
データをバツフアに4バイト揃えてからバス要求
を出力している。 このため、バス許可を得るまでの調停時間が無
駄となり、これを解決し高速でDMA転送を行う
DMA制御方式が求められている。 〔従来の技術〕 第3図は従来のDMA制御方式説明図であり、
に処理装置ブロツク図、に動作タイムチヤー
ト図を示す。 第3図−において、1はシステムバス100
の使用要求(バス要求)を調停するバス調停部2
を備えたプロセツサユニツトCPU、3は主メモ
リ、4はデイスク装置5と主メモリ3との間の
DMA転送を制御するデイスク制御部であり、デ
イスク制御部4とデイスク装置5との間は1バイ
ト幅のデータバスを備えたインタフエースバス1
01で接続されたものである。 上記構成の処理装置において、1バイト幅のイ
ンタフエースバス101と4バイト幅のシステム
バス100との間でDMA転送を行うため、デイ
スク制御部4に4バイトのバツフア7を設け、デ
イスク装置5からデータを転送するときは、第3
図−に示すように、4バイトのデータがバツフ
ア7に揃つたときバス要求REQを出力し、バス
許可ACKがバス調停部2より返送されたとき、
システムバス100をアクセスして主メモリ3に
バツフア7のデータを転送する。 主メモリ3によりデイスク装置5に転送する場
合は、バツフア7に4バイトのデータを格納した
後1バイトごと順次転送するが、その4バイトデ
ータをデイスク装置5に転送終了した後にバス要
求REQを出力し、バス許可後次の4バイトデー
タをバツフア7に読込んでいる。 〔発明が解決しようとする問題点〕 周辺装置から転送されるデータのバイト幅は通
常1バイトであり、システムバスは2〜4バイト
幅のものが使用されている。 このため、バツフアを介して一方のバイト幅に
揃えて転送しているが、システムバス側をアクセ
スするとき、従来はバツフアにデータが揃つた後
(周辺装置→システムバス)またはバツフアに格
納したデータが周辺装置に転送された後バス要求
を出力していた。 このためバス要求を出力してからバス許可が返
送される時間が無駄となる問題点があつた。 本発明は、上記無駄時間を解消し、高速に
DMA転送を行うDMA制御方式を提供すること
を目的とする。 〔問題点を解決するための手段〕 上記目的のため、本発明のDMA制御方式は、
第1図本発明の原理説明図に示すように、 複数バイトのデータバス幅を有する第1のバス
100と、1バイトのデータバス幅を有する第2
のバス101と、第1のバスのデータバス幅と同
一バイト数の容量を備え、第1のバスおよび第2
のバスのいずれか一方のバスに出力されたデータ
を格納するとともに、該データを他方のバスのデ
ータバス幅に整列せしめて該他方のバスに出力す
るバツフア7と、第1のバスに対するバス要求
REQを第1のバスと該バツフアとの間の前記複
数バイトの1組のデータ転送ごとに出力し、バス
許可ACK後に第1のバスをアクセスして前記バ
ツフアと第1のバスとの間でデータ転送を行うダ
イレクトメモリアクセス制御部9とを備える処理
装置において、第2のバスと該バツフアとの間の
前記複数バイトの1組のデータ転送において、該
複数バイトのうちの所定バイト数のデータが転送
された時点で、次のバス要求REQの出力を指示
するバス要求条件設定部10と、第2のバスにお
ける前記複数バイトのデータ転送の終了を検出し
て終了信号53を出力するバスアクセス条件設定
部11と、前記次のバス要求REQに対するバス
許可ACKが応答されたとき、該終了信号53が
出力されていれば、第1のバスをアクセスし、該
終了信号が出力されていなければ所定のダミーア
クセスを実行して第1のバスの使用を終了させる
とともに該終了信号53が出力された時点でバス
要求REQの再出力を指示する放棄再要求部8と
を設け、該バツフアと第2のバス101との間の
前記1組のデータ転送が終了する所定前に、該バ
ツフアと第1のバス100との間のデータ転送の
ためのバス要求を出力するように構成し、第2の
バスにおける前記データ転送が終了する以前にバ
ス許可が応答された場合は前記ダミーアクセスを
実行して該バス許可を放棄し、該データ転送が終
了した時点で該バス要求を再出力するように構成
する。 〔作用〕 第2のバス(以下1バイト幅のインタフエース
バス)101より、第1のバス(以下4バイト幅
のシステムバス)100へデータを転送する場
合、インタフエースバス101から所定バイト、
例えば1バイト目のデータがバツフアに格納され
たとき、バス要求REQを出力する。 バス許可ACKが返送されたときシステムバス
100をアクセスしてバツフアの内容を転送する
が、万一インタフエースバス101側で4バイト
の転送が終了していなければバス使用を放棄する
とともに転送終了後にバス使用を再要求する。
(Relinquish and Retry) なお、バス使用を放棄する方法としてバス規約
に基づきダミーアクセスを実行すると放棄され
る。この場合、即ちバツフア7の内容をシステム
バス100に出力して転送先メモリにライトする
場合のダミーアクセスとしては、例えば、次の方
法がある。 システムバス100に接続されている転送先
メモリに出力するライト信号をリード信号に変
換してリードアクセスを実行する。この際、シ
ステムバスとバツフア7との間をゲート等によ
り切断してシステムバス100に出力されたリ
ードデータがバツフア7へ転送されることを阻
止する。また、転送先メモリのアドレスは歩進
させず、リトライ時には前回と同じアドレスデ
ータを出力してライトする。 ライトアクセスを実行して放棄する。この
際、転送先アドレスは歩進させずそのままにし
ておく。そしてすべてのデータが揃つた時点で
バス要求してライトする。つまり転送先に重ね
書きする。 一方、システムバス100よりインタフエース
バス101に転送する場合、バツフアに格納した
データをインタフエースバス101に1バイトご
と順次出力するが、所定バイト出力したとき次の
4バイトデータをバツフア7に格納するためのバ
ス要求REQを出力する。 この場合もバス許可ACKが応答されたときバ
ツフアデータの転送が終了していなければ、放棄
再要求を行う。この場合の放棄のためのダミーア
クセスは、バツフア7とシステムバス100とを
ゲート等で切断した状態でリードアクセスを行
う。つまりバツフア7の内容がすべてインタフエ
ースバス101に出力されていなければ、システ
ムバス100に出力されたリードデータを読み捨
てる。そしてアドレスはそのままにしておき、リ
トライ時にこのアドレスでリードアクセスする。
以上により、従来発生していたバス要求−バス許
可間の無駄時間を削減または減少させることがで
きる。 〔実施例〕 本発明の実施例を第2図、第3図を参照しつつ
説明する。以下ダミーアクセスとして前述した
に示したアクセスを実行する例を示す。本実施例
は第3図の処理装置に適用した例を示したもの
で、第2図aにデイスク制御部ブロツク図、第2
図bに動作説明図を示し、処理装置全体の構成、
符号は第3図を使用する。 第2図aにおいて、デイスク制御部は、 インタフエースバス101を制御してデイスク
装置5との間でデータのやりとりを行うデバイス
制御部13、 それぞれ1バイト×4組のレジスタ(〜)
より構成されるライトレジスタ7a、リードレジ
スタ7b、 ライトレジスタ7a、リードレジスタ7bの4
組の各レジスタを選択するためのカウンタ等で構
成されるレジスタ選択部14および15、 DMA制御部9、 バス要求条件設定部10、 バスアクセス条件設定部11、 システムバス100の開閉制御を行うゲート1
6および17 等より構成される。 デバイス制御部13は、インタフエースバス1
01の制御線103に基づきデイスク装置5との
間でデータのやりとりを行うが、デイスク装置5
からシステムバス100に転送するときはレジス
タ選択部14にカウントアツプ信号50を出力し
てライトレジスタ7aの各レジスタ(〜)を
選択し、データ線104に1バイトごと出力され
た4バイトのデータを順次(→)格納する。 また、リードレジスタ7bにシステムバス10
0より4バイトのデータが転送されたとき、カウ
ントアツプ信号51をレジスタ選択部15に出力
してリードレジスタ7bを順次選択し、1バイト
ごとインタフエースバス101に出力する。 バス要求条件設定部10は、上記カウントアツ
プ信号50,51をそれぞれ計数する2組のカウ
ンタおよび比較回路より構成されるもので、例え
ば2バイト目転送終了(カウントアツプ信号50
または51を2パルス計数)を検出した後バス要
求指示信号52を出力する。 バスアクセス条件設定部11は上記4バイト転
送終了を検出して終了/未終了信号53を出力す
るもので、カウントアツプ信号50,51をそれ
ぞれ4パルス計数する2組のカウンタより構成さ
れる。 なお、DMA転送のスタートを指示するDMA
ST Reg18、転送データブロツクのバイト数を
指示するレングスReg21、転送先アドレスを指
示するアドレスReg22、転送方向を指示する
R/WReg23は、それぞれCPU1よりセツトさ
れるものであり、またタイミング制御部20はシ
ステムバス100のアクセス制御を行うもの、バ
ス要求部19は各部からの信号を判別してバス要
求REQを出力するものである。 なお、第1図に示した放棄再要求部8は、タイ
ミング制御部20、ゲート26、ゲート27より
構成される。 以下、第2図bを参照しつつ、デイスク装置5
よりシステムバス100へのデータ転送を例と
し、また2バイト目にバス要求REQを出力する
場合の動作を説明する。 (1) デバイス制御部13は、デイスク装置5が出
力した1バイトのデータを確認信号を返送する
とともにカウントアツプ信号50を出力してラ
イトレジスタ7a−に格納する。 これにより、バス要求条件設定部10および
バスアクセス条件設定部11は“1”をカウン
トする。 (2) 続いてデイスク装置5は2バイト目のデータ
を転送し、デバイス制御部13はカウントアツ
プ信号50を出力してこれをライトレジスタ7
a−に格納する。 (3) バス要求条件設定部10は“2”を計数し、
バス要求部19にバス要求信号52を出力す
る。 DMA ST RegはCPU1により“1”がセ
ツトされているから、バス要求部19はバス要
求指示信号52を受取ることができ、バス調停
部2にバス要求REQを出力する。 (4) 続いて3バイト目、4バイト目のデータがデ
イスク装置5より転送され、所定のライトレジ
スタ(7a−,)に格納される。 (5) バス許可ACKがゲート25を介して応答さ
れたとき、タイミング制御部20はバスアクセ
スを開始する。 このとき、終了/未終了信号53に“1”
(終了)が出力されていると、R/WRegにセ
ツトされている“1”(W信号)がゲート27
を通してR/W信号線に出力され、且つゲート
16、ゲート17が開いて、アドレスReg22
の内容がアドレスバスに出力されて主メモリ3
の所定のアドレスにライトレジスタ7aの4バ
イトデータが格納される。 続いて、ゲート26を通じてカウンタ28が
カウントアツプされ、一旦バス放棄した後レン
グスReg22が“0”になるまで上記動作を繰
り返す。第2図b− 以上により、設定した2バイト目でバス要求
が出力され、バス許可が応答されている間に残
り2バイトのデータが転送されるため、従来生
じていたバス要求−バス許可間の時間が短縮さ
れる。 なお、デイスク装置の回転待ち等によつて、
バス許可が応答されたときに4バイトのデータ
が揃つていない場合は、以下のような処理が行
われる。 (5) バス許可ACKによりタイミング制御部20
がバスのアクセスを開始したとき、終了/未終
了信号が“0”(未終了)ならば、ゲート27
の出力は“0”(R信号)となり、アドレス
Reg22の指定するデータが読出される。この
とき、ゲート17は閉じた状態に制御され、読
出されたデータはリードレジスタ7bには格納
されず、読み捨てられる。このダミーサイクル
によりバス使用が放棄されるが、タイミング制
御部20が出力するカウントアツプ信号はゲー
ト26により禁止され、従つてアドレスReg2
2、レングスReg21の値はそのまま保たれ
る。第2図b− (6) バスアクセス条件設定部11が4バイト転送
を確認したとき(終了/未終了信号53が
“1”)、タイミング制御部20は、バス要求部
19にバス要求を指令する。これにより、改め
てライトレジスタ7aの内容がアドレスReg2
2の指示するアドレスに格納される。 以上はインタフエースバス101よりシステム
バス100への転送例を示したが、逆方向転送の
場合も同様に実施できる。 即ち、4バイトのデータがリードレジスタ7b
に転送された後、1バイトづつインタフエースバ
イト101に出力するが、例えばバス要求条件設
定部10の1組のカウンタに2バイト目を設定す
ると、2バイト転送された後にバス要求指示信号
52が出力され、バス要求部19によつてバス要
求REQが出力される。この場合も、バス許可
ACKが応答されたときに、終了/未終了信号5
3として“1”が出力されていれば、直ちにシス
テムバス100に対してリードアクセスが行なわ
れて次のデータがリードレジスタ7bに格納され
るが、終了/未終了信号として“0”が出力され
ているときは、システムバス100に読出された
データはゲート17によつて阻止され、且つ、ア
ドレスReg22の値が保持される。そして、この
ダミーアクセスにより一旦バス許可が放棄され、
終了/未終了信号53が“1”になつたとき、バ
ス要求REQが再出力される。 なお、インタフエースバス101として通常1
バイトとしたが、システムバス100とのバイト
幅の比が整数倍であれば容易に適用することがで
きる。 〔発明の効果〕 上記詳細に説明したように、本発明は、異なる
バイト幅を備える2組のバス間のDMA転送にお
いて、データが一方のバイト幅に揃う以前にバス
要求を出力するDMA制御方式を提供するもので
あるから、高速のDMA転送を実現できる効果は
極めて大きい。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図aは実施
例のデイスク制御部ブロツク図、第2図bは動作
説明図で、は動作タイムチヤート図(その1)、
は動作タイムチヤート図(その2)、第3図は
従来のDMA制御方式説明図で、は処理装置ブ
ロツク図、は動作タイムチヤート図、である。
図中、 1はプロセツサユニツトCPU、2はバス調停
部、3は主メモリ、4はデイスク制御部、5はデ
イスク装置、6はDMA制御部、7はバツフア、
7a(〜)はライトレジスタ、7bはリード
レジスタ、8は放棄再要求部、9はDMA制御
部、10はバス要求条件設定部、11はバスアク
セス条件設定部、13はデバイス制御部、14,
15はレジスタ選択部、16,17,25,2
6,27はゲート、18はDMA ST Reg、19
はバス要求部、20はタイミング制御部、21は
レングスReg、22はアドレスReg、23はR/
WReg、28はカウンタ、50,51はカウント
アツプ信号、52はバス要求指示信号、53は終
了/未終了信号で、“1”は終了、“0”は未終
了、54はR/W信号で、“1”はライト信号、
“0”はリード信号、100はシステムバス(第
1のバス)、101はインタフエースバス(第2
のバス)で、103は制御線、104はデータバ
ス、REQは第1のバスに対するバス要求、ACK
はREQに対するバス許可、である。

Claims (1)

  1. 【特許請求の範囲】 1 複数バイトのデータバス幅を有する第1のバ
    ス100と、 1バイトのデータバス幅を有する第2のバス1
    01と、 第1のバスのデータバス幅と同一のバイト数の
    容量を備え、第1のバスおよび第2のバスのいず
    れか一方のバスに出力されたデータを格納すると
    ともに、該データを他方のバスのデータバス幅に
    整列せしめて該他方のバスに出力するバツフア7
    と、 第1のバスに対するバス要求REQを第1のバ
    スと該バツフアとの間の前記複数バイトの1組の
    データ転送ごとに出力し、バス許可ACK後に第
    1のバスをアクセスして前記バツフアと第1のバ
    スとの間でデータ転送を行うダイレクトメモリア
    クセス制御部9とを備える処理装置において、 第2のバスと該バツフアとの間の前記複数バイ
    トの1組のデータ転送において、該複数バイトの
    うちの所定バイト数のデータが転送された時点
    で、次のバス要求REQの出力を指示するバス要
    求条件設定部10と、 第2のバスにおける前記複数バイトのデータ転
    送の終了を検出して終了信号53を出力するバス
    アクセス条件設定部11と、 前記次のバス要求REQに対するバス許可ACK
    が応答されたとき、該終了信号53が出力されて
    いれば、第1のバスをアクセスし、該終了信号が
    出力されていなければ所定のダミーアクセスを実
    行して第1のバスの使用を終了させるとともに該
    終了信号53が出力された時点でバス要求REQ
    の再出力を指示する放棄再要求部8と を設け、該バツフアと第2のバス101との間の
    前記1組のデータ転送が終了する所定前に、該バ
    ツフアと第1のバス100との間のデータ転送の
    ためのバス要求を出力するように構成し、第2の
    バスにおける前記データ転送が終了する以前にバ
    ス許可が応答された場合は前記ダミーアクセスを
    実行して該バス許可を放棄し、該データ転送が終
    了した時点で該バス要求を再出力することを特徴
    とするダイレクトメモリアクセス制御方式。
JP1672287A 1987-01-27 1987-01-27 ダイレクトメモリアクセス制御方式 Granted JPS63184150A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1672287A JPS63184150A (ja) 1987-01-27 1987-01-27 ダイレクトメモリアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1672287A JPS63184150A (ja) 1987-01-27 1987-01-27 ダイレクトメモリアクセス制御方式

Publications (2)

Publication Number Publication Date
JPS63184150A JPS63184150A (ja) 1988-07-29
JPH0473181B2 true JPH0473181B2 (ja) 1992-11-20

Family

ID=11924156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1672287A Granted JPS63184150A (ja) 1987-01-27 1987-01-27 ダイレクトメモリアクセス制御方式

Country Status (1)

Country Link
JP (1) JPS63184150A (ja)

Also Published As

Publication number Publication date
JPS63184150A (ja) 1988-07-29

Similar Documents

Publication Publication Date Title
US5708849A (en) Implementing scatter/gather operations in a direct memory access device on a personal computer
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
JPH0354375B2 (ja)
JPS6375955A (ja) プログラムモ−ド・アクセス制御方式
JPS6054063A (ja) デ−タ転送システム
JPH02259861A (ja) Dmaコントローラ
JPH0473181B2 (ja)
JPH051504B2 (ja)
JP2985496B2 (ja) Dma転送方式
JPH04323755A (ja) Dma装置
JPS581454B2 (ja) 入出力制御方式
JPS6040064B2 (ja) デ−タ転送制御方式
JPS63182765A (ja) ダイレクトメモリアクセス制御方式
JP3025287B2 (ja) Dma制御方式
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JPS6041157A (ja) バス争奪制御方式
KR0170742B1 (ko) 엠버스를 이용한 데이터 전송 방법
JPS6235148B2 (ja)
JP2601937B2 (ja) Dmaコントローラ
JPS599744A (ja) 高速dma転送起動回路
JPS60136853A (ja) デ−タ転送方式
JPH03141453A (ja) データ転送方式
JPH02181250A (ja) 共通バスバースト転送調停方式
JPH0370816B2 (ja)
JPH0193855A (ja) 情報処理装置におけるメモリ制御方式

Legal Events

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