JPH0424863A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JPH0424863A
JPH0424863A JP12955690A JP12955690A JPH0424863A JP H0424863 A JPH0424863 A JP H0424863A JP 12955690 A JP12955690 A JP 12955690A JP 12955690 A JP12955690 A JP 12955690A JP H0424863 A JPH0424863 A JP H0424863A
Authority
JP
Japan
Prior art keywords
deadlock
communication
lock
processor
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
JP12955690A
Other languages
English (en)
Inventor
Katsuyuki Suzuki
鈴木 勉幸
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 JP12955690A priority Critical patent/JPH0424863A/ja
Publication of JPH0424863A publication Critical patent/JPH0424863A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理システムに関し、特にマルチプロセッ
サシステムにおける共有資源の排他制御すなわちデッド
ロックの検出制御に係る情報処理システムに関する。
〔従来の技術〕
従来の情報処理システムは、マルチプロセッサシステム
においてプロセッサ間で共を資源をアクセスしようとす
る時、プロセッサ間で同時にアクセスすると矛盾を引き
起こすような場合、あるプロセッサが共有資源をロック
し、これを解除するまでは他のプロセッサのアクセスを
許さないようにする方法がとられるが、この実現のため
にメモリ上に通信エリアを設け、あるプロセッサが共有
資源をアクセスしようとする時は通信エリアにロック情
報を設定し、同じ共有資源をアクセスしようとする別の
プロセッサは、アクセスに先がけて前記通信エリアをチ
エツクし、ロック状態であれば待ち合わせを行ない、ロ
ックされていなければ自らロックしてアクセスするよう
に制御しており。
通信エリアへのアクセスの為のテストアンドセット命令
と呼ばれる命令もサポートされている。共有資源がロッ
クされているか否かを示す手段としては前記通信エリア
内にロックフラグと呼ばれる1ビツトのフラグを設け、
ロックフラグが1ならばロック状態、ロックフラグがO
であるならば非ロツク状態であることを示すようにして
いるものが多い。またプロセッサ間の通信を早く行なう
ため高速にアクセス可能な専用の通信レジスタやメモリ
を有しているシステムもある。これらのプロセッサ間の
通信において重要な問題は、共有資源をロックしてアク
セスしたプロセッサが何らかの原因でロックを解除しな
いようなデッドロック状態に陥ってしまうことがあるこ
とである。デッドロックの検出にはソフトウェアの制御
によりテストアンドセット命令のアクセス回数をカウン
トする方法や、ロック時にアクセスカウント値を初期設
定し、テストアンドセット命令で通信エリアをアクセス
するたびに1を減じていき、0になるとデッドロック割
込を発生させ、強制的にロックされた資源が解放される
ように制御している。従来これらのカウント値にはロッ
ク時に一定の値しか設定されないシステムが多がった。
〔発明が解決しようとする課題〕
上述−した従来のマルチプロセッサシステムにおける共
有資源のデッドロックの検出制御は、あるプロセッサが
共有資源をロックする時に設定するアクセスカウント値
(以下この値をカウントするカウンタをロックワードア
クセスカウンタと記す)の初期値が常に一定であるので
、プロセッサが実際に共有資源をロックする時間の長さ
に関係なく、他のプロセッサによるデッドロック割込が
行なわれるタイミングが一定となり、プロセッサが共有
資源をロックする時間が短いのに前記初期値が大きな値
であるとデッドロックの検出が遅れたり、また逆にプロ
セッサが共有資源をロックする時間が長いのに前記初期
値が小さな値であるとプロセッサが共有資源を使用中に
デッドロック割込が行なわれてしまうこともあるという
欠点がある。
また、共有資源をロックしているプロセッサが通常モー
ドである場合と、サービスプロセッサからの指令により
デバッグ等の診断モードである場合を考えると、通常モ
ードのプロセッサが共有資源をロックしている場合は、
通常モードのプロセッサのマシンサイクルが高速である
ため第5図(a)のタイムチャートで示す様にロック状
態の共有資源に対し、別プロセッサがアクセスしようと
してプロセッサ間の通信情報格納手段(以下通信レジス
タと記す)の参照を開始してから前記共有資源のロック
が解除されるまでの時間が長くなることはなく、従って
前記共有資源のロックが解除される前に通信レジスタへ
のアクセス命令によりロックワードアクセスカウンタが
Oにまでカウントダウンされ、デッドロック割込が行な
われることはないが、診断モードのプロセッサが共有資
源をロックしている場合、診断モードのプロセッサのマ
シンサイクルが通常モードのプロセッサのマシンサイク
ルと比較して極めて低速なため、第5図(b)のタイム
チャートで示す様に、通常モードのプロセッサが前記共
有資源をアクセスしようとして通信レジスタの参照を開
始してから前記共有資源のロックが解除されるまでの時
間が非常に長くなり、従って、診断モードのプロセッサ
が前記資源をロックする時に設定するロックワードアク
セスカウンタの初期値を設定しうる最大値としても、診
断モードのプロセッサが前記共有資源を使用中に通信レ
ジスタへのアクセス命令によりロックワードアクセスカ
ウンタがOにまでカウントダウンされ通常モードのプロ
セッサにデッドロック割込をされてしまう欠点がある。
〔課題を解決するための手段〕 本発明の情報処理システムは、複数のプロセッサにより
構成される情報処理システムにおけるプロセッサ間の通
信にかかわる制御情報及びデータを格納する1つまたは
複数個の通信情報格納手段と、該通信情報格納手段に対
し、読み出し、格納及び検査を指示する命令手段と、該
命令手段に応答し、前記通信情報格納手段の内容を検査
し、その結果により前記通信情報格納手段のデッドロッ
ク情報を更新するアクセス制御手段と、前記デッドロッ
ク情報を検査し、デッドロックの発生を検出してプロセ
ッサへ報告するデッドロック検出手段とを有している。
更に、本発明の情報処理システムは前記デッドロック検
出手段のプロセッサへのデッドロックの報告を有効/無
効とする1つ以上のモードビットを有している。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例を示す。第1図において、本
実施例は4台のCPUl−1から1−4からなるマルチ
プロセッサシステムであり、この他、通信レジスタアク
セス制御回路2、通信レジスタ3.2個のセレクタ4−
1.4−2.4個のレジスタ5−1.5−2.5−3.
5−4、減算器6、デッドロック検出回路7、デコーダ
8.4個のデッドロック割込マスク回路9−1.9−2
.9−3.9−4、サービスプロセ・ツサ10、共有メ
モリ11から構成されている。なお通信レジスタ3は第
2図で示す様に64ビツト×256ワードのレジスタ群
であり、1ワードは1ビ1.トのロックフラグと31ビ
ツトのロックワードアクセスカウンタと32ビツトの通
信情報エリアから構成されている。
次に本実施例の動作を説明する。共有メモリ11に対し
CPUl−1がロックをかける場合、共有メモリ11が
現在非ロツク状態であることを確認するためCPUl−
1は通信レジスタ3に対するアクセス命令(以下テスト
アンドセット命令と記す)を発行し、第3図で示される
命令レジスタ1−1−1へ格納する。テストアンドセ・
ソト命令は第4図で示す様に8ビツトのオペレーション
コードと8ビツトの通信レジスタメモリ内アドレスと1
6ビツトのCPUレジスタメモリ内アドアドレスり構成
されており、CPUレジスタ群1−1−2におけるテス
トアンドセット命令で示されるアドレスより63ビツト
のデータが読み出され、通信レジスタ内アドレスととも
に通信レジスタアクセス制御回路2へ送られる。CPU
レジスタ群1−1−2より読み出される63ビツトのデ
ータは通信レジスタ3へ書き込まれる31ビツトのロッ
クワードアクセスカウンタの初期設定値と32ビツトの
プロセッサ間の通信情報から構成されており、ロックワ
ードアクセスカウンタの初期設定値については、共有資
源をロックするCPUで実行されるタスクがその共有資
源を使用する時間を予め予測したり、過去のデータによ
って解析し、最適な値になるよう設定されている。
通信レジスタアクセス制御回路2はCPUl−1から受
は取ったデータに基づき、アドレス信号202を通じて
通信レジスタ3におけるテストアントセット命令により
示されたアドレスより1ワードのデータを読み出し、ワ
ードにおける口・ツクフラグがOであることを確認し、
アドレス信号202、ライトイネーブル信号203を通
じてワードのロックフラグを1にセ・ン卜する。セレク
タ4−1.4−2はワードが読み出された時の口、ツク
フラグの値が1であることを受けて、それぞれ通信レジ
スタアクセス制御回路2から出力されるロックワードア
クセスカウンタの初期設定値とプロセッサ間通信情報を
選択する。選択された口・ツクワードアクセスカウンタ
の初期設定値とプロセ・フサ間通信情報はロックワード
における指定された領域に書き込まれる。口・ツクフラ
グの値は通信レジスタ3ヘアクセスしたCPUの識別信
号201とともにデコーダ8へ送られ、デコーダ8はC
PUの識別信号201により口・ツクフラグの値を報告
する信号をデコードし、口・ツクフラグの値をCPUl
−1へ送り、報告を受けたCPUl−1はロックフラグ
の値が0であることを確認した後共有メモリ11へのア
クセスを開始する。
共有メモリ11がCPUl−1により口・ツクされた後
、CPUl−2は共有メモリ11にアクセスしようとし
て共有メモリ11に関するロック情報を通信レジスタ3
へ参照しに行く。通信レジスタアクセス制御回路2はC
PUl−2から受は取ったテストアンドセット命令に従
い、通信レジスタ3の指定されたワードを読み出す。通
信レジスタアクセス制御回路2はワードにおけるロック
フラグが1であることを確認するとワードに対し、ロッ
クフラグについてはそのまま1を、通信情報については
、セレクタ4−2を通じ、読み出した値をそのまま書き
込み、ロックワードアクセスカウンタについては、セレ
クタ4−1を通じ、読み出されたときの値から減算器6
により1カウントダウンした値を書き込む。読み出され
たロックフラグの値はデコーダ8を通じてCPUl−2
へ送られ、CPU1−2は前記ロックフラグの値が1で
あったことを確認した後、共有メモリ11へのアクセス
待ちの状態となる。共有メモリ11がCPUl−1によ
りロックされている間、CPUl−2が共有メモリ11
にアクセスしようとして、テストアンドセット命令を発
行し、共有メモリ11に関するロック情報を通信レジス
タ3へ参照しにいくたびに上述のように通信レジスタ3
における指定されたワードのロックワードアクセスカウ
ンタの値は減算器6により1ずつカウントダウンされ、
その値はデッドロック検出制御回路7へ送られる。デッ
ドロック検出制御回路7は、ロックワードアクセスカウ
ンタの値がOになると共有メモリ11のデッドロック状
態を検出し、共有メモリ11に関するロック情報につい
て通信レジスタ3を参照したCPUへ報告し、報告を受
けたCPUはデッドロック割込を行なう。なおCPUl
−3、CPUl−4が共有メモリ11にアクセスしよう
とする場合も上記と同様なことが行なわれる。
別の実施例として第1図と同じ構成でCPUl−1がサ
ービスプロセッサ10からの指令によりデバッグ等の診
断モードでマシンサイクルが非常に遅くなったり命令の
先行制御機能を使わず、逐次実行させたり処理時間が長
くなっている場合、共有資源アクセスに先がけサービス
プロセッサ10は予め4個のデッドロック割込マスク回
路9−1〜9−4へデッドロック割込マスク信号を送っ
ておき、信号を受けたデッドロック割込マスク回路9−
1〜9−4はデッドロック検出制御回路7から受は取る
デッドロック検出信号をマスクする。マスク後は前述の
実施例のようにテストアンドセット命令でロックワード
アクセスカウンタの値がOになってもデッドロック検出
制御回路7から出力されるデッドロック検出信号はCP
Uへは送られず、デッドロック割込も行なわれることは
ない。
〔発明の効果〕
以上説明したように本発明は、通信レジスタにおけるロ
ックワードアクセスカウンタの初期設定値を命令により
自由に設定可能とすることにより、デッドロックが発生
した場合にそなえ共有資源をアクセスするタスク間やプ
ロセッサ問語にプロセッサがデッドロック割込を行なう
最適なタイミングを設定することができるという効果が
ある。
また、本発明ではデッドロックの検出を行なわないモー
ドを設けることにより、診断モード等で長い処理時間を
要するプロセッサが共有資源を使用中は、通常モードで
動作中のプロセッサによるデッドロック割込が行なわれ
ることを抑止し不必要な割込みを防ぐという効果がある
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図における通信レジスタ3を示す詳細図、第3図は
各CPUの内部を示すブロック図、第4図はテストアン
ドセット命令の内容を示す詳細図、第5図(a)および
第5図(b)はそれぞれ通常モードのプロセッサ、診断
モードのプロセッサが共有資源をロックする場合のロッ
クフラグとロックワードアクセスカウンタの時間的変化
を示すタイムチャート図である。 1−1.1−2.1−3.1−4・・・CPU12・・
・通信レジスタアクセス制御回路、3・・・通信しジス
タ、4−1.4−2・・・セレクタ、5−1.5−2.
5−3.5−4・・・レジスタ、6・・・減算器、7・
・・デッドロック検出制御回路、8・・・デコーダ、9
−1.9−2.9−3.9−4・・・デッドロック検出
マスク回路、10・・・サービスプロセ・ンサ、11・
・・共有メモリ。

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサにより構成される情報処理システ
    ムにおいて、プロセッサ間の通信にかかわる制御情報及
    びデータを格納する1つまたは複数個の通信情報格納手
    段と、該通信情報格納手段に対し、読み出し、格納及び
    検査を指示する命令手段と、該命令手段に応答し、前記
    通信情報格納手段の内容を検査し、その結果により前記
    通信情報格納手段のデッドロック情報を更新するアクセ
    ス制御手段と、前記デッドロック情報を検査しデッドロ
    ックの発生を検出してプロセッサへ報告するデッドロッ
    ク検出手段とを有し、システム内の共有資源のアクセス
    にあたり、資源獲得のロック制御においてデッドロック
    検出のタイミングを可変にしたことを特徴とする情報処
    理システム。 2、前記デッドロック検出手段のプロセッサへのデッド
    ロックの報告を有効/無効とする1つまたは複数個のモ
    ードビットを有しデッドロックの検出を選択的に報告す
    ることを特徴とする請求項1記載の情報処理システム。
