JPH02244371A - マルチプロセツサシステムの排他制御方法 - Google Patents

マルチプロセツサシステムの排他制御方法

Info

Publication number
JPH02244371A
JPH02244371A JP6566589A JP6566589A JPH02244371A JP H02244371 A JPH02244371 A JP H02244371A JP 6566589 A JP6566589 A JP 6566589A JP 6566589 A JP6566589 A JP 6566589A JP H02244371 A JPH02244371 A JP H02244371A
Authority
JP
Japan
Prior art keywords
ssm
program
master
interrupt
slave
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
JP6566589A
Other languages
English (en)
Inventor
Tatsuji Nabunaka
達司 撫中
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6566589A priority Critical patent/JPH02244371A/ja
Publication of JPH02244371A publication Critical patent/JPH02244371A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、密結合されたマルチプロセッサシステムの
システムリソース(共用資源)を専有使用するための排
他制御方法に関し、特に高効率なマルチプロセッサシス
テムの排他制御方法に関するものである。
[従来の技術] 従来より、複数のプロセッサ例えばマスタプロセッサ及
びスレーブプロセッサを用いたマルチプロセッサシステ
ムは良く知られており、このようなマルチプロセッサシ
ステムにおいては、複数のユーザプログラムを同時に実
行するので、主記憶装置等の共用資源に対する競合を防
止しなければならない。
これを実現するため、各プロセッサ内にSSM(S e
t S ystem M ask)と呼ばれる割込抑止
用の命令を予め準備しておき、共用資源をアクセスする
タスクが生じた場合に、実行中のプログラムからSSM
を発行し、各プロセッサ(ハードウェア)の制御レジス
タに割込抑止ビットを立てる排他制御方法が提案されて
いる。
第2図は従来のマルチプロセッサシステムの排他制御方
法を示すフローチャート図であり、この動作はOS (
Operating System)によるものである
尚、密結合マルチプロセッサシステムにおいては各プロ
セッサ毎にマスクoS及びスレーブOSが使用されてい
るが、ここでは各OSの制御動作が同一であるため一方
(例えば、マスタOS側)のみを示す。
マスタOSの制御下でマスタプロセッサが成るプログラ
ムを実行しているときくステップSl)、マスタOSは
、マスタプロセッサが実行中のプログラムがSSMを発
行したか否かを常に判定している(ステップS2)、従
って、実行中のプログラムが共用資源をアクセスする場
合は、まずプログラムがSSMを発行し、マスタOSが
これを検知する(ステップS2)。
SSMが発行されると、マスタOSは、SSMの命令に
基づいて、マスタプロセッサ内の制御レジスタの割込抑
止ビットをオンさせ、SSMを実行する(ステップS3
)。
これにより、マスタプロセッサで実行中のプログラムは
、マスタプロセッサ内の他のプログラムを排他して共用
資源の専有が可能となるので、共用資源をアクセスしく
ステップS4)、例えば、主記憶装置に対するデータ書
込やデータ読出等を行なう。
共用資源のアクセス終了後は、プログラムがリセットS
SMを発行するので、マスク○Sは割込抑止ビットをオ
フさせてSSMを解除する(ステップS5)。
こうして、マスタプロセッサ内位おいては共用資源に対
する競合を防ぐことができるが、第2図と同様の制御動
作はスレーブプロセッサ内においても行なわれている。
従って、スレーブプロセッサが実行中のプログラムがS
SMを発行すると、同様にスレーブOSがSSMを実行
し、スレーブプロセッサ内の割込抑止ビットがオンされ
て、共用資源をアクセスしてしまう。
この結果、マスタOS及びスレーブOSの両方が共用資
源をアクセスすることが可能となり、例えばアクセスス
テップS4において、マスクoSが主記憶装置から読出
そうとしたデータ値は、マスタプロセッサの実行プログ
ラムが期待した値とは異なってしまう、即ち、SSMが
各システム毎に実行されるために、共用資源の専有を目
的としたSSMの有効性を保証することができず無意味
となってしまう。
従って、共用資源の専有を確実に実現するためには、マ
スタプロセッサに対するスケジューリング(実行プログ
ラムの割付)を、ユーザが明示的にマスタOS及びスレ
ーブOSに対して要求する必要があった。
又、特開昭59−22155号公報に記載されたように
、共用メモリの排他論理制御を行なう方法も提案されて
いるが、制御ステップが複雑で効率的ではない。
[発明が解決しようとする課題〕 従来のマルチプロセッサシステムの排他制御方法は以上
のように、ユーザがスケジューリングの要求を行なう必
要があったり、共用メモリの排他論理制御を行なってい
るので、効率的に共用資源の競合を防止することができ
ないという問題点があった。
この発明は上記のような問題点を解決するためになされ
たもので、ユーザが意識することなく高効率に専有保証
できるマルチプロセッサシステムの排他制御方法を得る
ことを目的とする。
[課題を解決するための手段] この発明に係るマルチプロセッサシステムの排他制御方
法は、マスクoSが、マスタプロセッサが実行中の第1
のプログラムがSSMを発行したときにマスタプロセッ
サ内の割込抑止ビットをオンさせるSSM実行ステップ
と、共用資源のアクセス終了後に割込抑止ビットをオフ
させる33M解除ステップと、この33M解除ステップ
の後に割込の有無を判定する割込判定ステップと、割込
が発生したときに割込プログラムのスケジューリングを
行なう割込ステップと、を含み、スレーブOSが、スレ
ーブプロセッサが実行中の第2のプログラムがSSMを
発行したときに第2のプログラムの実行を停止させる停
止ステップと、第2のプログラムをマスタプロセッサに
接続して、マスタOSに対して割込を発生する切換ステ
ップと、を含むものである。
[作用] この発明においては、スレーブプロセッサ側で発行され
たSSMがハードウェアにより割込として検知され、ス
レーブOSがマスタOSにスケジューリングを要求し、
SSMを必ずマスタプロセッサ側で処理させることによ
り、各プロセッサで実行中のプログラムがそれぞれSS
Mを発行しても、SSMの有効性は自動的に保証される
[実施例] 以下、この発明の一実施例を図について説明する。第1
図はこの発明の一実施例を示すフローチャート図であり
、ステップSll〜S1フはマスタoSの制御動作、ス
テップS21〜S27はスレーブOSの制御動作である
。又、ステップSLl〜S15は前述のステップ81〜
S5に対応し、ステップS21及びS22はステップS
1及びS2にそれぞれ対応している。
まず、マスタプロセッサ側で第1のプログラムが実行さ
れ(ステップ5it)、スレーブプロセッサ側で第2の
プログラムが実行され(ステップ521)、このとき、
マスタOS及びスレーブOSは、各プログラムからSS
Mが発行されたか否かを判定している(ステップS12
.522)ものとする。
ここで、第1のプログラムがSSMを発行すると、マス
クoSは、前述と同様にSSMを実行しくステップ51
3) 、制御レジスタの割込抑止ビットをオンさせて、
他のプログラムのスケジューリングを抑止し、SSM中
に第1のプログラムが使用する共用資源を専有する。そ
して、共用資源のアクセスステップS14が終了した後
に、割込抑止ビットをオフさせてSSMを解除する(ス
テップ525) 。
ステップ313〜S15によるSSM中に、スレーブプ
ロセッサ側の第2の10グラムがSSMを発行したとす
ると、このSSMはスレーブプロセッサ(ハードウェア
)により割込として検知される。そして、この割込情報
(SSM)はスレーブOSに伝送される。
スレーブOSは、SSMを検知すると(ステップ522
)、第2のプログラムの実行を停止させ(ステップ52
3)、マスタOSに対するスケジュール要求をオンさせ
(ステップ524)、更に、第2のプログラムのレディ
チェーンをスレーブプロセッサからマスタプロセッサに
接続して切換える(ステップ525) 。
これらの切換ステップS24及びS25により、スレー
ブプロセッサは、第2のプログラムの実行権が奪われて
自由となる。その後、スレーブOSは、別の第3のプロ
グラムの実行要求があるか否かを判定して(ステップ5
26) 、アイドル(待機)状態を続け(ステップ52
7) 、第3のプログラムの実行要求が発生したときに
はステップS21に戻り、以上の制御動作を繰り返す。
一方、マスタOSは、88M解除ステップS15の終了
後に、スレーブOSからの割込が有るか否かを判定して
おり(ステップ5te) 、割込が無ければステップS
itに戻って現在実行中の第1のプログラムを実行し、
割込が発生したときには、スレーブOSからのスケジュ
ール要求(ステップ524)に基づいて、割込プログラ
ム(第2のプログラム)のスケジューリングを行なう(
ステップ517)。
そして、レディチェーンが接続された第2のプログラム
を実行し、SSMを再び発行してSSMを実行しくステ
ップ513) 、第2のプログラムに対するSSMの有
効性を保証する。
以下、88M解除ステップS15の後、ステップSll
に戻り、マスタプロセッサにおいて第2のプログラムの
実行が続行され、第2のプログラムの終了後は、中断中
の第1のプログラムの実行に戻る。
即ち、マスタOSは、常に最新のプログラムから優先的
に実行し、最初に実行したプログラムへと戻っていく。
尚、上記実施例では、スレーブOSがSSMを検知した
場合、マスタOSに割込を入れた後、第2のプログラム
をマスタプロセッサ側で続行するようにしたが、マスタ
OSがSSM解除ステップS15を割込として検知し、
スレーブOSへの再スケジューリングを行なうようにし
てもよい、この場合、SSM中のみマスタOSがスケジ
ューリングされることになり、本来スレーブプロセッサ
側で実行すべき第2のプログラムがスレーブプロセッサ
に接続されるので、更に実行性能を向上させることがで
きる。
[発明の効果] 以上のようにこの発明によれば、マスクoSが、第1の
プログラムがSSMを発行したときにマスタプロセッサ
内の割込抑止ビットをオンさせるSSM実行ステップと
、共用資源のアクセス終了後に割込抑止ビットをオフさ
せる88M解除ステップと、この88M解除ステップの
後に割込の有無を判定する割込判定ステップと、割込が
発生したときに割込プログラムのスケジューリングを行
なう割込ステップとを含み、スレーブOSが、スレーブ
プロセッサが実行中の第2のプログラムがSSMを発行
したときに第2のプログラムの実行を停止させる停止ス
テップと、第2のプログラムをマスタプロセッサに接続
して、マスタOSに対して割込を発生する切換ステップ
とを含み、スレーブプロセッサ側で発行されたSSMが
ハードウェアにより割込として検知され、スレーブOS
がマスクoSにスケジューリングを要求し、SSMを必
ずマスタプロセッサ側で処理するようにしたので、各プ
ロセッサで実行中のプログラムがそれぞれSSMを発行
しても、SSMの有効性は自動的に保証され、高効率に
専有保証できるマルチプロセッサシステムの排他制御方
法が得られる効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すフローチャート図、
第2図は従来のマルチプロセッサシステムの排他制御方
法を示すフローチャート図である。 S13・・・SSM実行ステップ S15・・・88M解除ステップ S16・・・割込判定ステップ S17・・・割込ステップ  S23・・・停止ステッ
プS24、S25・・・切換ステップ 尚、図中、同一符号は同−又は相当部分を示す。

