JPH0944460A - バリア同期処理方法 - Google Patents

バリア同期処理方法

Info

Publication number
JPH0944460A
JPH0944460A JP19174295A JP19174295A JPH0944460A JP H0944460 A JPH0944460 A JP H0944460A JP 19174295 A JP19174295 A JP 19174295A JP 19174295 A JP19174295 A JP 19174295A JP H0944460 A JPH0944460 A JP H0944460A
Authority
JP
Japan
Prior art keywords
bit
register
local
local register
bits
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
JP19174295A
Other languages
English (en)
Inventor
Shoichiro Yamada
正一郎 山田
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP19174295A priority Critical patent/JPH0944460A/ja
Publication of JPH0944460A publication Critical patent/JPH0944460A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 プロセッサ台数が増えても高速にバリア同期
を実現する。 【解決手段】各々のPEは、自PEのローカルレジスタ
の自PEのビットをオンにする(ステップ2.2)。次
に、TS命令でローカルレジスタの値と共有レジスタの
値を交換する(ステップ2.3)。次に、交換によりロ
ーカルレジスタに得た値の全PEのビットがオンかチェ
ックする(ステップ2.4)。全てがオンであればバリ
ア同期終了とみなす。全てのビットがオンでなければ、
ローカルレジスタの自PEのビット以外のビットがすべ
てオンかチェックする(ステップ2.5)。ステップ
2.5がnoであれば、ローカルレジスタの自PEのビ
ットをオンにし(ステップ2.6)、ステップ2.3に
戻る。ステップ2.5でyesであれば、ローカルレジ
スタのビット0をオンにしてTS命令でローカルレジス
タの値と共有レジスタの値を交換する(ステップ2.
7)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システム特
にマルチプロセッサシステムにおけるバリア同期処理方
法に関する。
【0002】
【従来の技術】従来のマルチプロセッサシステムにおけ
るバリア同期処理方法では、Test And Set 命令を利用
していた。Test And Set命令(以降、TS命令と記す)
とは、自プロセッサのローカルレジスタの値と共有レジ
スタの値を交換する命令で、共有レジスタの最上位ビッ
トがオンの場合には、共有レジスタの値のローカルレジ
スタへのコピーのみを行う。この命令を使用することに
よって、共有レジスタのロックおよび変更を行う。
【0003】図1はマルチプロセッサシステムのシステ
ム構成図、図4は共有レジスタおよびローカルレジスタ
の各ビットの意味付けを説明した図、図5は従来のバリ
ア同期処理の処理フロー図である。
【0004】まず、それぞれのプロセッサ(以降PEと
記す)がロックを示すビット0をオンにした状態でスタ
ートする(ステップ4.1)。PE1がTS命令を発行
し、共有レジスタとの値の交換を行う(ステップ4.
2)。コピーされた値のロックビットのビット0がオフ
なので、ロックがPE1に与えられる(ステップ4.
3)。PE1が自PEのビットであるビット1をオンに
して共有レジスタへ書き込みを行う(ステップ4.
4)。ここでの書き込みには既にロックを得ているの
で、通常の命令を使用して強制的に書き込む。次にPE
2がTS命令を発行して共有レジスタとの値の交換を行
う(ステップ4.5)。コピーされた値のロックビット
のビット0がオフなので、ロックがPE2に与えられる
(ステップ4.6)。PE2が自PEのビットであるビ
ット2をオンにして共有レジスタへ書き込みを行う(ス
テップ4.7)。これで、共有レジスタ内のビットが全
てオンになるので、バリア動機が成立する(ステップ
4.8)。
【0005】
【発明が解決しようとする課題】上述した従来のバリア
同期処理方法では、ロックを使用してバリア同期処理を
行うため、ロックが解除されるまでの他のプロセッサが
全て待たされてバリア同期の処理に時間がかかるという
欠点があり、特にプロセッサ台数が多い場合に処理時間
の増加が顕著であり、マルチプロセッサの性能が低下す
るという問題がある。
【0006】
【課題を解決するための手段】本発明は、n個(nは2
以上の整数)のプロセッサと共有レジスタから構成され
前記プロセッサには各々ローカルレジスタを有するマル
チプロセッサシステムにおけるバリア同期処理方法にお
いて、ビット0はロックビット、ビット1からビットn
までの各ビットは各々前記n個のプロセッサの1つに対
応するビット構成を有する前記共有レジスタと前記ロー
カルレジスタを予め用意し、各々の前記プロセッサが、
自プロセッサの前記ローカルレジスタの自プロセッサ対
応のビットをオンにし(ステップ2.2)、次に、TS
(Test&Set)命令で前記ローカルレジスタの情
報と前記共有レジスタの情報を交換し(ステップ2.
3)、次に、前記交換により前記ローカルレジスタに得
た前記情報における全プロセッサのビットがオンかチェ
ックし(ステップ2.4)、前記全プロセッサのビット
が全てオンであればバリア同期終了とみなし、前記全プ
ロセッサのビットにおける1つのビットでもオンでなけ
れば前記ローカルレジスタにおける自プロセッサのビッ
ト以外のビットがすべてオンかチェックし(ステップ
2.5)、前記ステップ2.5におけるチェック結果す
べてオンでなければ前記ローカルレジスタの前記自プロ
セッサのビットをオンにし(ステップ2.6)た後、前
記ステップ2.3に戻り、前記ステップ2.5における
チェック結果すべてオンであれば前記ローカルレジスタ
の前記ビット0をオンにして前記TS命令で前記ローカ
ルレジスタの情報と前記共有レジスタの情報を交換する
(ステップ2.7)ことを特徴とする。
【0007】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。
【0008】図1は本発明のバリア同期処理方法が実施
されるシステム構成図であり、図2は本発明の一実施例
を示すバリア同期処理フロー図、図3は本発明のバリア
同期処理による動作説明図である。
【0009】以下の例では、2プロセッサの場合につい
て説明するが、3プロセッサ以上の場合についても同様
である。
【0010】本発明においても、ローカルレジスタと共
有レジスタの値を交換する命令としてTS(Test And
Set )命令を使用する。即ち、共有レジスタの最上位ビ
ットがオフならば、TS命令は単純な交換命令として動
作する。
【0011】図2を参照すると、各々のPEは、自PE
のローカルレジスタの自PEのビットをオンにする(ス
テップ2.2)。次に、TS命令でローカルレジスタの
値と共有レジスタの値を交換する(ステップ2.3)。
次に、交換によりローカルレジスタに得た値の全PEの
ビットがオンかチェックする(ステップ2.4)。全て
がオンであればバリア同期終了とみなしバリア終了とな
る(ステップ2.8)。全てのビットがオンでなけれ
ば、ローカルレジスタの自PEのビット以外のビットが
すべてオンかチェックする(ステップ2.5)。ステッ
プ2.5がnoであれば、ローカルレジスタの自PEの
ビットをオンにし(ステップ2.6)、ステップ2.3
に戻る。ステップ2.5でyesであれば、ローカルレ
ジスタのビット0をオンにしてTS命令でローカルレジ
スタアの値と共有レジスタの値を交換して(ステップ
2.7)、ステップ2.8に進む。
【0012】次に、図3を用いて具体例を説明する。ま
ず、それぞれのPE(プロセッサ)が自PE対応のビッ
トをオン(論理1)にした状態からスタートする(ステ
ップ3.1)。PE1がTS命令を発行して(ステップ
3.2)、共有レジスタの値とローカルレジスタの値を
交換する(ステップ3.3)。ここでは、ロックビット
をオンにしてはいないので、共有レジスタのロックはさ
れず、共有レジスタのアクセスはどのPEからでも自由
にできる。次に、PE2がTS命令を発行してローカル
レジスタと共有レジスタの値を交換する(ステップ3.
4)。PE2は、ローカルレジスタにコピーされた値の
自PEのビットをオンにする(ステップ3.6)。ここ
で、全PEのビットがオンになったので、ロックビット
もオンにする(ステップ3.7)。これによって、全ビ
ットがオンになった値が共有レジスタから交換されてし
まうのを防止する。PE2がTS命令を発行して共有レ
ジスタと値を交換する(ステッフ3.8)。これで共有
レジスタのビットが全てオンになったのでバリア同期が
成立する。ロックビットがオンなので、他のPEからの
TS命令の発行にも書換られることがなく、他のPEも
この値を参照してすぐにバリアが成立する。
【0013】この方法によるTS命令の発行回数は、P
E台数に対して穏かに上昇して、従来技術に比べるとP
E台数が増えれば増えるほど効果が顕著となる。
【0014】
【発明の効果】以上説明したように、本発明のバリア同
期処理方法は、ロックを使用しないで共有レジスタとロ
ーカルレジスタの値を交換することを主にバリア同期を
実現するため、各プロセッサが常に共有レジスタを定義
参照でき、プロセッサ台数が増えても高速にバリア同期
が実現できるという効果がある。
【図面の簡単な説明】
【図1】バリア同期処理が適用されるシステム構成例を
示す図である。
【図2】本発明のバリア同期処理の一実施例を示すフロ
ーチャートである。
【図3】本発明の動作を説明するためのフローチャート
である。
【図4】共有レジスタの構成を示す図である。
【図5】従来例のバリア同期処理方法の一例を示すフロ
ーチャートである。
【符号の説明】
1.1,1.4 PE(プロセッサ) 1.3 共有レジスタ 1.2,1.5 ローカルレジスタ ステップ2.1〜ステップ2.7 バリア同期処理フ
ローチャート

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 n個(nは2以上の整数)のプロセッサ
    と共有レジスタから構成され前記プロセッサには各々ロ
    ーカルレジスタを有するマルチプロセッサシステムにお
    けるバリア同期処理方法において、ビット0はロックビ
    ット、ビット1からビットnまでの各ビットは各々前記
    n個のプロセッサの1つに対応するビット構成を有する
    前記共有レジスタと前記ローカルレジスタを予め用意
    し、各々の前記プロセッサが、自プロセッサの前記ロー
    カルレジスタの自プロセッサ対応のビットをオンにし
    (ステップ2.2)、次に、TS(Test&Set)
    命令で前記ローカルレジスタの情報と前記共有レジスタ
    の情報を交換し(ステップ2.3)、次に、前記交換に
    より前記ローカルレジスタに得た前記情報における全プ
    ロセッサのビットがオンかチェックし(ステップ2.
    4)、前記全プロセッサのビットが全てオンであればバ
    リア同期終了とみなし、前記全プロセッサのビットにお
    ける1つのビットでもオンでなければ前記ローカルレジ
    スタにおける自プロセッサのビット以外のビットがすべ
    てオンかチェックし(ステップ2.5)、前記ステップ
    2.5におけるチェック結果すべてオンでなければ前記
    ローカルレジスタの前記自プロセッサのビットをオンに
    し(ステップ2.6)た後、前記ステップ2.3に戻
    り、前記ステップ2.5におけるチェック結果すべてオ
    ンであれば前記ローカルレジスタの前記ビット0をオン
    にして前記TS命令で前記ローカルレジスタの情報と前
    記共有レジスタの情報を交換する(ステップ2.7)こ
    とを特徴とするバリア同期処理方法。
