JP2952896B2 - マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式 - Google Patents

マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式

Info

Publication number
JP2952896B2
JP2952896B2 JP19176189A JP19176189A JP2952896B2 JP 2952896 B2 JP2952896 B2 JP 2952896B2 JP 19176189 A JP19176189 A JP 19176189A JP 19176189 A JP19176189 A JP 19176189A JP 2952896 B2 JP2952896 B2 JP 2952896B2
Authority
JP
Japan
Prior art keywords
processor
shared memory
circuit
task
lock flag
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
JP19176189A
Other languages
English (en)
Other versions
JPH0355657A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP19176189A priority Critical patent/JP2952896B2/ja
Publication of JPH0355657A publication Critical patent/JPH0355657A/ja
Application granted granted Critical
Publication of JP2952896B2 publication Critical patent/JP2952896B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチタスク・マルチプロセッサシステム
における共有メモリアクセス方式に関するものである。
〔従来の技術〕
システム全体の処理能力を高める為に、システムを同
レベルの複数のプロセッサで構成し且つ各々のプロセッ
サ上で複数のタスクを並行して動作させるようにしたマ
ルチタスク・マルチプロセッサシステムにおいては、一
般的に共有メモリを備えており、各プロセッサは共通バ
スを介してその共有メモリをアクセスすることができる
ように構成されている。そして、複数のプロセッサによ
る共有メモリ上の同一データに対する同時更新等による
矛盾を回避する為の共有メモリアクセス方式としては、
従来、ロックフラグを使用した以下のような方式を採用
していた。
先ず、或るプロセッサ上で動作するタスクが共有メモ
リ上のデータの更新等を行おうとする場合、そのプロセ
ッサは共通バスを介して例えば共有メモリ上に設けられ
たロックフラグの値を読み出し、それがそのデータの非
占有中を示すオフ値であれば共通バスを介してそのロッ
クフラグに占有中を示すオン値を書き込んでから即ちロ
ックを取得してからデータへのアクセスを行い、このア
クセス終了後に共通バスを介してそのロックフラグをア
クセスしてオフ値に書き戻す。他方、ロックフラグの値
を読み出したときそれがオン値であれば、他のプロセッ
サがその共有メモリ上のデータのアクセスを行っている
ので、そのプロセッサは、(1)ロックフラグのスキャ
ン動作即ちロックフラグの値を連続して読み出す動作
を、ロックフラグがオフ値になるまで続けるか、或い
は、(2)或る定められた一定時間だけウェイトした後
にロックフラグの値を読み出す動作を、ロックフラグが
オフ値になるまで繰り返す。そして、これら(1),
(2)の動作にてロックフラグがオフ値になったことを
検出すると、それをオン値に置き換えて共有メモリに対
してアクセスを行う。
〔発明が解決しようとする課題〕
上述した従来の共有メモリアクセス方式は、共有メモ
リ上のデータに対する同時更新等を防止する面では問題
はなかったが、システムの処理能力の面では次のような
問題があった。
ロックフラグがオンされていた場合に、ロックフラ
グをスキャンする方式(1)では、プロセッサの能力が
スキャンに占有されてしまい、マルチタスクとしての能
力を活かし切れない。
同様にロックフラグがオンされていた場合に、一定
時間ウェイトして再度トライする方式(2)では、いく
ら速くても、ウェイトしている時間内にロックを取得す
ることはできず、速やかにロックを取得してデータへの
アクセスを行うことが困難になる。
そこで本発明の目的は、ロックフラグがオンされてい
た場合、プロセッサの処理能力を低下させることなく、
最短時間でロックを取得して共有メモリ上のデータに対
するアクセスを行うことができるようにすることにあ
る。
〔課題を解決するための手段〕 本発明は上記の目的を達成するために、各々複数のタ
スクが稼動する複数のプロセッサと、これら複数のプロ
セッサに共通バスを介して接続された共有メモリとを含
み、この共有メモリ上のデータに対する排他制御を前記
共通バスを介して各プロセッサよりアクセス可能なロッ
クフラグを用いて行うマルチタスク・マルチプロセッサ
システムにおいて、プロセッサから設定されたデータを
保持するラッチ回路と、このラッチ回路に保持されたデ
ータと前記共通バス上の書込み時のアドレスとを比較す
る比較回路と、この比較回路から一致信号が出力された
ときプロセッサに割込を発生すると共に前記ラッチ回路
にリセット信号を出力する割込回路とを含む付加回路
を、各プロセッサ対応に設け、各プロセッサは、或るタ
スクの処理において前記共通バスを介して読み出した前
記ロックフラグの値が占有中を示していた場合、自プロ
セッサ対応の前記付加回路内の前記ラッチ回路に前記ロ
ックフラグのアドレスを設定した後に前記タスクをウェ
イト状態にして他のタスクの実行を行い、自プロセッサ
対応の前記付加回路内の前記割込回路から割込が発生す
ることにより前記ウェイト状態にしたタスクを実行可能
状態とする。
〔作用〕
本発明のマルチタスク・マルチプロセッサシステムに
おける共有メモリアクセス方式においては、各プロセッ
サは、或るタスクの処理において共通バスを介して読み
出したロックフラグの値が占有中を示している場合、自
プロセッサ対応の付加回路内のラッチ回路にロックフラ
グのアドレスを設定した後にそのタスクをウェイト状態
にして他のタスクの実行を行い、上記ロックフラグのア
ドレスが設定された付加回路内の比較回路は、そのアド
レスと共通バス上の書込み時のアドレスとを比較し始め
る。その後、他のプロセッサが共有メモリ上のデータに
対するアクセスを終了しロックフラグに非占有中に相当
する値を書き込む為に共通バスにロックフラグのアドレ
スを出力すると、上記の付加回路内の比較回路で比較一
致が検出されて割込回路から対応するプロセッサに割込
が発生され、この割込を受けたプロセッサが前記ウェイ
ト状態にしたタスクを実行可能状態にする。また、割込
回路ラッチ回路にリセット信号を出力する。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に
説明する。
第1図は本発明の一実施例の要部ブロック図であり、
各々複数のタスクが稼動する複数の処理装置1,2と、こ
れらの処理装置1,2に共通バス3を介して接続された共
有メモリ4とを含み、共有メモリ4上のデータに対する
排他制御を共通バス3を介して各処理装置1,2よりアク
セス可能なロックフラグ例えば共有メモリ4上に設けら
れたロックフラグを用いて行うマルチタスク・マルチプ
ロセッサシステムに本発明を適用したものである。
処理装置1は、第1図に示すように、プロセッサ10
と、プロセッサ10によって制御されプロセッサ10のバス
を共通バス3に接続するバスバッファ11と、プロセッサ
10の命令によってプロセッサ10から出されたデータを保
持するラッチ回路12と、共通バス3にデータの書込みに
かかるアドレスが出力された時にそのアドレス値とラッ
チ回路12に保持されたデータとを比較し一致することに
より一致信号を出力する比較回路13と、この比較回路13
から一致信号が出力されることによりプロセッサ10に対
し割込信号を発生すると共にラッチ回路12にリセット信
号を発生する割込回路14とを含んでいる。処理装置2も
処理装置1と同じ構成を有している。
第2図は処理装置1,2内におけるプロセッサの処理例
を示す流れ図であり、以下、各図を参照して本実施例の
動作を説明する。
第1図において、処理装置1上のプロセッサ10は、或
るタスク処理において共有メモリ4のデータの更新処理
等を行う場合、第2図に示すようにそのデータにかかる
ロックフラグを調査し(ステップ51)、ロックフラグが
オフであればロックフラグをオンにし(ステップ54)、
そのデータの更新処理等を含むデータ処理を行う(ステ
ップ55)。
他方、他の処理装置2がロックを取得している為にス
テップ51でロックフラグがオンであることを検知する
と、プロセッサ10はそのロックフラグのアドレスをラッ
チ回路12にセットし(ステップ52)、当該タスクをウェ
イト状態とする(ステップ53)。そして、実行可能状態
にある他のタスクを実行する。
その後、処理装置2がロックフラグをオフに書き換え
る処理の一環として共通バス3にロックフラグのアドレ
スを出力すると、そのアドレスとラッチ回路12に保持さ
れたアドレスとの一致が比較回路13において検出され、
割込回路14からプロセッサ10に対し割込信号が送出され
る。なお、このときラッチ回路12はリセットされる。
プロセッサ10は割込回路14から割込信号が加えられる
と、第2図に示す割込処理に入り、上述のウェイト状態
にしたタスクをポストし(ステップ56)、実行可能状態
とする。そして、そのタスクが実行状態となると、プロ
セッサ10は第2図に示すように、ロックフラグをオンと
し(ステップ54)、データ処理を行う(ステップ55)。
以上は処理装置1の動作であるが、処理装置2も同様
の動作を行うものである。
〔発明の効果〕
以上説明したように、本発明のマルチタスク・マルチ
プロセッサシステムにおける共有メモリアクセス方式に
おいては、各プロセッサ毎に、プロセッサから設定され
たデータと共通バス上の書込み時のアドレスとを比較し
一致することによりプロセッサに割込を発生する付加回
路を設け、各プロセッサは共有メモリ上のデータを処理
するときに既に他のプロセッサが占有していた場合は自
プロセッサ対応の付加回路にロックフラグのアドレスを
設定すると共に当該タスクを待ち状態にして別のタスク
を処理し、共有メモリ上のデータを占有中であった他の
プロセッサがその占有を解いた時点で発生する上記付加
回路からの割込を契機として上記待ち状態のタスクを実
行可能状態としているので、マルチタスクとしての能力
を十二分に活かすことができ、プロセッサの処理能力を
低下させることなく、最短時間でロックを取得して共有
メモリ上のデータに対するアクセスを行うことが可能と
なる。
【図面の簡単な説明】
第1図は本発明の一実施例の要部ブロック図および、 第2図はプロセッサの処理例の流れ図である。 図において、 1,2……処理装置 3……共通バス 4……共有メモリ 10……プロセッサ 11……バスバッファ 12……ラッチ回路 13……比較回路 14……割込回路

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】各々複数のタスクが稼働する複数のプロセ
    ッサと、該複数のプロセッサに共通バスを介して接続さ
    れた共有メモリとを含み、該共有メモリ上のデータに対
    する排他制御を前記共通バスを介して各プロセッサより
    アクセス可能なロックフラグを用いて行うマルチタスク
    ・マルチプロセッサシステムにおいて、 プロセッサから設定されたデータを保持するラッチ回路
    と、該ラッチ回路に保持されたデータと前記共通バス上
    の書込み時のアドレスとを比較する比較回路と、該比較
    回路から一致信号が出力されたときプロセッサに割込を
    発生すると共に前記ラッチ回路にリセット信号を出力す
    る割込回路とを含む付加回路を、前記各プロセッサ対応
    に設け、 前記各プロセッサは、或るタスクの処理において前記共
    通バスを介して読み出した前記ロックフラグの値が占有
    中を示していた場合、自プロセッサ対応の前記付加回路
    内の前記ラッチ回路に前記ロックフラグのアドレスを設
    定した後に前記タスクをウェイト状態にして他のタスク
    の実行を行い、自プロセッサ対応の前記付加回路内の前
    記割込回路から割込が発生することにより前記ウェイト
    状態にしたタスクを実行可能状態とすることを特徴とす
    るマルチタスク・マルチプロセッサシステムにおける共
    有メモリアクセス方式。
