JPH0374759A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH0374759A
JPH0374759A JP21003789A JP21003789A JPH0374759A JP H0374759 A JPH0374759 A JP H0374759A JP 21003789 A JP21003789 A JP 21003789A JP 21003789 A JP21003789 A JP 21003789A JP H0374759 A JPH0374759 A JP H0374759A
Authority
JP
Japan
Prior art keywords
bus
processor
semaphore
lock signal
bus lock
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
JP21003789A
Other languages
English (en)
Inventor
Akio Fukada
深田 彰男
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21003789A priority Critical patent/JPH0374759A/ja
Publication of JPH0374759A publication Critical patent/JPH0374759A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は複数のプロセッサによって構成されるマルチプ
ロセッサシステムに関する。
(従来の技術) システム内部に各機能別のプロセッサを用意し、それら
をバスで結合して構成されるマルチプロセッサシステム
は、各機能毎にプロセッサの負荷を軽減し、更にシステ
ムの動作スピードを向上させる上で効果があるため、産
業用機器ではごく当り前のように使われている。
これらのシステムでは、バス上に複数個のプロセッサが
任意にアクセスできる主記憶が用途されており、共有メ
モリとかデュアルポートメモリとか各種の名称で呼ばれ
ている。
また、このようなマルチプロセッサシステムでは、複数
のプロセッサが独立して動作し、また互いを接続してい
る共有のシステムバスをアクセスするため、バスアクセ
スの競合によりトラブルが発生しないよう、調停(アー
ビトレーション)機能が設けられている。
ここで、プロセッサAおよびプロセッサBからバスのア
クセス要求が出た場合を考えてみよう。
もし、プロセッサAのアクセスがプロセッサBのアクセ
スより早ければ、プロセッサAが先にバスアクセス権を
獲得し、プロセッサBのアクセスはプロセッサAのアク
セスが終了するまで待たされることになる。
ところがここで、プロセッサAのアクセスと、プロセッ
サBのアクセスとが同時に発生すると、両プロセッサA
SBの優先順位が問題となるが、プロセッサAの優先順
位がプロセッサBの優先順位より高ければ、プロセッサ
Aのアクセスが先行し、プロセッサBのアクセスはプロ
セッサAのアクセスが終了するまで待たされる。
しかしこの場合、優先順位が高い方が常にバスのアクセ
ス権を獲得するようにしてしまえば、優先順位が低いプ
ロセッサは永遠にバスをアクセスすることができないこ
とにもなりかねない。
そこで、このような不都合が発生しないように、通常の
システムにおいては、バスのアクセス要求を出している
プロセッサがあれば、このプロセッサがバスのアクセス
を終了するまでは、優先順位の高いプロセッサやDMA
等のバスマスタでも共有バスをアクセスできなくなるよ
うにシステム本構築することが多い。
つまり、どんなプロセッサでも一度アクセスすれば、他
のプロセッサがアクセス要求を出しても、アクセスでき
るようにシステムを作っている。
ところでこのようなマルチプロセッサシステムでは、プ
ロセッサ間の同期をとるために、主記憶上の特定のエリ
アにセマフォと呼ばれる変数を置くことが多い。
セマフォとは、信号の腕木の意味であり、各プロセッサ
が動作する上で、互いの情報を交換するのに使われる。
例えば、共有メモリのある領域中の16バイトを−続き
の意味のあるデータとして使っている場合、一部が書き
変えられた状態ではデータは意味をなさないし、それを
使用されは具合が悪い。
そこで、書き変えを行なうプロセッサはセマフォを読出
して−続きのデータが書き変え中でないことを確認して
からセマフォに書き変え中を示す意味のデータを書き込
んでおく。
ここで、他のプロセッサがセマフォを読み出すと、別の
プロセッサが書き変え中であるので読出しや書込みは行
なわないで待つ。
(発明が解決しようとする課題) ところが、このセマフォをアクセスするプロセッサはま
ず最初にセマフォを読出し、次にセマフォを書き変える
という操作を行なう。
つまり、共有バスに対して最低、2回アクセスを行なわ
なければならないが、これらのアクセス間に別のプロセ
ッサがセマフォを読み出し、他のプロセッサが書き換え
中のサイクルに入っているのにもかかわらず、書き変え
中でないと判断してセマフォを書き変えてしまう恐れが
あった。
本発明は上記の事情に鑑み、任意の期間、バスをロック
することができ、これによって1つのプロセッサがセマ
フォの読出し、書込みを行なうとき、他のプロセッサに
よるセマフォの読出し、書込みを禁止することができる
マルチプロセッサシステムを提供することを目的として
いる。
〔発明の構成〕
(課題を解決するための手段) 上記の目的を遠戚するために本発明によるマルチプロセ
ッサシステムは、共有バスによって複数個のプロセッサ
を結合したマルチプロセッサシステムにおいて、プロセ
ッサから出力される信号に基づいてバスロック信号を生
成するバスロック信号生成回路と、このバスロック信号
生成回路からバスロック信号が出力されている間、前記
共有バスをロックするバスロック回路とを備えたことを
特徴としている。
(作用〉 上記の構成において、プロセッサから出力される信号に
基づいてバスロック信号生成回路がバスロック信号を生
成している間、バスロック回路が各プロセッサの共有バ
スをロックする。
(実施例) 第1図は本発明によるマルチプロセッサシステムの一実
施例を示すブロック図である。
この図に示すマルチプロセッサシステムは、システムの
共有バスとして使用きれるマルチパス1と、このマルチ
パス1に接続されるメツセージ・パッシング・コプロセ
ッサ(MPC)2と、このMPC2に接続される処理部
3とを伺えており、処理部3によってマルチパス1に接
続されている共有メモリ等(図示は省略する)がアクセ
スされるとき、MPC2によってマルチパス1がロック
され、これによってマルチパス1に対する他の処理部の
アクセスが禁止された状態で前記共有メモリ等に対する
アクセスが行われる。
処理部3はプロセッサ4と、ローカルバス5と、フリッ
プフロップ6と、負論理のオアゲート7とを備えており
、マルチパス1を介して共有メモリ等の読出し、書込み
等を行なうとき、バスロック信号を発生してMPC2に
マルチパス1をロックさせて共有メモリ等の読出し、書
込み等を行なう。
プロセッサ4は8ビット若しくは16ビツト、32ビツ
トのプロセッサであり、マルチパス1を介して共有メモ
リ等の読出し、書込み等を行なうとき、バスロック信号
BLを発生してこれを前記オアゲート7に供給した後、
前記共通メモリ等をアクセスする。また、この共通メモ
リ等を複数回連続してアクセスするときには、ローカル
バス5上に“1”を示すデータを出力してフリップフロ
ップ6のデータ入力端子りに供給した後、前記共通メモ
リ等をアクセスする。
フリップフロップ6はライト信号Wが入力されたとき、
データ入力端子りに“1”を示す信号が入力されていれ
ば、バスロック信号BLを発生してこれを前記オアゲー
ト7に供給する。また、ライト信号Wが人力されたとき
、データ入力端子りにmO”を示す信号が入力されてい
れば、バスロック信号BLを発生を停止する。また、リ
セット信号Rが入力されたとき、出力をリセットする。
また、オアゲート7は前記プロセッサ4または前記フリ
ップフロップ6からバスロック信号BLが出力されたと
き、これを前記MPC2に供給してマルチパス1をロッ
クさせて他の処理部が共通メモリ等をアクセスするのを
禁止し、この状態で前記処理部3のプロセッサ4に前記
共通メモリ等をアクセスさせる。
次に、この実施例のアクセス動作について説明する。
まず、処理部3のプロセッサ4がMPC2を経由してマ
ルチパス1を1回アクセスするときには、プロセッサ4
から出力されるバスロック信号BLがオアゲート7を通
過してMPC2に入力されてマルチパス1がロックされ
、この状態でプロセッサ4によりマルチパス1を介して
共有メモリ等がアクセスされる。
また、共有メモリ上にあるセマフォ等の読出し、書込み
等を行なう場合のように、ある一定期間、マルチパス1
をロックする必要があるときには、プログラムによって
プロセッサ4から12を示すデータが出力されてブリッ
プフロップ6がセットされる。
これによって、このフリッププロップ6からバスロック
信号BLが出力され、これがオアゲート7を通過してM
PC2に入力されてマルチパス1がロックされ、この状
態でプロセッサ4によりマルチパス1を介して共有メモ
リ等が必要回数だけアクセスきれる。
そして、共有メモリ等のアクセスが終了すれば、プロセ
ッサ4は“0°を示すデータを出力してフリップフロッ
プ6をリセットし、バスロック信号BLの発生を停止さ
せてMPC2によるバスロックを解除させる。
このようにこの実施例においては、セマフォ等の読出し
、書込み等を行なう場合のように、ある一定期間、マル
チパス1をロックする必要があるときには、プログラム
によってプロセッサ4から11”を示すデータを出力さ
せてフリップフロップ6からバスロック信号BLを出力
させ、MPC2にマルチパス1を一定期間ロツクさせる
ようにしたので、任意の期間、マルチパス1をロックす
ることができ、これによって1つのプロセッサがセマフ
ォの読出し、書込みを行なうとき、他のプロセッサによ
るセマフォの読出し、書込みを禁止することができる。
第2図は本発明によるマルチプロセッサシステムの他の
実施例を示すブロック図である。なおこの図において、
第1図の各部と対応する部分には同じ符号が付しである
この図に示すマルチプロセッサシステムが第1図に示す
システムと異なる点は、セマフォを読み出すときにプロ
セッサ4から出力されるアドレスデータの値をアドレス
デコーダ(図示は省略する)に解析させて#1等られる
セレクト信号SLとプロセッサ4から出力されるライト
信号Wとの論理積を取ってセレクト信号SLを生成する
負論理のアンドゲート10と、このアンドゲート10か
らセレクト信号SLが出力されたときプロセッサ4から
出力されるステータス信号を取り込みバスロック信号B
Lを生成したり、バスロック信号BLの生成を停止した
りするフリップフロップ11とを設けたことである。
そして、プロセッサ4がセマフォを読み出すとき“1@
となるステータス信号によってフリップフロップ11か
らバスロック信号BLを出力させてMPC2にマルチパ
ス1をロックさせ、またプロセッサ4がセマフォに書き
込むときaO”となるステータス信号によってフリップ
プロップ11をリセットさせてMPC2にマルチパス1
のロックを解除させる。
このようにこの実施例においては、セマフォを読み出す
とき、ハードウェアによってマルチパス1を自動的にロ
ックすることができ、これによって上述した実施例と同
様に1つのプロセッサがセマフォの読出し、書込みを行
なうとき、他のプロセッサによるセマフォの読出し、書
込みを埜止することができる。
またこのとき、セマフォを読み出してから所定時間以内
にマルチパス1のロックが解除されないときには、所定
時間が経過したときMPC2に対するバスロック信号B
Lの供給を強制的に停止してマルチパス1のロックを解
除するようしても良い。
これによって、プロセッサ4がマルチパス1をロックし
たまま暴走しても、マルチパス1がロックされ続けるの
を防止することができる。
〔発明の効果〕
以上説明したように本発明によれば、任意の期間、バス
をロックすることができ、これによって1つのプロセッ
サがセマフォ等の読出し、書込みを行なうとき、他のプ
ロセッサによるセマフォ等の読出し、書込みを禁止する
ことができる。
【図面の簡単な説明】
第1図は本発明によるマルチプロセッサシステムの一実
施例を示すブロック図、第2図は本発明によるマルチプ
ロセッサシステムの他の実施例を示すブロック図である
。 1・・・共有ハス(マルチパス) 2・・・バスロック回路(MPC) 4・・・プロセッサ 6・・・バスロック信号生成回路(ブリップフロップ)
第2図

Claims (3)

    【特許請求の範囲】
  1. (1)共有バスによって複数個のプロセッサを結合した
    マルチプロセッサシステムにおいて、プロセッサから出
    力される信号に基づいてバスロック信号を生成するバス
    ロック信号生成回路と、このバスロック信号生成回路か
    らバスロック信号が出力されている間、前記共有バスを
    ロックするバスロック回路と、 を備えたことを特徴とするマルチプロセッサシステム。
  2. (2)前記バスロック信号生成回路はプロセッサから出
    力されるデータ信号に基づいてバスロック信号を生成す
    る請求項1記載のマルチプロセッサシステム。
  3. (3)前記バスロック信号生成回路はプロセッサが前記
    共有メモリ上の所定部分をアクセスするとき出力される
    信号に基づいてバスロック信号を生成する請求項1記載
    のマルチプロセッサシステム。
JP21003789A 1989-08-16 1989-08-16 マルチプロセッサシステム Pending JPH0374759A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21003789A JPH0374759A (ja) 1989-08-16 1989-08-16 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21003789A JPH0374759A (ja) 1989-08-16 1989-08-16 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH0374759A true JPH0374759A (ja) 1991-03-29

Family

ID=16582762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21003789A Pending JPH0374759A (ja) 1989-08-16 1989-08-16 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH0374759A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285872A (ja) * 2005-04-04 2006-10-19 Canon Inc マルチcpuシステム
JP2008117002A (ja) * 2006-10-31 2008-05-22 Matsushita Electric Works Ltd 共有メモリインターフェイス

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285872A (ja) * 2005-04-04 2006-10-19 Canon Inc マルチcpuシステム
JP4649257B2 (ja) * 2005-04-04 2011-03-09 キヤノン株式会社 マルチcpuシステム
JP2008117002A (ja) * 2006-10-31 2008-05-22 Matsushita Electric Works Ltd 共有メモリインターフェイス

Similar Documents

Publication Publication Date Title
US4380798A (en) Semaphore register including ownership bits
US5214776A (en) Multiprocessor system having global data replication
US6792497B1 (en) System and method for hardware assisted spinlock
US5321825A (en) Processing system with lock spaces for providing critical section access
US7640315B1 (en) Implementing locks in a distributed processing system
JPS60144855A (ja) 記憶ロツク方式
US6745274B1 (en) Apparatus and method for synchronizing multiple accesses to common resources
JPH10143467A (ja) データ処理システムにおいてバス所有権を調停するための方法および装置
US6874049B1 (en) Semaphores with interrupt mechanism
JPH0433066B2 (ja)
JPH05173985A (ja) プログラマブルコントローラ
EP0291907B1 (en) Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units
JPH0374759A (ja) マルチプロセッサシステム
JP2507071B2 (ja) バスロック制御方式
JPH0679306B2 (ja) マルチプロセツサの制御方法
JPH03240859A (ja) マルチプロセッサ共有資源管理方式
KR960007835B1 (ko) 다중 프로세서의 공통 메모리 억세스 장치
JPH0542027B2 (ja)
JPH06208547A (ja) 通信制御装置
Hitchcock IEE P896 Futurebus Colloquium: 31 January 1986, London, UK
JPH054710B2 (ja)
JP2973227B2 (ja) 排他制御命令実行方法
JPS60243763A (ja) デユアルポ−トメモリ制御回路
JPH0581211A (ja) プロセツサ間通信方式
JPH01310466A (ja) マルチプロセッサシステム