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

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

Info

Publication number
JP2001022720A
JP2001022720A JP11194504A JP19450499A JP2001022720A JP 2001022720 A JP2001022720 A JP 2001022720A JP 11194504 A JP11194504 A JP 11194504A JP 19450499 A JP19450499 A JP 19450499A JP 2001022720 A JP2001022720 A JP 2001022720A
Authority
JP
Japan
Prior art keywords
input
output
processor
semaphore
data
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
JP11194504A
Other languages
English (en)
Inventor
Toshiaki Nozawa
利明 野沢
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 Avionics Co Ltd
Original Assignee
Nippon Avionics 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 Avionics Co Ltd filed Critical Nippon Avionics Co Ltd
Priority to JP11194504A priority Critical patent/JP2001022720A/ja
Publication of JP2001022720A publication Critical patent/JP2001022720A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 各プロセッサの同期のずれを防止する。 【解決手段】 複数のプロセッサが処理を直列に実行す
る場合、データ入力を行うプロセッサ1は、入出力資源
を管理すると共に、プロセッサ間の排他制御を行うため
の入出力制御セマフォを管理する。プロセッサ1は、出
力対象となるプロセッサ2が管理する入出力資源及び入
出力制御セマフォを参照する。複数のプロセッサが処理
を並列に実行する場合、マスタープロセッサ2は、入出
力資源を管理すると共に、スレーブプロセッサ3〜5と
の同期をとるための並列同期セマフォを管理する。スレ
ーブプロセッサ3〜5は、マスタープロセッサ2が管理
する入出力資源及び並列同期セマフォを参照する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムに関するものである。
【0002】
【従来の技術】従来より、マルチプロセッサシステムで
は、複数台のプロセッサがそれぞれに割り当てられたタ
スクを並列に実行することで処理が進められる。あるい
は、複数台のプロセッサがそれぞれに割り当てられたタ
スクを直列に実行(前段のプロセッサの出力を受けて次
段のプロセッサが処理を行う)することで処理が進めら
れる。
【0003】
【発明が解決しようとする課題】このようなマルチプロ
セッサシステムでは、入出力開始・終了時に何らかの理
由で各プロセッサの同期がずれると、システムを復旧す
るには再起動する以外にないという問題点があった。ま
た、マルチプロセッサシステムでは、多人数でシステム
を開発する場合、各開発者の認識にずれがあると、この
ずれに基づく不具合が発生しやすいという問題点があっ
た。この不具合は、最終的な接続試験を行う段階になら
ないと表面化しない。このため、試験段階後半で開発者
の多大な労力が要求されるという問題点があった。
【0004】また、複数台のプロセッサでタスクを直列
に実行する場合、前段のプロセッサがデータを出力し
て、次段のプロセッサがデータ入力するまで、次段のプ
ロセッサでの処理を行うことができないため、処理時間
が変動しやすく、処理時間の見積もりが難しいという問
題点があった。本発明は、上記課題を解決するためにな
されたもので、各プロセッサの同期のずれを防止し、開
発段階の不具合の発生を抑制し、処理時間の安定化を図
ることができるマルチプロセッサシステムを提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】本発明のマルチプロセッ
サシステムは、複数台のプロセッサがそれぞれに割り当
てられた処理を並列に実行するものであり、マスタープ
ロセッサは、入出力資源を管理すると共に、スレーブプ
ロセッサとの同期をとるための並列同期セマフォを管理
し、スレーブプロセッサは、マスタープロセッサが管理
する入出力資源及び並列同期セマフォを参照するもので
ある。また、本発明のマルチプロセッサシステムは、複
数台のプロセッサがそれぞれに割り当てられた処理を直
列に実行するものであり、データ入力を行うプロセッサ
は、入出力資源を管理すると共に、プロセッサ間の排他
制御、共有メモリ制御を行うための入出力制御セマフォ
を管理し、データ出力を行うプロセッサは、出力対象と
なるプロセッサが管理する入出力資源及び入出力制御セ
マフォを参照するものである。上述のマルチプロセッサ
システムの1構成例は、上記入出力資源を2重化構成と
し、一方の入出力資源に対するデータ出力が完了したと
き、次回のデータ出力の対象をもう一方の入出力資源と
し、一方の入出力資源からのデータ入力が完了したと
き、次回のデータ入力の対象をもう一方の入出力資源と
するものである。
【0006】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明の実施
の形態となるマルチプロセッサシステムの構成を示すブ
ロック図、図2は図1のマルチプロセッサシステムの動
作を示すフローチャート図である。図1において、1〜
6はプロセッサ、7はプロセッサ1〜6が共用する共有
メモリ、8は図示しない入出力機器とのインタフェース
をとる入出力インタフェース装置、9はバスである。
【0007】以下、このマルチプロセッサシステムの動
作について説明する。ここでは、プロセッサ2がマスタ
ープロセッサ、プロセッサ3〜5がスレーブプロセッサ
として、プロセッサ2〜5がそれぞれに割り当てられた
処理を並列に実行するものとする。また、プロセッサ1
は、プロセッサ2の前に処理を行い、プロセッサ6は、
プロセッサ2の後に処理を行うものとする。すなわち、
プロセッサ1→プロセッサ2(プロセッサ3〜5)→プ
ロセッサ6の順番に処理が直列に行われるものとする。
【0008】まず、入出力プロセスが必要となったと
き、各プロセッサ1〜6に対して入出力資源の割付を行
う(図2ステップ101)。図3は、この入出力資源割
付処理を説明するためのフローチャート図である。入出
力資源割付処理においては、以下のルールに基づき入出
力資源の割付対象となるプロセッサが決定される。この
プロセッサに割り付けられた入出力資源を他のプロセッ
サが参照することになる。
【0009】(A)複数のプロセッサによる直列処理を
行う場合、データ入力を行うプロセッサ側に入出力資源
を割り付ける。データ出力を行うプロセッサは、出力対
象となるプロセッサに割り付けられた入出力資源を参照
することになる。
【0010】(B)複数のプロセッサによる並列処理を
行う場合、マスタープロセッサ側に入出力資源を割り付
ける。他のスレーブプロセッサは、マスタープロセッサ
に割り付けられた入出力資源を参照することになる。
(C)入出力資源に付随する制御ブロックとして、入出
力バッファ制御領域を設ける。
【0011】データ入力を行うプロセッサ1は、ステッ
プ201の入力資源割付処理において、上記ルール
(A)、(C)に従い入出力資源(入出力バッファ領域
及び入出力バッファ制御領域)の生成(予約)を行うと
共に、生成した入出力資源を排他制御するための入出力
制御セマフォ(Semaphore )を生成する。後段のプロセ
ッサ2は、プロセッサ1が生成した入出力資源及び入出
力制御セマフォを参照することになる。
【0012】同様に、データ入力を行うプロセッサ6
は、入出力資源の生成(予約)を行うと共に、入出力制
御セマフォを生成する。また、マスタープロセッサ2
は、ルール(B)、(C)に従い入出力資源(入出力バ
ッファ領域及び入出力バッファ制御領域)の生成(予
約)を行うと共に、入出力制御セマフォを生成する。ス
レーブプロセッサ3〜5は、マスタープロセッサ2が生
成した入出力資源及び入出力制御セマフォを参照するこ
とになる。
【0013】図4は、入出力バッファ領域、入出力バッ
ファ制御領域及び入出力制御セマフォを示す図である。
プロセッサ1,2,6用の各入出力バッファ領域11と
それに付随した各入出力バッファ制御領域12は、共有
メモリ7内に確保される。
【0014】各入出力バッファ領域11は、Aバンクと
Bバンクとからなるダブルバッファ構造となっている。
入出力バッファ制御領域12は、入力アクセスバンク
(データ入力の対象となる入出力バッファ領域11)が
AバンクであるかBバンクであるかを示す入力アクセス
バンク指示領域と、出力アクセスバンク(データ出力の
対象となる入出力バッファ領域11)がAバンクである
かBバンクであるかを示す出力アクセスバンク指示領域
とからなる。
【0015】入出力制御セマフォ13は、プロセッサ間
の排他制御、共有メモリ制御を行うための整数変数であ
る。この入出力制御セマフォ13により、あるプロセッ
サが使用中の入出力資源に対する他のプロセッサのアク
セスを禁止する。プロセッサ1,2,6用の各入出力制
御セマフォ13は、共有メモリ7内に確保される。この
入出力制御セマフォ13は、データ入力を行うプロセッ
サに対応して生成される。
【0016】続いて、ステップ202の出力資源割付処
理においては、ルール(A)〜(C)に従って、マスタ
ープロセッサ2が生成した入出力資源と入出力制御セマ
フォとを参照する。
【0017】次に、ステップ203の並列同期資源割付
処理において、マスタープロセッサ2は、スレーブプロ
セッサ3〜5との同期をとるための並列同期セマフォを
入力、出力それぞれ独立に生成する。スレーブプロセッ
サ3〜5は、マスタープロセッサ2が生成した並列同期
セマフォを参照することになる。
【0018】図5は、入力並列同期セマフォ及び出力並
列同期セマフォを示す図である。入力並列同期セマフォ
14及び出力並列同期セマフォ15は、スレーブプロセ
ッサ3〜5との同期制御を行うための整数変数である。
並列演算開始時にマスタープロセッサ2が入力並列同期
セマフォ14を解放して、スレーブプロセッサ3〜5が
入力並列同期セマフォ14を取得することにより、同期
をとる。また、マスタープロセッサ2は、全てのスレー
ブプロセッサ3〜5が演算を終了して出力並列同期セマ
フォ15を解放するまで待つことにより、同期をとる。
【0019】入力並列同期セマフォ14及び出力並列同
期セマフォ15は、共有メモリ7内に確保される。この
入力並列同期セマフォ14、出力並列同期セマフォ15
は、マスタープロセッサ2に対応して設けられる。な
お、以上の入出力資源割付処理において割り付けられ
た、入出力資源、入出力制御セマフォ13、入力並列同
期セマフォ14及び出力並列同期セマフォ15に関する
定義情報は、共有メモリ7内に確保されたデータテーブ
ルに登録され、一元管理される。各プロセッサは、デー
タテーブルを参照し、自身が必要とする資源の情報をデ
ータテーブルから取得する。
【0020】次に、入出力資源、入出力制御セマフォ及
び入出力並列同期セマフォの初期化を行う(図2ステッ
プ102)。図6は、この初期化処理を説明するための
フローチャート図である。データ入力を行うプロセッサ
1,2,6は、ステップ301の入出力資源初期化処理
において、各自が確保した入出力バッファ領域11のA
バンク、Bバンクを共にクリアし、各自が確保した入力
アクセスバンク指示領域に入力アクセスバンクがAバン
クであることを示す値を書き込み、各自が確保した出力
アクセスバンク指示領域に出力アクセスバンクがAバン
クであることを示す値を書き込む。
【0021】続いて、プロセッサ1,2,6は、ステッ
プ302の入出力制御セマフォ初期化処理において、各
自が確保した入出力制御セマフォ13を図7のように全
て解放し、初期化する。この入出力制御セマフォ13の
初期値は「0」である。また、プロセッサ1,2,6
は、後段のプロセッサが確保した入出力制御セマフォ1
3を図7のように全て取得する。
【0022】ステップ303の並列同期セマフォ初期化
処理において、マスタープロセッサ2及びスレーブプロ
セッサ3〜5は、入力並列同期セマフォ14、出力並列
同期セマフォ15を図8のように解放し、初期化する。
これら並列同期セマフォ14,15の初期値は「0」で
ある。
【0023】次に、入力要求処理が行われる(図2ステ
ップ103)。図9は、この入力要求処理を説明するた
めのフローチャート図である。まず、最初にプロセッサ
1が処理を開始する。ステップ401の入力要求同期処
理は、マスタープロセッサ2とスレーブプロセッサ3〜
5が同期をとるための処理であるので、ここでは実行さ
れない。
【0024】ステップ402の入力資源取得処理におい
て、プロセッサ1は、自身がステップ101で確保し、
前段の手段(例えば入出力機器)がデータ出力時に解放
した入出力制御セマフォ13を図10のように1個取得
する。前段の処理が終了していない場合、入出力制御セ
マフォ13が「0」となっているので、プロセッサ1
は、入出力制御セマフォ13が解放されて取得可能とな
るまで待ち状態となる。
【0025】ステップ403の入力開始同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
ステップ404のデータ入力処理において、プロセッサ
1は、ステップ402で取得した入出力制御セマフォ1
3に対応する入出力資源(入出力バッファ領域11)か
ら自身のバッファにデータをコピーする。
【0026】ステップ405の資源管理同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
ステップ406の資源管理処理において、プロセッサ1
は、次のデータ入力のために、自身が確保した入力アク
セスバンク指示領域の値をBバンクを示す値に書き換え
ると共に、前段の手段がデータ出力可能となるように、
ステップ402で取得した入出力制御セマフォ13を解
放する(図11)。
【0027】ステップ407の入力完了同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
こうして、プロセッサ1の入力要求処理が完了する。プ
ロセッサ1は、取得したデータを基に所定の演算処理を
開始する(図2ステップ104)。
【0028】次に、出力要求処理が行われる(図2ステ
ップ105)。図12は、この出力要求処理を説明する
ためのフローチャート図である。ステップ501の出力
要求同期処理は、マスタープロセッサ2とスレーブプロ
セッサ3〜5が同期をとるための処理であるので、ここ
では実行されない。
【0029】ステップ502の出力資源取得処理におい
て、プロセッサ1は、後段のプロセッサ2がステップ1
01で確保した後に解放した入出力制御セマフォ13を
図13のように1個取得する。プロセッサ2がデータ入
力可となっておらず、入出力制御セマフォ13を解放し
ていない場合、プロセッサ1は、入出力制御セマフォ1
3が解放されて取得可能となるまで待ち状態となる。
【0030】ステップ503の出力開始同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
ステップ504のデータ出力処理において、プロセッサ
1は、ステップ502で取得した入出力制御セマフォ1
3に対応する入出力資源(入出力バッファ領域11)へ
自身のバッファからデータをコピーする。
【0031】ステップ505の資源管理同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
ステップ506の資源管理処理において、プロセッサ1
は、次のデータ出力のために、後段のプロセッサ2が確
保した出力アクセスバンク指示領域の値をBバンクを示
す値に書き換えると共に、後段のプロセッサ2がデータ
入力可能となるように、ステップ502で取得した入出
力制御セマフォ13を解放する(図14)。
【0032】ステップ507の出力完了同期処理は、マ
スタープロセッサ2とスレーブプロセッサ3〜5が同期
をとるための処理であるので、ここでは実行されない。
こうして、プロセッサ1の出力要求処理が完了する。次
に、プロセッサ2が処理を開始する。ステップ401の
入力要求同期処理において、マスタープロセッサ2は、
全てのスレーブプロセッサ3〜5が入力並列同期セマフ
ォ14を解放する(すなわち、入力要求を発行する)の
を待って、スレーブプロセッサ3〜5に対応した入力並
列同期セマフォ14を図15のように取得する。
【0033】つまり、入出力資源を取得する権限を持つ
のは、マスタープロセッサ2のみであるため、マスター
プロセッサ2は、全てのスレーブプロセッサ3〜5がデ
ータ入力可となるのを持ち合わせて同期をとる。
【0034】ステップ402の入力資源取得処理におい
て、マスタープロセッサ2は、自身がステップ101で
確保し、前段のプロセッサ1がデータ出力時に解放した
入出力制御セマフォ13を1個取得する。前段のプロセ
ッサ1がデータ出力していない場合、マスタープロセッ
サ2は、入出力制御セマフォ13が解放されて取得可能
となるまで待ち状態となる。
【0035】ステップ403の入力開始同期処理におい
て、マスタープロセッサ2は、スレーブプロセッサ3〜
5に入出力資源が取得できたことを通知する。すなわ
ち、マスタープロセッサ2は、ステップ401で取得し
た入力並列同期セマフォ14を解放し、各スレーブプロ
セッサ3〜5は、解放された入力並列同期セマフォ14
を1個ずつ取得する(図16)。この制御により、マス
タープロセッサ2とスレーブプロセッサ3〜5が同時に
データ入力を開始する。
【0036】ステップ404のデータ入力処理におい
て、マスタープロセッサ2及びスレーブプロセッサ3〜
5は、ステップ402で取得した入出力制御セマフォ1
3に対応する入出力資源(入出力バッファ領域11)か
ら自身のバッファにデータをコピーする。
【0037】ステップ405の資源管理同期処理におい
て、マスタープロセッサ2は、全てのスレーブプロセッ
サ3〜5が入力並列同期セマフォ14を解放する(すな
わち、データ入力処理が完了したことを示す)のを待っ
て、スレーブプロセッサ3〜5に対応した入力並列同期
セマフォ14を取得する。
【0038】つまり、資源管理の権限を持つのは、マス
タープロセッサ2のみであるため、マスタープロセッサ
2は、全てのスレーブプロセッサ3〜5が資源管理待ち
となるのを待ち合わせて同期をとる。
【0039】ステップ406の資源管理処理において、
マスタープロセッサ2は、次のデータ入力のために、自
身が確保した入力アクセスバンク指示領域の値をBバン
クを示す値に書き換えると共に、前段のプロセッサ1が
データ出力可能となるように、ステップ402で取得し
た入出力制御セマフォ13を解放する。
【0040】ステップ407の入力完了同期処理におい
て、マスタープロセッサ2は、各スレーブプロセッサ3
〜5に資源管理が完了したことを通知する。すなわち、
マスタープロセッサ2は、ステップ405で取得した入
力並列同期セマフォ14を解放し、各スレーブプロセッ
サ3〜5は、解放された入力並列同期セマフォ14を1
個ずつ取得する。
【0041】この制御により、マスタープロセッサ2と
スレーブプロセッサ3〜5の入力要求処理(ステップ1
03)が完了し、各プロセッサ2〜5は、取得したデー
タを基に所定の演算処理を開始する(ステップ10
4)。
【0042】次に、出力要求処理が行われる(ステップ
105)。ステップ501の出力要求同期処理におい
て、マスタープロセッサ2は、全てのスレーブプロセッ
サ3〜5が出力並列同期セマフォ15を解放する(すな
わち、出力要求を発行する)のを待って、スレーブプロ
セッサ3〜5に対応した出力並列同期セマフォ15を取
得する(図17)。
【0043】つまり、入出力資源を取得する権限を持つ
のは、マスタープロセッサ2のみであるため、マスター
プロセッサ2は、全てのスレーブプロセッサ3〜5が演
算処理を終了してデータ出力可となるのを持ち合わせて
同期をとる。
【0044】ステップ502の入力資源取得処理におい
て、マスタープロセッサ2は、後段のプロセッサ6がス
テップ101で確保した後に解放した入出力制御セマフ
ォ13を1個取得する。プロセッサ6がデータ入力可と
なっておらず、入出力制御セマフォ13を解放していな
い場合、マスタープロセッサ2は、入出力制御セマフォ
13が解放されて取得可能となるまで待ち状態となる。
【0045】ステップ503の出力開始同期処理におい
て、マスタープロセッサ2は、スレーブプロセッサ3〜
5に入出力資源が取得できたことを通知する。すなわ
ち、マスタープロセッサ2は、ステップ501で取得し
た出力並列同期セマフォ15を解放し、各スレーブプロ
セッサ3〜5は、解放された出力並列同期セマフォ15
を1個ずつ取得する。この制御により、マスタープロセ
ッサ2とスレーブプロセッサ3〜5が同時にデータ出力
を開始する。
【0046】ステップ504のデータ出力処理におい
て、マスタープロセッサ2及びスレーブプロセッサ3〜
5は、ステップ502で取得した入出力制御セマフォ1
3に対応する入出力資源(入出力バッファ領域11)へ
それぞれ自身のバッファからデータをコピーする。
【0047】ステップ505の資源管理同期処理におい
て、マスタープロセッサ2は、全てのスレーブプロセッ
サ3〜5が出力並列同期セマフォ15を解放する(すな
わち、データ出力処理が完了したことを示す)のを待っ
て、スレーブプロセッサ3〜5に対応した出力並列同期
セマフォ15を取得する。
【0048】資源管理の権限を持つのは、マスタープロ
セッサ2のみであるため、マスタープロセッサ2は、全
てのスレーブプロセッサ3〜5が資源管理待ちとなるの
を待ち合わせて同期をとる。
【0049】ステップ506の資源管理処理において、
マスタープロセッサ2は、次のデータ出力のために、後
段のプロセッサ6が確保した出力アクセスバンク指示領
域の値をBバンクを示す値に書き換えると共に、後段の
プロセッサ6がデータ入力可能となるように、ステップ
502で取得した入出力制御セマフォ13を解放する。
【0050】ステップ507の出力完了同期処理におい
て、マスタープロセッサ2は、各スレーブプロセッサ3
〜5に資源管理が完了したことを通知する。すなわち、
マスタープロセッサ2は、ステップ505で取得した出
力並列同期セマフォ15を解放し、各スレーブプロセッ
サ3〜5は、解放された出力並列同期セマフォ15を1
個ずつ取得する。
【0051】この制御により、マスタープロセッサ2と
スレーブプロセッサ3〜5の出力要求処理が完了する。
次に、プロセッサ6が処理を開始する。ステップ40
1,403,405,407の処理を実行しないことは
プロセッサ1と同様である。
【0052】ステップ402の入力資源取得処理におい
て、プロセッサ6は、自身がステップ101で確保し、
前段のプロセッサ2がデータ出力時に解放した入出力制
御セマフォ13を1個取得する。前段のプロセッサ2が
データ出力していない場合、プロセッサ6は、入出力制
御セマフォ13が解放されて取得可能となるまで待ち状
態となる。
【0053】ステップ404のデータ入力処理におい
て、プロセッサ6は、ステップ402で取得した入出力
制御セマフォ13に対応する入出力資源(入出力バッフ
ァ領域11)から自身のバッファにデータをコピーす
る。ステップ406の資源管理処理において、プロセッ
サ6は、次のデータ入力のために、自身が確保した入力
アクセスバンク指示領域の値をBバンクを示す値に書き
換えると共に、前段のプロセッサ2がデータ出力可能と
なるように、ステップ402で取得した入出力制御セマ
フォ13を解放する。
【0054】こうして、プロセッサ6の入力要求処理が
完了する。プロセッサ6は、取得したデータを基に所定
の演算処理を開始する(ステップ104)。
【0055】次に、出力要求処理が行われる(図2ステ
ップ105)。ステップ501,503,505,50
7の処理を実行しないことはプロセッサ1と同様であ
る。ステップ502の出力資源取得処理において、プロ
セッサ6は、後段の手段(例えば入出力機器)が確保し
た後に解放した入出力制御セマフォ13を1個取得す
る。後段の手段がデータ入力可となっておらず、入出力
制御セマフォ13を解放していない場合、プロセッサ6
は、入出力制御セマフォ13が解放されて取得可能とな
るまで待ち状態となる。
【0056】ステップ504のデータ出力処理におい
て、プロセッサ6は、ステップ502で取得した入出力
制御セマフォ13に対応する入出力資源へ自身のバッフ
ァからデータをコピーする。ステップ506の資源管理
処理において、プロセッサ6は、後段の手段がデータ入
力可能となるように、ステップ502で取得した入出力
制御セマフォ13を解放するこうして、プロセッサ6の
出力要求処理が完了する。
【0057】以上のようにプロセッサ1,2(3〜
5),6が順次処理を行って全ての処理が終了し、入出
力プロセスが不要になると(図2のステップ106にお
いてYES)、資源解放処理が行われる(ステップ10
7)。すなわち、プロセッサ1,2,6は、ステップ1
01の入出力資源割付処理で取得した資源を全て解放す
る。
【0058】
【発明の効果】本発明によれば、マスタープロセッサ
が、入出力資源を管理すると共に、スレーブプロセッサ
との同期をとるための並列同期セマフォを管理し、スレ
ーブプロセッサが、マスタープロセッサが管理する入出
力資源及び並列同期セマフォを参照することにより、各
プロセッサの同期のずれを防止することができるので、
同期のずれによりシステムを再起動する必要がなくな
る。また、データバッファなどの入出力資源の定義をカ
プセル化して一元管理することにより、各開発者は、デ
ータ入出力に関してデータ構造を認識する必要がなくな
るので、各開発者の認識のずれに基づく開発段階の不具
合の発生を抑制することができる。また、入出力資源の
定義を一元管理、つまり出力側と入力側で資源の割付に
同じ構造を用いることにより、くいちがい等の単純なミ
スを防止することができる。また、構造定義が一覧でき
るため、定義ミスを発見することが容易となる。また、
データバッファなどの入出力資源の定義をカプセル化し
て一元管理することにより、機能の再分配(再構成)が
簡単になるので、プロセッサの処理能力を最大限利用す
ることが可能となる。
【0059】また、データ入力を行うプロセッサが、入
出力資源を管理すると共に、プロセッサ間の排他制御、
共有メモリ制御を行うための入出力制御セマフォを管理
し、データ出力を行うプロセッサが、出力対象となるプ
ロセッサが管理する入出力資源及び入出力制御セマフォ
を参照することにより、各プロセッサの同期のずれを防
止することができるので、同期のずれによりシステムを
再起動する必要がなくなる。また、データバッファなど
の入出力資源の定義をカプセル化して一元管理すること
により、各開発者は、データ入出力に関してデータ構造
を認識する必要がなくなるので、各開発者の認識のずれ
に基づく開発段階の不具合の発生を抑制することができ
る。また、入出力資源の定義を一元管理、つまり出力側
と入力側で資源の割付に同じ構造を用いることにより、
くいちがい等の単純なミスを防止することができる。ま
た、構造定義が一覧できるため、定義ミスを発見するこ
とが容易となる。また、データバッファなどの入出力資
源の定義をカプセル化して一元管理することにより、機
能の再分配(再構成)が簡単になるので、プロセッサの
処理能力を最大限利用することが可能となる。
【0060】また、入出力資源を2重化構成とし、一方
の入出力資源に対するデータ出力が完了したとき、次回
のデータ出力の対象をもう一方の入出力資源とし、一方
の入出力資源からのデータ入力が完了したとき、次回の
データ入力の対象をもう一方の入出力資源とすることに
より、2重化構成の入出力資源を交互に切り換えながら
使用することができ、前段あるいは後段の処理時間変動
による影響を受けにくくすることができる。その結果、
システム全体としての処理時間の安定化を図ることがで
き、処理時間の見積もりを容易にすることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態となるマルチプロセッサ
システムの構成を示すブロック図である。
【図2】 図1のマルチプロセッサシステムの動作を示
すフローチャート図である。
【図3】 入出力資源割付処理を説明するためのフロー
チャート図である。
【図4】 入出力バッファ領域、入出力バッファ制御領
域及び入出力制御セマフォを示す図である。
【図5】 入力並列同期セマフォ及び出力並列同期セマ
フォを示す図である。
【図6】 初期化処理を説明するためのフローチャート
図である。
【図7】 入出力制御セマフォ初期化処理の様子を示す
図である。
【図8】 並列同期セマフォ初期化処理の様子を示す図
である。
【図9】 入力要求処理を説明するためのフローチャー
ト図である。
【図10】 入力資源取得処理の様子を示す図である。
【図11】 資源管理処理の様子を示す図である。
【図12】 出力要求処理を説明するためのフローチャ
ート図である。
【図13】 出力資源取得処理の様子を示す図である。
【図14】 資源管理処理の様子を示す図である。
【図15】 入力要求同期処理の様子を示す図である。
【図16】 入力開始同期処理の様子を示す図である。
【図17】 出力要求同期処理の様子を示す図である。
【図18】 出力開始同期処理の様子を示す図である。
【符号の説明】
1〜6…プロセッサ、7…共有メモリ、8…入出力イン
タフェース装置、9…バス、11…入出力バッファ領
域、12…入出力バッファ制御領域、13…入出力制御
セマフォ、14…入力並列同期セマフォ、15…出力並
列同期セマフォ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数台のプロセッサがそれぞれに割り当
    てられた処理を並列に実行するマルチプロセッサシステ
    ムにおいて、 マスタープロセッサは、入出力資源を管理すると共に、
    スレーブプロセッサとの同期をとるための並列同期セマ
    フォを管理し、 スレーブプロセッサは、マスタープロセッサが管理する
    入出力資源及び並列同期セマフォを参照することを特徴
    とするマルチプロセッサシステム。
  2. 【請求項2】 複数台のプロセッサがそれぞれに割り当
    てられた処理を直列に実行するマルチプロセッサシステ
    ムにおいて、 データ入力を行うプロセッサは、入出力資源を管理する
    と共に、プロセッサ間の排他制御、共有メモリ制御を行
    うための入出力制御セマフォを管理し、 データ出力を行うプロセッサは、出力対象となるプロセ
    ッサが管理する入出力資源及び入出力制御セマフォを参
    照することを特徴とするマルチプロセッサシステム。
  3. 【請求項3】 請求項1又は2記載のマルチプロセッサ
    システムにおいて、 前記入出力資源を2重化構成とし、一方の入出力資源に
    対するデータ出力が完了したとき、次回のデータ出力の
    対象をもう一方の入出力資源とし、一方の入出力資源か
    らのデータ入力が完了したとき、次回のデータ入力の対
    象をもう一方の入出力資源とすることを特徴とするマル
    チプロセッサシステム。
