JP2003296266A - バス接続装置およびデータ転送制御方法 - Google Patents

バス接続装置およびデータ転送制御方法

Info

Publication number
JP2003296266A
JP2003296266A JP2002103082A JP2002103082A JP2003296266A JP 2003296266 A JP2003296266 A JP 2003296266A JP 2002103082 A JP2002103082 A JP 2002103082A JP 2002103082 A JP2002103082 A JP 2002103082A JP 2003296266 A JP2003296266 A JP 2003296266A
Authority
JP
Japan
Prior art keywords
data
transfer
read
bus
blocks
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
JP2002103082A
Other languages
English (en)
Inventor
Shozo Moriya
正三 森谷
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2002103082A priority Critical patent/JP2003296266A/ja
Publication of JP2003296266A publication Critical patent/JP2003296266A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 データ転送の転送要求装置がデータ転送の開
始および終了の管理を行っていて複数のバス間でのデー
タリードを行うときに転送データの総量を予め知ること
ができない場合に、同一の転送要求装置に対する最適な
先読みデータ量の動的な変化に合わせて先読みを最適化
することができるバス接続装置を提供する。 【解決手段】 バス接続装置11は、I/Oバス2上の
周辺装置31からシステムバス12上のメモリ13への
データリード要求を受けると、データ転送制御装置11
1によってデータリードを制御する。データリード開始
後、I/OバスI/F112から周辺装置31に1ブロ
ック分のデータが転送完了するまではメモリ13から先
読みを行わないように制御し、1ブロック分のデータが
転送完了した後に、周辺装置31がデータリードを継続
する場合に、先読みを開始するように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
におけるあるバス上の装置と他のバス上の装置との間で
のデータ転送に関するものである。
【0002】
【従来の技術】情報処理システムには、CPUやメモリ
などの間で高速のデータ転送を行うためのシステムバス
や、周辺装置が接続されてシステムバスよりは低速でデ
ータ転送が行われるI/Oバスが設けられている。ま
た、システムバスとI/Oバスとがバス接続装置によっ
て接続されることにより、システムバス上の装置とI/
Oバス上の装置との間でデータ転送がバス接続装置の制
御で可能となる。
【0003】このような情報処理システムにおいて、I
/Oバス上の装置とシステムバス上の装置との間で行わ
れるデータ転送として、例えばI/Oバスに接続された
周辺装置とシステムバスに接続されたメモリとの間で行
われるデータリードおよびデータライトがある。そし
て、このデータ転送において、周辺装置自身がデータ転
送の要求を発生する転送要求装置であってデータ転送の
開始および終了の管理を行っていて、バス接続装置がデ
ータ転送の開始および終了に関して周辺装置からの指示
を受けて動作する方式がある。周辺装置がメモリからデ
ータリードを行う場合には、周辺装置は最終データを受
け取ってみて初めてデータ転送を終了すべきことを判断
することができ、バス接続装置にデータ転送の終了を指
示する。従って、バス接続装置は、上記データリードを
行う場合に転送データの総量を予め知ることができな
い。
【0004】図6に、上記方式によるデータ転送のうち
周辺装置からメモリへのデータライトを行う場合のタイ
ミング図の一例を示す。同図にはバーストライトの場合
のデータ転送タイミングが示されている。周辺装置がデ
ータライト要求をI/Oバスを介してバス接続装置に送
出した後、周辺装置がデータライトの開始を指示する信
号としてメモリでの書き出しアドレスをI/Oバスを介
してバス接続装置に送出する。そしてデータ1、データ
2、…といったように連続的にデータをI/Oバスに送
出すると、バス接続装置がこれらのデータを順次システ
ムバスを介してメモリに転送する。周辺装置が最終デー
タ(図ではデータ6)を送出してデータ転送の終了を指
示する信号をバス接続装置に送出すると、バス接続装置
が最終データをメモリに転送した時点でデータ転送は終
了する。
【0005】また、図7(a)に、上記方式によるデー
タ転送のうち周辺装置からメモリにデータリードを行う
場合のタイミング図の一例を示す。同図にはシングルリ
ードの場合のデータ転送タイミングが示されている。周
辺装置がデータリード要求をI/Oバスを介してバス接
続装置に送出した後、データリードを指示する信号とし
てメモリでの読み出しアドレスをバス接続装置に送出す
ると、バス接続装置がメモリから上記アドレスのデータ
1を読み出し、I/Oバスを介して周辺装置に転送す
る。
【0006】また、図7(b)に、上記方式によるデー
タ転送のうち周辺装置からメモリにデータリードを行う
場合のタイミング図の他の例を示す。同図にはバースト
リードの場合のデータ転送タイミングが示されている。
これは図7(a)において周辺装置がデータを受け取っ
た後に、続けて次のデータを読み出したいのでデータリ
ードを継続する信号をデータ受け取りの度にバス接続装
置に送出しているものに相当する。周辺装置がデータ1
を受け取った後、このようにしてデータリードが継続さ
れて同図のようにデータ2、データ3のデータリードが
順次行われる。周辺装置はデータ3を受け取った後にそ
れ以上のデータ転送は必要ないと判断し、データリード
終了を指示する信号をバス接続装置に送出する。バス接
続装置はこの信号を受け取ると、メモリからのデータリ
ードを終了する。
【0007】次に、図8(a)および(b)に、上記方
式によるデータ転送のうち、バス接続装置内にバッファ
メモリを設けて、周辺装置からメモリへのデータリード
時にバス接続装置がバッファメモリにリードデータの先
読みを行う場合のタイミング図を示す。
【0008】図8(a)はシングルリードの場合のデー
タ転送タイミングを示しており、周辺装置がデータリー
ド要求をI/Oバスを介してバス接続装置に送出した
後、データリードの開始を指示する信号としてメモリで
の読み出しアドレスをバス接続装置に送出すると、バス
接続装置がメモリから上記アドレスのデータ1を読み出
し、I/Oバスを介して周辺装置に転送する。データ1
が周辺装置に転送終了となるまでには、バス接続装置は
先読みによってデータ2をメモリから読み出してバッフ
ァメモリに蓄積している。周辺装置はデータ1を受け取
るとそれ以上のデータ転送は必要ないと判断し、データ
リード終了を指示する信号をバス接続装置に送出する。
バス接続装置はこの信号を受け取るとデータリードを終
了するとともに、バッファメモリに蓄積していたデータ
2を破棄する。
【0009】図8(b)はバーストリードの場合のデー
タ転送タイミングを示しており、上記図8(a)で周辺
装置がデータ1を受け取った後もデータリード終了を指
示する信号を送出せずに、データ2、データ3、…を続
けて受け取る場合に相当する。この場合、周辺装置がデ
ータ1を受け取った後には、バス接続装置が先読みによ
ってバッファメモリに蓄積していたデータ2を、続けて
周辺装置に転送する。データ2が周辺装置に転送終了と
なるまでにはバス接続装置は次のデータ3を先読みによ
ってバッファメモリに蓄積しており、データ2の転送に
続いてデータ3を周辺装置に転送する。こうして先読み
を行うことにより、バス接続装置は、途切れることな
く、あるいは無駄な待ち時間を生じることなくデータ5
までを周辺装置に転送する。周辺装置はデータ5を受け
取るとそれ以上のデータ転送は必要ないと判断して、デ
ータリード終了を指示する信号をバス接続装置に送出す
る。バス接続装置はこの信号を受け取るとデータリード
を終了するとともに、先読みによってバッファメモリに
蓄積していたデータ6を破棄する。
【0010】上記図8(a)および(b)で説明したよ
うなデータの先読みを行うと、バス接続装置から周辺装
置へのデータ転送効率は向上する。ただし、周辺装置が
受け取ったデータを最終データと判断してデータリード
終了の指示信号を送出したときに、バス接続装置のバッ
ファメモリに先読みによって蓄積されていたデータは破
棄されるので、破棄データが先にメモリから読み出され
たときにシステムバスを占有していた時間が無駄にな
り、その分、バス全体の転送効率は低下する。従って、
バス全体の転送効率をあまり低下させないように、先読
みデータ量が最適化されていることが望ましい。
【0011】特開平9−288638号公報には、I/
Oバス上の装置がシステムバス上の主記憶装置に対して
データリードを要求するシステムにおいて、I/Oバス
上の装置ごとにバス接続装置内のバッファメモリへの最
適な先読みデータ量が予め格納されたテーブルをバス接
続装置に備えることが開示されている。I/Oバス上の
ある装置からシステムバス上の主記憶装置に対してデー
タリード要求があった場合には、バス接続装置はこの要
求を行ったI/Oバス上の装置に最適な先読みデータ量
を上記テーブルを参照することにより認識し、システム
バス上の装置から最適なデータ量の先読みを行って、I
/Oバス上の当該装置へデータ転送を行う。これによ
り、上記公報の技術は、データリード効率の向上と、無
駄な先読みの削減との両立を図ろうとしている。
【0012】
【発明が解決しようとする課題】しかしながら、実際の
システムでは、あるバス上の同一の装置に対する最適な
先読みデータ量が、全てのデータリード要求に対して同
一とはならず、動的に変化することが多い。
【0013】例えば、データリード要求を行うある1つ
の装置が、バス接続装置を介して他の装置に対して少量
のステータス情報の読み出しを定期的に行うとともに、
バス接続装置を介して不定期に大量の連続データを読み
出すようなシステムが一般に存在する。前述のようにデ
ータ転送の要求を行う装置自身がデータ転送の開始およ
び終了の管理を行っていて、データリードを行うときに
バス接続装置が転送データの総量を予め知ることができ
ない場合、データリード要求を行った装置がデータ転送
の終了を指示した時点でバッファメモリに蓄積されてい
たデータは不要となり破棄される。
【0014】従って、少量のデータしか転送されなかっ
た場合に、データの先読みを行っていると、破棄される
こととなったデータがシステムバスを占有していた時間
の、データ転送時間全体に占める割合が比較的大きくな
り、バス全体の転送効率は大きく低下する。一方、大量
のデータが転送された場合には上記割合が比較的小さい
ので、バス全体の転送効率はそれほど低下しない。この
ように、転送データ総量に応じて先読みデータ量がバス
全体の転送効率を変化させるため、少量のデータの読み
出し時と大量のデータの読み出し時とでは、最適な先読
みデータ量が異なる。
【0015】この例のように、情報処理システムでは最
適な先読みデータ量が動的に変化する。従って、前記公
報のようにI/Oバス上の装置ごとに設定されたテーブ
ルを参照して常に同じ先読みデータ量で先読みを行って
いると、先読みデータ量は最適とならないことが多い。
また、装置ごとに最適とされて設定された先読みデータ
量が、装置ごとの値としての意味を持たないことにな
る。
【0016】以上のように、従来は、転送データの要求
を発生する同一の転送要求装置に対する最適な先読みデ
ータ量の動的な変化に対して、先読みを最適化すること
が困難であるという問題があった。
【0017】本発明は、上記従来の問題点に鑑みなされ
たものであり、その目的は、データ転送の転送要求装置
がデータ転送の開始および終了の管理を行っていて複数
のバス間でのデータリードを行うときに転送データの総
量を予め知ることができない場合に、同一の転送要求装
置に対する最適な先読みデータ量の動的な変化に合わせ
て先読みを最適化することができるバス接続装置および
データ転送制御方法を提供することにある。
【0018】
【課題を解決するための手段】本発明のバス接続装置
は、上記課題を解決するために、複数のバスを備えると
ともにデータ転送の開始および終了をデータ転送の要求
を発生する転送要求装置が管理している情報処理システ
ムに設けられ、上記転送要求装置の要求したデータ転送
が上記転送要求装置の接続されているバスとは別のバス
に接続されている転送相手装置との間でのデータ転送で
ある場合に上記転送要求装置と上記転送相手装置との間
のデータ転送を制御し、制御するデータ転送が上記転送
相手装置からのデータリードである場合に上記転送相手
装置からの転送データの先読みが可能であって転送デー
タの総量を予め知ることができないバス接続装置におい
て、制御するデータ転送が上記データリードである場合
に、上記データリードの開始からの上記転送要求装置へ
のデータ転送進行状況に応じて、上記データリード中に
上記先読みの有無を切り替えることが可能であることを
特徴としている。
【0019】上記の発明によれば、転送要求装置からデ
ータリードの要求が発生されてデータリードの開始の指
示を受けたバス接続装置は、転送相手装置から転送デー
タを読み出して転送要求装置に転送する。このリードデ
ータ中に、バス接続装置はデータリードの開始からの転
送要求装置へのデータ転送進行状況に応じて、先読みの
有無を切り替えることができる。
【0020】従って、例えば、データリードの初期は、
データリードの開始からの転送要求装置への累積データ
転送量が少ないデータ転送進行状況にあることから、先
読みを行わずにデータ転送を行い、データ転送が少量の
データ量で終了した場合に、バス接続装置によって転送
相手装置から読み込まれて破棄されるデータがないよう
にすることができる。また、データリードにおいてデー
タ転送が少量のデータ量で終了しなかった場合には、上
記累積データ転送量が多いデータ転送進行状況にあるこ
とから、そこから先読みを開始して、バス接続装置によ
って転送相手装置から読み込まれて破棄されるデータが
あってもよいようにすることができる。
【0021】また、先読みを行っているデータリード中
に、バス接続装置から転送要求装置へのデータ転送をか
なり間欠的に行わざるを得なくなるなどして転送要求装
置へのデータ転送速度がデータリードの開始からの通常
の転送速度よりも実効的に大きく低下するデータ転送進
行状況となる場合もある。このような場合には、例え
ば、先読みを中断してバス接続装置内のデータがなくな
るたびに次のデータを1つ読み出すことにより、バス接
続装置内にできるだけデータを蓄積しないようにしなが
ら、低下した転送速度に適合したデータ転送を行うこと
ができる。また、この場合、転送速度が回復したときに
再び先読みを開始することができる。
【0022】このように先読みの有無を切り替えること
によって、同一の転送要求装置に対する最適な先読みデ
ータ量が動的に変化する場合にも、バス接続装置内に蓄
積されるデータの量を調節して先読みを最適化すること
ができる。
【0023】この結果、データ転送の転送要求装置がデ
ータ転送の開始および終了の管理を行っていて複数のバ
ス間でのデータリードを行うときに転送データの総量を
予め知ることができない場合に、同一の転送要求装置に
対する最適な先読みデータ量の動的な変化に合わせて先
読みを最適化することができるバス接続装置を提供する
ことができる。
【0024】さらに本発明のバス接続装置は、上記課題
を解決するために、制御するデータ転送のデータをブロ
ック単位で転送することを特徴としている。
【0025】上記の発明によれば、バス接続装置がブロ
ック単位でデータを転送するバスにおいて、ブロックと
ブロックとの間を他のデータの転送に開放することがで
きるので、制御するデータ転送のデータで該バスを長い
間占有せずにすむ。また、ブロック単位を該バスの転送
規格に合わせたものとすれば、バス接続装置によるデー
タ転送が情報処理システムにとって好ましい方式となる
とともに、バス接続装置によるデータ転送の制御が容易
になる。
【0026】さらに本発明のバス接続装置は、上記課題
を解決するために、上記データリードにおいて、上記デ
ータ転送進行状況が、上記転送要求装置への転送が完了
したデータのブロック数が所定ブロック数に達する状況
となるまでは上記先読みを行わず、上記データ転送進行
状況が、上記所定ブロック数に達した後に上記データリ
ードが継続する状況となる場合に上記先読みを開始する
ことを特徴としている。
【0027】上記の発明によれば、所定ブロック数を小
さい値に設定することにより、転送要求装置への転送デ
ータの総量が比較的少なかった場合に、先読みを行わず
に済むので、バス接続装置によって転送相手装置から読
み込まれて破棄されるデータをなくすことができる。そ
して、所定ブロック数に達した後にデータリードが継続
する場合に先読みを開始するが、これは転送要求装置へ
の転送データの総量が比較的多い場合に相当するので、
バス接続装置によって転送相手装置から読み込まれて破
棄されるデータがあってもバス全体の転送効率の低下を
問題ないレベルとすることができる。
【0028】従って、同一の転送要求装置に対する最適
な先読みデータ量が転送データの総量に応じて変化する
ことに合わせて、先読みを最適化することができる。
【0029】さらに本発明のバス接続装置は、上記課題
を解決するために、上記所定ブロック数と、1回の上記
先読みによって読み出すデータの先読みブロック数と
が、上記転送要求装置のそれぞれに対して個別に設定さ
れることを特徴としている。
【0030】上記の発明によれば、転送要求装置ごとに
転送データの総量のパターンが異なっていても、それぞ
れの転送要求装置に対して先読みを最適化することがで
きる。
【0031】さらに本発明のバス接続装置は、上記課題
を解決するために、過去に完了した上記転送要求装置に
よる所定回数分の上記データリードについて、上記転送
要求装置が接続されているバス上を上記データリードに
係る転送データが転送された時間の合計をデータ転送総
時間、上記転送要求装置が上記データリードの開始を指
示するアドレス発行を終了した時点から上記転送要求装
置が接続されているバス上を上記データリードに係る最
初の転送データが転送開始される時点までに要した時間
の合計を待機時間としてそれぞれ、上記転送要求装置単
位で求め、上記データ転送総時間および上記待機時間を
求めた上記転送要求装置に対して、上記データ転送総時
間を上記待機時間で除した値が所定値よりも大きい場合
には、以降に行う上記データリードでの上記先読みブロ
ック数を、上記先読み時に蓄積可能となる上限ブロック
数以下になる範囲で1つ増加させ、上記データ転送総時
間を上記待機時間で除した値が上記所定値よりも小さい
場合には、以降に行う上記データリードでの上記先読み
ブロック数を、0以上になる範囲で1つ減少させること
を特徴としている。
【0032】上記の発明によれば、過去のデータリード
の統計により求めたデータ転送総時間を待機時間で除し
た値が所定値よりも大きい場合には、先読みブロック数
を1つ増加させて上記値を所定値に近づける。また、デ
ータ転送総時間を待機時間で除した値が所定値よりも小
さい場合には、先読みブロック数を1つ減少させて上記
値を所定値に近づける。ただし、先読みブロック数の増
加は、先読み時に読み出したブロックがバス接続装置内
に蓄積可能となる上限ブロック数以下になる範囲で行
い、先読みブロック数の減少は、先読み時に読み出すブ
ロックが最も少ないときは先読みを行わないことと等し
くすることができるように先読みブロック数が0以上と
なる範囲で行う。
【0033】これは、転送相手装置が接続されているバ
スの転送速度と、転送要求装置が接続されているバスの
転送速度との差や、転送要求装置および転送相手装置の
データ処理能力が、データ転送総時間を待機時間で除し
た値に反映されていることに基づいたものである。
【0034】従って、情報処理システムのデータ転送処
理能力に合わせた最適な先読みを行うことができる。
【0035】さらに本発明のバス接続装置は、上記課題
を解決するために、過去に完了した上記転送要求装置に
よる上記データリードのうち転送データの総量が所定総
ブロック数以下となった所定回数分の上記データリード
について、上記各データリードの転送データの総量を表
すブロック数に現れる最大頻度ブロック数を、上記転送
要求装置単位で求め、上記最大頻度ブロック数を求めた
上記転送要求装置に対して以降に行う上記データリード
での上記所定ブロック数を上記最大頻度ブロック数とす
ることを特徴としている。
【0036】上記の発明によれば、過去のデータリード
の統計から、転送データの総量が所定総ブロック数以下
となるもののうちの最大頻度ブロック数を求め、以降に
行うデータリードで先読みを開始する基準となる所定ブ
ロック数を上記最大頻度ブロック数とする。
【0037】先読みを行ってデータリードを終了したと
きにバス接続装置によって読み込まれたデータの破棄が
問題となるのは、転送データの総量が比較的少ない場合
であるので、上記の所定ブロック数をこのような少ない
転送データの総量に合わせて設定することが望ましい
が、所定ブロック数の最適な値を予め規定することは困
難である。そこで上記のように統計をとるときに所定総
ブロック数を比較的小さな値に設定して所定ブロック数
の候補を大まかに決めておけば、最適な所定ブロック数
を最大頻度ブロック数として容易に求めることができ
る。
【0038】また、本発明のデータ転送制御方法は、上
記課題を解決するために、複数のバスを備えるとともに
データ転送の開始および終了をデータ転送の要求を発生
する転送要求装置が管理している情報処理システムのデ
ータ転送制御方法であって、上記転送要求装置の要求し
たデータ転送が上記転送要求装置の接続されているバス
とは別のバスに接続されている転送相手装置との間での
データ転送である場合に上記転送要求装置と上記転送相
手装置との間のデータ転送を制御し、制御するデータ転
送が上記転送相手装置からのデータリードである場合に
上記転送相手装置からの転送データの先読みが可能であ
って転送データ量の総量を予め知ることができないデー
タ転送制御方法において、制御するデータ転送が上記デ
ータリードである場合に、上記データリードの開始から
の上記転送要求装置へのデータ転送進行状況に応じて、
上記データリード中に上記先読みの有無を切り替えるこ
とが可能であることを特徴としている。
【0039】上記の発明によれば、転送要求装置からデ
ータリードの要求が発生されてデータリードの開始の指
示を受けると、転送相手装置から転送データを読み出し
て転送要求装置に転送する。このリードデータ中に、デ
ータリードの開始からの転送要求装置へのデータ転送進
行状況に応じて、先読みの有無を切り替えることができ
る。
【0040】従って、例えば、データリードの初期は、
データリードの開始からの転送要求装置への累積データ
転送量が少ないデータ転送進行状況にあることから、先
読みを行わずにデータ転送を行い、データ転送が少量の
データ量で終了した場合に余分に先読みが行われて破棄
されるデータがないようにすることができる。また、デ
ータリードにおいてデータ転送が少量のデータ量で終了
しなかった場合には、上記累積データ転送量が多いデー
タ転送進行状況にあることから、そこから先読みを開始
して、余分に先読みされて破棄されるデータがあっても
よいようにすることができる。
【0041】また、先読みを行っているデータリード中
に、転送相手装置からデータを読み込んだ後に行う転送
要求装置へのデータ転送をかなり間欠的に行わざるを得
なくなるなどして転送要求装置へのデータ転送速度がデ
ータリードの開始からの通常の転送速度よりも実効的に
大きく低下するデータ転送進行状況となる場合もある。
このような場合には、例えば、先読みを中断して転送相
手装置から読み込んだデータがなくなるたびに次のデー
タを1つ読み出すことにより、転送相手装置から読み込
んだデータをできるだけ蓄積しないようにしながら、低
下した転送速度に適合したデータ転送を行うことができ
る。また、この場合、転送速度が回復したときに再び先
読みを開始することができる。
【0042】このように先読みの有無を切り替えること
によって、同一の転送要求装置に対する最適な先読みデ
ータ量が動的に変化する場合にも、転送相手装置から読
み込んで蓄積したデータの量を調節して先読みを最適化
することができる。
【0043】この結果、データ転送の転送要求装置がデ
ータ転送の開始および終了の管理を行っていて複数のバ
ス間でのデータリードを行うときに転送データの総量を
予め知ることができない場合に、同一の転送要求装置に
対する最適な先読みデータ量の動的な変化に合わせて先
読みを最適化することができるデータ転送制御方法を提
供することができる。
【0044】さらに本発明のデータ転送制御方法は、上
記課題を解決するために、制御するデータ転送のデータ
をブロック単位で転送することを特徴としている。
【0045】上記の発明によれば、ブロック単位でデー
タを転送するバスにおいて、ブロックとブロックとの間
を他のデータの転送に開放することができるので、制御
するデータ転送のデータで該バスを長い間占有せずにす
む。また、ブロック単位を該バスの転送規格に合わせた
ものとすれば、制御するデータ転送が情報処理システム
にとって好ましい方式となるとともに、制御するデータ
転送の制御が容易になる。
【0046】さらに本発明のデータ転送制御方法は、上
記課題を解決するために、上記データリードにおいて、
上記データ転送進行状況が、上記転送要求装置への転送
が完了したデータのブロック数が所定ブロック数に達す
る状況となるまでは上記先読みを行わず、上記データ転
送進行状況が、上記所定ブロック数に達した後に上記デ
ータリードが継続する状況となる場合に上記先読みを開
始することを特徴としている。
【0047】上記の発明によれば、所定ブロック数を小
さい値に設定することにより、転送要求装置への転送デ
ータの総量が比較的少なかった場合に、先読みを行わず
に済むので、転送相手装置から読み込まれて破棄される
データをなくすことができる。そして、所定ブロック数
に達した後にデータリードが継続する場合に先読みを開
始するが、これは転送要求装置への転送データの総量が
比較的多い場合に相当するので、転送相手装置から読み
込まれて破棄されるデータがあってもバス全体の転送効
率の低下を問題ないレベルとすることができる。
【0048】従って、同一の転送要求装置に対する最適
な先読みデータ量が転送データの総量に応じて変化する
ことに合わせて、先読みを最適化することができる。
【0049】さらに本発明のデータ転送制御方法は、上
記課題を解決するために、上記所定ブロック数と、1回
の上記先読みによって読み出すデータの先読みブロック
数とが、上記転送要求装置のそれぞれに対して個別に設
定されることを特徴としている。
【0050】上記の発明によれば、転送要求装置ごとに
転送データの総量のパターンが異なっていても、それぞ
れの転送要求装置に対して先読みを最適化することがで
きる。
【0051】さらに本発明のデータ転送制御方法は、上
記課題を解決するために、過去に完了した上記転送要求
装置による所定回数分の上記データリードについて、上
記転送要求装置が接続されているバス上を上記データリ
ードに係る転送データが転送された時間の合計をデータ
転送総時間、上記転送要求装置が上記データリードの開
始を指示するアドレス発行を終了した時点から上記転送
要求装置が接続されているバス上を上記データリードに
係る最初の転送データが転送開始される時点までに要し
た時間の合計を待機時間としてそれぞれ、上記転送要求
装置単位で求め、上記データ転送総時間および上記待機
時間を求めた上記転送要求装置に対して、上記データ転
送総時間を上記待機時間で除した値が所定値よりも大き
い場合には、以降に行う上記データリードでの上記先読
みブロック数を、上記先読み時に蓄積可能となる上限ブ
ロック数以下になる範囲で1つ増加させ、上記データ転
送総時間を上記待機時間で除した値が上記所定値よりも
小さい場合には、以降に行う上記データリードでの上記
先読みブロック数を、0以上になる範囲で1つ減少させ
ることを特徴としている。
【0052】上記の発明によれば、過去のデータリード
の統計により求めたデータ転送総時間を待機時間で除し
た値が所定値よりも大きい場合には、先読みブロック数
を1つ増加させて上記値を所定値に近づける。また、デ
ータ転送総時間を待機時間で除した値が所定値よりも小
さい場合には、先読みブロック数を1つ減少させて上記
値を所定値に近づける。ただし、先読みブロック数の増
加は、先読み時に読み出したブロックが蓄積可能となる
上限ブロック数以下になる範囲で行い、先読みブロック
数の減少は、先読み時に読み出すブロックが最も少ない
ときは先読みを行わないことと等しくすることができる
ように先読みブロック数が0以上となる範囲で行う。
【0053】これは、転送相手装置が接続されているバ
スの転送速度と、転送要求装置が接続されているバスの
転送速度との差や、転送要求装置および転送相手装置の
データ処理能力が、データ転送総時間を待機時間で除し
た値に反映されていることに基づいたものである。
【0054】従って、情報処理システムのデータ転送処
理能力に合わせた最適な先読みを行うことができる。
【0055】さらに本発明のデータ転送制御方法は、上
記課題を解決するために、過去に完了した上記転送要求
装置による上記データリードのうち転送データの総量が
所定総ブロック数以下となった所定回数分の上記データ
リードについて、上記各データリードの転送データの総
量を表すブロック数に現れる最大頻度ブロック数を、上
記転送要求装置単位で求め、上記最大頻度ブロック数を
求めた上記転送要求装置に対して以降に行う上記データ
リードでの上記所定ブロック数を上記最大頻度ブロック
数とすることを特徴としている。
【0056】上記の発明によれば、過去のデータリード
の統計から、転送データの総量が所定総ブロック数以下
となるもののうちの最大頻度ブロック数を求め、以降に
行うデータリードで先読みを開始する基準となる所定ブ
ロック数を上記最大頻度ブロック数とする。
【0057】先読みを行ってデータリードを終了したと
きに転送相手装置から読み込まれたデータの破棄が問題
となるのは、転送データの総量が比較的少ない場合であ
るので、上記の所定ブロック数をこのような少ない転送
データの総量に合わせて設定することが望ましいが、所
定ブロック数の最適な値を予め規定することは困難であ
る。そこで上記のように統計をとるときに所定総ブロッ
ク数を比較的小さな値に設定して所定ブロック数の候補
を大まかに決めておけば、最適な所定ブロック数を最大
頻度ブロック数として容易に求めることができる。
【0058】
【発明の実施の形態】本発明の一実施の形態について、
図1ないし図6を用いて説明すれば、以下の通りであ
る。
【0059】図1に本実施の形態に係るバス接続装置が
設けられた情報処理システムの構成を示す。情報処理シ
ステムは、情報処理装置1、I/Oバス2、周辺装置3
1・32・33を備えている。情報処理装置1は、情報
処理システムが備えられる機器のコンピュータ制御を行
うためのメインコントローラであり、例えば複写機や複
合機、プリンタなどの画像に関する情報処理を行う機器
に設けられる。I/Oバス2は、情報処理装置1に周辺
装置31・32・33を接続するPCI(Peripheral Co
mponent Interconnect)バスなどのバスであって情報処
理装置1と接続されている。
【0060】周辺装置31・32・33は情報処理シス
テムの機能を拡張するために情報処理装置1に適宜接続
される装置であり、順にI/OバスI/F311・I/
OバスI/F321・I/OバスI/F331を備えて
おり、これらインタフェースを介してI/Oバス2に接
続されている。周辺装置31・32・33はそれぞれ、
I/Oバス2を介したデータ転送を要求するときにI/
Oバス2のマスタ装置となる。なお、I/Oバス2に接
続される周辺装置として上記のものは一例であり、一般
にはその数は任意でよい。
【0061】情報処理装置1は、バス接続装置11、シ
ステムバス12、メモリ13、CPU14、およびDM
Aコントローラ15を備えている。メモリ13、CPU
14、およびDMAコントローラ15は、順にシステム
バスI/F131、システムバスI/F141、システ
ムバスI/F151を備えており、これらインタフェー
スを介してシステムバス12に接続されている。システ
ムバス12は比較的高速のデータ転送を行うためのバス
であり、メモリ13、CPU14、DMAコントローラ
15はこのようなデータ転送を行うための装置としてシ
ステムバス12に接続されている。システムバス12上
でのデータ転送はデータがシステムバス規格に従った所
定のブロック単位で行われるようになっている。このシ
ステムバス規格は、CPU14に付随して設けられるキ
ャッシュメモリの仕様などで決定されている。
【0062】メモリ13はRAMであり、情報処理シス
テムの主記憶装置である。CPU14は情報処理システ
ムの制御を行う。DMAコントローラ15はシステムバ
ス12を介してCPU14以外の装置とメモリ13との
間のDMA転送を制御する。CPU14およびDMAコ
ントローラ15は、システムバス12を介したメモリ1
3との間でのデータ転送を要求するときにシステムバス
12のマスタ装置となり、これに対してメモリ13はマ
スタ装置のデータ転送要求に応じる装置としてのスレー
ブ装置となる。なお、システムバス12に接続される装
置として上記のものは一例であり、一般にはメモリ13
およびCPU14以外に任意のものが追加されるように
なっていてもよい。
【0063】上述したCPU14・DMAコントローラ
15・周辺装置31・32・33は、情報処理システム
においてデータ転送の要求を発生する転送要求装置であ
るが、同時にデータ転送の開始および終了を管理してい
る。
【0064】バス接続装置11は、データ転送制御装置
111、I/OバスI/F112、I/Oバス調停装置
113、システムバスI/F114、システムバス調停
装置115、I/OバスI/Fデータバス116、およ
びシステムバスI/Fデータバス117を備えている。
【0065】バス接続装置11は、システムバス12と
I/Oバス2とを接続し、システムバス12に接続され
た装置とI/Oバス2に接続された周辺装置との間での
データ転送を制御するものである。I/Oバス2がPC
Iバスである場合には、バス接続装置11はPCIバス
プロトコルに従ってデータ転送を制御する。本実施の形
態では、I/Oバス2に接続された周辺装置31・32
・33のいずれかが転送要求装置として、別のバスであ
るシステムバス12に接続された転送相手装置としての
メモリ13との間でのデータ転送を要求したときに、後
述する方法でデータ転送を行う。
【0066】なお、情報処理システムのバスとして、I
/Oバス2およびシステムバス12の2つを挙げたが、
本実施の形態ではバスは一般に複数でよく、これらを相
互に接続するバス接続装置を構成することができる。さ
らに、複数のバスの中には、互いに同じ規格のバスが存
在していてもよい。
【0067】データ転送制御装置111はバス接続装置
11のデータ転送を制御する。制御の際には、I/Oバ
ス調停装置113から伝達されるステータス信号sによ
って、バス接続装置11を用いたデータ転送を行うべき
か否かということと、そのデータ転送がいずれの周辺装
置の要求に基づくものであるかということとを認識す
る。そして、I/OバスI/F112およびシステムバ
スI/F114のデータ転送動作を制御する。制御の内
容については後で詳述する。また、データ転送制御装置
111はバス接続装置11内に転送データを一時的に蓄
積するためのバッファメモリを備えている。
【0068】I/OバスI/F112は、データ転送に
おけるバス接続装置11とI/Oバス2とのインタフェ
ースであり、データ転送を要求した周辺装置31・32
・33に対してデータ転送の要求を受ける装置としての
スレーブ装置となる。I/OバスI/F112はI/O
バスI/Fデータバス116を介してデータ転送制御装
置111と接続されている。要求されたデータ転送が周
辺装置31・32・33からメモリ13へのデータライ
トである場合には、これら周辺装置からの転送データを
バス接続装置11内に受け入れて、I/OバスI/Fデ
ータバス116を通してデータ転送制御装置111に送
出する。要求されたデータ転送が周辺装置31・32・
33からメモリ13へのデータリードである場合には、
データ転送制御装置111からI/OバスI/Fデータ
バス116を通して転送データを受け取り、要求を発生
した周辺装置へ送出する。
【0069】I/Oバス調停装置113は、周辺装置3
1・32・33のいずれかが転送要求を発生したときに
要求信号を受け入れて、I/Oバス2をその周辺装置に
割り当てる時間を調停する。そして、I/Oバス2を割
り当てた周辺装置の情報をステータス信号sでデータ転
送制御装置111に伝達する。
【0070】システムバスI/F114は、データ転送
におけるバス接続装置11とシステムバス12とのイン
タフェースであり、周辺装置31・32・33のいずれ
かがデータ転送の要求を発生したときにメモリ13への
アクセスを行うためにシステムバス12のマスタ装置と
なる。システムバスI/F114はシステムバスI/F
データバス117を介してデータ転送制御装置111と
接続されている。要求されたデータ転送が周辺装置31
・32・33からメモリ13へのデータライトである場
合には、その周辺装置からの転送データをデータ転送制
御装置111からシステムバスI/Fデータバス117
を通して受け入れ、メモリ13に送出する。要求された
データ転送が周辺装置31・32・33からメモリ13
へのデータリードである場合には、メモリ13から転送
データを読み出し、システムバスI/Fデータバス11
7を通してデータ転送制御装置111に送出する。
【0071】システムバス調停装置115は、CPU1
4、DMAコントローラ15、システムバスI/F11
4のいずれかがシステムバス12の占有権要求を発生し
たときに要求信号を受け入れて、システムバス12をそ
の要求を発生した装置に割り当てる時間を調停する。
【0072】次に、上記の構成のバス接続装置11によ
るデータ転送制御方法を、データ転送制御装置111の
制御内容を詳述しながら説明する。
【0073】まず、データ転送が、周辺装置31・32
・33のいずれかからメモリ13へのデータライトであ
る場合について説明する。例えば周辺装置31がメモリ
13へのデータライトの要求信号を送出した場合、バス
接続装置11では、I/Oバス調停装置113が周辺装
置31にI/Oバス2を割り当てる。周辺装置31は、
データライトの開始を指示する信号として、転送データ
のメモリ13への書き込み開始アドレスを、前述した図
6に示すようにバス接続装置11のI/OバスI/F1
12に送出する。
【0074】このとき、データ転送制御装置111はス
テータス信号sによって、メモリ13へのデータライト
が要求されていることと、データライトを要求した周辺
装置が周辺装置31であることとを認識している。続い
て周辺装置31は、図6に示すように最初のデータ1を
I/Oバス2上に送出する。本実施の形態では、I/O
バス2上を転送されるデータについてもシステムバス1
2と同じブロック単位で構成されており、データ1・2
・…のそれぞれが1ブロックで構成されているものとす
る。データ1はI/OバスI/F112によってバス接
続装置11内に受け入れられ、データ転送制御装置11
1に送出され、データ転送制御装置111はデータ1を
バッファメモリに蓄積する。データ転送制御装置111
はシステムバスI/F114に、システムバス調停装置
115にシステムバス12の占有権を要求する要求信号
を送出するよう制御し、システムバス調停装置115は
この要求信号を受けて、システムバス12をシステムバ
スI/F114に割り当てる。そして、データ転送制御
装置111はシステムバスI/F114に、バッファメ
モリのデータ1をメモリ13に書き込むよう制御する。
【0075】図6のデータライトはバーストライトであ
り、データ1がメモリ13に書き込まれている間に、周
辺装置31は図6に示すように、上述した方法でI/O
バス調停装置113からI/Oバス2の次の占有権を得
ると、データ2をバス接続装置11に送出し、データ転
送制御装置111はデータ2をバッファメモリに蓄積す
る。メモリ13へのデータ1の書き込みが終了して、上
述した方法でシステムバス調停装置115からシステム
バス12の次の占有権を得ると、データ転送制御装置1
11はシステムバスI/F114にデータ2を書き込む
よう制御する。
【0076】こうして、順次データをメモリ13に書き
込んでいき、周辺装置31が最終データであるデータ6
を送出すると、続いて周辺装置31は、データライトの
終了を指示する信号をI/Oバス調停装置113に送出
する。I/Oバス調停装置113はデータ転送制御装置
111にデータライトの終了をステータス信号sによっ
て伝達し、データ転送制御装置111はこのステータス
信号sを受けて、データ6をメモリ13に書き込む制御
を行った後、データライトの制御を終了する。
【0077】次に、データ転送が、周辺装置31・32
・33のいずれかからメモリ13へのデータリードであ
る場合について説明する。
【0078】前述したように周辺装置31・32・33
は転送要求装置となるが、データリードの場合には、受
け取る転送データの総量を予め知ることができず、従っ
て、バス接続装置11も上記総量を予め知ることができ
ない。バス接続装置11は、転送要求装置がデータ転送
の終了を指示する信号を送出してくると、データリード
の制御を終了する。バス接続装置11はこのデータリー
ド中にデータ転送制御装置111のバッファメモリへの
先読みを行うことが可能であるが、データ転送制御装置
111はこの先読みの有無の切り替えをデータリード中
に制御することができるようになっている。
【0079】まず、図2(a)に、シングルリードによ
るデータリードを行う場合のデータ転送タイミングを示
す。例えば周辺装置31がメモリ13からのデータリー
ドの要求信号をI/Oバス調停装置113に送出した場
合に、I/Oバス調停装置113は周辺装置31にI/
Oバス2を割り当てる。周辺装置31は、データリード
の開始を指示する信号として、転送データのメモリ13
からの読み出し開始アドレスを、バス接続装置11のI
/OバスI/F112に送出する。
【0080】このとき、データ転送制御装置111はス
テータス信号sによって、メモリ13からのデータリー
ドが要求されていることと、データリードを要求した周
辺装置が周辺装置31であることとを認識している。次
に、データ転送制御装置111はシステムバスI/F1
14に、システムバス調停装置115にシステムバス1
2の占有権を要求する要求信号を送出するよう制御し、
システムバス調停装置115はこの要求信号を受けて、
システムバス12をシステムバスI/F114に割り当
てる。そして、データ転送制御装置111はシステムバ
スI/F114に、メモリ13からデータ1を読み出す
よう制御する。
【0081】読み出されたデータ1はデータ転送制御装
置111のバッファメモリに蓄積される。続いて、デー
タ転送制御装置111は、I/OバスI/F112に、
I/Oバス調停装置113にI/Oバス2の占有権を要
求する要求信号を送出するよう制御し、I/Oバス調停
装置113はこの要求信号を受けて、I/Oバス2をI
/OバスI/F112に割り当てる。そして、データ転
送制御装置111は、I/OバスI/F112にバッフ
ァメモリのデータ1を周辺装置31に送出するよう制御
する。最初の転送データである1ブロック分のデータ1
を周辺装置31に送出している間は、データ転送制御装
置111はメモリ13から転送データの先読みを行わな
いよう制御するようになっている。周辺装置31はデー
タ1を受け取るとこれが最終データであることを認識し
て、データリードの終了を指示する信号をI/Oバス調
停装置113に送出する。I/Oバス調停装置113は
データ転送制御装置111にデータリードの終了をステ
ータス信号sによって伝達し、データ転送制御装置11
1はこのステータス信号sを受けてデータリードの制御
を終了する。このデータリードでは1ブロック分のデー
タしか転送しておらず、データリード中に先読みを行わ
なかったので、データ転送制御装置111のバッファメ
モリには破棄すべき余分なデータは存在しない。
【0082】次に図2(b)に、バーストリードによる
データリードを行う場合のデータ転送タイミングを示
す。同図は、上述の図2(a)で周辺装置31がデータ
1を受け取った後もデータリードを継続する場合の図に
相当している。周辺装置31はデータ1を受け取った
後、I/Oバス調停装置113にデータリードを継続す
る信号を送出する。I/Oバス調停装置113はデータ
転送制御装置111にデータリードの継続をステータス
信号sで伝達し、データ転送制御装置111はこのステ
ータス信号sを受けて、データ1の読み出し時と同様に
データ2を読み込んでバッファメモリに蓄積する制御を
行う。そして、データ転送制御装置111は、データ1
と同様にデータ2を周辺装置31に送出する制御を行
う。
【0083】データ転送制御装置111は、データリー
ドの最初の転送データであるデータ1が周辺装置31に
転送された後にデータリードを継続することを認識する
と、メモリ13からの転送データの先読みを開始するよ
うになっている。データ2の周辺装置31への転送が終
了するまでに、データ転送制御装置111は、システム
バスI/F114にメモリ13から1ブロック分の転送
データであるデータ3の先読みを行ってバッファメモリ
に蓄積するように制御する。
【0084】こうしてバス接続装置11は、データリー
ドが継続する限り、1ブロック分の転送データの先読み
を行いながら、周辺装置31に転送データを順次送出し
ていく。周辺装置31が、同図に示すようにデータ4を
受け取ったときにこれがデータリードの最終データであ
ると判断すると、データリードの終了を指示する信号を
I/Oバス調停装置113に送出する。I/Oバス調停
装置113はデータ転送制御装置111にデータリード
の終了をステータス信号sによって伝達する。データ転
送制御装置111はこのステータス信号sを受けてデー
タリードの制御を終了すべきことを認識するが、データ
4の周辺装置31への転送が終了するまでに先読みを行
ってバッファメモリに蓄積したデータ5は余分なデータ
となるので、データ5を破棄してデータリードの制御を
終了する。
【0085】上述のようなデータライトおよびデータリ
ードのバス接続装置11によるデータ転送制御方法全般
についての処理の流れを図3のフローチャートに示す。
【0086】情報処理システムが動作を開始した後の状
態で、S1でI/OバスI/F112を介したデータ転
送の要求を受けるとS2へ進み、要求されているデータ
転送がデータリードであるか否かを判定する。データリ
ードであればS3へ進み、データリードでなければデー
タライトであると判定してS11へ進む。S3ではシス
テムバスI/F114からメモリ13に対してデータリ
ード要求を発生し、メモリ13から転送データを読み出
す。S4でデータ転送制御装置111のバッファメモリ
に1ブロック以上の転送データが蓄積されるまで待って
S5へ進む。S5ではバッファメモリのリードデータを
I/Oバス2上へ転送開始して周辺装置へのデータ転送
を行う。S6では先読みを実行するか否かを判定し、先
読みを実行する場合にはS7へ進んでシステムバスI/
F114にメモリ13からのデータ先読みの要求を発生
し、先読みを行う。S6で先読みを行わない場合もS7
の次もS8へ進み、周辺装置へ1ブロック分のデータ転
送が終了するまで待って、S9へ進む。S9では周辺装
置からI/Oバス2を介した転送要求の終了を指示され
たか否かを判定し、終了を指示された場合にはS10へ
進んでバッファメモリに蓄積された余分なデータがあれ
ばこれを破棄し、終了の指示がなかった場合にはS3へ
戻る。なお、S6で先読みを実行することになるのは、
前述の例では2ブロック目以降のデータリードを行う場
合である。
【0087】一方、S2からS11へ進んだ場合には、
S11で周辺装置から転送された1ブロック分のデータ
をバッファメモリに書き込み完了となるまで待ってS1
2へ進む。S12ではバッファメモリのライトデータを
システムバス12へ転送開始し、メモリ13に転送デー
タを書き込む。S13でメモリ13への1ブロック分の
データ転送を終了するまで待ってS14へ進み、S14
でシステムバス12への転送終了、すなわちメモリ13
へのデータライトを終了するか否かを判定し、終了する
場合にはS1へ戻り、継続する場合にはS11へ戻って
次のブロックの書き込みを行う。
【0088】以上に述べたバス接続装置11によるデー
タ転送制御方法では、データリードの際に、1ブロック
目のデータ転送が終了するまでは先読みを行わず、2ブ
ロック目以降もデータリードを継続する指示を周辺装置
から受けると先読みを開始するようになっている。
【0089】本実施の形態ではこれに限らず、バス接続
装置11は一般に、データ転送が周辺装置からメモリ1
3などのシステムバス12上の装置へのデータリードで
ある場合に、データリードの開始からの周辺装置へのデ
ータ転送進行状況に応じて、データリード中に先読みの
有無が切り替え可能となっている。データ転送進行状況
には、周辺装置にそのデータリードに係るデータが累積
でデータリード開始から現時点までにどの位の量が転送
完了となったか、さらにデータリードが継続されるかと
いったことや、データリードの周辺装置への転送速度が
転送の途切れ具合などによってデータリード開始から現
時点までにどのように推移しているかといったことを表
す状況が含まれる。
【0090】従って、例えば、データリードの初期は、
データリードの開始からの周辺装置への累積データ転送
量が少ないデータ転送進行状況にあることから、先読み
を行わずにデータ転送を行い、データ転送が少量のデー
タ量で終了した場合に、バス接続装置11によってメモ
リ13から読み込まれて破棄されるデータがないように
することができる。これは、上記例で示した1ブロック
目のデータ転送が終了するまでは先読みを行わないこと
に相当している。
【0091】また、データリードにおいてデータ転送が
少量のデータ量で終了しなかった場合には、周辺装置へ
の累積データ転送量が多いデータ転送進行状況にあるこ
とから、そこから先読みを開始して、バス接続装置11
によってメモリ13から読み込まれて破棄されるデータ
があってもよいようにすることができる。これは、上記
例で示した2ブロック目以降もデータリードを継続する
場合に先読みを行うことに相当している。
【0092】また、上記例で示した場合以外にも、先読
みを行っているデータリード中に、バス接続装置11か
ら周辺装置へのデータ転送をかなり間欠的に行わざるを
得なくなるなどして周辺装置へのデータ転送速度がデー
タリードの開始からの通常の転送速度よりも実効的に大
きく低下するデータ転送進行状況となる場合もある。こ
のような場合には、例えば、先読みを中断してバス接続
装置11のバッファメモリのデータがなくなるたびに次
のデータを1つ読み出すことにより、バッファメモリに
できるだけデータを蓄積しないようにしながら、低下し
た転送速度に適合したデータ転送を行うことができる。
また、この場合、転送速度が回復したときに再び先読み
を開始することができる。
【0093】このように先読みの有無を切り替えること
によって、同一の周辺装置に対する最適な先読みデータ
量が動的に変化する場合にも、バス接続装置11のバッ
ファメモリに蓄積されるデータの量を調節して先読みを
最適化することができる。
【0094】この結果、データ転送の転送要求装置であ
る周辺装置がデータ転送の開始および終了の管理を行っ
ていて複数のバス間でのデータリードを行うときに転送
データの総量を予め知ることができない場合に、同一の
周辺装置に対する最適な先読みデータ量の動的な変化に
合わせて先読みを最適化することができるバス接続装置
を提供することができる。
【0095】また、本実施の形態では、前述したよう
に、バス接続装置11が、制御するデータ転送のデータ
をブロック単位で転送するようになっている。
【0096】一般的な情報処理システムでは、I/Oバ
ス2側の転送速度がシステムバス12側の転送速度と異
なっている場合が多い。また、I/Oバス2側のデータ
転送サイズおよびデータ処理速度が周辺装置ごとに異な
るため、システムバス12側で途切れなく連続でデータ
転送を行うと、I/Oバス2側で転送速度が制限される
結果、バス接続装置11のバッファメモリへの転送デー
タ蓄積が次第に増加するといった状況が発生する場合が
ある。この場合、バッファメモリが転送データで一杯に
なった時点で、メモリ13から送出された転送データが
システムバス12を占有したまま一時停止することにな
る。
【0097】そこで上記のように連続的な転送データを
ブロック単位で区切って転送するようにすれば、あるブ
ロックをバス接続装置11に蓄積可能なタイミングで送
出した後、次のブロックをメモリ13で待機させる時間
を設けることができ、その間、システムバス12をCP
U14やDMAコントローラ15などの他の装置による
データ転送用に開放することができる。これは、先にデ
ータ転送タイミングの説明で述べたような、バス接続装
置11によってシステムバス12の占有権を得ているあ
る期間と次の占有権を得ている期間との間に、システム
バス12を他の転送用に開放することができることに相
当している。従って、システムバス12のデータ転送効
率を向上させることができる。
【0098】また、このような情報処理システムでは、
システムバス12に接続された装置が、元々システムバ
ス12の転送規格に合わせてブロック単位で転送データ
を取り扱うように最適化されている場合が多い。またこ
の場合、転送に必要なサイズのデータをブロック単位で
分割した結果、ブロックからはみ出すようなデータの端
数を生じても、端数分のみの転送を追加で行うのと、端
数分を含むもう1つのブロックの転送を行うのとでは、
処理速度がほとんど変わらない場合が多い。従って、バ
ス接続装置11によるブロック単位でのデータ転送を情
報処理システムに採用されている転送規格に合わせれ
ば、データリードのときもデータライトのときも、先読
みを行うときも行わないときも、情報処理システムに好
ましい方式になる。さらに、バス接続装置11によるデ
ータ転送の制御も既存の転送規格に合わせるだけでよい
ので容易になる。
【0099】また、本実施の形態では、バス接続装置1
1は、データ転送進行状況が、データリードにおいて、
周辺装置への転送が完了したデータのブロック数が所定
ブロック数に達する状況となるまでは先読みを行わず、
データ転送進行状況が、所定ブロック数に達した後にデ
ータリードが継続する状況となる場合に先読みを開始す
るようになっている。前述の例では所定ブロック数を1
に設定していたが、これに限らず、所定ブロック数を任
意に設定することが可能である。
【0100】従って、所定ブロック数を小さい値に設定
することにより、周辺装置への転送データの総量が比較
的少なかった場合に、先読みを行わずに済むので、バス
接続装置11によってメモリ13から読み込まれて破棄
されるデータをなくすことができる。そして、所定ブロ
ック数に達した後にデータリードが継続する場合に先読
みを開始するが、これは周辺装置への転送データの総量
が比較的多い場合に相当するので、バス接続装置11に
よってメモリ13から読み込まれて破棄されるデータが
あっても、システムバス12およびI/Oバス2を含め
たバス全体の転送効率の低下を問題ないレベルとするこ
とができる。
【0101】従って、同一の周辺装置に対する最適な先
読みデータ量が転送データの総量に応じて変化すること
に合わせて、先読みを最適化することができる。
【0102】また、本実施の形態では、バス接続装置1
1において、上記所定ブロック数と、1回の先読みによ
ってメモリ13から読み出すデータのブロック数である
先読みブロック数とが、周辺装置のそれぞれに対して個
別に設定されるようになっている。
【0103】これによれば、周辺装置ごとに、先読みを
開始する基準となる上記所定ブロック数と、先読みブロ
ック数とを設定するようになっている。データ転送制御
装置111はI/Oバス調停装置113から伝達される
ステータス信号sによっていずれの周辺装置からのデー
タリードであるかを認識しており、認識した周辺装置に
応じて上記設定に従った先読みを制御する。従って、周
辺装置ごとに転送データの総量のパターンが異なってい
ても、それぞれの周辺装置に対して先読みを最適化する
ことができる。
【0104】次に、データリードを行う場合にバス接続
装置11のデータ転送制御装置111に対する上記先読
みブロック数の設定について説明する。
【0105】前述の例では1回の先読みにつき先読みブ
ロック数を1としていた。しかし、システムバス12側
とI/Oバス2側とではデータ転送の処理能力が異なる
ことが多く、例えば図4に示すようにI/Oバス2上の
各データの転送時間が、システムバス12上の各データ
の転送時間よりも長くなるといった状況が発生する。従
って、このようなデータ転送の処理能力の違いによって
最適な先読みブロック数も異なる。
【0106】そこで、本実施の形態では、データ転送制
御装置111が、過去に完了した周辺装置のそれぞれに
よる所定回数分のデータリードについて、以下のような
統計をとることとする。周辺装置が接続されているI/
Oバス2上を過去の所定回数分のデータリードに係る転
送データが転送された時間の合計をデータ転送総時間と
する。また、その周辺装置が上記過去のデータリードに
おいて各データリードの開始を指示するアドレス発行、
すなわちメモリ13の読み出し開始アドレスの送出、を
終了した時点からI/Oバス2上をデータリードに係る
最初の転送データが転送開始される時点までに要した時
間の合計を待機時間とする。これを各周辺装置について
それぞれ求める。ただし、先読みブロック数の最適化を
特定の周辺装置についてのみ行いたい場合はその特定の
周辺装置についてのみデータ転送総時間および待機時間
を求めても良く、周辺装置単位で求めることができるよ
うになっている。
【0107】上記の値について、例えば図2(b)を用
いて説明すると、I/Oバス2上をデータリードに係る
転送データが転送された時間は、t1、t2、t3、t
4であり、データ転送総時間は過去の所定回数分のデー
タリードについてのこれらの時間の総和である。また、
各データリードの開始を指示するアドレス発行を終了し
た時点からI/Oバス2上をデータリードに係る最初の
転送データが転送開始される時点までに要した時間は同
図ではt0であり、待機時間は過去の所定回数分のデー
タリードについてのこの時間の総和である。
【0108】そして、データ転送制御装置111は、デ
ータ転送総時間および待機時間を求めた周辺装置に対し
て、データ転送総時間を待機時間で除した値(以下、デ
ータ転送総時間/待機時間の値とする)を算出する。デ
ータ転送総時間/待機時間の値は、例えば10といった
値となる。データ転送総時間/待機時間の値が所定値よ
りも大きい場合には、以降に行うデータリードでの先読
みブロック数を、先読み時にバッファメモリに蓄積可能
となる上限ブロック数以下になる範囲で1つ増加させて
上記値を所定値に近づける。また、データ転送総時間/
待機時間の値が上記所定値よりも小さい場合には、以降
に行うデータリードでの先読みブロック数を、0以上に
なる範囲で1つ減少させて上記値を所定値に近づける。
上記の所定値は、予めその周辺装置に対して適切な値と
して設定されたものである。
【0109】上限ブロック数はデータ転送制御装置11
1のバッファメモリのサイズによって決まる。バッファ
メモリは、通常、先読みブロックを蓄積する部分と、周
辺装置へ送出中の転送データのうち待機しているデータ
を蓄積する部分とに分かれている。従って、上限ブロッ
ク数はバッファメモリに蓄積が許容されるブロック数の
最大値としての意味を持っており、通常は全バッファメ
モリサイズの1/2のサイズに蓄積することのできる最
大ブロック数となる。また、先読みブロック数の減少を
0以上となる範囲で行うことは、先読み時に読み出すブ
ロックが最も少ないときは先読みしないことと等しくす
ることができるという意味を持つ。
【0110】このような先読みブロック数の制御は、シ
ステムバス12の転送速度と、I/Oバス2の転送速度
との差や、周辺装置およびメモリ13のデータ処理能力
が、データ転送総時間/待機時間の値に反映されている
ことに基づいたものである。このような制御を行って先
読みブロック数の最適化を行った例を図4に示す。同図
では先読みブロック数を2とし、バス接続装置11がデ
ータ2をI/Oバス2上に送出している間にデータ3お
よびデータ4という2ブロック分の転送データを先読み
によってバッファメモリに蓄積している。バス接続続装
置11がデータ4をI/Oバス2上に送出し始めると、
次の先読みを行い、データ5およびデータ6を読み出し
てバッファメモリに蓄積する。
【0111】このような先読みブロック数の制御によ
り、情報処理システムのデータ転送処理能力に合わせた
最適な先読みを行うことができる。
【0112】次に、データリードを行う場合にバス接続
装置11のデータ転送制御装置111に対する、先読み
を開始する基準となる前記所定ブロック数の設定につい
て説明する。
【0113】先読みを行ってデータリードを終了したと
きにバス接続装置11によってデータ転送制御装置11
1のバッファメモリに読み込まれたデータの破棄が問題
となるのは、転送データの総量が比較的少ない場合であ
るので、先読みの開始の基準となる所定ブロック数をこ
のような少ない転送データの総量に合わせて設定するこ
とが望ましい。前述の例では先読みの開始の基準となる
所定ブロック数を1として転送データの総量が1ブロッ
ク分である場合には破棄されるデータがないようにして
いたが、所定ブロック数の最適な値を予め規定すること
は困難である。
【0114】そこで、本実施の形態では、データ転送制
御装置111が、過去に完了した周辺装置のそれぞれに
よるデータリードのうち、転送データの総量が所定総ブ
ロック数以下となった所定回数分のデータリードについ
て、以下のような統計をとることとする。まず、上記各
データリードの転送データの総量を表すブロック数に現
れる最大頻度ブロック数を、周辺装置ごとに求める。例
えば、所定総ブロック数を3に設定した場合に、ある周
辺装置について転送データの総量が3ブロック以下とな
った過去の10回分のデータリードにおいて、転送デー
タの総量が1ブロックのものが2回、2ブロックのもの
が5回、3ブロックのものが3回あったとする。この場
合、2ブロックのものが最も頻度が大きいので、最大頻
度ブロック数は2となる。なお、特定の周辺装置に対し
てのみ所定ブロック数を最適化したい場合にはその特定
の周辺装置についてのみ上記統計による所定ブロック数
を求めればよく、データ転送制御装置111は、上記統
計による所定ブロック数を周辺装置単位で求めることが
できるようになっている。
【0115】そして、最大頻度ブロック数を求めた周辺
装置に対して以降に行うデータリードでの所定ブロック
数を最大頻度ブロック数とする。最大頻度ブロック数が
2の例では所定ブロック数を2とする。最大頻度ブロッ
ク数が2の例では、統計をとるときに所定総ブロック数
を3という比較的小さな値に設定している。最大頻度ブ
ロック数が1,2,3のいずれとなっても先読みを行っ
たことにより破棄されるデータのないことが情報処理シ
ステムにおけるデータ転送に有利に作用することが分か
っているとき、このようにして所定ブロック数の候補を
1,2,3と大まかに決めておくだけで、最適な所定ブ
ロック数を最大頻度ブロック数として容易に求めること
ができる。特に、ある周辺装置について転送データの総
量が多い場合と少ない場合とに明確に分かれるようなデ
ータリードが行われるならば、所定総ブロック数の設定
が容易になるとともに、これによって求められた所定ブ
ロック数を用いた先読みの有無の切り替えはバス全体の
転送効率を非常に大きく向上させる。
【0116】次に、前述の先読みブロック数および所定
ブロック数の制御を含めた、バス接続装置11によるデ
ータ転送制御方法全般についての処理の流れを図5のフ
ローチャートに示す。
【0117】情報処理システムが動作を開始した後の状
態で、S21でI/OバスI/F112を介したデータ
転送の要求を受けるとS22へ進み、要求されているデ
ータ転送がデータリードであるか否かを判定する。デー
タリードであればS23へ進み、データリードでなけれ
ばデータライトであると判定してS36へ進む。なお、
データライトの場合のS36〜S39は、前述した図3
のS11〜S14と同一であるので説明を省略する。
【0118】S23では、転送要求装置となっている周
辺装置を特定し、S24でその周辺装置用の先読み条件
を選択する。先読み条件は、先読みの開始の基準を示す
前記所定ブロック数、および先読みブロック数である。
S25では先読みによって既にバッファメモリに転送デ
ータが蓄積されているか否かを判定する。先読みにより
蓄積された転送データがなければS26へ進んでシステ
ムバスI/F114からメモリ13にリード要求を発生
して転送データを読み込んでS27へ進む。先読みによ
り蓄積された転送データがあればS27へ直接進む。S
27ではバッファメモリに1ブロック以上の転送データ
が蓄積されたことを確認してからS28へ進む。
【0119】S28ではバッファメモリのリードデータ
をI/Oバス2上へ転送開始し、周辺装置へのデータ転
送を行う。S29では、周辺装置へ転送完了した転送デ
ータが先読みの開始の基準となる所定ブロック数以上で
あるか否かを判定する。所定ブロック数以上であればS
30へ進み、システムバスI/F114に先読みブロッ
ク数を指示してメモリ13への先読み要求を発生させ、
先読みを行う。S29で所定ブロック数以上でない場合
もS30の次も、S31へ進む。S31では周辺装置へ
1ブロック分のデータ転送が完了するまで待ってS32
へ進み、このデータリードにおける周辺装置への累積転
送ブロック数のカウントを行う。
【0120】S33では、周辺装置からI/Oバス2を
介した転送要求の終了が指示されたか否かを判定する。
転送要求の終了が指示された場合はS34でバッファメ
モリに蓄積された余分な先読みデータがあればこれを破
棄し、S35で前述のように統計処理を行って所定ブロ
ック数および先読みブロック数からなる先読み条件を更
新し、S21へ戻る。S33で転送要求の終了が指示さ
れない場合はS25へ戻ってデータリードを継続する。
【0121】
【発明の効果】本発明のバス接続装置は、以上のよう
に、制御するデータ転送が上記データリードである場合
に、上記データリードの開始からの上記転送要求装置へ
のデータ転送進行状況に応じて、上記データリード中に
上記先読みの有無を切り替えることが可能である構成で
ある。
【0122】それゆえ、先読みの有無を切り替えること
によって、同一の転送要求装置に対する最適な先読みデ
ータ量が動的に変化する場合にも、バス接続装置内に蓄
積されるデータの量を調節して先読みを最適化すること
ができる。
【0123】この結果、データ転送の転送要求装置がデ
ータ転送の開始および終了の管理を行っていて複数のバ
ス間でのデータリードを行うときに転送データの総量を
予め知ることができない場合に、同一の転送要求装置に
対する最適な先読みデータ量の動的な変化に合わせて先
読みを最適化することができるバス接続装置を提供する
ことができるという効果を奏する。
【0124】さらに本発明のバス接続装置は、以上のよ
うに、制御するデータ転送のデータをブロック単位で転
送する構成である。
【0125】それゆえ、バス接続装置がブロック単位で
データを転送するバスにおいて、ブロックとブロックと
の間を他のデータの転送に開放することができるので、
制御するデータ転送のデータで該バスを長い間占有せず
にすむという効果を奏する。また、ブロック単位を該バ
スの転送規格に合わせたものとすれば、バス接続装置に
よるデータ転送が情報処理システムにとって好ましい方
式となるとともに、バス接続装置によるデータ転送の制
御が容易になるという効果を奏する。
【0126】さらに本発明のバス接続装置は、以上のよ
うに、上記データリードにおいて、上記データ転送進行
状況が、上記転送要求装置への転送が完了したデータの
ブロック数が所定ブロック数に達する状況となるまでは
上記先読みを行わず、上記データ転送進行状況が、上記
所定ブロック数に達した後に上記データリードが継続す
る状況となる場合に上記先読みを開始する構成である。
【0127】それゆえ、同一の転送要求装置に対する最
適な先読みデータ量が転送データの総量に応じて変化す
ることに合わせて、先読みを最適化することができると
いう効果を奏する。
【0128】さらに本発明のバス接続装置は、以上のよ
うに、上記所定ブロック数と、1回の上記先読みによっ
て読み出すデータの先読みブロック数とが、上記転送要
求装置のそれぞれに対して個別に設定される構成であ
る。
【0129】それゆえ、転送要求装置ごとに転送データ
の総量のパターンが異なっていても、それぞれの転送要
求装置に対して先読みを最適化することができるという
効果を奏する。
【0130】さらに本発明のバス接続装置は、以上のよ
うに、過去に完了した上記転送要求装置による所定回数
分の上記データリードについて、上記転送要求装置が接
続されているバス上を上記データリードに係る転送デー
タが転送された時間の合計をデータ転送総時間、上記転
送要求装置が上記データリードの開始を指示するアドレ
ス発行を終了した時点から上記転送要求装置が接続され
ているバス上を上記データリードに係る最初の転送デー
タが転送開始される時点までに要した時間の合計を待機
時間としてそれぞれ、上記転送要求装置単位で求め、上
記データ転送総時間および上記待機時間を求めた上記転
送要求装置に対して、上記データ転送総時間を上記待機
時間で除した値が所定値よりも大きい場合には、以降に
行う上記データリードでの上記先読みブロック数を、上
記先読み時に蓄積可能となる上限ブロック数以下になる
範囲で1つ増加させ、上記データ転送総時間を上記待機
時間で除した値が上記所定値よりも小さい場合には、以
降に行う上記データリードでの上記先読みブロック数
を、0以上になる範囲で1つ減少させる構成である。
【0131】それゆえ、情報処理システムのデータ転送
処理能力に合わせた最適な先読みを行うことができると
いう効果を奏する。
【0132】さらに本発明のバス接続装置は、以上のよ
うに、過去に完了した上記転送要求装置による上記デー
タリードのうち転送データの総量が所定総ブロック数以
下となった所定回数分の上記データリードについて、上
記各データリードの転送データの総量を表すブロック数
に現れる最大頻度ブロック数を、上記転送要求装置単位
で求め、上記最大頻度ブロック数を求めた上記転送要求
装置に対して以降に行う上記データリードでの上記所定
ブロック数を上記最大頻度ブロック数とする構成であ
る。
【0133】それゆえ、上記のように統計をとるときに
所定総ブロック数を比較的小さな値に設定して所定ブロ
ック数の候補を大まかに決めておけば、最適な所定ブロ
ック数を最大頻度ブロック数として容易に求めることが
できるという効果を奏する。
【0134】さらに本発明のデータ転送制御方法は、以
上のように、制御するデータ転送が上記データリードで
ある場合に、上記データリードの開始からの上記転送要
求装置へのデータ転送進行状況に応じて、上記データリ
ード中に上記先読みの有無を切り替えることが可能であ
る構成である。
【0135】それゆえ、先読みの有無を切り替えること
によって、同一の転送要求装置に対する最適な先読みデ
ータ量が動的に変化する場合にも、転送相手装置から読
み込んで蓄積したデータの量を調節して先読みを最適化
することができる。
【0136】この結果、データ転送の転送要求装置がデ
ータ転送の開始および終了の管理を行っていて複数のバ
ス間でのデータリードを行うときに転送データの総量を
予め知ることができない場合に、同一の転送要求装置に
対する最適な先読みデータ量の動的な変化に合わせて先
読みを最適化することができるデータ転送制御方法を提
供することができるという効果を奏する。
【0137】さらに本発明のデータ転送制御方法は、以
上のように、制御するデータ転送のデータをブロック単
位で転送する構成である。
【0138】それゆえ、ブロック単位でデータを転送す
るバスにおいて、ブロックとブロックとの間を他のデー
タの転送に開放することができるので、制御するデータ
転送のデータで該バスを長い間占有せずにすむという効
果を奏する。また、ブロック単位を該バスの転送規格に
合わせたものとすれば、制御するデータ転送が情報処理
システムにとって好ましい方式となるとともに、制御す
るデータ転送の制御が容易になるという効果を奏する。
【0139】さらに本発明のデータ転送制御方法は、以
上のように、上記データリードにおいて、上記データ転
送進行状況が、上記転送要求装置への転送が完了したデ
ータのブロック数が所定ブロック数に達する状況となる
までは上記先読みを行わず、上記データ転送進行状況
が、上記所定ブロック数に達した後に上記データリード
が継続する状況となる場合に上記先読みを開始する構成
である。
【0140】それゆえ、同一の転送要求装置に対する最
適な先読みデータ量が転送データの総量に応じて変化す
ることに合わせて、先読みを最適化することができると
いう効果を奏する。
【0141】さらに本発明のデータ転送制御方法は、以
上のように、上記所定ブロック数と、1回の上記先読み
によって読み出すデータの先読みブロック数とが、上記
転送要求装置のそれぞれに対して個別に設定される構成
である。
【0142】それゆえ、転送要求装置ごとに転送データ
の総量のパターンが異なっていても、それぞれの転送要
求装置に対して先読みを最適化することができるという
効果を奏する。
【0143】さらに本発明のデータ転送制御方法は、以
上のように、過去に完了した上記転送要求装置による所
定回数分の上記データリードについて、上記転送要求装
置が接続されているバス上を上記データリードに係る転
送データが転送された時間の合計をデータ転送総時間、
上記転送要求装置が上記データリードの開始を指示する
アドレス発行を終了した時点から上記転送要求装置が接
続されているバス上を上記データリードに係る最初の転
送データが転送開始される時点までに要した時間の合計
を待機時間としてそれぞれ、上記転送要求装置単位で求
め、上記データ転送総時間および上記待機時間を求めた
上記転送要求装置に対して、上記データ転送総時間を上
記待機時間で除した値が所定値よりも大きい場合には、
以降に行う上記データリードでの上記先読みブロック数
を、上記先読み時に蓄積可能となる上限ブロック数以下
になる範囲で1つ増加させ、上記データ転送総時間を上
記待機時間で除した値が上記所定値よりも小さい場合に
は、以降に行う上記データリードでの上記先読みブロッ
ク数を、0以上になる範囲で1つ減少させる構成であ
る。
【0144】それゆえ、情報処理システムのデータ転送
処理能力に合わせた最適な先読みを行うことができると
いう効果を奏する。
【0145】さらに本発明のデータ転送制御方法は、以
上のように、過去に完了した上記転送要求装置による上
記データリードのうち転送データの総量が所定総ブロッ
ク数以下となった所定回数分の上記データリードについ
て、上記各データリードの転送データの総量を表すブロ
ック数に現れる最大頻度ブロック数を、上記転送要求装
置単位で求め、上記最大頻度ブロック数を求めた上記転
送要求装置に対して以降に行う上記データリードでの上
記所定ブロック数を上記最大頻度ブロック数とする構成
である。
【0146】それゆえ、上記のように統計をとるときに
所定総ブロック数を比較的小さな値に設定して所定ブロ
ック数の候補を大まかに決めておけば、最適な所定ブロ
ック数を最大頻度ブロック数として容易に求めることが
できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るバス接続装置の構成
と、このバス接続装置を備えた情報処理システムの構成
を示すブロック図である。
【図2】(a)および(b)は、図1のバス接続装置の
制御によるデータリードのデータ転送タイミングを示す
タイミング図である。
【図3】図1のバス接続装置によるデータ転送制御方法
の処理の流れを示すフローチャートである。
【図4】図1のバス接続装置の制御によるデータリード
の他のデータ転送タイミングを示すタイミング図であ
る。
【図5】図1のバス接続装置による他のデータ転送制御
方法の処理の流れを示すフローチャートである。
【図6】従来のバス接続装置および図1のバス接続装置
の制御によるデータライトのデータ転送タイミングを示
すタイミング図である。
【図7】(a)および(b)は、従来のバス接続装置の
制御による先読みを行わない場合のデータリードのデー
タ転送タイミングを示すタイミング図である。
【図8】(a)および(b)は、従来のバス接続装置の
制御による先読みを行う場合のデータリードのデータ転
送タイミングを示すタイミング図である。
【符号の説明】
2 I/Oバス(バス) 11 バス接続装置 12 システムバス(バス) 13 メモリ(転送相手装置) 31・32・33周辺装置(転送要求装置)

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】複数のバスを備えるとともにデータ転送の
    開始および終了をデータ転送の要求を発生する転送要求
    装置が管理している情報処理システムに設けられ、上記
    転送要求装置の要求したデータ転送が上記転送要求装置
    の接続されているバスとは別のバスに接続されている転
    送相手装置との間でのデータ転送である場合に上記転送
    要求装置と上記転送相手装置との間のデータ転送を制御
    し、制御するデータ転送が上記転送相手装置からのデー
    タリードである場合に上記転送相手装置からの転送デー
    タの先読みが可能であって転送データの総量を予め知る
    ことができないバス接続装置において、 制御するデータ転送が上記データリードである場合に、
    上記データリードの開始からの上記転送要求装置へのデ
    ータ転送進行状況に応じて、上記データリード中に上記
    先読みの有無を切り替えることが可能であることを特徴
    とするバス接続装置。
  2. 【請求項2】制御するデータ転送のデータをブロック単
    位で転送することを特徴とする請求項1に記載のバス接
    続装置。
  3. 【請求項3】上記データリードにおいて、上記データ転
    送進行状況が、上記転送要求装置への転送が完了したデ
    ータのブロック数が所定ブロック数に達する状況となる
    までは上記先読みを行わず、上記データ転送進行状況
    が、上記所定ブロック数に達した後に上記データリード
    が継続する状況となる場合に上記先読みを開始すること
    を特徴とする請求項2に記載のバス接続装置。
  4. 【請求項4】上記所定ブロック数と、1回の上記先読み
    によって読み出すデータの先読みブロック数とが、上記
    転送要求装置のそれぞれに対して個別に設定されること
    を特徴とする請求項3に記載のバス接続装置。
  5. 【請求項5】過去に完了した上記転送要求装置による所
    定回数分の上記データリードについて、上記転送要求装
    置が接続されているバス上を上記データリードに係る転
    送データが転送された時間の合計をデータ転送総時間、
    上記転送要求装置が上記データリードの開始を指示する
    アドレス発行を終了した時点から上記転送要求装置が接
    続されているバス上を上記データリードに係る最初の転
    送データが転送開始される時点までに要した時間の合計
    を待機時間としてそれぞれ、上記転送要求装置単位で求
    め、 上記データ転送総時間および上記待機時間を求めた上記
    転送要求装置に対して、 上記データ転送総時間を上記待機時間で除した値が所定
    値よりも大きい場合には、以降に行う上記データリード
    での上記先読みブロック数を、上記先読み時に蓄積可能
    となる上限ブロック数以下になる範囲で1つ増加させ、 上記データ転送総時間を上記待機時間で除した値が上記
    所定値よりも小さい場合には、以降に行う上記データリ
    ードでの上記先読みブロック数を、0以上になる範囲で
    1つ減少させることを特徴とする請求項4に記載のバス
    接続装置。
  6. 【請求項6】過去に完了した上記転送要求装置による上
    記データリードのうち転送データの総量が所定総ブロッ
    ク数以下となった所定回数分の上記データリードについ
    て、上記各データリードの転送データの総量を表すブロ
    ック数に現れる最大頻度ブロック数を、上記転送要求装
    置単位で求め、 上記最大頻度ブロック数を求めた上記転送要求装置に対
    して以降に行う上記データリードでの上記所定ブロック
    数を上記最大頻度ブロック数とすることを特徴とする請
    求項4または5に記載のバス接続装置。
  7. 【請求項7】複数のバスを備えるとともにデータ転送の
    開始および終了をデータ転送の要求を発生する転送要求
    装置が管理している情報処理システムのデータ転送制御
    方法であって、上記転送要求装置の要求したデータ転送
    が上記転送要求装置の接続されているバスとは別のバス
    に接続されている転送相手装置との間でのデータ転送で
    ある場合に上記転送要求装置と上記転送相手装置との間
    のデータ転送を制御し、制御するデータ転送が上記転送
    相手装置からのデータリードである場合に上記転送相手
    装置からの転送データの先読みが可能であって転送デー
    タ量の総量を予め知ることができないデータ転送制御方
    法において、 制御するデータ転送が上記データリードである場合に、
    上記データリードの開始からの上記転送要求装置へのデ
    ータ転送進行状況に応じて、上記データリード中に上記
    先読みの有無を切り替えることが可能であることを特徴
    とするデータ転送制御方法。
  8. 【請求項8】制御するデータ転送のデータをブロック単
    位で転送することを特徴とする請求項7に記載のデータ
    転送制御方法。
  9. 【請求項9】上記データリードにおいて、上記データ転
    送進行状況が、上記転送要求装置への転送が完了したデ
    ータのブロック数が所定ブロック数に達する状況となる
    までは上記先読みを行わず、上記データ転送進行状況
    が、上記所定ブロック数に達した後に上記データリード
    が継続する状況となる場合に上記先読みを開始すること
    を特徴とする請求項8に記載のデータ転送制御方法。
  10. 【請求項10】上記所定ブロック数と、1回の上記先読
    みによって読み出すデータの先読みブロック数とが、上
    記転送要求装置のそれぞれに対して個別に設定されるこ
    とを特徴とする請求項9に記載のデータ転送制御方法。
  11. 【請求項11】過去に完了した上記転送要求装置による
    所定回数分の上記データリードについて、上記転送要求
    装置が接続されているバス上を上記データリードに係る
    転送データが転送された時間の合計をデータ転送総時
    間、上記転送要求装置が上記データリードの開始を指示
    するアドレス発行を終了した時点から上記転送要求装置
    が接続されているバス上を上記データリードに係る最初
    の転送データが転送開始される時点までに要した時間の
    合計を待機時間としてそれぞれ、上記転送要求装置単位
    で求め、 上記データ転送総時間および上記待機時間を求めた上記
    転送要求装置に対して、 上記データ転送総時間を上記待機時間で除した値が所定
    値よりも大きい場合には、以降に行う上記データリード
    での上記先読みブロック数を、上記先読み時に蓄積可能
    となる上限ブロック数以下になる範囲で1つ増加させ、 上記データ転送総時間を上記待機時間で除した値が上記
    所定値よりも小さい場合には、以降に行う上記データリ
    ードでの上記先読みブロック数を、0以上になる範囲で
    1つ減少させることを特徴とする請求項10に記載のデ
    ータ転送制御方法。
  12. 【請求項12】過去に完了した上記転送要求装置による
    上記データリードのうち転送データの総量が所定総ブロ
    ック数以下となった所定回数分の上記データリードにつ
    いて、上記各データリードの転送データの総量を表すブ
    ロック数に現れる最大頻度ブロック数を、上記転送要求
    装置単位で求め、 上記最大頻度ブロック数を求めた上記転送要求装置に対
    して以降に行う上記データリードでの上記所定ブロック
    数を上記最大頻度ブロック数とすることを特徴とする請
    求項10または11に記載のデータ転送制御方法。
