JPH0644191A - バッファ管理方法 - Google Patents

バッファ管理方法

Info

Publication number
JPH0644191A
JPH0644191A JP21867492A JP21867492A JPH0644191A JP H0644191 A JPH0644191 A JP H0644191A JP 21867492 A JP21867492 A JP 21867492A JP 21867492 A JP21867492 A JP 21867492A JP H0644191 A JPH0644191 A JP H0644191A
Authority
JP
Japan
Prior art keywords
buffer
processor
data
processors
area
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
Application number
JP21867492A
Other languages
English (en)
Inventor
Hiroaki Hasumi
浩明 蓮見
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP21867492A priority Critical patent/JPH0644191A/ja
Publication of JPH0644191A publication Critical patent/JPH0644191A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】 複数のプロセッサ11〜N間でデータの送受
信を行う場合にデータを一時格納するためのバッファと
して、複数のプロセッサ11〜N毎に、それぞれのプロ
セッサが独自に管理する複数のバッファプール15−1
〜15−Nが設けられている。例えば、プロセッサ11
からあるデータBをプロセッサ12に送信する場合、プ
ロセッサ11は、バッファプール15−1を確保し、デ
ータBを転送する。その後、プロセッサ12は、データ
Bを受け取ると、バッファ解放通知をプロセッサ11に
行う。プロセッサ11はこれによってバッファプール1
5−1の解放を行う。 【効果】 バッファの競合制御を行う必要がなく、かつ
競合制御によるプロセッサの保留がない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおいて、複数のプロセッサ間でデータのやり取り
を行う場合に、そのデータを一時的に格納するためのバ
ッファを管理するバッファ管理方法に関する。
【0002】
【従来の技術】情報処理装置において、複数のプロセッ
サを備え、これら複数のプロセッサによって、単数ある
いは複数の処理を実行するマルチプロセッサシステムが
ある。図2は、このようなマルチプロセッサシステムの
構成図である。図のシステムは、複数のプロセッサ1、
2、…、nと、共有メモリ3と、これらを接続するため
のバス4からなる。各プロセッサ1、2、…、nは、そ
れぞれ独立して動作を行うプロセッサであり、また、バ
ス4を介して他のプロセッサとデータのやり取りを行う
よう構成されている。共有メモリ3は、ランダム・アク
セス・メモリ等からなり、その内部には、バッファ5が
設けられている。
【0003】このように構成されたマルチプロセッサシ
ステムにおいて、例えばプロセッサ1からあるデータ
(これをAとする)をプロセッサ2に転送する場合を考
える。このような場合、プロセッサ1は、そのデータA
を一旦、バッファ5に格納させるために、バッファ5の
確保を行う。このバッファ5の確保が行われると、プロ
セッサ1は、データAをバッファ5内に格納する。そし
て、プロセッサ2は、バッファ5内のデータAを取出
し、全てのデータを取出し終えると、バッファ5の解放
要求を発行する。これによって、バッファ5は解放さ
れ、次のデータのために備える。
【0004】ところで、マルチプロセッサシステムで
は、このようなバッファ5を使用する場合、複数のプロ
セッサ1、2、…、nから同時にバッファ5の確保要求
が出される場合が頻繁に発生する。このような場合、複
数のプロセッサが同一のバッファ5(正確には、バッフ
ァ5内の同一アドレス領域)を確保してしまうと、デー
タの破壊等が発生してしまうため、バッファ5の操作時
は、処理が競合しないようにしていた。即ち、従来のバ
ッファ管理方法は、次のように行っていた。例えば、バ
ッファの確保、解放時にバッファ管理を行うための制御
情報(空きバッファ管理用のビットマップやバッファア
ドレス等)を操作する場合、複数のプロセッサが同時に
この操作を行わないよう、ハードウェアによってプロセ
ッサの排他制御を行っていた。
【0005】
【発明が解決しようとする課題】上記のように、従来の
バッファ管理方法では、バッファの管理において複数の
プロセッサの処理が競合しないよう、その競合制御のた
めの回路等を必要とするため、コスト高であるという問
題点があった。しかも、複数のプロセッサからの処理が
衝突した場合、他のプロセッサを保留状態にさせるた
め、マルチプロセッサシステムとしての能力が低下する
といった問題点を有していた。
【0006】更に、従来では、バッファ5の確保と解放
を別のプロセッサで行うため、バッファの確保と解放の
処理が同時に行われてしまい、バッファ管理のエラーと
なってしまう場合があった。例えば、バッファ管理が、
バッファ5内の複数のバッファ領域をチェーンすること
で行われている場合において、使用できるバッファ領域
が一つだけとなっている状態を考える。このような状態
で、あるプロセッサから確保要求が出され、これと同時
に他のプロセッサから解放要求が出されたとする。この
ような場合、確保処理では残りのバッファをチェーンか
ら外すが、解放処理では、いままで使用していた(確保
されていた)バッファを使用可能として残りのバッファ
にチェーンしようとする。従って、バッファの管理に矛
盾が生じてしまい、本来使用できるバッファ領域がある
にもかかわらず、バッファを使用できないといった状態
を招く恐れがあった。
【0007】本発明は、上記従来の問題点を解決するた
めになされたもので、低コスト化を図ると共に、マルチ
プロセッサシステムとしての能力向上を図ることのでき
るバッファ管理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明のバッファ管理方
法は、複数のプロセッサ間でデータの送受信を行う場合
に、当該データをバッファ領域に一時格納するマルチプ
ロセッサシステムのバッファ管理方法において、前記複
数のプロセッサ毎に、それぞれのプロセッサが独自に管
理する複数のバッファ領域を設け、各バッファ領域を使
用する場合の確保処理および不要となった場合の解放処
理を、当該バッファ領域を管理するプロセッサが行うよ
うにしたことを特徴とするものである。
【0009】
【作用】本発明のバッファ管理方法においては、複数の
プロセッサ毎に、それぞれのプロセッサが管理する複数
のバッファ領域が設けられている。例えば、第1のプロ
セッサから第2のプロセッサにデータを送信する場合、
第1のプロセッサは、自プロセッサが管理するバッファ
領域を確保し、このバッファ領域にデータを転送する。
このバッファ領域にデータが格納されると、第2のプロ
セッサはデータを取出し、これが完了すると、バッファ
解放通知を第1のプロセッサに対して行う。第1のプロ
セッサでは、第2のプロセッサからバッファ解放通知を
受け取ると、確保していたバッファ領域の解放処理を行
う。このため、各プロセッサの競合制御のための構成は
必要なく、また、競合制御によるプロセッサの保留がな
い。
【0010】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明のバッファ管理方法を実施する
ためのシステム構成図である。図のシステムは、複数の
プロセッサ11、12、…、Nと、共有メモリ13と、
これらを接続するためのバス14からなる。ここで、各
プロセッサ11、12、…、Nの機能は従来のプロセッ
サと同様である。また、共有メモリ13内のバッファ1
5には、プロセッサ11、12、…、Nがそれぞれ独自
に管理する複数のバッファ領域として、バッファプール
15−1、15−2、…、15−Nが設けられている。
これらのバッファプール15−1、15−2、…、15
−Nは、例えば、バッファプール15−1をプロセッサ
11が、またバッファプール15−2をプロセッサ12
が管理するといったように、それぞれ、プロセッサ1
1、12、…、Nが受け持って管理するよう構成されて
いる。
【0011】図3に、バッファプール15−1、15−
2、…、15−Nの内部構成を示す。即ち、バッファプ
ールは複数のバッファ(バッファ1〜バッファn)と、
これらのバッファを管理するためのバッファ管理情報と
が設けられている。ここで、バッファ管理情報は、バッ
ファアドレスと各バッファの空き/使用中の情報とを有
している。また、このようなバッファプールの管理方法
は、従来のバッファ管理と同様に、各バッファ1〜nの
空き/使用中をビットマップで管理する方法や各バッフ
ァ1〜nをチェーンして管理するといった方法で行う。
また、各バッファ1〜nは、そのバッファプールを管理
しているプロセッサ番号情報を備えている。
【0012】図4は、各バッファ1〜nにおける一つの
バッファ内の構成を示す図である。即ち、バッファは、
管理域とユーザ使用域とを備えており、管理域には当該
バッファプールを管理しているプロセッサの番号(プロ
セッサの識別記号)が格納されている。また、ユーザ使
用域は、プロセッサが転送しようとするデータを格納す
るための領域である。尚、管理域に格納されるプロセッ
サ番号は、予めバッファ1〜nの全てに格納しておく
か、あるいは確保時にプロセッサ番号を格納するよう構
成してもよい。
【0013】次に、このようなシステムにおけるバッフ
ァ管理方法を説明する。例えば、図1において、プロセ
ッサ11がプロセッサ12に対し、データBを転送する
場合を考える。このような場合、先ず、プロセッサ11
は、管理しているバッファプール15−1に対し、確保
要求を送出する(図中で示す)。これによりバッファ
プール15−1のいずれかのバッファ(図3で示したバ
ッファ1〜n)の確保が行われ、プロセッサ11は、デ
ータBをバッファプール15−1に転送する(図中で
示す)。
【0014】転送すべきデータBがバッファプール15
−1に格納されると、プロセッサ12は、このバッファ
プール15−1よりデータBを取出す(図中で示
す)。そして、バッファプール15−1より、転送すべ
きデータBを全てプロセッサ12に転送し終えると、バ
ッファプール15−1の解放処理が行われる。
【0015】図5は、バッファプールの解放処理のフロ
ーチャートである。例えば、プロセッサ12が、ユーザ
プログラムからバッファ解放を受け付けた場合、先ず、
バッファ管理域内のプロセッサ番号が自プロセッサの番
号であるか否かを判定する(図5の(a)におけるステ
ップS11)。即ち、バッファプール15−1が確保さ
れていた場合、そのバッファプール15−1のプロセッ
サ番号を参照し、これがプロセッサ12であるかを判定
する。ここでは、バッファプール15−1のプロセッサ
番号はプロセッサ11であるため、ステップS12に移
行し、該当プロセッサとしてプロセッサ11にバッファ
解放を通知する(図1中、で示す)。尚、この通知は
通常のプロセッサ間通信によって行う。また、ステップ
S11において、プロセッサ番号が自プロセッサであっ
た場合は、そのままバッファ解放処理を行う(ステップ
S13)。
【0016】プロセッサ12よりバッファ解放通知を受
けたプロセッサ11は、確保されていたバッファプール
15−1の解放処理を行う(図5の(b)におけるステ
ップS21、図1中の)。即ち、従来はデータの転送
先プロセッサで行われていたバッファの解放を、本実施
例ではバッファプールを管理するプロセッサによって行
っている。従って、従来のように、バッファの確保と解
放処理が競合してしまうといった問題も一掃される。
【0017】尚、上記実施例では、バッファプール15
−1、15−2、…、15−Nをそれぞれ独立して設け
たが、バッファ15内を複数の領域に区画し、それぞれ
の領域を各プロセッサ11〜Nが管理するよう構成して
も同様の効果を奏する。また、このような領域のサイズ
あるいは上記実施例におけるバッファプール15−1〜
15−Nのサイズをプロセッサ11〜Nの処理に種々の
大きさにしてもよいのは勿論である。
【0018】
【発明の効果】以上説明したように、本発明のバッファ
管理方法によれば、複数のプロセッサ毎に、それぞれの
プロセッサが独自に管理するバッファ領域を設け、各バ
ッファ領域の確保および解放を、そのバッファ領域を管
理するプロセッサが行うようにしたので、バッファ競合
制御のための特別の回路等が必要なく、システムとして
の低コスト化が図れ、かつ競合制御のためのプロセッサ
の保留やバッファの有効利用が行えるため、システム全
体の処理能力の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明のバッファ管理方法を実施するためのシ
ステム構成図である。
【図2】従来のバッファ管理方法を実施するためのシス
テム構成図である。
【図3】本発明のバッファ管理方法におけるバッファプ
ールの構成図である。
【図4】本発明のバッファ管理方法におけるバッファ内
の構成図である。
【図5】本発明のバッファ管理方法におけるバッファ解
放処理のフローチャートである。
【符号の説明】
11、12〜N プロセッサ 15−1、15−2〜15−N バッファプール(バッ
ファ領域)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサ間でデータの送受信を
    行う場合に、当該データをバッファ領域に一時格納する
    マルチプロセッサシステムのバッファ管理方法におい
    て、 前記複数のプロセッサ毎に、それぞれのプロセッサが独
    自に管理する複数のバッファ領域を設け、 各バッファ領域を使用する場合の確保処理および不要と
    なった場合の解放処理を、当該バッファ領域を管理する
    プロセッサが行うようにしたことを特徴とするバッファ
    管理方法。
