JP2748862B2 - バスインタフェースアダプタ - Google Patents
バスインタフェースアダプタInfo
- Publication number
- JP2748862B2 JP2748862B2 JP6132787A JP13278794A JP2748862B2 JP 2748862 B2 JP2748862 B2 JP 2748862B2 JP 6132787 A JP6132787 A JP 6132787A JP 13278794 A JP13278794 A JP 13278794A JP 2748862 B2 JP2748862 B2 JP 2748862B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- block
- bus
- bus interface
- store
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はバスインタフェースアダ
プタに関し、特に入出力装置からメモリ装置へのDMA
(ダイレクトメモリアクセス)ライトトランザクション
におけるストアイン型入出力キャッシュの制御方式に関
する。
プタに関し、特に入出力装置からメモリ装置へのDMA
(ダイレクトメモリアクセス)ライトトランザクション
におけるストアイン型入出力キャッシュの制御方式に関
する。
【0002】
【従来の技術】この種のバスインタフェースアダプタ
は、ストアイン型キャッシュを有するプロセッサあるい
はバスインタフェースアダプタが一つまたは複数接続可
能なバス(以下、Sバスとする)と、DMA制御を行う
入出力装置が複数接続可能なバス(以下、IOバスとす
る)との間に設置されており、内部にストアイン型キャ
ッシュ(以下、IOキャッシュとする)を有している。
は、ストアイン型キャッシュを有するプロセッサあるい
はバスインタフェースアダプタが一つまたは複数接続可
能なバス(以下、Sバスとする)と、DMA制御を行う
入出力装置が複数接続可能なバス(以下、IOバスとす
る)との間に設置されており、内部にストアイン型キャ
ッシュ(以下、IOキャッシュとする)を有している。
【0003】上記のバスインタフェースアダプタを備え
た情報処理装置では装置内に複数のストアイン型キャッ
シュが存在しているため、それら複数のストアイン型キ
ャッシュとメインメモリとにおける記憶内容の整合性を
どのように保つべきかという問題がある。
た情報処理装置では装置内に複数のストアイン型キャッ
シュが存在しているため、それら複数のストアイン型キ
ャッシュとメインメモリとにおける記憶内容の整合性を
どのように保つべきかという問題がある。
【0004】以下、複数のストアイン型キャッシュとメ
インメモリとにおける記憶内容の整合性を保つためのプ
ロトコルについて説明する。ここで、入出力装置からメ
インメモリにDMA制御によってデータの書込み(以
下、DMAライトとする)を行う場合について説明す
る。
インメモリとにおける記憶内容の整合性を保つためのプ
ロトコルについて説明する。ここで、入出力装置からメ
インメモリにDMA制御によってデータの書込み(以
下、DMAライトとする)を行う場合について説明す
る。
【0005】DMAライトすべき目標ブロックがIOキ
ャッシュに存在し、そのIOキャッシュに記憶されてい
るブロックが有効で、しかもそのブロックと同一のブロ
ックが他のストアイン型キャッシュに存在せず、さらに
そのブロックの内容がメインメモリの対応するブロック
の内容と一致している状態をCEとする。
ャッシュに存在し、そのIOキャッシュに記憶されてい
るブロックが有効で、しかもそのブロックと同一のブロ
ックが他のストアイン型キャッシュに存在せず、さらに
そのブロックの内容がメインメモリの対応するブロック
の内容と一致している状態をCEとする。
【0006】また、DMAライトすべき目標ブロックが
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュに存在せず、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致していない状態をDEとする。
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュに存在せず、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致していない状態をDEとする。
【0007】DMAライトの目標ブロックの状態が上記
のCEまたはDEの場合、他のストアイン型キャッシュ
及びメインメモリに対するアクセスは一切行わず、自I
Oキャッシュの目標ブロックにライトデータを書込ん
で、その目標ブロックの状態をDEに変更する。
のCEまたはDEの場合、他のストアイン型キャッシュ
及びメインメモリに対するアクセスは一切行わず、自I
Oキャッシュの目標ブロックにライトデータを書込ん
で、その目標ブロックの状態をDEに変更する。
【0008】一方、DMAライトすべき目標ブロックが
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュにも存在し、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致している状態をSHとする。
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュにも存在し、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致している状態をSHとする。
【0009】また、DMAライトすべき目標ブロックが
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュにも存在し、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致していない状態をDSとする。
IOキャッシュに存在し、そのIOキャッシュに記憶さ
れているブロックが有効で、しかもそのブロックと同一
のブロックが他のストアイン型キャッシュにも存在し、
さらにそのブロックの内容がメインメモリの対応するブ
ロックの内容と一致していない状態をDSとする。
【0010】DMAライトの目標ブロックの状態が上記
のSHまたはDSの場合、他のストアイン型キャッシュ
の目標ブロックと同一のブロックを無効化する要求を行
うとともに、自IOキャッシュの目標ブロックにライト
データを書込んで、その目標ブロックの状態をDEに変
更する。
のSHまたはDSの場合、他のストアイン型キャッシュ
の目標ブロックと同一のブロックを無効化する要求を行
うとともに、自IOキャッシュの目標ブロックにライト
データを書込んで、その目標ブロックの状態をDEに変
更する。
【0011】DMAライトの目標ブロックが自IOキャ
ッシュに存在しない場合、目標ブロックと同一のブロッ
クを無効化する要求を伴う読出し要求で他のストアイン
型キャッシュあるいはメインメモリから目標ブロックを
自IOキャッシュに読込んでからDMAライトのライト
データの書込みを行う。
ッシュに存在しない場合、目標ブロックと同一のブロッ
クを無効化する要求を伴う読出し要求で他のストアイン
型キャッシュあるいはメインメモリから目標ブロックを
自IOキャッシュに読込んでからDMAライトのライト
データの書込みを行う。
【0012】上記の無効化する要求を伴う読出し要求で
は目標ブロックを読出した直後、他のストアイン型キャ
ッシュの目標ブロックと同一のブロックを無効である状
態に変更するよう制御される。この無効である状態をI
Vとする。
は目標ブロックを読出した直後、他のストアイン型キャ
ッシュの目標ブロックと同一のブロックを無効である状
態に変更するよう制御される。この無効である状態をI
Vとする。
【0013】DMAライトの目標ブロックを読出す際
に、自IOキャッシュ内のブロックの状態が全てDEで
あれば、他のストアイン型キャッシュあるいはメインメ
モリから読込んだデータの格納先がないので、自IOキ
ャッシュ内の任意のブロックをメインメモリに書き戻す
動作を行う。
に、自IOキャッシュ内のブロックの状態が全てDEで
あれば、他のストアイン型キャッシュあるいはメインメ
モリから読込んだデータの格納先がないので、自IOキ
ャッシュ内の任意のブロックをメインメモリに書き戻す
動作を行う。
【0014】この後に、他のストアイン型キャッシュあ
るいはメインメモリから読込んだデータを自IOキャッ
シュ内に格納すると、その目標ブロックにDMAライト
のライトデータを書込み、その目標ブロックの状態をD
Eに変更してDMAライト動作を終了する。
るいはメインメモリから読込んだデータを自IOキャッ
シュ内に格納すると、その目標ブロックにDMAライト
のライトデータを書込み、その目標ブロックの状態をD
Eに変更してDMAライト動作を終了する。
【0015】
【発明が解決しようとする課題】上述した従来のストア
イン型キャッシュが複数接続可能なバスを有するシステ
ムのDMA転送データをキャッシングする制御方式(以
下、IOキャッシュ制御方式とする)では、Sバスを効
率的に使用するために、Sバスを介して転送されるデー
タの大きさがあるデータ長(以下、キャッシュブロック
長とする)に制限されている。
イン型キャッシュが複数接続可能なバスを有するシステ
ムのDMA転送データをキャッシングする制御方式(以
下、IOキャッシュ制御方式とする)では、Sバスを効
率的に使用するために、Sバスを介して転送されるデー
タの大きさがあるデータ長(以下、キャッシュブロック
長とする)に制限されている。
【0016】そのため、バスインタフェースアダプタ内
にIOキャッシュを設けてSバスの効率化を図ってい
る。つまり、Sバスを介して転送されるデータの大きさ
がキャッシュブロック長またはそれ以下のいずれの場合
も、一旦そのデータをIOキャッシュに格納してからS
バス上に送出している。
にIOキャッシュを設けてSバスの効率化を図ってい
る。つまり、Sバスを介して転送されるデータの大きさ
がキャッシュブロック長またはそれ以下のいずれの場合
も、一旦そのデータをIOキャッシュに格納してからS
バス上に送出している。
【0017】キャッシュブロック長と同長のDMAライ
ト転送が連続して行われる場合、IOキャッシュに対し
てはストアイン型キャッシュの一致性を保たせるために
無効化する要求を伴う読出し要求が毎回発行されるとと
もに、システムにおいてIOキャッシュに唯一保持され
ているデータのメインメモリへの書き戻しも毎回発生し
ている。
ト転送が連続して行われる場合、IOキャッシュに対し
てはストアイン型キャッシュの一致性を保たせるために
無効化する要求を伴う読出し要求が毎回発行されるとと
もに、システムにおいてIOキャッシュに唯一保持され
ているデータのメインメモリへの書き戻しも毎回発生し
ている。
【0018】すなわち、Sバス上では1回のDMAライ
ト転送で、IOキャッシュを介してのDMAライト転送
長の転送が2回発生しており、Sバスに対する負荷を大
きくしている。
ト転送で、IOキャッシュを介してのDMAライト転送
長の転送が2回発生しており、Sバスに対する負荷を大
きくしている。
【0019】そこで、本発明の目的は上記の問題点を解
消し、DMAライト転送時のSバスに対する負荷を軽減
することができ、システムのスループットを向上させる
ことができるバスインタフェースアダプタを提供するこ
とにある。
消し、DMAライト転送時のSバスに対する負荷を軽減
することができ、システムのスループットを向上させる
ことができるバスインタフェースアダプタを提供するこ
とにある。
【0020】
【課題を解決するための手段】本発明によるバスインタ
フェースアダプタは、ストアイン型のキャッシュメモリ
を有する複数の装置と主記憶装置とが接続されるバス
と、ダイレクトメモリアクセス転送を行う複数の入出力
装置とを接続しかつストアイン型のキャッシュメモリを
有するバスインタフェースアダプタであって、前記ダイ
レクトメモリアクセス転送における転送長を予め設定さ
れたデータ長と比較する比較手段と、前記比較手段の比
較結果が一致を示すときに前記ストアイン型のキャッシ
ュメモリにおける前記ダイレクトメモリアクセス転送に
よる目標ブロックの有無にかかわらずそのダイレクトメ
モリアクセス転送のデータを前記バスを介して前記主記
憶装置に書込むとともにそのデータに対応する前記複数
の装置各々のキャッシュメモリの内容を無効とする手段
とを備えている。
フェースアダプタは、ストアイン型のキャッシュメモリ
を有する複数の装置と主記憶装置とが接続されるバス
と、ダイレクトメモリアクセス転送を行う複数の入出力
装置とを接続しかつストアイン型のキャッシュメモリを
有するバスインタフェースアダプタであって、前記ダイ
レクトメモリアクセス転送における転送長を予め設定さ
れたデータ長と比較する比較手段と、前記比較手段の比
較結果が一致を示すときに前記ストアイン型のキャッシ
ュメモリにおける前記ダイレクトメモリアクセス転送に
よる目標ブロックの有無にかかわらずそのダイレクトメ
モリアクセス転送のデータを前記バスを介して前記主記
憶装置に書込むとともにそのデータに対応する前記複数
の装置各々のキャッシュメモリの内容を無効とする手段
とを備えている。
【0021】本発明による他のバスインタフェースアダ
プタは、ストアイン型のキャッシュメモリを有する複数
の装置と主記憶装置とが接続されるバスと、ダイレクト
メモリアクセス転送を行う複数の入出力装置とを接続し
かつストアイン型のキャッシュメモリを有するバスイン
タフェースアダプタであって、前記複数の入出力装置各
々に設けられかつ前記ダイレクトメモリアクセス転送に
おける転送長を予め設定されたデータ長と比較する複数
の比較手段各々の比較結果を入力する入力手段と、前記
入力手段から入力される前記比較結果が一致を示すとき
に前記ストアイン型のキャッシュメモリにおける前記ダ
イレクトメモリアクセス転送による目標ブロックの有無
にかかわらずそのダイレクトメモリアクセス転送のデー
タを前記バスを介して前記主記憶装置に書込むとともに
そのデータに対応する前記複数の装置各々のキャッシュ
メモリの内容を無効とする手段とを備えている。
プタは、ストアイン型のキャッシュメモリを有する複数
の装置と主記憶装置とが接続されるバスと、ダイレクト
メモリアクセス転送を行う複数の入出力装置とを接続し
かつストアイン型のキャッシュメモリを有するバスイン
タフェースアダプタであって、前記複数の入出力装置各
々に設けられかつ前記ダイレクトメモリアクセス転送に
おける転送長を予め設定されたデータ長と比較する複数
の比較手段各々の比較結果を入力する入力手段と、前記
入力手段から入力される前記比較結果が一致を示すとき
に前記ストアイン型のキャッシュメモリにおける前記ダ
イレクトメモリアクセス転送による目標ブロックの有無
にかかわらずそのダイレクトメモリアクセス転送のデー
タを前記バスを介して前記主記憶装置に書込むとともに
そのデータに対応する前記複数の装置各々のキャッシュ
メモリの内容を無効とする手段とを備えている。
【0022】
【0023】
【0024】
【作用】DMAライト時にDMA転送長とキャッシュブ
ロック長値とを比較し、その比較結果が一致を示すと、
目標ブロックに対する無効化要求を伴うメモリ書き戻し
要求を発行する。このとき、IOキャッシュ内に目標ブ
ロックが保有されていれば、その該当ブロックの状態を
無効化された状態を示すIVに変更する。
ロック長値とを比較し、その比較結果が一致を示すと、
目標ブロックに対する無効化要求を伴うメモリ書き戻し
要求を発行する。このとき、IOキャッシュ内に目標ブ
ロックが保有されていれば、その該当ブロックの状態を
無効化された状態を示すIVに変更する。
【0025】DMA転送長とキャッシュブロック長値と
の比較結果が不一致を示すと、その目標ブロックがIO
キャッシュ内に存在するかどうかに応じてIOキャッシ
ュに対するストアイン制御を行う。
の比較結果が不一致を示すと、その目標ブロックがIO
キャッシュ内に存在するかどうかに応じてIOキャッシ
ュに対するストアイン制御を行う。
【0026】これによって、少量のハードウェアを追加
することで、IOキャッシュ制御方式を動的に切換え可
能となるので、多様なIO装置からくるDMAライト転
送に応じてSバス100に対する負荷を軽減し、システ
ムのスループットが向上可能となる。
することで、IOキャッシュ制御方式を動的に切換え可
能となるので、多様なIO装置からくるDMAライト転
送に応じてSバス100に対する負荷を軽減し、システ
ムのスループットが向上可能となる。
【0027】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0028】図1は本発明の一実施例の構成を示すブロ
ック図である。図において、Sバス100にはバスイン
タフェースアダプタ1とメインメモリ3とが接続されて
おり、IOバス101にはバスインタフェースアダプタ
1とDMA転送制御を有するIO装置2−1〜2−nと
が接続されている。
ック図である。図において、Sバス100にはバスイン
タフェースアダプタ1とメインメモリ3とが接続されて
おり、IOバス101にはバスインタフェースアダプタ
1とDMA転送制御を有するIO装置2−1〜2−nと
が接続されている。
【0029】また、バスインタフェースアダプタ1とI
O装置2−1〜2−nとはDMA転送長指示バス102
によって接続されており、このDMA転送長指示バス1
02を介してIO装置2−1〜2−nからバスインタフ
ェースアダプタ1にDMA転送長が出力される。
O装置2−1〜2−nとはDMA転送長指示バス102
によって接続されており、このDMA転送長指示バス1
02を介してIO装置2−1〜2−nからバスインタフ
ェースアダプタ1にDMA転送長が出力される。
【0030】バスインタフェースアダプタ1はデコーダ
11と、キャッシュブロック長値保持部12と、比較器
13と、IOバスインタフェース制御部14と、IOキ
ャッシュ15と、無効化要求を伴う読出し制御部16
と、無効化要求を伴うメモリ書き戻し制御部17と、他
キャッシュ無効化指示制御部18と、Sバスインタフェ
ース制御部19とから構成されている。
11と、キャッシュブロック長値保持部12と、比較器
13と、IOバスインタフェース制御部14と、IOキ
ャッシュ15と、無効化要求を伴う読出し制御部16
と、無効化要求を伴うメモリ書き戻し制御部17と、他
キャッシュ無効化指示制御部18と、Sバスインタフェ
ース制御部19とから構成されている。
【0031】デコーダ11はDMA転送長指示バス10
2を介してIO装置2−1〜2−nから送られてくるD
MA転送長をデコードし、そのDMA転送長を比較器1
3に出力する。
2を介してIO装置2−1〜2−nから送られてくるD
MA転送長をデコードし、そのDMA転送長を比較器1
3に出力する。
【0032】キャッシュブロック長値保持部12は予め
設定されたキャッシュブロック長値を保持し、そのキャ
ッシュブロック長値を比較器13に出力する。比較器1
3はデコーダ11からのDMA転送長とキャッシュブロ
ック長値保持部12からのキャッシュブロック長値とを
比較し、その比較結果をIOバスインタフェース制御部
14に出力する。
設定されたキャッシュブロック長値を保持し、そのキャ
ッシュブロック長値を比較器13に出力する。比較器1
3はデコーダ11からのDMA転送長とキャッシュブロ
ック長値保持部12からのキャッシュブロック長値とを
比較し、その比較結果をIOバスインタフェース制御部
14に出力する。
【0033】IOバスインタフェース制御部14はIO
バス101によるデータ転送を制御するとともに、無効
化要求を伴う読出し制御部16と無効化要求を伴うメモ
リ書き戻し制御部17と他キャッシュ無効化指示制御部
18とを比較器13の比較結果に応じて夫々駆動制御す
る。
バス101によるデータ転送を制御するとともに、無効
化要求を伴う読出し制御部16と無効化要求を伴うメモ
リ書き戻し制御部17と他キャッシュ無効化指示制御部
18とを比較器13の比較結果に応じて夫々駆動制御す
る。
【0034】読出し制御部16は無効化要求を伴う読出
し要求(コヒーレントリードEXリクエスト)の発行を
制御し、無効化要求を伴うメモリ書き戻し制御部17は
無効化要求を伴うメモリ書き戻し要求(ライトIVリク
エスト)の発行を制御する。
し要求(コヒーレントリードEXリクエスト)の発行を
制御し、無効化要求を伴うメモリ書き戻し制御部17は
無効化要求を伴うメモリ書き戻し要求(ライトIVリク
エスト)の発行を制御する。
【0035】他キャッシュ無効化指示制御部18は他の
ストアイン型キャッシュ(図示せず)内の該当ブロック
に対する無効化要求(IVリクエスト)の発行を制御す
る。Sバスインタフェース制御部19はSバスプロトコ
ルを制御する。
ストアイン型キャッシュ(図示せず)内の該当ブロック
に対する無効化要求(IVリクエスト)の発行を制御す
る。Sバスインタフェース制御部19はSバスプロトコ
ルを制御する。
【0036】図2は本発明の一実施例の動作を示すフロ
ーチャートである。これら図1及び図2を用いて本発明
の一実施例の動作について説明する。
ーチャートである。これら図1及び図2を用いて本発明
の一実施例の動作について説明する。
【0037】ここで、DMAライトすべき目標ブロック
がIOキャッシュ15に存在し、そのIOキャッシュ1
5に記憶されているブロックが有効で、しかもそのブロ
ックと同一のブロックが他のストアイン型キャッシュに
存在せず、さらにそのブロックの内容がメインメモリ3
の対応するブロックの内容と一致している状態をCEと
する。
がIOキャッシュ15に存在し、そのIOキャッシュ1
5に記憶されているブロックが有効で、しかもそのブロ
ックと同一のブロックが他のストアイン型キャッシュに
存在せず、さらにそのブロックの内容がメインメモリ3
の対応するブロックの内容と一致している状態をCEと
する。
【0038】また、DMAライトすべき目標ブロックが
IOキャッシュ15に存在し、そのIOキャッシュ15
に記憶されているブロックが有効で、しかもそのブロッ
クと同一のブロックが他のストアイン型キャッシュに存
在せず、さらにそのブロックの内容がメインメモリ3の
対応するブロックの内容と一致していない状態をDEと
する。
IOキャッシュ15に存在し、そのIOキャッシュ15
に記憶されているブロックが有効で、しかもそのブロッ
クと同一のブロックが他のストアイン型キャッシュに存
在せず、さらにそのブロックの内容がメインメモリ3の
対応するブロックの内容と一致していない状態をDEと
する。
【0039】さらに、DMAライトすべき目標ブロック
がIOキャッシュ15に存在し、そのIOキャッシュ1
5に記憶されているブロックが有効で、しかもそのブロ
ックと同一のブロックが他のストアイン型キャッシュに
も存在し、さらにそのブロックの内容がメインメモリ3
の対応するブロックの内容と一致している状態をSHと
する。
がIOキャッシュ15に存在し、そのIOキャッシュ1
5に記憶されているブロックが有効で、しかもそのブロ
ックと同一のブロックが他のストアイン型キャッシュに
も存在し、さらにそのブロックの内容がメインメモリ3
の対応するブロックの内容と一致している状態をSHと
する。
【0040】さらにまた、DMAライトすべき目標ブロ
ックがIOキャッシュ15に存在し、そのIOキャッシ
ュ15に記憶されているブロックが有効で、しかもその
ブロックと同一のブロックが他のストアイン型キャッシ
ュにも存在し、さらにそのブロックの内容がメインメモ
リ3の対応するブロックの内容と一致していない状態を
DSとする。尚、ストアイン型キャッシュのブロックが
無効である状態をIVとする。
ックがIOキャッシュ15に存在し、そのIOキャッシ
ュ15に記憶されているブロックが有効で、しかもその
ブロックと同一のブロックが他のストアイン型キャッシ
ュにも存在し、さらにそのブロックの内容がメインメモ
リ3の対応するブロックの内容と一致していない状態を
DSとする。尚、ストアイン型キャッシュのブロックが
無効である状態をIVとする。
【0041】IO装置2−1〜2−nはDMAライト時
にDMA転送長をDMA転送長指示バス102に発行す
る。バスインタフェースアダプタ1のデコーダ11はD
MA転送長指示バス102上のDMA転送長をデコード
し、そのDMA転送長を比較器13に出力する。
にDMA転送長をDMA転送長指示バス102に発行す
る。バスインタフェースアダプタ1のデコーダ11はD
MA転送長指示バス102上のDMA転送長をデコード
し、そのDMA転送長を比較器13に出力する。
【0042】比較器13はデコーダ11からのDMA転
送長をキャッシュブロック長値保持部12に保持された
キャッシュブロック長値と比較し(図2ステップS
1)、その比較結果をIOバスインタフェース制御部1
4に出力する。
送長をキャッシュブロック長値保持部12に保持された
キャッシュブロック長値と比較し(図2ステップS
1)、その比較結果をIOバスインタフェース制御部1
4に出力する。
【0043】IOバスインタフェース制御部14は比較
器13の比較結果が一致を示すと、メモリ書き戻し制御
部17を駆動し、その目標ブロックに対する無効化要求
を伴うメモリ書き戻し要求をSバスインタフェース制御
部19を介してSバス100上に発行する(図2ステッ
プS2)。
器13の比較結果が一致を示すと、メモリ書き戻し制御
部17を駆動し、その目標ブロックに対する無効化要求
を伴うメモリ書き戻し要求をSバスインタフェース制御
部19を介してSバス100上に発行する(図2ステッ
プS2)。
【0044】このとき、IOバスインタフェース制御部
14はIOキャッシュ15内に目標ブロックを保有して
いるかどうかを判定し(図2ステップS3)、IOキャ
ッシュ15内に目標ブロックを保有している場合にはそ
の該当ブロックの状態をIVに変更する(図2ステップ
S4)。
14はIOキャッシュ15内に目標ブロックを保有して
いるかどうかを判定し(図2ステップS3)、IOキャ
ッシュ15内に目標ブロックを保有している場合にはそ
の該当ブロックの状態をIVに変更する(図2ステップ
S4)。
【0045】IOバスインタフェース制御部14は比較
器13の比較結果が不一致を示すと、その目標ブロック
がIOキャッシュ15内に存在するかどうかを判定する
(図2ステップS5)。
器13の比較結果が不一致を示すと、その目標ブロック
がIOキャッシュ15内に存在するかどうかを判定する
(図2ステップS5)。
【0046】IOバスインタフェース制御部14は目標
ブロックがIOキャッシュ15内に存在すれば、DMA
ライトのライトデータをIOキャッシュ15内の該当ブ
ロックに書込むとともに(図2ステップS6)、その該
当ブロックの状態がSHまたはDSかどうかを判断する
(図2ステップS7)。
ブロックがIOキャッシュ15内に存在すれば、DMA
ライトのライトデータをIOキャッシュ15内の該当ブ
ロックに書込むとともに(図2ステップS6)、その該
当ブロックの状態がSHまたはDSかどうかを判断する
(図2ステップS7)。
【0047】IOバスインタフェース制御部14はIO
キャッシュ15内の該当ブロックの状態がSHまたはD
Sと判断すると、他キャッシュ無効化指示制御部18を
駆動し、他のストアイン型キャッシュ内の該当ブロック
に対する無効化要求をSバスインタフェース制御部19
を介してSバス100上に発行する(図2ステップS
8)。
キャッシュ15内の該当ブロックの状態がSHまたはD
Sと判断すると、他キャッシュ無効化指示制御部18を
駆動し、他のストアイン型キャッシュ内の該当ブロック
に対する無効化要求をSバスインタフェース制御部19
を介してSバス100上に発行する(図2ステップS
8)。
【0048】IOバスインタフェース制御部14はライ
トデータの書込みを行ったIOキャッシュ15内の該当
ブロックの状態を、システムに唯一存在するデータであ
ることを示すDEに変更する(図2ステップS9)。
トデータの書込みを行ったIOキャッシュ15内の該当
ブロックの状態を、システムに唯一存在するデータであ
ることを示すDEに変更する(図2ステップS9)。
【0049】IOバスインタフェース制御部14はIO
キャッシュ15内の該当ブロックの状態がSHまたはD
Sと判断しなければ、ライトデータの書込みを行ったI
Oキャッシュ15内の該当ブロックの状態を、システム
に唯一存在するデータであることを示すDEに変更する
(図2ステップS9)。
キャッシュ15内の該当ブロックの状態がSHまたはD
Sと判断しなければ、ライトデータの書込みを行ったI
Oキャッシュ15内の該当ブロックの状態を、システム
に唯一存在するデータであることを示すDEに変更する
(図2ステップS9)。
【0050】一方、IOバスインタフェース制御部14
は目標ブロックがIOキャッシュ15内に存在しなけれ
ば、読出し制御部16を駆動し、無効化要求を伴う読出
し要求をSバスインタフェース制御部19を介してSバ
ス100上に発行する(図2ステップS10)。その
後、DMAライトの目標ブロックを読出してライトデー
タの書込みを行う。
は目標ブロックがIOキャッシュ15内に存在しなけれ
ば、読出し制御部16を駆動し、無効化要求を伴う読出
し要求をSバスインタフェース制御部19を介してSバ
ス100上に発行する(図2ステップS10)。その
後、DMAライトの目標ブロックを読出してライトデー
タの書込みを行う。
【0051】IOバスインタフェース制御部14はDM
Aライトの目標ブロックを読出す際に、IOキャッシュ
15内のブロックの状態すべてがDEであるかどうかを
判定する(図2ステップS11)。
Aライトの目標ブロックを読出す際に、IOキャッシュ
15内のブロックの状態すべてがDEであるかどうかを
判定する(図2ステップS11)。
【0052】IOバスインタフェース制御部14はIO
キャッシュ15内のブロックの状態すべてがDEである
と判定すると、メモリ書き戻し制御部17を駆動し、無
効化要求を伴うメモリ書き戻し要求を発行する(図2ス
テップS12)。
キャッシュ15内のブロックの状態すべてがDEである
と判定すると、メモリ書き戻し制御部17を駆動し、無
効化要求を伴うメモリ書き戻し要求を発行する(図2ス
テップS12)。
【0053】IOバスインタフェース制御部14はIO
キャッシュ15内の任意のブロックのメインメモリ3へ
の書き戻しを行うと、そのブロックにDMAライトの目
標ブロックを読出して格納し、そのブロックにDMAラ
イトのライトデータを書込む(図2ステップS13)。
同時に、そのブロックの状態をDEに変更する(図2ス
テップS9)。
キャッシュ15内の任意のブロックのメインメモリ3へ
の書き戻しを行うと、そのブロックにDMAライトの目
標ブロックを読出して格納し、そのブロックにDMAラ
イトのライトデータを書込む(図2ステップS13)。
同時に、そのブロックの状態をDEに変更する(図2ス
テップS9)。
【0054】図3は本発明の他の実施例の構成を示すブ
ロック図である。図において、Sバス100にはバスイ
ンタフェースアダプタ4とメインメモリ3とが接続され
ており、IOバス101にはバスインタフェースアダプ
タ4とDMA転送制御を有するIO装置2−1〜2−n
とが接続されている。
ロック図である。図において、Sバス100にはバスイ
ンタフェースアダプタ4とメインメモリ3とが接続され
ており、IOバス101にはバスインタフェースアダプ
タ4とDMA転送制御を有するIO装置2−1〜2−n
とが接続されている。
【0055】また、バスインタフェースアダプタ4とI
O装置2−1〜2−nとはDMA転送長−キュッシュブ
ロック長一致報告線(以下、報告線とする)103−1
〜103−nによって接続されており、この報告線10
3−1〜103−nを介してIO装置2−1〜2−nか
らバスインタフェースアダプタ4にDMA転送長と予め
設定されたキャッシュブロック長値との一致/不一致が
報告される。
O装置2−1〜2−nとはDMA転送長−キュッシュブ
ロック長一致報告線(以下、報告線とする)103−1
〜103−nによって接続されており、この報告線10
3−1〜103−nを介してIO装置2−1〜2−nか
らバスインタフェースアダプタ4にDMA転送長と予め
設定されたキャッシュブロック長値との一致/不一致が
報告される。
【0056】バスインタフェースアダプタ4はIOバス
インタフェース制御部41と、IOキャッシュ42と、
無効化要求を伴う読出し制御部43と、無効化要求を伴
うメモリ書き戻し制御部44と、他キャッシュ無効化指
示制御部45と、Sバスインタフェース制御部46とか
ら構成されている。
インタフェース制御部41と、IOキャッシュ42と、
無効化要求を伴う読出し制御部43と、無効化要求を伴
うメモリ書き戻し制御部44と、他キャッシュ無効化指
示制御部45と、Sバスインタフェース制御部46とか
ら構成されている。
【0057】IOバスインタフェース制御部41はIO
バス101によるデータ転送を制御するとともに、無効
化要求を伴う読出し制御部43と無効化要求を伴うメモ
リ書き戻し制御部44と他キャッシュ無効化指示制御部
45とを報告線103−1〜103−nを介してIO装
置2−1〜2−nから入力されるDMA転送長とキャッ
シュブロック長値との一致/不一致に応じて夫々駆動制
御する。
バス101によるデータ転送を制御するとともに、無効
化要求を伴う読出し制御部43と無効化要求を伴うメモ
リ書き戻し制御部44と他キャッシュ無効化指示制御部
45とを報告線103−1〜103−nを介してIO装
置2−1〜2−nから入力されるDMA転送長とキャッ
シュブロック長値との一致/不一致に応じて夫々駆動制
御する。
【0058】読出し制御部43は無効化要求を伴う読出
し要求の発行を制御する。無効化要求を伴うメモリ書き
戻し制御部44は無効化要求を伴うメモリ書き戻し要求
の発行を制御する。
し要求の発行を制御する。無効化要求を伴うメモリ書き
戻し制御部44は無効化要求を伴うメモリ書き戻し要求
の発行を制御する。
【0059】他キャッシュ無効化指示制御部45は他の
ストアイン型キャッシュ内の該当ブロックに対する無効
化要求の発行を制御する。Sバスインタフェース制御部
46はSバスプロトコルを制御する。
ストアイン型キャッシュ内の該当ブロックに対する無効
化要求の発行を制御する。Sバスインタフェース制御部
46はSバスプロトコルを制御する。
【0060】本発明の他の実施例ではIO装置2−1〜
2−nでDMA転送長と予め設定されたキャッシュブロ
ック長値との比較を行い、それらの一致/不一致を報告
線103−1〜103−nを介してバスインタフェース
アダプタ4に報告するようにした以外は、本発明の一実
施例と同様に図2のフローチャートの各ステップの動作
を行う。
2−nでDMA転送長と予め設定されたキャッシュブロ
ック長値との比較を行い、それらの一致/不一致を報告
線103−1〜103−nを介してバスインタフェース
アダプタ4に報告するようにした以外は、本発明の一実
施例と同様に図2のフローチャートの各ステップの動作
を行う。
【0061】このように、IO装置2−1〜2−nによ
るDMAライト時にDMA転送長とキャッシュブロック
長値との比較を行い、その比較結果が一致を示すときに
メモリ書き戻し制御部17を駆動してその目標ブロック
に対する無効化要求を伴うメモリ書き戻し要求をSバス
インタフェース制御部19を介してSバス100上に発
行し、DMAライトのライトデータをメインメモリ3に
書込むようにすることによって、少量のハードウェアを
追加することで、IOキャッシュ制御方式を動的に切換
えることができるので、多様なIO装置2−1〜2−n
からくるDMAライト転送に応じてSバス100に対す
る負荷を軽減することができ、システムのスループット
を向上させることができる。
るDMAライト時にDMA転送長とキャッシュブロック
長値との比較を行い、その比較結果が一致を示すときに
メモリ書き戻し制御部17を駆動してその目標ブロック
に対する無効化要求を伴うメモリ書き戻し要求をSバス
インタフェース制御部19を介してSバス100上に発
行し、DMAライトのライトデータをメインメモリ3に
書込むようにすることによって、少量のハードウェアを
追加することで、IOキャッシュ制御方式を動的に切換
えることができるので、多様なIO装置2−1〜2−n
からくるDMAライト転送に応じてSバス100に対す
る負荷を軽減することができ、システムのスループット
を向上させることができる。
【0062】
【発明の効果】以上説明したように本発明によれば、ダ
イレクトメモリアクセス転送における転送長と予め設定
されたデータ長との比較結果が一致を示すときにそのダ
イレクトメモリアクセス転送のデータをバスを介して主
記憶装置に書込むとともにそのデータに対応する複数の
装置各々のキャッシュメモリの内容を無効とすることに
よって、DMAライト転送時のSバスに対する負荷を軽
減することができ、システムのスループットを向上させ
ることができるという効果がある。
イレクトメモリアクセス転送における転送長と予め設定
されたデータ長との比較結果が一致を示すときにそのダ
イレクトメモリアクセス転送のデータをバスを介して主
記憶装置に書込むとともにそのデータに対応する複数の
装置各々のキャッシュメモリの内容を無効とすることに
よって、DMAライト転送時のSバスに対する負荷を軽
減することができ、システムのスループットを向上させ
ることができるという効果がある。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】本発明の一実施例の動作を示すフローチャート
である。
である。
【図3】本発明の他の実施例の構成を示すブロック図で
ある。
ある。
1,4 バスインタフェースアダプタ 2−1〜2−n DMA制御を有するIO装置 3 メインメモリ 11 デコーダ 12 キャッシュブロック長値保持部 13 比較器 14,41 IOバスインタフェース制御部 15,42 IOキャッシュ 16,43 無効化要求を伴う読出し制御部 17,44 無効化要求を伴うメモリ書き戻し制御部 18,45 他キャッシュ無効化指示制御部 19,46 Sバスインタフェース制御部 100 Sバス 101 IOバス 102 DMA転送長指示バス 103−1〜103−n DMA転送長−キャッシュブ
ロック長一致報告線
ロック長一致報告線
Claims (2)
- 【請求項1】 ストアイン型のキャッシュメモリを有す
る複数の装置と主記憶装置とが接続されるバスと、ダイ
レクトメモリアクセス転送を行う複数の入出力装置とを
接続しかつストアイン型のキャッシュメモリを有するバ
スインタフェースアダプタであって、前記ダイレクトメ
モリアクセス転送における転送長を予め設定されたデー
タ長と比較する比較手段と、前記比較手段の比較結果が
一致を示すときに前記ストアイン型のキャッシュメモリ
における前記ダイレクトメモリアクセス転送による目標
ブロックの有無にかかわらずそのダイレクトメモリアク
セス転送のデータを前記バスを介して前記主記憶装置に
書込むとともにそのデータに対応する前記複数の装置各
々のキャッシュメモリの内容を無効とする手段とを有す
ることを特徴とするバスインタフェースアダプタ。 - 【請求項2】 ストアイン型のキャッシュメモリを有す
る複数の装置と主記憶装置とが接続されるバスと、ダイ
レクトメモリアクセス転送を行う複数の入出力装置とを
接続しかつストアイン型のキャッシュメモリを有するバ
スインタフェースアダプタであって、前記複数の入出力
装置各々に設けられかつ前記ダイレクトメモリアクセス
転送における転送長を予め設定されたデータ長と比較す
る複数の比較手段各々の比較結果を入力する入力手段
と、前記入力手段から入力される前記比較結果が一致を
示すときに前記ストアイン型のキャッシュメモリにおけ
る前記ダイレクトメモリアクセス転送による目標ブロッ
クの有無にかかわらずそのダイレクトメモリアクセス転
送のデータを前記バスを介して前記主記憶装置に書込む
とともにそのデータに対応する前記複数の装置各々のキ
ャッシュメモリの内容を無効とする手段とを有すること
を特徴とするバスインタフェースアダプタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6132787A JP2748862B2 (ja) | 1994-06-15 | 1994-06-15 | バスインタフェースアダプタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6132787A JP2748862B2 (ja) | 1994-06-15 | 1994-06-15 | バスインタフェースアダプタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH086856A JPH086856A (ja) | 1996-01-12 |
JP2748862B2 true JP2748862B2 (ja) | 1998-05-13 |
Family
ID=15089541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6132787A Expired - Fee Related JP2748862B2 (ja) | 1994-06-15 | 1994-06-15 | バスインタフェースアダプタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2748862B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7500072B2 (en) * | 2006-04-25 | 2009-03-03 | International Business Machines Corporation | Migrating data that is subject to access by input/output devices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959777A (en) * | 1987-07-27 | 1990-09-25 | Motorola Computer X | Write-shared cache circuit for multiprocessor system |
DE68921869T2 (de) * | 1989-01-13 | 1995-10-12 | Ibm | Ein-/Ausgabebuscachespeicherung. |
JPH05100952A (ja) * | 1991-10-07 | 1993-04-23 | Fuji Xerox Co Ltd | データ処理装置 |
JPH06110844A (ja) * | 1992-08-11 | 1994-04-22 | Toshiba Corp | 分散共有メモリ型マルチプロセッサシステム |
-
1994
- 1994-06-15 JP JP6132787A patent/JP2748862B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH086856A (ja) | 1996-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6651115B2 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
US5426765A (en) | Multiprocessor cache abitration | |
EP0735480B1 (en) | Cache coherent computer system that minimizes invalidation and copyback operations | |
TW542958B (en) | A method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system | |
WO1994008297A1 (en) | Method and apparatus for concurrency of bus operations | |
JPS63269247A (ja) | メモリ制御サブシステム | |
US7089362B2 (en) | Cache memory eviction policy for combining write transactions | |
US6105076A (en) | Method, system, and program for performing data transfer operations on user data | |
JPH10154100A (ja) | 情報処理システム及び装置及びその制御方法 | |
JP2708943B2 (ja) | キャッシュメモリ制御装置 | |
JP2748862B2 (ja) | バスインタフェースアダプタ | |
CA1299767C (en) | Cache memory control system | |
US6052762A (en) | Method and apparatus for reducing system snoop latency | |
US6021472A (en) | Information processing device and control method thereof | |
JP2001043204A (ja) | キャッシュ・メモリ制御装置 | |
KR100258883B1 (ko) | 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치 | |
JP4091171B2 (ja) | キャッシュフラッシュ方法および装置 | |
KR100348808B1 (ko) | 메모리간의 데이타 전송장치 | |
AU617514B2 (en) | Multiple processor/cache memory system and data transaction control therefor | |
JPH0756844A (ja) | システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム | |
KR0164919B1 (ko) | 메모리 모듈내에 디렉토리 캐쉬를 포함하는 다중 프로세서 | |
JP2791319B2 (ja) | データ処理装置 | |
US5752265A (en) | Memory accessing in a multi-processor system using snooping | |
JPS6055859B2 (ja) | チャネル・バッファ制御方式 | |
KR950012735B1 (ko) | 이단(Two Level) 캐쉬 메모리의 동질성 보장장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |