(57)【要約】本発明は、プロセッサモジュールとシステムコントローラを有し、プロセッサモジュールがキャッシュ装置を有し、システムコントローラがキャッシュ装置のタグのコピーＴＡＧ２を有するシステムに対し、キャッシュ装置のデータブロックの状態を無効Ｉ、共有Ｓ、排他Ｅ、変更Ｍ、共有変更Ｏ、書込可能Ｗの６状態で表現するプロトコルを適用可能にすることを目的とする。ＥとＭとＷの３状態はＴＡＧ２では区別できないので、ＴＡＧ２のスヌープ完了時にデータブロックの次の状態が確定しない。これに対処するため、データブロックの送出を担当するキャッシュ装置からの応答パケット中に、要求元のキャッシュ装置での新たな状態に関する情報を含める。また、ＴＡＧ２のスヌープ完了時から、データブロックの送出を担当するキャッシュ装置からの応答パケットを受信して次の状態が確定するまでの間、ＴＡＧ２において、対象データブロックに関するロックを行う。
2007099583.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロセッサシステムを構成するキャッシュ装置を制御するシステムコントローラにおいて、
前記キャッシュ装置は、プロセッサモジュール毎に設けられ互いに接続され、主記憶装置の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持するキャッシュメモリと、前記データブロックの状態を、無効状態Ｉ（Invalid）、共有状態Ｓ（Shared）、排他状態Ｅ（Exclusive）、変更状態Ｍ（Modified）、共有変更状態Ｏ（Shared Modified）、書込可能状態Ｗ（Writable Modified）の６状態で表現して前記キャッシュメモリを制御するキャッシュコントローラと、を備え、
前記システムコントローラは、
スヌープ完了時に対象データブロックの次の状態が確定しない場合、ヒットしてデータブロックの送出を担当するキャッシュ装置から前記６状態のうち次の自身の状態をデータ転送先のキャッシュ装置上での新状態として通知するスヌープ制御部と、
を備えることを特徴とするシステムコントローラ。
【請求項２】
前記スヌープ制御部は、スヌープ処理の完了時からデータ転送応答を受信して次の状態が確定するまでの期間に対象データブロックに対するアドレスロックを実行することを特徴とする請求項１に記載のシステムコントローラ。
【請求項３】
前記システムコントローラは、前記キャッシュ装置を複数個備える大規模システムＬＳＩのためのＬＳＩであることを特徴とする請求項１に記載のシステムコントローラ。
【請求項４】
マルチプロセッサシステムを構成するキャッシュ装置を制御するキャッシュ制御方法において、
キャッシュメモリに主記憶の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持し、
前記データブロックの状態を、無効状態Ｉ（Invalid）、共有状態Ｓ（Shared）、排他状態Ｅ（Exclusive）、変更状態Ｍ（Modified）、共有変更状態Ｏ（Shared Modified）、書込可能状態Ｗ（Writable Modified）の６状態で表現して前記キャッシュメモリを制御し、
スヌープ完了時に対象データブロックの次の状態が確定しない場合、ヒットしてデータブロックの送出を担当するキャッシュ装置から前記６状態のうち次の自身の状態をデータ転送先のキャッシュ装置上での新状態として通知する、
ことを特徴とするキャッシュ制御方法。
【請求項５】
さらに、スヌープ処理の完了時からデータ転送応答を受信して次の状態が確定するまでの期間に対象データブロックに対するアドレスロックを実行することを特徴とする請求項４に記載のキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムを構成するキャッシュ装置を制御するシステムコントローラおよび該キャッシュ装置を制御するキャッシュ制御方法に関し、特に、他系のキャッシュ装置上のデータブロックへの状態変更要求を減らして自系のキャッシュ装置へのアクセス性能を高めることが可能なシステムコントローラおよびキャッシュ制御方法に関する。
【背景技術】
【０００２】
従来、コンピュータシステムの高速化の要求に伴い、マルチプロセッサシステムにおいては各ＣＰＵにキャッシュ装置を設けている。ＣＰＵ毎に設けたキャッシュ装置上のデータは、キャッシュ装置間に亘ってそのデータの正しさ、即ちデータの共有と一貫性を保つため、キャッシュコヒーレンスプロトコルと呼ばれるキャシュメモリ間のデータの整合性を保つ規則に従って、キャッシュ装置上でブロック毎に管理されている。【０００３】
従来の一般的なキャッシュプロトコルとしては、「Ｍ」「Ｅ」「Ｓ」「Ｉ」の４状態を管理するＭＥＳＩキャッシュプロトコルが知られている。ここで、Ｍは、変更（Modified）状態であり、複数のキャッシュ装置の１つにのみ有効データが保持されており、かつ、データは変更されており、主記憶装置のそれと値が同じであることが保証されない。Ｅは、排他（Exclusive）状態であり、複数のキャッシュ装置の１つにのみ有効データが保持されている。Ｓは、共有（Shared）状態であり、複数のキャッシュ装置上に同じデータが保持されている。そして、Ｉは、無効（Invalid）状態であり、キャッシュ装置上のデータは無効である。【０００４】
このようなＭＥＳＩキャッシュプロトコルを用いたキュッシュ制御において、あるＣＰＵがキャッシュ装置にストアしたデータブロックを、他系のＣＰＵが参照するフェッチ要求を行った場合、主記憶装置へのデータブロックの書込み（以下、ＭＳライトという）を必要とし、その分、アクセスに時間がかかる。【０００５】
そこで、ＭＥＳＩキャッシュプロトコルに、共有変更Ｏ（Shared Modified）状態を加えた５状態を示す構成とすることにより、フェッチ処理の際のＭＳライトを不要にしている。なお、共有変更の符号Ｏは、Ownerを表わす。【０００６】
しかしながら、この５状態をとるキャッシュプロトコルにあっても、自系フェッチ処理に続いて他系ストア処理が行われた場合、共有変更Ｏの状態にある他系に対し無効Ｉに切替えるための状態変更要求が必要であり、この他系への状態変更要求を行っている分、ストア処理に時間がかかり、自系のフェッチ要求で取得したキャッシュ上のデータブロックに自系でストア処理を行う頻度は高いため、装置全体としてアクセス性能に大きく影響する問題があった。【０００７】
そこで、キャッシュメモリとキャッシュコントローラとを備えるキャッシュ装置において、キャッシュメモリは、主記憶装置の一部のデータをキャッシュラインのブロック単位に保持すると共にキャッシュラインに保持したデータブロック状態を示す情報を保持し、キャッシュコントローラは、データブロックの状態を、例えば無効状態Ｉ、共有状態Ｓ、排他系状態Ｅ、変更状態Ｍ、共有変更状態Ｏに加え、フェッチ要求があった場合に段階的に共有性を持たせるための状態である、書込可能状態Ｗ（Writable Modified）の６状態で表現してキャッシュメモリを制御する技術が開示されている。【０００８】
この技術により、キャッシュ装置上で管理するデータブロックの状態を細分化し、これによって他系への状態変更要求を減らし、結果としてキャッシュ装置へのアクセスを速くすることが可能となっている。
【発明の開示】
【０００９】
しかしながら、上述のようなスヌープ制御においては、システムコントローラが装備するキャッシュメモリ装置のタグ（ＴＡＧ）のコピー（以下、ＴＡＧ２という）では対象データブロックの状態が判別できないケースが増えるため、データブロックのキャッシュ装置間の転送について不具合が生じてしまうことがあるという問題点があった。
【００１０】
例えば、フェッチアクセスの実行時に、ヒットしたデータブロックの状態（排他系状態Ｅ、書込可能状態Ｗ、変更状態Ｍ）によって、要求元ＣＰＵのキャッシュメモリへの登録時の状態が異なっているが、システムコントローラが持つタグテーブルではそれらの識別ができない。そのためヒットしたキャッシュメモリから、対象データブロックの登録状態が何であったかを知る必要がある。システムコントローラでは通常はタグテーブルの更新をスヌープが完了して、ヒットしたキャッシュメモリに対してデータ転送要求、またはメインメモリへのメモリアクセス要求の発行が決定した時点で、関係する全てのキャッシュメモリのタブテーブルを更新する。しかし、キャッシュメモリからのデータ転送要求に対する応答を受信するまで、対象データブロックの状態が決定しないため、タグテーブル上の状態が未定である期間が存在してしまうという問題点があった。
【００１１】
本発明は、上記事情に鑑みてなされたもので、マルチプロセッサで構成される大規模な情報処理装置において、他系のキャッシュ装置上のデータブロックへの状態変更要求を減らして自系のキャッシュ装置へのアクセス性能を高めることが可能なシステムコントローラおよびキャッシュ制御方法を提供することを目的とする。
【００１２】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のシステムコントローラは、マルチプロセッサシステムを構成するキャッシュ装置を制御するシステムコントローラであって、前記キャッシュ装置が、プロセッサモジュール毎に設けられ互いに接続され、主記憶装置の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持するキャッシュメモリと、前記データブロックの状態を、無効状態Ｉ（Invalid）、共有状態Ｓ（Shared）、排他状態Ｅ（Exclusive）、変更状態Ｍ（Modified）、共有変更状態Ｏ（Shared Modified）、書込可能状態Ｗ（Writable Modified）の６状態で表現して前記キャッシュメモリを制御するキャッシュコントローラとを備え、前記システムコントローラが、スヌープ完了時に対象データブロックの次の状態が確定しない場合、ヒットしてデータブロックの送出を担当するキャッシュ装置から前記６状態のうち次の自身の状態をデータ転送先のキャッシュ装置上での新状態として通知するスヌープ制御部を備えることを特徴とする。
【００１３】
また、本発明のシステムコントローラは、前記スヌープ制御部が、スヌープ処理の完了時からデータ転送応答を受信して次の状態が確定するまでの期間に対象データブロックに対するアドレスロックを実行することが望ましい。
【００１４】
また、本発明のシステムコントローラは、前記システムコントローラが、前記キャッシュ装置を複数個備える大規模システムＬＳＩのためのＬＳＩであることが望ましい。
また、本発明の一態様によれば、本発明のキャッシュ制御方法は、マルチプロセッサシステムを構成するキャッシュ装置を制御するキャッシュ制御方法であって、キャッシュメモリに主記憶の一部のデータをキャッシュラインのブロック単位に保持すると共に前記キャッシュラインに保持したデータブロック状態を示す情報を保持し、前記データブロックの状態を、無効状態Ｉ、共有状態Ｓ、排他状態Ｅ、変更状態Ｍ、共有変更状態Ｏ、書込可能状態Ｗの６状態で表現して前記キャッシュメモリを制御し、スヌープ完了時に対象データブロックの次の状態が確定しない場合、ヒットしてデータブロックの送出を担当するキャッシュ装置から前記６状態のうち次の自身の状態をデータ転送先のキャッシュ装置上での新状態として通知することを特徴とする。
【００１５】
また、本発明のキャッシュ制御方法は、さらに、スヌープ処理の完了時からデータ転送応答を受信して次の状態が確定するまでの期間に対象データブロックに対するアドレスロックを実行することが望ましい。
【図面の簡単な説明】
【００１６】
【図１】マルチプロセッサシステムの概要を説明するための図である。
【図２】大規模マルチプロセッサシステムの概要を説明するための図である。
【図３】マルチプロセッサシステムのハードウェア構成を示すブロック図である。
【図４】キャッシュ装置の機能を示すブロック図である。
【図５】システムコントローラの機能を示すブロック図である。
【図６】ＴＡＧ２更新のアドレスロックを示す図である。
【図７】排他状態Ｅでのヒットケースの状態遷移図である。
【図８】書込可能状態Ｗでのヒットケースの状態遷移図である。
【図９】変更状態Ｍでのヒットケースの状態遷移図である。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づいて本発明を適用した実施の形態を説明する。
図１は、マルチプロセッサシステムの概要を説明するための図である。
図１において、マルチプロセッサシステム１は、複数のシステムボード２−１，２−２を備えている。各システムボード２−１，２−２のそれぞれは、システムコントローラ１３−１または１３−２、複数のプロセッサモジュール１０−１，・・・，１０−ｎ、複数の入出力（ＩＯ）デバイス１１−１，・・・，１１−ｎ、複数のメモリ（ＭＥＭ）１６−１，・・・，１６−ｎを備えている。システムボード２−１，２−２は、互いに通信可能に接続され、プロセッサモジュール１０−１，・・・，１０−ｎまたは入出力デバイス１１−１，・・・，１１−ｎからの命令に従い、メモリ１６−１，・・・，１６−ｎへの読み書きをコントロールする。【００１８】
図２は、大規模マルチプロセッサシステムの概要を説明するための図である。
図２において、マルチプロセッサシステム３は、上記図１のマルチプロセッサシステム１と比較して規模が大きく、より多くのシステムボード２−１，２−２，２−３，２−４，２−５，２−６，２−７，２−８を備えており、さらに、これらのシステムボード２−１，・・・，２−８は、クロスバスイッチ４を介して互いに接続されている。【００１９】
そして、これらのシステムボード２−１，・・・，２−８は、上記図１のマルチプロセッサシステム１が備えるシステムボード２−１と同様、１つのシステムコントローラ１３−１，・・・，１３−５，・・・、複数のプロセッサモジュール１０−１，・・・，１０−ｎ、複数の入出力（ＩＯ）デバイス１１−１，・・・，１１−ｎ、複数のメモリ（ＭＥＭ）１６−１，・・・，１６−ｎを備えている。【００２０】
本発明はこれら図１乃至図２のようなマルチプロセッサシステムに適用することができる。
図３は、マルチプロセッサシステムのハードウェア構成を示すブロック図である。【００２１】
図３において、マルチプロセッサシステム１は、複数のプロセッサモジュール１０−１，１０−２，・・・，１０−ｎを備え、プロセッサモジュール１０−１〜１０−ｎのそれぞれには、ＣＰＵ（プロセッサ）１２−１〜１２−ｎ及びキャッシュ装置１４−１〜１４−ｎが設けられている。そして、各プロセッサモジュール１０−１〜１０−ｎは、キャッシュ装置１４−１〜１４−ｎがシステムバス１５に接続することにより相互に接続されている。【００２２】
キャッシュ装置１４−１〜１４−ｎを接続するシステムバス１５としては、例えばスヌープバスがある。スヌープバスとは、キャッシュ装置１４−１〜１４−ｎの何れかでＣＰＵ１２−１〜１２−ｎからフェッチまたはストアの処理要求があった際に、これらの処理要求に該当するキャッシュラインに保持しているデータブロックの状態をスヌープ制御線の状態信号により直ちに取得できるバスである。【００２３】
図４は、キャッシュ装置の機能を示すブロック図である。
図４において、キャッシュ装置１４−１は、キャッシュコントローラ１８とキャッシュメモリ２０とを備えている。キャッシュメモリ２０は、複数のキャッシュライン２２単位にデータを保持しており、各キャッシュライン２２はタグ２４とデータブロック３０とを含み、タグ２４は状態タグ２６とアドレスタグ２８とを備えている。【００２４】
キャッシュメモリ２０の状態タグ２６には、データブロックの状態を無効状態Ｉ、共有状態Ｓ、排他状態Ｅ、変更状態Ｍ、共有変更状態Ｏおよび書込可能状態Ｗの６状態で表現してキャッシュメモリ２０を管理している。【００２５】
キャッシュコントローラ１８にはキャッシュ制御管理部３２、状態管理部３４、プロセッサインタフェース（ＩＦ）３６、バスインタフェース（ＩＦ）３８が設けられる。また状態管理部３４にはフェッチプロトコル処理部４０とストアプロトコル処理部４２とが設けられる。【００２６】
キャッシュ制御管理部３２は、ＣＰＵ１２−１からフェッチ要求を受けると、キャッシュメモリ２０のタグ２４を参照し、要求アドレスとアドレス値の一致するアドレスタグ２８を持ったキャッシュライン２２を検索する。アドレスの一致するキャッシュライン２２が存在しない場合にはキャッシュミスとなり、主記憶装置もしくは他のキャッシュ装置１４−２〜１４−ｎの何れかからデータブロックを取得してＣＰＵ１２−１に提供する。【００２７】
キャッシュ制御管理部３２は、要求アドレスに一致するアドレスのキャッシュライン２２が存在した場合には、そのキャッシュライン２２の状態タグ２６による無効状態Ｉ、共有状態Ｓ、排他状態Ｅ、変更状態Ｍ、共有変更状態Ｏまたは書込可能状態Ｗの状態に応じた処理を行う。【００２８】
キャッシュ制御管理部３２は、ＣＰＵ１２−１からのストア要求に対し、キャッシュヒットであればキャッシュメモリ２０上の該当するキャッシュライン２２のデータブロックを更新するストア処理を行ない、ミスヒットであればキャッシュメモリ２０上に新たなキャッシュライン２２を確保してデータを書き込むストア処理を行う。このとき他のキャッシュ装置１４−２〜１４−ｎの何れかに該当するデータブロックが存在する場合には、最新のデータブロックを他のキャッシュ装置１４−２〜１４−ｎの何れかから取得した後にデータを書き込むストア処理を行う。【００２９】
状態管理部３４は、上述のようなキャッシュ制御管理部３２によるＣＰＵ１２−１及びシステムバス１５を経由した他のキャッシュ装置１４−２〜１４−ｎの何れかからの処理要求に対し、処理要求を実行した後の該当するキャッシュライン２２上の状態タグ２６の状態遷移制御を行う。【００３０】
状態管理部３４によるキャッシュコヒーレンスのための状態遷移制御として、無効状態Ｉ、共有状態Ｓ、排他状態Ｅ、変更状態Ｍ、共有変更状態Ｏおよび書込可能状態Ｗの６状態のキャッシュプロトコルを適用している。【００３１】
なお、他のキャッシュ装置１４−２〜１４−ｎも上述したキャッシュ装置１４−１と同様の機能を有している。
図５は、システムコントローラの機能を示すブロック図である。【００３２】
図５において、システムコントローラ１３−１，１３−２のそれぞれは、メモリアクセス要求受信部５１、ブロードキャスト送受信部５２、スヌープ制御部５３、ＭＳアクセス発行部５４およびＣＰＵリクエスト発行部５５備えている。【００３３】
メモリアクセス要求受信部５１は、プロセッサモジュール１０−１，・・・，１０−ｎまたは入出力デバイス１１−１，・・・，１１−ｎからの、メモリ１６−１，・・・，１６−２へのアクセス要求を受信する。ブロードキャスト送受信部５２は、システムコントローラ１３−１または１３−２のメモリアクセス要求受信部５１が受信したアクセス要求が、他のシステムコントローラ１３−２または１３−１が備えるメモリ１６−１，・・・，１６−２へのアクセス要求である場合に、該他のシステムコントローラ１３−２または１３−１が備えるブロードキャスト送受信部５２との間でアクセス要求を送受信する。【００３４】
スヌープ制御部５３は、ブロードキャスト送受信部５２を介したプロセッサモジュール１０−１，・・・，１０−ｎまたは入出力デバイス１１−１，・・・，１１−ｎからのアクセス要求に基づいて、メモリ１６−１，・・・，１６−２に格納されている内容を検出するためのスヌープ処理を実行する。また、スヌープ制御部５３は、自ら有するロックレジスタ５３１に格納されている情報に基づいて、スヌープ処理が完了した時点からデータ転送の応答を受信するまでの間、対象データブロックのアドレスについてロックを設定する。【００３５】
ＭＳアクセス発行部５４は、スヌープ制御部５３からの指示に基づき、メモリ１６−１，・・・，１６−２へのアクセス命令を発行し、ＣＰＵリクエスト発行部５５は、スヌープ制御部５３からの指示に基づき、プロセッサモジュール１０−１，・・・，１０−ｎへのアクセス命令を発行する。【００３６】
次に、上述のような構成のマルチプロセッサシステムにおいて実行されるキャッシュ制御処理について説明する。
図６は、ＴＡＧ２更新のアドレスロックを示す図である。また、図７乃至図９は、状態遷移図であり、図７は排他状態Ｅでのヒットケースを示し、図８は書込可能状態Ｗでのヒットケースを示し、図９は変更状態Ｍでのヒットケースを示す。【００３７】
本発明を適用した実施の形態においては、まず、スヌープ処理の完了時に対象データブロックの次の状態が確定しない場合、ヒットしてデータブロックの送出を担当するキャッシュ装置から、無効状態Ｉ、共有状態Ｓ、排他状態Ｅ、変更状態Ｍ、共有変更状態Ｏ、書込可能状態Ｗの６状態のうち次の自身の状態を、データ転送先のキャッシュ装置上での新状態として通知するようなキャッシュプロトコルにする。また、システムコントローラ側のＴＡＧ２の更新については、スヌープ完了時からデータ転送応答を受信して次の状態が確定するまでの期間に対象データブロックに対するアドレスロック制御を装備し、後続の同一データブロックに対するアクセスを禁止するロック制御を行う。【００３８】
すなわち、上記キャッシュプロトコルについては、フェッチ要求からキャッシュ装置間でのデータ転送が発生した場合、ヒットしたキャッシュ装置（データ転送元）は対象データブロックの登録状態により、データ転送の応答と共に新規状態をシステムコントローラに通知する。そして、フェッチ要求元のＣＰＵは、データ転送の応答パケット中の上記情報の「要求元」の状態でキャッシュ装置に新規登録を行う。また、データ転送元のＣＰＵは、データ転送時に対象データブロックの登録状態を「転送元」の状態に遷移させる。【００３９】
さらに、ＴＡＧ２更新に関するロック制御については、フェッチ要求が他のＣＰＵのキャッシュ装置で排他状態Ｅ、変更状態Ｍ、または書込可能状態Ｗでヒットした場合（システムコントローラのＴＡＧ２では全て排他状態Ｅ）、ヒットしたキャッシュ装置にデータ転送を要求するが、そのスヌープが完了した時点からデータ転送の応答を受信するまでの間、対象データブロックのアドレスについてロックを設定するようにする。すると、このデータ転送によるシステムコントローラのＴＡＧ２の更新が完了するまでは、同一データブロックに対する他のアクセスは一切実行できないこととなる。【００４０】
これにより、他系キャッシュ装置上のデータブロックへの状態変更要求を減らしてキャッシュ装置へのアクセス性能を高めることを目的とした６状態キャッシュプロトコルの制御が、従来からのスヌープ方式において実現可能となる。【００４１】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、システムコントローラの一機能としてハードウェアまたはＤＳＰボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。【００４２】
また、本発明が適用されるシステムコントローラは、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。【００４３】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムコードを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、システムコントローラに供給し、そのシステムコントローラのコンピュータがプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。【００４４】
この場合、可搬記録媒体等から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した可搬記録媒体等は本発明を構成することになる。【００４５】
プログラムコードを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。【００４６】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。【００４７】
さらに、可搬型記録媒体から読み出されたプログラムコードやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。【００４８】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【図１】
2007099583.tif 000003
【図２】
2007099583.tif 000004
【図３】
2007099583.tif 000005
【図４】
2007099583.tif 000006
【図５】
2007099583.tif 000007
【図６】
2007099583.tif 000008
【図７】
2007099583.tif 000009
【図８】
2007099583.tif 000010
【図９】
2007099583.tif 000011
【国際調査報告】
2007099583.tif 000012
2007099583.tif 000013
2007099583.tif 000014
2007099583.tif 000015