JPH08272732A - データ転送方法及びデータ転送装置 - Google Patents

データ転送方法及びデータ転送装置

Info

Publication number
JPH08272732A
JPH08272732A JP7071217A JP7121795A JPH08272732A JP H08272732 A JPH08272732 A JP H08272732A JP 7071217 A JP7071217 A JP 7071217A JP 7121795 A JP7121795 A JP 7121795A JP H08272732 A JPH08272732 A JP H08272732A
Authority
JP
Japan
Prior art keywords
data
input
output
request
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7071217A
Other languages
English (en)
Inventor
Atsushi Mori
篤史 毛利
Hidetoshi Funakura
英俊 船倉
Takashi Nakano
孝 中野
Masaki Hashizume
雅樹 橋詰
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7071217A priority Critical patent/JPH08272732A/ja
Publication of JPH08272732A publication Critical patent/JPH08272732A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 メモリ装置と入出力装置との間に接続され、
メモリ装置から入出力装置に多量のデータ転送処理を行
なうためのデータ転送装置に関し、データ転送処理に関
する処理を簡素化することによって高性能でかつ安価な
データ転送装置を提供する。 【構成】 メモリ装置1と接続するためのBUS1と、
入出力装置3と接続するためのBUS2とに接続された
データ転送装置2であって、メモリ装置1から読み出し
たデータを保持しておくためのバッファと、入出力装置
1からのメモリ読み出しリクエストまたはバッファに蓄
えておいたデータの残量によってメモリ装置に読み出し
リクエストを生成するリクエスト制御部と、バッファへ
のデータの書き込み、バッファからのデータの読み出
し、バッファの初期化を行なうためのバッファ制御部を
備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、異なるバス間でデー
タ転送を効率のよく行なうデータ転送方法及びデータ転
送装置に関するものである。
【0002】
【従来の技術】コンピュータシステムの構成は、図14
に示すようなものである。すなわち、このコンピュータ
システムの構成100のように、通常CPUと呼ばれる
中央演算処理装置と、メモリ装置と、そして、入出力装
置とから構成されている。中央演算処理装置とメモリ装
置の間は比較的高速なシステムバス(SYSTEM B
US)で接続されており、メモリ装置と入出力装置の間
は比較的低速なバス(BUS)2で接続されている。入
出力装置1は、比較的低速なアクセスタイムを持つが大
容量である磁気ディスク等の外部記憶装置であり、メモ
リ装置は比較的高速なアクセスタイムを持つが小容量で
あるDRAM等のメモリである。
【0003】通常、アプリケーションプログラム等を実
行する場合は、はじめに入出力装置1にプログラムを格
納しておき、プログラム実行時にはバス2を介してメモ
リ装置にロードする。そしてロードされたプログラム
は、システムバスを介して中央演算処理装置によって実
行される。このようなシーケンスを実行することによっ
て、大容量のプログラムを高速に実行している。
【0004】近年では、システム構成が複雑になってき
たり、入出力装置側からの様々な要求があることから、
メモリ装置と入出力装置間で異なる仕様のバスを接続す
るような場合が出てきた。そのような場合は、図14の
101に示すように、メモリ装置と入出力装置2間をバ
ス接続装置を介して接続しなければならない。例えば、
より高速なデータ転送を実行しようという要求から、バ
ス2よりも高速なバス1を導入するため、低速なバス3
を持つ入出力装置2をバス1と接続するためにはバス接
続装置を介する必要が出てくる。
【0005】また、独特なインターフェイスであるバス
3を持つ入出力装置2をバス1に接続するために、バス
接続装置を介す必要が出てくる場合もある。また入出力
装置から中央演算処理装置を介さずに、直接メモリ装置
にアクセスする手法すなわちDMA(ダイナミック・メ
モリ・アクセス)手法を用いるために、その制御を司る
バス接続装置を介して入出力装置を接続する場合もあ
る。
【0006】通常、図14の101のような構成の場合
バス接続装置としては、バスブリッジDMAデータ転送
装置を用いる場合が多い。バスブリッジDMAデータ転
送装置については、後に、図15〜図16に基づき説明
するが、バスブリッジの場合は、バス1とバス3がほぼ
同程度の転送速度(単位時間に転送されるデータ量)を
持っており、バス1のデータ転送内容をほぼ透過的にバ
ス3に伝えること目的にしている。そのため、バスブリ
ッジの回路構成は比較的単純であり、データ転送制御に
関して複雑な処理はほとんど行なっていない。
【0007】一方、DMA転送制御については、後に、
図17〜図19に基づき説明するが、DMA転送制御の
場合は、バス1の転送速度がバス3の転送速度よりもか
なり高速な場合に用いられる場合が多い。すなわち、D
MA転送装置に入出力装置からのバス3を介してリクエ
ストされるデータをリードしてくる処理を制御させる方
が、バス1の空いている時に高速にデータリードが可能
となる。しかしその場合は、特開平5−334232号
公報記載のDMA転送制御装置について説明されている
ように、アドレスカウント以外に総データ転送数を知る
ためのサイズカウンタを内蔵する必要があり、制御が複
雑になる可能性がある。
【0008】まず、バスブリッジDMAデータ転送装置
について、図15〜図16に基づき説明する。図15
に、バスブリッジの場合の回路構成図(但し、回路構成
図は入出力装置からメモリ装置に対してデータフェッチ
処理のみしか記述していない。)を示す。1はメモリ装
置、3は入出力装置、110はバスブリッジで構成され
るバス接続装置である。メモリ装置とバス接続装置はバ
ス1で接続されており、入出力装置とバス接続装置はバ
ス3で接続されている。
【0009】次に、入出力装置3とバス接続装置110
間のインターフェイス信号について説明する。a1はア
ドレスバス、cm1はリード/ライト等を指定するコマ
ンド制御信号線、r1はリクエスト信号線、g2はアク
ノリッジ信号線、dc2はデータコンプリート信号線、
d11はデータ信号線である。
【0010】次に、メモリ装置1とバス接続装置110
間のインターフェイス信号について説明する。a2はア
ドレス信号線、r2はリクエスト信号線、g1はアクノ
リッジ信号線、dc1はデータコンプリート信号線、d
10はデータバスである。
【0011】また、バス接続装置110内部の信号c
1,c2,c50,c51は、データフェッチを制御す
るための信号線である。バス接続装置110内部におい
て、10はアドレス出力トライステートバッファ、11
はアドレスレジスタ、12はデータ転送制御部、14は
データレジスタ、15はデータ出力トライステートバッ
ファである。
【0012】次に、図15に示すバス接続装置110の
動作について、図16のタイミングチャートを用いて、
入出力装置3からのメモリ装置1に対するデータフェッ
チ処理に即して説明する。まず入出力装置3からバス接
続装置1に対してデータフェッチのためのリクエスト信
号r1が出力される。バス接続装置110は、リクエス
トを受けとると他の入出力装置とデータの転送を行なっ
ていなければ、入出力装置3に対してアクノリッジ信号
g2を出力する。この時点で、入出力装置110はバス
3のバス権(バス3を用いてバス接続装置との間で自由
にデータの送受を行なうことができるための権利)を獲
得したことになる。
【0013】バス権の獲得に同期して、入出力装置3は
リクエストアドレスa1とコマンド制御信号cm1をバ
ス接続装置110に出力する。バス接続装置110で
は、データ転送制御部12から、制御信号c2を出力し
て、アドレスa1をアドレスレジスタ11に取り込ん
で、データフェッチリクエストr2をメモリ装置1に対
して出力する。メモリ装置1でこのリクエストを受け付
ければ、バス接続装置に対してアクノリッジ信号g1を
出力する。この時点でバス3の時と同様に、バス接続装
置はバス1のバス権を獲得したことになる。
【0014】アクノリッジ信号に同期して、バス接続装
置110では、制御信号c1によってアドレス出力トラ
イステートバッファ10より、リクエストアドレスa2
をメモリ装置1に対して出力する。メモリ装置1では、
そのアドレスa2に対応した、フェッチ対象のデータを
データコンプリート信号線dc1と共にデータバスd1
0に出力する。バス接続装置110では、データコンプ
リート信号線がアサートされたタイミングで、制御信号
c50によりそのデータをデータレジスタに取り込む。
そして制御信号c51によりデータ出力トライステート
バッファから、データコンプリート信号線dc2と共に
データバスd11によりデータを出力する。データはバ
ス3を介して、入出力装置3に入力される。入出力装置
3は、データコンプリート信号線dc2がアサートされ
たタイミングで、データを取り込む。
【0015】以上の動作を、図16に示すバス接続装置
によるデータフェッチ処理のタイミングチャートに基づ
き、さらに詳細に説明する。このタイミングチャート
は、図15の動作説明の箇所で述べた各種信号線の動作
を時系列的に示したものである。このタイミングチャー
トは、バス1とバス3のデータ転送サイズ(データバス
のビット数)が同じ(すなわち固定長のデータ転送サイ
ズ)で、しかもバス1とバス3とバス接続装置が同一ク
ロック信号CLKに同期して動作していることを前提に
している。X1〜X12は、それぞれのクロックサイク
ルを示している。
【0016】まず入出力装置3から、X1に同期してリ
クエスト信号r1が出力され、そのリクエストに対して
X1内にバス接続装置からアクノリッジg2が返され
る。入出力装置3はアクノリッジg2を受け付けると、
バス接続装置110に対してリクエストアドレスA1を
a1を介して出力する。バス接続装置110は、X2で
リクエストアドレスをアドレスレジスタに取り込むと、
リクエストr2をX3に同期してメモリ装置1に対して
出力する。
【0017】メモリ装置1は、X3中にアクノリッジ信
号g1をバス接続装置110に対して出力する。バス接
続装置110は、アクノリッジ信号g1を受け付ける
と、リクエストアドレスA1をa2を介して出力する。
メモリ装置1は、そのアドレスA1をX4中に受け付け
ると、デコードしてそのアドレスに対するデータD1を
データコンプリート信号dc1と共にバス接続装置に出
力する。バス接続装置110は、データコンプリート信
号dc1がアサートされたX5のタイミングでデータD
1をd10を介してデータレジスタに取り込むととも
に、データコンプリート信号dc2と共にデータD1を
d2を介して入出力装置3に出力する。
【0018】入出力装置3は、データコンプリート信号
dc2がアサートされたタイミングX6でデータを取り
込む。そしてX7のタイミングで次にリクエスト信号R
2を出力する。リクエスト信号R2に対する処理は、リ
クエスト信号R1に対するデータフェッチシーケンス同
じ処理でデータのフェッチが実行される。すなわちR1
のリクエストに対して、6クロックサイクルかかってい
るので、R2のリクエストに対しても同様に6クロック
サイクルかかることになる。これらのデータフェッチ処
理は、最短の場合について示したが、実際は、X1やX
3中において、バス権を獲得するまでの間の処理にクロ
ック数を費やすことがある。
【0019】次に、DMA転送制御について、図17〜
図19に基づき説明する接続装置がDMA制御装置であ
る場合の構成図を、図17に示す。図17は、図15と
同様に、入出力装置3からメモリ装置1に対してなされ
るデータフェッチ処理のみしか示していない。
【0020】1はメモリ装置、3は入出力装置、111
はDMA制御を行なうバス接続装置である。メモリ装置
1とバス接続装置111はバス1で接続されており、入
出力装置3とバス接続装置111はバス3で接続されて
いる。
【0021】次に、入出力装置3とバス接続装置111
間のインターフェイス信号について説明する。a1はア
ドレス信号線、cm1はリード/ライト等を指定するコ
マンド制御信号線、r1はリクエスト信号線、g2はア
クノリッジ信号線、dc2はデータコンプリート信号
線、d2はデータ信号線である。
【0022】次にメモリ装置1とバス接続装置111間
のインターフェイス信号について説明する。a2はアド
レス信号線、r3はプリフェッチリクエスト信号線、g
1はアクノリッジ信号線、dc1はデータコンプリート
信号線、d1はデータ信号線である。c1,c2,c5
2,c53,c54,c55,c56,c57は、デー
タフェッチを制御するための制御信号線である。
【0023】10はアドレス出力トライステートバッフ
ァ、16はリクエストアドレス生成部、19はデータ転
送制御部、14は転送バッファ、15はデータ出力トラ
イステートバッファ、13はデータ転送バッファ制御
部、20はデータ転送量制御部である。
【0024】次に、図17に示すバス接続装置111の
動作を、入出力装置3からのメモリ装置1に対するデー
タフェッチ処理に即して説明する。まず入出力装置3か
らバス接続装置111に対してデータフェッチのための
リクエスト信号r1が出力される。バス接続装置111
は、リクエストを受けとると他の入出力装置とデータの
転送を行なっていなければ、入出力装置3に対してアク
ノリッジ信号g2を出力する。この時点で、入出力装置
3はバス3のバス権を獲得したことになる。
【0025】バス権の獲得に同期して、入出力装置3は
リクエストアドレスa1とコマンド制御信号線cm1を
バス接続装置111に出力する。バス接続装置111で
は、データ転送制御部19から、制御信号c2を出力し
て、アドレスa1をアドレスレジスタ11に取り込ん
で、データプリフェッチリクエストr3をメモリ装置1
に対して出力する。メモリ装置1はこのリクエストを受
け付ければ、バス接続装置に対してアクノリッジ信号g
1を出力する。この時点でバス3の時と同様に、バス接
続装置111はバス1のバス権を獲得したことになる。
【0026】アクノリッジ信号に同期して、バス接続装
置111は、制御信号c1によってアドレス出力トライ
ステートバッファより、リクエストアドレスa2をメモ
リ装置1に対して出力する。メモリ装置1は、そのアド
レスa2に対応した、フェッチ対象のデータをデータコ
ンプリート信号線dc1と共にデータバスd1に出力す
る。バス接続装置111は、データコンプリート信号線
がアサートされたタイミングで、制御信号c56により
そのデータをデータ転送バッファに取り込む。そして制
御信号c57によりデータ出力トライステートバッファ
から、データコンプリート信号線dc2と共にデータバ
スd11によりデータを出力する。データはバス3を介
して、入出力装置3に入力される。入出力装置3は、デ
ータコンプリート信号線dc2がアサートされたタイミ
ングで、データを取り込む。
【0027】図18に、図17に示すデータ転送バッフ
ァ14及びデータ転送バッファ制御部13そしてデータ
転送量制御部20の詳細な回路構成図を示す。14はデ
ータ転送バッファであり、データバスd1と同一のバス
幅であるレジスタRG100〜RG115の16本で構
成されている。15はデータ出力トライステートバッフ
ァである。30は16本のデータバッファ内のレジスタ
に1対1対応した、レジスタ内のデータが有効であるこ
とを示す有効フラグレジスタである。31は、プリフェ
ッチリクエストr3を生成するための制御部である。2
3は入力ポインタ部、33は出力ポインタ部である。
【0028】入力ポインタは、入力ポインタレジスタi
npp(この場合は、レジスタ数が16本なので4ビッ
トで構成される。)とインクリメンタinc1とデコー
ダdec1で構成されている。同様に出力ポインタも出
力ポインタレジスタoutpとインクリメンタinc2
とデコーダdec2で構成されている。入力ポインタ
は、次のデータをデータ転送バッファ内に取り込むレジ
スタを示しており、出力ポインタは次に出力するデータ
レジスタを示している。RG1はデータ転送量を保持す
るためのレジスタ、RG2は入出力装置から来ると予想
される次のリクエストアドレスである。DECはデクリ
メンタ、INCはインクリメンタ、cmp1,cmp2
は比較器である。
【0029】図17に示すDMA制御部では、データフ
ェッチのデータ転送幅は固定の場合について示している
ため、DECとINCを用いて常に固定のデータ転送幅
をデクリメント、インクリメントしている。
【0030】次に、図18に示した回路構成図の動作に
ついて説明する。この回路を用いて以下の4点の動作に
ついて説明する。 (1)データ転送長によるデータ転送量制御処理 (2)データがデータバッファに入力される処理 (3)データがデータバッファから出力される処理 (4)プリフェッチリクエストが生成される処理
【0031】(1)の場合の処理は、データ転送処理が
実行される前に行なわれる。すなわちDMA制御による
データ転送の場合、メモリ装置1から入出力装置3に対
して、どのアドレスからどれだけのデータ転送を行なう
かという指示をデータで渡す。その時にバス接続装置1
11は、データバスd1上のデータ転送長をデータ転送
量を制御するためのレジスタRG1に取り込む。そし
て、その後、入出力装置3からのリクエストによりデー
タ転送が開始され、データコンプリート信号dc2がア
サートされる毎に、固定のデータ転送サイズ分だけをデ
クリメンダDECで減算した値をレジスタRG1に取り
込む。そしてRG1の値が0になったことを比較器cm
p1が検出し、プリフェッチのリクエストをストップす
る。
【0032】(2)の場合、まずメモリ装置1からデー
タコンプリート信号dc2とデータd1がバス接続装置
111に出力される。データ転送バッファでは、入力ポ
インタの指し示しているレジスタRG11にd1よりデ
ータが取り込まれると共にそのレジスタに対応した有効
フラグレジスタに1がセットされる。そして入力ポイン
タは、データコンプリート信号dc2により、インクリ
メントされた値を入力ポインタレジスタに取り込む。ま
た、データ転送量が事前に取り込まれていたレジスタR
G1では、データコンプリート信号dc2によりデータ
転送サイズ分だけ減算された値が取り込まれる。
【0033】(3)の場合、まず入出力装置3からリク
エストアドレスa1が入力される。すると、事前に前回
のリクエストアドレスとデータ転送サイズを加算して取
り込んでいたレジスタRG2の値とa1を比較器cmp
2により比較して、一致すれば、データ出力トライステ
ートバッファをイネーブルにして、出力ポインタに示さ
れているレジスタRG102のデータをデータバスd2
に出力すると共に、そのレジスタRG102に対応した
有効フラグレジスタに0をセットする。そして、出力ポ
インタは出力ポインタレジスタoutpにインクリメン
トした値を取り込む。レジスタRG2には、今回のリク
エストアドレスにデータ転送サイズを加算した値を取り
込んでおく。
【0034】(4)の場合、データ転送量が0になると
比較器cmp1の値がアサートされ、それにともなって
プリフェッチリクエストr3がディアサートされる。ま
た、データバッファでは、出力ポインタが指しているレ
ジスタRG102から、入力ポインタが指しているレジ
スタRG111まで有効なデータが入っていることを示
している。たまたま出力ポインタが入力ポインタの指し
ている値マイナス1を指した場合、レジスタの有効フラ
グレジスタに全て1がセットされた状態となり、これ以
上データ転送バッファにデータを入力することができな
い。その場合プリフェッチリクエストr3は、ディアサ
ートされる。
【0035】次に、図17に示すバス接続装置111に
よるデータフェッチ処理のタイミングチャートを図19
に示す。タイミングチャートでは、図17の動作説明の
箇所で述べた各種信号線の動作を時系列的に示したもの
である。このタイミングチャートは、バス1とバス3の
データ転送幅(データバスのビット数)が同じで、しか
もバス1とバス3とバス接続装置が同一クロック信号C
LKに同期して動作していることを前提にしている。X
1〜X7は、それぞれのクロックサイクルを示してい
る。
【0036】まず入出力装置3から、X1に同期してリ
クエスト信号R3が出力され、そのリクエストに対して
X1内にバス接続装置111からアクノリッジg2が返
される。入出力装置3はアクノリッジg2を受け付ける
と、バス接続装置111に対してリクエストアドレスA
3をa1を介して出力する。バス接続装置111では、
X2でリクエストアドレスをアドレスレジスタに取り込
むと、リクエストr2をX3に同期してメモリ装置1に
対して出力する。
【0037】メモリ装置1は、X3中にアクノリッジ信
号g1をバス接続装置111に対して出力する。バス接
続装置111は、アクノリッジ信号g1を受け付ける
と、リクエストアドレスA3をa2を介して出力する。
メモリ装置1は、そのアドレスA3をX4中に受け付け
ると、デコードしてそのアドレスに対するデータD3を
データコンプリート信号dc1と共にバス接続装置に出
力する。
【0038】バス接続装置111は、データコンプリー
ト信号dc1がアサートされたX5のタイミングでデー
タD3をd2を介してデータ転送バッファに取り込む。
データ転送バッファ部は、1回のデータ転送幅のレジス
タ数個で構成されており、データ転送バッファ制御部1
3からの制御信号c56で指示されるレジスタにデータ
D3を取り込む。データD3を取り込んだ後は、制御信
号c56は、次のデータを取り込むための空のレジスタ
を指し示す。データ転送制御部19では、データD3を
取り込んだX5で、プリフェッチリクエストr3をA3
に連続する次のプリフェッチリクエストアドレスA4と
共にメモリ装置に出力する。
【0039】メモリ装置1は、そのリクエストアドレス
A4に対するデータD4とデータコンプリート信号dc
1をバス接続装置に対して出力する。バス接続装置11
1は、データ転送バッファ内の制御信号c56で指し示
すレジスタにデータD4を取り込む。このような一連の
プリフェッチ処理を繰り返しながら、データ転送がスト
ップされる条件が成立するまで、このプリフェッチ処理
は続けられる。
【0040】そして、バス接続装置111は、データD
3をデータ転送バッファに取り込んだ後に、データコン
プリート信号dc2と共にデータD3をd2を介して入
出力装置に出力する。入出力装置3は、データコンプリ
ート信号dc2がアサートされたタイミングX6でデー
タを取り込む。そしてX7のタイミングで次にリクエス
ト信号r4とリクエストアドレスA4を出力する。
【0041】バス接続装置111は、アドレスコンペア
処理を行なってアドレスが一致すれば、そのアドレスに
対するデータD4をデータコンプリート信号dc2と共
に、入出力装置に出力する。前述したようにリクエスト
R4に対するデータD4は、既にデータ転送バッファ1
4に取り込まれているので、X7で出力されたリクエス
トR4に対して、2クロック後のX9でデータD4が入
出力装置に転送されてくることになる。
【0042】このように、リクエスト信号R2に対する
処理は、データ転送バッファを用いた回路では、リクエ
スト信号R1に対するデータフェッチシーケンスよりも
4クロックも短縮されて実行されたことになる。これの
データフェッチ処理は、最短の場合について示したが、
実際は、X1やX3中にバス権を獲得するまでに数クロ
ックサイクルを費やすことになる。
【0043】
【発明が解決しようとする課題】以上のように、異なる
バス間でデータ転送を行なう場合、バス接続装置では制
御回路構成が簡単であるがデータ転送に時間がかかる
し、DMA制御装置では高速なデータ転送が可能である
がそのデータ転送に複雑な制御回路が必要であるという
問題があった。
【0044】本発明は上記のような問題点を解決するた
めになされたもので、バスブリッジとDMA転送制御装
置との中間に位置し、DMA制御装置よりもより単純な
制御により、バス接続装置よりも効率的にデータ転送を
行なうことができるデータ転送装置及びデータ転送方法
を提供することを目的としたものである。
【0045】
【課題を解決するための手段】請求項1に係るデータ転
送方法は、上記入出力装置からの第1の要求アドレス
が、前回の要求アドレスと連続しているかどうか判定す
る第1のステップと、上記第1のステップにおいて連続
していないと判定されたときに、上記第1の要求アドレ
スのデータを上記記憶装置から読み出して上記入出力装
置へ転送する第2のステップと、上記第1のステップに
おいて連続していると判定されたときに、上記第1の要
求アドレスに連続したアドレスの複数のデータを上記記
憶装置から読み出してデータバッファに格納する第3の
ステップと、上記入出力装置からの第2の要求アドレス
が上記データバッファに格納された複数のデータのアド
レスと一致するかどうか判定する第4のステップと、上
記第4のステップにおいて一致していると判定されたと
きに、上記データバッファから対応するデータを読み出
して上記入出力装置へ転送する第5のステップと、上記
第4のステップにおいて一致していないと判定されたと
きに、上記第1の要求アドレスのデータを上記記憶装置
から読み出して上記入出力装置へ転送する第6のステッ
プとを備えたものである。
【0046】請求項2に係るデータ転送装置は、上記記
憶装置からデータを読み出す読出手段と、上記読出手段
により読み出したデータを保持するデータバッファと、
上記データバッファからデータを取り出して、上記入出
力装置へ出力する出力手段と、上記記憶装置からデータ
を読み出して上記入出力装置へ転送する転送手段と、上
記入出力装置からの第1の要求アドレスが前回の要求ア
ドレスと連続しているかどうか判定するとともに、上記
入出力装置からの第2の要求アドレスが上記データバッ
ファに格納された複数のデータのアドレスと一致するか
どうか判定する判定器と、上記判定器によりアドレスが
連続していないと判定されたときに、上記第1の要求ア
ドレスのデータを上記記憶装置から読み出して上記入出
力装置へ転送するように上記転送手段を制御するととも
に、上記判定器によりアドレスが一致していないと判定
されたときに、上記第1の要求アドレスのデータを上記
記憶装置から読み出して上記入出力装置へ転送するよう
に上記転送手段を制御する第1の制御部と、上記判定器
によりアドレスが連続していると判定されたときに、上
記第1の要求アドレスに連続したアドレスの複数のデー
タを上記記憶装置から読み出して上記データバッファに
格納するように上記読出手段を制御するとともに、上記
判定器によりアドレスが一致していると判定されたとき
に、上記データバッファから対応するデータを読み出し
て上記入出力装置へ出力するように上記出力手段を制御
する第2の制御部とを備えたものである。
【0047】請求項3に係るデータ転送装置は、上記複
数の入出力装置に対応して上記記憶装置からデータをそ
れぞれ読み出す複数の読出手段と、上記複数の読出手段
により読み出したデータをそれぞれ保持する複数のデー
タバッファと、上記複数のデータバッファからデータを
取り出して、上記複数の入出力装置へそれぞれ出力する
複数の出力手段と、上記記憶装置からデータを読み出し
て上記複数の入出力装置へ転送する転送手段と、上記複
数の入出力装置からの第1の要求アドレスが前回の要求
アドレスと連続しているかどうかそれぞれ判定するとと
もに、上記複数の入出力装置からの第2の要求アドレス
が上記複数のデータバッファに格納された複数のデータ
のアドレスと一致するかどうかそれぞれ判定する複数の
判定器と、上記複数の判定器によりアドレスが連続して
いないと判定されたときに、上記第1の要求アドレスの
データを上記記憶装置から読み出して上記複数の入出力
装置へ転送するように上記転送手段を制御するととも
に、上記複数の判定器によりアドレスが一致していない
と判定されたときに、上記第1の要求アドレスのデータ
を上記記憶装置から読み出して上記複数の入出力装置へ
転送するように上記転送手段を制御する複数の第1の制
御部と、上記複数の判定器によりアドレスが連続してい
ると判定されたときに、上記第1の要求アドレスに連続
したアドレスの複数のデータを上記記憶装置から読み出
して上記複数のデータバッファにそれぞれ格納するよう
に上記読出手段を制御するとともに、上記複数の判定器
によりアドレスが一致していると判定されたときに、上
記複数のデータバッファから対応するデータを読み出し
て上記複数の入出力装置へそれぞれ出力するように上記
複数の出力手段を制御する複数の第2の制御部と、上記
複数の入出力装置からの複数の要求をあらかじめ定めら
れた優先順位に基づき選択する選択部とを備えたもので
ある。
【0048】請求項4に係るデータ転送装置は、上記デ
ータバッファをバイパスするように設けられ、上記記憶
装置からデータを読み出して上記入出力装置へデータを
転送するバイパス手段を備え、上記第2の制御部が、連
続アドレスの条件が成立した後に不連続アドレスを受け
たとき、上記不連続アドレスに対応するデータについて
上記バイパス手段によりデータ転送を行うように制御す
るものである。
【0049】請求項5に係るデータ転送装置は、上記読
出手段が上記記憶装置からデータを読み出す際のエラー
の発生を監視する監視手段と、上記エラーが発生したと
きに上記データバッファの内容を消去する消去手段とを
備えたものである。
【0050】請求項6に係るデータ転送装置は、上記読
出手段が上記記憶装置からデータを読み出す際のエラー
の発生を監視する監視手段と、上記エラーが発生したと
きにエラーデータに対応するフラグがセットされるエラ
ーフラグレジスタとを備えたものである。
【0051】請求項7に係るデータ転送装置は、上記判
定器に、前回の要求アドレスと前回のデータ転送サイズ
とを加算して得たアドレスと、上記入出力装置からの要
求アドレスとを比較する第1の比較器と、上記入出力装
置からの今回のデータ転送サイズとあらかじめ定められ
た最大転送サイズとを比較する第2の比較器と、上記第
1の比較器が一致を出力し、かつ、上記第2の比較器が
上記今回のデータ転送サイズが上記最大転送サイズ以内
であることを出力するときに、上記要求アドレスが連続
していると判定する論理回路とを備えたものである。
【0052】請求項8に係るデータ転送装置は、上記判
定器に、上記前回のデータ転送サイズが上記最大転送サ
イズに一致するときにフラグがセットされるフラグレジ
スタを備え、上記論理回路を、上記第1の比較器が一致
を出力し、上記第2の比較器が上記今回のデータ転送サ
イズが上記最大転送サイズ以内であることを出力し、か
つ、上記フラグレジスタがセットされているときに、上
記要求アドレスが連続していると判定する論理回路とを
備えたものである。
【0053】請求項9に係るデータ転送装置は、上記論
理回路を、上記第2の比較器が上記今回のデータ転送サ
イズが上記最大転送サイズに一致していると出力すると
きに、上記要求アドレスが連続していると判定するよう
に構成したものである。
【0054】
【作用】請求項1の発明においては、第1のステップで
上記入出力装置からの第1の要求アドレスが、前回の要
求アドレスと連続しているかどうか判定し、第2のステ
ップで上記第1のステップにおいて連続していないと判
定されたときに、上記第1の要求アドレスのデータを上
記記憶装置から読み出して上記入出力装置へ転送し、第
3のステップで上記第1のステップにおいて連続してい
ると判定されたときに、上記第1の要求アドレスに連続
したアドレスの複数のデータを上記記憶装置から読み出
してデータバッファに格納し、第4のステップで上記入
出力装置からの第2の要求アドレスが上記データバッフ
ァに格納された複数のデータのアドレスと一致するかど
うか判定し、第5のステップで上記第4のステップにお
いて一致していると判定されたときに、上記データバッ
ファから対応するデータを読み出して上記入出力装置へ
転送し、第6のステップで上記第4のステップにおいて
一致していないと判定されたときに、上記第1の要求ア
ドレスのデータを上記記憶装置から読み出して上記入出
力装置へ転送する。
【0055】請求項2の発明においては、読出手段が上
記記憶装置からデータを読み出し、データバッファが上
記読出手段により読み出したデータを保持し、出力手段
が上記データバッファからデータを取り出して、上記入
出力装置へ出力し、転送手段が上記記憶装置からデータ
を読み出して上記入出力装置へ転送し、判定器が、上記
入出力装置からの第1の要求アドレスが前回の要求アド
レスと連続しているかどうか判定するとともに、上記入
出力装置からの第2の要求アドレスが上記データバッフ
ァに格納された複数のデータのアドレスと一致するかど
うか判定し、第1の制御部が、上記判定器によりアドレ
スが連続していないと判定されたときに、上記第1の要
求アドレスのデータを上記記憶装置から読み出して上記
入出力装置へ転送するように上記転送手段を制御すると
ともに、上記判定器によりアドレスが一致していないと
判定されたときに、上記第1の要求アドレスのデータを
上記記憶装置から読み出して上記入出力装置へ転送する
ように上記転送手段を制御し、第2の制御部が、上記判
定器によりアドレスが連続していると判定されたとき
に、上記第1の要求アドレスに連続したアドレスの複数
のデータを上記記憶装置から読み出して上記データバッ
ファに格納するように上記読出手段を制御するととも
に、上記判定器によりアドレスが一致していると判定さ
れたときに、上記データバッファから対応するデータを
読み出して上記入出力装置へ出力するように上記出力手
段を制御する。
【0056】請求項3の発明においては、複数の読出手
段が上記複数の入出力装置に対応して上記記憶装置から
データをそれぞれ読み出し、複数のデータバッファが上
記複数の読出手段により読み出したデータをそれぞれ保
持し、複数の出力手段が上記複数のデータバッファから
データを取り出して、上記複数の入出力装置へそれぞれ
出力し、転送手段が上記記憶装置からデータを読み出し
て上記複数の入出力装置へ転送し、複数の判定器が、上
記複数の入出力装置からの第1の要求アドレスが前回の
要求アドレスと連続しているかどうかそれぞれ判定する
とともに、上記複数の入出力装置からの第2の要求アド
レスが上記複数のデータバッファに格納された複数のデ
ータのアドレスと一致するかどうかそれぞれ判定し、複
数の第1の制御部が、上記複数の判定器によりアドレス
が連続していないと判定されたときに、上記第1の要求
アドレスのデータを上記記憶装置から読み出して上記複
数の入出力装置へ転送するように上記転送手段を制御す
るとともに、上記複数の判定器によりアドレスが一致し
ていないと判定されたときに、上記第1の要求アドレス
のデータを上記記憶装置から読み出して上記複数の入出
力装置へ転送するように上記転送手段を制御し、複数の
第2の制御部が、上記複数の判定器によりアドレスが連
続していると判定されたときに、上記第1の要求アドレ
スに連続したアドレスの複数のデータを上記記憶装置か
ら読み出して上記複数のデータバッファにそれぞれ格納
するように上記読出手段を制御するとともに、上記複数
の判定器によりアドレスが一致していると判定されたと
きに、上記複数のデータバッファから対応するデータを
読み出して上記複数の入出力装置へそれぞれ出力するよ
うに上記複数の出力手段を制御し、選択部が上記複数の
入出力装置からの複数の要求をあらかじめ定められた優
先順位に基づき選択する。
【0057】請求項4の発明においては、上記データバ
ッファをバイパスするように設けられたバイパス手段
が、上記記憶装置からデータを読み出して上記入出力装
置へデータを転送し、上記第2の制御部が、連続アドレ
スの条件が成立した後に不連続アドレスを受けたとき、
上記不連続アドレスに対応するデータについて上記バイ
パス手段によりデータ転送を行うように制御する。
【0058】請求項5の発明においては、監視手段が、
上記読出手段が上記記憶装置からデータを読み出す際の
エラーの発生を監視し、消去手段が、上記エラーが発生
したときに上記データバッファの内容を消去する。
【0059】請求項6の発明においては、監視手段が、
上記読出手段が上記記憶装置からデータを読み出す際の
エラーの発生を監視し、エラーフラグレジスタが、上記
エラーが発生したときにエラーデータに対応するフラグ
をセットする。
【0060】請求項7の発明においては、上記判定器の
第1の比較器が、前回の要求アドレスと前回のデータ転
送サイズとを加算して得たアドレスと、上記入出力装置
からの要求アドレスとを比較し、第2の比較器が、上記
入出力装置からの今回のデータ転送サイズとあらかじめ
定められた最大転送サイズとを比較し、論理回路が、上
記第1の比較器が一致を出力し、かつ、上記第2の比較
器が上記今回のデータ転送サイズが上記最大転送サイズ
以内であることを出力するときに、上記要求アドレスが
連続していると判定する。
【0061】請求項8の発明においては、上記判定器の
フラグレジスタが、上記前回のデータ転送サイズが上記
最大転送サイズに一致するときにフラグをセットし、上
記論理回路が、上記第1の比較器が一致を出力し、上記
第2の比較器が上記今回のデータ転送サイズが上記最大
転送サイズ以内であることを出力し、かつ、上記フラグ
レジスタがセットされているときに、上記要求アドレス
が連続していると判定する。
【0062】請求項9の発明においては、上記論理回路
が、上記第2の比較器が上記今回のデータ転送サイズが
上記最大転送サイズに一致していると出力するときに、
上記要求アドレスが連続していると判定する。
【0063】
【実施例】
実施例1.この発明は、接続装置を介して入出力装置か
らメモリ装置を直接アクセスし、データをリードしてく
る処理(以下、データフェッチ処理と呼ぶ。)に関する
ものであり、効率のよいデータ転送を可能とするバス接
続装置を提供することを目的とする。
【0064】この発明は、以下の手順でデータの転送が
行なわれる。 (1)入出力装置から、リクエスト、アドレス、各種制
御信号が、バス接続装置に転送される。 (2)バス接続装置から、リクエスト、アドレス、各種
制御信号が、メモリ装置に転送される。 (3)メモリ装置から、フェッチ対象のデータが、バス
接続装置に転送される。 (4)バス接続装置から、フェッチ対象のデータが、入
出力装置に転送される。
【0065】また、その時のリクエスト出力から、その
データのフェッチまでの経路以下の通りである。 入出力装置−>バス2−>バス接続装置−>バス1−>
メモリ装置
【0066】次に、この実施例1のバス接続装置を、図
1について説明する。なお、従来例と同様に、回路構成
図は入出力装置からメモリ装置に対してデータフェッチ
処理のみしか記述していない。図1において、1はメモ
リ装置、3は入出力装置、2は本発明のバス接続装置で
ある。メモリ装置とバス接続装置はバス1で接続されて
おり、入出力装置とバス接続装置はバス3で接続されて
いる。
【0067】次に入出力装置3とバス接続装置2間のイ
ンターフェイス信号について説明する。a1はアドレス
信号線、cm1はリード/ライト等を指定するコマンド
制御信号線、r1はリクエスト信号線、g2はアクノリ
ッジ信号線、dc2はデータコンプリート信号線、d2
はデータ信号線である。
【0068】次にメモリ装置1とバス接続装置2間のイ
ンターフェイス信号について説明する。a2はアドレス
信号線、r4はプリフェッチリクエスト信号線、g1は
アクノリッジ信号線、dc1はデータコンプリート信号
線、d1はデータ信号線である。c1,c2,c4,c
5,c6,c7は、データフェッチを制御するための制
御信号線である。
【0069】また、バス接続装置2において、10はア
ドレス出力トライステートバッファ、16はリクエスト
アドレス生成部、21はデータ転送制御部、14はデー
タ転送バッファ、15はデータ出力トライステートバッ
ファ、13はデータ転送バッファ制御部である。図1の
バス接続装置2は、図17に示すDMA制御を行なうバ
ス接続装置と同様に、データ転送バッファ14を備えて
おり、データのプリフェッチが可能である。しかし、図
1のバス接続装置2は、図17にあるデータ転送量制御
部20を備えない。そして、アドレス信号線a1がデー
タ転送制御部21に入力されている。
【0070】次に、図1に示すバス接続装置2の動作
を、入出力装置3からのメモリ装置1に対するデータフ
ェッチ処理に即して説明する。まず入出力装置3からバ
ス接続装置2に対してデータフェッチのためのリクエス
ト信号r1が出力される。バス接続装置2は、リクエス
トを受けとると他の入出力装置とデータの転送を行なっ
ていなければ、入出力装置に対してアクノリッジ信号g
2を出力する。この時点で、入出力装置2はバス3のバ
ス権を獲得したことになる。
【0071】バス権の獲得に同期して、入出力装置3は
リクエストアドレスa1とコマンド制御信号線cm1を
バス接続装置2に出力する。バス接続装置2は、データ
転送制御部19から、制御信号c2を出力して、アドレ
スa1をアドレスレジスタ11に取り込んで、データプ
リフェッチリクエストr3をメモリ装置1に対して出力
する。メモリ装置1がこのリクエストを受け付ければ、
バス接続装置2に対してアクノリッジ信号g1を出力す
る。この時点でバス3の時と同様に、バス接続装置2は
バス1のバス権を獲得したことになる。
【0072】アクノリッジ信号に同期して、バス接続装
置2は、制御信号c1によってアドレス出力トライステ
ートバッファより、リクエストアドレスa2をメモリ装
置に対して出力する。メモリ装置1は、そのアドレスa
2に対応した、フェッチ対象のデータをデータコンプリ
ート信号線dc1と共にデータバスd1に出力する。デ
ータ転送バッファ制御部13は、データコンプリート信
号線dc1がアサートされたタイミング等をモニタして
おり、制御信号c4,c5でデータ転送制御部21と絶
えず情報をやりとりしながら、制御信号c6によりd1
よりデータをデータ転送バッファに取り込む。そして制
御信号c7によりデータ出力トライステートバッファか
ら、データコンプリート信号線dc2と共にデータバス
d2によりデータを出力する。データはバス3を介して
入出力装置へ出力される。入出力装置3は、データコン
プリート信号線dc2がアサートされたタイミングで、
データを取り込む。
【0073】次に、図1の実施例1のデータ転送制御部
21の詳細なブロック図を図2に示す。この実施例1で
は、データの転送サイズが一定の場合すなわち固定長の
データ転送サイズであるので、リクエストアドレスをモ
ニタしてデータ転送のプリフェッチの制御を行なってい
る。r1は入出力装置3からバス接続装置2へのリクエ
ストである。r3はメモリ装置1へのプリフェッチリク
エストである。32はそのプリフェッチリクエストr3
生成部である。a1はリクエストアドレスである。cm
p2は比較器であり、RG2はレジスタであり、INC
はインクリメンタである。これらの部分をまとめた制御
部S1は、データ転送が固定サイズの場合の連続アドレ
ス検出部である。htは、比較器cmp2で入力データ
を比較した結果の入力データが一致していればアサート
される信号である。L1は、比較器cmp2の結果を保
持する1ビットの信号保持回路である。prは、データ
保持回路L1の出力であり、データ転送バッファのプリ
フェッチリクエストになっている。fulは図17に示
すデータ転送バッファの有効フラグが全てセットされて
いる場合にアサートされるフル信号である。
【0074】次に、図2の回路の動作について説明す
る。入出力装置3からリクエストアドレスa1が入力さ
れると、レジスタRG2に保持されている値と比較器c
mp2で比較されて一致しているかどうか判定される。
そしてRG2には、リクエストアドレスa2をデータ転
送長分インクリメントINCでインクリメントした値が
格納される。例えば、4バイトの固定長データ転送の場
合、インクリメンタで、リクエストアドレスa1を+4
した値をRG2に格納する。リクエストアドレスa1が
アサートされたタイミングでht信号の値を保持回路L
1に保持する。すなわちht信号がアサートされていれ
ば、プリフェッチ信号prがイネーブルとなり、ht信
号がアサートされていなければpr信号がディセーブル
となる。プリフェッチリクエストr3生成部31では、
リクエストr1とプリフェッチリクエストprを調停
し、リクエストr3をメモリ装置1に対して出力する。
またfu1信号がアサートされていればリクエストr3
はリセットされる。
【0075】次に、図1のバス接続装置によるデータフ
ェッチ処理のタイミングチャートを図3に示す。タイミ
ングチャートでは、図1の動作説明の箇所で述べたデー
タフェッチ処理の各種信号線の動作を時系列的に示した
ものである。このタイミングチャートは、バス1とバス
3のデータ転送サイズ(データバスのビット数)が同じ
で、しかもバス1とバス3とバス接続装置が同一クロッ
ク信号CLKに同期して動作していることを前提にして
いる。X1〜X17は、それぞれのクロックサイクルを
示している。まず入出力装置から、X1に同期してリク
エスト信号R5が出力される。このリクエストはプリフ
ェッチリクエストではなく、そのデータD5が返ってく
るのは5クロック後のX6である。このリクエストR5
によるデータフェッチ処理は、図19で説明したリクエ
ストR3に対するデータフェッチ処理と同じである。
【0076】リクエストR5に対するデータフェッチ処
理がデータコンプリート信号dc2と共に終了すると、
次のリクエストR6が入出力装置3から出力される。リ
クエストR6は、リクエストR5のアドレスA5に対し
て連続アドレスA6を持つので、図2で説明したように
ht信号がアサートされ、リクエストr4はプリフェッ
チ信号としてR6〜R12のように連続的に出力され
る。そのプリフェッチリクエストR6〜R12に対する
データは、バス接続装置がバス1のバス権を獲得してい
る限り、データバスd1よりD6〜D12として連続的
にデータ転送されてくる。そしてデータD6〜D12
は、データ転送バッファに順に取り込まれていく。
【0077】リクエストR6に対するデータD6がデー
タバスd2より、データコンプリート信号dc2と共に
入出力装置3に転送されると、すぐに次の連続アドレス
を持つリクエストR7が入出力装置3からバス接続装置
2に出力される。バス接続装置2では、既にデータD7
がプリフェッチされてきているので、すぐにデータバス
d2より入出力装置2に出力する。リクエストR8に対
しても同様な処理が実行される。
【0078】ところがリクエストR8の次に、アドレス
A8に対して不連続アドレスAXを持つRXが入出力装
置より出力されると、ht信号がアサートされずにプリ
フェッチリクエストr4がリセットされ、リクエストR
Xが出力された後にはプリフェッチリクエストは出力さ
れない。このように、従来においてデータバッファ用の
プリフェッチリクエストの制御をデータ転送長等のデー
タで判定していたのに対し、連続アドレス、不連続アド
レスで判定することにより、より簡単な制御回路でほぼ
リクエストに応えたプリフェッチ制御を実現することが
できる。
【0079】実施例2.さらに、他の実施例のバス接続
装置を、図4に基づいて説明する。この実施例2のバス
接続装置の概略的な回路構成は、図1と同じである。但
し、この実施例2では、データの転送サイズが固定でな
く、複数種類のサイズのデータ転送が実施される。した
がって、図1のコマンド制御信号線cm1には、データ
転送のサイズを示す信号が含まれている。そしてデータ
転送制御部21は、リクエストアドレスとデータ転送サ
イズをモニタしてデータ転送のプリフェッチの制御を行
なっている。
【0080】r1は入出力装置3からバス接続装置2へ
のリクエストである。r3はメモリ装置1へのプリフェ
ッチリクエストである。33はそのプリフェッチリクエ
ストr3生成部である。a1はリクエストアドレスであ
り、cm1はコマンド制御信号線である。cmp2,c
mp3は比較器であり、RG2,RG3はレジスタであ
り、ADDは加算器である。これらの部分を含んでいる
制御部S2は、前回に連続するアドレスでかつ最大転送
サイズであることを検出する部分である。ht1,ht
2信号は、それぞれ比較器cmp2,cmp3で入力デ
ータが一致した時にアサートされるヒット信号である。
ht3はht1,ht2がアサートされている時に成立
するヒット信号である。L1は、ヒット信号ht3の値
を保持するための回路であり、その出力prはデータ転
送バッファのプリフェッチリクエストになっている。f
ulは図17に示すデータ転送バッファの有効フラグが
全てセットされている場合にアサートされるフル信号で
ある。
【0081】次に、図4の回路の動作について説明す
る。入出力装置3からリクエストアドレスa1とデータ
転送サイズcm1が入力されると、アドレスa1の値と
レジスタRG2の値が比較器cmp2で比較され、値が
一致していればヒット信号ht1がアサートされる。ま
た、比較器cmp3では、データ転送サイズcm1とレ
ジスタRG3を比較し、一致していればヒット信号ht
2をアサートする。レジスタRG2には、リクエストア
ドレスa1とデータ転送サイズcm1を加算器ADDで
加算した値が格納される。
【0082】レジスタRG3には、最大転送サイズが格
納されている。例えば、最大のデータ転送サイズが4バ
イトで、しかも2,4バイトのデータ転送が可能なバス
接続装置である場合、レジスタRG3には、データ転送
サイズ4バイトが格納されている。そして今回のリクエ
ストが最大の転送サイズで、しかも連続するアドレスで
ある場合に、ヒット信号ht3がアサートされる。ヒッ
ト信号ht3の値は、保持回路L1に取り込まれる。す
なわちht3信号がアサートされていれば、プリフェッ
チ信号prがイネーブルとなり、ht信号がアサートさ
れていなければpr信号がディセーブルとなる。プリフ
ェッチリクエストr3生成部33では、リクエストr1
とプリフェッチリクエストprを調停し、リクエストr
3をメモリ装置に対して出力する。
【0083】実施例3.さらに、他の実施例のバス接続
装置について、図5に基づいて説明する。この実施例3
のバス接続装置の概略的な回路構成は、図1と同じであ
る。但し、この実施例3では、図4で説明した実施例2
と同様に、データの転送サイズが一定でなくすなわち複
数種類のサイズのデータ転送が実施されるので、図1の
コマンド制御信号線cm1には、データ転送のサイズを
示す信号が含まれている。そしてデータ転送制御部21
では、リクエストアドレスとデータ転送サイズをモニタ
してデータ転送のプリフェッチの制御を行なっている。
【0084】r1は入出力装置3からバス接続装置2へ
のリクエストである。r3はメモリ装置1へのプリフェ
ッチリクエストである。r3はメモリ装置1へのプリフ
ェッチリクエストである。33はそのプリフェッチリク
エストr3生成部である。a1はリクエストアドレスで
あり、cm1はコマンド制御信号線である。cmp2,
cmp3は比較器であり、RG2,RG3はレジスタで
あり、ADDは加算器であり、F3はフラグレジスタで
ある。これらは含む制御部S3は、最大転送サイズが連
続で起こる場合の検出部である。ht1,ht2信号
は、それぞれ比較器cm2,cm3で入力データが一致
した時にアサートされるヒット信号である。ht4はh
t1,ht2、そしてフラグレジスタF3の出力が全て
アサートされている時に成立するヒット信号である。L
1は、ヒット信号ht4の値を保持するための回路であ
り、その出力であるprはデータ転送バッファのプリフ
ェッチリクエストになっている。fulは図17に示す
データ転送バッファの有効フラグが全てセットされてい
る場合にアサートされるフル信号である。
【0085】次に、図5の回路の動作について説明す
る。入出力装置3からリクエストアドレスa1とデータ
転送サイズcm1が入力されると、アドレスa1の値と
レジスタRG2の値が比較器cmp2で比較され、値が
一致していればヒット信号ht1がアサートされる。ま
た、比較器cmp3では、データ転送サイズcm1とレ
ジスタRG3を比較し、一致していればヒット信号ht
2をアサートする。ヒット信号ht2は、一致フラグと
してフラグレジスタF3に取り込まれる。レジスタRG
2には、リクエストアドレスa1とデータ転送サイズc
m1を加算器ADDで加算した値が格納される。
【0086】レジスタRG3には、最大転送サイズが格
納されている。例えば、最大のデータ転送サイズが4バ
イトで、しかも2,4バイトのデータ転送が可能なバス
接続装置である場合、レジスタRG3には、データ転送
サイズ4バイトが格納されている。そして前回のデータ
転送サイズが最大である場合すなわちフラグレジスタF
3に有効フラグがセットされており、しかも今回のリク
エストのデータサイズが最大でかつ連続アドレスである
場合に、ヒット信号ht4がアサートされる。ヒット信
号ht4の値は、保持回路L1に取り込まれる。すなわ
ちht4信号がアサートされていれば、プリフェッチ信
号prがイネーブルとなり、ht信号がアサートされて
いなければpr信号がディセーブルとなる。プリフェッ
チリクエストr3生成部34では、リクエストr1とプ
リフェッチリクエストprを調停し、リクエストr3を
メモリ装置1に対して出力する。
【0087】実施例4.では次に、他の実施例のバス接
続装置について、図6に基づいて説明する。従来例と同
様に、この図の回路構成は入出力装置からメモリ装置に
対してデータフェッチ処理のみしか記述していない。
【0088】1はメモリ装置、3は入出力装置、5はこ
の実施例4のバス接続装置である。メモリ装置1とバス
接続装置5とバス1で接続されており、入出力装置3と
バス接続装置5はバス3で接続されている。
【0089】次に入出力装置3とバス接続装置5間のイ
ンターフェイス信号について説明する。a1はアドレス
信号線、cm1はコマンド制御信号線、r1はリクエス
ト信号線、g2はアクノリッジ信号線、dc2はデータ
コンプリート信号線、d2はデータ信号線である。次に
メモリ装置1とバス接続装置5間のインターフェイス信
号について説明する。a2はアドレス信号線、r4はプ
リフェッチリクエスト信号線、g1はアクノリッジ信号
線、dc1はデータコンプリート信号線、d1はデータ
信号線である。c1,c2,c14,c15,c16,
c17は、データフェッチを制御するための制御信号線
である。
【0090】10はアドレス出力トライステートバッフ
ァ、16はリクエストアドレス生成部、22はデータ転
送制御部、14はデータ転送バッファ、15はデータ出
力トライステートバッファ、13はデータ転送バッファ
制御部、17はバイパスレジスタである。図17に示す
DMA制御を行なうバス接続装置と同様にデータ転送バ
ッファを備えており、データのプリフェッチが可能であ
る。しかし図17にあるようなデータ転送制御部は、こ
の実施例4のバス接続装置5には存在しない。そして、
アドレス信号線a1がデータ転送制御部22に入力され
ている。
【0091】次に、図6に示すバス接続装置の動作につ
いて説明する。通常の固定サイズの連続アドレスに対す
るデータフェッチの処理は、実施例1で説明した通りで
ある。この実施例4で実施例1と異なるのは、プリフェ
ッチを行なっている最中に不連続アドレスが来た場合、
バス接続装置はデータ転送バッファへのプリフェッチを
中止し、バイパス経路を介してその不連続アドレスのリ
クエストに対するデータフェッチを行なう機能を持つと
いうことである。すなわち、データ転送制御部22は、
図2に示す制御回路部s1を2セット内蔵しており、不
連続アドレスのリクエストが来るとそれを認識してヒッ
ト信号をアサートせず、それをデータ転送バッファ制御
部13に伝える(詳細な説明は、図7を用いて行なな
う)。
【0092】データ転送バッファ制御部13は、制御信
号c15によりデータ転送にデータを格納する処理をス
トップし、制御信号c17によりデータバス17の値を
バイパスレジスタに格納する。そしてさらに、入出力装
置3から連続アドレスが来れば、プリフェッチ処理がス
タートしデータ転送バッファにデータが格納される。こ
のように、データ転送バッファは連続アドレスのプリフ
ェッチ処理に使用され、バイパス処理のレジスタは単発
の不連続アドレスのフェッチに使用される。すなわち不
連続アドレスのリクエストが来た場合にデータ転送バッ
ファに既に格納したデータを消去することなく処理を進
行することができる。
【0093】図7に、図6のデータ転送制御部22内の
データ転送バッファとバイパスレジスタの切り替えを行
なう部分の制御回路を示す。図7に示すようにこの制御
回路は、図2に示す制御回路S1を2個内蔵したような
構成になっている。すなわち図7内のT1,T2がその
部分であり、それぞれ比較器cmp4,cmp5、レジ
スタRG4,RG5、インクリメンタINCを内蔵して
いる。a1はリクエストアドレスである。ht10,h
t11は、それぞれ比較器cmp4,cmp5で入力デ
ータを比較した結果、一致した場合にアサートされるヒ
ット信号である。en0,en1は、それぞれレジスタ
RG4,RG5にデータを取り込む際にアサートされる
イネーブル信号である。40は、ヒット信号ht10,
ht11の値からイネーブル信号en0,en1をアサ
ートするかどうかを判断する制御回路である。
【0094】次に、図7に示す制御回路の動作について
説明する。まず1回目のリクエストアドレスa1が入出
力装置3からバス接続装置5に入力されると、まずそれ
ぞれの連続アドレス検出部T1,T2に入力される。そ
してヒット信号ht10,ht11が双方ともアサート
されないと、制御回路40は、イネーブル信号en4を
アサートして、1回目のリクエストアドレスを固定サイ
ズ分インクリメントした値をRG4に取り込む。ここで
レジスタRG4には、データ転送バッファに最後に取り
込まれたデータのアドレスに対して連続するアドレスが
格納されたことになる。
【0095】そして第2回目のリクエストアドレスが第
1回目のリクエストアドレスに対して連続するアドレス
であった場合、連続アドレス検出部T1では、ヒット信
号ht10がアサートされる。その後の処理は、図2で
説明した通り、データプリフェッチ処理がスタートす
る。
【0096】そのため第3回目のリクエストアドレスが
第2回目のリクエストアドレスに対して連続である場合
は、同様に連続アドレス検出部T1でヒット信号がアサ
ートされ、データバッファより即座にプリフェッチされ
ているデータが入出力装置3に出力される。
【0097】第4回目のリクエストアドレスが第3回目
のリクエストアドレスに対して不連続であった場合、連
続アドレス検出部T1,T2ともヒット信号をアサート
しない。そのため、データ転送バッファ用のプリフェッ
チ信号はストップされる。そして、制御部40はイネー
ブル信号en5をアサートし、第4回目のリクエストア
ドレスを固定サイズ分インクリメントした値をレジスタ
RG5に格納する。そして第4回目のリクエストに対す
るフェッチデータは、バイパスレジスタに取り込み、そ
れ経由で入出力装置3に出力する。
【0098】そして第5回目のリクエストアドレスが第
3回目のリクエストアドレスに対して連続アドレスであ
る場合、連続アドレス検出部T1はヒットし、既にデー
タ転送バッファに格納されている第5回目のリクエスト
アドレスに対するデータを入出力装置3へ出力する。そ
してデータプリフェッチ処理を再開する。
【0099】また第5回目のリクエストアドレスが第4
回目のリクエストアドレスに対して連続であった場合、
連続アドレス検出部T1はヒット信号をアサートせず、
T2はヒット信号をアサートする。その場合は、制御部
40はイネーブル信号en5をアサートし、第5回目の
アドレスに固定サイズ分インクリメントした値をレジス
タRG5に取り込む。そしてデータ転送バッファにプリ
フェッチしているデータを消去し、新たに第5回目のリ
クエストアドレスに対するデータフェッチを開始する。
【0100】また第5回目のリクエストアドレスが第3
回目及び第4回目のいずれかのリクエストアドレスに対
しても不連続である場合、制御部40はイネーブル信号
en5を出力し、RG5に第5回目のリクエストアドレ
スを固定サイズ分インクリメントした値を取り込む。そ
して、第5回目のリクエストアドレスに対するデータ
は、バイパスレジスタに取り込まれ、入出力装置3に出
力される。
【0101】次に、図6に示すバス接続装置5によるデ
ータフェッチ処理のタイミングチャートを図8に示す。
タイミングチャートでは、図6の動作説明の箇所で述べ
たデータフェッチ処理の各種信号線の動作を時系列的に
示したものである。このタイミングチャートは、バス1
とバス3のデータ転送サイズ(データバスのビット数)
が同じで、しかもバス1とバス3とバス接続装置が同一
クロック信号CLKに同期して動作していることを前提
としている。X1〜X17は、それぞれのクロックサイ
クルを示している。
【0102】入出力装置から、X1に同期してリクエス
ト信号R20が出力される。この場合リクエストR20
は、前のリクエストのアドレスに対して連続であるリク
エストアドレスを持つので、図7で説明したようにht
10信号がアサートされ、リクエストr4はプリフェッ
チ信号としてR20〜R26のように連続的に出力され
る。
【0103】そのプリフェッチリクエストR20〜R2
6に対するデータは、バス接続装置5がバス1のバス権
を獲得している限り、データバスd1よりD20〜D2
6として連続的にデータ転送されてくる。
【0104】そしてデータD20〜D26は、データ転
送バッファに順に取り込まれていく。リクエストR20
に対するデータD20がデータバスd2より、データコ
ンプリート信号dc2と共に入出力装置3に転送される
と、すぐに次の連続アドレスを持つリクエストR21が
入出力装置3からバス接続装置5に出力される。
【0105】バス接続装置5のデータ転送制御部では、
連続アドレスが検出され、既にプリフェッチされている
データD21を、すぐにデータバスd2より入出力装置
に出力する。リクエストR22に対しても同様な処理が
実行される。
【0106】ところがリクエストR22の次に、アドレ
スA22に対して不連続アドレスAXを持つRXが入出
力装置5より出力されると、ht10信号がアサートさ
れずにプリフェッチリクエストr4がストップされ、そ
のリクエストRXに対するデータDXは、データバスd
1よりバイパスレジスタに取り込まれ、そのレジスタを
介してデータバスd2より、入出力装置3へ出力され
る。
【0107】そして、次に、アドレスA22に連続であ
るアドレスA23を持つリクエストR24が入出力装置
3からバス接続装置5に出力された場合、連続アドレス
ヒット信号がアサートされるので、即座に既にプリフェ
ッチされているデータD23がデータ転送バッファより
入出力装置3へ出力される。そして、データ転送バッフ
ァのプリフェッチ処理が次のプリフェッチアドレスA2
7からスタートされる。
【0108】実施例5.次に、図6に示すバス接続装置
の構成データ転送サイズが複数ある場合に対応した他の
実施例について説明する。通常の複数サイズの連続アド
レスに対するデータフェッチの処理は、実施例2及び3
で説明した通りである。この実施例5のバス接続装置
は、データ転送バッファ制御部に図3及び図4で示した
制御回路部S2及びS3を2個内蔵しており、サイズの
異なるリクエストでしかも連続不連続アドレスのリクエ
ストに対応したバイパス経路処理を行なう機能を有す
る。
【0109】この実施例5のデータ転送装置では、不連
続アドレスの判定の制御回路(実施例4の図7)が異な
るのみで、バイパス経路等を用いたデータフェッチの処
理等は、図6で説明したデータ転送装置と同じである。
【0110】実施例6.次に、メモリ装置からバス接続
装置に対するデータ転送時にエラーが発生した場合の実
施例について説明する。エラーが発生しない時の通常の
データ転送処理は、図1を用いて行なった実施例1と同
じである。エラーが発生しない時の回路構成も図1と同
じである。
【0111】エラーが発生した場合、メモリ装置からエ
ラー信号がバス接続装置のデータ転送制御部に入力され
る。データ転送制御部では、エラー信号が入力される
と、リトライ処理制御回路を内蔵していないので当然リ
トライ処理を行なわずに、データ転送バッファにプリフ
ェッチされているデータを消去する。
【0112】次に、実施例6のバス接続装置によるエラ
ー発生時のデータフェッチ処理のタイミングチャートを
図9に示す。このタイミングチャートは、バス1とバス
3のデータ転送サイズ(データバスのビット数)が同じ
で、しかもバス1とバス3とバス接続装置が同一クロッ
ク信号CLKに同期して動作していることを前提にして
いる。X1〜X14は、それぞれのクロックサイクルを
示している。入出力装置から、X1に同期してリクエス
ト信号R30が出力される。
【0113】この場合リクエストR30は、前のリクエ
ストのアドレスに対して連続であるリクエストアドレス
であるので、図2で説明したようにht信号がアサート
され、リクエストr5はプリフェッチ信号としてR30
〜R35のように連続的に出力される。
【0114】そのプリフェッチリクエストR30〜R3
5に対するデータは、バス接続装置がバス1のバス権を
獲得している限り、データバスd1よりD30〜D35
として連続的にデータ転送されてくる。
【0115】ところが、データD33(図9の斜線部デ
ータ)のメモリ装置からバス接続装置へのデータ転送で
エラーが検出され、エラー信号dpeが発生した場合、
プリフェッチリクエストr5はストップされ、プリフェ
ッチされているデータ転送バッファ内のデータは消去さ
れる。リトライ処理用の制御回路は内蔵していないので
リトライ処理は行なわれない。
【0116】そしてリクエストR30に対するデータD
30がデータバスd2より、データコンプリート信号d
c2と共に入出力装置に転送されると、すぐに次の連続
アドレスを持つリクエストR31が入出力装置からバス
接続装置に出力される。バス接続装置のデータ転送制御
部では連続アドレスが検出され、既にプリフェッチされ
ているデータD31を、即座にデータバスd2より入出
力装置に出力する。
【0117】さらに、リクエストR32が入出力装置か
らバス接続装置に出力された場合、既にエラーが発生し
データ転送バッファ内のデータが消去された後なので、
リクエストR32に対するデータフェッチは、図19に
示すリクエストR3に対するデータフェッチ処理と同様
なシーケンスでデータフェッチ処理が実行される。
【0118】実施例7.さらに、メモリ装置からバス接
続装置に対するデータ転送時にエラーが発生した場合の
他の実施例のバス接続装置について、図10に基づいて
説明する。従来例と同様に、回路構成図は入出力装置か
らメモリ装置に対してデータフェッチ処理のみしか記述
していない。
【0119】1はメモリ装置、3は入出力装置、6はこ
の実施例7のバス接続装置である。メモリ装置とバス接
続装置はバス1で接続されており、入出力装置3とバス
接続装置6はバス3で接続されている。
【0120】次に入出力装置3とバス接続装置6間のイ
ンターフェイス信号について説明する。a1はアドレス
信号線、cm1はコマンド制御信号線、r4はリクエス
ト信号線、g2はアクノリッジ信号線、dc2はデータ
コンプリート信号線、d2はデータ信号線である。
【0121】次にメモリ装置1とバス接続装置6間のイ
ンターフェイス信号について説明する。a2はアドレス
信号線、r4はプリフェッチリクエスト信号線、g1は
アクノリッジ信号線、dc1はデータコンプリート信号
線、cm2はデータ転送エラーを検出するための制御信
号線、efはエラーフラグレジスタの値を入出力装置3
へ出力するための信号線、d1はデータ信号線である。
c1,c2,c20,c21,c22,c23,c24
は、データフェッチを制御するための制御信号線であ
る。
【0122】10はアドレス出力トライステートバッフ
ァ、16はリクエストアドレス生成部、23はデータ転
送制御部、14はデータ転送バッファ、15はデータ出
力トライステートバッファ、24はデータ転送バッファ
制御部、18はエラーフラグレジスタである。エラーフ
ラグレジスタは、データ転送バッファ内のレジスタに1
対1に対応している。
【0123】次に、図10に示すバス接続装置の動作に
ついて説明する。通常の固定サイズの連続アドレスに対
するデータフェッチの処理は、図1の実施例1で説明し
た通りである。この実施例7で実施例1と異なるのは、
メモリ装置3からバス接続装置6へのデータ転送時にエ
ラーが発生した場合のデータフェッチ処理である。すな
わち、データ転送制御部23へは、メモリ装置1からデ
ータが送られてくる際に、データコンプリート信号dc
1と共に、データのエラーを検出するための制御信号c
m2が送られてくる。制御信号cm2の内容からデータ
転送制御部23内の制御回路でデータ転送エラーを検出
した場合、データ転送バッファ制御部を介して制御信号
c24により、そのエラー発生源のデータを取り込んだ
データ転送バッファ内のレジスタに対応したエラーフラ
グレジスタに有効ビットをセットする。そしてそのエラ
ーフラグレジスタの値は、データがバス接続装置6から
入出力装置へデータバスd2を介して出力される時に、
同時に信号線efを介して出力される。
【0124】次に、図10のバス接続装置6によるエラ
ー発生時のデータフェッチ処理のタイミングチャートを
図11に示す。このタイミングチャートは、バス1とバ
ス3のデータ転送サイズ(データバスのビット数)が同
じで、しかもバス1とバス3とバス接続装置が同一クロ
ック信号CLKに同期して動作していることを前提にし
ている。X1〜X12は、それぞれのクロックサイクル
を示している。
【0125】入出力装置3から、X1に同期してリクエ
スト信号R40が出力される。この場合リクエストR4
0は、前のリクエストのアドレスに対して連続であるリ
クエストアドレスであるので、図2で説明したようにh
t信号がアサートされ、リクエストr5はプリフェッチ
信号としてR40〜R45のように連続的に出力され
る。
【0126】そのプリフェッチリクエストR40〜R4
5に対するデータは、バス接続装置6がバス1のバス権
を獲得している限り、データバスd1よりD40〜D4
5として連続的にデータ転送されてくる。ところが、デ
ータD43(図11の斜線部データ)のメモリ装置から
バス接続装置へのデータ転送でエラーが検出され、エラ
ー信号dpeが発生した場合、リトライ処理用の制御回
路は内蔵していないのでリトライ処理は行なわれない。
その代わりに、エラー発生源のデータを格納したデータ
転送バッファ内のレジスタに対応したエラーフラグレジ
スタに有効ビットをセットしておく。
【0127】そしてリクエストR40に対するデータD
40がデータバスd2より、データコンプリート信号d
c2と共に入出力装置3に転送されると、すぐに次の連
続アドレスを持つリクエストR41が入出力装置3から
バス接続装置6に出力される。バス接続装置6のデータ
転送制御部では連続アドレスが検出され、既にプリフェ
ッチされているデータD41を、即座にデータバスd2
より入出力装置3に出力する。
【0128】さらに、リクエストR42が入出力装置3
からバス接続装置6に出力された場合も同様にデータD
42を入出力装置3に出力する。さらに、リクエストR
43が入力された場合は、そのアドレスに対するデータ
D43を入出力装置3に出力すると共に、エラーフラグ
の読みだし信号efにセットされた値が出力される。こ
の値を入出力装置に伝えることにより、D43は不正な
データであることを伝達する。
【0129】実施例8.さらに、入出力装置が2個以上
接続され、その入出力装置に対してそれぞれ入出力バッ
ファを持つ実施例のバス接続装置について、図12に基
づいて説明する。従来例と同様に、図12の回路構成は
入出力装置からメモリ装置に対してデータフェッチ処理
のみしか記述していない。
【0130】1はメモリ装置、IO3は入出力装置、I
O4は入出力装置、7はこの実施例8のバス接続装置で
ある。メモリ装置1とバス接続装置はバス1で接続され
ており、入出力装置1及び2とバス接続装置7は、それ
ぞれ専用バスで接続されている。
【0131】次に入出力装置1及び2とバス接続装置7
間のインターフェイス信号について説明する。a3,a
4はアドレス信号線、cm3,cm4はコマンド制御信
号線、r10,r11はリクエスト信号線、g3,g4
はアクノリッジ信号線、dc3,dc4はデータコンプ
リート信号線、d3,d4はデータ信号線である。
【0132】次にメモリ装置1とバス接続装置7間のイ
ンターフェイス信号について説明する。a2はアドレス
信号線、r6はデータフェッチリクエスト信号線、g1
はアクノリッジ信号線、dc1はデータコンプリート信
号線、d1はデータバスである。
【0133】10はアドレス出力トライステートバッフ
ァ、29はリクエストアドレス生成部、28はリクエス
トr6生成部、27はデータ転送制御部、14a,14
bはデータ転送バッファ、15はデータ出力トライステ
ートバッファ、25は入出力装置1用のデータ転送バッ
ファ制御部、26は入出力装置2用のデータ転送バッフ
ァ制御部である。S10は入出力装置1用の連続アドレ
ス検出部、S11は入出力装置2用の連続アドレス検出
部であり、図2に示すS1と同じものである。そして、
S10,S11の出力p3,p4は、それぞれ入出力装
置1及び2用のデータ転送バッファのプリフェッチリク
エストである。
【0134】図12に示すように、リクエストr6生成
部では、入出力装置1及び2のリクエストr10,r1
1と入出力装置1及び2のデータ転送バッファのプリフ
ェッチリクエストp3,p4の4個のリクエスト信号を
調停することになる。調停する場合は通常、それぞれの
リクエストに対してLRU制御等を行ない、一つのリク
エストばかり受け付けることのないようにしている。そ
して、このような制御の元にプライオリティの高いリク
エストから順に受け付けることになる。そのプライオリ
ティ制御例として次のようなものを提案し、それに即し
て動作を説明する。
【0135】フェッチリクエストr10,r11とプリ
フェッチリクエストp3,p4は、フェッチリクエスト
を優先する。入出力装置1と入出力装置2のフェッチリ
クエストr10,r11が重なると、前回受け付けてな
い方を優先する。入出力装置1と入出力装置2のプリフ
ェッチリクエストp3,p4が重なると、前回受け付け
てない方を優先する。
【0136】次に、図12のバス接続装置によるデータ
フェッチ処理の動作をタイミングチャート図13に基づ
いて説明する。まず、ほぼ同時に入出力装置1と2から
フェッチリクエストR110とR120がそれぞれ出力
されると、リクエストr6生成部では、まずプライオリ
ティの高いリクエストR110を受け付けて、入出力装
置1に対してg1を返す。
【0137】すると入出力装置1は、そのリクエストに
対するリクエストアドレスA110をバス接続装置に対
して出力する。バス接続装置では、そのアドレスを受け
付けると、R110に対するリクエストをr6に出力す
る(この場合、バス1はノーウェイトでデータ転送が行
なわれていると仮定する)。
【0138】そのリクエストR110に対して、g1が
メモリ装置1から返されると、すぐに入出力装置2から
のリクエストR120が受け付けられて、入出力装置2
に対してg4を返す。すると入出力装置2は、アドレス
A120をバス接続装置7に対して出力する。メモリ装
置1からリクエストR110に対するデータD110が
転送され、さらに入出力装置1に対してデータコンプリ
ート信号dc2と共にデータバスd3を介して出力され
る。
【0139】すると、次のリクエストR111が入出力
装置1からバス接続装置7へ出力される。同様に、入出
力装置2に対してもデータD120が入力されると、次
のリクエストR121をバス接続装置7に対して出力す
る。バス接続装置7でリクエストR111を受け付ける
と、連続アドレス検出部S10で入出力装置1からのリ
クエストアドレスが連続であることを検出し、次のプリ
フェッチリクエストp3を次のアドレスA112に対し
て出力する。
【0140】メモリ装置1でリクエストR111を受け
付けてそれに対してg1が返されると、リクエストr6
生成部28では、入出力装置2からのリクエストR12
1とプリフェッチリクエストP112を調停して、リク
エストR121を受け付ける。すると同様に連続アドレ
ス検出部S11で、入出力装置2からのリクエストアド
レスが連続であることを検出し、プリフェッチリクエス
トp4を次の連続アドレスA122に対して出力する。
【0141】そしてそのリクエストR121に対するメ
モリ装置1からのデータフェッチが実行される。メモリ
装置1でリクエストR112が受け付けられた次のタイ
ミングで、プリフェッチリクエストP112が受け付け
られて、リクエストr6から出力される。
【0142】そしてメモリ装置1でリクエストP112
が受け付けられた次のタイミングで、リクエストr6生
成部28では、プリフェッチリクエストP113とP1
22を調停し、P122を出力する。そしてメモリ装置
1でリクエストP122が受け付けられたタイミング
で、入出力装置1からリクエストR112が出力される
が、既にプリフェッチされているのでヒット信号ht1
0がアサートされ、そのデータD112が入出力装置1
へ出力される。
【0143】このように、入出力装置1及び2からのリ
クエストがヒットした場合(データ転送バッファ内にフ
ェッチ対象データが既に存在する)、リクエストr6生
成部28では調停対象のリクエストとみなさない。
【0144】このような処理を通して、バス接続装置内
の入出力装置が2つ以上接続された場合、それぞれの入
出力装置に対してデータ転送バッファとそれに付随した
制御回路を内蔵することにより、効率的にデータ転送可
能である。これらの効率は、リクエストの調停の手法に
依存することは間違いない。また、この実施例8のデー
タ転送装置は、特に、バス1のデータ転送効率が入出力
装置間とバス接続装置間のデータ転送効率よりも優れて
いる場合に効果を発揮する。
【0145】
【発明の効果】以上のように、請求項1または請求項2
の発明によれば、上記記憶装置からデータを読み出す読
出手段と、上記読出手段により読み出したデータを保持
するデータバッファと、上記データバッファからデータ
を取り出して、上記入出力装置へ出力する出力手段と、
上記記憶装置からデータを読み出して上記入出力装置へ
転送する転送手段と、上記入出力装置からの第1の要求
アドレスが前回の要求アドレスと連続しているかどうか
判定するとともに、上記入出力装置からの第2の要求ア
ドレスが上記データバッファに格納された複数のデータ
のアドレスと一致するかどうか判定する判定器と、上記
判定器によりアドレスが連続していないと判定されたと
きに、上記第1の要求アドレスのデータを上記記憶装置
から読み出して上記入出力装置へ転送するように上記転
送手段を制御するとともに、上記判定器によりアドレス
が一致していないと判定されたときに、上記第1の要求
アドレスのデータを上記記憶装置から読み出して上記入
出力装置へ転送するように上記転送手段を制御する第1
の制御部と、上記判定器によりアドレスが連続している
と判定されたときに、上記第1の要求アドレスに連続し
たアドレスの複数のデータを上記記憶装置から読み出し
て上記データバッファに格納するように上記読出手段を
制御するとともに、上記判定器によりアドレスが一致し
ていると判定されたときに、上記データバッファから対
応するデータを読み出して上記入出力装置へ出力するよ
うに上記出力手段を制御する第2の制御部とを備えたの
で、簡単な構成で効率の良いデータ転送が可能になる。
【0146】また、請求項3の発明によれば、上記複数
の入出力装置に対応して上記記憶装置からデータをそれ
ぞれ読み出す複数の読出手段と、上記複数の読出手段に
より読み出したデータをそれぞれ保持する複数のデータ
バッファと、上記複数のデータバッファからデータを取
り出して、上記複数の入出力装置へそれぞれ出力する複
数の出力手段と、上記記憶装置からデータを読み出して
上記複数の入出力装置へ転送する転送手段と、上記複数
の入出力装置からの第1の要求アドレスが前回の要求ア
ドレスと連続しているかどうかそれぞれ判定するととも
に、上記複数の入出力装置からの第2の要求アドレスが
上記複数のデータバッファに格納された複数のデータの
アドレスと一致するかどうかそれぞれ判定する複数の判
定器と、上記複数の判定器によりアドレスが連続してい
ないと判定されたときに、上記第1の要求アドレスのデ
ータを上記記憶装置から読み出して上記複数の入出力装
置へ転送するように上記転送手段を制御するとともに、
上記複数の判定器によりアドレスが一致していないと判
定されたときに、上記第1の要求アドレスのデータを上
記記憶装置から読み出して上記複数の入出力装置へ転送
するように上記転送手段を制御する複数の第1の制御部
と、上記複数の判定器によりアドレスが連続していると
判定されたときに、上記第1の要求アドレスに連続した
アドレスの複数のデータを上記記憶装置から読み出して
上記複数のデータバッファにそれぞれ格納するように上
記読出手段を制御するとともに、上記複数の判定器によ
りアドレスが一致していると判定されたときに、上記複
数のデータバッファから対応するデータを読み出して上
記複数の入出力装置へそれぞれ出力するように上記複数
の出力手段を制御する複数の第2の制御部と、上記複数
の入出力装置からの複数の要求をあらかじめ定められた
優先順位に基づき選択する選択部とを備えたので、記憶
装置に複数の入出力装置が接続された場合でも、簡単な
構成で効率の良いデータ転送が可能になる。
【0147】また、請求項4の発明によれば、上記デー
タバッファをバイパスするように設けられ、上記記憶装
置からデータを読み出して上記入出力装置へデータを転
送するバイパス手段を備え、上記第2の制御部が、連続
アドレスの条件が成立した後に不連続アドレスを受けた
とき、上記不連続アドレスに対応するデータについて上
記バイパス手段によりデータ転送を行うように制御する
ので、さらに、連続アドレスに対して処理しているとき
に不連続アドレスを受けた場合でも、不連続アドレスに
ついてデータ転送を行うことができるという効果を奏す
る。
【0148】また、請求項5の発明によれば、上記読出
手段が上記記憶装置からデータを読み出す際のエラーの
発生を監視する監視手段と、上記エラーが発生したとき
に上記データバッファの内容を消去する消去手段とを備
えたので、データ転送の際のエラーの影響を低減でき
る。
【0149】また、請求項6の発明によれば、上記読出
手段が上記記憶装置からデータを読み出す際のエラーの
発生を監視する監視手段と、上記エラーが発生したとき
にエラーデータに対応するフラグがセットされるエラー
フラグレジスタとを備えたので、データ転送の際のエラ
ーの影響を低減しつつ、エラーの生じたデータ以外のデ
ータ転送を効率よく行える。
【0150】また、請求項7ないし請求項9の発明によ
れば、上記判定器に、前回の要求アドレスと前回のデー
タ転送サイズとを加算して得たアドレスと、上記入出力
装置からの要求アドレスとを比較する第1の比較器と、
上記入出力装置からの今回のデータ転送サイズとあらか
じめ定められた最大転送サイズとを比較する第2の比較
器と、上記第1の比較器が一致を出力し、かつ、上記第
2の比較器が上記今回のデータ転送サイズが上記最大転
送サイズ以内であることを出力するときに、上記要求ア
ドレスが連続していると判定する論理回路とを備えたの
で、転送するデータのサイズが複数の種類ある場合にも
適用できる。
【図面の簡単な説明】
【図1】 この発明の実施例1に係るバス接続装置の機
能ブロック図である。
【図2】 この発明の実施例1のバス接続装置のデータ
転送制御部21の詳細な機能ブロック図である。
【図3】 この発明の実施例1に係るバス接続装置にお
けるデータフェッチ処理のタイミングチャートである。
【図4】 この発明の実施例2に係るバス接続装置の機
能ブロック図である。
【図5】 この発明の実施例3に係るバス接続装置の機
能ブロック図である。
【図6】 この発明の実施例4に係るバス接続装置の機
能ブロック図である。
【図7】 この発明の実施例4のバス接続装置のデータ
転送制御部22内のデータ転送バッファとバイパスレジ
スタの切り替えを行なう制御回路の機能ブロック図であ
る。
【図8】 この発明の実施例4に係るバス接続装置にお
けるデータフェッチ処理のタイミングチャートである。
【図9】 この発明の実施例6に係るバス接続装置にお
けるエラー発生時のデータフェッチ処理のタイミングチ
ャートである。
【図10】 この発明の実施例7に係るバス接続装置の
機能ブロック図である。
【図11】 この発明の実施例7に係るバス接続装置に
おけるエラー発生時のデータフェッチ処理のタイミング
チャートである。
【図12】 この発明の実施例8に係るバス接続装置の
機能ブロック図である。
【図13】 この発明の実施例8に係るバス接続装置に
おけるデータフェッチ処理のタイミングチャートであ
る。
【図14】 一般的なコンピュータシステムの概略図で
ある。
【図15】 従来のバスブリッジ型のバス接続装置の機
能ブロック図である。
【図16】 従来のバスブリッジ型のバス接続装置にお
けるデータフェッチ処理のタイミングチャートである。
【図17】 従来のDMA制御装置を用いたバス接続装
置の機能ブロック図である。
【図18】 従来のDMA制御装置を用いたバス接続装
置のデータ転送バッファ14及びデータ転送バッファ制
御部13そしてデータ転送量制御部20の詳細な回路構
成図である。
【図19】 従来のDMA制御装置を用いたバス接続装
置におけるデータフェッチ処理のタイミングチャートで
ある。
【符号の説明】
1 メモリ装置、2 バス接続装置、3 入出力装置、
5 バス接続装置、6バス接続装置、7 バス接続装
置、10 アドレス出力トライステートバッファ、11
アドレスレジスタ、12 データ転送制御部、13
データ転送バッファ制御部、14 データ転送バッフ
ァ、15 データ出力トライステートバッファ、16
リクエストアドレス生成部、17 バイパスレジスタ、
18 エラーフラグレジスタ、19 データ転送制御
部、20 データ転送量制御部、21データ転送制御
部、22 データ転送制御部、23 データ転送制御
部、24データ転送バッファ制御部、25 入出力装置
1用のデータ転送バッファ制御部、26 入出力装置2
用のデータ転送バッファ制御部、27 データ転送制御
部、28 リクエスト生成部、29 リクエストアドレ
ス生成部、30 有効フラグレジスタ、31 プリフェ
ッチリクエストr3を生成するための制御部、32 入
力ポインタ部、33 出力ポインタ部、34 プリフェ
ッチリクエストr3生成部、40 制御回路、100
バス接続装置を含まないコンピュータシステム、101
バス接続装置を含むコンピュータシステム、110
バスブリッジで構成されるバス接続装置、111 バス
接続装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 橋詰 雅樹 鎌倉市大船五丁目1番1号 三菱電機株式 会社情報システム研究所内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 記憶装置と入出力装置との間でデータ転
    送を行うデータ転送方法において、 上記入出力装置からの第1の要求アドレスが、前回の要
    求アドレスと連続しているかどうか判定する第1のステ
    ップと、 上記第1のステップにおいて連続していないと判定され
    たときに、上記第1の要求アドレスのデータを上記記憶
    装置から読み出して上記入出力装置へ転送する第2のス
    テップと、 上記第1のステップにおいて連続していると判定された
    ときに、上記第1の要求アドレスに連続したアドレスの
    複数のデータを上記記憶装置から読み出してデータバッ
    ファに格納する第3のステップと、 上記入出力装置からの第2の要求アドレスが上記データ
    バッファに格納された複数のデータのアドレスと一致す
    るかどうか判定する第4のステップと、 上記第4のステップにおいて一致していると判定された
    ときに、上記データバッファから対応するデータを読み
    出して上記入出力装置へ転送する第5のステップと、 上記第4のステップにおいて一致していないと判定され
    たときに、上記第1の要求アドレスのデータを上記記憶
    装置から読み出して上記入出力装置へ転送する第6のス
    テップとを備えたデータ転送方法。
  2. 【請求項2】 記憶装置と入出力装置との間でデータ転
    送を行うデータ転送装置において、上記記憶装置からデ
    ータを読み出す読出手段と、上記読出手段により読み出
    したデータを保持するデータバッファと、上記データバ
    ッファからデータを取り出して、上記入出力装置へ出力
    する出力手段と、上記記憶装置からデータを読み出して
    上記入出力装置へ転送する転送手段と、上記入出力装置
    からの第1の要求アドレスが前回の要求アドレスと連続
    しているかどうか判定するとともに、上記入出力装置か
    らの第2の要求アドレスが上記データバッファに格納さ
    れた複数のデータのアドレスと一致するかどうか判定す
    る判定器と、上記判定器によりアドレスが連続していな
    いと判定されたときに、上記第1の要求アドレスのデー
    タを上記記憶装置から読み出して上記入出力装置へ転送
    するように上記転送手段を制御するとともに、上記判定
    器によりアドレスが一致していないと判定されたとき
    に、上記第1の要求アドレスのデータを上記記憶装置か
    ら読み出して上記入出力装置へ転送するように上記転送
    手段を制御する第1の制御部と、上記判定器によりアド
    レスが連続していると判定されたときに、上記第1の要
    求アドレスに連続したアドレスの複数のデータを上記記
    憶装置から読み出して上記データバッファに格納するよ
    うに上記読出手段を制御するとともに、上記判定器によ
    りアドレスが一致していると判定されたときに、上記デ
    ータバッファから対応するデータを読み出して上記入出
    力装置へ出力するように上記出力手段を制御する第2の
    制御部とを備えたことを特徴とするデータ転送装置。
  3. 【請求項3】 記憶装置と複数の入出力装置との間でデ
    ータ転送を行うデータ転送装置において、上記複数の入
    出力装置に対応して上記記憶装置からデータをそれぞれ
    読み出す複数の読出手段と、上記複数の読出手段により
    読み出したデータをそれぞれ保持する複数のデータバッ
    ファと、上記複数のデータバッファからデータを取り出
    して、上記複数の入出力装置へそれぞれ出力する複数の
    出力手段と、上記記憶装置からデータを読み出して上記
    複数の入出力装置へ転送する転送手段と、上記複数の入
    出力装置からの第1の要求アドレスが前回の要求アドレ
    スと連続しているかどうかそれぞれ判定するとともに、
    上記複数の入出力装置からの第2の要求アドレスが上記
    複数のデータバッファに格納された複数のデータのアド
    レスと一致するかどうかそれぞれ判定する複数の判定器
    と、上記複数の判定器によりアドレスが連続していない
    と判定されたときに、上記第1の要求アドレスのデータ
    を上記記憶装置から読み出して上記複数の入出力装置へ
    転送するように上記転送手段を制御するとともに、上記
    複数の判定器によりアドレスが一致していないと判定さ
    れたときに、上記第1の要求アドレスのデータを上記記
    憶装置から読み出して上記複数の入出力装置へ転送する
    ように上記転送手段を制御する複数の第1の制御部と、
    上記複数の判定器によりアドレスが連続していると判定
    されたときに、上記第1の要求アドレスに連続したアド
    レスの複数のデータを上記記憶装置から読み出して上記
    複数のデータバッファにそれぞれ格納するように上記読
    出手段を制御するとともに、上記複数の判定器によりア
    ドレスが一致していると判定されたときに、上記複数の
    データバッファから対応するデータを読み出して上記複
    数の入出力装置へそれぞれ出力するように上記複数の出
    力手段を制御する複数の第2の制御部と、上記複数の入
    出力装置からの複数の要求をあらかじめ定められた優先
    順位に基づき選択する選択部とを備えたことを特徴とす
    るデータ転送装置。
  4. 【請求項4】 上記データバッファをバイパスするよう
    に設けられ、上記記憶装置からデータを読み出して上記
    入出力装置へデータを転送するバイパス手段を備え、上
    記第2の制御部が、連続アドレスの条件が成立した後に
    不連続アドレスを受けたとき、上記不連続アドレスに対
    応するデータについて上記バイパス手段によりデータ転
    送を行うように制御することを特徴とする請求項2また
    は請求項3に記載のデータ転送装置。
  5. 【請求項5】 上記読出手段が上記記憶装置からデータ
    を読み出す際のエラーの発生を監視する監視手段と、上
    記エラーが発生したときに上記データバッファの内容を
    消去する消去手段とを備えたことを特徴とする請求項2
    または請求項3に記載のデータ転送装置。
  6. 【請求項6】 上記読出手段が上記記憶装置からデータ
    を読み出す際のエラーの発生を監視する監視手段と、上
    記エラーが発生したときにエラーデータに対応するフラ
    グがセットされるエラーフラグレジスタとを備えたこと
    を特徴とする請求項2または請求項3に記載のデータ転
    送装置。
  7. 【請求項7】 上記判定器に、前回の要求アドレスと前
    回のデータ転送サイズとを加算して得たアドレスと、上
    記入出力装置からの要求アドレスとを比較する第1の比
    較器と、上記入出力装置からの今回のデータ転送サイズ
    とあらかじめ定められた最大転送サイズとを比較する第
    2の比較器と、上記第1の比較器が一致を出力し、か
    つ、上記第2の比較器が上記今回のデータ転送サイズが
    上記最大転送サイズ以内であることを出力するときに、
    上記要求アドレスが連続していると判定する論理回路と
    を備えたことを特徴とする請求項2ないし請求項6いず
    れかに記載のデータ転送装置。
  8. 【請求項8】 上記判定器に、上記前回のデータ転送サ
    イズが上記最大転送サイズに一致するときにフラグがセ
    ットされるフラグレジスタを備え、上記論理回路を、上
    記第1の比較器が一致を出力し、上記第2の比較器が上
    記今回のデータ転送サイズが上記最大転送サイズ以内で
    あることを出力し、かつ、上記フラグレジスタがセット
    されているときに、上記要求アドレスが連続していると
    判定する論理回路とを備えたことを特徴とする請求項7
    記載のデータ転送装置。
  9. 【請求項9】 上記論理回路を、上記第2の比較器が上
    記今回のデータ転送サイズが上記最大転送サイズに一致
    していると出力するときに、上記要求アドレスが連続し
    ていると判定するように構成したことを特徴とする請求
    項7記載のデータ転送装置。
