JPH1196124A - 並列プロセッサシステム - Google Patents

並列プロセッサシステム

Info

Publication number
JPH1196124A
JPH1196124A JP9250621A JP25062197A JPH1196124A JP H1196124 A JPH1196124 A JP H1196124A JP 9250621 A JP9250621 A JP 9250621A JP 25062197 A JP25062197 A JP 25062197A JP H1196124 A JPH1196124 A JP H1196124A
Authority
JP
Japan
Prior art keywords
cache
processors
processor
instruction
synchronization
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
JP9250621A
Other languages
English (en)
Other versions
JP3636871B2 (ja
Inventor
Koju Ueno
幸樹 上野
Shigeko Hashimoto
茂子 橋本
Naonobu Sukegawa
直伸 助川
Tadaaki Isobe
忠章 磯部
Miki Miyaki
美樹 宮木
Tatsuya Ichiki
達也 市来
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 JP25062197A priority Critical patent/JP3636871B2/ja
Priority to US09/153,872 priority patent/US6263406B1/en
Publication of JPH1196124A publication Critical patent/JPH1196124A/ja
Application granted granted Critical
Publication of JP3636871B2 publication Critical patent/JP3636871B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュと主記憶の一致保証を含むプロセ
ッサ間同期制御の高速化を実現する。 【解決手段】 各プロセッサ1〜4には、起動、終結、
バリア同期などの同期命令を実行するとき、それぞれ接
続されたSC5〜8に対して同期信号を送出する手段を
設け、各SC5〜8には、同期命令以前に発行されたス
トア命令によるのアドレス管理テーブル制御装置(FA
A)9のチェック及び必要なキャッシュキャンセルの発
行が完了したことを検出し、すべてのプロセッサが同期
信号を送出しかつすべてのキャッシュキャンセルの発行
が完了したことを確認すると、各プロセッサに対して同
期成立を通知する手段を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、各プロセッサが主
記憶を共有する並列プロセッサシステムに関し、特に各
プロセッサ内のキャッシュと主記憶の一致保証を含むプ
ロセッサ間同期制御を行うのに好適な並列プロセッサシ
ステムに関する。
【0002】
【従来の技術】主記憶共有型並列プロセッサシステムの
プロセッサ間同期制御には、各プロセッサに対して同時
に起動をかけることを保証する起動同期制御、各プロセ
ッサでの処理が終結したことを保証する終結同期制御、
及び、各プロセッサ間の主記憶アクセス順序を保証する
バリア同期制御がある。各プロセッサが主記憶の写しを
格納するキャッシュを有し、各プロセッサ間で依存関係
のあるデータを処理する場合には、キャッシュと主記憶
との一致(キャッシュコヒーレンス)を考慮して、起
動、終結、バリア同期制御を行う必要がある。
【0003】従来、主記憶共有型並列プロセッサシステ
ムとしては、図9に示すように、キャッシュを有するプ
ロセッサと主記憶間をバス結合で結ぶシステムが知られ
ている。このようなシステムにおいて、キャッシュと主
記憶の一致保証を行うためには、あるプロセッサの主記
憶に対するストアリクエストをバスを介してその他のプ
ロセッサがスヌープし、自キャッシュ内に同一アドレス
に対するデータを保持している場合、そのエントリのキ
ャンセルを行う方式がとられている。また、終結やバリ
ア同期制御の高速化のために、複数のプロセッサ間で、
これら同期処理通信専用のオープンドレイン型のインタ
ーフェースを利用する方式も知られている。オープンド
レイン型のインターフェースを用いることにより、複数
チップで構成される複数のプロセッサ全てが終結やバリ
ア同期に到達していることを検出し、その同期成立を全
てのプロセッサに通知することが可能である。
【0004】以下、図9のシステムを用いて、従来の主
記憶共有型並列プロセッサシステムでの起動、終結、バ
リア同期の処理を説明する。
【0005】まず、起動処理について説明する。メイン
プロセッサ1がサブプロセッサ2〜4に対して起動をか
ける命令をデコードした場合には、メインプロセッサ1
が起動発レジスタ12をセットし、起動専用インターフ
ェース141を介して各サブプロセッサ2〜4に対して
起動信号を送り、各サブプロセッサ内の起動受レジスタ
22、32、42をセットすることにより、各サブプロ
セッサ2〜4の起動を行う。
【0006】この場合、メインプロセッサ1が起動命令
以前に発行したストアリクエストに対して、各サブプロ
セッサ2〜4のキャッシュ20〜40と主記憶130の
一致保証をするために、メインプロセッサ1の起動命令
の前にSYNC命令を挿入していた。SYNC命令は、
メインプロセッサ1内でその命令がデコードされると、
SYNC命令以前にデコードされた命令がすべて完了す
るまでSYNC命令以降の命令のデコードを抑止する。
SYNC命令以前の命令がすべて完了するとバス140
を介して、すべてのサブプロセッサ2〜4に対してSY
NCリクエストを送出する。SYNCリクエストを受け
取った各サブプロセッサ2〜4は、メインプロセッサ1
内でSYNC命令以前に発行された主記憶130へのス
トア命令に対して、各サブプロセッサ2〜4のキャッシ
ュと主記憶130の一致制御をするためのキャッシュキ
ャンセルがすべて完了すると、そのことを主記憶制御装
置(SC)120に対して通知する。SC120はすべ
てのサブプロセッサ2〜4からの完了通知を受け取ると
メインプロセッサ1に対して一致保証がとれたことを通
知し、その通知によりメインプロセッサでのSYNC命
令が完了し、次命令にある起動命令がデコードされる。
よって起動命令を実行する時にはキャッシュと主記憶の
一致保証がなされており、キャッシュと主記憶の一致保
証を含む起動制御が達成される。
【0007】次に、終結処理について説明する。サブプ
ロセッサ2〜4がメインプロセッサ1に対して終結を行
う命令をデコードした場合には、各サブプロセッサ2〜
4が終結発レジスタ23、33、43をセットし、すべ
てのサブプロセッサ2〜4が終結発レジスタ23、3
3、43をセットしたときに、オープンドレイン型の終
結インターフェース142を介して、メインプロセッサ
1に終結信号が送られ、メインプロセッサ1内の終結受
レジスタ13がセットされると終結動作が完了する。
【0008】この場合も、サブプロセッサ2〜4が終結
命令以前に発行したストア命令に対して、メインプロセ
ッサ1のキャッシュ10と主記憶130の一致保証をす
るために、終結命令の前にSYNC命令が挿入される。
サブプロセッサ(2とする)にてSYNC命令がデコー
ドされ、バス140にSYNCリクエストが送出される
と、受け取ったメインプロセッサ1と他サブプロセッサ
3、4は、SYNCリクエストを送出したサブプロセッ
サ2がSYNC命令以前に発行したストア命令に対し
て、メインプロセッサ1と他サブプロセッサ3、4のキ
ャッシュと主記憶130の一致保証をするためのキャッ
シュキャンセルがすべて完了すると、そのことをSC1
20に対して通知する。SC120がメインプロセッサ
1と他サブプロセッサ3、4からの完了通知を受け取る
と、SYNCリクエストを送出したサブプロセッサ2に
対して一致保証が取れたことを通知し、その通知により
サブプロセッサ2でのSYNC命令が完了し、次命令に
ある終結命令を実行し、自サブプロセッサ2の終結発レ
ジスタ23をセットする。他のサブプロセッサ3、4に
ついても同様である。こうして、すべてのサブプロセッ
サ2〜4でSYNC命令が完了した時点で、メインプロ
セッサ1のキャッシュと主記憶130の一致は保証さ
れ、すべてのサブプロセッサ2〜4が終結発レジスタ2
3、33、43をセットし、終結専用インターフェース
142を介してメインプロセッサ1に対して終結信号を
送り、メインプロセッサ1内の終結受レジスタ13をセ
ットすることにより、キャッシュと主記憶の一致保証を
含む終結制御が達成される。
【0009】最後に、バリア同期処理について説明す
る。一般に、コンパイル時に複数のプロセッサに割り当
てる複数のプログラムのある時点以前の命令による主記
憶アクセスアドレスと、それ以降の命令による主記憶ア
クセスアドレスに重なりがないと判定できない場合、一
律にキャッシュと主記憶の一致制御(キャッシュコヒー
レンス制御)の完了を保証したバリア同期命令が挿入さ
れる。すべてのプロセッサ1〜4間でバリア同期命令を
デコードした場合には、各プロセッサ1〜4がバリア同
期発レジスタ14、24、34、44をセットし、すべ
てのプロセッサ1〜4がバリア同期発レジスタ14、2
4、34、44をセットをしたときに、オープンドレイ
ン型のバリア同期専用インターフェース143を介して
各プロセッサ1〜4に対してバリア同期成立信号が送ら
れ、各プロセッサ内のバリア同期受レジスタ15、2
5、35、45がセットされ、バリア同期が完了する。
【0010】この場合も、各プロセッサ1〜4がバリア
同期命令以前に発行したストアリクエストに対して、他
プロセッサ1〜4のキャッシュと主記憶130の一致保
証をするために、バリア同期命令の前にSYNC命令が
挿入される。プロセッサ(メインプロセッサ1とする)
にてSYNC命令がデコードされ、バス140にSYN
Cリクエストが送出されると、受け取った各サブプロセ
ッサ2〜4は、SYNCリクエストを送出したメインプ
ロセッサ1がSYNC命令以前に発行したストアリクエ
ストに対して、サブプロセッサ2〜4のキャッシュと主
記憶130の一致保証をするためのキャッシュキャンセ
ルが完了すると、そのことをSC120に対して通知す
る。SC120がサブプロセッサ2〜4からの完了通知
を受け取ると、SYNCリクエストを送出したメインプ
ロセッサ1に対して一致保証が取れたことを通知し、そ
の通知によりメインプロセッサ1でのSYNC命令が完
了し、次命令にあるバリア同期命令を実行し、自プロセ
ッサ1のバリア同期発レジスタ14をセットする。サブ
プロセッサ2〜4についても同様である。こうして、す
べてのプロセッサ1〜4でSYNC命令が完了した時点
で、すべてのプロセッサ1〜4のキャッシュと主記憶1
30の一致が保証され、すべてのプロセッサ1〜4がバ
リア同期発レジスタ14、24、34、44をセットす
ると、バリア同期専用インターフェース143を介して
すべてのプロセッサ1〜4に対してバリア同期成立信号
が送られ、同プロセッサ1〜4内のバリア同期受レジス
タ15、25、35、45をセットすることにより、キ
ャッシュと主記憶の一致保証を含むバリア同期制御が達
成される。
【0011】
【発明が解決しようとする課題】主記憶共有型並列プロ
セッサシステムは、図9に示したような複数のプロセッ
サと主記憶間をバス結合で結ぶシステムが一般的であ
る。このシステムでは1度にひとつのプロセッサしか主
記憶に対してアクセスする事ができないので、キャッシ
ュが有効に働き、各プロセッサからの主記憶へのリクエ
ストがそれほど頻繁に起こらないようなシステムには適
している。しかし、大規模科学技術計算のようにデータ
容量がキャッシュ容量を大きく越えるためにプロセッサ
からの主記憶アクセスが頻繁に起こるようなシステムに
は適さない。
【0012】そこで、図10に示すように、プロセッサ
1〜4と主記憶130間を各々SC5〜8を介して独立
したパスで結び、それぞれのプロセッサが同時に主記憶
に対してアクセスできるようなシステムが考えられてい
る。ところが、このようなシステムで、各プロセッサ間
をバスで結び、他プロセッサからのリクエストをスヌー
プすることによりキャッシュと主記憶間の一致保証を行
おうとすると、すべてのプロセッサが同時にメモリリク
エストを発行する可能性があるので、プロセッサと主記
憶間のスループットを確保するためには、スヌープ専用
のアドレス線をプロセッサ数分用意し、同時に複数のリ
クエストをスヌープできるようにしなければならない。
このためにプロセッサの物量が増大してしまうというと
いう問題が生じる。そこですべてのプロセッサ1〜4の
キャッシュに保持するデータの主記憶アドレス情報を一
元管理するアドレス管理テーブル制御装置(FAA)9
を用意する。そして、あるプロセッサから主記憶130
へのロードリクエストがあるとそのアドレスをFAA9
に登録し、あるプロセッサからストアリクエストが発行
された場合には、そのアドレスがFAA9に登録されて
いるプロセッサに対して、キャッシュキャンセルリクエ
ストを発行するという方法をとる。
【0013】しかしながら、図10に示すシステムにお
いて、キャッシュと主記憶の一致を保証する起動、終
結、バリア同期動作を行う場合、従来と同様に、起動命
令、終結命令あるいはバリア同期命令の前にSYNC命
令を挿入する必要があり、SYNC命令の処理と起動、
終結、バリア同期命令の処理が逐次的となり、並列処理
の性能向上の点で問題がある。
【0014】以下に、図10に示すシステムにおける起
動時の動作を図11のタイムチャートに基づいて説明す
る。メインプロセッサ1のプログラムはストア命令、S
YNC命令、起動命令の順で処理される。
【0015】まず、メインプロセッサ1でストア命令が
デコードされると、ストアリクエストがSC5へ送出さ
れ(ステップ201)、SC5では、ストアリクエスト
の完了が保証されると、FAA9へ参照要求を送出する
(ステップ202)。FAA9では、ストアリクエスト
と同じアドレスのデータをキャッシュに保持しているサ
ブプロセッサ2〜4に対するキャッシュキャンセルのリ
クエストをSC6〜8に対して送出する(ステップ20
3)。キャッシュキャンセルリクエストは、SC6〜8
から、各サブプロセッサ2〜4へ送出される(ステップ
204)。サブプロセッサ2〜4がキャンセルリクエス
トを受け取り、キャッシュのキャンセルが完了すると、
キャッシュと主記憶との一致が保証される(ステップ2
05)。
【0016】次に、メインプロセッサ1でストア命令の
後にSYNC命令がデコードされると、以前に発行され
ている命令がすべて完了した時点でSYNCリクエスト
をSC5に対して送出する(ステップ210)。SYN
Cリクエストは、SC5からFAA9へ送出され(ステ
ップ211)、キャンセルリクエストの送出(ステップ
203)が完了した時点で、FAA9からSC6〜8へ
送出される(ステップ212)。このSYNCリクエス
トは、SC6〜8からサブプロセッサ2〜4へ送出され
(ステップ213)、各サブプロセッサ2〜4ではキャ
ッシュキャンセルの完了をもって(ステップ205)、
SC6〜8へSYNC完了通知を送出する(ステップ2
14)。SYNC完了通知はSC6〜8からFAA9へ
通知され(ステップ215)、FAA9は、すべてのサ
ブプロセッサ2〜4からのSYNC完了通知を受けとっ
た時点でSC5に対してSYNC完了通知を送る(ステ
ップ216)。SYNC完了通知はSC5からメインプ
ロセッサ1へ送出され(ステップ217)、メインプロ
セッサ1では、このSYNC完了通知によりSYNC命
令を完了し、起動命令をデコードする。起動命令のデコ
ードにより、図9で示した起動発レジスタ12がセット
されると、起動専用インターフェースを介し、起動信号
がサブプロセッサ2〜4へ送出され(ステップ21
8)、サブプロセッサ内の起動受レジスタ22、32、
42がセットされる(ステップ219)。
【0017】以上、起動処理について説明したが、終
結、バリア同期においても同様であり、キャッシュと主
記憶の一致保証のためのSYNC命令の処理と起動、終
結、バリア同期命令の処理が、逐次的に処理される。こ
のことが、並列処理性能を向上せしめる上での問題とな
る。
【0018】本発明の目的は、起動、終結、バリア同期
命令に対して、SCでキャッシュと主記憶の一致保証を
することによって、高速なキャッシュと主記憶との一致
保証を可能にする並列プロセッサシステムを提供するこ
とにある。
【0019】本発明の他の目的は、起動、終結、バリア
同期を同一の回路で実現し、メインプロセッサとサブプ
ロセッサが同じ動作をすることをプログラム的に保証す
ることにより、メインプロセッサとサブプロセッサを区
別しないハードウエアが実現できる並列プロセッサシス
テムを提供することにある。
【0020】本発明の他の目的は、キャッシュと主記憶
との一致保証を行わない同期インターフェースを追加す
ることにより、キャッシュと主記憶との一致保証を必要
としない処理の開始を早めることができる並列プロセッ
サシステムを提供することにある。
【0021】本発明のさらに他の目的は、動的にデータ
依存関係がないと判定できるケースを検出し、そのよう
な場合にはキャッシュと主記憶との一致保証制御の完了
を考慮せずにバリア同期を成立させ、余計な待ち合わせ
時間を削減し、高速な並列処理を実現する並列プロセッ
サシステムを提供することにある。
【0022】
【課題を解決するための手段】本発明は、キャッシュを
有する複数のプロセッサと、それぞれのプロセッサに接
続された複数の主記憶制御装置(SC)と、複数のプロ
セッサにより共有される主記憶と、すべてのプロセッサ
のキャッシュに保持するデータの主記憶アドレス情報を
一元管理するアドレス管理テーブル(FAA)を持つ主
記憶共有型並列プロセッサシステムにおいて、高速な同
期インターフェースを実現するために、メインプロセッ
サがサブプロセッサに対して起動をかける命令(起動命
令)をデコードした場合に、メインプロセッサが起動レ
ジスタをセットし、メインプロセッサに接続されたSC
に対して起動信号を送る手段と、起動信号を受け取った
メインプロセッサに接続されたSCが起動命令以前に発
行されたストア命令によるFAAのチェック及び必要な
キャッシュキャンセルの発行が完了したことを検出し、
すべてのサブプロセッサに接続されたSCに対して通知
する手段と、その通知を受け取った各サブプロセッサに
接続されたSCが、メインプロセッサから起動命令以前
に発行されたサブプロセッサへのキャッシュキャンセル
をすべてプロセッサに発行したことを検出した時点で接
続されたサブプロセッサに対して起動をかける手段を有
する、キャッシュと主記憶の一致保証を含む起動インタ
ーフェースを備えている。
【0023】また、各サブプロセッサが内部の処理を終
結したことを示す命令(終結命令)をデコードした場合
に、各サブプロセッサが終結レジスタをセットし、各サ
ブプロセッサに接続されたSCに対して終結信号を送る
手段と、終結信号を受け取った各サブプロセッサに接続
されたSCが終結命令以前に発行されたストア命令によ
るFAAのチェック及び必要なキャッシュキャンセルの
発行が完了したことを検出する手段と、すべてのサブプ
ロセッサに接続されたSCでストア命令によるFAAの
チェック及び必要なキャッシュキャンセルの発行が完了
したことを検出し、メインプロセッサに接続されたSC
に対して通知する手段と、その通知を受け取ったメイン
プロセッサに接続されたSCが、各サブプロセッサから
終結命令以前に発行されたメインプロセッサへのキャッ
シュキャンセルをすべてプロセッサに発行したことを検
出した時点でメインプロセッサに対して終結を通知する
手段を有する、キャッシュと主記憶の一致保証を含む終
結インターフェースを備えている。
【0024】また、すべてのプロセッサ間で同一アドレ
スの主記憶データアクセスの順序性を保証するために同
期をとる命令(バリア同期)を各プロセッサがデコード
した場合に、各プロセッサがバリア同期レジスタをセッ
トし、各SCに対してバリア同期信号を送る手段と、バ
リア同期信号を受け取った各SCがバリア同期命令以前
に発行されたストア命令によるFAAのチェック及び必
要なキャッシュキャンセルの発行が完了したことを検出
する手段と、すべてのSCでストア命令によるFAAの
チェック及び必要なキャッシュキャンセルの発行が完了
したことを検出する手段と、各SCですべてのSCがF
AAのチェック及びキャッシュキャンセルの発行を完了
したことを認識し、受け付けたキャッシュキャンセルを
すべてプロセッサに発行したことをプロセッサに通知す
る手段を有する。キャッシュと主記憶の一致保証を含む
同期インターフェースを備えている。
【0025】また、起動、終結において、メインプロセ
ッサ用、サブプロセッサ用に特別なハードウエアを用意
する必要がないように、起動を行うときには、メインプ
ロセッサが起動の通知を行うと同様にサブプロセッサも
起動の通知を行い、終結を行うときには、サブプロセッ
サが終結の通知を行うと同様にメインプロセッサも終結
の通知を行ない、起動、終結をバリア同期と同じ動作で
実現する。
【0026】さらに、キャッシュと主記憶との一致保証
を含む同期インターフェースと、一致保証を含まない同
期インターフェースを用いることにより、キャッシュと
主記憶の一致保証を必要としない処理を、一致保証をし
た同期が完了する前に開始する。
【0027】また、本発明は、バリア同期命令より以前
に発行されたストア命令によるキャッシュと主記憶の一
致保証制御(キャッシュコヒーレンス制御)の完了がバ
リア同期成立に関係があるか否か判定し、その判定結果
を保持するキャッシュコヒーレンス制御要否判定部をメ
インプロセッサ内に備え、前記キャッシュコヒーレンス
制御要否判定部からの判定情報により、動的にキャッシ
ュコヒーレンス制御の完了を保証したバリア同期成立と
キャッシュコヒーレンス制御の完了を考慮しないバリア
同期成立の制御を実施する。
【0028】また、該キャッシュコヒーレンス制御要否
判定部は、複数のバリア同期命令に対応する判定結果を
保持するキャッシュコヒーレンス制御要否判定キューを
備え、複数のバリア同期命令に対応するキャッシュコヒ
ーレンス制御要否判定を先行し行って該キャッシュコヒ
ーレンス制御要否判定キューに保持し、各バリア同期命
令の実行時に、該キャッシュコヒーレンス制御要否判定
キューに保持した判定結果を用いてバリア同期制御を実
施する。
【0029】さらに、キャッシュコヒーレンス制御要否
判定を行わずにバリア同期を実行する場合には、キャッ
シュコヒーレンス制御要否判定部の出力をキャッシュコ
ヒーレンス制御要を示す値に固定することで、必ずキャ
ッシュコヒーレンス制御の完了を保証したバリア同期命
令を実行することを可能とするようにする。
【0030】
【発明の実施の形態】以下、本発明の実施の形態として
の各実施例を詳細に説明する。
【0031】〈実施例1〉図1は本実施例における起動
インターフェースの構成を示すブロック図、図2は終結
インターフェースの構成を示すブロック図、図3はバリ
ア同期インターフェースの構成を示すブロック図であ
る。なお、図1乃至図3では、便宜上、主記憶制御装置
(SC)5〜8に共通に接続される主記憶は省略してあ
る。
【0032】図1〜3において、メインプロセッサ1は
デコーダ11が起動命令をデコードすると起動発レジス
タ12をセットし、バリア同期命令をデコードするとバ
リア同期発レジスタ14をセットする。終結受レジスタ
13は、サブプロセッサ2〜4の処理が終結するとセッ
トされ、バリア同期受レジスタ15はバリア同期がとれ
るとセットされる。サブプロセッサ2〜4は、デコーダ
21,31,41が終結命令をデコードすると終結発レ
ジスタ23,33,43をセットし、バリア同期命令を
デコードするとバリア同期発レジスタ24,34,44
をセットする。起動受レジスタ22、32、42はメイ
ンプロセッサ1から起動がかけられるとセットされ、バ
リア同期受レジスタ25,35,45はバリア同期がと
れるとセットされる。
【0033】アドレス管理テーブル制御装置(FAA)
9はアドレス管理テーブル91を持ち、すべてのプロセ
ッサ1〜4のキャッシュ10〜40に保持するデータの
主記憶アドレス情報を一元管理する。キャンセル発行回
路92は、主記憶へのストアリクエストに対してアドレ
ス管理テーブル91を参照し、必要ならばSC5〜8に
対してキャッシュキャンセルリクエストの発行を行う。
キャンセル完通知回路93〜96は、キャンセル発行回
路92を監視し、自プロセッサからの主記憶へのリクエ
ストに対する他プロセッサへのキャッシュキャンセルリ
クエストの発行が完了したことを検出してSC5〜8に
通知する。
【0034】SC5〜8は発完了保証回路51,61,
71,81と受完了保証回路52,62,72,82を
有する。発完了保証回路51,61,71,81は自プ
ロセッサが発行したストアリクエストに対する他プロセ
ッサへのキャッシュキャンセルリクエストがFAA9か
らSC5〜8に送られたことを保証し、受完了保証回路
52、62、72、82はキャッシュキャンセルリクエ
ストがSC5〜8からプロセッサ1〜4へ送られたこと
を保証する。オープンドレインパス55は、発完了保証
回路51,61,71,81の発完了通知のアンドをと
って、受完了保証回路51,61,71,81に伝える
パスである。
【0035】図4は、SC5〜8の発完了保証回路5
1,61,71,81の具体的構成を示すブロック図で
ある。図4において、同期レジスタ100は自プロセッ
サが同期命令(起動、終結、バリア同期)をデコードし
たことを示す。セレクタ104は、自プロセッサがスト
アリクエストを発行するとインクリメンタ101により
インクリメントされた値を、FAA9からキャンセル完
通知を受け取るとデクリメンタ102によりデクリメン
トされた値を、それ以外はそのままの値をセレクトす
る。発カウントレジスタ103はセレクトされた値を保
持する。ゼロ判定回路105は発カウントレジスタ10
3の値が0になったことを判定する。発完了判定回路1
06は、同期レジスタ100がセットされ、かつ、発カ
ウントレジスタ103の値が0になったことを判定す
る。
【0036】図5は、SC5〜8の受完了保証回路5
2,62,72,82の具体的構成を示すブロック図で
ある。図5において、発完了レジスタ110は発完了保
証が完了したことを示す。セレクタ114は、FAA9
から自SC5にキャンセルリクエストが送られるとイン
クリメンタ111によりインクリメントされた値を、自
SCから自プロセッサへキャンセルリクエストが送られ
るとデクリメンタ112によりデクリメントされた値
を、それ以外はそのままの値をセレクトする。受カウン
トレジスタ113はセレクトされた値を保持する。ゼロ
判定回路115は受カウントレジスタ113の値が0に
なったことを判定する。受完了判定回路116は、発完
了レジスタ110がセットされ、かつ受カウントレジス
タ113の値が0になったことを判定する。
【0037】まず、図1の構成により起動処理の動作を
説明する。なお、図12にこの場合のタイムチャートを
示す。
【0038】メインプロセッサ1が起動命令をデコード
すると、起動発レジスタ12をセットする。起動発レジ
スタ12の出力信号は、SC5内の発完了保証回路51
に送出され(ステップ230)、同期レジスタ100を
セットする。発完了保証回路51では、メインプロセッ
サ1でストアリクエストが発行される度に発カウントレ
ジスタ103をインクリメントしていくので、起動命令
より前に発行されたストアリクエスト(ステップ20
1)によって発カウントレジスタ103はすでにカウン
トアップされている。SC5からFAA9へストアリク
エストに対する参照要求が送出され(ステップ20
2)、FAA9のキャンセル完通知回路93からSC5
へ、メインプロセッサ1が発行したストアリクエストに
対するキャッシュキャンセルの発行完了が通知される
と、発カウントレジスタ103をデクリメントしてい
く。発カウントレジスタ103の値が0になると、発行
したストアリクエストに対するキャッシュキャンセルリ
クエストがすべて発行された(ステップ203)ことを
意味するので、これをゼロ判定回路115により判定す
る。CS5の発完了保証回路51は、メインプロセッサ
1により起動処理が通知され、かつ、キャッシュキャン
セルリクエストがすべて発行されたことを発完了判定回
路106により判定すると、それをパス(同期インター
フェースパス)54を介して各サブプロセッサ2〜4に
接続されたSC6〜8内の受完了保証回路62,72,
82に通知し(ステップ231)、その発完了レジスタ
110をセットする。受完了保証回路62,72,82
では、FAA9のキャンセル発行回路92からSC6〜
8にキャッシュキャンセルリクエストが発行される度に
受カウントレジスタ113をインクリメントしていくの
で、発完了レジスタ110がセットされたときにはすで
にカウントアップされており、受け取ったキャンセルリ
クエストをプロセッサ2〜4に送る度に受カウントレジ
スタ113をデクリメントしていく。受カウントレジス
タ113の値が0になると、キャッシュキャンセルリク
エストをすべてプロセッサに発行した(ステップ20
4)ことを意味するので、これをゼロ判定回路115に
より判定する。SC6〜8の受完了保証回路62,7
2,82は、SC5の発完了保証回路51から発完了通
知を受け取り、かつ、キャッシュキャンセルリクエスト
をすべてプロセッサ2〜4へ発行したことを受完了判定
回路116により判定すると、各サブプロセッサ2〜4
へ起動通知をし(ステップ232)、起動受レジスタ2
2,32,42をセットする(ステップ233)。各サ
ブプロセッサ2〜4は、起動受レジスタ22,32,4
2がセットされると与えられた処理を開始する。
【0039】先の図11と図12のタイムチャートを比
較して明らかな如く、本実施例では、起動命令に対し
て、SCでキャッシュと主記憶の一致保証をすることに
よって、キャッシュと主記憶との一致保証を含む高速な
同期制御が実現する。
【0040】次に、図2の構成により終結処理の動作を
説明する。各サブプロセッサ2〜4が終結命令をデコー
ドすると、終結発レジスタ23,33,43をセットす
る。終結発レジスタ23,33,43の出力信号は、そ
れぞれSC6〜8内の発完了保証回路61,71,81
に送られ同期レジスタ100をセットする。発完了保証
回路61,71,81では、サブプロセッサ2〜4でス
トアリクエストが発行される度に発カウントレジスタ1
03をインクリメントしていくので、終結命令より前に
発行されたストアリクエストによって発カウントレジス
タ103はすでにカウントアップされており、FAA9
のキャンセル完通知回路94,95,96から、発行し
たストアリクエストに対するキャッシュキャンセルの発
行完了が通知される度に発カウントレジスタ103をデ
クリメントしていく。発カウントレジスタ103の値が
0になると、発行したストアリクエストに対するキャッ
シュキャンセルリクエストがすべて発行されたことを意
味するので、これをゼロ判定回路115により判定す
る。SC6〜8の発完了保証回路61,71,81は、
サブプロセッサ2〜4から処理終結が通知され、かつキ
ャッシュキャンセルリクエストがすべて発行されたこと
を発完了判定回路106により判定すると、発完了通知
信号をSC間に張られているオープンドレインパス55
に送りつける。オープンドレインパス55は、すべての
サブプロセッサ2〜4に接続されたSC6〜8からの発
完了通知信号を受けるとオンになり、メインプロセッサ
1に接続されたSC5の受完了保証回路52に通知し、
その発完了レジスタ110をセットする。受完了保証回
路52では、FAA9のキャンセル発行回路92からS
C5にキャッシュキャンセルリクエストが発行される度
に受カウントレジスタ113をインクリメントしていく
ので、発完了レジスタ110がセットされたときにはす
でにカウントアップされており、受け取ったキャンセル
リクエストをプロセッサ1に送る度に受カウントレジス
タ113をデクリメントしていく。受カウントレジスタ
113の値が0になると、キャッシュキャンセルリクエ
ストをすべてプロセッサ1に発行したことを意味するの
で、これをゼロ判定回路115により判定する。SC5
の受完了保証回路52は、SC6〜8からの発完了通知
を受け取り、かつ、キャッシュキャンセルリクエストを
すべてプロセッサ1へ発行したことを受完了判定回路1
16により判定すると、メインプロセッサ1へ終結通知
をし、終結受レジスタ13をセットする。メインプロセ
ッサ1は、終結受レジスタ13がセットされると、次に
行う処理を開始する。
【0041】次に、図3の構成によりバリア同期を行う
ときの動作を説明する。各プロセッサ1〜4がバリア同
期命令をデコードすると、バリア同期発レジスタ13,
23,33,43をセットする。バリア同期発レジスタ
13,23,33,43の出力信号は、それぞれSC5
〜8内の発完了保証回路51,61,71,81に送ら
れ同期レジスタ100をセットする。発完了保証回路5
1,61,71,81では、プロセッサ1〜4でストア
リクエストが発行される度に発カウントレジスタ103
をインクリメントしていくので、バリア同期命令より前
に発行されたストアリクエストによって発カウントレジ
スタ103はすでにカウントアップされており、FAA
9のキャンセル完通知回路93,94,95,96か
ら、発行したストアリクエストに対するキャッシュキャ
ンセルの発行完了が通知される度に発カウントレジスタ
103をデクリメントしていく。発カウントレジスタ1
03の値が0になると、発行したストアリクエストに対
するキャッシュキャンセルリクエストがすべて発行され
たことを意味するので、これをゼロ判定回路115によ
り判定する。SC1〜4の発完了保証回路51,61,
71,81はプロセッサ1〜4からバリア同期が通知さ
れ、かつ、キャッシュキャンセルリクエストがすべて発
行されたことを発完了判定回路106により判定する
と、発完了通知信号をSC間に張られているオープンド
レインパス55に送りつける。オープンドレインパス5
5は、すべてのSC5〜8からの発完了通知信号を受け
るとオンになり、各SC5〜8の受完了保証回路52,
62,72,82に通知し、その発完了レジスタ110
をセットする。受完了保証回路52,62,72,82
では、FAA9のキャンセル発行回路92からSC5〜
8にキャッシュキャンセルリクエストが発行される度に
受カウントレジスタ113をインクリメントしていくの
で、発完了レジスタ110がセットされたときにはすで
にカウントアップされており、受け取ったキャンセルリ
クエストをプロセッサ1〜4に送る度に受カウントレジ
スタ113をデクリメントしていく。受カウントレジス
タ113の値が0になると、キャッシュキャンセルリク
エストをすべてプロセッサに発行したことを意味するの
で、これをゼロ判定回路115により判定する。受完了
保証回路52,62,72,82は、すべてのSC5〜
8からの発完了通知を受け取り、かつ、キャッシュキャ
ンセルリクエストをすべてプロセッサ1〜4へ発行した
ことを受完了判定回路116により判定すると、プロセ
ッサ1〜4へバリア同期成立信号を送り、バリア同期受
レジスタ15,25,35,45をセットする。各プロ
セッサ1〜4は、バリア同期受レジスタ15,25,3
5,45がセットされると次に行う処理を開始する。
【0042】〈実施例2〉図3では、バリア同期のケー
スのみについて説明を行ったが、同一の構成で起動、終
結、各ケースの同期制御を行うことも可能である。これ
を図6を用いて説明する。図6は、図3の構成を起動、
終結、バリア同期の各ケースの同期制御に適用するため
に一般化して示したものである。
【0043】まず、起動を行う場合、図1の動作では、
メインプロセッサ1のみが起動命令をデコードし起動発
レジスタ12をセットしていたが、図6の実施形態にお
いて起動を行う場合にはサブプロセッサ2〜4のプログ
ラム中にも起動命令を挿入し、各サブプロセッサ2〜4
が起動命令をデコードしたときに同期発レジスタ26,
36,46をセットするようにする。こうして、各プロ
セッサ1が起動命令をデコードすると、同期発レジスタ
16,26,36,46がセットされる。これ以降は、
上述の図3で説明したバリア同期制御と同様の処理が行
われ、各プロセッサ1〜4の同期受レジスタ17,2
7,37,47がセットされると、各プロセッサ1〜4
は起動がかけられたと判断し、処理を開始する。
【0044】次に、終結を行う場合、図2の動作では、
サブプロセッサ2〜4のみが終結命令をデコードし終結
発レジスタ23,33,43をセットしていたが、図6
の実施形態において終結を行う場合にはメインプロセッ
サ1のプログラム中にも終結命令を挿入し、メインプロ
セッサ1が終結命令をデコードしたときに同期発レジス
タ16をセットするようにする。こうして、各プロセッ
サ1〜4が終結命令をデコードすると、同期発レジスタ
16,26,36,46がセットされる。これ以降は、
上述の図3で説明したバリア同期制御と同様の処理が行
われ、各プロセッサ1〜4の同期受レジスタ17,2
7,37,47がセットされると、各プロセッサ1〜4
は処理が終結したと判断し、以降の処理を開始する。
【0045】〈実施例3〉各プロセッサのキャッシュ上
のデータのアクセスを伴わない処理を行う場合には、主
記憶とキャッシュの一致保証は不要である。このような
処理では、各プロセッサのキャッシュと主記憶との一致
保証を行わないインターフェースを追加することによ
り、一致保証を必要としない処理を早く開始することが
でき、効率を上げることができる。
【0046】図7は、この場合の構成例を示したもの
で、図6の構成に保証無同期受レジスタ18,28,3
8,48を追加するとともに、同期発レジスタ16,2
6,36,46と該保証無同期受レジスタ18,28,
38,48とをオープンドレインパス56で接続したも
のである。なお、保証有同期受レジスタ17,27,3
7,47は図6の同期受レジスタの呼び名を変えただけ
である。
【0047】以下に、図7の動作を図13のタイムチャ
ートに基づいて説明する。なお、図13は図12との比
較のため、メインプロセッサ1の同期命令(起動、終
結、バリア同期命令)に着目しているが、サブプロセッ
サ2〜4の同期命令についても同様である。
【0048】まず、各プロセッサ1〜4が同期命令(起
動、終結、バリア同期命令)をデコードし、同期発レジ
スタ16,26,36,46をセットすると、その出力
信号はSC5〜8に送られると共に(ステップ33
0)、オープンドレインパス56に送られる。オープン
ドレインパス56はすべての同期発レジスタ16,2
6,36,46がセットされるとオンになり、各プロセ
ッサ1〜4に対して、キャッシュ10〜40と主記憶の
一致保証なしの同期通知を行い、各プロセッサ1〜4の
保証無同期受レジスタ18,28,38,48をセット
する(ステップ340)。保証無同期受レジスタ18,
28,38,48がセットされると、各プロセッサ1〜
4ではキャッシュ10〜40と主記憶との一致保証を必
要としない処理を開始する。その後、図10と同様の動
作で各プロセッサ1〜4に対してキャッシュと主記憶の
一致保証をした同期通知がなされ、保証有同期受レジス
タ17,27,37,47がセットされ(ステップ34
1)、一致保証を必要とする処理が開始される。
【0049】なお、図7では、図6の構成にキャッシュ
と主記憶との一致保証を行わないインターフェースを追
加する場合を示したが、同様に、図1乃至図3の起動・
終結・バリア同期インターフェースの各構成にキャッシ
ュと主記憶との一致保証を行わないインターフェースを
追加することも可能である。
【0050】〈実施例4〉一般にコンパイラは、コンパ
イル時に複数のプロセッサに割当てる複数のプログラム
のある時点以前の命令による主記憶アクセスアドレス
と、それ以降の命令による主記憶アクセスアドレスに重
なりがないと判定できない場合には、一律にキャッシュ
と主記憶の一致保証制御(キャッシュコヒーレンス制
御)の完了を保証したバリア同期命令を挿入する。この
コンパイル時にデータ依存関係がないことを保証できな
いため、キャッシュコヒーレンス制御の完了を保証した
バリア同期命令を挿入した場合でも、プログラム実行時
にはその依存関係が判定可能になる場合がある。例え
ば、DOループにおいて実行時に配列サイズが決定する
ようなケースが挙げられる。この様に、動的にデータ依
存関係がないと判定できるようなケースに、常にキャッ
シュコヒーレンス制御の完了を保証したバリア同期制御
を実行すると、本来不要な待ち合わせ時間を費やし、高
速処理の妨げとなる。
【0051】本実施例は、動的にデータ依存関係がない
と判定できるような場合、キャッシュコヒーレンス制御
の完了を考慮せずにバリア同期を成立させることによ
り、余計な待ち合わせ時間を削減し、高速な並列処理を
実現するものである。
【0052】図8に、本実施例の概略構成図を示す。各
々キャッシュを備える複数のプロセッサ1〜4は、主記
憶制御装置(SC)5を介し、主記憶(図示せず)を共
有してアクセスするように接続される。アドレス管理テ
ーブル制御装置(FAA)9は、すべてのプロセッサ1
〜4のキャッシュ10〜40に保持するデータの主記憶
アドレス情報を一元管理する。なお、CS5は、これま
での実施例のように各プロセッサごとに設けることでも
よい。
【0053】各プロセッサ1〜4は、バリア同期発レジ
スタ14,24,44およびバリア同期受レジスタ1
5,25,45を備える。これは、図3と同様である。
ここで、メインプロセッサ1は主に並列化できない処理
を実行し、サブプロセッサ2,4は、メインプロセッサ
1より並列化できる処理を割当てられ、並列処理を実行
するものとする。メインプロセッサ1は、キャッシュコ
ヒーレンス制御要否判定部19を備える。該キャッシュ
コヒーレンス制御要否判定部19は、キャッシュコヒー
レンス不要レジスタ19に加えてキャッシュコヒーレン
ス制御要否判定キュー192を備え、キャッシュコヒー
レンス不要レジスタ191の値をキューイングすること
ができる。SC5は、キャッシュコヒーレンス制御部5
10、キャッシュコヒーレンスありバリア同期成立回路
521とキャッシュコヒーレンスなしバリア同期成立回
路522とOR回路523を備えるバリア同期成立制御
部520、及び、全プロセッサ1〜4のバリア同期信号
を同期化する同期回路530を備える。キャッシュコヒ
ーレンス制御部510は、図3の発完了保証回路と受完
保証回路を一緒にしたものと基本的に同じである。オー
プンドレインパス57は、各プロセッサ1〜4のバリア
同期発レジスタ14,24,44が全てセットされたと
きオンになり、バリア同期信号をSC5に伝達する。
【0054】本実施例の動作として、まず、図14に示
すような2つのDOループを含むプログラムを実行する
場合のバリア同期を説明する。
【0055】図14に示す2つのDOループは、隣接す
る2つのDOループであって、共に配列Aをアクセスす
る。ここで、ループDO10の配列A(i)のアクセス
範囲J〜Kと、ループDO20の配列A(i)のアクセ
ス範囲L〜Mは、プログラム実行時に確定し、DO10
の配列A(i)とDO20の配列A(i)に重なりがあ
るか否かを動的に判定可能とする。
【0056】図15に、各プロセッサ1,2,4で実行
するバリア同期に係る命令列の概略を示す。メインプロ
セッサ1は、キャッシュコヒーレンス制御要否判定ルー
チン、バリア同期命令、バリア同期成立確認の順に実行
し、サブプロセッサ2,4は、ストア命令A(i)、バ
リア同期命令、バリア同期成立確認、ロード命令A
(i)の順に実行する。
【0057】メインプロセッサ1内のキャッシュコヒー
レンス不要レジスタ191は、初期値が“0”であり、
キャッシュコヒーレンス制御要否判定ルーチンによりキ
ャッシュコヒーレンス制御要と判定した時は“0”、不
要と判定した時は“1”をセットする。各サブプロセッ
サ2,4からストア命令が発行されると、FAA9は、
キャッシキャンセルリクエストを発行し、キャッシュキ
ャンセル処理の終了を確認すると、キャンセル完を通知
する。全プロセッサ1,2,4がバリア同期命令を実行
すると、各バリア同期発レジスタ14,24,44の値
がすべて“1”にセットされる。これにより、オープン
ドレインパス57がオンとなり、SC5の同期回路50
4を介してバリア同期成立制御部500に“1”が伝達
される。
【0058】キャッシュコヒーレンス制御要の場合、キ
ャッシュコヒーレンス制御要否判定部19の出力信号は
“0”である。この時、キャッシュコヒーレンスなしバ
リア同期成立回路522は機能せず、キャッシュコヒー
レンスありバリア同期成立回路221のみが機能する。
キャッシュコヒーレンスありバリア同期成立回路521
は、同期回路504の出力が“1”のとき、キャッシュ
コヒーレンス制御部510からキャッシュセル処理の終
了通知を受け取った時点で、OR回路503を介して、
バリア同期成立信号を全プロセッサ1,2,4に報告す
る。各プロセッサ1,2,4は該バリア同期成立信号を
受信すると、バリア同期受レジスタ15,25,45を
“1”にセットする。同時に、バリア同期発レジスタ1
4,24,44を“0”にリセットする。
【0059】一方、キャッシュコヒーレンス制御不要の
場合、キャッシュコヒーレンス制御要否判定部19の出
力信号は“1”である。この場合、キャッシュコヒーレ
ンスなしバリア同期成立回路502が機能し、全てのプ
ロセッサ1,2,4がバリア同期に到達したことを示す
同期回路504の出力が“1”となった時点で、OR回
路503を介して、ただちにバリア同期成立信号を全プ
ロセッサ1,2,4に報告する。これにより、各プロセ
ッサ1,2,4はバリア同期受レジスタ15,25,4
5を“1”にセットし、同時に、バリア同期発レジスタ
14,25,45の値を“0”にリセットする。さら
に、メインプロセッサ1では、キャッシュコヒーレンス
不要レジスタ191の値を“0”にリセットする。
【0060】次に、本実施例の動作として、図16に示
すような4つのDOループを含むプログラムを実行する
場合のバリア同期を説明する。
【0061】図16に示す4つのDOループは、隣接す
る4つのDOループである。ここで、ループDO30の
配列A(i)のアクセス範囲J〜Kと、ループDO40
の配列A(i)のアクセス範囲L0〜M0はプログラム
実行時に確定し、DO30の配列A(i)と、DO40
の配列A(i)に重なりがあるか否かは動的に判定可能
とする。同様に、DO40とDO50の配列B(i)、
DO50とDO60の配列C(i)に関しても、実行時
にアクセス範囲が確定し、重なりがあるか否かは動的に
判定可能とする。
【0062】図17に、各プロセッサ1,2,4で実行
するバリア同期に係る命令列の概略を示す。メインプロ
セッサ1は、キャッシュコヒーレンス制御要否判定ルー
チン(0)〜(2)、バリア同期命令(0)、バリア同
期成立確認(0)、バリア同期命令(1)、バリア同期
成立確認(1)、バリア同期命令(2)、バリア同期成
立確認(2)の順に実行し、サブプロセッサ2,4はス
トア命令A(i)、バリア同期命令(0)、バリア同期
成立確認(0)、ロード命令A(i)、ストア命令B
(i)、バリア同期命令(1)、バリア同期成立確認
(1)、ロード命令B(i)、ストア命令C(i)、バ
リア同期命令(2)、バリア同期成立確認(2)、ロー
ド命令C(i)の順に実行する。
【0063】キャッシュコヒーレンス判定ルーチンは、
判定(0)、判定(1)、判定(2)の順に行われ、こ
の判定結果は順に、キャッシュコヒーレンス制御要否判
定部19にてキャッシュコヒーレンス不要レジスタ19
1を介してキャッシュコヒーレンス制御要否判定キュー
192にキューイングされる。
【0064】バリア同期命令(0)〜(2)の実行時、
キャッシュコヒーレンス制御要否判定キュー192にキ
ューイングされているキャッシュコヒーレンス制御要否
判定値を順に使用して、キャッシュコヒーレンス制御の
要否の情報がバリア同期成立制御部500に伝達され
る。この情報により、図14のケースと同様に、バリア
同期成立制御部500ではキャッシュコヒーレンス制御
要もしくはキャッシュコヒーレンス制御不要のバリア同
期成立制御を行う。メインプロセッサ1では、バリア同
期成立動作ごとに、使用したキャッシュコヒーレンス要
否判定キュー192の内容を順に“0”にリセットす
る。
【0065】本実施例において、キャッシュコヒーレン
ス制御要否判定を行わずにバリア同期を実行する場合に
は、キャッシュコヒーレンス制御要否判定部19の出力
をキャッシュコヒーレンス制御要を示す値に固定とする
ことで、必砂キャッシュコヒーレンス制御の完了を保証
したバリア同期命令を実行することが可能となる。
【0066】なお、本実施例4は、先の実施例3と組み
合せて使用することも可能である。即ち、まず、実施例
3を適用して、各プロセッサでキャッシュと主記憶との
一致保証を必要としない処理を開始し、その後、実施例
4を適用して、動的にキャッシュと主記憶の一致保証制
御の要/不要を場合わけし、いずれかを実行する。
【0067】
【発明の効果】以上述べたように、本発明では、キャッ
シュを有する複数のプロセッサが主記憶を共有する並列
プロセッサシステムにおいて、起動、終結、バリア同期
命令を処理する場合、SCでキャッシュと主記憶との一
致保証を含んで処理することによって、キャッシュと主
記憶の一致保証を必要とする同期処理に対し、高速な同
期インターフェースが実現できる。また、起動、終結、
バリア同期を同一の構成で実現しメインプロセッサとサ
ブプロセッサが同じ動作をすることをプログラム的に保
証することにより、メインプロセッサとサブプロセッサ
を区別しないハードウエアが実現できる。さらに、キャ
ッシュと主記憶との一致保証を行わない同期インターフ
ェースを追加することにより、キャッシュと主記憶との
一致保証を必要としない処理の開始を早めることができ
る。
【0068】また、動的にデータ依存関係がないと判定
できるケースを検出し、そのような場合には、キャッシ
ュと主記憶の一致保証を行うキャッシュコヒーレンス制
御の完了を考慮せずにバリア同期を実行し、完計な待ち
合わせ時間を削減することで、高速な並列処理を実現す
ることができる。
【図面の簡単な説明】
【図1】本発明における起動インターフェースの構成例
を示すブロック図である。
【図2】本発明における終結インターフェースの構成例
を示すブロック図である。
【図3】本発明におけるバリア同期インターフェースの
構成例を示すブロック図である。
【図4】本発明における発完了保証回路の構成例を示す
ブロック図である。
【図5】本発明における受完了保証回路の構成例を示す
ブロック図である。
【図6】本発明における起動、終結、バリア同期を同一
構成で実現する同期インターフェースの構成例を示すブ
ロック図である。
【図7】本発明におけるキャッシュと主記憶の一致保証
を含む同期インターフェースと一致保証を含まない同期
インターフェースを備える構成例を示す図である。
【図8】本発明における動的にデータ依存関係がないと
判定できるケースを検出してバリア同期制御を実施する
構成例を示す図である。
【図9】従来のバスインターフェースによる同期制御方
式の構成例を示すブロック図である。
【図10】スイッチング型のSCを用いた並列プロセッ
サシステムの構成例を示すブロック図である。
【図11】従来技術による起動処理のタイムチャートで
ある。
【図12】図1の本発明による起動処理のタイムチャー
トである。
【図13】図7の本発明による同期処理のタイムチャー
トである。
【図14】図8の本発明によるバリア同期制御を説明す
る命令列の一例である。
【図15】図14の命令列の実行をプロセッサ別に記述
した図である。
【図16】図8の本発明によるバリア同期制御を説明す
る命令列の他の一例である。
【図17】図16の命令列の実行をプロセッサ別に記述
した図である。
【符号の説明】
1,2,3,4 プロセッサ 5,6,7,8 主記憶制御装置(SC) 12 起動発レジスタ 22,32,42 起動受レジスタ 13 終結受レジスタ 23,33,43 終結発レジスタ 14,24,34,44 バリア同期発レジスタ 15,25,35,45 バリア同期受レジスタ 16,26,36,46 同期発レジスタ 17,27,37,47 保証有同期受レジスタ 18,28,38,48 保証無同期受レジスタ 19 キャッシュコヒーレンス制御
要否判定部 51,61,71,81 発完了保証回路 52,62,72,82 受完了保証回路 510 キャッシュコヒーレンス制御
部 520 バリア同期成立制御部 521 キャッシュコヒーレンスあり
バリア同期成立回路 522 キャッシュコヒーレンスなし
バリア同期成立回路 530 同期回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 磯部 忠章 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 宮木 美樹 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 市来 達也 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュを有する複数のプロセッサ
    と、それぞれのプロセッサに接続された複数の主記憶制
    御装置(SC)と、複数のプロセッサにより共有される
    主記憶と、すべてのプロセッサのキャッシュに保持する
    データの主記憶アドレス情報を一元管理するアドレス管
    理テーブル制御装置(FAA)を具備する並列プロセッ
    サシステムにおいて、 メインプロセッサがサブプロセッサに対して起動をかけ
    る命令(起動命令)を実行すると、メインプロセッサに
    接続されたSCに対して起動信号を送出する手段と、 前記起動信号を受け取ったメインプロセッサに接続され
    たSCが、起動命令以前に発行されたストア命令による
    FAAのチェック及び必要なキャッシュキャンセルの発
    行が完了したことを検出し、各サブプロセッサに接続さ
    れたSCに対して通知する手段と、 前記通知を受け取った各サブプロセッサに接続されたS
    Cが、メインプロセッサから起動命令以前に発行された
    サブプロセッサへのキャッシュキャンセルをすべてプロ
    セッサに発行したことを検出した時点で該接続されたサ
    ブプロセッサに対して起動をかける手段とを有し、 メインプロセッサと各サブプロセッサ間でキャッシュと
    主記憶の一致保証を含む起動同期制御を行うことを特徴
    とする並列プロセッサシステム。
  2. 【請求項2】 キャッシュを有する複数のプロセッサ
    と、それぞれのプロセッサに接続された複数の主記憶制
    御装置(SC)と、複数のプロセッサにより共有される
    主記憶と、すべてのプロセッサのキャッシュに保持する
    データの主記憶アドレス情報を一元管理するアドレス管
    理テーブル制御装置(FAA)を具備する並列プロセッ
    サシステムにおいて、 各サブプロセッサが内部の処理を終結したことを示す命
    令(終結命令)を実行すると、各サブプロセッサに接続
    されたSCに対して終結信号を送出する手段と、 前記終結信号を受け取った各サブプロセッサに接続され
    たSCが、終結命令以前に発行されたストア命令による
    FAAのチェック及び必要なキャッシュキャンセルの発
    行が完了したことを検出する手段と、 すべてのサブプロセッサに接続されたSCで前記ストア
    命令によるFAAのチェック及び必要なキャッシュキャ
    ンセルの発行が完了したことを検出した場合に、それを
    メインプロセッサに接続されたSCに対して通知する手
    段と、 前記通知を受け取ったメインプロセッサに接続されたS
    Cが、各サブプロセッサから終結命令以前に発行された
    メインプロセッサへのキャッシュキャンセルをすべてプ
    ロセッサに発行したことを検出した時点でメインプロセ
    ッサに対して終結を通知する手段とを有し、 メインプロセッサと各サブプロセッサ間でキャッシュと
    主記憶の一致保証を含む終結同期制御を行うことを特徴
    とする並列プロセッサシステム。
  3. 【請求項3】 キャッシュを有する複数のプロセッサ
    と、それぞれのプロセッサに接続された複数の主記憶制
    御装置(SC)と、複数のプロセッサにより共有される
    主記憶と、すべてのプロセッサのキャッシュに保持する
    データの主記憶アドレス情報を一元管理するアドレス管
    理テーブル制御装置(FAA)を具備する並列プロセッ
    サシステムにおいて、 各プロセッサがすべてのプロセッサ間で同一アドレスの
    主記憶アクセスの順序性を保証するために同期をとる命
    令(バリア同期命令)を実行すると、各プロセッサに接
    続されたSCに対してバリア同期信号を送る手段と、 前記バリア同期信号を受け取った各SCが、バリア同期
    命令以前に発行されたストア命令によるFAAのチェッ
    ク及び必要なキャッシュキャンセルの発行が完了したこ
    とを検出する手段と、 すべてのSCで前記ストア命令によるFAAのチェック
    及び必要なキャッシュキャンセルの発行が完了したこと
    を検出した場合に、それを各SCに対して通知する手段
    と、 前記通知を受け取った各SCが、すべてのSCでFAA
    のチェック及びキャッシュキャンセルの発行を完了した
    ことを認識し、受け付けたキャッシュキャンセルをすべ
    てプロセッサに発行した時点で接続されたプロセッサに
    バリア同期成立を通知する手段とを有し、 キャッシュと主記憶の一致保証を含むバリア同期制御を
    行うことを特徴とする並列プロセッサシステム。
  4. 【請求項4】 キャッシュを有する複数のプロセッサ
    と、それぞれのプロセッサに接続された複数の主記憶制
    御装置(SC)と、複数のプロセッサにより共有される
    主記憶と、すべてのプロセッサのキャッシュに保持する
    データの主記憶アドレス情報を一元管理するアドレス管
    理テーブル制御装置(FAA)を具備する並列プロセッ
    サシステムにおいて、 各プロセッサ間で起動、終結、バリア同期の各ケースの
    同期制御を行うために、すべてのプロセッサが起動命
    令、終結命令、バリア同期命令(以下、同期命令で総称
    する)を発行し、 各プロセッサが同期命令を実行すると、各プロセッサに
    接続されたSCに対して同期信号を送出する手段と、 前記同期信号を受け取った各SCが、同期命令以前に発
    行されたストア命令によるFAAのチェック及び必要な
    キャッシュキャンセルの発行が完了したことを検出する
    手段と、 すべてのSCで前記ストア命令によるFAAのチェック
    及び必要なキャッシュキャンセルの発行が完了したこと
    を検出した場合に、それを各SCに対して通知する手段
    と、 前記通知を受け取った各SCがすべてのSCでFAAの
    チェック及びキャッシュキャンセルの発行を完了したこ
    とを認識し、受け付けたキャッシュキャンセルをすべて
    プロセッサに発行した時点で接続されたプロセッサに同
    期成立を通知する手段とを有し、 起動、終結、バリア同期の各ケースのキャッシュと主記
    憶の一致保証を含む同期制御を行うことを特徴とする並
    列プロセッサシステム。
  5. 【請求項5】 請求項1乃至4記載の並列プロセッサシ
    ステムにおいて、すべてのプロセッサが接続されたSC
    へ同期信号(起動、終結、バリア同期信号)を送出した
    ことを検出して、すべてのプロセッサに対して同期成立
    を通知する手段を有し、キャッシュと主記憶との一致保
    証有の同期制御とともに一致保証無しの同期制御を行う
    ことを特徴とする並列プロセッサシステム。
  6. 【請求項6】 キャッシュを有する複数のプロセッサ
    と、複数のプロセッサにより共有される主記憶と、スト
    ア命令によるキャッシュと主記憶の一致保証を制御する
    キャッシュコヒーレンス制御手段を備える主記憶制御装
    置(SC)とを具備する並列プロセッサシステムにおい
    て、 少なくとも一つのプロセッサ内に、バリア同期命令以前
    に発行されたストア命令によりキャッシュコヒーレンス
    制御の完了がバリア同期成立に関係があるか否か判定
    し、その判定結果を保持するキャッシュコヒーレンス制
    御要否判定部を備えるとともに、 各プロセッサがバリア同期命令を実行すると、バリア同
    期信号を送出する手段と、 前記キャッシュコヒーレンス制御要否判定部の判定結果
    がキャッシュコヒーレンス制御要を示す場合には、すべ
    てのプロセッサがバリア同期信号を送出し、かつ、当該
    バリア同期命令以前に発行されたストア命令によるキャ
    ッシュコヒーレンス制御の完了を確認して、各プロセッ
    サにバリア同期成立を通知する手段と、 前記キャッシュコヒーレンス制御要否判定部の判定結果
    がキャッシュコヒーレンス制御不要を示す場合には、す
    べてのプロセッサがバリア同期信号を送出したことを確
    認すると、各プロセッサにバリア同期成立を通知する手
    段を有することを特徴とする並列プロセッサシステム。
  7. 【請求項7】 請求項6記載の並列プロセッサシステム
    において、 キャッシュコヒーレンス制御要否判定部は、複数のバリ
    ア同期命令に対応する判定結果を保持するキャッシュコ
    ヒーレンス制御要否判定キューを備え、複数のバリア同
    期命令に対応するキャッシュコヒーレンス制御要否判定
    を先行して行って前記キャッシュコヒーレンス制御要否
    判定キューに保持し、各バッファ同期命令の実行時に、
    前記キュッシュコヒーレンス制御要否判定キューに保持
    した判定結果を用いてバリア同期制御を実施することを
    特徴とする並列プロセッサシステム。
  8. 【請求項8】 請求項6又は7記載の並列プロセッサシ
    ステムにおいて、キャッシュコヒーレンス制御要否判定
    部の出力をキャッシュコヒーレンス制御要を示す値に固
    有することで、必ずキャッシュコヒーレンス制御の完了
    を保証したバリア同期制御を実施することを特徴とする
    並列プロセッサシステム。
JP25062197A 1997-09-16 1997-09-16 並列プロセッサシステム Expired - Fee Related JP3636871B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25062197A JP3636871B2 (ja) 1997-09-16 1997-09-16 並列プロセッサシステム
US09/153,872 US6263406B1 (en) 1997-09-16 1998-09-16 Parallel processor synchronization and coherency control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25062197A JP3636871B2 (ja) 1997-09-16 1997-09-16 並列プロセッサシステム

Publications (2)

Publication Number Publication Date
JPH1196124A true JPH1196124A (ja) 1999-04-09
JP3636871B2 JP3636871B2 (ja) 2005-04-06

Family

ID=17210588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25062197A Expired - Fee Related JP3636871B2 (ja) 1997-09-16 1997-09-16 並列プロセッサシステム

Country Status (2)

Country Link
US (1) US6263406B1 (ja)
JP (1) JP3636871B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096252A (ko) * 2001-06-19 2002-12-31 인터내셔널 비지네스 머신즈 코포레이션 프로세서에서의 명령 실행 방법, 컴퓨터 시스템에사용하기 위한 프로세서 및 데이터 처리 시스템
JP2010044599A (ja) * 2008-08-13 2010-02-25 Nec Corp 情報処理装置及び順序保証方式
JP2011120082A (ja) * 2009-12-04 2011-06-16 Mitsubishi Electric Corp 列車内映像表示システムおよび方法
JP2015167036A (ja) * 2009-10-13 2015-09-24 アーム・リミテッド 分散システム内の種々のコンポーネントの活動を同期させること
JP2016024762A (ja) * 2014-07-24 2016-02-08 日本電気株式会社 情報処理装置、メモリ順序保障方法、及び、プログラム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132529A (ja) * 1998-10-23 2000-05-12 Sony Corp 並列処理装置、並列処理方法および記録媒体
JP3858492B2 (ja) 1998-12-28 2006-12-13 株式会社日立製作所 マルチプロセッサシステム
US20140325175A1 (en) * 2013-04-29 2014-10-30 Pact Xpp Technologies Ag Pipeline configuration protocol and configuration unit communication
JP2003505753A (ja) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
US6725340B1 (en) * 2000-06-06 2004-04-20 International Business Machines Corporation Mechanism for folding storage barrier operations in a multiprocessor system
US6728873B1 (en) * 2000-06-06 2004-04-27 International Business Machines Corporation System and method for providing multiprocessor speculation within a speculative branch path
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7234029B2 (en) * 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7480697B2 (en) * 2002-05-28 2009-01-20 International Business Machines Corporation Method and apparatus using attached hardware subsystem to communicate between attached hosts
JP4388895B2 (ja) 2002-09-06 2009-12-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルなシーケンサ構造
CA2419340A1 (en) * 2003-02-20 2004-08-20 Ibm Canada Limited - Ibm Canada Limitee Software barrier synchronization
JP4372043B2 (ja) * 2005-05-12 2009-11-25 株式会社ソニー・コンピュータエンタテインメント コマンド実行制御装置、コマンド実行指示装置およびコマンド実行制御方法
US7770170B2 (en) * 2005-07-12 2010-08-03 Microsoft Corporation Blocking local sense synchronization barrier
US7587555B2 (en) * 2005-11-10 2009-09-08 Hewlett-Packard Development Company, L.P. Program thread synchronization
US7555607B2 (en) * 2005-11-10 2009-06-30 Hewlett-Packard Development Company, L.P. Program thread syncronization for instruction cachelines
JP2007148709A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd プロセッサシステム
JP2008097498A (ja) * 2006-10-16 2008-04-24 Olympus Corp プロセッシング・エレメント、コントロール・ユニット、及びこれらを備える処理システム、分散処理方法
JP2009176116A (ja) * 2008-01-25 2009-08-06 Univ Waseda マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
US8386664B2 (en) * 2008-05-22 2013-02-26 International Business Machines Corporation Reducing runtime coherency checking with global data flow analysis
US8281295B2 (en) * 2008-05-23 2012-10-02 International Business Machines Corporation Computer analysis and runtime coherency checking
JP2010033555A (ja) * 2008-06-30 2010-02-12 Olympus Corp コントロール・ユニット、分散処理システム及び分散処理方法
US8285670B2 (en) 2008-07-22 2012-10-09 International Business Machines Corporation Dynamically maintaining coherency within live ranges of direct buffers
US9069893B2 (en) * 2011-03-23 2015-06-30 International Business Machines Corporation Automatic verification of determinism for parallel programs
EP2790107A1 (en) * 2011-12-07 2014-10-15 Fujitsu Limited Processing unit and method for controlling processing unit
WO2013084314A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9092272B2 (en) 2011-12-08 2015-07-28 International Business Machines Corporation Preparing parallel tasks to use a synchronization register
JP5549694B2 (ja) * 2012-02-23 2014-07-16 日本電気株式会社 超並列計算機、同期方法、同期プログラム
JP6074932B2 (ja) * 2012-07-19 2017-02-08 富士通株式会社 演算処理装置及び演算処理方法
US10318355B2 (en) * 2017-01-24 2019-06-11 Oracle International Corporation Distributed graph processing system featuring interactive remote control mechanism including task cancellation
US11461130B2 (en) 2020-05-26 2022-10-04 Oracle International Corporation Methodology for fast and seamless task cancelation and error handling in distributed processing of large graph data
GB2597078B (en) * 2020-07-14 2022-07-13 Graphcore Ltd Communication between host and accelerator over network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978874A (en) * 1996-07-01 1999-11-02 Sun Microsystems, Inc. Implementing snooping on a split-transaction computer system bus
US5887138A (en) * 1996-07-01 1999-03-23 Sun Microsystems, Inc. Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes
US5958019A (en) * 1996-07-01 1999-09-28 Sun Microsystems, Inc. Multiprocessing system configured to perform synchronization operations
JPH10149285A (ja) * 1996-11-18 1998-06-02 Hitachi Ltd 命令実行制御方法および情報処理装置
US6038651A (en) * 1998-03-23 2000-03-14 International Business Machines Corporation SMP clusters with remote resource managers for distributing work to other clusters while reducing bus traffic to a minimum

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096252A (ko) * 2001-06-19 2002-12-31 인터내셔널 비지네스 머신즈 코포레이션 프로세서에서의 명령 실행 방법, 컴퓨터 시스템에사용하기 위한 프로세서 및 데이터 처리 시스템
JP2010044599A (ja) * 2008-08-13 2010-02-25 Nec Corp 情報処理装置及び順序保証方式
JP4631948B2 (ja) * 2008-08-13 2011-02-16 日本電気株式会社 情報処理装置及び順序保証方式
US8468307B2 (en) 2008-08-13 2013-06-18 Nec Corporation Information processing apparatus and order guarantee method
JP2015167036A (ja) * 2009-10-13 2015-09-24 アーム・リミテッド 分散システム内の種々のコンポーネントの活動を同期させること
JP2011120082A (ja) * 2009-12-04 2011-06-16 Mitsubishi Electric Corp 列車内映像表示システムおよび方法
JP2016024762A (ja) * 2014-07-24 2016-02-08 日本電気株式会社 情報処理装置、メモリ順序保障方法、及び、プログラム

Also Published As

Publication number Publication date
JP3636871B2 (ja) 2005-04-06
US6263406B1 (en) 2001-07-17

Similar Documents

Publication Publication Date Title
JP3636871B2 (ja) 並列プロセッサシステム
JP2882475B2 (ja) スレッド実行方法
US6587906B2 (en) Parallel multi-threaded processing
US5790813A (en) Pre-arbitration system allowing look-around and bypass for significant operations
WO2002088936A1 (en) Multiprocessor communication system and method
JPH0679305B2 (ja) 保留バスを用いて割り込みに応じる装置及び方法
CN115481058A (zh) 内存原子操作指令的执行方法、装置、访问模块及系统
CN115129480B (zh) 标量处理单元的访问控制方法及标量处理单元
JPH07104841B2 (ja) 多重処理システムの割込み制御方法
KR930003444B1 (ko) 주기억 참조의 순차화 제어방식
JPH0997184A (ja) 効率的な割込み処理を含む情報処理システム
JP2002024195A (ja) 並列処理装置、及び、並列処理方法
JP2002530736A (ja) 多重処理システムにおける改良結果処理方法
JP2000181891A (ja) 共有メモリアクセス順序保証方式
JP2004334863A (ja) 順番のある(in−order)キューをドレインする(drain)システムおよび方法
JP3006676B2 (ja) マルチプロセッサ
US20160328276A1 (en) System, information processing device, and method
Deri et al. Exploiting commodity multi-core systems for network traffic analysis
JP5163128B2 (ja) 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ
US6910119B1 (en) Instruction pipe and stall therefor to accommodate shared access to return stack buffer
JP2018147126A (ja) 並列プロセス実行方法
JP2000132503A (ja) データ転送装置
JPH0795318B2 (ja) 多重処理コンピユータ及びプロセツサ間通信方法
JP2795312B2 (ja) プロセス間通信スケジューリング方式
JPH09218859A (ja) マルチプロセッサ制御システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees