(57)【要約】【課題】「パイプライン方式」の専用演算装置を使用する場合とほぼ同等のハードウエア規模で、より短時間でのデータ処理を可能にする。【解決手段】前処理用の第１の演算装置２０Ｂと後処理用の第２の演算装置３０Ｂを用い、第１の演算処理装置２０Ｂに演算結果保持手段２２と第１の演算制御情報出力手段２４１と第１の演算結果出力手段２３１を設け、第２の演算装置３０Ｂに第２の演算制御情報出力手段３４を設け、演算結果保持手段２２に互いに異なるタイミングで演算した複数の演算結果を保持し、第１の演算制御情報出力手段２４１は第２の演算装置を制御するための情報を出力し、第２の演算制御情報出力手段３４は演算結果出力手段２３１や第１の演算装置２０Ｂを制御するための情報を出力する。【選択図】図３
2011233155.tif 000002
【特許請求の範囲】
【請求項１】
演算結果保持手段と第１の演算結果出力手段と第１の演算制御情報出力手段とを有する前処理用の第１の演算装置、並びに、第２の演算制御情報出力手段を有する後処理用の第２の演算装置を備えるデータ処理装置であって、
前記演算結果保持手段は、前記第１の演算装置における演算結果から後処理に必要な演算結果のみを抽出して保持し、
前記第１の演算制御情報出力手段は、前記演算結果保持手段の状態について予め定められた条件に従って前記第２の演算装置を制御するための情報を出力し、
前記第２の演算制御情報出力手段は、前記第１の演算制御情報出力手段から入力される情報に従って前記第１の演算結果出力手段を制御するための情報を出力し、かつ前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置を制御するための情報を出力し、
前記第１の演算結果出力手段は、前記第２の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段に保持した演算結果を前記第２の演算装置に出力し、
前記第２の演算装置は、前記第１の演算制御情報出力手段から入力される情報に従って前記第１の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、
前記演算結果保持手段が、互いに異なるタイミングで演算した複数の演算結果を保持することを特徴とするデータ処理装置。
【請求項２】
演算結果保持手段と第１の演算結果出力手段と第１の演算制御情報出力手段とを有する前処理用の第１の演算装置、第２の演算制御情報出力手段を有する後処理用の第２の演算装置、並びに、演算制御装置を備えるデータ処理装置であって、
前記演算結果保持手段は、前記第１の演算手段における演算結果から後処理に必要な演算結果のみを抽出して保持し、
前記第１の演算制御情報出力手段は、前記演算結果保持手段の状態について予め定められた条件に従って前記第２の演算装置を制御するための情報を出力し、
前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置を制御するための情報を出力し、
前記演算制御装置は、前記第１の演算制御情報出力手段から入力される情報と前記第２の演算制御情報出力手段から入力される情報に従って前記第１の演算装置と前記第２の演算装置を制御するための情報を出力し、
前記第１の演算結果出力手段は、前記演算制御装置から入力される情報に従って前記演算結果保持手段にて保持した演算結果を出力し、
前記第２の演算装置は、前記演算制御装置から入力される情報に従って前記第１の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、
前記演算結果保持手段が、互いに異なるタイミングで演算した複数の演算結果を保持することを特徴とするデータ処理装置。
【請求項３】
請求項１又は２に記載のデータ処理装置において、
前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置の処理を途中で強制的に終了させるための情報を出力することを特徴とするデータ処理装置。
【請求項４】
請求項１乃至３のいずれか１つに記載のデータ処理装置において、
入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、
前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、
前記第１の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力することを特徴とするデータ処理装置。
【請求項５】
請求項１又は２に記載のデータ処理装置において、
入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、
前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、
前記第１の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力し、
前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置の処理を途中で強制的に終了させるための情報を出力し、
前記第１の演算装置もしくは前記演算制御装置は、前記第２の演算制御情報出力手段からの出力と前記第１の演算装置に入力された前記属性情報に従って前記第１の演算装置の処理を途中で強制終了するか否かを判定し、強制終了した場合にはすみやかに別の属性情報を有するデータの演算を開始することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量なデータの処理を行うデータ処理方法および装置に関し、特に、ハードウエアの規模を極力小さく抑えながら大量なデータ処理をなるべく短時間で処理できるようにしたデータ処理装置に関するものである。
【背景技術】
【０００２】
データの処理を行うデータ処理装置を実現する方法としてＣＰＵとソフトウェア（プログラム）を用いる構成が一般的に使用されるが、処理に要する時間はＣＰＵの性能と処理するデータの量に比例する。従って、使用できるＣＰＵの性能が十分ではない場合、大量なデータを短時間で処理しなければならない場合には、ＣＰＵを多数搭載し、それらを同時に動作させることが必要となる。
【０００３】
一方、ＣＰＵを使用せず、専用の演算装置によりデータ処理を行う方法もある。特に大量なデータを短時間で処理する方法としては、多数の演算装置を同時に動作させる「並列処理方式」が最も有効ではあるが、ハードウエアの規模が大きくなるという問題がある。
【０００４】
ハードウエアの規模を極力小さく抑えながら大量なデータ処理をなるべく短時間で実現する方法として、「パイプライン方式」（非特許文献１参照）と呼ばれる方法がある。図８はその「パイプライン方式」の専用演算装置５０の構成を示す図であり、５１はデータ読込手段、５２は第１演算手段、５３は第２演算手段、５４は演算結果出力手段である。このような専用演算装置５０を使用する場合、その専用演算装置はＣＰＵよりも小型化及び高性能化が容易であるため、ハードウエアの規模としてはＣＰＵを多数搭載する場合より小さくなる。
【非特許文献１】木戸出  他  著、「パイプライン方式と完全並列処理方式が増えた最近の画像処理装置」、日経エレクトロニクス、１９８２年７月１９日号、１７９−２１２頁
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、「パイプライン方式」の専用演算装置を使用する場合、「並列処理方式」の専用演算装置を使用する場合よりもハードウエアの規模が小さくなるが、「パイプライン方式」の専用演算装置でデータ処理を行う場合の処理に要する時間は、処理するデータの量にほぼ比例し、「並列処理方式」を用いた場合の所要時間より大きくなる。なお、「並列処理方式」を用いた場合の所要時間は、処理するデータの量にほぼ比例するが、並列数にほぼ反比例する。
【０００６】
以上に説明したように、従来技術による場合は、ハードウエア規模の縮小化とデータ処理に要する時間の縮小化を同時に満たすことはできなかった。
【０００７】
本発明の目的は、「パイプライン方式」の専用演算装置を使用する場合とほぼ同等のハードウエア規模で、より短時間でのデータ処理を可能としたデータ処理装置を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１にかかる発明のデータ処理装置は、演算結果保持手段と第１の演算結果出力手段と第１の演算制御情報出力手段とを有する前処理用の第１の演算装置、並びに、第２の演算制御情報出力手段を有する後処理用の第２の演算装置を備えるデータ処理装置であって、前記演算結果保持手段は、前記第１の演算装置における演算結果から後処理に必要な演算結果のみを抽出して保持し、前記第１の演算制御情報出力手段は、前記演算結果保持手段の状態について予め定められた条件に従って前記第２の演算装置を制御するための情報を出力し、前記第２の演算制御情報出力手段は、前記第１の演算制御情報出力手段から入力される情報に従って前記第１の演算結果出力手段を制御するための情報を出力し、かつ前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置を制御するための情報を出力し、前記第１の演算結果出力手段は、前記第２の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段に保持した演算結果を前記第２の演算装置に出力し、前記第２の演算装置は、前記第１の演算制御情報出力手段から入力される情報に従って前記第１の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、前記演算結果保持手段が、互いに異なるタイミングで演算した複数の演算結果を保持することを特徴とする。
請求項２にかかる発明のデータ処理装置は、演算結果保持手段と第１の演算結果出力手段と第１の演算制御情報出力手段とを有する前処理用の第１の演算装置、第２の演算制御情報出力手段を有する後処理用の第２の演算装置、並びに、演算制御装置を備えるデータ処理装置であって、前記演算結果保持手段は、前記第１の演算手段における演算結果から後処理に必要な演算結果のみを抽出して保持し、前記第１の演算制御情報出力手段は、前記演算結果保持手段の状態について予め定められた条件に従って前記第２の演算装置を制御するための情報を出力し、前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置を制御するための情報を出力し、前記演算制御装置は、前記第１の演算制御情報出力手段から入力される情報と前記第２の演算制御情報出力手段から入力される情報に従って前記第１の演算装置と前記第２の演算装置を制御するための情報を出力し、前記第１の演算結果出力手段は、前記演算制御装置から入力される情報に従って前記演算結果保持手段にて保持した演算結果を出力し、前記第２の演算装置は、前記演算制御装置から入力される情報に従って前記第１の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、前記演算結果保持手段が、互いに異なるタイミングで演算した複数の演算結果を保持することを特徴とする。
請求項３にかかる発明は、請求項１又は２に記載のデータ処理装置において、前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置の処理を途中で強制的に終了させるための情報を出力することを特徴とする。
請求項４にかかる発明は、請求項１乃至３のいずれか１つに記載のデータ処理装置において、入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、前記第１の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力することを特徴とする。
請求項５にかかる発明は、請求項１又は２に記載のデータ処理装置において、入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、前記第１の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力し、前記第２の演算制御情報出力手段は、前記第２の演算装置の演算結果について予め定められた条件に従って前記第１の演算装置の処理を途中で強制的に終了させるための情報を出力し、前記第１の演算装置もしくは前記演算制御装置は、前記第２の演算制御情報出力手段からの出力と前記第１の演算装置に入力された前記属性情報に従って前記第１の演算装置の処理を途中で強制終了するか否かを判定し、強制終了した場合にはすみやかに別の属性情報を有するデータの演算を開始することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、前処理用の第１の演算装置と後処理用の第２の演算装置を用いて、第１の演算装置では、第２の演算装置で演算する必要があるデータのみを保持し、第２の演算装置で演算する必要のあるデータは、第１の演算装置からの制御情報に従い、第２の演算装置で演算し、また、第２の演算装置の演算結果について予め定められた条件に従って第１の演算装置を制御するための情報を出力する、換言すれば、後処理での演算結果について予め定められた条件に従った前処理での演算を処理するので、第２の演算装置で処理するデータ量が削減され、「パイプライン」方式の専用演算装置を使用する場合とほぼ同程度のハードウエア規模で、データ処理に要する時間を短縮できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の前提技術のデータ処理装置の構成を示すブロック図である。
【図２】図１のデータ処理装置の動作のタイミングチャートである。
【図３】本発明の実施例１のデータ処理装置の構成を示すブロック図である。
【図４】図３のデータ処理装置の動作のタイミングチャートである。
【図５】本発明の実施例２のデータ処理装置の構成を示すブロック図である。
【図６】図５のデータ処理装置の動作のタイミングチャートである。
【図７】図５のデータ処理装置の動作のタイミングチャートである。
【図８】従来の専用演算装置の構成を示すブロック図である。
【図９】図８の専用演算装置の動作のタイミングチャートである。
【発明を実施するための最良の形態】
【００１１】
以下、図面をもとに本発明の前提技術と実施例を説明する。なお、すべての図面において共通する部分には同一の番号を割り当て、重複説明を避ける。
【００１２】
＜前提技術＞
図１は、本発明の前提技術のデータ処理装置１０Ａの構成を示すブロック図である。このデータ処理装置１０Ａは、前処理用の第１の演算装置２０Ａと後処理用の第２の演算装置３０Ａとを備える。第１の演算装置２０Ａは、第１のデータ読込手段２１と演算結果保持手段２２と第１の演算結果出力手段２３と第１の演算制御情報出力手段２４とを有する。第２の演算装置３０Ａは、第２のデータ読込手段３１と第２の演算結果出力手段３２と演算制御手段３３を備える。
【００１３】
第１の演算装置２０Ａは、第１のデータ読込手段２１によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始／終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されている場合の他、専用のデータ出力回路が出力する場合もある。
【００１４】
演算結果保持手段２２は、例えばＦＩＦＯ等で構成され、第１の演算装置２０Ａにおける演算結果から後処理に必要な演算結果のみを抽出して保持し、且つ互いに異なるタイミングで演算した複数の演算結果を保持する。
【００１５】
第１の演算制御情報出力手段２４は、予め定められた条件に従って第１の演算結果出力手段２３と第２の演算装置３０Ａを制御するための情報を出力する。すなわち、演算制御情報出力手段２４は、データ読込手段２１によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段２２へのすべての必要な演算結果の保持が終了した時点で（もしくは別途定められた条件に従って）、演算結果出力手段２３と第２の演算装置３０Ａに対して制御情報を出力する。
【００１６】
第１の演算結果出力手段２３は、第１の演算制御情報出力手段２４から入力される情報に従って、演算結果保持手段２２にて保持した演算結果を第２の演算装置３０Ａに出力する。
【００１７】
第２の演算装置３０Ａは、第２のデータ読込手段３１により第１の演算装置２０Ａの第１の演算結果出力手段２３の出力を順次読み込んで、予め定められた演算を行って、第２の演算結果出力手段３２により結果を順次出力する。この際のデータ読込の開始指示等は、第１の演算装置２０Ａの第１の演算制御情報出力手段２４から入力される情報に従って、演算制御手段３３が行う。
【００１８】
このデータ処理装置１０Ａの具体的な適用例として、携帯電話のパケット通信料金の計算を行う装置に適用した場合の一例を示す。
【００１９】
データ処理装置１０Ａには、ある１つの電話番号の通信履歴（１通信毎のパケット量と通信相手）がリストとして入力されるものとする。この電話番号の通信のうち、特定の相手との通信を無料とする契約が結ばれている場合、通信履歴の中から、無料となる通信を除いた後処理に必要な通信のパケット量を、第１の演算装置２０Ａで抽出、保持する。その後、第２の演算装置３０Ａにて、抽出、保持されたパケット量の合計を計算して料金を決定する。
【００２０】
図２にタイミングチャートの一例を示す。第１の演算装置２０Ａにおける最後の演算とその結果の保持が終了（保持しないで終了する場合もあり）した後、第１の演算装置２０Ａの演算制御情報出力手段２４が制御情報の出力を開始し、その制御情報に従って、第１の演算装置２０Ａの演算結果出力手段２３が出力を開始し、並行して第２の演算装置３０Ａの演算制御手段３３が、第２の演算装置３０Ａのデータ読込手段３１と演算結果出力手段３２を制御するための情報の出力（図２では省略）を開始する。
【００２１】
ここで、第１の演算装置２０Ａ及び第２の演算装置３０Ａ内で、通信履歴１つの演算に要する時間を比較する。第１の演算装置２０Ａの方は、その通信の通信相手が無料となる対象か否かを確認するだけなので、短時間で演算を行うことができる。一方、第２の演算装置３０Ａの方は、パケット量の加算を行うが、ハードウエアで加算を行う場合、その加算結果が取り得る最大値を考慮して、ハードウエアを構成する必要がある。加算に要する時間は、加算を行う演算器のハードウエア構成に依存し、加算結果が取り得る最大値に依存する。通常、加算結果が取り得る最大値として、対応する値を大きくするほど、加算の所要時間も大きくなる（具体的には、加算器の入出力のビット数を増やすほど、演算遅延が大きくなるということ）。従って、特に加算結果が取り得る最大値が大きい場合は、第２の演算装置３０Ａの通信履歴１つの演算の所要時間は、第１の演算装置２０Ａの通信履歴１つの演算より大きくなる。
【００２２】
図２のタイミングチャートでは、第１の演算装置２０Ａ及び第２の演算装置３０Ａ内での通信履歴１つの演算に要する時間を、それぞれｔ１、ｔ２と表示している。また、図２のタイミングチャートの例では、入力される通信履歴の個数（すなわち通信回数）をＮ（Ｎは２以上の整数）、そのうち、無料とならない通信履歴の個数をＭ（Ｍは０以上の自然数）と表示している。
【００２３】
図２のタイミングチャートの例では、Ｎ個の通信履歴の処理に要する時間の合計は、
ｔ_ｉ１＋（ｔ１×Ｎ）＋ｔｃ＋ｔ_ｏ１＋ｔ_ｉ２＋ｔ_ｏ２＋（ｔ２×Ｍ）
となる。なお、ｔ_ｉ１、ｔ_ｃ、ｔ_ｏ１、ｔ_ｉ２、ｔ_ｏ２は、それぞれ図２中で示されている時間である。通常、「ｔ_ｉ１＋ｔｃ＋ｔ_ｏ１＋ｔ_ｉ２＋ｔ_ｏ２」の値は「（ｔ１×Ｎ）＋（ｔ２×Ｍ）」の値と比較するとかなり小さな値となる。
【００２４】
ここで、図１のデータ処理装置１０Ａの処理に要する時間を、図８に示した従来の「パイプライン方式」の専用演算装置５０でデータ処理を行う場合の処理に要する時間と比較する。図９は図８の専用演算装置５０の動作のタイミングチャートである。
【００２５】
図８の専用演算装置５０による場合は、Ｎ個の通信履歴の処理に要する時間の合計は、
ｔ_ｉ１＋ｔ_ｉ２＋ｔ_ｏ＋（ｔ_ｐ×Ｎ）
となる。なお、ｔ_ｉ１、ｔ_ｉ２、ｔ_ｏは、それぞれ図９中で示されている時間である。ただし、ｔ_ｐは第１演算手段５２と第２演算手段５３での通信履歴１つの演算に要する時間のうちの大きい方の値となる。
【００２６】
従って、図２のタイミングチャート場合と同等の演算を行う場合、ｔ_ｐは図２のｔ２と同じ値となる。また、通常、「ｔ_ｉ１＋ｔ_ｉ２＋ｔ_ｏ」の値は「ｔ_ｐ×Ｎ」の値と比較するとかなり小さな値となる。
【００２７】
以上に説明したように、Ｎ個の通信履歴の処理に要する時間は、データ処理装置１０Ａにより処理する図２のタイミングチャートの例では、
ｔ１×Ｎ＋ｔ２×Ｍ
でほぼ決定される。一方、専用演算装置５０により処理する図９のタイミングチャートの例では、
ｔ_ｐ×Ｎ（＝ｔ２×Ｎ）
でほぼ決定される。従って、ｔ１＜ｔ２であり、かつ、ＭがＮより十分小さくなるような場合、データ処理装置１０Ａの方が、図８の専用演算装置５０より短時間での処理が可能となる。
【００２８】
＜実施例１＞
図３は、本発明による実施例１のデータ処理装置１０Ｂの構成を示すブロック図である。このデータ処理装置１０Ｂは、前処理用の第１の演算装置２０Ｂと後処理用の第２の演算装置３０Ｂとを備える。第１の演算装置２０Ｂは、第１のデータ読込手段２１と演算結果保持手段２２と第１の演算結果出力手段２３１と第１の演算制御情報出力手段２４１とを有する。第２の演算装置３０Ｂは、第２のデータ読込手段３１と第２の演算結果出力手段３２と第２の演算制御情報出力手段３４を備える。
【００２９】
第１の演算装置２０Ｂは、第１のデータ読込手段２１によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始／終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されている場合の他、専用のデータ出力回路が出力する場合もある。
【００３０】
演算結果保持手段２２は、例えばＦＩＦＯ等で構成され、第１の演算装置２０Ｂにおける演算結果から後処理に必要な演算結果のみを抽出して保持し、且つ互いに異なるタイミングで演算した複数の演算結果を保持する。
【００３１】
第１の演算制御情報出力手段２４１は、予め定められた条件に従って第２の演算装置３０Ｂを制御するための情報を出力する。すなわち、演算制御情報出力手段２４１は、データ読込手段２１によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段２２へのすべての必要な演算結果の保持が終了した時点で（もしくは別途定められた条件に従って）、第２の演算装置３０Ｂに対して制御情報を出力する。
【００３２】
第１の演算結果出力手段２３１は、第２の演算装置３０Ｂの第２の演算制御情報出力手段３４から入力される情報に従って、演算結果保持手段２２にて保持した演算結果を第２の演算装置３０Ｂに出力する。
【００３３】
第２の演算装置３０Ｂの第２の演算制御情報出力手段３４は、第１の演算装置２０Ｂの第１の演算制御情報出力手段２４１から入力される情報に従って、第１の演算装置２０Ｂの第１の演算結果出力手段２３１に対して制御情報を出力する。
【００３４】
第２の演算装置３０Ｂは、第２のデータ読込手段３１により第１の演算装置２０Ｂの第１の演算結果出力手段２３１の出力を順次読み込んで、予め定められた演算を行って、第２の演算結果出力手段３２により結果を順次出力する。この際のデータ読み込みの開始指示等は、第１の演算装置２０Ｂの第１の演算制御情報出力手段２４１から入力される情報に従って、第２の演算制御情報出力手段３４が行う。
【００３５】
このデータ処理装置１０Ｂの具体的な適用例として、前記した前提技術説明の際と同等な装置に適用した場合のタイミングチャートの一例を図４に示す。第１の演算装置２０Ｂにおける最後の演算とその結果の保持が終了（保持しないで終了する場合もあり）した後、第１の演算装置２０Ｂの演算制御情報出力手段２４１が制御情報の出力を開始し、その制御情報に従って、第２の演算装置３０Ｂの演算制御情報出力手段３４が制御情報の出力を開始し、その演算制御情報出力手段３４から入力される情報に従って、第１の演算装置２０Ｂの演算結果出力手段２３１が出力を開始し、並行して第２の演算装置３０Ｂの演算制御情報出力手段３４が、第２の演算装置３０Ｂのデータ読込手段３１と演算結果出力手段３２を制御するための情報の出力（図４では「第２の演算装置３０Ｂ内の制御情報」と表記）を開始する。
【００３６】
図３の構成のデータ処理装置１０Ｂは、図１の構成のデータ処理装置１０Ａの第１の演算装置２０Ａの演算制御情報出力手段２４の機能の一部を、第２の演算装置３０Ｂ内に移したものと等価である。従って、図３の構成のデータ処理装置１０Ｂにおいても、図１の構成のデータ処理装置１０Ａと同等の短い処理時間でのデータ処理が可能である。
【００３７】
＜実施例２＞
図５は、本発明による実施例２のデータ処理装置１０Ｃの構成を示すブロック図である。このデータ処理装置１０Ｃは、前処理用の第１の演算装置２０Ｃと後処理用の第２の演算装置３０Ｃと演算制御装置４０とを備える。第１の演算装置２０Ｃは、第１のデータ読込手段２１１と演算結果保持手段２２１と第１の演算結果出力手段２３２と第１の演算制御情報出力手段２４２とを有する。第２の演算装置３０Ｃは、第２のデータ読込手段３１と第２の演算結果出力手段３２と第２の演算制御情報出力手段３４１を備える。
【００３８】
第１の演算装置２０Ｃは、演算制御装置４０から入力される制御情報に従って、第１のデータ読込手段２１１によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始／終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されている場合の他、専用のデータ出力回路が出力する場合もある。
【００３９】
演算結果保持手段２２１は、例えばＦＩＦＯ等で構成され、第１の演算装置２０Ｃにおける演算結果から後処理に必要な演算結果のみを抽出して保持し、且つ互いに異なるタイミングで演算した複数の演算結果を保持する。
【００４０】
第１の演算制御情報出力手段２４２は、データ読込終了後、すべての演算が終了し、さらに、すべての必要な演算結果の保持が終了した時点で（もしくは別途定められた条件に従って）、演算制御装置４０に対して制御情報を出力する。
【００４１】
第１の演算結果出力手段２３２は、第１のデータ読込手段２１１によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段２２１へのすべての必要な演算結果の保持が終了した時点で（もしくは別途定められた条件に従って）、演算制御装置４０から入力される情報に従つて、演算結果保持手段２２１にて保持した演算結果を第２の演算装置３０Ｃに対して出力する。
【００４２】
第２の演算装置３０Ｃは、演算制御装置４０から入力される制御情報に従って、第２のデータ読込手段３１により、第１の演算装置２０Ｃの第１の演算結果出力手段２３２の出力を順次読み込んで、予め定められた演算を行って、第２の演算結果出力手段３２により結果を順次出力する。
【００４３】
演算制御装置４０は、第１の演算装置２０Ｃの第１の演算制御情報出力手段２４２から入力される情報と第２の演算装置３０Ｃの第２の演算制御情報出力手段３４１から入力される情報に従って、第１の演算装置２０Ｃと第２の演算装置３０Ｃを制御するための情報を出力する。
【００４４】
図５の構成のデータ処理装置１０Ｃは、図３の構成のデータ処理装置１０Ｂの第２の演算装置３０Ｂの第２の演算制御情報出力手段３４の機能の一部等を、演算制御装置４０に移した場合でも同様な構成となるが、その他に、以下に示すような大量なデータの処理に適したデータ処理を実現可能とするものである。
【００４５】
図５の構成のデータ処理装置１０Ｃの具体的な適用例として、前記した前提技術説明の際と同等な装置に適用した場合のタイミングチャートの一例を図６に示す。なお、図６のタイミングチャートの例は、演算結果保持手段２２１に保持できる演算結果の最大数がＫ（Ｋは２以上の整数）であり、入力される通信履歴の個数（通信回数）がＫより大きい場合の適用例である。
【００４６】
図６のタイミングチャートの例では、第１の演算装置２０Ｃにおける演算結果の保持が終了（保持しないで終了する場合もあり）するたびに、第１の演算装置２０Ｃの演算制御情報出力手段２４２が制御情報の出力を行う。
【００４７】
演算制御装置４０は、演算制御情報出力手段２４２の出力をモニタすることにより、第１の演算装置２０Ｃの演算が何個の通信履歴に対して行われたかをチェックし、「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第２の演算装置３０Ｃに対して、演算の開始を指示する（図６のタイミングチャートでは省略）。演算制御装置４０はその後も、演算制御情報出力手段２４２の出力のモニタを続け、さらに「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第１の演算装置２０Ｃに対して、演算の一時停止を指示する。
【００４８】
また、演算制御装置４０は、演算制御情報出力手段２４２の出力をモニタすることにより、第１の演算装置２０Ｃの演算により何個の演算結果が保持されたをチェックする。
【００４９】
さらに、演算制御装置４０は、第２の演算装置３０Ｃに対して演算の開始を指示した後、第２の演算装置３０Ｃの演算制御情報出力手段３４１の出力（図６のタイミングチャートでは省略）をモニタすることにより、第２の演算装置３０Ｃの演算開始が可能であるか否か判断し、開始可能な場合は、第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報の出力を開始し、第２の演算装置３０Ｃに対する制御情報も出力する。この第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置４０が記憶する。
【００５０】
第１の演算装置２０Ｃが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置４０は、第１の演算装置２０Ｃの演算の再開を指示する。
【００５１】
例えば、「第１の演算装置２０Ｃの演算により保持した演算結果の個数の累積数」から「第１の演算装置２０Ｃの演算結果出力手段２３２が出力した演算結果の個数の累積値」を引いた値が、「Ｋ÷２」以下になった場合に、第１の演算装置２０Ｃの演算を再開させる。
【００５２】
Ｎ個の通信履歴の処理に要する時間は、Ｎ＝Ｋ×ｊ（ｊは２以上の整数）、Ｍ（第１の演算装置２０Ｃの演算により保持した演算結果の個数の累積数）＝Ｍ１＋Ｍ２＋・・・＋Ｍｊとすると、図６のタイミングチャートの例では、
ｔ１×Ｋ÷２＋ｔ２×Ｍ
でほぼ決定される。一方、前述した従来例の図９のタイミングチャートの例では、
ｔ_ｐ×Ｎ（＝ｔ２×Ｎ）＝ｔ２×Ｋ×ｊ
でほぼ決定されるので、ｔ１＜ｔ２であり、かつ、ＭがＮより十分小さくなるような場合、図５のデータ処理装置１０Ｃの方が図８の専用演算装置５０より短時間での処理が可能となる。
【００５３】
図５の構成のデータ処理装置１０Ｃの別の具体的な適用例として、パケット通信料金の計算における請求金額の上限が定められている場合の計算に適用した場合のタイミングチャートの一例を図７に示す。なお、図７のタイミングチャートの例は、図６のタイミングチャートの例と同様に、演算結果保持手段２２１に保持できる演算結果の最大数がＫ（Ｋは２以上の整数）であり、入力される通信履歴の個数（通信回数）がＫより大きい場合の適用例である。
【００５４】
図７のタイミングチャートの例では、第１の演算装置２０Ｃにおける演算結果の保持が終了（保持しないで終了する場合もあり）するたびに、演算制御情報出力手段２４２が制御情報の出力を行う。
【００５５】
演算制御装置４０は、演算制御情報出力手段２４２の出力をモニタすることにより、第１の演算装置２０Ｃの演算が何個の通信履歴に対して行われたかをチェックし、「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第２の演算装置３０Ｃに対して演算の開始を指示する（図７のタイミングチャートでは省略）。演算制御装置４０はその後も、演算制御情報出力手段２４２の出力のモニタを続け、さらに「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第１の演算装置２０Ｃに対して演算の一時停止を指示する。
【００５６】
また、演算制御装置４０は演算制御情報出力手段２４２の出力をモニタすることにより、第１の演算装置２０Ｃの演算により何個の演算結果が保持されたをチェックする。
【００５７】
さらに、演算制御装置４０は、第２の演算装置３０Ｃに対して演算の開始を指示した後、第２の演算装置３０Ｃの演算制御情報出力手段３４１の出力（図７のタイミングチャートでは省略）をモニタすることにより、第２の演算装置３０Ｃの演算開始が可能であるか否か判断し、開始可能な場合は、第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報の出力を開始し、第２の演算装置３０Ｃに対する制御情報も出力する。この第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置４０が記憶する。
【００５８】
第１の演算装置２０Ｃが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置４０は第１の演算装置２０Ｃの演算の再開を指示する。
【００５９】
また、第２の演算装置３０Ｃの演算結果が予め定められた状態になった場合（この例の場合では、通信量の合計値が請求金額の上限値に相当する値に達した場合）、第２の演算装置３０Ｃの演算制御情報出力手段３４１は、第１の演算装置２０Ｃの演算を強制的に終了させるための情報を出力する。
【００６０】
演算制御装置４０は、第１の演算装置２０Ｃが演算を行っている状態（もしくは一時停止状態）の時に、第２の演算装置３０Ｃの演算制御情報出力手段３４１からの強制終了のための情報が入力された場合には、第１の演算装置２０Ｃと第２の演算装置３０Ｃの演算を停止させるための情報を出力し、データ処理を終了する。
【００６１】
この例の場合、Ｎ個の通信履歴の処理に要する時間は、Ｎ＝Ｋ×ｊ（ｊは２以上の整数）とすると、図７のタイミングチャートの例では、
ｔ１×Ｋ÷２＋ｔ２×Ｍｓ
でほぼ決定される。なお、Ｍｓは第２の演算装置３０Ｃでの演算に使用した演算結果の個数の累積数である。一方、前述した従来例の図９のタイミングチャートの例では、
ｔ_ｐ×Ｎ（＝ｔ２×Ｎ）＝ｔ２×Ｋ×ｊ
でほぼ決定されるので、ｔ１＜ｔ２であり、かつ、ＭｓがＮより十分小さくなるような場合、図５のデータ処理装置１０Ｃの方が図８のデータ処理装置５０より短時間での処理が可能となる。
【００６２】
＜実施例３＞
ここまでの具体例では、データ処理装置には、ある１つの電話番号の通信履歴（１通信毎のパケット量と通信相手）がリストとして入力される場合を前提としてきたが、複数の電話番号の通信履歴（１通信毎のパケット量と通信相手）が連続的なリストとして入力される場合について、実施例２に対する適用例を次に示す。なお、これは、実施例１にも同様に適用可能である。
【００６３】
図５の構成のデータ処理装置１０Ｃにおいて、上記の通信履歴とともに料金計算を行う対象の電話番号の情報が入力されるものとする。タイミングチャートの一例としては図７のタイミングチャートと同等な場合の例にて動作の説明を行う。
【００６４】
第１の演算装置２０Ｃにおける演算結果の保持を行う際に、演算を行った対象の電話番号（料金計算を行った対象の電話番号）も合わせて保持し、これらの保持が終了（保持しないで終了する場合もあり）するたびに、第１の演算装置２０Ｃの演算制御情報出力手段２４２が制御情報の出力を行う。
【００６５】
演算制御装置４０は演算制御情報出力手段２４２の出力をモニタすることにより、第１の演算装置２０Ｃの演算が何個の通信履歴に対して行われたかをチェックし、「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第２の演算装置３０Ｃに対して演算の開始を指示する（図７のタイミングチャートでは省略）。演算制御装置４０はその後も、演算制御情報出力手段２４２の出力のモニタを続け、さらに「Ｋ÷２」個の通信履歴に対する第１の演算装置２０Ｃの演算、保持が終了した時点で、第１の演算装置２０Ｃに対して演算の一時停止を指示する。
【００６６】
また、演算制御装置４０は演算制御情報出力手段２４２の出力をモニタすることにより第１の演算装置２０Ｃの演算により何個の演算結果が保持されたをチェックする。
【００６７】
さらに、演算制御装置４０は、第２の演算装置３０Ｃに対して演算の開始を指示した後、第２の演算装置３０Ｃの演算制御情報出力手段３４１の出力（図７のタイミングチャートでは省略）をモニタすることにより、第２の演算装置３０Ｃの演算開始が可能であるか否か判断し、開始可能な場合は、第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報の出力を開始し、第２の演算装置３０Ｃに対する制御情報も出力する。この第１の演算装置２０Ｃの演算結果出力手段２３２に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置４０が記憶する。この際、第１の演算装置２０Ｃの演算結果出力手段２３２は演算結果とともに、演算を行った対象の電話番号の情報も出力する。
【００６８】
第１の演算装置２０Ｃが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置４０は第１の演算装置２０Ｃの演算の再開を指示する。
【００６９】
また、第２の演算装置３０Ｃの演算結果が予め定められた状態になった場合（この例の場合では通信量の合計値が請求金額の上限値に相当する値に達した場合）、第２の演算装置３０Ｃの演算制御情報出力手段３４１は第１の演算装置２０Ｃの演算を強制的に終了させるための情報を出力する。
【００７０】
演算制御装置４０は、第１の演算装置２０Ｃが演算を行っている状態（もしくは一時停止状態）の時に、第２の演算装置３０Ｃの演算制御情報出力手段３４１からの強制終了のための情報が入力された場合には、第１の演算装置２０Ｃと第２の演算装置３０Ｃの演算を停止させるか否かの判定を行って、停止させるべき時には第１の演算装置２０Ｃと第２の演算装置３０Ｃの演算を停止させるための情報を出力し、データ処理を停止する。その後、次の電話番号に対する通信料金の演算を行うために、通信履歴のリストから次の電話番号の通信履歴の先頭を検索して、次の電話番号に対する通信料金の演算を開始する。
【００７１】
第１の演算装置２０Ｃと第２の演算装置３０Ｃの演算を停止させるか否かの判定については、例えば、次のように行う。第２の演算装置３０Ｃの演算制御情報出力手段３４１が強制終了のための情報を出力する際に、その際の「演算を行った対象の電話番号の情報」を合わせて出力するものとし、その情報と第２の演算装置３０Ｃの演算制御情報出力手段３４１からの強制終了のための情報が入力された時に第１の演算装置２０Ｃに入力されていた「演算を行う対象の電話番号の情報」を比較し、同じ場合は第１の演算装置２０Ｃと第２の演算装置３０Ｃの演算を停止させ、異なる場合は停止させない。
【００７２】
なお、第２の演算装置３０Ｃの演算結果が、予め定められた状態になる前（この例の場合では通信量の合計値が請求金額の上限値に相当する値に達する前）に、演算結果出力手段２３２の出力の「演算を行った対象の電話番号の情報」が次の電話番号に変った場合には、その時点で次の電話番号に対する通信料金の演算を開始する。
【００７３】
＜他の実施例＞
以上に説明した実施例のデータ処理装置では、第１の演算装置を複数の演算装置で構成し、その複数の演算装置のそれぞれが演算結果保持手段と演算制御情報出力手段等を有する構成でも同様な効果が得られる。また、強制終了は、実施例１のデータ処理装置にも適用可能である。また、図５の演算制御装置４０の機能の一部（または機能のすべて）を第１の演算装置もしくは第２の演算装置に内蔵させても、同様な効果が得られる。
【図１】
2011233155.tif 000003
【図２】
2011233155.tif 000004
【図３】
2011233155.tif 000005
【図４】
2011233155.tif 000006
【図５】
2011233155.tif 000007
【図６】
2011233155.tif 000008
【図７】
2011233155.tif 000009
【図８】
2011233155.tif 000010
【図９】
2011233155.tif 000011