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

情報処理システム

Info

Publication number
JPH0810450B2
JPH0810450B2 JP63269580A JP26958088A JPH0810450B2 JP H0810450 B2 JPH0810450 B2 JP H0810450B2 JP 63269580 A JP63269580 A JP 63269580A JP 26958088 A JP26958088 A JP 26958088A JP H0810450 B2 JPH0810450 B2 JP H0810450B2
Authority
JP
Japan
Prior art keywords
processor
register
processors
group
communication
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.)
Expired - Lifetime
Application number
JP63269580A
Other languages
English (en)
Other versions
JPH02116951A (ja
Inventor
英男 林
千昭 熊本
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 JP63269580A priority Critical patent/JPH0810450B2/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 JPH02116951A publication Critical patent/JPH02116951A/ja
Priority to US07/995,907 priority patent/US5261108A/en
Publication of JPH0810450B2 publication Critical patent/JPH0810450B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

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

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサ(1〜4)と、該複数の
    プロセッサよりアクセスされる複数のエントリ(ワード
    0〜255)より構成され、主記憶とは異なる通信レジス
    タ(6)とを含む情報処理システムにおいて、 前記通信レジスタの前記複数のエントリは、前記複数の
    プロセッサの各々からアクセスされたモードが第一の処
    理モードの時のみアクセス可能な第一のグループ(群
    A)と、前記複数のプロセッサの各々からアクセスされ
    たモードが前記第一の処理モードの時アクセス可能であ
    り、かつ、前記複数のプロセッサの各々からアクセスさ
    れたモードが第二の処理モードの時もアクセス可能な第
    二のグループとに分けられ、更に、該第二のグループ
    は、前記複数のプロセッサ数に等しい個数の第三のグル
    ープ(群B〜E)に分けられ、 該第三のグループに対応して設けられ、対応した第三の
    グループへのアクセスが可能なプロセッサを示す複数の
    ディレクトリ(8)と、 前記通信レジスタへのアクセスが前記第一の処理モード
    で行なわれる時は、前記第一及び前記第二のグループの
    内の指定されたエントリをアクセスし、前記通信レジス
    タへのアクセスが前記第二の処理モードで行なわれる時
    は、アクセスしたプロセッサが前記ディレクトリにおい
    てアクセスを許可されている前記第三のグループの内の
    指定されたエントリをアクセスする手段と、 前記プロセッサからのディレクトリ更新指示により前記
    ディレクトリの内容を更新するディレクトリ制御手段と
    を、有し、 該ディレクトリ制御手段により前記通信レジスタの前記
    第三のグループの前記複数のプロセッサ間での共有及び
    非共有を制御することを特徴とする情報処理システム。
JP63269580A 1988-10-08 1988-10-27 情報処理システム Expired - Lifetime JPH0810450B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63269580A JPH0810450B2 (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
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
JP63269580A JPH0810450B2 (ja) 1988-10-27 1988-10-27 情報処理システム

Publications (2)

Publication Number Publication Date
JPH02116951A JPH02116951A (ja) 1990-05-01
JPH0810450B2 true JPH0810450B2 (ja) 1996-01-31

Family

ID=17474345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63269580A Expired - Lifetime JPH0810450B2 (ja) 1988-10-08 1988-10-27 情報処理システム

Country Status (1)

Country Link
JP (1) JPH0810450B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2743608B2 (ja) * 1991-03-27 1998-04-22 日本電気株式会社 共有レジスタ制御方式

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192157A (ja) * 1982-05-07 1983-11-09 Hitachi Ltd 多重系計算機システムの共有メモリ制御方式
JPS62226367A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp デイジタル計算機システム
JPS63163661A (ja) * 1986-12-26 1988-07-07 Nippon Telegr & Teleph Corp <Ntt> メモリ制御方式

Also Published As

Publication number Publication date
JPH02116951A (ja) 1990-05-01

Similar Documents

Publication Publication Date Title
US5889983A (en) Compare and exchange operation in a processing system
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4604694A (en) Shared and exclusive access control
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US3735363A (en) Information processing system employing stored microprogrammed processors and access free field memories
US5333297A (en) Multiprocessor system having multiple classes of instructions for purposes of mutual interruptibility
US4853849A (en) Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
Craig Queuing spin lock algorithms to support timing predictability
US4430707A (en) Microprogrammed digital data processing system employing multi-phase subroutine control for concurrently executing tasks
US6792497B1 (en) System and method for hardware assisted spinlock
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
US5317749A (en) Method and apparatus for controlling access by a plurality of processors to a shared resource
US5321825A (en) Processing system with lock spaces for providing critical section access
GB2121218A (en) Shared resource locking apparatus
JP2539352B2 (ja) 階層型多重計算機システム
EP0363882B1 (en) Multiprocessor system using communication register having processor-associated storage locations
JP7346649B2 (ja) 同期制御システムおよび同期制御方法
JP3598282B2 (ja) コンピュータ、その制御方法及びその制御方法を記録した記録媒体
US5261108A (en) Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode
JPH0810450B2 (ja) 情報処理システム
JPH0810449B2 (ja) 情報処理システム
JPS6319058A (ja) メモリ装置
EP0297895B1 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPH05158889A (ja) 情報処理システム
JPH02116949A (ja) 情報処理システム