Claims (1)

  1. 【特許請求の範囲】 マスタプロセッサを制御するマスタOSとスレーブプロ
    セッサを制御するスレーブOSとを用いて、前記マスタ
    プロセッサ及び前記スレーブプロセッサの共用資源に対
    する競合を防止するマルチプロセッサシステムの排他制
    御方法において、前記マスタOSは、 前記マスタプロセッサが実行中の第1のプログラムがS
    SMを発行したときに前記マスタプロセッサ内の割込抑
    止ビットをオンさせるSSM実行ステップと、 前記共用資源のアクセス終了後に前記割込抑止ビットを
    オフさせるSSM解除ステップと、このS−SM解除ス
    テップの後に割込の有無を判定する割込判定ステップと
    、 前記割込が発生したときに割込プログラムのスケジュー
    リングを行なう割込ステップと、 を含み、 前記スレーブOSは、 前記スレーブプロセッサが実行中の第2のプログラムが
    SSMを発行したときに前記第2のプログラムの実行を
    停止させる停止ステップと、前記第2のプログラムを前
    記マスタプロセッサに接続して、前記マスタOSに対し
    て前記割込を発生する切換ステップと、 を含むことを特徴とするマルチプロセッサシステムの排
    他制御方法。
JP6566589A 1989-03-17 1989-03-17 マルチプロセツサシステムの排他制御方法 Pending JPH02244371A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6566589A JPH02244371A (ja) 1989-03-17 1989-03-17 マルチプロセツサシステムの排他制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6566589A JPH02244371A (ja) 1989-03-17 1989-03-17 マルチプロセツサシステムの排他制御方法

