JPH02100755A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH02100755A
JPH02100755A JP25290488A JP25290488A JPH02100755A JP H02100755 A JPH02100755 A JP H02100755A JP 25290488 A JP25290488 A JP 25290488A JP 25290488 A JP25290488 A JP 25290488A JP H02100755 A JPH02100755 A JP H02100755A
Authority
JP
Japan
Prior art keywords
processor
register
communication
word
communication register
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
JP25290488A
Other languages
English (en)
Inventor
Hideo Hayashi
英男 林
Atsuo Mochizuki
望月 敦雄
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
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno 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 NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP25290488A priority Critical patent/JPH02100755A/ja
Priority to CA 2000245 priority patent/CA2000245C/en
Priority to DE1989625452 priority patent/DE68925452T2/de
Priority to EP19890118752 priority patent/EP0363882B1/en
Publication of JPH02100755A publication Critical patent/JPH02100755A/ja
Priority to US07/995,907 priority patent/US5261108A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 し産業上の利用分野] 本発明はマルチプロセッサシステムに於るデッドロック
の検出手段に関する。
[従来の技術] マルチプロセッサでシステムを構成する目的には、シス
テムの総合スループッ1〜を高めることが一般的である
が、場合によっては、あるジョブのターンアラウンドタ
イムを短くすることも要求される。この場合、そのジョ
ブのタスクの内、依存関係のないものは複数のプロセッ
サで該タスクを並行して実行、あるいは、あるタスクの
一部を複数のプロセッサで並行して実行させることによ
り達成可能である。
あるタスクを並行して実行する場合、タスク間での同期
、あるいはタスク間で共通に参照するデータで、そのデ
ータの使用は排他的に使用するべきのらのもある。この
排他的に使用すべきデータである時には、ロックワード
を決めておいて、そのワードがアンロック状態であれば
、そのワードにロックをかけ、ロックをかけたプロセッ
サのみが、排他的に使用可能なデータを参照する。プロ
セッサがロックワードを参照した時、ロック状態にある
時、ロックワードがアンロックされるまで、排他的に使
用すべきデータへのアクセスは禁止される。また逆に、
並行して実行する場合、同じデータを参照してもよい場
合もある。これらのデータは一般に主記憶に置かれてい
る。
[発明が解決しようとする課題] 上述した従来の情報処理システムはプロセッサ間の排他
制御を主記憶装置の1ワードをロックワードとして使用
しているため、あるプロセッサがロックをとりアンロッ
クを忘れるとそのロックワードを参照する他のプロセッ
サはストールするという欠点がある。
そこで、本発明の技術的課題は、上記欠点に鑑み、アン
ロック忘れによるストール状態になることを防止した情
報処理システムを提供することである。
[課題を解決するだめの手段コ 本発明によれば、複数のプロセッサよりアクセスされる
通信レジスタと、通信レジスタへのテスト及セット命令
を実行した時、アクセスされた通信レジスタをプロセッ
サに書くと共に、そのワードがロックされていなければ
、ロックピットをオンに、ワードのカウント部を既定値
に、データ部にプロセッサより送られて来ているデータ
をセットし、元の通信レジスタに書く手段と、そのワー
ドがロックされていれば、カウント部を定められた値だ
け減じ元の通信レジスタに戻す手段と、そのワードがロ
ックされておりカウント部を修飾した結果が予め定めた
値となったことを検出するとデッドロック割込を発生ず
る手段とを有していることを特徴とする情報処理システ
ムが得られる。
[実施例1 次に本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例を示すシステム構成図である
プロセッサ#O(1mプロセッサ#1 (2)、プロセ
ッサ#2(3)、プロセッサ#3(4)は通常の処理装
置であり、全て同じものである。主記憶5はプロセッサ
#0〜3(1〜4)の間のデータの授受を行なう1通信
レジスタ6とプロセッサ#O〜3(1〜4)の間のでも
データの授受を行なう。
通信レジスタ(CR)6はプロセッサ#0〜3(1〜4
)の間で通信する・情報の格納場所として使用される。
第2図は通信レジスタ6の一実施例を示す図である0通
信レジスタ6は256ワード(64ビツト/ワード)で
構成され、群Aはワード0〜127、群Bはワード12
8〜159、群Cはワード160〜191、群りはワー
ド192〜223、群Eはワード224〜255に分け
られている6通信レジスタの群B〜Eの各々に対し各4
ビツトの通信レジスタディレクトリ8があり、その各ビ
ットは各プロセッサに、対応している。
例えば第2図に示す如く最左端ビットよりプロセッサ0
,1,2.3 (1〜4)に対応する。あるプロセッサ
より通信レジスタへのアクセス要求があった場合、通信
レジスタディレクトリ8を調べ、そのプロセッサ番号に
対応するビットが“1”の通信レジスタ群内の指定され
た通信レジスタへのアクセスが行なわれる。
第3図は通信レジスタ8へのアクセス例を示したもので
ある。プロセッサからのリクエストを受信した時、リク
エストしたプロセッサ番号をプロセッサ番号レジスタ1
4に、プロセッサの動作モードをモードレジスタ9に、
アドレス情報をアドレスレジスタ10に受信する。動作
モードレジスタ9が“1”なら、ば特権モードを示して
おり、リクエストを送出したプロセッサはシステムプロ
グラムを実行している。動作モードレジスタ9が”0“
ならば非特権モードを示しており、リクエスト送出プロ
セッサはユーザープログラムを実行している。
もし動作モードレジスタ9が“1″の時、アドレスレジ
スタ10のビット56〜63で示すエントリー即ち25
6ワードの任意のものがアクセスされる。動作モードレ
ジスタ9が“o″の時、プロセッサ番号レジスタ8の内
容は、デコーダ11でデコードされ、その出力結果と通
信レジスタの群B〜Eに対応する通信レジスタデイレク
トリフの各ビットとが比較器12で比較される。各比較
器12の出力はエンコーダ13で2ビツトに変換される
。この2ピントの左にモードレジスタ8が非特権モード
であることにより′1″を、前記エンコードされた2ビ
ツトの右側にアドレスレジスタ10のビット59〜63
を結合することにより[−1的とする通信レジスタがア
クセスされる。
第4図は256ワードの容重をもつ通信レジスタの各ワ
ードの使い方を示したものである。第4図の(a)は情
報を格納するデータレジスタとして使う形式である。(
b)は排他制御を行うためのロックワードとして使う形
式である。通信レジスタのどのワードをデータレジスタ
として使うか、ロックワードとして使うかは、ソフトウ
ェアまかせである。ロックワードとして使う場合、ピッ
Iへ0はロック表示部であり、“1′″はロック状態を
“0゛′はアンロック状態を示す。ビット8〜31はカ
ウント部である。ビット32〜63は、ロックされた時
、プロセッサから送られて来ているデータのビット32
〜63を格納している。
プロセッサから通信レジスタをアクセスする3種の命令
か準備されている0通信レジスタの内容をリードする通
信レジスタセーブ命令、通信レジスタにプロセッサから
送られて来たデータを格納する通信レジスタロード命令
、それと通信レジスタテスト及セット命令である。
第5図は通信レジスタに関する命令動作を示したブロッ
ク図である。命令レジスタ20はプロセッサは命令コー
ドをデータレジスタ15にデータをプロセッサより受信
する。命令レジスタ14の内容をデコーダ19でデコー
ドする。デコード結果が通信レジスタへのロード命令で
あると指定された通信レジスタにデータレジスタ15の
内容を書込む。命令レジスタ14のデコードの結果、通
信レジスタのセーブ命令であると指定された通信レジス
タの内容は、通信レジスタリードレジスタ16に読出さ
れ、リクエストしたプロセッサに送られる。命令レジス
タ20のデコードの結果、通信レジスタのテスト及セッ
ト命令であると指定された通信レジスタの内容は、通信
リードレジスタ16に読出されリクエストしたプロセッ
サに送られる。通信リードレジスタ16のビット0の内
容が調べられビットOが0”だとアンロック状態である
ため、ビットOを”1″、ビット8〜31にオール“1
”、ビット32〜63にデータレジスタ15のビット3
2〜63を指定された通信レジスタに格納する。即ちロ
ックが成功した事を示し、第4図の(b)に示すカウン
タ部は最大値にセットされている。プL7セソサはロッ
クワードを受信し、そのビット0をテスト及セット命令
の後続命令でテストすることで口7りが成功した事を知
ることができる。
面信レジスタのデスト&セット命令で通信レジスタリー
ドレジスタ16に読出されたデータのビットOが“1”
の場合もデータはリクエストしたプロセッサに送られる
9通信レジスタリードレジスタ16のビット0が1”で
あるとビット8〜31のカウント部の内容はデクリメン
ト回路17で1減じられその結果は元の通信レジスタに
戻される。ビット8〜31のカウント部の内容よりデク
リメント回路17で1減じた結果が、“0゛′であるこ
とをデッドロック検出回路18が検出すると、デッドロ
ック検出信号をプロセッサに通知する。プI7セヅサは
この信号を受信するとデッドロック例外処理に入る。即
ちロックワードに対して2271回アクセスされる間口
ツクが解除されない事となり、異常状態であるため、そ
の処理ルーチンに分岐する。
プロセッサがテスト及セット命令の実行の結果のデータ
を受取り、後続命令でそのビット0を調べ°゛11パっ
た事よりロック不成功を知る。この時は再びテスト及セ
ット命令を送出しロックが解除されるまでこの動作をく
り返す。
第2図、第3図に示した通信レジスタディレクトリ8の
ビットをセットしたりリセットしたりするディレクトリ
制御命令がある。第6図はそのデータ形式を示している
とット55はディレクトリの制御を示しており、ビット
60〜63でマスタープロセッサを示している。ビット
60が“1”であればマスクプロセッサはプロセッサ#
0(1)で、ビット61が“1゛′であればマスタープ
ロセッサはプロセッサ#1 (2>であることを示して
いる。
ビット55のCビットが1であると、先ずリクエストし
たプロセッサ番号で通信レジスタディレクトリを調べ一
致するディレクトリのプロセッサ番りに相当するビット
をリセットする。続いてビット60〜63のマスタープ
ロセッサデータで通信レジスタディレクトリを調べ一致
するディレクトリにプロセッサ番号に相当するビットを
セットする。
ビット55のCビットが0であると、先ず、ビット60
〜63のマスタープロセッサ番号で通信レジスタディレ
クトリを調べ、一致するディレクトリよりリクエストし
たプロセッサ番号に相当するビットをリセットする。続
いて、空、即ち、いずれのビットもセットされていない
通信レジスタディレクトリを調べその1つのディレクト
リにリクエストしたプロセッサ番号に相当するビットを
セットする。
通信レジスタを利用してマルチ(マイク0)タスキング
を実行する手順の例を以下に示す。各プロセッサは別個
の仕事をしているものとし通信レジスタの群Bはプロセ
ッサ#0に群Cはプロセッサ#1(2)、群りはプロセ
ッサ#2(3)、群Eはプロセッサ#3(4>に割当て
られているものとする。
プロセッサ#1 (2)で実行しているプログラムがマ
ルチタスクを実行することを示しているとシステムプロ
グラムは現在アイドル中のプロセッサあるいは現在動作
しているがレベル(プライオリティ)の低いジョブを実
行しているプセッサを確保する。ここでは、プロセッサ
#2(3)がアイドルであったためマルチタスクを実行
するため確保したとする。
確保されたプロセッサ#2 (3)はCビットが1であ
るディレクトリ制御命令を実行する。この時のマスター
プロセッサはプロセッサ#1 (2)である。
従って、ディレクトリ制御命令の実行の結果、群りのデ
ィレクトリは空となり群Cのディレクトリにはプロセッ
サ#1 (2>とプロセッサ#2(3)のビットがセッ
トされる。従ってプロセッサ#1 (2>とプロセッサ
#2 (3)は通信レジスタの群Cをアクセスできるこ
とになる。即ち、群Cの通信レジスタに格納される情報
を参照しながらプロセッサ#1 (2)とプロセッサ#
2 (3)は並行してタスクを実行する。
マルチタスクの必要性がなくなるとプロセッサ#2 (
3)はCビットかOであるディレクトリ制御命令を実行
する。その結果群Cのディレクトリのプロセッサ#2 
(3)のピッI〜はリセットされ空であった群りのディ
レクトリのプロセッサ#2(3)に相当するビットはセ
ットされる。
[発明の効果] 以上説明したように、本発明は、プロセッサ間の排他制
御に通信レジスタを曲用しロックワード中にカウント部
を設はロックワードかロック中にテスト及セット命令を
実行されると、ロックワード中のカウント部を減じその
結果が、既定値になると、デッドロック割込を発生ずる
ことにより、アン17ツク忘れによるストール状態にな
る事を防ぐことができる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すシステム構成図、第2
図は通信レジスタの一実施例を示す構成図、第3図は通
信レジスタへのアクセス手順例を示した図、第4図は通
信レジスタのワードの使い方の形式を示した図、第5図
は通信レジスタに関する命令動作を示した図、第6図は
通信レジスタディレクトリ制御命令の制御データ形式を
示した図である。 1〜4・・・プロセッサ、5・・・記憶制御装置、6・
・・通信レジスタ(CR17・・・主記憶、8・・・通
信レジスタブイレフ1〜す、9・・・モードレジスタ、
10・・アドレスレジスタ、11・・・デコーダ、12
・・・比軸器、13・・・エンコーダ、14・・・プロ
セッサ番号レジスタ、16・・・通信レジスタリードレ
ジスタ、17・・・デクリメント回路、18・・・デッ
ドロック検出回路、1つ・・・デコーダ、20・・・命
令レジスタ。 第 図 ロック表示部 第 図 第 図 ディレクトリから自プロセッサのビットをリセットする
。 t/ヒトT。 Cbit=1  (+)  自プロセッサ番号で通信レ
ジスタディレクトリを調べ一致Tるディレクトリから自
プロt/すのビットをリセットTる。 (2)  マスクプロセッサ書冊で−j通信ジスタディ
レクトリを論べ−ffiTるディレクトリの自ブロセ/
すのビットをセットTる。

Claims (1)

  1. 【特許請求の範囲】 1)複数のプロセッサと、前記複数のプロセッサよりア
    クセスされる複数のエントリより構成される通信レジス
    タを含む情報処理システムに於て、前記通信レジスタに
    対するテスト&セット命令をプロセッサより受信すると
    共に、前記通信レジスタの指定情報、格納データ情報を
    受信し、指定された通信レジスタの内容をプロセッサに
    送出する手段と、 該アクセスされた通信レジスタのワードは制御情報部と
    カウント部とデータ部とから構成されていると解釈し、 該ワードの制御情報部が第一の状態の時、該ワードの制
    御情報部を第二の状態にする手段カウント部を予め定め
    た値とする手段、データ部をプロセッサより受信した格
    納データ情報とする手段と、該ワードの制御情報部が第
    二の状態の時、該ワードのカウント部を予め定められた
    値だけ減(あるいは増)じた値とする手段と、 該ワードの制御情報部が第二の状態の時、カウント部の
    内容より予め定められた値だけ減(あるいは増)じた結
    果が予め定めた値である事を検出するとデッドロック割
    込を発生する手段とを有することを特徴とする情報処理
    システム。
JP25290488A 1988-10-08 1988-10-08 情報処理装置 Pending JPH02100755A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP25290488A JPH02100755A (ja) 1988-10-08 1988-10-08 情報処理装置
CA 2000245 CA2000245C (en) 1988-10-08 1989-10-06 Multiprocessor system using communication register having processor-associated storage locations
DE1989625452 DE68925452T2 (de) 1988-10-08 1989-10-09 Multiprozessorsystem mit Verwendung von einem Kommunikationsregister mit den Prozessoren zugeordneten Speicherstellen
EP19890118752 EP0363882B1 (en) 1988-10-08 1989-10-09 Multiprocessor system using communication register having processor-associated storage locations
US07/995,907 US5261108A (en) 1988-10-08 1992-12-22 Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25290488A JPH02100755A (ja) 1988-10-08 1988-10-08 情報処理装置

Publications (1)

Publication Number Publication Date
JPH02100755A true JPH02100755A (ja) 1990-04-12

Family

ID=17243785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25290488A Pending JPH02100755A (ja) 1988-10-08 1988-10-08 情報処理装置

Country Status (1)

Country Link
JP (1) JPH02100755A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0424863A (ja) * 1990-05-18 1992-01-28 Nec Corp 情報処理システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54134939A (en) * 1978-04-10 1979-10-19 Ibm Device for avoiding dead lock
JPS6378264A (ja) * 1986-09-22 1988-04-08 Hitachi Ltd マルチプロセツサにおける共通メモリアクセス競合制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54134939A (en) * 1978-04-10 1979-10-19 Ibm Device for avoiding dead lock
JPS6378264A (ja) * 1986-09-22 1988-04-08 Hitachi Ltd マルチプロセツサにおける共通メモリアクセス競合制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0424863A (ja) * 1990-05-18 1992-01-28 Nec Corp 情報処理システム

Similar Documents

Publication Publication Date Title
US5524247A (en) System for scheduling programming units to a resource based on status variables indicating a lock or lock-wait state thereof
JP2665813B2 (ja) 記憶制御装置
US5560018A (en) Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US5893157A (en) Blocking symbol control in a computer system to serialize accessing a data resource by simultaneous processor requests
US5889983A (en) Compare and exchange operation in a processing system
US5321825A (en) Processing system with lock spaces for providing critical section access
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
GB2121218A (en) Shared resource locking apparatus
JP2539352B2 (ja) 階層型多重計算機システム
JP5999216B2 (ja) データ処理装置
EP0363882B1 (en) Multiprocessor system using communication register having processor-associated storage locations
JP3598282B2 (ja) コンピュータ、その制御方法及びその制御方法を記録した記録媒体
JPH02100755A (ja) 情報処理装置
EP0297895B1 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPH02116952A (ja) 情報処理システム
JPH02116949A (ja) 情報処理システム
JPH02116951A (ja) 情報処理システム
JPH02116950A (ja) 情報処理システム
JPS6336545B2 (ja)
JP2011118756A (ja) 排他制御プログラム、排他制御方法、及び情報処理システム
JPS5834856B2 (ja) キオクセイギヨソウチ
JPH02116948A (ja) 情報処理システム
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JPH05158889A (ja) 情報処理システム
JP2533931B2 (ja) 動的割当て領域のデ―タ内容保護方式