JPH0423159A - 共有メモリ装置 - Google Patents

共有メモリ装置

Info

Publication number
JPH0423159A
JPH0423159A JP2128724A JP12872490A JPH0423159A JP H0423159 A JPH0423159 A JP H0423159A JP 2128724 A JP2128724 A JP 2128724A JP 12872490 A JP12872490 A JP 12872490A JP H0423159 A JPH0423159 A JP H0423159A
Authority
JP
Japan
Prior art keywords
bus
shared memory
cpu
cpus
signal
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
JP2128724A
Other languages
English (en)
Inventor
Kenji Kotaki
小滝 賢二
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2128724A priority Critical patent/JPH0423159A/ja
Publication of JPH0423159A publication Critical patent/JPH0423159A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、複数のマイクロプロセッサ同士が非同期に
アクセスできる共有メモリ装置、特にそのアクセス時間
の短縮に関する。
[従来の技術] 第3図は、従来の共有メモリ装置のブロック図である。
同図において、マイクロプロセッサ〔以下CPUと称す
)A (1) 、CPUB (2) 、共有メモリ(4
)、メモリセル(5)及びアクセスコントローラ(6)
が示されている。
アクセスコントローラ(6)には、CPUAの出力する
CPUAメモリリード信号(7)、CPUAメモリライ
ト信号(8) 、CPUAアドレス線(9)、及びCP
UBの出力するCPUBメモリリード信号(10) 、
CPUBメモリライト信号(11) 、CPUBアドレ
ス線(12)が人力され、このアクセスコントローラ(
6)は、それぞれのCPUの読出し、書込み動作が完了
したか否かを制御するための信号として、CPUAアク
ルッジ信号(13)とCPUBアクルッジ信号(14)
を出力する。また、アクセスコントローラ(6)は、C
PUA (1)のアドレス線(9)とデータ線(15)
をそれぞれメモリセルアドレス線(16)とメモリデー
タ線(17)に接続したり分離したりするためのCPU
A(1)側バスバッファ(18)と、CPUB (2)
のアドレス1i!(12)とデータ線(19)をそれぞ
れメモリセルアドレス線(16)とメモリセルデータ線
(17)に接続するためのCPUB (2)側バスバッ
ファ(20)を制御するための信号としてCPUA (
1)側バスバッファ制御信号(21)とCPUB (2
)側バスバッファ制御信号(22)を出力する。
アクセスコントローラ(6)は更に、メモリセル(5)
群の中でアドレス信号に応じて唯一のメモリセルを選択
するためのメモリセル選択信号(23) 、メモリセル
の内容を読み出すときに出力するメモリセルリード信号
(24) 、メモリセルの内容を書き替えるときに出力
するメモリセルライト信号(25)をそれぞれCPUの
動作状態に応じて出力する。
アクセスコントローラ(6)は、2つのCPUA(1)
とCPUB (2)が非同期に共有メモリ(4)をアク
セスできるように考慮されたものであり、同時に2つの
CPUA (1) 、CPUB(2)が共有メモリ(4
)の同一メモリセルをアクセスした場合にどちらか一方
のCPUの動作を優先させて行い、優先されなかったも
う一方のCPUのアクセス動作を優先されたCPUの動
作が完了するまで継続するようにアクルッジ信号を制御
して、優先されなかったCPUの動作サイクルにウェイ
トステートを発生させる。
CPUA (1)が共有メモリ(4)にデータを書き込
むサイクルの動作中にCPUB (2)がCPUA (
1)と全く同一のメモリセル(5)にデータを書き込む
場合を考える。
まず、CPUA (1)は、CPUA (1)のアドレ
ス線(9)に共有メモリ(4)のうち唯一のメモリセル
(5)を指定するだめのアドレス(5号を出力し、更に
CPUAメモリライト信号(8)を有効にして、メモリ
セル(5)に書き込むデータをCPUA (1) 、デ
ータ線(15)に出力する。アクセスコントローラ(6
)は、CPUB(2)側アドレス線(12) 、CPU
Bメモリリード信号(10) 、CPUBメモリライト
信号(11)等を検査してCPUB (2)側のアクセ
スが無いことを確認後に、CPUA (1) 側バスバ
ッファ制御信号(21)を有効にして、CPUA側のア
ドレス線(9)とデータ線(15)をそれぞれメモリセ
ルアドレス線(16)とメモリデータ線(17)に接続
する。
CPUAメモリライト信号(8)をメモリセルライト信
号(25)としてメモリセルに与えて、CPUA (1
)からのデータをメモリセル(5)に書き込む。
また、アクセスコントローラ(6)は、CPUA(1)
の書込み動作が確実に行われるように、CPUA (1
)の書込み動作が開始されてからメモリセル(5)のア
クセスタイムに応じて定まる一定の時間後にCPUA 
(1)に対してCPUA(1)のアクルッジ信号(13
)を有効として、CPUA (1)の書込みサイクルが
完了する。
一方、CPUB (2)に対しては、アクセスコントロ
ーラ(6)は、CPUA (1)の共有メモリ書込みサ
イクルが終了するまで、CPUBアドレス線(12) 
、CPUBデータ線(19)がメモリセルアドレス線(
16)、メモリセルデータ線(17)に接続されないよ
うに、CPUB (2)側バスバッファ(20)をCP
UB (2)側バスバッファ制御信号(22)で制御す
る。そして、CPUA (1)側の書込み動作が完了し
た後に、CPUB (2)側バスバッファ制御信号を制
御して、CPUB (2)側のアドレス線(9)及びC
PUBデータ線(19)を、メモリセルアドレス線(1
6)及びメモリセルデータ線(17)に接続してCPU
B (2)側の書込みを開始する。
CPUB (2)側の共有メモリ書込みサイクルが開始
されてから、CPUB (2)側の書込み動作が完了す
るまでは、CPUB (2)側の書込みサイクルが終了
するまでに要する時間とメモリセルのアクセスタイムに
応じて定まる時間の和だけ時間がたった後に、CPUB
 (2)に対してCPUBアクルッジ信号(14)を有
効にして、CPUB (2)側の書込みサイクルを完了
する。
以上のようにして、2つのCPU間で共有メモリを有す
ることにより、非同期なデータ転送が行われる。この例
においては、CPUA (1)側もCPUB (2)側
も書込み動作であり、かつCPUA (1)側が優先さ
れた例であるが、CPUA(1)側が書込み又は読出し
であっても、CPUB(2)側が書込み又は読出しであ
っても同様にして後着側のCPUの動作がアクセスコン
トローラによって継続され、光芒側のCPUの動作が完
了した後に後む側の動作が行われることに変りはない。
3台以上のCPU間の非同期なデータ転送の実施例が第
4図及び第5図に示されている。第4図において、CP
UA (1)のローカルバス(26)は、CPUAアク
ルッジ信号(13)、CPUAデータ線(15) 、C
PUAアドレス線(9)、CPUAメモリライト信号(
8) 、CPUAメモリリード信号(7)等から成る。
システムバス(27)は、複数のCPTJで共通にアク
セスできるもので、システムバスアクルッジ信号(28
)、システムバスデータ線(29)、システムバスアド
レス線(30)、システムバスライト信号(3I)、シ
ステムバスリード信号(32)の他に、CPUがシステ
ムバスを使用する際に出力するシステムバス要求信号(
33)、CPUがシステムバスを獲得した場合に入力さ
れるシステムバス許可信号(34) 、及び複数のCP
Uのバス要求動作を同期させるための同期クロック信号
(35)等から成っている。これらのシステムバス上の
信号は、システムバスを獲得したCPUのシステムバス
インタフェイス(36)がドライブする。
CPU (1)からシステムバス(27)の系は、ロー
カルバス(26)の一部にマツピングされており、シス
テムバス(27)に対応するローカルバス(26)の一
部をアクセスした場合には、システムバスインタフェイ
ス(36)はシステムバス要求信号(33)を同期クロ
ック信号(35)に同期して出力し、システムバス許可
信号(34)を検査する。その結果、システムバス(2
7)を他のCPUが使用していなければ、システムバス
許可信号(34)は有効となり、このとき、ローカルバ
ス(26)上のアドレス信号(9)、メモリライト信号
(8)、メモリリード信号(7)等がシステムバス(2
7)上に出力される。
もし、システムバス(27)を要求した時点ですでに他
のCPUがシステムバス(27)を獲得していた場合に
は、システムバス(27)を獲得しているCPUの動作
が完了するまでは、システムバス許可信号(34)が有
効とならず、またローカルバス側アクル・ソジ信号(2
8)も有効とはならない。
そのため、システムバス要求動作は継続され、先にシス
テムバスを獲得しているCPUのアクセス動作が完了す
るのを待って、システムバス許可信号(34)が与えら
れ、システムバス(27)上にローカルバス(26)上
のアドレス信号(9)、データ信号(15)等を出力す
る。
共有メモリ(4)は、CPUA (1)のローカ/L/
/(ス(26)上と、システムバス(27) 上の両方
にマツピングされており、CPUA (1)は第3図と
同様にして共有メモリ(4)をアクセスする。またシス
テムバス(27)を獲得したCPUは、システムバスイ
ンタフェイス(36)を通して共有メモリ (4)をア
クセスする。
第5図に、3個のCPU、すなわちCPUA(1,) 
、CPUB (2) 、CPUC(3)を有する共有メ
モリシステムが示されている。共有メモリ(4)は、C
PUA (1)のローカルバス(26)、及びシステム
バス(27)の両方にマツピングされており、CPUA
 (1)からは、ローカルバス(26)を介してアクセ
スされる。
CPUB (2) 、CPUC(3)はそれぞれのシス
テムバスインタフェイス(37)及び(38)を介して
システムバス(27)を獲得した後に共有メモリ(4)
をシステムバス(27)経由でアクセスする。
システムバス側からアクセスされる共有メモリ(4)の
メモリセルとローカルバス側からアクセスされる共有メ
モリのメモリセルが一致した場合には、アクセスコント
ローラ(6)が後着側の動作を継続する。
[発明が解決しようとする課題] 従来の共有メモリ装置は、以上のような構成だったため
、システムバス側に接続されるCPUの数が多い程、C
PU間においてシステムバスの競合が起こり、データ転
送効率が低下してしまった。
また、逆に、システムバス上に接続されるCPUが1台
の場合には、システムバス獲得動作が不要にもかかわら
ず、システムバスクロックに同期してシステムバス要求
信号等を出力し、許可信号を検査しなければならないた
め、ローカルバス側からのアクセスに比べると時間がか
かる等の不都合があった。
この発明は、かかる課題を解決するためになされたもの
で、3台以上の複数のCPU間の共有メモリによるデー
タ通信において、任意のCPU間のデータ転送効率を、
2台のCPU間の共有メモリによるデータ通信装置のデ
ータ転送効率を等しくする共有メモリ装置を得ることを
目的とする。
[課題を解決するための手段〕 この発明に係る共有メモリ装置は、複数のマイクロプロ
セッサと接続される複数のローカルバスと、各ローカル
バスに接続される複数の共有メモリと、それぞれのロー
カルバスと他のマイクロプロセッサに対応する共有メモ
リとを接続する複数の拡張バスと、拡張バスと共有メモ
リとの接続に係るインクフェイスである複数の拡張バス
インタフェイスと、を備えるものである。
[作用] この発明による共有メモリシステムは、複数のCPUの
任意の1対に対してそれぞれ1つの共有メモリを割り当
てることにより構成され、任意のCPU間の1対1通信
が行われる。
[実施例] 次に図に示すこの発明の一実施例に基づいてこの発明を
更に詳細に説明する。
第1図において、CPUA (1) 、CPUB(2)
 、CPUC(3) 、共有メモリA(39)、共有メ
モリB(40)、共有メモリC(41)、CPUA拡張
パスインタフェイス(42)、CPUB拡張パスインタ
フェイス(43) 、CPUC拡張バスインタフェイス
(44) 、CPUA拡張バス(45) 、CPUB拡
張バス(46)、及びCPUC拡張バス(47)、並び
にCPUAローカルバス(48) 、CPUBローカル
バス(49)、CPUCローカルバス(50)が示され
ている。
共有メモリA (39)は、CPUA (1)のローカ
ルバス(48)上及びCPUB拡張バスインクフェイス
(43)を介してCPUBローカルバス(49)上に割
り付けられている。また共有メモリB(40)は、CP
UBローカルバス(49)上及びCPUC拡張バスイン
クフェイス(44)を介してCPUCローカルバス(5
0)上に割り付けられ、同様に、共有メモリC(41)
は、CPUCローカルバス(50)上及びCPUA拡張
パスインタフェイス(42)を介してCPUAローカル
バス(48)上に割り付けられている。
このようにして、CPUはそれぞれのローカルバスを介
して共有メモリをアクセスでき、また拡張バス及び拡張
パスインタフェイスを介して共有メモリをアクセスする
ことができる。
ここで、各拡張バス(45)、(46)、(47)は、
複数のCPUが獲得するバスではなく、特定のCPUが
特定の共有メモリにアクセスするために設けられた専用
のバスであり、CPUがローカルバスを介して共有メモ
リをアクセスするのと同様にして共有メモリをアクセス
する。
第2図において、第1図のCPUA(1,)及びCPU
Aローカルバス(48)、共有メモリA(39) 、C
PUA拡張バスインクフェイス(42)の詳細について
の実施例が示されている。
第2図において、CPUA拡張バス(45)とCPUB
拡張バス(46)が示されている。
CPUA拡張バス(45)は、拡張パスアクルッジ信号
(51)、拡張バスデータ線(52)、拡張バスアドレ
ス線(53)、拡張バスリード信号(54) 、拡張バ
スライト信号(55)から成る。このCPUA拡張バス
(45)は、共有メモリC(41)の拡張バス側に接続
されており、CPUA (1)が共有メモリC(41)
をアクセスしてCPUC(3)とデータ通信をするとき
のみ利用され、他のCPUがCPUA (1)の拡張バ
スを獲得することはない。従って、複数のCPLJがバ
スを要求するようなシステムバスとは異なり、複数のC
PUのバス要求を調停するための信号線は無く、ローカ
ルメモリと同様に共有メモリC(41)をアクセスする
ことができる。
また、CPUB拡張バス(46)は、CPUA拡張バス
(45)と同様に、CPUB (2)が共有メモリA(
39)をアクセスして、CPUA(1)とデータ通信を
行う時にのみに使用され、共有メモリA(39)とCP
UB拡張パスインタフェイス(43)との間に接続され
る。
CPUB拡張バス(46)も拡張パスアクルッジ信号(
56) 、拡張バスデータ線(57)、拡張バスアドレ
ス線(58) 、拡張バスリード信号(59)、拡張バ
スライト信号(60)から成る。
共有メモリA (39)のアクセスコントローラ(6)
は、CPUA (1)がローカルバス(48)を介して
アクセスするメモリセルとCPUB (2)がローカル
拡張バス(46)を介してアクセスするメモリセルが一
致しないかを監視している。もし、両者が全く同一のメ
モリセルをアクセスした場合には、従来のアクセスコン
トローラと同様に、後管側の共有メモリアクセスを禁止
して、先着側の共有メモリアクセスが完了した後に、後
着側のアクセスを許可することにより、メモリセルデー
タ線、メモリセルアドレス線の競合を避けている。
CPUA拡張バスインクフェイス(42)は、CPUA
のローカルバス(48)上にあらかじめ割り当てられた
領域をCPUA (1)がアクセスすることにより、C
PUAローカルバス(48)上の信号であるCPUAロ
ーカルデータ線(15) 、CPUAローカルアドレス
線(9) 、CPUAローカルリード信号(7) 、C
PUAローカルライト信号(8) 、CPUAアクルッ
ジ信号(13)がそれぞれ対応するCPUA拡張バス(
45)上の信号と接続される。
従って、CPUA (1)がCPUC(3)とデータ通
信を行う場合には、CPUA (1)ローカルメモリを
介して共有メモリ(39)をアクセスすれば良く、CP
UA (1)とCPUC(3)の間で起こる共有メモリ
セルの競合は、共有メモリA(39)上のアクセスコン
トローラ(6)が制御する。また、CPUA (1)が
CPUB (2)とデータ通信を行う場合には、CPU
A (1)はCPUAローカルバス(48)の一部に割
り当てられたCPUB拡張バス(46)を介して共有メ
モリB(40)をアクセスすれば良く、CPUA(1)
とCPUB (2)の間で起こる共有メモリセルの競合
は、共有メモリB(40)上のアクセスコントローラが
制御する。以下同様にして、CPUB (2)とCPU
C(3)の間も共有メモリC(41)により実現される
なお、上記実施例においては、3台のCPUの間のデー
タ転送について示したが、一般にn台(n≧2)の間の
CPUについて拡張することができる。
n台のCPUのそれぞれの間に共有メモリを配置するた
めには、 nC2−nj/ f(n−2)!・2!1−(1)で示
される数の共有メモリシステムを設ける。この場合、各
CPUに対して、それぞれローカルバスと拡張バスを用
意することにより、任意のCPU間の1対1通信が可能
な共有メモリシステムを構成することができる。
[発明の効果J この発明は以上説明した通り、複数のCPU間のデータ
通信を、それぞれCPUI対に対して1つの共有メモリ
を設け、その共有メモリに接続されるCPUを、それぞ
れのバスに対してlCPUとなるような構成によって行
うので、共有メモリに関する獲得の調停回路が不要とな
り、またバスの競合が無くなるため、任意のCPU間の
非同期なデータ転送の効率を向上させることができる効
果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例による3台のCPU間のデ
ータ通信システムの構成図、第2図はこの発明による装
置の詳細図、第3図は従来の2CPU共有メモリ装置の
詳細図、第4図は従来の共有メモリ装置の詳細図、第5
図は従来の3台のCPU間のデータ通信システムの構成
図である。 図中、(1)、(2)、(3)はCPU。 (39)、(40)、(41)は共有メモリ、(42)
、(43)、(44)は拡張バスインタフェイス、(4
5)、(46)、(47)は拡張バス、(48)、(4
9)、(50)はローカルバス、(51)は拡張パスア
クルッジ信号、(52)は拡張バスデータ線、(53)
は拡張バスアドレス線、(54)は拡張バスリード信号
、(55)は拡張バスライト信号、(56)は拡張パス
アクルッジ信号、(57)は拡張バスデータ4?、(5
8)は拡張バスアドレス線、(59)は拡張バスリード
線、(60)は拡張バスライト信号である。 なお、各図中同一符号は同一または相当部分を示す。 実施9りの詳MB図 第2図 9n−

Claims (1)

    【特許請求の範囲】
  1. 複数のマイクロプロセッサと、それぞれのマイクロプロ
    セッサと接続される複数のローカルバスと、各ローカル
    バスに接続される複数の共有メモリと、それぞれのロー
    カルバスと他のマイクロプロセッサに対応する共有メモ
    リとを接続する複数の拡張バスと、拡張バスと共有メモ
    リとの接続に係るインタフェイスである複数の拡張バス
    インタフェイスと、を備える共有メモリ装置。
JP2128724A 1990-05-18 1990-05-18 共有メモリ装置 Pending JPH0423159A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2128724A JPH0423159A (ja) 1990-05-18 1990-05-18 共有メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2128724A JPH0423159A (ja) 1990-05-18 1990-05-18 共有メモリ装置

Publications (1)

Publication Number Publication Date
JPH0423159A true JPH0423159A (ja) 1992-01-27

Family

ID=14991877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2128724A Pending JPH0423159A (ja) 1990-05-18 1990-05-18 共有メモリ装置

Country Status (1)

Country Link
JP (1) JPH0423159A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007049543A1 (ja) * 2005-10-27 2007-05-03 Sonac Incorporated 演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007049543A1 (ja) * 2005-10-27 2007-05-03 Sonac Incorporated 演算装置

Similar Documents

Publication Publication Date Title
US5671371A (en) Bus control system
JPH076124A (ja) 情報転送システムおよび方法
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH07105146A (ja) 共有メモリ装置
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JP2002163228A (ja) 多重コアdsp装置のための外部バス裁定技術
JP3466214B2 (ja) 情報処理装置
JPH0793274A (ja) データ転送方式及びデータ転送装置
JPH0423159A (ja) 共有メモリ装置
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
JPH0544238B2 (ja)
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP2727514B2 (ja) 転送先id指定回路
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH04120652A (ja) 並列処理装置
JPS5896363A (ja) デ−タ転送制御方式
JPH064401A (ja) メモリアクセス回路
EP0284094B1 (en) Tandem priority resolver
JPH0844661A (ja) 情報処理装置
JP2823663B2 (ja) マルチプロセッサシステム
JP2724797B2 (ja) ダイレクト・メモリ・アクセス・システム
JPS60136853A (ja) デ−タ転送方式
JPH08339345A (ja) 情報処理システム
JPH08339353A (ja) マルチプロセッサ装置
JPH01142962A (ja) データ転送制御方式