JP2002103082A 2002-04-04 2002-04-04 バス接続装置およびデータ転送制御方法 Pending JP2003296266A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002103082A JP2003296266A (ja) 2002-04-04 2002-04-04 バス接続装置およびデータ転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002103082A JP2003296266A (ja) 2002-04-04 2002-04-04 バス接続装置およびデータ転送制御方法

Publications (1)

Publication Number Publication Date
JP2003296266A true JP2003296266A (ja) 2003-10-17

Family

ID=29389145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002103082A Pending JP2003296266A (ja) 2002-04-04 2002-04-04 バス接続装置およびデータ転送制御方法

Country Status (1)

Country Link
JP (1) JP2003296266A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547138A (ja) * 2005-06-30 2008-12-25 インテル コーポレイション 動的データプリフェッチのためのシステム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547138A (ja) * 2005-06-30 2008-12-25 インテル コーポレイション 動的データプリフェッチのためのシステム及び方法
US8370581B2 (en) 2005-06-30 2013-02-05 Intel Corporation System and method for dynamic data prefetching

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
US7640374B2 (en) Data transfer apparatus by direct memory access controller
JPH06236343A (ja) メモリに対し非同期でデータの読出し/書込みを行う方法及びそのためのダイレクトメモリアクセス・コントローラ
JP2002506250A (ja) バス間ブリッジの性能最適化のためのトリガ・ポイント
US6452943B1 (en) Data server system where the cycle for transmitting video or audio data is adjusted according to control data transmitted to a transmitter by a receiver that monitors its buffer state
US8817112B2 (en) Electronic apparatus, control method and computer readable medium for transmitting thumbnail data to an external apparatus
JP3020699B2 (ja) 印刷装置
JP2007199815A (ja) メモリ制御装置およびメモリ制御方法
US11010114B2 (en) Read/write direction-based memory bank control for imaging
JP2003296266A (ja) バス接続装置およびデータ転送制御方法
JP2005267148A (ja) メモリ制御装置
JP2000227897A (ja) Dma転送装置及びdma転送システム
JP2001101128A (ja) データ処理装置
JP5623150B2 (ja) 電子機器及びその制御方法
JP2003122705A (ja) デジタルカメラ
US20150032885A1 (en) Image processing apparatus and control method
JP2016103112A (ja) データ転送制御装置、情報処理装置、画像形成装置
JPS61125670A (ja) デ−タ転送装置
JP4635485B2 (ja) データ処理装置
JP4030951B2 (ja) データ二重化装置及び方法
JP2010128803A (ja) データ転送装置及びデータ転送方法
JP2664827B2 (ja) 実時間情報転送制御方法
EP0858025B1 (en) Data recorder and method of access to data recorder
JP3458037B2 (ja) スプリットバス制御方式
JP3678537B2 (ja) データ転送方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050225

A977 Report on retrieval

Effective date: 20070730

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080729