JP11194504A 1999-07-08 1999-07-08 マルチプロセッサシステム Pending JP2001022720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11194504A JP2001022720A (ja) 1999-07-08 1999-07-08 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11194504A JP2001022720A (ja) 1999-07-08 1999-07-08 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2001022720A true JP2001022720A (ja) 2001-01-26

Family

ID=16325629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11194504A Pending JP2001022720A (ja) 1999-07-08 1999-07-08 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2001022720A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089555B2 (en) 2001-06-27 2006-08-08 International Business Machines Corporation Ordered semaphore management subsystem
US7143414B2 (en) 2001-09-26 2006-11-28 International Business Machines Corporation Method and apparatus for locking multiple semaphores
JP2007157060A (ja) * 2005-12-08 2007-06-21 Nec Corp マルチプロセッサシステムと初期立ち上げ方法およびプログラム
US7406690B2 (en) 2001-09-26 2008-07-29 International Business Machines Corporation Flow lookahead in an ordered semaphore management subsystem
US7454753B2 (en) 2001-06-27 2008-11-18 International Business Machines Corporation Semaphore management subsystem for use with multi-thread processor systems
US9619386B2 (en) 2015-01-29 2017-04-11 Kabushiki Kaisha Toshiba Synchronization variable monitoring device, processor, and semiconductor apparatus
JP2021086277A (ja) * 2019-11-26 2021-06-03 株式会社デンソー 電子制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089555B2 (en) 2001-06-27 2006-08-08 International Business Machines Corporation Ordered semaphore management subsystem
US7454753B2 (en) 2001-06-27 2008-11-18 International Business Machines Corporation Semaphore management subsystem for use with multi-thread processor systems
US7143414B2 (en) 2001-09-26 2006-11-28 International Business Machines Corporation Method and apparatus for locking multiple semaphores
US7406690B2 (en) 2001-09-26 2008-07-29 International Business Machines Corporation Flow lookahead in an ordered semaphore management subsystem
US7917908B2 (en) 2001-09-26 2011-03-29 International Business Machines Corporation Flow lookahead in an ordered semaphore management subsystem
JP2007157060A (ja) * 2005-12-08 2007-06-21 Nec Corp マルチプロセッサシステムと初期立ち上げ方法およびプログラム
US9619386B2 (en) 2015-01-29 2017-04-11 Kabushiki Kaisha Toshiba Synchronization variable monitoring device, processor, and semiconductor apparatus
JP2021086277A (ja) * 2019-11-26 2021-06-03 株式会社デンソー 電子制御装置
JP7347162B2 (ja) 2019-11-26 2023-09-20 株式会社デンソー 電子制御装置