JP21867492A 1992-07-24 1992-07-24 バッファ管理方法 Pending JPH0644191A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21867492A JPH0644191A (ja) 1992-07-24 1992-07-24 バッファ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21867492A JPH0644191A (ja) 1992-07-24 1992-07-24 バッファ管理方法

Publications (1)

Publication Number Publication Date
JPH0644191A true JPH0644191A (ja) 1994-02-18

Family

ID=16723647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21867492A Pending JPH0644191A (ja) 1992-07-24 1992-07-24 バッファ管理方法

Country Status (1)

Country Link
JP (1) JPH0644191A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006330812A (ja) * 2005-05-23 2006-12-07 Fujitsu Ltd マルチプロセッサシステムにおけるデータバッファ監視装置およびその方法
US7613197B2 (en) 2005-04-20 2009-11-03 Nec Electronics Corporation Multi-processor system and message transferring method in the same
EP3869917A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop
EP3869918A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop
EP3869910A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613197B2 (en) 2005-04-20 2009-11-03 Nec Electronics Corporation Multi-processor system and message transferring method in the same
JP2006330812A (ja) * 2005-05-23 2006-12-07 Fujitsu Ltd マルチプロセッサシステムにおけるデータバッファ監視装置およびその方法
EP3869917A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop
EP3869918A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop
EP3869910A1 (en) 2020-02-19 2021-08-25 LG Electronics Inc. Induction heating type cooktop

