JPH04322355A - 情報交換装置 - Google Patents

情報交換装置

Info

Publication number
JPH04322355A
JPH04322355A JP9211391A JP9211391A JPH04322355A JP H04322355 A JPH04322355 A JP H04322355A JP 9211391 A JP9211391 A JP 9211391A JP 9211391 A JP9211391 A JP 9211391A JP H04322355 A JPH04322355 A JP H04322355A
Authority
JP
Japan
Prior art keywords
buffer
message
information
buffers
storage means
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
JP9211391A
Other languages
English (en)
Inventor
Masao Fujikawa
藤川 昌男
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom Corp
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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP9211391A priority Critical patent/JPH04322355A/ja
Publication of JPH04322355A publication Critical patent/JPH04322355A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、計算機システム内の
システムバスに接続された2つのデバイス間で情報(以
下メッセ−ジと称する)の交換を行う情報交換装置に関
するものである。
【0002】
【従来の技術】計算機システム内のシステムバスに接続
された2デバイス間のメッセ−ジ交換を行う装置として
、2デバイスが共にリ−ド/ライト可能な共用メモリエ
リアにバッファプ−ル(複数のバッファの集まり)を用
意し、メッセ−ジの送信側デバイスがバッファプ−ル内
の1つのバッファを獲得してメッセ−ジを格納して、受
信側デバイスへそのバッファのアドレスを伝へバッファ
のアクセス権を引き渡すことでメッセ−ジ交換を行うも
のがある。
【0003】このような従来の装置ではバッファプ−ル
は共用であるためバッファの獲得・返却を行う場合に、
2デバイス間で使用・未使用バッファについての矛盾の
ない一致した認識を保つ必要がある。そこでバッファプ
−ルの管理情報を共用メモリエリアに配置し、各デバイ
スは共用メモリエリア上の管理情報を参照・操作するこ
とで一致した認識を保つようにしていた。
【0004】
【発明が解決しようとする課題】従来例のようにバッフ
ァプ−ルの管理情報を共用メモリエリアに配置する構成
では、共用メモリエリアをシステムバス経由でアクセス
(リ−ド/ライト)する必要がある。しかしながらシス
テムバス経由でのアクセスは速度が遅いため、バッファ
の獲得・返却の際に共用メモリエリアのバッファ管理情
報を参照・操作することは処理時間の遅延を招くという
問題があった。また同一の管理情報をアクセスするため
一方のデバイスがアクセス時は他方のデバイスのアクセ
スを禁止する排他制御を行う必要があり、これも処理時
間の遅延を招く原因であった。
【0005】この発明は、以上のような従来例の問題点
を解消するためになされたもので、2デバイス間のメッ
セ−ジ交換においてバッファプ−ルのバッファを共用は
するが、バッファ管理情報を共用メモリエリアには配置
しなくても必要な数のバッファをバッファプ−ルから各
デバイス別に確保出来るようにしたことで、バッファ管
理情報をシステムバス経由で参照・操作すること及びそ
の時の2デバイス間での排他制御を不要とし、前記処理
時間の遅延を改善できる情報交換装置の提供を目的とし
ている。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、この発明は、計算機システム内でシステムバスに接
続されそれぞれがCPUを有する2つのデバイス間で情
報交換を行う場合に、情報を格納する複数のバッファを
各デバイスの共用メモリエリアにバッファプ−ルとして
用意し、送信側デバイスが情報を前記バッファに格納し
て受信側デバイスへ該バッファを引き渡すことで、相互
のデバイス間での情報の交換を行う情報交換装置におい
て、受信側デバイスが該バッファを次の情報送信の機会
に用いる自己所有のバッファとするために該バッファの
アドレスを記憶する記憶手段と、それぞれのデバイスの
所有するバッファが一定量以上偏った場合にはバッファ
所有数の過多側デバイスから過少側デバイスへ所定数の
バッファの所有権を引き渡すバッファ管理手段とを、そ
れぞれのデバイス側で独立に有するように構成する。
【0007】
【作用】以上のような構成としたこの発明に係る情報交
換装置は、バッファの管理情報を各デバイスが独立に有
することでバッファの獲得・返却時にアクセス速度の遅
いシステムバスを介することなくバッファ管理情報の参
照・操作ができ、かつ2デバイス間での排他制御が不要
となる。
【0008】
【実施例】以下にこの発明の一実施例を図面に基づいて
説明する。 (構成)図1はこの発明が適用される計算機システムに
おける実施例の全体システム構成図を示す。
【0009】図2は実施例におけるメッセ−ジ交換のバ
ッファプ−ル及びバッファ管理情報の全体構成を示す。 図3は実施例におけるバッファ管理情報の構成を示す。
【0010】図4は実施例におけるメッセ−ジ交換用の
バッファ内の情報構成を示す。図5は実施例における動
作の概要フロ−チャ−トである。図6は実施例における
メッセ−ジ送信時の処理フロ−チャ−トである。
【0011】図7は実施例におけるメッセ−ジ受信時の
処理フロ−チャ−トである。図8は実施例におけるバッ
ファの偏り解消処理フロ−チャ−トである。図中、同一
符号は同一または相等部分を表す。
【0012】図1において、1,2はそれぞれデバイス
であって相互間で情報交換を行うものであり、3,4は
それぞれのデバイスの内部メモリであって制御プログラ
ムおびデ−タが格納されており、5,6はそれぞれのデ
バイスのCPUであって制御プログラムの実行を行う。 10は共用メモリエリアであり、11はバッファプ−ル
であり、20はシステムバスである。Aはバッファ管理
手段であってバッファ管理用の制御プログラムおよびカ
ウンタ等で構成され、Bは記憶手段であってバッファ記
憶用の制御プログラムおよび所有するバッファへのポイ
ンタ等で構成されており、内部メモリ3,4の内部に独
立して設けられている。
【0013】互いにメッセ−ジ交換を行うデバイス1と
デバイス2、及びバッファプ−ル11を配置する共用メ
モリエリア10は、図1のようにシステムバス20に接
続されている。デバイス1及びデバイス2はシステムバ
ス20を介して共用メモリエリア10にアクセス(リ−
ド/ライト)することができる。
【0014】実施例の機構は、図2のように共用メモリ
エリア10内に形成されたバッファプ−ル11(図2で
はバッファ111〜バッファ118で示されている)、
そのバッファプ−ル11を運用するための各デバイス内
のバッファ管理手段Aおよび記憶手段B、メッセ−ジの
送信と受信を行う通信路となる2本のメッセ−ジキュ−
12と21、及びそれら2本のメッセ−ジキュ−へのポ
インタによって構成されている。
【0015】(動作)以下に図2〜図8に基づいて動作
を説明する。デバイス間で情報を送出する場合の処理手
順の一例は図5に示すように実行される。すなわち、デ
バイス1または2を起動したときに、図5の処理が実行
開始され、先ずステップS1でバッファ管理の初期化処
理を実行し、次いでステップS2に移行して送信か否か
を判定し、送信である場合には、ステップS3に移行し
て図6に示す送信処理を実行してからステップS2に戻
り、送信ではないときには、ステップS4に移行する。
【0016】このステップS4では、受信か否かを判定
し、受信ではないときには、そのまま前記ステップS2
へ戻る。受信である場合にはステップS5に移行して図
7に示す受信処理を実行してからステップS6に移行す
る。
【0017】このステップS6では、バッファ管理手段
Aにおける所有バッファ数カウンタ2cのカウント値N
が予め設定した最大バッファ数NB を越えたか否かを
判定し、N>NB であるときには、デバイス1及び2
間で所有バッファ数に偏りがあるものと判断してステッ
プS7に移行して図8に示す偏り解消処理を実行し、N
≦NB であるときには、そのまま前記ステップS2に
戻る。
【0018】以下に、図5の各処理ステップについて詳
細を説明する。 (1)バッファ管理の初期化 共用メモリエリア10を適当なサイズの複数バッファに
分割し複数個数のバッファを生成しバッファプ−ル11
とする。バッファは予め決めてある指定個数にデバイス
1とデバイス2の所有するバッファとして配分して、デ
バイス1とデバイス2内のそれぞれの記憶手段Bに登録
(バッファアドレスを記憶)し、所有するバッファ数も
バッファ管理手段Aに設定する。
【0019】なお、この実施例では次に使用するバッフ
ァ111と112は予めメッセ−ジキュ−12と21に
1つずつ繋げておく。 (2)メッセ−ジ送信時の処理(図6参照)デバイス1
からデバイス2へメッセ−ジを送信する場合は、ステッ
プ101でデバイス1が自デバイス内にある記憶手段B
からバッファ113のアドレスを獲得する。
【0020】この時、ステップ102でデバイス1にお
ける記憶手段Bの該当する「所有するバッファへのポイ
ンタ」に0を設定してバッファ113を登録削除し、ス
テップ103でバッファ管理手段Aの所有バッファ数カ
ウンタ1cの内容から1を減ずる。
【0021】デバイス1は、メッセ−ジキュ−12にあ
るバッファ111に、図4に示すバッファ内の情報構成
に従って、ステップ104で後続のバッファへのポイン
タ部にはバッファ113のアドレスを、ステップ105
でメッセ−ジ部には送信するメッセ−ジを格納する。ま
た、ステップ106で送信メッセ−ジキュ−ポインタ1
dには、最後尾バッファとなったバッファ113のアド
レスを格納する。
【0022】これにより、バッファ111はメッセ−ジ
として送信メッセ−ジキュ−12に送信されたことにな
り、バッファ113は次のメッセ−ジ格納用に獲得され
、所有するバッファから削除されたことになる。
【0023】デバイス2からデバイス1へメッセ−ジを
送信する場合は、上記デバイス1とデバイス2の実行を
メッセ−ジキュ−21に対して逆に行うことになる。 (3)メッセ−ジ受信時の処理(図7参照)前記(2)
でデバイス1によってメッセ−ジを格納され送信された
バッファ111をデバイス2で受信する場合は次のよう
に行われる。
【0024】デバイス2側では、メッセ−ジが送信され
たことを検知すると、ステップ201で受信メッセ−ジ
キュ−ポインタ2eの指すバッファ111からメッセ−
ジを読み取る(検知手段はこの発明の範囲外なので説明
は省略する)。次にステップ202でメッセ−ジを読み
だした後のバッファ111のアドレスは記憶手段Bに自
己所有バッファとして登録し、ステップ203でバッフ
ァ管理手段Aの所有バッファ数カウンタ2cの内容に1
を加える。
【0025】デバイス2は、ステップ204でバッファ
111の後続のバッファへのポインタ部(図4参照)か
らバッファ113のアドレスを読みだして、ステップ2
05で受信メッセ−ジキュ−ポインタ2eに先頭のメッ
セ−ジバッファとして設定する。これによりバッファ1
11はデバイス1からデバイス2の所有するバッファに
移動したことになる。
【0026】ステップ207は、受信メッセ−ジの種別
指定がバッファ返送メッセ−ジである場合(図4参照)
、すなわちバッファの偏り解消処理プログラムが実行さ
れた場合に実行される。
【0027】デバイス2からデバイス1がメッセ−ジを
受信する場合は、上記デバイス1とデバイス2の実行を
メッセ−ジキュ−21に対して逆に行うことになる。 (4)バッファの偏り解消処理(図8参照)バッファは
、デバイス1,2のいずれかの記憶手段Bに登録される
ため,前記(2),(3)のメッセ−ジ交換動作を行う
内に一方のデバイスに所有バッファが偏って,もう一方
のデバイスにメッセ−ジ交換用のバッファが無くなるお
それがある。これを解消する為にこの発明では以下の動
作を行う。
【0028】前記(3)でバッファを受け取ったデバイ
ス2は、ステップ301で記憶手段Bから返送バッファ
数カウンタ2bにある数だけバッファアドレスを取り出
し、ステップ302でそのアドレス情報をメッセ−ジと
して、またステップ303でバッファ返送メッセ−ジで
あることを指示するコ−ドをメッセ−ジの種別指定とし
て(図4参照)バッファに格納し、前記(2)のバッフ
ァ送信時の動作に従ってデバイス1に該バッファを送信
する。
【0029】この時、デバイス2では、ステップ304
で返送したバッファ数をバッファ管理手段Aの所有する
バッファ数カウンタ2cから減ずる。更にステップ30
5で記憶手段Bから、返送したバッファの登録を削除す
る(図3において所有するバッファへのポインタに0を
設定する)。
【0030】デバイス1は、このメッセ−ジを受け取る
と、受信処理プログラムのステップ206でメッセ−ジ
の種別指定がバッファ返送メッセ−ジであることから(
図4参照)ステップ207を実行し、メッセ−ジに格納
されているバッファアドレスを記憶手段Bに登録し、自
己所有バッファとする(図7参照)。
【0031】これにより所有バッファの偏りを解消し、
デバイス1,2とも一定以上のバッファをバッファ管理
手段A,記憶手段Bにて確保する管理が可能となる。デ
バイス2からデバイス1がメッセ−ジを受信する場合は
、上記デバイス1とデバイス2の実行を逆に行うことに
なる。
【0032】
【発明の効果】以上説明したように、この発明では、各
デバイスがバッファ管理手段A,記憶手段Bを独立に持
つことで、共用メモリエリア上のバッファの獲得・返却
時にシステムバスをアクセスすることなしに、また同一
エリアのバッファ管理情報をアクセスしないのでアクセ
ス時のデバイス間での排他制御なしにバッファプ−ルの
管理を可能とするため、情報交換における処理時間の遅
延を改善することができる。
【図面の簡単な説明】
【図1】実施例における全体システム構成図である。
【図2】実施例におけるバッファプ−ル及びバッファ管
理情報の全体構成図である。
【図3】実施例におけるバッファ管理情報構成図である
【図4】実施例におけるバッファ内の情報構成図である
【図5】実施例における動作の概要フロ−チャ−トであ
る。
【図6】実施例におけるメッセ−ジ送信時の処理フロ−
チャ−トである。
【図7】実施例におけるメッセ−ジ受信時の処理フロ−
チャ−トである。
【図8】実施例におけるバッファの偏り解消処理フロ−
チャ−トである。
【符号の説明】
1,2  デバイス 3,4  内部メモリ 5,6  CPU 10    共用メモリエリア 11    バッファプ−ル 20    システムバス A      バッファ管理手段 B      記憶手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  計算機システム内でシステムバスに接
    続されそれぞれがCPUを有する2つのデバイス間で情
    報交換を行う場合に、情報を格納する複数のバッファを
    各デバイスの共用メモリエリアにバッファプ−ルとして
    用意し、送信側デバイスが情報を前記バッファに格納し
    て受信側デバイスへ該バッファを引き渡すことで、相互
    のデバイス間での情報の交換を行う情報交換装置におい
    て、受信側デバイスが該バッファを次の情報送信の機会
    に用いる自己所有のバッファとするために該バッファの
    アドレスを記憶する記憶手段と、それぞれのデバイスの
    所有するバッファが一定量以上偏った場合にはバッファ
    所有数の過多側デバイスから過少側デバイスへ所定数の
    バッファの所有権を引き渡すバッファ管理手段とを、そ
    れぞれのデバイス側で独立に有することを特徴とする情
    報交換装置。
