JPH0520264A - バツフア制御方法 - Google Patents
バツフア制御方法Info
- Publication number
- JPH0520264A JPH0520264A JP16795291A JP16795291A JPH0520264A JP H0520264 A JPH0520264 A JP H0520264A JP 16795291 A JP16795291 A JP 16795291A JP 16795291 A JP16795291 A JP 16795291A JP H0520264 A JPH0520264 A JP H0520264A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- segment
- data
- segments
- unused
- 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
- 238000000034 method Methods 0.000 title claims description 23
- 238000010586 diagram Methods 0.000 description 4
Landscapes
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【構成】複数個のバッファセグメント10,11,12
に分割されているデータバッファ1と、データバッファ
のバッファセグメントどうしがどの様な順番で接続され
ているかを示す接続状況テーブル2を有する。バッファ
へデータを書き込む際にバッファに空き領域が少なくデ
ータすべてを書き込むことができないとき、未使用のバ
ッファセグメントを捜し出し接続状況テーブルに登録し
使用可能なバッファの容量を増加させる機能と、未使用
のバッファセグメントを捜索した結果、未使用のバッフ
ァセグメントが無い場合はバッファセグメントが解放さ
れ使用可能状態になるまで待つ機能を有する。 【効果】現在使用中のバッファセグメントに空き領域が
できるまで待ち合わせを行うという処理の実行回数が少
なくなりバッファへ書き込む性能が向上し、また負荷が
少ない場合でも未使用のバッファセグメントを接続して
使用する処理によって未使用のバッファセグメントの数
は減少し、バッファセグメントを無駄に遊ばせておく時
間が少なくすることができる。
に分割されているデータバッファ1と、データバッファ
のバッファセグメントどうしがどの様な順番で接続され
ているかを示す接続状況テーブル2を有する。バッファ
へデータを書き込む際にバッファに空き領域が少なくデ
ータすべてを書き込むことができないとき、未使用のバ
ッファセグメントを捜し出し接続状況テーブルに登録し
使用可能なバッファの容量を増加させる機能と、未使用
のバッファセグメントを捜索した結果、未使用のバッフ
ァセグメントが無い場合はバッファセグメントが解放さ
れ使用可能状態になるまで待つ機能を有する。 【効果】現在使用中のバッファセグメントに空き領域が
できるまで待ち合わせを行うという処理の実行回数が少
なくなりバッファへ書き込む性能が向上し、また負荷が
少ない場合でも未使用のバッファセグメントを接続して
使用する処理によって未使用のバッファセグメントの数
は減少し、バッファセグメントを無駄に遊ばせておく時
間が少なくすることができる。
Description
【0001】
【産業上の利用分野】本発明はバッファ制御方法に関
し、特に複数のセグメントに分割されたデータバッファ
のバッファセグメントへデータを書き込む場合のバッフ
ァの制御方法に関する。
し、特に複数のセグメントに分割されたデータバッファ
のバッファセグメントへデータを書き込む場合のバッフ
ァの制御方法に関する。
【0002】
【従来の技術】従来のバッファ制御システムは、バッフ
ァにデータを書き込む際にバッファの空き領域が少なく
データがすべてバッファに書き込むことができない場合
は、現在使用しているバッファに十分な空き領域ができ
るまで待ち合わせを行っていた。
ァにデータを書き込む際にバッファの空き領域が少なく
データがすべてバッファに書き込むことができない場合
は、現在使用しているバッファに十分な空き領域ができ
るまで待ち合わせを行っていた。
【0003】
【発明が解決しようとする課題】上述した従来のバッフ
ァ制御システムは、バッファの空き領域が少なくデータ
をすべてバッファに書き込むことができない場合は常に
バッファに十分な空き領域ができるのを待ち合わせるた
め、バッファへ書き込む性能が良くなかった。
ァ制御システムは、バッファの空き領域が少なくデータ
をすべてバッファに書き込むことができない場合は常に
バッファに十分な空き領域ができるのを待ち合わせるた
め、バッファへ書き込む性能が良くなかった。
【0004】また、バッファに対する負荷が少ない場合
は多くのバッファセグメントが未使用の状態になりバッ
ファセグメントを無駄に遊ばせておく時間が長くなるい
う欠点があった。
は多くのバッファセグメントが未使用の状態になりバッ
ファセグメントを無駄に遊ばせておく時間が長くなるい
う欠点があった。
【0005】
【課題を解決するための手段】本発明のバッファ制御方
法は、複数個のバッファセグメントに分割されているデ
ータバッファと、前記データバッファの前記バッファセ
グメントどうしがどの様な順番で接続されているかを示
す接続状況テーブルと、前記接続状況テーブルに登録さ
れている前記バッファセグメントの順に前記データバッ
ファへアクセス可能としたバッファ制御機能をもつバッ
ファ制御装置が、バッファへデータを書き込む際に前記
バッファに空き領域が少なく前記データすべてを書き込
むことができないとき、未使用の前記バッファセグメン
トを捜し出し前記接続状況テーブルに登録することによ
り使用可能な前記バッファの容量を増加させる機能と、
未使用の前記バッファセグメントを捜索した結果、未使
用の前記バッファセグメントが無い場合は前記バッファ
セグメントが解放され使用可能状態になるまで待つ機能
を有する。
法は、複数個のバッファセグメントに分割されているデ
ータバッファと、前記データバッファの前記バッファセ
グメントどうしがどの様な順番で接続されているかを示
す接続状況テーブルと、前記接続状況テーブルに登録さ
れている前記バッファセグメントの順に前記データバッ
ファへアクセス可能としたバッファ制御機能をもつバッ
ファ制御装置が、バッファへデータを書き込む際に前記
バッファに空き領域が少なく前記データすべてを書き込
むことができないとき、未使用の前記バッファセグメン
トを捜し出し前記接続状況テーブルに登録することによ
り使用可能な前記バッファの容量を増加させる機能と、
未使用の前記バッファセグメントを捜索した結果、未使
用の前記バッファセグメントが無い場合は前記バッファ
セグメントが解放され使用可能状態になるまで待つ機能
を有する。
【0006】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0007】図1は本発明のバッファ制御方法の一実施
例を示すデータバッファの概略図である。 データバッ
ファ1はセグメント0:10,セグメント1:11,
〜,セグメントN−1:12のN個のセグメントに分割
されている。本発明の実施例として2台の入出力装置を
接続している入出力制御装置のバッファ制御方法につい
て説明する。入出力制御装置は、内蔵しているこのデー
タバッファ1のセグメントに入出力データを格納しなが
らこの2台の入出力装置に対する入出力動作を行う。
例を示すデータバッファの概略図である。 データバッ
ファ1はセグメント0:10,セグメント1:11,
〜,セグメントN−1:12のN個のセグメントに分割
されている。本発明の実施例として2台の入出力装置を
接続している入出力制御装置のバッファ制御方法につい
て説明する。入出力制御装置は、内蔵しているこのデー
タバッファ1のセグメントに入出力データを格納しなが
らこの2台の入出力装置に対する入出力動作を行う。
【0008】図2は登録中のバッファセグメントとバッ
ファセグメントの接続順序を示す接続状況テーブルの概
略図である。接続状況テーブル2にはデータバッファ1
のセグメント数と同等のN個のテーブル0:20,テー
ブル1:21,〜,テーブルN−1:22がある。接続
状況テーブル2は入出力装置単位にある必要があるた
め、同一の接続状況テーブル2が2個存在する。1個の
テーブルはテーブルのビット構成3に示すように有効ビ
ットが1ビットとセグメント番号が7ビットの計1バイ
トで構成されている。接続状況テーブル2はバッファセ
グメント全てを1個のセグメントとして使用できるよう
に、バッファセグメント数と同数の、N個のバッファセ
グメント番号を登録可能としている。接続状況テーブル
2には、現在接続中のバッファセグメントの番号と、そ
のバッファセグメント番号が有効であることを示す有効
ビットが同時に格納される。データバッファへの最初の
アクセス処理は、接続状況テーブル2のテーブル0から
開始するため、テーブル0の有効ビットが0の場合その
入出力装置は使用可能なバッファセグメントを持たない
と言う意味になる。テーブル0の有効ビットが1の場合
その入出力装置は少なくとも1セグメントはバッファセ
グメントを持っていることになり、テーブルに示される
バッファセグメントに対してアクセスが行われる。テー
ブル0が示すバッファセグメントに対してアクセスでオ
ーバーフローが発生すると次のアクセス処理は自動的に
次のテーブル1が示すバッファセグメントに移動する。
このときテーブル1のバッファセグメントにアクセスが
移動するのは、テーブル1の有効ビットが1のときだけ
であり、有効ビットが0の場合は、テーブル0のバッフ
ァセグメントの最初のアドレスに対してアクセスが行わ
れる。上記の自動的にアクセスするセグメントが移動す
るという処理は、最大テーブルN−1まで行われ、テー
ブルN−1のバッファセグメントへのアクセス処理がオ
ーバーフローした場合は、自動的にテーブル0のバッフ
ァセグメントにアクセス処理が移動する。接続状況テー
ブル2の内容は、接続状況テーブル2が対応する入出力
装置への入出力動作が終了した時、クリアされ、使用し
ていたバッファセグメントは解放される。
ファセグメントの接続順序を示す接続状況テーブルの概
略図である。接続状況テーブル2にはデータバッファ1
のセグメント数と同等のN個のテーブル0:20,テー
ブル1:21,〜,テーブルN−1:22がある。接続
状況テーブル2は入出力装置単位にある必要があるた
め、同一の接続状況テーブル2が2個存在する。1個の
テーブルはテーブルのビット構成3に示すように有効ビ
ットが1ビットとセグメント番号が7ビットの計1バイ
トで構成されている。接続状況テーブル2はバッファセ
グメント全てを1個のセグメントとして使用できるよう
に、バッファセグメント数と同数の、N個のバッファセ
グメント番号を登録可能としている。接続状況テーブル
2には、現在接続中のバッファセグメントの番号と、そ
のバッファセグメント番号が有効であることを示す有効
ビットが同時に格納される。データバッファへの最初の
アクセス処理は、接続状況テーブル2のテーブル0から
開始するため、テーブル0の有効ビットが0の場合その
入出力装置は使用可能なバッファセグメントを持たない
と言う意味になる。テーブル0の有効ビットが1の場合
その入出力装置は少なくとも1セグメントはバッファセ
グメントを持っていることになり、テーブルに示される
バッファセグメントに対してアクセスが行われる。テー
ブル0が示すバッファセグメントに対してアクセスでオ
ーバーフローが発生すると次のアクセス処理は自動的に
次のテーブル1が示すバッファセグメントに移動する。
このときテーブル1のバッファセグメントにアクセスが
移動するのは、テーブル1の有効ビットが1のときだけ
であり、有効ビットが0の場合は、テーブル0のバッフ
ァセグメントの最初のアドレスに対してアクセスが行わ
れる。上記の自動的にアクセスするセグメントが移動す
るという処理は、最大テーブルN−1まで行われ、テー
ブルN−1のバッファセグメントへのアクセス処理がオ
ーバーフローした場合は、自動的にテーブル0のバッフ
ァセグメントにアクセス処理が移動する。接続状況テー
ブル2の内容は、接続状況テーブル2が対応する入出力
装置への入出力動作が終了した時、クリアされ、使用し
ていたバッファセグメントは解放される。
【0009】図3はマイクロプログラムが行う、データ
バッファへのデータの書き込みを指示する手順を示して
いる。バッファへデータの書き込み要求が発生したとき
マイクロプログラムは、バッファの制御情報よりバッフ
ァの容量に十分な空きがあり書き込みが可能であるかど
うかを判断する(ステップ30)。バッファセグメント
に十分な空きがなく書き込みが不可能である場合と、バ
ッファセグメントへの最初の書き込み時は、バッファセ
グメントの接続処理を実行しバッファへの書き込みを可
能な状態にする(ステップ31)。この処理に関して
は、後ほど図4を用いて詳しく説明する。ステップ32
では、バッファセグメントにデータの書き込みが可能な
のでバッファコントロール部にデータの書き込みを指示
する。データの書き込みが終了した後、次回のデータの
長さを今回書き込んだデータの長さと同一と仮定して、
接続中のバッファセグメントに全データを格納すること
ができるかどうかを計算する。もし、格納不可能ならば
バッファへの書き込みが不可能であるという情報を記憶
領域に記憶し、また格納可能ならば書き込みが可能であ
るという情報を記憶領域に記憶する(ステップ34、3
5)。
バッファへのデータの書き込みを指示する手順を示して
いる。バッファへデータの書き込み要求が発生したとき
マイクロプログラムは、バッファの制御情報よりバッフ
ァの容量に十分な空きがあり書き込みが可能であるかど
うかを判断する(ステップ30)。バッファセグメント
に十分な空きがなく書き込みが不可能である場合と、バ
ッファセグメントへの最初の書き込み時は、バッファセ
グメントの接続処理を実行しバッファへの書き込みを可
能な状態にする(ステップ31)。この処理に関して
は、後ほど図4を用いて詳しく説明する。ステップ32
では、バッファセグメントにデータの書き込みが可能な
のでバッファコントロール部にデータの書き込みを指示
する。データの書き込みが終了した後、次回のデータの
長さを今回書き込んだデータの長さと同一と仮定して、
接続中のバッファセグメントに全データを格納すること
ができるかどうかを計算する。もし、格納不可能ならば
バッファへの書き込みが不可能であるという情報を記憶
領域に記憶し、また格納可能ならば書き込みが可能であ
るという情報を記憶領域に記憶する(ステップ34、3
5)。
【0010】図4はバッファセグメントに空きが少なく
データをバッファにすべて書き込むことができないか、
または、テーブル0の有効ビットが0でバッファセグメ
ントがない場合に、未使用のバッファセグメントを接続
して使用可能なバッファセグメントを作る処理の手順を
示している。 マイクロプログラムはバッファセグメン
トに未使用のバッファセグメントが有るかどうかを判断
し、未使用のバッファセグメントが有れば(ステップ4
0のYes)、接続状況テーブル2に登録し(ステップ
44)、処理を終了する。他の入出力装置が残りのバッ
ファセグメントを全て使用していて、未使用のバッファ
セグメントが無く(ステップ40のNo)、且つ接続状
況テーブル2のテーブル0の有効ビットが0である場合
は(ステップ41がNo)、他の入出力装置が使用して
いるいずれかのバッファセグメントが解放されるまで待
ち合わせを行い(ステップ42)、1セグメントが解放
された時、接続状況テーブル2に登録を行い(ステップ
44)、処理を終了する。未使用のバッファセグメント
が無く(ステップ40のNo)、且つ接続状況テーブル
2のテーブル0の有効ビットが1で、少なくとも1セグ
メントは接続状況テーブル2に登録されている場合は
(ステップ41のYes)、現在接続中のバッファセグ
メントに空きができるまで待ち合わせを行い(ステップ
43)、空きができた時点で処理を終了する。
データをバッファにすべて書き込むことができないか、
または、テーブル0の有効ビットが0でバッファセグメ
ントがない場合に、未使用のバッファセグメントを接続
して使用可能なバッファセグメントを作る処理の手順を
示している。 マイクロプログラムはバッファセグメン
トに未使用のバッファセグメントが有るかどうかを判断
し、未使用のバッファセグメントが有れば(ステップ4
0のYes)、接続状況テーブル2に登録し(ステップ
44)、処理を終了する。他の入出力装置が残りのバッ
ファセグメントを全て使用していて、未使用のバッファ
セグメントが無く(ステップ40のNo)、且つ接続状
況テーブル2のテーブル0の有効ビットが0である場合
は(ステップ41がNo)、他の入出力装置が使用して
いるいずれかのバッファセグメントが解放されるまで待
ち合わせを行い(ステップ42)、1セグメントが解放
された時、接続状況テーブル2に登録を行い(ステップ
44)、処理を終了する。未使用のバッファセグメント
が無く(ステップ40のNo)、且つ接続状況テーブル
2のテーブル0の有効ビットが1で、少なくとも1セグ
メントは接続状況テーブル2に登録されている場合は
(ステップ41のYes)、現在接続中のバッファセグ
メントに空きができるまで待ち合わせを行い(ステップ
43)、空きができた時点で処理を終了する。
【0011】
【発明の効果】以上説明したように、本発明のバッファ
制御方法は、バッファにデータを書き込む際にバッファ
に空き領域が少なくデータをすべてバッファに書き込む
ことができないときは未使用のバッファセグメント番号
を接続状況テーブルに登録し、使用可能なバッファの容
量を増加させることによって、現在使用中のバッファセ
グメントに空き領域ができるまで待ち合わせを行うとい
う処理の実行回数が少なくなりバッファへ書き込む性能
が向上し、また負荷が少ない場合でも未使用のバッファ
セグメントを接続して使用する処理によって未使用のバ
ッファセグメントの数は減少し、バッファセグメントを
無駄に遊ばせておく時間が少なくすることができる。
制御方法は、バッファにデータを書き込む際にバッファ
に空き領域が少なくデータをすべてバッファに書き込む
ことができないときは未使用のバッファセグメント番号
を接続状況テーブルに登録し、使用可能なバッファの容
量を増加させることによって、現在使用中のバッファセ
グメントに空き領域ができるまで待ち合わせを行うとい
う処理の実行回数が少なくなりバッファへ書き込む性能
が向上し、また負荷が少ない場合でも未使用のバッファ
セグメントを接続して使用する処理によって未使用のバ
ッファセグメントの数は減少し、バッファセグメントを
無駄に遊ばせておく時間が少なくすることができる。
【図1】本発明のバッファ制御方法の一実施例を示すデ
ータバッファの概略図である。
ータバッファの概略図である。
【図2】本実施例の登録中のバッファセグメントとバッ
ファセグメントの接続順序を示す接続状況テーブルの概
略図である。
ファセグメントの接続順序を示す接続状況テーブルの概
略図である。
【図3】本実施例のマイクロプログラムがバッファ制御
装置に対しバッファへデータの書き込みを指示する手順
を示すフローチャートである。
装置に対しバッファへデータの書き込みを指示する手順
を示すフローチャートである。
【図4】本実施例のバッファセグメントに空きが少なく
データをバッファセグメントに書き込むことができない
場合に未使用のバッファセグメントを接続して使用可能
なバッファの容量を増加させる処理を示すフローチャー
トである。
データをバッファセグメントに書き込むことができない
場合に未使用のバッファセグメントを接続して使用可能
なバッファの容量を増加させる処理を示すフローチャー
トである。
1 データバッファ 2 接続状況テーブル 10,11,12 バッファセグメント0,1,N−
1 20,21,22 テーブル0,1,N−1
1 20,21,22 テーブル0,1,N−1
Claims (1)
- 【特許請求の範囲】 【請求項1】 複数個のバッファセグメントに分割され
ているデータバッファと、前記データバッファの前記バ
ッファセグメントどうしがどの様な順番で接続されてい
るかを示す接続状況テーブルと、前記接続状況テーブル
に登録されている前記バッファセグメントの順に前記デ
ータバッファへアクセス可能としたバッファ制御機能を
もつバッファ制御装置が、バッファへデータを書き込む
際に前記バッファに空き領域が少なく前記データすべて
を書き込むことができないとき、未使用の前記バッファ
セグメントを捜し出し前記接続状況テーブルに登録する
ことにより使用可能な前記バッファの容量を増加させる
機能と、未使用の前記バッファセグメントを捜索した結
果、未使用の前記バッファセグメントが無い場合は前記
バッファセグメントが解放され使用可能状態になるまで
待つ機能を備えることを特徴とするバッファ制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16795291A JPH0520264A (ja) | 1991-07-09 | 1991-07-09 | バツフア制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16795291A JPH0520264A (ja) | 1991-07-09 | 1991-07-09 | バツフア制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0520264A true JPH0520264A (ja) | 1993-01-29 |
Family
ID=15859092
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16795291A Pending JPH0520264A (ja) | 1991-07-09 | 1991-07-09 | バツフア制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0520264A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10041823B2 (en) | 2013-08-09 | 2018-08-07 | Hitachi Metals, Ltd. | Thermal mass flow meter and mass flow controller |
-
1991
- 1991-07-09 JP JP16795291A patent/JPH0520264A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10041823B2 (en) | 2013-08-09 | 2018-08-07 | Hitachi Metals, Ltd. | Thermal mass flow meter and mass flow controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000181764A (ja) | ファイル管理システム | |
| JPS62177621A (ja) | デイスク装置 | |
| JP2821345B2 (ja) | 非同期i/o制御方式 | |
| JPH0520264A (ja) | バツフア制御方法 | |
| JP2634867B2 (ja) | デイスクキヤツシユデータ転送制御方式 | |
| JPH09244932A (ja) | ディスクアレイ装置 | |
| JP2967687B2 (ja) | 事前バッファフラッシュシステム | |
| JP3472357B2 (ja) | 情報処理装置 | |
| JP2912657B2 (ja) | ファイルアクセス処理装置 | |
| JP2994917B2 (ja) | 記憶システム | |
| JP3259095B2 (ja) | データ転送方法 | |
| JPH07152574A (ja) | プログラムローディング方式 | |
| JPH0520243A (ja) | データ処理システム | |
| JPH05158792A (ja) | キャッシュバッファの一括読込み方式 | |
| JPH07152642A (ja) | データ領域拡張方式 | |
| JPH0876940A (ja) | ディスクアレイ制御方法 | |
| JPH1011351A (ja) | コンピュータシステム | |
| JPS6299827A (ja) | バツフア制御方式 | |
| JP2004288213A (ja) | データ処理システム及びデータ処理方法 | |
| JPH04271472A (ja) | データベース処理方法 | |
| JPH0242549A (ja) | ライトアフタ型デイスクキヤツシユ制御装置 | |
| JPH04342011A (ja) | 非同期入出力制御方式 | |
| JPH0432944A (ja) | 磁気ディスク制御方式 | |
| JPH0447346A (ja) | 分散ファイル処理システム | |
| JPH05289822A (ja) | Cd−romリード装置 |