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

共有メモリ制御方式

Info

Publication number
JPH01199261A
JPH01199261A JP63158840A JP15884088A JPH01199261A JP H01199261 A JPH01199261 A JP H01199261A JP 63158840 A JP63158840 A JP 63158840A JP 15884088 A JP15884088 A JP 15884088A JP H01199261 A JPH01199261 A JP H01199261A
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.)
Granted
Application number
JP63158840A
Other languages
English (en)
Other versions
JP2749819B2 (ja
Inventor
Yasuhisa Masuo
増尾 泰央
Masayuki Iwatsuka
岩塚 昌幸
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 EP88117755A priority patent/EP0314069B1/en
Priority to DE3850212T priority patent/DE3850212T2/de
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)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野1 本発明は、共有メモリを用いて複数のCPUの間で相互
に情報の受け渡しを行うマルチCPUシステムにおける
共有メモリ制御方式に関するものである。
[従来の技術1 従来の共有メモリを用いて複数のCPUの間で相互に情
報の受け渡しを行うマルチCPUシステムとしては、特
開昭60−243763号公報、あるいは特開昭60−
245063号公報に記載されたものがある。
第10図は特開昭60−243763号公報に記載され
たマルチCPUシステムであり、共有メモリ3をワード
単位でアクセスするワードCPU1と、共有メモリ3を
バイト(ワードの半分の長さ)単位でアクセスするパイ
)CPU2との間で相互に情報の受け渡しを行うもので
ある。なお、共有メモリ3は1バイトのデータを記憶す
る2個のデュアルポートメモリ3.,32で構成しであ
る。
このマルチCPUシステムにおいては、パイ)CPU2
から1ワードのデータを共有メモリ3に書き込む場合、
まず1ワードのデータの最初の1バイトを例えば共有メ
モリ3の一方のデュアルポートメモリ31に記憶し、そ
の後人の1バイトをデュアルポートメモリ3□に書き込
むようにする。ところが、次の1バイトを共有メモリ3
に書き込もうとする開に、ワードCPU1が共有メモリ
3の同じアドレスをアクセスした場合、上記バイトCP
U2が書き込もうとする1ワードのデータを壊したり、
1バイトしか更新されていないデータを読み込んだりす
る虞れがある。また、これとは逆にパイ)CPU2が1
ワードのデータを共有メモリ3から読み出す場合には、
最初の1バイトを読み出した後に、次の1バイトを読み
出す。この場合にもパイ) CPU2が次の1バイトを
読み出そうとするときに、ワードcpuiが同一アドレ
スにデータの書き込みを打うと、パイ)CPU2が読み
込もうとするデータを壊す虞れがある。
そこで、このマルチCPUシステムにおいては、少なく
ともバイトCPU2が共有メモリ3に対して1ワードの
データをアクセスする場合は、ワードCPUIによる共
有メモリ3のアクセスを禁止すると共に、このワードc
pu iを待機状態にするようにしである。なお、ここ
で少な(ともと述べているのは、少なくとも上記のよう
にすれば上述した問題点を解決することができるという
ことを意味し、実際のこの第10図のマルチCPUシス
テムではワードcpuiにより共有メモリ3をアクセス
している場合にも、パイ)CPU2を待機状態にするよ
うにしである。共像的には、ワードcpui及びパイ)
CPU2から夫々共有メモ+73をアクセスする場合に
は、夫々のアクセス要求信号S+sStを7リツプ70
ツブ回路で構成されたインターロック回路20の夫々の
入力端子に入力し、インターロック回路20の両出力の
ナンドなとった出力で共有メモリ3とワードcpuiあ
るいはパイ)CPU2とのアクセスが可能となるように
しである。ここで、ワードCPUIからのアクセス要求
信号S2は、パイ)CPU2が1ワードのデータのアク
セスを行う場合に出力されるワードアクセス信号S、を
反転した出力とのアンドをとってインターロック回路2
0に入力してある、つまり、これによりバイトCPU2
が1ワードのデータのアクセスを行っている場合には、
ワードCPUIからのアクセス要求信号S2がインター
ロック回路20に入力されないようにし、パイ)CPU
2が1ワードのデータの残りの1パイFをアクセスしよ
うとしているときに、ワードCPUIが共有メモリ3を
アクセスすることがないようにしである。そして、夫々
のインターロック回路20の出力を反転した出力と、ア
クセス要求信号S、、S2とのアンドをとって待機信号
54tS、を作成し、この待機信号S。S、により一方
のCPUがアクセスしているときは、他方のCPUをf
!慨状態にするようにしである。このようにしてこのマ
ルチCPUシステムでは、パイ)CPU2が1ワードの
データをアクセスするときの共有メモリ3上の1ワード
データの保証を行うようにしである。
ところが、このマルチCPUシステムにおいては、一方
のCPUがアクセスを行っている場合、そのアクセスす
るアドレスが同一であるか否かに拘わらず、他方のCP
Uは待機状態になり、情報処理に時間を要する問題があ
りだ。
第11図は特開昭60−245063号公報のマルチC
PUシステムであり、このマルチCPUシステム以前の
マルチCPUシステムではデータの受け渡しに時間を要
する点に着目し、これを改善するようにしたものである
。このマルチCPUシステムでは、非同期で共有メモリ
3とのアクセスを行う2つのCPU1,2が共有メモリ
3をアクセスする時間帯を交互に割付け、例えばCPU
1が共有メモリ3とアクセスするように割付けた時間帯
にCPUIからアクセス要求が為されたときに、CPU
1による共有メモリ3へのアクセスを許容するようにし
たものである。このマルチCPUシステムでは、連続パ
ルスを発するパルス発生部21と、このパルス、発生部
21からの出力で交互にセット、リセットされる7リツ
プ70ツブ22と17リツプ70ツブ22の夫々の出力
とCPUI、2からのアクセス要求信号A、Bとのアン
ドをとるアンドデー)23.24と、このアンドデー)
23.24の夫々の出力によりセットされる7リツプ7
0ツブ25,26と、7リツプ70ツブ25,26のい
ずれがセットされているかでCPUI、2のいずれかの
アドレスを選択して、このアドレスへのCPU1,2の
アクセスを許容するアドレスセレクタ27とを備えてい
る。つまり、CPU1,2に対応する7リツプ70ツブ
22の出力Q、Qがハイレベルのときにcpui、2か
らアクセス要求信号A、Bが出力された場合、いずれか
の7リツプ70ツブ25.26がセットされ、このとき
にCPU1,2にラッチしであるアドレスへのアクセス
が許容されるのである。なお、夫々のCPUI、2は周
辺回路であるアドレスラッチを含んだものでおり、この
アドレスラッチにアクセスするアドレスをラッチするよ
うにしである。
また、夫々の7リツプ70ツブ25.26の反転出力Q
は他方の7リツプ70γプ25,26に接続されたアン
ドデート23,24のインヒビット端子に入力され、一
方のCPUがアクセスしているときには、他方のCPU
はアクセスすることができないようにしである。さらに
、アクセスが終了したとき1貴CPUI、2から出力さ
れる終了信号EltE2によって夫々の7リツププロツ
プ25゜26がリセットされる。このマルチCPUシス
テムでは、割り当てられた時間帯にアクセスしなかった
場合に待ち時間が生じるだけで従来のマルチCPUシス
テムよりはデータの受け渡し時間が改善されている。と
ころが、このマルチCPUシステムにおいても、一方の
CPUがアクセスを行っている場合、そのアクセスする
アドレスが同一であるか否かに拘わらず、他方のCPU
は待機状態になり、情報処理に時間を要する問題は残っ
ている。
そこで、一のCPUからアクセスされているときに、他
のCPUが同一アドレスに対してアクセスを行った(以
下、この状態を競合状態と呼ぶ)場合、に、他のCPU
のアクセスを待たせる調停信号を出力して調停を行う競
合調停端子としてのビジー(Busy)端子を備えたデ
ュアルポートメモリである共有メモリ3を用いたマルチ
CPUシステムがある。この共有メモリ3としては例え
ば富士通!!MB8421がある。つまり、この共有メ
モリ3は、アドレスとチップセレク)(C8)信号が競
合した場合に、先着したCPUに制御権を与え、他方の
CPUに対してはビジー信号B usyをローレベルに
してアクセスを待たせる。なお、このマルチCPUシス
テムでは、第12図に示すように、この共有メモリ3を
用いて、上記CPU1,2と共有メモリ3を介して相互
に情報の受け渡しを行うようにしである。ところで、上
述したCPUI。
2は例えばインテル系8085.8086等で、これら
のCPU1,2はレディー (Ready)端子(アク
セス可能であればハイレベルになる)を備えており、こ
のレディ一端子を共有メモリ3が備えるビジー(Bus
y)端子に直結することにより、共有メモリ3の競合調
停を容易に実現することができるようになっている。つ
まり、このマルチCPUシステムでは、例えばCPU1
が共有メモリ3とアクセスを行っており、CPU2が共
有メモリ3の同一アドレスをアクセスした場合、共有メ
モリ3はCPU2に対してビジー(Busy)信号B 
usy2をローレベルにして、CPU2のアクセスをウ
ェイト状態にし、cpuiのアクセスが完了するまでC
PU2のアクセスを待たせる。従って、CPU2はCP
UIのアクセスが完了、つまりビジー信号Busy2が
ハイレベルとなった後初めてアクセスが開始される。つ
まり、上述のようにして共有メモリ3の同一アドレスに
対する同時アクセスが発生した場合の調停が打われてぃ
た。なお、第12図中の制御信号Cntは、リード(R
ead)信号π−■、ライ)(Write)信号WT、
及びチップセレクト信号O8などである。
ところが、所謂1チツプマイコンと呼ばれるCPU(例
えば、インテル系8031等)の場合には、上記レディ
一端子及びそれに類する端子が設けられておらず、上述
したCPUのように共有メモリ3のビジ一端子をCPU
のレディ一端子と直結して共有メモリ3の競合調停を行
うことができなかった。
[発明が解決しようとする課題] 本発明は上述の点に鑑みて為されたものであり、その目
的とするところは、制御端子を備えていない所謂1チツ
プマイコンを用いた場合でも共有メモリの競合調停を行
うことができる共有メモリ制御方式を提供することにあ
る。
[課題を解決するための手段1 上記目的を達成するために、本発明はCPUと共有メモ
リとの間でデータの読み出しあるいは書き込みを行う際
に、上記データの7ドレス及びそのデータを夫々一旦ラ
ッチするアクセス調停用ラッチと、上記共有メモリの競
合調停端子がら出力される調停信号に応じて上記アクセ
ス調停用ラッチと共有メモリとの間でのデータの読み出
しあるいは書き込みのタイミングを制御するタイミング
制御回路とを制御端子を備えていないCPUと共有メモ
リとの間に設けである。
[作用1 上述のように制御端子を備えていないCPUと共有メモ
リとの開にアクセス調停用ラッチとタイミング制御回路
とを備えることにより、制御ll端子を備えていないC
PUと共有メモリとの)irlでデータの読み出しある
いは書き込みを行う場合に、共有メモリの競合調停端子
出力を見て上記タイミング制御回路が競合の有無に応じ
てアクセス調停用ラッチと共有メモリとの間のデータの
読み出しあるいは書き込みのタイミング制御を適宜行う
ことにより、所謂1チツプマイコンを用いた場合でも共
有メモリの競合調停を行うことができるようにしたもの
である。
(実施例1) 第1図乃至第7図に本発明の一実施例を示す。
本実施例も、共有メモリ3として他のCPUが共有メモ
リの同一アドレスに対してアクセスを行った場合に、他
のCPUのアクセスを待たせる調停信号を出力して調停
を行う競合調停端子を備えたデュアルポートメモリを用
いたものであり、上述したレディ一端子及びそれに類す
る端子が設けられていない所謂1チツプマイコンである
CPUIと、レディ一端子を備えるCPU2との間で上
記共有メモリ3を介して相互に情報の受け渡しを行うも
のである。そして、上記CPUIと共有メモリ3の間で
相互に情報の受け渡しを行う場合には、CPUI、2と
の間での競合調停を行う必要があるので次の構成を備え
ている。つまり、本実施例においては、CPUIと共有
メモリ3との間でデータの読み出しあるいは書き込みを
行う際に、上記データのアドレス及びそのデータを夫々
一旦うフチするアクセス調停用ラッチを設けると共に、
上記共有メモリ3の競合調停端子であるビジ一端子Bu
sy、から出力される調停信号に応じて上記アクセス調
停用ラッチと共有メモリ3との間でのデータの読み出し
あるいは書き込みのタイミングを制御するタイミング制
御回路18を設けである。上記アクセス調停用ラッチと
しては、C−PUIから共有メモリ3にデータを書き込
む場合及び読み出す場合に、そのデータのアドレスをラ
ッチするラッチ4と、共有メモリ3にそのデータを書き
込む場合にそのデータを一旦うフチするD7リツプ70
ツブ(以下、D−FFと呼び、これらD−FF出力はス
リーステート出力となっている)5と、共有メモリ3か
らデータを読み出す場合にそのデータを一旦ラッチする
D−FF6とで構成しである。タイミング制御回路18
は、CPUIからリード信号「「あるいはライト信号W
 T frt出されたときに、CPU2と競合(CPU
2が先着)している場合にビジー信号Busy、が競合
なしの状態になるまで、上記D−FF5,6と共有メモ
リ3とのデータの受け渡しを待たせるもので、負論理の
アンド回路7゜8、ノア回路9、オア回路10〜14、
抵抗R1゜R2及びコンデンサC,,C2で構成しであ
る。
以下、本実施例の動作を説明する。まず、CPU1から
共有メモリ3にデータを書き込む場合で、CPU2と競
合がないとき、あるいはCPU2との競合があってもc
puiの方が先着であるときについて第2図に従って説
明する。cpuiが共有メモリ3をアクセスする場合、
第2図(b)、(c)に示すように、cpuiのチップ
セレクト出力Cンドをアンド回路8でとった出力C0W
Tが第2図(e)に示すようにローレベルになると共に
、ノア回路9出力C0RWが同図(f)に示すようにハ
イレベル状態になる。上記書き込まれるデータのアドレ
スは上記ノア回路9出力C0RWの立ち上がりにより第
2図(h)に示すようにラッチ4にラッチされる。なお
、@軽込まれるデータ自体は、アンド回路8出力C0W
Tの立ち上がりによりD−FF5にラッチされる。
次に、実際の共有メモリ3への書き込みについで説明す
る。この実際のデータの書き込みは第2図(g)に示す
オア回路13出力DWTにて行われる。この場合には、
CPU2との競合がないか、あるいはCPU1の方がC
PU2よりも先着した場合であるから、ビジー信号Bu
sy+はハイレベルで、従ってオア回路13出力DWT
はアンド回路8出力C0WTがローレベルとなると同時
にローレベルとなる。よって、上記オア回路13出力D
WTが接続された共有メモリ3のライト端子W1〒及び
D −F F 5の出カニネーブルOEがローレベルと
なる。また、このとき上記オフ回路13出力DWTを一
方の入力とするオア回路14出力もローレベルとなり、
オア回路14出力が接続された共有メモリ3のチップセ
レクト端子C81が第2図(j)に示すようにローレベ
ルになるので、CPU1からライト信号WTが入力され
ると同時に共有メモリ3へのデータの書き込みが可能と
なる。
そして、cpuiのライト信号W1−が立ち上がると、
アンド回路8出力C0WTも立ち上がり、D−F F 
5にデータがラッチされる。このとき、オア回路12に
入力されるビジー信号Busy1及びアンド回路8出力
C0WTが共にハイレベルとなるので、オア回路12出
力はハイレベルになる。しかし、オア回路13出力DW
Tは、抵抗R2とコンデンサC2の時定数τ2の期間ロ
ーレベルに保持され、この時定数τ2だけ遅れて立ち上
がるオア回路13出力DWTにて共有メモリ3への実際
のデータの書き込みが行われる。なお、上記時定数τ2
は共有メモリ3の書き込みに要する時間に設定しである
。ところで、上記CPUIが書き込みを行っている期間
に、CPU2から共有メモリ3の同一アドレスに対する
同時アクセスが発生した場合には、第2図(k)に示す
ように共有メモリ3のCPU2のレディ一端子に直結さ
れたビジ一端子B usy、がローレベルとなり、CP
U2のアクセスはcrt31の書き込みが終了するまで
待たされる。なお、競合がない場合には、第2図(k)
中の一点鎖線に示すようにビジー信号B usy、はハ
イレベル状態のままである。また、第2図(k)中の時
間t1は、共有メモリ3の競合状態の解除に要する遅れ
時間である。
次に、CPU1,2が競合し、しかもCPU2が先着し
てアクセスした場合について第3図に従って説明する。
この場合にはラッチ4にラッチされたデータのアドレス
が共有メモリ3に読み出された状態で、第3図(g)に
示すようにビジー信号Bu’AY+がローレベルになる
ため、同図(e)に示すようにアンド回路8出力C0W
Tが立ち上がっても、同図(11)に示すようにオア回
路13出力DWTが立ち上がらない。従って、cpu 
iからのデータの書き込みはCPU2のアクセスが終了
するまで待たされることになる。そして、ビジー信号B
usy、が第3図(g)に示すように立ち上がると、上
述したように時定数τ2遅れてオア回路13出力DWT
が立ち上がる(同図(h))ことにより、D−FF5に
ラッチされたデータが共有メモリ3に書外込まれる。
CPUIにて共有メモリ3からデータの読み出しを行う
動作について説明する。なお、まず競合がないか、ある
いは競合があってもCPUIの方が先着である場合につ
いて第4図に従って説明する。データの読み出しを行う
場合、第4図(b)、(c)に示すようにCPU1のリ
ード信号RD及びチップセレクト信号C8が共にローレ
ベルとなり、従って同図(e)に示すようにアンド回路
7出力C0RDがローレベルになる。このとき、ノア回
路9出力C0RWが@4図(f)に示すようにハイレベ
ルに立ち上がるため、読み出しを行うデータのアドレス
はラッチ4にラッチされる。また、読み出すデータをラ
ッチするD−FF6の出力イネーブルされているので、
アンド回路7出力C0RDによ1)D−FF6にラッチ
されたデータがCPUIに読み出される。なお、このと
きD −F F 6には共有メモリ3との間で前回に読
み出し動作を行ったときのデータがラッチされており、
従って上記CPUIによる読み出し動作では1回前にア
クセスしたときのデータを読み出すことになる。このよ
うに、本実施例における読み出しについては、共有メモ
リ3の2回のアクセスによりデータの読み出しが行われ
る。そして、第4図(e)に示すようにアンド回路7出
力C0RDが立ち上がると、抵抗R2及びコンデンサC
1の時定数τ、だけ遅れて第4図(g)に示すようにオ
ア回路11出力DRDが立ち上がり、このオア回路11
出力DRD75’D−F F 6のクロック端子CKに
入力されることにより、共有メモリ3からのデータがD
−FF6に8き込まれる。なお、上記時定数τ1は共有
メモI73の読み出しに要する時間に設定しである。ま
た、共有メモリ3の出力イネーブル端子OEにはオア回
路11出力D RDが入力され、チップセレクトa子C
8,にはオア回路14出力が入力されている。なお、C
PU2が競合した場合には、上述した書き込み動作時の
場合と同様に第4図(1)に示すようにビジ一端子B 
usy2がローレベルになる。
また、CPU1,2が競合し、CPU2の方が先着であ
る場合には、第5図(g)に示すようにビジー信号B 
usy、が立ち上がった復時定数τ、遅れた時に、共有
メモリ3からD−FF6にデータが読み出される。この
ように本実施例によれば、レディ一端子を備えていない
CPUIと共有メモリ3との闇でデータの読み出しある
いは書き込みを行う場合に、共有メモリ3のビジ一端子
の出力を見て上記タイミング制御回路18が競合の有無
に応じてラッチ4と共有メモリ3との間のデータの読み
出しあるいは書き込みのタイミング制御を適宜行うこと
ができ、このため所謂1チツプマイフンを用いた場合で
も共有メモリ3の競合調停を行うことができる。
ところで、$6図に示す回路としても同様の効果が得ら
れる。このタイミング制御回路18では、アンド回路8
の夫々の出力C0WTでプリセットされ、アンド回路7
の出力C0RDでクリアされるD−FF15を備え、夫
々の出力Q、Qとビジー信号Busylとのアンドをア
ンド回路16.17でとり、このアンド回路16.17
の出力をオア回路10.12に入力するようにし、CP
UIのデータの読み出し及び書き込み動作の夫々の動作
時にビジー信号Busy+がf&段回路の読み出し側及
び書き込み側だけに供給されるようにしたものであり、
アンド回路16.17の出力タイミングはビジー信号B
usy+と同じである。従って、この回路の動作は、ビ
ジー信号Busy1がアンド回路16.17の出力に変
わるだけで、上述の実施例と同じ動作となる。
(実施例2) 第8図及び第9図に本発明の他の実施例を示す。
上述の実施例でのCPUIの共有メモリ3への書き込み
動作をプログラムで示すと次のようになる。
なお、このプログラム例はインテル系8031を用いた
場合を示す。
MOV   A、#DATA 1   −=step1
MOV   DPTR,#Add、1  −step2
MOVX  @DPTR,A     −step3M
OV   A、#DATA2   −step4MOV
   DPTR,#Add、2  −step5MOV
