JPS5969826A - バツフア制御方式 - Google Patents

バツフア制御方式

Info

Publication number
JPS5969826A
JPS5969826A JP57179843A JP17984382A JPS5969826A JP S5969826 A JPS5969826 A JP S5969826A JP 57179843 A JP57179843 A JP 57179843A JP 17984382 A JP17984382 A JP 17984382A JP S5969826 A JPS5969826 A JP S5969826A
Authority
JP
Japan
Prior art keywords
unit
buffer
units
area
requested
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.)
Granted
Application number
JP57179843A
Other languages
English (en)
Other versions
JPS6232518B2 (ja
Inventor
Kenji Shioda
憲司 塩田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57179843A priority Critical patent/JPS5969826A/ja
Priority to KR1019830004754A priority patent/KR880002099B1/ko
Publication of JPS5969826A publication Critical patent/JPS5969826A/ja
Priority to US07/016,519 priority patent/US4780815A/en
Publication of JPS6232518B2 publication Critical patent/JPS6232518B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の対象 本発明は、バッファ制御方式に係り、特にマスタステー
ションとそれに接続される複数のスレーブステーション
から構成されるマルチステージ由)ンシステムの人出力
バツファ制御方式に関するものである。
従来技術 バッファ取得・解放制御は、基本的には、要求されたバ
ッファサイズでバッファ領域上の空エリ・アまたは解放
エリアを検索することである。
しかし、この検索は反復処理か多いため、バッファ領域
が大きくなると、処理に多くの時間を要する。
そこで、従来、バッファを一定のサイズのブRツクに分
割し、各ブロックが使用されているか否かを示すステー
タス情報を設けることにより、反復処理の軽減を図った
ものがある。
しかしながら、上記の如き、従来の方法では、ブロック
サイズは一定であり、バッファの各ブロックごとの使用
状態を逐次検索する必要があり、かつ、該検索動作が処
理装置の基本命令に対応していないため、反復処理動作
を避けられず、依然としてバッファ制御処理に長時間を
要している。
発明の目的 本発明の目的は、このような従来の欠点を改善するため
、バッファ制御における反復処理の無駄を省き、高速か
つ効率的に処理することができるバッファ副部方式を提
供することにある。
上記目的を達成するため、本発明は、要求バッファサイ
ズを最小ユニットサイズで割ることにより、要求ユニツ
)I&を算出し、該要求ユニット数に応じて要求チェッ
クディ・ジットパターンをセットシ、該要求チェックデ
ィジットパターンとステータス情報(以下ユニット状態
表示と呼ぶ)とを該ユニット状態表示の先頭アドレスか
ら順に比較し、もしバッファ領域の初めの部分から要求
ユ5ット数のバッファ空@i域が得られない場合は、該
要求チェックディジットパターンを要求ユニツル数だけ
シフトし、シフトした状態において該ユ三ット状剌袋示
と比較し、要求ユニット数のバッファ領域が得られるま
で該比較、シフト動作を行い、未使用ユニットを要求数
得られた時に、その取得ユニットを前記ユニット状態表
示に使用中と表示するとともに、バッファ取得可とし、
バッファ解放時は取得済ユニットを未使用とすることを
特徴とする。
発明の実施例 次に本発明の実施例につき、図面を用いて詳細・に説明
する。
第1図は、本発明の実施例である人出カバッファの説明
図である。バッファ領域1はバッファ先頭アドレス2が
らバッファ終端アドレス3までの領域である。また、バ
ッファ領域1はユニットに分割されており、ユニットの
大きさによって&ユ°:411)21:51  籟: 
6 t a11’ 7およびe、:8(D”サイズ名と
番号を持つユニットグループから構成されている。
各ユニットのビット幅は、第1図(ロ)、(ホ)に示ず
如く、an<′b□〈cn<d、n<en  であり、
an  は512バイト、b は2 N、  の102
4バイト、Cは4& の2048バイト、d はδ&□
のn            n          
                        n
4096バイト、e は16 &、の8192バイ。
トである。又、各ユニットグループ数は1<、10〈〈
〈〈 ≦48 +1=bn= 2411 = an= 121
1≦・d  ”6.1≦0 ≦3 である。
n                        
刀。
最小ユニットa 対応に1ビツトの使用・未使用表示を
有するユニット状態表示9は先頭アドレス10から始ま
っている(第1図(ハ))。
!V、テーブル11にはバッファ使用者、要求ユニット
数および取得バッファアドレスの情報が格納されている
(第1図に))。
第2図から第5図は、本6発明の実施例の動作を7p−
チャートおよび遷移図によって図示したち〇のである。
第2図で示すようにバッファGETの要求が有っり場合
、要求バッファサイズを最小ユニットサイズ512バイ
トで割り、余りが出れば商に1を加えて要求ユニット数
を算出する(101)。ゲに要求ユニット数をサイズ名
Q (4ユニツト)トする。
次に、ユニット状態表示の先頭アドレスおよびテストす
るユニット数のチェックディジット(B″’ 1111
000000oooooo ’″)およびくり返しカウ
ンタ(CNTl)に3(3wora)をセットする(1
02)。次にシフトカウンタ(CNT2)に。
ヰをセットする(103)。次にユニット状態表示とチ
ェックディジットを比較する(104)。
次に空バッファが有るが否が判定(105)t、、有れ
ば106へ、無ければ110の処理を行う。
判定の方法は第4図に示すようにユニット状114表示
301と要求チェックディジットパターン302のAN
Dをとり結果が0であれば空バッファ有と判定し、0で
なければ空バッファ無しと判定する。
第4図の場合は0でないため110の処理を実行する。
次にチェックディジットをシフトし、CNT2を−1す
る(110)。次にCNT2がOが否かを判定する (
111)。CNTlN0 (3’4−1. ’)となる
ため104へ分岐する。次に上記で示したコ04から1
10の処理を行う。これを第4図を使って示すと、ユニ
ット状態表示30丁と、要求チェックディジットパター
ンを4ビツト左ヘシフトしたパターン503とをAND
L、結果がOか否かを判定する。第4図の場合は1旧1
のシフトではNGであり2回のシフト304でOKとな
る。空バッファが有れば第2図の]、o6の処理へ分岐
する。次にユニット状態表示の取得エリアを使用中に変
換する(106)。これは第4図で示すようにユニット
状態表示301とOKの要求チェックディジットパター
ン304のORをとし、それを新しいユニット抄態表示
とすることである。
次に、取得バッファ先頭アドレスを取得状態表示位置と
ユニット単位を乗じて算出し、(107)管理テーブル
に要求ユニット数および取得、バッフ1先頭アドレスを
格納する(108)。次に、終了情報にバッファ取得可
をセット (109)し、バッファGET処理を終了す
る。第2図の111に′おいてCNTlN0となった場
合は、くり返しカウンタ(CNTl)を−1(112)
L、CNTlN0か否かの判定を行う (113)。本
実施例ではユニット状態表示は3ワード(48ビツト)
としているため、CNTlN0の場合は103へ分岐す
る。103では再度シフトカウンタ(CN’T2)を4
にセットし、104以降の処理を実行1する。また、1
13でCNT l =○と判定されれば、全ユニット状
態表示をテストしても要求サイズの空バッファは無いと
判断し、終了情報にバッファ取得処理をセット(114
)し、バッファGET処理を終了する。
第3図で示すようにバッファFREEの要求が有った場
合、管理テーブルから解放するバッファの要求ユニット
数および解放バッファ先頭アドレスを取出す(201)
。次に、解放バッファ先頭アドレスからバッファ先頭ア
ドレスを減じてアドレス変位を算出する。また、アドレ
ス変位をユニットサイズで割って解放ユニット状態表示
位置を算出する(202)。次に、要求ユニット数から
解放するチェックディジットパターンを作成する(20
3)。次に、チェックデイジットノぐターンを解放ユニ
ット状態表示位置だけシフトする(204)  。
第5図で具体的に示すと、仮にユニット状態表示を40
1で示すビットパターンとする。要求ユニット数をb 
(2個)とした時、解放チェックディ〜シットハ3t−
ンハB”1100000000000000” トなる
(402)。次に、解放ユニット状態表示位置を6とし
た場合、解放チェックデイジットノぐターンを左へ6回
シフトする(403)。次に解放チェックディジットパ
ターンの1.0を反転する5(404)。
再び第3図の説明に戻って、ユニット状態表示の解放ユ
ニット表示を使用中の1”′から未使用の°゛O°”へ
変換する(205)。これを第5図で示すとユニット状
態表示401と解放チェックディジットパターン404
のANDをとりその結果を新しいユニット状態表示40
5にする。以上でバッファの解放処理が終了する。
発明の効果 以上の如く、本発明によれば、バッファ領域のユニット
グループによる分割および最小ユニット毎に、1ビツト
の使用・未使用のユニット状態表示を持たせ、処理時間
のかかるバッファの取得および解放処理を、シフトおよ
び比較といった処理装置の基本命令に対応づけることが
できるので、くり返し動作の多いバッファ処理を効率的
にかつ高速に実行することができる。
【図面の簡単な説明】
第1図は本発明の一実施例である入出力バッファの構成
を示す図、第2図は本発明のバッファ取)得処理の一実
施例を示すフローチャート、第3図は本発明のバッファ
解放処理の一実施例を示すフローチャート、第4図は本
発明のバッファ取得処理の一実施例に係るユニット状態
表示処理の遷移を示す図、第5図は本発明のバッファ解
放処理の一実施例に係るユニット状態表示処理の遷移を
示す図である。 1:人出力バツファ領域、2:バッファ先頭tドレス、
3:バッファ終端アドレス、4:aタイプのユニット群
、5=bタイプのユニット群、6:Cタイプのユニット
群、7:dタイプのユニツ)n、8 :θタイプのユニ
ット群、9:ユニット状態表示、11:管理テーブル。 特許出願人 株式会社 日立製作所 第2図 第3図 手続補正書(自発) 昭和57  年特許願第 179843  号発明の名
称 バッフ7i1Jlll方式補正をする者 ZノIp藷のtill係 特許出願人 名  称   r510)株式会計  日  立 製 
作 折代   理   人 居  所   〒100東京都千代田区丸の内−丁目5
番1号株式会社日立製作所内 電話”J!fA 2]2
−1111 (大代表)補正の内容 別紙の通り。 ゛  以上 明    細   書 1、発明の名称 メモリ制御方式 2、特許請求の範囲 (1)  メモリ上に、少なくとも要求きれた容量のエ
リアを獲保するメモリの制御方式において記憶容量の相
違する複数種のユニットグループに分割されたメモリと
、前記分割された最小のユニットグルーフ対応に、該ユ
ニットグループの記憶エリアが使用されているか否かを
示すフラグ情報を設定する手段を有し、メモリ上にある
容量分のエリアを獲保する要求に従って、要求される容
量を含む最小のあるユニットグループを算出し、この算
出結果によって一意的に求められるディジットパターン
を所定単位ずつシフトしな75:ら前記フラグ情報と比
較し、この比較給米によって未使用中のあるユニットグ
ループを氷めることを%徽とするメモリ制御方式。 (2、特許請求の範囲第1項において、メモリ上に記憶
エリアを獲保した要求先毎に、獲保されたユニットグル
ープ及びその先頭アドレスに関する情報を登鈴するテー
ブルを有することを特徴とするメモリ制御方式。 3、発明の詳細な説明 〔発明の利用分野〕 本発明はメモリ制御方式に係り、特に各々入出力用デバ
イスを有するマスタステーションとそれに接続されるス
レーブステージ日ンから構成サレるマルチステーション
システムにおいて入出力データを一時的に記憶するため
のメモリエリアの獲保及び解放のバッファ制御方式に関
する。 〔発明の背景〕 この種の/ステムにおいては、各ステーシミンニマイク
ロプロセッサの如き処理装置が備えられ、入力デバイス
から入力されるデータを処理したり、処理装置で処理さ
れたデータを出力デバイスに出力したりしている。この
入出力動作に伴うデータはバッファメモリと称されるメ
モリに一担記憶され、処、理或いは出力されるのが一般
的である。最近では、このバッファメモリを単独に設け
るというよりも各ステーションが具備するRAM  (
Ramdom Access Memory ) ノ一
部分にバッファエリアを獲保し、上記動作に供している
。 この場合、入出力動作に伴って、入出力デバイス又は処
理装置からの要求によって、メモリ上に要求されたサイ
ズのバッファエリアを獲保したり、又は獲保されたある
サイズのバッファエリアを解放すると言った様なメモリ
の制御が必要とされる。バッファエリアの獲保は例えば
入力デバイスから入力されるデータを処理装置で処理す
るため、このデータを一担バッファエリアに記憶してお
く際に行なわれる。この場合メモリは、その先頭アドレ
スがら空エリアがあるか否か順次サーチされ、しかる後
、要求された分のパン7アエリアーlJ:メモリ上に獲
保される。 一方、バッファエリアの解放は、既に獲保されたあるサ
イズのバッファエリアがある入出力デバイスで不要とな
った場合、そのエリアを他のデバイスに供する様に行な
われる。 この様なメモリの制御、と多わけバッファエリアの獲保
のための制御は、メモリの先頭アドレスから順次空エリ
アをサーチしていかなければならず、またたとえ空エリ
アカニあったとしても要求されたサイズ分のエリアが空
いているか否かのチェックを逐次性なわなければならな
いため、多くの時間を要することになる。 そこで、この種の欠点を解決するために、メモリを一定
のブロックサイズに分割し、バッファの獲保要求がある
毎に、空ブロックをその要求に割り当てる制御方式が知
られている。しかし、一般に、このブロックのサイズは
、要求されるであろうバッファサイズの最大容量を予め
考慮して固定的に設定しである。従って、小容量のバッ
ファエリアの獲保要求に対しても、最大容量分のブロッ
クが獲保されるため、メモリの使用効率の低下をまねく
ことになる。 〔発明の目的〕 本発明の目的はメモリ、の使用効率を低下させることな
く、要求されるサイズ分のエリアを比較的高速にメモリ
上に獲保することができるメモリ制御方式を提供するこ
とにある。 〔発明の概要〕 従って、本発明は、マスタステーションに設けられたメ
モリ上に、入出力デバイスからの要求に対処するために
、人出カバン7アエリアが設定される。このバッファエ
リアはサイズの異なる複数のユニットグループに分割さ
れ、かつ最小単位となるユニット毎に該ユニットカニ使
用中であるか否かを示すフラグ75:設定される。 ある入出力テバイスからバッファエリアの使用要求カニ
あると、要求きれるバッファのサイズ(容量)を最小ユ
ニットのサイズで割って必要とされるユニットの数を算
出すると共に、このユニット数に応じて一意的に定まる
ディジットパターンを生成する。このディジットパター
ンと上記ユニット対応に設けられたフラグの示す情報と
を比較し、両者カニ一致すれば、未使用のユニットカニ
あるとみなして、そのフラグの対応するユニットの集合
として要求されるエリアカニ獲保される。一方、比較の
結果一致しなければディシンドパターンをあるユニット
グループブに対応する分だけシフトして生成された新ら
たなディシンドパターンと前記フラグ情報を比較する。 この様な動作を繰り返すことによって上記の如く一致す
れば未使用のユニットグループ75:あると検出し、そ
れらを要求されるバッファエリアとして獲保する。この
様にして比較の結果一致するもの75:なければ、各ユ
ニットはすべて使用中であり、必要とするバッファエリ
アは獲保されない。 一方、獲保されたユニット即ちあるサイズのバッファエ
リアを解放する場合には、解放すべきユニット数から前
述と同様にしてディジットパターンを生成して、解放エ
リアを示すアドレス以降でこのディシンドパターンをシ
フトすることにより、そのパターンに対応するフラグを
未使用に書き替える。これによっであるユニットを解放
し、以後の使用に備えられる。 〔発明の実施例〕 本発明の一実施例はマルチステーション7ステムに適用
される。 コノマルチステーションシステムは、概略マスタステー
ションとこれにンリアルインタフェースヲ介して接続さ
れる複数のスレーブステーションから構成される。 よく知られている様にマスタステーションにハ、アドレ
スを伝送するアドレスラインデータを伝送するデータラ
イン、及び種々の制御信号を伝送する制御ラインが設け
られ、これらのラインには、演算処理ユニットメモリ、
入出力コントo−5Etヒシリアルインタフエースコン
トローラ等が接続される。ここで、演算処理ユニットは
具体的にはマイクロプロセッサとしての構成をとり、マ
スタステージ目ンにおける種々のデータ処理を行なう。 メモリは、データ、プログラム、制御データ等々を格納
するものであり、その詳細については後述される。入出
力コントローラには、公知の表示装置、千−ボード磁気
記憶装置、プリンタ等の入出力デバイスが接@される。 スレーブステーションモ、上記シタマスタステー7ヨン
の構成とほぼ同様である。buち、アドレスライン、デ
ータライン、制御ラインに、演算処理ユニット、メモリ
、複数の入出力デノくイスを制御する入出力コントロー
ラを有する。 本f11の場合、スレーブステーションの入出力デバイ
スカラ、マスターステーシコンに対して列理要求が発せ
られる。 さて、第1図を参照して、マスタステー15ンのメモリ
の記憶構成の概略について説明するこのメモリは、プロ
グラムエリア、ノくンファコントロールエリア、入出力
(■10)ノくソファエリア及びその他のエリアから構
成される。ここで、プログラムエリアには、マルチステ
ーノヨンにおける各ユニット及びそこの各入出力デノ(
イス等を制御するだめのプログラム7b:格納される。 バッファコントロールエリア及ヒアドレス2か1−)3
4でのI10ノ(ソ、ファエリア1が、本実施例によっ
て有意義とされる。 バッファコントロールエリアはI10バッファエリアの
獲保又は解放のための処理に必要とされる制御情報が格
納される。 即ち、このエリアは、後述するカウンタエリア、管理テ
ーブル11及びユニット状態表示エリア9から構成され
る。カウンタエリアは、後述するバッファエリアの獲保
、解放処理において使用されるプログラマブルなカウン
タ値即ちCNT1、CNT2を記憶する。第1図に)に
示すように管理テーブル11は使用者即ち110デバイ
スアドレス、要求ユニットの数、及び獲保されたバッフ
ァエリアの先頭アドレスを格納するエリアから成る。即
ち、各I10デバイスは夫々異ったアドレス75:付さ
れておりこれらのl/’0デバイスからバッファエリア
1に対して、あるサイズのバッファエリアの獲保要求か
あると、そのI10デバイスアドレスがテーブル11に
登0される。後述する様に要求されたバッファエリアの
サイズはユニットの数に変換はn、当該110デバイス
のために獲゛保されたユニットの数カニチーフル1に登
録される。またこのI10デノくイスのために獲保され
たノ(ソファエリアの先頭アドレスが登録される。 ユニット状態表示9はアドレス1Uから設定サレバノフ
ァエリア1のユニット対対に、そのユニットが獲保埒れ
ているか否か、換言すれば使用中か否かを示すフラグを
記憶する。 バッファエリア1は)くノファエリアW保9求の対象と
なるもので、複数の110デノくイスi−らの要求に答
えられる程度の容量カニ予め設定される。このバッファ
エリア1は、複数のユニットに分割される。しかも、そ
の分割のサイズは夫夫異なり、本¥施例の場合4二(l
□、5二5.6 ; OA 、  7 : dl、 8
 : −の 5 種失自のグル − ブ力1ら成り、夫
々のユニットのビット幅は…)に示すように異なる。即
ち、最も小ざいユニットは−でありそのピント幅は51
2ノ(イトである。この最小のユニット一対応にユニッ
トの使用状態を示すユニット状態表示9が設定される。 更に、ユニットへの2倍、Ill]チ1024 Al1
 ) (D−1−= ツに一’、同じ<4倍即ち204
8バイトのユ、=−7) c^8倍即ち4096バイト
のユニットラ、16倍即ち8192バイトのユニット−
カニ設定される。また、a−<の各グループの各々のユ
ニノ)数は例えば1≦−≦48.1≦存≦24.1≦O
A≦12、1:、−匂≦6.1≦シー≦3 の如く設定
でれる。尚、ここでkは1〜4日、tけ1〜24、Aは
1〜12Lは1〜6.7yLは1〜乙の任意の自然数で
ある。 この様に、バッファエリア1をサイズの異なる幾つかの
ユニットグループに分割した意義は要求されたバッファ
サイズを含む最小の容量分のユニットグループを割り当
て、これによってバッファエリア122の使用効率を改
善することにある。 次に、第2図に示した処理7g−を参照してバッファエ
リアの獲保の処理動作について説明する。 ある入出力デバイスからマスタステー15ンの演算処理
ユニットに対して種々のデータ処理要求が発せられる。 この様な場合、データ転送を伴う場合カニはとんどであ
り、上記要求に併せてバッファエリア1の獲保要求が送
られる。更に、要求の発せられた入出力デバイスのアド
レス及び獲保されるべきバッファエリアのサイズも同様
にして送られる。 本実施例においては、要求されたバッファエリアのサイ
ズは第1図に示したある種のユニットグループに対応し
てユニットの数に変換され1つ以上のユニットをバッフ
ァエリア1に獲保することによって要求きれた分のバッ
ファエリア妙:獲保される。 まず、要求きれたバッファエリアのサイズは演算処理ユ
ニットに送られ、このバッファサイズが最小のユニット
サイズ即ち512バイトで割られ、要求ユニット数妙:
算出される(ステップ101)。この場合、余りカニ出
れば、算出きれた商に°゛1°゛が加えられて要求ユニ
ット数とされる。 例えば、要求でれたバッファサイズカニ2000バイト
であるとすると、要求ユニット数は4ユニツトとなり、
この場合、第1図に示したユニットグループcAカニそ
の後有意義とされる。また他の例として例えば要求され
たバッファサイズ7):3000バイトであるとすると
、同様な演算の結果、要求ユニット数はるユニットとな
る75:、この場合にはユニット数875:最小単位で
あるユニットクルー−fti、75:その後有意義とさ
れる。 いずれにしても要求ユニットを含む最小サイズのユニッ
トグループが選択されることになる。 例えば、前述した様に、要求ユニント数カニ4ユニット
でユニットグループc475:検索の対象とされると、
次にユニット状態表示9の先頭アドレス10よりユニッ
ト状態表示のビットパターン、及び要求ユニット数に対
応して生成されたディジットパターン即ち111100
0000000000“75:設定される。併せて、繰
り返しカウンタCNT1に初期値カニセットされる。こ
の繰り返しの数とは、後述するディジ2ドパターンとユ
ニット状態表示パターンの比較において、ユニット状態
表示パターンのすべてに対して同時に比較することを避
け、何回かに分けて行なうための数である。本例の場合
、デイジットノ<ターンば16ビノトであり、また、ユ
ニットの最大個数は、ユニットcLおの48個と仮定し
たので、ユニット状態IDパターンは48ビレトという
ことになる。従って、両者のパターンの比較は、16ビ
ツトずつ6回に分けて行なう必要75:あるためまず、
このカウンタCNT1 に°゛3“が初期値としてセン
トされる(ステップ102)。 次に、/フトカウンタCNT2 に要求ユニット数、即
ち本例の場合“4“が初期値としてセントされる(ステ
ップ103)。 次にユニット状態表示パターンとディジットパターンと
が比較される(ステップ104)。次に、バッファエリ
ア1に未使用ユニットグループがあるか否かが判定され
(ステップ105)、その結果、未使用のものがあれば
ステップ10゜へ、無ければ、ステップ110の処理が
行なわれる。 この動作について、第4図に示した状態遷移図により等
測的に説明すネ。即ち第4図に示しだ様なユニット状態
表示パターン301と要求ユニット数に対応するディジ
ットパターン302との比較は、両者の論理的AND条
件妙:とられ、その結果i: ” O“であれば未使用
のバッファエリア即ちユニットグループt−A75:あ
りと判定され、“1“ならばそのバッファエリアは使用
中であると判定される。 第6図に示した例の場合、両パターンのANDの結果は
すべて0“とならないため、当該ユニット状態表示パタ
ーンに対応したユニットグループは使用中であると判定
され、ステップ110に処理が移る。そしてテイジソト
パターン力:4ビット分右ヘシフトされ、かつカウンタ
CNT 2カニマイナス゛’1”jれる(ステップ11
0)。次にCNT2の内容カニ゛0“か否かが判定され
る(ステップ111)。本例の場合CNT2の内容は当
初“4“でアリ、ステップ110でマイナス“°1′さ
れたので6“となっており、その結果、ステップ104
へ処理が移る。ステップ104から以降の処理は前述と
同様である。 きて、この処理動作について、再び第4図を参照して説
明するにディジットパターン302を右へ4ビット分/
フトして得られた新らたなディジットパターン303と
、前記ユニット状態表示パターン501との論理的AN
D条件がとられ。 る。その結果、“O“か否か75:判定される。本例の
場合、1回目のシフトでは依然としてAJIDの結果は
、すべてO“にならない。そして更にこのディジットパ
ターン303を4ビツト右にシフトして得られた新らた
なディジットパターン304と上記ユニット状態表示パ
ターン301とのANDの結果、すべてカニ“0“とな
る。 この段階で、ステップ105において、未使用ユニット
グループGAがあると判定され、ステップ106ニ処理
が移る。そして、ディジ2ドパターン504に対応する
位置のユニットグループQaが獲保される。即ち、第4
図のユニット状態表示パターン301とディジットパタ
ーン504との論理的OR,z=とられ1、その結果が
新らたなユニット状態表示パターンとして、ユニット状
態表示部9に書き込まれる。 そして、次に獲保されたユニット状態表示の先頭の位置
とユニットグループcAのバイト数即ち2048バイト
を乗じて獲保されたバッファエリアの先頭アドレスカニ
算出される(ステップ107)。そして、管理テーブル
11に、バッファエリア獲保の要求のあったI10テバ
イスのアドレスに対応して、要求ユニット数及び獲保さ
れたバッファエリアの先頭アドレスを記憶する(ステッ
プ108)。 次に、要求のあったI10デバイスにバッファエリア獲
保可を知らせ(ステップ1o9)、バッフ7エリア獲保
処理を終了する。 一方、ステップ105において、未使用のユニットグル
ープの有無の判定で無しと判定されカウンタCNT 2
の値カニ順次更新され、つぃにCN’l’2の値カニ“
0“となった場合(ステップ111)には、繰り返しカ
ウンタCN’I’1の値73:マイナス“1“され(ス
テップ112)、次ニcNT1ノ値カニ“0“であるか
否かカニ判定される(ステップ115)。その結果、°
“0“であればステップ114へ、“0“でなければス
テップ103へ移る。本実施例の場合、ユニットの最大
数はユニットグループ−の48個であり、シめ・もユニ
ット状態表示パターンは1ワ一ド分16ビツトのパター
ンとしているので、全てのユニット状態表示に対して比
較するにはその動作は3回分必要となる。そこで、本例
においては、CNT1の値は当初“3“と設定されてお
り、ステップ112において、この値がマイナス゛12
されても、その値は依然として2“であるので、ステッ
プ103に処理カニ移る。そして、シフトカウンタCN
T 2が再度初期設定即ち4“カニセットされ、ステッ
プ104の処理に移る。ステップ104以降の処理は前
述した動作と同様である。そして再度ステップ112で
繰り返しカウンタCNT1の値は更新されて、今度は“
1″となる。従ってステップ113の判定では、CNT
1は“0゛ではないので、再びステップ103に移り、
前述と同様の動作が行なわれる。 そして、ついにステップ113において、CN’l”1
の値が°゛Q“であると判定されれば全てのユニット状
態表示パターンをチェックしても要求された分の未使用
のバッファエリア即本例の場合ユ= > ) / ルー
 7” A 75:無いと判断され、要求ノアっりI1
