(57)【特許請求の範囲】
【請求項１】
第１保安属性を有する第１マスタ装置と、
第２保安属性を有する第２マスタ装置と、
マスタサイドフィルタと、
前記第１マスタ装置から伝送された制御信号に応答して前記第２保安属性を決定し、専用伝送ラインを使って前記第２保安属性を前記マスタサイドフィルタに伝送するコントローラと、
前記第１マスタ装置、前記第２マスタ装置、及び前記マスタサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を備え、
前記第１マスタ装置は、前記第１保安属性を示す保安属性指示子と第１スヌープアドレスとを含むスヌープ要請を伝送し、
前記マスタサイドフィルタは、
前記キャッシュコヒーレントインターコネクトを通じて前記第１マスタ装置から前記スヌープ要請を受信し、前記第２保安属性と前記スヌープ要請によって指示される前記第１保安属性とを比較し、
前記第１保安属性と前記第２保安属性とが互いに異なる時、前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定し、
前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１スヌープアドレスを前記第２マスタ装置に伝送することを決定してスヌープ動作を実行するアプリケーションプロセッサ。
【請求項２】
前記第１保安属性は、前記第１マスタ装置に対する保安モード又は非保安モードを指示し、
前記第２保安属性は、前記第２マスタ装置に対する前記保安モード又は前記非保安モードを指示する請求項１に記載のアプリケーションプロセッサ。
【請求項３】
前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定した場合、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて第１キャッシュミスを前記第１マスタ装置に伝送する請求項２に記載のアプリケーションプロセッサ。
【請求項４】
前記第２マスタ装置は、
少なくとも１つのアドレスと前記少なくとも１つのアドレスに該当する各データを保存するキャッシュと、
前記少なくとも１つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第１スヌープアドレスとを比較し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスにマッチするマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスにマッチするマッチングアドレスが存在しない時、第２キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、を含む請求項３に記載のアプリケーションプロセッサ。
【請求項５】
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第１キャッシュミス、前記データ、又は前記第２キャッシュミスのうちの何れか１つを前記第１マスタ装置に伝送する請求項４に記載のアプリケーションプロセッサ。
【請求項６】
前記マスタサイドフィルタは、
少なくとも１つのアドレスを保存するメモリ装置と、
前記メモリ装置に連結され、前記第１保安属性と前記第２保安属性とを比較し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む請求項１に記載のアプリケーションプロセッサ。
【請求項７】
前記第１保安属性と前記第２保安属性とが一致し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのうちのマッチングアドレスとが一致する時、前記決定ロジック回路は、前記第１スヌープアドレスを前記第２マスタ装置に伝送し、
前記第１保安属性と前記第２保安属性とが一致しないか、又は前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとが互いに異なる時、前記決定ロジック回路は、キャッシュミスを、前記キャッシュコヒーレントインターコネクトを通じて前記第１マスタ装置に伝送する請求項６に記載のアプリケーションプロセッサ。
【請求項８】
前記メモリ装置は、各メモリ領域に対する保安属性を更に保存し、
前記決定ロジック回路は、前記第１保安属性が前記第２保安属性と同一であるか否かと、前記第１スヌープアドレスによって指示されたメモリ領域の第１アドレス属性が前記少なくとも１つのアドレスのうちのマッチングアドレスによって指示されたメモリ領域の第２アドレス属性と同一であるか否かと、を判断し、
前記決定ロジック回路は、前記第１保安属性と前記第２保安属性とが一致し、且つ前記第１アドレスの属性と前記第２アドレスの属性とが一致する時、前記第１スヌープアドレスを前記第２マスタ装置に伝送する請求項６に記載のアプリケーションプロセッサ。
【請求項９】
前記第１マスタ装置は、前記第２マスタ装置が前記保安モードから脱出して前記非保安モードに進入する時、前記第２マスタ装置が前記保安モードで動作する間に前記第２マスタ装置のキャッシュに保存されたあらゆるデータを削除する請求項２に記載のアプリケーションプロセッサ。
【請求項１０】
前記アプリケーションプロセッサは、前記キャッシュコヒーレントインターコネクトに連結され、前記第１マスタ装置から受信されたメモリアクセス要請に応答してメインメモリ装置にアクセスするスレーブサイドフィルタを更に含み、
前記スレーブサイドフィルタは、前記マスタサイドフィルタによって実行される前記スヌープ動作を行わない請求項１に記載のアプリケーションプロセッサ。
【請求項１１】
前記第１マスタ装置は、ＣＰＵであり、
前記第２マスタ装置は、ＧＰＵ、ＧＰＧＰＵ、又はＤＳＰである請求項１に記載のアプリケーションプロセッサ。
【請求項１２】
コントローラと、
前記コントローラの外部に配され、前記コントローラに連結されたメインメモリ装置と、を備え、
前記コントローラは、
第１保安属性を有する第１マスタ装置と、
第２保安属性を有する第２マスタ装置と、
マスタサイドフィルタと、
スレーブサイドフィルタと、
前記第１マスタ装置から伝送された制御信号に応答して前記第２保安属性を決定し、専用伝送ラインを使って前記第２保安属性を前記マスタサイドフィルタに伝送する第２コントローラと、
前記第１マスタ装置、前記第２マスタ装置、前記マスタサイドフィルタ、及び前記スレーブサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を含み、
前記第１マスタ装置は、前記第１保安属性を示す保安属性指示子と第１スヌープアドレスとを含むスヌープ要請を伝送し、
前記マスタサイドフィルタは、
前記キャッシュコヒーレントインターコネクトと前記第２マスタ装置との間に連結され、
前記キャッシュコヒーレントインターコネクトを通じて前記第１マスタ装置から前記スヌープ要請を受信し、前記第２保安属性と前記スヌープ要請によって指示される前記第１保安属性とを比較し、
前記第１保安属性と前記第２保安属性とが互いに異なる時、前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定し、
前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１スヌープアドレスを前記第２マスタ装置に伝送することを決定してスヌープ動作を実行し、
前記スレーブサイドフィルタは、前記キャッシュコヒーレントインターコネクトと前記メインメモリ装置との間に連結され、前記キャッシュコヒーレントインターコネクトを通じて前記第１マスタ装置から受信されたメモリアクセス要請に応答して前記メインメモリ装置に対するメモリアクセス動作を直接行うデータ処理システム。
【請求項１３】
前記第１保安属性は、前記第１マスタ装置に対する保安モード又は非保安モードを指示し、
前記第２保安属性は、前記第２マスタ装置に対する前記保安モード又は前記非保安モードを指示し、
前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定した場合、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて第１キャッシュミスを前記第１マスタ装置に伝送する請求項１２に記載のデータ処理システム。
【請求項１４】
前記第２マスタ装置は、
少なくとも１つのアドレスと前記少なくとも１つのアドレスに該当する各データを保存するキャッシュと、
前記少なくとも１つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第１スヌープアドレスとを比較し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスにマッチするマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスにマッチするマッチングアドレスが存在しない時、第２キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、を含む請求項１３に記載のデータ処理システム。
【請求項１５】
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第１キャッシュミス、前記データ、又は前記第２キャッシュミスのうちの何れか１つを前記第１マスタ装置に伝送する請求項１４に記載のデータ処理システム。
【請求項１６】
前記マスタサイドフィルタは、
少なくとも１つのアドレスを保存するメモリ装置と、
前記メモリ装置に連結され、前記第１保安属性と前記第２保安属性とを比較し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む請求項１２に記載のデータ処理システム。
【請求項１７】
キャッシュコヒーレントインターコネクトと、
前記キャッシュコヒーレントインターコネクトに連結され、第１保安属性を有する第１マスタ装置と、
第２保安属性を有する第２マスタ装置と、
前記キャッシュコヒーレントインターコネクトと前記第２マスタ装置との間に連結され、前記第１マスタ装置から伝送されたスヌープ要請に応答してスヌープ動作を行うマスタサイドフィルタと、
前記キャッシュコヒーレントインターコネクトと外部メモリ装置との間に連結され、前記第１マスタ装置から出力されたメモリアクセス要請に応答して前記外部メモリ装置に対するメモリアクセス動作を行うスレーブサイドフィルタと、
前記第１マスタ装置から伝送された制御信号に応答して前記第２保安属性を決定し、専用伝送ラインを使って前記第２保安属性を前記マスタサイドフィルタに伝送するコントローラと、を備えるキャッシュコヒーレントシステム。
【請求項１８】
前記マスタサイドフィルタは、
前記スヌープ要請を、前記キャッシュコヒーレントインターコネクトを通じて受信し、前記第２マスタ装置の第２保安属性と前記スヌープ要請に含まれる前記第１マスタ装置の第１保安属性とを比較し、
前記第１保安属性と前記第２保安属性とが互いに異なる時、前記スヌープ要請に含まれる第１アドレスを前記第２マスタ装置に伝送せず、キャッシュミスを前記キャッシュコヒーレントインターコネクトに伝送し、
前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１アドレスを前記第２マスタ装置に伝送する請求項１７に記載のキャッシュコヒーレントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、キャッシュコヒーレントシステム（ｃａｃｈｅ  ｃｏｈｅｒｅｎｔ  ｓｙｓｔｅｍ）に係り、特に、保安チェックを行うマスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システムとに関する。
【背景技術】
【０００２】
コンピュータ科学において、キャッシュコヒーレンシ（ｃａｃｈｅ  ｃｏｈｅｒｅｎｃｙ）とは、共有メモリシステムでクライアント（または、プロセッサ）のそれぞれに含まれたローカルキャッシュ間のコヒーレンシを意味する。クライアントのそれぞれが自身のみのローカルキャッシュを含み、クライアントがメモリを共有している時、クライアントの何れか１つのキャッシュがアップデートされる時、キャッシュコヒーレンシの問題が発生する。
キャッシュコヒーレンシの問題が発生すれば、共有メモリシステムは、キャッシュコヒーレンシのための動作を行うので、共有メモリシステムが共有メモリにデータを書込む時、書込み動作のレイテンシが増加する。
【０００３】
キャッシュコヒーレントインターフェース、このキャッシュコヒーレントインターフェースに連結されたＣＰＵ、及びこのキャッシュコヒーレントインターフェースに連結されたＧＰＵを含む従来のシステムで、非保安モードで動作するＣＰＵがスヌープ要請をＧＰＵに出力し、このＧＰＵのキャッシュでキャッシュヒットが発生すれば、キャッシュに保存されたキャッシュライン（すなわち、ラインデータ）は、システムに連結された外部メモリ装置にライトバック（ｗｒｉｔｅ−ｂａｃｋ）される。このライトバックが完了した後、ＣＰＵは、外部メモリ装置にライトバックされたキャッシュラインを読出しするための命令を外部メモリ装置を制御するコントローラに伝送する。したがって、ライトバックに関連したライトバックトラフィックと外部メモリ装置に保存された前記キャッシュラインの読み取りに関連したメモリ読出し要請トラフィックとが増加する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１１／０１５３９４４号明細書
【特許文献２】米国特許第８９３０６３８号明細書
【特許文献３】米国特許第７６５０４７９号明細書
【特許文献４】米国特許第６８６２６６９号明細書
【特許文献５】米国特許第８６７７０７３号明細書
【特許文献６】米国特許第８８１２８０４号明細書
【特許文献７】米国特許出願公開第２０１４／０１１５２７９号明細書
【特許文献８】米国特許第６８４２８２８号明細書
【特許文献９】米国特許第５６８０５７７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、キャッシュ効率を高めるために、キャッシュコヒーレントインターコネクトに連結されたマスタの間でスヌープ要請を行う場合、保安チェックのために発生する付加的なライトバックトラフィックとメモリ読出し要請トラフィックとを除去するために、スヌープ要請に対して従来のスレーブサイドフィルタを代替して、保安チェックを行うマスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システムとを提供するところにある。
【課題を解決するための手段】
【０００６】
本発明の実施形態によるアプリケーションプロセッサは、第１保安属性を有する第１マスタ装置と、第２保安属性を有する第２マスタ装置と、マスタサイドフィルタと、前記第１マスタ装置、前記第２マスタ装置、及び前記マスタサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を含み、前記第１マスタ装置は、前記第１保安属性を示す保安属性指示子と第１スヌープアドレスとを含むスヌープ要請を通信し、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第１マスタ装置から前記スヌープ要請を受信し、前記第２保安属性と前記スヌープ要請によって指示される前記第１保安属性とを比較し、前記第１保安属性と前記第２保安属性とが互いに異なる時、前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定し、前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１スヌープアドレスを前記第２マスタ装置に伝送することを決定して、スヌープ動作を実行する。前記第１保安属性は、前記第１マスタ装置に対する保安モードまたは非保安モードを指示し、前記第２保安属性は、前記第２マスタ装置に対する前記保安モードまたは前記非保安モードを指示する。
【０００７】
前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定すれば、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、第１キャッシュミスを前記第１マスタ装置に伝送する。
前記第２マスタ装置は、少なくとも１つのアドレスと前記少なくとも１つのアドレスに該当する各データを保存するキャッシュと、前記少なくとも１つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第１スヌープアドレスとを比較し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスとマッチされるマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスとマッチされるマッチングアドレスが存在しない時、第２キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、を含む。
【０００８】
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第１キャッシュミス、前記データ、または前記第２キャッシュミスのうちの何れか１つを前記第１マスタ装置に伝送する。
前記アプリケーションプロセッサは、前記第１マスタ装置から伝送された制御信号に応答して、前記第２保安属性を決定するコントローラをさらに含み、前記コントローラは、専用伝送ラインを使って前記第２保安属性を前記マスタサイドフィルタに伝送する。
前記マスタサイドフィルタは、少なくとも１つのアドレスを保存するメモリ装置と、前記メモリ装置に連結され、前記第１保安属性と前記第２保安属性とを比較し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む。
【０００９】
前記第１保安属性と前記第２保安属性とが一致し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのうちからマッチングアドレスとが一致する時、前記決定ロジック回路は、前記第１スヌープアドレスを前記第２マスタ装置に伝送し、前記第１保安属性と前記第２保安属性とが一致しないか、前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとが互いに異なる時、前記決定ロジック回路は、キャッシュミスを、前記キャッシュコヒーレントインターコネクトを通じて、前記第１マスタ装置に伝送する。
【００１０】
前記メモリ装置は、各メモリ領域に対する保安属性をさらに保存し、前記決定ロジック回路は、前記第１保安属性が前記第２保安属性と同一であるか否かと、前記第１スヌープアドレスによって指示されたメモリ領域の第１アドレス属性が、前記少なくとも１つのアドレスのうちからマッチングアドレスによって指示されたメモリ領域の第２アドレス属性と同一であるか否かと、を判断し、前記決定ロジック回路は、前記第１保安属性と前記第２保安属性とが一致し、前記第１アドレスの属性と前記第２アドレスの属性とが一致する時、前記第１スヌープアドレスを前記第２マスタ装置に伝送する。
前記第１マスタ装置は、前記第２マスタ装置が前記保安モードから脱出し、前記非保安モードに進入する時、前記第２マスタ装置が前記保安モードで動作する間に、前記第２マスタ装置のキャッシュに保存されたあらゆるデータを削除する。
【００１１】
前記アプリケーションプロセッサは、前記キャッシュコヒーレントインターコネクトに連結され、前記第１マスタ装置から受信されたメモリアクセス要請に応答して、メインメモリ装置をアクセスするスレーブサイドフィルタをさらに含み、前記スレーブサイドフィルタは、前記マスタサイドフィルタによって実行される前記スヌープ動作を行わない。
前記第１マスタ装置は、ＣＰＵであり、前記第２マスタ装置は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ  Ｃｏｍｐｕｔｉｎｇ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ）、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。
【００１２】
本発明の実施形態によるデータ処理システムは、コントローラと、前記コントローラの外部に配され、前記コントローラに連結されたメインメモリ装置と、を含む。前記コントローラは、第１保安属性を有する第１マスタ装置と、第２保安属性を有する第２マスタ装置と、マスタサイドフィルタと、スレーブサイドフィルタと、前記第１マスタ装置、前記第２マスタ装置、前記マスタサイドフィルタ、及び前記スレーブサイドフィルタに接続されたキャッシュコヒーレントインターコネクトと、を含み、前記第１マスタ装置は、前記第１保安属性を示す保安属性指示子と第１スヌープアドレスとを含むスヌープ要請を通信し、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトと前記第２マスタ装置との間に連結され、前記キャッシュコヒーレントインターコネクトを通じて、前記第１マスタ装置から前記スヌープ要請を受信し、前記第２保安属性と前記スヌープ要請によって指示される前記第１保安属性とを比較し、前記第１保安属性と前記第２保安属性とが互いに異なる時、前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定し、前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１スヌープアドレスを前記第２マスタ装置に伝送することを決定して、スヌープ動作を実行し、前記スレーブサイドフィルタは、前記キャッシュコヒーレントインターコネクトと前記メインメモリ装置との間に連結され、前記キャッシュコヒーレントインターコネクトを通じて、前記第１マスタ装置から受信されたメモリアクセス要請に応答して、前記メインメモリ装置に対するメモリアクセス動作を直接行う。
【００１３】
前記第１保安属性は、前記第１マスタ装置に対する保安モードまたは非保安モードを指示し、前記第２保安属性は、前記第２マスタ装置に対する前記保安モードまたは前記非保安モードを指示し、前記第１スヌープアドレスを前記第２マスタ装置に伝送しないことを決定すれば、前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、第１キャッシュミスを前記第１マスタ装置に伝送する。
【００１４】
前記第２マスタ装置は、少なくとも１つのアドレスと前記少なくとも１つのアドレスに該当する各データを保存するキャッシュと、前記少なくとも１つのアドレスのそれぞれと前記マスタサイドフィルタから伝送された前記第１スヌープアドレスとを比較し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスとマッチされるマッチングアドレスに該当するデータを前記マスタサイドフィルタに伝送し、前記少なくとも１つのアドレスのうちから前記第１スヌープアドレスとマッチされるマッチングアドレスが存在しない時、第２キャッシュミスを前記マスタサイドフィルタに伝送するキャッシュコントローラと、を含む。
【００１５】
前記マスタサイドフィルタは、前記キャッシュコヒーレントインターコネクトを通じて、前記第１キャッシュミス、前記データ、または前記第２キャッシュミスのうちの何れか１つを前記第１マスタ装置に伝送する。
前記データ処理システムは、前記第１マスタ装置から伝送された制御信号に応答して、前記第２保安属性を決定するコントローラをさらに含み、前記コントローラは、専用伝送ラインを使って前記第２保安属性を前記マスタサイドフィルタに伝送する。
前記マスタサイドフィルタは、少なくとも１つのアドレスを保存するメモリ装置と、前記メモリ装置に連結され、前記第１保安属性と前記第２保安属性とを比較し、前記第１スヌープアドレスと前記少なくとも１つのアドレスのそれぞれとを比較する決定ロジック回路と、を含む。
【００１６】
本発明の実施形態によるキャッシュコヒーレントシステムは、キャッシュコヒーレントインターコネクトと、前記キャッシュコヒーレントインターコネクトに連結された第１マスタ装置と、第２マスタ装置と、前記キャッシュコヒーレントインターコネクトと前記第２マスタ装置との間に連結され、前記第１マスタ装置から伝送されたスヌープ要請に応答して、スヌープ動作を行うマスタサイドフィルタと、前記キャッシュコヒーレントインターコネクトと外部メモリ装置との間に連結され、前記第１マスタ装置から出力されたメモリアクセス要請に応答して、前記外部メモリ装置に対するメモリアクセス動作を行うスレーブサイドフィルタと、を含む。
【００１７】
前記マスタサイドフィルタは、前記スヌープ要請を、前記キャッシュコヒーレントインターコネクトを通じて受信し、前記第２マスタ装置の第２保安属性と前記スヌープ要請に含まれた前記第１マスタ装置の第１保安属性とを比較し、前記第１保安属性と前記第２保安属性とが互いに異なる時、前記スヌープ要請に含まれた第１アドレスを前記第２マスタ装置に伝送せず、キャッシュミスを前記キャッシュコヒーレントインターコネクトに伝送し、前記第１保安属性と前記第２保安属性とが互いに同じである時、前記第１アドレスを前記第２マスタ装置に伝送する。
【発明の効果】
【００１８】
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、保安モードと非保安モードとを支援するデータ処理システムでスヌープ動作時に、保安検索のためのライトバックトラフィックとメモリ読出し要請トラフィックとを除去することができる。マスタサイドフィルタは、フルキャッシュコヒーレンシ（ｆｕｌｌ  ｃａｃｈｅ  ｃｏｈｅｒｅｎｃｙ）を管理することができる。
【００１９】
本発明の実施形態によるアプリケーションプロセッサまたはキャッシュコヒーレントシステムが、キャッシュコヒーレントネットワーク内で内部キャッシュを含むマスタ装置を含む時、アプリケーションプロセッサまたはキャッシュコヒーレントシステムのオーバーヘッドを減らすか、除去することができる。
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、キャッシュ−コヒーレントインターコネクトのためにハードウェアを変更しなくても良い。
【００２０】
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、非保安考慮（ｎｏｎ−ｓｅｃｕｒｉｔｙ  ａｗａｒｅｎｅｓｓ  ｏｒ  ｎｏｎ  ｔｒｕｓｔｚｏｎｅ  ａｗａｒｅｎｅｓｓ）を有するマスタ装置のためにハードウェアを変更しなくても良い。
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、従来のソリューション（ｓｏｌｕｔｉｏｎｓ）と比較する時、キャッシュコヒーレントネットワークのためのタイミングオーバーヘッドを除去することができる。
【００２１】
本発明の実施形態によるマスタサイドフィルタを含むアプリケーションプロセッサまたはキャッシュコヒーレントシステムは、保安モードと非保安モードとの間の変換（または、スイッチング）のためのソフトウェアを実行することができるので、保安決定ロジック回路のための領域オーバーヘッド（ａｒｅａ  ｏｖｅｒｈｅａｄ）を減らすか、最小化することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態によるデータ処理システムのブロック図。
【図２】図１に示された本発明の実施形態によるマスタサイドフィルタと第２マスタ装置のブロック図。
【図３】図１に示されたマスタサイドフィルタと第２マスタ装置の動作を説明するフローチャート。
【図４】図１に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第１テーブル。
【図５】図１の第１マスタから出力されたスヌープ要請に応じたマスタサイドフィルタの動作を説明する図。
【図６】図１に示された本発明の実施形態によるマスタサイドフィルタと第２マスタ装置のブロック図。
【図７】図６に示されたマスタサイドフィルタと第２マスタ装置の動作を説明するフローチャート。
【図８】図６に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第２テーブル。
【図９】図６に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第３テーブル。
【図１０】図１の第１マスタ装置から出力されたスヌープ要請に応じたマスタサイドフィルタの動作を説明する図。
【図１１】図１に示された第２マスタ装置の動作モードと動作モードのそれぞれでのソフトウェア動作を概念的に説明する図。
【図１２】図８に関して説明したような方法を要約するフローチャート。
【図１３】図９に関して説明したような方法を要約するフローチャート。
【発明を実施するための形態】
【００２３】
以下、添付した図面を参照して、本発明を詳しく説明する。
図１は、本発明の実施形態によるデータ処理システムのブロック図である。図１を参照すれば、データ処理システム１００は、コントローラ２００とメインメモリ装置３００とを含みうる。データ処理システム１００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）またはモバイル装置として具現可能である。モバイル装置は、ラップトップ（ｌａｐｔｏｐ）コンピュータ、携帯電話、スマートフォン、タブレットＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＥＤＡ（Ｅｎｔｅｒｐｒｉｓｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルスチル（ｓｔｉｌｌ）カメラ、デジタルビデオ（ｖｉｄｅｏ）カメラ、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＰＮＤ（Ｐｅｒｓｏｎａｌ  Ｎａｖｉｇａｔｉｏｎ  ＤｅｖｉｃｅまたはＰｏｒｔａｂｌｅ  Ｎａｖｉｇａｔｉｏｎ  Ｄｅｖｉｃｅ）、携帯用ゲームコンソール（ｈａｎｄｈｅｌｄ  ｇａｍｅ  ｃｏｎｓｏｌｅ）、モバイルインターネット装置（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅ；ＭＩＤ）、ウェアラブルコンピュータ、モノのインターネット（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ；ＩｏＴ）装置、万物のインターネット（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｅｖｅｒｙｔｈｉｎｇ；ＩｏＥ）装置、ドローン（ｄｒｏｎｅ）、または電子ブック（ｅ−ｂｏｏｋ）として具現可能である。また、データ処理システム１００は、スマートカーまたは自動車システム（ａｕｔｏｍｏｔｉｖｅ  ｓｙｓｔｅｍ）に使われる。
【００２４】
コントローラ２００は、メインメモリ装置３００の動作を制御することができる。コントローラ２００は、キャッシュコヒーレント（ｃａｃｈｅ  ｃｏｈｅｒｅｎｔ）システム、キャッシュコヒーレントネットワーク、またはキャッシュコヒーレントコントローラを多様に意味する。コントローラ２００は、異種のコアクラスタ（ｈｅｔｅｒｏｇｅｎｅｏｕｓ  ｃｏｒｅ  ｃｌｕｓｔｅｒｓ）を含む装置を意味する。例えば、異種のコアクラスタは、キャッシュコヒーレントインターコネクト２１０に連結されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ、ＧＰＧＰＵ、及びＤＳＰを含みうるが、これに限定されるものではない。
【００２５】
また、コントローラ２００は、集積回路（ＩＣ）、システム・オン・チップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ；ＳｏＣ）、プロセッサ、アプリケーションプロセッサ、モバイルアプリケーションプロセッサ、マザーボード（ｍｏｔｈｅｒｂｏａｒｄ）、チップセット（ｃｈｉｐｓｅｔ）、または半導体チップの集合を多様に意味する。例えば、コントローラ２００とメインメモリ装置３００は、パッケージオンパッケージ（Ｐａｃｋａｇｅ−ｏｎ−Ｐａｃｋａｇｅ）製造技術を用いて具現されうる。
【００２６】
コントローラ２００は、キャッシュコヒーレントインターコネクト２１０、第１マスタ装置（または、第１マスタ）２２０、第２コントローラ（または、第１保安属性コントローラ）２３０、第２マスタ装置（または、第２マスタ）２４０、マスタサイドフィルタ２５０、及びスレーブサイドフィルタ２８０を含みうる。実施形態によって、コントローラ２００は、第３コントローラ（または、第２保安属性コントローラ）２６０と第３マスタ装置（または、第３マスタ）２７０とをさらに含みうる。
マスタサイドフィルタ２５０がキャッシュコヒーレントインターコネクト２１０と第２マスタ装置２４０との間に連結され、保安チェック（ｓｅｃｕｒｉｔｙ  ｃｈｅｃｋ）がマスタサイドフィルタ２５０で行われることによって、スヌープ時間（ｓｎｏｏｐ  ｔｉｍｅ）またはスヌープレイテンシ（ｓｎｏｏｐ  ｌａｔｅｎｃｙ）が減少する効果がある。
【００２７】
構成要素２２０、２３０、２５０、２６０、２７０、及び２８０は、キャッシュコヒーレントインターコネクト２１０を通じて信号を送受信することができる。
第１マスタ装置２２０は、第２マスタ装置２４０の動作モードを保安モード（ｓｅｃｕｒｅ  ｍｏｄｅ）または非保安モード（ｎｏｎ−ｓｅｃｕｒｅ  ｍｏｄｅ）に設定または定義するための第１制御信号ＣＴＲ１を、キャッシュコヒーレントインターコネクト２１０を通じて、第２コントローラ２３０に伝送しうる。保安モードは、保安が必要なデータを処理する保安動作モードを意味し、非保安モードは、保安が必要ではないデータを処理する非保安動作モードを意味するが、これに限定されるものではない。
【００２８】
第１マスタ装置２２０は、ＣＰＵとして具現可能である。例えば、第１マスタ装置２２０は、保安考慮（ｓｅｃｕｒｉｔｙ  ａｗａｒｅｎｅｓｓ）能力を有するマスタ装置（例えば、ＣＰＵ）であり得る。
第１マスタ装置２２０は、第１保安属性ＡＴ１とアドレスＡＤＤ、例えば、スヌープアドレスＡＤＤを含む第１スヌープ要請ＳＲＥＱ１を生成することができる。
第１保安属性ＡＴ１は、第１マスタ装置２２０の動作モードが保安モードであるか、または非保安モードであるかを表わす情報（または、データまたは指示子（ｉｎｄｉｃａｔｏｒ））を意味し、アドレスＡＤＤは、第１マスタ装置２２０がアクセスしようとするメインメモリ装置３００のメモリ領域または位置を指示することができる。
【００２９】
第１マスタ装置２２０は、ソフトウェア２２２を実行し、ソフトウェア２２２は、他のマスタ装置２４０及び／または２７０の動作及び／または連動（ｉｎｔｅｒｏｐｅｒａｔｉｏｎ）の制御に使われる。
第２コントローラ２３０は、第１マスタ装置２２０から出力された第１制御信号ＣＴＲ１を用いて、または応答して、第２マスタ装置２４０の動作モードを保安モードまたは非保安モードに設定することができる。第１制御信号ＣＴＲ１は、第２コントローラ２３０に含まれたレジスタ２３５に保存することができる。例えば、レジスタ２３５は、ＳＦＲ（Ｓｐｅｃｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）として具現可能である。
【００３０】
ＳＦＲ２３５に保存された第１制御信号ＣＴＲ１またはＳＦＲ２３５に保存された制御データの一部によって（または、応答して）、第２マスタ装置２４０に関連した保安属性、例えば、第２保安属性ＡＴ２が決定されうる。第２保安属性ＡＴ２は、伝送ラインＴＬを通じてマスタサイドフィルタ２５０に提供されうる。伝送ラインＴＬは、専用（ｄｅｄｉｃａｔｅｄ）伝送ラインであり得る。第２保安属性ＡＴ２は、第２マスタ装置２４０の動作モードが保安モードであるか、または非保安モードであるかを表わす情報（または、データ）であり得る。
【００３１】
第２マスタ装置２４０は、ＳＦＲ２３５に設定された（または、保存された）第２保安属性ＡＴ２に基づいて、第２マスタ装置２４０の動作モードを保安モードまたは非保安モードに設定することができる。第２マスタ装置２４０は、ＧＰＵ、ＧＰＧＰＵ、またはＤＳＰで多様に具現可能であるが、これに限定されるものではなく、その内部にキャッシュ（ｃａｃｈｅ）を有しており、メモリアクセス（ｍｅｍｏｒｙ  ａｃｃｅｓｓ）が可能なマスタをいずれも含みうる。例えば、第２マスタ装置２４０は、非保安考慮（ｎｏｎ−ｓｅｃｕｒｉｔｙ  ａｗａｒｅｎｅｓｓ）を有するマスタ装置または保安考慮のないマスタ装置であり得る。
【００３２】
マスタサイドフィルタ２５０は、キャッシュコヒーレントインターコネクト２１０と第１マスタ装置２２０との間に連結されうる。本発明の実施形態によるマスタサイドフィルタ２５０または２５０−１は、スヌープ動作（ｓｎｏｏｐ  ｏｐｅｒａｔｉｏｎ）またはキャッシュスヌープ動作において、保安検索を行うことができる。マスタサイドフィルタ２５０は、マスタサイド保安フィルタと呼ばれる。
【００３３】
マスタサイドフィルタ２５０がスヌープ動作時に、またはこのスヌープ動作に応答して保安検索を行うことができるので、マスタサイドフィルタ２５０を含むデータ処理システム１００は、あらゆるスヌープヒット（または、あらゆるキャッシュヒット）に対してスレーブサイドフィルタ２８０を用いて行われる保安検索に依存する従来のデータ処理システムと比較して、ライトバックトラフィック（ｗｒｉｔｅ−ｂａｃｋ  ｔｒａｆｆｉｃ）とメモリ読出し要請トラフィック（ｍｅｍｏｒｙ  ｒｅａｄ  ｒｅｑｕｅｓｔ  ｔｒａｆｆｉｃ）とを除去することができる効果がある。
【００３４】
マスタサイドフィルタ２５０は、第１マスタ装置２２０から伝送された第１スヌープ要請ＳＲＥＱ１を、キャッシュコヒーレントインターコネクト２１０を通じて受信し、第２マスタ装置２４０の第２保安属性ＡＴ２と第１スヌープ要請ＳＲＥＱ１に含まれた第１マスタ装置２２０の第１保安属性ＡＴ１とを互いに比較し、該比較の結果によって、第１スヌープ要請ＳＲＥＱ１に含まれたアドレスＡＤＤを第２マスタ装置２４０に伝送するか否かを決定することができる。
【００３５】
例えば、マスタサイドフィルタ２５０は、第１保安属性ＡＴ１と第２保安属性ＡＴ２とが互いに異なる時、第１スヌープ要請ＳＲＥＱ１に含まれたアドレスＡＤＤを第２マスタ装置２４０に伝送せず、キャッシュミスを、キャッシュコヒーレントインターコネクト２１０を通じて、第１マスタ装置２２０に直ちに伝送（または、リターン（ｒｅｔｕｒｎ））することができる。
しかし、マスタサイドフィルタ２５０は、第１保安属性ＡＴ１と第２保安属性ＡＴ２とが互いに同じである時、第１スヌープ要請ＳＲＥＱ１に含まれたアドレスＡＤＤを第２マスタ装置２４０に伝送しうる。
【００３６】
アドレスＡＤＤの受信に応答して第２マスタ装置２４０は、マスタサイドフィルタ２５０から伝送されたアドレスＡＤＤにマッチされるアドレス（マッチングアドレス）が第２マスタ装置２４０の内部キャッシュに存在するか否かを判断し、該判断（または、アドレス判断）の結果によって、キャッシュミスまたはキャッシュヒットを決定し、該決定の結果（例えば、キャッシュミスまたはキャッシュヒット）をマスタサイドフィルタ２５０に伝送しうる。
【００３７】
マスタサイドフィルタ２５０は、スヌープ動作で一次保安検索を行う。しかし、スレーブサイドフィルタ２８０は、当該スヌープ動作で一次保安検索を行わず、メインメモリ装置３００に対するメモリアクセス要請（例えば、データ読出し要請）を処理することができる。例えば、メモリアクセス要請は、マスタサイドフィルタ２５０から伝送されたスヌープ動作の結果、例えば、キャッシュミスに基づいて第１マスタ装置２２０によって発生することがある。
たとえ、図１に示されたデータ処理システム１００がシステム構成（ｓｙｓｔｅｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）と他の目的のために、スレーブサイドフィルタ２８０とメインメモリ装置２００とを含むが、保安考慮スヌープ動作のためには、キャッシュコヒーレントインターコネクト２１０とマスタサイドフィルタ２５０のみが要求される。
【００３８】
第３コントローラ２６０は、第１マスタ装置２２０から出力された第２制御信号ＣＴＲ２を用いて、第３マスタ装置２７０の動作モードを保安モードまたは非保安モードに設定することができる。第２制御信号ＣＴＲ２は、第３コントローラ２６０に含まれたレジスタ２６５に保存することができる。各制御信号ＣＴＲ１、ＣＴＲ２は、フラグ（ｆｌａｇ）または少なくとも１つのビットを有するデジタル信号であり得る。
例えば、レジスタ２６５は、ＳＦＲとして具現可能である。ＳＦＲ２６５に保存された第２制御信号ＣＴＲ２によって第３マスタ装置２７０の第３保安属性ＡＴ３が決定されうる。第３保安属性ＡＴ３は、第３マスタ装置２７０の動作モードが保安モードであるか、または非保安モードであるかを表わす情報（または、データ）であり得る。
【００３９】
第３マスタ装置２７０は、ＳＦＲ２６５に設定された第３保安属性ＡＴ３に基づいて、第３マスタ装置２７０の動作モードを保安モードまたは非保安モードに設定することができる。第３マスタ装置２７０は、ＧＰＵ、ＧＰＧＰＵ、またはＤＳＰとして具現可能であるが、これに限定されるものではない。例えば、第３マスタ装置２７０は、非保安考慮を有するマスタ装置または保安考慮のないマスタ装置であり得る。例えば、第３マスタ装置２７０は、第３保安属性ＡＴ３とアドレスを含む第２スヌープ要請ＳＲＥＱ２を生成することができる。
【００４０】
マスタサイドフィルタ２５０は、第３マスタ装置２７０から伝送された第２スヌープ要請ＳＲＥＱ２を、キャッシュコヒーレントインターコネクト２１０を通じて受信し、第２マスタ装置２４０の第２保安属性ＡＴ２と第２スヌープ要請ＳＲＥＱ２に含まれた第３マスタ装置２７０の第３保安属性ＡＴ３とを互いに比較し、該比較の結果によって、第２スヌープ要請ＳＲＥＱ２に含まれたアドレスを第２マスタ装置２４０に伝送するか否かを決定することができる。
【００４１】
例えば、マスタサイドフィルタ２５０は、第１保安属性ＡＴ１と第３保安属性ＡＴ３とが互いに異なる時、第２スヌープ要請ＳＲＥＱ２に含まれたアドレス（スヌープアドレス）を第２マスタ装置２４０に伝送せず、キャッシュミスを、キャッシュコヒーレントインターコネクト２１０を通じて、第３マスタ装置２７０で直ちに伝送しうる。しかし、マスタサイドフィルタ２５０は、第１保安属性ＡＴ１と第３保安属性ＡＴ３とが互いに同じである時、第２スヌープ要請ＳＲＥＱ２に含まれたアドレスを第２マスタ装置２４０に伝送しうる。
【００４２】
第２マスタ装置２４０は、マスタサイドフィルタ２５０から伝送されたアドレスにマッチされるアドレスが第２マスタ装置２４０の内部キャッシュに存在するか否かを判断し、該判断の結果によって、キャッシュミスまたはキャッシュヒットを決定し、該決定の結果をマスタサイドフィルタ２５０に伝送しうる。
メインメモリ装置３００は、コントローラ２００の動作に必要なファームウエアとユーザデータを保存することができる。例えば、メインメモリ装置３００は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）として具現可能である。
【００４３】
図２は、図１に示された本発明の実施形態によるマスタサイドフィルタと第２マスタ装置のブロック図であり、図３は、図１に示されたマスタサイドフィルタと第２マスタ装置の動作を説明するフローチャートであり、図５は、図１の第１マスタ装置から出力されたスヌープ要請に応じたマスタサイドフィルタの動作を説明する図である。
第２マスタ装置２４０の第２保安属性ＡＴ２は、保安モードを示すと仮定し、第２マスタ装置２４０に含まれたキャッシュ２４４は、各アドレスＡＤＤ１、ＡＤＤ３、ＡＤＤ４、及びＡＤＤ５に該当するデータＤＡＴＡ１、ＤＡＴＡ３、ＤＡＴＡ４、及びＤＡＴＡ５を保存すると仮定する。
【００４４】
図１、図２、図３、及び図５を参照すれば、第１マスタ装置２２０は、第１保安属性ＡＴ１と第１アドレス（ＡＤＤ＝ＡＤＤ１）を含む第１スヌープ要請ＳＲＥＱ１をキャッシュコヒーレントインターコネクト２１０に伝送しうる。
マスタサイドフィルタ２５０は、キャッシュコヒーレントインターコネクト２１０を通じて、第１保安属性ＡＴ１と第１アドレスＡＤＤ１を含む第１スヌープ要請ＳＲＥＱ１を受信することができる（ステップＳ１１０）。
【００４５】
マスタサイドフィルタ２５０は、第１保安属性ＡＴ１と第２保安属性ＡＴ２とを互いに比較することができる（ステップＳ１２０）。第１保安属性ＡＴ１と第２保安属性ＡＴ２とが互いに異なる時（ステップＳ１２０のＮＯ）、マスタサイドフィルタ２５０は、第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０に伝送せず、スヌープミス（ＭＩＳＳ）をキャッシュコヒーレントインターコネクト２１０に伝送しうる（ステップＳ１３０）。スヌープミスは、キャッシュミスを意味する。したがって、キャッシュミスは、キャッシュコヒーレントインターコネクト２１０を通じて第１マスタ装置２２０に伝送することができる。
【００４６】
例えば、図５の場合３（ＣＡＳＥ３）に示したように、第１スヌープ要請ＳＲＥＱ１は、第３指示ビットＮＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ１）とを含む。第３指示ビットＮＳＭＢは、第１マスタ装置２２０の動作モードが非保安モードであることを指示し、第３指示ビットＮＳＭＢは、第１保安属性ＡＴ１を示す。すなわち、第１マスタ装置２２０に対する第１保安属性ＡＴ１は、非保安モードを示す。
【００４７】
第１マスタ装置２２０の第１保安属性ＡＴ１は、非保安モードを示し、第２マスタ装置２４０の第２保安属性ＡＴ２は、保安モードを示すので、マスタサイドフィルタ２５０は、第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０に伝送せず、スヌープミスをキャッシュコヒーレントインターコネクト２１０に伝送しうる（ステップＳ１３０）。
第１保安属性ＡＴ１と第２保安属性ＡＴ２とが互いに同じである時（ステップＳ１２０のＹＥＳ）、マスタサイドフィルタ２５０は、第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０のキャッシュコントローラ２４２に伝送する。したがって、第２マスタ装置２４０のキャッシュコントローラ２４２は、内部キャッシュラインのためのスヌープ動作を行うことができる（ステップＳ１４０）。
【００４８】
例えば、図５の場合１（ＣＡＳＥ１）に示したように、第１スヌープ要請ＳＲＥＱ１は、第１指示ビットＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ１）とを含む。第１指示ビットＳＭＢは、第１マスタ装置２２０の動作モードが保安モードであることを指示し、第１指示ビットＳＭＢは、第１保安属性ＡＴ１を示す。すなわち、第１マスタ装置２２０に対する第１保安属性ＡＴ１は、保安モードを示す。
【００４９】
キャッシュコントローラ２４２は、第１アドレス（ＡＤＤ＝ＡＤＤ１）にマッチするアドレスがキャッシュ２４４に存在するか否かを判断することができる。第１アドレス（ＡＤＤ＝ＡＤＤ１）にマッチするアドレスＡＤＤ１がキャッシュ２４４に存在する時、すなわち、スヌープヒット（または、キャッシュヒット）が発生する時（ステップＳ１５０のＹＥＳ）、キャッシュコントローラ２４２は、キャッシュ２４４に保存され、第１アドレス（ＡＤＤ＝ＡＤＤ１）に該当するデータＤＡＴＡ１をマスタサイドフィルタ２５０に伝送しうる（ステップＳ１６０）。マスタサイドフィルタ２５０は、第１アドレス（ＡＤＤ＝ＡＤＤ１）に該当するデータＤＡＴＡ１をキャッシュコヒーレントインターコネクト２１０に伝送する。マスタサイドフィルタ２５０から伝送されたデータＤＡＴＡ１は、キャッシュコヒーレントインターコネクト２１０を通じて第１マスタ装置２２０に伝送することができる。
例えば、図５の場合２（ＣＡＳＥ２）に示したように、第１スヌープ要請ＳＲＥＱ１は、第２指示ビットＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ２）とを含む。第１マスタ装置２２０に対する第１保安属性ＡＴ１は、保安モードを示す。
【００５０】
キャッシュコントローラ２４２は、第１アドレス（ＡＤＤ＝ＡＤＤ２）にマッチするアドレスがキャッシュ２４４に存在するか否かを判断することができる。第１アドレス（ＡＤＤ＝ＡＤＤ２）にマッチするアドレスＡＤＤ２がキャッシュ２４４に存在しない時、すなわち、キャッシュミス（または、スヌープミス）が発生する時（ステップＳ１５０のＮＯ）、キャッシュコントローラ２４２は、スヌープミスをマスタサイドフィルタ２５０に伝送しうる（ステップＳ１３０）。マスタサイドフィルタ２５０は、スヌープミスをキャッシュコヒーレントインターコネクト２１０に伝送する。マスタサイドフィルタ２５０から伝送されたキャッシュミスは、キャッシュコヒーレントインターコネクト２１０を通じて第１マスタ装置２２０に伝送することができる。
【００５１】
図５の場合２（ＣＡＳＥ２）によってスヌープミスが発生する時、第１マスタ装置２２０は、第１アドレスＡＤＤ２を含むメモリアクセス要請（例えば、データ読出し要請）を生成する。メモリアクセス要請は、キャッシュコヒーレントインターコネクト２１０を通じてスレーブサイドフィルタ２８０に伝送される。スレーブサイドフィルタ２８０は、メモリアクセス要請に対する保安検索を行った後、第１アドレスＡＤＤ２を含むメモリアクセス要請に応答して、第１アドレスＡＤＤ２に該当するメモリ領域に保存されたデータを読出す。読出されたデータは、キャッシュコヒーレントインターコネクト２１０を通じて第１マスタ装置２２０に伝送される。
【００５２】
図４は、図１に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第１テーブルである。図１から図４を参照すれば、テーブル１（ＴＡＢＬＥ１）に示したように、要請者（例えば、２２０または２７０）の動作モードとハンドラ（例えば、２４０）の動作モードとが互いに同一である時、すなわち、保安属性が同一である時、マスタサイドフィルタ２５０は、要請者（例えば、２２０または２７０）から伝送されたスヌープ要請ＳＲＥＱ１またはＳＲＥＱ２に含まれたアドレスをキャッシュコントローラ２４２に伝送しうる。要請者（例えば、２２０または２７０）は、発送者（ｓｅｎｄｅｒ）を意味し、ハンドラ（例えば、２４０）は、受信器（ｒｅｃｅｉｖｅｒ）を意味する。
【００５３】
しかし、要請者（例えば、２２０または２７０）の動作モードとハンドラ（例えば、２４０）の動作モードとが互いに異なる時、すなわち、保安属性が一致しない時、マスタサイドフィルタ２５０は、要請者（例えば、２２０または２７０）から伝送されたスヌープ要請ＳＲＥＱ１またはＳＲＥＱ２に含まれたアドレスをキャッシュコントローラ２４２に伝送せず、スヌープミスを、キャッシュコヒーレントインターコネクト２１０を通じて、要請者（例えば、２２０または２７０）に伝送しうる。
【００５４】
例えば、要請者２２０によって第１スヌープ要請ＳＲＥＱ１が発生すれば、２つの決定がシーケンス（ｓｅｑｕｅｎｃｅ）で行われる。第１に、マスタサイドフィルタ２５０は、第１スヌープ要請ＳＲＥＱ１に対する保安チェック（または、保安属性ＡＴ１、ＡＴ２の比較）を行う（ステップＳ１２０）。第２に、保安チェックの結果、保安イッシュ（ｓｅｃｕｒｉｔｙ  ｉｓｓｕｅ）のない場合（または、保安属性ＡＴ１、ＡＴ２が同一である時；ステップＳ１２０のＹＥＳ）、ハンドラ（例えば、２４０）のキャッシュコントローラ２４２は、キャッシュヒットまたはキャッシュミスをチェックする（ステップＳ１５０）。
【００５５】
図６は、図１に示された本発明の実施形態によるマスタサイドフィルタと第２マスタ装置のブロック図であり、図７は、図６に示されたマスタサイドフィルタと第２マスタから出力されたスヌープ要請に応じたマスタサイドフィルタの動作を説明する図である。
図１、図６、及び図７を参照すれば、マスタサイドフィルタ２５０−１は、決定ロジック回路２５２と保安属性ルックアップ（ｌｏｏｋ−ｕｐ）テーブルを保存するメモリ装置２５４とを含みうる。たとえ、図６では、マスタサイドフィルタ２５０−１がメモリ装置２５４を含む実施形態が示されているが、メモリ装置２５４は、マスタサイドフィルタ２５０−１の外部に具現されうる。実施形態によって、メモリ装置２５４は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）として具現可能である。実施形態によって、メモリ装置２５４は、コントローラ２００の内部のどこにでも具現されうるので、メモリ装置２５４は、第２マスタ装置２４０に含まれることもある。
メモリ装置２５４は、各アドレスＡＤＤ１、ＡＤＤ３、ＡＤＤ４、及びＡＤＤ５に該当するメモリ領域の保安属性ＳＭ、ＮＳＭを保存することができる。本明細書において、メモリ領域は、メインメモリ装置３００の全体、全体の一部、及びライン（または、キャッシュラインに該当するライン）を意味する。
【００５６】
図６に例示的に示したように、各アドレスＡＤＤ１、ＡＤＤ３に該当する各メモリ領域は、保安モードＳＭでアクセス可能なメモリ領域（例えば、保安メモリ領域）であることを表わすことができる。また、各アドレスＡＤＤ４、ＡＤＤ５に該当する各メモリ領域は、非保安モードＮＳＭでアクセス可能なメモリ領域（例えば、非保安メモリ領域）であることを表わすことができる。
第１マスタ装置２２０は、第１保安属性ＡＴ１と第１アドレス（ＡＤＤ＝ＡＤＤ１）を含む第１スヌープ要請ＳＲＥＱ１をキャッシュコヒーレントインターコネクト２１０に伝送しうる。
【００５７】
マスタサイドフィルタ２５０−１の決定ロジック回路２５２は、キャッシュコヒーレントインターコネクト２１０を通じて、第１保安属性ＡＴ１と第１アドレスＡＤＤ１を含む第１スヌープ要請ＳＲＥＱ１を受信することができる（ステップＳ２１０）。
決定ロジック回路２５２は、第１保安属性ＡＴ１と第２保安属性ＡＴ２とを互いに比較し、第１アドレス（ＡＤＤ＝ＡＤＤ１）にマッチされるアドレスがメモリ装置２５４に存在するか否かを判断することができる（ステップＳ２２０）。前記比較と前記判断は、順次または並列に行われる。
【００５８】
第１保安属性ＡＴ１と第２保安属性ＡＴ２とが互いに同一であり、第１アドレス（ＡＤＤ＝ＡＤＤ１）にマッチするアドレスがメモリ装置２５４に存在する時（ステップＳ２２０のＹＥＳ）、決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０に伝送しうる。第２マスタ装置２４０のキャッシュコントローラ２４２は、キャッシュ２４４に保存され、第１アドレス（ＡＤＤ＝ＡＤＤ１）に対応するデータＤＡＴＡ１をマスタサイドフィルタ２５０−１に伝送しうる（ステップＳ２４０）。マスタサイドフィルタ２５０−１の決定ロジック回路２５２は、データＤＡＴＡ１をキャッシュコヒーレントインターコネクト２１０に伝送しうる。マスタサイドフィルタ２５０から伝送されたデータＤＡＴＡ１は、キャッシュコヒーレントインターコネクト２１０を通じて第１マスタ装置２２０に伝送することができる。
【００５９】
場合４（ＣＡＳＥ４）と場合５（ＣＡＳＥ５）とを説明するために、第２マスタ装置２４０の第２保安属性ＡＴ２は、第２マスタ装置２４０の動作モードが保安モードであることを示すと仮定する。
例えば、図１０の場合４（ＣＡＳＥ４）に示したように、第１スヌープ要請ＳＲＥＱ１は、第４指示ビットＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ１）とを含む。第４指示ビットＳＭＢは、第１マスタ装置２２０の動作モードが保安モードであることを指示し、第４指示ビットＳＭＢは、第１保安属性ＡＴ１を示す。したがって、第１アドレス（ＡＤＤ＝ＡＤＤ１）に該当するメモリ領域は、保安モードＳＭでアクセス可能な保安メモリ領域である。
【００６０】
第１マスタ装置２２０の第１保安属性ＡＴ１が保安モードを示し、第２マスタ装置２４０の第２保安属性ＡＴ２は、保安モードを示し、第１アドレス（ＡＤＤ＝ＡＤＤ１）に該当するメモリ領域が保安メモリ領域であり、メモリ装置２５４に保存されたアドレスＡＤＤ１に該当するメモリ領域が保安メモリ領域なので、決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０のキャッシュコントローラ２４２に伝送しうる（ステップＳ２２０のＹＥＳ）。キャッシュコントローラ２４２の動作によってキャッシュヒットまたはスヌープヒットが発生する（ステップＳ２４０）。
【００６１】
例えば、図１０の場合５（ＣＡＳＥ５）に示したように、第１スヌープ要請ＳＲＥＱ１は、第５指示ビットＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ２）とを含む。第５指示ビットＳＭＢは、第１マスタ装置２２０の動作モードが保安モードであることを指示し、第５指示ビットＳＭＢは、第１保安属性ＡＴ１を示す。したがって、第１アドレス（ＡＤＤ＝ＡＤＤ２）に該当するメモリ領域は、非保安動作モードでアクセス可能な非保安メモリ領域である。
【００６２】
保安モードを指示する第１保安属性ＡＴ１と保安モードを指示する第２保安属性ＡＴ２は、互いに一致する。第１マスタ装置２２０の第１保安属性ＡＴ１が保安モードを示すので、第１マスタ装置２２０は、保安メモリ領域をアクセスすることができるアドレスを出力しなければならない。しかし、第１マスタ装置２２０の第１保安属性ＡＴ１が保安モードを示すにも拘らず、第１マスタ装置２２０によってアクセスされる第１アドレス（ＡＤＤ＝ＡＤＤ２）は、非保安メモリ領域を指示する。
したがって、決定ロジック回路２５２は、第１アドレス（ＡＤＤ＝ＡＤＤ１）を第２マスタ装置２４０のキャッシュコントローラ２４２に伝送せず、スヌープミスをキャッシュコヒーレントインターコネクト２１０に直ちに伝送する（ステップＳ２２０のＮＯとステップＳ２３０）。
【００６３】
場合６（ＣＡＳＥ６）と場合７（ＣＡＳＥ７）とを説明するために、第２マスタ装置２４０の第２保安属性ＡＴ２は、非保安モードを示すと仮定する。
例えば、図１０の場合６（ＣＡＳＥ６）に示したように、第１スヌープ要請ＳＲＥＱ１は、第６指示ビットＮＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ２）とを含む。第６指示ビットＮＳＭＢは、第１マスタ装置２２０の動作モードが非保安モードであることを指示し、第６指示ビットＮＳＭＢは、第１保安属性ＡＴ１を示す。
【００６４】
非保安モードを示す第１保安属性ＡＴ１と非保安モードを示す第２保安属性ＡＴ２は、互いに一致する。また、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ２）は、非保安メモリ領域を指示し、メモリ装置２５４に保存されたアドレスＡＤＤ２は、非保安メモリ領域を指示する。したがって、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ２）の属性とメモリ装置２５４に保存されたアドレスＡＤＤ４の属性は、互いに一致する。
【００６５】
決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤ２を第２マスタ装置２４０のキャッシュコントローラ２４２に伝送しうる。キャッシュコントローラ２４２の動作によって、キャッシュヒットまたはスヌープヒットが発生する。
例えば、図１０の場合７（ＣＡＳＥ７）に示したように、第１スヌープ要請ＳＲＥＱ１は、第７指示ビットＮＳＭＢと第１アドレス（ＡＤＤ＝ＡＤＤ１）とを含む。第７指示ビットＮＳＭＢは、第１マスタ装置２２０の動作モードが非保安モードであることを指示し、第７指示ビットＮＳＭＢは、第１保安属性ＡＴ１を示す。
【００６６】
非保安モードを示す第１保安属性ＡＴ１と非保安モードを示す第２保安属性ＡＴ２は、互いに一致する。しかし、第１スヌープ要請ＳＲＥＱ１に含まれた第１保安属性ＡＴ１は、非保安モードを示し、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ１）は、非保安メモリ領域を指示し、メモリ装置２５４に保存されたアドレスＡＤＤ１は、保安メモリ領域を指示する。したがって、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ１）の属性とメモリ装置２５４に保存されたアドレスＡＤＤ２の属性は、互いに一致しない。決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレス（ＡＤＤ＝ＡＤＤ２）を第２マスタ装置２４０のキャッシュコントローラ２４２に伝送せず、スヌープミスをキャッシュコヒーレントインターコネクト２１０に伝送する（ステップＳ２２０のＮＯとステップＳ２３０）。
【００６７】
図８は、図６に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第２テーブルである。図６から図８に示された実施形態を参照すれば、要請者２２０の動作モードとハンドラ２４０の動作モードとが互いに一致し、第１スヌープ要請ＳＲＥＱ１に含まれたアドレスＡＤＤに該当するアドレスがメモリ装置２５４に存在する時、スヌープヒットが発生する。スヌープヒットは、キャッシュコントローラ２４２が決定ロジック回路２５２から出力されたアドレスＡＤＤに該当するデータを決定ロジック回路２５２に伝送することを意味する。
【００６８】
例えば、要請者２２０の動作モードが保安モードＳＭであり、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが保安メモリ領域を指示し、ハンドラ２４０の動作モードが保安モードであり、第１アドレスＡＤＤにマッチされる第２アドレスがメモリ装置２５４に保存され、前記第２アドレスが保安メモリ領域を指示する時、スヌープヒットが発生する。
【００６９】
しかし、要請者２２０の動作モードが保安モードＳＭであり、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが保安メモリ領域を指示し、ハンドラ２４０の動作モードが保安モードであり、第１アドレスＡＤＤにマッチされる第３アドレスがメモリ装置２５４に保存され、第３アドレスが非保安メモリ領域を指示する時、スヌープミスが発生する。スヌープミスが発生する時、決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤの第２マスタ装置２４０への伝送を遮断することができる。すなわち、決定ロジック回路２５２は、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤを第２マスタ装置２４０に伝送しない。
【００７０】
実施形態によって、決定ロジック回路２５２は、要請者２２０の保安属性とハンドラ２４０の保安属性との一致如何を判断するだけではなく、要請者２２０から伝送された第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤにマッチする第２アドレスが、メモリ装置２５４に存在するか否かを判断し、該判断の結果によって、第１アドレスＡＤＤを第２マスタ装置２４０に伝送するか、第１アドレスＡＤＤの第２マスタ装置２４０への伝送を遮断することができる。
【００７１】
この場合、決定ロジック回路２５２は、第１アドレスＡＤＤの属性と第２アドレスの属性との一致如何を考慮しない。すなわち、要請者２２０の保安属性とハンドラ２４０の保安属性とが互いに一致し、要請者２２０から伝送された第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤにマッチする第２アドレスがメモリ装置２５４に存在すれば、決定ロジック回路２５２は、第１アドレスＡＤＤを第２マスタ装置２４０に伝送する。
【００７２】
実施形態によって、決定ロジック回路２５２は、要請者２２０の保安属性とハンドラ２４０の保安属性との一致如何を判断するだけではなく、要請者２２０から伝送された第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤの属性とメモリ装置２５４に保存された第２アドレスの属性との一致如何を判断し、該判断の結果によって、第１アドレスＡＤＤを第２マスタ装置２４０に伝送するか、第１アドレスＡＤＤの第２マスタ装置２４０への伝送を遮断することができる。この場合、決定ロジック回路２５２は、第１アドレスＡＤＤの属性と第２アドレスの属性との一致如何を考慮する。
ここで、アドレスの属性は、アドレスに該当するメモリ領域が保安メモリ領域であるか、または非保安メモリ領域であるかを表わす情報（または、データ）であり得る。
【００７３】
図９は、図６に示されたマスタサイドフィルタと第２マスタ装置の動作を説明する第３テーブルである。図６、図７、及び図９に示された実施形態を参照すれば、第２保安属性ＡＴ２が保安モードを示し、メモリ装置２５４に保存された第２アドレスが保安メモリ領域を指示する時、第１スヌープ要請ＳＲＥＱ１に含まれた第１保安属性ＡＴ１が保安モードを示し、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが保安メモリ領域を指示すれば、スヌープヒットが発生することがある。この際、第１アドレスＡＤＤ１と第２アドレスは、同一であると仮定する。
【００７４】
しかし、第２保安属性ＡＴ２が保安モードを示し、メモリ装置２５４に保存された第２アドレスが保安メモリ領域を指示する時、第１スヌープ要請ＳＲＥＱ１に含まれた第１保安属性ＡＴ１が保安モードを示し、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが非保安メモリ領域を指示すれば、スヌープミスが発生することがある。他の例として、第２保安属性ＡＴ２が非保安モードを示し、メモリ装置２５４に保存された第２アドレスが非保安メモリ領域を指示する時、第１スヌープ要請ＳＲＥＱ１に含まれた第１保安属性ＡＴ１が非保安モードを示し、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが非保安メモリ領域を指示すれば、スヌープヒットが発生することがある。
しかし、第２保安属性ＡＴ２が非保安モードを示し、メモリ装置２５４に保存された第２アドレスが非保安メモリ領域を指示する時、第１スヌープ要請ＳＲＥＱ１に含まれた第１保安属性ＡＴ１が非保安モードを示し、第１スヌープ要請ＳＲＥＱ１に含まれた第１アドレスＡＤＤが保安メモリ領域を指示する時、スヌープミスが発生することがある。
【００７５】
図８に示された実施形態は、要請者２２０とハンドラ２４０のそれぞれの属性とアドレス領域（または、アドレス）の属性とを共に参照する方法を示し、図９に示された実施形態は、要請者２２０の属性とアドレス領域（またはアドレス）の属性とを参照する方法を示す。
図１２は、図８に関して説明したような方法を要約するフローチャートであり、図１３は、図９に関して説明したような方法を要約するフローチャートである。ここで、要請者モードとハンドラモードとの第１決定が行われる（ステップＳ１２００）。そして、ターゲット領域（例えば、キャッシュに保存されたスヌープアドレスまたはマッチングアドレスによって指定されたメモリ領域）の保安属性または非保安属性の第２決定が行われる（ステップＳ１２１０）。そして、２つの決定（ステップＳ１２００とステップＳ１２１０）に基づいて、スヌープヒット／ミス決定が行われる（ステップＳ１２２０）。
【００７６】
すなわち、各要請者と各ハンドラだけではなく、ターゲット領域の保安属性と非保安属性とに対する動作モードが考慮される間に、スヌープヒット／ミス決定は、要請者、ハンドラ、及びメモリ領域の間で多様に割り当てられる。図９、図１２と図１３とを比較すれば、要請者とハンドラの動作モードは、考慮する必要がない。その代りに、現在スヌープ要請は考慮され、スヌープ要請が保安または非保安動作モード（例えば、保安属性を指示するデータを考慮して）であるかに関する決定が行われる（ステップＳ１３００）。スヌープ要請が保安モードである時（ステップＳ１３００のＹＥＳ）、ターゲットアドレス、例えば、スヌープアドレスが保安（メモリ）領域を指示するか否かの決定が行われる（ステップＳ１３１０）。ターゲットアドレスが保安領域を指示する時（ステップＳ１３１０のＹＥＳ）、スヌープヒットが生成される（ステップＳ１３３０）。前記ターゲットアドレスが、前記保安領域を指示しない時（ステップＳ１３１０のＮＯ）、スヌープミスが生成される（ステップＳ１３４０）。
【００７７】
しかし、スヌープ要請が非保安モードである時（ステップＳ１３００のＮＯ）、ターゲットアドレス、例えば、スヌープアドレスが保安（メモリ）領域を指示するか否かの決定が行われる（ステップＳ１３２０）。このターゲットアドレスが、保安領域を指示する時（ステップＳ１３２０のＹＥＳ）、スヌープミスが生成される（ステップＳ１３４０）。このターゲットアドレスが、保安領域を指示しない時（ステップＳ１３２０のＮＯ）、スヌープヒットが生成される（ステップＳ１３３０）。
【００７８】
図１１は、図１に示された第２マスタ装置の動作モードと動作モードのそれぞれでのソフトウェア動作を概念的に説明する図である。図１と図１１とを参照すれば、第１マスタ装置２２０は、保安モードを行うことができるソフトウェア（または、ファームウエア；ＳＷ）を実行することができる。第１マスタ装置２２０によって実行されるソフトウェア（ＳＷ）は、第２マスタ装置２４０の動作を制御することができる。
第１マスタ装置２２０は、第２マスタ装置２４０の動作モードを保安モードに設定するための第１制御信号ＣＴＲ１を第２コントローラ２３０に伝送しうる。第２コントローラ２３０は、第１制御信号ＣＴＲ１をＳＦＲ２３５に設定することができる。ＳＦＲ２３５に設定された第１制御信号ＣＴＲ１によって、第２保安属性ＡＴ２は、保安モードを示す。
【００７９】
ソフトウェア（ＳＷ）は、キャッシュ２４４に保存されたあらゆるデータを削除するために、キャッシュコントローラ２４２を制御することができる。キャッシュ２４４に保存されたあらゆるデータが削除されれば（ＣＡＣＨＥ  ＦＬＵＳＨ１）、ソフトウェア（ＳＷ）の制御によって、第２マスタ装置２４０は、保安モードで動作することができる。第２マスタ装置２４０が保安モードで動作する間に、キャッシュ２４４にはデータを保存することができる。
【００８０】
次いで、第１マスタ装置２２０は、第２マスタ装置２４０の動作モードを非保安モードに設定するための第１制御信号ＣＴＲ１を第２コントローラ２３０に伝送しうる。第２コントローラ２３０は、第１制御信号ＣＴＲ１をＳＦＲ２３５に設定することができる。ＳＦＲ２３５に設定された第１制御信号ＣＴＲ１によって、第２保安属性ＡＴ２は、非保安モードを示す。
【００８１】
ソフトウェア（ＳＷ）は、第２マスタ装置２４０が保安モードで動作する間に、キャッシュ２４４に保存されたあらゆるデータを削除するために、キャッシュコントローラ２４２を制御することができる。キャッシュ２４４に保存されたあらゆるデータが削除されれば（ＣＡＣＨＥ  ＦＬＵＳＨ２）、ソフトウェア（ＳＷ）の制御によって、第２マスタ装置２４０は、非保安モードで動作することができる。したがって、第２マスタ装置２４０が非保安モードで動作を始める前（または、直前）に、保安モードで動作する間に、キャッシュ２４４に保存されたあらゆるデータが削除されるので、コントローラ２００の保安が向上する効果がある。
【００８２】
すなわち、保安動作モードの開始（または、進入）と保安動作モードの終了（または、脱出（ｅｘｉｔ））でキャッシュフラッシュ（ｃａｃｈｅ  ｆｌｕｓｈ）動作（ＣＡＣＨＥ  ＦＬＵＳＨ１とＣＡＣＨＥ  ＦＬＵＳＨ２）が行われる。したがって、キャッシュ２４４に保存されたあらゆるデータは削除される。例えば、キャッシュ２４４のアドレス別に、またはキャッシュ２４４のキャッシュライン別に、属性が支援されない時、または属性が確認されない時、前述したように、キャッシュ２４４に保存されたあらゆるデータは削除されうる。しかし、キャッシュ２４４のアドレス別に、またはキャッシュ２４４のキャッシュライン別に、属性が支援される時、または属性が確認される時、キャッシュ２４４に保存されたあらゆるデータは削除されないこともある。
【００８３】
図１から図１１を参照して説明したように、スヌープ制御（ｓｎｏｏｐ  ｃｏｎｔｒｏｌ）のためにマスタサイドフィルタ２５０がコントローラ２００に具現され、スヌープ動作（または、スヌープ動作で一次保安検索）がスレーブサイドフィルタ２８０の代わりに、マスタサイドフィルタ２５０で行われるので、スヌープ動作（または、スヌープ動作で一次保安検索）のためにスレーブサイドフィルタ２８０に対するアクセスは、これ以上要求されない。
スヌープ時間またはスヌープレイテンシは、第１マスタ装置２２０と第２マスタ装置２４０との間で送受信する信号のみで決定されうる。したがって、マスタサイドフィルタ２５０を含むコントローラ２００でスヌープ動作のためのタイミングオーバーヘッド（ｔｉｍｉｎｇ  ｏｖｅｒｈｅａｄ）は除去される。
【００８４】
本発明は、図面に示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【００８５】
本発明は、マスタサイドフィルタを含むキャッシュコヒーレントシステムとそれを含むデータ処理システムとに使われる。
【符号の説明】
【００８６】
１００：データ処理システム
２００：コントローラ
２１０：キャッシュコヒーレントインターコネクト
２２０：第１マスタまたは第１マスタ装置
２３０：保安属性コントローラ
２４０：第２マスタまたは第２マスタ装置
２４２：キャッシュコントローラ
２４４：キャッシュ
２５０、２５０−１：マスタサイドフィルタ
２５２：決定ロジック回路
２５４：メモリ装置
２８０：スレーブサイドフィルタ
３００：外部メモリ装置
【図１】
0006739253.tif 000002
【図２】
0006739253.tif 000003
【図３】
0006739253.tif 000004
【図４】
0006739253.tif 000005
【図５】
0006739253.tif 000006
【図６】
0006739253.tif 000007
【図７】
0006739253.tif 000008
【図８】
0006739253.tif 000009
【図９】
0006739253.tif 000010
【図１０】
0006739253.tif 000011
【図１１】
0006739253.tif 000012
【図１２】
0006739253.tif 000013
【図１３】
0006739253.tif 000014