(57)【要約】  処理動作を効率的に実行するためのシステムおよび方法は、電子装置での処理動作を制御するように構成されたプロセッサと、電子情報を格納するために電子装置に結合されたメモリとを含む。プロセッサによってメモリ内のターゲットデータからコピーされたキャッシュデータを局所的に格納するために、キャッシュが設けられる。プロセッサは一般的に、キャッシュに格納されたキャッシュデータを変更する。外部装置がターゲットデータにアクセスするために読出し動作を開始すると、プロセッサはそれに応答してターゲットデータをキャッシュデータにより更新する。加えて、プロセッサは、その後の処理動作を容易にするために、キャッシュデータ保持手順を利用してキャッシュデータをキャッシュに局所的に保持する。
2008530697.tif 000002
【特許請求の範囲】
【請求項１】
処理動作を効率的に実行するためのシステムにおいて、
電子装置における処理動作を制御するように構成されたプロセッサと、
電子情報を格納するために前記電子装置に結合されたメモリと、
前記プロセッサによって前記メモリ内のターゲットデータからコピーされたキャッシュデータを局所的に格納するためのキャッシュであって、前記プロセッサがその後前記キャッシュデータを修正するように構成されたキャッシュと、
前記ターゲットデータにアクセスするために読出し動作を開始する外部装置と、
を備え、前記プロセッサが応答して前記ターゲットデータを前記キャッシュデータにより更新し、その後の前記処理動作を容易にするために、前記プロセッサが前記キャッシュデータを前記キャッシュに局所的に保持するように構成された、
システム。
【請求項２】
前記キャッシュが、前記電子装置の前記メモリから当初コピーされた選択されたデータを格納するために前記プロセッサに局所的に結合されたプロセッサキャッシュとして実現され、前記プロセッサキャッシュが前記プロセッサによる前記選択されたデータへの高速かつ簡便なアクセスを容易にする、請求項１に記載のシステム。
【請求項３】
前記電子装置が、前記外部装置を含む分散電子ネットワークに結合されたコンピュータ装置として実現される、請求項１に記載のシステム。
【請求項４】
前記プロセッサが最初に前記ターゲットデータを前記メモリから前記キャッシュに前記キャッシュデータとしてコピーし、次いで前記プロセッサが前記キャッシュデータを利用して前記処理動作を少なくとも１回実行し、前記プロセッサが前記少なくとも１回の前記処理動作中に前記ターゲットデータに関する前記キャッシュデータを変更する、請求項１に記載のシステム。
【請求項５】
前記プロセッサおよび前記メモリがコントローラを通して双方向に通信し、前記コントローラは、また、前記外部エンティティと前記電子装置の前記プロセッサとの間の双方向通信ないし前記外部テンティティと前記電子装置の前記メモリとの間の双方向通信を調整する、請求項１に記載のシステム。
【請求項６】
前記外部エンティティが、前記メモリから前記ターゲットデータにアクセスする許可を要求するために前記電子装置のコントローラに読出し要求を送信することによって、前記読出し動作を開始する、請求項１に記載のシステム。
【請求項７】
前記電子装置の前記コントローラが、前記外部装置を前記コントローラに結合する入出力バスで前記外部装置からの前記読出し要求を検出する、請求項６に記載のシステム。
【請求項８】
前記外部装置からの前記読出し要求に応答して、前記コントローラのマスタモジュールがプロセッサバスを通して前記プロセッサにアドレス・オンリー・スヌープ信号を同報通信する、請求項６に記載のシステム。
【請求項９】
前記アドレス・オンリー・スヌープ信号が、アドレス・オンリー・リード・ウィズ・ノー・インテント・ツー・キャッシュ（address-only read-with-no-intent-to-cache）信号を含む、請求項８に記載のシステム。
【請求項１０】
前記コントローラの前記マスタモジュールによって前記プロセッサバスを通して同報通信された前記アドレス・オンリー・スヌープ信号に応答してスヌープヒットが検出されたか否かを前記電子装置が検出する、請求項８に記載のシステム。
【請求項１１】
前記スヌープヒットは、前記キャッシュデータが当初前記メモリに格納されていた前記ターゲットデータからコピーされた後に、前記プロセッサが前記キャッシュデータを修正したことを示す、請求項１０に記載のシステム。
【請求項１２】
スヌープヒットが発生しない場合には、前記コントローラが前記ターゲットデータを前記メモリから前記外部装置に送信する、請求項１０に記載のシステム。
【請求項１３】
前記アドレス・オンリー・スヌープ信号が前記コントローラの前記マスタモジュールから同報通信された後で、スヌープヒットが発生した場合には、前記プロセッサが拒絶する、請求項１０に記載のシステム。
【請求項１４】
スヌープヒットが発生した場合には、前記プロセッサが前記ターゲットデータを前記キャッシュデータにより更新する、請求項１０に記載のシステム。
【請求項１５】
前記ターゲットデータを更新するために前記キャッシュデータが前記メモリにフラッシュバックされた後、前記プロセッサがキャッシュデータ保持手段を利用して前記キャッシュデータを前記キャッシュに局所的に保持する、請求項１４に記載のシステム。
【請求項１６】
前記アドレス・オンリー・スヌープ信号に応答して、キャッシュデータ保持バスプロトコルが前記キャッシュデータ保持手段をサポートする、請求項１５に記載のシステム。
【請求項１７】
前記アドレス・オンリー・スヌープ信号に応答して、前記コントローラのターゲットモジュールがデータフェーズを実行しない、請求項１５に記載のシステム。
【請求項１８】
前記電子装置がスヌープ確認手順を実行して、前記メモリ内の前記ターゲットデータが前記キャッシュデータにより更新されたことを確認する、請求項１５に記載のシステム。
【請求項１９】
前記ターゲットデータが前記キャッシュデータにより更新された後で、前記コントローラが前記メモリから前記ターゲットデータにアクセスして前記外部装置に送信する、請求項１５に記載のシステム。
【請求項２０】
前記ターゲットデータが更新された後、リソースの処理を必要とすることなく、かつ前記ターゲットデータを読み出して前記キャッシュデータとして前記キャッシュに戻すために必要な転送期間にわたって待機することなく、前記プロセッサが前記キャッシュ内の前記キャッシュデータに局所的にアクセスすることができる、請求項１に記載のシステム。
【請求項２１】
処理動作を効率的に実行するための方法において、
プロセッサを用いて電子装置での処理動作を制御し、
前記電子装置に結合されたメモリに電子情報を格納し、
キャッシュデータをキャッシュに格納し、前記キャッシュデータは、前記プロセッサによって前記メモリ内のターゲットデータからコピーされたものであり、前記プロセッサがその後前記キャッシュデータを修正し、
外部装置が前記ターゲットデータにアクセスするための読出し動作を開始し、前記プロセッサが応答して前記ターゲットデータを前記キャッシュデータにより更新し、その後の前記処理動作を容易にするために、前記プロセッサが前記キャッシュデータを前記キャッシュに局所的に保持する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に電子システムを効果的に実現するための技術に関し、より詳しくは、電子システムでプロセッサキャッシュを効果的に利用するための方法論に関する。
【背景技術】
【０００２】
電子システムを効果的に実現するための技術の開発は、現代の電子システムの設計者および製造者にとっての重要な検討事項である。しかし、電子システムを効率的に実現するには、システムの設計者にとってかなり困難な課題がある。例えば、システムの機能および性能の向上への要求の強化は、システムの処理能力の増大を必要とし、かつ追加的ハードウェアリソースを必要とする。また、処理またはハードウェア要件の増大は結果的に、製造コストおよび運用上の非効率性のため、経済的悪影響をも生み出すかもしれない。
【０００３】
さらに、様々な高度の操作を実行するシステムの能力の強化は、システムのユーザに追加的利益をもたらすかもしれないが、様々なシステム構成要素の制御および管理に対する要求をも増大させるかもしれない。例えば、分散電子ネットワークで他の外部装置と通信する電子システムは、関係する双方向通信、および多くの電子ネットワークの複雑性のため、効果的な実現から益を得るかもしれない。
【０００４】
システムリソースに対する要求の増大、データの大きさの実質的な増大、および特定の要求の厳しい動作環境のため、電子システムを効率的に実現するための新しい技術の開発が、関連電子技術にとっての懸案事項であることは明白である。したがって、前述の全ての理由から、電子システムを実現かつ利用するための効果的な技術の開発は、現代の電子システムの設計者、製造者、および利用者にとって、いまだに重要な検討事項のままである。
【発明の開示】
【０００５】
本発明では、電子システムでプロセッサに結合されたプロセッサキャッシュを効果的に利用するための方法論を開示する。本発明の一実施形態では、電子システムに結合されたメモリからターゲットデータにアクセスするために、外部装置が最初に電子システムのコントローラに読出し要求を生成する。次いでコントローラは、コントローラに結合されたＩ／Ｏバス上の外部装置からの読出し要求を検出する。
【０００６】
応答して、コントローラのマスタモジュールは、プロセッサバスを介して電子システムのプロセッサにアドレス・オンリー・スヌープ信号を同報通信する。次に電子システムは、前述のアドレス・オンリー・スヌープ信号の同報通信の結果、スヌープヒットが発生するか否かを決定する。スヌープヒットとは、電子システムのメモリからコピーされたキャッシュデータがその後修正されて、プロセッサキャッシュ内の局所キャッシュデータがもはや、メモリ内の対応するオリジナルデータと同一でなくなる状態と定義することができる。
【０００７】
スヌープヒットが発生しない場合には、コントローラはメモリからオリジナルターゲットデータに即座にアクセスすることができ、かつオリジナルターゲットデータを外部装置に提供し、それにより要求された読出し動作を完了することができる。しかし、スヌープヒットが発生する場合には、プロセッサはいずれかの適切な手段を利用することによって拒絶する。次にプロセッサは、要求されたターゲットデータのキャッシュバージョン（キャッシュデータ）をメモリにフラッシュして、要求されたターゲットデータのオリジナルバージョンと置き換える。
【０００８】
本発明では、プロセッサは、フラッシュされたキャッシュデータを、その後の処理動作中の簡便かつ高速のアクセスのために、キャッシュ内に局所的に保持することが有利である。コントローラはプロセッサバスで確認スヌープ手順を実行して、要求されたターゲットデータの最新バージョンがキャッシュからメモリにコピーされたことを確実にすることができる。
【０００９】
コントローラは次いで、メモリから更新されたターゲットデータにアクセスすることができる。最後に、コントローラは要求されたターゲットデータを外部装置に提供し、それにより要求された読出し動作を完了することができる。少なくとも前述の理由から、本発明は従って、電子システムでプロセッサキャッシュを効果的に利用するための改善された方法論を提供する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る電子システムのブロック図である。
【図２】本発明に係る図１のプロセッサモジュールの一実施形態のブロック図である。
【図３】本発明に係る図１のコントローラの一実施形態のブロック図である。
【図４】本発明に係る図１のメモリの一実施形態のブロック図である。
【図５Ａ】本発明に係るデータキャッシング手段を示すブロック図である。
【図５Ｂ】本発明に係るデータキャッシング手段を示すブロック図である。
【図６Ａ】本発明の一実施形態に係るプロセッサキャッシュを効果的に利用するための方法のフローチャートである。
【図６Ｂ】本発明の一実施形態に係るプロセッサキャッシュを効果的に利用するための方法のフローチャートである。
【発明を実施するための最良の形態】
【００１１】
本発明は、電子システムの実現における改善に関する。以下の説明は、当業者が本発明を実施かつ使用することを可能にするために提示するものであり、特許出願およびその要件の文脈で提示する。開示する実施形態の様々な変形例が当業者には容易に明らかになるであろう。また、本明細書の一般的原理は他の実施形態にも適用することができる。したがって、本発明は図示する実施形態に限定することを意図しておらず、本明細書に記載する原理および特徴に合致する最も広い範囲が適用される。
【００１２】
本発明を本明細書では、処理を効率的に実行するためのシステムおよび方法として記載し、電子装置の処理動作を制御するように構成されたプロセッサと、電子情報を格納するために電子装置に結合されたメモリとを含む。メモリ内のターゲットデータからプロセッサによってコピーされたキャッシュデータを局所的に格納するために、キャッシュが設けられる。プロセッサは一般的に、キャッシュに格納されたキャッシュデータを修正する。外部装置が読出し動作を開始してターゲットデータにアクセスすると、プロセッサは応答的にターゲットデータをキャッシュデータにより更新する。加えて、プロセッサはキャッシュデータ保持手順を利用して、キャッシュデータをキャッシュ内に局所的に保持して、その後の処理動作を容易にする。
【００１３】
ここで図１を参照すると、本発明の一実施形態に係る電子システム１１２のブロック図が示されている。図１の実施形態では、電子システム１１２は、プロセッサモジュール１１６、コントローラ１２０、およびメモリ１２８を含むことができるが、それらのみに限定されない。代替的実施形態では、電子システム１１２は、図１の実施形態に関連して論じる特定の構成要素および構成に加えて、またはそれらに代わって、他の構成要素および構成を使用して実現することができる。
【００１４】
図１の実施形態では、プロセッサモジュール１１６は、電子システム１１２の動作を制御および管理するためのソフトウェア命令を実行する、いずれかの適切かつ互換可能なプロセッサ装置を含むように実現することができる。プロセッサモジュール１１６については、図２に関連して以下でさらに論じる。図１の実施形態では、電子システム１１２は、プロセッサバス１２４でのプロセッサモジュール１１６の通信およびメモリバス１３２でのメモリ１２８の通信の両方を双方向に調整するために、コントローラ１２０を利用することができる。電子システム１１２はまた、入出力（Ｉ／Ｏ）バス１４０を介して１つまたはそれ以上の外部装置１３６と通信するために、コントローラ１２０を利用することもできる。コントローラ１２０については、図３に関連して以下でさらに論じる。図１の実施形態では、メモリ１２８は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および様々な他の型の揮発性および不揮発性メモリをはじめ、それらに限らず、所望の格納装置の任意の組合せを含むように実現することができる。メモリ１２８については、図４に関連して以下でさらに論じる。
【００１５】
図２を参照すると、本発明に係る図１のプロセッサモジュール１１６の一実施形態のブロック図が示されている。図２の実施形態では、プロセッサモジュール１１６はプロセッサ２１４およびキャッシュ２１２を含むことができるが、それらに限定されない。代替的実施形態では、プロセッサモジュール１１６は、図２の実施形態に関連して論じる特定の構成要素および構成に加えて、またはそれらに代わって、他の構成要素および構成を使用して容易に実現することができる。
【００１６】
図２の実施形態で、プロセッサ２１４は一般的にメモリ１２８（図１）からの要求されたデータのコピーにアクセスし、アクセスしたデータを、より高速かつ簡便なアクセスのためにキャッシュ２１２に局所的に格納する。プロセッサモジュール１１６の最適性能を維持するために、可能な限り、関連データをキャッシュ２１２に局所的に維持することが重要である。所与のデータがプロセッサキャッシュに格納されている場合、プロセッサ２１４はメモリ１２８からオリジナルデータを読み出した後で、キャッシュ２１２内のキャッシュデータを修正したであろうから、キャッシュ２１２内のそのキャッシュデータは、メモリ１２８（図１）内に格納されている対応するデータより最新であると考えられる。
【００１７】
したがって、外部装置１３６がターゲットデータの最新バージョンを読み出すために、メモリ１２９からターゲットデータを読み出したい場合、外部装置１３６は最初に、スヌープ手順または他の適切な手段により、メモリ１２８からターゲットデータを読み出す許可をプロセッサ２１４に要求する。プロセッサ１２８は以前にメモリ１２８からのターゲットデータのコピーをキャッシュ２１２に転送しているので、コントローラ１２０（図１）がメモリ１２８から更新されたターゲットデータを、要求した外部装置１３６に提供する前に、外部装置１２８はターゲットデータのキャッシュバージョンがメモリ１２８にフラッシュバックされるまで待つことが好ましい。
【００１８】
従来のシステムでは、プロセッサが読出し要求に応答して、プロセッサキャッシュからキャッシュデータをフラッシュする場合には、プロセッサはプロセッサキャッシュからフラッシュされたキャッシュデータを無効化、削除、または廃棄する。しかし、本発明の図２の実施形態では、有利に、外部装置１３６からの読出し要求に応答してプロセッサ２１４がキャッシュデータをメモリ１２８にフラッシュした後、プロセッサ２１４は、適切なキャッシュデータ保持手段を利用することにより、フラッシュされたキャッシュデータをキャッシュ２１２に保持し、かくしてキャッシュヒット成功の可能性を高めることにより、プロセッサ２１４による特定のフラッシュされたキャッシュデータへの次回のアクセスを高速化する。
【００１９】
図２の実施形態では、本発明は、外部装置１３６からの読出し要求に応答して、コントローラ１２０（図１）によってプロセッサ２１４に同報通信される特別のアドレス・オンリー・スヌープ信号を利用することができる。特定の実施形態では、前述のアドレス・オンリー・スヌープ信号は、アドレス・オンリー・ＲＷＮＩＣ（read-with-no-intent-to-cache）信号を含むことができる。アドレス・オンリー・スヌープ信号に応答して、電子システム１１２は、プロセッサ２１４が要求されたターゲットデータのキャッシュバージョンをキャッシュ２１２からメモリ１２８にフラッシュしながら、同時にキャッシュデータ保持手段を利用してフラッシュされたキャッシュデータをキャッシュ２１２に局所的に保持することを可能にする、プロセッサバス１２４およびプロセッサモジュール１１６用のバスプロトコルを有利にサポートする。
【００２０】
プロセッサモジュール１１６の動作については、図５および６に関連して以下でさらに論じる。
【００２１】
ここで図３を参照すると、本発明に係る図１のコントローラ１２０の一実施形態のブロック図が示されている。図３の実施形態では、コントローラ１２０はプロセッサインタフェース３１６、メモリインタフェース３２０、入出力（Ｉ／Ｏ）インタフェース３２４、マスタモジュール３２８、およびターゲットモジュール３３２を含むが、それらに限定されない。代替的実施形態では、コントローラ１２０は、図３の実施形態に関連して論じる特定の構成要素に加えて、またはそれらに代わって、他の構成要素を容易に含むことができる。
【００２２】
図３の実施形態では、コントローラ１２０は、電子システム１１２のメモリ１２８（図１）からターゲットデータを読み出す読出し要求を、外部装置１３６（図１）からＩ／Ｏバス１４０で受け取ることができる。応答して、マスタモジュール３２８は、プロセッサバス１２４を介してアドレス・オンリー・スヌープ信号をプロセッサ２１４（図１）に同報通信することができる。特定の実施形態では、前述のアドレス・オンリー・スヌープ信号は、アドレスフェーズに対応するアドレス・オンリー・ＲＷＮＩＣ（read with no intent to cache）信号を含むことができるが、対応するデータフェーズは含まない。
【００２３】
アドレス・オンリー・スヌープ信号に応答して、コントローラ１２０は、プロセッサ２１４が要求されたターゲットデータのキャッシュバージョンをキャッシュ２１２（図２）からメモリ１２８にフラッシュしながら、同時にキャッシュデータ保持手段を利用して、フラッシュされたキャッシュデータをキャッシュ２１２内に局所的に保持することを可能にする、プロセッサバス１２４およびプロセッサモジュール１１６用のバスプロトコルを有利にサポートする。図３の実施形態では、ターゲットモジュール３３２は、アドレス・オンリー・スヌープサイクルに関連付けられるデータを転送するためにいかなる型のデータフェーズも実行しないことによって、前述のアドレス・オンリー・スヌープ信号およびキャッシュデータ保持手段をサポートするように構成することができる。コントローラ１２０の利用については、図５および６に関連して以下でさらに論じる。
【００２４】
ここで図４を参照すると、本発明に係る図１のメモリ１２８の一実施形態のブロック図が示されている。図４の実施形態では、メモリ１２８は、アプリケーションソフトウェア４１２、オペレーティングシステム４１６、データ４２０、および雑情報４２４を含むが、それらに限定されない。代替的実施形態では、メモリ１２８は、図４の実施形態に関連して論じる特定の構成要素に加えて、またはそれらに代わって、他の構成要素を容易に含むことができる。
【００２５】
図４の実施形態では、アプリケーションソフトウェア４１２は、電子システム１１２用の様々な機能および動作を実行するために、プロセッサモジュール１１６（図１）によって実行されるプログラム命令を含むことができる。アプリケーションソフトウェア４１２の特定の性質および機能性は一般的に、対応する電子システム１１２の特定の型および特定の機能性のような要素に応じて変動する。図４の実施形態では、オペレーティングシステム４１６は、電子システム１１２の低レベル機能性を効果的に制御かつ調整するように実現することができる。
【００２６】
図４の実施形態では、データ４２０は、電子システム１１２が利用するためのいずれかの型の情報、データ、またはプログラム命令を含むことができる。例えばデータ４２０は、１つまたはそれ以上外部装置１３６が読出し動作中にメモリ１２８からアクセスするように要求することのできる、様々な型のターゲットデータを含むことができる。図４の実施形態では、雑情報４２４は、電子システム１１２が利用するためのいずれかの適切な型の補助データまたは他の情報を含むことができる。メモリ１２０の利用については、図５および６に関連して以下でさらに論じる。
【００２７】
ここで図５Ａ〜５Ｂを参照すると、本発明の一実施形態に係るデータキャッシング手段を示すブロック図が示されている。図５Ａ〜５Ｂの実施例は例証のために提示するものであって、代替的実施形態では、データキャッシング手段は、図５Ａ〜５Ｂの実施形態に関連して論じる特定の手段および構成に加えて、またはそれらに代わって、他の手段および構成を用いて容易に実行することができる。
【００２８】
図５Ａ〜５Ｂの実施例では、メモリ１２８は、メモリ１２８の対応するメモリアドレスＡに格納されたメモリデータＡ５１４（ａ）を含む。特定の状況下でプロセッサ２１４（図１）は、メモリデータＡ５１４（ａ）のコピーを、処理機能を実行するときに簡便かつより高速にアクセスするためのキャッシュデータＡ＊５１４（ｂ）として、局所プロセッサキャッシュ２１２に転送する。キャッシュ２１２に格納される間に、プロセッサ２１４は一般的に、メモリ１２８に格納されているメモリデータＡ５１４（ａ）のオリジナルバージョンとは異なるようにキャッシュデータＡ＊５１４（ｂ）を修正すなわち変更することがある。
【００２９】
一方、場合によっては、外部装置１３６（図１）は、読出し動作のターゲットデータとしてメモリ１２８からメモリデータＡ５１４（ａ）にアクセスしようとすることがある。要求されたターゲットデータの最新バージョンを提供するために、プロセッサ２１４はキャッシュデータＡ＊５１４（ｂ）をメモリ１２８にフラッシュバックして、メモリアドレスＡのメモリデータＡ５１４（ａ）にキャッシュデータＡ＊５１４（ｂ）を上書きすることができる。
【００３０】
従来のシステムでは、プロセッサ２１４は次いで一般的に、キャッシュデータＡ＊５１４（ｂ）をキャッシュ２１２から削除する。しかし、キャッシュデータＡ＊５１４（ｂ）が削除された場合、次回にプロセッサ２１４がキャッシュデータＡ＊５１４（ｂ）との間で動作を実行しようとするときに、プロセッサ２１４は時間のかかる煩わしい読出し動作を実行して、メモリデータＡ５１４（ａ）をメモリ１２８からキャッシュ２１２にキャッシュデータＡ＊５１４（ｂ）として返さなければならない。上述の通り、電子システム１１２はしたがって、プロセッサ２１４が前述のアドレス・オンリー・スヌープ信号に応答して、キャッシュデータＡ＊５１４（ｂ）をキャッシュ２１２からメモリ１２８にフラッシュする一方、同時にキャッシュデータ保持手段を利用してキャッシュデータＡ＊５１４（ｂ）をキャッシュ２１２に局所的に保持することを可能にする、プロセッサバス１２４およびプロセッサモジュール１１６用のバスプロトコルを有利にサポートする。図５に関連して上に示したデータキャッシング手段については、図６に関連して以下でさらに論じる。
【００３１】
ここで図６Ａおよび６Ｂを参照すると、本発明の一実施形態に係る、プロセッサキャッシュ２１２を効果的に利用するための方法ステップのフローチャートが示されている。図６の実施例（図６Ａおよび６Ｂ）は例証のために提示するものであって、代替的実施形態では、本発明は、図６の実施形態に関連して論じる特定のステップおよびシーケンス以外のステップおよびシーケンスを容易に利用することができる。
【００３２】
図６Ａの実施形態において、ステップ６１２で、外部装置１３６は最初に、メモリ１２８からターゲットデータにアクセスするために読出し要求を電子システム１１２のコントローラ１２０に生成する。ステップ６１６で、コントローラ１２０はＩ／Ｏバス１４０で読出し要求を検出する。応答して、コントローラ１２０のマスタモジュール３２８はプロセッサバス１２４を介して、電子システム１１２のプロセッサモジュール１１６にアドレス・オンリー・スヌープ信号を同報通信する。ステップ６２４で、電子システム１１２は、前述のアドレス・オンリー・スヌープ信号を同報通信した結果、スヌープヒットが発生したか否かを決定する。スヌープヒットとは、メモリ１２８からコピーされたキャッシュデータがその後修正されて、キャッシュ２１２内の局所キャッシュデータがもはや、メモリ１２８内の対応するオリジナルデータと同一でなくなる状態と定義することができる。
【００３３】
ステップ６２４で、スヌープヒットが発生した場合には、図６Ａのプロセスがステップ６２８に進む。しかし、ステップ６２４でスヌープヒットが発生しない場合には、図６Ａのプロセスは、接続文字「Ｂ」を介して、図６Ｂのステップ６４４に進む。ステップ６２８で、スヌープヒットが発生した場合には、プロセッサ２１４はいずれかの適切な手段を利用することによって拒絶する。図６Ａのプロセスは次いで、接続文字「Ａ」を介して、図６Ｂのステップ６３２に進む。
【００３４】
ステップ６３２で、プロセッサ２１４は要求されたターゲットデータのキャッシュバージョン（キャッシュデータ）をメモリ１２８にフラッシュして、要求されたターゲットデータのオリジナルバージョンに取って代わる。特定の代替的実施形態では、最初にターゲットデータをメモリ１２８に格納する代わりに、ターゲットデータは傍受され、要求を出した外部装置１３６に直接提供される。
【００３５】
本発明では、ステップ６３６で、プロセッサ２１４はフラッシュされたキャッシュデータを、その後の処理動作中の簡便かつ高速のアクセスのために、キャッシュ２１２に局所的に保持することが有利である。ステップ６４０で、コントローラ１２０は、要求されたターゲットデータの最新版がキャッシュ２１２からメモリ１２８にコピーされたことを確実にするために、プロセッサバス１２４で確認スヌープ手順を実行することができる。ステップ６４４で、コントローラ１２０は次いで、メモリ１２８から更新されたターゲットデータにアクセスすることができる。最後に、ステップ６４８で、コントローラ１２０は、要求されたターゲットデータを外部装置１３６に提供し、それにより要求された読出し動作を完了することができる。図６のプロセスは次いで終了する。したがって、少なくとも前述の理由から、本発明は電子システム１１２でプロセッサキャッシュ２１２を効果的に利用するための改善された方法論を提供する。
【００３６】
本発明を上で特定の実施形態に関連して説明した。この開示に照らして、他の実施形態が当業者には明らかであろう。例えば本発明は、上記実施形態に記載した以外の構成および技術を用いて容易に実現することができる。加えて、本発明は、上記以外のシステムと共に効果的に使用することができる。したがって、記載した実施形態のこれらおよびその他の変形は本発明に含めるつもりであり、本発明は付属の特許請求の範囲によってのみ制限される。
【産業上の利用可能性】
【００３７】
本明細書でその例示的実施形態を記載した本発明は、多くの産業領域、特にマイクロエレクトロニクス、例えばコンピュータサーバ、航空電子機器、および衛星誘導および測位システムに、産業上の利用可能性がある。
【図１】
2008530697.tif 000003
【図２】
2008530697.tif 000004
【図３】
2008530697.tif 000005
【図４】
2008530697.tif 000006
【図５Ａ】
2008530697.tif 000007
【図５Ｂ】
2008530697.tif 000008
【図６Ａ】
2008530697.tif 000009
【図６Ｂ】
2008530697.tif 000010
【国際調査報告】
2008530697.tif 000011
2008530697.tif 000012