X  @DPTR,A     −5te+)6つまり
、上記プログラムの動作は、 5tep 1で書き込みデータ(DATAI)を設定5
tep2で書き込みアドレス(add、 1 )を設定
5tep 3でadd、 1 ヘのデータ(DATAI
)の書き込み 5tep 4で次の書き込みデータ(DATA2)を設
定5tep 5で次の書き込みアドレス(acid、 
2 )を設定5tep 6でadd、2へのデータ(D
ATA2)の書き込み というものである。
上述の第1図実施例では、第7図<a)に示すようにC
PU 1が書き込みを実行する(step3 )前に、
同図(e)に示すようにCPU2が同一アドレスに対し
てアクセスを始めている場合、同図(d)に示すように
共有メモリ3のビジ一端子Busy、はローレベルとな
る。そして、CPU2のアクセスが完了すると、遅れ時
間t+′t&にビジ一端子B usy、がハイレベルに
戻る。その後、上述のタイミング制御回路18により共
有メモリ3への書き込み可能時間τ2後にライト端子W
T、、チップセレク端子C81はハイレベルに戻る。
ところで、このようにライト端子WT、等がハイレベル
に戻るまでに第2図(a)の破線にて示すように次の書
き込みが開始される(step6 )と、同図(e)、
(d)に示すようにライ)I子WT、及びチップセレク
)C3,は破線で示すようにローレベルのままで、次の
データ(DATA2)の書き込み動作に入ってしまう。
つまり、このような場合、先のデータ(DATAI)の
書き込みができなくなるのである。このような状態が発
生するのは、T 2+ t、十τ2>TI となる場合である。通常、CPU2としては任意のCP
Uを想定しているので、アクセス時間T2の氏いCPU
2である場合は上記条件を満たし、CPU1からの書き
込みは保証されないことになる。このことは、読み出し
時にも同様に発生する可能性がある。
そこで、本実施例ではラッチ4にラッチされたアドレス
のデータの共有メモリ3への書き込みあるいは読み出し
が完了したことを、CPU1がタイミング制御回路18
のオア回路14の出力C87から検知し、上記書き込み
あるいは読み出しが完了しない限り、次のアクセスを行
わないようにしである。このため、CPU1の入カポ−
)Portlにタイミング制御回路18のオア回路14
の出力C8,を入力して、書き込み完了を検知し、ラッ
チ4にラッチされたアドレスのデータの共有メモリ3へ
の書き込みあるいは読み出しが完了しない限り、次のア
クセスを行わないようにする制御手段をCPUIのロジ
ック回路でソフトウェア的に構成しである。
本実施例の書き込み動作のプログラムは次のようになる
MOV    A、#DATA1    −stepl
MOV    DPTR,#Add、1  −step
2MOVX  @DPTR,A      −step
3MOV    A、#DATA2    −step
4MOV    DPTR,$Add、2  −5te
psJ N B    Port 1 t$     
   =step6M OV X  @ D P T 
