JP2789654B2 - バッファ制御方式 - Google Patents

バッファ制御方式

Info

Publication number
JP2789654B2
JP2789654B2 JP1064232A JP6423289A JP2789654B2 JP 2789654 B2 JP2789654 B2 JP 2789654B2 JP 1064232 A JP1064232 A JP 1064232A JP 6423289 A JP6423289 A JP 6423289A JP 2789654 B2 JP2789654 B2 JP 2789654B2
Authority
JP
Japan
Prior art keywords
buffer
transfer
data
buffers
unit
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.)
Expired - Lifetime
Application number
JP1064232A
Other languages
English (en)
Other versions
JPH02242464A (ja
Inventor
庸三 佐藤
薫 波多腰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1064232A priority Critical patent/JP2789654B2/ja
Publication of JPH02242464A publication Critical patent/JPH02242464A/ja
Application granted granted Critical
Publication of JP2789654B2 publication Critical patent/JP2789654B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔概 要〕 本発明はバッファ制御方式に関し、 メモリの効率的利用を目的とし、 他の群とは異なる同一容量のバッファを複数それぞれ
備えたバッファ群と、該バッファ群に対応する転送カウ
ンタを備え、転送単位数を計数しつつ指定された複数の
転送先バッファにそれぞれ同一の転送データを転送単位
ごとに転送するとともに、該転送カウンタを監視し、オ
ーバフローするバッファにはデータ転送を停止して状態
レジスタに異常終了データを設定するデータ転送部と、
該バッファ群よりそれぞれ1組のバッファを抽出して前
記転送先バッファとして割当てるとともに、該状態レジ
スタを参照し正常に転送終了した該バッファのうち最小
容量のバッファを該転送データを格納したバッファして
決定し管理するバッファ管理部とを設け、同一の転送デ
ータを容量の異なる複数の該バッファに転送し、正常に
転送終了した最小容量の該バッファを該データの格納先
バッファとして管理、制御するように構成する。
〔産業上の利用分野〕
本発明はバッファ制御方式の改良に関する。
例えば回線接続されたデータ処理装置では、受信デー
タを主メモリ上に転送するため、伝送単位(ハイレベル
データリンク制御手順ではフレーム)の容量を持つバッ
ファメモリ(以下バッファ)が複数主メモリ上に用意さ
れており、複数フレームを用いて伝送された一連のデー
タをフレーム対応でバッファに転送している。
このフレームはシステムによって、例えば256,・・
・,4096バイトのごとく固定長に定められているが、デ
ータ受信中に再送要求等がある場合には数十バイトの監
視フレームが混入する。
このため、フレーム長に対応したバッファを設けてお
けば主メモリが節減できるが、フレーム長を受信中には
予測することができないため、従来では最大フレーム長
の容量をすべてのバッファに持たせ、フレーム種別に関
係なくバッファを割当てて転送している。
従って、監視フレームを転送したバッファには空き領
域が生じ、メモリに無駄が生じる。
このため、データ量に応じて動的にバッファの大きさ
を選択するバッファ制御方式が求められている。
〔従来の技術〕
第4図は従来のデータ転送方式説明図である。
第4図は回線接続されたデータ処理装置のデータ転送
部分を示したもので、回線制御部1を介して受信された
データは、受信バッファ6を介しダイレクトメモリアク
セスDMAにより、主メモリ4に確保されているバッファ
5に例えばバイト単位で転送される。
バッファ5は、例えば同じ4096バイトの容量を持つ12
0個(このうち20個は監視フレーム分)のバッファより
構成されており、主制御部3により予め転送先バッファ
のアドレスデータならびにバイト数がアドレスカウンタ
7、転送カウンタ8にそれぞれ設定されていて受信開始
とともに転送が開始される。
データ転送部2は、データを受信すると、共通バス10
0を獲得した後、アドレスカウンタ7および転送カウン
タ8をデクレメントしつつ、バイト単位のデータを受信
バッファ6より送出して転送先バッファ5に順次格納せ
しめ、1フレームの転送が終了するかまたは転送カウン
タ8が0になるか、いずれか早く検出されたタイミング
で転送終了信号を送出する。
これにより、主制御部3は正常/異常終了等の状態が
セットされる状態レジスタ9を読取り、正常終了ならば
次の転送先バッファのアドレスとバイト数を設定し、異
常終了ならば所定の異常処理を行う。
転送先バッファが再設定されると、データ転送部2
は、転送未完了ならば、同様にして共通バス100を獲得
した後次のフレームを転送する。
以上の動作により複数フレームで構成された受信デー
タが、フレーム対応でバッファ5に転送され、受信デー
タのすべてを転送完了したときは受信終了信号が主制御
部3に送出されて所定の受信処理が行われる。
〔発明が解決しようとする課題〕
受信データ等を主メモリへ転送する装置では、受信デ
ータの最大フレーム数(前例では100個)と、受信中に
混入する監視フレームの予測数(20個)とを加えた数の
バッファが主メモリ上に設定され、フレーム単位に割り
当てて転送している。
この監視フレーム分として用意されるがバッファは、
監視フレーム長が情報フレーム長と比較して数分の1以
下であるにもかかわらず受信中予測できないために、情
報フレーム分と同じ容量、即ち最大容量が確保されてい
た。
しかし、このような小量のデータを最大容量のバッフ
ァに割り当てると、当然バッファに空き領域が生じ、メ
モリに無駄が生じるという課題が生じる。
本発明は、上記課題に鑑み、メモリを有効に利用する
バッファ制御方式を提供することを目的とする。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のバッファ制御方式
は、第1図本発明の原理図に示すように、 他の群とは異なる同一容量のバッファを複数それぞれ
備えたバッファ群(A,B,C)と、 該バッファ群に対応する転送カウンタ(8a,8b,8c)を
備え、転送単位数を計数しつつ指定された複数の転送先
バッファ(5a,5b,5c)にそれぞれ同一の転送データを転
送単位ごとに転送するとともに、該転送カウンタ(8a,8
b,8c)を監視し、オーバフローするバッファにはデータ
転送を停止して状態レジスタ(14)に異常終了データを
設定するデータ転送部(10)と、 該バッファ群(A,B,C)よりそれぞれ1組のバッファ
を抽出して前記転送先バッファ(5a,5b,5c)として割当
てるとともに、該状態レジスタ(14)を参照し正常に転
送終了した該バッファのうち最小容量のバッファを該転
送データを格納したバッファとして決定し管理するバッ
ファ管理部(11)とを備える。
〔作 用〕
他の群とは異なる同一容量のバッファを複数それぞれ
備えるバッファ群A,B,Cを設け、バッファ管理部11はそ
れぞれのバッファ群A,B,Cより1組づつ抽出して転送先
バッファ5a,5b,5c(容量は5a>5b>5cとする)として指
定する。
データ転送部10は、同一の転送データをそれぞれ転送
カウンタ8a,8b,8cをデクレメントしつつバッファ5a,5b,
5cに転送単位に転送する。
転送中、転送カウンタ8a,8b,8cを監視してオーバフロ
ーを検出したバッファ(5cとする)に対しては転送を停
止し、異常終了として対応する状態レジスタ14に異常終
了データをセットし、正常に転送終了したバッファ(5
a,5b)に対応する状態レジスタ14には正常終了データを
セットする。
転送データのバッファへの転送が終了したとき、バッ
ファ管理部11は、状態レジスタ14を読取り、正常終了し
たバッファ(5a,5b)のうち、最小容量のバッファ(5
b)を転送データの格納先バッファとして決定し管理す
る。
以上により、データ量の少ないデータは、そのデータ
量に応じた容量のバッファに格納することができ、従来
小データ量用として設けられていたバッファの容量を最
大容量より小さくできるため、メモリの効率利用が達成
される。
〔実施例〕
本発明の実施例を図を用いて詳細に説明する。
第2図は実施例のブロック図、第3図は転送動作フロ
ーチャート図である。
本実施例では、2組のバッファ群A,Bを設けた例を示
し、またバッファへの転送単位、ここではバイトごとに
同一データを各バッファへ同時平行的に転送する例を示
す。第2図において、 Aはバッファ群で、最大長(例えば4096バイト)の受
信データの1フレーム分(転送データ)を格納する同一
容量の複数のバッファより構成され、主メモリ4上に設
定されるもの、 Bはバッファ群で、バッファ群Aを構成するバッファ
より小容量(例えば64バイト)で同一容量の複数のバッ
ファより構成され、主メモリ4上に設定されるもの、 11はバッファ管理部で、バッファ群A,Bを構成する各
バッファの主メモリ4上のアドレス,バイト数,割当中
か否か,転送順序等を管理する管理テーブル15を備えて
バッファ管理を行うもの、 10はデータ転送部で、受信データを受信バッファ6介
して指定された複数のバッファ5a,5bに転送し、正常/
異常終了データを状態レジスタ14にセットするものであ
る。
また、データ転送部10において、 8a,8bは、バッファ群A,Bに対応したA用転送カウンタ
ならびにB用転送カウンタ、 7a,7bは、バッファ群A,Bにそれぞれ対応したA用アド
レスカウンタならびにB用アドレスカウンタ、 13は切替部で、A用アドレスカウンタ7aとB用アドレ
スカウンタ7bを切り換えて共通バス100にアドレスデー
タを出力するもの、 14は状態レジスタで、バッファ群A,Bに対応し、それ
ぞれ正常終了データ,異常終了データがセットされるも
の、 12は制御部で、上記データ転送部10を構成する各部を
制御して転送制御を行うものである。
以上構成のデータ処理装置において、以下の例に示す
転送制御が行われる。(第3図参照) (1) バッファ管理部11は管理テーブル15を参照し、
空きバッファをバッファ群A,Bよりそれぞれ1組抽出し
て、そのアドレスデータ(図ではa,b)とバイト数(409
6,64)とをそれぞれ、A用アドレスカウンタ7a、B用ア
ドレスカウンタ7bならびにA用転送カウンタ8a、B用転
送カウンタ8bにそれぞれセットする。
(2) データの受信が開始されると、データ転送部の
制御部12は、まずA用アドレスカウンタ7aに切り換えて
バッファ5aの先頭アドレスデータaとともに転送データ
の1バイト目を共通バス100に送出してバッファ5aに格
納せしめ、続いてそのデータを送出したままB用アドレ
スカウンタ7bに切り換えてバッファ5bのアドレスデータ
dを送出し、バッファ5bに格納せしめる。
続いて、それぞれの転送カウンタ,アドレスカウンタ
をデクレメントし、前記同様の切替え制御によって次の
バイトデータをそれぞれのバッファ5a,5bに格納せしめ
る。
以上の転送制御中、データ転送部10は、転送フレーム
中の終了フラグならびにA用ならびにB用転送カウンタ
8a,8bを監視し、“0"になった転送カウンタ(例では転
送カウンタ8b)が検出されるとバッファ5bへのデータ転
送を停止し、状態レジスタ14中の対応する異常終了デー
タ格納領域に“1"をセットする。
以上の転送制御を繰り返し、1フレームの転送が終了
すると、正常終了したバッファ5aに対応する状態レジス
タ14中の正常終了データ格納領域に“1"をセットし、転
送終了信号を送出する。
(3) バッファ管理部11は、転送終了通知を受ける
と、状態レジスタ14を読込み、正常終了したバッファ5a
を格納済みバッファに設定し、転送順位を管理テーブル
15に記録して、次のバッファを設定する。
なお、受信データすべての転送が終了すると、受信終
了信号が送出され、転送順位に従い読取られて所定の受
信処理が行われる。
以上の実施例では2組のバッファ群A,Bを設定した場
合を示したが、第1図に示したように、3組以上のバッ
ファ群A,B,Cを用いると極め細かなバッファ制御が行な
える。
例えば3組の場合は、実施例と同様に、バイト単位に
同時平行的に同一データを3組のバッファに格納し、正
常終了したバッファのうち、管理テーブルを参照して最
小容量のバッファを決定する。
なお、実施例ではバイト単位に同時平行的に転送した
が、受信データ単位にシリアルに転送してもよいことは
勿論である。
〔発明の効果〕
以上説明したように、本発明は、容量の異なる複数の
バッファに同一データを転送し、正常に転送されたバッ
ファより最小容量のバッファを格納先バッファとして決
定するバッファ制御方式を提供するもので、異なるデー
タ長を転送する最適バッファを動的に選択できるため、
メモリを大幅に節減できる効果がある。
【図面の簡単な説明】 第1図は本発明の原理図、第2図は実施例のブロック
図、第3図は転送制御フローチャート図、第4図は従来
のデータ転送方式説明図である。 図中、1は回線制御部、2,10はデータ転送部、3は主制
御部、4は主メモリ、5,5a,5b,5cはバッファ、6は受信
バッファ、7はアドレスカウンタ、7a,7bはそれぞれA
用,B用アドレスカウンタ、8は転送カウンタ、8a,8b,8c
はそれぞれA用,B用,C用転送カウンタ、11はバッファ管
理部、12は制御部、13は切替部、14は状態レジスタ、15
は管理テーブル、A,Bはバッファ群である。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 13/38 G06F 5/06 G06F 13/00

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】他の群とは異なる同一容量のバッファを複
    数それぞれ備えたバッファ群(A,B,C)と、 該バッファ群に対応する転送カウンタ(8a,8b,8c)を備
    え、転送単位数を計数しつつ指定された複数の転送先バ
    ッファ(5a,5b,5c)にそれぞれ同一の転送データを転送
    単位ごとに転送するとともに、該転送カウンタ(8a,8b,
    8c)を監視し、オーバフローするバッファにはデータ転
    送を停止して状態レジスタ(14)に異常終了データを設
    定するデータ転送部(10)と、 該バッファ群(A,B,C)よりそれぞれ1組のバッファを
    抽出して前記転送先バッファ(5a,5b,5c)として割当て
    るとともに、該状態レジスタ(14)を参照し正常に転送
    終了した該バッファのうち最小容量のバッファを該転送
    データを格納したバッファとして決定し管理するバッフ
    ァ管理部(11)と を設け、同一の転送データを容量の異なる複数の該バッ
    ファ(5a,5b,5c)に転送し、正常に転送終了した最小容
    量の該バッファを該データの格納先バッファとして管
    理、制御することを特徴とするバッファ制御方式。