JP19176189A 1989-07-25 1989-07-25 マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式 Expired - Fee Related JP2952896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19176189A JP2952896B2 (ja) 1989-07-25 1989-07-25 マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19176189A JP2952896B2 (ja) 1989-07-25 1989-07-25 マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式

Publications (2)

Publication Number Publication Date
JPH0355657A JPH0355657A (ja) 1991-03-11
JP2952896B2 true JP2952896B2 (ja) 1999-09-27

Family

ID=16280074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19176189A Expired - Fee Related JP2952896B2 (ja) 1989-07-25 1989-07-25 マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式

Country Status (1)

Country Link
JP (1) JP2952896B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203254A (ja) 1998-01-14 1999-07-30 Nec Corp 共有プロセス制御装置及びプログラムを記録した機械読み取り可能な記録媒体
JP5397546B2 (ja) * 2010-07-27 2014-01-22 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP5621896B2 (ja) * 2013-10-24 2014-11-12 富士通株式会社 マルチプロセッサシステム、制御プログラム、および制御方法
CN115599459B (zh) * 2022-12-13 2023-04-07 成都启英泰伦科技有限公司 一种跨电源域多处理器运行装置及其通信方法

Also Published As

Publication number Publication date
JPH0355657A (ja) 1991-03-11

Similar Documents

Publication Publication Date Title
JPH0354375B2 (ja)
JP2952896B2 (ja) マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
JPH0728748A (ja) バス制御機構及び計算機システム
JPH03232051A (ja) セマフォアクセス制御方法
JPS6257050A (ja) 共有メモリ装置
JPH1011405A (ja) メモリアクセス競合制御システム
JP2854066B2 (ja) マルチプロセッサシステム
JP2825589B2 (ja) バス制御方式
JPS62166464A (ja) 多重化処理装置の競合制御方式
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH03271859A (ja) 情報処理装置
JPH08249289A (ja) メモリ制御装置およびその制御方法
JPH03293837A (ja) バス転送制御方式
JPH01310466A (ja) マルチプロセッサシステム
JPS6349815B2 (ja)
JPS63298555A (ja) 共有メモリ制御方式
JPH05334233A (ja) データ転送装置
JPS63155254A (ja) 情報処理装置
JPH07111711B2 (ja) 処理終了割込制御システム
JPH052523A (ja) アクセス制御装置
JPH0821021B2 (ja) データ処理装置
JPH0581211A (ja) プロセツサ間通信方式
JPH02231667A (ja) バス監視装置
JPH0457145A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees