JP2852149B2 - セマフォビット回路 - Google Patents

セマフォビット回路

Info

Publication number
JP2852149B2
JP2852149B2 JP28530391A JP28530391A JP2852149B2 JP 2852149 B2 JP2852149 B2 JP 2852149B2 JP 28530391 A JP28530391 A JP 28530391A JP 28530391 A JP28530391 A JP 28530391A JP 2852149 B2 JP2852149 B2 JP 2852149B2
Authority
JP
Japan
Prior art keywords
state
memory access
circuit
microprocessor
storage circuit
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 - Fee Related
Application number
JP28530391A
Other languages
English (en)
Other versions
JPH05127974A (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.)
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Original Assignee
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
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 NIPPON DENKI AISHII MAIKON SHISUTEMU KK filed Critical NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Priority to JP28530391A priority Critical patent/JP2852149B2/ja
Publication of JPH05127974A publication Critical patent/JPH05127974A/ja
Application granted granted Critical
Publication of JP2852149B2 publication Critical patent/JP2852149B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はセマフォビット回路に関
し、特に2つのプロセッサが1つのメモリを共有する場
合にプロセッサのメモリアクセスの競合を防ぐセマフォ
ビット回路に関する。
【0002】
【従来の技術】図6は、1つのメモリ74を共有するプ
ロセッサを2つ有する環境で、2つのプロセッサ70,
71が同時にメモリアクセスを実行しないように制御す
るセマフォビット72を示すブロック図である。第1,
第2のプロセッサ70,71,共有メモリ74は、デー
タバス73で接続されている。
【0003】図7は、図6のセマフォビット72に関す
る従来の動作を示した流れ図である。図7において、ま
ずプロセッサ70がメモリアクセスを実行しようとした
時に、プロセッサ71がメモリアクセスを実行していな
いか確かめるために、セマフォビット72に対して
〔1〕を書込む(図7のT1状態)。次にそのセマフォ
ビット72の地を読みだす(図7のT2状態)。そして
読みだした値を判定し(図7の状態T3)、〔1〕なら
ばプロセッサ71がメモリアクセスを実行していない状
態と判断し、メモリアクセスを実行する(図7のT4状
態)。そして終了したらセマフォビット72に対して
〔0〕を書込み、自身のアクセスが終了したことを示す
(図7のT5状態)。
【0004】しかし、読みだした値が
〔0〕だった場合
は、プロセッサ71がメモリアクセス中と判断し、また
セマフォビット72に対して〔1〕を書込み(図7のT
1状態)、読みだし(図7のT2状態)、判定する(図
7のT3状態)という動作をプロセッサ71のメモリア
クセスが終了するまで(読みだした値が〔1〕になるま
で)繰返し、
〔0〕を読み出したら自身のメモリアクセ
スを開始する。
【0005】この動作を回路にしたのが図8で、そのタ
イミングチャートが図9である。図8,図9において、
データバス43は、プロセッサ70がメモリアクセスを
行ないたい時、これに〔1〕を出力し、その後読みだし
てプロセッサ71のメモリアクセスの状況を判定するも
のである。ラッチ41はデータバス43の値を一定保持
しておくもので、この出力信号が〔1〕の時AND回路
48を禁止状態にして、ラッチ47へのデータバス50
の書込みを禁止し、
〔0〕を書込む。ライト信号44は
ラッチ41へデータバス43のデータを書込む信号であ
る。リード信号45は、出力バッファ46を導通させ、
データバス43にラッチ41の出力を読みだすことを許
可する信号である。データバス50,ラッチ47,ライ
ト信号51,リード信号52についても同様の機能を有
する。
【0006】プロセッサ70がメモリアクセスを実行を
するためには、まずデータバス43に〔1〕を出力し、
ライト信号44を〔1〕にして、ラッチ41に対して
〔1〕の書込みを行なう(図9の状態A1)。この時に
ラッチ41の入力は、ラッチ47の出力が
〔0〕である
と、ラッチ41には〔1〕が書込まれる。
【0007】ラッチ41に書込まれた値は、リード信号
45を〔1〕にすることで読みだされ(図9の状態A
2)、プロセッサ10内でメモリアクセス可(1)、不
可(0)の判定を行ない、可ならばプロセッサ70はメ
モリアクセスを実行し、終了したらデータバス43を
〔0〕にし、ライト信号44を〔1〕にしてメモリアク
セスが終了したことを示す(図9の状態A5)。もし、
プロセッサ70が先に述べた動作で、メモリアクセスを
実行中(図9のA2〜4状態)にプロセッサ71がメモ
リアクセスを要求した場合の動作は、プロセッサ71は
データバス50に〔1〕を出力し、ライト信号51を
〔1〕にして、ラッチB47に〔1〕の書込みを行なう
(図9の状態B1)。この場合ラッチ41の出力は、プ
ロセッサ70がメモリアクセス中なので〔1〕であるた
め、AND回路48によりラッチ47には
〔0〕が書込
まれる。
【0008】ラッチB47にラッチされた値はリード信
号B52を〔1〕にすることで読みだされ(図9の状態
B2)、プロセッサ71内でメモリアクセス可(1)、
不可(0)の判定を行なう。この場合は不可(0)の状
態であるため、またデータバス50とライト信号51を
〔1〕にし、ラッチ47に対して書込みを行ない、読み
だし、判断するという一連の動作(図9の状態B1〜
3)をラッチ41の出力が
〔0〕になるまで行ない、そ
の後自身のメモリアクセスを行なう。
【0009】
【発明が解決しようとする課題】一方のプロセッサのメ
モリアクセス実行中に、その終了判定を他方のプロセッ
サが行なう時に、毎回書込み、読み出し、判断という動
作を必要とするために、一方のプロセッサがメモリアク
セスを終了した後、他方のプロセッサが終了したと判断
するのに時間がかかり、メモリアクセス応答時間が遅く
なる欠点がある。
【0010】本発明の目的は、前記欠点を解決し、メモ
リアクセス応答時間が遅くならないようにしたセマフォ
ビット回路を提供することにある。
【0011】
【課題を解決するための手段】本発明の構成は、第1,
第2のマイクロプロセッサに共有される1個のメモリに
対して前記マイクロプロセッサによるアクセス競合を防
ぐためのセマフォビット回路において、前記第1,第2
のマイクロプロセッサによってそれぞれ内容が書きかえ
られるメモリアクセス要求を記憶する第1,第2の記憶
回路と、第2の記憶回路がメモリアクセス要求を記憶し
ていない(以降ディスエーブル状態と記す)で第1の記
憶回路メモリアクセス要求が記憶された(以降イネーブ
ル状態と記す)に設定された時及び第2の記憶回路にデ
ィスエーブル状態が設定された時に第1のマイクロプロ
セッサにメモリアクセス権があるという状態に設定され
るが、第1の記憶回路がディスエーブル状態で第2の記
憶回路がイネーブル状態に設定された時及び第1の記憶
回路にディスエーブル状態が設定された時に第2のマイ
クロプロセッサにメモリアクセス権があるという状態に
設定される第3の記憶回路と、第1のマイクロプロセッ
サが第1の記憶回路の内容を読み出した時に第3の記憶
回路が第1のマイクロプロセッサのイネーブル状態を記
憶している時は第1の記憶回路の内容をそのまま読み出
すが、第3の記憶回路が第2のマイクロプロセッサがイ
ネーブル状態であると記憶している時はディスエーブル
状態を読み出す第1の読み出し回路と、第2のマイクロ
プロセッサが第2の記憶回路の内容を読み出した時に第
3の記憶回路が第2のマイクロプロセッサのイネーブル
状態を記憶している時は第2の記憶回路の内容をそのま
ま読み出すが、第3の記憶回路が第1のマイクロプロセ
ッサがディスエーブル状態であると記憶している時はデ
ィスエーブル状態を読み出す第2の読み出し回路とを備
えたことを特徴とする。
【0012】
【実施例】図1は本発明の第1の実施例のセマフォビッ
ト回路の動作を示した流れ図である。
【0013】図1において、本実施例では、一方のプロ
セッサのみがメモリアクセスを実行しようとした場合
は、従来例と同様の動作を行なうが、一方のプロセッサ
がメモリアクセスを実行中、他方のプロセッサがその終
了判定を行なう時の動作に特徴がある(図1状態T1〜
T3)。
【0014】即ち、プロセッサ70がメモリアクセスを
実行中、プロセッサ71もメモリアクセスを実行しよう
とする時、最初の1回目のプロセッサ71の動作は、従
来例と同様にセマフォビットに〔1〕を書込み(図1状
態T1)、読みだし(図1状態T2)、判定(図1状態
T3)という動作を行なうが、2回目以降は読みだし
(図1状態T2)、判定(図1状態T3)、という動作
で済むようになっている。
【0015】この動作を実現した回路が図2で、そのタ
イミング図が図3である。
【0016】図2、図3において、データバス9は、プ
ロセッサ70がメモリアクセスを行ないたい時、これに
〔1〕を出力してラッチ8に書込み、その後読みだして
メモリアクセスを実行出来るか、出来ないかを判定する
ものである。ラッチ8はデータバス9の値を一時保持し
ておくものである。
【0017】ライト信号10はラッチ8への書込みを許
可する信号である。リード信号11は、AND回路13
及び出力バッファ12を介してデータバス9にメモリア
クセス実行可または不可の信号を読みだすことを許可す
る信号である。データバス17、ラッチ14、ライト信
号18、リード信号19についても同様の機能を有す
る。RSラッチ1は2つのプロセッサのメモリアクセス
の状態を入力し、入力Sが
〔0〕で入力Rが
〔0〕の
時、出力Qは前の値を保持し、入力Sが〔1〕で入力R
〔0〕の時、出力Qは〔1〕を出力、入力Sが
〔0〕
で入力Rが〔1〕の時、出力Qは
〔0〕を出力してラッ
チ8とラッチ14の出力値を制御する。
【0018】RSラッチ1への入力で、入力Rへの信号
はAND回路5,7、OR回路6で構成され、プロセッ
サ70がメモリアクセスを終了した時または、プロセッ
サ71がメモリアクセスを要求し、プロセッサ70がメ
モリアクセスを実行していない時に〔1〕になる。入力
Sへの信号はAND回路2,4、OR回路3で構成さ
れ、プロセッサ71がメモリアクセスを終了した時、ま
たはプロセッサ70がメモリアクセスを要求し、プロセ
ッサ71がメモリアクセスを実行しない時に〔1〕にな
るようになっている。それ以外の時は両方とも
〔0〕に
なる。
【0019】プロセッサ70がメモリアクセスの実行を
するために、まずデータバス9に〔1〕を出力し、ライ
ト信号10を〔1〕にする(図3状態C1)。この時R
Sラッチ1の入力はプロセッサBは何も動作していない
ので、入力Sが〔1〕になり、入力Rが
〔0〕になるた
め、出力Qは〔1〕になる。
【0020】ラッチ8に書込まれた値はリード信号11
を〔1〕にすることで読みだされ(図3状態C2)、そ
の後プロセッサ70内で判定を行なう。この場合は、R
Sラッチ1の出力が〔1〕なのでラッチ8の値はマスク
されず、読みだされる値はラッチ8の出力〔1〕で、メ
モリアクセスを行なえると判断する。
【0021】この時に、プロセッサ71もメモリアクセ
スを実行しようとすると、まずデータバス17に〔1〕
を書込み、ライト信号18を〔1〕にしてラッチ14に
対して書込みを行なう(図3状態D1)。この時のRS
ラッチ1は、プロセッサ70がメモリアクセス実行中の
ため、入力S、Rともに
〔0〕になり、出力Qは前の状
態〔1〕を保持する。続いて、リード信号19を〔1〕
にしてラッチ14の出力を読みだし(図3状態D2)、
その後プロセッサ71内で判断する。
【0022】この場合、ラッチ14の出力はAND回路
15によりRSラッチ1の出力Qでマスクされるため、
読みだした値は
〔0〕で、メモリアクセスは実行出来な
いと判断し、よって一方のプロセッサのメモリアクセス
が終了するのを、読みだし、判定の動作をして待つ。こ
の終了判定の動作は、1回目のラッチ14への書込みを
保持しておき、その値を、2つのプロセッサの動作状況
を判断するRSラッチ1の出力で制御するため、毎回の
書込み動作が不用になり、リード信号18を〔1〕にし
て、その値を読みだし、プロセッサ71内で判断すると
いう動作のみで済む。
【0023】プロセッサ70がメモリアクセスを終了す
る時は、データバス9に
〔0〕を出力し、ライト信号1
0を〔1〕にして終了したことを示す。この時RSラッ
チ1は、プロセッサ70がメモリアクセスを終了したた
め、入力Sが
〔0〕、入力Rが〔1〕になることによ
り、出力Qが
〔0〕になる。すると、今度はラッチ8の
出力がマスクされ、ラッチ14の出力がそのまま読みだ
されることにより、プロセッサ71のメモリアクセスを
実行することが出来る。そしてそのメモリアクセスを実
行し、終了したら、プロセッサ71はデータバス17に
〔0〕を出力し、ライト信号18を〔1〕にして自身の
メモリアクセスが終了したことを示す。
【0024】次に本発明の第2の実施例を、図4,図5
を用いて説明する。
【0025】前記第1の実施例は、メモリアクセスを要
求する時にデータバスに〔1〕を書込み、読みだした値
が〔1〕ならばメモリアクセスを実行するが、本実施例
ではANDゲートをNANDゲート33,36に変え、
データバスの書込時にインバータ28,35を付加する
ことにより、
〔0〕を書込み、読みだした値が
〔0〕な
らば、メモリアクセスを行なうような不論理でも実現出
来るようにした。
【0026】本実施例は、第1の実施例とラッチ27と
ラッチ34とに書込もうとする値が逆の値であることが
異なるだけで、他の動作は同様であるので説明を省略す
る。
【0027】
【発明の効果】以上説明したように、本発明は、一プロ
セッサのメモリアクセス実行中にその終了判定を他のプ
ロセッサが行なう時に、2回目以降の判定動作を、読み
出し、判断という動作だけで実現できるため、一プロセ
ッサがメモリアクセスを終了した後、他のプロセッサが
終了したと判断するまでの時間が短縮でき、メモリアク
セス応答時間が早くなる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例のセマフォビット回路の
動作の流れ図である。
【図2】図1の実施例のセマフォビットを実現した回路
図である。
【図3】図2の回路のタイミング図である。
【図4】本発明の第2の実施例のセマフォビットを実現
した回路図である。
【図5】図4の回路のタイミング図である。
【図6】メモリ共有の2つのプロセッサのシステムを示
すブロック図である。
【図7】従来のセマフォビット回路の動作の流れ図であ
る。
【図8】図7のセマフォビットの回路図である。
【図9】図8の回路のタイミング図である。
【符号の説明】
1,20 RSラッチ 2,4,5,7,13,15,21,23,24,2
6,42,48 AND回路 3,6,22,25 OR回路 8,14,27,34,41,47 ラッチ 9,17,29,38,43,50 データバス 10,18,30,39,48,51 ライト信号 11,19,31,40,45,52 リード信号 12,16 出力バッファ 28,32,35,37,46,49 インバータ回
路 70,71 マイクロプロセッサ 72,80,81,82 セマフォビット 73 データバス 74 共有メモリ
フロントページの続き (56)参考文献 特開 昭63−251854(JP,A) 特開 昭52−101940(JP,A) 特開 平2−144656(JP,A) 特開 平2−288939(JP,A) 特開 昭60−118961(JP,A) 特開 昭61−183770(JP,A) 特開 平1−169559(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 G06F 15/16 350

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1,第2のマイクロプロセッサに共有
    される1個のメモリに対して前記マイクロプロセッサに
    よるアクセス競合を防ぐためのセマフォビット回路にお
    いて、前記第1,第2のマイクロプロセッサによってそ
    れぞれ内容が書きかえられるメモリアクセス要求を記憶
    する第1,第2の記憶回路と、前記第2の記憶回路が前
    記メモリアクセス要求を記憶していないいわゆるディス
    エーブル状態で前記第1の記憶回路に前記メモリアクセ
    ス要求が記憶されたいわゆるイネーブル状態に設定され
    た時及び前記第2の記憶回路にディスエーブル状態が設
    定された時に前記第1のマイクロプロセッサにメモリア
    クセス権があるという状態に設定され、かつ前記第1の
    記憶回路がディスエーブル状態で前記第2の記憶回路が
    イネーブル状態に設定された時及び前記第1の記憶回路
    にディスエーブル状態が設定された時に前記第2のマイ
    クロプロセッサに前記メモリアクセス権があるという状
    態に設定される第3の記憶回路と、前記第1のマイクロ
    プロセッサが前記第1の記憶回路の内容を読み出した時
    に前記第3の記憶回路が前記第1のマイクロプロセッサ
    のイネーブル状態を記憶している時は前記第1の記憶回
    路の内容をそのまま読み出し、かつ前記第3の記憶回路
    が前記第2のマイクロプロセッサがイネーブル状態であ
    ると記憶している時はディスエーブル状態を読み出す前
    記第1の読み出し回路と、前記第2のマイクロプロセッ
    サが前記第2の記憶回路の内容を読み出した時に前記第
    3の記憶回路が前記第2のマイクロプロセッサのイネー
    ブル状態を記憶している時は前記第2の記憶回路の内容
    をそのまま読み出し、かつ前記第3の記憶回路が前記第
    1のマイクロプロセッサがディスエーブル状態であると
    記憶している時はディスエーブル状態を読み出す前記第
    2の読み出し回路とを備えたことを特徴とするセマフォ
    ビット回路。
  2. 【請求項2】 第1,第2の記憶回路がD型フリップ・
    フロップ、第3の記憶回路がRS型フリップ・フロップ
    である請求項1記載のセマフォビット回路。
JP28530391A 1991-10-31 1991-10-31 セマフォビット回路 Expired - Fee Related JP2852149B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28530391A JP2852149B2 (ja) 1991-10-31 1991-10-31 セマフォビット回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28530391A JP2852149B2 (ja) 1991-10-31 1991-10-31 セマフォビット回路

Publications (2)

Publication Number Publication Date
JPH05127974A JPH05127974A (ja) 1993-05-25
JP2852149B2 true JP2852149B2 (ja) 1999-01-27

Family

ID=17689784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28530391A Expired - Fee Related JP2852149B2 (ja) 1991-10-31 1991-10-31 セマフォビット回路

Country Status (1)

Country Link
JP (1) JP2852149B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6129976B2 (ja) * 2012-10-04 2017-05-17 クゥアルコム・インコーポレイテッドQualcomm Incorporated 高効率アトミック演算を使用した方法および装置

Also Published As

Publication number Publication date
JPH05127974A (ja) 1993-05-25

Similar Documents

Publication Publication Date Title
KR900004006B1 (ko) 마이크로 프로세서 시스템
JP2852149B2 (ja) セマフォビット回路
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
JPS6319058A (ja) メモリ装置
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JPS61165170A (ja) バス制御方式
JPH029401Y2 (ja)
JPH09311812A (ja) マイクロコンピュータ
JPS59116866A (ja) 計算機システムの記憶装置
JP3266610B2 (ja) Dma転送方式
JPS6238743B2 (ja)
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH0554005A (ja) マルチプロセツサシステム
JPH01293456A (ja) 共有メモリ装置
JPS62184560A (ja) 入出力バツフア制御装置
JPH0259495B2 (ja)
JP2572736B2 (ja) インサーキットエミュレータのデータバス競合回避回路
JPH0218746B2 (ja)
JP2629400B2 (ja) 自己同期型パイプライン処理装置
KR950006547Y1 (ko) 프로세서 이중화시 공통메모리 액세스회로
JPS5834856B2 (ja) キオクセイギヨソウチ
JP3074897B2 (ja) メモリ回路
JPH047762A (ja) メモリアクセス方法
JP2885168B2 (ja) マルチプロセッサシステムに於けるデータリプライ方法
JPH0330899B2 (ja)

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981013

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071113

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081113

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081113

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091113

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees