(57)【特許請求の範囲】
【請求項１】
プロセッサおよびキャッシュメモリを有する第１エージェントと関連する装置であって、システムメモリ手段と、該システムメモリ手段にアクセス可能な前記第１エージェントと、前記システムメモリ手段にアクセス可能な第２エージェントとを有するシステムにおける前記第１エージェントの外部にある前記システムメモリ手段と前記キャッシュメモリとの間の整合性を維持するための装置において、
前記第１エージェントの前記キャッシュメモリと並列に前記第１エージェントの前記プロセッサに結合され、前記プロセッサから少なくとも１つのデータ、前記１つのデータに関連するアドレス、および前記１つのデータに関連する制御コマンドを受信し、前記１つのデータがシステムバスを通じて前記システムメモリ手段へ書き込まれる前に、前記１つのデータ、前記１つのデータに関連する前記アドレスおよび前記制御コマンドを一時的に記憶する手段であって、前記制御コマンドは、前記１つのデータの全体を前記システムメモリ手段へ書込むことを示す全書込み制御コマンド又は前記１つのデータの一部のみを前記システムメモリ手段へ書込むことを示す部分書込み制御コマンドを備えるものである、受信して一時的に記憶する手段と、
前記システムバスに結合され、前記システムメモリ手段への前記第２エージェントによる書込みアクセスの発生を前記システムバスから検出する手段と、
前記受信して一時的に記憶する手段と前記検出する手段とに結合され且つ応答して、（１）前記第２エージェントによる前記書込みアクセスの発生が検出されず、前記制御コマンドが部分書込み制御コマンドとして記憶されている場合には、前記制御コマンドを全書込み制御コマンドへ選択的に変換し、（２）前記第２エージェントによる前記書込みアクセスの発生が検出された場合には、前記制御コマンドを変更せずに維持する手段と、
前記受信して一時的に記憶する手段に応答して、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、記憶された前記アドレスと、選択的に変換された前記制御コマンドまたは維持された前記制御コマンドとを供給する手段と
を備える装置。
【請求項２】
請求項１に記載の装置であって、前記受信して一時的に記憶する手段は、前記第１エージェント上のデータソースに結合された入力及び前記システムバスに結合された出力を有するFIFOバッファ手段を備える、装置。
【請求項３】
請求項１に記載の装置であって、前記部分書込み制御コマンドは、バイト書込み制御コマンドまたはハーフワード書込み制御コマンドの何れかである、装置。
【請求項４】
請求項１に記載の装置であって、前記１つのデータは、少なくとも４バイトのデータを含むワードであり、前記制御コマンドは、少なくとも全ワード書込みサイクルまたは部分ワード書込みサイクルを示し、前記部分ワード書込みサイクルは、バイト書込みサイクルまたはハーフワード書込みサイクルの何れかである、装置。
【請求項５】
請求項２に記載の装置であって、前記FIFOバッファ手段と前記キャッシュメモリ手段の両方が、前記データソースからのデータを両方同時に記憶する、装置。
【請求項６】
請求項１に記載の装置であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスを前記検出する手段による評価によって検出したときに起きる、装置。
【請求項７】
請求項１に記載の装置であって、前記の選択的な変換は、前記１つのデータに対する前記アドレスに関連する書込みアクセスの存在を前記検出手段による評価によって検出したときに起きる、装置。
【請求項８】
システムメモリ手段と、該システムメモリ手段にアクセス可能でありプロセッサおよびキャッシュメモリを有する第１エージェントと、前記システムメモリ手段にアクセス可能である第２エージェントとを有するシステムにおける前記キャッシュメモリと前記システムメモリ手段との間の整合性を維持する方法であって、
前記プロセッサから少なくとも１つのデータ、前記１つのデータに関連するアドレス、および前記１つのデータに関連する制御コマンドを受信し、前記１つのデータがシステムバスを通じて前記システムメモリ手段へ書き込まれる前に、前記１つのデータ、前記１つのデータに関連する前記アドレスおよび前記１つのデータに関連する前記制御コマンドを一時記憶手段に一時的に記憶するステップであって、前記制御コマンドは、前記１つのデータの全体を前記システムメモリ手段へ書込むことを示す全書込み制御コマンド又は前記１つのデータの一部のみを前記システムメモリ手段へ書込むことを示す部分書込み制御コマンドを備えるものである、受信して一時的に記憶するステップと、
前記システムメモリ手段へ前記１つのデータを記憶するために、記憶された前記１つのデータ、前記関連するアドレス、および前記関連する制御コマンドを前記システムバスへ供給するステップとを備え、該供給するステップが、
前記一時記憶手段がその中に少なくとも１つのデータを記憶しているかを判定するステップと、
前記システムメモリ手段への前記第２エージェントによる書込みアクセスの発生を前記システムバスから検出するステップと、
前記発生が検出されない場合には、前記関連する制御コマンドが部分書込み制御コマンドとして記憶されていた場合に、前記関連する制御コマンドを全書込み制御コマンドへ選択的に変換し、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、前記関連するアドレスと、選択的に変換された前記全書込み制御コマンドとを供給し、
前記発生が検出された場合には、前記関連する制御コマンドを維持し、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、前記関連するアドレスと、維持された前記関連する制御コマンドとを供給するステップと
を含む、
方法。
【請求項９】
請求項８に記載の方法であって、前記受信して一時的に記憶するステップは、前記１つのデータをFIFOバッファ手段に記憶することにより達成される、方法。
【請求項１０】
請求項８に記載の方法であって、前記部分書込み制御コマンドは、バイト書込み制御コマンドまたはハーフワード書込み制御コマンドの何れかである、方法。
【請求項１１】
請求項８に記載の方法であって、前記１つのデータは、少なくとも４バイトのデータを含むワードであり、前記制御コマンドは、少なくとも全ワード書込みサイクルまたは部分ワード書込みサイクルを示し、前記部分ワード書込みサイクルは、バイト書込みサイクルまたはハーフワード書込みサイクルの何れかである、方法。
【請求項１２】
請求項８に記載の方法であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスが検出されたときに起きる、方法。
【請求項１３】
請求項８に記載の方法であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスが、一時的に記憶された前記１つのデータに対する前記関連するアドレスに対応するときに、起きる、方法。
【発明の詳細な説明】
発明の分野
本発明はデータ処理用の装置及び方法に関し、より詳細には、ライトスルーキャッシュと書き込みデータをバッファリングするための前記キャッシュと平行するローカルバッファメモリとを有する中央処理装置（CPU）に関する。CPUは外部で生じたメインメモリへの書き込みの発生（occurrence）を検出する回路、及びメインメモリのデータがバッファメモリからの新しくない可能性のあるデータで重ね書きされるのを避けるために、関連するメモリコマンドを書き込みアクセスのワード形式から、書き込みアクセスのワード形式より少ないように変更する回路を含む。
本発明の背景
ここで説明される発明は、マルチバイトのメモリワードを記憶するために編成された複数のメモリ装置をメモリ制御装置が制御するデータ処理システムの形式で特に有用である。そのようなメモリでは、エラー検出及び訂正シンドロームビットは典型的にはメモリの多数のバイト、例えば32ビットメモリワードの４バイト、にわたって生成される。中央処理装置CPUがそのようなメモリにデータのワードを書き込むとき、エラーシンドロームビットはそのワード全体に対して生成され、関連するメモリ装置に記憶される。しかしながら、CPUが、１バイト（８ビット）又はハーフワード（16ビット）のデータなどのような、全ワードのデータよりも少ない書き込みをするときには、メモリ制御装置は最初に全ワードのデータを読み、そのバイトをマージし、全マージされたワードにわたってエラーシンドロームビットを生成し、関連するシンドロームビットをもつマージされたワードをメモリに戻して書き込むように動作する。周知のように、この読み取り／変更（modify）／書き込み形式のアクセスは時間のかかる処理である。
あるシステムでは複数のCPUが共通のシステムバスに結合され、そしてそのバスを通じて１つまたはそれ以上のメモリユニットに結合されている。各CPUはローカルキャッシュメモリを有しており、メインシステムメモリの一部分のコピーが維持される。そのようなシステムでは、キャッシュメモリ内のデータの変化に正確に反映してメインメモリが更新されることが、望まれる目標である。例えば、そのようなシステムはライトスルー形式のキャッシュメモリを用いており、キャッシュに書き込まれたデータはまたキャッシュを”スルー（through）”してメインメモリに書き込まれる。こうするためにキャッシュと平行に先入れ先出し（FIFO）メモリが用いられる。FIFOはCPUから書き込みデータを受け入れて、そのデータをシステムバスを通じてメインメモリにあたえる前に一時的にそのデータをバッファリングする。FIFOは通常はワード幅又はそれ以上である。
幅が１つのワードよりも少ないこれらの書き込み動作に対しては、FIFO内に記憶されたデータは読み取り／変更／書き込み形式のアクセスの結果に反映され、そこではバイト又はハーフワードはCPUによってキャッシュワードと既にマージされている。よって、バイト又はハーフワードをメモリに書き込みそしてエラーシンドロームビットの生成における読み取り／変更／書き込みサイクルの時間遅延を被る代わりに、より効率的なキャッシュメモリライトスルー技術は全かつ既にマージされたワードをFIFOからメモリに書き込む。
しかしながら、マルチプロセッサシステムの他のCPUのような他のシステムバス作用物（agent）が、ワードのデータが一時的にFIFOにバッファされる時間の間隔の間に、メインメモリに書き込むときに問題が起こる。この場合、メインメモリのワード、即ちFIFOのターゲット、は他のバス作用物によって今更新されたところかも知れない。FIFOからフルワードが書き込まれることを許すと、FIFO内に含まれる古いデータによって新しいデータが重ね書きされ、メインメモリの新しいデータが壊される結果となる。
従って本発明の１つの目的は、ローカルキャッシュメモリへの書き込み動作の結果としてメインメモリ内のデータを更新するための方法及び装置を提供することである。
本発明の他の目的は、FIFOバッファのようなデュアルポートメモリをキャッシュメモリと平行に与えることによってメインメモリ内のデータを更新するライトスルーキャッシュを用いるための方法及び装置を提供し、更にいつFIFOバッファからメインメモリへのフルワード書き込みのデータを無効にする書き込みがメインメモリに起こるかを検出するための回路を提供することである。
更に本発明の目的は、FIFOバッファをキャッシュメモリと平行に与えることによってメインメモリ内のデータを更新する、ライトスルーキャッシュを用いるための方法及び装置を提供し、更にいつ書き込みがメインメモリに起こるかを検出するための回路、及びメインメモリのデータが新しくない可能性のあるデータで重ね書きされるのを避けるために、関連するメモリコマンドをワード書き込み（word write）アクセスから、書き込みアクセスのワード形式より少ないように変更する回路を提供することである。
本発明の概要
システムバスを通じてシステムメモリ内にデータを記憶するユニットのための方法及び装置によって前記の問題は克服され、本発明の目的は実現される。特定的にはライトスルーキャッシュメモリが教授されており、それにおいては１つのワードよりも少ない長さの書き込み動作に対して、第１のバス作用物（エージェント）に関連するFIFOメモリデバイス内に記憶された書き込みデータは読み取り／変更／書き込み形式のアクセスの結果を反映し、そこではバイト又はハーフワードはローカルプロセッサによってキャッシュワードとマージされる。システムバスに駆動するメモリ制御ラインは、書き込み動作がワード書き込み（word write）として行われることをメモリ制御装置に示し、それによって読み取り／変更／書き込みのメモリ制御装置のサイクルを行うのに要する付加的な時間を除く。他のCPUやI/Oデバイスのような他のシステムバス作用物が、ワードのデータが一時的にFIFOにバッファされ、新しい書き込みデータがFIFOによって重ね書きされる時間の間隔の間に、システムメモリに書き込むときの問題を避けるために、システムメモリへの他のシステムバス作用物によってなされる外部の書き込みを検出するための回路が提供される。FIFOがデータを記憶していることを検出するための回路も提供され、そしてワード書き込みの代わりにワード書き込みより少ない書き込みを示すようにメモリコマンドラインを変えるための回路が与えられる。これによってメモリ制御装置が、ローカルプロセッサによって変更されたデータワードのその部分にだけ動作するようにし、そしてそのワードのその部分のみとメインメモリからのワードとをマージするように従来の読み取り／変更／書き込み形式のサイクルを行うようにする。例えば、バイト又はハーフワードは、これもまたFIFOにバッファされるアドレスの最下位側ビット（least significant bit）によってメモリ制御装置に対して識別される。
【図面の簡単な説明】
本発明の前記及び他の特徴は添付の図面と関連して以下の本発明の詳細な説明を読むとより明確になる。
図１は本発明に従って構成され動作する一データ処理システムのブロック図である。
図２は本発明を実施するための一回路の簡略化された略線図である。
本発明の詳細な説明
図１は本発明に従って構成され動作するデータ処理システム１の一部分のブロック図である。システム１はCPU1からCPUnで示されたような少なくとも１つの中央処理装置（CPU）を含む。典型的には各CPU10は他のCPUと同じ構成である。CPU10は、マイクロプロセッサデバイスのようなプロセッサ12を含み、それは複数のデータライン（DATA）12a、アドレスライン（ADDR）12b及び制御ライン（CONT）12cを経由でローカルキャッシュメモリ14に結合されている。キャッシュメモリ14はバス14aを経由してバスインターフェースユニット16に結合されていて、そのバスインターフェースユニット16はシステムバス（SB）20との両方向データ通信を提供する。また、キャッシュ14に関連している複数のパリティライン及び当業者には周知である多種の他の形式の信号は示されていない。バス14aはデータ、アドレス及び制御ライン12a乃至12cを含む。FIFOバッファ18のようなデュアルポートメモリデバイスがキャッシュ14と並列に結合されている。FIFO18は、メインメモリ24を更新することを意図している書き込みデータを短期間バッファするように機能し、メインメモリ24はメモリ制御装置22を介してシステムバス20に結合されている。FIFO18は、書き込みデータがSB20に与えられる前に、プロセッサ12からデータを受信し記憶するように動作する。そこにおいて、プロセッサ12は典型的にはSB20よりも速いクロック値で動作し、FIFO18はプロセッサ12が典型的には遅いSB20と同期することなしにデータを書き込みそして動作を続けることを可能にする。FIFO18は少なくとも１つ、典型的には４つまでのワード又はダブルワードのデータを記憶するのに十分なメモリ容量を与えられる。しかし、この典型的な数よりも多くも又は少くも容易に与えられる。
ユニット24の個々のもののメモリ密度と、システム１の所望される合計メモリ容量とによって、複数のメモリユニット（MEM1乃至MEMn）が与えられる。メモリ制御装置22はエラー訂正回路（ECC）22aを含む。ECC22aは一度にワードのメモリデータにシンドロームビットを生成しテストするように動作する。この一実施例ではワードのメモリデータは幅が４バイト、又は32ビット、であると考える。例えば、メモリ制御装置22、メモリユニット24、SB20、FIFO18及びキャッシュ14は、ダブルワード（64ビット）やカッドワード（128ビット）のような多重のワードのデータを同時に送り、読み取り及び／又は書き込みするために動作可能である。
１つのワードよりも短い書き込み動作については、FIFO18に記憶されたデータはキャッシュ書き込みヒットの結果を反映し、そこでは読み取り／変更／書き込み形式のアクセスは１つのバイト又はハーフワードとキャッシュワードとをマージするようにプロセッサ12によって行われる。また、あるCONT12ラインは、ワード書き込みとして書き込みが成されたことをメモリ制御装置22に示し、それによって読み取り／変更／書き込みのメモリ制御装置サイクルを達成するのに要求される付加的な時間を除去する。しかしながら、例えば、ワードのデータが一時的にFIFO18にバッファされる時間の間隔の間にCPUnがメモリ24に書き込むとき、前記の問題が起こる。この場合、メインメモリのワード、即ちFIFO18書き込みのターゲット、はCPUnによってちょうど変えられたところかもしれない。もしFIFO18書き込みがワード書き込みとして処理されることが許されたら、新しいデータはキャッシュ14からの古いデータによって重ね書きされてしまうであろう。CPUn又は他のバス作用物によってメモリ24になされた書き込みをCPU1内で検出し、そしてCONT12cメモリコマンドラインがワード書き込みの代わりにバイト書き込み又はハーフワード書き込み動作を示すように変えることによって、この問題は避けられることを説明する。このことによって、メモリ制御装置22は書き込まれたバイト又はハーフワードのデータにのみ動作し、そしてバイト又はハーフワードとメインメモリからのワードとをマージするように従来の読み取り／変更／書き込み形式のサイクルを行うようにする。バイト又はハーフワードはアドレスの最下位側ビットによって識別され、それもはたFIFO18によってバッファされる。
本発明に従うと、CPU10の各々はメモリ24へのそのような外部の書き込み発生を検出する回路、及びそのような外部の書き込みが起こった後のメモリ24へのフルワードのデータの書き込みをFIFO18がしないようにする回路が与えられる。
図２を参照すると、FIFO18が詳細に示されている。単一のデバイスとして示されているが、FIFO18は32データライン12a、関連する32ビットアドレスライン12b、及び関連する制御ライン12cをバッファするために典型的には複数の個別のFIFOデバイスを備えていることに留意されたい。例によると、制御ラインはデータ及びアドレスに関連するメモリアクセスの形式を識別する。即ち、制御ラインはプロセッサ12がFIFO18に記憶された関連するワードのデータにバイト書き込み、ハーフワード書き込み、又はワード書き込みを行ったかどうかを示す。バス18aはFIFO18の出力からの、バッファされたデータ（BDATA）、バッファされたアドレス（BADDR）、及びバッファされた制御ライン（BCONT）を含む。複数のシステムバス20ドライバはFIFO18の出力18aと関連している。図２ではBCONTラインの一部分と関連しているそれらドライバ26のみが示されている。バッファ26c乃至26fはSB20に４ビットメモリ制御信号（MC0＊乃至MC3＊）を与え、信号名に続く星印は、従来の様式で論理零又は以下のときに信号はアサートされる（asserted）ことを示す。MCn＊制御ビットは以下の様式でメモリアクセスの形式をメモリ制御装置22に識別するようにコード化される。
MC0＊ MC1＊ MC2＊ MC3＊
０      ０      ０      ０      ワード書き込み
０      ０      １      ０      ハーフワード書き込み
０      ０      １      １      バイト書き込み
NANDバッファ26cから26fは、制御システムアクセスイネーブル（SAEN）信号がCPU10の回路（示さず）にアサートされたときに、それらの関連するメモリ制御ビットをSB20に駆動するようにイネーブル（使用可能）にされる。SAENのアサートはCPU10からSB20へのデータの駆動をイネーブル（enable）にする。
２個の更なるNANDバッファ26a及び26bがバッファ26c及び26dに関連していて、それらの出力はそれぞれバッファ26cと26dの出力にワイヤ−オアド（wire−ored）されている。好ましくはバッファ26はオープン制御装置形式のデバイスであり、そこではそのようなワイヤ−オアド接続は容易になされている。
バッファ26a及び26bの目的は、制御信号表示をMC2＊及びMC3＊が両方低のワード書き込み表示にするよう、バイト書き込み又はハーフワード書き込み制御信号表示、MC2＊及びMC3＊高又はMC2＊高及びMC3＊低を、それぞれ、通常無効にすることである。バッファ26a及び26bの各々は入力信号としてゲート28の出力を有し、ゲート28は入力信号として”強制ワード書き込み（force word write）”（FWW）信号を有する。FWWはバッファされた制御ラインのひとつであってFIFO18から出力されており、FWWはプロセッサ12書き込みがキャッシュをヒットするときにアサートされるキャッシュ書き込みヒット（CACHE  WRITE  HIT）信号の結果として高とアサートされる。CACHE  WRITE  HIT信号の状態はプロセッサ12によってキャッシュ14に及びFIFO18に書き込まれる関連するワードのデータとともにFIFO18内に記憶される。通常デアサート（deasserted）のUNFWW＊信号（後に説明される）と関連して、FWW信号はアサートされたとき、メモリ制御装置22にワード書き込みコマンドを強制する。これによってメモリ制御装置22がワードのデータを書き込むようにし、それによってメモリ24にバイト又はハーフワードのデータを書き込むときに用いられる通常要求される読み取り／変更／書き込み形式のアクセスを除去する。
しかしながら、データが一時的にFIFO18にバッファされる間にメモリの外部書き込みが起こるそれらの状況に対して、強制ワード書き込みは望ましくなく、FIFO18のデータはメモリ24内の新しく書き込まれたデータに重ね書きするかもしれない。そのような状況の発生を避けるために、CPU10は、そのような外部書き込みの検出、及びそのアクセスのワード書き込み形式をアクセスのバイト書き込み又はハーフワード書き込み形式に戻すように変換をする付加された回路を更に含む。
更に本発明に従うと、CPU10は、SB20に結合された他の作物用がメモリ24に書き込みを行うときに検出するための、コンパレータ29のような、回路を含む。この他のバス作用物は、例によると、マルチCPUシステムの他のCPUであり得、またディスク又は通信ポートのようなI/Oデバイスからメモリ24のデータを書き込むために使用可能なI/Oインターフェース回路であり得る。他の作用物による書き込みアクセスの発生はキャッシュ14の問い合わせ（interrogation）及び、もし必要なら、キャッシュ14の無効（invalidation）が結果となる。これらの機能を行う回路（示さず）は公知である。更にSB20を通じてのそのような書き込みアクセスの発生はコンパレータ29によって検出され、”システム外部書き込み保留（system external write pending）”（SXWP）信号を生成する。この信号はJKフリップ／フロップ（F/F）30への入力であり、この信号のアサートはF/F30が次のクロック（CLK）入力のエッジにセットするように影響する。F/F30のＱ出力は”外部書き込み保留”（XWP）と表示された信号であり、アサートされたときに、それは外部で生成された書き込みがSB20に起こったことを示す。SXWP信号の生成に続いて、CLKの他のエッジにF/F30をリセットするようにCPU10によって”外部書き込み保留クリア（clear external write pending）”（CLRXWP）信号が生成される。CLRXWPは、メモリ24の外部生成書き込みアクセスに応答してキャッシュ14問い合わせが及び、もし要求されるならば、キャッシュ14無効が起こったことを示すように生成される。
F/F30からのXWP信号出力は、FIFO18からのMEPTY＊フラグと関連してANDゲート34に与えられる。FIFO18が空のとき、即ちFIFO18がバッファされた書き込みを含んでいないとき、EMPTY＊信号は低でありANDゲート34からの低を強制する。FIFO18が１個又はそれ以上のバッファされた書き込みを含むときEMPTY＊信号はデアサート又は高である。XWPが高、XWPはメモリ24への外部システムバス書き込みの発生を示す、であるのに関連してEMPTY＊が高であると、ANDゲート34は高の出力を有するようになる。ANDゲート34からの高の出力はJK  F/F36のＪ入力に加えられ、CLKのエッジと関連して、Ｑ＊出力が低に行くようにする。F/F36のＱ＊出力は”強制ワード書き込みアンドゥし（undo forced word write）”（UNFWW＊）で表された信号である。外部システムバス書き込みが検出されキャッシュ問い合わせが保留され（XWPは高）そしてFIFO18が少なくとも１個のバッファされた書き込みを含んでいる（EMPTY＊は高）ときのみ、UNFWW＊信号は低にアサートされる。UNFWW＊がアサートされ、即ち低であることがANDゲート28の出力を低にし、更にNANDゲート26a及び26bの出力を高にするようにする。これがFWWのアサートにより強制されたワード書き込みを無効にし、バッファされたメモリ制御信号（BMC2とBMC3）の状態が、それぞれメモリ制御ラインドライバ26dと26cの出力で反映されるようにする。言い換えると、もしプロセッサ12がFIFO18内でのワードのデータの生成においてバイト書き込み又はハーフワード書き込みを達成したら、MC0＊乃至MC3＊ラインはメモリ制御装置22にそれを表示する。バイト書き込み又はハーフワード書き込みメモリ制御信号の発生は、アドレスバスと関連して、メモリ24のアドレスされたワードへの読み取り／変更／書き込みサイクルとしてメモリ制御装置22によって解釈される。アドレスバスの最下位側ビットによって識別されるバイト又はハーフワードが、メインメモリから読まれるデータワードとマージされ、ECCシンドロームビットが生成され、ワードがメモリに戻して書き込まれる。この様式では他のバス作用物によって最近変えられたかもしれないワード内のいずれの他のデータもFIFO18内のフルワードのデータによって重ね書きされない。
もしUNFWW＊がアサートされなれれば、FWWがアサートされている間はANDゲート28の出力は高である。この高は、SAENがアサートされているのと関連し、オープンコレクタバッファ26aと26bの出力の両方が低であるようにする。これらの出力の各々に結合されたワイヤ−オアドノードは従って論理低に強制され、そしてメモリ制御信号がメモリ制御装置22へのワード書き込み（MC0＊乃至MC3＊すべて低）として現れる結果となる。
もしプロセッサ12がキャッシュ書き込みヒットの結果となるワード書き込みを行ったら、UNFWW＊のアサートはMC2＊及びMC3＊ラインの状態を変えず、そこではBMC2及びBMC3はプロセッサ12の動作によって両方とも高にされる。
本発明の現在好ましい実施例では、SXWP信号はSB20で検出されるいずれの書き込みアクセスについても生成される。しかしながら、例えば、キャッシュ14内に含まれているページと同じメモリ24のページへの書き込みの発生のときにのみSXWP信号を生成するために書き込みの発生に関連してシステムアドレスバスを復号するように、更なるロジックが用いられうることが理解されるであろう。その上、SB20アドレスバスの更なる復号をもって、SXWP信号は、検出されたシステムバス書き込みがアドレス、即ち現在FIFO18内あるアドレスと同じアドレス、に発生するときのみ生成される。復号化プロセスの細分性の度合は特定の応用及びこの機能のために費やされるロジックの量の関数である。
本発明は32ビットワード、32ビットアドレスバス、及び前記で説明された他の容貌として表されたデータの単位を有するデータ処理システムに関して説明された。しかしながら、本発明の教示は前記で開示されたものから変化する特徴を有する多種のデータ処理システムに応用できることが理解されるであろう。
従って、本発明は、特に、現在好ましい実施例に関して示され説明されたが、形式及び詳細の変更は本発明の範囲と精神から離れることなく成されることは、当業者には理解されるであろう。
【図１】
0003637054.tif 000002
【図２】
0003637054.tif 000003