JP9211391A 1991-04-23 1991-04-23 情報交換装置 Pending JPH04322355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9211391A JPH04322355A (ja) 1991-04-23 1991-04-23 情報交換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9211391A JPH04322355A (ja) 1991-04-23 1991-04-23 情報交換装置

Publications (1)

Publication Number Publication Date
JPH04322355A true JPH04322355A (ja) 1992-11-12

Family

ID=14045380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9211391A Pending JPH04322355A (ja) 1991-04-23 1991-04-23 情報交換装置

Country Status (1)

Country Link
JP (1) JPH04322355A (ja)

Similar Documents

Publication Publication Date Title
US6622193B1 (en) Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US4419728A (en) Channel interface circuit providing virtual channel number translation and direct memory access
TW544589B (en) Loosely coupled-multi processor server
US8019902B2 (en) Network adapter with shared database for message context information
US20050038941A1 (en) Method and apparatus for accessing a memory
US5915088A (en) Interprocessor messaging system
US20050081202A1 (en) System and method for task queue management of virtual devices using a plurality of processors
US5822785A (en) Data transfer using local and global address translation and authorization
US7496917B2 (en) Virtual devices using a pluarlity of processors
JPH10504665A (ja) バスブリッジにおけるトランザクション順序を維持し、遅延応答をサポートする方法及びそのための装置
JPH06103155A (ja) 共有メモリ制御方法及び共有メモリ制御装置
JPH02288927A (ja) 共有メモリ管理方式
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
US6766358B1 (en) Exchanging messages between computer systems communicatively coupled in a computer system network
JPH05224956A (ja) プロセス間メッセージ通信方法
US5432910A (en) Coupling apparatus and method for increasing the connection capability of a communication system
JP2736237B2 (ja) 遠隔メモリアクセス制御装置
JPS616759A (ja) メモリ共有マルチプロセツサシステム
US20040103249A1 (en) Memory access over a shared bus
JPH04322355A (ja) 情報交換装置
US7590777B2 (en) Transferring data between system and storage in a shared buffer
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式
JP3157513B2 (ja) 拡張記憶装置
JPH10143486A (ja) 並列計算機におけるデータ送受信方法