Publications (1)

Publication Number Publication Date
JPH02244371A true JPH02244371A (ja) 1990-09-28

Family

ID=13293519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6566589A Pending JPH02244371A (ja) 1989-03-17 1989-03-17 マルチプロセツサシステムの排他制御方法

Country Status (1)

Country Link
JP (1) JPH02244371A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199355A (ja) * 1990-11-29 1992-07-20 Hitachi Ltd アタッチド・プロセッサ・システム
WO2010052813A1 (ja) * 2008-11-07 2010-05-14 パナソニック株式会社 マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199355A (ja) * 1990-11-29 1992-07-20 Hitachi Ltd アタッチド・プロセッサ・システム
WO2010052813A1 (ja) * 2008-11-07 2010-05-14 パナソニック株式会社 マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術

Similar Documents

Publication Publication Date Title
US6715016B1 (en) Multiple operating system control method
US8793695B2 (en) Information processing device and information processing method
US5448732A (en) Multiprocessor system and process synchronization method therefor
US7734833B2 (en) Method for scheduling operations called by a task on a real-time or non-real time processor
US8276145B2 (en) Protected mode scheduling of operations
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
US20040117793A1 (en) Operating system architecture employing synchronous tasks
JP2007520825A (ja) 待機状態にあるプロセッサ実行リソースの共有
US7565659B2 (en) Light weight context switching
JPH06250853A (ja) プロセス・スケジューリングの管理方法およびシステム
EP2664989A1 (en) Task scheduling
JP2000132529A (ja) 並列処理装置、並列処理方法および記録媒体
US6148325A (en) Method and system for protecting shared code and data in a multitasking operating system
US20060212840A1 (en) Method and system for efficient use of secondary threads in a multiple execution path processor
US7225443B2 (en) Stack usage in computer-related operating systems
JPH0468461A (ja) 資源管理方式
JPH02244371A (ja) マルチプロセツサシステムの排他制御方法
US20060150185A1 (en) Hard real-time response
US8694999B2 (en) Cooperative scheduling of multiple partitions in a single time window
JPH0877039A (ja) テスト方法
JPH09160790A (ja) タスクスケジュール装置及びタスクスケジュール方法
US11461134B2 (en) Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing
JPH0451329A (ja) コンテキスト切替装置
JPH10312296A (ja) プロセス切替え制御方式