(57)【要約】【課題】キャッシュ・メモリを持つプロセッサを有する情報処理装置に関し、プロセッサに所定のキャッシュ処理を負担させないようにし、キャッシュ・メモリを持つプロセッサの利用効率を高める。【解決手段】バスマスタ１６にバスマスタ機能の他に、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能を実装し、バスマスタ１６による記憶領域１３のデータの記憶領域１４への転送を行う場合、プロセッサ９は、バスマスタ１６の起動処理を行い、その後、バスマスタ１６がフラッシュ制御、インバリデート制御、データコピー動作を行うようにする。【選択図】          図１
2006023792.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ・メモリを持つプロセッサと、
前記キャッシュ・メモリに対する所定のキャッシュ制御機能を実装した所定装置を有することを特徴とする情報処理装置。
【請求項２】
前記所定装置は、前記キャッシュ・メモリのデータ領域の一部分を選択して前記所定のキャッシュ制御機能を実現できるようにされている
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
第１、第２の記憶装置を更に有し、
前記所定装置は、前記第１の記憶装置から前記第２の記憶装置へのデータ転送を行うことができるようにされている
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記所定装置は、前記所定のキャッシュ制御機能による所定のキャッシュ制御と、前記第１の記憶装置から前記第２の記憶装置へのデータ転送を連続して行うことができるようにされている
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記プロセッサとして、複数のプロセッサを有する
ことを特徴とする請求項１、２、３又は４記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ・メモリを持つプロセッサを有する情報処理装置に関する。具体的には、キャッシュ・メモリを持つプロセッサの利用効率向上化技術に関する。
【背景技術】
【０００２】
図１９は従来の情報処理装置の一例の要部の構成図である。図１９中、１はプロセッサであり、２は制御・演算部、３はキャッシュ・メモリである。４は主記憶装置であり、５は第１の記憶領域、６は第２の記憶領域である。７は主記憶装置４を制御する主記憶制御装置、８はＤＭＡ（direct memory access）コントローラである。
【０００３】
ここで、例えば、記憶領域５はプロセッサ１により作業領域として使用され、記憶領域６はマスタとして使用されるが、記憶領域５、６がキャッシング対象の記憶領域であり、キャッシュ・メモリ３のモードがコピーバック（ライトバックとも呼ばれる）である場合において、ＤＭＡコントローラ８が記憶領域５のデータを記憶領域６に転送する場合には、以下の２つの処理が必要となる。
【０００４】
処理１：ＤＭＡコントローラ８による記憶領域５のデータの記憶領域６への転送を行う前に、キャッシュ・メモリ３が保持する記憶領域５のデータを記憶領域５に書き込み、記憶領域５が保持するデータを最新の状態にする。
【０００５】
処理２：ＤＭＡコントローラ８による記憶領域５のデータの記憶領域６への転送を行う前あるいは後に、キャッシュ・メモリ３が保持する記憶領域６のデータを無効化する。これは、キャッシュ・メモリ３が保持するデータと記憶領域６が保持するデータとの整合性を保つためである。
【０００６】
図１９に示す従来の情報処理装置では、フラッシュ制御機能やインバリデート制御機能等のキャッシュ制御機能はプロセッサ１が有しており、ＤＭＡコントローラ８による記憶領域５のデータの記憶領域６への転送を行う場合の処理シーケンスは、図２０に示すようになる。
【０００７】
即ち、まず、プロセッサ１の制御・演算部２からキャッシュ・メモリ３にフラッシュ・コマンドが出される（Ｓ１）。これに応答して、フラッシュ動作が行われ、キャッシュ・メモリ３が保持する記憶領域５のデータの記憶領域５への転送が行われる（Ｓ２）。
【０００８】
次に、プロセッサ１の制御・演算部２からキャッシュ・メモリ３にインバリデート・コマンドが出される（Ｓ３）。これに応答して、キャッシュ・メモリ３では、インバリデート動作が行われ、キャッシュ・メモリ３が保持している記憶領域６のデータの無効化が行われる。
【０００９】
次に、プロセッサ１の制御・演算部２によるＤＭＡコントローラ８の制御レジスタの設定（ＤＭＡコントローラ８に記憶領域５のデータの記憶領域６への転送を実行させるために必要な制御レジスタの設定）、起動が行われる（Ｓ４）。これに応答して、ＤＭＡコントローラ８は、記憶領域５からのデータのリード（Ｓ５）、記憶領域５からリードしたデータの記憶領域６へのライトを行う（Ｓ６）。
【００１０】
なお、Ｓ１〜Ｓ３、Ｓ５、Ｓ６の処理は、１回以上繰り返されるが、繰り返し処理は、図示を省略している。そして、ＤＭＡコントローラ８は、記憶領域５のデータの記憶領域６への転送が完了すると、割り込みによりプロセッサ１にデータ転送完了を通知する（Ｓ７）。
【００１１】
したがって、この場合のプロセッサ１及びＤＭＡコントローラ８の動作状況は、図２１に示すようになる。即ち、プロセッサ１は、フラッシュ処理、インバリデート処理、ＤＭＡコントローラ起動処理を順に実行し、その後、ＤＭＡコントローラ８は、データコピー処理を行うことになる。
【特許文献１】特開平１１−６５９８９号公報
【特許文献２】特開平１１−１８４７９９号公報
【特許文献３】特開２０００−２５９５９３号公報
【特許文献４】特開平１１−２５９３２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図１９に示す従来の情報処理装置においては、ＤＭＡコントローラ８による記憶領域５のデータの記憶領域６への転送を行う場合、プロセッサ１がキャッシュ制御機能を有しているので、プロセッサ１は、フラッシュ処理、インバリデート処理、ＤＭＡコントローラ起動処理を順に実行しなければならず、この間、キャッシュ処理以外の動作を中断しなければならず、これがプロセッサ１の利用効率の低下を招いていた。
【００１３】
本発明は、かかる点に鑑み、キャッシュ・メモリを持つプロセッサに所定のキャッシュ処理を負担させないようにし、キャッシュ・メモリを持つプロセッサの利用効率を高めることができるようにした情報処理装置を提供することを目的とする。
【００１４】
なお、特許文献１、２には、ＣＰＵのスクラッチパッドから主記憶装置へのＤＭＡ転送技術が記載され、特許文献３、４には、マルチプロセッサにおける主記憶装置間のデータ転送をＤＭＡコントローラにより行う技術が記載されているが、本発明とは目的を異にしており、本発明は、特許文献１〜４から示唆されるものではない。
【課題を解決するための手段】
【００１５】
本発明の情報処理装置は、キャッシュ・メモリを持つプロセッサと、前記キャッシュ・メモリに対する所定のキャッシュ制御機能を実装した所定装置を有するものである。
【発明の効果】
【００１６】
本発明によれば、所定装置がキャッシュ・メモリに対して所定のキャッシュ制御機能による所定のキャッシュ処理を実行し、プロセッサには所定のキャッシュ処理を負担させないようにすることができる。即ち、プロセッサは、所定装置がキャッシュ・メモリに対して所定のキャッシュ処理を実行している間、所定のキャッシュ処理以外の処理を実行することができ、これにより、プロセッサの利用効率を高めることができる。
【発明を実施するための最良の形態】
【００１７】
（第１実施形態）
図１は本発明の第１実施形態の要部の構成図である。図１中、９はプロセッサであり、１０は制御・演算部、１１はキャッシュ・メモリである。１２は主記憶装置であり、１３は第１の記憶領域、１４は第２の記憶領域、１５は主記憶装置１２を制御する主記憶制御装置である。
【００１８】
１６はバスマスタであり、バスマスタ機能のほかに、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能を実装したものである。
【００１９】
本発明の第１実施形態〜第８実施形態においては、例えば、記憶領域１３はプロセッサ９により作業領域として使用され、記憶領域１４はマスタとして使用されるが、記憶領域１３、１４がキャッシング対象の記憶領域であり、キャッシュ・メモリ１１のモードがコピーバックであるとする。
【００２０】
本発明の第１実施形態においては、バスマスタ１６による記憶領域１３のデータの記憶領域１４への転送を行う場合、まず、プロセッサ９によりバスマスタ１６の制御レジスタの設定、起動が行われ（Ｓ１）、これに応答して、バスマスタ１６からキャッシュ・メモリ１１にフラッシュ・コマンドが出される（Ｓ２）。
【００２１】
これに応答して、キャッシュ・メモリ１１が保持する記憶領域１３のデータの記憶領域１４への転送が行われ（Ｓ３）、これが完了すると、キャッシュ・メモリ１１からバスマスタ１６にフラッシュ完了通知が出される（Ｓ４）。
【００２２】
次に、バスマスタ１６からキャッシュ・メモリ１１にインバリデート・コマンドが出される（Ｓ５）。これに応答して、キャッシュ・メモリ１１では、インバリデートが行われ、これが完了すると、キャッシュ・メモリ１１からバスマスタ１６にインバリデート完了通知が出される（Ｓ６）。
【００２３】
次に、バスマスタ１６は、記憶領域１３からのデータのリード（Ｓ７）、記憶領域１３からリードしたデータの記憶領域１４へのライトを行い（Ｓ８）、これが完了すると、割り込みにより、データ転送完了をプロセッサ９に通知する（Ｓ９）。
【００２４】
したがって、この場合、プロセッサ９及びバスマスタ１６の動作状況は、図２に示すようになる。即ち、プロセッサ９は、バスマスタ１６の起動処理を行い、バスマスタ１６は、フラッシュ制御、インバリデート制御、データコピー動作を行うことになる。
【００２５】
以上のように、本発明の第１実施形態によれば、バスマスタ１６にフラッシュ・コマンド及びインバリデート・コマンドを発行するキャッシュ制御機能を実装しているので、バスマスタ１６による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９は、バスマスタ１６の起動処理を行うだけで足りる。
【００２６】
したがって、プロセッサ９は、バスマスタ１６がフラッシュ制御、インバリデート制御及びデータコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これによって、プロセッサ９の利用効率を高めることができる。
【００２７】
（第２実施形態）
図３は本発明の第２実施形態の要部の構成図である。本発明の第２実施形態は、本発明の第１実施形態が備えるバスマスタ１６と機能の異なるバスマスタ１７を設け、その他については、本発明の第１実施形態と同様に構成したものである。
【００２８】
バスマスタ１７は、バスマスタ機能のほかに、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能と、フラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能を実装したものである。
【００２９】
本発明の第２実施形態によれば、本発明の第１実施形態と同様の作用、効果を得ることができると共に、フラッシュ・コマンド及びインバリデート・コマンドに加えるアドレスにより、キャッシュ・メモリ１１のデータ領域の一部分を選択してフラッシュ制御及びインバリデート制御を行うことができる。
【００３０】
（第３実施形態）
図４は本発明の第３実施形態の要部の構成図である。本発明の第３実施形態は、本発明の第１実施形態が備えるバスマスタ１６と機能の異なるバスマスタ１８を設け、その他については、本発明の第１実施形態と同様に構成したものである。
【００３１】
バスマスタ１８は、バスマスタ機能のほかに、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能と、フラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能を実装したものである。
【００３２】
また、バスマスタ１８の内部では、バスマスタ機能とキャッシュ制御機能とは独立しており、それぞれ、単独で実行可能とされている。即ち、キャッシュ制御を行い、これで完了とすることも、キャッシュ制御とは関係なく、データ転送を行うこともできるようにされている。但し、ハードウエア資源は、バスマスタ機能とキャッシュ制御機能とで共有されている。
【００３３】
本発明の第３実施形態によれば、本発明の第１実施形態と同様の作用、効果を得ることができると共に、キャッシュ・メモリ１１のデータ領域の一部分を選択してフラッシュ制御及びインバリデート制御を行うことができ、更に、バスマスタ機能とキャッシュ制御機能とを独立して単独で実行することもできる。
【００３４】
（第４実施形態）
図５は本発明の第４実施形態の要部の構成図である。本発明の第４実施形態は、図１に示すバスマスタ１６の代わりにＤＭＡコントローラ１９を設け、その他については、本発明の第１実施形態と同様に構成したものである。
【００３５】
ＤＭＡコントローラ１９は、ＤＭＡコントローラとしての機能のほかに、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能と、フラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能を実装したものである。
【００３６】
図６はＤＭＡコントローラ１９の要部の構成図である。図６中、２０は制御レジスタであり、２１はキャッシュ制御（フラッシュ制御、インバリデート制御）モードをＯＮとするかＯＦＦとするかを設定するキャッシュ制御モードＯＮ／ＯＦＦ制御レジスタ、２２はキャッシュ・メモリ１１のデータ領域のうち、フラッシュ・コマンド及びインバリデート・コマンドを実行するデータ領域のアドレス情報を格納する宛先レジスタである。
【００３７】
２３はフラッシュ・コマンド及びインバリデート・コマンドに加えるアドレスや、記憶領域１３から記憶領域１４へのデータ転送を制御する場合のアドレスを生成するアドレス生成部、２４はキャッシュ・メモリ１１にフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ制御を行うキャッシュ制御部である。
【００３８】
２５はリード／ライト制御信号を出力して記憶領域１３から記憶領域１４へのデータ転送を制御するデータ転送制御部、２６は記憶領域１３から記憶領域１４へのデータ転送する場合のデータを一時的に記憶するデータバッファ、２７は制御レジスタ２０の内容に基づいて、アドレス生成部２３、キャッシュ制御部２４及びデータ転送制御部２５を制御するコントローラである。
【００３９】
図７はＤＭＡコントローラ１９での処理フローを示す図である。即ち、ＤＭＡコントローラ１９では、プロセッサ９により起動されたか否かが判断され（ステップＰ１）、起動された場合には、キャッシュ制御モードであるかデータ転送モードであるかが判断される（ステップＰ２）。
【００４０】
キャッシュ制御モードである場合には、キャッシュ・メモリ１１に対するキャッシュ制御が実行され（ステップＰ３）、データ転送モードである場合には、記憶領域１３から記憶領域１４へのデータ転送が実行される（ステップＰ４）。
【００４１】
キャッシュ制御が実行される場合には、キャッシュ制御が実行される毎に、キャッシュ制御が残っているか否かが判断され（ステップＰ５）、キャッシュ制御が残っている場合には、キャッシュ制御が実行され（ステップＰ３）、キャッシュ制御が残っていない場合には、完了処理が行われ（ステップＰ６）、ステップＰ１に戻る。
【００４２】
これに対して、記憶領域１３から記憶領域１４へのデータ転送が実行される場合には、データ転送が行われる毎に、未転送データがあるか否かが判断され（ステップＰ５）、未転送データがある場合には、データ転送が実行され（ステップＰ４）、未転送データがなくなった場合には、完了処理が行われ（ステップＰ６）、ステップＰ１に戻る。
【００４３】
したがって、ＤＭＡコントローラ１９による記憶領域１３のデータの記憶領域１４への転送を行う場合の処理シーケンスは、図８に示すようになる。即ち、まず、プロセッサ９によりＤＭＡコントローラ１９の制御レジスタ２０の設定（ＤＭＡコントローラ１９にフラッシュ制御を実行させるために必要な制御レジスタ２０の設定）、起動が行われ（Ｓ１）、これに応答して、ＤＭＡコントローラ１９からキャッシュ・メモリ１１にフラッシュ・コマンドが出される（Ｓ２）。
【００４４】
これに応答して、キャッシュ・メモリ１１が保持する記憶領域１３のデータの記憶領域１３への転送が行われ（Ｓ３）、これが完了すると、キャッシュ・メモリ１１からＤＭＡコントローラ１９にフラッシュ完了通知が出され（Ｓ４）、これに応答して、ＤＭＡコントローラ１９からプロセッサ９に割り込みにより完了通知が出される（Ｓ５）。
【００４５】
次に、プロセッサ９によりＤＭＡコントローラ１９の制御レジスタ２０の設定（ＤＭＡコントローラ１９にインバリデート制御を実行させるために必要な制御レジスタ２０の設定）、起動が行われ（Ｓ６）、これに応答して、ＤＭＡコントローラ１９からキャッシュ・メモリ１１にインバリデート・コマンドが出される（Ｓ７）。
【００４６】
これに応答して、キャッシュ・メモリ１１ではインバリデート動作が行われ、これが完了すると、キャッシュ・メモリ１１からＤＭＡコントローラ１９にインバリデート完了通知が出され（Ｓ８）、これに応答して、ＤＭＡコントローラ１９からプロセッサ９に割り込みにより完了通知が出される（Ｓ９）。
【００４７】
次に、プロセッサ９によりＤＭＡコントローラ１９の制御レジスタ２０の設定（ＤＭＡコントローラ１９にデータ転送を実行させるために必要な制御レジスタ２０の設定）、起動が行われる（Ｓ１０）。これに応答して、ＤＭＡコントローラ１９は、記憶領域１３からのデータのリード（Ｓ１１）、記憶領域１３からリードしたデータの記憶領域１４へのライトを行う（Ｓ１２）。
【００４８】
なお、Ｓ２、Ｓ３、Ｓ７、Ｓ１１、Ｓ１２の処理は、１回以上繰り返されるが、繰り返し処理は、図示を省略している。そして、ＤＭＡコントローラ１９は、データ転送が完了すると、割り込みによりデータ転送完了をプロセッサ９に通知する（Ｓ１３）。
【００４９】
したがって、プロセッサ９及びＤＭＡコントローラ１９の動作状況は、図９に示すようになる。即ち、プロセッサ９は、ＤＭＡコントローラ１９の起動を行い、ＤＭＡコントローラ１９は、フラッシュ制御、インバリデート制御、データコピー動作を行うことになる。
【００５０】
以上のように、本発明の第４実施形態によれば、ＤＭＡコントローラ１９にフラッシュ・コマンド及びインバリデート・コマンドを発行するキャッシュ制御機能を実装しているので、ＤＭＡコントローラ１９による記憶領域１３のデータの記憶領域１４への転送を行う場合、プロセッサ９は、ＤＭＡコントローラ１９の起動処理を行うだけで足りる。
【００５１】
したがって、プロセッサ９は、ＤＭＡコントローラ１９がフラッシュ制御、インバリデート制御、データコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ９の利用効率を高めることができる。
【００５２】
また、ＤＭＡコントローラ１９にフラッシュ・コマンド及びインバリデート・コマンドにアドレスを加える機能を実装しているので、キャッシュ・メモリ１１のデータ領域の一部分を選択してフラッシュ制御及びインバリデート制御を行うことができる。
【００５３】
（第５実施形態）
図１０は本発明の第５実施形態の要部の構成図である。本発明の第５実施形態は、図１に示すバスマスタ１６の代わりにＤＭＡコントローラ２８を設け、その他については、本発明の第１実施形態と同様に構成したものである。
【００５４】
ＤＭＡコントローラ２８は、ＤＭＡコントローラとしての機能のほかに、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のフラッシュ動作及びインバリデート動作を制御するキャッシュ制御機能と、フラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能と、フラッシュ制御、インバリデート制御及びデータ転送を連続して実行する機能を実装しているものである。
【００５５】
図１１はＤＭＡコントローラ２８の要部の構成図である。図１１中、２９は制御レジスタであり、３０はキャッシュ制御（フラッシュ制御、インバリデート制御）モードをＯＮとするかＯＦＦとするかを設定するキャッシュ制御モードＯＮ／ＯＦＦ制御レジスタ、３１はキャッシュ・メモリ１１のデータ領域のうち、フラッシュ・コマンド及びインバリデート・コマンドを実行するデータ領域のアドレス情報を格納する宛先レジスタである。
【００５６】
３２は主記憶装置１２内のＤＭＡコントローラ制御情報格納領域（転送情報格納領域）を示すポインタ用のレジスタ、３３はキャッシュ制御及びデータ転送制御を連続して行うチェインモードをＯＮとするかＯＦＦとするかを設定するチェインモードＯＮ／ＯＦＦ制御レジスタである。
【００５７】
３４はフラッシュ・コマンド及びインバリデート・コマンドに加えるアドレスや、記憶領域１３から記憶領域１４へのデータ転送を制御する場合のアドレスを生成するアドレス生成部、３５はキャッシュ・メモリ１１にフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ制御を行うキャッシュ制御部、３６はリード／ライト制御信号を出力して記憶領域１３から記憶領域１４へのデータの転送を制御するデータ転送制御部である。
【００５８】
３７は記憶領域１３から記憶領域１４へのデータ転送する場合のデータ等を一時的に記憶するデータバッファ、３８は主記憶装置１２から読み出したＤＭＡコントローラ制御情報（転送情報）に基づいてチェイン制御（フラッシュ制御、インバリデート制御、データ転送の連続動作の制御）を行うチェイン制御部、３９は制御レジスタ２９の内容に基づいて、アドレス生成部３４、キャッシュ制御部３５及びデータ転送制御部３６及びチェイン制御部３８を制御するコントローラである。
【００５９】
図１２はＤＭＡコントローラ２８での処理フローを示す図である。即ち、ＤＭＡコントローラ２８では、プロセッサ９により起動されたか否かが判断され（ステップＱ１）、起動された場合には、キャッシュ制御モードであるかデータ転送モードであるかが判断される（ステップＱ２）。
【００６０】
キャッシュ制御モードである場合には、キャッシュ・メモリ１１に対するキャッシュ制御が実行され（ステップＱ３）、データ転送モードである場合には、記憶領域１３から記憶領域１４へのデータ転送が実行される（ステップＱ４）。
【００６１】
キャッシュ制御が実行される場合には、キャッシュ制御が実行される毎に、キャッシュ制御が残っているか否かが判断され（ステップＱ５）、キャッシュ制御が残っている場合には、キャッシュ制御が実行され（ステップＱ３）、キャッシュ制御が残っていない場合には、次の制御があるか否かが判断される（ステップＱ６）。
【００６２】
これに対して、ステップＱ２でデータ転送が選択された場合には、記憶領域１３から記憶領域１４へのデータ転送が実行され、データ転送が行われる毎に、未転送データがあるか否かが判断され（ステップＱ５）、未転送データがある場合には、データ転送が実行され（ステップＱ４）、未転送データがなくなった場合には、次の制御があるか否かが判断される（ステップＱ６）。
【００６３】
そして、ステップＱ６で、次に制御すべきものがあると判断された場合には、次の制御設定が行われ（ステップＱ７）、ステップＱ２に戻る。これに対して、次に制御すべきものがない場合には、完了処理を行い（ステップＱ８）、ステップＱ１に戻る。
【００６４】
したがって、ＤＭＡコントローラ２８による記憶領域１３のデータの記憶領域１４への転送を行う場合の処理シーケンスは図１３に示すようになる。即ち、まず、プロセッサ９によりＤＭＡコントローラ２８の制御レジスタ２９の設定、起動が行われ（Ｓ１）、これに応答して、ＤＭＡコントローラ２８からキャッシュ・メモリ１１にフラッシュ・コマンドが出される（Ｓ２）。
【００６５】
これに応答して、キャッシュ・メモリ１１が保持する記憶領域１３のデータの記憶領域１３への転送が行われ（Ｓ３）、これが完了すると、キャッシュ・メモリ１１からＤＭＡコントローラ２８にフラッシュ完了通知が出される（Ｓ４）。
【００６６】
次に、主記憶装置１２内のＤＭＡコントローラ制御情報格納領域（転送情報格納領域）のリード、リードしたＤＭＡコントローラ制御情報の制御レジスタ２９への設定が行われ（Ｓ５）、ＤＭＡコントローラ２８からキャッシュ・メモリ１１にインバリデート・コマンドが出される（Ｓ６）。これに応答して、キャッシュ・メモリ１１ではインバリデートが行われ、これが完了すると、キャッシュ・メモリ１１からＤＭＡコントローラ２８にインバリデート完了通知が出される（Ｓ７）。
【００６７】
次に、主記憶装置１２内のＤＭＡコントローラ制御情報格納領域のリード、リードしたＤＭＡコントローラ制御情報の制御レジスタ２９への設定が行われ（Ｓ８）、ＤＭＡコントローラ２８は、記憶領域１３からのデータのリード（Ｓ９）、記憶領域１３からリードしたデータの記憶領域１４へのライトを行う（Ｓ１０）。
【００６８】
なお、Ｓ２〜Ｓ４、Ｓ６、Ｓ７、Ｓ９、Ｓ１０の処理は、１回以上繰り返されるが、繰り返し処理は、図示を省略している。そして、ＤＭＡコントローラ２８は、データ転送が完了すると、割り込みによりデータ転送完了をプロセッサ９に通知する（Ｓ１１）。
【００６９】
したがって、プロセッサ９及びＤＭＡコントローラ２８の動作状況は、図１４に示すようになる。即ち、プロセッサ９は、ＤＭＡコントローラ２８の起動動作を行い、その後、ＤＭＡコントローラ２８は、フラッシュ制御、インバリデート制御、データコピー動作を行うことになる。
【００７０】
以上のように、本発明の第５実施形態によれば、ＤＭＡコントローラ２８にフラッシュ・コマンド及びインバリデート・コマンドを発行するキャッシュ制御機能を実装しているので、ＤＭＡコントローラ２８による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９は、ＤＭＡコントローラ２８の起動動作を行うだけで足りる。
【００７１】
したがって、プロセッサ９は、ＤＭＡコントローラ２８がフラッシュ制御、インバリデート制御、データコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ９の利用効率を高めることができる。
【００７２】
また、ＤＭＡコントローラ２８にフラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するアドレスを加える機能を実装しているので、キャッシュ・メモリ１１のデータ領域の一部分を選択してフラッシュ制御及びインバリデート制御を行うことができる。
【００７３】
（第６実施形態）
図１５は本発明の第６実施形態の要部の構成図である。本発明の第６実施形態は、プロセッサ９のほかに、プロセッサ４０を設け、その他については、本発明の第１実施形態と同様に構成したものである。プロセッサ４０において、４１は制御・演算部、４２はキャッシュ・メモリであり、プロセッサ９と同様に主記憶装置１２を利用し、バスマスタ１６にキャッシュ制御されるものである。
【００７４】
本発明の第６実施形態によれば、キャッシュ・メモリ１１のキャッシュ制御を行い、バスマスタ１６による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９は、バスマスタ１６の起動動作を行うだけで足り、バスマスタ１６がフラッシュ制御、インバリデート制御及びデータコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ９の利用効率を高めることができる。
【００７５】
また、キャッシュ・メモリ４２のキャッシュ制御を行い、バスマスタ１６による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ４０は、バスマスタ１６の起動動作を行うだけで足り、バスマスタ１６がフラッシュ制御、インバリデート制御及びデータコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ４０の利用効率を高めることができる。
【００７６】
なお、バスマスタ１６にフラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能や、フラッシュ制御、インバリデート制御及びデータ転送を連続して実行する機能を実装するようにしても良い。
【００７７】
（第７実施形態）
図１６は本発明の第７実施形態の要部の構成図である。本発明の第７実施形態は、本発明の第６実施形態が備えるバスマスタ１６と機能の異なるバスマスタ４３を設け、その他については、本発明の第６実施形態と同様に構成したものである。
【００７８】
バスマスタ４３は、プロセッサ９又はプロセッサ４０からの要求により、プロセッサ９のキャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ１１のキャッシュ制御を行う機能と、プロセッサ９又はプロセッサ４０からの要求により、プロセッサ４０のキャッシュ・メモリ４２に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ・メモリ４２のキャッシュ制御を行う機能を実装したものである。
【００７９】
本発明の第７実施形態によれば、プロセッサ９のキャッシュ・メモリ１１のキャッシュ制御を行い、バスマスタ４３による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９又はプロセッサ４０は、バスマスタ４３の起動動作を行うだけで足りる。
【００８０】
また、プロセッサ４０のキャッシュ・メモリ４２のキャッシュ制御を行い、バスマスタ４３による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９又はプロセッサ４０は、バスマスタ４３の起動動作を行うだけで足りる。
【００８１】
したがって、プロセッサ９、４０は、バスマスタ４３がフラッシュ制御、インバリデート制御及びデータコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ９、４０の利用効率を高めることができる。
【００８２】
なお、バスマスタ４３にフラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１のデータ領域の中の選択するデータ領域のアドレスを加える機能や、フラッシュ制御、インバリデート制御及びデータ転送を連続して実行する機能を実装するようにしても良い。
【００８３】
（第８実施形態）
図１７は本発明の第８実施形態の要部の構成図である。本発明の第８実施形態は、図１６に示すバスマスタ４３の代わりにＤＭＡコントローラ４４を設け、その他については、本発明の第７実施形態と同様に構成したものである。
【００８４】
ＤＭＡコントローラ４４は、ＤＭＡコントローラとしての機能のほかに、プロセッサ９又はプロセッサ４０からの要求により、キャッシュ・メモリ１１に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ制御を行う機能と、プロセッサ９又はプロセッサ４０からの要求により、キャッシュ・メモリ４２に対してフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ制御を行う機能と、フラッシュ・コマンド及びインバリデート・コマンドにキャッシュ・メモリ１１、４２のデータ領域の中の選択するデータ領域のアドレスを加える機能と、フラッシュ制御、インバリデート制御及びデータ転送を連続して実行する機能を実装しているものである。
【００８５】
図１８はＤＭＡコントローラ４４の要部の構成図である。図１８中、４５は制御レジスタであり、４６はキャッシュ制御（フラッシュ制御、インバリデート制御）モードをＯＮとするかＯＦＦとするかを設定するキャッシュ制御モードＯＮ／ＯＦＦ制御レジスタ、４７はキャッシュ・メモリ１１のデータ領域のうち、フラッシュ・コマンド及びインバリデート・コマンドを実行するデータ領域のアドレス情報を格納する宛先レジスタである。
【００８６】
４８は主記憶装置１２内のＤＭＡコントローラ制御情報格納領域（転送情報格納領域）を示すポインタ用のレジスタ、４９はキャッシュ制御及びデータ転送制御を連続して行うチェインモードをＯＮとするかＯＦＦとするかを設定するチェインモードＯＮ／ＯＦＦ制御レジスタ、５０はキャッシュ・コマンド発行先のプロセッサを設定するキャッシュ・コマンド発行先プロセッサ制御レジスタ、５１はデータ転送後の完了通知を行う割り込み先プロセッサを設定する割り込み先プロセッサ制御レジスタである。
【００８７】
５２はフラッシュ・コマンド及びインバリデート・コマンドに加えるアドレスや、記憶領域１３から記憶領域１４へのデータ転送を制御する場合のアドレスを生成するアドレス生成部、５３はキャッシュ・メモリ１１、４２にフラッシュ・コマンド及びインバリデート・コマンドを発行してキャッシュ制御を行うキャッシュ制御部、５４はリード／ライト制御信号を出力して記憶領域１３から記憶領域１４へのデータの転送を制御するデータ転送制御部である。
【００８８】
５５は記憶領域１３から記憶領域１４へのデータ転送する場合のデータ等を一時的に記憶するデータバッファ、５６は主記憶装置１２から読み出したＤＭＡコントローラ制御情報（転送情報）に基づいてチェイン制御（フラッシュ制御、インバリデート制御、データ転送制御の連続動作の制御）を行うチェイン制御部、５７は制御レジスタ４５の内容に基づいて、アドレス生成部５２、キャッシュ制御部５３、データ転送制御部５４及びチェイン制御部５６を制御するコントローラである。
【００８９】
本発明の第８実施形態によれば、プロセッサ９のキャッシュ・メモリ１１のキャッシュ制御を行い、ＤＭＡコントローラ４４による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９又はプロセッサ４０は、ＤＭＡコントローラ４４の起動処理を行うだけで足りる。
【００９０】
また、プロセッサ４０のキャッシュ・メモリ４２のキャッシュ制御を行い、ＤＭＡコントローラ４４による記憶領域１３のデータの記憶領域１４への転送を行う場合には、プロセッサ９又はプロセッサ４０は、ＤＭＡコントローラ４４の起動処理を行うだけで足りる。
【００９１】
したがって、プロセッサ９、４０は、ＤＭＡコントローラ４４がフラッシュ制御、インバリデート制御、データコピー動作を行う間、フラッシュ処理及びインバリデート処理以外の処理を実行することができ、これにより、プロセッサ９、４０の利用効率を高めることができる。
【００９２】
ここで、本発明の情報処理装置を整理すると、本発明の情報処理装置には、以下の情報処理装置が含まれる。
【００９３】
（付記１）キャッシュ・メモリを持つプロセッサと、前記キャッシュ・メモリに対する所定のキャッシュ制御機能を実装した所定装置を有することを特徴とする情報処理装置。
【００９４】
（付記２）前記所定装置は、前記キャッシュ・メモリのデータ領域の一部分を選択して前記所定のキャッシュ制御機能を実現できるようにされていることを特徴とする付記１記載の情報処理装置。
【００９５】
（付記３）第１、第２の記憶装置を更に有し、前記所定装置は、前記第１の記憶装置から前記第２の記憶装置へのデータ転送を行うことができるようにされていることを特徴とする付記１又は２記載の情報処理装置。
【００９６】
（付記４）前記所定装置は、前記所定のキャッシュ制御機能による所定のキャッシュ制御と、前記第１の記憶装置から前記第２の記憶装置へのデータ転送を連続して行うことができるようにされていることを特徴とする付記３記載の情報処理装置。
【００９７】
（付記５）前記プロセッサとして、複数のプロセッサを有することを特徴とする付記１、２、３又は４記載の情報処理装置。
【００９８】
（付記６）前記所定装置は、少なくとも、前記複数のプロセッサの中の第１のプロセッサからの要求により、前記複数のプロセッサの中の第２のプロセッサ内のキャッシュ・メモリに対して前記所定のキャッシュ制御機能による所定のキャッシュ制御を行うことができるようにされていることを特徴とする付記５記載の情報処理装置。
【００９９】
（付記７）前記所定装置は、バスマスタであることを特徴とする付記１〜６のいずれか一の付記に記載の情報処理装置。
【０１００】
（付記８）前記バスマスタは、前記所定のキャッシュ制御機能とバスマスタ機能をそれぞれ単独で実行することができるようにされていることを特徴とする付記７記載の情報処理装置。
【０１０１】
（付記９）前記バスマスタは、ＤＭＡコントローラであることを特徴とする付記７又は８記載の情報処理装置。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１実施形態の要部の構成図である。
【図２】本発明の第１実施形態がバスマスタによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合のプロセッサ及びバスマスタの動作状況を示す図である。
【図３】本発明の第２実施形態の要部の構成図である。
【図４】本発明の第３実施形態の要部の構成図である。
【図５】本発明の第４実施形態の要部の構成図である。
【図６】本発明の第４実施形態が備えるＤＭＡコントローラの要部の構成図である。
【図７】本発明の第４実施形態が備えるＤＭＡコントローラでの処理フローを示す図である。
【図８】本発明の第４実施形態がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合の処理シーケンスを示す図である。
【図９】本発明の第４実施形態がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合のプロセッサ及びＤＭＡコントローラの動作状況を示す図である。
【図１０】本発明の第５実施形態の要部の構成図である。
【図１１】本発明の第５実施形態が備えるＤＭＡコントローラの要部の構成図である。
【図１２】本発明の第５実施形態が備えるＤＭＡコントローラでの処理フローを示す図である。
【図１３】本発明の第５実施形態がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合の処理シーケンスを示す図である。
【図１４】本発明の第５実施形態がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合のプロセッサ及びＤＭＡコントローラの動作状況を示す図である。
【図１５】本発明の第６実施形態の要部の構成図である。
【図１６】本発明の第７実施形態の要部の構成図である。
【図１７】本発明の第８実施形態の要部の構成図である。
【図１８】本発明の第８実施形態が備えるＤＭＡコントローラの要部の構成図である。
【図１９】従来の情報処理装置の一例の要部の構成図である。
【図２０】図１９に示す従来の情報処理装置がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合の処理シーケンスを示す図である。
【図２１】図１９に示す従来の情報処理装置がＤＭＡコントローラによる第１の記憶領域のデータの第２の記憶領域への転送を行う場合のプロセッサ及びＤＭＡコントローラの動作状況を示す図である。
【符号の説明】
【０１０３】
９…プロセッサ
１０…制御・演算部
１１…キャッシュ・メモリ
１２…主記憶装置
１３…第１の記憶領域
１４…第２の記憶領域
１５…主記憶制御装置
１６、１７、１８…バスマスタ
１９…ＤＭＡコントローラ
２８…ＤＭＡコントローラ
４０…プロセッサ
４１…制御・演算部
４２…キャッシュ・メモリ
４３…バスマスタ
４４…ＤＭＡコントローラ
【図１】
2006023792.tif 000003
【図２】
2006023792.tif 000004
【図３】
2006023792.tif 000005
【図４】
2006023792.tif 000006
【図５】
2006023792.tif 000007
【図６】
2006023792.tif 000008
【図７】
2006023792.tif 000009
【図８】
2006023792.tif 000010
【図９】
2006023792.tif 000011
【図１０】
2006023792.tif 000012
【図１１】
2006023792.tif 000013
【図１２】
2006023792.tif 000014
【図１３】
2006023792.tif 000015
【図１４】
2006023792.tif 000016
【図１５】
2006023792.tif 000017
【図１６】
2006023792.tif 000018
【図１７】
2006023792.tif 000019
【図１８】
2006023792.tif 000020
【図１９】
2006023792.tif 000021
【図２０】
2006023792.tif 000022
【図２１】
2006023792.tif 000023