JPH09146872A - データ入出力処理装置 - Google Patents
データ入出力処理装置Info
- Publication number
- JPH09146872A JPH09146872A JP7304633A JP30463395A JPH09146872A JP H09146872 A JPH09146872 A JP H09146872A JP 7304633 A JP7304633 A JP 7304633A JP 30463395 A JP30463395 A JP 30463395A JP H09146872 A JPH09146872 A JP H09146872A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- address
- terminal device
- block
- 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
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 端末装置から異なるメモリ領域のデータがオ
ーバーラップしてブロック転送される場合でもバッファ
の効果が出ると共に、エラーが発生したバッファブロッ
クはその後使用できないようにして、エラーが起きた場
合でも他のバッファブロックを使用しながらデータ転送
を続けうるデータ入出力処理装置を得る。 【解決手段】 アドレスバッファ19〜22に、データ
バッファのバッファブロック番号、端末装置からのリク
エスト番号を保持し、端末装置からの転送要求の情報の
比較器23〜30と35〜38を設け、比較器35〜3
8の出力の加算器39を設け、各端末装置が使用するバ
ッファブロック数の制限を設定するレジスタファイル4
0を設け、レジスタファイルの内容をセレクタ41で選
択した値と加算器39からの値を比較する比較器42を
設けた。エラーチェック回路44はデータバッファをア
クセスしたときのエラー信号をバッファ制御回路11に
出力する。
ーバーラップしてブロック転送される場合でもバッファ
の効果が出ると共に、エラーが発生したバッファブロッ
クはその後使用できないようにして、エラーが起きた場
合でも他のバッファブロックを使用しながらデータ転送
を続けうるデータ入出力処理装置を得る。 【解決手段】 アドレスバッファ19〜22に、データ
バッファのバッファブロック番号、端末装置からのリク
エスト番号を保持し、端末装置からの転送要求の情報の
比較器23〜30と35〜38を設け、比較器35〜3
8の出力の加算器39を設け、各端末装置が使用するバ
ッファブロック数の制限を設定するレジスタファイル4
0を設け、レジスタファイルの内容をセレクタ41で選
択した値と加算器39からの値を比較する比較器42を
設けた。エラーチェック回路44はデータバッファをア
クセスしたときのエラー信号をバッファ制御回路11に
出力する。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、計算機システム
において、メモリと端末装置(IOC)間の転送データ
のバッファ制御を行う、データ入出力処理装置に関する
ものである。
において、メモリと端末装置(IOC)間の転送データ
のバッファ制御を行う、データ入出力処理装置に関する
ものである。
【0002】
【従来の技術】図12は従来のデータ入出力処理装置の
構成を示す図であり、図において、1はデータ入力処理
装置全体を示し、2〜5はこのデータ入出力装置1に接
続される端末装置#0〜#3であり、6は入出力処理装置1
と各端末装置2〜5間で転送するアドレス/データバ
ス、7は各端末装置2〜5から転送要求を送出するリク
エストバス、8はデータ入出力処理装置に接続されるメ
モリ、9は各端末装置2〜5からのメモリアドレス等の
情報を格納するアドレスバッファ、10は各端末装置2
〜5とメモリ8との間の転送データを格納するデータバ
ッファ、11はアドレスバッファ9やデータバッファ1
0の読み書きの制御及びメモリとのデータ転送を司るバ
ッファ制御回路、12はバッファ制御回路11からの指
示でメモリ8に転送要求を出力するメモリリクエスト制
御回路、13は端末装置2〜5から送られたメモリアド
レスとアドレスバッファ9内に格納されているメモリア
ドレスを比較する比較器である。また、図13はアドレ
スバッファ9内の各ブロックのビット割り付けを示す。
構成を示す図であり、図において、1はデータ入力処理
装置全体を示し、2〜5はこのデータ入出力装置1に接
続される端末装置#0〜#3であり、6は入出力処理装置1
と各端末装置2〜5間で転送するアドレス/データバ
ス、7は各端末装置2〜5から転送要求を送出するリク
エストバス、8はデータ入出力処理装置に接続されるメ
モリ、9は各端末装置2〜5からのメモリアドレス等の
情報を格納するアドレスバッファ、10は各端末装置2
〜5とメモリ8との間の転送データを格納するデータバ
ッファ、11はアドレスバッファ9やデータバッファ1
0の読み書きの制御及びメモリとのデータ転送を司るバ
ッファ制御回路、12はバッファ制御回路11からの指
示でメモリ8に転送要求を出力するメモリリクエスト制
御回路、13は端末装置2〜5から送られたメモリアド
レスとアドレスバッファ9内に格納されているメモリア
ドレスを比較する比較器である。また、図13はアドレ
スバッファ9内の各ブロックのビット割り付けを示す。
【0003】図12において、アドレスバッファ9とデ
ータバッファ10はそれぞれブロック#0〜#3の4つに分
割されており、アドレスバッファ9の各ブロックはデー
タバッファ10の同一番号のブロックに対応している。
データバッファ10の各ブロックは、メモリ上の32バイ
トバウンダリの連続した領域のデータを保持する。ま
た、端末装置#0〜#3にはそれぞれアドレスバッファ9及
びデータバッファ10のブロック#0〜#3が割り当てられ
ているものとする。また、アドレスバッファ9内の各ブ
ロックの有効フラグ、リードフラグ、ライトフラグは初
期状態ではリセットされている。
ータバッファ10はそれぞれブロック#0〜#3の4つに分
割されており、アドレスバッファ9の各ブロックはデー
タバッファ10の同一番号のブロックに対応している。
データバッファ10の各ブロックは、メモリ上の32バイ
トバウンダリの連続した領域のデータを保持する。ま
た、端末装置#0〜#3にはそれぞれアドレスバッファ9及
びデータバッファ10のブロック#0〜#3が割り当てられ
ているものとする。また、アドレスバッファ9内の各ブ
ロックの有効フラグ、リードフラグ、ライトフラグは初
期状態ではリセットされている。
【0004】次に動作について説明する。例えば、端末
装置#1から1000番地の16バイトのメモリリード要求が出
力されると、そのリクエスト番号からアドレスバッファ
9のブロック#1の内容がバッファ制御回路と比較器13
に出力される。ここで、アドレスバッファ9のブロック
#1に登録されているフラグがバッファ制御回路11でチ
ェックされ、メモリアドレスが端末装置#1からのメモリ
アドレスと比較器13で比較される。初期状態ではアド
レスバッファには何も登録されていないので、バッファ
制御回路11は、アドレスバッファ9のブロック#1にメ
モリアドレスを登録し、リードフラグをセットする。同
時に、バッファ制御回路11はメモリリクエスト制御回
路12にデータリード要求を出力し、メモリ8から1000
〜101F番地の32バイトのデータをリードする。メモリ8
からリードデータが送られると、そのリクエストに該当
するデータバッファ10のブロック#1に上記の32バイト
のデータを格納する。データバッファ10にリードデー
タが格納されると、アドレスバッファ9のブロック#1の
有効フラグをセットし、リクエストを出した端末装置#1
に1000〜100F番地の16バイトのデータを送出する。
装置#1から1000番地の16バイトのメモリリード要求が出
力されると、そのリクエスト番号からアドレスバッファ
9のブロック#1の内容がバッファ制御回路と比較器13
に出力される。ここで、アドレスバッファ9のブロック
#1に登録されているフラグがバッファ制御回路11でチ
ェックされ、メモリアドレスが端末装置#1からのメモリ
アドレスと比較器13で比較される。初期状態ではアド
レスバッファには何も登録されていないので、バッファ
制御回路11は、アドレスバッファ9のブロック#1にメ
モリアドレスを登録し、リードフラグをセットする。同
時に、バッファ制御回路11はメモリリクエスト制御回
路12にデータリード要求を出力し、メモリ8から1000
〜101F番地の32バイトのデータをリードする。メモリ8
からリードデータが送られると、そのリクエストに該当
するデータバッファ10のブロック#1に上記の32バイト
のデータを格納する。データバッファ10にリードデー
タが格納されると、アドレスバッファ9のブロック#1の
有効フラグをセットし、リクエストを出した端末装置#1
に1000〜100F番地の16バイトのデータを送出する。
【0005】次に、同じ端末装置#1から2000番地の16バ
イトのメモリリード要求が出力されると、上記と同様に
アドレスバッファ9のブロック#1の内容がバッファ制御
回路11と比較器13に出力される。この時、有効フラ
グとリードフラグがセットされて1000番地のアドレスが
登録されており、データバッファ10のブロック#1には
1010番地からの16バイトのデータが端末装置へは送られ
ずに残ったままである。即ち、1000〜100F番地が端末装
置#1に送られ、1010〜101F番地は残った状態である。バ
ッファ制御回路11は、登録されているアドレスと端末
装置#1からのメモリアドレスが一致しないので、この有
効フラグをリセットし、メモリリクエスト制御回路12
にデータリード要求を出力し、メモリ8から2000〜201F
番地の32バイトのデータを読み出し、データバッファ1
0のブロック#1に格納する。データバッファ10にデー
タが格納されると、アドレスバッファ9のブロック#1の
有効フラグを再びセットし、リクエストを出した端末装
置#1に2000〜200F番地の16バイトのデータを送る。
イトのメモリリード要求が出力されると、上記と同様に
アドレスバッファ9のブロック#1の内容がバッファ制御
回路11と比較器13に出力される。この時、有効フラ
グとリードフラグがセットされて1000番地のアドレスが
登録されており、データバッファ10のブロック#1には
1010番地からの16バイトのデータが端末装置へは送られ
ずに残ったままである。即ち、1000〜100F番地が端末装
置#1に送られ、1010〜101F番地は残った状態である。バ
ッファ制御回路11は、登録されているアドレスと端末
装置#1からのメモリアドレスが一致しないので、この有
効フラグをリセットし、メモリリクエスト制御回路12
にデータリード要求を出力し、メモリ8から2000〜201F
番地の32バイトのデータを読み出し、データバッファ1
0のブロック#1に格納する。データバッファ10にデー
タが格納されると、アドレスバッファ9のブロック#1の
有効フラグを再びセットし、リクエストを出した端末装
置#1に2000〜200F番地の16バイトのデータを送る。
【0006】上記状態でさらに、端末装置#1から1010番
地の16バイトメモリリード要求が出力された場合、アド
レスバッファ9のブロック#1には、有効フラグとリード
フラグがセットされて2000番地のアドレスが登録されて
おり、最初の1000番地の32バイトのリードデータは既
に有効フラグがリセットされ無効となっている。そのた
め、バッファ制御回路11は、この2000番地の有効フラ
グをリセットし、メモリリクエスト制御回路12にデー
タリード要求を出力して、メモリ8から再び1000〜101F
番地の32バイトのデータをリードする。メモリ8からリ
ードデータが送られると、データバッファ10のブロッ
ク#1に上記の32バイトのデータを格納し、アドレスバッ
ファ9のブロック#1の有効フラグを再びセットして、リ
クエストを出した端末装置#1に1010〜101F番地の16バイ
トのデータを送る。
地の16バイトメモリリード要求が出力された場合、アド
レスバッファ9のブロック#1には、有効フラグとリード
フラグがセットされて2000番地のアドレスが登録されて
おり、最初の1000番地の32バイトのリードデータは既
に有効フラグがリセットされ無効となっている。そのた
め、バッファ制御回路11は、この2000番地の有効フラ
グをリセットし、メモリリクエスト制御回路12にデー
タリード要求を出力して、メモリ8から再び1000〜101F
番地の32バイトのデータをリードする。メモリ8からリ
ードデータが送られると、データバッファ10のブロッ
ク#1に上記の32バイトのデータを格納し、アドレスバッ
ファ9のブロック#1の有効フラグを再びセットして、リ
クエストを出した端末装置#1に1010〜101F番地の16バイ
トのデータを送る。
【0007】
【発明が解決しようとする課題】従来のデータ入出力処
理装置のバッファ構成では、各端末装置毎に、メモリ上
のある連続した領域のデータを保持するデータバッファ
のブロックが一つづつ割り当てられている。また、転送
レートの高い端末装置には大きな容量の、転送レートの
低い端末装置には別の小さな容量のブロックを割り当て
て、バッファの効果を出そうとする方式も考えられる
が、この場合でも、各端末装置にはある連続したメモリ
領域の一つのバッファブロックしか割り当てられていな
いのが普通である。
理装置のバッファ構成では、各端末装置毎に、メモリ上
のある連続した領域のデータを保持するデータバッファ
のブロックが一つづつ割り当てられている。また、転送
レートの高い端末装置には大きな容量の、転送レートの
低い端末装置には別の小さな容量のブロックを割り当て
て、バッファの効果を出そうとする方式も考えられる
が、この場合でも、各端末装置にはある連続したメモリ
領域の一つのバッファブロックしか割り当てられていな
いのが普通である。
【0008】通常、データ入出力処理装置に接続される
端末装置としては、ディスク装置や磁気テープ装置など
があるが、これらは一度にメモリアドレスの連続した大
きなデータをブロック転送するので、割り当てられてい
るバッファブロックが一つの場合でもバッファの効果は
期待でき、従来のバッファ構成でも全く問題はない。し
かしながら、例えば、データベース処理装置のようなH/
Wが端末装置として接続される場合には、一度に一つの
連続したデータを転送するとは限らず、2つ以上の異な
ったメモリ領域の連続したデータをオーバーラップして
ブロック転送する場合が多い。そのため、データ入出力
処理装置側から見ると、その端末装置からの各転送ブロ
ックのアドレスは必ずしも連続しておらず、上記のよう
に、同じ端末装置から異なったメモリ領域のアクセスが
交互にあるいはランダムに行われる場合には、一度デー
タバッファに格納したメモリのデータは無駄になり、バ
ッファの効果が無くなってしまう。さらに、バッファ制
御のオーバーヘッドの分、バッファ制御をしないときよ
りもデータ転送の性能が落ちてしまうという問題があっ
た。
端末装置としては、ディスク装置や磁気テープ装置など
があるが、これらは一度にメモリアドレスの連続した大
きなデータをブロック転送するので、割り当てられてい
るバッファブロックが一つの場合でもバッファの効果は
期待でき、従来のバッファ構成でも全く問題はない。し
かしながら、例えば、データベース処理装置のようなH/
Wが端末装置として接続される場合には、一度に一つの
連続したデータを転送するとは限らず、2つ以上の異な
ったメモリ領域の連続したデータをオーバーラップして
ブロック転送する場合が多い。そのため、データ入出力
処理装置側から見ると、その端末装置からの各転送ブロ
ックのアドレスは必ずしも連続しておらず、上記のよう
に、同じ端末装置から異なったメモリ領域のアクセスが
交互にあるいはランダムに行われる場合には、一度デー
タバッファに格納したメモリのデータは無駄になり、バ
ッファの効果が無くなってしまう。さらに、バッファ制
御のオーバーヘッドの分、バッファ制御をしないときよ
りもデータ転送の性能が落ちてしまうという問題があっ
た。
【0009】また、一つの端末装置には一つのバッファ
ブロックしか割り当てられていないため、そのバッファ
ブロックに障害が発生した場合は、他に使われていない
バッファブロックがあっても、そのバッファブロックに
接続されている端末装置はデータ転送ができなくなって
しまうという問題点もあった。
ブロックしか割り当てられていないため、そのバッファ
ブロックに障害が発生した場合は、他に使われていない
バッファブロックがあっても、そのバッファブロックに
接続されている端末装置はデータ転送ができなくなって
しまうという問題点もあった。
【0010】本発明によるデータ入出力処理装置は上記
の問題を解決するためになされたもので、メモリと複数
の端末装置との間で異なるメモリ領域のデータがブロッ
ク転送される場合でもバッファとしての機能を保持でき
るデータ入出力処理装置を得ることを目的としている。
の問題を解決するためになされたもので、メモリと複数
の端末装置との間で異なるメモリ領域のデータがブロッ
ク転送される場合でもバッファとしての機能を保持でき
るデータ入出力処理装置を得ることを目的としている。
【0011】また、エラーが発生したバッファブロック
はその後使用することができないようにして、エラーが
発生した場合でも他のバッファブロックを使用すること
によりデータ転送を続けることのできる、データ入出力
処理装置を得ることを目的としている。
はその後使用することができないようにして、エラーが
発生した場合でも他のバッファブロックを使用すること
によりデータ転送を続けることのできる、データ入出力
処理装置を得ることを目的としている。
【0012】
【課題を解決するための手段】この発明に係るデータ入
出力処理装置は、メモリに対してリードライトするデー
タを格納する複数のデータブロックから構成されるデー
タバッファ、それらのデータブロックに格納されるデー
タの上記メモリ上のメモリアドレスを格納し上記データ
ブロックに対応する複数のアドレスブロックから構成さ
れるアドレスバッファ、端末装置からリード要求があっ
たときは上記連続する複数のアドレスブロックに格納さ
れたメモリアドレスを同時に読み出し上記端末装置から
入力されたメモリアドレスと一致したときは対応するデ
ータブロックに格納されたデータを読み出し、ライト要
求があったときは個々のアドレスブロックにメモリアド
レスを登録し対応するデータブロックにライト要求があ
ったデータを格納するバッファ制御回路を備えたもので
ある。
出力処理装置は、メモリに対してリードライトするデー
タを格納する複数のデータブロックから構成されるデー
タバッファ、それらのデータブロックに格納されるデー
タの上記メモリ上のメモリアドレスを格納し上記データ
ブロックに対応する複数のアドレスブロックから構成さ
れるアドレスバッファ、端末装置からリード要求があっ
たときは上記連続する複数のアドレスブロックに格納さ
れたメモリアドレスを同時に読み出し上記端末装置から
入力されたメモリアドレスと一致したときは対応するデ
ータブロックに格納されたデータを読み出し、ライト要
求があったときは個々のアドレスブロックにメモリアド
レスを登録し対応するデータブロックにライト要求があ
ったデータを格納するバッファ制御回路を備えたもので
ある。
【0013】また、同時に読み出し可能な上記アドレス
ブロックの個数が各端末ごとに予め設定されているもの
である。
ブロックの個数が各端末ごとに予め設定されているもの
である。
【0014】さらに、同時に読み出し可能な上記アドレ
スブロックの個数の各端末ごとの設定を変更できるもの
である。
スブロックの個数の各端末ごとの設定を変更できるもの
である。
【0015】また、メモリに対してリードライトするデ
ータを格納する複数のデータブロックから構成されるデ
ータバッファ、それらのデータブロックに格納されるデ
ータの上記メモリ上のメモリアドレスおよび上記データ
ブロックを指定するブロック番号を格納する複数の段か
ら構成されるアドレスバッファ、端末装置からリード要
求またはライト要求があったときはその対象となるデー
タが格納される上記データブロックのブロック番号およ
びメモリアドレスを上記アドレスバッファに格納しその
ブロック番号の段から次段以降に格納されているデータ
を順次シフトしそのブロック番号と同一のブロック番号
に到達したとき以降の段にはシフトしないバッファ制御
回路を備えたものである。
ータを格納する複数のデータブロックから構成されるデ
ータバッファ、それらのデータブロックに格納されるデ
ータの上記メモリ上のメモリアドレスおよび上記データ
ブロックを指定するブロック番号を格納する複数の段か
ら構成されるアドレスバッファ、端末装置からリード要
求またはライト要求があったときはその対象となるデー
タが格納される上記データブロックのブロック番号およ
びメモリアドレスを上記アドレスバッファに格納しその
ブロック番号の段から次段以降に格納されているデータ
を順次シフトしそのブロック番号と同一のブロック番号
に到達したとき以降の段にはシフトしないバッファ制御
回路を備えたものである。
【0016】さらにまた、上記アドレスバッファの使用
可能な段を各端末装置ごとに設定したものである。
可能な段を各端末装置ごとに設定したものである。
【0017】また、上記アドレスバッファの使用可能な
段数を予め設定した段数に制限したものである。
段数を予め設定した段数に制限したものである。
【0018】さらに、上記アドレスバッファの使用可能
な段数を各端末装置ごとに設定変更可能にしたものであ
る。
な段数を各端末装置ごとに設定変更可能にしたものであ
る。
【0019】また、上記データブロックにエラーが発生
したとき上記バッファ制御回路にエラー信号を出力する
エラーチェック回路を備え、エラーが発生した上記デー
タブロックを使用不可としたものである。
したとき上記バッファ制御回路にエラー信号を出力する
エラーチェック回路を備え、エラーが発生した上記デー
タブロックを使用不可としたものである。
【0020】
実施の形態1.以下、この発明の一実施例を図について
説明する。図1において、1はデータ入力処理装置全体
を示し、2〜3はこのデータ入出力装置1に接続される
端末装置#0と#1であり、6は入出力処理装置1と各端末
装置2〜3間で転送するアドレス/データバス、7は各
端末装置2〜3から転送要求を送出するリクエストバ
ス、8はデータ入出力処理装置1に接続されるメモリ、
9は端末装置2〜3からのメモリアドレス等の情報を格
納するアドレスバッファであり、バッファブロックとし
てのアドレスブロック#0と#1あるいはアドレスブロック
#2と#3の2つのブロックの情報が同時に読み出せる構成
になっている。10は各端末装置2〜5とメモリ8との
間の転送データを格納するデータバッファであり、バッ
ファブロックとしてのデータブロック#0、#1、#2、#3か
ら構成されている。11はアドレスバッファ9やデータ
バッファ10の読み書きの制御及びメモリとのデータ転
送を司るバッファ制御回路、12はバッファ制御回路1
1からの指示でメモリ8に転送要求を出力するメモリリ
クエスト制御回路、13と14は端末装置2〜3から送
られたメモリアドレスとアドレスバッファ9内に格納さ
れているメモリアドレスを比較する比較器であり、比較
器13はアドレスバッファ9のアドレスブロック#0と#1
に、比較器14は同ブロック#2と#3に対応している。1
5は端末装置2〜3から送られた転送要求のリクエスト
番号により、予め設定されたバッファアドレスとしての
バッファブロック番号をバッファ制御回路11へ送るバ
ッファアドレス生成回路である。アドレスバッファ9内
の各ブロックのビット割り付けは、図13と同様であ
る。
説明する。図1において、1はデータ入力処理装置全体
を示し、2〜3はこのデータ入出力装置1に接続される
端末装置#0と#1であり、6は入出力処理装置1と各端末
装置2〜3間で転送するアドレス/データバス、7は各
端末装置2〜3から転送要求を送出するリクエストバ
ス、8はデータ入出力処理装置1に接続されるメモリ、
9は端末装置2〜3からのメモリアドレス等の情報を格
納するアドレスバッファであり、バッファブロックとし
てのアドレスブロック#0と#1あるいはアドレスブロック
#2と#3の2つのブロックの情報が同時に読み出せる構成
になっている。10は各端末装置2〜5とメモリ8との
間の転送データを格納するデータバッファであり、バッ
ファブロックとしてのデータブロック#0、#1、#2、#3か
ら構成されている。11はアドレスバッファ9やデータ
バッファ10の読み書きの制御及びメモリとのデータ転
送を司るバッファ制御回路、12はバッファ制御回路1
1からの指示でメモリ8に転送要求を出力するメモリリ
クエスト制御回路、13と14は端末装置2〜3から送
られたメモリアドレスとアドレスバッファ9内に格納さ
れているメモリアドレスを比較する比較器であり、比較
器13はアドレスバッファ9のアドレスブロック#0と#1
に、比較器14は同ブロック#2と#3に対応している。1
5は端末装置2〜3から送られた転送要求のリクエスト
番号により、予め設定されたバッファアドレスとしての
バッファブロック番号をバッファ制御回路11へ送るバ
ッファアドレス生成回路である。アドレスバッファ9内
の各ブロックのビット割り付けは、図13と同様であ
る。
【0021】ここで、端末装置#0にはアドレスバッファ
9及びデータバッファ10のそれぞれのバッファブロッ
ク#0〜#1、端末装置#1には同ブロック#2〜#3があらかじ
め割り当てられているものとする。この時、バッファア
ドレス生成回路15は、端末装置#0からの転送要求に対
してはバッファブロック番号0を生成してアドレスバッ
ファ9のバッファブロック#0と#1を読み出し、端末装置
#1からの転送要求に対してはバッファブロック番号2を
生成してアドレスバッファ9のバッファブロック#2と#3
を読み出すように作用する。
9及びデータバッファ10のそれぞれのバッファブロッ
ク#0〜#1、端末装置#1には同ブロック#2〜#3があらかじ
め割り当てられているものとする。この時、バッファア
ドレス生成回路15は、端末装置#0からの転送要求に対
してはバッファブロック番号0を生成してアドレスバッ
ファ9のバッファブロック#0と#1を読み出し、端末装置
#1からの転送要求に対してはバッファブロック番号2を
生成してアドレスバッファ9のバッファブロック#2と#3
を読み出すように作用する。
【0022】次に、端末装置#1から1000番地と2000番地
の異なった2つのメモリ領域に対するリードが行われる
場合の動作について説明する。アドレスバッファ9内の
各ブロックの有効フラグ、リードフラグ、ライトフラグ
は初期状態ではリセットされているものとする。端末装
置#1から1000番地の16 バイトのメモリリード要求が出
力されると、バッファアドレス生成回路15はそのリク
エスト番号によりあらかじめ決められたバッファブロッ
ク番号2を出力し、アドレスバッファ9のアドレスブロ
ック#2と#3の内容がバッファ制御回路11と比較器13
及び14に出力される。ここで、アドレスブロック#2と
#3に登録されているフラグがバッファ制御回路11でチ
ェックされ、メモリアドレスが、端末装置#1からのメモ
リアドレスと比較される。初期状態ではどちらのブロッ
クにも何も登録されていないので、バッファ制御回路1
1は、アドレスブロック#2にメモリアドレスを登録し、
リードフラグをセットする。同時に、バッファ制御回路
11はメモリリクエスト制御回路12にデータリード要
求を出力し、メモリ8から1000〜101F番地の32バイトの
データをリードする。メモリ8からリードデータが送ら
れると、そのリクエストに該当するデータバッファ10
のデータブロック#2に上記の 32バイトのデータを格納
する。データが格納されると、アドレスブロック#2の有
効フラグがセットされ、メモリリード要求を出した端末
装置#1に 1000〜100F番地の16バイトのデータが送られ
る。
の異なった2つのメモリ領域に対するリードが行われる
場合の動作について説明する。アドレスバッファ9内の
各ブロックの有効フラグ、リードフラグ、ライトフラグ
は初期状態ではリセットされているものとする。端末装
置#1から1000番地の16 バイトのメモリリード要求が出
力されると、バッファアドレス生成回路15はそのリク
エスト番号によりあらかじめ決められたバッファブロッ
ク番号2を出力し、アドレスバッファ9のアドレスブロ
ック#2と#3の内容がバッファ制御回路11と比較器13
及び14に出力される。ここで、アドレスブロック#2と
#3に登録されているフラグがバッファ制御回路11でチ
ェックされ、メモリアドレスが、端末装置#1からのメモ
リアドレスと比較される。初期状態ではどちらのブロッ
クにも何も登録されていないので、バッファ制御回路1
1は、アドレスブロック#2にメモリアドレスを登録し、
リードフラグをセットする。同時に、バッファ制御回路
11はメモリリクエスト制御回路12にデータリード要
求を出力し、メモリ8から1000〜101F番地の32バイトの
データをリードする。メモリ8からリードデータが送ら
れると、そのリクエストに該当するデータバッファ10
のデータブロック#2に上記の 32バイトのデータを格納
する。データが格納されると、アドレスブロック#2の有
効フラグがセットされ、メモリリード要求を出した端末
装置#1に 1000〜100F番地の16バイトのデータが送られ
る。
【0023】次に、同じ端末装置#1から2000番地の16バ
イトのメモリリード要求が出力されると、アドレスブロ
ック#2と#3の内容がバッファ制御回路11と比較器13
及び14に出力される。ここで、アドレスブロック#2に
は、先ほどの1000番地のメモリリードのアクセスがすで
に登録されているため、バッファ制御回路11は、デー
タブロック#2の内容を壊さないように、アドレスブロッ
ク#3にメモリアドレスを登録し、リードフラグをセット
する。同時に、バッファ制御回路11はメモリリクエス
ト制御回路12にデータリード要求を出力し、メモリ8
から2000〜201F番地の 32バイトのデータをリードす
る。メモリ8からリードデータが送られると、そのリク
エストに該当するデータブロック#3に上記の32バイトの
データを格納する。データが格納されると、アドレスブ
ロック#3の有効フラグがセットされ、メモリリード要求
を出した端末装置#1に2000〜200F番地の16バイトのデー
タが送られる。
イトのメモリリード要求が出力されると、アドレスブロ
ック#2と#3の内容がバッファ制御回路11と比較器13
及び14に出力される。ここで、アドレスブロック#2に
は、先ほどの1000番地のメモリリードのアクセスがすで
に登録されているため、バッファ制御回路11は、デー
タブロック#2の内容を壊さないように、アドレスブロッ
ク#3にメモリアドレスを登録し、リードフラグをセット
する。同時に、バッファ制御回路11はメモリリクエス
ト制御回路12にデータリード要求を出力し、メモリ8
から2000〜201F番地の 32バイトのデータをリードす
る。メモリ8からリードデータが送られると、そのリク
エストに該当するデータブロック#3に上記の32バイトの
データを格納する。データが格納されると、アドレスブ
ロック#3の有効フラグがセットされ、メモリリード要求
を出した端末装置#1に2000〜200F番地の16バイトのデー
タが送られる。
【0024】この時点で、データブロック#2に保持され
ている1000番地のデータも有効なため、同一の端末装置
からの1000番地と2000番地の異なった2つのメモリ領域
に対するリードデータが同時にバッファリングされたこ
とになる。
ている1000番地のデータも有効なため、同一の端末装置
からの1000番地と2000番地の異なった2つのメモリ領域
に対するリードデータが同時にバッファリングされたこ
とになる。
【0025】ここで、さらに端末装置#1から1010番地の
16バイトメモリリード要求が出力されると、上記と同様
にアドレスブロック#2と#3の内容がバッファ制御回路1
1と比較器13及び14に出力される。バッファ制御回
路11は、アドレスブロック#2の有効フラグとリードフ
ラグがセットされ、かつ登録されているアドレスが端末
装置#1からの要求メモリアドレスと32バイトバウンダリ
で一致しているため、メモリリクエスト制御回路12に
はデータリード要求を出さずに、データブロック#2か
ら、端末装置#1に1010〜101F番地の16バイトのデータを
送る。ここで、データバッファに格納されたデータはす
べて端末装置#1に送られたので、アドレスブロック#2の
有効フラグとリードフラグをリセットする。
16バイトメモリリード要求が出力されると、上記と同様
にアドレスブロック#2と#3の内容がバッファ制御回路1
1と比較器13及び14に出力される。バッファ制御回
路11は、アドレスブロック#2の有効フラグとリードフ
ラグがセットされ、かつ登録されているアドレスが端末
装置#1からの要求メモリアドレスと32バイトバウンダリ
で一致しているため、メモリリクエスト制御回路12に
はデータリード要求を出さずに、データブロック#2か
ら、端末装置#1に1010〜101F番地の16バイトのデータを
送る。ここで、データバッファに格納されたデータはす
べて端末装置#1に送られたので、アドレスブロック#2の
有効フラグとリードフラグをリセットする。
【0026】上記のように、同一の端末装置から異なっ
たメモリ領域のアクセスが交互に行われた場合でも、一
度データバッファに格納したメモリのデータは無駄にな
ることはなく、バッファの効果が得られることになる。
たメモリ領域のアクセスが交互に行われた場合でも、一
度データバッファに格納したメモリのデータは無駄にな
ることはなく、バッファの効果が得られることになる。
【0027】また、上記の状態で、端末装置#1からメモ
リライト要求が出力された場合について説明する。例え
ば、端末装置#1から3000番地の16バイトのメモリライト
要求が出力されると、バッファ制御回路11は、アドレ
スブロック#2と#3のライトフラグをチェックするが、と
もにセットされていないため、アドレスブロック#2にメ
モリアドレスを登録し、有効フラグとライトフラグをセ
ットする。同時に、データブロック#2に端末装置#1から
の3000〜300F番地の16バイトのデータを格納する。
リライト要求が出力された場合について説明する。例え
ば、端末装置#1から3000番地の16バイトのメモリライト
要求が出力されると、バッファ制御回路11は、アドレ
スブロック#2と#3のライトフラグをチェックするが、と
もにセットされていないため、アドレスブロック#2にメ
モリアドレスを登録し、有効フラグとライトフラグをセ
ットする。同時に、データブロック#2に端末装置#1から
の3000〜300F番地の16バイトのデータを格納する。
【0028】次に、同じ端末装置#1から3010番地の16バ
イトのメモリライト要求がくると、バッファ制御回路1
1は、アドレスブロック#2に有効フラグとライトフラグ
がセットされ、かつ登録されているアドレスが端末装置
#1からの要求メモリアドレスと32バイトバウンダリで一
致しているため、データブロック#2に端末装置#1からの
3010〜301F番地の16バイトのデータを格納する。ここ
で、データバッファ10のブロック#2にはは、32バイト
分のライトデータが格納されたため、バッファ制御回路
11はメモリリクエスト制御回路12にデータライト要
求を出力し、メモリ8の3000〜301F番地にバッファ内に
保持されているデータを書き込む。同時に、アドレスブ
ロック#2の有効フラグとライトフラグをリセットする。
イトのメモリライト要求がくると、バッファ制御回路1
1は、アドレスブロック#2に有効フラグとライトフラグ
がセットされ、かつ登録されているアドレスが端末装置
#1からの要求メモリアドレスと32バイトバウンダリで一
致しているため、データブロック#2に端末装置#1からの
3010〜301F番地の16バイトのデータを格納する。ここ
で、データバッファ10のブロック#2にはは、32バイト
分のライトデータが格納されたため、バッファ制御回路
11はメモリリクエスト制御回路12にデータライト要
求を出力し、メモリ8の3000〜301F番地にバッファ内に
保持されているデータを書き込む。同時に、アドレスブ
ロック#2の有効フラグとライトフラグをリセットする。
【0029】上記のように、同一の端末装置からの異な
った2つのメモリ領域に対するリードデータとライトデ
ータが、同時にバッファリングされるため、メモリリー
ドやメモリライトがそれぞれ連続して行われた場合のみ
ならず、リードアクセスとライトアクセスが混在して行
われた場合でも、以前のリードデータを無駄にすること
なく、バッファリングすることができる。
った2つのメモリ領域に対するリードデータとライトデ
ータが、同時にバッファリングされるため、メモリリー
ドやメモリライトがそれぞれ連続して行われた場合のみ
ならず、リードアクセスとライトアクセスが混在して行
われた場合でも、以前のリードデータを無駄にすること
なく、バッファリングすることができる。
【0030】実施の形態2.実施の形態1では、端末装
置#0と端末装置#1にそれぞれ2つずつのバッファブロッ
クを割り当てたが、本実施の形態2では、バッファブロ
ックの個数の違うバッファをあらかじめ数種類用意して
おき、各端末装置の特性により、それぞれ最適な個数の
バッファを割り当てるように制御する。
置#0と端末装置#1にそれぞれ2つずつのバッファブロッ
クを割り当てたが、本実施の形態2では、バッファブロ
ックの個数の違うバッファをあらかじめ数種類用意して
おき、各端末装置の特性により、それぞれ最適な個数の
バッファを割り当てるように制御する。
【0031】図2において、9は端末装置2〜4からの
メモリアドレス等の情報を格納するアドレスバッファで
あり、ブロック#2とブロック#3は同時に読み出せる構成
になっている。比較器13はアドレスバッファ9のブロ
ック#0、#1、#2に、比較器14は同ブロック#3に対応し
ている。15は端末装置2〜4から送られた転送要求の
リクエスト番号により、予め指定されたアドレスブロッ
クをバッファ制御回路11へ送るバッファアドレス生成
回路である。アドレスバッファ9内の各アドレスブロッ
クのビット割り付けは、図13と同様である。
メモリアドレス等の情報を格納するアドレスバッファで
あり、ブロック#2とブロック#3は同時に読み出せる構成
になっている。比較器13はアドレスバッファ9のブロ
ック#0、#1、#2に、比較器14は同ブロック#3に対応し
ている。15は端末装置2〜4から送られた転送要求の
リクエスト番号により、予め指定されたアドレスブロッ
クをバッファ制御回路11へ送るバッファアドレス生成
回路である。アドレスバッファ9内の各アドレスブロッ
クのビット割り付けは、図13と同様である。
【0032】ここで、端末装置#0と端末装置#1は一度に
アクセスするメモリ領域が1つでも性能の低下がないの
で、アドレスブロック及びデータブロックのそれぞれ#0
と#1を割り当て、端末装置#2は一度に2つ以上のメモリ
領域をアクセスするので、アドレスブロック及びデータ
ブロックの#2、#3を割り当てるものとする。
アクセスするメモリ領域が1つでも性能の低下がないの
で、アドレスブロック及びデータブロックのそれぞれ#0
と#1を割り当て、端末装置#2は一度に2つ以上のメモリ
領域をアクセスするので、アドレスブロック及びデータ
ブロックの#2、#3を割り当てるものとする。
【0033】この時、バッファアドレス生成回路15
は、端末装置#0からのアクセスの場合にはバッファブロ
ック番号0を生成してアドレスブロック#0を読み出すよ
うに作用し、端末装置#1からのアクセスの場合にはバッ
ファブロック番号1を生成してアドレスブロック#1を読
み出すように作用する。
は、端末装置#0からのアクセスの場合にはバッファブロ
ック番号0を生成してアドレスブロック#0を読み出すよ
うに作用し、端末装置#1からのアクセスの場合にはバッ
ファブロック番号1を生成してアドレスブロック#1を読
み出すように作用する。
【0034】また、端末装置#2からのアクセスでは、バ
ッファアドレス生成回路15は、バッファブロック番号
2を生成してアドレスバッファ9のバッファブロック#2
と#3を同時に読み出すように作用する。この時の動作
は、実施の形態1と同様である。
ッファアドレス生成回路15は、バッファブロック番号
2を生成してアドレスバッファ9のバッファブロック#2
と#3を同時に読み出すように作用する。この時の動作
は、実施の形態1と同様である。
【0035】上記のように、バッファブロックの個数を
あまり必要としない端末装置には少ない個数を、バッフ
ァブロックを多数必要とする端末装置にはそれに見合っ
た個数をあらかじめ設定することにより、限られたバッ
ファブロックを有効に活用しつつ、バッファリングの効
率を上げることができる。
あまり必要としない端末装置には少ない個数を、バッフ
ァブロックを多数必要とする端末装置にはそれに見合っ
た個数をあらかじめ設定することにより、限られたバッ
ファブロックを有効に活用しつつ、バッファリングの効
率を上げることができる。
【0036】実施の形態3.通常、データ入出力処理装
置に接続される各端末装置には、接続されるポートによ
って、端末装置が使用するリクエスト番号が一義的に決
められており、メモリとのデータ転送時にどの端末装置
からの転送要求であるかは、そのリクエスト番号により
制御される。実施の形態2では、それぞれの端末装置に
割り当てるバッファブロックの個数があらかじめ決めら
れており、各端末装置のリクエスト番号に割り当てられ
たバッファの個数をあとから変更することはできなかっ
た。本実施の形態3では、各端末装置からのリクエスト
番号に割り当てるバッファアドレスを変更することによ
って、接続される端末装置の特性が変わった場合でも、
割り当てるバッファブロックの個数を設定し直すことが
できるように制御する。
置に接続される各端末装置には、接続されるポートによ
って、端末装置が使用するリクエスト番号が一義的に決
められており、メモリとのデータ転送時にどの端末装置
からの転送要求であるかは、そのリクエスト番号により
制御される。実施の形態2では、それぞれの端末装置に
割り当てるバッファブロックの個数があらかじめ決めら
れており、各端末装置のリクエスト番号に割り当てられ
たバッファの個数をあとから変更することはできなかっ
た。本実施の形態3では、各端末装置からのリクエスト
番号に割り当てるバッファアドレスを変更することによ
って、接続される端末装置の特性が変わった場合でも、
割り当てるバッファブロックの個数を設定し直すことが
できるように制御する。
【0037】図3において、16は接続される各端末装
置毎のバッファアドレスを保持するレジスタファイルで
あり、17はレジスタファイル16から出力されるバッ
ファアドレスを、転送要求を出した端末装置のリクエス
ト番号により選択して、バッファ制御回路11に出力す
るセレクタ、18はレジスタファイル16内の各レジス
タの内容を外部から設定するためのレジスタ設定パスで
ある。
置毎のバッファアドレスを保持するレジスタファイルで
あり、17はレジスタファイル16から出力されるバッ
ファアドレスを、転送要求を出した端末装置のリクエス
ト番号により選択して、バッファ制御回路11に出力す
るセレクタ、18はレジスタファイル16内の各レジス
タの内容を外部から設定するためのレジスタ設定パスで
ある。
【0038】次に、端末装置#0にアドレスバッファ9及
びデータバッファ10のバッファブロック#2と#3を、端
末装置#1に同#0を、端末装置#2に同#1を割り付ける場合
の動作について説明する。まず、システムの初期化時
に、レジスタファイル16のレジスタ#0にはバッファブ
ロック番号2を、同レジスタ#1にはバッファブロック番
号0を、同レジスタ#2にはバッファブロック番号1を、レ
ジスタ設定パス18を用いて設定する。セレクタ17
は、転送要求を出力した端末装置のリクエスト番号か
ら、レジスタファイル16内の端末装置の番号と同じレ
ジスタ番号を持つレジスタの内容を選択して、バッファ
制御回路11へ出力するように作用する。
びデータバッファ10のバッファブロック#2と#3を、端
末装置#1に同#0を、端末装置#2に同#1を割り付ける場合
の動作について説明する。まず、システムの初期化時
に、レジスタファイル16のレジスタ#0にはバッファブ
ロック番号2を、同レジスタ#1にはバッファブロック番
号0を、同レジスタ#2にはバッファブロック番号1を、レ
ジスタ設定パス18を用いて設定する。セレクタ17
は、転送要求を出力した端末装置のリクエスト番号か
ら、レジスタファイル16内の端末装置の番号と同じレ
ジスタ番号を持つレジスタの内容を選択して、バッファ
制御回路11へ出力するように作用する。
【0039】端末装置#0から転送要求が出力されると、
セレクタ17は、入力されたリクエスト番号からレジス
タファイル16内のレジスタ#0を選択し、レジスタ#0に
設定されているバッファブロック番号2をバッファ制御
回路11に出力する。これにより、アドレスブロック#2
と#3の内容がバッファ制御回路11と比較器13及び1
4に出力される。このあとの動作は、実施の形態1と同
様である。
セレクタ17は、入力されたリクエスト番号からレジス
タファイル16内のレジスタ#0を選択し、レジスタ#0に
設定されているバッファブロック番号2をバッファ制御
回路11に出力する。これにより、アドレスブロック#2
と#3の内容がバッファ制御回路11と比較器13及び1
4に出力される。このあとの動作は、実施の形態1と同
様である。
【0040】同様にして、セレクタ17の作用により、
端末装置#1の転送要求に対してはレジスタファイル16
内のレジスタ#1に設定されているバッファブロック番号
0を、端末装置#2の転送要求に対してはレジスタファイ
ル16内のレジスタ#2に設定されているバッファブロッ
ク番号1を出力する。
端末装置#1の転送要求に対してはレジスタファイル16
内のレジスタ#1に設定されているバッファブロック番号
0を、端末装置#2の転送要求に対してはレジスタファイ
ル16内のレジスタ#2に設定されているバッファブロッ
ク番号1を出力する。
【0041】ここで、レジスタファイル16内の各レジ
スタの内容をレジスタ設定パス18から変更することに
より、各端末装置のバッファの割り付けを自由に変更す
ることができ、結果的に各端末装置が使用するバッファ
ブロックの個数を変更することができる。
スタの内容をレジスタ設定パス18から変更することに
より、各端末装置のバッファの割り付けを自由に変更す
ることができ、結果的に各端末装置が使用するバッファ
ブロックの個数を変更することができる。
【0042】上記のように、各端末装置が使用するバッ
ファの個数は、あらかじめ設定されたいくつかのバッフ
ァブロックの個数のなかから選択することができるた
め、端末装置を接続する場合にどの端末装置をどのポー
トに接続すべきかを考慮する必要がなく、また、接続さ
れる端末装置が追加された場合や、あとから変更された
場合でも、レジスタの内容を変更することにより、全体
として最も効率が良くなるようにバッファの個数を割り
当て直すことができる。
ファの個数は、あらかじめ設定されたいくつかのバッフ
ァブロックの個数のなかから選択することができるた
め、端末装置を接続する場合にどの端末装置をどのポー
トに接続すべきかを考慮する必要がなく、また、接続さ
れる端末装置が追加された場合や、あとから変更された
場合でも、レジスタの内容を変更することにより、全体
として最も効率が良くなるようにバッファの個数を割り
当て直すことができる。
【0043】実施の形態4.実施の形態1〜3では、各
端末装置にそれぞれ何らかの方法で使用するバッファブ
ロックの個数を割り当てていたが、本実施例では、各端
末装置が使用するバッファブロック数の割り当ては行わ
ずに、それぞれの端末装置にその転送の特徴に応じた個
数のバッファブロックが自動的に割り当てられるように
制御する。
端末装置にそれぞれ何らかの方法で使用するバッファブ
ロックの個数を割り当てていたが、本実施例では、各端
末装置が使用するバッファブロック数の割り当ては行わ
ずに、それぞれの端末装置にその転送の特徴に応じた個
数のバッファブロックが自動的に割り当てられるように
制御する。
【0044】図4において、19〜22は有効フラグ等
の各種フラグやメモリアドレス、及びデータバッファの
バッファブロック番号を保持するアドレスバッファ、2
3〜26はそれぞれ、アドレスバッファ19〜22が保
持しているメモリアドレスと各端末装置から出力された
メモリアドレスを比較する比較器、27〜30はそれぞ
れ、アドレスバッファ19〜22が保持しているバッフ
ァブロック番号とバッファ制御回路11から出力された
バッファブロック番号を比較する比較器である。図5
は、本実施例における各アドレスバッファのビット割り
付けを示す図である。
の各種フラグやメモリアドレス、及びデータバッファの
バッファブロック番号を保持するアドレスバッファ、2
3〜26はそれぞれ、アドレスバッファ19〜22が保
持しているメモリアドレスと各端末装置から出力された
メモリアドレスを比較する比較器、27〜30はそれぞ
れ、アドレスバッファ19〜22が保持しているバッフ
ァブロック番号とバッファ制御回路11から出力された
バッファブロック番号を比較する比較器である。図5
は、本実施例における各アドレスバッファのビット割り
付けを示す図である。
【0045】次に、動作について説明する。システムの
初期化時には、アドレスバッファ19〜22の各バッフ
ァブロック番号フィールドには、それぞれ0〜3のバッフ
ァブロック番号を設定しておく。また、有効フラグ、リ
ードフラグ、及びライトフラグはリセットしておく。こ
こで、アドレスバッファ19〜22はシフトレジスタと
して構成されており、アドレスバッファ19に新たな値
がセットされると、アドレスバッファ19の前の内容は
アドレスバッファ20へ、アドレスバッファ20の内容
はアドレスバッファ21へ、また、アドレスバッファ2
1の内容はアドレスバッファ22へとシフトされる。比
較器27〜30の出力は、バッファ制御回路11から出
力されるリードライトの対象となるバッファブロック番
号と同一のバッファブロック番号を持つアドレスバッフ
ァの次段以降へのシフト動作を抑止し、次段以降のアド
レスバッファの内容は変更しないように作用する。これ
により、アドレスバッファのバッファブロック番号フィ
ールドには、常に0〜3のバッファブロック番号がすべて
存在し、しかも重複しないように制御される。
初期化時には、アドレスバッファ19〜22の各バッフ
ァブロック番号フィールドには、それぞれ0〜3のバッフ
ァブロック番号を設定しておく。また、有効フラグ、リ
ードフラグ、及びライトフラグはリセットしておく。こ
こで、アドレスバッファ19〜22はシフトレジスタと
して構成されており、アドレスバッファ19に新たな値
がセットされると、アドレスバッファ19の前の内容は
アドレスバッファ20へ、アドレスバッファ20の内容
はアドレスバッファ21へ、また、アドレスバッファ2
1の内容はアドレスバッファ22へとシフトされる。比
較器27〜30の出力は、バッファ制御回路11から出
力されるリードライトの対象となるバッファブロック番
号と同一のバッファブロック番号を持つアドレスバッフ
ァの次段以降へのシフト動作を抑止し、次段以降のアド
レスバッファの内容は変更しないように作用する。これ
により、アドレスバッファのバッファブロック番号フィ
ールドには、常に0〜3のバッファブロック番号がすべて
存在し、しかも重複しないように制御される。
【0046】一例として、端末装置#0から1000番地の8
バイトのメモリリード要求が出力されたとすると、各バ
ッファブロックに対応したすべてのアドレスバッファ内
の有効フラグとリードフラグがバッファ制御回路11で
チェックされる。初期状態ではアドレスバッファ19〜
22の各バッファブロック番号フィールドには、それぞ
れ0〜3のバッファブロック番号が設定されており、どの
ブロックも何も登録されていないので、リード対象のア
ドレスバッファがないとしてバッファ制御回路11は、
シフトレジスタ最終段のアドレスバッファ22に設定さ
れているバッファブロック番号3を取り込んで、その番
号をアドレスバッファ19のバッファブロック番号フィ
ールドにセットする。同時にメモリアドレスを登録し、
リードフラグをセットする。アドレスバッファ19に値
がセットされると、アドレスバッファ20にはアドレス
バッファ19の元の内容がそのままシフトされる。同様
にして、アドレスバッファ21と、最後のアドレスバッ
ファ22に値がシフトされる。この時、アドレスバッフ
ァ19〜22に保持されているバッファブロック番号は
それぞれ3、0、1、2となっている。
バイトのメモリリード要求が出力されたとすると、各バ
ッファブロックに対応したすべてのアドレスバッファ内
の有効フラグとリードフラグがバッファ制御回路11で
チェックされる。初期状態ではアドレスバッファ19〜
22の各バッファブロック番号フィールドには、それぞ
れ0〜3のバッファブロック番号が設定されており、どの
ブロックも何も登録されていないので、リード対象のア
ドレスバッファがないとしてバッファ制御回路11は、
シフトレジスタ最終段のアドレスバッファ22に設定さ
れているバッファブロック番号3を取り込んで、その番
号をアドレスバッファ19のバッファブロック番号フィ
ールドにセットする。同時にメモリアドレスを登録し、
リードフラグをセットする。アドレスバッファ19に値
がセットされると、アドレスバッファ20にはアドレス
バッファ19の元の内容がそのままシフトされる。同様
にして、アドレスバッファ21と、最後のアドレスバッ
ファ22に値がシフトされる。この時、アドレスバッフ
ァ19〜22に保持されているバッファブロック番号は
それぞれ3、0、1、2となっている。
【0047】その後、バッファ制御回路11はメモリリ
クエスト制御回路12にデータリード要求を出力し、メ
モリから1000〜101F番地の32バイトのデータをリードす
る。メモリ8からリードデータが送られると、バッファ
制御回路11は取り込んだバッファブロック番号のデー
タバッファブロック#3に上記の32バイトのデータを格納
する。データバッファにリードデータが格納されると、
アドレスバッファ19の有効フラグをセットし、リクエ
ストを出した端末装置#0に1000〜1007番地の8バイトの
データを送出する。
クエスト制御回路12にデータリード要求を出力し、メ
モリから1000〜101F番地の32バイトのデータをリードす
る。メモリ8からリードデータが送られると、バッファ
制御回路11は取り込んだバッファブロック番号のデー
タバッファブロック#3に上記の32バイトのデータを格納
する。データバッファにリードデータが格納されると、
アドレスバッファ19の有効フラグをセットし、リクエ
ストを出した端末装置#0に1000〜1007番地の8バイトの
データを送出する。
【0048】次に、端末装置#0から2000番地の16バイト
メモリリード要求が出力されると、各アドレスバッファ
内の有効フラグとリードフラグが、バッファ制御回路1
1でチェックされる。アドレスバッファ19に有効フラ
グとリードフラグがセットされているが、登録されてい
るアドレスが異なるため、バッファ制御回路11は、有
効フラグが立っていないアドレスバッファの中の最終段
のアドレスバッファ22に設定されているバッファブロ
ック番号2を取り込んで、その番号をアドレスバッファ
19のバッファブロック番号フィールドにセットする。
同時にメモリアドレスを登録し、リードフラグをセット
する。アドレスバッファ19に値がセットされると同時
に次段へのシフト動作が行われる。その後は、上記と同
様に、メモリから2000〜201F番地の32バイトのデータを
リードし、端末装置#0に2000〜200F番地の16バイトのデ
ータを送出する。
メモリリード要求が出力されると、各アドレスバッファ
内の有効フラグとリードフラグが、バッファ制御回路1
1でチェックされる。アドレスバッファ19に有効フラ
グとリードフラグがセットされているが、登録されてい
るアドレスが異なるため、バッファ制御回路11は、有
効フラグが立っていないアドレスバッファの中の最終段
のアドレスバッファ22に設定されているバッファブロ
ック番号2を取り込んで、その番号をアドレスバッファ
19のバッファブロック番号フィールドにセットする。
同時にメモリアドレスを登録し、リードフラグをセット
する。アドレスバッファ19に値がセットされると同時
に次段へのシフト動作が行われる。その後は、上記と同
様に、メモリから2000〜201F番地の32バイトのデータを
リードし、端末装置#0に2000〜200F番地の16バイトのデ
ータを送出する。
【0049】この状態では、1000番地のメモリリードが
アドレスバッファ20に、2000番地のメモリリードがア
ドレスバッファ19に登録され、同一の端末装置からの
異なった2つのメモリ領域に対するリードデータが同時
にバッファリングされたことになる。また、上記の動作
が繰り返されることによって、同一の端末装置から、バ
ッファブロック数の許す限り複数のメモリ領域のデータ
を同時にバッファリングすることができる。また、異な
った端末装置からの転送要求に対しても、上記と全く同
様に制御され、複数のメモリ領域のデータをバッファリ
ングすることができる。
アドレスバッファ20に、2000番地のメモリリードがア
ドレスバッファ19に登録され、同一の端末装置からの
異なった2つのメモリ領域に対するリードデータが同時
にバッファリングされたことになる。また、上記の動作
が繰り返されることによって、同一の端末装置から、バ
ッファブロック数の許す限り複数のメモリ領域のデータ
を同時にバッファリングすることができる。また、異な
った端末装置からの転送要求に対しても、上記と全く同
様に制御され、複数のメモリ領域のデータをバッファリ
ングすることができる。
【0050】次にまた、端末装置#0から1008番地の8バ
イトメモリリード要求が来た場合、アドレスバッファ2
0には有効フラグとリードフラグがセットされており、
登録されているメモリアドレスが32バイトバウンダリで
一致する。アドレスバッファ20にはバッファブロック
番号3が保持されているので、バッファ制御回路11
は、データバッファのブロック#3から端末装置#0に1008
〜100F番地の8バイトのデータを送出する。この時、バ
ッファ制御回路11は、使用したバッファブロック番号
3をアドレスバッファ19のバッファブロック番号フィ
ールドにセットするとともに、メモリアドレスを登録す
る。ここで、データバッファのブロック#3には1010〜10
1F番地の16バイトのデータが読み出されずに残っている
ので、有効フラグ、リードフラグもセットしておく。同
時に次段へのシフトが行われ、アドレスバッファ19の
元の内容がアドレスバッファ20に格納される。アドレ
スバッファ20ではバッファブロック番号が一致するた
め、次段以降のアドレスバッファ21、22へのシフト
動作は抑止され、今までアドレスバッファ20に格納さ
れていたデータは消去される。従って、アドレスバッフ
ァ21、22の内容はそのまま変更されずに保持される
ことになる。上記のように、アドレスバッファのバッフ
ァブロック番号フィールドには、常に0〜3のバッファブ
ロック番号がすべて存在するとともに、アドレスバッフ
ァ19には常に最近使用されたバッファブロック番号が
保持され、最終段のアドレスバッファ22には最も古く
使用されたバッファブロック番号が保持されるようにな
る。
イトメモリリード要求が来た場合、アドレスバッファ2
0には有効フラグとリードフラグがセットされており、
登録されているメモリアドレスが32バイトバウンダリで
一致する。アドレスバッファ20にはバッファブロック
番号3が保持されているので、バッファ制御回路11
は、データバッファのブロック#3から端末装置#0に1008
〜100F番地の8バイトのデータを送出する。この時、バ
ッファ制御回路11は、使用したバッファブロック番号
3をアドレスバッファ19のバッファブロック番号フィ
ールドにセットするとともに、メモリアドレスを登録す
る。ここで、データバッファのブロック#3には1010〜10
1F番地の16バイトのデータが読み出されずに残っている
ので、有効フラグ、リードフラグもセットしておく。同
時に次段へのシフトが行われ、アドレスバッファ19の
元の内容がアドレスバッファ20に格納される。アドレ
スバッファ20ではバッファブロック番号が一致するた
め、次段以降のアドレスバッファ21、22へのシフト
動作は抑止され、今までアドレスバッファ20に格納さ
れていたデータは消去される。従って、アドレスバッフ
ァ21、22の内容はそのまま変更されずに保持される
ことになる。上記のように、アドレスバッファのバッフ
ァブロック番号フィールドには、常に0〜3のバッファブ
ロック番号がすべて存在するとともに、アドレスバッフ
ァ19には常に最近使用されたバッファブロック番号が
保持され、最終段のアドレスバッファ22には最も古く
使用されたバッファブロック番号が保持されるようにな
る。
【0051】各端末装置からのメモリライト要求に対し
ても、有効フラグとライトフラグがチェックあるいはセ
ットされ、上記と同様なアドレスバッファの制御を行う
ことによって、データバッファの各バッファブロックに
ライトデータがバッファリングされる。リードデータと
ライトデータは同時にバッファリングが可能である。
ても、有効フラグとライトフラグがチェックあるいはセ
ットされ、上記と同様なアドレスバッファの制御を行う
ことによって、データバッファの各バッファブロックに
ライトデータがバッファリングされる。リードデータと
ライトデータは同時にバッファリングが可能である。
【0052】端末装置からの転送が繰り返し行われる
と、アドレスバッファのすべての有効フラグがセットさ
れ空きがない状態が発生する。この場合は、バッファ制
御回路11は、最終段のアドレスバッファ22に登録さ
れているバッファブロック番号と各フラグを取り込み、
もしライトフラグがセットされている場合は、データバ
ッファの内容をメモリ8へ書き込んだ後、そのバッファ
ブロック番号のデータバッファブロックを使用して、上
記のようにデータのリードまたはライト動作を行う。こ
の場合も、使用したバッファブロック番号やフラグ、メ
モリアドレスがアドレスバッファ19にセットされ、次
段へのシフト動作が行われる。
と、アドレスバッファのすべての有効フラグがセットさ
れ空きがない状態が発生する。この場合は、バッファ制
御回路11は、最終段のアドレスバッファ22に登録さ
れているバッファブロック番号と各フラグを取り込み、
もしライトフラグがセットされている場合は、データバ
ッファの内容をメモリ8へ書き込んだ後、そのバッファ
ブロック番号のデータバッファブロックを使用して、上
記のようにデータのリードまたはライト動作を行う。こ
の場合も、使用したバッファブロック番号やフラグ、メ
モリアドレスがアドレスバッファ19にセットされ、次
段へのシフト動作が行われる。
【0053】アドレスバッファに、有効フラグがセット
されているものとセットされていないものが混在する場
合は、バッファ制御回路11は、有効フラグがセットさ
れていないものの中の、最終段のアドレスバッファに登
録されているバッファブロック番号を使用してデータ転
送を行う。
されているものとセットされていないものが混在する場
合は、バッファ制御回路11は、有効フラグがセットさ
れていないものの中の、最終段のアドレスバッファに登
録されているバッファブロック番号を使用してデータ転
送を行う。
【0054】上記のように、一つの端末装置が接続され
た場合でも複数の端末装置が接続された場合でも、全体
のバッファブロック数の範囲内で、接続される各端末装
置が必要とするだけのバッファブロック数を利用するこ
とができ、各端末装置へのバッファブロック数の割り当
ても、その時点でバッファブロックを同時に多数使用す
る必要のある端末装置には多く、必要のない端末装置に
は少なく、自動的に割り当て直すように制御されるた
め、常に最も効率の良い状態でバッファブロック全体を
使用することができる。
た場合でも複数の端末装置が接続された場合でも、全体
のバッファブロック数の範囲内で、接続される各端末装
置が必要とするだけのバッファブロック数を利用するこ
とができ、各端末装置へのバッファブロック数の割り当
ても、その時点でバッファブロックを同時に多数使用す
る必要のある端末装置には多く、必要のない端末装置に
は少なく、自動的に割り当て直すように制御されるた
め、常に最も効率の良い状態でバッファブロック全体を
使用することができる。
【0055】さらに、すべてのバッファブロックが使用
中の場合には、その中のいずれかのバッファブロックを
無効化して別のメモリ領域のデータに割り当て直す必要
があるが、その場合でも、最も長く使われず再びバッフ
ァの内容が参照される確率の最も低いと思われるバッフ
ァブロックから、再度割り当てていくことができるた
め、バッファの効率を最大限に引き出すことができる。
中の場合には、その中のいずれかのバッファブロックを
無効化して別のメモリ領域のデータに割り当て直す必要
があるが、その場合でも、最も長く使われず再びバッフ
ァの内容が参照される確率の最も低いと思われるバッフ
ァブロックから、再度割り当てていくことができるた
め、バッファの効率を最大限に引き出すことができる。
【0056】実施の形態5.実施の形態4では、端末装
置からのリクエスト番号は特にチェックしていないた
め、どの端末装置からのデータ転送でも同様に制御され
る。本実施例では、各アドレスバッファにリクエスト番
号フィールドを追加し、データ転送を行った端末装置の
リクエスト番号を登録することによって、次の転送要求
の際に登録してあるリクエスト番号と転送を要求した端
末装置のリクエスト番号を比較して、他の端末装置で使
用しているバッファブロックには影響を与えないよう制
御する。
置からのリクエスト番号は特にチェックしていないた
め、どの端末装置からのデータ転送でも同様に制御され
る。本実施例では、各アドレスバッファにリクエスト番
号フィールドを追加し、データ転送を行った端末装置の
リクエスト番号を登録することによって、次の転送要求
の際に登録してあるリクエスト番号と転送を要求した端
末装置のリクエスト番号を比較して、他の端末装置で使
用しているバッファブロックには影響を与えないよう制
御する。
【0057】図6において、31〜34は各アドレスバ
ッファのリクエスト番号フィールドに登録されているリ
クエスト番号と、端末装置からのリクエスト番号を比較
し、一致したかどうかの信号をバッファ制御回路11へ
出力する比較器である。図7は、本実施例における各ア
ドレスバッファのビット割り付けを示す図である。
ッファのリクエスト番号フィールドに登録されているリ
クエスト番号と、端末装置からのリクエスト番号を比較
し、一致したかどうかの信号をバッファ制御回路11へ
出力する比較器である。図7は、本実施例における各ア
ドレスバッファのビット割り付けを示す図である。
【0058】アドレスバッファ19〜20には、端末装
置#0に対応するリクエスト番号0が、アドレスバッファ
21〜22には、端末装置#1に対応するリクエスト番号
1が登録されており、各アドレスバッファはすべて有効
フラグがセットされているものとする。ここで、端末装
置#0から転送要求があると、端末装置#0のリクエスト番
号と各アドレスバッファに登録されているリクエスト番
号が比較され、一致信号がバッファ制御回路11に出力
される。ここで、アドレスバッファ19と20に登録さ
れているリクエスト番号が一致するので、バッファ制御
回路11は、一致したアドレスバッファの中の一番下の
段のアドレスバッファ20のバッファブロック番号を使
用してデータ転送を行う。この時、ライトフラグがセッ
トされていれば、そのバッファブロックを使用する前
に、データバッファに登録してあるデータをメモリにラ
イトする。使用するバッファブロック番号は、上記実施
例と同様に、各フラグやリクエスト番号、メモリアドレ
スなどとともに、アドレスバッファ19にセットし直
し、同時に次段へのシフト動作が行われる。
置#0に対応するリクエスト番号0が、アドレスバッファ
21〜22には、端末装置#1に対応するリクエスト番号
1が登録されており、各アドレスバッファはすべて有効
フラグがセットされているものとする。ここで、端末装
置#0から転送要求があると、端末装置#0のリクエスト番
号と各アドレスバッファに登録されているリクエスト番
号が比較され、一致信号がバッファ制御回路11に出力
される。ここで、アドレスバッファ19と20に登録さ
れているリクエスト番号が一致するので、バッファ制御
回路11は、一致したアドレスバッファの中の一番下の
段のアドレスバッファ20のバッファブロック番号を使
用してデータ転送を行う。この時、ライトフラグがセッ
トされていれば、そのバッファブロックを使用する前
に、データバッファに登録してあるデータをメモリにラ
イトする。使用するバッファブロック番号は、上記実施
例と同様に、各フラグやリクエスト番号、メモリアドレ
スなどとともに、アドレスバッファ19にセットし直
し、同時に次段へのシフト動作が行われる。
【0059】上記のように、すべてのアドレスバッファ
の有効フラグがセットされていてバッファブロックがす
べて使用中の場合には、アクセスした端末装置が使用し
ているバッファブロックの中の最も長く使われなかった
バッファブロックを無効化して、別のメモリ領域のデー
タに割り当て直すことができる。従って、他の端末装置
で使用している有効なバッファブロックには影響を与え
ないため、他の端末装置のバッファブロックに登録され
ているデータを無駄にすることなく、効率の良いデータ
転送ができる。この時、アクセスした端末装置のリクエ
スト番号が登録されていない場合に限り、他の端末装置
で使用している有効なバッファブロックが無効化されて
使用される。
の有効フラグがセットされていてバッファブロックがす
べて使用中の場合には、アクセスした端末装置が使用し
ているバッファブロックの中の最も長く使われなかった
バッファブロックを無効化して、別のメモリ領域のデー
タに割り当て直すことができる。従って、他の端末装置
で使用している有効なバッファブロックには影響を与え
ないため、他の端末装置のバッファブロックに登録され
ているデータを無駄にすることなく、効率の良いデータ
転送ができる。この時、アクセスした端末装置のリクエ
スト番号が登録されていない場合に限り、他の端末装置
で使用している有効なバッファブロックが無効化されて
使用される。
【0060】また、アドレスバッファに有効フラグがセ
ットされていないものがある場合には、リクエスト番号
の比較結果は無視され、有効フラグがセットされていな
いアドレスバッファのバッファブロック番号が使用され
るため、有効なバッファブロックを無効化することなく
データ転送が行われる。
ットされていないものがある場合には、リクエスト番号
の比較結果は無視され、有効フラグがセットされていな
いアドレスバッファのバッファブロック番号が使用され
るため、有効なバッファブロックを無効化することなく
データ転送が行われる。
【0061】実施の形態6.本実施の形態では、各端末
装置から転送要求があると、その端末装置のリクエスト
番号とアドレスバッファに格納されているリクエスト番
号を比較し、それらが一致し、かつ有効フラグがセット
されているアドレスバッファの個数をチェックして、あ
らかじめ設定されている数のバッファブロックをすでに
使用している場合は、たとえ有効フラグがセットされて
いない未使用のバッファがあったとしても、リクエスト
番号が一致したアドレスバッファのバッファブロック番
号を使用するように制御する。
装置から転送要求があると、その端末装置のリクエスト
番号とアドレスバッファに格納されているリクエスト番
号を比較し、それらが一致し、かつ有効フラグがセット
されているアドレスバッファの個数をチェックして、あ
らかじめ設定されている数のバッファブロックをすでに
使用している場合は、たとえ有効フラグがセットされて
いない未使用のバッファがあったとしても、リクエスト
番号が一致したアドレスバッファのバッファブロック番
号を使用するように制御する。
【0062】図8において、35〜38は各アドレスバ
ッファのリクエスト番号フィールドに格納されているリ
クエスト番号と、端末装置からのリクエスト番号を比較
し、それらが一致して、かつ該当するアドレスバッファ
の有効フラグがセットされていた場合に一致信号を出力
する比較器である。比較器35〜38においては、各ア
ドレスバッファの有効フラグは常にセット状態の値1と
比較される。39は比較器35〜38から出力された一
致信号の数を合計した値をバッファ制御回路11へ出力
する加算器である。
ッファのリクエスト番号フィールドに格納されているリ
クエスト番号と、端末装置からのリクエスト番号を比較
し、それらが一致して、かつ該当するアドレスバッファ
の有効フラグがセットされていた場合に一致信号を出力
する比較器である。比較器35〜38においては、各ア
ドレスバッファの有効フラグは常にセット状態の値1と
比較される。39は比較器35〜38から出力された一
致信号の数を合計した値をバッファ制御回路11へ出力
する加算器である。
【0063】ここで、バッファ制御回路11では、各端
末装置が使用することのできる有効なバッファブロック
の最大数は、あらかじめ2に設定されているものとす
る。
末装置が使用することのできる有効なバッファブロック
の最大数は、あらかじめ2に設定されているものとす
る。
【0064】端末装置#0から転送要求があると、端末装
置#0のリクエスト番号0と各アドレスバッファに格納さ
れているリクエスト番号及び有効フラグが比較器35〜
38で比較される。例えば、比較器35と36でリクエ
スト番号が一致し、かつ有効フラグがセットされている
とすると、それぞれ一致信号を加算器39へ出力する。
一方、比較器37と38ではリクエスト番号が一致して
いないか、または有効フラグがセットされていないとす
ると一致信号は出力しない。ここで、上記比較器からは
2本の一致信号が出力されているため、加算器39はそ
の一致信号の合計を計算して、値2をバッファ制御回路
11に出力する。バッファ制御回路11では、その値が
あらかじめ設定されている値2と一致するため、アドレ
スバッファ21及び22に登録されているバッファブロ
ック番号は使用せず、リクエスト番号0が格納されてい
るアドレスバッファ20のバッファブロック番号のバッ
ファブロックを無効化したあと、再びそのバッファブロ
ックを使用してデータ転送を行う。
置#0のリクエスト番号0と各アドレスバッファに格納さ
れているリクエスト番号及び有効フラグが比較器35〜
38で比較される。例えば、比較器35と36でリクエ
スト番号が一致し、かつ有効フラグがセットされている
とすると、それぞれ一致信号を加算器39へ出力する。
一方、比較器37と38ではリクエスト番号が一致して
いないか、または有効フラグがセットされていないとす
ると一致信号は出力しない。ここで、上記比較器からは
2本の一致信号が出力されているため、加算器39はそ
の一致信号の合計を計算して、値2をバッファ制御回路
11に出力する。バッファ制御回路11では、その値が
あらかじめ設定されている値2と一致するため、アドレ
スバッファ21及び22に登録されているバッファブロ
ック番号は使用せず、リクエスト番号0が格納されてい
るアドレスバッファ20のバッファブロック番号のバッ
ファブロックを無効化したあと、再びそのバッファブロ
ックを使用してデータ転送を行う。
【0065】また、端末装置#1から転送要求が来た場
合、端末装置#1のリクエスト番号が格納されていて、か
つ有効フラグがセットされているのはアドレスバッファ
21の一つだけとすると、あらかじめ設定されている値
2より小さいため、バッファ制御回路11は、シフトレ
ジスタの最終段のアドレスバッファ22に格納されてい
るバッファブロック番号を使用してデータ転送を行う。
合、端末装置#1のリクエスト番号が格納されていて、か
つ有効フラグがセットされているのはアドレスバッファ
21の一つだけとすると、あらかじめ設定されている値
2より小さいため、バッファ制御回路11は、シフトレ
ジスタの最終段のアドレスバッファ22に格納されてい
るバッファブロック番号を使用してデータ転送を行う。
【0066】上記のように、各端末装置が一度に使用で
きるバッファブロックの数に制限を設けることにより、
一時的にある端末装置のみが多くのバッファブロックを
占有することを防ぐことができる。つまり、上記制限数
の値を最適に設定することにより、すべてのバッファブ
ロックが使用中となってしまう状態を少しでも回避し
て、各端末装置にできるだけ均等にバッファブロックを
割り当て、ある端末装置の転送がいつも他のバッファブ
ロックを無効化する時間だけ待たされるということの無
いようにデータ転送を制御することができる。また、各
端末装置のリクエスト番号の比較の際に、アドレスバッ
ファの有効フラグも一緒にチェックしているため、バッ
ファ制御回路11での有効フラグのチェック制御を簡単
にできる。
きるバッファブロックの数に制限を設けることにより、
一時的にある端末装置のみが多くのバッファブロックを
占有することを防ぐことができる。つまり、上記制限数
の値を最適に設定することにより、すべてのバッファブ
ロックが使用中となってしまう状態を少しでも回避し
て、各端末装置にできるだけ均等にバッファブロックを
割り当て、ある端末装置の転送がいつも他のバッファブ
ロックを無効化する時間だけ待たされるということの無
いようにデータ転送を制御することができる。また、各
端末装置のリクエスト番号の比較の際に、アドレスバッ
ファの有効フラグも一緒にチェックしているため、バッ
ファ制御回路11での有効フラグのチェック制御を簡単
にできる。
【0067】実施の形態7.実施の形態6では、各端末
装置が使用可能なバッファブロック数の設定が固定的で
あったが、本実施例では、各端末装置に対応したレジス
タに制限数をセットすることにより、各端末装置毎に使
用できるバッファブロック数を個別に制御する。
装置が使用可能なバッファブロック数の設定が固定的で
あったが、本実施例では、各端末装置に対応したレジス
タに制限数をセットすることにより、各端末装置毎に使
用できるバッファブロック数を個別に制御する。
【0068】図9において、40は各端末装置が一度に
使用できるバッファブロックの制限数を保持するレジス
タファイル、41は上記レジスタファイル40から出力
されるバッファブロック制限数を、転送要求を出した端
末装置のリクエスト番号により選択してバッファ制御回
路11に出力するセレクタ、42はセレクタ41から出
力された各端末装置毎のバッファブロック制限数と、加
算器39から出力された、転送要求を出した端末装置が
現在使用している有効なバッファブロックの個数とを比
較する比較器、43はレジスタファイル40内の各レジ
スタの内容を外部から設定するためのレジスタ設定パス
である。
使用できるバッファブロックの制限数を保持するレジス
タファイル、41は上記レジスタファイル40から出力
されるバッファブロック制限数を、転送要求を出した端
末装置のリクエスト番号により選択してバッファ制御回
路11に出力するセレクタ、42はセレクタ41から出
力された各端末装置毎のバッファブロック制限数と、加
算器39から出力された、転送要求を出した端末装置が
現在使用している有効なバッファブロックの個数とを比
較する比較器、43はレジスタファイル40内の各レジ
スタの内容を外部から設定するためのレジスタ設定パス
である。
【0069】図に示すように、各端末装置からの転送要
求に対して、その端末装置のリクエスト番号によりセレ
クタ41で選択されたレジスタファイル40からの出力
と加算器39の出力とが比較器42で比較され、その結
果がバッファ制御回路11に入力される。バッファ制御
回路11では、上記比較器42から一致信号が出力され
ているかどうかをチェックして、上記実施の形態6と同
様の制御を行う。
求に対して、その端末装置のリクエスト番号によりセレ
クタ41で選択されたレジスタファイル40からの出力
と加算器39の出力とが比較器42で比較され、その結
果がバッファ制御回路11に入力される。バッファ制御
回路11では、上記比較器42から一致信号が出力され
ているかどうかをチェックして、上記実施の形態6と同
様の制御を行う。
【0070】また、上記レジスタファイル40の内容を
システムの初期化時に、レジスタ設定パス43を用いて
外部から変更することによって、それ以降は新たに設定
された使用バッファブロック数で動作する。
システムの初期化時に、レジスタ設定パス43を用いて
外部から変更することによって、それ以降は新たに設定
された使用バッファブロック数で動作する。
【0071】上記のように、各端末装置毎に使用できる
バッファブロックの制限数を保持するレジスタを設けた
ことにより、それぞれの端末装置に最適な使用バッファ
数をいつでも設定することができるとともに、各端末装
置はそのバッファブロックの制限内で複数のバッファブ
ロックをその端末装置の転送の特徴にあうように自由に
使用することができ、さらに、他の端末装置で使用して
いる有効なバッファブロックのデータには影響を与えな
いように、システム全体として最適なバッファ制御を実
現することができる。
バッファブロックの制限数を保持するレジスタを設けた
ことにより、それぞれの端末装置に最適な使用バッファ
数をいつでも設定することができるとともに、各端末装
置はそのバッファブロックの制限内で複数のバッファブ
ロックをその端末装置の転送の特徴にあうように自由に
使用することができ、さらに、他の端末装置で使用して
いる有効なバッファブロックのデータには影響を与えな
いように、システム全体として最適なバッファ制御を実
現することができる。
【0072】実施の形態8.本実施の形態では、データ
バッファのあるバッファブロックをアクセスした際にエ
ラーが発生した時は、そのバッファブロックに対応する
アドレスバッファのエラーフラグをセットすることによ
り、その後、エラーが発生したバッファブロックを使用
しないように制御する。
バッファのあるバッファブロックをアクセスした際にエ
ラーが発生した時は、そのバッファブロックに対応する
アドレスバッファのエラーフラグをセットすることによ
り、その後、エラーが発生したバッファブロックを使用
しないように制御する。
【0073】図10において、44はデータバッファを
アクセスしたときのエラーをチェックし、バッファ制御
回路11にエラー信号を出力するエラーチェック回路で
ある。図11は、本実施例のアドレスバッファのビット
割り付けを表す図であり、フラグフィールドにエラーフ
ラグを設けている。
アクセスしたときのエラーをチェックし、バッファ制御
回路11にエラー信号を出力するエラーチェック回路で
ある。図11は、本実施例のアドレスバッファのビット
割り付けを表す図であり、フラグフィールドにエラーフ
ラグを設けている。
【0074】データバッファのあるバッファブロックを
アクセスしたときに、エラーチェック回路43でエラー
が発見されると、エラーチェック回路43からバッファ
制御回路11にエラー信号が出力される。バッファ制御
回路11は、そのエラーを外部の端末装置に報告しリト
ライ要求を出すとともに、エラーが検出されたバッファ
ブロック番号を保持するアドレスバッファ内のエラーフ
ラグをセットする。その後の、端末装置からの転送要求
に対して、バッファ制御回路11はアドレスバッファ内
のエラーフラグをチェックしてエラーフラグのセットさ
れているアドレスバッファのバッファブロック番号は使
用しないようにする。
アクセスしたときに、エラーチェック回路43でエラー
が発見されると、エラーチェック回路43からバッファ
制御回路11にエラー信号が出力される。バッファ制御
回路11は、そのエラーを外部の端末装置に報告しリト
ライ要求を出すとともに、エラーが検出されたバッファ
ブロック番号を保持するアドレスバッファ内のエラーフ
ラグをセットする。その後の、端末装置からの転送要求
に対して、バッファ制御回路11はアドレスバッファ内
のエラーフラグをチェックしてエラーフラグのセットさ
れているアドレスバッファのバッファブロック番号は使
用しないようにする。
【0075】上記のように、データバッファのあるバッ
ファブロックがトラブル等で壊れた場合でも、そのバッ
ファブロックを使用していた端末装置がその後データ転
送できなくなるということはなく、他の残っているバッ
ファブロックだけで、接続されたすべての端末装置がデ
ータ転送を続けることができ、データ入出力処理装置の
信頼性を向上させることができる。
ファブロックがトラブル等で壊れた場合でも、そのバッ
ファブロックを使用していた端末装置がその後データ転
送できなくなるということはなく、他の残っているバッ
ファブロックだけで、接続されたすべての端末装置がデ
ータ転送を続けることができ、データ入出力処理装置の
信頼性を向上させることができる。
【0076】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下のような効果を奏する。
れているので、以下のような効果を奏する。
【0077】連続する複数のアドレスブロックに格納さ
れたメモリアドレスを同時に読み出すように構成されて
いるので、一度データバッファに格納したメモリのデー
タを有効に活用することができる。
れたメモリアドレスを同時に読み出すように構成されて
いるので、一度データバッファに格納したメモリのデー
タを有効に活用することができる。
【0078】また、同時に読み出し可能なアドレスブロ
ックの個数が各端末ごとに予め設定されているので、端
末装置ごとの要求に応じたバッファブロックの割り付け
が可能となり、限られたバッファブロックを有効に活用
しつつ、バッファリングの効率を上げることができる。
ックの個数が各端末ごとに予め設定されているので、端
末装置ごとの要求に応じたバッファブロックの割り付け
が可能となり、限られたバッファブロックを有効に活用
しつつ、バッファリングの効率を上げることができる。
【0079】さらに、同時に読み出し可能なアドレスブ
ロックの個数の各端末ごとの設定を変更できるように構
成されているので、接続される端末装置からの要求が変
わった場合でも、割り当てるバッファブロックの個数を
容易に設定し直すことができる。
ロックの個数の各端末ごとの設定を変更できるように構
成されているので、接続される端末装置からの要求が変
わった場合でも、割り当てるバッファブロックの個数を
容易に設定し直すことができる。
【0080】また、バッファブロック番号の段から、次
段以降に格納されているデータを順次シフトし、そのバ
ッファブロック番号と同一のバッファブロック番号に到
達したとき以降の段にはシフトしないように構成されて
いるので、アドレスバッファのバッファブロック番号フ
ィールドには、常に異なるバッファブロック番号がすべ
て存在し、しかも重複しないように制御される。
段以降に格納されているデータを順次シフトし、そのバ
ッファブロック番号と同一のバッファブロック番号に到
達したとき以降の段にはシフトしないように構成されて
いるので、アドレスバッファのバッファブロック番号フ
ィールドには、常に異なるバッファブロック番号がすべ
て存在し、しかも重複しないように制御される。
【0081】さらにまた、アドレスバッファの使用可能
な段を各端末装置ごとに設定するように構成されている
ので、他の端末装置のバッファブロックに登録されてい
るデータを無駄にすることなく、効率の良いデータ転送
ができる。
な段を各端末装置ごとに設定するように構成されている
ので、他の端末装置のバッファブロックに登録されてい
るデータを無駄にすることなく、効率の良いデータ転送
ができる。
【0082】アドレスバッファの使用可能な段数を予め
設定した段数に制限するように構成されているので、あ
る端末装置のみが多くのバッファブロックを占有するこ
とを防ぐことができる。
設定した段数に制限するように構成されているので、あ
る端末装置のみが多くのバッファブロックを占有するこ
とを防ぐことができる。
【0083】また、アドレスバッファの使用可能な段数
を各端末装置ごとに設定変更が可能なように構成されて
いるので、それぞれの端末装置に最適な使用バッファ数
を容易に変更することができる。
を各端末装置ごとに設定変更が可能なように構成されて
いるので、それぞれの端末装置に最適な使用バッファ数
を容易に変更することができる。
【0084】さらに、エラーチェック回路を備え、エラ
ーが発生したデータブロックを使用不可とするように構
成されているので、他の残っているバッファブロックだ
けで、接続されたすべての端末装置がデータ転送を続け
ることができる。
ーが発生したデータブロックを使用不可とするように構
成されているので、他の残っているバッファブロックだ
けで、接続されたすべての端末装置がデータ転送を続け
ることができる。
【図1】 この発明の実施の形態1を示す構成図であ
る。
る。
【図2】 この発明の実施の形態2を示す構成図であ
る。
る。
【図3】 この発明の実施の形態3を示す構成図であ
る。
る。
【図4】 この発明の実施の形態4を示す構成図であ
る。
る。
【図5】 この発明の実施の形態4における各アドレス
バッファのビット割り付けを示す図である。
バッファのビット割り付けを示す図である。
【図6】 この発明の実施の形態5を示す構成図であ
る。
る。
【図7】 この発明の実施の形態5における各アドレス
バッファのビット割り付けを示す図である。
バッファのビット割り付けを示す図である。
【図8】 この発明の実施の形態6を示す構成図であ
る。
る。
【図9】 この発明の実施の形態7を示す構成図であ
る。
る。
【図10】 この発明の実施の形態8を示す構成図であ
る。
る。
【図11】 この発明の実施の形態8における各アドレ
スバッファのビット割り付けを示す図である。
スバッファのビット割り付けを示す図である。
【図12】 従来のデータ入出力処理装置を示す構成図
である。
である。
【図13】 この発明の実施の形態1、2、3、及び従
来のデータ入出力処理装置における各アドレスバッファ
のビット割り付けを示す図である。
来のデータ入出力処理装置における各アドレスバッファ
のビット割り付けを示す図である。
1 データ入出力処理装置、2 端末装置、3 端末装
置、4 端末装置、5 端末装置、8 メモリ、9 ア
ドレスバッファ、10 データバッファ、11 バッフ
ァ制御回路
置、4 端末装置、5 端末装置、8 メモリ、9 ア
ドレスバッファ、10 データバッファ、11 バッフ
ァ制御回路
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年9月5日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正内容】
【0002】
【従来の技術】図12は従来のデータ入出力処理装置の
構成を示す図であり、図において、1はデータ入出力処
理装置全体を示し、2〜5はこのデータ入出力処理装置
1に接続される端末装置#0〜#3であり、6は入出力処理
装置1と各端末装置2〜5間で転送するアドレス/デー
タバス、7は各端末装置2〜5から転送要求を送出する
リクエストバス、8はデータ入出力処理装置に接続され
るメモリ、9は各端末装置2〜5からのメモリアドレス
等の情報を格納するアドレスバッファ、10は各端末装
置2〜5とメモリ8との間の転送データを格納するデー
タバッファ、11はアドレスバッファ9やデータバッフ
ァ10の読み書きの制御及びメモリとのデータ転送を司
るバッファ制御回路、12はバッファ制御回路11から
の指示でメモリ8に転送要求を出力するメモリリクエス
ト制御回路、13は端末装置2〜5から送られたメモリ
アドレスとアドレスバッファ9内に格納されているメモ
リアドレスを比較する比較器である。また、図13はア
ドレスバッファ9内の各ブロックのビット割り付けを示
す。
構成を示す図であり、図において、1はデータ入出力処
理装置全体を示し、2〜5はこのデータ入出力処理装置
1に接続される端末装置#0〜#3であり、6は入出力処理
装置1と各端末装置2〜5間で転送するアドレス/デー
タバス、7は各端末装置2〜5から転送要求を送出する
リクエストバス、8はデータ入出力処理装置に接続され
るメモリ、9は各端末装置2〜5からのメモリアドレス
等の情報を格納するアドレスバッファ、10は各端末装
置2〜5とメモリ8との間の転送データを格納するデー
タバッファ、11はアドレスバッファ9やデータバッフ
ァ10の読み書きの制御及びメモリとのデータ転送を司
るバッファ制御回路、12はバッファ制御回路11から
の指示でメモリ8に転送要求を出力するメモリリクエス
ト制御回路、13は端末装置2〜5から送られたメモリ
アドレスとアドレスバッファ9内に格納されているメモ
リアドレスを比較する比較器である。また、図13はア
ドレスバッファ9内の各ブロックのビット割り付けを示
す。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】次に、同じ端末装置#1から3010番地の16バ
イトのメモリライト要求がくると、バッファ制御回路1
1は、アドレスブロック#2に有効フラグとライトフラグ
がセットされ、かつ登録されているアドレスが端末装置
#1からの要求メモリアドレスと32バイトバウンダリで一
致しているため、データブロック#2に端末装置#1からの
3010〜301F番地の16バイトのデータを格納する。ここ
で、データバッファ10のブロック#2には、32バイト分
のライトデータが格納されたため、バッファ制御回路1
1はメモリリクエスト制御回路12にデータライト要求
を出力し、メモリ8の3000〜301F番地にバッファ内に保
持されているデータを書き込む。同時に、アドレスブロ
ック#2の有効フラグとライトフラグをリセットする。
イトのメモリライト要求がくると、バッファ制御回路1
1は、アドレスブロック#2に有効フラグとライトフラグ
がセットされ、かつ登録されているアドレスが端末装置
#1からの要求メモリアドレスと32バイトバウンダリで一
致しているため、データブロック#2に端末装置#1からの
3010〜301F番地の16バイトのデータを格納する。ここ
で、データバッファ10のブロック#2には、32バイト分
のライトデータが格納されたため、バッファ制御回路1
1はメモリリクエスト制御回路12にデータライト要求
を出力し、メモリ8の3000〜301F番地にバッファ内に保
持されているデータを書き込む。同時に、アドレスブロ
ック#2の有効フラグとライトフラグをリセットする。
Claims (8)
- 【請求項1】 メモリに対してリードライトするデータ
を格納する複数のデータブロックから構成されるデータ
バッファ、それらのデータブロックに格納されるデータ
の上記メモリ上のメモリアドレスを格納し上記データブ
ロックに対応する複数のアドレスブロックから構成され
るアドレスバッファ、端末装置からリード要求があった
ときは上記連続する複数のアドレスブロックに格納され
たメモリアドレスを同時に読み出し上記端末装置から入
力されたメモリアドレスと一致したときは対応するデー
タブロックに格納されたデータを読み出し、ライト要求
があったときは個々のアドレスブロックにメモリアドレ
スを登録し対応するデータブロックにライト要求があっ
たデータを格納するバッファ制御回路を備えたことを特
徴とするデータ入出力処理装置。 - 【請求項2】 同時に読み出し可能な上記アドレスブロ
ックの個数が各端末ごとに予め設定されていることを特
徴とする請求項1記載のデータ入出力処理装置。 - 【請求項3】 同時に読み出し可能な上記アドレスブロ
ックの個数の各端末ごとの設定を変更できることを特徴
とする請求項2記載のデータ入出力処理装置。 - 【請求項4】 メモリに対してリードライトするデータ
を格納する複数のデータブロックから構成されるデータ
バッファ、それらのデータブロックに格納されるデータ
の上記メモリ上のメモリアドレスおよび上記データブロ
ックを指定するバッファブロック番号を格納する複数の
段から構成されるアドレスバッファ、端末装置からリー
ド要求またはライト要求があったときはその対象となる
データが格納される上記データブロックのバッファブロ
ック番号およびメモリアドレスを上記アドレスバッファ
に格納しそのバッファブロック番号の段から次段以降に
格納されているデータを順次シフトしそのバッファブロ
ック番号と同一のバッファブロック番号に到達したとき
以降の段にはシフトしないバッファ制御回路を備えたこ
とを特徴とするデータ入出力処理装置。 - 【請求項5】 上記アドレスバッファの使用可能な段を
各端末装置ごとに設定することを特徴とする請求項4記
載のデータ入出力処理装置。 - 【請求項6】 上記アドレスバッファの使用可能な段数
を予め設定した段数に制限することを特徴とする請求項
4記載のデータ入出力処理装置。 - 【請求項7】 上記アドレスバッファの使用可能な段数
を各端末装置ごとに設定変更が可能なことを特徴とする
請求項4記載のデータ入出力処理装置。 - 【請求項8】 上記データブロックにエラーが発生した
とき上記バッファ制御回路にエラー信号を出力するエラ
ーチェック回路を備え、エラーが発生した上記データブ
ロックを使用不可とすることを特徴とする請求項1〜請
求項7記載のデータ入出力処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7304633A JPH09146872A (ja) | 1995-11-22 | 1995-11-22 | データ入出力処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7304633A JPH09146872A (ja) | 1995-11-22 | 1995-11-22 | データ入出力処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09146872A true JPH09146872A (ja) | 1997-06-06 |
Family
ID=17935392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7304633A Pending JPH09146872A (ja) | 1995-11-22 | 1995-11-22 | データ入出力処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09146872A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084215A (ja) * | 1999-07-12 | 2001-03-30 | Matsushita Electric Ind Co Ltd | データ処理装置 |
-
1995
- 1995-11-22 JP JP7304633A patent/JPH09146872A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084215A (ja) * | 1999-07-12 | 2001-03-30 | Matsushita Electric Ind Co Ltd | データ処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1176382A (en) | Method and system for handling sequential data in a hierarchical store | |
US4424561A (en) | Odd/even bank structure for a cache memory | |
US6877067B2 (en) | Shared cache memory replacement control method and apparatus | |
EP0130349A2 (en) | A method for the replacement of blocks of information and its use in a data processing system | |
US6487628B1 (en) | Peripheral component interface with multiple data channels and reduced latency over a system area network | |
US4445172A (en) | Data steering logic for the output of a cache memory having an odd/even bank structure | |
WO1998030969A2 (en) | Dma device with local page table | |
US20050265108A1 (en) | Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same | |
JPS6339941B2 (ja) | ||
US5822785A (en) | Data transfer using local and global address translation and authorization | |
US4392201A (en) | Diagnostic subsystem for a cache memory | |
WO1996018141A1 (fr) | Systeme informatique | |
JPH06187298A (ja) | データ転送処理方法及びデータ転送処理装置 | |
US6718439B1 (en) | Cache memory and method of operation | |
JPH0437935A (ja) | キャッシュメモリを有する計算機 | |
US20030097512A1 (en) | USB-HUB device and its control method | |
US5829035A (en) | System and method for preventing stale data in multiple processor computer systems | |
JP2002342262A (ja) | ダイレクトメモリアクセス制御装置およびダイレクトメモリアクセス制御方法 | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
US7529857B2 (en) | Data processing apparatus and data transfer control method | |
JP4240610B2 (ja) | 計算機システム | |
JPH09146872A (ja) | データ入出力処理装置 | |
CN113961487A (zh) | 加速存储器存取的电子装置及方法 | |
US5404549A (en) | Method for efficient access of data stored in a nexus table using queue tag indexes in a table portion | |
JPH0540694A (ja) | キヤツシユメモリ装置 |