説明

データ処理装置

【課題】「パイプライン方式」の専用演算装置を使用する場合とほぼ同等のハードウエア規模で、より短時間でのデータ処理を可能にする。
【解決手段】前処理用の第1の演算装置20Aと後処理用の第2の演算装置30Aで構成する。第1の演算装置20Aでは、第2の演算装置30Aで演算する必要があるデータのみを保持し、第2の演算装置30Aで演算する必要のあるデータは、第1の演算装置20Aからの制御情報に従い、第2の演算装置30Aで演算する。これにより、第2の演算装置30Aで処理するデータ量を削減し、データ処理に要する時間を短縮する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、大量なデータの処理を行うデータ処理方法および装置に関し、特に、ハードウエアの規模を極力小さく抑えながら大量なデータ処理をなるべく短時間で処理できるようにしたデータ処理装置に関するものである。
【背景技術】
【0002】
データの処理を行うデータ処理装置を実現する方法としてCPUとソフトウェア(プログラム)を用いる構成が一般的に使用されるが、処理に要する時間はCPUの性能と処理するデータの量に比例する。従って、使用できるCPUの性能が十分ではない場合、大量なデータを短時間で処理しなければならない場合には、CPUを多数搭載し、それらを同時に動作させることが必要となる。
【0003】
一方、CPUを使用せず、専用の演算装置によりデータ処理を行う方法もある。特に大量なデータを短時間で処理する方法としては、多数の演算装置を同時に動作させる「並列処理方式」が最も有効ではあるが、ハードウエアの規模が大きくなるという問題がある。
【0004】
ハードウエアの規模を極力小さく抑えながら大量なデータ処理をなるべく短時間で実現する方法として、「パイプライン方式」(非特許文献1参照)と呼ばれる方法がある。図8はその「パイプライン方式」の専用演算装置50の構成を示す図であり、51はデータ読込手段、52は第1演算手段、53は第2演算手段、54は演算結果出力手段である。このような専用演算装置50を使用する場合、その専用演算装置はCPUよりも小型化及び高性能化が容易であるため、ハードウエアの規模としてはCPUを多数搭載する場合より小さくなる。
【非特許文献1】木戸出 他 著、「パイプライン方式と完全並列処理方式が増えた最近の画像処理装置」、日経エレクトロニクス、1982年7月19日号、179−212頁
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記のように、「パイプライン方式」の専用演算装置を使用する場合、「並列処理方式」の専用演算装置を使用する場合よりもハードウエアの規模が小さくなるが、「パイプライン方式」の専用演算装置でデータ処理を行う場合の処理に要する時間は、処理するデータの量にほぼ比例し、「並列処理方式」を用いた場合の所要時間より大きくなる。なお、「並列処理方式」を用いた場合の所要時間は、処理するデータの量にほぼ比例するが、並列数にほぼ反比例する。
【0006】
以上に説明したように、従来技術による場合は、ハードウエア規模の縮小化とデータ処理に要する時間の縮小化を同時に満たすことはできなかった。
【0007】
本発明の目的は、「パイプライン方式」の専用演算装置を使用する場合とほぼ同等のハードウエア規模で、より短時間でのデータ処理を可能としたデータ処理装置を提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成するために、請求項1にかかる発明のデータ処理装置は、演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、並びに、後処理用の第2の演算装置を備えるデータ処理装置であって、前記演算結果保持手段は、前記第1の演算装置における演算結果から必要な演算結果のみを抽出して保持し、前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算結果出力手段と前記第2の演算装置を制御するための情報を出力し、前記第1の演算結果出力手段は、前記第1の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段にて保持した演算結果を前記第2の演算装置に出力し、前記第2の演算装置は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とする。
請求項2にかかる発明のデータ処理装置は、演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、並びに、第2の演算制御情報出力手段を有する後処理用の第2の演算装置を備えるデータ処理装置であって、前記演算結果保持手段は、前記第1の演算装置における演算結果から必要な演算結果のみを抽出して保持し、前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第2の演算装置を制御するための情報を出力し、前記第2の演算制御情報出力手段は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段を制御するための情報を出力し、前記第1の演算結果出力手段は、前記第2の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段に保持した演算結果を前記第2の演算装置に出力し、前記第2の演算装置は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とする。
請求項3にかかる発明のデータ処理装置は、演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、第2の演算制御情報出力手段を有する後処理用の第2の演算装置、並びに、演算制御装置を備えるデータ処理装置であって、前記演算結果保持手段は、前記第1の演算手段における演算結果から必要な演算結果のみを抽出して保持し、前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第2の演算装置を制御するための情報を出力し、前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置を制御するための情報を出力し、前記演算制御装置は、前記第1の演算制御情報出力手段から入力される情報と前記第2の演算制御情報出力手段から入力される情報に従って前記第1の演算装置と前記第2の演算装置を制御するための情報を出力し、前記第1の演算結果出力手段は、前記演算制御装置から入力される情報に従って前記演算結果保持手段にて保持した演算結果を出力し、前記第2の演算装置は、前記演算制御装置から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とする。
請求項4にかかる発明は、請求項2又は3に記載のデータ処理装置において、前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置の処理を途中で強制的に終了させるための情報を出力することを特徴とする。
請求項5にかかる発明は、請求項1乃至4のいずれか1つに記載のデータ処理装置において、入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、前記第1の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力することを特徴とする。
請求項6にかかる発明は、請求項2又は3に記載のデータ処理装置において、入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、前記第1の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力し、前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置の処理を途中で強制的に終了させるための情報を出力し、前記第1の演算装置もしくは前記演算制御装置は、前記第2の演算制御情報出力手段からの出力と前記第1の演算装置に入力された前記属性情報に従って前記第1の演算装置の処理を途中で強制終了するか否かを判定し、強制終了した場合にはすみやかに別の属性情報を有するデータの演算を開始することを特徴とする。
【発明の効果】
【0009】
本発明によれば、前処理用の第1の演算装置と後処理用の第2の演算装置を用いて、第1の演算装置では、第2の演算装置で演算する必要があるデータのみを保持し、第2の演算装置で演算する必要のあるデータは、第1の演算装置からの制御情報に従い、第2の演算装置で演算するので、第2の演算装置で処理するデータ量が削減され、「パイプライン」方式の専用演算装置を使用する場合とほぼ同程度のハードウエア規模で、データ処理に要する時間を短縮できる。
【発明を実施するための最良の形態】
【0010】
以下、図面をもとに本発明の実施例を説明する。なお、すべての図面において共通する部分には同一の番号を割り当て、重複説明を避ける。
【0011】
<実施例1>
図1は、本発明による実施例1のデータ処理装置10Aの構成を示すブロック図である。このデータ処理装置10Aは、前処理用の第1の演算装置20Aと後処理用の第2の演算装置30Aとを備える。第1の演算装置20Aは、第1のデータ読込手段21と演算結果保持手段22と第1の演算結果出力手段23と第1の演算制御情報出力手段24とを有する。第2の演算装置30Aは、第2のデータ読込手段31と第2の演算結果出力手段32と演算制御手段33を備える。
【0012】
第1の演算装置20Aは、第1のデータ読込手段21によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始/終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されている場合の他、専用のデータ出力回路が出力する場合もある。
【0013】
演算結果保持手段22は、例えばFIFO等で構成され、第1の演算装置20Aにおける演算結果から必要な演算結果のみを抽出して保持し、且つ異なるタイミングで演算した複数の演算結果を同時に保持する。
【0014】
第1の演算制御情報出力手段24は、予め定められた条件に従って第1の演算結果出力手段23と第2の演算装置30Aを制御するための情報を出力する。すなわち、演算制御情報出力手段24は、データ読込手段21によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段22へのすべての必要な演算結果の保持が終了した時点で(もしくは別途定められた条件に従って)、演算結果出力手段23と第2の演算装置30Aに対して制御情報を出力する。
【0015】
第1の演算結果出力手段23は、第1の演算制御情報出力手段24から入力される情報に従って、演算結果保持手段22にて保持した演算結果を第2の演算装置30Aに出力する。
【0016】
第2の演算装置30Aは、第2のデータ読込手段31により第1の演算装置20の第1の演算結果出力手段23の出力を順次読み込んで、予め定められた演算を行って、第2の演算結果出力手段32により結果を順次出力する。この際のデータ読込の開始指示等は、第1の演算装置20Aの第1の演算制御情報出力手段24から入力される情報に従って、演算制御手段33が行う。
【0017】
このデータ処理装置10の具体的な適用例として、携帯電話のパケット通信料金の計算を行う装置に適用した場合の一例を示す。
【0018】
データ処理装置10Aには、ある1つの電話番号の通信履歴(1通信毎のパケット量と通信相手)がリストとして入力されるものとする。この電話番号の通信のうち、特定の相手との通信を無料とする契約が結ばれている場合、通信履歴の中から、無料となる通信を除いた通信のパケット量を、第1の演算装置20Aで抽出、保持する。その後、第2の演算装置30Aにて、抽出、保持されたパケット量の合計を計算して料金を決定する。
【0019】
図2にタイミングチャートの一例を示す。第1の演算装置20Aにおける最後の演算とその結果の保持が終了(保持しないで終了する場合もあり)した後、第1の演算装置20Aの演算制御情報出力手段24が制御情報の出力を開始し、その制御情報に従って、第1の演算装置20Aの演算結果出力手段23が出力を開始し、並行して第2の演算装置30Aの演算制御手段33が、第2の演算装置30Aのデータ読込手段31と演算結果出力手段32を制御するための情報の出力(図2では省略)を開始する。
【0020】
ここで、第1の演算装置20A及び第2の演算装置30A内で、通信履歴1つの演算に要する時間を比較する。第1の演算装置20Aの方は、その通信の通信相手が無料となる対象か否かを確認するだけなので、短時間で演算を行うことができる。一方、第2の演算装置30Aの方は、パケット量の加算を行うが、ハードウエアで加算を行う場合、その加算結果が取り得る最大値を考慮して、ハードウエアを構成する必要がある。加算に要する時間は、加算を行う演算器のハードウエア構成に依存し、加算結果が取り得る最大値に依存する。通常、加算結果が取り得る最大値として、対応する値を大きくするほど、加算の所要時間も大きくなる(具体的には、加算器の入出力のビット数を増やすほど、演算遅延が大きくなるということ)。従って、特に加算結果が取り得る最大値が大きい場合は、第2の演算装置30Aの通信履歴1つの演算の所要時間は、第1の演算装置20Aの通信履歴1つの演算より大きくなる。
【0021】
図2のタイミングチャートでは、第1の演算装置20A及び第2の演算装置30A内での通信履歴1つの演算に要する時間を、それぞれt1、t2と表示している。また、図2のタイミングチャートの例では、入力される通信履歴の個数(すなわち通信回数)をN(Nは2以上の整数)、そのうち、無料とならない通信履歴の個数をM(Mは0以上の自然数)と表示している。
【0022】
図2のタイミングチャートの例では、N個の通信履歴の処理に要する時間の合計は、
t_i1+(t1×N)+tc+t_o1+t_i2+t_o2+(t2×M)
となる。なお、t_i1、t_c、t_o1、t_i2、t_o2は、それぞれ図2中で示されている時間である。通常、「t_i1+tc+t_o1+t_i2+t_o2」の値は「(t1×N)+(t2×M)」の値と比較するとかなり小さな値となる。
【0023】
ここで、図1のデータ処理装置10Aの処理に要する時間を、図8に示した従来の「パイプライン方式」の専用演算装置50でデータ処理を行う場合の処理に要する時間と比較する。図9は図8の専用演算装置50の動作のタイミングチャートである。
【0024】
図8の専用演算装置50による場合は、N個の通信履歴の処理に要する時間の合計は、
t_i1+t_i2+t_o+(t_p×N)
となる。なお、t_i1、t_i2、t_oは、それぞれ図9中で示されている時間である。ただし、t_pは第1演算手段52と第2演算手段53での通信履歴1つの演算に要する時間のうちの大きい方の値となる。
【0025】
従って、図2のタイミングチャート場合と同等の演算を行う場合、t_pは図2のt2と同じ値となる。また、通常、「t_i1+t_i2+t_o」の値は「t_p×N」の値と比較するとかなり小さな値となる。
【0026】
以上に説明したように、N個の通信履歴の処理に要する時間は、実施例1のデータ処理装置10Aにより処理する図2のタイミングチャートの例では、
t1×N+t2×M
でほぼ決定される。一方、専用演算装置50により処理する図9のタイミングチャートの例では、
t_p×N(=t2×N)
でほぼ決定される。従って、t1<t2であり、かつ、MがNより十分小さくなるような場合、本発明の実施例1のデータ処理装置10Aの方が、図8の専用演算装置50より短時間での処理が可能となる。
【0027】
<実施例2>
図3は、本発明による実施例2のデータ処理装置10Bの構成を示すブロック図である。このデータ処理装置10Bは、前処理用の第1の演算装置20Bと後処理用の第2の演算装置30Bとを備える。第1の演算装置20Bは、第1のデータ読込手段21と演算結果保持手段22と第1の演算結果出力手段231と第1の演算制御情報出力手段241とを有する。第2の演算装置30Bは、第2のデータ読込手段31と第2の演算結果出力手段32と第2の演算制御情報出力手段34を備える。
【0028】
第1の演算装置20Bは、第1のデータ読込手段21によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始/終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されている場合の他、専用のデータ出力回路が出力する場合もある。
【0029】
演算結果保持手段22は、例えばFIFO等で構成され、第1の演算装置20Bにおける演算結果から必要な演算結果のみを抽出して保持し、且つ異なるタイミングで演算した複数の演算結果を同時に保持する。
【0030】
第1の演算制御情報出力手段241は、予め定められた条件に従って第2の演算装置30Aを制御するための情報を出力する。すなわち、演算制御情報出力手段241は、データ読込手段21によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段22へのすべての必要な演算結果の保持が終了した時点で(もしくは別途定められた条件に従って)、第2の演算装置30Aに対して制御情報を出力する。
【0031】
第1の演算結果出力手段23は、第2の演算装置30Bの第2の演算制御情報出力手段34から入力される情報に従って、演算結果保持手段22にて保持した演算結果を第2の演算装置30Aに出力する。
【0032】
第2の演算装置30Bの第2の演算制御情報出力手段34は、第1の演算装置20Bの第1の演算制御情報出力手段241から入力される情報に従って、第1の演算装置20Bの第1の演算結果出力手段231に対して制御情報を出力する。
【0033】
第2の演算装置30Bは、第2のデータ読込手段31により第1の演算装置20Bの第1の演算結果出力手段231の出力を順次読み込んで、予め定められた演算を行って、第2の演算結果出力手段32により結果を順次出力する。この際のデータ読み込みの開始指示等は、第1の演算装置20Bの第1の演算制御情報出力手段241から入力される情報に従って、第2の演算制御情報出力手段34が行う。
【0034】
このデータ処理装置10Bの具体的な適用例として、第1の実施例と同等な装置に適用した場合のタイミングチャートの一例を図4に示す。第1の演算装置20Bにおける最後の演算とその結果の保持が終了(保持しないで終了する場合もあり)した後、第1の演算装置20Bの演算制御情報出力手段241が制御情報の出力を開始し、その制御情報に従って、第2の演算装置30Bの演算制御情報出力手段34が制御情報の出力を開始し、その演算制御情報出力手段34から入力される情報に従って、第1の演算装置20Bの演算結果出力手段231が出力を開始し、並行して第2の演算装置30Bの演算制御情報出力手段34が、第2の演算装置30Bのデータ読込手段31と演算結果出力手段32を制御するための情報の出力(図4では「第2の演算装置30B内の制御情報」と表記)を開始する。
【0035】
図3の構成のデータ処理装置10Bは、図1の構成のデータ処理装置10Aの第1の演算装置20Aの演算制御情報出力手段24の機能の一部を、第2の演算装置30B内に移したものと等価である。従って、図3の構成のデータ処理装置10Bにおいても、図1の構成のデータ処理装置10Aと同等の短い処理時間でのデータ処理が可能である。
【0036】
<実施例3>
図5は、本発明による実施例3のデータ処理装置10Cの構成を示すブロック図である。このデータ処理装置10Cは、前処理用の第1の演算装置20Cと後処理用の第2の演算装置30Cと演算制御装置40とを備える。第1の演算装置20Cは、第1のデータ読込手段211と演算結果保持手段221と第1の演算結果出力手段232と第1の演算制御情報出力手段242とを有する。第2の演算装置30Cは、第2のデータ読込手段31と第2の演算結果出力手段32と第2の演算制御情報出力手段341を備える。
【0037】
第1の演算装置20Cは、演算制御装置40から入力される制御情報に従って、第1のデータ読込手段211によりデータを順次読み込んで、予め定められた演算を行う。この際、データ読み込みの開始/終了等を別途外部から指示する必要があるが、図では省略されている。また、読み込むデータは、メモリ等に格納されてい場合の他、専用のデータ出力回路が出力する場合もある。
【0038】
演算結果保持手段221は、例えばFIFO等で構成され、第1の演算装置20Cにおける演算結果から必要な演算結果のみを抽出して保持し、且つ異なるタイミングで演算した複数の演算結果を同時に保持する。
【0039】
第1の演算制御情報出力手段242は、データ読込終了後、すべての演算が終了し、さらに、すべての必要な演算結果の保持が終了した時点で(もしくは別途定められた条件に従って)、演算制御装置40に対して制御情報を出力する。
【0040】
第1の演算結果出力手段232は、第1のデータ読込手段21によるデータ読込終了後、すべての演算が終了し、さらに、演算結果保持手段221へのすべての必要な演算結果の保持が終了した時点で(もしくは別途定められた条件に従って)、演算制御装置40から入力される情報に従つて、演算結果保持手段221にて保持した演算結果を第2の演算装置30Cに対して出力する。
【0041】
第2の演算装置30Cは、演算制御装置40から入力される制御情報に従って、第2のデータ読込手段31により、第1の演算装置20Cの第1の演算結果出力手段232の出力を順次読み込んで、予め定められた演算を行って、第2の演算結果出力手段32により結果を順次出力する。
【0042】
演算制御装置40は、第1の演算装置20Cの第1の演算制御情報出力手段242から入力される情報と第2の演算装置30Cの第2の演算制御情報出力手段341から入力される情報に従って、第1の演算装置20Cと第2の演算装置30Cを制御するための情報を出力する。
【0043】
図5の構成のデータ処理装置10Cは、図3の構成のデータ処理装置10Bの第2の演算装置30Bの第2の演算制御情報出力手段34の機能の一部等を、演算制御装置40に移した場合でも同様な構成となるが、その他に、以下に示すような大量なデータの処理に適したデータ処理を実現可能とするものである。
【0044】
図5の構成のデータ処理装置10Cの具体的な適用例として、第1の実施例と同等な装置に適用した場合のタイミングチャートの一例を図6に示す。なお、図6のタイミングチャートの例は、演算結果保持手段221に保持できる演算結果の最大数がK(Kは2以上の整数)であり、入力される通信履歴の個数(通信回数)がKより大きい場合の適用例である。
【0045】
図6のタイミングチャートの例では、第1の演算装置20Cにおける演算結果の保持が終了(保持しないで終了する場合もあり)するたびに、第1の演算装置20Cの演算制御情報出力手段242が制御情報の出力を行う。
【0046】
演算制御装置40は、演算制御情報出力手段242の出力をモニタすることにより、第1の演算装置20Cの演算が何個の通信履歴に対して行われたかをチェックし、「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第2の演算装置30Cに対して、演算の開始を指示する(図6のタイミングチャートでは省略)。演算制御装置40はその後も、演算制御情報出力手段242の出力のモニタを続け、さらに「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第1の演算装置20Cに対して、演算の一時停止を指示する。
【0047】
また、演算制御装置40は、演算制御情報出力手段242の出力をモニタすることにより、第1の演算装置20Cの演算により何個の演算結果が保持されたをチェックする。
【0048】
さらに、演算制御装置40は、第2の演算装置30Cに対して演算の開始を指示した後、第2の演算装置30Cの演算制御情報出力手段341の出力(図6のタイミングチャートでは省略)をモニタすることにより、第2の演算装置30Cの演算開始が可能であるか否か判断し、開始可能な場合は、第1の演算装置20Cの演算結果出力手段232に対する制御情報の出力を開始し、第2の演算装置30Cに対する制御情報も出力する。この第1の演算装置20Cの演算結果出力手段232に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置40が記憶する。
【0049】
第1の演算装置20Cが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置40は、第1の演算装置20Cの演算の再開を指示する。
【0050】
例えば、「第1の演算装置20Cの演算により保持した演算結果の個数の累積数」から「第1の演算装置20Cの演算結果出力手段232が出力した演算結果の個数の累積値」を引いた値が、「K÷2」以下になった場合に、第1の演算装置20Cの演算を再開させる。
【0051】
N個の通信履歴の処理に要する時間は、N=K×j(jは2以上の整数)、M(第1の演算装置20Cの演算により保持した演算結果の個数の累積数)=M1+M2+・・・+Mjとすると、図6のタイミングチャートの例では、
t1×K÷2+t2×M
でほぼ決定される。一方、前述した従来例の図9のタイミングチャートの例では、
t_p×N(=t2×N)=t2×K×j
でほぼ決定されるので、t1<t2であり、かつ、MがNより十分小さくなるような場合、図5のデータ処理装置10Cの方が図8の専用演算装置50より短時間での処理が可能となる。
【0052】
図5の構成のデータ処理装置10Cの別の具体的な適用例として、パケット通信料金の計算における請求金額の上限が定められている場合の計算に適用した場合のタイミングチャートの一例を図7に示す。なお、図7のタイミングチャートの例は、図6のタイミングチャートの例と同様に、演算結果保持手段221に保持できる演算結果の最大数がK(Kは2以上の整数)であり、入力される通信履歴の個数(通信回数)がKより大きい場合の適用例である。
【0053】
図7のタイミングチャートの例では、第1の演算装置20Cにおける演算結果の保持が終了(保持しないで終了する場合もあり)するたびに、演算制御情報出力手段242が制御情報の出力を行う。
【0054】
演算制御装置40は、演算制御情報出力手段242の出力をモニタすることにより、第1の演算装置20Cの演算が何個の通信履歴に対して行われたかをチェックし、「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第2の演算装置30Cに対して演算の開始を指示する(図7のタイミングチャートでは省略)。演算制御装置40はその後も、演算制御情報出力手段242の出力のモニタを続け、さらに「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第1の演算装置20Cに対して演算の一時停止を指示する。
【0055】
また、演算制御装置40は演算制御情報出力手段242の出力をモニタすることにより、第1の演算装置20Cの演算により何個の演算結果が保持されたをチェックする。
【0056】
さらに、演算制御装置40は、第2の演算装置30Cに対して演算の開始を指示した後、第2の演算装置30Cの演算制御情報出力手段341の出力(図7のタイミングチャートでは省略)をモニタすることにより、第2の演算装置30Cの演算開始が可能であるか否か判断し、開始可能な場合は、第1の演算装置20Cの演算結果出力手段232に対する制御情報の出力を開始し、第2の演算装置30Cに対する制御情報も出力する。この第1の演算装置20Cの演算結果出力手段232に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置40が記憶する。
【0057】
第1の演算装置20Cが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置40は第1の演算装置20Cの演算の再開を指示する。
【0058】
また、第2の演算装置30Cの演算結果が予め定められた状態になった場合(この例の場合では、通信量の合計値が請求金額の上限値に相当する値に達した場合)、第2の演算装置30Cの演算制御情報出力手段341は、第1の演算装置20Cの演算を強制的に終了させるための情報を出力する。
【0059】
演算制御装置40は、第1の演算装置20Cが演算を行っている状態(もしくは一時停止状態)の時に、第2の演算装置30Cの演算制御情報出力手段341からの強制終了のための情報が入力された場合には、第1の演算装置20Cと第2の演算装置30Cの演算を停止させるための情報を出力し、データ処理を終了する。
【0060】
この例の場合、N個の通信履歴の処理に要する時間は、N=K×j(jは2以上の整数)とすると、図7のタイミングチャートの例では、
t1×K÷2+t2×Ms
でほぼ決定される。なお、Msは第2の演算装置30Cでの演算に使用した演算結果の個数の累積数である。一方、前述した従来例の図9のタイミングチャートの例では、
t_p×N(=t2×N)=t2×K×j
でほぼ決定されるので、t1<t2であり、かつ、MsがNより十分小さくなるような場合、図5のデータ処理装置10Cの方が図8のデータ処理装置50より短時間での処理が可能となる。
【0061】
<実施例4>
ここまでの具体例では、データ処理装置には、ある1つの電話番号の通信履歴(1通信毎のパケット量と通信相手)がリストとして入力される場合を前提としてきたが、複数の電話番号の通信履歴(1通信毎のパケット量と通信相手)が連続的なリストとして入力される場合について、実施例3に対する適用例を次に示す。なお、これは、実施例1,2にも同様に適用可能である。
【0062】
図5の構成のデータ処理装置10Cにおいて、上記の通信履歴とともに料金計算を行う対象の電話番号の情報が入力されるものとする。タイミングチャートの一例としては図7のタイミングチャートと同等な場合の例にて動作の説明を行う。
【0063】
第1の演算装置20Cにおける演算結果の保持を行う際に、演算を行った対象の電話番号(料金計算を行った対象の電話番号)も合わせて保持し、これらの保持が終了(保持しないで終了する場合もあり)するたびに、第1の演算装置20Cの演算制御情報出力手段242が制御情報の出力を行う。
【0064】
演算制御装置40は演算制御情報出力手段242の出力をモニタすることにより、第1の演算装置20Cの演算が何個の通信履歴に対して行われたかをチェックし、「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第2の演算装置30Cに対して演算の開始を指示する(図7のタイミングチャートでは省略)。演算制御装置40はその後も、演算制御情報出力手段242の出力のモニタを続け、さらに「K÷2」個の通信履歴に対する第1の演算装置20Cの演算、保持が終了した時点で、第1の演算装置20Cに対して演算の一時停止を指示する。
【0065】
また、演算制御装置40は演算制御情報出力手段242の出力をモニタすることにより第1の演算装置20Cの演算により何個の演算結果が保持されたをチェックする。
【0066】
さらに、演算制御装置40は、第2の演算装置30Cに対して演算の開始を指示した後、第2の演算装置30Cの演算制御情報出力手段341の出力(図7のタイミングチャートでは省略)をモニタすることにより、第2の演算装置30Cの演算開始が可能であるか否か判断し、開始可能な場合は、第1の演算装置20Cの演算結果出力手段232に対する制御情報の出力を開始し、第2の演算装置30Cに対する制御情報も出力する。この第1の演算装置20Cの演算結果出力手段232に対する制御情報を出力する際には、何個の演算結果を出力させたかを演算制御装置40が記憶する。この際、第1の演算装置20Cの演算結果出力手段232は演算結果とともに、演算を行った対象の電話番号の情報も出力する。
【0067】
第1の演算装置20Cが一時停止状態の時に、予め定められた状態になった場合に、演算制御装置40は第1の演算装置20Cの演算の再開を指示する。
【0068】
また、第2の演算装置30Cの演算結果が予め定められた状態になった場合(この例の場合では通信量の合計値が請求金額の上限値に相当する値に達した場合)、第2の演算装置30Cの演算制御情報出力手段341は第1の演算装置20Cの演算を強制的に終了させるための情報を出力する。
【0069】
演算制御装置40は、第1の演算装置20Cが演算を行っている状態(もしくは一時停止状態)の時に、第2の演算装置30Cの演算制御情報出力手段341からの強制終了のための情報が入力された場合には、第1の演算装置20Cと第2の演算装置30Cの演算を停止させるか否かの判定を行って、停止させるべき時には第1の演算装置20Cと第2の演算装置30Cの演算を停止させるための情報を出力し、データ処理を停止する。その後、次の電話番号に対する通信料金の演算を行うために、通信履歴のリストから次の電話番号の通信履歴の先頭を検索して、次の電話番号に対する通信料金の演算を開始する。
【0070】
第1の演算装置20Cと第2の演算装置30Cの演算を停止させるか否かの判定については、例えば、次のように行う。第2の演算装置30Cの演算制御情報出力手段341が強制終了のための情報を出力する際に、その際の「演算を行った対象の電話番号の情報」を合わせて出力するものとし、その情報と第2の演算装置30Cの演算制御情報出力手段341からの強制終了のための情報が入力された時に第1の演算装置20Cに入力されていた「演算を行う対象の電話番号の情報」を比較し、同じ場合は第1の演算装置20Cと第2の演算装置30Cの演算を停止させ、異なる場合は停止させない。
【0071】
なお、第2の演算装置30Cの演算結果が、予め定められた状態になる前(この例の場合では通信量の合計値が請求金額の上限値に相当する値に達する前)に、演算結果出力手段232の出力の「演算を行った対象の電話番号の情報」が次の電話番号に変った場合には、その時点で次の電話番号に対する通信料金の演算を開始する。
【0072】
<他の実施例>
以上に説明した実施例のデータ処理装置では、第1の演算装置を複数の演算装置で構成し、その複数の演算装置のそれぞれが演算結果保持手段と演算制御情報出力手段等を有する構成でも同様な効果が得られる。また、強制終了は、実施例2のデータ処理装置にも適用可能である。また、図5の演算制御装置40の機能の一部(または機能のすべて)を第1の演算装置もしくは第2の演算装置に内蔵させても、同様な効果が得られる。
【図面の簡単な説明】
【0073】
【図1】本発明の実施例1のデータ処理装置の構成を示すブロック図である。
【図2】図1のデータ処理装置の動作のタイミングチャートである。
【図3】本発明の実施例2のデータ処理装置の構成を示すブロック図である。
【図4】図3のデータ処理装置の動作のタイミングチャートである。
【図5】本発明の実施例3のデータ処理装置の構成を示すブロック図である。
【図6】図5のデータ処理装置の動作のタイミングチャートである。
【図7】図5のデータ処理装置の動作のタイミングチャートである。
【図8】従来の専用演算装置の構成を示すブロック図である。
【図9】図8の専用演算装置の動作のタイミングチャートである。