R* A      ・・・5tep7このプログラム
の5tep 1〜5tep 5までは上述の第1の実施
例の場合と同様であり、 5tep 6で前回の書き込み(Add、1)が完了す
るまで待つ 5tep7でAdd、2へのデータ(DATA2)の書
き込み というプログラムを実行する。つまり、上述の第1の実
施例の動作で説明したような場合にも、CPUIは次の
アクセス(step7)を始める前に、先のアクセス(
step3 )の完了を検知し、即ちオア回路14の出
力C8,がfjfJ9図(e)に示すようにハイレベル
になったことを、この出力C81が入力される入カポ−
)PorLlの入力信号状態から知′す、書き込みの実
行の完了後に、同図(a)に示すように次のアクセスを
実行するようにしである。従って、第1の実施例のよう
に先のアクセスが実行できなくなるということがない。
[発明の効果1 本発明は上述のように、制御端子を備えていないCPU
と共有メモリとの間でデータの読み出しあるいは書き込
みを行う際に、上記データの7ドレス及びそのデータを
夫々一旦ラッチするアクセス調停用ラッチを設けると共
に、上記共有メモリの競合調停端子から出力される調停
信号に応じて上記アクセス調停用ラッチと共有メモリと
の間でのデータの読み出しあるいは書き込みのタイミン
グを制御するタイミング制御回路を設けであるので、上
記制wi子を備えていないCPUと共有メモリとの間で
データの読み出しあるいは書き込みを行う場合に、共有
メモリの競合調停端子出力を見て上記タイミング制御回
路が競合の有無に応じてアクセス調停用ラッチと共有メ
モリとの間のデータの読み出しあるいは書き込みのタイ
ミング制御を適宜行うことができ、このため所iI¥1
チップマイコンを用いた場合でも共有メモリの競合調停
を行うことができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の回路図、第2図及び第3図
は同上の書き込み動作の説明図、第4図及び第5図は同
上の読み出し動作の説明図、第6図は別のタイミング制
御回路を示す回路図、第7図は同上の動作説明図、第8
図は他の実施例の回路図、第9図は同上の動作説明図、
第10図は従来例の回路図、第11図は他の従来例の回
路図、第12図はさらに他の従来例の概略慴成図である
。 1.2はCPU、3は共有メモリ、4はラッチ、5.6
はD−FF、18はタイミング制御回路、B115y+
 t B uSy2はビジ一端子である。 代理人 弁理士 石 1)長 七 第2図 □↑ 第10図 第11図