JP12955690A 1990-05-18 1990-05-18 情報処理システム Pending JPH0424863A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12955690A JPH0424863A (ja) 1990-05-18 1990-05-18 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12955690A JPH0424863A (ja) 1990-05-18 1990-05-18 情報処理システム

Publications (1)

Publication Number Publication Date
JPH0424863A true JPH0424863A (ja) 1992-01-28

Family

ID=15012421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12955690A Pending JPH0424863A (ja) 1990-05-18 1990-05-18 情報処理システム

Country Status (1)

Country Link
JP (1) JPH0424863A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5844553A (ja) * 1981-09-10 1983-03-15 Fujitsu Ltd 排他制御方式
JPS62282358A (ja) * 1986-05-31 1987-12-08 Nec Corp メモリ制御装置
JPS6321941A (ja) * 1986-05-06 1988-01-29 イ−・アイ・デユポン・デ・ニモアス・アンド・カンパニ− 屈曲部においてつぶれたセルを有するセルラ−ステ−プル繊維
JPH02100755A (ja) * 1988-10-08 1990-04-12 Nec Corp 情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5844553A (ja) * 1981-09-10 1983-03-15 Fujitsu Ltd 排他制御方式
JPS6321941A (ja) * 1986-05-06 1988-01-29 イ−・アイ・デユポン・デ・ニモアス・アンド・カンパニ− 屈曲部においてつぶれたセルを有するセルラ−ステ−プル繊維
JPS62282358A (ja) * 1986-05-31 1987-12-08 Nec Corp メモリ制御装置
JPH02100755A (ja) * 1988-10-08 1990-04-12 Nec Corp 情報処理装置

