JPH10187634A - 同期制御方法および主記憶共有型並列プロセッサ - Google Patents

同期制御方法および主記憶共有型並列プロセッサ

Info

Publication number
JPH10187634A
JPH10187634A JP34290696A JP34290696A JPH10187634A JP H10187634 A JPH10187634 A JP H10187634A JP 34290696 A JP34290696 A JP 34290696A JP 34290696 A JP34290696 A JP 34290696A JP H10187634 A JPH10187634 A JP H10187634A
Authority
JP
Japan
Prior art keywords
processor
synchronization
processors
instruction
main memory
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.)
Granted
Application number
JP34290696A
Other languages
English (en)
Other versions
JP3375505B2 (ja
Inventor
Tatsuya Ichiki
達也 市来
Shigeko Hashimoto
茂子 橋本
Tadaaki Isobe
忠章 磯部
Koju Ueno
幸樹 上野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP34290696A priority Critical patent/JP3375505B2/ja
Publication of JPH10187634A publication Critical patent/JPH10187634A/ja
Application granted granted Critical
Publication of JP3375505B2 publication Critical patent/JP3375505B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 主記憶共有型並列プロセッサにおけるプロセ
ッサ間の同期処理において、同期による待ち時間を減少
させる。 【解決手段】 プロセッサから送出される主記憶アクセ
スリクエストまたはプロセッサ間同期専用制御リクエス
トは、記憶制御装置5内のリクエストスタック50にス
タックされる。スタック50から取り出された同期専用
制御リクエストは、デコーダ51によってデコードされ
る。ANDゲート58は、全てのプロセッサからの同期
専用制御リクエストをデコードしたことを検出し、同期
完了信号510を出力する。同期完了信号510は、ゲ
ート59、56、ゲート57を介してアウトポインタ5
5を更新する。スタック50から次のリクエストが取り
出され、同期専用制御命令以降の主記憶アクセスリクエ
ストを再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、同期による待ち時
間を短縮させた複数のプロセッサ間の同期制御方法およ
び主記憶共有型並列プロセッサに関する。
【0002】
【従来の技術】主記憶共有型並列プロセッサにおいて
は、プロセッサ間の主記憶アクセス順を保証するための
同期制御が必要になる。従来、同期制御命令の前にsy
nc(シンク)命令を挿入したり、あるいは、同期専用
インタフェースをプロセッサ間で用意することにより、
高速に同期処理を実現する方法がある。
【0003】プロセッサは、上記したsync命令をデ
コードすると、それ以前の主記憶アクセス命令を含むす
べての命令の処理を完了するまで次の命令の処理を抑止
する。そして、sync命令を完了すると次の同期制御
命令をデコードし、他プロセッサに同期点到達を知らせ
る。
【0004】また、上記した同期専用インタフェース
は、すべてのプロセッサが同期点到達を知らせるとON
になり、各プロセッサに同期成立を伝達し、同期処理が
完了する。同期制御命令以降の主記憶アクセス命令の処
理は、この同期処理完了を待って記憶制御装置に送出さ
れる。
【0005】
【発明が解決しようとする課題】上記した従来の方法
は、プロセッサが同期処理以前の主記憶アクセスの完了
を保証した上で同期を成立させ、その後、同期処理以降
の主記憶アクセスをプロセッサから送出している。
【0006】しかし、上記した同期処理によって保証し
なければならないことは、主記憶のアクセス順序のみで
あるにも係らず、命令レベルで処理を停止していること
から、同期処理時間が長くなるという問題がある。
【0007】本発明の目的は、複数のプロセッサ間の同
期処理において、プロセッサ間の主記憶アクセスの順序
保証をプロセッサで行うのではなく、より主記憶に近
い、記憶制御装置で行うことにより、同期による待ち時
間を減少させた同期制御方法および主記憶共有型並列プ
ロセッサを提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成するため
に、本発明では、プロセッサ間同期専用制御命令による
プロセッサ間同期専用制御リクエストを各プロセッサか
ら記憶制御装置に通常主記憶アクセス命令の主記憶アク
セスリクエストと同様に流し込み、記憶制御装置ではプ
ロセッサ間同期専用制御リクエストを検出すると、対応
するプロセッサからの主記憶アクセス処理を停止させ、
主記憶アクセスの実行順序を保証すべきすべてのプロセ
ッサに対応するプロセッサ間同期専用制御リクエストを
検出すると主記憶アクセス処理の停止を解除する制御機
構を設けることを特徴としている。また、記憶制御装置
内でプロセッサ間同期専用制御命令によって同期待ちの
状態にある主記憶アクセス処理に対し、外部からの信号
によって同期待ちの状態を強制的に解除させる機構を備
えたことを特徴としている。更に、同期待ち状態の時間
を計るカウンタと同期待ち時間を設定できるレジスタを
備え、該カウンタと該レジスタの値が一致したことを検
出し、同期待ち状態を強制的に解除させる機構を備えた
ことを特徴としている。
【0009】
【発明の実施の形態】以下、本発明の一実施例を図面を
用いて具体的に説明する。図2は、本発明の実施例の概
略構成図を示す。図において、1、2、3、4はプロセ
ッサであり、記憶制御装置5に接続され、記憶制御装置
5は主記憶装置6に接続されている。記憶制御装置5に
はプロセッサの同期待ちの状態を解除するための信号を
入力するリセット機構7が接続されている。
【0010】各プロセッサには、命令デコード部10、
20、30、40と、同期到達レジスタ11、21、3
1、41と、同期成立レジスタ12、22、32、42
が設けられている。以下、プロセッサ1について説明す
るが、プロセッサ2、3、4についても同様である。
【0011】主記憶アクセス命令は、プロセッサ1の命
令デコード部10によってデコードされると、主記憶ア
クセスリクエストを信号線100を介して記憶制御装置
5に送出する。プロセッサ間同期専用制御命令が命令デ
コード部10によってデコードされると、同期到達レジ
スタ11を‘1’にセットし、プロセッサ間同期専用制
御リクエストを信号線100を介して記憶制御装置5に
送出する。
【0012】同期到達レジスタ11がセットされると、
プロセッサ1は同期待ちの状態になり、プロセッサ間同
期専用制御命令以降の処理を停止する。同期到達レジス
タ11はオープンドレイン型出力回路に接続されてお
り、すべてのプロセッサの同期到達レジスタ11、2
1、31、41がセットされると各プロセッサ内の同期
成立レジスタ12、22、32、42がセットされる。
【0013】各プロセッサ内の同期成立レジスタ12、
22、32、42がセットされるとプロセッサ内の処理
が再開され、プロセッサ間同期専用制御命令以降の主記
憶アクセス命令による主記憶アクセスリクエストは、プ
ロセッサ間同期制御リクエストに続いて、記憶制御装置
5に送られる。
【0014】図1は、本発明の記憶制御装置の構成を示
す。図の点線部は、各プロセッサに対応して設けられ、
リクエストスタック50、デコーダ51、インポインタ
53、アウトポインタ55、ANDゲート56、ORゲ
ート57から構成されている。また、各プロセッサ共通
に、プライオリティ回路60、同期待ち時間カウンタ6
3、同期待ち時間限界レジスタ64、比較器65、AN
Dゲート58、ORゲート59、66が設けられてい
る。
【0015】信号線100を介してプロセッサ1から送
出された主記憶アクセスリクエストまたはプロセッサ間
同期専用制御リクエストは、リクエストスタック50に
スタックされる。リクエストスタック50から取り出さ
れた通常の主記憶アクセスリクエストがデコーダ51に
よってデコードされ、プライオリティ回路60に入力さ
れる。
【0016】プライオリティ回路60によってプロセッ
サ間のリクエストの優先順序が付けられ、選択されたリ
クエストは主記憶装置6に対して信号線500により主
記憶アクセスリクエストとして発行される。そして、発
行元プロセッサに対応したリクエストスタック50のア
ウトポインタ55を更新(+1)する。
【0017】リクエストスタック50から取り出された
同期専用制御リクエストがデコーダ51によってデコー
ドされるとANDゲート58に入力される。ANDゲー
ト58は、全てのプロセッサ1、2、3、4からのプロ
セッサ間同期専用制御リクエストをデコードしたことを
検出し、同期完了信号510を出力する。同期完了信号
510は、ORゲート59、ANDゲート56、ORゲ
ート57を介してアウトポインタ55を更新する。これ
により、リクエストスタック50から次のリクエストが
取り出され、プロセッサ間同期専用制御命令以降の主記
憶アクセス命令によるリクエストの処理を再開する。
【0018】以下、本発明のプロセッサ間同期制御命令
(以下、セットバリア命令)を含む命令列を用いて、本
実施例の動作を説明する。図3は、説明を簡単にするた
め、同期動作を行うプロセッサが2台の場合のプロセッ
サ1(IP1)、プロセッサ2(IP2)の命令列の一
例を示す。図3において、「st(ストア)」は主記憶
上に書き込む命令であり、「setbrr(セットバリ
ア)」命令は、本発明のプロセッサ間同期制御命令であ
る。また、命令4、7の「ld(ロード) brr」
は、同期成立レジスタ12、22の内容(brrビッ
ト)を読み込む命令であり、命令5、8の「BC(if
brr=0)」は、同期成立レジスタ12、22の内
容が「0」のときに、命令4、7に分岐する条件付き分
岐命令であり、命令4と命令5または命令7と命令8に
より同期が完了するまでループを実行する。また、命令
1と命令2のストアにおけるAとBは主記憶上の同一バ
ンクに属するものとする。
【0019】プログラムの流れとしては、プロセッサ1
側の命令2のストアで主記憶上のAという領域に書き込
みを行い、ストアが完了してから、プロセッサ2側の命
令9のロードを実行するために、命令3と命令6によっ
てプロセッサIP1とプロセッサIP2の同期をとる。
図4は、このときの主記憶に対するトランザクションを
時間の経過に従って示す。
【0020】図4は3つのステージに分かれている。第
1ステージ()は、プロセッサから命令が発行される
ステージであり、第2ステージ()は、プロセッサの
命令デコード部(10、20)により命令がデコードさ
れるステージであり、第3ステージ()は、記憶制御
装置5内のリクエストスタック50にリクエストがスタ
ックされるステージである。
【0021】図4の(a)に示す状態は、IP2側の第
2ステージにおいて、命令デコード部20がセットバリ
ア命令(setbrr)をデコードし、これによって同
期到達レジスタ21が「1」にセットされた状態を示し
ている。また、IP1側の第1ステージにおいて、図示
しない例えば命令キャッシュからセットバリア命令がフ
ェッチされ、第2ステージにおいて、命令デコード部1
0がストア命令(stA)をデコードし、第3ステージ
においてストア命令(st B)がスタックされている
状態を示している。この時間をt=nとする。
【0022】図4の(b)に示す状態は、(a)より1
マシンサイクル経過後の状態である。すなわち、IP1
側では命令1のストアが記憶制御装置5から主記憶装置
6に送られ、命令2のストアがリクエストスタック50
にスタックされ、命令3のセットバリア命令がデコード
されて同期到達レジスタ11が「1」にセットされた状
態にある。また、IP2側ではセットバリア命令がリク
エストスタック50にスタックされて、主記憶へのアク
セス要求の送出が停止されている状態を示す。このと
き、IP2側のアウトポインタ55はセットバリア命令
を指している。
【0023】図4の(c)は、命令1のストア命令(s
t B)が完了してから1マシンサイクル経過した状態
である(ストアが完了するまでの時間をnsとする)。
IP1、IP2の同期到達レジスタ11、21が共に
「1」にセットされ、これにより同期成立レジスタ1
2、22が「1」にセットされる。この結果、命令4、
5および命令7、8の分岐条件が成立しないので、命令
9のldが命令デコード部20でデコードされ、IP2
のリクエストスタック50にスタックされる。
【0024】一方、IP1側は命令2のストアを主記憶
に送出し、アウトポインタ55を更新し、セットバリア
命令を指す。これにより、IP1、IP2のアウトポイ
ンタ55は共にセットバリア命令を指し、同期がとられ
ることになる。
【0025】図4の(d)は、(c)から1マシンサイ
クル経過後の状態を示す。(c)の状態で、IP1、I
P2のアウトポインタ55が共にセットバリア命令を選
択するので、セットバリア命令がIP1、IP2から共
に取り出される。そして、それぞれデコーダ51によっ
てセットバリア命令がデコードされ、前述したように、
ANDゲート58(この例では2入力のANDゲート)
がオンとなり、同期完了信号510を出力する。この同
期完了信号510によってIP2側のアウトポインタ5
5が更新され、IP2のロード命令(ld)が主記憶に
送出可能となる。なお、同期完了信号510によって同
期到達レジスタ11、21、同期成立レジスタ12、2
2が「0」にリセットされる。
【0026】図4の(e)は、(d)から1マシンサイ
クル経過後の状態を示す。IP2側が主記憶アクセス命
令を送出可能となったので、(e)から1マシンサイク
ル経過後に、図4の(f)に示すように主記憶にロード
命令(ld A)が送られる。このようにして、本発明
のセットバリア命令によるプロセッサ間の主記憶アクセ
ス順序の保証が実現される。
【0027】上記した例は2台のプロセッサの場合であ
るが、3台以上でも同様に説明される。例えば3台の場
合では、プロセッサ1、2の命令列を図3と同様にし、
プロセッサ3の命令列を、 命令10 setbrr 命令11 ld brr 命令12 BC(if brr=0) 命令13 ld B とすると、図4(d)では、IP2のリクエストスタッ
クからロード命令(ldA)が送出可能となり、IP3
のリクエストスタックからロード命令(ldB)が送出
可能となる。図4(e)、(f)では、プライオリティ
回路60によって、ロード命令(ld A)と(ld
B)の優先順位が付けられ、ロード命令(ld A)の
優先順位が高いとすると、まず、IP2のロード命令
(ldA)が主記憶装置に送られ、次いでロード命令
(ld B)が主記憶装置に送られる。
【0028】本実施例では、また、リセット機構7から
同期待ちリセット信号が出力されると、ORゲート6
6、59を介してANDゲート56の一方に入力され
る。ANDゲート56の他方には、同期専用制御リクエ
ストをデコードした出力が入力されるので、ANDゲー
ト56がオンとなる。従って、他のプロセッサからのプ
ロセッサ間同期専用制御リクエストの待ちによって処理
を停止しているリクエストスタックに対してのみアウト
ポインタ55が更新され、プロセッサ間同期専用制御命
令以降の主記憶アクセス命令によるリクエストの処理が
再開される。
【0029】本実施例では、さらに、同期待ち時間限界
レジスタ64には、何れかのプロセッサ1、2、3、4
からのプロセッサ間同期制御リクエストによって同期待
ちの状態になってからの待ち時間の上限がセットされ
る。そして、同期待ち時間カウンタ63は、同期待ちの
状態になってからの時間を計測する。比較器65は、同
期待ち時間カウンタ63の値と同期待ち時間限界レジス
タ64とを比較し、これらが一致するとORゲート6
6、59を通してANDゲート56がオンとなり、プロ
セッサ間リクエストによって処理を停止しているリクエ
ストスタックに対してのみアウトポインタ55を更新
し、プロセッサ間同期専用制御命令以降の主記憶アクセ
ス命令によるリクエストの処理を再開させる。
【0030】
【発明の効果】以上、説明したように、本発明によれ
ば、主記憶共有型並列プロセッサにおける主記憶アクセ
ス順序保証のためのプロセッサ間同期処理による待ち合
わせを、プロセッサで実行するのではなく、記憶制御装
置内で行ない、プロセッサ間同期専用制御命令以降の主
記憶アクセス命令を、記憶制御装置のリクエストスタッ
クに発行しているので、プロセッサ間同期処理以降の処
理の開始が早くなり、高速な並列プロセッサ間の同期制
御方式を実現することができる。
【図面の簡単な説明】
【図1】本発明の記憶制御装置の構成を示す。
【図2】本発明の実施例の概略構成図を示す。
【図3】複数のプロセッサが実行する、プロセッサ間同
期専用制御命令を含む命令列の一例を示す。
【図4】(a)〜(f)は、同期動作を行うプロセッサ
から主記憶に送出されるトランザクションの時間経過を
示す。
【符号の説明】 1、2、3、4 プロセッサ 5 記憶制御装置 6 主記憶装置 7 同期待ちリセット機構 11、21、31、41 同期到達レジスタ 12、22、32、42 同期成立レジスタ 50 リクエストスタック 51 デコーダ 53 インポインタ 55 アウトポインタ 60 プライオリティ回路 63 同期待ち時間カウンタ 64 同期待ち時間限界レジスタ 65 比較器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 上野 幸樹 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと、該複数のプロセッ
    サによって共有される主記憶装置と、前記複数のプロセ
    ッサと主記憶装置間を制御する記憶制御装置とを備えた
    主記憶共有型並列プロセッサにおいて、前記複数のプロ
    セッサ間の同期制御方法であって、前記各プロセッサ
    が、主記憶アクセスの実行順序を保証するためのプロセ
    ッサ間同期専用制御命令を実行したとき、前記記憶制御
    装置に対してプロセッサ間同期専用制御リクエストを発
    行し、前記記憶制御装置は、全てのプロセッサからの前
    記リクエストを検出するまで、前記プロセッサを同期待
    ちの状態にし、前記プロセッサの前記主記憶装置に対す
    るアクセス処理を停止することを特徴とする同期制御方
    法。
  2. 【請求項2】 前記記憶制御装置は、前記全てのプロセ
    ッサからのリクエストを検出したとき、前記アクセス処
    理の停止を解除し、処理を再開させることを特徴とする
    請求項1記載の同期制御方法。
  3. 【請求項3】 主記憶アクセスの実行順序を保証するた
    めのプロセッサ間同期専用制御命令を実行する複数のプ
    ロセッサと、該複数のプロセッサによって共有される主
    記憶装置と、前記複数のプロセッサと主記憶装置間を制
    御する記憶制御装置とを備えた主記憶共有型並列プロセ
    ッサであって、前記命令を実行したときプロセッサから
    のプロセッサ間同期専用制御リクエストを検出する手段
    と、該リクエストを検出したとき、他の全てのプロセッ
    サからのプロセッサ間同期専用制御リクエストを検出す
    るまで前記プロセッサを同期待ちの状態にし、前記プロ
    セッサの主記憶装置に対するアクセス処理を停止させる
    手段とを、前記記憶制御装置に設けたことを特徴とする
    主記憶共有型並列プロセッサ。
  4. 【請求項4】 前記同期待ちの状態を外部から解除し、
    前記プロセッサの主記憶装置に対するアクセス処理を再
    開させる手段を、前記記憶制御装置に設けたことを特徴
    とする請求項3記載の主記憶共有型並列プロセッサ。
  5. 【請求項5】 前記同期待ちの状態にあるとき、同期待
    ちの状態の時間を計測する手段と、同期待ちの時間を予
    め設定する手段と、該計測された時間と該設定された時
    間を比較する手段と、比較の結果、一致したことに応じ
    て前記同期待ちの状態を解除し、前記プロセッサの主記
    憶装置に対するアクセス処理を再開させる手段とを、前
    記記憶制御装置に設けたことを特徴とする請求項3記載
    の主記憶共有型並列プロセッサ。
JP34290696A 1996-12-24 1996-12-24 同期制御方法および主記憶共有型並列プロセッサ Expired - Fee Related JP3375505B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34290696A JP3375505B2 (ja) 1996-12-24 1996-12-24 同期制御方法および主記憶共有型並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34290696A JP3375505B2 (ja) 1996-12-24 1996-12-24 同期制御方法および主記憶共有型並列プロセッサ

Publications (2)

Publication Number Publication Date
JPH10187634A true JPH10187634A (ja) 1998-07-21
JP3375505B2 JP3375505B2 (ja) 2003-02-10

Family

ID=18357440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34290696A Expired - Fee Related JP3375505B2 (ja) 1996-12-24 1996-12-24 同期制御方法および主記憶共有型並列プロセッサ

Country Status (1)

Country Link
JP (1) JP3375505B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466988B1 (en) 1998-12-28 2002-10-15 Hitachi, Ltd. Multiprocessor synchronization and coherency control system
WO2011087076A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 並列計算機システム、同期方法、及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466988B1 (en) 1998-12-28 2002-10-15 Hitachi, Ltd. Multiprocessor synchronization and coherency control system
WO2011087076A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 並列計算機システム、同期方法、及びプログラム
JPWO2011087076A1 (ja) * 2010-01-14 2013-05-20 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム
JP5780157B2 (ja) * 2010-01-14 2015-09-16 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP3375505B2 (ja) 2003-02-10

Similar Documents

Publication Publication Date Title
US8516483B2 (en) Transparent support for operating system services for a sequestered sequencer
JP2748822B2 (ja) 情報処理装置
JPS63127368A (ja) ベクトル処理装置の制御方式
US9342474B2 (en) Switching a computer system from a high performance mode to a low power mode
US5659760A (en) Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information
JPH08147161A (ja) データ処理装置
JPH10187634A (ja) 同期制御方法および主記憶共有型並列プロセッサ
JPH06295243A (ja) データ処理装置
US6910119B1 (en) Instruction pipe and stall therefor to accommodate shared access to return stack buffer
JPH08272608A (ja) パイプライン処理装置
JPH0573296A (ja) マイクロコンピユータ
JPS6259829B2 (ja)
JP2768878B2 (ja) データ処理装置、命令実行の同期方法、例外発生時の命令アドレス待避方法及び例外発生時の命令処理無効化方法
JP2875546B2 (ja) 情報処理システム
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPS61133439A (ja) 命令先取り制御方式
JPS6022768B2 (ja) デ−タ処理方法
JPS58205258A (ja) デ−タ処理装置
JP2002215421A (ja) デバッグ装置およびデバッグ装置のブレーク方法
JPH0364903B2 (ja)
JPH04191938A (ja) 情報処理システム
JPH064467A (ja) バス・サイクル制御方式
JPH1097422A (ja) マイクロプロセッサ
JPH02100137A (ja) 命令実行制御方式
JP2000090003A (ja) 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071129

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20081129

LAPS Cancellation because of no payment of annual fees