Claims (3)

    【特許請求の範囲】
  1. (1)共有メモリを用いて複数のCPUの間で相互に情
    報の受け渡しを行うマルチCPUシステムにおいて、共
    有メモリが一のCPUからアクセスされているときに、
    他のCPUが共有メモリの同一アドレスに対してアクセ
    スを行った場合に、他のCPUのアクセスを待たせる調
    停信号を出力して調停を行う競合調停端子を上記共有メ
    モリが備え、この競合調停端子に直結してCPU側のア
    クセスを待たせる制御端子を備えたCPUと、上記制御
    端子を備えていないCPUとの間で、上記共有メモリを
    用いて相互に情報の受け渡しを行う場合の競合調停を行
    う共有メモリ制御方式であって、上記制御端子を備えて
    いないCPUと共有メモリとの間でデータの読み出しあ
    るいは書き込みを行う際に、上記データのアドレス及び
    そのデータを夫々一旦ラッチするアクセス調停用ラッチ
    と、上記共有メモリの競合調停端子から出力される調停
    信号に応じて上記アクセス調停用ラッチと共有メモリと
    の間でのデータの読み出しあるいは書き込みのタイミン
    グを制御するタイミング制御回路とを上記制御端子を備
    えていないCPUと共有メモリとの間に設けて成る共有
    メモリ制御方式。
  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 共有メモリ制御方式
