JPH06301639A - バス間データ転送装置 - Google Patents

バス間データ転送装置

Info

Publication number
JPH06301639A
JPH06301639A JP8847693A JP8847693A JPH06301639A JP H06301639 A JPH06301639 A JP H06301639A JP 8847693 A JP8847693 A JP 8847693A JP 8847693 A JP8847693 A JP 8847693A JP H06301639 A JPH06301639 A JP H06301639A
Authority
JP
Japan
Prior art keywords
data
bus
address
memory
transfer
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
Application number
JP8847693A
Other languages
English (en)
Inventor
Harunobu Miyashita
晴信 宮下
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8847693A priority Critical patent/JPH06301639A/ja
Publication of JPH06301639A publication Critical patent/JPH06301639A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数のDMACがI/Oバス等の1つバスに
接続されていても、バス間データ転送の際のアドレスの
設定を遅滞なく行えるようにする。 【構成】 バス間データ転送装置31はプロセッサ34
およびメインメモリ35を有するシステムバスと第1お
よび第2のDMAC361 、362 を有するI/Oバス
33を接続している。この装置31内にはDMAC36
1 、362 に対応して第1および第2のアドレスエント
リ381 、382 が配置されており、それぞれメインメ
モリ35にアクセスする先頭アドレスと転送されるデー
タのサイズを遅滞なく格納できる。転送データはデータ
バッファ39に一時的に格納される。アクセスの際のア
ドレスは、開始アドレスからデータのサイズに相当する
値ずつ変化させながら更新される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はシステムバスとI/Oバ
スのように異なる2つのバスの間でデータの転送を行う
バス間データ転送装置に関する。
【0002】
【従来の技術】バス間データ転送装置は、システムバス
とI/Oバスのように2つのバスの間でデータの転送を
行っている。このようなバス間データ転送装置に関して
は、例えば特開平3−204756号公報に開示があ
る。
【0003】図11はこの提案のバス間データ転送装置
を使用したデータ処理システムを表わしたものである。
バス間データ転送装置11は、システムバス12とロー
カルバス13を接続する形でこれらの間に配置されてい
る。システムバス12にはシステムプロセッサ14とシ
ステムメモリ15が、ローカルバス13にはローカルプ
ロセッサ16とDMAC(ダイレクト・メモリ・アクセ
ス・制御装置)17および回線制御部18等の回路装置
が接続されている。バス間データ転送装置11内には、
アドレスレジスタ21とデータレジスタ22が配置され
ている。
【0004】提案のこのバス間データ転送装置11で、
例えば回線制御部18が回線(図示せず)を経て受信し
たデータをシステムメモリ15に書き込む場合をまず説
明する。この場合には、システムメモリ15に格納する
データの先頭アドレスをバス間データ転送装置内のアド
レスレジスタ21に格納し、DMAC17を用いて回線
制御部18からデータレジスタ22へ受信データのデー
タ長だけDMA(ダイレクト・メモリ・アクセス)転送
を行わせる。バス間データ転送装置は、この後にデータ
レジスタ22に書き込まれた受信データをシステムメモ
リ15におけるアドレスレジスタ21で締めされるアド
レスに格納する。そして、アドレスレジスタ21の値を
更新して、システムメモリ15の次の転送先のアドレス
にする。
【0005】次に、システムメモリ15からデータを読
み出して回線制御部18からこれを回線に送り出す場合
を説明する。この場合、ローカルプロセッサ16はシス
テムメモリ15における送信データが格納されている先
頭アドレスをアドレスレジスタ21にセットする。DM
AC17はデータレジスタ22からデータを読み出して
回線制御部へDMA転送を行う。バス間データ転送装置
11はシステムメモリ15からデータレジスタ22に読
込が行われると、そのときのアドレスの値をアドレスレ
ジスタ21の値として更新する。
【0006】この提案のバス間データ転送装置では、以
上のようにして、一方のバス(ローカルバス13)に接
続されたDMAC17が他方のバス(システムバス1
2)に接続されたメモリ(カストマメモリ15)との間
で大容量のデータ転送を可能にしている。
【0007】
【発明が解決しようとする課題】しかしながら、図11
に示したようなバス間データ転送装置では、次に示すよ
うな2つの問題があった。
【0008】まず、この提案の装置ではアドレスを格納
するバッファとしてアドレスレジスタ21を1つしか持
っていない。このために、ローカルバス17バス上に複
数のDMAC17が存在する場合には、これらがダイレ
クト・メモリ・アクセスを要求するたびにローカルバス
17上のローカルプロセッサ16がアドレスレジスタ2
1に転送アドレスを設定することになる。この結果、こ
れらのDMAC17がランダムにダイレクト・メモリ・
アクセスを要求するような状況下では、アドレスレジス
タ21に転送アドレスを設定するために必要な時間が大
幅に増加してしまう。
【0009】また、この提案のバス間データ転送装置で
は、データ転送後にアドレスレジスタ21の値を自動的
に更新する際に、アドレスのインクリメントされる量等
の更新する値は固定されている。したがって、1回に転
送するデータのサイズが異なるDMACをローカルバス
13等のI/Oバスに混在させることは自動更新の実現
上不可能である。
【0010】そこで本発明の第1の目的は、1回に転送
するデータのサイズが異なるような場合にも、バス間デ
ータ転送を支障なく行うことのできるバス間データ転送
装置を提供することにある。
【0011】本発明の第2の目的は、複数のDMACが
I/Oバス等の1つバスに接続されていても、バス間デ
ータ転送の際のアドレスの設定を遅滞なく行うことので
きるバス間データ転送装置を提供することにある。
【0012】本発明の第3の目的は、データの転送サイ
ズが異なっても転送の終了を自身で簡単に認識すること
のできるバス間データ転送装置を提供することにある。
【0013】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)第1のバスに接続されたメモリに対して第2
のバスに接続されたダイレクト・メモリ・アクセス制御
装置からデータの読み出しあるいは書き込みのためのア
クセスを行う際に第1のバスに接続されたプロセッサか
ら送られてくるアクセスの開始を示すアドレスを格納す
るアドレス格納手段と、(ロ)プロセッサから送られて
くるアクセスに基づく1回当たりの転送データのサイズ
を格納するサイズ格納手段と、(ハ)アクセスに際して
前記したメモリから読み出されまたはこのメモリに書き
込まれるデータを一時的に格納する転送データ格納手段
と、(ニ)前記したメモリにおけるアドレス格納手段に
格納されているアドレスに対してデータの読み出しある
いは書き込みを行うメモリアクセス手段と、(ホ)前記
したメモリに対してデータの読み出しあるいは書き込み
が1回行われるたびにアドレス格納手段に格納されたア
ドレスを転送データのサイズに対応する値ずつ変化させ
るアドレス更新手段とをバス間データ転送装置に具備さ
せる。
【0014】すなわち、請求項1記載の発明では、プロ
セッサの接続された第1のバスのシステムメモリ等のメ
モリに第2のバスのDMACからデータを書き込んだ
り、書き込まれたデータの読み出しを行う場合に、これ
らのバスを接続したバス間データ転送装置のアドレス格
納手段にプロセッサからアクセス開始のアドレスと1回
当たりの転送データのサイズとを書き込んでおき、ま
た、このバス間データ転送装置内にデータを一時的に格
納する転送データ格納手段を配置しておく。そして、ア
ドレスを格納したアドレス格納手段の示すアドレスでデ
ータの読み書きのためのアクセスを行う一方、転送デー
タのサイズに相当する値ずつこのアドレス格納手段に格
納されたアドレスを更新していき、転送データのサイズ
がまちまちな場合にも、バス間のデータの転送が支障な
く行われるようにしている。
【0015】請求項2記載の発明では、(イ)第1のバ
スに接続されたメモリに対して第2のバスに接続された
複数のダイレクト・メモリ・アクセス制御装置からそれ
ぞれデータの読み出しあるいは書き込みのためのアクセ
スを行う際に第1のバスに接続されたプロセッサから送
られてくるアクセスの開始を示すアドレスをダイレクト
・メモリ・アクセス制御装置に1対1に対応させて格納
する複数のアドレス格納手段と、(ロ)プロセッサから
送られてくるアクセスに基づく1回当たりの転送データ
のサイズをダイレクト・メモリ・アクセス制御装置に1
対1に対応させて格納する複数のサイズ格納手段と、
(ハ)アクセスに際して前記したメモリから読み出され
またはこのメモリに書き込まれるデータを一時的に格納
する転送データ格納手段と、(ニ)前記したメモリにお
ける複数のアドレス格納手段に格納されているアドレス
の1つに対してデータの読み出しあるいは書き込みを行
うメモリアクセス手段と、(ホ)前記したメモリに対し
てデータの読み出しあるいは書き込みが1回行われるた
びに複数のアドレス格納手段に格納された該当するアド
レスを転送データのサイズに対応する値ずつ変化させる
アドレス更新手段とをバス間データ転送装置に具備させ
る。
【0016】すなわち請求項2記載の発明では、プロセ
ッサの接続された第1のバスのシステムメモリ等のメモ
リに第2のバスの複数のDMACからデータを書き込ん
だり、書き込まれたデータの読み出しを行う場合に、こ
れらのバスを接続したバス間データ転送装置のこれらの
DMACに対応して設けられたアドレス格納手段にプロ
セッサからアクセス開始のアドレスと1回当たりの転送
データのサイズとを書き込んでおき、また、このバス間
データ転送装置内にデータを一時的に格納する転送デー
タ格納手段を配置しておく。そして、アドレスを格納し
たアドレス格納手段の示すアドレスでデータの読み書き
のためのアクセスを行う一方、転送データのサイズに相
当する値ずつこれらのアドレス格納手段のうち該当する
ものに格納されたアドレスを更新して行く。したがっ
て、DMACが複数存在しこれらがデータの転送要求を
時間的に重複して行っても、それぞれの開始アドレスを
対応するアドレス格納手段に格納しておき、1つのDM
ACによるデータ転送が終了した後に順次他のDMAC
によるデータ転送を行うことができる。
【0017】請求項3記載の発明では、(イ)第1のバ
スに接続されたメモリに対して第2のバスに接続された
複数のダイレクト・メモリ・アクセス制御装置からそれ
ぞれデータの読み出しあるいは書き込みのためのアクセ
スを行う際に第1のバスに接続されたプロセッサから送
られてくるアクセスの開始を示すアドレスをダイレクト
・メモリ・アクセス制御装置に1対1に対応させて格納
する複数のアドレス格納手段と、(ロ)プロセッサから
送られてくるアクセスに基づく1回当たりの転送データ
のサイズをダイレクト・メモリ・アクセス制御装置に1
対1に対応させて格納する複数のサイズ格納手段と、
(ハ)プロセッサから送られてくるアクセスに基づく転
送データの総数をダイレクト・メモリ・アクセス制御装
置に1対1に対応させて格納する複数のカウンタと、
(ニ)アクセスに際して前記したメモリから読み出され
またはこのメモリに書き込まれるデータを一時的に格納
する転送データ格納手段と、(ホ)前記したメモリにお
ける複数のアドレス格納手段に格納されているアドレス
の1つに対してデータの読み出しあるいは書き込みを行
うメモリアクセス手段と、(ヘ)前記したメモリに対し
てデータの読み出しあるいは書き込みが1回行われるた
びに複数のアドレス格納手段に格納された該当するアド
レスを転送データのサイズに対応する値ずつ変化させる
アドレス更新手段と、(ト)前記したメモリに対してデ
ータの読み出しあるいは書き込みが1回行われるたびに
カウンタのうち対応するものの値をサイズに対応する値
ずつ減算する減算手段と、(チ)この減算手段の減算結
果が零になったとき対応するデータの読み出しあるいは
書き込みを終了させるアクセス終了手段とをバス間デー
タ転送装置に具備させる。
【0018】すなわち請求項3記載の発明では、プロセ
ッサの接続された第1のバスのシステムメモリ等のメモ
リに第2のバスの複数のDMACからデータを書き込ん
だり、書き込まれたデータの読み出しを行う場合に、こ
れらのバスを接続したバス間データ転送装置のこれらの
DMACに対応して設けられたアドレス格納手段にプロ
セッサからアクセス開始のアドレスと1回当たりの転送
データのサイズと転送するデータの総数とを書き込んで
おき、また、このバス間データ転送装置内にデータを一
時的に格納する転送データ格納手段を配置しておく。そ
して、アドレスを格納したアドレス格納手段の示すアド
レスでデータの読み書きのためのアクセスを行う一方、
転送データのサイズに相当する値ずつこれらのアドレス
格納手段のうち該当するものに格納されたアドレスを更
新して行く。また、DMACごとに転送するデータの総
数を格納したカウンタにおけるデータの転送が行われた
ものの値をデータの転送が行われるたびにその転送され
るデータのサイズに対応する値ずつ減少させていく。し
たがって、メモリに対するデータの書込あるいは読み出
しが行われる際には、対応するカウンタの値が零になる
までデータの転送を繰り返し行えばよく、1回当たりの
データの転送サイズが異なってもアクセスの終了を簡単
に把握することができる。
【0019】
【実施例】以下実施例につき本発明を詳細に説明する。
【0020】図1は本発明の一実施例におけるバス間デ
ータ転送装置を使用したデータ処理システムを表わした
ものである。このバス間データ転送装置31は、システ
ムバス32とI/Oバス33を接続する形でこれらの間
に配置されている。システムバス32上には、プロセッ
サ34とメインメモリ35が配置されている。I/Oバ
ス33上には第1および第2のDMAC361 、362
が配置されている。バス間データ転送装置31内には、
第1および第2のアドレスエントリ381 、382 と1
つデータバッファ39が配置されている。また、第1の
DMAC361とバス間データ転送装置31の間には、
第1のDMAC361 がデータ要求を行う際に使用する
第1のデータ要求線411 が配置されている。第2のD
MAC362 とバス間データ転送装置31の間にも、第
2のDMAC362 がデータ要求を行う際に使用する第
2のデータ要求線412 が配置されている。
【0021】図2は、第1のアドレスエントリの構成
を、また図3は第2のアドレスエントリの構成をそれぞ
れ表わしたものである。第1のアドレスエントリ381
は、アドレスを格納するアドレスレジスタ51A と転送
されるデータのサイズ情報を格納するサイズレジスタ5
B から構成されている。第2のアドレスエントリ38
2 も、同様にアドレスレジスタ52A とサイズレジスタ
52B から構成されている。
【0022】図4は、DMACの構成を表わしたもので
ある。第1および第2のDMAC361 、362 は共に
同一構成となっているので、ここでは第1のDMAC3
1の構成を示すことにする。第1のDMAC361
アドレス等の情報を格納するアドレスエントリ61
1 と、データ転送の開始や終了を示すためのコントロー
ルレジスタ621 と、転送データ数を示すためのカウン
タレジスタ631 を備えている。なお、この図で添字
“1”は第1のDMAC361 の構成部品であることを
示している。図示しないが、第2のDMAC362 の場
合には、この添字が“2”となる。
【0023】図5は第1のDMACにおけるアドレスエ
ントリの構成を表わしたものである。アドレスエントリ
611 は、アドレスを格納するアドレスレジスタ71A
と、データのサイズ情報を格納するサイズレジスタ71
B から構成されている。
【0024】図6は、第1のDMACにおけるコントロ
ールレジスタの構成を表わしたものである。コントロー
ルレジスタ621 は、転送開始ビット(START )72A
と転送終了ビット(TERM)72B と、データの転送方向
を示すタイプビット(TYPE)72C を格納するようにな
っている。ここで、転送開始ビット72A が“1”のと
きは転送開始を意味し、転送終了ビット72B が“1”
ときは転送終了を意味する。タイプビット72C
“1”のときにはシステムバス32側からI/Oバス3
3側にデータが転送されることを意味し、“0”のとき
にはこの逆を意味する。
【0025】このような構成のバス間データ転送装置3
1によって、図1に示したI/Oバス33上の第1のD
MAC361 とシステムバス32上のメインメモリ35
との間でデータ転送が行われる場合を説明する。
【0026】まず、第1のDMAC361 がメインメモ
リ35からデータを読み込む場合について説明を行う。
まず、プロセッサ34は、メインメモリ35における読
み出されるデータの先頭アドレスをバス間データ転送装
置31の第1のアドレスエントリ381 のアドレスレジ
スタ51A (図2)に書き込む。この書き込みが終了す
ると、バス間データ転送装置31はそのアドレスを第1
のDMAC361 (図1)のアドレスエントリ61
1 (図4)のアドレスレジスタ71A (図5)に書き込
む。
【0027】同様にしてプロセッサ34は、データの1
回の転送サイズを図2に示したサイズレジスタ51B
書き込む。バス間データ転送装置31は、これを基にし
て1回の転送サイズを図5のサイズレジスタ71B に書
き込む。次にプロセッサ34は、全体としてのデータ転
送数を第1のDMAC361 のカウンタレジスタ63 1
に書き込む。最後に、プロセッサ34はデータ転送を開
始させるために、第1のDMAC361 のコントロール
レジスタ621 の転送開始ビット72A とタイプビット
72C (図6)を共に“1”にセットする。
【0028】第1のDMAC361 は、転送開始ビット
72A が“0”から“1”に書き換えられたので、第1
のデータ要求線411 をアサートして、バス間データ転
送装置31に対してデータの読み込みを要求する。この
転送要求を受け取ったバス間データ転送装置31は、シ
ステムバス32の使用権を獲得する。そして、アドレス
レジスタ51A (図2)に示されるメインメモリ35の
読み出すべきデータの先頭からデータを読み出し、これ
をデータバッファ39に取り込む。このとき、取り込む
データ数は、図2に示すサイズレジスタ51B に格納さ
れている。取り込まれたデータは、データバッファ39
から読み出され、転送される。バス間データ転送装置3
1は、この転送が終了すると、サイズレジスタ51B
値をアドレスレジスタ51A の値に加算する。
【0029】第1のDMAC361 は、バス間データ転
送装置31からデータを受け取ると、図5に示したサイ
ズレジスタ71B の値をアドレスレジスタ71A の値に
加算すると共に、図4に示したカウンタレジスタ631
の値からサイズレジスタ71 B の値を減算する。そし
て、第1のデータ要求線411 に送出していたバス要求
信号をネゲートする。
【0030】第1のDMAC361 はこの状態で、カウ
ンタレジスタ631 の値が“0”になるまで、以上説明
したデータの読込動作を繰り返す。そして、すべてのデ
ータがメインメモリ35から第1のDMAC361 に転
送できたら、コントロールレジスタ621 の転送終了ビ
ット72B (図6)を“1”に変更する。第1のDMA
C361 は、これを基にしてプロセッサ34にデータの
転送が終了したことを通知する。この通知は、例えば図
示しない制御線を用いてプロセッサ34に割り込みをか
けることによって行う。
【0031】次に、第1のDMAC361 からメインメ
モリ35にデータを書き込む場合の動作について説明す
る。プロセッサ34は、バス間データ転送装置31のア
ドレスレジスタ51A およびサイズレジスタ51B (図
2)と、第1のDMAC36 1 のアドレスレジスタ71
A 、サイズレジスタ71B (図5)およびカウンタレジ
スタ631 (図4)へそれぞれ値を設定し、データ転送
を開始させるために第1のDMAC361 のコントロー
ルレジスタ621 の転送開始ビット72A を“0”から
“1”に書き込み、タイプビット72C を所定の値に設
定する。これらの動作は、メインメモリ35からデータ
を読み込む場合と同様である。ただし、今回の場合はデ
ータの転送方向がデータの読み込みの場合と逆になるの
で、タイプビット72C には“1”の代わりに“0”が
セットされることになる。
【0032】第1のDMAC361 は、転送開始ビット
72A が“1”に変更されたら、第1のデータ要求線4
1 をアサートして、バス間データ転送装置31に対し
てデータの書き込みを要求する。転送要求を受け取った
バス間データ転送装置31は、第1のDMAC361
らサイズレジスタ51B に示すサイズに対応するデータ
数をデータバッファ39に取り込む。この際、第1のD
MAC361 はバス間データ転送装置31にデータを渡
したらサイズレジスタ71B の示す値をアドレスレジス
タ71A の値に加算する。また、この値をカウンタレジ
スタ631 の示す値から減算して第1のデータ要求線4
1 に送出していたバス要求信号をネゲートする。
【0033】この後、バス間データ転送装置31はシス
テムバス32の使用権を獲得する。そして、アドレスレ
ジスタ51A (図2)に示されたアドレスを先頭番地と
してデータバッファ39に格納されたデータをメインメ
モリ35に格納する。この後、サイズレジスタ51B
示される値をアドレスレジスタ51A の値に加算すると
共に、カウンタレジスタ631 の値からサイズレジスタ
51B に示される値を減算する。
【0034】第1のDMAC361 は、以後、メインメ
モリ35からのデータの読み込みの場合と同様に、カウ
ンタレジスタ631 の値が“0”になるまで、以上説明
したメインメモリ35へのデータの書込動作を繰り返す
ことになる。このようにしてすべてのデータが転送され
たら、第1のDMAC361 はコントロールレジスタ6
1 の転送終了ビット72B (図6)を“1”に変更す
る。第1のDMAC361 は、割込処理等によってプロ
セッサ34に対してデータの転送が終了したことを通知
する。
【0035】以上、本実施例のバス間データ転送装置の
概要を説明したが、次に更に具体的な回路を用いて本実
施例のバス間データ転送装置の説明を行う。
【0036】図7は、バス間データ転送装置を具体的に
表わしたものである。バス間データ転送装置31はシス
テムバス32に接続されてその制御を行うシステムバス
制御部81と、I/Oバス33に接続されてその制御を
行うI/Oバス制御部82を備えている。I/Oバス制
御部82には、ビジーフラグ格納部83が接続されてい
る。システムバス制御部81とI/Oバス制御部82の
間には、図1に示したデータバッファ39と、第1のア
ドレスエントリ381 を構成するアドレスレジスタ51
A ならびにサイズレジスタ51B と、第2のアドレスエ
ントリ382 を構成するアドレスレジスタ52A ならび
にサイズレジスタ52B が配置されている。アドレスレ
ジスタ51A とサイズレジスタ51B の間には、サイズ
レジスタ51B の値をアドレスに順次加算するためのア
ダー851 が配置されている。アドレスレジスタ52A
とサイズレジスタ52B の間にも、同様にアダー852
が配置されている。
【0037】2つのアドレスレジスタ51A 、52A
出力するアドレスはマルチプレクサ(MUX)86に入
力され、I/Oバス制御部82から出力されるセレクト
信号87によってそれらの一方が選択されてシステムバ
ス81に送出されるようになっている。システムバス制
御部81側にはデコーダ88が配置されており、その解
読結果としてのチップセレクト信号89A 、89B 、9
A 、90B がそれぞれ対応するアドレスレジスタ51
A 、サイズレジスタ51B 、アドレスレジスタ52A
サイズレジスタ52B に択一的に供給されるようになっ
ている。この状態で、システムバス制御部81とI/O
バス制御部82を接続するように配置されたデータ線9
2上に現われたデータが、これらのアドレスレジスタ5
A 、52A 、サイズレジスタ51B 、52B のうちの
目的とするものに取り込まれるようになっている。
【0038】このような構成のバス間データ転送装置3
1で、2つのアドレスレジスタ51 A 、52A のそれぞ
れのビット幅は、システムバス32のアドレスバスと等
しいビット数となっている。2つのサイズレジスタ51
B 、52B のビット幅は、システムバス32とI/Oバ
ス33の間におけるデータの最大転送サイズをn(ただ
しnは“2”のべき数)とするとき、log2 nで表わ
す値となる。本実施例でレジスタによって構成されてい
るデータバッファ39のビット幅は、システムバス32
とI/Oバス33の双方のデータバスのうち大きい方の
ビット幅と等しくなっている。
【0039】システムバス制御部81は、図1に示した
プロセッサ34に対してシステムバス32のバス使用権
の要求とその獲得を行い、同じく図1に示したメインメ
モリ35とデータバッファ39の間でデータの転送を行
わせるようになっている。また、システムバス制御部8
1は、アドレスレジスタ51A 、52A とサイズレジス
タ51B 、52B にデータの設定を行うときにその制御
を行うようになっている。
【0040】デコーダ88は、プロセッサ34(図1)
からのアドレスをシステムバス制御部81を介して受け
取り、これをデコードする。そして、アドレスレジスタ
51 A 、サイズレジスタ51B 、アドレスレジスタ52
A 、サイズレジスタ52B のいずれかを選択するための
チップセレクト信号89A 、89B 、90A 、90B
生成するようになっている。
【0041】マルチプレクサ86は、セレクト信号87
によって2つのアドレスレジスタ51A 、52A の出力
するアドレス値の一方を選択する。すでに説明したよう
にI/Oバス33には第1および第2のDMAC3
1 、362 (図1)が配置されているので、これらの
うちのいずれがデータの転送を行っているかによってセ
レクト信号87を“1”または“0”に設定し、これに
対応して2つのアドレスレジスタ51A 、52A のうち
の一方を選択するようになっている。
【0042】I/Oバス制御部82は、I/Oバス33
からリードサイクルあるいはライトサイクルの要求を受
けると、ビジーフラグ格納部83にビジーを示すフラグ
を立て、I/Oバス33からデータバッファ39をアク
セスするバスサイクルを一時的に中止させることができ
るようになっている。
【0043】図8は、このバス間データ転送装置で一例
として第1のDMACがメインメモリからデータを読み
込むときの動作を表わしたものである。第1のDMAC
36 1 は第1のデータ要求線411 (図1)を用いてデ
ータ転送を要求し(ステップS101)、自らはウエイ
ト状態に入る(ステップS102)。このデータ転送要
求はシステムバス32上のプロセッサ34に伝えられる
(ステップS131)。プロセッサ34はこれを基に、
第1のアドレスエントリ381 (図1)に転送するデー
タの先頭アドレスと転送するデータのサイズを書き込む
(ステップS132)。そして、第1のDMAC361
のコントロールレジスタ621 の転送開始ビット72A
とタイプビット72C (図6)を共に“1”にセットし
てデータ転送の開始を指示する(ステップS133)。
【0044】第1のDMAC361 では、転送開始ビッ
ト72A が“1”に書き改められることによってデータ
転送開始命令を受け取る(ステップS103)。そこ
で、データバッファ39に対してリードサイクルを要求
する(ステップS104)。バス間データ転送装置31
内のI/Oバス制御部82は、ビジーフラグ格納部83
にビジーフラグを立ててウエイト信号をオン状態に設定
する(ステップS111)。これにより、第1のDMA
C361 側はウエイト状態に入る(ステップS10
5)。
【0045】この状態で、I/Oバス制御部82はシス
テムバス32のリードサイクルの実行を要求する(ステ
ップS112)。システムバス制御部81は、システム
バス32にバスの使用権を要求し(ステップS12
1)、プロセッサ34は実行中のバスサイクルが終了し
た後にこの使用権を開放する(ステップS134)。シ
ステムバス制御部81は、第1のアドレスエントリ38
1 のアドレスレジスタ51 A に格納されたアドレスをリ
ードし、対応するデータをデータバッファ39に格納す
る(ステップS122)。そして、システムバス32の
使用権を開放し(ステップS123)、プロセッサ34
は再びバス使用権を獲得する(ステップS135)。
【0046】一方、I/Oバス制御部82ではデータバ
ッファ39にデータが格納されたらI/Oバス33のウ
エイト信号をオフにする(ステップS113)。これを
基に、第1のDMAC361 はウエイト状態を解除し
て、リードサイクルを開始させる(ステップS10
6)。I/Oバス制御部82は、この状態で第1のDM
AC361 にデータを転送してはアドレスレジスタ51
A の値をサイズレジスタ51 B の値によって順にインク
リメントする(ステップS114)。第1のDMAC3
1 では、カウンタレジスタ631 の値を順に減算して
行き、すべてのデータの読み込みが終了したらリードサ
イクルを終了させる(ステップS107)。
【0047】図9は、このバス間データ転送装置で一例
として第1のDMACがメインメモリにデータを書き込
むときの動作を表わしたものである。第1のDMAC3
1は第1のデータ要求線411 (図1)を用いてデー
タ転送を要求し(ステップS201)、自らはウエイト
状態に入る(ステップS202)。このデータ転送要求
はシステムバス32上のプロセッサ34に伝えられる
(ステップS231)。プロセッサ34はこれを基に、
第1のアドレスエントリ381 (図1)に転送するデー
タの先頭アドレスと転送するデータのサイズを書き込む
(ステップS232)。そして、第1のDMAC361
のコントロールレジスタ621 の転送開始ビット72A
を“1”に、タイプビット72C を“0”にセットして
データ転送の開始を指示する(ステップS233)。
【0048】第1のDMAC361 では、転送開始ビッ
ト72A が“1”に書き改められることによってデータ
転送開始命令を受け取る(ステップS203)。そこ
で、データバッファ39に対してライトサイクルを要求
する(ステップS204)。バス間データ転送装置31
内のI/Oバス制御部82は、ビジーフラグ格納部83
にビジーフラグを立ててウエイト信号をオン状態に設定
する(ステップS211)。これにより、第1のDMA
C361 側はウエイト状態に入る(ステップS20
5)。
【0049】この状態で、I/Oバス制御部82はデー
タバッファ39にライトデータを格納し、システムバス
32のライトサイクルの実行を要求する(ステップS2
12)。システムバス制御部81は、システムバス32
にバスの使用権を要求し(ステップS221)、プロセ
ッサ34は実行中のバスサイクルが終了した後にこの使
用権を開放する(ステップS234)。システムバス制
御部81は、第1のアドレスエントリ381 のアドレス
レジスタ51A に格納されたアドレスをリードし、メイ
ンメモリ35のそのアドレスにデータバッファ39の内
容を格納する(ステップS222)。そして、すべての
データがメインメモリ35に書き込まれたら、システム
バス32の使用権を開放し(ステップS223)、プロ
セッサ34は再びバス使用権を獲得する(ステップS2
35)。
【0050】一方、I/Oバス制御部82ではシステム
バス32に対するデータの転送が開始されたら、I/O
バス33のウエイト信号をオフにする(ステップS21
3)。これを基に、第1のDMAC361 ではウエイト
状態を解除し(ステップS206)、I/Oバス制御部
82によるアドレスレジスタ51A のインクリメント
(ステップS214)に従ってデータをバス間データ転
送装置31が補に転送する。第1のDMAC361 は、
れに伴ってカウンタレジスタ631 の値を順に減算して
行き、すべてのデータの書き込みが終了したらライトサ
イクルを終了させることになる(ステップS207)。
【0051】以上、I/Oバス33上の1つのDMAC
36がデータ転送を要求したときの動作を説明した。本
実施例の第1のDMAC361 と第2のDMAC362
が共にデータ転送を要求してきた場合を次に説明する。
【0052】第1のDMAC361 の方が先にデータ転
送を要求したとする。この場合、第1のDMAC361
は図1に示した第1のアドレスエントリ381 にアドレ
ス等の必要な情報をセットして、前記したようにダイレ
クト・メモリ・アクセスを起動させる。一方、第2のD
MAC362 がデータ転送を要求すると、今度は第2の
アドレスエントリ382 にアドレス等の必要な情報がセ
ットされることになる。そして、第1のDMAC361
についてのダイレクト・メモリ・アクセスが終了した後
に、第2のDMAC362 を用いたダイレクト・メモリ
・アクセスが同様な流れで起動されることになる。
【0053】すなわち、本実施例ではI/Oバス33に
第1および第2のDMAC361 、362 が配置されて
いるので、バス間データ転送装置31にこれらに対応さ
せて第1および第2のアドレスエントリ381 、382
が配置されており、データ転送要求の競合を調整してい
ることになる。したがって、I/Oバス33に3つ以上
のDMAC36が配置されているような場合には、これ
らに1対1で対応できるだけの3つ以上のアドレスエン
トリ38がバス間データ転送装置31に配置されること
が必要である。
【0054】変形例
【0055】図10は、I/Oバス上に3つのDMAC
が配置されている場合のバス間データ転送装置の構成を
表わしたものである。この変形例のバス間データ転送装
置91は、バス間データ転送装置91内にそれぞれのD
MACに対応させて第1〜第3のアドレスエントリ92
1 〜923 、第1〜第3のカウンタレジスタ931 〜9
3 および第1〜第3のデータレジスタ941 〜943
を備えている。ここで、第1〜第3のデータレジスタ9
1 〜943 は図1に示したデータバッファと同様に転
送するデータを格納するためのものであるが、3つのD
MACそれぞれ独立して設けられている点が異なる。第
1〜第3のカウンタレジスタ931 〜933 は、データ
の転送量の管理を行うためのものであり、先の実施例の
図4で示したカウンタレジスタ631 と同様の機能を持
っている。
【0056】この変形例のバス間データ転送装置91で
は、図1に示したメインメモリ35からデータの読み込
みを行う場合、第1のDMAC361 等からの要求があ
る前にメインメモリ35からデータの先読みを行う。そ
して、これを該当するデータレジスタ94に格納してお
く。バス間データ転送装置91は、例えば第1のDMA
C361 から読み込みの要求があると、要求されたアド
レスのデータがすでに対応するデータレジスタ941
先読みされているかどうかをチェックして、先読みされ
ている場合にはそれを直ちに第1のDMAC361 に転
送する。先読みされていない場合には、先の実施例で説
明したような手順でデータの読み出しを行う。
【0057】また、この変形例のバス間データ転送装置
91の場合には、各DMAC36に対応させてカウンタ
レジスタ931 〜933 を配置しているので、それぞれ
のDMAC36の負担を軽減させることができるばかり
でなく、データ転送が終了したことをバス間データ転送
装置91側が主導権を持ってプロセッサ34等に知らせ
ることができる。
【0058】なお、実施例ではカウンタレジスタに転送
するデータの総数を格納しておき、サイズレジスタに格
納されたデータ数ずつカウンタレジスタの値を減算する
ことにしたが、カウンタレジスタにデータの転送回数を
格納しておき、転送が1回行われるたびにこの値を
“1”ずつ減算するようにしてもよいことはもちろんで
ある。
【0059】
【発明の効果】以上説明したように請求項1記載の発明
によれば、転送するデータや転送先のアドレスばかりで
なく1回に転送するデータのサイズをもバス間データ転
送装置に格納するようにした。このため、データの転送
サイズが異なるような場合でもアドレスを自動的に更新
してバス間データ転送を行うことができ、汎用性のある
システムを実現することができる。
【0060】また、請求項2記載の発明によれば、メモ
リの接続されたバスにデータの書き込みや読み出しを要
求する側のバスに接続されたDMACの数に対応させて
バス間データ転送装置内にアドレス格納手段やサイズ格
納手段を配置し、それぞれのデータ転送の際の開始アド
レスや転送されるデータのサイズを格納するようにし
た。したがって、データの転送要求が時間的に重複して
も、それぞれの開始アドレスや転送されるデータのサイ
ズを格納しておいて、メモリに対するアクセスを順に行
うことができ、アドレスの設定を短時間で行うことがで
きる。
【0061】更に請求項3記載の発明によれば、メモリ
の接続されたバスにデータの書き込みや読み出しを要求
する側のバスに接続されたDMACの数に対応させてバ
ス間データ転送装置内にアドレス格納手段やサイズ格納
手段およびカウンタを配置した。そして、それぞれのデ
ータ転送の際の開始アドレスや転送されるデータのサイ
ズならびに転送されるデータの総数を格納することにし
た。したがって、データの転送サイズが異なるような場
合であっても、データの読み出しあるいは書き込みのた
めのアクセスの終了時点をバス間データ転送装置側で容
易に把握することができるという効果がある。
【図面の簡単な説明】
【図1】 本発明の一実施例におけるバス間データ転送
装置を使用したデータ処理システムを表わしたシステム
構成図である。
【図2】 本実施例における第1のアドレスエントリの
構成を表わした説明図である。
【図3】 本実施例における第2のアドレスエントリの
構成を表わした説明図である。
【図4】 本実施例における第1のDMACの構成の概
要を表わしたブロック図である。
【図5】 第1のDMACにおけるアドレスエントリの
構成を表わした説明図である。
【図6】 第1のDMACにおけるコントロールレジス
タの構成を表わした説明図である。
【図7】 本実施例のバス間データ転送装置を具体的に
表わしたブロック図である。
【図8】 本実施例で第1のDMACがメインメモリか
らデータを読み込むときのバス間データ転送装置の動作
の流れを表わした流れ図である。
【図9】 本実施例で第1のDMACがメインメモリに
データを書き込むときの動作の流れを表わした流れ図で
ある。
【図10】 本発明の変形例のバス間データ転送装置の
構成の概要を表わした説明図である。
【図11】 従来提案のバス間データ転送装置を使用し
たデータ処理システムのシステム構成図である。
【符号の説明】
31、91…バス間データ転送装置、32…システムバ
ス、33…I/Oバス、34…プロセッサ、35…メイ
ンメモリ、361 …第1のDMAC、362 …第2のD
MAC、381 、921 …第1のアドレスエントリ、3
2 、922 …第2のアドレスエントリ、39…データ
バッファ、51A 、52A 、71A …アドレスレジス
タ、51B 、52B 、71B …サイズレジスタ、611
…アドレスエントリ、621 …コントロールレジスタ、
631 …カウンタレジスタ、81…システムバス制御
部、82…I/Oバス制御部、851 、852 …アダ
ー、92 3 …第3のアドレスエントリ、931 …第1の
カウンタレジスタ、932 …第2のカウンタレジスタ、
933 …第3のカウンタレジスタ、941 …第1のデー
タレジスタ、942 …第2のデータレジスタ、943
第3のデータレジスタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 第1のバスに接続されたメモリに対して
    第2のバスに接続されたダイレクト・メモリ・アクセス
    制御装置からデータの読み出しあるいは書き込みのため
    のアクセスを行う際に第1のバスに接続されたプロセッ
    サから送られてくる前記アクセスの開始を示すアドレス
    を格納するアドレス格納手段と、 前記プロセッサから送られてくる前記アクセスに基づく
    1回当たりの転送データのサイズを格納するサイズ格納
    手段と、 前記アクセスに際して前記メモリから読み出されまたは
    このメモリに書き込まれるデータを一時的に格納する転
    送データ格納手段と、 前記メモリにおける前記アドレス格納手段に格納されて
    いるアドレスに対してデータの読み出しあるいは書き込
    みを行うメモリアクセス手段と、 前記メモリに対してデータの読み出しあるいは書き込み
    が1回行われるたびに前記アドレス格納手段に格納され
    たアドレスを前記転送データのサイズに対応する値ずつ
    変化させるアドレス更新手段とを具備することを特徴と
    するバス間データ転送装置。
  2. 【請求項2】 第1のバスに接続されたメモリに対して
    第2のバスに接続された複数のダイレクト・メモリ・ア
    クセス制御装置からそれぞれデータの読み出しあるいは
    書き込みのためのアクセスを行う際に第1のバスに接続
    されたプロセッサから送られてくる前記アクセスの開始
    を示すアドレスを前記ダイレクト・メモリ・アクセス制
    御装置に1対1に対応させて格納する複数のアドレス格
    納手段と、 前記プロセッサから送られてくる前記アクセスに基づく
    1回当たりの転送データのサイズを前記ダイレクト・メ
    モリ・アクセス制御装置に1対1に対応させて格納する
    複数のサイズ格納手段と、 前記アクセスに際して前記メモリから読み出されまたは
    このメモリに書き込まれるデータを一時的に格納する転
    送データ格納手段と、 前記メモリにおける前記複数のアドレス格納手段に格納
    されているアドレスの1つに対してデータの読み出しあ
    るいは書き込みを行うメモリアクセス手段と、 前記メモリに対してデータの読み出しあるいは書き込み
    が1回行われるたびに前記複数のアドレス格納手段に格
    納された該当するアドレスを前記転送データのサイズに
    対応する値ずつ変化させるアドレス更新手段とを具備す
    ることを特徴とするバス間データ転送装置。
  3. 【請求項3】 第1のバスに接続されたメモリに対して
    第2のバスに接続された複数のダイレクト・メモリ・ア
    クセス制御装置からそれぞれデータの読み出しあるいは
    書き込みのためのアクセスを行う際に第1のバスに接続
    されたプロセッサから送られてくる前記アクセスの開始
    を示すアドレスを前記ダイレクト・メモリ・アクセス制
    御装置に1対1に対応させて格納する複数のアドレス格
    納手段と、 前記プロセッサから送られてくる前記アクセスに基づく
    1回当たりの転送データのサイズを前記ダイレクト・メ
    モリ・アクセス制御装置に1対1に対応させて格納する
    複数のサイズ格納手段と、 前記プロセッサから送られてくる前記アクセスに基づく
    転送データの総数を前記ダイレクト・メモリ・アクセス
    制御装置に1対1に対応させて格納する複数のカウンタ
    と、 前記アクセスに際して前記メモリから読み出されまたは
    このメモリに書き込まれるデータを一時的に格納する転
    送データ格納手段と、 前記メモリにおける前記複数のアドレス格納手段に格納
    されているアドレスの1つに対してデータの読み出しあ
    るいは書き込みを行うメモリアクセス手段と、 前記メモリに対してデータの読み出しあるいは書き込み
    が1回行われるたびに前記複数のアドレス格納手段に格
    納された該当するアドレスを前記転送データのサイズに
    対応する値ずつ変化させるアドレス更新手段と、 前記メモリに対してデータの読み出しあるいは書き込み
    が1回行われるたびに前記カウンタのうち対応するもの
    の値をサイズに対応する値ずつ減算する減算手段と、 この減算手段の減算結果が零になったとき対応するデー
    タの読み出しあるいは書き込みを終了させるアクセス終
    了手段とを具備することを特徴とするバス間データ転送
    装置。