JP19174295A 1995-07-27 1995-07-27 バリア同期処理方法 Pending JPH0944460A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19174295A JPH0944460A (ja) 1995-07-27 1995-07-27 バリア同期処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19174295A JPH0944460A (ja) 1995-07-27 1995-07-27 バリア同期処理方法

Publications (1)

Publication Number Publication Date
JPH0944460A true JPH0944460A (ja) 1997-02-14

Family

ID=16279751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19174295A Pending JPH0944460A (ja) 1995-07-27 1995-07-27 バリア同期処理方法

Country Status (1)

Country Link
JP (1) JPH0944460A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516403B1 (en) 1999-04-28 2003-02-04 Nec Corporation System for synchronizing use of critical sections by multiple processors using the corresponding flag bits in the communication registers and access control register
US7398376B2 (en) 2001-03-23 2008-07-08 International Business Machines Corporation Instructions for ordering execution in pipelined processes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516403B1 (en) 1999-04-28 2003-02-04 Nec Corporation System for synchronizing use of critical sections by multiple processors using the corresponding flag bits in the communication registers and access control register
US7398376B2 (en) 2001-03-23 2008-07-08 International Business Machines Corporation Instructions for ordering execution in pipelined processes
US7844802B2 (en) 2001-03-23 2010-11-30 International Business Machines Corporation Instructions for ordering execution in pipelined processes