JP1064232A 1989-03-16 1989-03-16 バッファ制御方式 Expired - Lifetime JP2789654B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1064232A JP2789654B2 (ja) 1989-03-16 1989-03-16 バッファ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1064232A JP2789654B2 (ja) 1989-03-16 1989-03-16 バッファ制御方式

Publications (2)

Publication Number Publication Date
JPH02242464A JPH02242464A (ja) 1990-09-26
JP2789654B2 true JP2789654B2 (ja) 1998-08-20

Family

ID=13252171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1064232A Expired - Lifetime JP2789654B2 (ja) 1989-03-16 1989-03-16 バッファ制御方式

Country Status (1)

Country Link
JP (1) JP2789654B2 (ja)

Also Published As

Publication number Publication date
JPH02242464A (ja) 1990-09-26

Similar Documents

Publication Publication Date Title
US5257374A (en) Bus flow control mechanism
US6351780B1 (en) Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US4744023A (en) Processor access control arrangement in a multiprocessor system
US5515523A (en) Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
US5528761A (en) Message passing apparatus for determining if counted acknowledgements from a set of processors are within a defined range
EP0317468A2 (en) Bus flow control system
JP2789654B2 (ja) バッファ制御方式
JPS58105344A (ja) バツフアメモリ管理方式
JPH0221619B2 (ja)
JP2781632B2 (ja) バッファメモリ内のデータ重ね書きを検出する装置
JPS6184710A (ja) 群管理システムにおけるncデ−タ転送方法
JPH0666061B2 (ja) マルチcpu通信装置
JPH0661074B2 (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
JP3329217B2 (ja) バス制御装置
JP2000244585A (ja) バスインタフェース回路
JP3752809B2 (ja) デジタルテレビ受信方法およびデジタルテレビ受信端末装置
JP2538901B2 (ja) バス結合装置
JP2573332B2 (ja) データ転送制御方法
JPH0380353A (ja) 割り込み処理方法とデータチャネル装置
JPH07319823A (ja) プロセッサ間通信方式
JPH02238752A (ja) フレーム受信方式
JPH03233745A (ja) 送信データ制御方式
JPH10320351A (ja) バッファ方式
JPH0511453B2 (ja)
JPS6120152A (ja) メモリ管理方式