JP8847693A 1993-04-15 1993-04-15 バス間データ転送装置 Pending JPH06301639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8847693A JPH06301639A (ja) 1993-04-15 1993-04-15 バス間データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8847693A JPH06301639A (ja) 1993-04-15 1993-04-15 バス間データ転送装置

Publications (1)

Publication Number Publication Date
JPH06301639A true JPH06301639A (ja) 1994-10-28

Family

ID=13943838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8847693A Pending JPH06301639A (ja) 1993-04-15 1993-04-15 バス間データ転送装置

Country Status (1)

Country Link
JP (1) JPH06301639A (ja)

Similar Documents

Publication Publication Date Title
EP0458304A1 (en) Direct memory access transfer controller
US20040107265A1 (en) Shared memory data transfer apparatus
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
EP0473059B1 (en) Communication control system
US5588120A (en) Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
JPS6242306B2 (ja)
JPH06301639A (ja) バス間データ転送装置
US5551052A (en) Data bus protocol for high speed chip to chip data transfer
US6418491B1 (en) Apparatus and method for controlling timing of transfer requests within a data processing apparatus
JP3304395B2 (ja) データ転送装置及びデータ転送方法
JPH05282242A (ja) バス制御方式
JPH0962633A (ja) ネットワーク制御装置
JPH0736806A (ja) Dma方式
JPH05189311A (ja) キャッシュメモリ・システム
JPH06332846A (ja) バス中継装置
JPH06250965A (ja) 入出力制御装置
JPH05173936A (ja) データ転送処理装置
JPS6019023B2 (ja) デ−タ処理装置
JPS5952460B2 (ja) メモリ装置
JPH06231032A (ja) アクセス制御装置
JP2595808B2 (ja) 分散処理用メモリ装置
JPH0520165A (ja) システムバス制御装置
JPS6240748B2 (ja)