JP2002024162A - データ転送装置および方法 - Google Patents
データ転送装置および方法Info
- Publication number
- JP2002024162A JP2002024162A JP2000202675A JP2000202675A JP2002024162A JP 2002024162 A JP2002024162 A JP 2002024162A JP 2000202675 A JP2000202675 A JP 2000202675A JP 2000202675 A JP2000202675 A JP 2000202675A JP 2002024162 A JP2002024162 A JP 2002024162A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- associative memory
- bus
- system bus
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
ータを転送するデータ転送装置を提供する。 【解決手段】 バスブリッジ101がシステムバス13
2とローカルバス137との間に接続され、システムバ
ス132上で、CPU133とI/O機器136と主記
憶装置135との間で転送されるデータを連想メモリ制
御部105を介して連想メモリ106に保持し、ローカ
ルバス137上のI/O機器138からこのデータへの
アクセスが生じた場合、連想メモリ106からI/O機
器138にデータを転送する。従って、I/O機器13
8から主記憶装置135へのデータ転送要求が生じたと
き、このデータが連想メモリ106に保持されていれば
システムバス132上でバスサイクルが発生しないの
で、高速にデータを転送することができる。
Description
び方法に関するものである。特に、ローカルバスからシ
ステムバス上の記憶装置のデータへのアクセス、システ
ムバス上からローカルバス上の記憶装置のデータへのア
クセスにおけるデータ転送を効率化したデータ転送装置
および方法に関する。
I/O機器の接続したローカルバスの間でのデータ転送
は、バスブリッジを介して行い、I/O機器からシステ
ムバス上の主記憶装置にあるデータにアクセスする場
合、バスブリッジにリクエストを出し、バスブリッジが
システムバスの使用権を獲得し、システムバス上で主記
憶装置に対してリードサイクルを発生させ、データを取
得後、ローカルバスにデータを転送していた。
を用いて詳しく説明する。
た概略構成図である。図7において、1はCPU、2は
バス調停部、3は主記憶装置、4はI/O機器、5はバ
スブリッジ、6はブリッジ制御部、7はバス調停部、8
はアドレス・データ制御部である。CPU1とバス調停
部2と主記憶装置3はシステムバス上に設けられ、I/
O機器4はローカルバス上に設けられている。
スブリッジを介してローカルバス上のI/O機器4が主
記憶装置3からデータを転送する場合のタイミングチャ
ートを示す図である。一例として主記憶装置3内のアド
レス4000からデータを転送する場合を示した。
ムバスの状態を示しており、51はシステムバスの使用
権の状態、52はバスブリッジ5からバス調停部2への
リクエスト信号線の状態、53はバス調停部2からバス
ブリッジ5へのアクノリッジ信号線の状態、54はシス
テムバスのアドレス線の状態、55はシステムバスのデ
ータ線の状態、56はシステムバスのリード/ライト線
の状態を示している。57から61まではローカルバス
の状態を示しており、57はI/O機器4からバス調停
部7へのリクエスト信号線の状態、58はバス調停部7
からI/O機器4へのアクノリッジ信号線の状態、59
はローカルバスのアドレス線の状態、60はローカルバ
スのデータ線の状態、61はローカルバスのリード/ラ
イト線の状態を示している。
O機器4からデータ転送要求が発生するのに先立って、
71から78に示すように、システムバス上でCPU1
が主記憶装置3内のアドレス4000、4004、4008にデータ
をライトしている動作が行われているものとする。
に対するデータのライト動作が行われている間に、I/
O機器4から主記憶装置3内のアドレス4000へのデータ
リード要求が発生した場合の動作を説明する。
線がアサートされ、バス調停部7に対してバス使用権が
要求される。次に、80に示すように、アクノリッジ信
号線がバス調停部7によってアサートされ、次に、81
に示すように、バス調停部7はバス調停部2に対してリ
クエスト信号線をアサートしてシステムバスの使用権を
要求する。また、82に示すように、I/O機器4によ
ってローカルバスにアドレス4000がドライブされる。
用権を付与するタイミングを調整する。バス調停部2
は、システムバス上で実行されているデータ転送が終了
するまでバス調停部7に対するアクノリッジ信号線をア
サートせず、CPU1がデータ転送を終了してから83
に示すように、アクノリッジ信号線をアサートしてバス
ブリッジ5に対してバスの使用を許可する。次に、84
に示すようにアドレス・データ制御部8からアドレス40
00がシステムバスにドライブされ、85に示すように、
主記憶装置4からデータが送られる。次に、86に示す
ように、このデータがローカルバスにドライブされてI
/O機器4が受け取ることにより、データ転送が終了す
る。
来のデータ転送装置では、システムバスが使用中であれ
ば、バス調停部2およびバス調停部7の連携によるバス
調停が行われるため、バスブリッジ5がシステムバスの
使用権を得て、システムバス上の主記憶装置3にアクセ
スし、主記憶装置3からデータをバスブリッジ5に転送
するまでに遅延時間が発生し、データ転送が遅くなると
いう課題がある。
ようなバス調停実行によるバス使用権の取得によらず、
ローカルバスからシステムバス上の記憶装置内のデータ
へのアクセスおよびシステムバス上からローカルバス上
の記憶装置内のデータへのアクセスにおけるデータ転送
を効率化したデータ転送装置および方法を提供すること
を目的とする。
め、本発明の第1のデータ転送装置は、システムバスと
ローカルバスとの間に接続された連想メモリと、前記連
想メモリのデータ入出力を制御するコントローラを備
え、前記コントローラは、前記システムバス上のデバイ
ス間で転送されているアドレスとデータを取り込んで前
記連想メモリに複製記憶し、前記ローカルバスからのデ
ータ転送要求を受け付け、該データ転送要求の示す転送
元アドレスが前記連想メモリに記憶したアドレスに含ま
れている場合は、前記連想メモリから該当するデータを
読み出して前記ローカルバスに転送することを特徴とす
る。
ス間で転送されているアドレスとデータを取り込んで連
想メモリに複製記憶しておくので、ローカルバスからの
データ転送要求における指定アドレスが当該連想メモリ
内に取り込んだデータに対応するものであれば、システ
ムバスの記憶装置のデータに代えて連想メモリ内のデー
タをローカルバスに転送することができる。つまり、直
接システムバスにアクセスする必要がなく、バス調停に
起因するデータ転送の遅延が発生せず、データ転送の効
率化を図ることができる。
前記コントローラは、前記システムバスにおいて、ある
デバイスから他のデバイスへのデータの書き込みサイク
ルが発生していることを判別すれば、前記デバイス間で
転送されるアドレスとデータを取り込んで前記連想メモ
リに複製記憶することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをシステムバスにおけるあるデバイス
から他のデバイスへのデータの書き込みサイクルが発生
のタイミングとすることができる。
前記コントローラは、前記システムバス上の少なくとも
一つのデバイスコントローラのデータ出力イネーブル信
号線をモニタし、該データ出力イネーブル信号線がアサ
ートされたときに、前記システムバス上で転送されるア
ドレスとデータを取り込んで前記連想メモリに複製記憶
することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをシステムバス上の少なくとも一つの
デバイスコントローラのデータ出力イネーブル信号線の
アサートのタイミングとすることができる。
前記コントローラは、前記システムバス上の少なくとも
一つのデバイスコントローラのデータ出力ストローブ信
号線をモニタし、該データ出力ストローブ信号線がアサ
ートされたときに、前記システムバス上で転送されるア
ドレスとデータを取り込んで前記連想メモリに複製記憶
することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをシステムバス上の少なくとも一つの
デバイスコントローラのデータ出力ストローブ信号線の
アサートのタイミングとすることができる。
前記コントローラは、前記ローカルバスから受け付けた
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれていない場合は、前記デー
タ転送要求に対して転送処理が完了していないアドレス
を示すデータ有効情報を第2の連想メモリに記憶し、前
記システムバス上のデバイス間で転送されているアドレ
スとデータを取り込み、該取り込んだアドレスが前記デ
ータ有効情報の示すアドレスである場合は、前記ローカ
ルバスに対して前記データ転送要求に対応するデータと
して転送することが好ましい。
の連想メモリ内に、ローカルバスから受け付けたデータ
転送要求に相当する転送元アドレスのデータが含まれて
いない場合であっても、すぐにシステムバスへの割り込
みを掛けることなく、第2の連想メモリに取り込み指定
を示すデータ有効情報を保持しておくことができ、バス
使用権確保を待つ間に第1の連想メモリからのデータ転
送が可能となれば、データを転送することができ、デー
タ転送の効率化を図ることができる。
システムバスとローカルバスとの間に接続された連想メ
モリと、前記連想メモリのデータ入出力を制御するコン
トローラを備え、前記コントローラは、前記ローカルバ
ス上のデバイス間で転送されているアドレスとデータを
取り込んで前記連想メモリに複製記憶し、前記システム
バスからのデータ転送要求を受け付け、該データ転送要
求の示す転送元アドレスが前記連想メモリに記憶したア
ドレスに含まれている場合は、前記連想メモリから該当
するデータを読み出して前記システムバスに転送するこ
とを特徴とする。
ス間で転送されているアドレスとデータを取り込んで連
想メモリに複製記憶しておくので、システムバスからの
データ転送要求における指定アドレスが当該連想メモリ
内に取り込んだデータに対応するものであれば、ローカ
ルバスの記憶装置のデータに代えて連想メモリ内のデー
タをシステムバスに転送することができる。つまり、直
接ローカルバスにアクセスする必要がなく、バス調停に
起因するデータ転送の遅延が発生せず、データ転送の効
率化を図ることができる。
前記コントローラは、前記ローカルバスにおいて、ある
デバイスから他のデバイスへのデータの書き込みサイク
ルが発生していることを判別すれば、前記デバイス間で
転送されるアドレスとデータを取り込んで前記連想メモ
リに複製記憶することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをローカルバスにおけるあるデバイス
から他のデバイスへのデータの書き込みサイクルが発生
のタイミングとすることができる。
前記コントローラは、前記ローカルバス上の少なくとも
一つのデバイスコントローラのデータ出力イネーブル信
号線をモニタし、該データ出力イネーブル信号線がアサ
ートされたときに、前記ローカルバス上で転送されるア
ドレスとデータを取り込んで前記連想メモリに複製記憶
することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをローカルバス上の少なくとも一つの
デバイスコントローラのデータ出力イネーブル信号線の
アサートのタイミングとすることができる。
前記コントローラは、前記ローカルバス上の少なくとも
一つのデバイスコントローラのデータ出力ストローブ信
号線をモニタし、該データ出力ストローブ信号線がアサ
ートされたときに、前記ローカルバス上で転送されるア
ドレスとデータを取り込んで前記連想メモリに複製記憶
することが好ましい。
の連想メモリにおいて取り込むべきデータを特定し、取
り込むタイミングをローカルバス上の少なくとも一つの
デバイスコントローラのデータ出力ストローブ信号線の
アサートのタイミングとすることができる。
前記コントローラは、前記システムバスから受け付けた
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれていない場合は、前記デー
タ転送要求に対して転送処理が完了していないアドレス
を示すデータ有効情報を第2の連想メモリに記憶し、前
記ローカルバス上のデバイス間で転送されているアドレ
スとデータを取り込み、該取り込んだアドレスが前記デ
ータ有効情報の示すアドレスである場合は、前記システ
ムバスに対して前記データ転送要求に対応するデータと
して転送することが好ましい。
の連想メモリ内に、システムバスから受け付けたデータ
転送要求に相当する転送元アドレスのデータが含まれて
いない場合であっても、すぐにローカルバスへの割り込
みを掛けることなく、第2の連想メモリに取り込み指定
を示すデータ有効情報を保持しておくことができ、バス
使用権確保を待つ間に第1の連想メモリからのデータ転
送が可能となれば、データを転送することができ、デー
タ転送の効率化を図ることができる。
システムバスとローカルバスとの間に接続された連想メ
モリと、前記連想メモリのデータ入出力を制御するコン
トローラを備え、前記コントローラは、前記システムバ
ス上のデバイス間で転送されているアドレスとデータを
取り込んで前記連想メモリに複製記憶し、前記ローカル
バス上のデバイス間で転送されているアドレスとデータ
を取り込んで前記連想メモリに複製記憶し、前記ローカ
ルバスからのデータ転送要求を受け付け、該データ転送
要求の示す転送元アドレスが前記連想メモリに記憶した
アドレスに含まれている場合は、前記連想メモリから該
当するデータを読み出して前記ローカルバスに転送し、
前記システムバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれている場合は、前記連想メ
モリから該当するデータを読み出して前記システムバス
に転送することを特徴とする。
ーカルバス上のデバイス間で転送されているアドレスと
データを取り込んで連想メモリに複製記憶しておくの
で、システムバスからのデータ転送要求における指定ア
ドレスまたはローカルバスからのデータ転送要求におけ
る指定アドレスが当該連想メモリ内に取り込んだデータ
に対応するものであれば、システムバスまたはローカル
バスの記憶装置のデータに代えて連想メモリ内のデータ
をシステムバスに転送することができる。つまり、直接
システムバスまたはローカルバスにアクセスする必要が
なく、バス調停に起因するデータ転送の遅延が発生せ
ず、データ転送の効率化を図ることができる。
て、図面を参照しながら説明する。
にかかるデータ転送装置の概略構成図である。
おいて、101はバスブリッジ、102はブリッジ制御
部、103はバス調停部、104はアドレス・データ制
御部である。105は連想メモリ制御部、106は連想
メモリ、107はアドレス比較部である。108は第2
の連想メモリである。この実施形態1の例は、第2の連
想メモリ108を含んだ構成としている。第2の連想メ
モリの働きは、ローカルバスから受け付けたデータ転送
要求の示す転送元アドレスが連想メモリ106に記憶し
たアドレスに含まれていない場合に、データ転送要求に
対して転送処理が完了していないアドレスを示すデータ
有効情報を記憶しておくものであり、未処理のデータ転
送要求を一時的に保持しておく効果を持つ。その後、シ
ステムバス上のデバイス間で転送されているアドレスと
データのバッファリング処理において取り込まれたアド
レスがデータ有効情報の示すアドレスであるか否かを確
認することにより、未処理のデータ転送要求にかかるデ
ータが取りこまれたか否かを確認することができる。デ
ータ有効情報の示すアドレスと一致する場合は取りこん
だデータをローカルバスに対してデータ転送要求に対応
するデータとして転送する処理が可能となる。
エントリの構成要素であり、109はエントリ番号、1
10はアドレス情報、111はデータ情報、112は有
効ビットである。また、113から116は第2の連想
メモリ108の構成要素であり、113はアドレス情
報、114はデータ情報、115はアドレス有効ビッ
ト、116はデータ有効ビットである。
6と連想メモリ制御部105の間の信号線であり、11
7はライトエントリセレクト信号線、118はライトイ
ネーブル信号線、119はライトアドレス情報信号線、
120はライトデータ情報信号線、121はリードエン
トリセレクト信号線、122はリードアドレス情報信号
線、123はリードデータ情報信号線、124は有効ビ
ット信号線である。
び127はチップセレクト信号線、128は出力イネー
ブル信号線、129はデータ・アクノリッジ信号線であ
り、CPU1とプロトコルチェッカ125の間の信号線
である。130はリクエスト信号線、131はアクノリ
ッジ信号線、132はシステムバス、133はCPU、
134はバス調停部、135は主記憶装置、136はI
/O機器、137はローカルバス、138はI/O機
器、139はリクエスト信号線、140はアクノリッジ
信号線である。
33、主記憶装置135、I/O機器136はシステム
バス132上で接続しており、また、バスブリッジ10
1、I/O機器138、はローカルバス137上で接続
している。
133からローカルバス137上のデバイスへのアクセ
スサイクルがシステムバス132上で発生した場合、そ
のサイクルをローカルバス137上のサイクルに変換す
る。また、I/O機器138からシステムバス132上
の主記憶装置135へのアクセスサイクルが発生した場
合、バス調停部103からリクエスト信号線130を通
じてバス調停部134にシステムバス132の使用権の
リクエストを出し、アクノリッジ信号線131を通じて
アクノレッジを受け取ると、そのサイクルをシステムバ
ス132上のサイクルに変換する。
3、アドレス・データ制御部104、連想メモリ制御部
105、連想メモリ106、アドレス比較部107、第
2の連想メモリ108はバスブリッジ101の内部に存
在する構成要素である。
01全体の動作の制御を行うものである。
とI/O機器138のローカルバス使用権の調停を行う
ものである。
ムバス132上のサイクルとローカルバス137上のサ
イクルとの変換を相互に行う機能を持つ。また、連想メ
モリ制御部105、アドレス比較部107、第2の連想
メモリ108とも接続し、連想メモリ制御部105との
アドレス、データの入出力を制御するものである。
06へのデータ入出力の制御を行うものであり、連想メ
モリ106とライトエントリセレクト信号線117、ラ
イトイネーブル信号線118、ライトアドレス情報信号
線119、ライトデータ情報信号線、リードエントリセ
レクト信号線120、リードエントリセレクト信号線1
21、リードアドレス情報信号線122、リードデータ
情報信号線123、有効ビット124で接続されてい
る。また、第2の連想メモリ108とも接続され、デー
タの入出力の制御を行う。また、内部にチップセレクト
信号線126、127、出力イネーブル信号線128お
よびデータ・アクノリッジ信号線129と接続されたプ
ロトコルチェッカ125をもち、バスサイクルを検知
し、システムバス132上のサイクルがリードサイクル
のときは、これらの信号線から連想メモリ106もしく
は第2の連想メモリ108にデータを転送するタイミン
グであると判別する。
33から主記憶装置135へのチップセレクト信号線で
あり、チップセレクト信号線127は、CPU133か
らI/O機器136へのチップセレクト信号線である。
り、各エントリはエントリ番号109、アドレス情報1
10、データ情報111、有効ビット112から成る。
ライトイネーブル信号線118がオンのとき、ライトエ
ントリセレクト信号線117で指定されたエントリ番号
をもつエントリのアドレス情報110、データ情報11
1を、それぞれライトアドレス情報信号線119の値
と、ライトデータ情報信号線120の値で上書きすると
同時に、有効ビット112をオンにする。また、リード
エントリセレクト信号線121で指定されたエントリ番
号をもつエントリのアドレス情報110、データ情報1
11を、それぞれリードアドレス情報信号線122と、
リードデータ情報信号線123にドライブする。
クエスト信号線130とアクノリッジ信号線131で接
続されている。また、バス調停部103はI/O機器1
38とリクエスト信号線139およびアクノリッジ信号
線140で接続されている。
制御部104および連想メモリ制御部105と接続され
ており、双方から受けるアドレスの値が一致するとき、
ブリッジ制御部102に通知する。
御部105と接続され、ローカルバスからのデータ転送
要求に対して該当するデータが連想メモリ106に含ま
れていない場合に連想メモリ制御部105から当該デー
タ転送要求にかかるアドレスが書き込まれる。当該アド
レスをアドレス情報113に保持し、アドレス有効ビッ
ト115をオンにする。また、データが書き込まれる
と、それをデータ情報114に保持し、データ有効ビッ
ト116をオンにする。このアドレス有効ビット11
5、データ有効ビット116がオンとなることにより未
処理のデータ転送要求が存在していることが示される。
バッファリング処理が進み、データ転送要求にかかるデ
ータが取り込まれる際、第2の連想メモリ108から該
当するアドレスおよびデータが読み出されると、連想メ
モリ制御部105にアドレス情報113の値とデータ情
報114の値を転送し、同時にアドレス有効ビット11
5およびデータ有効ビット116をオフにする。
部134がCPU133にシステムバス132の使用権
を与えているとき、主記憶装置135、I/O機器13
6、I/O機器138のいずれかにアクセスしてデータ
の入出力を行い、また、これらのデータを用いて演算処
理を行う。
アドレス0から6FFFのアドレス空間が割り当てられてい
るとする。
ら7FFFのアドレス空間が割り当てられているとする。
リッジ101のシステムバス132の使用権の調停を行
う。
作を図を用いて説明する。
である。図2において、201は、システムバスサイク
ル発生判別処理であり、202は、データバッファリン
グ処理であり、203は、ローカルバスリクエスト発生
判別処理であり、204は、バッファデータ転送処理で
ある。
は、アドレス・データ制御部104において、システム
バス132上にサイクルが発生しているかどうかを判別
する処理であり、サイクルが発生しているとき、データ
バッファリング処理202に移行し、発生していないと
き、ローカルバスリクエスト発生判別処理203に移行
する。つまり、システムバス132にバスサイクルが発
生している場合にはシステムバス132上で転送されて
いるデータを連想メモリ106に取りこむためのデータ
バッファリング処理202に移行し、システムバス13
2にバスサイクルが発生していない場合には、ローカル
バスからのリクエストによるデータ転送処理のためにバ
ス調停が実行されているのか否かを判定する処理に移行
する。
テムバス132上のサイクルで転送されているデータを
連想メモリ106もしくは第2の連想メモリ108にバ
ッファリングする処理であり、この処理を終えると、ロ
ーカルバスリクエスト発生判別処理203に移行する。
3は、バス調停部103において、リクエスト信号線1
39がアサートされているかどうかを判別する処理であ
り、リクエストが発生しているとき、バッファデータ転
送処理204に移行し、発生していないとき、システム
バスサイクル発生判別処理201に戻って処理を続行す
る。
ルバス137からのデータ転送要求に対して、データを
連想メモリ106もしくは第2の連想メモリ108にバ
ッファリングされているデータを転送する処理であり、
この処理を終えると、システムバスサイクル発生判別処
理201に戻って処理を続行する。
02を詳しく示す。図3はデータバッファリング処理2
02の詳しい動作を表すフロー図である。図3におい
て、301は、バスブリッジターゲット判別処理、30
2は、システムバスターゲット処理、303は、アドレ
ス保持処理、304は、アドレス有効ビット判別処理、
305は、第2の連想メモリアドレス情報判別処理、3
06は、サイクル判別処理、307は、第2の連想メモ
リデータ情報転送処理、308は、ターゲット判別処
理、309は、第2の連想メモリOE同期データ情報転
送処理、310は、第2の連想メモリDACK同期デー
タ情報転送処理、311は、第2の連想メモリデータ情
報有効化処理、312は、エントリ番号選択処理、31
3は、アドレス情報転送処理、314は、サイクル判別
処理、315は、データ情報転送処理、316は、ター
ゲット判別処理、317は、OE同期データ情報転送処
理、318は、DACK同期データ情報転送処理であ
る。
は、アドレス・データ制御部104において、バスブリ
ッジ101が現在のシステムバス132上のサイクルの
ターゲットであるかどうかを判別する処理であり、ター
ゲットであるとき、システムバスターゲット処理302
に移行し、ターゲットでないとき、アドレス保持処理3
03に移行する。つまり、バスブリッジ101が現在の
システムバス132上のサイクルのターゲットである場
合とは、システムバスからローカルバス上のリソースに
アクセスが要求されている場合を指し、この場合は、シ
ステムバスターゲット処理302に進み、バッファリン
グ処理202を一旦終了させることとなる。
ドレス・データ制御部104において、バスブリッジ1
01が現在のシステムバス132上のサイクルのターゲ
ットとして応答する処理であり、この処理を終えると、
このデータバッファリング処理202を終了する。
ータ制御部104において、システムバスからドライブ
されたアドレス信号線の値を保持する処理であり、この
処理を終えると、アドレス有効ビット判別処理304に
移行する。
想メモリ制御部105において、現在未処理であるデー
タ転送要求が存在していることを示すアドレス有効ビッ
ト115がオンかオフかを判別する処理である。オンで
あるとき、今回のバッファリング処理において取り込む
データが未処理であるデータ転送要求にかかるものであ
るか否かを確認すべく、第2の連想メモリアドレス情報
判別処理305に移行し、オフであるとき、現在未処理
であるデータ転送要求は存在していないので今回のバッ
ファリング処理において取り込むデータを連想メモリ1
06に格納するためエントリ番号選択処理312に移行
する。
05は、アドレス比較部107において、アドレス保持
処理303で保持されたアドレスと、アドレス情報11
3に保持されたアドレスとが一致するかどうかを判別す
る処理であり、一致するとき、今回のバッファリング処
理において取り込むデータが未処理であるデータ転送要
求にかかるものであるのでサイクル判別処理306に移
行し、一致しないとき、今回のバッファリング処理にお
いて取り込むデータが未処理であるデータ転送要求にか
かるものではないので、取り込んだデータを連想メモリ
106に格納するためエントリ番号選択処理312に移
行する。
ータ制御部104において、現在のシステムバス132
上のサイクルがリードサイクルであるかどうかを判別す
る処理で、リードサイクルであるとき、ターゲット判別
処理308に移行し、そうでないとき、第2の連想メモ
リデータ情報転送処理307に移行する。つまり、リー
ドサイクルである場合にはシステムバス上のどのリソー
スから当該情報が読み出されるのかを判別する処理に移
行し、リードサイクルでなく書き込みサイクルである場
合には現在データ線にドライブされている情報を取り込
む処理に移行する。
7は、第2の連想メモリ108において、アドレス情報
113にアドレスを書き込む処理であり、この処理を終
えると、第2の連想メモリデータ情報有効化処理311
に移行する。
チェッカ125において、チップセレクト信号線12
6、127からバスターゲットが主記憶装置135であ
るか、I/O機器136であるかを判別する処理であ
り、主記憶装置135であるとき、第2の連想メモリO
E同期データ情報転送処理309に移行し、I/O機器
136であるとき、第2の連想メモリDACK同期デー
タ情報転送処理310に移行する。
処理309は、連想メモリ制御部105およびプロトコ
ルチェッカ125において、出力イネーブル信号線12
8がアサートされたとき、アドレス・データ制御部10
4からドライブされているデータ線の値を第2の連想メ
モリ108のデータ情報114に書き込む処理であり、
この処理を終えると、第2の連想メモリデータ情報有効
化処理311に移行する。
転送処理310は、連想メモリ制御部105およびプロ
トコルチェッカ125において、データ・アクノリッジ
信号線129がアサートされたとき、システムバス13
2のデータ信号線にドライブされているの値をアドレス
・データ制御部104を通じて、第2の連想メモリ10
8のデータ情報114に書き込む処理であり、この処理
を終えると、第2の連想メモリデータ情報有効化処理3
11に移行する。
11は、連想メモリ制御部105において、第2の連想
メモリ108のデータ有効ビット116をオンにする処
理であり、この処理を終えると、データバッファリング
処理202を終了する。
リ制御部105において、アドレス保持処理204で保
持されたアドレスの値から、エントリを選択する処理で
あり、ここでは、具体的に、アドレスの下位4ビットの
16進数表現での値が0、8の場合、0を選択し、それ
以外の場合、1を選択し、選択した値をライトエントリ
セレクト信号線117にドライブする処理である。この
処理を終えると、アドレス情報転送処理313に移行す
る。
リ制御部105において、ライトアドレス情報信号線1
19にアドレス保持処理204で保持されたアドレスを
ドライブする処理であり、この処理を終えると、サイク
ル判別処理314に移行する。
ータ制御部104において、現在のシステムバス132
上のサイクルがリードサイクルであるかどうかを判別す
る処理で、リードサイクルであるとき、ターゲット判別
処理316に移行し、そうでないとき、データ情報転送
処理315に移行する。つまり、リードサイクルである
場合にはシステムバス上のどのリソースから情報が読み
出されるのかを判別する処理に移行し、リードサイクル
でなく書き込みサイクルである場合には現在データ線に
ドライブされている情報を取り込む処理に移行する。
制御部105において、ライトデータ情報信号線120
にデータをドライブし、また、ライトイネーブル信号線
118をアサートし、連想メモリ106にアドレス情報
とデータ情報を書込む処理であり、この処理終えると、
データバッファリング処理202を終了する。
チェッカ125において、チップセレクト信号線12
6、127からバスターゲットが主記憶装置135であ
るか、I/O機器136であるかを判別する処理であ
り、主記憶装置135であるとき、OE同期データ情報
転送処理317に移行し、I/O機器136であると
き、DACK同期データ情報転送処理318に移行す
る。
想メモリ制御部105およびプロトコルチェッカ125
において、出力イネーブル信号線128がアサートされ
たとき、アドレス・データ制御部104からドライブさ
れているデータ線の値をライトデータ情報信号線120
にドライブし、ライトイネーブル信号線118をオンに
する処理であり、この処理を終えると、データバッファ
リング処理202を終了する。
は、連想メモリ制御部105およびプロトコルチェッカ
125において、データ・アクノリッジ信号線129が
アサートされたとき、アドレス・データ制御部104か
らドライブされているデータ線の値をライトデータ情報
信号線120にドライブし、ライトイネーブル信号線1
18をオンにする処理であり、この処理を終えると、デ
ータバッファリング処理202を終了する。
02の詳しい動作である。
4を詳しく説明する。図4はバッファデータ転送処理2
04の詳しい動作を表すフロー図である。
イドル判別処理であり、402は、アクノリッジアサー
ト処理であり、403は、サイクル判別処理であり、4
04は、第2の連想メモリデータ判別処理であり、40
5は、第2の連想メモリデータ転送処理であり、406
は、バッファデータ判別処理であり、407は、バッフ
ァデータ転送処理であり、408は、アドレス判別処理
であり、409は、システムバスリクエスト処理であ
り、410は、システムバスアクノリッジ判別処理であ
り、411は、システムバスマスタ処理であり、412
は、ローカルバスターゲット処理であり、413は、第
2の連想メモリアドレス情報有効化処理であり、414
は、ローカルバスリトライ応答処理であり、415は、
アクノリッジディアサート処理である。
バス調停部103において、ローカルバス137がアイ
ドル状態か、もしくはリクエストを受けているローカル
バスマスタに現在アクノリッジを出しているかどうかを
判別する処理であり、ローカルバス137がアイドル状
態か、もしくはリクエストを受けているローカルバスマ
スタに現在アクノリッジを出しているとき、アクノリッ
ジアサート処理402に移行し、そうでないとき、引き
続きローカルバスアイドル判別処理401にとどまる。
調停部103において、アクノリッジ信号線140をア
サートする処理であり、この処理を終えるとサイクル判
別処理403に移行する。
部102においてローカルバス137のサイクル発生を
監視し、発生したサイクルがリードサイクルであるかど
うかを判別する処理であり、リードサイクルであれば第
2の連想メモリデータ判別処理404に移行し、そうで
ないときアドレス判別処理408に移行する。つまり、
ローカルバスがリードサイクルにあれば、ローカルバス
上にデータを転送する処理に移行し、リードサイクルで
ない場合はシステムバス132上のリソースへの書き込
み要求であるのでバス調停部134に対してバス調停の
リクエストをアサートする処理に移行する。
は、連想メモリ制御部105において、今回転送するデ
ータが、現在データ転送が未処理であるデータ転送要求
としてエントリされたものであるか否かを調べる処理で
あり、データ有効ビット116がオンのときは、アドレ
ス情報113の値をアドレス比較部107に転送し、ア
ドレス比較部107においてローカルバス137でドラ
イブされているアドレスと一致するかどうかを判別す
る。一致した場合は、第2の連想メモリデータ転送処理
405に移行する。一致しない場合、連想メモリ106
中に今回転送するデータが存在するかを確認するため、
バッファデータ判別処理406に移行する。また、デー
タ有効ビット116がオフの場合は、現在データ転送が
未処理であるデータ転送要求がないので、バッファデー
タ判別処理406に移行する。
は、連想メモリ制御部105において、データ情報11
4からデータを読み出し、アドレス・データ制御部10
4において、そのデータをローカルバス137にドライ
ブしてローカルバスのサイクルに応答する処理であり、
この処理を終えるとバッファデータ転送処理204を終
了する。
モリ制御部105において、ローカルバス137でドラ
イブされているアドレスに該当するエントリ番号の有効
ビット112がオンのとき、アドレス情報110からア
ドレスをアドレス比較部107に転送し、アドレス比較
部107において、ローカルバス137でドライブされ
ているアドレスと一致するかどうかを判別する処理で、
一致する場合、バッファデータ転送処理407に移行
し、一致しない場合、アドレス判別処理408に移行す
る。つまり、この場合は連想メモリ106内にバッファ
リングされているデータによってはデータ転送要求に応
えることができないため、実際にシステムバス132上
のリソースにアクセスする必要があるか否かを確認する
処理に移行する。ローカルバス137でドライブされて
いるアドレスに該当するエントリ番号の有効ビット11
2がオフのとき、アドレス判別処理408に移行する。
モリ制御部105において、連想メモリ制御部105に
おいて、バッファデータ判別処理406で一致したアド
レス情報110をもつ連想メモリ106内のエントリの
データ情報111からデータを読み出し、アドレス・デ
ータ制御部104において、そのデータをローカルバス
137にドライブしてローカルバスのサイクルに応答す
る処理であり、この処理を終えるとバッファデータ転送
処理204を終了する。
ータ制御部104において、ローカルバス137にドラ
イブされたアドレスをデコードし、このアドレスがシス
テムバス132上のデバイスに割り当てられたメモリ空
間にあるとき、システムバスリクエスト処理409に移
行し、そうでないとき、バッファデータ転送処理204
を終了する。
ス調停部103において、リクエスト信号線130をア
サートする処理であり、この処理を終えるとシステムバ
スアクノリッジ判別処理410に移行する。
は、バス調停部103において、アクノリッジ信号線1
31がアサートされたかどうかを判別する処理であり、
アクノリッジ信号131がアサートされたとき、システ
ムバスマスタ処理411に移行し、そうでないとき、第
2の連想メモリアドレス情報有効化処理413に移行す
る。
ス・データ制御部104において、システムバス132
にサイクルを発生させ、ローカルバス137から受けて
いるデータ転送要求をシステムバス上に起こす処理であ
り、この処理を終えるとローカルバスターゲット処理4
12に移行する。
ドレス・データ制御部104において、システムバスマ
スタ処理411で起こしたデータ転送要求の結果をロー
カルバス137にドライブする処理であり、この処理を
終えるとバッファデータ転送処理204を終了する。
413は、連想メモリ制御部105において、ローカル
バス137にドライブされたアドレスをアドレス情報1
13に転送し、アドレス有効ビット115をオンにする
処理であり、この処理を終えると、ローカルバスリトラ
イ応答処理414に移行する。
アドレス・データ制御部104において、ローカルバス
137に対し、リトライ応答する処理であり、この処理
を終えるとアクノリッジディアサート処理415に移行
する。
バス調停部103において、アクノリッジ信号線140
をディアサートする処理であり、この処理を終えるとバ
ッファデータ転送処理204を終了する。
処理204の処理である。
作を実際のデータ転送を例に説明する。
の一例を示すタイミングチャートを示す図である。
線130の状態であり、502は、アクノリッジ信号線
131の状態であり、503は、システムバス132の
アドレス線の状態であり、504は、システムバス13
2のデータ線の状態であり、505は、システムバス1
32のリード/ライト信号線の状態であり、506は、
チップセレクト信号線126の状態であり、507は、
出力イネーブル信号線128の状態であり、508は、
チップセレクト信号線127の状態であり、509は、
データ・アクノリッジ信号線129の状態であり、51
0は、ライトエントリセレクト信号線117の状態であ
り、511は、ライトイネーブル信号線118の状態で
あり、512は、ライトアドレス情報信号線119の状
態であり、513は、ライトデータ情報信号線120の
状態であり、514は、連想メモリ106のエントリ0
のアドレス情報110の状態であり、515は、連想メ
モリ106のエントリ0のデータ情報111の状態であ
り、516は、連想メモリ106のエントリ1のアドレ
ス情報110の状態であり、517は、連想メモリ10
6のエントリ1のデータ情報111の状態であり、51
8は、アドレス有効ビット115の状態であり、519
は、アドレス情報113の状態であり、520は、デー
タ有効ビット116の状態であり、521は、データ情
報114の状態であり、522は、リードエントリセレ
クト信号線121の状態であり、523は、リードアド
レス情報信号線122の状態であり、524は、リード
データ情報信号線123の状態であり、525は、リク
エスト信号線139の状態であり、526は、アクノリ
ッジ信号線140の状態であり、527は、ローカルバ
ス137のリード/ライト信号線の状態であり、528
は、ローカルバス137のアドレス線の状態であり、5
29は、ローカルバス137のデータ線の状態であり、
530は、ローカルバス137でのブリッジ101の応
答状態である。
201で、551から553に示すように、アドレス40
20にデータdatawを書込むサイクルが発生しているの
で、データバッファリング処理202に移行する。
は、まず、バスブリッジターゲット判別処理301が実
行されるが、554に示すように、チップセレクト信号
線127がアサートされており、バスブリッジ101は
このサイクルのターゲットではないので、アドレス保持
処理303に移行する。
レス・データ制御部104の内部にアドレス4020を保持
し、アドレス有効ビット判別処理304に移行する。
では、555に示すように、アドレス有効ビット115
がオフであるので、エントリ番号選択処理312に移行
する。
アドレス4020からエントリ番号0を選択し、556に示
すように、ライトエントリセレクト信号線117に0を
ドライブし、アドレス情報転送処理313に移行する。
557に示すように、ライトアドレス情報信号線119
にアドレス4020をドライブし、サイクル判別処理314
に移行する。
3に示すように、このサイクルがライトサイクルである
ことから、データ情報転送処理315に移行する。
58に示すように、ライトデータ情報信号線120にデ
ータdatawをドライブし、また、559に示すように、
ライトイネーブル信号線118をアサートし、560、
561に示すように、連想メモリ106のエントリ0の
アドレス情報110とデータ情報111にそれぞれアド
レス4020とデータdatawを書込み、データバッファリン
グ処理202を終了する。
理203では、562に示すように、リクエスト信号線
139がアサートされていないので、システムバスサイ
クル発生判別処理201に戻る。
201で、563、564に示すように、アドレス4000
のデータを読み出すサイクルが発生しているので、デー
タバッファリング処理202に移行する。
スブリッジターゲット判別処理301からアドレス情報
転送処理313までは、アドレスの値が違うだけで、上
に述べたアドレス4020にデータdatawを書込むサイクル
の場合と同様の処理がなされる。
4に示すように、このサイクルがリードサイクルである
ことから、ターゲット判別処理316に移行する。
54に示すように、チップセレクト信号線127がアサ
ートされていることから、I/O機器136がバスター
ゲットであると判別し、DACK同期データ情報転送処
理318に移行する。
18では、565に示すように、データ・アクノリッジ
信号線129がアサートされたとき、566に示すよう
に、データdata0をライトデータ情報信号線120にド
ライブし、567に示すように、ライトイネーブル信号
線118をオンにし、568、569に示すように、連
想メモリ106のエントリ0のアドレス情報110とデ
ータ情報111にそれぞれアドレス4000とデータdata0
を書込み、データバッファリング処理202を終了し、
ローカルバスリクエスト発生判別処理203に移行す
る。
理203では、570に示すように、リクエスト信号線
139がアサートされているので、バッファデータ転送
処理204に移行する。
は、まず、ローカルバスアイドル判別処理401が実行
されるが、ローカルバス137はアイドル状態にあるの
で、アクノリッジアサート処理402に移行する。
は、571に示すように、アクノリッジ信号線140を
アサートし、サイクル判別処理403に移行する。
2に示すように、ローカルバス137で発生したサイク
ルがリードサイクルであるので、第2の連想メモリデー
タ判別処理404に移行する。
04では、573に示すように、データ有効ビット11
6がオフなので、バッファデータ判別処理406に移行
する。
は、574に示すように、ローカルバス137でドライ
ブされているアドレス4008に該当するエントリ番号0の
アドレス情報110のアドレスが568に示すように、
4000であり、4008と一致しないので、アドレス判別処理
408に移行する。
カルバス137にドライブされたアドレス4008をデコー
ドし、このアドレスがシステムバス132上のデバイス
に割り当てられたメモリ空間にあるので、システムバス
リクエスト処理409に移行する。
では、575に示すように、リクエスト信号線130を
アサートし、システムバスアクノリッジ判別処理410
に移行する。
410では、576に示すように、アクノリッジ信号線
131がアサートされていないので、第2の連想メモリ
アドレス情報有効化処理413に移行する。
化処理413では、577、578に示すように、ロー
カルバス137にドライブされたアドレス4008をアドレ
ス情報113に転送し、アドレス有効ビット115をオ
ンにし、ローカルバスリトライ応答処理414に移行す
る。
4では、579に示すように、ローカルバス137に対
し、リトライ応答し、アクノリッジディアサート処理4
14に移行する。
4では、580に示すように、アクノリッジ信号線14
0をディアサートし、バッファデータ転送処理204を
終了し、システムバスサイクル発生判別処理201に戻
る。
201では、564、581に示すように、システムバ
ス132上に、アドレス4008のリードサイクルが発生し
ているので、データバッファリング処理202に移行す
る。
は、まず、バスブリッジターゲット判別処理301が実
行されるが、554に示すように、チップセレクト信号
線127がアサートされており、バスブリッジ101は
このサイクルのターゲットではないので、アドレス保持
処理303に移行する。
レス・データ制御部104の内部にアドレス4008を保持
し、アドレス有効ビット判別処理304に移行する。
では、578に示すように、アドレス有効ビット115
がオンであるので、第2の連想メモリアドレス情報判別
処理305に移行する。
処理305では、アドレス保持処理204で保持された
アドレス4008と、577に示すように、アドレス情報1
13に保持されたアドレス4008とが一致するので、サイ
クル判別処理306に移行する。
4に示すように、リードサイクルなので、ターゲット判
別処理308に移行する。
54に示すように、チップセレクト信号線127がアサ
ートされているので、バスターゲットがI/O機器13
6であると判別し、第2の連想メモリDACK同期デー
タ情報転送処理310に移行する。
タ情報転送処理310では、582に示すように、デー
タ・アクノリッジ信号線129がアサートされたとき、
583に示す、データ信号線の値data2が、584に示
すように、データ情報114に書込まれ、第2の連想メ
モリデータ情報有効化処理311に移行する。
処理311では、585に示すように、第2の連想メモ
リ108のデータ有効ビット116をオンにし、データ
バッファリング処理202を終了し、ローカルバスリク
エスト発生判別処理203に移行する。
ドレス400Cとデータdata3がエントリ1に書込まれ、さ
らに、588、589に示すように、アドレス4010とデ
ータdata4がエントリ0に書込まれた後、ローカルバス
リクエスト発生判別処理203で、590に示す、リク
エスト信号線139のアサートが判別され、バッファデ
ータ転送処理204に移行する。
は、まず、ローカルバスアイドル判別処理401が実行
されるが、ローカルバス137はアイドル状態にあるの
で、アクノリッジアサート処理402に移行する。
は、591に示すように、アクノリッジ信号線140を
アサートし、サイクル判別処理403に移行する。
2に示すように、ローカルバス137で発生したサイク
ルがリードサイクルであるので、第2の連想メモリデー
タ判別処理404に移行する。
04では、585に示すように、データ有効ビット11
6がオンなので、577に示す、アドレス情報113の
値4008と、593に示す、ローカルバス137でドライ
ブされているアドレス4008が一致するので、第2の連想
メモリデータ転送処理405に移行する。
05では、データ情報114から、584に示すデータ
data2を読み出し、594に示すように、ローカルバス
137のデータ信号線にドライブしてバッファデータ転
送処理204を終了する。
ス137上にアドレス400Cへのリードサイクルが発生し
ているとき、バッファデータ判別処理406で、586
に示す、エントリ番号1のアドレス情報110のアドレ
ス400Cとローカルバス137でドライブされているアド
レス400Cが一致していると判別され、バッファデータ転
送処理407に移行する。
は、エントリ1のデータ情報111から、587に示す
データdata3を読み出し、596に示すように、ローカ
ルバス137のデータ信号線にドライブする。
としたが、1であっても、また、3以上であってもよ
い。エントリ数が大きいほど効果は大きいが、ブリッジ
の回路規模が大きくなる。
データ転送装置および方法では、ローカルバス137上
にはバスブリッジ101以外にはI/O機器138しか
デバイスが存在していない例を説明したが、他にもデバ
イスが存在して、それらのデバイス間でデータ転送が行
われるとき、それをバスブリッジ内の別のバッファに保
持することにより、システムバス132からこのデータ
へのアクセスが発生したとき、ローカルバス137にア
クセスすることなく、バッファからデータを転送するこ
とができる。また、別のバッファを設けることにより、
ローカルバス137上のデバイス間で転送され、保持さ
れたデータが、システムバス132上のデバイス間で転
送され、保持されるデータで上書きされることがない。
図6はそのようなローカルバス用の連想メモリ603を
含むバスブリッジの概念図である。図1では、システム
バス用の連想メモリ106のみが設けられた構成であっ
たが、本実施形態2の図6の構成では、システムバス用
の連想メモリ106に加え、ローカルバス用の連想メモ
リ604も設けられている。
あり、602は、ブリッジ制御部であり、603は、連
想メモリ制御部であり、604は、連想メモリであり、
605は、アドレス比較部であり、606は、第2の連
想メモリ、607は、バス調停部であり、608は、D
MAコントローラであり、609は、リクエスト信号線
であり、610は、アクノリッジ信号線であり、611
は、メモリである。
2上で転送されるアドレスとデータを連想メモリ106
に保持し、また、ローカルバス137上で転送されるア
ドレスとデータを連想メモリ604に保持し、システム
バス132上のサイクルでローカルバス137上のアド
レスからのデータ転送要求が発生して、そのデータが連
想メモリ604に保持されている場合は、ローカルバス
にサイクルを発生させることなく、連想メモリ604に
保持されたデータをシステムバス132上に転送する。
01全体の動作の制御を行う。
04、第2の連想メモリ606と接続し、I/O機器1
38、DMAコントローラ608、メモリ611の間で
転送されるアドレスおよびデータを連想メモリ604も
しくは第2の連想メモリ606に転送する。また、CP
U133からメモリ611へのリードサイクルが発生し
た場合、ドライブされているアドレスが連想メモリ60
4もしくは第2の連想メモリ606に保持されていれ
ば、連想メモリ604もしくは第2の連想メモリ606
からデータを読み出し、アドレス・データ制御部104
に転送する。
説明した第2の連想メモリ108と同様のものである。
連想メモリ制御部603と接続され、ローカルバスから
のデータ転送要求に対して該当するデータが連想メモリ
604に含まれていない場合に連想メモリ制御部603
から当該データ転送要求にかかるアドレスが書き込まれ
るものである。
とは別に連想メモリ604を持っているので、例えばD
MAコントローラ608からメモリ611へ書込まれる
データを連想メモリ604に保持することにより、CP
U133からこのデータへのアクセスが発生したとき、
メモリ611にアクセスすることなく、連想メモリ60
4からデータを転送することができる。また、このデー
タが、システムバス132上のデバイス間で転送され、
保持されるデータで上書きされることがない。
としたデータ転送処理の詳しい処理動作は、実施形態1
で説明したシステムバス用の連想メモリ106を中心と
したデータ転送処理の詳しい処理動作と同様に考えるこ
とができる。
ドライブされたアドレス情報とデータ情報をバスブリッ
ジ内の連想メモリに保持することにより、このアドレス
へのリードアクセスがローカルバス上のバスマスタから
発生した場合、システムバスの使用権を獲得する必要
や、システムバス上のリードサイクルを発生させる必要
がないので、早急にバスマスタにデータを転送すること
が可能となる。
ドレス情報とデータ情報をバスブリッジ内の連想メモリ
に保持することにより、このアドレスへのリードアクセ
スがシステムバス上のバスマスタから発生した場合、ロ
ーカルバスの使用権を獲得する必要や、ローカルバス上
のリードサイクルを発生させる必要がないので、早急に
バスマスタにデータを転送することが可能である。
図
ロー図
すフロー図
フロー図
すタイミングチャートを示す図
つバスブリッジの概念図
ャートを示す図
信号線の状態 53 バス調停部2からバスブリッジ5へのアクノリッ
ジ信号線の状態 54 システムバスのアドレス線の状態 55 システムバスのデータ線の状態 56 システムバスのリード/ライト線の状態 57 I/O機器9からバス調停部7へのリクエスト信
号線の状態 58 バス調停部7からI/O機器9へのアクノリッジ
信号線の状態 59 ローカルバスのアドレス線の状態 60 ローカルバスのデータ線の状態 61 ローカルバスのリード/ライト線の状態 101 バスブリッジ 102 ブリッジ制御部 103 バス調停部 104 アドレス・データ制御部 105 バッファ制御部 106 バッファ 107 アドレス比較部 108 第2の連想メモリ 109 エントリ番号 110 アドレス情報 111 データ情報 112 有効ビット 113 アドレス情報 114 データ情報 115 アドレス有効ビット 116 データ有効ビット 117 ライトエントリセレクト信号線 118 ライトイネーブル信号線 119 ライトアドレス情報信号線 120 ライトデータ情報信号線 121 リードエントリセレクト信号線 122 リードアドレス情報信号線 123 リードデータ情報信号線 124 有効ビット信号線 125 プロトコルチェッカ 126、127 チップセレクト信号線 128 出力イネーブル信号線 129 データ・アクノリッジ信号線 130 リクエスト信号線 131 アクノリッジ信号線 132 システムバス 133 CPU 134 バス調停部 135 主記憶装置 136 I/O機器 137 ローカルバス 138 I/O機器 139 リクエスト信号線 140 アクノリッジ信号線 601 バスブリッジ 602 ブリッジ制御部 603 バッファ制御部 604 バッファ 605 アドレス比較部 606 第2の連想メモリ 607 バス調停部 608 DMAコントローラ 609 リクエスト信号線 610 アクノリッジ信号線 611 メモリ
Claims (14)
- 【請求項1】 システムバスとローカルバスとの間に接
続された連想メモリと、 前記連想メモリのデータ入出力を制御するコントローラ
を備え、 前記コントローラは、 前記システムバス上のデバイス間で転送されているアド
レスとデータを取り込んで前記連想メモリに複製記憶
し、 前記ローカルバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれている場合は、前記連想メ
モリから該当するデータを読み出して前記ローカルバス
に転送することを特徴とするデータ転送装置。 - 【請求項2】 前記コントローラは、前記システムバス
において、あるデバイスから他のデバイスへのデータの
書き込みサイクルが発生していることを判別すれば、前
記デバイス間で転送されるアドレスとデータを取り込ん
で前記連想メモリに複製記憶する請求項1に記載のデー
タ転送装置。 - 【請求項3】 前記コントローラは、前記システムバス
上の少なくとも一つのデバイスコントローラのデータ出
力イネーブル信号線をモニタし、該データ出力イネーブ
ル信号線がアサートされたときに、前記システムバス上
で転送されるアドレスとデータを取り込んで前記連想メ
モリに複製記憶する請求項1に記載のデータ転送装置。 - 【請求項4】 前記コントローラは、前記システムバス
上の少なくとも一つのデバイスコントローラのデータ出
力ストローブ信号線をモニタし、該データ出力ストロー
ブ信号線がアサートされたときに、前記システムバス上
で転送されるアドレスとデータを取り込んで前記連想メ
モリに複製記憶する請求項1に記載のデータ転送装置。 - 【請求項5】 前記コントローラは、 前記ローカルバスから受け付けたデータ転送要求の示す
転送元アドレスが前記連想メモリに記憶したアドレスに
含まれていない場合は、前記データ転送要求に対して転
送処理が完了していないアドレスを示すデータ有効情報
を第2の連想メモリに記憶し、 前記システムバス上のデバイス間で転送されているアド
レスとデータを取り込み、該取り込んだアドレスが前記
データ有効情報の示すアドレスである場合は、前記ロー
カルバスに対して前記データ転送要求に対応するデータ
として転送する請求項1に記載のデータ転送装置。 - 【請求項6】 システムバスとローカルバスとの間に接
続された連想メモリと、 前記連想メモリのデータ入出力を制御するコントローラ
を備え、 前記コントローラは、 前記ローカルバス上のデバイス間で転送されているアド
レスとデータを取り込んで前記連想メモリに複製記憶
し、 前記システムバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれている場合は、前記連想メ
モリから該当するデータを読み出して前記システムバス
に転送することを特徴とするデータ転送装置。 - 【請求項7】 前記コントローラは、前記ローカルバス
において、あるデバイスから他のデバイスへのデータの
書き込みサイクルが発生していることを判別すれば、前
記デバイス間で転送されるアドレスとデータを取り込ん
で前記連想メモリに複製記憶する請求項6に記載のデー
タ転送装置。 - 【請求項8】 前記コントローラは、前記ローカルバス
上の少なくとも一つのデバイスコントローラのデータ出
力イネーブル信号線をモニタし、該データ出力イネーブ
ル信号線がアサートされたときに、前記ローカルバス上
で転送されるアドレスとデータを取り込んで前記連想メ
モリに複製記憶する請求項6に記載のデータ転送装置。 - 【請求項9】 前記コントローラは、前記ローカルバス
上の少なくとも一つのデバイスコントローラのデータ出
力ストローブ信号線をモニタし、該データ出力ストロー
ブ信号線がアサートされたときに、前記ローカルバス上
で転送されるアドレスとデータを取り込んで前記連想メ
モリに複製記憶する請求項6に記載のデータ転送装置。 - 【請求項10】 前記コントローラは、 前記システムバスから受け付けたデータ転送要求の示す
転送元アドレスが前記連想メモリに記憶したアドレスに
含まれていない場合は、前記データ転送要求に対して転
送処理が完了していないアドレスを示すデータ有効情報
を第2の連想メモリに記憶し、 前記ローカルバス上のデバイス間で転送されているアド
レスとデータを取り込み、該取り込んだアドレスが前記
データ有効情報の示すアドレスである場合は、前記シス
テムバスに対して前記データ転送要求に対応するデータ
として転送する請求項6に記載のデータ転送装置。 - 【請求項11】 システムバスとローカルバスとの間に
接続された連想メモリと、 前記連想メモリのデータ入出力を制御するコントローラ
を備え、 前記コントローラは、 前記システムバス上のデバイス間で転送されているアド
レスとデータを取り込んで前記連想メモリに複製記憶
し、 前記ローカルバス上のデバイス間で転送されているアド
レスとデータを取り込んで前記連想メモリに複製記憶
し、 前記ローカルバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれている場合は、前記連想メ
モリから該当するデータを読み出して前記ローカルバス
に転送し、 前記システムバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記連想メモリ
に記憶したアドレスに含まれている場合は、前記連想メ
モリから該当するデータを読み出して前記システムバス
に転送することを特徴とするデータ転送装置。 - 【請求項12】 システムバスとローカルバスとの間の
データ入出力を制御する方法であって、 前記システムバス上のデバイス間で転送されているアド
レスとデータを取り込んで複製記憶するバッファリング
処理と、 前記ローカルバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記バッファリ
ング処理において記憶したアドレスに含まれている場合
は、該当するデータを読み出して前記ローカルバスに転
送する処理を備えたことを特徴とするデータ転送方法。 - 【請求項13】 システムバスとローカルバスとの間の
データ入出力を制御する方法であって、 前記ローカルバス上のデバイス間で転送されているアド
レスとデータを取り込んで複製記憶するバッファリング
処理と、 前記システムバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記バッファリ
ング処理において記憶したアドレスに含まれている場合
は、該当するデータを読み出して前記システムバスに転
送する処理を備えたことを特徴とするデータ転送方法。 - 【請求項14】 システムバスとローカルバスとの間の
データ入出力を制御する方法であって、 前記システムバス上のデバイス間で転送されているアド
レスとデータを取り込んで複製記憶する第1のバッファ
リング処理と、 前記ローカルバス上のデバイス間で転送されているアド
レスとデータを取り込んで複製記憶する第2のバッファ
リング処理と、 前記ローカルバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記第1のバッ
ファリング処理において記憶したアドレスに含まれてい
る場合は、該当するデータを読み出して前記ローカルバ
スに転送する第1のデータ転送処理と、 前記システムバスからのデータ転送要求を受け付け、該
データ転送要求の示す転送元アドレスが前記第2のバッ
ファリング処理において記憶したアドレスに含まれてい
る場合は、該当するデータを読み出して前記システムバ
スに転送する第2のデータ転送処理を備えたことを特徴
とするデータ転送方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000202675A JP4097883B2 (ja) | 2000-07-04 | 2000-07-04 | データ転送装置および方法 |
US09/897,574 US7127544B2 (en) | 2000-07-04 | 2001-07-02 | Data transfer apparatus and data transfer method |
US11/519,114 US7814257B2 (en) | 2000-07-04 | 2006-09-11 | Data transfer apparatus and data transfer method |
US12/852,137 US8028116B2 (en) | 2000-07-04 | 2010-08-06 | Data transfer apparatus and data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000202675A JP4097883B2 (ja) | 2000-07-04 | 2000-07-04 | データ転送装置および方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008014086A Division JP4538054B2 (ja) | 2008-01-24 | 2008-01-24 | データ転送装置および方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002024162A true JP2002024162A (ja) | 2002-01-25 |
JP2002024162A5 JP2002024162A5 (ja) | 2006-11-09 |
JP4097883B2 JP4097883B2 (ja) | 2008-06-11 |
Family
ID=18700168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000202675A Expired - Lifetime JP4097883B2 (ja) | 2000-07-04 | 2000-07-04 | データ転送装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7127544B2 (ja) |
JP (1) | JP4097883B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606967B2 (en) | 2005-03-18 | 2009-10-20 | Fujitsu Limited | Frame transfer method and apparatus |
JP2010244553A (ja) * | 2009-03-31 | 2010-10-28 | Sean Eilert | 大容量記憶装置を接続するための階層型メモリアーキテクチャ |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073099B1 (en) * | 2002-05-30 | 2006-07-04 | Marvell International Ltd. | Method and apparatus for improving memory operation and yield |
US6988237B1 (en) | 2004-01-06 | 2006-01-17 | Marvell Semiconductor Israel Ltd. | Error-correction memory architecture for testing production errors |
JP4688822B2 (ja) * | 2005-06-15 | 2011-05-25 | パナソニック株式会社 | 外部デバイスアクセス装置およびシステムlsi |
US9563586B2 (en) * | 2013-04-11 | 2017-02-07 | Apple Inc. | Shims for processor interface |
CN103631534B (zh) * | 2013-11-12 | 2017-01-11 | 北京兆芯电子科技有限公司 | 数据存储系统以及其管理方法 |
CN104636081B (zh) * | 2013-11-12 | 2017-11-14 | 上海兆芯集成电路有限公司 | 数据存储系统以及其管理方法 |
GB2529425A (en) | 2014-08-19 | 2016-02-24 | Ibm | Data processing apparatus and method |
US10623454B2 (en) * | 2015-10-13 | 2020-04-14 | Dell Products L.P. | System and method for multimedia redirection for cloud desktop conferencing |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179679A (en) * | 1989-04-07 | 1993-01-12 | Shoemaker Kenneth D | Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss |
JPH077955B2 (ja) * | 1989-05-13 | 1995-01-30 | 株式会社東芝 | データ通信制御装置 |
US5193170A (en) * | 1990-10-26 | 1993-03-09 | International Business Machines Corporation | Methods and apparatus for maintaining cache integrity whenever a cpu write to rom operation is performed with rom mapped to ram |
JPH05257903A (ja) | 1992-03-11 | 1993-10-08 | Toshiba Corp | マルチプロセッサシステム |
US5361391A (en) * | 1992-06-22 | 1994-11-01 | Sun Microsystems, Inc. | Intelligent cache memory and prefetch method based on CPU data fetching characteristics |
US5761725A (en) * | 1994-01-31 | 1998-06-02 | Dell Usa, L.P. | Cache-based computer system employing a peripheral bus interface unit with cache write-back suppression and processor-peripheral communication suppression for data coherency |
US5659718A (en) * | 1994-08-19 | 1997-08-19 | Xlnt Designs, Inc. | Synchronous bus and bus interface device |
US5761464A (en) * | 1995-05-22 | 1998-06-02 | Emc Corporation | Prefetching variable length data |
EP0777183B1 (en) * | 1995-12-01 | 2002-07-31 | Hewlett-Packard Company, A Delaware Corporation | Computer cache system |
JP3052857B2 (ja) * | 1996-10-31 | 2000-06-19 | 日本電気株式会社 | クラスタ間共有メモリアクセス方式 |
US6081851A (en) * | 1997-12-15 | 2000-06-27 | Intel Corporation | Method and apparatus for programming a remote DMA engine residing on a first bus from a destination residing on a second bus |
JP3071752B2 (ja) * | 1998-03-24 | 2000-07-31 | 三菱電機株式会社 | ブリッジ方法、バスブリッジ及びマルチプロセッサシステム |
JPH11338774A (ja) | 1998-05-27 | 1999-12-10 | Nec Corp | 情報処理装置及びそのシステムバス最適化方法並びにその制御プログラムを記録した記録媒体 |
US6167475A (en) * | 1998-07-06 | 2000-12-26 | International Business Machines Corporation | Data transfer method/engine for pipelining shared memory bus accesses |
US6195730B1 (en) * | 1998-07-24 | 2001-02-27 | Storage Technology Corporation | Computer system with storage device mapping input/output processor |
US6321296B1 (en) * | 1998-08-04 | 2001-11-20 | International Business Machines Corporation | SDRAM L3 cache using speculative loads with command aborts to lower latency |
US6425056B2 (en) * | 1998-10-26 | 2002-07-23 | Micron Technology, Inc. | Method for controlling a direct mapped or two way set associative cache memory in a computer system |
US6189078B1 (en) * | 1998-12-22 | 2001-02-13 | Unisys Corporation | System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency |
JP3446653B2 (ja) * | 1999-03-26 | 2003-09-16 | 日本電気株式会社 | データ転送装置 |
US6378042B1 (en) * | 1999-08-11 | 2002-04-23 | Fast-Chip, Inc. | Caching associative memory |
US6510475B1 (en) * | 1999-10-22 | 2003-01-21 | Intel Corporation | Data fetching control mechanism and method for fetching optimized data for bus devices behind host bridge |
DE69938727D1 (de) * | 1999-10-26 | 2008-06-26 | Bull Sa | Busbrückeeinheit zwischen einem Systembus und einem lokalen Bus |
US6658519B1 (en) * | 2000-07-28 | 2003-12-02 | International Business Machines Corporation | Bus bridge with embedded input/output (I/O) and transaction tracing capabilities |
-
2000
- 2000-07-04 JP JP2000202675A patent/JP4097883B2/ja not_active Expired - Lifetime
-
2001
- 2001-07-02 US US09/897,574 patent/US7127544B2/en not_active Expired - Lifetime
-
2006
- 2006-09-11 US US11/519,114 patent/US7814257B2/en not_active Expired - Fee Related
-
2010
- 2010-08-06 US US12/852,137 patent/US8028116B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606967B2 (en) | 2005-03-18 | 2009-10-20 | Fujitsu Limited | Frame transfer method and apparatus |
JP2010244553A (ja) * | 2009-03-31 | 2010-10-28 | Sean Eilert | 大容量記憶装置を接続するための階層型メモリアーキテクチャ |
Also Published As
Publication number | Publication date |
---|---|
US20070005864A1 (en) | 2007-01-04 |
US7127544B2 (en) | 2006-10-24 |
US8028116B2 (en) | 2011-09-27 |
US7814257B2 (en) | 2010-10-12 |
US20020004873A1 (en) | 2002-01-10 |
US20100306441A1 (en) | 2010-12-02 |
JP4097883B2 (ja) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8028116B2 (en) | Data transfer apparatus and data transfer method | |
US7650453B2 (en) | Information processing apparatus having multiple processing units sharing multiple resources | |
US6202107B1 (en) | Host controller interface descriptor fetching unit | |
US5802576A (en) | Speculative cache snoop during DMA line update | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
JP3061106B2 (ja) | バスブリッジおよびそれを備えた計算機システム | |
JP4538054B2 (ja) | データ転送装置および方法 | |
JP2005165592A (ja) | データ転送装置 | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
US8239652B2 (en) | Data processing system | |
KR100531324B1 (ko) | 메모리 인터페이스 장치 및 그 방법 | |
JP3447820B2 (ja) | バスコントローラ | |
JPH0589027A (ja) | 監視機能付ライトバツフア | |
JP3299147B2 (ja) | キャッシュ制御回路 | |
JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
JPH11327798A (ja) | データ転送制御装置 | |
JPH03271859A (ja) | 情報処理装置 | |
JPH0512121A (ja) | データ処理装置 | |
JPH06124235A (ja) | キャッシュ制御方式 | |
JPH01261748A (ja) | バッファ記憶制御装置 | |
JPH10254853A (ja) | ベクトルデータ処理装置 | |
JPH08166905A (ja) | キャッシュメモリ制御方法 | |
JP2002024010A (ja) | メモリロード制御システム及びそのメモリロード制御方式 | |
JPH11282750A (ja) | キャッシュメモリ装置及び制御方法 | |
JPH04205159A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060921 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071019 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080124 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4097883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |