JP3251198B2 - データ転送装置 - Google Patents
データ転送装置Info
- Publication number
- JP3251198B2 JP3251198B2 JP11586297A JP11586297A JP3251198B2 JP 3251198 B2 JP3251198 B2 JP 3251198B2 JP 11586297 A JP11586297 A JP 11586297A JP 11586297 A JP11586297 A JP 11586297A JP 3251198 B2 JP3251198 B2 JP 3251198B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- data
- valid
- reply
- buffer
- 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 - Fee Related
Links
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、データ転送装置に
関し、特にデータ線と、その他のリクエストコード・ア
ドレス・リプライコード等の転送情報の専用線とを別個
に備えるデータ転送装置に関する。
関し、特にデータ線と、その他のリクエストコード・ア
ドレス・リプライコード等の転送情報の専用線とを別個
に備えるデータ転送装置に関する。
【0002】
【従来の技術】従来、リクエストコード、アドレス等の
専用線と、データの専用線を備えるデータ転送におい
て、1つのリクエストに対してデータ転送を1回でおこ
なうと、その装置のデータ転送において最長の転送幅に
あわせたインタフエースが必要になるため、転送量が大
きい場合はデータを複数のフレームに分けて転送する方
法が知られいる。このような方法において、一旦転送量
の大きいデータ転送処理がはじまると、この間データ線
がこの転送に占有され、リクエストコード、アドレス等
の専用線は空き状態が長く続く。このような状態による
データ転送効率の低下を防ぐ方法として、たとえば特開
平08−249274号公報に示されるように、データ
転送中であっても後続のデータを伴わないリクエストを
発行するデータ転送装置が知られている。
専用線と、データの専用線を備えるデータ転送におい
て、1つのリクエストに対してデータ転送を1回でおこ
なうと、その装置のデータ転送において最長の転送幅に
あわせたインタフエースが必要になるため、転送量が大
きい場合はデータを複数のフレームに分けて転送する方
法が知られいる。このような方法において、一旦転送量
の大きいデータ転送処理がはじまると、この間データ線
がこの転送に占有され、リクエストコード、アドレス等
の専用線は空き状態が長く続く。このような状態による
データ転送効率の低下を防ぐ方法として、たとえば特開
平08−249274号公報に示されるように、データ
転送中であっても後続のデータを伴わないリクエストを
発行するデータ転送装置が知られている。
【0003】この従来技術のデータ転送装置によれば、
リクエストのリクエストコードを保持するリクエストコ
ードバッファと、リクエストのアドレスを保持するアド
レスバッファと、リクエストのライトデータを保持する
ライトデータバッファと、各バッファのリードレジスタ
を備える。データ線は双方向であって、リードリクエス
トのリプライによるデータ線使用時には、リクエストコ
ードバッファのリードレジスタを参照して、リクエスト
コードがライトリクエストならば、リードポインタを一
時退避させる退避レジスタとを設け、リクエストコード
を判別して、ライトリクエストの場合はライトデータバ
ッファのポインタをホールドすると同時にリクエストコ
ードバッファおよびアドレスバッファのポインタを一時
退避し、後続にデータを伴わないリクエストがある場合
は、これをリクエストコード・アドレス専用線から出力
し、転送中のリプライデータが転送終了したところで、
退避させていたライトリクエストを発行する。以上のよ
うにして、リプライデータ転送中にデータを伴わないリ
クエストを発行することにより、リクエストコード・ア
ドレス線の空き状態を少なくし、データ転送の効率化を
はかっている。
リクエストのリクエストコードを保持するリクエストコ
ードバッファと、リクエストのアドレスを保持するアド
レスバッファと、リクエストのライトデータを保持する
ライトデータバッファと、各バッファのリードレジスタ
を備える。データ線は双方向であって、リードリクエス
トのリプライによるデータ線使用時には、リクエストコ
ードバッファのリードレジスタを参照して、リクエスト
コードがライトリクエストならば、リードポインタを一
時退避させる退避レジスタとを設け、リクエストコード
を判別して、ライトリクエストの場合はライトデータバ
ッファのポインタをホールドすると同時にリクエストコ
ードバッファおよびアドレスバッファのポインタを一時
退避し、後続にデータを伴わないリクエストがある場合
は、これをリクエストコード・アドレス専用線から出力
し、転送中のリプライデータが転送終了したところで、
退避させていたライトリクエストを発行する。以上のよ
うにして、リプライデータ転送中にデータを伴わないリ
クエストを発行することにより、リクエストコード・ア
ドレス線の空き状態を少なくし、データ転送の効率化を
はかっている。
【0004】
【発明が解決しようとする課題】従来の技術における問
題点は、データ線が1つの転送処理に占有されている
間、空き状態となっているリクエストコード・アドレス
線あるいはリプライコード線を十分に活用していないと
いうことである。その理由は、リプライデータ転送中
に、後続のデータを伴わないリプライを発行する手段が
ないことと、ライトリクエストデータ転送中に後続のデ
ータを伴わないリクエストを発行する手段がないことで
ある。
題点は、データ線が1つの転送処理に占有されている
間、空き状態となっているリクエストコード・アドレス
線あるいはリプライコード線を十分に活用していないと
いうことである。その理由は、リプライデータ転送中
に、後続のデータを伴わないリプライを発行する手段が
ないことと、ライトリクエストデータ転送中に後続のデ
ータを伴わないリクエストを発行する手段がないことで
ある。
【0005】本発明の目的は、効率よくデータ転送をお
こなうデータ転送装置を提供することにある。特に、デ
ータを伴わない転送要求の発行が、転送時間を長時間要
するデータ付き転送要求に妨げられることを少なくし
て、システム全体としての転送性能を向上させるデータ
転送装置を提供することを目的とする。
こなうデータ転送装置を提供することにある。特に、デ
ータを伴わない転送要求の発行が、転送時間を長時間要
するデータ付き転送要求に妨げられることを少なくし
て、システム全体としての転送性能を向上させるデータ
転送装置を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明のデータ転送装置
は、データ線が占有されているときに後続のデータ無し
のリクエストあるいはデータ無しのリプライの発行をお
こなう。より具体的には、リクエストバッファあるいは
リプライバッファにおいて、各リクエストあるいはリプ
ライ単位毎に有効フラグ(図1の11あるいは図2の5
1)とデータ無しフラグ(図1の12あるいは図2の5
2)を有し、バッファから有効なリクエストあるいはリ
プライを取り出す手段(図1の13および15、あるい
は図2の53および55)と、バッファから有効かつデ
ータ無しのリクエストあるいはリプライを取り出す手段
(図1の14および16、あるいは図2の54および5
6)とを有し、データ転送中か否かを検出する手段(図
1の19あるいは図2の59)から、データ転送中でな
いことが検出されれば、有効なリクエストあるいはリプ
ライを発行する手段(図1の18および21、あるいは
図2の58および61)と、データ転送中であることが
検出されれば、有効かつデータ無しのリクエストあるい
はリプライを発行する手段(図1の18・20・21・
22、あるいは図2の58・60・61・62)を有す
る。このように、バッファに格納されているリクエスト
単位あるいはリプライ単位に、有効フラグおよびデータ
無しのフラグを持ったことと、有効なリクエストあるい
はリプライと、有効かつデータ無しリクエストあるいは
リプライをバッファから取り出す手段を持ったことによ
り、バッファ内の有効なデータ無しのリクエストあるい
はリプライをサーチして、データ線が先行の転送に使用
されている間にできるだけ多くの有効かつデータ無しの
リクエストあるいはリプライを発行できる。
は、データ線が占有されているときに後続のデータ無し
のリクエストあるいはデータ無しのリプライの発行をお
こなう。より具体的には、リクエストバッファあるいは
リプライバッファにおいて、各リクエストあるいはリプ
ライ単位毎に有効フラグ(図1の11あるいは図2の5
1)とデータ無しフラグ(図1の12あるいは図2の5
2)を有し、バッファから有効なリクエストあるいはリ
プライを取り出す手段(図1の13および15、あるい
は図2の53および55)と、バッファから有効かつデ
ータ無しのリクエストあるいはリプライを取り出す手段
(図1の14および16、あるいは図2の54および5
6)とを有し、データ転送中か否かを検出する手段(図
1の19あるいは図2の59)から、データ転送中でな
いことが検出されれば、有効なリクエストあるいはリプ
ライを発行する手段(図1の18および21、あるいは
図2の58および61)と、データ転送中であることが
検出されれば、有効かつデータ無しのリクエストあるい
はリプライを発行する手段(図1の18・20・21・
22、あるいは図2の58・60・61・62)を有す
る。このように、バッファに格納されているリクエスト
単位あるいはリプライ単位に、有効フラグおよびデータ
無しのフラグを持ったことと、有効なリクエストあるい
はリプライと、有効かつデータ無しリクエストあるいは
リプライをバッファから取り出す手段を持ったことによ
り、バッファ内の有効なデータ無しのリクエストあるい
はリプライをサーチして、データ線が先行の転送に使用
されている間にできるだけ多くの有効かつデータ無しの
リクエストあるいはリプライを発行できる。
【0007】
【発明の実施の形態】次に、本発明の実施形態について
図面を参照して詳細に説明する。図1を参照すると、本
発明の実施形態は、リクエスタ1とリクエスト処理部2
とメモリ装置3から構成されている。リクエスト処理部
2は、リクエスタ1からメモリ装置3に対するデータ転
送リクエストを受付け、リクエスト処理結果をリプライ
としてリクエスタ1に返却する。リクエストは、リクエ
スタ1からリクエスト処理部2に対して、リクエストコ
ード・アドレス情報専用の信号線101とライトデータ
専用の信号線103を介して発行される。また、リプラ
イは、リクエスト処理部2からリクエスタ1に対して、
リプライコード専用の信号線111と、リードデータ専
用の信号線113を介して送信される。信号線103と
信号線113はそれぞれ8バイトの転送が可能である。
また、リクエストおよびリプライは それぞれのストロ
ーブ線である信号線102および112が1のときに有
効である。
図面を参照して詳細に説明する。図1を参照すると、本
発明の実施形態は、リクエスタ1とリクエスト処理部2
とメモリ装置3から構成されている。リクエスト処理部
2は、リクエスタ1からメモリ装置3に対するデータ転
送リクエストを受付け、リクエスト処理結果をリプライ
としてリクエスタ1に返却する。リクエストは、リクエ
スタ1からリクエスト処理部2に対して、リクエストコ
ード・アドレス情報専用の信号線101とライトデータ
専用の信号線103を介して発行される。また、リプラ
イは、リクエスト処理部2からリクエスタ1に対して、
リプライコード専用の信号線111と、リードデータ専
用の信号線113を介して送信される。信号線103と
信号線113はそれぞれ8バイトの転送が可能である。
また、リクエストおよびリプライは それぞれのストロ
ーブ線である信号線102および112が1のときに有
効である。
【0008】以下に、リクエスタ1をさらに詳しく説明
する。リクエスタ1内のリクエスト情報バッファ(以
下、RQBと記す)10は 図4(a)で示すように
リクエストコード401、アドレス402、データ転送
量403a、リクエスト識別番号404aが含まれるリ
クエスト情報400を格納するバッファである。データ
転送量403aはライトデータのバイト数を表し、たと
えば8n(0<n≦8)バイトの転送を示している。
する。リクエスタ1内のリクエスト情報バッファ(以
下、RQBと記す)10は 図4(a)で示すように
リクエストコード401、アドレス402、データ転送
量403a、リクエスト識別番号404aが含まれるリ
クエスト情報400を格納するバッファである。データ
転送量403aはライトデータのバイト数を表し、たと
えば8n(0<n≦8)バイトの転送を示している。
【0009】RQB10はe個の要求情報が保持でき、
各エントリに対して、登録されているリクエストの有効
状態を保持するVビット11と、リクエストがデータを
伴わないリクエストか否かを示すRビット12とを備え
る。RQB10のエントリm(0≦m≦e−1)が有効
であればVビット11(m)の値は1、有効でなければ
Vビット11(m)の値は0である。また、RQB10
(m)がリードリクエストあるいはメモリアクセスをし
ないリクエストのようにデータを伴わないリクエストな
らば、Rビット12(m)の値は1、データを伴うリク
エストならば、Rビット12(m)の値は0である。
各エントリに対して、登録されているリクエストの有効
状態を保持するVビット11と、リクエストがデータを
伴わないリクエストか否かを示すRビット12とを備え
る。RQB10のエントリm(0≦m≦e−1)が有効
であればVビット11(m)の値は1、有効でなければ
Vビット11(m)の値は0である。また、RQB10
(m)がリードリクエストあるいはメモリアクセスをし
ないリクエストのようにデータを伴わないリクエストな
らば、Rビット12(m)の値は1、データを伴うリク
エストならば、Rビット12(m)の値は0である。
【0010】リードポインタ13およびリードポインタ
14は、RQB10から取り出すリクエスト情報のエン
トリ番号を示すレジスタである。リードポインタ13
は、現在指し示すエントリのVビット11が1でなく、
ほかのエントリにおいてVビット11が1であれば次の
エントリを指し示し、現在指し示すエントリのVビット
11が1になるまでこれを繰り返す。Vビット11が全
て0であればリードポインタ13はそのまま現在のエン
トリを指し示す。
14は、RQB10から取り出すリクエスト情報のエン
トリ番号を示すレジスタである。リードポインタ13
は、現在指し示すエントリのVビット11が1でなく、
ほかのエントリにおいてVビット11が1であれば次の
エントリを指し示し、現在指し示すエントリのVビット
11が1になるまでこれを繰り返す。Vビット11が全
て0であればリードポインタ13はそのまま現在のエン
トリを指し示す。
【0011】リードポインタ14は、現在指し示すエン
トリのVビット11とRビット12のどちらかが1でな
く、他のエントリにおいてVビット11が1かつRビッ
ト12が1であるとき次のエントリを指し示し、現在指
し示すエントリのVビット11とRビット12がともに
1となるまでこれを繰り返す。全てのエントリにおいて
Vビット11が0またはRビット12が0であれば、リ
ードポインタ14はそのまま現在のエントリを指し示
す。
トリのVビット11とRビット12のどちらかが1でな
く、他のエントリにおいてVビット11が1かつRビッ
ト12が1であるとき次のエントリを指し示し、現在指
し示すエントリのVビット11とRビット12がともに
1となるまでこれを繰り返す。全てのエントリにおいて
Vビット11が0またはRビット12が0であれば、リ
ードポインタ14はそのまま現在のエントリを指し示
す。
【0012】バッファリードセレクタ15では、リード
ポインタ13が示すRQB10のエントリのリクエスト
情報を選択し、バッファリードセレクタ16では、リー
ドポインタ14が示すRQB10のエントリの要求情報
を選択する。バッファリードセレクタ15の出力とバッ
ファリードセレクタ16の出力は、ともにリクエストセ
レクタ17に入力され、転送制御部18の指示に従い1
つに選択される。そして、リクエストセレクタ17の出
力はリクエストレジスタ25にセットされ、信号線10
1よりリクエスト処理部2に送信される。
ポインタ13が示すRQB10のエントリのリクエスト
情報を選択し、バッファリードセレクタ16では、リー
ドポインタ14が示すRQB10のエントリの要求情報
を選択する。バッファリードセレクタ15の出力とバッ
ファリードセレクタ16の出力は、ともにリクエストセ
レクタ17に入力され、転送制御部18の指示に従い1
つに選択される。そして、リクエストセレクタ17の出
力はリクエストレジスタ25にセットされ、信号線10
1よりリクエスト処理部2に送信される。
【0013】ライトデータバッファ(以下、WDBと記
す)30は、ライトリクエストの転送データを、1エン
トリに8バイトずつ格納する。ライトデータセレクタ3
2では、リードポインタ31の値に従い、WDB30よ
りデータを取り出す。ライトデータセレクタ32の出力
は、ライトデータレジスタ27にセットされ、信号線1
03を介してリクエスト処理部2に送信される。リード
ポインタ13が示すRQBのエントリに対応するVビッ
ト11およびRビット12のエントリの内容は、セレク
タ21およびセレクタ22で取り出され、転送制御部1
8に入力される。
す)30は、ライトリクエストの転送データを、1エン
トリに8バイトずつ格納する。ライトデータセレクタ3
2では、リードポインタ31の値に従い、WDB30よ
りデータを取り出す。ライトデータセレクタ32の出力
は、ライトデータレジスタ27にセットされ、信号線1
03を介してリクエスト処理部2に送信される。リード
ポインタ13が示すRQBのエントリに対応するVビッ
ト11およびRビット12のエントリの内容は、セレク
タ21およびセレクタ22で取り出され、転送制御部1
8に入力される。
【0014】また、リードポインタ14が示すRQBの
エントリに対応するVビット11およびRビット12の
内容は、セレクタ23およびセレクタ24で取り出され
たのち、ANDゲート20で互いの論理積がとられ、転
送制御部18に入力される。また、バッファリードセレ
クタ15の出力のうちの転送量も転送制御部18に入力
される。
エントリに対応するVビット11およびRビット12の
内容は、セレクタ23およびセレクタ24で取り出され
たのち、ANDゲート20で互いの論理積がとられ、転
送制御部18に入力される。また、バッファリードセレ
クタ15の出力のうちの転送量も転送制御部18に入力
される。
【0015】リクエスト発行は、転送制御部18がスト
ローブレジスタ26に1をセットすることによって開始
する。ストローブレジスタ26をセットするタイミング
で、発行対象となるリクエストを示していたほうのリー
ドポインタ13または14が+1され、また、同時にV
ビット11の対象エントリが0にされる。この発行対象
のリクエストがライトのときは、ストローブレジスタ2
6をセットするタイミングで、転送制御部18がバッフ
ァリードセレクタ15から受け取った転送量に従いカウ
ンタ19に値を設定し、また、リードポインタ31も+
1する。このあと、カウンタ19は自身が0になるまで
−1を繰り返し、リードポインタ31はカウンタ19が
0でない間+1される。
ローブレジスタ26に1をセットすることによって開始
する。ストローブレジスタ26をセットするタイミング
で、発行対象となるリクエストを示していたほうのリー
ドポインタ13または14が+1され、また、同時にV
ビット11の対象エントリが0にされる。この発行対象
のリクエストがライトのときは、ストローブレジスタ2
6をセットするタイミングで、転送制御部18がバッフ
ァリードセレクタ15から受け取った転送量に従いカウ
ンタ19に値を設定し、また、リードポインタ31も+
1する。このあと、カウンタ19は自身が0になるまで
−1を繰り返し、リードポインタ31はカウンタ19が
0でない間+1される。
【0016】転送制御部18では、セレクタ21の出力
が1であって、すなわち、RQB10から有効な要求が
取り出されていて、ストローブレジスタ26が0であれ
ば、カウンタ19を参照し、値が0であれば、バッファ
リードセレクタ15の出力をリクエストセレクタ17で
選択するべく信号線218に0を出力し、同時にストロ
ーブレジスタ26を1にセットする。またこれと同時
に、セレクタ22の出力が0でライトを示していれば、
バッファリードセレクタ15の出力する転送量を参照
し、転送量が8nバイトであれば、カウンタ19に(n
−1)をセットする。
が1であって、すなわち、RQB10から有効な要求が
取り出されていて、ストローブレジスタ26が0であれ
ば、カウンタ19を参照し、値が0であれば、バッファ
リードセレクタ15の出力をリクエストセレクタ17で
選択するべく信号線218に0を出力し、同時にストロ
ーブレジスタ26を1にセットする。またこれと同時
に、セレクタ22の出力が0でライトを示していれば、
バッファリードセレクタ15の出力する転送量を参照
し、転送量が8nバイトであれば、カウンタ19に(n
−1)をセットする。
【0017】セレクタ21の出力が1である場合で、ス
トローブレジスタ26が0で、かつカウンタ19が0で
ない値、すなわち、先行のリクエストのデータ転送がお
こなわれているときは次のような処理をおこなう。セレ
クタ22の出力を参照し、値が1でリードまたはメモリ
アクセスをしないリクエストを示していれば、リクエス
トセレクタ17においてバッファリードセレクタ15の
出力を選択すべく信号線218に1を出力し、同時にリ
クエストストローブ26に1をセットする。
トローブレジスタ26が0で、かつカウンタ19が0で
ない値、すなわち、先行のリクエストのデータ転送がお
こなわれているときは次のような処理をおこなう。セレ
クタ22の出力を参照し、値が1でリードまたはメモリ
アクセスをしないリクエストを示していれば、リクエス
トセレクタ17においてバッファリードセレクタ15の
出力を選択すべく信号線218に1を出力し、同時にリ
クエストストローブ26に1をセットする。
【0018】セレクタ22の出力を参照し、値が0でラ
イトリクエストを示していれば、セレクタ20の出力を
参照し、値が1であって有効なリードエントリがあるこ
とを示していれば、バッファリードセレクタ16の値を
リクエスト情報セレクタ17で選択すべく信号線218
に1を出力し、同時にストローブレジスタ26を1にす
る。リクエスト処理部2では、信号線102を介して送
られたストローブレジスタ26の出力が1のときに、信
号線101のリクエスト情報を参照すれば、その転送量
からライトデータがどのリクエストに付随するものかを
認識できる。
イトリクエストを示していれば、セレクタ20の出力を
参照し、値が1であって有効なリードエントリがあるこ
とを示していれば、バッファリードセレクタ16の値を
リクエスト情報セレクタ17で選択すべく信号線218
に1を出力し、同時にストローブレジスタ26を1にす
る。リクエスト処理部2では、信号線102を介して送
られたストローブレジスタ26の出力が1のときに、信
号線101のリクエスト情報を参照すれば、その転送量
からライトデータがどのリクエストに付随するものかを
認識できる。
【0019】図2は、リクエスト処理部2の詳細なブロ
ック図である。図2を参照すると、リクエスト処理部2
には、メモリ装置3に対しておこなったリクエスト処理
結果である図4(b)に示すリプライ情報を格納するリ
プライバッファ(以下、RPBと記す)50と、リード
リクエストのリプライの場合、リードデータを格納する
リードデータバッファ(以下、RDBと記す)70を備
える。
ック図である。図2を参照すると、リクエスト処理部2
には、メモリ装置3に対しておこなったリクエスト処理
結果である図4(b)に示すリプライ情報を格納するリ
プライバッファ(以下、RPBと記す)50と、リード
リクエストのリプライの場合、リードデータを格納する
リードデータバッファ(以下、RDBと記す)70を備
える。
【0020】RPB50はRQB10と同様の構成をと
っており、エントリの有効を示すVビット51、エント
リがデータ無しのリプライであることを示すRビット5
2、Vビットが1であるエントリを読み出すリードポイ
ンタ53およびバッファリードセレクタ55、Vビット
が1かつRビットが1であるエントリを読み出すリード
ポインタ54およびバッファリードセレクタ56を持
ち、転送制御部58において、カウンタ59を参照しな
がら、リプライセレクタ57、リプライレジスタ65お
よびストローブレジスタ66を制御してリプライを送信
する。また、RDB70においてもWDB30と同様の
構成でリードポインタ71、リードデータセレクタ72
およびリードデータレジスタ67を持つことにより、リ
ードデータを送信する。
っており、エントリの有効を示すVビット51、エント
リがデータ無しのリプライであることを示すRビット5
2、Vビットが1であるエントリを読み出すリードポイ
ンタ53およびバッファリードセレクタ55、Vビット
が1かつRビットが1であるエントリを読み出すリード
ポインタ54およびバッファリードセレクタ56を持
ち、転送制御部58において、カウンタ59を参照しな
がら、リプライセレクタ57、リプライレジスタ65お
よびストローブレジスタ66を制御してリプライを送信
する。また、RDB70においてもWDB30と同様の
構成でリードポインタ71、リードデータセレクタ72
およびリードデータレジスタ67を持つことにより、リ
ードデータを送信する。
【0021】図4を参照すると、リクエスタからリクエ
スト処理部2に送信されるリクエスト情報(a)には、
リクエスト識別番号404aが含まれていて、リクエス
ト処理部2で処理されたリクエストのリプライ情報
(b)もリクエスト識別番号404bが含まれている。
リプライ情報404bには、対応するリクエストのリク
エスト識別番号404aの値が入る。本発明の実施形態
において、後続のデータを伴わないリクエストが先行の
ライトリクエストを追い越す場合が発生するが、リクエ
スト順序は、リクエスタ1のリクエスト順序管理部29
において、リクエスト識別番号404aと404bを参
照して管理する。
スト処理部2に送信されるリクエスト情報(a)には、
リクエスト識別番号404aが含まれていて、リクエス
ト処理部2で処理されたリクエストのリプライ情報
(b)もリクエスト識別番号404bが含まれている。
リプライ情報404bには、対応するリクエストのリク
エスト識別番号404aの値が入る。本発明の実施形態
において、後続のデータを伴わないリクエストが先行の
ライトリクエストを追い越す場合が発生するが、リクエ
スト順序は、リクエスタ1のリクエスト順序管理部29
において、リクエスト識別番号404aと404bを参
照して管理する。
【0022】次に、本発明のリクエスタ1の実施形態の
動作について、図3を参照して詳細に説明する。図3
は、リクエスタ1の動作を示したタイミングチャートの
一例である。また、図5は図3を説明するためにタイミ
ングT0のRQB10およびVビット11およびRビッ
ト12の内容を示した図である。タイミングT0では、
リードポインタ13の値は0、リードポインタ14の値
は2を示している。RQB10のエントリ0には、ライ
トリクエストreq0が登録されており、転送量は32
バイトである。エントリ0のVビット11(0)は1で
あるので、req0は有効なリクエストであり、ライト
リクエストであるのでRビットは0になっている。
動作について、図3を参照して詳細に説明する。図3
は、リクエスタ1の動作を示したタイミングチャートの
一例である。また、図5は図3を説明するためにタイミ
ングT0のRQB10およびVビット11およびRビッ
ト12の内容を示した図である。タイミングT0では、
リードポインタ13の値は0、リードポインタ14の値
は2を示している。RQB10のエントリ0には、ライ
トリクエストreq0が登録されており、転送量は32
バイトである。エントリ0のVビット11(0)は1で
あるので、req0は有効なリクエストであり、ライト
リクエストであるのでRビットは0になっている。
【0023】ストローブレジスタ26を見ると、タイミ
ングT0で0であるので、リクエストセレクタ17では
req0が選択され、タイミングT1でreq0がリク
エストレジスタ25にセットされ、ストローブレジスタ
26に1がセットされる。タイミングT1では、カウン
タ19にはバッファリードセレクタ15から送られた転
送量32バイトに従い、3がセットされ、リードポイン
タ13および31は+1され、エントリ0のVビット1
1は0にリセットされる。
ングT0で0であるので、リクエストセレクタ17では
req0が選択され、タイミングT1でreq0がリク
エストレジスタ25にセットされ、ストローブレジスタ
26に1がセットされる。タイミングT1では、カウン
タ19にはバッファリードセレクタ15から送られた転
送量32バイトに従い、3がセットされ、リードポイン
タ13および31は+1され、エントリ0のVビット1
1は0にリセットされる。
【0024】タイミングT1からT3の間、カウンタ1
9はT毎に−1され、リードポインタ31はカウンタ1
9が0となるT4まで+1される。タイミングT1では
ストローブレジスタ26が1であるので、次のタイミン
グT2にリクエストを発行することはできない。タイミ
ングT2において、ストローブレジスタ26が0であ
る。
9はT毎に−1され、リードポインタ31はカウンタ1
9が0となるT4まで+1される。タイミングT1では
ストローブレジスタ26が1であるので、次のタイミン
グT2にリクエストを発行することはできない。タイミ
ングT2において、ストローブレジスタ26が0であ
る。
【0025】タイミングT2では、リードポインタ13
の値は0、リードポインタ14の値は2である。図5よ
りRQB10のエントリ1には有効なライトリクエスト
req1が登録されている。したがって、Vビット11
のセレクタ21の出力は1、Rビット12のセレクタ2
2の出力は0である。ここで、タイミングT2では、カ
ウンタ19の値が2であり、すなわち、先行リクエスト
のライトデータ送出中であるので、エントリ1のライト
リクエストreq1は発行されない。そこで、セレクタ
20を参照すると、セレクタ20は1を出力しており、
RQB10のエントリ2にデータを伴わない有効なリク
エストが存在することがわかり、これを発行することが
できる。
の値は0、リードポインタ14の値は2である。図5よ
りRQB10のエントリ1には有効なライトリクエスト
req1が登録されている。したがって、Vビット11
のセレクタ21の出力は1、Rビット12のセレクタ2
2の出力は0である。ここで、タイミングT2では、カ
ウンタ19の値が2であり、すなわち、先行リクエスト
のライトデータ送出中であるので、エントリ1のライト
リクエストreq1は発行されない。そこで、セレクタ
20を参照すると、セレクタ20は1を出力しており、
RQB10のエントリ2にデータを伴わない有効なリク
エストが存在することがわかり、これを発行することが
できる。
【0026】カウンタ19が0となるタイミングT4で
は、セレクタ21が1を示しているので、リードポイン
タ13の示すエントリ1のライトリクエストreq1を
発行することができる。次に、本発明のリクエスト処理
部2の実施形態について、図6を参照して詳細に説明す
る。 図6は、リクエスト処理部2の動作を示したタイミ
ングチャートの一例である。また、図7は図6を説明す
るためにタイミングT0のRPB50およびVビット5
1およびRビット52の内容を示した図である。 タイミ
ングT0では、リードポインタ53の値は0、リードポ
インタ54の値は2を示している。RPB50のエント
リ0には、リードリクエスト(req0)リプライrp
y0が登録されており、転送量は32バイトである。エ
ントリ0のVビット51(0)は1であるので、rpy
0は有効であり、リードリクエストリプライであるので
Rビットは0になっている。 ストローブレジスタ66を
見ると、タイミングT0で0であるので、リプライセレ
クタ57ではrpy0が選択され、タイミングT1でr
py0がリプライレジスタ65にセットされ、ストロー
ブレジスタ66に1がセットされる。タイミングT1で
は、カウンタ59にはバッファリードセレクタ55から
送られた転送量32バイトに従い、3がセットされ、リ
ードポインタ53および71は+1され、エントリ0の
Vビット51は0にリセットされる。 タイミングT1か
らT3の間、カウンタ59はT毎に−1され、リードポ
インタ71はカウンタ59が0となるT4まで+1され
る。 タイミングT1ではストローブレジスタ66が1で
あるので、次のタイミングT2にリプライを発行するこ
とはできない。タイミングT2において、ストローブレ
ジスタ66が0である。 タイミングT2では、リードポ
インタ53の値は0、リードポインタ54の値は2であ
る。図7よりRPB50のエントリ1には有効な、リー
ドリクエスト(req1)リプライrpy1が登録され
ている。したがって、Vビット51のセレクタ61の出
力は1、Rビット52のセレクタ62の出力は0であ
る。ここで 、タイミングT2では、カウンタ59の値が
2であり、すなわち、先行リプライのリードデータ送出
中であるので、エントリ1のリードデータ付きリプライ
rpy1は発行されない。そこで、セレクタ60を参照
すると、セレクタ60は1を出力しており、RPB50
のエントリ2にデータを伴わない有効なリプライが存在
することがわかり、これを発行することができる。 カウ
ンタ59が0となるタイミングT4では、セレクタ61
が1を示しているので、リードポインタ53の示すエン
トリ1のリードリクエストリプライrpy1を発行する
ことができる。以上述べたように、本発明は、転送時間
の長いライトデータ転送中あるいはリードデータ転送中
であっても、後続のデータを伴わないリクエストあるい
はリプライをバッファの中からサーチし、次々と発行す
ることができ、転送処理を効率化できる。
は、セレクタ21が1を示しているので、リードポイン
タ13の示すエントリ1のライトリクエストreq1を
発行することができる。次に、本発明のリクエスト処理
部2の実施形態について、図6を参照して詳細に説明す
る。 図6は、リクエスト処理部2の動作を示したタイミ
ングチャートの一例である。また、図7は図6を説明す
るためにタイミングT0のRPB50およびVビット5
1およびRビット52の内容を示した図である。 タイミ
ングT0では、リードポインタ53の値は0、リードポ
インタ54の値は2を示している。RPB50のエント
リ0には、リードリクエスト(req0)リプライrp
y0が登録されており、転送量は32バイトである。エ
ントリ0のVビット51(0)は1であるので、rpy
0は有効であり、リードリクエストリプライであるので
Rビットは0になっている。 ストローブレジスタ66を
見ると、タイミングT0で0であるので、リプライセレ
クタ57ではrpy0が選択され、タイミングT1でr
py0がリプライレジスタ65にセットされ、ストロー
ブレジスタ66に1がセットされる。タイミングT1で
は、カウンタ59にはバッファリードセレクタ55から
送られた転送量32バイトに従い、3がセットされ、リ
ードポインタ53および71は+1され、エントリ0の
Vビット51は0にリセットされる。 タイミングT1か
らT3の間、カウンタ59はT毎に−1され、リードポ
インタ71はカウンタ59が0となるT4まで+1され
る。 タイミングT1ではストローブレジスタ66が1で
あるので、次のタイミングT2にリプライを発行するこ
とはできない。タイミングT2において、ストローブレ
ジスタ66が0である。 タイミングT2では、リードポ
インタ53の値は0、リードポインタ54の値は2であ
る。図7よりRPB50のエントリ1には有効な、リー
ドリクエスト(req1)リプライrpy1が登録され
ている。したがって、Vビット51のセレクタ61の出
力は1、Rビット52のセレクタ62の出力は0であ
る。ここで 、タイミングT2では、カウンタ59の値が
2であり、すなわち、先行リプライのリードデータ送出
中であるので、エントリ1のリードデータ付きリプライ
rpy1は発行されない。そこで、セレクタ60を参照
すると、セレクタ60は1を出力しており、RPB50
のエントリ2にデータを伴わない有効なリプライが存在
することがわかり、これを発行することができる。 カウ
ンタ59が0となるタイミングT4では、セレクタ61
が1を示しているので、リードポインタ53の示すエン
トリ1のリードリクエストリプライrpy1を発行する
ことができる。以上述べたように、本発明は、転送時間
の長いライトデータ転送中あるいはリードデータ転送中
であっても、後続のデータを伴わないリクエストあるい
はリプライをバッファの中からサーチし、次々と発行す
ることができ、転送処理を効率化できる。
【0027】以上、この発明の実施形態を図面を参照し
て詳述してきたが、具体的な構成はこの実施形態に限ら
れるものではなく、この発明の要旨を逸脱しない範囲の
設計の変更等があってもこの発明に含まれる。
て詳述してきたが、具体的な構成はこの実施形態に限ら
れるものではなく、この発明の要旨を逸脱しない範囲の
設計の変更等があってもこの発明に含まれる。
【0028】
【発明の効果】本発明により、データ転送において効率
化がはかれる。その理由は、転送時間の長いデータ付き
転送の終了を待つことなく、バッファに登録されている
データ無し転送をできるだけ多く処理できるようにした
ためである。
化がはかれる。その理由は、転送時間の長いデータ付き
転送の終了を待つことなく、バッファに登録されている
データ無し転送をできるだけ多く処理できるようにした
ためである。
【図1】 本発明のデータ転送装置の一実施形態を示す
ブロック図である。
ブロック図である。
【図2】 図1のリクエスト処理部のブロック図であ
る。
る。
【図3】 本発明のデータ転送装置の一実施形態の動作
を示すタイミングチャートである。
を示すタイミングチャートである。
【図4】 (a)はリクエスト情報の構成図であり、
(b)はリプライ情報の構成図である。
(b)はリプライ情報の構成図である。
【図5】 図3に示す実施形態の動作を説明するための
図である。
図である。
【図6】 本発明のデータ転送装置の一実施形態の動作
を示すタイミングチャートである。
を示すタイミングチャートである。
【図7】 図6に示す実施形態の動作を説明するための
図である。
図である。
1……リクエスタ 2……リクエスト処理部 3……メモリ装置 10……リクエスト情報バッファ 11,51……Vビット 12,52……Rビット 13,14,53,54……リードポインタ 15,16,55,56……バッファリードセレクタ 17……リクエストセレクタ 18,58……転送制御部 19,59……カウンタ 20,60……ANDゲート 21,22,23,24,61,62,63,64……
セレクタ 25……リクエストレジスタ 26……ストローブレジスタ 27……ライトデータレジスタ 29……リクエスト順序管理部 30……ライトデータバッファ 32……ライトデータセレクタ 50……リプライ情報バッファ 57……リプライセレクタ 65……リプライレジスタ 66……ストローブレジスタ 67……リードデータレジスタ
セレクタ 25……リクエストレジスタ 26……ストローブレジスタ 27……ライトデータレジスタ 29……リクエスト順序管理部 30……ライトデータバッファ 32……ライトデータセレクタ 50……リプライ情報バッファ 57……リプライセレクタ 65……リプライレジスタ 66……ストローブレジスタ 67……リードデータレジスタ
Claims (3)
- 【請求項1】データ転送量に応じてデータを複数のフレ
ームに分けて転送することができ、データ線とは別にリ
クエストコードおよびアドレスの送信線を備えるデータ
転送装置において、 リクエストバッファに格納されたリクエストが有効であ
るか否かを管理する有効フラグと、リードリクエストま
たはメモリアクセスを行わないリクエストか否かを管理
するデータなしフラグとを、リクエスト単位毎に有し、 前記有効フラグを参照して前記リクエストバッファから
有効なリクエストを取り出す第1の取得手段と、 前記有効フラグおよび前記データなしフラグを参照して
リクエストバッファから有効かつデータなしのリクエス
トを取り出す第2の取得手段と、ライトデータ送出中でないときには、前記第1の取得手
段が取り出した有効なリクエストを発行し、ライトデー
タ送出中であるときには、前記第2の取得手段が取り出
した有効かつデータ無しのリクエストを発行する手段と
を備えることを特徴とするデータ転送装置。 - 【請求項2】データ転送量に応じて、データを複数のフ
レームに分けて転送することができるデータ転送装置で
あって、データ線と別に、リクエストコード・アドレス
・リプライコードの送信線を備えるデータ転送装置にお
いて、 リクエストの順序を管理する手段を備え、 リプライバッファに格納されたリプライが、有効である
か否かを管理する有効フラグと、データ無しか否かを管
理するデータ無しフラグとを、リプライ単位毎に備え、 リプライバッファから有効なリプライを取り出す手段
と、リプライバッファから有効かつデータ無しリプライ
を取り出す手段を備え、 リプライデータ送出中でないときには、リプライバッフ
ァから取り出した有効なリプライを発行する手段と、リ
プライデータ送出中であるときには、リプライバッファ
から取り出した有効かつデータ無しのリプライを送信す
る手段を備えることを特徴とするデータ転送装置。 - 【請求項3】 リクエストバッファに格納されたリクエ
ストが、有効であるか否かを管理する有効フラグと、リ
ードリクエストまたはメモリアクセスを行わないリクエ
ストか否かを管理するデータ無しフラグとを、リクエス
ト単位毎に備え、 リクエストバッファから有効なリクエストを取り出す手
段と、リクエストバッファから有効かつデータ無しリク
エストを取り出す手段を備え、 ライトデータ送出中でないときには、リクエストバッフ
ァから取り出した有効なリクエストを発行する手段と、 ライトデータ送出中であるときには、リクエストバッフ
ァから取り出した有効かつデータ無しのリクエストを発
行する手段とを 備えることを特徴とする請求項2記載の
データ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11586297A JP3251198B2 (ja) | 1997-05-06 | 1997-05-06 | データ転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11586297A JP3251198B2 (ja) | 1997-05-06 | 1997-05-06 | データ転送装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10308792A JPH10308792A (ja) | 1998-11-17 |
JP3251198B2 true JP3251198B2 (ja) | 2002-01-28 |
Family
ID=14672997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11586297A Expired - Fee Related JP3251198B2 (ja) | 1997-05-06 | 1997-05-06 | データ転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3251198B2 (ja) |
-
1997
- 1997-05-06 JP JP11586297A patent/JP3251198B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10308792A (ja) | 1998-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0542417B1 (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
JP3271125B2 (ja) | データを転送する方法と装置及びデータ転送をインタリーブする装置 | |
US6256713B1 (en) | Bus optimization with read/write coherence including ordering responsive to collisions | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
US5594927A (en) | Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits | |
JPH0640317B2 (ja) | デジタルデータ処理システム | |
US5603006A (en) | Cache control unit using a plurality of request stacks | |
EP0272705A2 (en) | Loosely coupled pipeline processor | |
US5845145A (en) | System for generating and sending a critical-world-first data response packet by creating response packet having data ordered in the order best matching the desired order | |
JPH0532775B2 (ja) | ||
EP0220990B1 (en) | Buffer storage control system | |
US6883077B2 (en) | Cache control device and method with TLB search before key receipt | |
JP3251198B2 (ja) | データ転送装置 | |
US6516343B1 (en) | Computer system and method for enhancing memory-to-memory copy transactions by utilizing multiple system control units | |
US6772300B1 (en) | Method and apparatus for managing out of order memory transactions | |
US4737908A (en) | Buffer memory control system | |
US5926840A (en) | Out-of-order fetching | |
JP2505298B2 (ja) | スプリットバスにおける可変バス幅指定方式及び可変バス幅情報受信方式 | |
US6904481B1 (en) | Bus sequence operation with automatic linking from current I/O information to subsequent I/O information | |
JPH0564385B2 (ja) | ||
JPH07319829A (ja) | データ転送方法 | |
JPH02310649A (ja) | 受信フレーム転送方式および通信制御装置 | |
JPH0833869B2 (ja) | データ処理装置 | |
JPH10111798A (ja) | 情報処理装置 | |
JP3207329B2 (ja) | バスコントローラおよびバス転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010814 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20011030 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |