説明

データバッファリング装置

【課題】要求元からの可変データ取得要求に応じて割り込みアドレスが変更される場合でも、要求元からは連続したアドレス領域のデータ取得を可能とするデータバッファリング装置を実現する。
【解決手段】時系列的に発生するデータが書き込み手段を介して先頭アドレスより最終アドレスまで書き込まれ、次のデータが前記先頭アドレスに上書きされるリングバッファ部と、このリングバッファ部への指定アドレスから所定数のデータを取得するデータ処理部を具備するデータバッファリング装置において、
前記リングバッファ部の最終アドレスに引き続く先頭アドレスを持つ補助バッファ部を備え、
前記書き込み手段は、前記リングバッファ部の先頭アドレス及び前記補助バッファ部の先頭アドレスより所定数の同一データを並行して書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列的に発生するデータが書き込み手段を介して先頭アドレスより最終アドレスまで書き込まれ、次のデータが前記先頭アドレスに上書きされるリングバッファ部と、このリングバッファ部への指定アドレスから所定数のデータを取得するデータ処理部を具備するデータバッファリング装置に関するものである。
【背景技術】
【0002】
図3は、従来のデータバッファリング装置の構成例を示す機能ブロック図である。リングバッファ部1には、プロセスの測定値Pi等を入力して時系列的な測定データdiを出力するデータ生成部2からのデータが、書き込み手段3を介して先頭アドレスより最終アドレスまで順次書き込まれ、次のデータが先頭アドレスに上書きされる。
【0003】
データ処理部4は、リングバッファ部1へ指定アドレスからの所定数のデータの取得要求を出し、リングバッファ部1より取得許可を受けると、指定アドレスから所定数のデータをリングバッファ部1にアクセスして取得する。
【0004】
図4は、従来のデータバッファリング装置の第1パターンの動作説明図である。図4(A)は、0X00より0X90のアドレスを有するリングバッファ部1を示しており、0X30,0X60,0X90に予め割り込みアドレスが設定されている。
【0005】
データ処理部4は割り込みアドレス間の埋まった面のデータを一括取得する。この手法は、ダブルバッファリングまたはマルチバッファリングと呼ばれ、リングバッファにおける一般的な手法である。
【0006】
図4(B)は、データ処理部4より、アドレス0X00より0X30分のデータ要求があった場合を示している。測定データがアドレス0X00より順次書き込まれ、アドレス0X30を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X00より0X30分のデータを取得する。
【0007】
図4(C)は、引き続きデータ処理部4より、アドレス0X30より0X30分のデータ要求があった場合を示している。測定データの書き込みがアドレス0X60を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X30より0X30分のデータを取得する。
【0008】
図4(D)は、更に引き続きデータ処理部4より、アドレス0X60より0X30分のデータ要求があった場合を示している。測定データの書き込みがアドレス0X90を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X60より0X30分のデータを取得する。
【0009】
図5は、従来のデータバッファリング装置の第2パターンの動作説明図である。図4との相違点は、要求元の欲するデータが固定ではなく、可変長の場合であり、割り込みアドレスをデータ取得要求の都度逐次設定する点である。
【0010】
図5(A)は、要求元よりアドレス0X00より0X20分のデータ取得要求あった場合を示している。リングバッファ部1は、アドレス0X20に割り込みアドレスを設定する。図5(B)は、測定データがアドレス0X00より順次書き込まれ、アドレス0X20を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X00より0X20分のデータを取得する。
【0011】
図5(C)は、引き続きデータ処理部4より、アドレス0X20から0X60分のデータ要求があった場合を示している。リングバッファ部1は、アドレス0X80に割り込みアドレスを設定する。図5(D)では、測定データの書き込みがアドレス0X80を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X20〜0X80までの0X60分のデータを取得する。
【0012】
図5(E)は、更に引き続きデータ処理部4より、アドレス0X80から0X20分のデータ要求があった場合を示している。リングバッファ部1は、アドレス0X80〜0X90までは0X10分しか残っていないので、先頭アドレス0X00から0X10分のアドレス0X10に割り込みアドレスを設定する(図5(D)点線部参照)。
【0013】
測定データの書き込みがアドレス0X10を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はアドレス0X80〜0X90までの0X10分のデータ及びアドレス0X00〜0X10までの0X10分のデータを分けて取得する。
【0014】
【特許文献1】特開平05−334046号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
図5で説明したように、割り込みアドレスが固定でなく要求元からの可変データ取得要求に応じて変更される場合には、最終アドレスを超えたデータ取得要求に対してはデータが不連続となり、データの取得を2回に分けて行なうケースが発生する。
【0016】
このようなデータ取得を実行するためには、連続/不連続のデータ取得を場合分けしたり、不連続データを連続領域にコピーする処理プログラムを実装する必要があり、CPUの負担増となり、バッファリングの高速性が阻害される。
【0017】
本発明は上述した問題点を解決するためになされたものであり、要求元からの可変データ取得要求に応じて割り込みアドレスが変更される場合でも、連続したアドレス領域のデータ取得を可能とするデータバッファリング装置の実現を目的としている。
【課題を解決するための手段】
【0018】
このような課題を達成するために、本発明は次の通りの構成になっている。
(1)時系列的に発生するデータが書き込み手段を介して先頭アドレスより最終アドレスまで書き込まれ、次のデータが前記先頭アドレスに上書きされるリングバッファ部と、このリングバッファ部への指定アドレスから所定数のデータを取得するデータ処理部を具備するデータバッファリング装置において、
前記リングバッファ部の最終アドレスに引き続く先頭アドレスを持つ補助バッファ部を備え、
前記書き込み手段は、前記リングバッファ部の先頭アドレス及び前記補助バッファ部の先頭アドレスより同一データを並行して書き込むことを特徴とするデータバッファリング装置。
【0019】
(2)前記リングバッファ部は、前記データ処理部からのデータ取得要求に対し、要求データの末尾に割り込みアドレスを設定し、前記書き込み手段によるデータの書き込みが前記割り込みアドレスを超えたときに前記データ処理部にデータ取得許可を与えることを特徴とする(1)に記載のデータバッファリング装置。
【0020】
(3)前記データ処理部は、前記リングバッファ部よりデータ取得許可を受けると、指定した先頭アドレスより連続したアドレスに従い所定数のデータを取得することを特徴とする(2)に記載のデータバッファリング装置。
【0021】
(4)前記データ処理部は、前記リングバッファ部の最終アドレスを超える数のデータ取得を要求する場合には、前記リングバッファ部の最終アドレスに引き続く前記補助バッファ部のアドレスにアクセスしてデータを取得することを特徴とする(1)乃至(3)のいずれかに記載のデータバッファリング装置。
【発明の効果】
【0022】
本発明の構成によれば、次のような効果を期待することができる。
(1)リングバッファ部の最終アドレスに引き続く先頭アドレスを持つ補助バッファ部を備え、リングバッファ部の先頭アドレス及び補助バッファ部の先頭アドレスより同一データを並行して書き込むことにより、要求元からの可変データ取得要求に応じて割り込みアドレスが変更される場合でも、要求元に対しては見かけ上リングバッファ手段の連続したアドレス領域のデータを取得させることができる。要求元は、データの不連続性を意識することなくデータを取得することができ、全体として処理の効率化を図ることができる。
【0023】
(2)リングバッファ部1とデータ処理部4との関係で設定される割り込みアドレスの管理は、従来装置と全く同一とすることができるので、プログラム変更やCPU負担の増加がなく、バッファリングの高速性が確保される。
【発明を実施するための最良の形態】
【0024】
以下、本発明を図面により詳細に説明する。図1は、本発明を適用したデータバッファリング装置の一実施形態を示す機能ブロック図である。図3で説明した従来装置と同一要素には同一符号を付して説明を省略する。
【0025】
従来装置に対する本発明の構成上の特徴部は、リングバッファ部1の最終アドレスに引き続く先頭アドレスを持つ補助バッファ部100を備える点にある。このような構成において、書き込み手段3は、リングバッファ部1の先頭アドレス及び補助バッファ部100の先頭アドレスより所定数の同一データを同時並行して書き込む。
【0026】
リングバッファ部1は、データ処理部4からのデータ取得要求を受けて、要求データの末尾に割り込みアドレスを設定し、書き込み手段3によるデータの書き込みが割り込みアドレスを超えたときにデータ処理部4にデータ取得許可を与える。この基本動作は、従来装置と同一である。
【0027】
データ処理部4は、リングバッファ部1よりデータ取得許可を受けると、指定した先頭アドレスより連続したアドレスに従い所定数のデータを取得する。この基本動作も従来装置と同一である。
【0028】
データ処理部4は、前記リングバッファ部の最終アドレスを超える数のデータ取得を要求する場合には、リングバッファ部の最終アドレスに引き続く補助バッファ部100のアドレスにアクセスしてデータを取得する。
【0029】
図2は、本発明を適用したデータバッファリング装置の動作説明図である。リングバッファ部1は、図4,図5と同様に0X00より0X90のアドレスを有する。補助バッファ部100は、リングバッファ部1の最終アドレス0X90に引き続く先頭アドレスから0X30分のデータ領域を有する。
【0030】
図示されていないが、書き込み手段3より、リングバッファ部1の先頭アドレス及び補助バッファ部100の先頭アドレスより所定数の同一測定データが同時並行して書き込まれている。
【0031】
今、図5(D),(E)と同様なケースで、アドレス0X80より0X20分のデータ取得要求が発生した場合、リングバッファ部1は、先頭アドレスより0X10分のアドレス0X10に割り込みアドレスを設定する。
【0032】
測定データの書き込みがアドレス0X10を超えた時に要求元のデータ処理部4にデータ準備OKの取得許可を与える。この取得許可に基づいて、データ処理部4はリングバッファ部1のアドレス0X80〜0X90の0X10分のデータに引き続き、連続するアドレスを有する補助バッファ手段100より0X10分のデータを取得する。
【0033】
データ処理部4が補助バッファ手段100より取得する0X10分のデータは、見かけ上、リングバッファ部1の先頭アドレス0X00から0X10までの0X10分のデータを取得していることと同一となる。
【0034】
このような仕組みにより、リングバッファ部1とデータ処理部4との関係で設定される割り込みアドレスの管理は、従来装置と全く同一とすることができるので、プログラム変更やCPU負担の増加がなく、バッファリングの高速性を確保することができる。
【0035】
実施形態では、リングバッファ部1に書き込まれるデータとしてプロセス測定値から生成される時系列の測定データを例示したが、これに限定されるものではなく、データ処理装置一般のデータ収集部に本発明を適用することができる。
【0036】
なお、補助バッファ手段100の容量は自由に設定することができる。補助バッファ手段100の容量は、取得するデータ量に比べて十分大きいものとすることが望ましい。
【図面の簡単な説明】
【0037】
【図1】本発明を適用したデータバッファリング装置の一実施形態を示す機能ブロック図である。
【図2】本発明を適用したデータバッファリング装置の動作説明図である。
【図3】従来のデータバッファリング装置の構成例を示す機能ブロック図である。
【図4】従来のデータバッファリング装置の第1パターンの動作説明図である。
【図5】従来のデータバッファリング装置の第2パターンの動作説明図である。
【符号の説明】
【0038】
1 リングバッファ部
2 データ生成部
3 書き込み手段
4 データ処理部
100 補助バッファ部