0デバイスにバッファエリア獲得不可能を知らせ(ステ
ップ114)、バッファエリア獲保処理を終了する。 次に、第3図に示した処理20−を参照してバッファエ
リアの解放動作について説明する。 この動作は、バッファエリア1内に既に獲保されたある
単位のユニットグループに記憶されたデータがある出力
デバイスに出力し終ったりして、もはやこのユニットグ
ループカニこのデバイスに対して不要となった場合に、
このエリアを他のデバイスの使用に供するため、処理済
みの入出力デバイスから発せられるバッファ解放要求に
基いて行なわれる。ある入出力デバイスからバッファ解
放要求が発せられると、この要求及び入出力デバイスの
アドレスは演算処理ユニットに送られる。 演算処理ユニットではこのノくソファ解放要求を検知す
ると、第1図に示した管理テーブル11・より、当該入
出力デノくイスのアドレスに対応して登録されているコ
ーニノト数及びそのユニットの先頭アドレス例えばハが
取り出される(ステツ7°201)。 次K、解放すべきノくソファエリアの先頭アドレスAム
カラバンファエリア1の先頭アドレス2を減じてアドレ
スの変位量が算出される。セしてこのアドレス変位量を
最小ユニットサイズ即ち512バイトで割って解放すべ
きユニットのユニット状態表示の位置が算出される(ス
テップ202)。 次にテーブル11内の要求ユニット数から解放スべきデ
イジットノ(ターンを作成する(ステツ  ブ 203
  )。 次に、このデイジットノくターンは解放ユニット状態表
示の位置だけシフトサれる(ステップ。 204 )。 この状況について第5図に示した状態遷移図により等制
約に説明する。例えばここでユニット状態表示を401
で示すパターンとする。さらに解放すべきユニット数を
ユニットグループLl即ち2ユニツトとすると、解放デ
ィジットパターンは402に示す様に“1100000
000000000“となる。次に、前述したステップ
202により解放ユニット状態表示の位置が例えば“6
“と求められたとすると、この解放ディジットパターン
は403に示す如く右へ6回シフトされる。そして40
4の如く、この解放ティジットパターンの“1“、“0
“が反転される。 さて再び第3・図を参照するに、ステップ205におい
て、ユニット状態表示を解放すべきユニットに対応して
使用中の1“から未使用の“°0“へ書き換える。これ
について第5図を参照すれは、ユニット状態表示のパタ
ーン401と解放ディジットパターン404の論理的A
ND条件がとられ、その結果の新らたなパターンが書き
換え後の新しいユニット状態表示405となる。この様
にしてバッファエリア1内のあるエリアが解放される。 この様に、本実施例は、バッファエリアを大キサの異な
る複数種のユニットグループに分割し、最小のユニット
毎に当該ユニットカニ使用されているか否かを示すユニ
ット状態表示フラグを備え、入出力デバイスからのバッ
ファ獲保要求があった場合、要求されたノ(ソファエリ
アのサイズをユニット数に変換し、この変換されたユニ
ットを含む最小のユニットグループを割り当てる様にし
たので、バッファエリアの使用効率を極力低下させるこ
とカニない様にされ得る。 また、バッフ7エリアの獲保及び解放の処理はビットパ
ターンのシフト、比較といった演算処理ユニy)におけ
る基本的な処理で容易に行なえ、くり返し動作の多いバ
ッファ処理を効率的かつ高速に実行することができる。 〔発明の効果〕 本発明によれば、要求gれたバッファエリアのサイズを
最小ユニットサイズで割って、ユニットの数に変換し、
その結果得られたユニyl−を含む最小のユニットグル
ープを割り当てる様にしたので、バッファエリアの使用
効率を比較的低下させないで済む。まだ、バッファエリ
アの獲保、解放の処理は、シフト処理、比較処理等々の
簡単な処理で容易に行なえるので、くり返し動作の多い
バッファ処理を高速に実行できる。 4、図面の簡単な説明 第1図は本発明の一実施例による入出力バッ7アの構成
を示す図、第2図は本発明のバッファ取得処理の一実施
例を示すフローチャート、第3図は本発明のバッファ解
放処理の一実施例を示すフローチャート、第4図は本発
明のバッファ取得処理の一実施例に係るユニット状態表
示処理の遷移を示す図、第5図は本発明のバッファ解放
処理の一実施例に係るユニット状態表示処理の遷移を示
す図である。 1・・人出力バツファ領域 2・バンファ先頭アドレス ろ・・バッファ終端アドレス 4・αタイプのユニット群 5 bタイプのユニット群 66タイプのユニット群 7・・dタイプのユニット群 8・Lタイプのユニット群 9・・ユニット状態表示 11・・管理テーブル

Claims (1)

    【特許請求の範囲】
  1. バッファ記憶装置を複数のスレーブステーションが共同
    使用する、データ処理マルチステーシロンシステムのバ
    ッファ制御方式において、前記バッファ記憶装置のバッ
    ファ領域を、一定のユニット(単位)を最小単位として
    サイズの異なる複数のユニットグループに分割し、該ユ
    ニットグル山(ブが使用中か否かを表示するユニット状
    態表示を前記最小ユニット対応に設け、要求バッファサ
    イズを要求ユニット数に変換して、該要求ユニット数に
    対応する要求チェックディジットパターンを形成し、該
    要求チェックディジットパターンと前記ユニット状態表
    示とを、該ユニット状態表示の先頭アドレスから順に比
    較し、該先頭アドレスに対応する前記ユニットグループ
    から前記要求ユニット数の未使用領域が得られない場合
    は、前記要求チェックディジットパターンを前記要求ユ
    ニット数だけシフトして新たなパターンとし、該新たな
    パターンと前記ユニット状態表示とを再び比較し、上記
    と同様の比較およびシフト動作を、要求ユニット数の未
    使用領域が得られるまで繰り返すことを特徴とするバッ
    ファ制御方式。
JP57179843A 1982-10-15 1982-10-15 バツフア制御方式 Granted JPS5969826A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP57179843A JPS5969826A (ja) 1982-10-15 1982-10-15 バツフア制御方式
KR1019830004754A KR880002099B1 (ko) 1982-10-15 1983-10-07 메모리의 제어방식
US07/016,519 US4780815A (en) 1982-10-15 1987-02-17 Memory control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57179843A JPS5969826A (ja) 1982-10-15 1982-10-15 バツフア制御方式

Publications (2)

Publication Number Publication Date
JPS5969826A true JPS5969826A (ja) 1984-04-20
JPS6232518B2 JPS6232518B2 (ja) 1987-07-15

Family

ID=16072866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57179843A Granted JPS5969826A (ja) 1982-10-15 1982-10-15 バツフア制御方式

Country Status (3)

Country Link
US (1) US4780815A (ja)
JP (1) JPS5969826A (ja)
KR (1) KR880002099B1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
JP3110035B2 (ja) * 1990-06-07 2000-11-20 株式会社東芝 携帯可能電子装置
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JP2957354B2 (ja) * 1992-05-13 1999-10-04 三菱電機株式会社 信号転送方法
GB2271202B (en) * 1992-10-01 1995-12-13 Digital Equipment Int Dynamic non-coherent cache memory resizing mechanism
US6046817A (en) * 1997-05-12 2000-04-04 Lexmark International, Inc. Method and apparatus for dynamic buffering of input/output ports used for receiving and transmitting print data at a printer
US5916309A (en) * 1997-05-12 1999-06-29 Lexmark International Inc. System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message
US6031624A (en) * 1997-09-08 2000-02-29 Lexmark International, Inc. Method and apparatus for adaptive data buffering in a parallelized printing system
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6615243B1 (en) * 1999-04-01 2003-09-02 Thomson Licensing S.A. System and method for programming and transmitting macros for controlling audio/video devices
KR20010027606A (ko) * 1999-09-14 2001-04-06 구자홍 디스크 기록매체의 데이터 전송장치 및 방법
US7809806B1 (en) 2001-08-02 2010-10-05 Cisco Technology, Inc. Neighbor discovery using address registration protocol over ELMI
US6681309B2 (en) * 2002-01-25 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring and optimizing spatial segmentation of electronic storage workloads
US6996676B2 (en) * 2002-11-14 2006-02-07 International Business Machines Corporation System and method for implementing an adaptive replacement cache policy
US20060275895A1 (en) * 2003-06-27 2006-12-07 Bio-Circuit Biogas producing facility with anaerobic hydrolysis
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
WO2006031551A2 (en) 2004-09-10 2006-03-23 Cavium Networks Selective replication of data structure
US7594081B2 (en) 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
CN104970741B (zh) 2009-11-06 2017-08-29 艾罗伯特公司 用于通过自主型机器人完全覆盖表面的方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435752A (en) * 1973-11-07 1984-03-06 Texas Instruments Incorporated Allocation of rotating memory device storage locations
CH604322A5 (ja) * 1975-02-10 1978-09-15 Siemens Ag
US4393501A (en) * 1981-02-26 1983-07-12 General Electric Company Line protocol for communication system
US4520453A (en) * 1982-11-01 1985-05-28 Ampex Corporation Address transformation system having an address shuffler

Also Published As

Publication number Publication date
US4780815A (en) 1988-10-25
KR840007286A (ko) 1984-12-06
KR880002099B1 (ko) 1988-10-15
JPS6232518B2 (ja) 1987-07-15

Similar Documents

Publication Publication Date Title
JPS5969826A (ja) バツフア制御方式
JPH04219859A (ja) 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
CN109117273A (zh) 数据存储方法、装置及设备
EP0089717A1 (en) Device for the serial merging of two ordered lists in order to form a single ordered list
GB2328827A (en) Video data transfer
CN1462118A (zh) 虚级联中序列号排序的处理方法
EP0454797A1 (en) ASYNCHRONOUS TIME MULTIPLEX SWITCHING SYSTEM.
JPH0981720A (ja) イメージ処理装置
JPS6016661B2 (ja) 主メモリ割付方式
JPH05151035A (ja) データベースシステム
JPH0392939A (ja) 計算機システムの表示方法
JP3339062B2 (ja) メモリ領域管理方法
JPS63208157A (ja) 文書管理装置
JPH07225738A (ja) 受信バッファの管理方法および通信装置
JPH06309197A (ja) 記憶領域管理方式
JPS60198663A (ja) デ−タ転送で御方式および回路
JPS62233825A (ja) 共有画像バツフア自動最適化使用割り付け方式
JPH03253952A (ja) バッファ管理方式
JPH0827685B2 (ja) ファンクションキーの機能割りつけ方式
JPH0729020A (ja) グラフィック並列処理装置および方法
JPS6068475A (ja) 階層的配列デ−タ記憶方式
JPH0689160A (ja) ソート処理方式
JPH02244321A (ja) 印字手段制御装置
JPS63245541A (ja) 連続記憶領域の管理方式
JPH03127143A (ja) 画像処理装置