JPH02253462A - データ送信用拡張リングバッファ - Google Patents
データ送信用拡張リングバッファInfo
- Publication number
- JPH02253462A JPH02253462A JP7606089A JP7606089A JPH02253462A JP H02253462 A JPH02253462 A JP H02253462A JP 7606089 A JP7606089 A JP 7606089A JP 7606089 A JP7606089 A JP 7606089A JP H02253462 A JPH02253462 A JP H02253462A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ring buffer
- buffer
- write pointer
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims description 4
- 238000012545 processing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
[産業上の利用分野]
本発明は、大量のデータを送受信するシステムに於いて
通信フォーマットを容易に整える為のリングバッファに
関する。
通信フォーマットを容易に整える為のリングバッファに
関する。
【従来の技術]
従来のリングバッファはバッファ長が固定されている。
送信データをリングバッファへ読み込む際バッファの先
頭(BUF、、−TOP)からライトポインタ(WP)
の示すアドレスへ順次データを格納して行く。1バイト
データを格納する都度ライトポインタはインクレメント
され次の1バイトを次のアドレスへ格納する。以上をく
りかえしライトポインタがリングバッファの終端(Bυ
FEND)へ到達するとライトポインタにはバッファの
先頭のアドレスが書き込まれ次の1バイトは再びリング
バッファの先頭へ書き込まれる。(第3図参照) 【発明が解決しようとする課題] 従来の技術ではリングバッファへ格納しているデータの
内容にかかわらずライトポインタがバッファの終端に到
達するとライトポインタにはバッファの先頭アドレスが
書き込まれ、次のデータはバッファの先頭から書き込ま
れてしまう。その為第4図に示す様に一連のデータ例え
ばデータ1がバッファの終端付近からバッファに書き込
まれた場合データ1はバッファの上下端に分断されて格
納されることとなる。この・ためデータ1の始まりのア
ドレスを記憶しておきデータ1の始まりからn個目のデ
ータにアクセスしたい時、データ1の始まりのアドレス
にnを加えることでは実現できず、実際にはデータ1の
始まりからリングバッファの終端までのデータ数を求め
nから引きその値(m)をリングバッファの先頭アドレ
スに加え目的のデータのアドレスを生成する。この手続
が非常に煩雑な為、この様な相対的なアドレッシングが
多数必要になる場合実行時間が非常に増加する。 又、プログラムが複雑化し、間違いの元となりやすい。 本発明は、このような問題を解決することを目的とする
ものである。 【課題を解決するための手段および作用]本発明におい
ては、リングバッファへデータを読込む際に一連のデー
タが終了していない場合ライトポインタがリングバッフ
ァ終端に到達してもバッファの先頭に戻らずに1バイト
データを書き込む度にライトポインタをインクレメント
する。 第2図に示すように例えばデータ4の全データを格納後
、データ4終りのアドレスがリングバッファ終端を超え
ていればライトポインタにバッファ先頭アドレスをセッ
トする。 リングバッファ終端を超えてデータを格納するのでその
領域を拡張バッファとして確保しておく。 このようにすることによって一連のデータはリングバッ
ファ内で分断されることがなくなりデータ中の相対アド
レッシングを可能とする。 【実施例】 実施例で説明する。第1図に示すアルゴリズムに従い送
信データを第3図に示す拡張リングバッファへ格納する
。 まずデータ1について説明すると、第1図の■送信デー
タありのYでデータ1を■、■、■のアルゴリズムに従
いデータをデータ1の終りまで読み込む。■の判断でデ
ータ1の終りはバッファ終端に到達していないので、■
の判断はNとなり■に行かず■へもどる。 次に、データ2.データ3についてもデータ1と同様に
格納が行われる。最後にデータ4についてもデータ1と
同様にデータをデータ4の終りまで読み込む。■の判断
でデータ4の終りはバッファ終端を超えてしまっている
ので■の判断はYとなり■へ行きライトポインタはバッ
ファの先頭を示す。この時データ5があれば、データ5
はバッファの先頭から書き込まれる。 データ4格納終了後 格納済のデータについて一連のデータは全てバッファ上
に連続しである為データ4のデータ中データ4の先頭か
らn個目のデータにアクセスする場合n個目のデータの
アドレスは下記に示される。 n個目のデータアドレス 1デ一タ4先頭アドレス十〇 ・・・(1)(1)式
は、拡張リングバッファ上のどのデータについても適用
できる為、容易にデータの変更、検索が可能となる。
頭(BUF、、−TOP)からライトポインタ(WP)
の示すアドレスへ順次データを格納して行く。1バイト
データを格納する都度ライトポインタはインクレメント
され次の1バイトを次のアドレスへ格納する。以上をく
りかえしライトポインタがリングバッファの終端(Bυ
FEND)へ到達するとライトポインタにはバッファの
先頭のアドレスが書き込まれ次の1バイトは再びリング
バッファの先頭へ書き込まれる。(第3図参照) 【発明が解決しようとする課題] 従来の技術ではリングバッファへ格納しているデータの
内容にかかわらずライトポインタがバッファの終端に到
達するとライトポインタにはバッファの先頭アドレスが
書き込まれ、次のデータはバッファの先頭から書き込ま
れてしまう。その為第4図に示す様に一連のデータ例え
ばデータ1がバッファの終端付近からバッファに書き込
まれた場合データ1はバッファの上下端に分断されて格
納されることとなる。この・ためデータ1の始まりのア
ドレスを記憶しておきデータ1の始まりからn個目のデ
ータにアクセスしたい時、データ1の始まりのアドレス
にnを加えることでは実現できず、実際にはデータ1の
始まりからリングバッファの終端までのデータ数を求め
nから引きその値(m)をリングバッファの先頭アドレ
スに加え目的のデータのアドレスを生成する。この手続
が非常に煩雑な為、この様な相対的なアドレッシングが
多数必要になる場合実行時間が非常に増加する。 又、プログラムが複雑化し、間違いの元となりやすい。 本発明は、このような問題を解決することを目的とする
ものである。 【課題を解決するための手段および作用]本発明におい
ては、リングバッファへデータを読込む際に一連のデー
タが終了していない場合ライトポインタがリングバッフ
ァ終端に到達してもバッファの先頭に戻らずに1バイト
データを書き込む度にライトポインタをインクレメント
する。 第2図に示すように例えばデータ4の全データを格納後
、データ4終りのアドレスがリングバッファ終端を超え
ていればライトポインタにバッファ先頭アドレスをセッ
トする。 リングバッファ終端を超えてデータを格納するのでその
領域を拡張バッファとして確保しておく。 このようにすることによって一連のデータはリングバッ
ファ内で分断されることがなくなりデータ中の相対アド
レッシングを可能とする。 【実施例】 実施例で説明する。第1図に示すアルゴリズムに従い送
信データを第3図に示す拡張リングバッファへ格納する
。 まずデータ1について説明すると、第1図の■送信デー
タありのYでデータ1を■、■、■のアルゴリズムに従
いデータをデータ1の終りまで読み込む。■の判断でデ
ータ1の終りはバッファ終端に到達していないので、■
の判断はNとなり■に行かず■へもどる。 次に、データ2.データ3についてもデータ1と同様に
格納が行われる。最後にデータ4についてもデータ1と
同様にデータをデータ4の終りまで読み込む。■の判断
でデータ4の終りはバッファ終端を超えてしまっている
ので■の判断はYとなり■へ行きライトポインタはバッ
ファの先頭を示す。この時データ5があれば、データ5
はバッファの先頭から書き込まれる。 データ4格納終了後 格納済のデータについて一連のデータは全てバッファ上
に連続しである為データ4のデータ中データ4の先頭か
らn個目のデータにアクセスする場合n個目のデータの
アドレスは下記に示される。 n個目のデータアドレス 1デ一タ4先頭アドレス十〇 ・・・(1)(1)式
は、拡張リングバッファ上のどのデータについても適用
できる為、容易にデータの変更、検索が可能となる。
本発明によれば波長リングバッファに格納されているデ
ータについて、相対アドレスにてデータにアクセス可能
な為、格納済みのデータに送信用フォマットを付加した
りデータを変更することが容易に行なえる。またプログ
ラムが容易になる為開発期間を短縮することができる。
ータについて、相対アドレスにてデータにアクセス可能
な為、格納済みのデータに送信用フォマットを付加した
りデータを変更することが容易に行なえる。またプログ
ラムが容易になる為開発期間を短縮することができる。
第1図は、本発明のアルゴリズムのフロー図であり、第
2図は本発明の拡張“リングバッファ構成図であり、第
3図は従来の技術のリングバッファ構成図であり、第4
図は従来の技術のリングバッファ動作説明図である。 出願人代理人 弁理士 布施1)勝 正ノングバノファ 第 図 拡張リングバッファ 第 図
2図は本発明の拡張“リングバッファ構成図であり、第
3図は従来の技術のリングバッファ構成図であり、第4
図は従来の技術のリングバッファ動作説明図である。 出願人代理人 弁理士 布施1)勝 正ノングバノファ 第 図 拡張リングバッファ 第 図
Claims (1)
- リングバッファを拡張可能に構成し、データ格納の都度
ライトポインタの位置が予め設定されたリングバッファ
終端値に到達しているか否かを判断し、終端値に到達し
ている場合にはライトポインタをバッファ先頭アドレス
に設定することを特徴とするデータ送信用拡張リングバ
ッファ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7606089A JPH02253462A (ja) | 1989-03-28 | 1989-03-28 | データ送信用拡張リングバッファ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7606089A JPH02253462A (ja) | 1989-03-28 | 1989-03-28 | データ送信用拡張リングバッファ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02253462A true JPH02253462A (ja) | 1990-10-12 |
Family
ID=13594229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7606089A Pending JPH02253462A (ja) | 1989-03-28 | 1989-03-28 | データ送信用拡張リングバッファ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02253462A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540601A (ja) * | 1991-08-05 | 1993-02-19 | Nec Corp | アドレス生成回路 |
US7194191B2 (en) * | 2000-12-05 | 2007-03-20 | Pioneer Corporation | Information recording and reproducing apparatus |
US7558910B2 (en) * | 1998-11-13 | 2009-07-07 | Cray Inc. | Detecting access to a memory location in a multithreaded environment |
CN112882655A (zh) * | 2021-02-03 | 2021-06-01 | 广发证券股份有限公司 | 数据缓存方法、装置、电子设备及存储介质 |
-
1989
- 1989-03-28 JP JP7606089A patent/JPH02253462A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540601A (ja) * | 1991-08-05 | 1993-02-19 | Nec Corp | アドレス生成回路 |
US7558910B2 (en) * | 1998-11-13 | 2009-07-07 | Cray Inc. | Detecting access to a memory location in a multithreaded environment |
US7904685B1 (en) | 1998-11-13 | 2011-03-08 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US7194191B2 (en) * | 2000-12-05 | 2007-03-20 | Pioneer Corporation | Information recording and reproducing apparatus |
CN112882655A (zh) * | 2021-02-03 | 2021-06-01 | 广发证券股份有限公司 | 数据缓存方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR880002335A (ko) | 수신된 패킷을 기억하는 버퍼 메모리를 갖는 패킷 교환 시스템 | |
JPH0146892B2 (ja) | ||
KR100750273B1 (ko) | 메모리 제어장치 | |
JPH02253462A (ja) | データ送信用拡張リングバッファ | |
WO2003028337A3 (de) | Verfahren zum zugriff auf eine befehlseinheit für ein datennetz | |
JP2796217B2 (ja) | データ伝送装置 | |
JPS6115459B2 (ja) | ||
JPH10222460A (ja) | データ転送制御装置 | |
JPH0387957A (ja) | バスアクセス方法 | |
JPH0316657B2 (ja) | ||
JPS61149365A (ja) | デ−タ制御装置 | |
JPH0561814A (ja) | 並び替え機能付きデータ転送装置 | |
JPH01200450A (ja) | メモリ拡張回路 | |
JPH0520254A (ja) | プリンタ | |
JPS6364474A (ja) | 画像メモリ制御装置 | |
JPH05143524A (ja) | カウンタ制御方式 | |
JPS5916185A (ja) | メモリアクセス装置 | |
JPS63144496A (ja) | 記憶装置の書込み制御方式 | |
JPS6368955A (ja) | 入出力制御装置 | |
JPS6058493B2 (ja) | 情報処理装置 | |
JPH0433057B2 (ja) | ||
JPS63646A (ja) | メモリアクセス待ち制御回路 | |
JPH01123285A (ja) | 画面表示装置 | |
JPH02238533A (ja) | メモリ回路 | |
JPH03147593A (ja) | ビットブロック転送装置 |