【特許請求の範囲】
【請求項1】
時系列的に発生するデータが書き込み手段を介して先頭アドレスより最終アドレスまで書き込まれ、次のデータが前記先頭アドレスに上書きされるリングバッファ部と、このリングバッファ部への指定アドレスから所定数のデータを取得するデータ処理部を具備するデータバッファリング装置において、
前記リングバッファ部の最終アドレスに引き続く先頭アドレスを持つ補助バッファ部を備え、
前記書き込み手段は、前記リングバッファ部の先頭アドレス及び前記補助バッファ部の先頭アドレスより同一データを並行して書き込むことを特徴とするデータバッファリング装置。
【請求項2】
前記リングバッファ部は、前記データ処理部からのデータ取得要求に対し、要求データの末尾に割り込みアドレスを設定し、前記書き込み手段によるデータの書き込みが前記割り込みアドレスを超えたときに前記データ処理部にデータ取得許可を与えることを特徴とする請求項1に記載のデータバッファリング装置。
【請求項3】
前記データ処理部は、前記リングバッファ部よりデータ取得許可を受けると、指定した先頭アドレスより連続したアドレスに従い所定数のデータを取得することを特徴とする請求項2に記載のデータバッファリング装置。
【請求項4】
前記データ処理部は、前記リングバッファ部の最終アドレスを超える数のデータ取得を要求する場合には、前記リングバッファ部の最終アドレスに引き続く前記補助バッファ部のアドレスにアクセスしてデータを取得することを特徴とする請求項1乃至3のいずれかに記載のデータバッファリング装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate