キャッシュメモリに対する直接アクセスのための方法であって、キャッシュメモリのためのキャッシュコントローラに結合された直接アクセスマネージャによって、前記キャッシュメモリに対して実行される領域範囲ゼロ動作を記述した領域範囲ゼロコマンドを受信することと、前記領域範囲ゼロコマンドの受信に応答して、前記直接アクセスマネージャによって直接メモリアクセス領域範囲ゼロコマンドを発生することであって、前記直接メモリアクセス領域範囲ゼロコマンドは、オペレーションコードと、前記動作が実行される前記キャッシュメモリの物理アドレスの識別と、を有することと、前記直接アクセスマネージャによって、前記直接メモリアクセス領域範囲ゼロコマンドを前記キャッシュメモリのための前記キャッシュコントローラに送信することと、前記キャッシュコントローラによって、前記オペレーションコードと前記直接メモリアクセス領域範囲ゼロ動作が実行される前記キャッシュメモリの前記物理アドレスの前記識別とに応じた前記直接メモリアクセス領域範囲ゼロ動作を実行することと、を含む、方法。前記直接アクセスマネージャが、前記領域範囲ゼロコマンドの受信に応答して、キャッシュディレクトリにおいて所望のメモリ実アドレスのルックアップを実行し、前記キャッシュディレクトリ内にキャッシュラインが見つかった場合には、前記直接アクセスマネージャが前記キャッシュディレクトリに、現在の位置から前記キャッシュラインを無効化して、前記領域範囲ゼロコマンドによって特定されるキャッシュ位置において前記キャッシュラインを確立しゼロにするよう命令する、請求項1に記載の方法。前記キャッシュラインが見つからなかった場合には、前記直接アクセスマネージャが前記キャッシュメモリに前記キャッシュラインを確立しゼロにするよう命令する、請求項2に記載の方法。前記コマンドがソフトウェアのモジュールから受信される、請求項1乃至3のいずれかに記載の方法。前記コマンドが、プロセッサのためのレベル1キャッシュを管理する前記プロセッサのメモリ管理ユニットから受信される、請求項1乃至3のいずれかに記載の方法。前記直接アクセスマネージャによって直接メモリアクセスコマンドを発生することが、複数のマイクロオペレーションを発生することを更に含み、前記複数のマイクロオペレーションの各々が、オペレーションコードと、前記マイクロオペレーションが実行される前記キャッシュメモリの前記物理アドレスの識別と、を含む、請求項1乃至5のいずれかに記載の方法。前記直接メモリアクセスコマンドを前記キャッシュコントローラに送信することが、前記複数のマイクロオペレーションを前記キャッシュコントローラに送信することを含む、請求項6に記載の方法。前記直接アクセスマネージャが、前記直接アクセスマネージャのステータスの識別を記憶するためのステータスレジスタを含む、請求項1乃至7のいずれかに記載の方法。前記ステータスが、前記直接アクセスマネージャがビジーであるか否か、前記直接アクセスマネージャが受信した最新のコマンド、および前記最新のコマンドを送信したプロセッサから成る群から選択される、請求項8に記載の方法。前記直接アクセスマネージャによって前記キャッシュメモリ内のハードウェアを監視することと、前記直接アクセスマネージャによって、ローカルプロセッサが低電力状態に入る準備ができたことを検出することと、前記ローカルプロセッサが前記低電力状態に入る準備ができたことの検出に応答して、前記直接アクセスマネージャによって前記キャッシュコントローラに前記キャッシュメモリをフラッシュするよう自動的に命令することと、を更に含む、請求項1乃至9のいずれかに記載の方法。キャッシュメモリに対する直接アクセスのための装置であって、前記キャッシュメモリと、前記キャッシュメモリのためのキャッシュコントローラに結合された直接アクセスマネージャであって、前記キャッシュメモリに対して実行される領域範囲ゼロ動作を記述した領域範囲ゼロコマンドを受信し、前記領域範囲ゼロコマンドの受信に応答して、直接メモリアクセス領域範囲ゼロコマンドを発生し、前記直接メモリアクセス領域範囲ゼロコマンドは、オペレーションコードと、前記動作が実行される前記キャッシュメモリの物理アドレスの識別と、を有し、前記直接メモリアクセス領域範囲ゼロコマンドを前記キャッシュメモリのための前記キャッシュコントローラに送信する、ように構成されたハードウェアを含む直接アクセスマネージャと、前記キャッシュコントローラであって、前記オペレーションコードと前記直接メモリアクセス領域範囲ゼロ動作が実行される前記キャッシュメモリの前記物理アドレスの前記識別とに応じた前記直接メモリアクセス領域範囲ゼロ動作を実行する、ように構成された前記キャッシュコントローラと、を含む、装置。前記オペレーションコードと前記動作が実行される前記キャッシュメモリの前記物理アドレスの前記識別とに応じた前記直接メモリアクセス領域範囲ゼロ動作を実行するように構成された前記ハードウェアが、前記領域範囲ゼロコマンドの受信に応答して、前記直接アクセスマネージャによって、キャッシュディレクトリにおいて所望のメモリ実アドレスのルックアップを実行し、前記キャッシュディレクトリ内にキャッシュラインが見つかった場合には、前記直接アクセスマネージャによって前記キャッシュディレクトリに、現在の位置から前記キャッシュラインを無効化して、前記領域範囲ゼロコマンドによって特定されるキャッシュ位置において前記キャッシュラインを確立しゼロにするよう命令する、ように構成されたハードウェアを含む、請求項11に記載の装置。前記キャッシュラインが見つからなかった場合には、前記直接アクセスマネージャによって前記キャッシュメモリに前記キャッシュラインを確立しゼロにするよう命令するように構成されたハードウェアを更に含む、請求項12に記載の装置。前記コマンドがソフトウェアのモジュールから受信される、請求項11乃至13のいずれかに記載の装置。前記コマンドが、プロセッサのためのレベル1キャッシュを管理する前記プロセッサのメモリ管理ユニットから受信される、請求項11乃至13のいずれかに記載の装置。直接メモリアクセスコマンドを発生するように構成された前記ハードウェアが、複数のマイクロオペレーションを発生するように構成されたハードウェアを更に含み、前記複数のマイクロオペレーションの各々が、オペレーションコードと、前記マイクロオペレーションが実行される前記キャッシュメモリの前記物理アドレスの識別と、を含む、請求項11乃至15のいずれかに記載の装置。前記直接メモリアクセスコマンドを前記キャッシュコントローラに送信するように構成された前記ハードウェアが、前記複数のマイクロオペレーションを前記キャッシュコントローラに送信するように構成されたハードウェアを含む、請求項16に記載の装置。前記直接アクセスマネージャが、前記直接アクセスマネージャのステータスの識別を記憶するためのステータスレジスタを含む、請求項11乃至17のいずれかに記載の装置。前記ステータスが、前記直接アクセスマネージャがビジーであるか否か、前記直接アクセスマネージャが受信した最新のコマンド、および前記最新のコマンドを送信したプロセッサから成る群から選択される、請求項18に記載の装置。前記直接アクセスマネージャが、前記キャッシュメモリ内のハードウェアを監視し、ローカルプロセッサが低電力状態に入る準備ができたことを検出し、前記ローカルプロセッサが前記低電力状態に入る準備ができたことの検出に応答して、前記キャッシュコントローラに前記キャッシュメモリをフラッシュするよう自動的に命令する、ように構成されたハードウェアを含む、請求項11乃至19のいずれかに記載の装置。すなわち、キャッシュコントローラにコマンドを提供しているソフトウェアは、キャッシュメモリ内にメモリブロックがあるか否かを知らない。ソフトウェアがキャッシュメモリをフラッシュまたは無効化させたい場合、ソフトウェアからキャッシュコントローラへの命令は非効率的である場合がある。なぜなら、ソフトウェアは、いずれかの特定の時点でキャッシュ内のどのメモリブロックがアクティブであるかを確実には知らないからである。キャッシュメモリに対する直接アクセスのための方法および装置を開示する。実施形態は、キャッシュメモリのためのキャッシュコントローラに結合された直接アクセスマネージャによって、キャッシュメモリに対して実行される領域範囲ゼロ動作を記述した領域範囲ゼロコマンドを受信することと、領域範囲ゼロコマンドの受信に応答して、直接アクセスマネージャによって直接メモリアクセス領域範囲ゼロコマンドを発生することであって、この直接メモリアクセス領域範囲ゼロコマンドは、オペレーションコードと、動作が実行されるキャッシュメモリのアドレスの識別と、を有することと、直接アクセスマネージャによって、直接メモリアクセス領域範囲ゼロコマンドをキャッシュメモリのためのキャッシュコントローラに送信することと、キャッシュコントローラによって、オペレーションコードと直接メモリアクセス領域範囲ゼロ動作が実行されるキャッシュメモリの物理アドレスの識別とに応じた直接メモリアクセス領域範囲ゼロ動作を実行することと、を含む。本発明の前述およびその他の目的、特徴、および利点は、添付図面に図示されたような、以下に述べる本発明の例示的な実施形態の更に詳細な説明から明らかとなろう。図面において、同様の参照番号は概して本発明の例示的な実施形態の同様の部分を表す。本発明の実施形態に従った、キャッシュメモリに対する直接アクセスのための例示的な方法および装置について、図1から始まる添付図面を参照して説明する。図1は、本発明の実施形態に従った、キャッシュメモリに対する直接アクセスを実施するコンピュータ100の一例の機能ブロック図を示す。図1における例示的なコンピュータ100は、いくつかのコンピュータプロセッサ102を含む。各プロセッサ102は、コンピュータコア104を含み、これはメモリ動作のためにメモリ管理ユニットMMU106を介して共有キャッシュレベル108およびメインメモリ114に結合されている。第1の共有キャッシュレベル108は、キャッシュディレクトリ112、キャッシュコントローラ110、L2キャッシュ181、および直接アクセスマネージャ197を含む。図1のプロセッサ102の各々はL1メモリを含む。L1は、比較的小さく高速のキャッシュであり、同一チップ上でプロセッサ自体の内部に作られている。MMU106は、アドレス変換論理、変換ルックアサイドバッファ、オンプロセッサキャッシュL1のための制御装置等を含む。メインメモリ114は、コンピュータ100上でデータ処理するためのプログラムデータおよびプログラム命令の主要なランダムアクセス記憶装置である。メインメモリ114の特徴は、メモリ待ち時間、すなわちメインメモリに対する読み取りまたは書き込みといったメモリアクセスに必要な時間である。メインメモリ114は、プロセッサ102間で共有される物理アドレス空間のシングルエクステントを実現する。キャッシュメモリL1およびL2181は、メモリアクセス待ち時間を短縮するためにプロセッサ102によって用いられる専用のメモリセグメントである。各キャッシュメモリは、メインメモリよりも小型かつ高速であり、頻繁に用いられるメインメモリ位置からのデータのコピーを記憶する。プロセッサ102が、メインメモリ114内のある位置に対する読み出しまたは書き込みを必要とする場合、そのデータのコピーすなわちキャッシュラインがキャッシュメモリ181内に存在するか否かを最初にチェックする。存在する場合、プロセッサは直ちにキャッシュメモリ181に対する読み取りまたは書き込みを行う。これは、メインメモリ114に対する読み取りまたは書き込みよりも著しく高速である。ほとんどのメモリアクセスがキャッシュされたメモリ位置である限り、メモリアクセスの平均待ち時間はメインメモリの待ち時間よりもキャッシュ待ち時間に近くなる。前述したように、メインメモリ114はあらゆるキャッシュメモリよりも著しく低速であり、キャッシュミスはメモリアクセス待ち時間において大きな損害を引き起こす。キャッシュメモリは、キャッシュラインと称するデータブロックに構成されている。異なる設計の各キャッシュラインは、8から512バイト以上のサイズ範囲に及ぶことがある。典型的な1キャッシュラインのサイズは、1から16バイトの範囲であるCPU命令によって要求される通常のアクセスのサイズよりも大きい。現在の32ビットおよび64ビットアーキテクチャによって典型的に処理される最大のアドレスおよびデータは、長さ128ビットすなわち16バイトである。各キャッシュラインを特徴付けるのは、キャッシュラインの内容がメインメモリに記憶される開始アドレスの最上位ビットから成るタグである。図1の例では、プロセッサ102は、L1キャッシュおよびL2キャッシュ181によって表す2つのレベルを有するマルチレベルキャッシュを利用する。マルチレベルキャッシュは、キャッシュ待ち時間とヒットレートとの間のトレードオフに対処する。キャッシュが大型化するとヒットレートは向上するが待ち時間が長くなる。このトレードオフに対処するため、多くのコンピュータはマルチレベルキャッシュを用いて、小さい高速キャッシュをもっと大きい低速キャッシュによって補強する。概して、マルチレベルキャッシュが動作する際は、最小のレベル1L1キャッシュを最初にチェックし、これがヒットすればプロセッサは高速で進行する。小さい方のキャッシュがミスした場合は次に大きいキャッシュL2をチェックする等とし、その後でメインメモリをチェックする。図1の例示的なコンピュータは2つのキャッシュレベルを実施するが、これは単に説明の便宜のためであって、限定ではない。多くのコンピュータは、3または4キャッシュレベルのような更に多いキャッシュレベルを実施する。いくつかのプロセッサでは3レベルのオンチップキャッシュを実施する。例えば、Alpha21164TMは96KBのオンダイL3キャッシュを有し、IBMPOWER4TMは256MBのL3キャッシュオフチップを有し、いくつかのプロセッサ間で共有する。キャッシュコントローラ110は、キャッシュメモリ内のキャッシュラインに関する情報のレポジトリであるキャッシュディレクトリ112を含む。ディレクトリは、コンピュータ内の全キャッシュメモリにおける各キャッシュラインごとに、キャッシュラインのアイデンティティすなわちキャッシュラインのタグ、キャッシュラインの状態すなわち変更済み、共有、無効等、および、低レベル共有キャッシュのキャッシュラインのコピーがもっと高いキャッシュレベルに記憶されているか否かを各プロセッサごとに特定するビットベクトルを記録する。MMU106およびキャッシュコントローラ110は、コンピュータノード上の全てのキャッシュ動作について、キャッシュディレクトリ112内の情報を調べて更新する。キャッシュコントローラ110は、L2キャッシュ181に直接接続されているがL1キャッシュには直接接続されておらず、L1キャッシュのキャッシュラインに関する情報をキャッシュディレクトリ112から取得する。キャッシュコントローラ110は、キャッシュメモリを管理する論理回路であり、プロセッサ102、キャッシュメモリL1、L2、およびメインメモリ114間のインタフェースを提供する。ここではキャッシュコントローラ110をプロセッサ102の外部に図示するが、最近のコンピュータ上のキャッシュコントローラはプロセッサまたはMMUに直接組み込まれていることが多い。実際、この例においてMMU106はL1キャッシュのためのキャッシュ制御論理を含む。直接アクセスマネージャ197は、本発明に従ってキャッシュメモリ181に対する直接アクセスを実施する論理回路である。図1の直接アクセスマネージャ197は、キャッシュメモリ181に対して実行される動作を記述したコマンドを受信し、このコマンド受信に応答して直接メモリアクセスコマンドを発生し、この直接メモリアクセスコマンドをキャッシュメモリ181のためのキャッシュコントローラ110に送信するように構成されている。直接メモリアクセスコマンドは、オペレーションコードおよび動作が実行されるキャッシュメモリ181の物理アドレスの識別を有する。直接メモリアクセスコマンドの受信に応答して、キャッシュコントローラ110は、オペレーションコードおよび動作が実行されるキャッシュメモリ181の物理アドレスの識別に応じた動作を実行するように構成されている。図1の直接アクセスマネージャ197は、直接アクセスマネージャ197のステータスの識別を記憶するためのステータスレジスタ141を含む。ステータスは、直接アクセスマネージャ197に関連付けられてキャッシュメモリ181に直接アクセスするいずれかの数のパラメータを含むことができる。例えば、ステータスは、直接アクセスマネージャがビジーであるか否か、直接アクセスマネージャが受信した最新のコマンド、この最新のコマンドを送信したプロセッサ等を示すことができる。また、図1の直接アクセスマネージャ197は、コマンドを記憶するためのコマンドレジスタ142も含む。例えば、マルチプロセッシングコンピュータ100内のランダムアクセスメモリ195内のソフトウェア196は、実行されるとプロセッサ102のいずれか1つにコマンドレジスタ142に対してコマンドを書き込ませる命令を含むことができる。また、コマンド142はプロセッサ102内のMMU106から発生する場合もある。更に説明すると、図2は、本発明の実施形態に従った、キャッシュメモリに対する直接アクセスのための方法の一例を示すフローチャートを図示する。図2の方法は、キャッシュメモリ181のためのキャッシュコントローラ110に結合された直接アクセスマネージャ197が、キャッシュメモリ181に実行される領域範囲ゼロ動作を記述した領域範囲ゼロコマンド230を受信すること202を含む。キャッシュメモリ181に実行される領域範囲ゼロ動作を記述した領域範囲ゼロコマンド230の受信202は、直接アクセスマネージャ197のコマンドレジスタ142に対する書き込みを検出することによって実施可能である。例えば、プロセッサ102のいずれか1つが、領域範囲ゼロコマンド230をコマンドレジスタ142に書き込むことができる。また、図2の方法は、領域範囲ゼロコマンド230の受信に応答して、直接アクセスマネージャ197が、直接メモリアクセスコマンド領域範囲ゼロ240を発生すること204を含む。直接メモリアクセス領域範囲ゼロコマンド240は、オペレーションコード242および動作が実行されるキャッシュメモリ181の物理アドレスの識別244を有する。領域範囲ゼロコマンド230の受信に応答した直接メモリアクセスコマンド240の発生204は、受信コマンド230を調べてこの受信コマンド230に関連付けられた動作タイプを判定することによって実施可能である。例えば、直接アクセスマネージャ197は、キャッシュ範囲CSコマンドを用いて全キャッシュメモリに対して、領域範囲RSコマンドを用いてキャッシュメモリ181の一部に対して、更にライン範囲LSコマンドを用いてキャッシュメモリ181の単一ラインに対して、動作を実行するように構成することができる。各コマンドタイプを用いて直接アクセスメモリ197がキャッシュメモリ181の物理アドレスを提供することで、キャッシュコントローラ110がルックアップを行わずに動作を実行することを可能とする。直接アクセスマネージャ197は、バスコマンドを受信することなくキャッシュの全内容を無効化するキャッシュ範囲無効化CSIコマンドを実行するように構成することができる。CSIコマンドを用いて、直接アクセスマネージャ197は、キャッシュメモリ181内の各ラインごとにL2キャッシュブロック無効化動作を発生する。直接アクセスマネージャ197は、キャッシュメモリ181の全内容をフラッシュするキャッシュ範囲フラッシュCSFコマンドを実行するように構成することができる。直接アクセスマネージャ197は、キャッシュメモリ181の各ラインごとにL2キャッシュフラッシュコマンドを発生する。例えば、第1のフラッシュコマンドは、キャッシュメモリ181の合同クラスcgc0のウェイ-0をターゲットとする。実アドレスを用いてルックアップを実行するのではなく、キャッシュメモリはキャッシュメモリ181の物理アドレスを用いてキャッシュディレクトリの内容を読み出す。ラインがローカルで変更されている場合、キャッシュメモリ181は、ターゲットアドレスを生成するためにキャッシュディレクトリに記憶されているタグを用いてメインメモリ114にキャッシュラインを書き込む。直接アドレスマネージャ197は、次の共有キャッシュメモリ図示せずへと増分し、そのキャッシュメモリ内のcgc-0、ウェイ-0にフラッシュコマンドを送信することができる。直接アクセスマネージャ197は、領域範囲ゼロコヒーレンシコマンドRSZCを実行するように構成することができる。これは、直接アクセスマネージャ197がキャッシュディレクトリ112において所望のメモリ実アドレスのルックアップを実行すること、キャッシュディレクトリ112内にキャッシュラインが見つかった場合には、直接アクセスマネージャ197がキャッシュディレクトリ112にその現在の位置からキャッシュラインを無効化してRSZCコマンドによって特定されるキャッシュ位置においてラインを確立しゼロにするよう命令すること、および、キャッシュラインが見つからなかった場合には、直接アクセスマネージャ197がキャッシュメモリ181にキャッシュラインを確立しゼロにするよう命令することを含む。RSZC動作において、キャッシュ内にキャッシュラインが存在しない場合または共有状態である場合、システム内の他のキャッシュとのコヒーレンシを維持するためにバス動作を実行することができる。シングルキャッシュシステムではコヒーレンシは問題でないが、キャッシュラインの古いコピーはやはり無効化される。直接アクセスマネージャ197は、領域範囲ゼロ非コヒーレンシコマンドRSZNCを実行するように構成することができる。これは、直接アクセスマネージャ197がキャッシュディレクトリ112において所望のキャッシュ位置のルックアップを実行すること、および、キャッシュディレクトリ112内にキャッシュラインが見つかった場合には直接アクセスマネージャ197がキャッシュディレクトリ112にキャッシュラインを無効化するよう命令することを含む。RSZNC動作は、パワーオンリセットPORシーケンスの間に直接アクセスマネージャ197によって実行することができ、PORシーケンスの間にファームウェア命令はキャッシュメモリ181にコピーされる。RSZNC動作においては、バスコマンドを生成することなくキャッシュにキャッシュラインが確立されるおよびゼロとされる。これは、PORシーケンスの間にメモリコントローラの前にキャッシュをイネーブルするために特に有用である。この場合、ファームウェアはいっそう高速に動作することができ、ブート中に中間結果を記憶するためキャッシュ内に高速スクラッチパッドが確立される。いかなる時点でも、RSZNC動作を用いてキャッシュ内のメモリブロックをスクラッチパッドとして迅速に確立することができる。この場合、ハードウェアはコヒーレンシを維持しておらず、システムにコヒーレントなキャッシュがある場合にキャッシュをいつ使用可能であるかはソフトウェアが把握する責任がある。直接アクセスマネージャ197は、ライン範囲読み取りディレクトリLSRDコマンドを実行するように構成することができる。これは、キャッシュラインのタグ、コヒーレンシ状態、および他の制御ビットを判定するためにディレクトリエントリを読み取る。LSRDコマンドに応答して、単一キャッシュラインのディレクトリエントリが読み取られる。直接アクセスマネージャ197は、ライン範囲書き込みディレクトリLSWDコマンドを実行するように構成することができる。これは、デバッグセッションの開始時にキャッシュメモリの状態をリストアするためにディレクトリエントリを書き込む。また、LSWDコマンドは、ハードウェア検証においてまたはデバッグ中に特定のキャッシュ状況を生成するために有用である場合がある。直接アクセスマネージャ197は、キャッシュメモリ181からデータを読み取るためのライン範囲読み取りキャッシュラインデータLSRCコマンドを実行するように構成することができる。直接アクセスマネージャ197は、キャッシュメモリ181からデータを書き込むためのライン範囲書き込みキャッシュラインデータLSWCコマンドを実行するように構成することができる。直接アクセスマネージャ197は、キャッシュメモリ181内のタグをルックアップするためのライン範囲ルックアップLSLKコマンドを実行するように構成することができる。ソフトウェアのデバッグ/開発を行う場合に、ディレクトリ全体をダンプすることなくキャッシュメモリ181内に特定のキャッシュラインが存在するか否かを知ると有用である場合がある。LSLKコマンドを用いて、対象ラインについてキャッシュディレクトリでルックアップを実行し、見つかった場合にはコマンドによってディレクトリエントリの内容タグ、コヒーレンシ状態等をソフトウェアアクセス可能レジスタにダンプし、見つからない場合には同一のソフトウェアアクセス可能レジスタにミス情報を記録する。図2の方法は、直接アクセスマネージャ197が、直接メモリアクセス領域範囲ゼロコマンド240を、キャッシュメモリ181のためのキャッシュコントローラ110に送信すること206を含む。直接メモリアクセス領域範囲ゼロコマンド240をキャッシュメモリ181のためのキャッシュコントローラ110に送信すること206は、キャッシュコントローラ110にデータを送信することで実施可能である。このデータは、キャッシュコントローラ110に、領域範囲ゼロコマンド230に関連付けられた動作を実行するよう命令するものである。また、図2の方法は、キャッシュコントローラ110が、オペレーションコード242および動作が実行されるキャッシュメモリ181の物理アドレスの識別244に応じた動作を実行すること208を含む。オペレーションコード242および動作が実行されるキャッシュメモリ181の物理アドレスの識別244に応じた動作を実行すること208は、キャッシュコントローラ110に動作の実行を命令する際にキャッシュメモリ181の物理アドレスを用いることによって実施可能である。メインメモリ114のメモリアドレスでなくキャッシュの物理アドレスを用いることによって、キャッシュコントローラ110はルックアップの実行を回避することができ、キャッシュメモリ181に対する制御を向上させ得る。更に説明すると、図3は、本発明の実施形態に従った、キャッシュメモリに対する直接アクセスのための方法の別の例を示すフローチャートを図示する。図3の方法は、図2の方法の以下の要素を含む。すなわち、キャッシュメモリ181のためのキャッシュコントローラ110に結合された直接アクセスマネージャ197が、キャッシュメモリ181に実行される動作を記述したコマンド230を受信すること202、領域範囲ゼロコマンド230の受信に応答して直接アクセスマネージャ197が直接メモリアクセスコマンド240を発生すること204、この直接メモリアクセス領域範囲ゼロコマンド240はオペレーションコード242および動作が実行されるキャッシュメモリ181の物理アドレスの識別244を有すること、直接アクセスマネージャ197が、直接メモリアクセス領域範囲ゼロコマンド240をキャッシュメモリ181のためのキャッシュコントローラ110に送信すること206、である。図2の方法と異なる図3の要素を図3に点線で示す。更に具体的には、それらの要素は、オペレーションコード352、362およびマイクロオペレーションが実行されるキャッシュメモリ181の物理アドレスの識別354、364を各々が含む複数のマイクロオペレーション340を発生すること302、および、複数のマイクロオペレーション340をキャッシュコントローラ110に送信すること304を含む。図3の方法において、直接メモリアクセスコマンド240の発生204は、オペレーションコード352、362およびマイクロオペレーションが実行されるキャッシュメモリ181の物理アドレスの識別354、364を各々が含む複数のマイクロオペレーション340を発生すること302を含む。オペレーションコード352、362およびマイクロオペレーションが実行されるキャッシュメモリ181の物理アドレスの識別354、364を各々が含む複数のマイクロオペレーション340を発生すること302は、直接アクセスマネージャ197がキャッシュメモリ181における所望のキャッシュ位置のルックアップを実行すること、および、キャッシュメモリ181内にキャッシュラインが見つかった場合に直接アクセスマネージャ197がキャッシュメモリ181にキャッシュラインを無効化するよう命令することによって実行される。図3の方法において、直接メモリアクセス領域範囲ゼロコマンド240をキャッシュメモリ181のためのキャッシュコントローラ110に送信すること206は、複数のマイクロオペレーション340をキャッシュコントローラ110に送信すること304を含む。複数のマイクロオペレーション340をキャッシュコントローラ110に送信すること304は、前のマイクロオペレーションに対して各マイクロオペレーションのアドレスを増分することによって実施可能である。マイクロオペレーションのフォーマットでは、キャッシュコントローラ110がプロセッサ102のいずれか1つの命令セットアーキテクチャISAの拡張として各マイクロオペレーションを扱うようになっている。更に説明すると、図4は、本発明の実施形態に従った、キャッシュメモリに対する直接アクセスのための別の例を示すフローチャートを図示する。図4の方法は、図2の方法の以下の要素を含む。すなわち、キャッシュメモリ181のためのキャッシュコントローラ110に結合された直接アクセスマネージャ197が、キャッシュメモリ181に実行される動作を記述したコマンド230を受信すること202、領域範囲ゼロコマンド230の受信に応答して、直接アクセスマネージャ197が直接メモリアクセスコマンド240を発生すること204、この直接メモリアクセス領域範囲ゼロコマンド240はオペレーションコード242および動作が実行されるキャッシュメモリ181の物理アドレスの識別244を有すること、直接アクセスマネージャ197が直接メモリアクセス領域範囲ゼロコマンド240をキャッシュメモリ181のためのキャッシュコントローラ110に送信すること206、である。図2の方法と異なる図4の要素を図4に点線で示す。更に具体的には、それらの要素は、直接アクセスマネージャ197がキャッシュメモリ181内のハードウェアを監視すること402、直接アクセスマネージャ197が、ローカルプロセッサが低電力状態に入る準備ができたことを検出すること404、ローカルプロセッサが低電力状態に入る準備ができたことの検出に応答して、直接アクセスマネージャ197がキャッシュコントローラ110にキャッシュメモリ181をフラッシュするよう自動的に命令すること406を含む。図4の方法は、直接アクセスマネージャ197がキャッシュメモリ181内のハードウェアを監視すること402を含む。キャッシュメモリ181内のハードウェアを監視すること402は、コンピュータ100のコンポーネントに関連付けられたハードウェアイベントを検出することによって実施可能である。例えば、ハードウェアイベントは、コンポーネントが低電力状態等の節電状態に入る準備ができたことを示すものである場合がある。図4の方法は、直接アクセスマネージャ197によってローカルプロセッサが低電力状態に入る準備ができたことを検出すること404を含む。ローカルプロセッサが低電力状態に入る準備ができたことの検出404は、プロセッサ102のいずれか1つが低電力状態に入る準備ができたことを示す信号を、バスを介して受信することによって実施可能である。図4の方法は、ローカルプロセッサが低電力状態に入る準備ができたことの検出に応答して、直接アクセスマネージャ197がキャッシュコントローラ110にキャッシュメモリ181をフラッシュするよう自動的に命令すること406を含む。ローカルプロセッサが低電力状態に入る準備ができたことの検出に応答して、キャッシュコントローラ110にキャッシュメモリ181をフラッシュするよう自動的に命令すること406は、キャッシュメモリ181の全内容をフラッシュするキャッシュ範囲フラッシュCSFコマンドを実行することによって実施可能である。当業者には認められるであろうが、本発明の態様は、システム、方法、またはコンピュータプログラムとして具現化することができる。従って、本発明の態様は、従って、本開示の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、回路、モジュール、またはシステムと一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ読み取り可能プログラムコードを有する1つ以上のコンピュータ読み取り可能媒体において具現化されるコンピュータプログラムの形態を取ることも可能である。1つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例非網羅的な列挙は、以下を含む。すなわち、1本以上のワイヤを含む電気的接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、電気的プログラマブル読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、携帯型コンパクトディスク読み取り専用メモリCD-ROM、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラムコードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。コンピュータ読み取り可能媒体上で具現化されるプログラムコードは、限定ではないが、無線、有線、光ファイバケーブル、RF等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。本開示の態様の動作を実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、C等のオブジェクト指向プログラミング言語、および、Cプログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカルエリアネットワークLANまたはワイドエリアネットワークWANを含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、例えばインターネットサービスプロバイダを用いてインターネットを介して外部コンピュータに対して行うことができる。本開示の実施形態に従った方法、装置システム、およびコンピュータプログラムのフローチャート図またはブロック図あるいはその両方を参照して、本開示の態様について記載している。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータプログラム命令によって実施可能であることは理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。また、これらのコンピュータプログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令を含む製造品を生成するようになっている。また、コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。上述した図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態に従ったシステム、方法、およびコンピュータプログラムにおいて可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能複数の機能を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、規定された機能もしくは行為を実行する特殊目的ハードウェアベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実施可能であることに留意すべきである。前述の記載から、本発明の真の精神から逸脱することなくその様々な実施形態において変形および変更を実行可能であることは理解されよう。本明細書における記載は例示の目的のためだけのものであり、限定の意味で解釈されるべきではない。本発明の範囲は、以下の特許請求の範囲の文言によってのみ限定される。