JP3061106B2 - バスブリッジおよびそれを備えた計算機システム - Google Patents
バスブリッジおよびそれを備えた計算機システムInfo
- Publication number
- JP3061106B2 JP3061106B2 JP8041129A JP4112996A JP3061106B2 JP 3061106 B2 JP3061106 B2 JP 3061106B2 JP 8041129 A JP8041129 A JP 8041129A JP 4112996 A JP4112996 A JP 4112996A JP 3061106 B2 JP3061106 B2 JP 3061106B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- prefetch
- data
- bus
- cpu
- 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
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、CPUが接続され
るCPUバスと、入出力デバイスが接続されるIOバス
との間でバス交換を行うバスブリッジに関する。
るCPUバスと、入出力デバイスが接続されるIOバス
との間でバス交換を行うバスブリッジに関する。
【0002】
【従来の技術】一般に計算機システムにおいて、CPU
はデータ幅の広い高速なCPUバスに接続され、これに
対して、キーボード、プリンタなどの入出力装置はデー
タ幅に狭い低速なIOバスに接続されている。CPUバ
スとIOバスとはそれらの間のバス交換を行うバスブリ
ッジにより接続されている。
はデータ幅の広い高速なCPUバスに接続され、これに
対して、キーボード、プリンタなどの入出力装置はデー
タ幅に狭い低速なIOバスに接続されている。CPUバ
スとIOバスとはそれらの間のバス交換を行うバスブリ
ッジにより接続されている。
【0003】従来のバスブリッジでは、CPUが入出力
装置に対してデータをライトするライト動作に関しては
ライトバッファを用いることにより、IOバスでのライ
ト動作の完了を待たずにCPUバス上でのライト動作を
終了することができる。しかしながら、CPUが入出力
装置からデータをリードするリード動作の場合、CPU
はIOバスに接続された入出力装置からの応答を待つ必
要がある。そのため、IOバス上でのリード動作が完了
するまでの間、CPUバスを占有し、その間、CPUは
他の処理を実行することができず、さらにCPUバスを
使用する他のデバイスもCPUバスを使用することがで
きない。
装置に対してデータをライトするライト動作に関しては
ライトバッファを用いることにより、IOバスでのライ
ト動作の完了を待たずにCPUバス上でのライト動作を
終了することができる。しかしながら、CPUが入出力
装置からデータをリードするリード動作の場合、CPU
はIOバスに接続された入出力装置からの応答を待つ必
要がある。そのため、IOバス上でのリード動作が完了
するまでの間、CPUバスを占有し、その間、CPUは
他の処理を実行することができず、さらにCPUバスを
使用する他のデバイスもCPUバスを使用することがで
きない。
【0004】このようなCPUバスの使用効率の低下を
防ぐために、CPUバスがマルチプロセッサ用に設計さ
れた専用のバスの場合、バスアクセスの起動サイクルと
応答データサイクルを分割するスプリットトランザクシ
ョンという技術が知られている。例えば、特開平6−1
49730号公報(以下、先行技術1と呼ぶ)には、ス
プリットトランザクションを行うマルチチプロセッサシ
ステムの一例が記載されている。
防ぐために、CPUバスがマルチプロセッサ用に設計さ
れた専用のバスの場合、バスアクセスの起動サイクルと
応答データサイクルを分割するスプリットトランザクシ
ョンという技術が知られている。例えば、特開平6−1
49730号公報(以下、先行技術1と呼ぶ)には、ス
プリットトランザクションを行うマルチチプロセッサシ
ステムの一例が記載されている。
【0005】なお、本発明に関連する他の先行技術が種
々知られている。例えば、特開平5−165761号公
報(以下、先行技術2と呼ぶ)には、リニアなアドレス
のデータ転送以外にランダムなアドレスのデータ転送が
行われることがあっても、高速データ転送が正しく行わ
れるようにした「DMAコントローラ」が開示されてい
る。この先行技術2では、8ビットデータ幅の低速バス
に接続されるDMA機器からの転送要求時、要求アドレ
スは第1のレジスタに、該当のデータは8ビットデータ
バッファにラッチされる。比較器は第1のレジスタの示
す今回の要求アドレスと第2のレジスタの示す前回要求
アドレスのそれぞれの下位3ビットを除く部分を比較す
る。制御部は比較器での不一致検出時は、第2のレジス
タ、64ビットデータバッファの内容を64ビットデー
タ幅の高速バスを介して主メモリへ転送した後、第1の
レジスタ、8ビットデータバッファの内容を第2のレジ
スタ、64ビットデータバッファに移し、一致検出時
は、第1のレジスタ、8ビットデータバッファの内容を
第2のレジスタ、64ビットデータバッファに移し、一
杯になると、主メモリへの転送を行う。
々知られている。例えば、特開平5−165761号公
報(以下、先行技術2と呼ぶ)には、リニアなアドレス
のデータ転送以外にランダムなアドレスのデータ転送が
行われることがあっても、高速データ転送が正しく行わ
れるようにした「DMAコントローラ」が開示されてい
る。この先行技術2では、8ビットデータ幅の低速バス
に接続されるDMA機器からの転送要求時、要求アドレ
スは第1のレジスタに、該当のデータは8ビットデータ
バッファにラッチされる。比較器は第1のレジスタの示
す今回の要求アドレスと第2のレジスタの示す前回要求
アドレスのそれぞれの下位3ビットを除く部分を比較す
る。制御部は比較器での不一致検出時は、第2のレジス
タ、64ビットデータバッファの内容を64ビットデー
タ幅の高速バスを介して主メモリへ転送した後、第1の
レジスタ、8ビットデータバッファの内容を第2のレジ
スタ、64ビットデータバッファに移し、一致検出時
は、第1のレジスタ、8ビットデータバッファの内容を
第2のレジスタ、64ビットデータバッファに移し、一
杯になると、主メモリへの転送を行う。
【0006】特開平4−365157号公報(以下、先
行技術3と呼ぶ)にも、上記先行技術2と同様な、リニ
アなアドレスのデータ転送以外にランダムなアドレスの
データ転送が行われることがあっても、高速データ転送
が行えるようにした「DMAコントローラ」が開示され
ている。この先行技術3では、DMA機器により低速バ
スを介して前回データ転送要求されたメモリアドレスの
主メモリデータを含む高速バスのデータ幅分のデータブ
ロックを保持するデータキャッシュ並びにそのブロック
アドレスを保持する第1のレジスタを持つキャッシュ部
と、次のデータブロックを保持するデータバッファ並び
に次のブロックアドレスを保持する第2のレジスタを持
つバッファ部との2段構成とする。DMA機器からのデ
ータ転送要求時には、その要求アドレスを保持する第3
のレジスタの示すブロックアドレスと第1または第2の
レジスタの内容とを比較器にて比較することにより、要
求アドレスのデータがキャッシュ部またはバッファ部に
存在するか否かを検出する。
行技術3と呼ぶ)にも、上記先行技術2と同様な、リニ
アなアドレスのデータ転送以外にランダムなアドレスの
データ転送が行われることがあっても、高速データ転送
が行えるようにした「DMAコントローラ」が開示され
ている。この先行技術3では、DMA機器により低速バ
スを介して前回データ転送要求されたメモリアドレスの
主メモリデータを含む高速バスのデータ幅分のデータブ
ロックを保持するデータキャッシュ並びにそのブロック
アドレスを保持する第1のレジスタを持つキャッシュ部
と、次のデータブロックを保持するデータバッファ並び
に次のブロックアドレスを保持する第2のレジスタを持
つバッファ部との2段構成とする。DMA機器からのデ
ータ転送要求時には、その要求アドレスを保持する第3
のレジスタの示すブロックアドレスと第1または第2の
レジスタの内容とを比較器にて比較することにより、要
求アドレスのデータがキャッシュ部またはバッファ部に
存在するか否かを検出する。
【0007】特開平2−245959号公報(以下、先
行技術4と呼ぶ)には、低速バスによりデータ転送が所
定量だけ実行されると高速バスによるデータ転送を開始
して両方の転送を並行に行うことにより、低速バスと高
速バスとの両方の転送時間を低速バスの転送時間とほぼ
等しくできるようにした「入出力制御装置におけるデー
タ転送方式」が開示されている。先行技術4は、低速バ
スを介して転送されるデータは第1DMA制御部の制御
によりバッファに順次格納されるとともに所定量検出手
段にも入力してデータ量が計数される。転送データ量が
所定値に達すると、所定量検出手段から起動出力が発生
し、第2DMA制御部は高速バスを介して入出力装置へ
のDMA転送動作を開始する。このデータ転送はバッフ
ァに格納された先頭データから順に送出され、同時に低
速バスによるバッファへの転送が並行して実行される。
これにより全体の転送時間を低速バスのデータ転送時間
に近づけることができる。
行技術4と呼ぶ)には、低速バスによりデータ転送が所
定量だけ実行されると高速バスによるデータ転送を開始
して両方の転送を並行に行うことにより、低速バスと高
速バスとの両方の転送時間を低速バスの転送時間とほぼ
等しくできるようにした「入出力制御装置におけるデー
タ転送方式」が開示されている。先行技術4は、低速バ
スを介して転送されるデータは第1DMA制御部の制御
によりバッファに順次格納されるとともに所定量検出手
段にも入力してデータ量が計数される。転送データ量が
所定値に達すると、所定量検出手段から起動出力が発生
し、第2DMA制御部は高速バスを介して入出力装置へ
のDMA転送動作を開始する。このデータ転送はバッフ
ァに格納された先頭データから順に送出され、同時に低
速バスによるバッファへの転送が並行して実行される。
これにより全体の転送時間を低速バスのデータ転送時間
に近づけることができる。
【0008】特開昭61−48059号公報(以下、先
行技術5と呼ぶ)には、処理装置の高速CPUバスと複
数のプロセス入力装置(PI)、プロセス出力装置(P
O)を接続する低速バスとをデータメモリで結合し、デ
ータバァファ機能を有するアダプタを設けることによ
り、処理能力の向上を図った「バスアダプタ」が開示さ
れている。先行技術5では、CPUとメモリ間のデータ
転送は、バス切換フリップフロップを“1”にセット
し、メモリ制御回路はCPUバスのCPU読出/書込制
御信号、CPU同期パルス、メモリアクセス信号でメモ
リを制御する。メモリのアドレスはマルチプレクサを通
してCPUアドレスバスが結合され、データは双方向ス
リーステートゲート回路によりCPUデータバスに結合
される。メモリ、入出力バス間のデータ転送は、バス切
換フリップフロップを“0”にリセットし、入出力バス
タイミング信号発生回路の制御信号を有効にし、入出力
アドレスカウンタを起動させ、PIからメモリに、メモ
リからPOに転送する。
行技術5と呼ぶ)には、処理装置の高速CPUバスと複
数のプロセス入力装置(PI)、プロセス出力装置(P
O)を接続する低速バスとをデータメモリで結合し、デ
ータバァファ機能を有するアダプタを設けることによ
り、処理能力の向上を図った「バスアダプタ」が開示さ
れている。先行技術5では、CPUとメモリ間のデータ
転送は、バス切換フリップフロップを“1”にセット
し、メモリ制御回路はCPUバスのCPU読出/書込制
御信号、CPU同期パルス、メモリアクセス信号でメモ
リを制御する。メモリのアドレスはマルチプレクサを通
してCPUアドレスバスが結合され、データは双方向ス
リーステートゲート回路によりCPUデータバスに結合
される。メモリ、入出力バス間のデータ転送は、バス切
換フリップフロップを“0”にリセットし、入出力バス
タイミング信号発生回路の制御信号を有効にし、入出力
アドレスカウンタを起動させ、PIからメモリに、メモ
リからPOに転送する。
【0009】特開昭58−201137号公報(以下、
先行技術6と呼ぶ)には、転送速度の異なる入出力バス
に接続される装置間のデータ転送装置チャネルにおい
て、FIFO形式のデータバッファを介することによ
り、自身の接続されたバスの転送速度で入出力する「デ
ータ転送方式」が開示されている。装置Aからのバスに
アドレス情報を送り、デバイスアドレス選択回路がアド
レスに一致を検出するとアドレス信号線を“1”にセッ
トする。装置Aからのストローブ信号でゲートして、レ
シーバ回路を介して入力したデータを信号線でゲートし
てデータバッファに格納し、制御回路により、後段のバ
ッファにデータをFIFO形式で格納し、この転送は書
込み速度より速い。データが後段のバッファに格納され
ると制御信号からの信号により装置Bは読込みを始める
が、装置Aより装置Bの方が高速の時は、バッファが満
杯になるまで満杯になるまで読込みを待つ。これによ
り、伝送速度の異なる系統間のデータ転送を効率よく行
う。
先行技術6と呼ぶ)には、転送速度の異なる入出力バス
に接続される装置間のデータ転送装置チャネルにおい
て、FIFO形式のデータバッファを介することによ
り、自身の接続されたバスの転送速度で入出力する「デ
ータ転送方式」が開示されている。装置Aからのバスに
アドレス情報を送り、デバイスアドレス選択回路がアド
レスに一致を検出するとアドレス信号線を“1”にセッ
トする。装置Aからのストローブ信号でゲートして、レ
シーバ回路を介して入力したデータを信号線でゲートし
てデータバッファに格納し、制御回路により、後段のバ
ッファにデータをFIFO形式で格納し、この転送は書
込み速度より速い。データが後段のバッファに格納され
ると制御信号からの信号により装置Bは読込みを始める
が、装置Aより装置Bの方が高速の時は、バッファが満
杯になるまで満杯になるまで読込みを待つ。これによ
り、伝送速度の異なる系統間のデータ転送を効率よく行
う。
【0010】
【発明が解決しようとする課題】上述したように、従来
のバスブリッジでは低速なIOバスのリード中はCPU
の動作ができず、また高速なCPUバスが占有されてし
まうために、バスの使用効率が低下してしまうという問
題がある。
のバスブリッジでは低速なIOバスのリード中はCPU
の動作ができず、また高速なCPUバスが占有されてし
まうために、バスの使用効率が低下してしまうという問
題がある。
【0011】これを防ぐために、上記先行技術1に開示
されているように、バス自体に変更を加え、スプリット
転送をサポートする技術が知られている。しかしなが
ら、この技術を実現するためには、CPUやI/Oデバ
イス自体の変更が必要となってしまう。
されているように、バス自体に変更を加え、スプリット
転送をサポートする技術が知られている。しかしなが
ら、この技術を実現するためには、CPUやI/Oデバ
イス自体の変更が必要となってしまう。
【0012】したがって、本発明の課題は、バスのプロ
トコルに変更を加えずに、ソフトウェアによるアクセス
方法の変更のみで、高速なCPUバスを占有することな
く、低速なIOバスに対するリード動作を行うことがで
きるバスブリッジを提供することにある。
トコルに変更を加えずに、ソフトウェアによるアクセス
方法の変更のみで、高速なCPUバスを占有することな
く、低速なIOバスに対するリード動作を行うことがで
きるバスブリッジを提供することにある。
【0013】なお、先行技術2及び3は、CPUを介さ
ずに、低速バスに接続されるDMA機器から高速バスに
接続される主メモリへデータを転送するDMAコントロ
ーラを開示しているに過ぎず、CPUから低速なIOバ
スに接続された入出力装置にリードアクセスする技術に
ついては何等開示しておらず示唆もしていない。また、
先行技術2及び3は、データを一時的に格納するための
データバッファやキャッシュ部等の一時記憶装置を備え
ているとはいうものの、その使用目的はDMA機器から
のデータを主メモリへ転送する前に、単に一時的に保持
するためである。先行技術4も、先行技術2及び3と同
様に、CPUを介さずに、低速バスを介して転送されて
きたデータを高速バスへ転送する技術を開示しているに
過ぎない。先行技術5は、CPUとメモリと間のデータ
転送と、メモリと入出力バスと間のデータ転送とを開示
しているに過ぎない。先行技術6は、転送速度の異なる
入出力バスに接続される装置間のデータ転送装置チャネ
ルを開示しているに過ぎず、片方の装置がCPUである
ときのリードアクセスにおける問題を認識していない。
ずに、低速バスに接続されるDMA機器から高速バスに
接続される主メモリへデータを転送するDMAコントロ
ーラを開示しているに過ぎず、CPUから低速なIOバ
スに接続された入出力装置にリードアクセスする技術に
ついては何等開示しておらず示唆もしていない。また、
先行技術2及び3は、データを一時的に格納するための
データバッファやキャッシュ部等の一時記憶装置を備え
ているとはいうものの、その使用目的はDMA機器から
のデータを主メモリへ転送する前に、単に一時的に保持
するためである。先行技術4も、先行技術2及び3と同
様に、CPUを介さずに、低速バスを介して転送されて
きたデータを高速バスへ転送する技術を開示しているに
過ぎない。先行技術5は、CPUとメモリと間のデータ
転送と、メモリと入出力バスと間のデータ転送とを開示
しているに過ぎない。先行技術6は、転送速度の異なる
入出力バスに接続される装置間のデータ転送装置チャネ
ルを開示しているに過ぎず、片方の装置がCPUである
ときのリードアクセスにおける問題を認識していない。
【0014】
【課題を解決するための手段】本発明によるバスブリッ
ジは、CPUが接続される高速なCPUバスと、入出力
デバイスが接続される低速なIOバスとの間でバス変換
を行うバスブリッジにおいて、事前にIOバスのリード
を行うことによって得られたデータの準備を行うプリフ
ェッチバッファと、このプリフェッチバッファに対する
データの書込み及び読出しを制御する制御部とを含み、
プリフェッチバッファは、CPUからのライトデータに
含まれる入出力デバイスを指示するアドレスをプリフェ
ッチアドレスとして保持するアドレス部と、入出力デバ
イスからIOバスを介してリードしたデータをプリフェ
ッチデータとして保持するデータ部とから成り、制御部
は、プリフェッチライト要求時に、CPUから送られて
きたライトアドレスがプリフェッチ指示を示していると
きに、ライトデータに含まれるアドレスデータをプリフ
ェッチアドレスとしてプリフェッチバッファのアドレス
部にラッチし、IOバスに対してプリフェッチのための
リードを行い、リードされたデータをプリフェッチバッ
ファのデータ部にプリフェッチデータとしてラッチし、
リード要求時に、CPUから送られてきたリードアドレ
スがプリフェッチバッファのアドレス部に保持されたプ
リフェッチアドレスのいずれかに一致したときに、当該
一致したプリフェッチアドレスに対応するプリフェッチ
バッファのデータ部に保持されているプリフェッチデー
タをCPUバス上に出力させる、制御を行うことを特徴
とする。
ジは、CPUが接続される高速なCPUバスと、入出力
デバイスが接続される低速なIOバスとの間でバス変換
を行うバスブリッジにおいて、事前にIOバスのリード
を行うことによって得られたデータの準備を行うプリフ
ェッチバッファと、このプリフェッチバッファに対する
データの書込み及び読出しを制御する制御部とを含み、
プリフェッチバッファは、CPUからのライトデータに
含まれる入出力デバイスを指示するアドレスをプリフェ
ッチアドレスとして保持するアドレス部と、入出力デバ
イスからIOバスを介してリードしたデータをプリフェ
ッチデータとして保持するデータ部とから成り、制御部
は、プリフェッチライト要求時に、CPUから送られて
きたライトアドレスがプリフェッチ指示を示していると
きに、ライトデータに含まれるアドレスデータをプリフ
ェッチアドレスとしてプリフェッチバッファのアドレス
部にラッチし、IOバスに対してプリフェッチのための
リードを行い、リードされたデータをプリフェッチバッ
ファのデータ部にプリフェッチデータとしてラッチし、
リード要求時に、CPUから送られてきたリードアドレ
スがプリフェッチバッファのアドレス部に保持されたプ
リフェッチアドレスのいずれかに一致したときに、当該
一致したプリフェッチアドレスに対応するプリフェッチ
バッファのデータ部に保持されているプリフェッチデー
タをCPUバス上に出力させる、制御を行うことを特徴
とする。
【0015】また、本発明による計算機システムは、C
PUと、このCPUが接続された高速なCPUバスと、
低速入出力装置と、この低速入出力装置が接続された低
速なIOバスと、CPUバスとIOバスとの間でバス変
換を行うバスブリッジとを有する計算機システムにおい
て、バスブリッジは、事前にIOバスのリードを行うこ
とによって得られたデータの準備を行うプリフェッチバ
ッファと、このプリフェッチバッファに対するデータの
書込み及び読出しを制御する制御部とを含み、CPU
は、IOバスに対してリードアクセスを行う場合、先
ず、プリフェッチバッファに対して低速入出力装置から
必要なリードデータを事前にプリフェッチデータとして
格納させるプリフェッチライト要求をCPUバス上に出
し、その後に、プリフェッチバッファからプリフェッチ
データをリードするためのリード要求をCPUバス上に
出す手段を有し、CPUは、プリフェッチライト要求と
して、最初にプリフェッチを指示するライトアドレスを
CPUバス上に出し、引き続いて、リードを要求すべき
低速入出力装置を指示するアドレスデータをライトデー
タとしてCPUバス上に出し、プリフェッチバッファ
は、ライトデータに含まれる低速入出力装置を指示する
アドレスをプリフェッチアドレスとして保持するアドレ
ス部と、低速入出力装置からIOバスを介してリードし
たデータをプリフェッチデータとして保持するデータ部
とから成り、制御部は、ライトアドレスがプリフェッチ
を指示しているときにライトデータをプリフェッチバッ
ファのアドレス部にプリフェッチアドレスとしてラッチ
し、プリフェッチアドレスを使用してIOバスにリード
をし、リードしたデータをプリフェッチバッファのデー
タ部にプリフェッチデータとしてラッチすることを特徴
とする。
PUと、このCPUが接続された高速なCPUバスと、
低速入出力装置と、この低速入出力装置が接続された低
速なIOバスと、CPUバスとIOバスとの間でバス変
換を行うバスブリッジとを有する計算機システムにおい
て、バスブリッジは、事前にIOバスのリードを行うこ
とによって得られたデータの準備を行うプリフェッチバ
ッファと、このプリフェッチバッファに対するデータの
書込み及び読出しを制御する制御部とを含み、CPU
は、IOバスに対してリードアクセスを行う場合、先
ず、プリフェッチバッファに対して低速入出力装置から
必要なリードデータを事前にプリフェッチデータとして
格納させるプリフェッチライト要求をCPUバス上に出
し、その後に、プリフェッチバッファからプリフェッチ
データをリードするためのリード要求をCPUバス上に
出す手段を有し、CPUは、プリフェッチライト要求と
して、最初にプリフェッチを指示するライトアドレスを
CPUバス上に出し、引き続いて、リードを要求すべき
低速入出力装置を指示するアドレスデータをライトデー
タとしてCPUバス上に出し、プリフェッチバッファ
は、ライトデータに含まれる低速入出力装置を指示する
アドレスをプリフェッチアドレスとして保持するアドレ
ス部と、低速入出力装置からIOバスを介してリードし
たデータをプリフェッチデータとして保持するデータ部
とから成り、制御部は、ライトアドレスがプリフェッチ
を指示しているときにライトデータをプリフェッチバッ
ファのアドレス部にプリフェッチアドレスとしてラッチ
し、プリフェッチアドレスを使用してIOバスにリード
をし、リードしたデータをプリフェッチバッファのデー
タ部にプリフェッチデータとしてラッチすることを特徴
とする。
【0016】
【作用】上記の構成において、CPUバス上のライトア
ドレスとプリフェッチを指示するためのアドレスとが一
致した場合に、ライトデータをプリフェッチバッファの
アドレス部にプリフェッチアドレスとして保持し、CP
Uバスのアクセスを直ちに完了し、IOバスに対してそ
のアドレスに対するリードを開始する。
ドレスとプリフェッチを指示するためのアドレスとが一
致した場合に、ライトデータをプリフェッチバッファの
アドレス部にプリフェッチアドレスとして保持し、CP
Uバスのアクセスを直ちに完了し、IOバスに対してそ
のアドレスに対するリードを開始する。
【0017】IOバスからリードされたデータを、プリ
フェッチバッファのそのアドレスに対応するデータ部に
プリフェッチデータとして格納する。既に同じアドレス
がプリフェッチバッファに存在する場合は、古いプリフ
ェッチデータを新しいプリフェッチデータで上書きす
る。
フェッチバッファのそのアドレスに対応するデータ部に
プリフェッチデータとして格納する。既に同じアドレス
がプリフェッチバッファに存在する場合は、古いプリフ
ェッチデータを新しいプリフェッチデータで上書きす
る。
【0018】CPUバスからIOバスへのリード要求が
来た場合、このリード要求によるリードアドレスがプリ
フェッチバッファのアドレス部のプリフェッチアドレス
と一致する場合には、IOバスへのリードアクセスは出
さずに、プリフェッチバッファのデータ部のプリフェッ
チデータをCPUバスに出力してリードアクセスを完了
させる。
来た場合、このリード要求によるリードアドレスがプリ
フェッチバッファのアドレス部のプリフェッチアドレス
と一致する場合には、IOバスへのリードアクセスは出
さずに、プリフェッチバッファのデータ部のプリフェッ
チデータをCPUバスに出力してリードアクセスを完了
させる。
【0019】リード要求のあったリードアドレスがプリ
フェッチバッファのアドレス部のプリフェッチアドレス
と一致するものがなかった場合には、従来のバスブリッ
ジと同様にIOバスへリードのアクセスを出し、リード
されたデータをCPUバスに出力する。
フェッチバッファのアドレス部のプリフェッチアドレス
と一致するものがなかった場合には、従来のバスブリッ
ジと同様にIOバスへリードのアクセスを出し、リード
されたデータをCPUバスに出力する。
【0020】IOバスへのライト要求は、ライトアドレ
スをアドレスレジスタ、ライトデータをデータレジスタ
にラッチした時点でIOバス上のライトアクセスが完了
するのを待たずにCPUバス上のライドアクセスを完了
する。
スをアドレスレジスタ、ライトデータをデータレジスタ
にラッチした時点でIOバス上のライトアクセスが完了
するのを待たずにCPUバス上のライドアクセスを完了
する。
【0021】このように上記の構成によれば、CPUが
低速のIOバスのリードアクセスを行う場合、プリフェ
ッチ指示アドレスに対して、あらかじめリード要求を行
うアドレスをプリフェッチバッファにプリフェッチアド
レスとしてライトしておくことにより、後から行われる
そのアドレスに対するリードはプリフェッチされたデー
タを使用することにより、CPUバス上では最短のリー
ドサイクルで完了することができ、プリフェッチから実
際のリードまでの間、CPUは他の処理を行うことがで
きる。また、CPUバスをその間他のデバイスが使用す
ることができるため、CPUバスを有効に使用すること
が可能で、処理性能を向上することができる。
低速のIOバスのリードアクセスを行う場合、プリフェ
ッチ指示アドレスに対して、あらかじめリード要求を行
うアドレスをプリフェッチバッファにプリフェッチアド
レスとしてライトしておくことにより、後から行われる
そのアドレスに対するリードはプリフェッチされたデー
タを使用することにより、CPUバス上では最短のリー
ドサイクルで完了することができ、プリフェッチから実
際のリードまでの間、CPUは他の処理を行うことがで
きる。また、CPUバスをその間他のデバイスが使用す
ることができるため、CPUバスを有効に使用すること
が可能で、処理性能を向上することができる。
【0022】
【発明の実施の形態】以下、本発明の実施形態について
図面を参照して詳細に説明する。
図面を参照して詳細に説明する。
【0023】図1に本発明の一実施の形態に係るバスブ
リッジの構成を示し、図2に図1に示したバスブリッジ
を備えた計算機システムを示す。
リッジの構成を示し、図2に図1に示したバスブリッジ
を備えた計算機システムを示す。
【0024】最初に、図2を参照して、計算機システム
は、本発明に係るバスブリッジ10と、CPUバス20
と、IOバス30と、CPU40と、主記憶装置50
と、グラフィック表示デバイス60と、高速I/Oデバ
イス70と、低速I/Oデバイス80とを備えている。
は、本発明に係るバスブリッジ10と、CPUバス20
と、IOバス30と、CPU40と、主記憶装置50
と、グラフィック表示デバイス60と、高速I/Oデバ
イス70と、低速I/Oデバイス80とを備えている。
【0025】CPU40は本計算機システムの中枢をな
している。主記憶装置50は各種プログラム、データ等
を格納する。グラフィック表示デバイス60は画面表示
を行う。高速I/Oデバイス70はディスク装置やネッ
トワーク等のデバイスである。これらCPU40、主記
憶装置50、グラフィック表示デバイス60、および高
速I/Oデバイス70は高速なCPUバス20に接続さ
れている。低速I/Oデバイス80はキーボードやプリ
ンタ等の比較的低速な装置であり、低速なIOバス30
に接続されている。バスブリッジ10は、CPUバス2
0とIOバス30との間のデータ転送を制御する。
している。主記憶装置50は各種プログラム、データ等
を格納する。グラフィック表示デバイス60は画面表示
を行う。高速I/Oデバイス70はディスク装置やネッ
トワーク等のデバイスである。これらCPU40、主記
憶装置50、グラフィック表示デバイス60、および高
速I/Oデバイス70は高速なCPUバス20に接続さ
れている。低速I/Oデバイス80はキーボードやプリ
ンタ等の比較的低速な装置であり、低速なIOバス30
に接続されている。バスブリッジ10は、CPUバス2
0とIOバス30との間のデータ転送を制御する。
【0026】図1に移って、バスブリッジ10は、CP
U側アドレスレジスタ11と、CPU側データレジスタ
12と、プリフェッチバッファ13と、比較回路14
と、IO側アドレスレジスタ15と、IO側データレジ
スタ16と、制御回路17と、プリフェッチ指示アドレ
スレジスタ18とを有する。
U側アドレスレジスタ11と、CPU側データレジスタ
12と、プリフェッチバッファ13と、比較回路14
と、IO側アドレスレジスタ15と、IO側データレジ
スタ16と、制御回路17と、プリフェッチ指示アドレ
スレジスタ18とを有する。
【0027】CPU側アドレスレジスタ11はCPUバ
ス20に接続されており、CPUバス20からのデータ
転送要求時に送られるアドレスをラッチするためのレジ
スタである。CPU側データレジスタ12もCPUバス
20に接続されており、CPUバス20からのライトデ
ータをラッチするためのレジスタである。プリフェッチ
バッファ13は、プリフェッチするアドレスを保持する
アドレス部13−1と、リードされたデータをプリフェ
ッチデータとして保持するデータ部13−2とから構成
されている。
ス20に接続されており、CPUバス20からのデータ
転送要求時に送られるアドレスをラッチするためのレジ
スタである。CPU側データレジスタ12もCPUバス
20に接続されており、CPUバス20からのライトデ
ータをラッチするためのレジスタである。プリフェッチ
バッファ13は、プリフェッチするアドレスを保持する
アドレス部13−1と、リードされたデータをプリフェ
ッチデータとして保持するデータ部13−2とから構成
されている。
【0028】比較回路14は、アドレスレジスタ11に
保持されたCPUバス20からのライトアドレスとプリ
フェッチ指示アドレスレジスタ18に保持されたプリフ
ェッチ指示アドレスとを比較し、アドレスレジスタ11
に保持されたCPUバス20からのリードアドレスとプ
リフェッチバッファ13のアドレス部13−1に保持さ
れたプリフェッチアドレスとを比較し、プリフェッチ指
示アドレスに対するライトデータとプリフェッチバッフ
ァ13のアドレス部13−1に保持されたプリフェッチ
アドレスとを比較し、これら比較結果を制御回路17へ
送出する。
保持されたCPUバス20からのライトアドレスとプリ
フェッチ指示アドレスレジスタ18に保持されたプリフ
ェッチ指示アドレスとを比較し、アドレスレジスタ11
に保持されたCPUバス20からのリードアドレスとプ
リフェッチバッファ13のアドレス部13−1に保持さ
れたプリフェッチアドレスとを比較し、プリフェッチ指
示アドレスに対するライトデータとプリフェッチバッフ
ァ13のアドレス部13−1に保持されたプリフェッチ
アドレスとを比較し、これら比較結果を制御回路17へ
送出する。
【0029】IO側アドレスレジスタ15は、CPU側
アドレスレジスタ11とIOバス30とプリフェッチバ
ッファ13のアドレス部13−1とに接続されており、
IOバス30へのデータ転送要求時にCPU側アドレス
レジスタ11に保持されたアドレスまたはプリフェッチ
バッファ13のアドレス部13−1に保持されたプリフ
ェッチアドレスをラッチする。IO側データレジスタ1
6は、CPU側データレジスタ12とIOバス30とプ
リフェッチバッファ13のデータ部13−2とに接続さ
れており、IOバス30へのライトデータ、IOバス3
0上のリードデータをラッチする。
アドレスレジスタ11とIOバス30とプリフェッチバ
ッファ13のアドレス部13−1とに接続されており、
IOバス30へのデータ転送要求時にCPU側アドレス
レジスタ11に保持されたアドレスまたはプリフェッチ
バッファ13のアドレス部13−1に保持されたプリフ
ェッチアドレスをラッチする。IO側データレジスタ1
6は、CPU側データレジスタ12とIOバス30とプ
リフェッチバッファ13のデータ部13−2とに接続さ
れており、IOバス30へのライトデータ、IOバス3
0上のリードデータをラッチする。
【0030】制御回路17は、上記比較結果に基づい
て、CPUバス20とIOバス30のデータ転送制御、
および本バスブリッジ10内部の制御を行う。制御回路
17とCPUバス20との間で入出力される信号には、
CPUバス20上で転送要求するアドレスが確定してい
ることを示すアドレスストローブ信号、データの受渡し
が完了したことを示すレディ信号がある。アドレススト
ローブ信号はCPU側アドレスレジスタ11のラッチ信
号にも用いられる。制御回路17とIOバス30との間
で入出力される信号には、リードの要求を示すIOリー
ド信号、ライトの要求を示すIOライト信号がある。I
Oリード信号の立上がりで、IOバス30上のリードデ
ータがIO側データレジスタ13にラッチされる。
て、CPUバス20とIOバス30のデータ転送制御、
および本バスブリッジ10内部の制御を行う。制御回路
17とCPUバス20との間で入出力される信号には、
CPUバス20上で転送要求するアドレスが確定してい
ることを示すアドレスストローブ信号、データの受渡し
が完了したことを示すレディ信号がある。アドレススト
ローブ信号はCPU側アドレスレジスタ11のラッチ信
号にも用いられる。制御回路17とIOバス30との間
で入出力される信号には、リードの要求を示すIOリー
ド信号、ライトの要求を示すIOライト信号がある。I
Oリード信号の立上がりで、IOバス30上のリードデ
ータがIO側データレジスタ13にラッチされる。
【0031】とにかく、制御回路17と比較回路14と
プリフェッチ指示アドレスレジスタ18との組み合わせ
は、プリフェッチバッファ13に対するデータの書込み
及び読出しを制御する制御部19として動作する。
プリフェッチ指示アドレスレジスタ18との組み合わせ
は、プリフェッチバッファ13に対するデータの書込み
及び読出しを制御する制御部19として動作する。
【0032】次に、図1及び図2に加えて図3(A)を
参照して、図1に示したバスブリッジ10の動作につい
て説明する。図3(A)において、第0乃至第13のマ
シンサイクルが数字0乃至13によって最上行に沿って
示されている。
参照して、図1に示したバスブリッジ10の動作につい
て説明する。図3(A)において、第0乃至第13のマ
シンサイクルが数字0乃至13によって最上行に沿って
示されている。
【0033】最初に、CPU40が低速I/Oデバイス
80からデータをリードするリード動作について説明す
る。
80からデータをリードするリード動作について説明す
る。
【0034】まず、CPU40のソフトウェアは、プリ
フェッチ指示アドレスに対して、リードしたいアドレス
を示すライトデータをプリフェッチアドレスとしてライ
トすることを行うためのプリフェッチライト要求を出
す。このプリフェッチライト要求は、ライトデータがC
PU側データレジスタ12にラッチされた時点でレディ
信号が出され、直ちに終了する。
フェッチ指示アドレスに対して、リードしたいアドレス
を示すライトデータをプリフェッチアドレスとしてライ
トすることを行うためのプリフェッチライト要求を出
す。このプリフェッチライト要求は、ライトデータがC
PU側データレジスタ12にラッチされた時点でレディ
信号が出され、直ちに終了する。
【0035】詳細に述べると、第1のマシンサイクル
で、CPU40はCPUバス20上にプリフェッチ指示
を示すライトアドレスとアドレスストローブ信号とを出
す。CPUバス20上のライトアドレスは、アドレス信
号のアサートによりCPU側アドレスレジスタ11にラ
ッチされる。次に、第2のマシンサイクルで、CPU4
0はCPUバス20上にプリフェッチライト要求を示す
ライトデータを出す。このライトデータは、CPU側デ
ータレジスタ12にラッチされると同時に、制御回路1
7はレディ信号をCPUバス20上に出す。したがっ
て、CPUバス20が解放され、第3のマシンサイクル
以降、CPUバス20をそれに接続された機器が使用す
ることが可能である。すなわち、CPUバス20が一旦
解放されるために、CPUバス20を使用して主記憶装
置50やグラフィック表示デバイス60へのアクセス
や、他の高速I/Oデバイス70がCPUバス20を使
用することが可能となり、CPUバス20を効率的に使
用することができる。
で、CPU40はCPUバス20上にプリフェッチ指示
を示すライトアドレスとアドレスストローブ信号とを出
す。CPUバス20上のライトアドレスは、アドレス信
号のアサートによりCPU側アドレスレジスタ11にラ
ッチされる。次に、第2のマシンサイクルで、CPU4
0はCPUバス20上にプリフェッチライト要求を示す
ライトデータを出す。このライトデータは、CPU側デ
ータレジスタ12にラッチされると同時に、制御回路1
7はレディ信号をCPUバス20上に出す。したがっ
て、CPUバス20が解放され、第3のマシンサイクル
以降、CPUバス20をそれに接続された機器が使用す
ることが可能である。すなわち、CPUバス20が一旦
解放されるために、CPUバス20を使用して主記憶装
置50やグラフィック表示デバイス60へのアクセス
や、他の高速I/Oデバイス70がCPUバス20を使
用することが可能となり、CPUバス20を効率的に使
用することができる。
【0036】一方、CPU側アドレスレジスタ11に保
持されたライトアドレスとプリフェッチ指示アドレスレ
ジスタ18に保持されたプリフェッチ指示アドレスとが
比較回路14により比較される。これらアドレスが一致
した場合、CPU側データレジスタ12に保持されたラ
イトデータはプリフェッチライト要求するアドレスを示
すデータであるため、CPU側データレジスタ12にラ
ッチされたアドレスデータとプリフェッチバッファ13
のアドレス部13−1に保持されたプリフェッチアドレ
スとを比較回路14により比較する。
持されたライトアドレスとプリフェッチ指示アドレスレ
ジスタ18に保持されたプリフェッチ指示アドレスとが
比較回路14により比較される。これらアドレスが一致
した場合、CPU側データレジスタ12に保持されたラ
イトデータはプリフェッチライト要求するアドレスを示
すデータであるため、CPU側データレジスタ12にラ
ッチされたアドレスデータとプリフェッチバッファ13
のアドレス部13−1に保持されたプリフェッチアドレ
スとを比較回路14により比較する。
【0037】上記アドレスデータに一致するプリフェッ
チアドレスがプリフェッチバッファ13のアドレス部1
3−1に存在する場合は、そのエントリを使用し、一致
するものがない場合は、新しいエントリにデータレジス
タ12に保持されたアドレスデータをプリフェッチアド
レスとしてラッチする。
チアドレスがプリフェッチバッファ13のアドレス部1
3−1に存在する場合は、そのエントリを使用し、一致
するものがない場合は、新しいエントリにデータレジス
タ12に保持されたアドレスデータをプリフェッチアド
レスとしてラッチする。
【0038】第3のマシンサイクルにおいて、制御回路
17はプリフェッチバッファ13のアドレス部13−1
に保持された上記プリフェッチアドレスをIO側アドレ
スレジスタ15にラッチし、第4のマシンサイクル以後
でIOバス30のIOリード信号をアサートし、低速I
/Oデバイス80に対するリードを行う。
17はプリフェッチバッファ13のアドレス部13−1
に保持された上記プリフェッチアドレスをIO側アドレ
スレジスタ15にラッチし、第4のマシンサイクル以後
でIOバス30のIOリード信号をアサートし、低速I
/Oデバイス80に対するリードを行う。
【0039】第8および第9のマシンサイクルにおい
て、IOバス30上でアドレスで指示される低速I/O
デバイス80がIOバス30上にリードされてデータを
出している。制御回路17は、このリードされたデータ
をIO側データレジスタ16にラッチする。IO側デー
タレジスタ16に保持されたリードデータは、プリフェ
ッチバッファ13のデータ部13−2に保持される。
て、IOバス30上でアドレスで指示される低速I/O
デバイス80がIOバス30上にリードされてデータを
出している。制御回路17は、このリードされたデータ
をIO側データレジスタ16にラッチする。IO側デー
タレジスタ16に保持されたリードデータは、プリフェ
ッチバッファ13のデータ部13−2に保持される。
【0040】第10のマシンサイクルにおいて、CPU
40は低速I/Oデバイス80に対してリード動作を行
う。すなわち、CPU40はその低速I/Oデバイス8
0を指示するリードアドレスをアドレスストローブ信号
とともにCPUバス20上へ出す。このリードアドレス
はCPU側アドレスレジスタ11にラッチされる。CP
U側アドレスレジスタ11に保持されたリードアドレス
はプリフェッチバッファ13のアドレス部13−1に保
持されたプリフェッチアドレスと比較回路14によって
比較される。
40は低速I/Oデバイス80に対してリード動作を行
う。すなわち、CPU40はその低速I/Oデバイス8
0を指示するリードアドレスをアドレスストローブ信号
とともにCPUバス20上へ出す。このリードアドレス
はCPU側アドレスレジスタ11にラッチされる。CP
U側アドレスレジスタ11に保持されたリードアドレス
はプリフェッチバッファ13のアドレス部13−1に保
持されたプリフェッチアドレスと比較回路14によって
比較される。
【0041】一致するアドレスがプリフェッチバッファ
13のアドレス部13−1にあった場合、第12のマシ
ンサイクルで、制御回路17は、実際のIOバス30に
対してリード動作を行わずに、そのエントリのプリフェ
ッチバッファ13のデータ部13−2に保持されている
プリフェッチデータをCPU側データレジスタ12に格
納し、CPUバス20に対してレディ信号をアサート
し、直ちにリードを終了する。
13のアドレス部13−1にあった場合、第12のマシ
ンサイクルで、制御回路17は、実際のIOバス30に
対してリード動作を行わずに、そのエントリのプリフェ
ッチバッファ13のデータ部13−2に保持されている
プリフェッチデータをCPU側データレジスタ12に格
納し、CPUバス20に対してレディ信号をアサート
し、直ちにリードを終了する。
【0042】尚、一致するエントリが存在する場合で、
そのアドレスに対するIOバス30のリード動作がまだ
完了していない場合には、制御回路17はIOバス30
に対するリードが終了するまで、CPUバス20に対す
るレディ信号をアサートするのを待つ。
そのアドレスに対するIOバス30のリード動作がまだ
完了していない場合には、制御回路17はIOバス30
に対するリードが終了するまで、CPUバス20に対す
るレディ信号をアサートするのを待つ。
【0043】一方、一致するエントリが存在しない場合
には、制御回路17は、図3(B)に示された従来のア
クセスと同様に、そのアドレスをIO側アドレスレジス
タ15にラッチし、IOバス30のIOリード信号をア
サートし、低速I/Oデバイス80に対するリードを行
い、リードされたデータをIO側データレジスタ16に
ラッチし、そのリードデータをCPU側データレジスタ
12に格納し、CPUバス20のレディ信号をアサート
し、リードを終了する。
には、制御回路17は、図3(B)に示された従来のア
クセスと同様に、そのアドレスをIO側アドレスレジス
タ15にラッチし、IOバス30のIOリード信号をア
サートし、低速I/Oデバイス80に対するリードを行
い、リードされたデータをIO側データレジスタ16に
ラッチし、そのリードデータをCPU側データレジスタ
12に格納し、CPUバス20のレディ信号をアサート
し、リードを終了する。
【0044】次に、CPU40から低速I/Oデバイス
80に対してデータをライトするライト動作について説
明する。この場合、制御回路17は、CPUバス20上
のライトアドレスをCPU側アドレスレジスタ11にラ
ッチし、ライトデータをCPU側データレジスタ12に
ラッチし、レディ信号をアサートする。これによって、
CPUバスサイクルは完了する。並行して、制御回路1
7は、CPU側アドレスレジスタ11に保持されたライ
トアドレスをIO側アドレスレジスタ15にラッチし、
CPU側データレジスタ12に保持されたライトデータ
をIO側データレジスタ16にラッチし、IOバス30
に対してIOライト信号をアサートする。これにより、
実際の低速I/Oデバイス80に対するライトが行われ
る。
80に対してデータをライトするライト動作について説
明する。この場合、制御回路17は、CPUバス20上
のライトアドレスをCPU側アドレスレジスタ11にラ
ッチし、ライトデータをCPU側データレジスタ12に
ラッチし、レディ信号をアサートする。これによって、
CPUバスサイクルは完了する。並行して、制御回路1
7は、CPU側アドレスレジスタ11に保持されたライ
トアドレスをIO側アドレスレジスタ15にラッチし、
CPU側データレジスタ12に保持されたライトデータ
をIO側データレジスタ16にラッチし、IOバス30
に対してIOライト信号をアサートする。これにより、
実際の低速I/Oデバイス80に対するライトが行われ
る。
【0045】本発明は上述した実施形態に限定せず、本
発明の趣旨を逸脱しない範囲内で種々の変更・変形が可
能である。
発明の趣旨を逸脱しない範囲内で種々の変更・変形が可
能である。
【0046】
【発明の効果】以上詳述したように、本発明では、高速
なCPUバスから低速なIOバスへのリードアクセスを
行う場合に、バスやCPU、I/Oデバイスを変更する
ことなく、ソフトウェアによるアクセス方法の変更のみ
で、リード要求をリードアクセス要求(プリフェッチ要
求)とデータ応答要求(実際のリード要求)との2つに
分割することができる。これにより、分割されたリード
アクセス要求のためのライトと実際のリードによるデー
タ応答の間、CPUは他の処理をすることができ、CP
Uの使用効率を向上できる。また、CPUバスも一旦解
放されるために、CPUバスを使用して主記憶装置やグ
ラフィック表示デバイスへのアクセスや、他の高速I/
OデバイスがCPUバスを使用することが可能となり、
CPUバスを効率的に使用することができる。
なCPUバスから低速なIOバスへのリードアクセスを
行う場合に、バスやCPU、I/Oデバイスを変更する
ことなく、ソフトウェアによるアクセス方法の変更のみ
で、リード要求をリードアクセス要求(プリフェッチ要
求)とデータ応答要求(実際のリード要求)との2つに
分割することができる。これにより、分割されたリード
アクセス要求のためのライトと実際のリードによるデー
タ応答の間、CPUは他の処理をすることができ、CP
Uの使用効率を向上できる。また、CPUバスも一旦解
放されるために、CPUバスを使用して主記憶装置やグ
ラフィック表示デバイスへのアクセスや、他の高速I/
OデバイスがCPUバスを使用することが可能となり、
CPUバスを効率的に使用することができる。
【図1】本発明の一実施の形態に係るバスブリッジの構
成を示すブロック図である。
成を示すブロック図である。
【図2】図1に示したバスブリッジを備えた計算機シス
テムの全体構成を示すブロック図である。
テムの全体構成を示すブロック図である。
【図3】同実施形態におけるプリフェッチアクセス
(A)と、従来のアクセス(B)の動作を説明するため
のタイミングチャートである。
(A)と、従来のアクセス(B)の動作を説明するため
のタイミングチャートである。
10 バスブリッジ 11 アドレスレジスタ 12 データレジスタ 13 プリフェッチバッファ 13−1 アドレス部 13−2 データ部 14 比較回路 15 アドレスレジスタ 16 データレジスタ 17 制御回路 18 プリフェッチ指示アドレスレジスタ 19 制御部 20 CPUバス 30 IOバス 40 CPU 50 主記憶装置 60 グラフィック表示デバイス 70 高速I/Oデバイス 80 低速I/Oデバイス
Claims (6)
- 【請求項1】 CPU(40)が接続される高速なCP
Uバス(20)と、入出力デバイス(80)が接続され
る低速なIOバス(30)との間でバス変換を行うバス
ブリッジ(10)において、 事前に前記IOバスのリードを行うことによって得られ
たデータの準備を行うプリフェッチバッファ(13)
と、 該プリフェッチバッファに対するデータの書込み及び読
出しを制御する制御部(14,17,18)と、 を含み、 前記プリフェッチバッファ(13)は、前記CPUから
のライトデータに含まれる前記入出力デバイスを指示す
るアドレスをプリフェッチアドレスとして保持するアド
レス部(13−1)と、前記入出力デバイスから前記I
Oバスを介してリードしたデータをプリフェッチデータ
として保持するデータ部(13−2)とから成り、 前記制御部は、 プリフェッチライト要求時に、前記CPUから送られて
きたライトアドレスがプリフェッチ指示を示していると
きに、前記ライトデータに含まれるアドレスデータを前
記プリフェッチアドレスとして前記プリフェッチバッフ
ァのアドレス部にラッチし、前記IOバスに対してプリ
フェッチのためのリードを行い、前記リードされたデー
タを前記プリフェッチバッファのデータ部に前記プリフ
ェッチデータとしてラッチし、 リード要求時に、前記CPUから送られてきたリードア
ドレスが前記プリフェッチバッファのアドレス部に保持
されたプリフェッチアドレスのいずれかに一致したとき
に、当該一致したプリフェッチアドレスに対応する前記
プリフェッチバッファのデータ部に保持されている前記
プリフェッチデータを前記CPUバス上に出力させる、 制御を行う ことを特徴とするバスブリッジ。 - 【請求項2】 前記制御部は、 前記プリフェッチ指示アドレスを保持するプリフェッチ
指示アドレスレジスタ(18)と、 前記CPUバス上のライトアドレスと前記プリフェッチ
指示アドレスレジスタの前記プリフェッチ指示アドレス
とを比較し、前記CPUバス上のライトデータと前記プ
リフェッチバッファのアドレス部のアドレスとを比較
し、前記CPUバス上のリードアドレスと前記プリフェ
ッチバッファのアドレス部のアドレスとを比較し、これ
ら比較結果を出力する比較回路(14)と、 前記比較結果に基づいて、前記プリフェッチバッファの
書込み及び読出しの制御と前記IOバスへのプリフェッ
チのためのリードとを行う制御回路(17)と、 を有することを特徴とする請求項1に記載のバスブリッ
ジ。 - 【請求項3】 CPU(40)と、該CPUが接続され
た高速なCPUバス(20)と、低速入出力装置(8
0)と、該低速入出力装置が接続された低速なIOバス
(30)と、前記CPUバスと前記IOバスとの間でバ
ス変換を行うバスブリッジ(10)とを有する計算機シ
ステムにおいて、 前記バスブリッジは、事前に前記IOバスのリードを行
うことによって得られたデータの準備を行うプリフェッ
チバッファ(13)と、該プリフェッチバッファに対す
るデータの書込み及び読出しを制御する制御部(14,
17,18)とを含み、 前記CPUは、前記IOバスに対してリードアクセスを
行う場合、先ず、前記プリフェッチバッファに対して前
記低速入出力装置から必要なリードデータを事前にプリ
フェッチデータとして格納させるプリフェッチライト要
求を前記CPUバス上に出し、その後に、前記プリフェ
ッチバッファから前記プリフェッチデータをリードする
ためのリード要求を前記CPUバス上に出す手段を有
し、 前記CPUは、前記プリフェッチライト要求として、最
初にプリフェッチを指示するライトアドレスを前記CP
Uバス上に出し、引き続いて、リードを要求すべき前記
低速入出力装置を指示するアドレスデータをライトデー
タとして前記CPUバス上に出し、 前記プリフェッチバッファ(13)は、前記ライトデー
タに含まれる前記低速入出力装置を指示するアドレスを
前記プリフェッチアドレスとして保持するアドレス部
(13−1)と、前記低速入出力装置から前記IOバス
を介してリードしたデータをプリフェッチデータとして
保持するデータ部(13−2)とから成り、 前記制御部(14,17,18)は、前記ライトアドレ
スが前記プリフェッチを指示しているときに前記ライト
データを前記プリフェッチバッファのアドレス部に前記
プリフェッチアドレスとしてラッチし、前記プリフェッ
チアドレスを使用して前記IOバスにリードをし、前記
リードしたデータを前記プリフェッチバッファのデータ
部に前記プリフェッチデータとしてラッチすることを特
徴とする計算機システム。 - 【請求項4】 前記制御部は、前記ライトデータに一致
するプリフェッチアドレスが前記プリフェッチバッファ
のアドレス部に既に存在する場合は、そのエントリを使
用し、一致するものがない場合は、新しいエントリに前
記ライトデータを前記プリフェッチアドレスとしてラッ
チすること、を特徴とする請求項3に記載の計算機シス
テム。 - 【請求項5】 前記制御部は、前記リード要求時に、前
記CPUから前記CPUバス上に出されるリードアドレ
スと一致するプリフェッチアドレスが前記プリフェッチ
バッファのアドレス部に存在するときに、該一致したプ
リフェッチアドレスに対応した前記プリフェッチバッフ
ァのデータ部からプリフェッチデータをリードして前記
CPUバス上へ出力させること、を特徴とする請求項3
に記載の計算機システム。 - 【請求項6】 前記制御部は、 前記プリフェッチ指示アドレスを保持するプリフェッチ
指示アドレスレジスタ(18)と、 前記CPUバス上のライトアドレスと前記プリフェッチ
指示アドレスレジスタの前記プリフェッチ指示アドレス
とを比較し、前記CPUバス上のライトデータと前記プ
リフェッチバッファのアドレス部のアドレスとを比較
し、前記CPUバス上のリードアドレスと前記プリフェ
ッチバッファのアドレス部のアドレスとを比較し、これ
ら比較結果を出力する比較回路(14)と、 前記比較結果に基づいて、前記プリフェッチバッファの
書込み及び読出しの制御と前記IOバスへのプリフェッ
チのためのリードとを行う制御回路(17)とを有する
こと、を特徴とする請求項5に記載の計算機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8041129A JP3061106B2 (ja) | 1996-02-28 | 1996-02-28 | バスブリッジおよびそれを備えた計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8041129A JP3061106B2 (ja) | 1996-02-28 | 1996-02-28 | バスブリッジおよびそれを備えた計算機システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09231164A JPH09231164A (ja) | 1997-09-05 |
JP3061106B2 true JP3061106B2 (ja) | 2000-07-10 |
Family
ID=12599842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8041129A Expired - Fee Related JP3061106B2 (ja) | 1996-02-28 | 1996-02-28 | バスブリッジおよびそれを備えた計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3061106B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4514916B2 (ja) * | 2000-07-26 | 2010-07-28 | 株式会社沖データ | バスシステム |
US20070271406A1 (en) * | 2004-04-16 | 2007-11-22 | Rohm Co., Ltd. | Image Processing Device |
JP2006113689A (ja) * | 2004-10-12 | 2006-04-27 | Fujitsu Ltd | バスブリッジ装置およびデータ転送方法 |
JP4688822B2 (ja) * | 2005-06-15 | 2011-05-25 | パナソニック株式会社 | 外部デバイスアクセス装置およびシステムlsi |
CN100375068C (zh) * | 2005-09-29 | 2008-03-12 | 威盛电子股份有限公司 | 选择性预取方法以及桥接模块 |
JP2007200169A (ja) | 2006-01-30 | 2007-08-09 | Hitachi Ltd | ストレージシステム及び記憶制御方法 |
US7870323B2 (en) * | 2007-12-26 | 2011-01-11 | Marvell World Trade Ltd. | Bridge circuit for interfacing processor to main memory and peripherals |
-
1996
- 1996-02-28 JP JP8041129A patent/JP3061106B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09231164A (ja) | 1997-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040107265A1 (en) | Shared memory data transfer apparatus | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
JPS6035696B2 (ja) | デ−タ処理装置における母線制御装置 | |
JP3514477B2 (ja) | 入力/出力装置及びデータ転送方法 | |
US20050283565A1 (en) | Method and apparatus for connecting lpc bus and serial flash memory | |
US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
JP3061106B2 (ja) | バスブリッジおよびそれを備えた計算機システム | |
JP4097883B2 (ja) | データ転送装置および方法 | |
JPH1196072A (ja) | メモリアクセス制御回路 | |
US5129065A (en) | Apparatus and methods for interface register handshake for controlling devices | |
US5287483A (en) | Prefetched operand storing system for an information processor | |
US20030217218A1 (en) | Interface for devices having different data bus widths and data transfer method using the interface | |
JPH07295947A (ja) | データ転送管理装置及び方法 | |
US20010002481A1 (en) | Data access unit and method therefor | |
JP3039391B2 (ja) | メモリシステム | |
JP2534321B2 (ja) | デ―タ転送制御方法及び装置 | |
JP4220258B2 (ja) | ノンキャッシュ領域内高速メモリアクセス方法 | |
JPS61237145A (ja) | ストアバツフアの制御方式 | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JPH06348592A (ja) | ライトバッファ制御方式 | |
JP2531209B2 (ja) | チャネル装置 | |
JP2003122626A (ja) | 高性能グラフィックスコントローラ | |
JP4538054B2 (ja) | データ転送装置および方法 | |
JPH0962562A (ja) | メモリの処理回路 | |
JP2001243170A (ja) | データ転送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000329 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |