(57)【特許請求の範囲】
【請求項１】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【請求項２】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，そのエントリ内の前記バリッド領域と前記キャッシュ・オン領域がそれぞれ元の値と同一の値となるようなデータを，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【請求項３】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，そのエントリ内の前記バリッド領域と前記キャッシュ・オン領域の少なくともいずれかが元の値と異なる値となるようなデータを，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【請求項４】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【請求項５】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，そのエントリ内の前記バリッド領域と前記キャッシュ・オン領域がそれぞれ元の値と同一の値となるようなデータを，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【請求項６】
ＣＰＵと，メモリ装置と，チャネル装置と，前記チャネル装置に接続または内蔵され，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルと，前記チャネル装置に接続または内蔵され，ＤＭＡ転送時に動作するキャッシュメモリとを持つデータ処理システムにおけるチャネル装置制御方法において，
前記変換テーブルは，各エントリごとに，少なくともエントリの有効／無効を示すバリッド領域，キャッシュメモリを使用するかしないかを示すキャッシュ・オン領域および物理アドレスの一部が格納される領域を有し，
前記変換テーブルのエントリ内の前記バリッド領域が有効を示し，かつ前記キャッシュ・オン領域がキャッシュメモリを使用することを示す場合に，そのエントリに対して，そのエントリ内の前記バリッド領域と前記キャッシュ・オン領域の少なくともいずれかが元の値と異なる値となるようなデータを，前記ＣＰＵが明示的にライトすることをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を前記キャッシュメモリに伝える手段を前記チャネル装置内に設け，この手段を用いることにより，前記キャッシュメモリの前記エントリに対応する部分をパージする
ことを特徴とするチャネル装置制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，チャネル装置の制御方法およびチャネル装置の構成に係り，特に，ＤＭＡ転送時に動作するキャッシュメモリを接続するチャネル装置に対してキャッシュメモリのパージ動作を効率的に行うチャネル装置制御方法に関する。
【０００２】
近年のデータ処理規模拡大に伴い，高性能のデータ処理システムの需要がますます増加している。高性能を得るためにはＣＰＵ性能のアップが必要であることはもちろんであるが，ＣＰＵと入出力装置との間のデータ転送性能向上もシステム全体の性能向上に大きく影響する。そこで，ＣＰＵと入出力装置との間のデータ転送を制御するチャネル装置，およびチャネル装置を通して転送制御が行われるＤＭＡ転送の性能向上が広く要望されている。
【０００３】
【従来の技術】
図１３に従来技術の一例を示す。図１３において，１はＣＰＵ，２はＣＰＵ１に接続または内蔵されるキャッシュメモリ（以降，ＣＰＵキャッシュと呼ぶ），，２０１はＣＰＵキャッシュ２内の領域，３はメモリ装置，３０１，３０２はメモリ装置３内の領域，４は共通バス，５はチャネル装置を表す。
【０００４】
ＣＰＵ１，メモリ装置３およびチャネル装置５は，共通バス４により接続されている。
６はチャネル装置５に接続または内蔵され，入出力装置（以降，Ｉ／Ｏ装置と呼ぶ）とメモリ装置３間のＤＭＡ転送時に動作する入出力用キャッシュメモリ（以降，Ｉ／Ｏキャッシュと呼ぶ），７は入出力用バス（以降，Ｉ／Ｏバスと呼ぶ），８ａ，８ｂは入出力制御装置（以降，Ｉ／Ｏ制御装置と呼ぶ），９ａ，９ｂは入出力装置（以降，Ｉ／Ｏ装置と呼ぶ）を表す。
【０００５】
５０１はチャネル装置５内に設けられたＣＰＵキャッシュ２発行のパージ要求受信部，５０２はチャネル装置５内に設けられたＩ／Ｏキャッシュ６内の該当エントリをパージするためのパージアドレスおよびパージ指示を保持するパージコマンドレジスタを表す。
【０００６】
ＣＰＵ１は，処理したデータを，メモリ装置３のある領域３０１に格納し，それをＩ／Ｏ装置９ａに格納する場合，ＤＭＡを起動する。ＤＭＡの起動は，ＣＰＵ１が，ＤＭＡを行うべきメモリ装置３内の開始アドレス（この場合は領域３０１の先頭アドレス），およびＤＭＡのコマンド，転送量等を，予め定められたメモリ装置３内の領域３０２に格納し，Ｉ／Ｏ制御装置８ａを起動する。
【０００７】
起動されたＩ／Ｏ制御装置８ａは，予め定められたメモリ装置内の領域３０２の内容を読み込み，実行すべきＤＭＡの内容を解読する。この場合には，メモリ装置３内の領域３０１のデータのＩ／Ｏ装置９ａへの転送であるから，Ｉ／Ｏ制御装置８ａは，領域３０１のデータをメモリ装置３から順次読み出す動作を開始する。読み出されたデータは，チャネル装置５，Ｉ／Ｏバス７を経由して，Ｉ／Ｏ制御装置８ａに到達後，Ｉ／Ｏ装置９ａに転送される。
【０００８】
例えば領域３０１のサイズが３２ＫＢ（３２７６８Ｂ）とし，１回の転送でメモリ装置３から読み出せるデータ量を６４Ｂとすると，以上のような動作を，３２７６８Ｂ÷６４Ｂ＝５１２回繰り返す。
【０００９】
ここで，６４ＢのデータをＩ／Ｏ装置９ａに転送後，Ｉ／Ｏ制御装置８ａは次の６４Ｂのデータを再びメモリ装置３から読み込むのであるが，Ｉ／Ｏキャッシュ６内に所望のデータが存在していれば，Ｉ／Ｏキャッシュ６からデータを読み込むだけでよく，メモリ装置３から読み出す場合に比べて早くデータがＩ／Ｏ装置９ａに転送できる。
【００１０】
Ｉ／Ｏキャッシュ６は，Ｉ／Ｏ制御装置８ａが既に読み込んだ６４ＢをＩ／Ｏ装置９ａに転送している間，並行して次にメモリ装置３から読み出すべきデータを予め読み出しておき，Ｉ／Ｏキャッシュ６内のメモリに格納しておく役割をする。これによりＤＭＡ性能が，Ｉ／Ｏキャッシュ６が無い場合に比べて格段に向上していた。なお，この場合のＩ／Ｏキャッシュ６は，メモリ装置３からＩ／Ｏ装置９ａ側への転送方向にのみ働き，逆方向へは働かない。
【００１１】
ところで，ＣＰＵ１がライトバック方式（コピーバック方式）のＣＰＵキャッシュ２を内蔵または接続している場合，処理したデータはまずＣＰＵキャッシュ２にライトされ，必要に応じてメモリ装置３へライトバック（コピーバック）される。
【００１２】
前述のＤＭＡ対象領域３０１にＣＰＵ１から書かれるべきデータは，一旦，ＣＰＵキャッシュ２の領域２０１にライトされ，チャネル装置５を介したＩ／Ｏ制御装置８ａからのＤＭＡによりメモリリード要求の際，要求データ分（６４Ｂ）がＣＰＵキャッシュ２から読み込まれ，チャネル装置５へ送られると同時にメモリ装置３内の対応領域３０１の対応ブロック（６４Ｂ）にライトバックされる。ＣＰＵキャッシュ２が６４Ｂ単位のブロックで管理されているとすると，このようにライトバックされた６４Ｂのブロックの状態は，ダーティ状態からシェアード状態に変化する。
【００１３】
図１４に従来技術の他の一例を示す。図１４において，図１３と同一部分については，同一符号を付してある。１０はＩ／Ｏ制御装置８ａ，８ｂからのＤＭＡアドレスを，物理アドレスに変換するための変換テーブルを表す。この変換テーブル１０は，メモリ装置３内のＤＭＡ領域の物理アドレスをＣＰＵ１内の変換テーブルを使って求めてＩ／Ｏ制御装置８ａ，８ｂ側のＤＭＡアドレスレジスタに設定する代わりに，Ｉ／Ｏ制御装置８ａ，８ｂ側のＤＭＡアドレスレジスタにはＣＰＵ１が命令で用いる論理アドレスを設定しておき，物理アドレスへの変換をこの変換テーブル１０を使ってハード的に行うためのものである。
【００１４】
Ｉ／Ｏ制御装置８ａもしくは８ｂから，物理アドレスではなく論理アドレスが送出され，その論理アドレスが変換テーブル１０により物理アドレスに変換されて共通バス４に出力される点以外は，図１３で説明した動作と同様である。
【００１５】
【発明が解決しようとする課題】
上述のように領域２０１のデータをＩ／Ｏ装置９ａにＤＭＡ転送する動作が終了後，通常，領域２０１にはＣＰＵ１により別の処理データが格納される。この場合，領域２０１のキャッシュ管理ブロックは，シェアード状態のため，各６４Ｂのブロックに対して，ＣＰＵ１からライトされる毎に，そのブロックはシェアード状態からダーティ状態に変化するが，それと同時にそのブロックと同じデータを共有する他装置（他ＣＰＵまたはキャッシュを有するチャネル装置）に対してパージ要求を発行し，他装置のキャッシュの該当ブロックのデータを無効化しなければならない。
【００１６】
ここで，例えばもしＣＰＵ１が同一領域３０１全体に新しく処理したデータを書き込んだ後，今度はＩ／Ｏ装置９ｂにＤＭＡ転送を行う場合を考えると，ＣＰＵ１から領域３０１，すなわちＣＰＵキャッシュ２内の対応領域２０１の６４Ｂブロックにライトする度にパージ要求が発行されるため，ＣＰＵ１が領域３０１全体（すなわち領域２０１全体）に処理データをライトするまで発行されるパージ要求発行回数は，３２７６８Ｂ÷６４Ｂ＝５１２回となる。
【００１７】
このパージ要求は，通常キャッシュ管理用のハードウェアからハード的に（プログラムを介さずに）発行され，各キャッシュ保有装置からの終了応答が通知されて初めて要求が終了する。また，ＣＰＵ１の対応ブロックの，シェアード状態からダーティ状態への変化も，このパージ要求が終了して初めて行われるため，このようなパージ要求発行の頻発は，ＣＰＵ１の処理性能を著しく低下させることになる。
【００１８】
本発明の目的は，上記問題点を鑑み，ＣＰＵの処理性能を低下させず，かつＩ／Ｏキャッシュを有効に利用して高いＤＭＡ性能を得ることができるチャネル装置制御方法を提供することにある。
【００１９】
【課題を解決するための手段】
本発明と従来技術との大きな違いは，主に以下の点である。
従来技術では，メモリアクセスがトリガとなってアドレスを比較し，キャッシュメモリの無効／有効を判定（有効／無効のフラグはハードウェアでセットする）し，キャッシュメモリの無効化を行う。これに対し，本発明では，論理アドレスで送出されてくるＤＭＡアドレスを物理アドレスに変換するための変換テーブルのエントリに対する，ＣＰＵからのプログラムによる明示的ライトをトリガとして，あらかじめプログラムでセットされたフラグ等を比較してキャッシュメモリの無効／有効を判定し，キャッシュメモリの無効化を行う。
【００２０】
【発明の実施の形態】
以下，図面を参照しつつ本発明の実施の形態を説明する。なお，最初に説明する第一，第二の実施の形態は，本発明に関連する技術を説明するための例である。
〔第一の実施の形態〕
図１は，本発明に関連する技術の構成説明図である。図１において，１はＣＰＵ，２はＣＰＵキャッシュ，３はメモリ装置，４は共通バス，５はチャネル装置，６はＩ／Ｏキャッシュ，７はＩ／Ｏバス，８ａ，８ｂはＩ／Ｏ制御装置，９ａ，９ｂはＩ／Ｏ装置を表す。
【００２１】
チャネル装置５内の５０２は，Ｉ／Ｏキャッシュ６内の該当エントリをパージするためのパージアドレスおよびパージ指示を保持するパージコマンドレジスタ，５０３は，パージコマンドレジスタ５０２にＣＰＵ１から直接ライトできるようにするためのレジスタ選択手段である。
【００２２】
この第一の実施の形態では，例えば図１に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，このチャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，パージコマンドレジスタ５０２にＣＰＵ１から直接ライトできるようにするためのレジスタ選択手段５０３を設けることにより，図１３の従来技術においてチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，パージコマンドレジスタ５０２にＣＰＵ１から直接パージすべきパージアドレスおよびパージ指示をライトできるようにする。これにより，Ｉ／Ｏキャッシュ６の無効化（パージ）を，ＣＰＵ１からチャネル装置５への明示的アクセスにより行うようにしている。
【００２３】
ＣＰＵ１は，ＤＭＡ終了後，使用したメモリ領域に対応するページアドレスを，レジスタ選択手段５０３により選択されたパージコマンドレジスタ５０２に直接書き込み（明示的ライト），ハード的なパージコマンドの自動発行は行わない。
【００２４】
Ｉ／Ｏキャッシュ６は，パージアドレスレジスタ５０２に設定されたページアドレスに該当するエントリをすべてパージする。４ＫＢ／ページのシステムでは，３２ＫＢのＤＭＡでは３２ＫＢ÷４ＫＢ＝８ページ分について，使用したページアドレスを設定すればよいので，８回のページアドレスライトで，使用したＩ／Ｏキャッシュ６の該当エントリのパージが全て行われることになる。従来例のようなハードウェアによる自動パージ要求発行時の５１２回に比べると格段に少なく，ＣＰＵ１による明示的ライトのオーバーヘッドを差し引いても，ＣＰＵ性能低下はほとんどない。
【００２５】
〔第二の実施の形態〕
図２は，本発明に関連する技術の他の構成説明図である。図２において，図１と同一部分については同一符号を付してある。１０はＩ／Ｏ制御装置８からのＤＭＡアドレスを，物理アドレスに変換するための変換テーブルを表す。チャネル装置５内の５０４ａは，変換テーブル１０への特定方法でのアクセスをトリガにして，Ｉ／Ｏキャッシュ６のエントリに対応する物理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段である。
【００２６】
この第二の実施の形態では，例えば図２に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，ＣＰＵ１から変換テーブル１０内のパージすべきアドレスに対応したエントリに対して，ＣＰＵ１が明示的アクセスを行うことにより，変換テーブル１０から読み出された物理ページアドレスが，物理アドレス伝達手段５０４ａにより，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００２７】
〔第三の実施の形態〕
図３は，請求項１の発明に対応する第一の構成説明図である。図３において，図２と同一部分については，同一符号を付してある。５０５は変換テーブル１０のエントリの特定ビットが第一の論理値であるか否かを判定する判定部である。５０４ｂは判定部５０５による判定結果が前記第一の論理値であったとき，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段である。
【００２８】
本発明の第三の実施の形態では，例えば図３に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が，前記第一の論理値であった場合，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段５０４ｂにより，変換テーブル１０から読み出された物理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００２９】
〔第四の実施の形態〕
図４は，請求項２の発明に対応する第二の構成説明図である。図４において，図３と同一部分については同一符号を付してある。５０６はＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが第一の論理値のままとなるデータであるか否かを判定する判定部である。５０４ｃは判定部５０６による判定結果が前記第一の論理値のままとなるデータであったとき，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段である。
【００３０】
本発明の第四の実施の形態では，例えば図４に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が前記第一の論理値であった場合，かつＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが前記第一の論理値のままとなるデータであるか否かを判定する判定部５０６の判定結果が前記第一の論理値のままとなるデータであった場合に，前記エントリに対応する物理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段５０４ｃにより，変換テーブル１０から読み出された物理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００３１】
〔第五の実施の形態〕
図５は，請求項３の発明に対応する第三の構成説明図である。図５において，図３と同一部分については同一符号を付してある。
【００３２】
５０７はＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが第一の論理値を第二の論理値にするようなデータであるか否かを判定する判定部である。５０４ｄは判定部５０７による判定結果が前記第一の論理値を第二の論理値にするようなデータであった場合に，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する物理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段である。
【００３３】
本発明の第五の実施の形態では，例えば図５に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が前記第一の論理値であった場合，かつＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが前記第一の論理値を第二の論理値にするデータであるか否かを判定する判定部５０７の判定結果が前記第二の論理値にするデータであった場合に，前記エントリに対応する物理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える物理アドレス伝達手段５０４ｄにより，変換テーブル１０から読み出された物理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００３４】
〔第六の実施の形態〕
図６は，請求項４の発明に対応する第四の構成説明図である。図６において，図３と同一部分については同一符号を付してある。５０４ｅは変換テーブル１０への特定方法でのアクセスをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段である。
【００３５】
本発明の第六の実施の形態では，例えば図６に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が前記第一の論理値であった場合，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段５０４ｅにより，変換テーブル１０から読み出された論理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００３６】
〔第七の実施の形態〕
図７は，請求項５の発明に対応する第五の構成説明図である。図７において，図４と同一部分については同一符号を付してある。５０４ｇは，判定部５０６による判定結果が前記第一の論理値のままとなるデータであった場合に，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段である。
【００３７】
本発明の第七の実施の形態では，例えば図７に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が前記第一の論理値であった場合，かつＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが前記第一の論理値のままとなるデータであるか否かを判定する判定部５０６の判定結果が前記第一の論理値のままとなるデータであった場合に，前記エントリに対応する論理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段５０４ｇにより，変換テーブル１０から読み出された論理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００３８】
〔第八の実施の形態〕
図８は，請求項６の発明に対応する第六の構成説明図である。図８において，図５と同一部分については同一符号を付してある。５０４ｈは判定部５０７による判定結果が前記第一の論理値を第二の論理値にするようなデータであった場合に，そのエントリに対する明示的ライトをトリガにして，前記エントリに対応する論理アドレス情報およびパージ指示を，パージコマンドレジスタ５０２を介してＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段である。
【００３９】
本発明の第八の実施の形態では，例えば図８に示すように，ＣＰＵ１と，メモリ装置３と，チャネル装置５と，ＤＭＡアドレスを物理アドレスに変換するための，チャネル装置５に接続または内蔵される変換テーブル１０と，チャネル装置５に接続または内蔵され，ＤＭＡ転送時に動作するＩ／Ｏキャッシュ６とを持つデータ処理システムにおいて，図１４の従来技術ではチャネル装置５内に設けられていたパージ要求受信部５０１は設けず，変換テーブル１０のエントリ内の特定領域が第一の論理値であるか否かを判定する判定部５０５の判定結果が前記第一の論理値であった場合，かつＣＰＵ１からの変換テーブル１０に対する明示的ライトにおけるライトデータが前記第一の論理値を第二の論理値にするデータであるか否かを判定する判定部５０７の判定結果が前記第二の論理値にするデータであった場合に，前記エントリに対応する論理アドレス情報およびパージ指示をＩ／Ｏキャッシュ６に伝える論理アドレス伝達手段５０４ｈにより，変換テーブル１０から読み出された物理ページアドレスが，パージコマンドレジスタ５０２にセットされるようにすることにより，Ｉ／Ｏキャッシュ６の前記エントリに対応する部分をパージする。
【００４０】
【実施例】
図９に本発明の第一の実施例を示す。
図９のチャネル装置５において，５０は変換テーブル制御部，５１は共通バス制御部，５２はキャッシュバス制御部を表す。また，変換テーブル１０において，１００１は変換テーブル１０内のエントリフォーマットを表す。エントリ内には，Ｖビット（バリッドビット），ＣＯ（キャッシュ・オン・ビット）ビット，および物理アドレスの一部（物理ページアドレス部）等が格納される。
【００４１】
６１はチャネル装置５とＩ／Ｏキャッシュ６とを接続するキャッシュバスを表す。変換テーブル制御部５０におけるＦＦ１，ＦＦ２，ＦＦ３はフリップフロップ，５０８はマージ回路を表す。
【００４２】
チャネル装置５の共通バス制御部５１は，共通バス４から変換テーブルアクセスのコマンドを受信し，受信した情報を論理アドレスとライトデータ（＝物理アドレス他）とに分けて変換テーブル制御部５０へ送出する。
【００４３】
変換テーブル制御部５０は，チャネル装置５に接続されている変換テーブル１０へアドレスを送出し，ライト動作に先立って，まず変換テーブル１０にリードアクセスを行う。変換テーブル制御部５０は，変換テーブル１０から元のデータをリードする。
【００４４】
ここで，変換テーブル１０におけるエントリフォーマット１００１のＶビットは，エントリの有効を示すビット（バリッドビット）であり，ＣＯビットは，Ｉ／Ｏキャッシュ６を使用することを示すビット（キャッシュ・オン・ビット）である。また，物理アドレスの一部（物理ページアドレス部）が格納されている。
【００４５】
変換テーブル１０から読み出された前記物理アドレスの一部（物理ページアドレス部）と論理アドレスのページ内アドレス部は，マージ回路５０８によりマージされて，物理アドレスとしてキャッシュバス制御部５２へ送出される。
【００４６】
変換テーブル制御部５０内の判定部５０５は，データリード後エントリデータをチェックし，エントリが有効かつＩ／Ｏキャッシュ６を使用する場合，すなわちＶビット，ＣＯビットが１の場合にのみ変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出する。
【００４７】
このときの変換テーブル１０へのデータライトにおいて物理アドレスは一部分が格納される。
キャッシュバス制御部５２は，変換テーブル制御部５０からのＩ／Ｏキャッシュ６のパージリクエストを受信すると，キャッシュバス制御部５２内でパージリクエストから生成したコマンド情報と変換テーブル制御部５０からの物理アドレスとをマージしてＩ／Ｏキャッシュ６のパージコマンドを生成し，キャッシュバス６１へＩ／Ｏキャッシュ６のパージコマンドを送出する。
【００４８】
図１０に本発明の第二の実施例を示す。
図１０の実施例において，図９と同一部分については，同一符号を付してある。５０６は，ＣＰＵ１からの明示的ライトデータの判定部を表す。
【００４９】
チャネル装置５の共通バス制御部５１は，共通バス４から変換テーブルアクセスのコマンドを受信し，受信した情報を論理アドレスとライトデータ（＝物理アドレス他）とに分けて変換テーブル制御部５０へ送出する。
【００５０】
変換テーブル制御部５０は，チャネル装置５に接続されている変換テーブル１０へアドレスを送出し，ライト動作に先立って，まず変換テーブル１０にリードアクセスを行う。変換テーブル制御部５０は，変換テーブル１０から元のデータをリードする。
【００５１】
ここで，エントリフォーマット１００１のＶビットは，エントリの有効を示すビット（バリッドビット）であり，ＣＯビットは，Ｉ／Ｏキャッシュを使用することを示すビット（キャッシュ・オン・ビット）である。また，物理アドレスの一部（物理ページアドレス部）が格納されている。
【００５２】
変換テーブル１０から読み出された前記物理アドレスの一部（物理ページアドレス部）と論理アドレスのページ内アドレス部は，マージ回路５０８によりマージされて，物理アドレスとしてキャッシュバス制御部５２へ送出される。
【００５３】
変換テーブル制御部５０内の判定部５０５は，データリード後エントリデータをチェックし，エントリが有効かつＩ／Ｏキャッシュ６を使用する場合，すなわちＶビット，ＣＯビットが１の場合，判定部５０６にその判定結果を伝える。判定部５０６は，前記判定結果を受け，ＣＰＵ１からの同一エントリに対する明示的ライトのライトデータにおけるＶビットおよびＣＯビットも同一の値，すなわちいずれも１となっているか否かを判定し，いずれも１となっていた場合には，変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出する。
【００５４】
図１１に本発明の第三の実施例を示す。
図１１の実施例において，図９と同一部分については，同一符号を付してある。５０７は，ＣＰＵ１からの明示的ライトデータの判定部を表す。
【００５５】
チャネル装置５の共通バス制御部５１は，共通バス４から変換テーブルアクセスのコマンドを受信し，受信した情報を論理アドレスとライトデータ（＝物理アドレス他）とに分けて変換テーブル制御部５０へ送出する。
【００５６】
変換テーブル制御部５０は，チャネル装置５に接続されている変換テーブル１０へアドレスを送出し，ライト動作に先立って，まず変換テーブル１０にリードアクセスを行う。変換テーブル制御部５０は，変換テーブル１０から元のデータをリードする。
【００５７】
ここで，エントリフォーマット１００１のＶビットは，エントリの有効を示すビット（バリッドビット）であり，ＣＯビットは，Ｉ／Ｏキャッシュ６を使用することを示すビット（キャッシュ・オン・ビット）である。また，物理アドレスの一部（物理ページアドレス部）が格納されている。
【００５８】
変換テーブル１０から読み出された前記物理アドレスの一部（物理ページアドレス部）と論理アドレスのページ内アドレス部は，マージ回路５０８によりマージされて，物理アドレスとしてキャッシュバス制御部５２へ送出される。
【００５９】
変換テーブル制御部５０内の判定部５０５は，データリード後エントリデータをチェックし，エントリが有効かつＩ／Ｏキャッシュ６を使用する場合，すなわちＶビット，ＣＯビットが１の場合，判定部５０７にその判定結果を伝える。判定部５０７は，前記判定結果を受け，ＣＰＵ１からの同一エントリに対する明示的ライトのライトデータにおけるＶビットおよびＣＯビットが異なる値，すなわちいずれかが０となっているか否かを判定し，いずれかが０となっていた場合には，変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出する。
【００６０】
図１２に本発明の第四の実施例を示す。
図１２において，図９と同一部分については，同一符号を付してある。
チャネル装置５の共通バス制御部５１は，共通バス４から変換テーブルアクセスのコマンドを受信し，受信した情報を論理アドレスとライトデータ（＝物理アドレス他）とに分けて変換テーブル制御部５０へ送出する。
【００６１】
変換テーブル制御部５０は，チャネル装置５に接続されている変換テーブル１０へアドレスを送出し，ライト動作に先立って，まず変換テーブル１０にリードアクセスを行う。変換テーブル制御部５０は，変換テーブル１０から元のデータをリードする。
【００６２】
ここで，エントリフォーマット１００１のＶビットは，エントリの有効を示すビット（バリッドビット）であり，ＣＯビットは，Ｉ／Ｏキャッシュ６を使用することを示すビット（キャッシュ・オン・ビット）である。また，物理アドレスの一部（物理ページアドレス部）が格納されている。
【００６３】
変換テーブル制御部５０内の判定部５０５は，データリード後エントリデータをチェックし，エントリが有効かつＩ／Ｏキャッシュ６を使用する場合，すなわちＶビット，ＣＯビットが１の場合にのみ変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出する。
【００６４】
このときの変換テーブル１０へのデータライトにおいて物理アドレスは一部分が格納される。
キャッシュバス制御部５２は，変換テーブル制御部５０からのＩ／Ｏキャッシュ６のパージリクエストを受信すると，キャッシュバス制御部５２内でパージリクエストから生成したコマンド情報と共通バス制御部５１からの論理アドレスとをマージしてＩ／Ｏキャッシュ６のパージコマンドを生成し，キャッシュバス６１へＩ／Ｏキャッシュ６のパージコマンドを送出する。この場合，Ｉ／Ｏキャッシュ６は論理アドレスによりパージされる。
【００６５】
なお，第四の実施例においても，第二の実施例のように判定部５０６を設けて，ＣＰＵ１からの同一エントリに対する明示的ライトのライトデータにおけるＶビットおよびＣＯビットも同一の値，すなわちいずれも１となっているか否かを判定し，いずれも１となっていた場合は，変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出するように構成することもできる。
【００６６】
また，第三の実施例のように判定部５０７を設けて，ＣＰＵ１からの同一エントリに対する明示的ライトのライトデータにおけるＶビットおよびＣＯビットが異なる値，すなわちいずれかが０となっているか否かを判定し，いずれかが０となっていた場合には，変換テーブル１０へのデータのライトに同期して，キャッシュバス制御部５２へＩ／Ｏキャッシュ６のパージリクエストを送出するように構成することもできる。
【００６７】
【発明の効果】
以上説明したように，本発明によれば，Ｉ／Ｏキャッシュのパージのためには，チャネル装置に対しページ単位のＣＰＵの明示的アクセスを行えばよいので，従来技術のようにＣＰＵからのメモリライトに伴うキャッシュハードウェアからのパージ要求発行の頻発がないため，ＣＰＵの処理性能を低下させず，かつＩ／Ｏキャッシュを有効に利用した高いＤＭＡ性能を有するチャネル装置を提供することができる。
【図面の簡単な説明】
【図１】  本発明に関連する技術の構成説明図である。
【図２】  本発明に関連する技術の他の構成説明図である。
【図３】  本発明の第一の構成説明図である。
【図４】  本発明の第二の構成説明図である。
【図５】  本発明の第三の構成説明図である。
【図６】  本発明の第四の構成説明図である。
【図７】  本発明の第五の構成説明図である。
【図８】  本発明の第六の構成説明図である。
【図９】  本発明の第一の実施例を示す図である。
【図１０】  本発明の第二の実施例を示す図である。
【図１１】  本発明の第三の実施例を示す図である。
【図１２】  本発明の第四の実施例を示す図である。
【図１３】  本発明の従来技術の一例を示す図である。
【図１４】  本発明の従来技術の他の一例を示す図である。
【図１】
0003784932.tif 000002
【図２】
0003784932.tif 000003
【図３】
0003784932.tif 000004
【図４】
0003784932.tif 000005
【図５】
0003784932.tif 000006
【図６】
0003784932.tif 000007
【図７】
0003784932.tif 000008
【図８】
0003784932.tif 000009
【図９】
0003784932.tif 000010
【図１０】
0003784932.tif 000011
【図１１】
0003784932.tif 000012
【図１２】
0003784932.tif 000013
【図１３】
0003784932.tif 000014
【図１４】
0003784932.tif 000015