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
Links
Landscapes
- Multi Processors (AREA)
Description
し、特に2つのプロセッサが1つのメモリを共有する場
合にプロセッサのメモリアクセスの競合を防ぐセマフォ
ビット回路に関する。
ロセッサを2つ有する環境で、2つのプロセッサ70,
71が同時にメモリアクセスを実行しないように制御す
るセマフォビット72を示すブロック図である。第1,
第2のプロセッサ70,71,共有メモリ74は、デー
タバス73で接続されている。
る従来の動作を示した流れ図である。図7において、ま
ずプロセッサ70がメモリアクセスを実行しようとした
時に、プロセッサ71がメモリアクセスを実行していな
いか確かめるために、セマフォビット72に対して
〔1〕を書込む(図7のT1状態)。次にそのセマフォ
ビット72の地を読みだす(図7のT2状態)。そして
読みだした値を判定し(図7の状態T3)、〔1〕なら
ばプロセッサ71がメモリアクセスを実行していない状
態と判断し、メモリアクセスを実行する(図7のT4状
態)。そして終了したらセマフォビット72に対して
(図7のT5状態)。
は、プロセッサ71がメモリアクセス中と判断し、また
セマフォビット72に対して〔1〕を書込み(図7のT
1状態)、読みだし(図7のT2状態)、判定する(図
7のT3状態)という動作をプロセッサ71のメモリア
クセスが終了するまで(読みだした値が〔1〕になるま
で)繰返し、
スを開始する。
イミングチャートが図9である。図8,図9において、
データバス43は、プロセッサ70がメモリアクセスを
行ないたい時、これに〔1〕を出力し、その後読みだし
てプロセッサ71のメモリアクセスの状況を判定するも
のである。ラッチ41はデータバス43の値を一定保持
しておくもので、この出力信号が〔1〕の時AND回路
48を禁止状態にして、ラッチ47へのデータバス50
の書込みを禁止し、
ラッチ41へデータバス43のデータを書込む信号であ
る。リード信号45は、出力バッファ46を導通させ、
データバス43にラッチ41の出力を読みだすことを許
可する信号である。データバス50,ラッチ47,ライ
ト信号51,リード信号52についても同様の機能を有
する。
するためには、まずデータバス43に〔1〕を出力し、
ライト信号44を〔1〕にして、ラッチ41に対して
〔1〕の書込みを行なう(図9の状態A1)。この時に
ラッチ41の入力は、ラッチ47の出力が
と、ラッチ41には〔1〕が書込まれる。
45を〔1〕にすることで読みだされ(図9の状態A
2)、プロセッサ10内でメモリアクセス可(1)、不
可(0)の判定を行ない、可ならばプロセッサ70はメ
モリアクセスを実行し、終了したらデータバス43を
セスが終了したことを示す(図9の状態A5)。もし、
プロセッサ70が先に述べた動作で、メモリアクセスを
実行中(図9のA2〜4状態)にプロセッサ71がメモ
リアクセスを要求した場合の動作は、プロセッサ71は
データバス50に〔1〕を出力し、ライト信号51を
〔1〕にして、ラッチB47に〔1〕の書込みを行なう
(図9の状態B1)。この場合ラッチ41の出力は、プ
ロセッサ70がメモリアクセス中なので〔1〕であるた
め、AND回路48によりラッチ47には
まれる。
号B52を〔1〕にすることで読みだされ(図9の状態
B2)、プロセッサ71内でメモリアクセス可(1)、
不可(0)の判定を行なう。この場合は不可(0)の状
態であるため、またデータバス50とライト信号51を
〔1〕にし、ラッチ47に対して書込みを行ない、読み
だし、判断するという一連の動作(図9の状態B1〜
3)をラッチ41の出力が
の後自身のメモリアクセスを行なう。
モリアクセス実行中に、その終了判定を他方のプロセッ
サが行なう時に、毎回書込み、読み出し、判断という動
作を必要とするために、一方のプロセッサがメモリアク
セスを終了した後、他方のプロセッサが終了したと判断
するのに時間がかかり、メモリアクセス応答時間が遅く
なる欠点がある。
リアクセス応答時間が遅くならないようにしたセマフォ
ビット回路を提供することにある。
第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の読み出し回路とを備
えたことを特徴とする。
ト回路の動作を示した流れ図である。
セッサのみがメモリアクセスを実行しようとした場合
は、従来例と同様の動作を行なうが、一方のプロセッサ
がメモリアクセスを実行中、他方のプロセッサがその終
了判定を行なう時の動作に特徴がある(図1状態T1〜
T3)。
実行中、プロセッサ71もメモリアクセスを実行しよう
とする時、最初の1回目のプロセッサ71の動作は、従
来例と同様にセマフォビットに〔1〕を書込み(図1状
態T1)、読みだし(図1状態T2)、判定(図1状態
T3)という動作を行なうが、2回目以降は読みだし
(図1状態T2)、判定(図1状態T3)、という動作
で済むようになっている。
イミング図が図3である。
ロセッサ70がメモリアクセスを行ないたい時、これに
〔1〕を出力してラッチ8に書込み、その後読みだして
メモリアクセスを実行出来るか、出来ないかを判定する
ものである。ラッチ8はデータバス9の値を一時保持し
ておくものである。
可する信号である。リード信号11は、AND回路13
及び出力バッファ12を介してデータバス9にメモリア
クセス実行可または不可の信号を読みだすことを許可す
る信号である。データバス17、ラッチ14、ライト信
号18、リード信号19についても同様の機能を有す
る。RSラッチ1は2つのプロセッサのメモリアクセス
の状態を入力し、入力Sが
時、出力Qは前の値を保持し、入力Sが〔1〕で入力R
が
で入力Rが〔1〕の時、出力Qは
チ8とラッチ14の出力値を制御する。
はAND回路5,7、OR回路6で構成され、プロセッ
サ70がメモリアクセスを終了した時または、プロセッ
サ71がメモリアクセスを要求し、プロセッサ70がメ
モリアクセスを実行していない時に〔1〕になる。入力
Sへの信号はAND回路2,4、OR回路3で構成さ
れ、プロセッサ71がメモリアクセスを終了した時、ま
たはプロセッサ70がメモリアクセスを要求し、プロセ
ッサ71がメモリアクセスを実行しない時に〔1〕にな
るようになっている。それ以外の時は両方とも
なる。
するために、まずデータバス9に〔1〕を出力し、ライ
ト信号10を〔1〕にする(図3状態C1)。この時R
Sラッチ1の入力はプロセッサBは何も動作していない
ので、入力Sが〔1〕になり、入力Rが
め、出力Qは〔1〕になる。
を〔1〕にすることで読みだされ(図3状態C2)、そ
の後プロセッサ70内で判定を行なう。この場合は、R
Sラッチ1の出力が〔1〕なのでラッチ8の値はマスク
されず、読みだされる値はラッチ8の出力〔1〕で、メ
モリアクセスを行なえると判断する。
スを実行しようとすると、まずデータバス17に〔1〕
を書込み、ライト信号18を〔1〕にしてラッチ14に
対して書込みを行なう(図3状態D1)。この時のRS
ラッチ1は、プロセッサ70がメモリアクセス実行中の
ため、入力S、Rともに
態〔1〕を保持する。続いて、リード信号19を〔1〕
にしてラッチ14の出力を読みだし(図3状態D2)、
その後プロセッサ71内で判断する。
15によりRSラッチ1の出力Qでマスクされるため、
読みだした値は
いと判断し、よって一方のプロセッサのメモリアクセス
が終了するのを、読みだし、判定の動作をして待つ。こ
の終了判定の動作は、1回目のラッチ14への書込みを
保持しておき、その値を、2つのプロセッサの動作状況
を判断するRSラッチ1の出力で制御するため、毎回の
書込み動作が不用になり、リード信号18を〔1〕にし
て、その値を読みだし、プロセッサ71内で判断すると
いう動作のみで済む。
る時は、データバス9に
0を〔1〕にして終了したことを示す。この時RSラッ
チ1は、プロセッサ70がメモリアクセスを終了したた
め、入力Sが
り、出力Qが
出力がマスクされ、ラッチ14の出力がそのまま読みだ
されることにより、プロセッサ71のメモリアクセスを
実行することが出来る。そしてそのメモリアクセスを実
行し、終了したら、プロセッサ71はデータバス17に
メモリアクセスが終了したことを示す。
を用いて説明する。
求する時にデータバスに〔1〕を書込み、読みだした値
が〔1〕ならばメモリアクセスを実行するが、本実施例
ではANDゲートをNANDゲート33,36に変え、
データバスの書込時にインバータ28,35を付加する
ことにより、
らば、メモリアクセスを行なうような不論理でも実現出
来るようにした。
ラッチ34とに書込もうとする値が逆の値であることが
異なるだけで、他の動作は同様であるので説明を省略す
る。
セッサのメモリアクセス実行中にその終了判定を他のプ
ロセッサが行なう時に、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 共有メモリ
Claims (2)
- 【請求項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】 第1,第2の記憶回路がD型フリップ・
フロップ、第3の記憶回路がRS型フリップ・フロップ
である請求項1記載のセマフォビット回路。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6129976B2 (ja) * | 2012-10-04 | 2017-05-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 高効率アトミック演算を使用した方法および装置 |
-
1991
- 1991-10-31 JP JP28530391A patent/JP2852149B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05127974A (ja) | 1993-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR900004006B1 (ko) | 마이크로 프로세서 시스템 | |
EP0242879B1 (en) | Data processor with wait control allowing high speed access | |
JP2852149B2 (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) | ||
JPH0218746B2 (ja) | ||
JP2629400B2 (ja) | 自己同期型パイプライン処理装置 | |
KR950006547Y1 (ko) | 프로세서 이중화시 공통메모리 액세스회로 | |
JP3074897B2 (ja) | メモリ回路 | |
JPH047762A (ja) | メモリアクセス方法 | |
JP2885168B2 (ja) | マルチプロセッサシステムに於けるデータリプライ方法 | |
JPH0330899B2 (ja) | ||
JPS63211058A (ja) | 共有メモリのアクセス制御装置 | |
JPH0414147A (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 |