JPH103462A - Cpu間通信システム - Google Patents
Cpu間通信システムInfo
- Publication number
- JPH103462A JPH103462A JP15547596A JP15547596A JPH103462A JP H103462 A JPH103462 A JP H103462A JP 15547596 A JP15547596 A JP 15547596A JP 15547596 A JP15547596 A JP 15547596A JP H103462 A JPH103462 A JP H103462A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- address
- memory
- shared memory
- cpus
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 複数のCPUで共有メモリを参照する番地が
異なっても、共有メモリ内の番地を共有メモリ内に書き
込む方法を用いてCPU間の通信が可能なCPU間通信
システムの実現を課題とする。 【解決手段】 共通バス100と共通メモリ23を有
し、複数のCPU11および21間で情報を通信するC
PU間通信システムにおいて、一方のCPU11が共通
メモリ23を参照する場合の共通メモリの番地を、他方
のCPU21が共通メモリ23を参照する場合の共通メ
モリの番地に変換する番地変換手段を他方のCPU21
に設ける。
異なっても、共有メモリ内の番地を共有メモリ内に書き
込む方法を用いてCPU間の通信が可能なCPU間通信
システムの実現を課題とする。 【解決手段】 共通バス100と共通メモリ23を有
し、複数のCPU11および21間で情報を通信するC
PU間通信システムにおいて、一方のCPU11が共通
メモリ23を参照する場合の共通メモリの番地を、他方
のCPU21が共通メモリ23を参照する場合の共通メ
モリの番地に変換する番地変換手段を他方のCPU21
に設ける。
Description
【0001】
【発明の属する技術分野】本発明は、CPU相互間の通
信システムに関し、共通のメモリを使用して複数のCP
U相互間で通信を行うCPU間通信システムの改良に関
する。
信システムに関し、共通のメモリを使用して複数のCP
U相互間で通信を行うCPU間通信システムの改良に関
する。
【0002】
【従来の技術】複数のCPU間で共通のメモリをアクセ
スするCPU間通信方法は、受信側CPUが何時でも送
信側の情報を読み出すことができるので、相互間の通信
を容易にするばかりでなく、送信側と受信側で情報の不
一致がなく、かつメモリを有効に利用でき、さらに、一
度に転送できる情報量の制限も少ないので効果的な方法
である。
スするCPU間通信方法は、受信側CPUが何時でも送
信側の情報を読み出すことができるので、相互間の通信
を容易にするばかりでなく、送信側と受信側で情報の不
一致がなく、かつメモリを有効に利用でき、さらに、一
度に転送できる情報量の制限も少ないので効果的な方法
である。
【0003】図4は従来のCPU間通信システムの構成
を示すブロック図である。図4において、board1
はCPU基板10であって、CPU11とローカルメモ
リ12を含んで構成されている。
を示すブロック図である。図4において、board1
はCPU基板10であって、CPU11とローカルメモ
リ12を含んで構成されている。
【0004】このCPU11はローカルメモリ12に接
続されており、ローカルメモリ12に対して、プログラ
ムの読みだし、データの読みだしおよび書き込みを行う
ことができる。このCPU11はまた、共通バス100
にも接続されており、共通バス100を介して共通バス
100に接続されている他基板上のメモリ、例えばbo
ard3の共通メモリ31にアクセスしてその記憶内容
を読みだしたり、このメモリに対してデータを書き込ん
だりすることができる。
続されており、ローカルメモリ12に対して、プログラ
ムの読みだし、データの読みだしおよび書き込みを行う
ことができる。このCPU11はまた、共通バス100
にも接続されており、共通バス100を介して共通バス
100に接続されている他基板上のメモリ、例えばbo
ard3の共通メモリ31にアクセスしてその記憶内容
を読みだしたり、このメモリに対してデータを書き込ん
だりすることができる。
【0005】board2も同様なCPU基板20であ
って、CPU21とローカルメモリ22を含んで構成さ
れている。このCPU21もローカルメモリ22に接続
されており、ローカルメモリ22に対して、プログラム
の読みだし、データの読みだしおよび書き込みを行うこ
とができる。CPU21もまた、同様に共通バス100
に接続されており、共通バス100を介して共通バス1
00に接続されている他基板上のメモリ、例えばboa
rd3の共通メモリ31にアクセスしてその記憶内容を
読みだしたり、このメモリに対してデータを書き込んだ
りすることができる。
って、CPU21とローカルメモリ22を含んで構成さ
れている。このCPU21もローカルメモリ22に接続
されており、ローカルメモリ22に対して、プログラム
の読みだし、データの読みだしおよび書き込みを行うこ
とができる。CPU21もまた、同様に共通バス100
に接続されており、共通バス100を介して共通バス1
00に接続されている他基板上のメモリ、例えばboa
rd3の共通メモリ31にアクセスしてその記憶内容を
読みだしたり、このメモリに対してデータを書き込んだ
りすることができる。
【0006】board3はメモリ基板30であって、
共有メモリ31を有している。この共有メモリ31は共
通バス100に接続されていて、共通バス100に接続
されている他の基板上のCPU、例えばCPU11とC
PU21から読みだし、書き込みができるようになって
いる。
共有メモリ31を有している。この共有メモリ31は共
通バス100に接続されていて、共通バス100に接続
されている他の基板上のCPU、例えばCPU11とC
PU21から読みだし、書き込みができるようになって
いる。
【0007】このような構成では、CPU11とCPU
21とは共有メモリ31に通信したいデータを書き込
み、読み出すことによって相互間の通信を自由に行うこ
とができる。しかし、このような構成を採用すると少な
くとも3枚のボードが必要になってくる。
21とは共有メモリ31に通信したいデータを書き込
み、読み出すことによって相互間の通信を自由に行うこ
とができる。しかし、このような構成を採用すると少な
くとも3枚のボードが必要になってくる。
【0008】この基板の枚数を少なくするように考慮す
ると、例えば図1のような構成が考えられる。図1にお
いて、board1はCPU基板10であって、CPU
11とローカルメモリ12を有して構成されている。一
方、board2はCPU基板20であって、CPU2
1とローカルメモリ22と共有メモリ23を有する構成
になっている。
ると、例えば図1のような構成が考えられる。図1にお
いて、board1はCPU基板10であって、CPU
11とローカルメモリ12を有して構成されている。一
方、board2はCPU基板20であって、CPU2
1とローカルメモリ22と共有メモリ23を有する構成
になっている。
【0009】このような共有メモリ方式では普通読み出
しは自由に可能であるが書き込みはいくつかのプロセス
が同時に入り乱れて行うと内容が目茶目茶になる虞があ
るので通常は1つのプロセスだけしか書き込めないよう
な機構が必要になる。これにはセマフォ等の処理手法を
用いて割込みにより、他のCPUの書き込みを禁止して
処理する。
しは自由に可能であるが書き込みはいくつかのプロセス
が同時に入り乱れて行うと内容が目茶目茶になる虞があ
るので通常は1つのプロセスだけしか書き込めないよう
な機構が必要になる。これにはセマフォ等の処理手法を
用いて割込みにより、他のCPUの書き込みを禁止して
処理する。
【0010】board1(10)のCPU11は共通
バス100を介して、board2(20)上の共有メ
モリ23を参照することができる。また、割込み線31
によって他の基板のCPU、例えば、board2(2
0)のCPU21に割り込みをかけることができる。
バス100を介して、board2(20)上の共有メ
モリ23を参照することができる。また、割込み線31
によって他の基板のCPU、例えば、board2(2
0)のCPU21に割り込みをかけることができる。
【0011】board2(20)のCPU21はロー
カルバス25を介して、自board2(20)上の共
有メモリ23を参照することができる。また、割込み線
31によって他の基板のCPU、例えば、board1
(10)のCPU11に割り込みをかけることができ
る。スイッチ24は、共有メモリ23に接続され、その
設定によって共通バス100から参照される場合の共有
メモリ23の番地を決定する。
カルバス25を介して、自board2(20)上の共
有メモリ23を参照することができる。また、割込み線
31によって他の基板のCPU、例えば、board1
(10)のCPU11に割り込みをかけることができ
る。スイッチ24は、共有メモリ23に接続され、その
設定によって共通バス100から参照される場合の共有
メモリ23の番地を決定する。
【0012】図1に挙げたようなCPU基板は共有メモ
リを用いるCPU基板としては一般的な構成である。図
1に示したような構成を持つ機構の場合、一般に共有メ
モリ23をCPU11から参照する場合の番地とCPU
21から参照する場合の番地とでは異なっている場合が
多い。このような場合には、共有メモリ23を使ってC
PU11とCPU21が通信を行う場合に、共有メモリ
23内の番地を用いて通信することは不可能であった。
リを用いるCPU基板としては一般的な構成である。図
1に示したような構成を持つ機構の場合、一般に共有メ
モリ23をCPU11から参照する場合の番地とCPU
21から参照する場合の番地とでは異なっている場合が
多い。このような場合には、共有メモリ23を使ってC
PU11とCPU21が通信を行う場合に、共有メモリ
23内の番地を用いて通信することは不可能であった。
【0013】また図4のような構成の共有メモリシステ
ムにおいても、共有メモリ31をCPU11から参照す
る場合の番地とCPU21から参照する場合の番地とが
ことなれば同様な問題が発生する。
ムにおいても、共有メモリ31をCPU11から参照す
る場合の番地とCPU21から参照する場合の番地とが
ことなれば同様な問題が発生する。
【0014】このように、共有メモリを参照する番地
が、それぞれのCPUによって異なっていると、共有メ
モリ自身にそのメモリ内の番地を記述して通信を行なう
ことができなくなるという不都合が生まれる。
が、それぞれのCPUによって異なっていると、共有メ
モリ自身にそのメモリ内の番地を記述して通信を行なう
ことができなくなるという不都合が生まれる。
【0015】
【発明が解決しようとする課題】上述のごとく、従来の
共有メモリを用いて複数のCPU間で通信を行う場合、
一方のCPUと他方のCPUとで共有メモリを参照する
番地が異なった場合には通信が不可能になることが多か
った。
共有メモリを用いて複数のCPU間で通信を行う場合、
一方のCPUと他方のCPUとで共有メモリを参照する
番地が異なった場合には通信が不可能になることが多か
った。
【0016】本発明は、このような問題を解決して、各
CPUで共有メモリを参照する番地が異なっても、共有
メモリ内の番地を共有メモリ内に書き込む方法を用いて
CPU間の通信がメモリの無駄なく容易に行なえるCP
U間通信システムの実現を目的とする。
CPUで共有メモリを参照する番地が異なっても、共有
メモリ内の番地を共有メモリ内に書き込む方法を用いて
CPU間の通信がメモリの無駄なく容易に行なえるCP
U間通信システムの実現を目的とする。
【0017】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、共通バスと共通メモリを有し、複数のC
PU間で情報を通信するCPU間通信システムにおい
て、一方のCPUが前記共通メモリを参照する場合の前
記共通メモリの番地を、他方のCPUが前記共通メモリ
を参照する場合の前記共通メモリの番地に変換する番地
変換手段を前記他方のCPUに設けたことを特徴とす
る。
め、本発明は、共通バスと共通メモリを有し、複数のC
PU間で情報を通信するCPU間通信システムにおい
て、一方のCPUが前記共通メモリを参照する場合の前
記共通メモリの番地を、他方のCPUが前記共通メモリ
を参照する場合の前記共通メモリの番地に変換する番地
変換手段を前記他方のCPUに設けたことを特徴とす
る。
【0018】
【発明の実施の形態】以下、本発明にかかるCPU間通
信システムを添付図面を参照にして詳細に説明する。本
発明は、基本的にはパイプを用いたCPU間通信システ
ムを基本としている。パイプは、プロセス間通信の1つ
で、前のコマンドからの出力をそのまま次のコマンドの
入力として引き渡すことができる、先入れ先出し形式の
ファイルを使用してメッセージを交換することのできる
方式である。
信システムを添付図面を参照にして詳細に説明する。本
発明は、基本的にはパイプを用いたCPU間通信システ
ムを基本としている。パイプは、プロセス間通信の1つ
で、前のコマンドからの出力をそのまま次のコマンドの
入力として引き渡すことができる、先入れ先出し形式の
ファイルを使用してメッセージを交換することのできる
方式である。
【0019】本発明は、例えば図1に示したような装置
構成で行なわれる。図1において、board1はCP
U11とローカルメモリ12を有するCPU基板10で
ある。また、board2はCPU21とローカルメモ
リ22と共有メモリ23を有するCPU基板20であ
る。
構成で行なわれる。図1において、board1はCP
U11とローカルメモリ12を有するCPU基板10で
ある。また、board2はCPU21とローカルメモ
リ22と共有メモリ23を有するCPU基板20であ
る。
【0020】board1(10)のCPU11は共通
バス100を介して、board2(20)上の共有メ
モリ23を参照することができる。また、割込み線35
によって他の基板のCPU、例えばboard2(2
0)のCPU21に割り込みをかけることができる。
バス100を介して、board2(20)上の共有メ
モリ23を参照することができる。また、割込み線35
によって他の基板のCPU、例えばboard2(2
0)のCPU21に割り込みをかけることができる。
【0021】board2(20)のCPU21はロー
カルバス25を介して、自board2(20)上の共
有メモリ23を参照することができる。また、割込み線
35によって他の基板のCPU、例えばboard1
(10)のCPU11に割り込みをかけることができ
る。スイッチ24は、共有メモリ23に接続され、その
設定によって共通バス100から参照される場合の共有
メモリ23の番地を決定する。
カルバス25を介して、自board2(20)上の共
有メモリ23を参照することができる。また、割込み線
35によって他の基板のCPU、例えばboard1
(10)のCPU11に割り込みをかけることができ
る。スイッチ24は、共有メモリ23に接続され、その
設定によって共通バス100から参照される場合の共有
メモリ23の番地を決定する。
【0022】本実施形態では、図1の構成による共有メ
モリ23を用いた通信として、図2に示したような形式
のパイプを考える。図2において、40はCPU1側の
ポインタテーブルであり、メモリプール1(60)の先
頭データの番地を書くエリア41、メモリプール2(7
0)の最終データの番地を書くエリア42、メッセージ
キュー2(80)の先頭データの番地を書くエリア4
3、メッセージキュー1(90)の最終データの番地を
書くエリア44を有している。
モリ23を用いた通信として、図2に示したような形式
のパイプを考える。図2において、40はCPU1側の
ポインタテーブルであり、メモリプール1(60)の先
頭データの番地を書くエリア41、メモリプール2(7
0)の最終データの番地を書くエリア42、メッセージ
キュー2(80)の先頭データの番地を書くエリア4
3、メッセージキュー1(90)の最終データの番地を
書くエリア44を有している。
【0023】一方、50はCPU2側のポインタテーブ
ルであり、テーブル自身の先頭データの番地を書くエリ
ア51、メモリプール2(70)の先頭データの番地を
書くエリア52、メモリプール1(60)の最終データ
の番地を書くエリア53、メッセージキュー1(90)
の先頭データの番地を書くエリア54、メッセージキュ
ー2(80)の最終データの番地を書くエリア55を有
している。
ルであり、テーブル自身の先頭データの番地を書くエリ
ア51、メモリプール2(70)の先頭データの番地を
書くエリア52、メモリプール1(60)の最終データ
の番地を書くエリア53、メッセージキュー1(90)
の先頭データの番地を書くエリア54、メッセージキュ
ー2(80)の最終データの番地を書くエリア55を有
している。
【0024】60はメモリプール1であって、CPU1
からCPU2への書き込み時に使用される未使用(ある
いは使用済み)のメモリブロックが順に入力され、必要
に応じて取り出される。終端のデータにはフラグがセッ
トされていてこれで最終データであることが区別され
る。
からCPU2への書き込み時に使用される未使用(ある
いは使用済み)のメモリブロックが順に入力され、必要
に応じて取り出される。終端のデータにはフラグがセッ
トされていてこれで最終データであることが区別され
る。
【0025】70はメモリプール2であって、CPU2
からCPU1への書き込み時に使用される未使用(ある
いは使用済み)のメモリブロックが順に入力され、必要
に応じて取り出される。終端のデータはフラグがセット
されていてこれで最終データであることが区別される。
からCPU1への書き込み時に使用される未使用(ある
いは使用済み)のメモリブロックが順に入力され、必要
に応じて取り出される。終端のデータはフラグがセット
されていてこれで最終データであることが区別される。
【0026】80はメッセージキュー2であって、CP
U2からCPU1への書き込み時に使用され、メモリブ
ロックが順に接続される。終端のデータはフラグがセッ
トされていることで区別される。90はメッセージキュ
ー1であって、CPU1からCPU2への書き込み時に
使用され、メモリブロックが順に接続される。終端のデ
ータはフラグがセットされていることで区別される。
U2からCPU1への書き込み時に使用され、メモリブ
ロックが順に接続される。終端のデータはフラグがセッ
トされていることで区別される。90はメッセージキュ
ー1であって、CPU1からCPU2への書き込み時に
使用され、メモリブロックが順に接続される。終端のデ
ータはフラグがセットされていることで区別される。
【0027】初期化時に、CPU1(11)は図2に示
す構成を共有メモリ23上に作成し、CPU2(21)
に対してその旨を通知する。この時共有メモリ23上の
ポインタテーブルの先頭番地は事前にきめられた番地に
する。CPU2(21)は事前に決められていた番地か
らポインタテーブルの先頭番地を読み出し、事前に決め
られていた番地との差からオフセット値を決定する。こ
のオフセット値はローカルメモリ22内に記憶される。
す構成を共有メモリ23上に作成し、CPU2(21)
に対してその旨を通知する。この時共有メモリ23上の
ポインタテーブルの先頭番地は事前にきめられた番地に
する。CPU2(21)は事前に決められていた番地か
らポインタテーブルの先頭番地を読み出し、事前に決め
られていた番地との差からオフセット値を決定する。こ
のオフセット値はローカルメモリ22内に記憶される。
【0028】次にこのオフセット値を用いて、ポインタ
テーブル50内の各番地の補正を行い、ポインタテーブ
ル50の各値を書き替える。ここでは、CPU1(1
1)から参照される番地をCPU2(21)から参照さ
れる番地に変更を行うように記述したが、その逆に、C
PU2(21)から参照される番地をCPU1(11)
から参照される番地に変更を行ってもいい。この場合、
前者の補正変換を正変換、後者のそれを逆変換と呼ぶこ
とにする。実際には前記のオフセット値をプラスして求
めるか、マイナスして求めるかの違いである。
テーブル50内の各番地の補正を行い、ポインタテーブ
ル50の各値を書き替える。ここでは、CPU1(1
1)から参照される番地をCPU2(21)から参照さ
れる番地に変更を行うように記述したが、その逆に、C
PU2(21)から参照される番地をCPU1(11)
から参照される番地に変更を行ってもいい。この場合、
前者の補正変換を正変換、後者のそれを逆変換と呼ぶこ
とにする。実際には前記のオフセット値をプラスして求
めるか、マイナスして求めるかの違いである。
【0029】次にCPU1(11)からCPU2(2
1)にデータを転送する場合の処理手順を、図3のフロ
ーチャートに沿って説明する。CPU1(11)は特定
のフラグをたてるとか、ステータス情報を変更するなど
の方法でCPU2(21)に通知してデータ送信プログ
ラムを開始すると(ステップ100)、まず、CPU1
(11)はメッセージキュー1(90)の最終データブ
ロックにローカルメモリ12上にある送信データを書き
込む(ステップ101)。
1)にデータを転送する場合の処理手順を、図3のフロ
ーチャートに沿って説明する。CPU1(11)は特定
のフラグをたてるとか、ステータス情報を変更するなど
の方法でCPU2(21)に通知してデータ送信プログ
ラムを開始すると(ステップ100)、まず、CPU1
(11)はメッセージキュー1(90)の最終データブ
ロックにローカルメモリ12上にある送信データを書き
込む(ステップ101)。
【0030】次に、メモリプール60からメモリブロッ
クを取り出す。すなわち、メモリプール60の最初のデ
ータブロックに書かれた次のデータブロックの番地をポ
インタテーブル41に書き込む(ステップ102)。取
り出したデータブロックに、最終データのフラグと44
に書かれている番地を書き込み、代わりにデータブロッ
クの先頭アドレスをこの44に書き込む。さらに、前の
データブロックの最終データのフラグを消す(ステップ
103)。
クを取り出す。すなわち、メモリプール60の最初のデ
ータブロックに書かれた次のデータブロックの番地をポ
インタテーブル41に書き込む(ステップ102)。取
り出したデータブロックに、最終データのフラグと44
に書かれている番地を書き込み、代わりにデータブロッ
クの先頭アドレスをこの44に書き込む。さらに、前の
データブロックの最終データのフラグを消す(ステップ
103)。
【0031】以上の一連の作業が終了すると、CPU1
(11)はCPU2(21)に割り込みを掛け、作業を
CPU2(21)側に移して送信動作をひとまず終了す
る(ステップ104)。CPU2(21)はこの割り込
みに応じて動作を開始し(ステップ200)、メッセー
ジキュー1(90)の先頭データブロックのアドレスデ
ータに補正を行なう(ステップ201)。
(11)はCPU2(21)に割り込みを掛け、作業を
CPU2(21)側に移して送信動作をひとまず終了す
る(ステップ104)。CPU2(21)はこの割り込
みに応じて動作を開始し(ステップ200)、メッセー
ジキュー1(90)の先頭データブロックのアドレスデ
ータに補正を行なう(ステップ201)。
【0032】すなわち、この先頭データブロックにはC
PU1(11)によって最終データのフラグのついたデ
ータブロックの先頭の番地が書かれているが、この番地
はCPU1(11)から参照した場合のアドレスであ
る。そこで、まずこの値を初期化時に記憶した値を用い
て正変換を行い、この番地を書き替える。
PU1(11)によって最終データのフラグのついたデ
ータブロックの先頭の番地が書かれているが、この番地
はCPU1(11)から参照した場合のアドレスであ
る。そこで、まずこの値を初期化時に記憶した値を用い
て正変換を行い、この番地を書き替える。
【0033】次にメッセージキュー1(90)からデー
タの読み出しを行なう。すなわち、メッセージキュー1
(90)の先頭データブロックに書かれた次のデータブ
ロックの番地を取り出し、54に書き込む(ステップ2
02)。次に取り出した番地のデータブロックの中のデ
ータをローカルメモリ22に書き込む(ステップ20
3)。
タの読み出しを行なう。すなわち、メッセージキュー1
(90)の先頭データブロックに書かれた次のデータブ
ロックの番地を取り出し、54に書き込む(ステップ2
02)。次に取り出した番地のデータブロックの中のデ
ータをローカルメモリ22に書き込む(ステップ20
3)。
【0034】次に読み込みを終了したデータブロックを
メモリプール1(60)に返却する(ステップ20
4)。すなわち、データブロックに最終データのフラグ
を書き込み、53に記憶されている現在の最終データブ
ロックの先頭番地を一時的に記憶した後、返却するデー
タのブロックの先頭番地を53に書き込む。
メモリプール1(60)に返却する(ステップ20
4)。すなわち、データブロックに最終データのフラグ
を書き込み、53に記憶されている現在の最終データブ
ロックの先頭番地を一時的に記憶した後、返却するデー
タのブロックの先頭番地を53に書き込む。
【0035】最後に、一時記憶したデータブロックの先
頭番地をもとに、このデータブロックに返却するデータ
ブロックの先頭番地を書き込む。この時、この番地はC
PU2(21)から参照した場合の番地であるため、逆
変換を行ってアドレスデータの書き替えを行なう(ステ
ップ205)。最後にこのデータブロックの最終データ
を示すフラグを消す。
頭番地をもとに、このデータブロックに返却するデータ
ブロックの先頭番地を書き込む。この時、この番地はC
PU2(21)から参照した場合の番地であるため、逆
変換を行ってアドレスデータの書き替えを行なう(ステ
ップ205)。最後にこのデータブロックの最終データ
を示すフラグを消す。
【0036】上述のようにすることにより、本発明によ
って、複数のCPU間で各々が共有メモリを参照する番
地が異なっているようなシステム構成での複数のCPU
間の通信においても、共有メモリ内の番地をその共有メ
モリ内に書き込むような通信方式を実現することができ
る。この場合、共有メモリには複数のCPUからアクセ
スできるという以外に何等の制限もないので、共有メモ
リを内蔵した市販のCPU基板を用いて、共有メモリ内
の番地をその共有メモリ内に書き込むような通信方式が
実現でき、構成を廉価に実現できる。
って、複数のCPU間で各々が共有メモリを参照する番
地が異なっているようなシステム構成での複数のCPU
間の通信においても、共有メモリ内の番地をその共有メ
モリ内に書き込むような通信方式を実現することができ
る。この場合、共有メモリには複数のCPUからアクセ
スできるという以外に何等の制限もないので、共有メモ
リを内蔵した市販のCPU基板を用いて、共有メモリ内
の番地をその共有メモリ内に書き込むような通信方式が
実現でき、構成を廉価に実現できる。
【0037】また、本発明では、一方のCPU側でのみ
番地の変換を行っているだけであるので、他方のCPU
は参照する番地の差異を一切意識する必要がなく、それ
だけ構成が簡単になり、オーバーヘッドを回避すること
ができる。
番地の変換を行っているだけであるので、他方のCPU
は参照する番地の差異を一切意識する必要がなく、それ
だけ構成が簡単になり、オーバーヘッドを回避すること
ができる。
【0038】以上の説明では特に限定しなかったが、上
述のCPU1(11)およびCPU2(21)は、例え
ばメインCPUと外部装置を制御するインタフェースC
PUのようなマスターCPUとサブCPUの関係であっ
ても良いし、あるいはマルチプロセッサシステムにおけ
るような対等な関係のCPU同志であっても良く、あら
ゆる電子機器における複数のCPU間での通信に適用で
きることはいうまでもない。
述のCPU1(11)およびCPU2(21)は、例え
ばメインCPUと外部装置を制御するインタフェースC
PUのようなマスターCPUとサブCPUの関係であっ
ても良いし、あるいはマルチプロセッサシステムにおけ
るような対等な関係のCPU同志であっても良く、あら
ゆる電子機器における複数のCPU間での通信に適用で
きることはいうまでもない。
【0039】また、本発明の共有メモリ23にはデュア
ルポートRAMを用いると各CPUからのアクセスが一
層容易になる。
ルポートRAMを用いると各CPUからのアクセスが一
層容易になる。
【0040】
【発明の効果】以上説明したように本発明の請求項1の
発明は、共通バスと共通メモリを有し、複数のCPU間
で情報を通信するCPU間通信システムにおいて、一方
のCPUが前記共通メモリを参照する場合の前記共通メ
モリの番地を、他方のCPUが前記共通メモリを参照す
る場合の前記共通メモリの番地に変換する番地変換手段
を前記他方のCPUに設けたことを特徴とする。これに
より、各CPUで共有メモリを参照する番地が異なって
も、共有メモリ内の番地を共有メモリ内に書き込む方法
を用いてCPU間の通信がメモリの無駄なく実現でき
る。この場合、共有メモリには複数のCPUからアクセ
スできるという以外に何等の制限もないので、共有メモ
リを内蔵した市販のCPU基板を用いて、廉価にこのよ
うな通信システムを実現することができる。また、一方
のCPU側でのみ番地の変換を行っているので、他方の
CPUは参照する番地の差異を一切意識する必要がなく
なり、その分処理を容易にし演算速度を向上し、オーバ
ーヘッドを回避することができる。
発明は、共通バスと共通メモリを有し、複数のCPU間
で情報を通信するCPU間通信システムにおいて、一方
のCPUが前記共通メモリを参照する場合の前記共通メ
モリの番地を、他方のCPUが前記共通メモリを参照す
る場合の前記共通メモリの番地に変換する番地変換手段
を前記他方のCPUに設けたことを特徴とする。これに
より、各CPUで共有メモリを参照する番地が異なって
も、共有メモリ内の番地を共有メモリ内に書き込む方法
を用いてCPU間の通信がメモリの無駄なく実現でき
る。この場合、共有メモリには複数のCPUからアクセ
スできるという以外に何等の制限もないので、共有メモ
リを内蔵した市販のCPU基板を用いて、廉価にこのよ
うな通信システムを実現することができる。また、一方
のCPU側でのみ番地の変換を行っているので、他方の
CPUは参照する番地の差異を一切意識する必要がなく
なり、その分処理を容易にし演算速度を向上し、オーバ
ーヘッドを回避することができる。
【0041】また、本発明の請求項2の発明は、前記複
数のCPU間で前記共通メモリを参照する場合の前記共
通メモリの番地情報は前記共通メモリ内に設けられたパ
イプを用いて通信されることを特徴とする。これによっ
て、前のコマンドの出力結果を次のコマンドの入力とし
てそのまま利用することができるので、処理を容易に
し、演算速度を向上し、オーバーヘッドを回避すること
ができる。
数のCPU間で前記共通メモリを参照する場合の前記共
通メモリの番地情報は前記共通メモリ内に設けられたパ
イプを用いて通信されることを特徴とする。これによっ
て、前のコマンドの出力結果を次のコマンドの入力とし
てそのまま利用することができるので、処理を容易に
し、演算速度を向上し、オーバーヘッドを回避すること
ができる。
【図1】本発明が用いられるマルチCPUシステムの一
形態のブロック図。
形態のブロック図。
【図2】本発明で共有メモリ内に構成されるパイプのブ
ロック図。
ロック図。
【図3】本発明におけるCPU間通信の動作フローチャ
ート。
ート。
【図4】従来のマルチCPUシステムの一形態のブロッ
ク図。
ク図。
10、20……CPU基板、11、21……CPU、1
2、22……ローカルメモリ、23、31……共有メモ
リ、25……ローカルバス、30……メモリ基板、35
……割込線、40、50……ポインタテーブル、41〜
44、51〜54……ポインタテーブルのエリア、6
0、70……メモリプール、80、90……メッセージ
キュー、100……共通バス。
2、22……ローカルメモリ、23、31……共有メモ
リ、25……ローカルバス、30……メモリ基板、35
……割込線、40、50……ポインタテーブル、41〜
44、51〜54……ポインタテーブルのエリア、6
0、70……メモリプール、80、90……メッセージ
キュー、100……共通バス。
Claims (2)
- 【請求項1】 共通バスと共通メモリを有し、複数のC
PU間で情報を通信するCPU間通信システムにおい
て、 一方のCPUが前記共通メモリを参照する場合の前記共
通メモリの番地を、他方のCPUが前記共通メモリを参
照する場合の前記共通メモリの番地に変換する番地変換
手段を前記他方のCPUに設けたことを特徴とするCP
U間通信システム。 - 【請求項2】 前記複数のCPU間で前記共通メモリを
参照する場合の前記共通メモリの番地情報の通信は、前
記共通メモリ内に設けられたパイプを用いて行なわれる
ことを特徴とする請求項1記載のCPU間通信システ
ム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15547596A JPH103462A (ja) | 1996-06-17 | 1996-06-17 | Cpu間通信システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15547596A JPH103462A (ja) | 1996-06-17 | 1996-06-17 | Cpu間通信システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH103462A true JPH103462A (ja) | 1998-01-06 |
Family
ID=15606869
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15547596A Pending JPH103462A (ja) | 1996-06-17 | 1996-06-17 | Cpu間通信システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH103462A (ja) |
-
1996
- 1996-06-17 JP JP15547596A patent/JPH103462A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2004171209A (ja) | 共有メモリデータ転送装置 | |
| JP2003076654A (ja) | Dspメモリ間データ転送方式 | |
| US6477607B1 (en) | Duplexing structure of switching system processor and method thereof | |
| JPH10143466A (ja) | バス通信システム | |
| US7203781B2 (en) | Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus | |
| JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
| US20080147906A1 (en) | DMA Transferring System, DMA Controller, and DMA Transferring Method | |
| JPH103462A (ja) | Cpu間通信システム | |
| JP3399776B2 (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
| JPH0962633A (ja) | ネットワーク制御装置 | |
| JP2000155738A (ja) | データ処理装置 | |
| KR900005555B1 (ko) | 인터럽트를 이용한 프로세서간의 정보 교환회로 | |
| JPS6347867A (ja) | デユアルcpu間通信方式 | |
| JPH05250332A (ja) | 電子機器 | |
| JPH05233440A (ja) | バッファ機能を備えたデータ転送方式 | |
| JPH05314061A (ja) | バス・インタフェース制御方式 | |
| JPS63128837A (ja) | 回線制御装置 | |
| JPH0152774B2 (ja) | ||
| JPH0535693A (ja) | データ転送装置 | |
| JPH02211571A (ja) | 情報処理装置 | |
| JP2008305232A (ja) | Pcカード装置 | |
| JPH06266630A (ja) | トレース機能付き入出力制御装置 | |
| JPH0512219A (ja) | プロセス転送方式 | |
| JPH04137061A (ja) | データ伝送制御回路 | |
| JPS61296459A (ja) | デ−タ処理装置 |