JPH09190415A - プロセッサ間通信システム - Google Patents
プロセッサ間通信システムInfo
- Publication number
- JPH09190415A JPH09190415A JP281596A JP281596A JPH09190415A JP H09190415 A JPH09190415 A JP H09190415A JP 281596 A JP281596 A JP 281596A JP 281596 A JP281596 A JP 281596A JP H09190415 A JPH09190415 A JP H09190415A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- communication
- cpu
- management table
- entry
- 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
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 プロセッサ間通信において、メインメモリ上
にプロセッサ割り込み管理テーブルを各CPU対応に設
け、これ等管理テーブルに割り込み要求を立てて通信用
の割り込み処理を行うシステムで、この管理テーブルへ
割り込み要求を書込む場合、バスロック制御をなくす。 【解決手段】 各CPU対応の管理テーブル11〜16
の各エントリ(自CPUに対する要求元CPUを示すエ
ントリ)として、メインメモリの最大アクセス単位(ワ
ード単位)を割り当てる。こうすることにより、バスフ
ァイトは生じないので、バスロックによる排他制御が不
要となる。
にプロセッサ割り込み管理テーブルを各CPU対応に設
け、これ等管理テーブルに割り込み要求を立てて通信用
の割り込み処理を行うシステムで、この管理テーブルへ
割り込み要求を書込む場合、バスロック制御をなくす。 【解決手段】 各CPU対応の管理テーブル11〜16
の各エントリ(自CPUに対する要求元CPUを示すエ
ントリ)として、メインメモリの最大アクセス単位(ワ
ード単位)を割り当てる。こうすることにより、バスフ
ァイトは生じないので、バスロックによる排他制御が不
要となる。
Description
【0001】
【発明の属する技術分野】本発明はプロセッサ間通信シ
ステムに関し、特にメインメモリ内にプロセッサ間通信
のための管理テーブルを有してこの管理テーブルを参照
してプロセッサ間通信を行うようにしたプロセッサ間通
信システムに関するものである。
ステムに関し、特にメインメモリ内にプロセッサ間通信
のための管理テーブルを有してこの管理テーブルを参照
してプロセッサ間通信を行うようにしたプロセッサ間通
信システムに関するものである。
【0002】
【従来の技術】図3はマルチプロセッサシステムの一般
的な概略ブロック図であり、複数のプロセッサであるC
PU1〜16(図では、16個のCPUを示している)
と、メインメモリ17と、これ等相互を結ぶシステムバ
ス18とが設けられており、これ等複数のCPU1〜1
6の相互間において、プロセッサ間通信が可能となって
いる。この様なプロセッサ間通信システムでは、送信側
(通信要求元)CPUを受信側(通信相手先)CPUが
識別可能とするために、メインメモリ17内にプロセッ
サ割り込み管理テーブルが設けられている。
的な概略ブロック図であり、複数のプロセッサであるC
PU1〜16(図では、16個のCPUを示している)
と、メインメモリ17と、これ等相互を結ぶシステムバ
ス18とが設けられており、これ等複数のCPU1〜1
6の相互間において、プロセッサ間通信が可能となって
いる。この様なプロセッサ間通信システムでは、送信側
(通信要求元)CPUを受信側(通信相手先)CPUが
識別可能とするために、メインメモリ17内にプロセッ
サ割り込み管理テーブルが設けられている。
【0003】図4はこのプロセッサ割り込み管理テーブ
ルの一例を示す図である。CPU1〜16に夫々対応し
て管理テーブル11〜16が設けられており、これ等管
理テーブル11〜16の各々は図4の最下部に示す如
く、CPU1〜16に夫々対応して1ビットずつの合計
16ビット(ビット0〜15)の容量を有している。
ルの一例を示す図である。CPU1〜16に夫々対応し
て管理テーブル11〜16が設けられており、これ等管
理テーブル11〜16の各々は図4の最下部に示す如
く、CPU1〜16に夫々対応して1ビットずつの合計
16ビット(ビット0〜15)の容量を有している。
【0004】例えば、CPU1がCPU3に対して通信
を行って処理要求をなす場合、図5の左側のフローチャ
ートに示す如く、先ずCPU1がCPU3用の管理テー
ブル13のリードを行い(ステップS50)、この管理
テーブル13の自CPU1に対応するビット“1”をセ
ットする(ステップS51)。その後、CPU1はCP
U3に対して割り込みを発行する(ステップS52)。
を行って処理要求をなす場合、図5の左側のフローチャ
ートに示す如く、先ずCPU1がCPU3用の管理テー
ブル13のリードを行い(ステップS50)、この管理
テーブル13の自CPU1に対応するビット“1”をセ
ットする(ステップS51)。その後、CPU1はCP
U3に対して割り込みを発行する(ステップS52)。
【0005】このとき、同時に並行してCPU2からも
CPU3に対して通信要求があった場合、図5の右側の
フローチャートに示す如く、同様に、CPU2がCPU
3用の管理テーブル13のリードを行い(ステップS5
3)、この管理テーブル13の自CPU2に対応するビ
ットに“1”をセット(ライト)する(ステップS5
4)。その後、CPU2はCPU3に対して割り込みを
発行する(ステップS55)。
CPU3に対して通信要求があった場合、図5の右側の
フローチャートに示す如く、同様に、CPU2がCPU
3用の管理テーブル13のリードを行い(ステップS5
3)、この管理テーブル13の自CPU2に対応するビ
ットに“1”をセット(ライト)する(ステップS5
4)。その後、CPU2はCPU3に対して割り込みを
発行する(ステップS55)。
【0006】この様に、2つのCPU1,2から1つの
CPU3に対してほぼ同時に通信要求があると、CPU
3のプロセッサ割り込み管理テーブル13へ同時アクセ
スが発生し、この管理テーブル13は不正な値となる可
能性が生ずる。そこで、プロセッサ割り込み管理テーブ
ルへのライトアクセス時には、システムバス18のロッ
クによる排他制御を行うことが必要になる。
CPU3に対してほぼ同時に通信要求があると、CPU
3のプロセッサ割り込み管理テーブル13へ同時アクセ
スが発生し、この管理テーブル13は不正な値となる可
能性が生ずる。そこで、プロセッサ割り込み管理テーブ
ルへのライトアクセス時には、システムバス18のロッ
クによる排他制御を行うことが必要になる。
【0007】図6はこのバスロックによる排他制御のフ
ローチャートである。CPU1がCPU3に対して処理
要求を行う場合、CPU1がCPU3のプロセッサ割り
込み管理テーブル13を読み(ステップS60)、CP
U1に対応するビットが“0”の場合に(ステップS6
1)、バスロックの設定を行う(ステップS62)。
ローチャートである。CPU1がCPU3に対して処理
要求を行う場合、CPU1がCPU3のプロセッサ割り
込み管理テーブル13を読み(ステップS60)、CP
U1に対応するビットが“0”の場合に(ステップS6
1)、バスロックの設定を行う(ステップS62)。
【0008】このバスロックの後に、ライトアクセスを
行って対応ビットに“1”を書込む(ステップS6
3)。そして、バスロックを解除して(ステップS6
4)、通信相手先CPU3に対して割り込みを発行する
のである(ステップS65)。
行って対応ビットに“1”を書込む(ステップS6
3)。そして、バスロックを解除して(ステップS6
4)、通信相手先CPU3に対して割り込みを発行する
のである(ステップS65)。
【0009】
【発明が解決しようとする課題】この様なプロセッサ間
通信システムにおいては、プロセッサ間通信を行う場合
には、メインメモリ上にプロセッサ割り込み管理テーブ
ルを設けている関係上、割り込み処理を行う際に、プロ
セッサ間のメモリアクセスの競合を防止することが必要
となり、よって排他制御のためにバスロックの制御が必
要となるという欠点がある。
通信システムにおいては、プロセッサ間通信を行う場合
には、メインメモリ上にプロセッサ割り込み管理テーブ
ルを設けている関係上、割り込み処理を行う際に、プロ
セッサ間のメモリアクセスの競合を防止することが必要
となり、よって排他制御のためにバスロックの制御が必
要となるという欠点がある。
【0010】バスロック制御による排他制御では、バス
のロック制御がハードウェアの制御に依存するために、
ハードウェアが異なるシステムでバスのロック制御がで
きないシステムや、PCIやEISA等の標準的なバス
では、ロック制御そのものを有していないことから、上
述したプロセッサ間通信システムにおけるバスロックの
排他制御が行えないことになる。また、マルチプロセッ
サ化によるバスのロック制御による処理実行性能の低下
をも招来するという欠点がある。
のロック制御がハードウェアの制御に依存するために、
ハードウェアが異なるシステムでバスのロック制御がで
きないシステムや、PCIやEISA等の標準的なバス
では、ロック制御そのものを有していないことから、上
述したプロセッサ間通信システムにおけるバスロックの
排他制御が行えないことになる。また、マルチプロセッ
サ化によるバスのロック制御による処理実行性能の低下
をも招来するという欠点がある。
【0011】本発明の目的は、バスのロック制御による
排他制御を必要とすることなくプロセッサ割り込み管理
テーブルへのライトアクセスを可能としたプロセッサ間
通信システムを提供することである。
排他制御を必要とすることなくプロセッサ割り込み管理
テーブルへのライトアクセスを可能としたプロセッサ間
通信システムを提供することである。
【0012】
【課題を解決するための手段】本発明によれば、複数の
プロセッサと、これ等各プロセッサからアクセス自在な
メインメモリと、前記メインメモリ内に前記各プロセッ
サ対応に設けられ、対応プロセッサに対する通信要求元
プロセッサを識別管理するための管理テーブルとを含
み、プロセッサ間通信要求に応答して前記通信要求元プ
ロセッサは通信相手先プロセッサに対応する管理テーブ
ルを参照してプロセッサ間通信を行うようにしたプロセ
ッサ間通信システムであって、前記管理テーブルの各々
は、対応プロセッサに対する通信要求元プロセッサから
の通信要求を夫々示すために前記対応プロセッサ以外の
全てのプロセッサに夫々対応するエントリを有してお
り、前記エントリの各々はメモリアクセス単位と等しい
データ容量を有していることを特徴とするプロセッサ間
通信システムが得られる。
プロセッサと、これ等各プロセッサからアクセス自在な
メインメモリと、前記メインメモリ内に前記各プロセッ
サ対応に設けられ、対応プロセッサに対する通信要求元
プロセッサを識別管理するための管理テーブルとを含
み、プロセッサ間通信要求に応答して前記通信要求元プ
ロセッサは通信相手先プロセッサに対応する管理テーブ
ルを参照してプロセッサ間通信を行うようにしたプロセ
ッサ間通信システムであって、前記管理テーブルの各々
は、対応プロセッサに対する通信要求元プロセッサから
の通信要求を夫々示すために前記対応プロセッサ以外の
全てのプロセッサに夫々対応するエントリを有してお
り、前記エントリの各々はメモリアクセス単位と等しい
データ容量を有していることを特徴とするプロセッサ間
通信システムが得られる。
【0013】
【発明の実施の形態】本発明の作用につき述べる。メイ
ンメモリ上のプロセッサ割り込み管理テーブルの通信要
求先CPUに対する通信要求元CPUに対応する各メモ
リエリア(メモリのエントリ部)を1ビットからメモリ
アクセス単位の容量に拡張するものである。これによ
り、複数CPUによる割り込み制御がバスのロック制御
による排他制御を必要とせずに、当該管理テーブルへの
ライトアクセスが可能となる。
ンメモリ上のプロセッサ割り込み管理テーブルの通信要
求先CPUに対する通信要求元CPUに対応する各メモ
リエリア(メモリのエントリ部)を1ビットからメモリ
アクセス単位の容量に拡張するものである。これによ
り、複数CPUによる割り込み制御がバスのロック制御
による排他制御を必要とせずに、当該管理テーブルへの
ライトアクセスが可能となる。
【0014】以下に図面を用いて本発明の実施例につい
て説明する。
て説明する。
【0015】図1は本発明の実施例のメモリテーブルの
例を示す図である。本実施例では、ソフトウェアでの1
回の転送命令でシステム内のCPUがメインメモリへア
クセスする最大単位を4バイトとし、CPUの数を図3
に示した如く、16個とする。
例を示す図である。本実施例では、ソフトウェアでの1
回の転送命令でシステム内のCPUがメインメモリへア
クセスする最大単位を4バイトとし、CPUの数を図3
に示した如く、16個とする。
【0016】CPU1〜16(図3参照)の各々に対応
してプロセッサ割り込み管理テーブル11〜16が、メ
インメモリ17上に予め割り当てられている。いま、管
理テーブル11について詳細に説明する。管理テーブル
11はCPU1用のものであり、このCPU1を通信相
手先とした場合に通信要求元CPUとなり得るCPUと
しては、自CPU1以外の全てのCPU2〜16が存在
する。そこで、これ等通信要求元となり得るCPU2〜
16に夫々対応して、“CPU2→CPU1”(要求元
CPU2から相手先CPU1への通信割り込み),“C
PU3→CPU1”,“CPU4→CPU1”,…,
“CPU16→CPU1”の各エントリ(エリア)が設
定されている。
してプロセッサ割り込み管理テーブル11〜16が、メ
インメモリ17上に予め割り当てられている。いま、管
理テーブル11について詳細に説明する。管理テーブル
11はCPU1用のものであり、このCPU1を通信相
手先とした場合に通信要求元CPUとなり得るCPUと
しては、自CPU1以外の全てのCPU2〜16が存在
する。そこで、これ等通信要求元となり得るCPU2〜
16に夫々対応して、“CPU2→CPU1”(要求元
CPU2から相手先CPU1への通信割り込み),“C
PU3→CPU1”,“CPU4→CPU1”,…,
“CPU16→CPU1”の各エントリ(エリア)が設
定されている。
【0017】そして、各エントリの容量はメモリアクセ
スの最大単位である4バイトとされている。
スの最大単位である4バイトとされている。
【0018】他のプロセッサ割り込み管理テーブル12
〜16についても同様である。従って、プロセッサ割り
込み管理テーブル全体としては、 16テーブル×15エントリ×4バイト=960バイト となり、これだけの容量の管理テーブルがメインメモリ
17上に予め割り当てられているものとする。
〜16についても同様である。従って、プロセッサ割り
込み管理テーブル全体としては、 16テーブル×15エントリ×4バイト=960バイト となり、これだけの容量の管理テーブルがメインメモリ
17上に予め割り当てられているものとする。
【0019】図2は本発明の実施例の動作を示すフロー
チャートである。CPU1がCPU2へ処理要求を行う
場合について説明する。先ず、CPU1がCPU2の割
り込み管理テーブル12の自CPUに対応するエントリ
を読出し(ステップS20)、“0”となっているか判
定する(ステップS21)。読出したエントリのデータ
が“0”でない場合は、以前の処理要求がCPU2で処
理されていないことを示し、CPU1は割り込み管理テ
ーブル12の読出しから再開する。
チャートである。CPU1がCPU2へ処理要求を行う
場合について説明する。先ず、CPU1がCPU2の割
り込み管理テーブル12の自CPUに対応するエントリ
を読出し(ステップS20)、“0”となっているか判
定する(ステップS21)。読出したエントリのデータ
が“0”でない場合は、以前の処理要求がCPU2で処
理されていないことを示し、CPU1は割り込み管理テ
ーブル12の読出しから再開する。
【0020】読出したデータが“0”の場合は、割り込
み管理テーブル12の自プロセッサに対応するエントリ
に“FFFFFFFF”を設定する(ステップS2
2)。
み管理テーブル12の自プロセッサに対応するエントリ
に“FFFFFFFF”を設定する(ステップS2
2)。
【0021】割り込み管理テーブルのライトアクセス時
は、CPUがメモリアクセスを行う4バイト単位に要求
元のプロセッサ毎のエントリを設定しているので、複数
CPUにて同一エントリがアクセスされることはないこ
とから、ここではバスロックによる排他制御を必要とし
なくなる。
は、CPUがメモリアクセスを行う4バイト単位に要求
元のプロセッサ毎のエントリを設定しているので、複数
CPUにて同一エントリがアクセスされることはないこ
とから、ここではバスロックによる排他制御を必要とし
なくなる。
【0022】CPU1はCPU2に対して、割り込みを
発行して処理要求があることを通知する(ステップS2
3)。割り込みを認識したCPU2はどのCPUからの
割り込み要求かを識別するために、プロセッサ割り込み
管理テーブル12をサーチする。このとき、割り込み管
理テーブル12のCPU1→CPU2のエントリに“F
FFFFFFF”が設定されていることから、CPU1
からの割り込みであると認識し、要求された処理を行
う。
発行して処理要求があることを通知する(ステップS2
3)。割り込みを認識したCPU2はどのCPUからの
割り込み要求かを識別するために、プロセッサ割り込み
管理テーブル12をサーチする。このとき、割り込み管
理テーブル12のCPU1→CPU2のエントリに“F
FFFFFFF”が設定されていることから、CPU1
からの割り込みであると認識し、要求された処理を行
う。
【0023】処理終了に応答して、CPU2は当該エン
トリの“FFFFFFFF”をリセットしてオール
“0”とする。
トリの“FFFFFFFF”をリセットしてオール
“0”とする。
【0024】
【発明の効果】以上説明したように本発明によれば、複
数のプロセッサで構成されるマルチプロセッサシステム
におけるプロセッサ間通信において、プロセッサ間通信
の際に設定する割り込み管理テーブルの要求元プロセッ
サを示すデータのデータ幅を1ビットからCPUのメモ
リアクセス長に拡張することにより、バスのロック制御
による排他制御がハードウェアにてできないシステムで
もメモリアクセス時の競合等によるデータ不正を解決す
ることができるという効果がある。
数のプロセッサで構成されるマルチプロセッサシステム
におけるプロセッサ間通信において、プロセッサ間通信
の際に設定する割り込み管理テーブルの要求元プロセッ
サを示すデータのデータ幅を1ビットからCPUのメモ
リアクセス長に拡張することにより、バスのロック制御
による排他制御がハードウェアにてできないシステムで
もメモリアクセス時の競合等によるデータ不正を解決す
ることができるという効果がある。
【0025】また、バスのロック制御を行わないので、
実行処理ステップ数も少なくなり、バスのロック制御に
よるオーバヘッドを排除し、処理性能を向上させること
ができるという効果もある。
実行処理ステップ数も少なくなり、バスのロック制御に
よるオーバヘッドを排除し、処理性能を向上させること
ができるという効果もある。
【図1】本発明の実施例を示す図である。
【図2】本発明の実施例の動作を示すフローチャートで
ある。
ある。
【図3】本発明が適用されるマルチプロセッサシステム
の概略図である。
の概略図である。
【図4】従来のプロセッサ間通信システムにおけるプロ
セッサ割り込み管理テーブルの例を示す図である。
セッサ割り込み管理テーブルの例を示す図である。
【図5】従来のプロセッサ間通信システムにおける処理
動作の例を示すフローチャートである。
動作の例を示すフローチャートである。
【図6】従来のプロセッサ間通信システムにおけるバス
ロック制御の動作を示すフローチャートである。
ロック制御の動作を示すフローチャートである。
1〜16 CPU(プロセッサ) 17 メインメモリ 18 システムバス 11〜16 プロセッサ割り込み管理テーブル
Claims (3)
- 【請求項1】 複数のプロセッサと、これ等各プロセッ
サからアクセス自在なメインメモリと、前記メインメモ
リ内に前記各プロセッサ対応に設けられ、対応プロセッ
サに対する通信要求元プロセッサを識別管理するための
管理テーブルとを含み、プロセッサ間通信要求に応答し
て前記通信要求元プロセッサは通信相手先プロセッサに
対応する管理テーブルを参照してプロセッサ間通信を行
うようにしたプロセッサ間通信システムであって、前記
管理テーブルの各々は、対応プロセッサに対する通信要
求元プロセッサからの通信要求を夫々示すために前記対
応プロセッサ以外の全てのプロセッサに夫々対応するエ
ントリを有しており、前記エントリの各々はメモリアク
セス単位と等しいデータ容量を有していることを特徴と
するプロセッサ間通信システム。 - 【請求項2】 前記通信要求元プロセッサは、通信要求
に応答して通信相手先プロセッサに対応する前記管理テ
ーブルのエントリのうち、前記通信要求元プロセッサに
対応するエントリに対してアクセスを行い、このエント
リに対して予め定められた数値を設定し、この設定後に
前記通信要求元プロセッサは前記通信相手先プロセッサ
に対して処理要求のための割り込みを行うようにしたこ
とを特徴とする請求項1記載のプロセッサ間通信システ
ム。 - 【請求項3】 前記通信要求先プロセッサは、前記処理
要求に対する処理が終了したときに前記管理テーブルの
前記エントリ内容をリセットすることを特徴とする請求
項2記載のプロセッサ間通信システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP281596A JPH09190415A (ja) | 1996-01-11 | 1996-01-11 | プロセッサ間通信システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP281596A JPH09190415A (ja) | 1996-01-11 | 1996-01-11 | プロセッサ間通信システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09190415A true JPH09190415A (ja) | 1997-07-22 |
Family
ID=11539909
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP281596A Pending JPH09190415A (ja) | 1996-01-11 | 1996-01-11 | プロセッサ間通信システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09190415A (ja) |
-
1996
- 1996-01-11 JP JP281596A patent/JPH09190415A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6029204A (en) | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries | |
| US5729714A (en) | Shared memory access method and apparatus with address translation | |
| JPH10240707A (ja) | 主記憶共有型マルチプロセッサ | |
| JP2539352B2 (ja) | 階層型多重計算機システム | |
| JP2001117859A (ja) | バス制御装置 | |
| KR100543731B1 (ko) | 다중 프로세서 시스템에서 마이크로프로세서 통신을 위한방법, 프로세싱 장치 및 데이터 프로세싱 시스템 | |
| JPH05274252A (ja) | コンピュータシステムにおけるトランザクション実行方法 | |
| JP2001333137A (ja) | 自主動作通信制御装置及び自主動作通信制御方法 | |
| JP3169624B2 (ja) | プロセッサ間通信方法およびそのための並列プロセッサ | |
| JPH09190415A (ja) | プロセッサ間通信システム | |
| JP3141948B2 (ja) | 計算機システム | |
| JPS63310060A (ja) | マルチプロセツサシステム | |
| JP3252464B2 (ja) | 仮想計算機システム | |
| JP3187446B2 (ja) | キャッシュメモリ制御装置 | |
| JPH05274273A (ja) | コンピュータ・システムに於ける素子のインターロック・スキーム | |
| JPS6113261B2 (ja) | ||
| JP2973227B2 (ja) | 排他制御命令実行方法 | |
| JP3189894B2 (ja) | 仮想計算機システム | |
| JP2785738B2 (ja) | 分散メモリ型マルチプロセッサ情報処理システム | |
| JP3457432B2 (ja) | プロセッサ間通信の方法およびそれに用いるプロセッサ | |
| JP3246736B2 (ja) | 計算機システム | |
| CA1300275C (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
| JP2798140B2 (ja) | 仮想空間制御方式 | |
| JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
| JPH01263858A (ja) | マルチプロセッサシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19991026 |