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

情報処理システム

Info

Publication number
JPH02116952A
JPH02116952A JP26958188A JP26958188A JPH02116952A JP H02116952 A JPH02116952 A JP H02116952A JP 26958188 A JP26958188 A JP 26958188A JP 26958188 A JP26958188 A JP 26958188A JP H02116952 A JPH02116952 A JP H02116952A
Authority
JP
Japan
Prior art keywords
processor
register
communication register
communication
word
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
JP26958188A
Other languages
English (en)
Inventor
Hideo Hayashi
英男 林
Reiko Kokubu
國分 令子
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 Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 Solution Innovators Ltd filed Critical NEC Corp
Priority to JP26958188A priority Critical patent/JPH02116952A/ja
Priority to CA 2000245 priority patent/CA2000245C/en
Priority to EP19890118752 priority patent/EP0363882B1/en
Priority to DE1989625452 priority patent/DE68925452T2/de
Publication of JPH02116952A publication Critical patent/JPH02116952A/ja
Priority to US07/995,907 priority patent/US5261108A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

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

Claims (1)

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

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP26958188A JPH02116952A (ja) 1988-10-27 1988-10-27 情報処理システム
CA 2000245 CA2000245C (en) 1988-10-08 1989-10-06 Multiprocessor system using communication register having processor-associated storage locations
EP19890118752 EP0363882B1 (en) 1988-10-08 1989-10-09 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
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
JP26958188A JPH02116952A (ja) 1988-10-27 1988-10-27 情報処理システム

Publications (1)

Publication Number Publication Date
JPH02116952A true JPH02116952A (ja) 1990-05-01

Family

ID=17474356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26958188A Pending JPH02116952A (ja) 1988-10-08 1988-10-27 情報処理システム

Country Status (1)

Country Link
JP (1) JPH02116952A (ja)

Similar Documents

Publication Publication Date Title
US5742785A (en) Posting multiple reservations with a conditional store atomic operations in a multiprocessing environment
JP3546678B2 (ja) マルチos構成方法
US5560018A (en) Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US5889983A (en) Compare and exchange operation in a processing system
KR100976280B1 (ko) 하드웨어 지원을 갖는 다중 프로세서 및 다중 스레드 안전 메시지 큐
US6792497B1 (en) System and method for hardware assisted spinlock
US5321825A (en) Processing system with lock spaces for providing critical section access
JP2539352B2 (ja) 階層型多重計算機システム
JPS61166652A (ja) 記憶保護例外による割込み発生方式
JP4026667B2 (ja) マルチos構成方法
JP3598282B2 (ja) コンピュータ、その制御方法及びその制御方法を記録した記録媒体
JPH04155465A (ja) ファイル共用方法
JPH02116952A (ja) 情報処理システム
JPH02116949A (ja) 情報処理システム
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
JPH02100755A (ja) 情報処理装置
JPH0810450B2 (ja) 情報処理システム
JPH02116950A (ja) 情報処理システム
JPH05158889A (ja) 情報処理システム
EP0382529B1 (en) Microprocessor having store buffer
JPH02116948A (ja) 情報処理システム
JPH04343143A (ja) マルチプロセッサシステムにおける共有資源相互排除方式
JPS5834856B2 (ja) キオクセイギヨソウチ
CN118227344A (zh) 一种共享内存保护方法和微处理芯片
JP2533931B2 (ja) 動的割当て領域のデ―タ内容保護方式