EP88117755A EP0314069B1 (en) 1987-10-26 1988-10-25 Multi-CPU system using common memory
DE3850212T DE3850212T2 (de) 1987-10-26 1988-10-25 Vielfach-CPU-System mit gemeinschaftlichem Speicher.
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 true JPH01199261A (ja) 1989-08-10
JP2749819B2 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 주식회사 팬택 원격 함수 제어 기능을 가지는 개인 휴대 단말기 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60247767A (ja) * 1984-05-24 1985-12-07 Nec Corp 共有メモリの読出し書き込み動作の同時入出力方式
JPS6257050A (ja) * 1985-09-06 1987-03-12 Nippon Signal Co Ltd:The 共有メモリ装置

Family Cites Families (19)

* 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
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
US4797815A (en) * 1985-11-22 1989-01-10 Paradyne Corporation Interleaved synchronous bus access protocol for a shared memory multi-processor system
US4862348A (en) * 1986-01-20 1989-08-29 Nec Corporation Microcomputer having high-speed and low-speed operation modes for reading a memory
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60247767A (ja) * 1984-05-24 1985-12-07 Nec Corp 共有メモリの読出し書き込み動作の同時入出力方式
JPS6257050A (ja) * 1985-09-06 1987-03-12 Nippon Signal Co Ltd:The 共有メモリ装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US4426681A (en) Process and device for managing the conflicts raised by multiple access to same cache memory of a digital data processing system having plural processors, each having a cache memory
US5021950A (en) Multiprocessor system with standby function
US4587609A (en) Lockout operation among asynchronous accessers of a shared computer system resource
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4698753A (en) Multiprocessor interface device
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
JP2510799B2 (ja) デ―タ処理装置およびメモリコントロ―ラ
JPS59111561A (ja) 複合プロセツサ・システムのアクセス制御方式
US5142682A (en) Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US4612542A (en) Apparatus for arbitrating between a plurality of requestor elements
JPH07105146A (ja) 共有メモリ装置
CA2051177C (en) Bus master with antilockup and no idle bus cycles
JPH0683763A (ja) 中央アービタをスレーブアービタに変換する方法およびシステム
JPH01199261A (ja) 共有メモリ制御方式
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US7600065B2 (en) Arbitration scheme for shared memory device
KR20010077995A (ko) 마이크로컨트롤러에서의 2중-포트 램 동작에 대한 충돌검출방법
US5377334A (en) Fast asynchronous resource master-slave combination
US4998030A (en) Circuit to arbitrate multiple requests for memory access
EP0130471A2 (en) Interface controller for connecting multiple asynchronous buses and data processing system including such controller
JP2848082B2 (ja) Dmaバス調停方式
JPS60169969A (ja) マルチプロセツサシステム
JP2000250852A (ja) バス調停装置、バスシステムおよびバス調停方法
JPH11203253A (ja) 共有資源排他アクセス制御方式
JP2697420B2 (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