Similar Documents

Publication Publication Date Title
EP2746948A1 (en) Device and method for optimization of data processing in a MapReduce framework
EP2128759B1 (en) Operating system startup control method and information processing apparatus
JPH02238553A (ja) マルチプロセツサ・システム
JPS61233849A (ja) デ−タベ−ス排他制御方法
US20090307466A1 (en) Resource Sharing Techniques in a Parallel Processing Computing System
JPH07101410B2 (ja) データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
JP2007207026A (ja) Dma転送装置
JP2001022720A (ja) マルチプロセッサシステム
JP2003271574A (ja) 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
EP2472396A1 (en) Computer device
JPH07160656A (ja) 外部割込み制御方法
JP5672521B2 (ja) コンピュータシステム、およびそのチェックポイントリスタート方法
JP6774147B2 (ja) 制御装置
JP4414447B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP7157709B2 (ja) 計算機システム及びプログラム実行方法
CN111201514A (zh) 在包括多核处理器的平台上执行软件应用期间实施分区的电子设备和方法、相关联的计算机程序和电子系统
JP4833911B2 (ja) プロセッサユニットおよび情報処理方法
JPH07200486A (ja) 情報処理装置
JPH11306038A (ja) 並列演算処理装置およびその方法
JP7207133B2 (ja) 情報処理装置、同期装置及び情報処理装置の制御方法
WO2007088581A1 (ja) 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
JP2018049406A (ja) 複数プロセッサ間のタスク連携装置
JPS58217056A (ja) マルチプロセツサシステムのタスク制御方式
JPH11306037A (ja) 並列演算処理装置およびその方法
JP2022157255A (ja) 組込みシステム及び組込みシステムの組み上げ方法