JP2749819B2 - 共有メモリ制御方式 - Google Patents

共有メモリ制御方式

Info

Publication number
JP2749819B2
JP2749819B2 JP63158840A JP15884088A JP2749819B2 JP 2749819 B2 JP2749819 B2 JP 2749819B2 JP 63158840 A JP63158840 A JP 63158840A JP 15884088 A JP15884088 A JP 15884088A JP 2749819 B2 JP2749819 B2 JP 2749819B2
Authority
JP
Japan
Prior art keywords
shared memory
cpu
arbitration
data
access
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.)
Expired - Lifetime
Application number
JP63158840A
Other languages
English (en)
Other versions
JPH01199261A (ja
Inventor
泰央 増尾
昌幸 岩塚
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP63158840A priority Critical patent/JP2749819B2/ja
Priority to DE3850212T priority patent/DE3850212T2/de
Priority to EP88117755A priority patent/EP0314069B1/en
Priority to US07/262,908 priority patent/US5155855A/en
Publication of JPH01199261A publication Critical patent/JPH01199261A/ja
Application granted granted Critical
Publication of JP2749819B2 publication Critical patent/JP2749819B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、共有メモリを用いて複数のCPUの間で相互
に情報の受け渡しを行うマルチCPUシステムにおける共
有メモリ制御方式に関するものである。
[従来の技術] 従来の共有メモリを用いて複数のCPUの間で相互に情
報の受け渡しを行うマルチCPUシステムとしては、特開
昭60−243763号公報、あるいは特開昭60−245063号公報
に記載されたものがある。
第10図は特開昭60−243763号公報に記載されたマルチ
CPUシステムであり、共有メモリ3をワード単位でアク
セスするワードCPU1と、共有メモリ3をバイト(ワード
の半分の長さ)単位でアクセスするバイトCPU2との間で
相互に情報の受け渡しを行うものである。なお、共有メ
モリ3は1バイトのデータを記憶する2個のデュアルポ
ートメモリ31,32で構成してある。このマルチCPUシス
テムにおいては、バイトCPU2から1ワードのデータを共
有メモリ3に書き込む場合、まず1ワードのデータの最
初の1バイトを例えば共有メモリ3の一方のデュアルポ
ートメモリ31に記憶し、その後次の1バイトをデュアル
ポートメモリ32に書き込むようにする。ところが、次の
1バイトを共有メモリ3に書き込もうとする間に、ワー
ドCPU1が共有メモリ3の同じアドレスをアクセスした場
合、上記バイトCPU2が書き込もうとする1ワードのデー
タを壊したり、1バイトしか更新されていないデータを
読み込んだりする虞れがある。また、これとは逆にバイ
トCPU2が1ワードのデータを共有メモリ3から読み出す
場合には、最初の1バイトを読み出した後に、次の1バ
イトを読み出す。この場合にもバイトCPU2が次の1バイ
トを読み出そうとするときに、ワードCPU1が同一アドレ
スにデータの書き込みを行うと、バイトCPU2が読み込も
うとするデータを壊す虞れがある。
そこで、このマルチCPUシステムにおいては、少なく
ともバイトCPU2が共有メモリ3に対して1ワードのデー
タをアクセスする場合は、ワードCPU1による共有メモリ
3のアクセスを禁止すると共に、このワードCPU1を待機
状態にするようにしてある。なお、ここで少なくともと
述べているのは、少なくとも上記のようにすれば上述し
た問題点を解決することができるということを意味し、
実際のこの第10図のマルチCPUシステムではワードCPU1
により共有メモリ3をアクセスしている場合にも、バイ
トCPU2を待機状態にするようにしてある。具体的には、
ワードCPU1及びバイトCPU2から夫々共有メモリ3をアク
セスする場合には、夫々のアクセス要求信号S1,S2をフ
リップフロップ回路で構成されたインターロック回路20
の夫々の入力端子に入力し、インターロック回路20の両
出力のナイドをとった出力で共有メモリ3とワードCPU1
あるいはバイトCPU2とのアクセスが可能となるようにし
てある。ここで、ワードCPU1からのアクセス要求信号S2
は、バイトCPU2が1ワードのデータのアクセスを行う場
合に出力されるワードアクセス信号S3を反転した出力と
のアンドをとってインターロック回路20に入力してあ
る。つまり、これによりバイトCPU2が1ワードのデータ
のアクセスを行っている場合には、ワードCPU1からのア
クセス要求信号S2がインターロック回路20に入力されな
いようにし、バイトCPU2が1ワードのデータの残りの1
バイトをアクセスしようとしているときに、ワードCPU1
が共有メモリ3をアクセスすることがないようにしてあ
る。そして、夫々のインターロック回路20の出力を反転
した出力と、アクセス要求信号S1,S2とのアンドをとっ
て待機信号S4,S5を作成し、この待機信号S4,S5により
一方のCPUがアクセスしているときは、他方のCPUを待機
状態にするようにしてある。このようにしてこのマルチ
CPUシステムでは、バイトCPU2が1ワードのデータをア
クセスするときの共有メモリ3上の1ワードデータの保
証を行うようにしてある。
ところが、このマルチCPUシステムにおいては、一方
のCPUがアクセスを行っている場合、そのアクセスする
アドレスが同一であるか否かに拘わらず、他方のCPUは
待機状態になり、情報処理に時間を要する問題があっ
た。
第11図は特開昭60−245063号公報のマルチCPUシステ
ムであり、このマルチCPUシステム以前のマルチCPUシス
テムではデータの受け渡しに時間を要する点に着目し、
これを改善するようにしたものである。このマルチCPU
システムでは、非同期で共有メモリ3とのアクセスを行
う2つのCPU1,2が共有メモリ3をアクセスする時間帯を
交互に割付け、例えばCPU1が共有メモリ3とアクセスす
るように割付けた時間帯にCPU1からアクセス要求が為さ
れたときに、CPU1による共有メモリ3へのアクセスを許
容するようにしたものである。このマルチCPUシステム
では、連続パルスを発するパルス発生部21と、このパル
ス発生部21からの出力で交互にセット,リセットされる
フリップフロップ22と、フリップフロップ22の夫々の出
力とCPU1,2からのアクセス要求信号A,Bとのアンドをと
るアンドゲート23,24と、このアンドゲート23,24の夫々
の出力によりセットされるフリップフロップ25,26と、
フリップフロップ25,26のいずれがセットされているか
でCPU1,2のいずれかのアドレスを選択して、このアドレ
スへのCPU1,2のアクセスを許容するアドレスセレクタ27
とを備えている。つまり、CPU1,2に対応するフリップフ
ロップ22の出力Q,がハイレベルのときにCPU1,2からア
クセス要求信号A,Bが出力された場合、いずれかのフリ
ップフロップ25,26がセットされ、このときにCPU1,2に
ラッチしてあるアドレスへのアクセスが許容されるので
ある。なお、夫々のCPU1,2は周辺回路であるアドレスラ
ッチを含んたものでおり、このアドレスラッチにアクセ
スするアドレスをラッチするようにしてある。また、夫
々のフリップフロップ25,26の反転出力は他方のフリ
ップフロップ25,26に接続されたアンドゲート23,24のイ
ンヒビット端子に入力され、一方のCPUがアクセスして
いるときには、他方のCPUはアクセスすることができな
いようにしてある。さらに、アクセスが終了したときに
CPU1,2から出力される終了信号E1,E2によって夫々のフ
リップフロップ25,26がリセットされる。このマルチCPU
システムでは、割り当てられた時間帯にアクセスしなか
った場合に待ち時間が生じるだけで従来のマルチCPUシ
ステムよりはデータの受け渡し時間が改善されている。
ところが、このマルチCPUシステムにおいても、一方のC
PUがアクセスを行っている場合、そのアクセスするアド
レスが同一であるか否かに拘わらず、他方のCPUは待機
状態になり、情報処理に時間を要する問題は残ってい
る。
そこで、一のCPUからアクセスされているときに、他
のCPUが同一アドレスに対してアクセスを行った(以
下、この状態を競合状態と呼ぶ)場合に、他のCPUのア
クセスを待たせる調停信号を出力して調停を行う競合調
停端子としてのビジー(Busy)端子を備えたデュアルポ
ートメモリである共有メモリ3を用いたマルチCPUシス
テムがある。この共有メモリ3としては例えば富士通製
MB8421がある。つまり、この共有メモリ3は、アドレス
とチップセレクト(▲▼)信号が競合した場合に、
先着したCPUに制御権を与え、他方のCPUに対してはビジ
ー信号▲▼をローレベルにしてアクセスを待た
せる。なお、このマルチCPUシステムでは、第12図に示
すように、この共有メモリ3を用いて、上記CPU1,2と共
有メモリ3を介して相互に情報の受け渡しを行うように
してある。ところで、上述したCPU1,2は例えばインテル
系8085,8086等で、これらのCPU1,2はレディー(Ready)
端子(アクセス可能であればハイレベルになる)を備え
ており、このレディー端子を共有メモリ3が備えるビジ
ー(▲▼)端子に直結することにより、共有メ
モリ3の競合調停を容易に実現することができるように
なっている。つまり、このマルチCPUシステムでは、例
えばCPU1が共有メモリ3とアクセスを行っており、CPU2
が共有メモリ3の同一アドレスをアクセスした場合、共
有メモリ3はCPUに対してビジー(Busy)信号▲
▼をローレベルにして、CPU2のアクセスをウエイト
状態にし、CPU1のアクセスが完了するまでCPU2のアクセ
スを待たせる。従って、CPU2はCPU1のアクセスが完了、
つまりビジー信号▲▼がハイレベルとなった
後初めてアクセスが開始される。つまり、上述のように
して共有メモリ3の同一アドレスに対する同時アクセス
が発生した場合の調停が行われていた。なお、第12図中
の制御信号Cntは、リード(Read)信号▲▼、ライ
ト(Write)信号▲▼、及びチップセレクト信号▲
▼などである。
ところが、所謂1チップマイコンと呼ばれるCPU(例
えば、インテル系8031等)の場合には、上記レディー端
子及びそれに類する端子が設けられておらず、上述した
CPUのように共有メモリ3のビジー端子をCPUのレディー
端子と直結して共有メモリ3の競合調停を行うことがで
きなかった。
[発明が解決しようとする課題] 本発明は上述の点に鑑みて為されたものであり、その
目的とするところは、制御端子を備えていない所謂1チ
ップマイコンを用いた場合でも共有メモリの競合調停を
行うことができる共有メモリ制御方式を提供することに
ある。
[課題を解決するための手段] 上記目的を達成するために、本発明はCPUと共有メモ
リとの間でデータの読み出しあるいは書き込みを行う際
に、上記データのアドレス及びそのデータを夫々一旦ラ
ッチするアクセス調停用ラッチと、上記共有メモリの競
合調停端子から出力される調停信号に応じて上記アクセ
ス調停用ラッチと共有メモリとの間でのデータの読み出
しあるいは書き込みのタイミングを制御するタイミング
制御回路とを制御端子を備えていないCPUと共有メモリ
との間に設けてある。
[作用] 上述のように制御端子を備えていないCPUと共有メモ
リとの間にアクセス調停用ラッチとタイミング制御回路
とを備えることにより、制御端子を備えていないCPUと
共有メモリとの間でデータの読み出しあるいは書き込み
を行う場合に、共有メモリの競合調停端子出力を見て上
記タイミング制御回路が競合の有無に応じてアクセス調
停用ラッチと共有メモリとの間のデータの読み出しある
いは書き込みのタイミング制御を適宜行うことにより、
所謂1チップマイコンを用いた場合でも共有メモリの競
合調停を行うことができるようにしたものである。
(実施例1) 第1図乃至第7図に本発明の一実施例を示す。本実施
例も、共有メモリ3として他のCPUが共有メモリの同一
アドレスに対してアクセスを行った場合に、他のCPUの
アクセスを待たせる調停信号を出力して調停を行う競合
調停を備えたデュアルポートメモリを用いたものであ
り、上述したレディー端子及びそれに類する端子が設け
られてないな所謂1チップマイコンであるCPU1と、レデ
ィー端子を備えるCPU2との間で上記共有メモリ3を介し
て相互に情報の受け渡しを行うものである。そして、上
記CPU1と共有メモリ3の間で相互に情報の受け渡しを行
う場合には、CPU1,2との間での競合調停を行う必要があ
るので次の構成を備えている。つまり、本実施例におい
ては、CPU1と共有メモリ3との間でデータの読み出しあ
るいは書き込みを行う際に、上記データのアドレス及び
そのデータを夫々一旦ラッチするアクセス調停用ラッチ
を設けると共に、上記共有メモリ3の競合調停端子であ
るビジー端子▲▼から出力される調停信号に
応じて上記アクセス調停用ラッチと共有メモリ3との間
でのデータの読み出しあるいは書き込みのタイミングを
制御するタイミング制御回路18を設けてある。上記アク
セス調停用ラッチとしては、CPU1から共有メモリ3にデ
ータを書き込む場合及び読み出す場合に、そのデータの
アドレスをラッチするラッチ4と、共有メモリ3にその
データを書き込む場合にそのデータを一旦ラッチするD
フリップフロップ(以下、D−FFと呼び、これらD−FF
出力はスリーステート出力となっている)5と、共有メ
モリ3からデータを読み出す場合にそのデータを一旦ラ
ッチするD−FF6とで構成してある。タイミング制御回
路18は、CPU1からリード信号▲▼あるいはライト信
号▲▼が出されたときに、CPU2と競合(CPU2が先
着)している場合にビジー信号▲▼が競合な
しの状態になるまで、上記D−FF5,6と共有メモリ3と
のデータの受け渡しを待たせるもので、負論理のアンド
回路7,8、ノア回路9、オア回路10〜14、抵抗R1,R2
びコンデンサC1,C2で構成してある。
以下、本実施例の動作を説明する。まず、CPU1から共
有メモリ3にデータを書き込む場合で、CPU2と競合がな
いとき、あるいはCPU2との競合があってもCPU1の方が先
着であるときについて第2図に従って説明する。CPU1が
共有メモリ3をアクセスする場合、第2図(b),
(c)に示すように、CPU1のチップセレクト出力▲
▼とライト信号▲▼とがローレベルになり、このチ
ップセレクト出力▲▼とライト信号▲▼とのア
ンドをアンド回路8でとった出力▲▼が第2図
(e)に示すようにローレベルになると共に、ノア回路
9出力CORWが同図(f)に示すようにハイレベル状態に
なる。上記書き込まれるデータのアドレスは上記ノア回
路9出力のCORWの立ち上がりにより第2図(h)に示す
ようにラッチ4にラッチされる。なお、書き込まれるデ
ータ自体は、アンド回路8出力▲▼の立ち上が
りによりD−FF5にラッチされる。
次に、実際の共有メモリ3への書き込みについて説明
する。この実際のデータの書き込みは第2図(g)に示
すオア回路13出力▲▼にて行われる。この場合に
は、CPU2との競合がないか、あるいはCPU1の方がCPU2よ
りも先着した場合であるから、ビジー信号▲
▼はハイレベルで、従ってオア回路13出力▲▼は
アンド回路8出力▲▼がローレベルとなると同
時にローレベルとなる。よって、上記オア回路13出力▲
▼が接続された共有メモリ3のライト端子▲
▼及びD−FF5の出力エネーブル▲▼がローレベ
ルとなる。また、このとき上記オア回路13出力▲
▼を一方の入力とするオア回路14出力もローレベルとな
り、オア回路14出力が接続された共有メモリ3のチップ
セレクト端子▲▼が第2図(j)に示すようにロ
ーレベルになるので、CPU1からライト信号▲▼が入
力されると同時に共有メモリ3へのデータの書き込みが
可能となる。そして、CPU1のライト信号▲▼が立ち
上がると、アンド回路8出力▲▼も立ち上が
り、D−FF5にデータがラッチされる。このとき、オア
回路12に入力されるビジー信号▲▼及びアン
ド回路8出力▲▼が共にハイレベルとなるの
で、オア回路12出力はハイレベルになる。しかし、オア
回路13出力▲▼は、抵抗R2とコンデンサC2の時定
数τ2の期間ローレベルに保持され、この時定数τ2だけ
遅れて立ち上がるオア回路13出力▲▼にて共有メ
モリ3への実際のデータの書き込みが行われる。なお、
上記時定数τ2は共有メモリ3の書き込みに要する時間
に設定してある。ところで、上記CPU1が書き込みを行っ
ている期間に、CPU2から共有メモリ3の同一アドレスに
対する同時アクセスが発生した場合には、第2図(k)
に示すように共有メモリ3のCPU2のレディー端子に直結
されたビジー端子▲▼がローレベルとなり、
CPU2のアクセスはCPU1の書き込みが終了するまで待たさ
れる。なお、競合がない場合には、第2図(k)中の一
点鎖線に示すようにビジー信号▲▼はハイレ
ベル状態のままである。また、第2図(k)中の時間t1
は、共有メモリ3の競合状態の解除に要する遅れ時間で
ある。
次に、CPU1,2が競合し、しかもCPU2が先着してアクセ
スした場合について第3図に従って説明する。この場合
にはラッチ4にラッチされたデータのアドレスが共有メ
モリ3に読み出された状態で、第3図(g)に示すよう
にビジー信号▲▼がローレベルになるため、
同図(e)に示すようにアンド回路8出力▲▼
が立ち上がっても、同図(h)に示すようにオア回路13
出力▲▼が立ち上がらない。従って、CPU1からの
データの書き込みはCPU2のアクセスが終了するまで待た
されることになる。そして、ビジー信号▲▼
が第3図(g)に示すように立ち上がると、上述したよ
うに時定数τ2遅れてオア回路13出力▲▼が立ち
上がる(同図(h))ことにより、D−FF5にラッチさ
れたデータが共有メモリ3に書き込まれる。
CPU1にて共有メモリ3からデータの読み出しを行う動
作について説明する。なお、まず競合がないか、あるい
は競合があってもCPU1の方が先着である場合について第
4図に従って説明する。データの読み出しを行う場合、
第4図(b),(c)に示すようにCPU1のリード信号▲
▼及びチップセレクト信号▲▼が共にローレベ
ルとなり、従って同図(e)に示すようにアンド回路7
出力▲▼がローレベルになる。このとき、ノア
回路9出力CORWが第4図(f)に示すようにハイレベル
に立ち上がるため、読み出しを行うデータのアドレスは
ラッチ4にラッチされる。また、読み出すデータをラッ
チするD−FF6の出力イネーブル端子▲▼には、ア
ンド回路7出力▲▼が入力されているので、ア
ンド回路7出力▲▼によりD−FF6にラッチさ
れたデータがCPU1に読み出される。なお、このときD−
FF6には共有メモリ3との間で前回に読み出し動作を行
ったときのデータがラッチされており、従って上記CPU1
による読み出し動作では1回前にアクセスしたときのデ
ータを読み出すことになる。このように、本実施例にお
ける読み出しについては、共有メモリ3の2回のアクセ
スによりデータの読み出しが行われる。そして、第4図
(e)に示すようにアンド回路7出力▲▼が立
ち上がると、抵抗R1及びコンデンサC1の時定数τ1だけ
遅れて第4図(g)に示すようにオア回路11出力▲
▼が立ち上がり、このオア回路11出力▲▼がD
−FF6のクロック端子CKに入力されることにより、共有
メモリ3からのデータがD−FF6に書き込まれる。な
お、上記時定数τ1は共有メモリ3の読み出しに要する
時間に設定してある。また、共有メモリ3の出力イネー
ブル端子▲▼にはオア回路11出力▲▼が入
力され、チップセレクト端子▲▼にはオア回路14
出力が入力されている。なお、CPU2が競合した場合に
は、上述した書き込み動作時の場合と同様に第4図
(l)に示すようにビジー端子▲▼がローレ
ベルになる。
また、CPU1,2が競合し、CPU2の方が先着である場合に
は、第5図(g)に示すようにビジー信号▲
▼が立ち上がった後時定数τ1遅れた時に、共有メモリ
3からD−FF6にデータが読み出される。このように本
実施例によれば、レディー端子を備えていないCPU1と共
有メモリ3との間でデータの読み出しあるいは書き込み
を行う場合に、共有メモリ3のビジー端子の出力を見て
上記タイミング制御回路18が競合の有無に応じてラッチ
4と共有メモリ3との間のデータの読み出しあるいは書
き込みのタイミング制御を適宜行うことができ、このた
め所謂1チップマイコンを用いた場合でも共有メモリ3
の競合調停を行うことができる。
ところで、第6図に示す回路としても同様の効果が得
られる。このタイミング制御回路18では、アンド回路8
の夫々の出力▲▼でプリセットされ、アンド回
路7の出力▲▼でクリアされるD−FF15を備
え、夫々の出力Q,とビジー信号▲▼とのア
ンドをアンド回路16,17でとり、このアンド回路16,17の
出力をオア回路10,12に入力するようにし、CPU1のデー
タの読み出し及び書き込み動作の夫々の動作時にビジー
信号▲▼が後段回路の読み出し側及び書き込
み側だけに供給されるようにしたものであり、アンド回
路16,17の出力タイミングはビジー信号▲▼
と同じである。従って、この回路の動作は、ビジー信号
▲▼がアンド回路16,17の出力に変わるだけ
で、上述の実施例と同じ動作となる。
(実施例2) 第8図及び第9図に本発明の他の実施例を示す。上述
の実施例でのCPU1の共有メモリ3への書き込み動作をプ
ログラムで示すと次のようになる。なお、このプログラ
ム例はインテル系8031を用いた場合を示す。
MOV A,#DATA1 …step1 MOV DPTR,#Add.1 …step2 MOVX @DPTR,A …step3 MOV A,#DATA2 …step4 MOV DPTR,#Add.2 …step5 MOVX @DPTR,A …step6 つまり、上記プログラムの動作は、 step1で書き込みデータ(DATA1)を設定 step2で書き込みアドレス(add.1)を設定 step3でadd.1へのデータ(DATA1)の書き込み step4で次の書き込みデータ(DATA2)を設定 step5で次の買い込みアドレス(add.2)を設定 step6でaad.2へのデータ(DATA2)の書き込み というものである。
上述の第1図実施例では、第7図(a)に示すように
CPU1が書き込み実行する(step3)前に、同図(e)に
示すようにCPU2が同一アドレスに対してアクセスを始め
ている場合、同図(d)に示すように共有メモリ3のビ
ジー端子▲▼はローレベルとなる。そして、
CPU2のアクセスが完了すると、遅れ時間t1にビジー端子
▲▼がハイレベルに戻る。その後、上述のタ
イミング制御回路18により共有メモリ3への書き込み可
能時間τ2後にライト端子▲▼,チップセレク端
子▲▼はハイレベルに戻る。
ところで、このようにライト端子▲▼等がハイ
レベルに戻るまでに第2図(a)の破線にて示すように
次の書き込みが開始される(step6)と、同図(c),
(d)に示すようにライト端子▲▼及びチップセ
レクト▲▼は破線で示すようにローレベルのまま
で、次のデータ(DATA2)の書き込み動作に入ってしま
う。つまり、このような場合、先のデータ(DATA1)の
書き込みができなくなるのである。このような状態が発
生するのは、 T2+t1+τ2>T1 となる場合がある。通常、CPU2としては任意のCPUを想
定しているので、アクセス時間T2の長いCPU2である場合
は上記条件を満たし、CPU1からの書き込みは保証されな
いことになる。このことは、読み出し時にも同様に発生
する可能性がある。
そこで、本実施例ではラッチ4にラッチされたアドレ
スのデータの共有メモリ3への書き込みあるいは読み出
しが完了したことを、CPU1がタイミング制御回路18のオ
ア回路14の出力▲▼から検知し、上記書き込みあ
るいは読み出しが完了しない限り、次のアクセスを行わ
ないようにしてある。このため、CPU1の入力ポートPort
1にタイミング制御回路18のオア回路14の出力▲
▼を入力して、書き込み完了を検知し、ラッチ4にラッ
チされたアドレスのデータの共有メモリ3への書き込み
あるいは読み出しが完了しない限り、次のアクセスを行
わないようにする制御手段をCPU1のロジック回路でソフ
トウェア的に構成してある。
本実施例の書き込み動作のプログラムは次のようにな
る。
MOV A,#DATA1 …step1 MOV DPTR,#Add.1 …step2 MOVX @DPTR,A …step3 MOV A,#DATA2 …step4 MOV DPTR,#Add.2 …step5 JNB Port1,$ …step6 MOVX @DPTA,A …step7 このプログラムのstep1〜step5までは上述の第1の実
施例の場合と同様であり、 step6で前回の書き込み(Add.1)が完了するまで待つ step7でAdd.2へのデータ(DATA2)の書き込み というプログラムを実行する。つまり、上述の第1の実
施例の動作で説明したような場合にも、CPU1は次のアク
セス(step7)を始める前に、先のアクセス(step3)の
完了を検知し、即ちオア回路14の出力▲▼が第9
図(c)に示すようにハイレベルになったことを、この
出力▲▼が入力される入力ポートPort1の入力信
号状態から知り、書き込みの実行の完了後に、同図
(a)に示すように次のアクセスを実行するようにして
ある。従って、第1の実施例のように先のアクセスが実
行できなくなるということがない。
[発明の効果] 本発明は上述のように、制御端子を備えていないCPU
と共有メモリとの間でデータの読み出しあるいは書き込
みを行う際に、上記データのアドレス及びそのデータを
夫々一旦ラッチするアクセス調停用ラッチを設けると共
に、上記共有メモリの競合調停端子から出力される調停
信号に応じて上記アクセス調停用ラッチと共有メモリと
の間でのデータの読み出しあるいは書き込みのタイミン
グを制御するタイミング制御回路を設けてあるので、上
記制御端子を備えていないCPUと共有メモリとの間でデ
ータの読み出しあるいは書き込みを行う場合に、共有メ
モリの競合調停端子出力を見て上記タイミング制御回路
が競合の有無に応じてアクセス調停用ラッチと共有メモ
リとの間のデータの読み出しあるいは書き込みのタイミ
ング制御を適宜行うことができ、このため所謂1チップ
マイコンを用いた場合でも共有メモリの競合調停を行う
ことができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の回路図、第2図及び第3図
は同上の書き込み動作の説明図、第4図及び第5図は同
上の読み出し動作の説明図、第6図は別のタイミング制
御回路を示す回路図、第7図は同上の動作説明図、第8
図は他の実施例の回路図、第9図は同上の動作説明図、
第10図は従来例の回路図、第11図は他の従来例の回路
図、第12図はさらに他の従来例の概略構成図である。1,
2はCPU、3は共有メモリ、4はラッチ、5,6はD−FF、1
8はタイミング制御回路、▲▼,▲
▼はビジー端子である。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】共有メモリを用いて複数のCPUの間で相互
    に情報の受け渡しを行うマルチCPUシステムにおいて、
    共有メモリが一のCPUからアクセスされているときに、
    他のCPUが共有メモリの同一アドレスに対してアクセス
    を行った場合に、他のCPUのアクセスを待たせる調停信
    号を出力して調停を行う競合調停端子を上記共有メモリ
    が備え、この競合調停端子に直結してCPU側のアクセス
    を待たせる制御端子を備えたCPUと、上記制御端子を備
    えていないCPUとの間で、上記共有メモリを用いて相互
    に情報の受け渡しを行う場合の競合調停を行う共有メモ
    リ制御方式であって、上記制御端子を備えていないCPU
    と共有メモリとの間でデータの読み出しあるいは書き込
    みを行う際に、上記データのアドレス及びそのデータを
    夫々一旦ラッチするアクセス調停用ラッチと、上記共有
    メモリの競合調停端子から出力される調停信号に応じて
    上記アクセス調停用ラッチと共有メモリとの間でのデー
    タの読み出しあるいは書き込みのタイミングを制御する
    タイミング制御回路とを上記制御端子を備えていないCP
    Uと共有メモリとの間に設けて成る共有メモリ制御方
    式。
  2. 【請求項2】共有メモリを用いて複数のCPUの間で相互
    に情報の受け渡しを行うマルチCPUシステムにおいて、
    共有メモリが一のCPUからアクセスされているときに、
    他のCPUが共有メモリの同一アドレスに対してアクセス
    を行った場合に、他のCPUのアクセスを待たせる調停信
    号を出力して調停を行う競合調停端子を上記共有メモリ
    が備え、この競合調停端子に直結してCPU側のアクセス
    を待たせる制御端子を備えていない複数のCPUの間で、
    上記共有メモリを用いて相互に情報の受け渡しを行う場
    合の競合調停を行う共有メモリ制御方式であって、上記
    CPUと共有メモリとの間でデータの読み出しあるいは書
    き込みを行う際に、上記データのアドレス及びそのデー
    タを夫々一旦ラッチするアクセス調停用ラッチと、上記
    共有メモリの競合調停端子から出力される調停信号に応
    じて上記アクセス調停用ラッチと共有メモリとの間での
    データの読み出しあるいは書き込みのタイミングを制御
    するタイミング制御回路とを夫々のCPUと共有メモリと
    の間に設けて成る共有メモリ制御方式。
  3. 【請求項3】上記アクセス調停用ラッチに夫々一旦ラッ
    チされたアドレスのデータが、共有メモリから読み出さ
    れあるいは共有メモリに書き込まれたことを上記タイミ
    ング制御回路の出力から検出し、上記アクセス調停用ラ
    ッチにラッチされたアドレスのデータの共有メモリから
    の読み出しあるいは共有メモリへの書き込みが行われな
    い限り、次のアクセスを行わないようにする制御手段を
    上記制御端子を備えていないCPUに設けて成る請求項1
    または請求項2記載の共有メモリ制御方式。
JP63158840A 1987-10-26 1988-06-27 共有メモリ制御方式 Expired - Lifetime JP2749819B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63158840A JP2749819B2 (ja) 1987-10-26 1988-06-27 共有メモリ制御方式
DE3850212T DE3850212T2 (de) 1987-10-26 1988-10-25 Vielfach-CPU-System mit gemeinschaftlichem Speicher.
EP88117755A EP0314069B1 (en) 1987-10-26 1988-10-25 Multi-CPU system using common memory
US07/262,908 US5155855A (en) 1987-10-26 1988-10-26 Multi-cpu system using common memory and having access mediation latch

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP62-269574 1987-10-26
JP26957487 1987-10-26
JP63158840A JP2749819B2 (ja) 1987-10-26 1988-06-27 共有メモリ制御方式

Publications (2)

Publication Number Publication Date
JPH01199261A JPH01199261A (ja) 1989-08-10
JP2749819B2 true JP2749819B2 (ja) 1998-05-13

Family

ID=26485834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63158840A Expired - Lifetime JP2749819B2 (ja) 1987-10-26 1988-06-27 共有メモリ制御方式

Country Status (4)

Country Link
US (1) US5155855A (ja)
EP (1) EP0314069B1 (ja)
JP (1) JP2749819B2 (ja)
DE (1) DE3850212T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341473A (en) * 1990-08-09 1994-08-23 Nec Corporation System of transferring data in a multi-CPU arrangement using address generators
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
WO1993025945A1 (en) * 1992-06-12 1993-12-23 The Dow Chemical Company Stealth interface for process control computers
US5495588A (en) * 1993-11-18 1996-02-27 Allen-Bradley Company, Inc. Programmable controller having joined relay language processor and general purpose processor
US5732757A (en) * 1996-05-10 1998-03-31 Jvm Innovation & Design Llc Slotted panel and strap combination
FR2765006B1 (fr) * 1997-06-18 1999-07-16 Schlumberger Ind Sa Dispositif d'echange de donnees asynchrones entre deux microprocesseurs
JP3938471B2 (ja) * 1998-06-30 2007-06-27 三菱電機株式会社 マルチcpuユニット
KR100598488B1 (ko) 2004-11-03 2006-07-11 주식회사 팬택 원격 함수 제어 기능을 가지는 개인 휴대 단말기 및 그 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2462745B1 (fr) * 1979-07-30 1986-01-03 Jeumont Schneider Dispositif de partage temporel de l'acces a une memoire connectee a un bus unique entre un calculateur central et une pluralite de calculateurs peripheriques
JPS56123047A (en) * 1980-03-04 1981-09-26 Mitsubishi Electric Corp Electronic computer device
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4415972A (en) * 1980-12-29 1983-11-15 Sperry Corporation Dual port memory interlock
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
IT1151683B (it) * 1982-07-06 1986-12-24 Honeywell Inf Systems Sistema multiprocessore a bus asincrono con caricamento di microistruzioni da memoria di lavoro
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
IT1161467B (it) * 1983-01-21 1987-03-18 Cselt Centro Studi Lab Telecom Interfaccia di tipo parallelo per la gestione del colloquio tra un bus asincrono e un bus sincrono collegato a piu terminali dotati ognuno di un proprio segnale di sincronizzazione
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
JPS60247767A (ja) * 1984-05-24 1985-12-07 Nec Corp 共有メモリの読出し書き込み動作の同時入出力方式
US4669044A (en) * 1984-07-02 1987-05-26 Ncr Corporation High speed data transmission system
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US4641238A (en) * 1984-12-10 1987-02-03 Itt Corporation Multiprocessor system employing dynamically programmable processing elements controlled by a master processor
US4722048A (en) * 1985-04-03 1988-01-26 Honeywell Bull Inc. Microcomputer system with independent operating systems
JPS6257050A (ja) * 1985-09-06 1987-03-12 Nippon Signal Co Ltd:The 共有メモリ装置
US4797815A (en) * 1985-11-22 1989-01-10 Paradyne Corporation Interleaved synchronous bus access protocol for a shared memory multi-processor system
EP0230960B1 (en) * 1986-01-20 1992-05-13 Nec Corporation Microcomputer having a highspeed operation mode and a low-speed operation mode
US4780822A (en) * 1986-09-17 1988-10-25 Integrated Device Technology, Inc. Semaphore circuit for shared memory cells
US4761735A (en) * 1986-12-19 1988-08-02 Ncr Corporation Data transfer circuit between a processor and a peripheral
FR2611396B1 (fr) * 1987-02-27 1991-10-11 Trt Telecom Radio Electr Dispositif pour permettre a deux systemes de traitement d'informations l'acces a un circuit commun
US4866664A (en) * 1987-03-09 1989-09-12 Unisys Corporation Intercomputer communication control apparatus & method

Also Published As

Publication number Publication date
DE3850212T2 (de) 1994-09-22
EP0314069A2 (en) 1989-05-03
JPH01199261A (ja) 1989-08-10
EP0314069B1 (en) 1994-06-15
EP0314069A3 (en) 1989-12-27
US5155855A (en) 1992-10-13
DE3850212D1 (de) 1994-07-21

Similar Documents

Publication Publication Date Title
US5021950A (en) Multiprocessor system with standby function
US4587609A (en) Lockout operation among asynchronous accessers of a shared computer system resource
US4698753A (en) Multiprocessor interface device
JPS59111561A (ja) 複合プロセツサ・システムのアクセス制御方式
JPH0833875B2 (ja) バス裁定システム
JPS5924462B2 (ja) 共有メモリのアクセス制御方式
US4622630A (en) Data processing system having unique bus control protocol
JP2749819B2 (ja) 共有メモリ制御方式
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
EP0363882B1 (en) Multiprocessor system using communication register having processor-associated storage locations
US5261108A (en) Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode
JPH04230563A (ja) データ処理システム
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
JPS6015763A (ja) インタ−フエ−ス制御装置
JPH0227696B2 (ja) Johoshorisochi
JPS6142293B2 (ja)
JPS59116866A (ja) 計算機システムの記憶装置
JP3266610B2 (ja) Dma転送方式
JPH04250553A (ja) プログラマブルコントローラ
JP2736352B2 (ja) マルチプロセッサシステムにおけるキャッシュメモリ制御方法
JPH0736373A (ja) プログラマブルコントローラ
JP2962773B2 (ja) メモリアクセス競合制御回路
JPS61275954A (ja) データ処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 11