Similar Documents

Publication Publication Date Title
KR100578437B1 (ko) 다수의 스레드의 병행 실행을 지원하는 컴퓨터 시스템에서의 인터럽트 처리 메커니즘
EP0361176B1 (en) Method and apparatus for communicating data between multiple tasks in data processing systems
KR880001401B1 (ko) 데이타 처리 시스템의 공통 버스 이용검출 논리회로
US6976155B2 (en) Method and apparatus for communicating between processing entities in a multi-processor
EP0172522B1 (en) Data processing machine suitable for high-speed processing
CN111857993B (zh) 一种内核态调用用户态函数的方法
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
US9274859B2 (en) Multi processor and multi thread safe message queue with hardware assistance
CN114780248B (zh) 资源访问方法、装置、计算机设备及存储介质
WO2009111108A1 (en) Method and apparatus for sharing debug resources
US7716407B2 (en) Executing application function calls in response to an interrupt
US6654908B1 (en) Method for and system producing shared usage of intercommunication fabric error logging registers in a multiprocessor environment
US4308580A (en) Data multiprocessing system having protection against lockout of shared data
US6529979B1 (en) Method and apparatus for a high-speed serial communications bus protocol with positive acknowledgement
CA2151673C (en) Parallel processing system with a plurality of communication register modules
JPH0424863A (ja) 情報処理システム
US7222202B2 (en) Method for monitoring a set of semaphore registers using a limited-width test bus
SU1569843A1 (ru) Многопроцессорна вычислительна система
JP2988139B2 (ja) 割込み制御装置
KR20010036590A (ko) 인터럽트 및 폴링 방식 겸용으로 메모리를 엑세스하는 장치 및 그 방법
US7206926B2 (en) Programmable unit including program operation unit and associated stopping device
JPS62156756A (ja) 浮動割込処理方法
JPH04111138A (ja) ソフトウェア障害検出方式
KR19990072560A (ko) 메모리보호방법및장치
JPS5834856B2 (ja) キオクセイギヨソウチ