Similar Documents

Publication Publication Date Title
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
JPH01147647A (ja) データ処理装置
US5958031A (en) Data transmitting/receiving device of a multiprocessor system and method therefor
JPH06103155A (ja) 共有メモリ制御方法及び共有メモリ制御装置
JPH0644191A (ja) バッファ管理方法
JPS63223860A (ja) 複数プロセツサ構成装置
JPH05224956A (ja) プロセス間メッセージ通信方法
JPS58182737A (ja) 情報処理装置
JPH04296963A (ja) マルチプロセッサシステム
JP2856709B2 (ja) バス間結合システム
JPH0325558A (ja) マルチプロセッサシステムの主記憶アクセスリクエスト選択方式
JPH05289999A (ja) 複数のプロセッサ間の通信情報処理方法
JPH06161951A (ja) バス制御方式
JPS63109566A (ja) 主記憶アクセス制御方式
JP2000207352A (ja) メモリアクセス競合制御方法とその回路、並びにデ―タ処理装置
JPH01229357A (ja) 複数プロセッサ間のデータ授受方法
JPH03116261A (ja) マルチプロセッサ制御方式
JP2000076176A (ja) シーケンス回路及びシーケンス処理方法
JPS59231952A (ja) マルチプロセツサ間通信制御方式
JPH04223533A (ja) 共有資源排他制御システム
JPH10320351A (ja) バッファ方式
JPH0962611A (ja) データ転送制御装置
JPS63237156A (ja) 画面入力処理方式
JPH0234061B2 (ja) Shukiokuakusesuseigyohoshiki
JPH04278659A (ja) マルチプロセッサ間通信方式