JP7071217A 1995-03-29 1995-03-29 データ転送方法及びデータ転送装置 Pending JPH08272732A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7071217A JPH08272732A (ja) 1995-03-29 1995-03-29 データ転送方法及びデータ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7071217A JPH08272732A (ja) 1995-03-29 1995-03-29 データ転送方法及びデータ転送装置

Publications (1)

Publication Number Publication Date
JPH08272732A true JPH08272732A (ja) 1996-10-18

Family

ID=13454297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7071217A Pending JPH08272732A (ja) 1995-03-29 1995-03-29 データ転送方法及びデータ転送装置

Country Status (1)

Country Link
JP (1) JPH08272732A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820161B1 (en) 2000-09-28 2004-11-16 International Business Machines Corporation Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects
JP2007164793A (ja) * 2005-12-13 2007-06-28 Arm Ltd データ処理システムの中に分散された分配型ダイレクトメモリアクセス手段

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820161B1 (en) 2000-09-28 2004-11-16 International Business Machines Corporation Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects
JP2007164793A (ja) * 2005-12-13 2007-06-28 Arm Ltd データ処理システムの中に分散された分配型ダイレクトメモリアクセス手段

Similar Documents

Publication Publication Date Title
US5797033A (en) Direct memory access for storing and retrieving data based on packet size
JP3553946B2 (ja) データ処理命令の実行
KR20150129316A (ko) 명령 프로세싱 회로들에서의 리던던트 동기화 베리어들의 제거 및 관련 프로세서 시스템들, 방법들 및 컴퓨터-판독가능 매체
WO2001006363A1 (en) A method for improving interrupt response time
US6782433B2 (en) Data transfer apparatus
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US5928348A (en) Method of processing interrupt requests and information processing apparatus using the method
JP3420091B2 (ja) マイクロプロセッサ
JP3018038B2 (ja) キャッシュを有するデータ処理装置
JPH08272732A (ja) データ転送方法及びデータ転送装置
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
US10191867B1 (en) Multiprocessor system having posted transaction bus interface that generates posted transaction bus commands
JP3061106B2 (ja) バスブリッジおよびそれを備えた計算機システム
US6622181B1 (en) Timing window elimination in self-modifying direct memory access processors
US6715021B1 (en) Out-of-band look-ahead arbitration method and/or architecture
JP5549627B2 (ja) マイクロコンピュータ
US10365681B1 (en) Multiprocessor system having fast clocking prefetch circuits that cause processor clock signals to be gapped
JP2694799B2 (ja) 情報処理装置
US10366019B1 (en) Multiprocessor system having efficient and shared atomic metering resource
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
JP3039391B2 (ja) メモリシステム
JPH06231101A (ja) 受信タイムアウト検出機構
JP2990800B2 (ja) 割込み処理装置
US20050060475A1 (en) Data transfer apparatus and data transfer method
JP2004516545A (ja) プロセッサのリセット後の命令のロード