Similar Documents

Publication Publication Date Title
JP5539432B2 (ja) ベクトルマスク設定技術
JP3218773B2 (ja) キャッシュ・コントローラ
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
US5781763A (en) Independent control of DMA and I/O resources for mixed-endian computing systems
CN120653306A (zh) 一种原子指令执行方法及装置
JPH02234242A (ja) 部分書込み制御装置
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
CN115756767A (zh) 一种用于多核cpu原子操作内存的装置及方法
US6922666B2 (en) Method and data processing system for performing atomic multiple word reads
JPH0944460A (ja) バリア同期処理方法
JPS623347A (ja) エラ−回復情報退避方式
JPH03656B2 (ja)
JP3710798B2 (ja) 複合演算処理装置
JP3179891B2 (ja) バス制御方式
JP2755646B2 (ja) データ駆動型データ処理装置
JPS6235142B2 (ja)
JP2609685B2 (ja) リセット回路
JPH086905A (ja) マルチポートramのアクセス調停回路
JP2573711B2 (ja) マイクロサブルーチン制御方式
JPH03138749A (ja) 共有メモリによるデータ転送方式
JPH03271950A (ja) メモリ管理方式
JPS6149695B2 (ja)
JPS6027977A (ja) 並列処理装置
JPH0478931A (ja) 指定語割込み発生方式
JPS61250748A (ja) 情報処理装置のメモリアクセス方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981013