以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る試験装置10の構成を示す。試験装置10は、半導体回路等の被試験デバイス200を試験する。試験装置10は、バス12と、複数の試験モジュール20と、情報格納部30と、制御用コンピュータ40とを備える。
それぞれの試験モジュール20は、試験装置10に設けられるスロットに挿入される。それぞれの試験モジュール20は、被試験デバイス200と信号を受け渡すことで、被試験デバイス200を試験する。より具体的には、それぞれの試験モジュール20は、信号を受け渡す1または複数のピンが設けられ、それぞれのピンが被試験デバイス200の何れかの端子と電気的に接続される。
また、それぞれの試験モジュール20は、互いに異なる種類であってよい。例えば、ある一の試験モジュール20は、被試験デバイス200に所定の論理パターンを有する試験信号を供給する機能を有し、他の試験モジュール20は、被試験デバイス200に動作クロック、電源電力等を供給する機能を有する。試験装置10は、これらの複数の試験モジュール20を並行して動作させて、被試験デバイス200を試験する。なお、試験装置10は、一つの被試験デバイス200を試験してもよいし、複数の被試験デバイス200を並行して試験してもよい。
情報格納部30は、当該試験装置10が備える複数の試験モジュール20のそれぞれの種類および接続関係が記述された構成情報を記憶する。また、情報格納部30は、制御用コンピュータ40が実行するプログラム、試験パターンおよび診断用パターン等を記憶する。
制御用コンピュータ40は、バス12を介してそれぞれの試験モジュール20を制御する。制御用コンピュータ40は、被試験デバイス200を試験する場合、試験プログラムを実行することにより、各試験モジュール20による試験を制御する試験制御装置として機能する。
より具体的には、試験時において、制御用コンピュータ40は、それぞれの試験モジュール20に対して、命令シーケンスおよびパターンデータを含む試験パターンを供給して、当該試験パターンを実行させる。これにより、各試験モジュール20は、被試験デバイス200の対応する端子に試験パターンに応じた試験信号を供給して、被試験デバイス200を試験することができる。
また、試験装置10は、各試験モジュール20が正常に動作するか否かを診断する機能を有する。試験モジュール20の診断時において、制御用コンピュータ40は、診断プログラムを実行することにより、各試験モジュール20を診断する診断装置として機能する。
より具体的には、診断時において、試験装置10は、被試験デバイス200が取り外され、被試験デバイス200に代えて診断用回路等が取り付けられる。診断用回路は、一例として、試験モジュール20の何れかのピンから出力された信号を、当該試験モジュール20または他の試験モジュール20の何れかのピンに入力する。
診断用回路が取り付けられた状態において、制御用コンピュータ40は、それぞれの試験モジュール20に対して、命令シーケンスおよびパターンデータを含む診断用パターンを供給して、当該診断用パターンを実行させる。これにより、各試験モジュール20は、当該試験モジュール20のそれぞれのピンに対応して診断用パターンに応じた診断用信号を発生して、当該試験モジュール20を自己診断させることができる。
図2は、試験モジュール20の機能構成を示す。それぞれの試験モジュール20は、試験部42と、自己診断部44と、設定レジスタ46とを有する。
試験部42は、被試験デバイス200の所定の端子との間で信号を受け渡すことにより、被試験デバイス200を試験する。試験部42は、試験時において、制御用コンピュータ40からバス12を介して試験パターンが与えられる。試験部42は、与えられた試験パターンを実行して、試験パターンに応じた試験信号を生成して被試験デバイス200の指定された端子に供給する。
さらに、試験部42は、試験パターンを実行して、試験パターンに応じた期待値と被試験デバイス200が出力する応答信号とを比較して、被試験デバイス200の良否を判定する。そして、試験部42は、バス12を介して、被試験デバイス200の良否判定結果を制御用コンピュータ40に通知する。
自己診断部44は、診断用パターンを実行することにより、試験部42が正常に動作するか否かを診断する。自己診断部44は、診断時において、制御用コンピュータ40からバス12を介して診断用パターンが与えられる。試験部42は、与えられた診断用パターンを実行して、診断用パターンに応じた診断用信号を生成して、当該試験モジュール20の指定されたピンから出力する。
さらに、自己診断部44は、診断用パターンを実行して、診断用パターンに応じた診断用期待値と試験モジュール20の何れかのピンから出力される信号とを比較して、試験部42が正常に動作しているか否かを判定する。そして、自己診断部44は、バス12を介して、判定結果を制御用コンピュータ40に通知する。
設定レジスタ46は、試験時または診断時において、制御用コンピュータ40からバス12を介して当該試験モジュール20に設定される設定値を格納する。設定レジスタ46は、一例として、発生する信号の電圧値、電流値または発生する信号の周波数等の設定値がバス12が与えられる。試験部42および自己診断部44は、設定レジスタ46に記憶された各設定値に応じた試験信号および診断用信号を発生する。
なお、本実施形態において、試験部42および自己診断部44は、共通のハードウェアにより実現される。即ち、試験モジュール20内のシーケンサが試験パターンを実行することにより、当該試験モジュール20内の各ハードウェアが試験部42として機能する。また、試験モジュール20内のシーケンサが診断用パターンを実行することにより、当該試験モジュール20内の各ハードウェアが自己診断部44として機能する。
図3は、診断装置50の機能構成を示す。診断時において、制御用コンピュータ40および情報格納部30は、図3に示されるような、当該試験装置10を診断する診断装置50として機能する。診断装置50は、構成記憶部52と、パターン記憶部54と、グループ設定部56と、自動生成プログラム記憶部58と、生成部60と、パターンファイル記憶部62と、パラメータファイル記憶部64と、診断プログラム記憶部66と、診断部70とを備える。
構成記憶部52は、当該試験装置10が備える複数の試験モジュール20のそれぞれの種類および接続関係が記述された構成情報を記憶する。構成情報は、当該試験装置10に装着される試験モジュールが追加、取り外しおよび交換等される毎に、使用者等により更新される。
構成情報には、一例として、接続関係として、複数の試験モジュール20のそれぞれについて、当該試験モジュール20と制御用コンピュータ40と接続するバス12の番号、および、当該試験モジュール20が装着されたスロットの番号が記述される。さらに、構成情報には、一例として、複数の試験モジュール20のそれぞれの接続関係として、当該試験モジュール20のそれぞれのモジュールピンの番号と、それぞれのモジュールピンに電気的に接続されたコネクタのコネクタピンの番号とが記述される。なお、それぞれのコネクタピンは、被試験デバイス200の端子に電気的に接続される。
パターン記憶部54は、試験モジュール20を診断するための診断用パターンを、試験モジュール20の種類毎に記憶する。パターン記憶部54に記憶された診断用パターンは、例えば、試験モジュール20の製作者等により作成される。パターン記憶部54は、当該試験装置10に装着された試験モジュール20のみならず、今後装着される予定の種類の試験モジュール20の診断用パターンを更に記憶してもよい。
グループ設定部56は、当該試験装置10が備える複数の試験モジュール20に対して、並行して診断するための同一種類の1または複数の試験モジュール20のグループを設定する。なお、当該診断装置50が並行して診断ができる試験モジュール20の数の上限が予め定められており、当該試験装置10が同一種類の試験モジュール20をこの予め定められた個数より多く備える場合には、グループ設定部56は、当該種類の試験モジュール20を予め定められた個数以下ずつ含む複数のグループを設定する。
自動生成プログラム記憶部58は、パターンファイルおよびパラメータファイルを生成するための自動生成プログラムを記憶する。制御用コンピュータ40は、診断に先だって、自動生成プログラムを読み出して実行する。
生成部60は、制御用コンピュータ40が自動生成プログラムを実行することにより実現される。生成部60は、構成情報およびパターン記憶部54に記憶された診断用パターンに基づいて、複数の試験モジュール20のそれぞれを診断するための診断用パターンを記述したパターンファイルを生成する。さらに、生成部60は、構成情報に基づいて、複数の試験モジュール20のそれぞれについて、発生する診断用信号と被試験デバイス200が接続されるコネクタピンとの対応関係が記述されたパラメータファイルを生成する。
生成部60は、一例として、グループ設定部56により設定されたグループ毎に、パターンファイルおよびパラメータファイルを生成する。生成部60は、生成したパターンファイルをパターンファイル記憶部62に記憶させる。また、生成部60は、生成したパラメータファイルをパラメータファイル記憶部64に記憶させる。
診断プログラム記憶部66は、当該試験装置10に備えられた複数の試験モジュール20を診断するための診断プログラムを記憶する。制御用コンピュータ40は、診断時において、診断プログラムを実行する。
診断部70は、制御用コンピュータ40が診断プログラムを実行することにより実現される。診断部70は、複数の試験モジュール20のそれぞれに対して、対応する診断用パターンに応じた診断用信号を発生させて、それぞれの試験モジュール20を診断する。この場合において、診断部70は、複数の試験モジュール20のそれぞれに対して、それぞれの診断用信号をパラメータファイルに記述された対応するコネクタピンに与えられるように発生させる。
また、診断部70は、グループ設定部56により設定されたグループ毎に診断プログラムを繰り返して実行して、設定されたグループ毎に、当該グループに含まれる1または複数の試験モジュール20に同一の診断用信号を発生させる。例えば、診断部70は、パターンファイル記憶部62に記憶されたパターンファイルおよびパラメータファイル記憶部64に記憶されたパラメータファイルを読み出す。
続いて、診断部70は、グループ内のそれぞれの試験モジュール20毎に、読み出したパターンファイルおよびパラメータファイルに基づき、当該試験モジュール20に対応する診断用パターンを生成する。より具体的には、診断部70は、それぞれの試験モジュール20毎に、当該試験モジュール20から発生されるそれぞれの診断用信号がパラメータファイルに記述された対応するコネクタピンに与えられるように、読み出したパターンファイルから必要な診断用パターンを選択および並べ替え等をする。
続いて、診断部70は、複数の試験モジュール20のそれぞれに、対応する診断用パターンを供給する。続いて、診断部70は、複数の試験モジュール20のそれぞれの設定レジスタ46に、設定値を供給する。そして、診断部70は、複数の試験モジュール20のそれぞれに実行開始命令を与えて、自己診断を開始させる。
図4は、複数の試験モジュール20を診断する場合の、各試験モジュール20が動作している期間の一例を示す。図4では、AからKの試験モジュール20を用いて説明するが、試験モジュール20の個数は、図4に示す個数に限定されない。
制御用コンピュータ40は、同一の診断用パターンを用いる試験モジュール20について、並行して当該診断用パターンを生成し、生成した診断用パターンを供給して実行させる。例えば、制御用コンピュータ40は、設定されたグループ単位で、複数の試験モジュール20の診断用パターンを生成し、生成した診断用パターンを供給して実行させる。
続いて、制御用コンピュータ40は、それぞれの試験モジュール20へ診断用パターンを供給した後に、診断用パターンの実行開始命令を与える。そして、制御用コンピュータ40は、それぞれの試験モジュール20において診断用パターンの実行が完了した後、診断結果をそれぞれの試験モジュール20から取得する。
以上のような診断装置50によれば、複数の試験モジュール20を並行して診断させることができるので、診断時間を短くすることができる。さらに、診断装置50は、構成情報を基に、パターンファイルおよびパラメータファイルを自動生成するので、試験装置10が備える試験モジュール20の構成が変わる毎にパターンファイルおよびパラメータファイルを使用者が作成しなくてよく、使用者の負担を軽減することができる。さらに、診断装置50によれば、試験モジュール20の種類および接続関係を変更する毎に、診断プログラムを再コンパイルする必要がなくなり、使用者の負担を軽減することができる。
なお、生成部60は、構成情報の変更に応じて、診断プログラム記憶部66に記憶された診断プログラムを書き換えてもよい。例えば、生成部60は、試験モジュール20が発生する診断用信号の電圧値、電流値および周波数等の設定値を書き換えることを目的として、診断プログラムにおける設定レジスタ46に書き込むべき設定値の記述を書き換えてもよい。このような場合には、生成部60は、書き換え後の診断プログラムを再コンパイルする。これにより、診断装置50は、ユーザによる操作負担を軽減することができる。
また、生成部60は、他の目的で診断プログラムが書き換えられた場合においても、診断プログラムを再コンパイルする。例えば、1種類の試験モジュール20を診断する内容から複数種類の診断モジュール20を診断する内容に書き換えられた場合、または、パラメータファイルを参照して診断対象の試験モジュール20の種類を認識して診断プログラムを書き換える場合に、生成部60は、書き換え後の診断プログラムを再コンパイルする。
図5は、試験装置10の構成の一例を示す。試験装置10は、1個の被試験デバイス200(DUT)に対して、複数個の試験モジュール20が接続される構成であってよい。例えば、試験装置10は、1個の被試験デバイス200に対して、複数種類(図5の例においては、A,B,Cの3種類)の試験モジュール20が接続される構成であってよい。
さらに、試験装置10は、複数の被試験デバイス200を並行して試験する構成であってよい。すなわち、試験装置10は、複数の被試験デバイス200のそれぞれ毎に、複数種類の被試験デバイス200が接続される構成であってよい。この場合、制御用コンピュータ40は、試験時において、複数種類の試験モジュール20を同時に並行して動作させる試験プログラムを実行する。
このような構成の試験装置10の診断においては、診断装置50は、診断用パターンを試験モジュール20の種類毎に順次に生成して供給する。そして、診断装置50は、診断用パターンの実行開始命令を複数種類の試験モジュール20に同時に与えて、複数種類の試験モジュール20を同時に並行して動作させる。これにより、診断装置50は、試験時と同様の試験環境を用いて、複数種類の試験モジュール20を並列して動作させた診断を容易に実現することができる。
また、試験装置10は、複数の制御用コンピュータ40を備える構成であってよい。このような場合、複数の制御用コンピュータ40のそれぞれが診断装置50を実現することができる。従って、このような試験装置10によれば、制御用コンピュータ40が1個の場合と比較して、当該試験装置10が並行して診断可能な試験モジュール20の数を増やすことができ、また、診断装置50において実行される処理を高速化することができる。
図6は、試験装置10のテストヘッド80の概略の構成の一例を示す。試験装置10は、テストヘッド80を備える。
テストヘッド80には、パフォーマンスボード82が取り付けられる。パフォーマンスボード82には、試験時において、被試験デバイス200が装着される。
パフォーマンスボード82には、例えば被試験デバイス200が装着される面とは反対側の面に、少なくとも1つのコネクタ84が設けられる。それぞれのコネクタ84は、複数のコネクタピンを有する。各コネクタピンは、パフォーマンスボード82内の配線を介して、被試験デバイス200の何れかの端子と電気的に接続される。
また、テストヘッド80は、試験モジュール20が挿入される複数のスロット86を有する。それぞれのスロット86は、挿入された試験モジュール20のいずれかのピンと接続される複数のモジュールピンを有する。
このようなテストヘッド80において、試験モジュール20が挿入された各スロットが有する各モジュールピンは、何れかのコネクタ84の何れかのコネクタピンに、ケーブルを介して電気的に接続される。これにより、試験モジュール20によれば、被試験デバイス200との間で信号をやり取りして、被試験デバイス200を試験することができる。
また、テストヘッド80内の各試験モジュール20は、異なるバス番号のバス12を介して制御用コンピュータ40と接続される。制御用コンピュータ40は、バス番号を指定して試験モジュール20にアクセスすることにより、指定した試験モジュール20を制御することができる。
図7および図8は、図6のような構成の試験装置10における、構成情報の一例を示す。構成情報には、試験装置10に装着された複数の試験モジュール20のそれぞれ毎に、試験モジュール情報が記述される。
構成情報には、図7に示されるように、一例として、当該試験モジュール20を製造したベンダのID、当該試験モジュール20の種類、および、当該試験モジュール20が接続されたバス12のバス番号のそれぞれ毎に分類された試験モジュール情報が記述されている。各試験モジュール情報には、当該試験モジュール20のシリアル番号、当該試験モジュール20の版数、ハードウェア版数、当該試験モジュール20が接続されているコネクタ84の番号、当該試験モジュール20の名称、当該試験モジュール20が挿入されているスロット86の番号が記述されている。
制御用コンピュータ40は、このような構成情報を参照することにより、それぞれのバス番号のバス12に接続されている試験モジュール20の種類を判別することができる。また、制御用コンピュータ40は、このような構成情報を参照することにより、当該試験モジュール20が接続されているスロット86の番号、および、当該試験モジュール20が電気的に接続されているコネクタ84の番号を判別することができる。
また、構成情報には、図8に示されるように、それぞれのスロット86のモジュールピン番号と、それぞれのコネクタ84のコネクタ番号との接続関係が記述されている。より具体的には、構成情報には、試験モジュール20が接続されたバス番号およびモジュールピン番号を組み合わせた値(ModulePin)と、コネクタ84のコネクタ番号およびコネクタピン番号を組み合わせた値(ConnectorPin)とが対応付けて記述されている。制御用コンピュータ40は、このような構成情報を参照することにより、試験モジュール20のそれぞれのピンが、被試験デバイス200の何れの端子に接続されているかを判別することができる。
図9は、パターンファイル記憶部62に記憶される診断用パターンの一例を示す。診断用パターンには、順次に実行される複数の命令の列を含む命令シーケンスが記述される。命令シーケンスは、一例として、次の命令に実行を進めるNOP、所定の位置の命令に実行を戻すJAMP、命令の実行を終了するEXIT等の命令を含む。
また、診断用パターンには、命令シーケンスの各命令に対応する、パターンデータが記述される。パターンデータは、発生する診断用信号の信号名および発生する診断用信号の論理値、並びに、発生する診断用信号の周波数を含む。
図9の例においては、Vに続くカッコ{}内に、発生する診断用信号の信号名および論理値が指定されている。また、Wに続くカッコ{}内に、発生する診断用信号の周波数が指定されている。なお、周波数が指定されていない命令は、前の命令における周波数が引き継がれる。
図9の例において、"abus"、"bbus"、"dir"および"en"のそれぞれは、診断用信号の信号名を示す。"abus"および"bbus"は、8ビットの診断用信号を表わしており、それぞれのビットが被試験デバイス200の端子に対応付けられている。また、"dir"および"en"は、1ビットの診断用信号を表わしており、被試験デバイス200の端子に対応付けられている。
信号名に続く値は、発生する論理値を表す。論理値は、例えば、1、0、H、L、X(不定)等である。それぞれの試験モジュール20は、このような診断用パターンを実行することにより、当該試験モジュール20の指定されたピンから診断用信号を発生することができる。
図10および図11は、パラメータファイル記憶部64に記憶されるパラメータファイルの一例を示す。図10に示されるように、パラメータファイルには、試験用パターンに記述された診断用信号の1ビット単位での信号名が記述される。
例えば、パラメータファイルには、8ビットの"abus"の各ビットの信号名が、1ビット目から順に、"a8"、"a7"、"a6"、"a5"、"a4"、"a3"、"a2"、"a1"であることが記述される。また、8ビットの"bbus"の各ビットの信号名が、1ビット目から順に、"b8"、"b7"、"b6"、"b5"、"b4"、"b3"、"b2"、"b1"であることが記述される。
なお、1ビット単位で信号名が記述された各信号は、それぞれが被試験デバイス200の何れかの端子に対応付けられている。例えば、診断用パターンに、abus="10000000"と記載されている場合には、信号a1に対応付けられた端子に、"1"が出力される。
また、図11に示されるように、パラメータファイルには、当該試験装置10に備えられた試験モジュール20が発生するそれぞれの診断用信号の信号名と、当該診断用信号を与えるコネクタ84のコネクタピン番号との対応関係が記述される。例えば、パラメータファイルには、1ビット単位の信号名と、対応するコネクタ番号およびコネクタピン番号とを組み合わせた値(ConnectorPin)とが対応付けて記述される。
このようなパラメータファイルを参照して、診断部70は、それぞれの試験モジュール20毎に、診断用パターンを書き換えて対応する試験モジュール20に供給する。より具体的には、診断部70は、複数の試験モジュール20のそれぞれについて、発生する診断用信号を、当該診断用信号の信号名に対応するピン番号のコネクタピンに与えられるように、パラメータファイルに基づき診断用パターンを書き換えて、対応する試験モジュール20に供給する。
すなわち、診断部70は、パラメータファイルに記述された信号名とコネクタピン番号との対応関係に従って、各試験モジュール20から診断用信号が発生されるように、診断用パターンを書き換える。これにより、診断部70によれば、それぞれの試験モジュール20から、適切な診断用信号を発生させることができる。
図12は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を診断装置50として機能させるプログラムは、構成記憶モジュールと、パターン記憶モジュールと、グループ設定モジュールと、自動生成プログラム記憶モジュールと、生成モジュールと、パターンファイル記憶モジュールと、パラメータファイル記憶モジュールと、診断プログラム記憶モジュールと、診断モジュールと、を備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、構成記憶部52、パターン記憶部54、グループ設定部56、自動生成プログラム記憶部58、生成部60、パターンファイル記憶部62、パラメータファイル記憶部64、診断プログラム記憶部66および診断部70としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である構成記憶部52、パターン記憶部54、グループ設定部56、自動生成プログラム記憶部58、生成部60、パターンファイル記憶部62、パラメータファイル記憶部64、診断プログラム記憶部66および診断部70として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の診断装置50が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。