【特許請求の範囲】
【請求項1】
演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、並びに、後処理用の第2の演算装置を備えるデータ処理装置であって、
前記演算結果保持手段は、前記第1の演算装置における演算結果から必要な演算結果のみを抽出して保持し、
前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算結果出力手段と前記第2の演算装置を制御するための情報を出力し、
前記第1の演算結果出力手段は、前記第1の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段にて保持した演算結果を前記第2の演算装置に出力し、
前記第2の演算装置は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、
前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とするデータ処理装置。
【請求項2】
演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、並びに、第2の演算制御情報出力手段を有する後処理用の第2の演算装置を備えるデータ処理装置であって、
前記演算結果保持手段は、前記第1の演算装置における演算結果から必要な演算結果のみを抽出して保持し、
前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第2の演算装置を制御するための情報を出力し、
前記第2の演算制御情報出力手段は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段を制御するための情報を出力し、
前記第1の演算結果出力手段は、前記第2の演算制御情報出力手段から入力される情報に従って前記演算結果保持手段に保持した演算結果を前記第2の演算装置に出力し、
前記第2の演算装置は、前記第1の演算制御情報出力手段から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、
前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とするデータ処理装置。
【請求項3】
演算結果保持手段と第1の演算結果出力手段と第1の演算制御情報出力手段とを有する前処理用の第1の演算装置、第2の演算制御情報出力手段を有する後処理用の第2の演算装置、並びに、演算制御装置を備えるデータ処理装置であって、
前記演算結果保持手段は、前記第1の演算手段における演算結果から必要な演算結果のみを抽出して保持し、
前記第1の演算制御情報出力手段は、予め定められた条件に従って前記第2の演算装置を制御するための情報を出力し、
前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置を制御するための情報を出力し、
前記演算制御装置は、前記第1の演算制御情報出力手段から入力される情報と前記第2の演算制御情報出力手段から入力される情報に従って前記第1の演算装置と前記第2の演算装置を制御するための情報を出力し、
前記第1の演算結果出力手段は、前記演算制御装置から入力される情報に従って前記演算結果保持手段にて保持した演算結果を出力し、
前記第2の演算装置は、前記演算制御装置から入力される情報に従って前記第1の演算結果出力手段の出力を読み込んで演算してその演算結果を出力し、
前記演算結果保持手段が、異なるタイミングで演算した複数の演算結果を同時に保持することを特徴とするデータ処理装置。
【請求項4】
請求項2又は3に記載のデータ処理装置において、
前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置の処理を途中で強制的に終了させるための情報を出力することを特徴とするデータ処理装置。
【請求項5】
請求項1乃至4のいずれか1つに記載のデータ処理装置において、
入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、
前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、
前記第1の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力することを特徴とするデータ処理装置。
【請求項6】
請求項2又は3に記載のデータ処理装置において、
入力データとして演算対象のデータとともにそのデータの属性を示す情報が入力され、
前記演算結果保持手段は、演算結果とともに前記属性情報を保持し、
前記第1の演算結果出力手段は、前記演算結果保持手段にて保持した演算結果と属性情報を出力し、
前記第2の演算制御情報出力手段は、予め定められた条件に従って前記第1の演算装置の処理を途中で強制的に終了させるための情報を出力し、
前記第1の演算装置もしくは前記演算制御装置は、前記第2の演算制御情報出力手段からの出力と前記第1の演算装置に入力された前記属性情報に従って前記第1の演算装置の処理を途中で強制終了するか否かを判定し、強制終了した場合にはすみやかに別の属性情報を有するデータの演算を開始することを特徴とするデータ処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate