JP2743604B2 - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JP2743604B2
JP2743604B2 JP3076226A JP7622691A JP2743604B2 JP 2743604 B2 JP2743604 B2 JP 2743604B2 JP 3076226 A JP3076226 A JP 3076226A JP 7622691 A JP7622691 A JP 7622691A JP 2743604 B2 JP2743604 B2 JP 2743604B2
Authority
JP
Japan
Prior art keywords
data
address
bus
storage unit
transferred
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 - Lifetime
Application number
JP3076226A
Other languages
English (en)
Other versions
JPH04218854A (ja
Inventor
克幸 金子
幸夫 浜賀
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP3076226A priority Critical patent/JP2743604B2/ja
Publication of JPH04218854A publication Critical patent/JPH04218854A/ja
Application granted granted Critical
Publication of JP2743604B2 publication Critical patent/JP2743604B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ等におい
て使用されるデータ転送装置に関する。
【0002】
【従来の技術】同一バス上にプロセッサ、メモリ及びデ
ータ転送装置が接続されているデータ処理装置におい
て、プロセッサに於て処理され生成されたデータをデー
タ転送装置を介して外部に送出する場合、従来二つの方
法が行なわれていた。
【0003】第1の方法としては、プロセッサが命令の
実行によってメモリからデータ処理装置内のバッファへ
データの移動を行う方法である。この装置においては、
プロセッサが直接データの移動に関与するために、その
間、プロセッサにおけるデータ処理が中断されシステム
全体の性能が損なわれていた。
【0004】次に第2の方法としては、プロセサの指示
を受けたデータ転送装置が自らのDMA(Direct
Memory Access)機能によって直接メモ
リからバッファへ転送データの移動を行なう方法であ
る。
【0005】図5に第2の方法を行なう、データ転送装
置の構成図を示す。データ転送装置51は、パラメータ
記憶部52とアドレス発生器53からなり、転送先2に
接続し、プロセッサ3、メモリ4と共通の外部バス5に
接続する。
【0006】図5を用いて、第2の方法を行なうデータ
転送装置の動作を説明する。初めに、プロセッサ3が未
処理の複数のデータを、メモリ4から読みだし、処理し
てメモリ4に書き込む。
【0007】次に、プロセッサ3がパラメータ記憶部5
2の設定を行い、データ転送装置51にデータ転送開始
命令をかける。データ転送装置51は、パラメータ記憶
部52の値からアドレス発生器53によりアドレスを生
成し、メモリ4にアクセスして、得られたデータを転送
先2へ送出する。
【0008】図6は図5のデータ転送装置の動作を示す
タイミングチャートである。以下、図6を用いて従来の
データ転送装置の動作について詳細に説明する。また、
転送先2に転送するデータは、メモリ4内で連続するD
1、D2、D3の3つであり、この順番で転送し、D3
についてはすでにメモリ4内に存在するものとする。
【0009】処理1でプロセッサ3は、処理すべきデー
タd2を内部に読み込み、処理2でプロセッサ3は、処
理すべきデータd2を処理し、D2を生成する。処理3
でプロセッサ3は、D2をメモリ4へ書き込む。処理
4、5、6は、処理1、2、3と同様にデータd1をプ
ロセッサ3内に読み込み、処理し、データD1をメモリ
4へ書き込む。処理6が終った段階でメモリ4内に、転
送すべきデータD1、D2、D3が揃ったことから、処
理7、8でプロセッサ3はデータ転送装置51の設定を
行ない、処理9でデータ転送開始信号をデータ転送装置
51に送る。
【0010】処理10において、プロセッサは新たに処
理すべきデータd4をメモリ4から読み込み、データ転
送装置51は、メモリ4にアクセスし、始めに転送すべ
きデータD1を読み込もうとするが、外部バス5はプロ
セッサ3が使用しているため、実行できない。
【0011】処理11において、プロセッサ3はデータ
d4を処理し、データD4を生成する。データ転送装置
51は、プロセッサ3が外部バス5を開放するため、メ
モリ4にアクセスでき、データD1を読み込み、転送先
2に送出する。
【0012】処理12において、プロセッサ3はデータ
D4をメモリ4に書き込み、データ転送装置51は、メ
モリ4にアクセスし、次に転送すべきデータD2を読み
込もうとするが、外部バス5はプロセッサ3が使用して
いるため、実行できない。
【0013】処理13、14、15及び処理16、1
7、18については、処理10、11、12と同様であ
り、処理14でデータD2、処理17でデータD3を転
送先2に送出することができ、処理17でデータD1、
D2、D3の転送が終了する。
【0014】
【発明が解決しようとする課題】しかしながら、上記の
ような装置においては、通常、プロセッサがバスを開放
した時のみデータ転送装置がメモリにアクセスでき、デ
ータ転送が可能になる。プロセッサがバスを開放する確
率が高い場合には、開放された間にデータ転送を行なう
ので、データ転送時間がプロセサの実効時間に隠れるこ
とになるが、数値演算を実行する場合など、プロセッサ
のメモリアクセス頻度が非常に高く、バスがさほど開放
されない場合、上記構成ではデータ転送時間を隠すこと
は難しい。
【0015】本発明はかかる点に鑑み、プロセッサの処
理を止めることなく、プロセッサのバス開放率が低い場
合でも、高速で効率のよいデータ転送を行なうことが出
来るデータ転送装置を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明のデータ転送装置
は、データを記憶するメモリと、そのメモリ内のデータ
を処理するプロセッサとが共通のバスに接続され、前記
プロセッサの指示によりデータ転送を行なうデータ転送
装置であって、前記バスの監視を行なうデータ管理装置
と、転送すべきデータの値を記憶するデータ記憶装置
と、前記バス上のデータをデータ記憶装置に書き込むバ
ス制御装置とを有し、データ転送開始前には、前記デー
タ管理装置はバスの監視を行ない、転送すべきデータが
バス上に現れた場合に、前記バス制御装置に信号を送
り、前記バス制御装置は、前記データ管理装置からの信
号を受け、バス上のデータを前記データ記憶装置に書き
込み、データ転送時には、前記データ記憶装置に転送す
べきデータが存在する場合には、前記データ記憶装置か
らデータの送出を行なうことを特徴とする。
【0017】
【作用】本発明におけるデータ転送装置は、上述した構
成により、転送開始以前にバス上に現れた転送すべきデ
ータをフェッチして、データ転送装置内のデータ記憶装
置に格納することができ、転送開始後はこのデータ記憶
装置内に存在するデータに関してはバスを介して外部に
アクセスする必要がないので、装置に対して低いバス使
用頻度が与えられている場合にも高いデータ転送能力を
得ることができる。
【0018】
【実施例】(実施例1) 図1は本発明の第1の実施例におけるデータ転送装置の
構成図である。
【0019】図1において、データ転送先2に接続され
たデータ転送装置1と、プロセッサ3と、メモリ4は、
アドレスバス5a、データバス5bからなる共通の外部
バス5に接続されている。
【0020】データ転送装置1は、データ転送前には、
転送すべきデータが現れるか、バス5の監視を行ない、
データ転送時には、内部に記憶するパラメータより、転
送すべきデータのメモリ4内のアドレスを生成するデー
タ管理装置6と、データ転送前に、転送すべきデータの
メモリ4内のアドレスと、転送すべきデータの値と、デ
ータの有効性を示すバリッドビッを記憶するデータ記
憶装置10と、バス5上のデータの前記データ記憶装置
10への書き込みと、データ管理装置6が生成したアド
レスによる、メモリ4へのアクセスを行なうバス制御装
置11からなる。
【0021】データ管理装置6は、アドレスバス5a、
バス制御装置11に接続され、バス制御装置11は、外
部バス5、データ管理装置6、データ記憶装置10、転
送先2に接続され、データ記憶装置10はバス制御装置
11、転送先2に接続される。
【0022】データ管理装置6は、転送すべきデータの
範囲を記憶するパラメータ記憶部7と、このパラメータ
記憶部7の値とアドレスバス5aの値とを比較し、外部
バス上のデータが転送すべきデータかどうかを監視する
アドレス比較部8と、パラメータ記憶部7の値から転送
すべきデータのメモリ4内でのアドレスを生成するアド
レス発生器9から構成される。
【0023】パラメータ記憶部7は、転送すべきデータ
のメモリ4内でのアドレスの上限値を記憶する上限値レ
ジスタ7aと、転送すべきデータのメモリ4内でのアド
レスの下限値を記憶する下限値レジスタ7bからなる。
【0024】アドレス比較部8は、上限値レジスタ7a
とアドレスバス5aの値と、下限値レジスタ7bとアド
レスバス5aの値をそれぞれ比較する二つの比較器8
a,8bと、この二つの比較器8a,8bの出力を入力す
るAND回路8cから構成される。
【0025】データ記憶装置10は、転送すべきデータ
のメモリ4内のアドレスを記憶するアドレス記憶部10
aと、転送すべきデータの値を記憶するデータ記憶部1
0cと、データの有効性を示すバリッドビッ10bか
らなる。
【0026】データ記憶装置10aには、本実施例で
は、連想メモリを使用する。1例としてダイレクトマッ
プ型キャッシュなどで使われる手段を採用する。つま
り、アドレスの下位の値により指定される番地の、アド
レス記憶部10aにはアドレスの上位の値を、データ記
憶部10cには転送すべきデータの値を記憶し、バリッ
ドビッ10bの同番地の値がデータの有効性を示す。
また、アドレス記憶部10a内に、アドレス発生器9が
生成するアドレスが存在するかの判断は、アドレス発生
器9が生成したアドレスの下位の値をアドレスとして、
アドレス記憶部10aより読みだした値と、アドレス発
生器9が生成したアドレスの上位の値が等しいかを比較
することにより行なう。
【0027】図7(a)はメモリ4内の転送領域とデータ
記憶装置10の記憶領域との関係図を示す。本実施例で
は、データ記憶装置10内の同じアドレスに、2つ以上
の転送すべきデータが割り当てられる場合、後に記憶さ
れるデータを有効とし、前に記憶されていたデータに上
書きする。そのため、本実施例のデータ記憶装置10の
容量はメモリ4内の転送領域分だけの記憶領域を確保す
る必要はなく、メモリ4内のある範囲のデータを転送先
2に転送する。
【0028】データ転送装置1において、データ転送開
始前に、データ管理装置6は、バスの監視を行ない、ア
ドレス比較部8によりアドレスバス5aの値とパラメー
タ記憶部7の値を比較した結果、転送すべきデータが外
部バス5上に現れたと判断された場合に、バス制御装置
11にアドレス比較部8からの信号を送り、バス制御装
置11は、外部バス5上のデータの値をバリッドビッ
と共にデータ記憶装置10に書き込み、データ転送時に
は、データ記憶装置10に転送すべきアドレス発生器9
が生成するアドレスに対応するデータが存在する場合に
は、データ記憶部10cからデータの送出を行ない、デ
ータ記憶装置10に転送すべきアドレス発生器9が生成
するアドレスに対応するデータが存在しない場合には、
アドレス発生器9が生成したアドレスにより、バス制御
装置11がメモリ4にアクセスし、得られたデータを送
出する。
【0029】図2は本発明の一実施例の動作を示すタイ
ミングチャートである。次に、本発明の第一の実施例の
データ転送装置の動作を、図1と図2を用いて説明す
る。なお、転送先2に転送するデータはメモリ4内で連
続するD1、D2、D3の3つであり、この順番で転送
し、D3についてはすでにメモリ4内に存在するものと
する。
【0030】処理1、処理2では、プロセッサ3はデー
タ転送装置1の設定を行い、データ転送装置1は初期化
動作を行なう。より詳しくは、プロセッサ3は上限値レ
ジスタ7a、下限値レジスタ7bに転送すべきデータの
アドレスの上限値(D3のアドレス)、下限値(D1の
アドレス)を設定し、データ転送装置1はバリッドビッ
ド10bのクリアを行ない、パラメータ記憶部7とアド
レスバス5aの値の比較をアドレス比較部8で始める。
【0031】処理3では、プロセッサ3はメモリ4から
処理するデータd2を読み込み、処理4においてデータ
の処理を行ない、D2を生成する。処理5では、プロセ
ッサ3は、処理の済んだデータD2をメモリ4に書き込
む。この時データ転送装置1は、アドレスバス5aとパ
ラメータレジスタ7aの値をアドレス比較器8で比較
し、D2が転送すべきデータであることが判明すると、
データ管理装置6からの信号により、処理5においてバ
ス制御装置11が、D2のアドレスの下位の値で指定さ
れる、データ記憶装置10内の番地の、データ記憶部1
0cにデータバス5b上の値を取り込み、アドレス記憶
部10aにD2のアドレス上位の値を書き込み、バリッ
ドビッ10bを立てる。
【0032】処理6、7、8の処理は、処理3、4、5
の処理と同様であり、データ転送装置1は転送すべきデ
ータD1を、D1アドレスの下位の値で指定される、デ
ータ記憶装置10内の番地に取り込む。
【0033】処理9では、プロセッサ3は、転送すべき
データD1、D2、D3がメモリ内に揃ったことからデ
ータ転送開始信号をデータ転送装置1に送り、データ転
送装置1はデータ転送を開始する。より詳しくは、アド
レス発生器9は下限値レジスタ7aの値から上限値レジ
スタ7bの値まで、アドレスの生成を開始し、アドレス
記憶部10a内に対応するアドレスが存在し、バリッド
ビッ10bが立っている場合は、データ記憶部10c
よりデータを転送先2に送出する。
【0034】アドレス記憶部10aに対応するアドレス
が存在しない場合は、バス制御装置11がメモリ4に、
アドレス発生器9が発生したアドレスでアクセスし、得
られたデータを転送先2に送出する。
【0035】処理10では、プロセッサ3は新たに処理
すべきデータd4をメモリ4から読み込む。一方データ
転送装置1は、アドレス発生器9がD1のアドレスを発
生し、D1のアドレスは、処理8で書き込んでおり、ア
ドレス記憶部10aに存在し、バリッドビッ10bも
立っていることから、データ記憶部10cから取り込ん
でおいたD1を転送先2に送出する。
【0036】処理11では、プロセッサ3は読み込んだ
データd4を処理し、D4を生成する。一方データ転送
装置1は、アドレス発生器9がD2のアドレスを発生
し、D2のアドレスは、処理5で書き込んでおり、アド
レス記憶部10aに存在し、バリッドビッ10bも立
っていることから、データ記憶部10cから取り込んで
おいたD2を転送先2に送出する。
【0037】処理12では、プロセッサ3は処理の済ん
だデータD4をメモリ4に書き込み、データ転送装置1
は、アドレス発生器9がD3のアドレスを発生するが、
D3のアドレスはアドレス記憶部10aに存在しないこ
とから、バス制御装置11がメモリ4へアクセスしよう
とするが、プロセッサ3が外部バス5を使用しているた
め、実行できない。
【0038】処理13では、プロセッサ3は新たに処理
すべきデータd5をメモリ4から読み込み、データ転送
装置1は、バス制御装置11がD3のアドレスでメモリ
4へアクセスしようとするが、プロセッサ3が外部バス
5を使用しているため、実行できない。
【0039】処理14では、プロセッサ3はデータd5
の処理を行ない、D5を生成する。データ転送装置1
は、プロセッサ3がバスを開放するため、バス制御装置
11がD3のアドレスでメモリ4にアクセスでき、得ら
れたデータD3を転送先2へ送出する。以上のように、
本発明によるデータ転送装置では、処理14でデータD
1、D2、D3の転送が終了する。
【0040】このように、従来のデータ転送装置では、
転送先2にデータD1、D2、D3の転送を処理17ま
で要して行なったが、一方本実施例のデータ転送装置を
用いれば、処理14で上記処理を終了することが出来
る。
【0041】以上のようにして本実施例によれば、デー
タ転送装置1が、外部バス5を監視することによって、
転送すべきデータの一部もしくは全てをデータ転送装置
1内に取り込んでおき、取り込んでいないものだけをメ
モリ4にアクセスすることによって、少ない外部バス5
の使用頻度によってデータの転送ができ、データ転送装
置1に対して低いバス使用頻度が与えられている場合に
も高いデータ転送能力を得ることができると同時に、プ
ロセッサ3は外部バス5の使用を、データ転送装置1に
妨げられることが少ないので、データ転送によるプロセ
ッサ3の性能低下を抑えることができる。
【0042】また、データ転送装置1内にデータ記憶装
置10、アドレス発生器9を備えることにより、転送す
べきデータが、外部バス5上に転送すべき順番に現れな
くとも、正しい順番で転送先2へデータを転送すること
ができ、データ記憶装置10の容量を越えるデータ転送
を行なう場合も、アドレス記憶部10aを備えることに
より、データ転送装置1内の転送すべきデータの有無
を、アドレス記憶部10aに取り込んだアドレスにより
調べるため問題とならない。
【0043】なおアドレス発生器9は、下限値レジスタ
7bの値から上限値レジスタ7aの値まで、1ずつ増や
すことによりアドレスを発生しているが、逆に上限値レ
ジスタ7aの値から下限値レジスタ7bの値まで、1ず
つ減らすことによってもアドレスを発生することができ
る。
【0044】またパラメータ記憶部7内のパラメータを
増やすことにより、転送すべきデータの指定を範囲だけ
でなく、メモリ4内で奇数番地のみ、偶数番地のみなど
複雑なアドレスのパターンにも対応できる。
【0045】(実施例2) 図3は本発明の第2の実施例におけるデータ転送装置の
構成図である。
【0046】本実施例においても実施例1と同様に、デ
ータ転送先2に接続されるデータ転送装置31と、プロ
セッサ3と、メモリ4は、アドレスバス5a、データバ
ス5bからなる共通の外部バス5に接続され、データ転
送装置31は、データ管理装置32と、データ記憶装置
36と、バス制御装置39とから構成される。
【0047】データ管理装置32は、アドレスバス5
a、バス制御装置39に接続され、バス制御装置39は
外部バス5、データ管理装置32、データ記憶装置3
6、転送先2に接続され、データ記憶装置36はバス制
御装置39、転送先2に接続されている。
【0048】データ管理装置32は、転送すべきデータ
の上位アドレス及び転送順を記憶する第1のパラメータ
記憶部33と、転送すべきデータの下位アドレスを記憶
する第2のパラメータ記憶部34と、転送すべきデータ
のアドレスとアドレスバス5a上の値の一致を検出する
ことにより、アドレスバス5aの値を監視するアドレス
比較部35からなる。本実施例では、第1のパラメータ
記憶部33の1例として、ダイレクトマップ型キャッシ
ュを採用している。つまり、アドレスバス5aの下位の
値により第1のパラメータ記憶部33から読み出された
アドレス上位の部分の値と、アドレスバス5aの上位の
値を、アドレス比較部39により比較し、一致を検出す
る。
【0049】データ記憶装置36は、パラメータ記憶部
34と1対1の対応をもつ、転送すべきデータの値を記
憶するデータ記憶部38と、データの有効性を示すバリ
ッドビッ37からなる。
【0050】本実施例では、第1の実施例において、パ
ラメータ記憶部7が、転送すべきデータのメモリ4内で
のアドレスの上限値、下限値を記憶するのに対し、転送
すべきデータの各々のアドレスを第1のパラメータ記憶
部33,第2のパラメータ記憶部34内に記憶する。そ
のため一度に転送可能なデータ数は、第2のパラメータ
記憶部34の容量により制限されるが、転送すべきデー
タは、第1のパラメータ記憶部33に記憶された転送順
に応じて第1の実施例のアドレス発生器9で生成出来な
いような、例えば図8に示すような、ランダムなアドレ
スを持つことができる。
【0051】本実施例におけるデータ転送装置の転送動
作は、第1の実施例と同様である。図2と図3を用いて
本実施例の動作について説明する。なお、転送先2に転
送するデータはD1、D2、D3の3つであり、この順
番で転送し、D3についてはすでにメモリ内に存在する
ものとする。
【0052】処理1、処理2では、プロセッサ3はデー
タ転送装置1の設定を行い、データ転送装置31は初期
化動作を行なう。より詳しくは第1のパラメータ記憶部
33にD1のアドレス下位の値をアドレスとして、D1
のアドレス上位の値と転送順を示す1を、D2のアドレ
ス下位の値をアドレスとしてD2のアドレス上位の値と
転送順を示す2を、D3のアドレス下位の値をアドレス
としてD3のアドレス上位の値と転送順を示す3を書き
込み、第2のパラメータ記憶部34の1番地にD1のア
ドレス下位の値、2番地にD2のアドレス下位の値、3
番地にD3のアドレス下位の値を書き込む。
【0053】データ転送装置31はバリッドビッ37
のクリアを行ない、アドレスバス5aの監視を第1のパ
ラメータ記憶部33を用いて始める。
【0054】処理3では、プロセッサ3は、メモリ4か
ら処理するデータd2を読み込み、処理4においてデー
タの処理を行ない、D2を生成する。
【0055】処理5では、プロセッサ3は、処理の済ん
だデータD2をメモリ4に書き込む。この時データ転送
装置31は、アドレス比較部39により、D2が転送す
べきデータであることが判明すると、バス制御装置39
が、第1のパラメータ記憶部33から読み出された転送
順が示すアドレス、つまり本実施例の場合2番地のデー
タ記憶部38に、データバス5b上の値を取り込み、バ
リッドビッ37を立てる。
【0056】処理6、7、8における処理は、処理3、
4、5の処理と同様であり、1番地のデータ記憶装置3
6にデータD1を取り込み、バリッドビッ37を立て
る。
【0057】処理9では、プロセッサ3は、転送すべき
データD1、D2、D3がメモリ内に揃ったことからデ
ータ転送開始信号をデータ転送装置31に送り、データ
転送装置31はデータ転送を開始する。より詳しくは、
第2のパラメータ記憶部34に記憶されたアドレスの個
数だけ、データ記憶装置36内のアドレスで1番地から
順に、バリッドビッ37が立っている場合は、データ
記憶部38よりデータを転送先2に送出し、バリッドビ
37が立っていない場合は、対応する第2のパラメ
ータ記憶部34の値により、第1のパラメータ記憶部3
3からアドレス上位の値を読みだして、この読みだされ
た値と第2のパラメータ記憶部34の値からアドレスを
生成し、バス制御装置39がメモリ4にこのアドレスで
アクセスし、得られたデータを転送先2に送出する。
【0058】処理10では、プロセッサ3は新たに処理
すべきデータd4をメモリ4から読み込む。一方、デー
タ転送装置31は、データ記憶装置36内のアドレスで
1番地のバリッドビッが立っていることから、データ
記憶部38から取り込んでおいたD1を転送先2に送出
する。
【0059】処理11では、プロセッサ3は読み込んだ
データd4処理し、D4を生成する。データ転送装置3
1は、データ記憶装置36内のアドレスで2番地のバリ
ッドビッが立っていることから、データ記憶部38か
ら取り込んでおいたD2を転送先2に送出する。
【0060】処理12では、プロセッサ3は、処理の済
んだデータD4をメモリ4に書き込む。一方、データ転
送装置31は、データ記憶装置36内のアドレスで3番
地のバリッドビッが立っていないことから、第2のパ
ラメータ記憶部34の3番地の値により、第1のパラメ
ータ記憶部33からアドレス上位の値を読みだして、ア
ドレスを生成し、バス制御装置31が、このアドレスに
よりメモリ4へアクセスしようとするが、プロセッサ3
が外部バス5を使用しているため、実行できない。
【0061】処理13では、プロセッサ3は新たに処理
すべきデータd5をメモリ4から読み込み、データ転送
装置31は、バス制御装置39がD3のアドレスでメモ
リ4へアクセスしようとするが、プロセッサ3が外部バ
ス5を使用しているため、実行できない。
【0062】処理14では、プロセッサ3はデータd5
の処理を行ない、D5を生成する。データ転送装置31
は、プロセッサ3がバス5を開放するため、バス制御装
置41がD3のアドレスでメモリ4にアクセスでき、得
られたデータD3を転送先2へ送出する。本発明による
データ転送装置では、処理14でデータD1、D2、D
3の転送が終了する。
【0063】このように、従来のデータ転送装置では、
転送先2にデータD1、D2、D3の転送を処理17ま
で要して行なったが、一方本実施例のデータ転送装置を
用いれば、実施例1と同様に処理14で上記処理を終了
することが出来る。
【0064】以上のように本実施例は、第1の実施例と
同様に、データ転送装置31が、外部バス5を監視する
ことによって転送データの一部もしくは全てをデータ転
送装置31内に取り込んでおき、取り込んでいないもの
だけをメモリ4にアクセスすることによって、少ないバ
スの使用頻度によってデータの転送ができ、データ転送
装置1に対して低いバス使用頻度が与えられている場合
にも高いデータ転送能力を得ることができると同時に、
プロセッサ3は外部バス5の使用を、データ転送装置3
1に妨げられることが少ないので、データ転送によるプ
ロセッサ3の性能低下を抑えることができる。
【0065】さらに本実施例は、第1の実施例に比べ、
第2のパラメータ記憶部34、データ記憶装置36の容
量により、1度に転送できるデータ数に制限があるとい
う問題点があるが、転送するデータ数が一定数以下の時
は、ランダムなアドレスのデータに対応できるという利
点がある。
【0066】なお本実施例では、データ転送前の、パラ
メータ記憶部34、アドレス一致検出手段33の設定を
細部までプロセッサ3が行なっているが、アドレスのみ
をデータ転送装置31に与え、細部はデータ転送装置の
みでも行える。
【0067】また本実施例では、データ転送開始前に
は、転送すべきデータがバス上に現れたと判断された場
合に、バス制御装置39は、アドレスバスの値の一致を
検出した第1のパラメータ記憶部33からの転送順を示
すアドレスのデータ記憶部38に、データバス5b上の
値をバリッドビッと共に書き込み、データ転送時に
は、1番地から順次、第2のパラメータ記憶部34内の
アドレスに対応するデータが、データ記憶装置36に存
在する場合には、データ記憶部38からデータの送出を
行ない、第2のパラメータ記憶部34内のアドレスに対
応するデータが、データ記憶装置に存在しない場合に
は、バス制御装置39がメモリにアクセスし、得られた
データを送出したが、データ転送開始前には、転送すべ
きデータがバス上に現れたと判断された場合に、バス制
御装置は、アドレスバスの下位のアドレスのデータ記憶
部38に、データバス上の値をバリッドビッと共に書
き込み、データ転送時には、転送順に応じて、第2のパ
ラメータ記憶部34内のアドレスに対応するデータが、
データ記憶装置に存在する場合には、データ記憶部から
データの送出を行ない、第2のパラメータ記憶部内のア
ドレスに対応するデータが、データ記憶装置に存在しな
い場合には、バス制御装置がメモリにアクセスし、得ら
れたデータを送出することも可能である。
【0068】(実施例3) 図4は本発明の第3実施例におけるデータ転送装置の構
成図である。
【0069】本実施例においても実施例1と同様にデー
タ転送先2に接続するデータ転送装置41と、プロセッ
サ3と、メモリ4は、アドレスバス5a、データバス5
bからなる共通の外部バス5に接続され、データ転送装
置41は、データ管理装置6と、データ記憶装置42
と、バス制御装置45とから構成されている。
【0070】データ管理装置6は、アドレスバス5a、
バス制御装置45に接続され、バス制御装置45は外部
バス5、データ管理装置6、データ記憶装置42、転送
先2に接続され、データ記憶装置42はバス制御装置4
5、転送先2に接続されている。
【0071】データ管理装置6は、実施例1と同様に、
パラメータ記憶部7と、アドレス比較部8と、パラメー
タ記憶部7の値から転送すべきデータのメモリ4内での
アドレスを発生するアドレス発生器9から構成される。
パラメータ記憶部7は、転送すべきデータのメモリ4内
でのアドレスの上限値を記憶する上限値レジスタ7a
と、転送すべきデータのメモリ4内でのアドレスの下限
値を記憶する下限値レジスタ7bからなる。アドレス比
較部8は、上限値レジスタ7aとアドレスバス5aの値
と、下限値レジスタ7bとアドレスバス5aの値をそれ
ぞれ比較する二つの比較器8a,8bと、この二つの比
較器8a,8bの出力を入力するAND回路8cから構
成される。
【0072】データ記憶装置42は、転送すべきデータ
の値を記憶するデータ記憶部44と、データの有効性を
示すバリッドビッ43からなる。データ記憶装置42
内のアドレスで1番地に、下限値レジスタ7bが示すメ
モリ4内のアドレスのデータが記憶される。データ記憶
装置42内のアドレスで2番地に、下限値レジスタ7b
が示すメモリ4内のアドレス+1のデータが記憶され、
データ記憶装置42内のアドレスで3番地に、下限値レ
ジスタ7bが示すメモリ4内のアドレス+2のデータが
記憶され、以下同様に、データ記憶装置42内のアドレ
ス最終番地までデータが記憶される。
【0073】本実施例では、第1の実施例において、デ
ータ記憶部44内のデータのメモリ4でのアドレスを記
憶しているアドレス記憶部10aを外し、ハードウェア
量を減らしたものである。ただし、アドレス記憶部10
aを外したために、1度に転送するデータ数が常に、デ
ータ記憶装置42の容量以下でなければならないという
制限が付け加わる。図7(b)はメモリ4内の転送領域と
データ記憶装置42の記憶領域との関係図を示す。図7
(b)のように、本実施例のデータ記憶装置42はメモリ
4内の転送領域分だけの記憶領域を確保しており、メモ
リ4内のある範囲のデータを転送先2に転送する。
【0074】本実施例におけるデータ転送装置1の動作
は、第1の実施例と同様である。図2と図4を用いて本
発明の第3の実施例の動作について説明する。なお、転
送先2に転送するデータはメモリ4内で連続するD1、
D2、D3の3つであり、この順番で転送し、D3につ
いてはすでにメモリ内に存在するものとする。
【0075】処理1、処理2では、プロセッサ3はデー
タ転送装置1の設定を行い、データ転送装置1は初期化
動作を行なう。より詳しくはプロセッサ3は上限値レジ
スタ7a、下限値レジスタ7bに転送すべきデータのメ
モリ4内でのアドレスの上限値(D3のアドレス)、下
限値(D1のアドレス)を設定し、データ転送装置1は
バリッドビッ43のクリアを行ない、パラメータ記憶
部7とアドレスバス5aの値の比較を始める。
【0076】処理3では、プロセッサ3は、メモリ4か
ら処理するデータd2を読み込み、処理4においてデー
タの処理を行ない、D2を生成する。
【0077】処理5では、プロセッサ3は、処理の済ん
だデータD2をメモリ4に書き込む。この時データ転送
装置1は、アドレス信号線5aとパラメータレジスタ記
憶部7の値をアドレス比較器8で比較し、D2が転送す
べきデータであることが判明すると、データ管理装置6
からの信号により、処理5においてバス制御装置51
が、データバス上の値をデータ記憶部44に取り込み、
バリッドビッ43を立てる。この時データ記憶装置内
のアドレスとして、アドレスバス5aの値から下限値レ
ジスタ7bの値を引いたもの+1を用いる。処理5の場
合{(D2のアドレス)ー(下限値レジスタ1212の
値、つまりD1のアドレス)+1=2番地}をデータ記
憶装置42内のアドレスとし、このアドレスのデータ記
憶部44にデータバス5b上のデータを取り込み、この
アドレスのバリッドビッ43を立てる。
【0078】処理6、7、8における処理は、処理3、
4、5と同様であり、データ転送装置は転送すべきデー
タD1をデータ記憶装置42のアドレスで1番地に取り
込む。
【0079】処理9では、プロセッサ3は、転送すべき
データD1、D2、D3がメモリ内に揃ったことからデ
ータ転送開始信号をデータ転送装置1に送り、データ転
送装置1はデータ転送を開始する。より詳しくは、アド
レス発生器9が下限値レジスタ7bの値から上限値レジ
スタ7aの値まで、アドレスの生成を開始し、データ記
憶装置42内アドレスの、1番地からバリッドビッ
立っている場合は、データ記憶部44よりデータを転送
先2に送出する。つまりD1に対しては、データ記憶装
置42内のアドレスで1番地のバリッドビッが立って
いる場合は、データ記憶部44の1番地よりデータの送
出を行ない、D2に対しては、データ記憶装置42内の
アドレスで2番地のバリッドビッが立っている場合
は、データ記憶部44の2番地よりデータの送出を行な
い、D3に対しては、データ記憶装置42内のアドレス
で3番地のバリッドビッが立っている場合はデータ記
憶部44の3番地よりデータの送出を行なう。
【0080】対応するバリッドビッが立っていない場
合は、バス制御装置45が、メモリ4にアドレス発生器
9が生成したアドレスでアクセスし、得られたデータを
転送先2に送出する。
【0081】処理10では、プロセッサ3は新たに処理
すべきデータd4をメモリ4から読み込み、データ転送
装置41は、データ記憶装置42内のアドレスで1番地
のバリッドビッを見て、バリッドビッが立っている
ことからデータ記憶部44から取り込んでおいたD1を
転送先2に送出する。
【0082】処理11では、プロセッサ3は読み込んだ
データd4を処理し、D4を生成する。データ転送装置
41は、データ記憶装置42内のアドレスで2番地のバ
リッドビッを見て、バリッドビッが立っていること
からデータ記憶部44から取り込んでおいたD2を転送
先2に送出する。
【0083】処理12では、処理の済んだデータD4を
メモリ4に書き込み、データ転送装置1は、データ記憶
装置42内のアドレスで3番地のバリッドビッを見
て、バリッドビッが立っていないことから、アドレス
発生器9が発生しているD3のアドレスで、バス制御装
置45がメモリ4へアクセスしようとするがプロセッサ
3が外部バス5を使用しているため、実行できない。
【0084】処理13では、プロセッサ3は新たに処理
すべきデータd5をメモリ4から読み込み、データ転送
装置41は、バス制御装置45がD3のアドレスでメモ
リ4へアクセスしようとするが、プロセッサ3が外部バ
ス5を使用しているため、実行できない。
【0085】処理14では、プロセッサ3はデータd5
の処理を行ない、D5を生成する。データ転送装置1
は、プロセッサ3がバスを開放するため、バス制御装置
45がD3のアドレスでメモリ4にアクセスでき、得ら
れたデータD3を転送先2へ送出する。本発明によるデ
ータ転送装置では、処理14でデータD1、D2、D3
の転送が終了する。
【0086】このように、従来のデータ転送装置では、
転送先2にデータD1、D2、D3の転送を処理17ま
で要して行なったが、一方本実施例のデータ転送装置を
用いれば、実施例1と同様に処理14で上記処理を終了
することが出来る。
【0087】以上のように本実施例では、データ転送装
置41が、外部バス5を監視することによって転送デー
タの一部もしくは全てをデータ転送装置1内に取り込ん
でおき、取り込んでいないものだけをメモリ4にアクセ
スすることによって、少ないバスの使用頻度によってデ
ータの転送ができ、データ転送装置1に対して低いバス
使用頻度が与えられている場合にも高いデータ転送能力
を得ることができる、と同時にプロセッサ3は外部バス
5の使用を、データ転送装置1に妨げられることがない
ので、データ転送によるプロセッサ3の性能低下を押え
ることができる。
【0088】またデータ転送装置41内にデータ記憶装
置42、アドレス発生器9を備えることにより、転送す
べきデータが、外部バス5上に転送すべき順番に現れな
くとも、正しい順番で転送先2へデータを転送すること
ができる。
【0089】本実施例は、第1の実施例に比べ、データ
記憶装置42の容量により、1度に転送できるデータ数
に制限があるという問題点があるが、転送するデータ数
が一定数以下の場合は、アドレス記憶部が不要でハード
ウェアが削減できるといった利点がある。
【0090】なお、アドレス発生器9は、下限値レジス
タ7bの値から上限値レジスタ7aの値まで、1ずつ増
やすことによりアドレスを発生しているが、逆に上限値
レジスタ7aの値から下限値レジスタ7bの値まで、1
ずつ減らすことによってもアドレスを発生することがで
きる。
【0091】
【発明の効果】このようにしてデータ転送措置が、外部
バスを監視することによって転送すべきデータの一部も
しくは全てをデータ転送装置内に取り込んでおき、取り
込んでいないものだけをデータ転送装置が、メモリにア
クセスすることによって、少ないバスの使用頻度によっ
てデータの転送ができ、データ転送装置に対して低いバ
ス使用頻度が与えられている場合にも高いデータ転送能
力を得ることができる、と同時にプロセッサは外部バス
の使用を、データ転送装置に妨げられることが少ないの
で、データ転送によるプロセッサの性能低下を押えるこ
とができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるデータ転送装置
の構成図である。
【図2】本発明における実施例の動作を説明するタイミ
ングチャートである。
【図3】本発明の第2の実施例におけるデータ転送装置
の構成図である。
【図4】本発明の第3の実施例におけるデータ転送装置
の構成図である。
【図5】従来のデータ転送装置の構成図である。
【図6】従来のデータ転送装置の動作を説明するタイミ
ングチャートである。
【図7】(a)は第1の実施例におけるメモリ4内での転
送範囲を示す図である。 (b)は第3の実施例におけるメモリ4内での転送範囲を
示す図である。
【図8】第2の実施例におけるメモリ4内での転送範囲
を示す図である。
【符号の説明】
1 データ転送装置 2 転送先 3 プロセッサ 4 メモリ 5 外部バス 6 データ管理装置 7 パラメータ記憶部 8 アドレス比較部 9 アドレス発生器 10 データ記憶装置 10a アドレス記憶部 10c データ記憶部 10b バリッドビッ 11 バス制御装置

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】データを記憶するメモリと、そのメモリ内
    のデータを処理するプロセッサとが共通のバスに接続さ
    れ、前記プロセッサの指示によりデータ転送を行なうデ
    ータ転送装置であって、前記バスの監視を行なうデータ
    管理装置と、転送すべきデータの値を記憶するデータ記
    憶装置と、前記バス上のデータをデータ記憶装置に書き
    込むバス制御装置とを有し、 データ転送に先だってデータ転送の範囲が前記データ管
    理装置に設定され、前記データ管理装置はバスの監視を
    行ない、転送すべきデータが前記プロセッサによるバス
    アクセスによってバス上に現れた場合に、前記バス制御
    装置に信号を送り、前記バス制御装置は、前記データ管
    理装置からの信号を受け、バス上のデータを前記データ
    記憶装置に書き込み、 データ転送時には、前記データ記憶装置に転送すべきデ
    ータが存在する場合には、前記データ記憶装置からデー
    タの送出を行なうことを特徴とするデータ転送装置。
  2. 【請求項2】請求項1記載されたデータ転送装置にお
    いて、データ記憶装置に転送すべきデータが存在しない
    場合には、データ管理装置が転送すべきデータのメモリ
    内のアドレスを生成し、そのアドレスによりバス制御装
    置がメモリから転送すべきデータを得て、データの送出
    を行なうことを特徴としたデータ転送装置。
  3. 【請求項3】データを記憶するメモリと、そのメモリ内
    のデータを処理するプロセッサとが共通のアドレスバス
    とデータバスを含む外部バスに接続され、前記プロセッ
    サの指示によりデータ転送を行なうデータ転送装置であ
    って、 データ転送の範囲を記憶するパラメータ記憶部と、この
    パラメータ記憶部の値と前記アドレスバスの値とを比較
    し、外部バス上のデータが転送すべきデータかどうかを
    監視するアドレス比較部と、前記パラメータ記憶部の情
    報によって転送すべきデータの前記メモリ内でのアドレ
    スを生成するアドレス発生器よりなるデータ管理装置
    と、 転送すべきデータの値を記憶するデータ記憶部と、デー
    タの有効性を示すバリッドビッ記憶部よりなるデータ
    記憶装置と、 前記外部バスに接続され、前記メモリへのアクセスを行
    なうバス制御装置とを有し、 データ転送開始前には、前記データ管理装置はバスの監
    視を行ない、前記アドレス比較部により前記アドレスバ
    スの値と前記パラメータ記憶部の値を比較した結果、転
    送すべきデータがバス上に現れたと判断された場合に、
    前記バス制御装置に前記アドレス比較部からの信号を送
    り、前記バス制御装置は前記データバスの値をバリッド
    ビッと共に前記データ記憶装置に書き込み、 データ転送時には、前記アドレス発生器が生成するアド
    レスに対応するデータが、前記データ記憶装置に存在す
    る場合には、前記データ記憶部からデータの送出を行な
    い、前記アドレス発生器が生成するアドレスに対応する
    データが、前記データ記憶装置に存在しない場合には、
    前記アドレス発生器が生成したアドレスで前記バス制御
    装置が前記メモリにアクセスし、得られたデータを送出
    することを特徴としたデータ転送装置。
  4. 【請求項4】請求項3記載されたデータ転送装置にお
    いて、データ記憶装置が更に転送すべきデータのメモリ
    内のアドレスを記憶するアドレス記憶部を備え、データ
    転送時にはアドレス発生器が生成するアドレスと前記ア
    ドレス記憶部に記憶されたアドレスが比較され、該アド
    レスに対応したデータがデータ記憶装置内に存在するか
    どうかが判断されることを特徴とするデータ転送装置。
  5. 【請求項5】データを記憶するメモリと、そのメモリ内
    のデータを処理するプロセッサとが共通のアドレスバス
    とデータバスを含む外部バスに接続され、前記プロセッ
    サの指示によりデータ転送を行なうデータ転送装置であ
    って、 転送すべきデータの上位アドレス及び転送順を記憶する
    第1のパラメータ記憶部と、転送すべきデータの下位ア
    ドレスを記憶する第2のパラメータ記憶部と、転送すべ
    きデータのアドレスと前記アドレスバス上の値の一致を
    検出するアドレス比較部からなるデータ管理装置と、 前記第2のパラメータ記憶部と1対1の対応を持つ転送
    すべきデータの値を記憶するデータ記憶部と、データの
    有効性を示すバリッドビットからなるデータ記憶装置
    と、 前記外部バスに接続され、前記メモリへのアクセスを行
    なうバス制御装置とを有し、 データ転送開始前には、前記アドレスバスの下位の値に
    より前記第1のパラメータ記憶部から読み出されたアド
    レス上位の値と、前記アドレスバスの上位の値を、前記
    アドレス比較部により比較した結果、転送すべきデータ
    がバス上に現れたと判断された場合に、前記バス制御装
    置に前記アドレス比較部からの信号を送り、前記バス制
    御装置は、前記アドレスバスの値の一致を検出した前記
    第1のパラメータ記憶部からの転送順を示すアドレスの
    前記データ記憶部に、前記データバス上の値をバリッド
    ビッと共に書き込み、 データ転送時には、前記第2のパラメータ記憶部内のア
    ドレスに対応するデータが、前記データ記憶装置に存在
    する場合には、前記データ記憶部からデータの送出を行
    ない、前記第2のパラメータ記憶部内のアドレスに対応
    するデータが、データ記憶装置に存在しない場合には、
    前記第2のパラメータ記憶部内のアドレス及びこのアド
    レスにより前記第1のパラメータ記憶部から読み出され
    たアドレスによって、バス制御装置が前記メモリにアク
    セスし、得られたデータを送出することを特徴としたデ
    ータ転送装置。
  6. 【請求項6】請求項5記載されたデータ転送装置にお
    いて、データ転送開始前には、前記アドレスバスの下位
    の値により前記第1のパラメータ記憶部から読み出され
    たアドレス上位の値と、前記アドレスバスの上位の値
    を、前記アドレス比較部により比較した結果、転送すべ
    きデータがバス上に現れたと判断された場合に、前記バ
    ス制御装置に前記アドレス比較部からの信号を送り、前
    記バス制御装置は、前記アドレスバスの下位のアドレス
    の前記データ記憶部に、前記データバス上の値をバリッ
    ドビッと共に書き込み、 データ転送時には、前記転送順に応じて、前記第2のパ
    ラメータ記憶部内のアドレスに対応するデータが、前記
    データ記憶装置に存在する場合には、前記データ記憶部
    からデータの送出を行ない、前記第2のパラメータ記憶
    部内のアドレスに対応するデータが、データ記憶装置に
    存在しない場合には、前記第2のパラメータ記憶部内の
    アドレス及びこのアドレスにより前記第1のパラメータ
    記憶部から読み出されたアドレスによって、バス制御装
    置が前記メモリにアクセスし、得られたデータを送出す
    ることを特徴としたデータ転送装置。
JP3076226A 1990-04-23 1991-04-09 データ転送装置 Expired - Lifetime JP2743604B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3076226A JP2743604B2 (ja) 1990-04-23 1991-04-09 データ転送装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10723490 1990-04-23
JP2-107234 1990-10-13
JP3076226A JP2743604B2 (ja) 1990-04-23 1991-04-09 データ転送装置

Publications (2)

Publication Number Publication Date
JPH04218854A JPH04218854A (ja) 1992-08-10
JP2743604B2 true JP2743604B2 (ja) 1998-04-22

Family

ID=26417385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3076226A Expired - Lifetime JP2743604B2 (ja) 1990-04-23 1991-04-09 データ転送装置

Country Status (1)

Country Link
JP (1) JP2743604B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101952A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Bus tracer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101952A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Bus tracer

Also Published As

Publication number Publication date
JPH04218854A (ja) 1992-08-10

Similar Documents

Publication Publication Date Title
US6092173A (en) Multiprocessor, memory accessing method for multiprocessor, transmitter and receiver in data transfer system, data transfer system, and bus control method for data transfer system
US6928529B2 (en) Data transfer between virtual addresses
US5579503A (en) Direct cache coupled network interface for low latency
JP3996454B2 (ja) 分割サーバにおけるドメイン間低オーバヘッドメッセージ受渡しのためのシステム及び方法
KR940009702B1 (ko) 데이터전송장치
JP2743604B2 (ja) データ転送装置
US6615292B1 (en) Data transfer apparatus performing DMA data transfer from non-consecutive addresses
US7089387B2 (en) Methods and apparatus for maintaining coherency in a multi-processor system
JPH03147157A (ja) 情報処理装置
US6078971A (en) Input/output buffer and method for invalidating transferred data in direct memory access transfer
JP3070492B2 (ja) データ転送制御方式およびデータ転送制御方法
JP2845754B2 (ja) マルチプロセッサシステム
JP3039391B2 (ja) メモリシステム
JP2617621B2 (ja) 低速/高速インタフェース回路
JPH06161891A (ja) コンピュータシステム及びキャッシュ制御手段におけるキャッシュ制御方法
JP2838421B2 (ja) データ転送装置
JP2818562B2 (ja) アドレス変換回路
JP2805786B2 (ja) 情報処理装置
JPH09198300A (ja) メモリアクセス制御方法
JPH05324472A (ja) キャッシュ処理方法及びその装置
JP2003108438A (ja) データ処理装置
JPH05225063A (ja) バッファメモリのクリア方式
JPH04350743A (ja) キャッシュメモリ
JPH0254351A (ja) データ処理システム
JPS63231647A (ja) キヤツシユメモリの無効化制御方式