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

情報処理システム

Info

Publication number
JPH0810449B2
JPH0810449B2 JP63269579A JP26957988A JPH0810449B2 JP H0810449 B2 JPH0810449 B2 JP H0810449B2 JP 63269579 A JP63269579 A JP 63269579A JP 26957988 A JP26957988 A JP 26957988A JP H0810449 B2 JPH0810449 B2 JP H0810449B2
Authority
JP
Japan
Prior art keywords
processor
register
group
processors
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.)
Expired - Lifetime
Application number
JP63269579A
Other languages
English (en)
Other versions
JPH02116950A (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 JP63269579A priority Critical patent/JPH0810449B2/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 JPH02116950A publication Critical patent/JPH02116950A/ja
Priority to US07/995,907 priority patent/US5261108A/en
Publication of JPH0810449B2 publication Critical patent/JPH0810449B2/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)と、 前記通信レジスタへのアクセスが前記第一の処理モード
    で行なわれる時は、前記第一及び前記第二のグループの
    内の指定されたエントリをアクセスし、前記通信レジス
    タへのアクセスが前記第二の処理モードで行なわれる時
    は、アクセスしたプロセッサが前記ディレクトリにおい
    てアクセスを許可されている前記第三のグループの内の
    指定されたエントリをアクセスする手段とを、有するこ
    とを特徴とする情報処理システム。
JP63269579A 1988-10-08 1988-10-27 情報処理システム Expired - Lifetime JPH0810449B2 (ja)

Priority Applications (5)

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

Publications (2)

Publication Number Publication Date
JPH02116950A JPH02116950A (ja) 1990-05-01
JPH0810449B2 true JPH0810449B2 (ja) 1996-01-31

Family

ID=17474330

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH0810449B2 (ja)

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
JPH02116950A (ja) 1990-05-01

Similar Documents

Publication Publication Date Title
US5889983A (en) Compare and exchange operation in a processing system
US3735363A (en) Information processing system employing stored microprogrammed processors and access free field memories
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US5115499A (en) Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4853849A (en) Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
JP2665813B2 (ja) 記憶制御装置
US5333297A (en) Multiprocessor system having multiple classes of instructions for purposes of mutual interruptibility
US5560018A (en) Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US6792497B1 (en) System and method for hardware assisted spinlock
GB2121218A (en) Shared resource locking apparatus
US5317749A (en) Method and apparatus for controlling access by a plurality of processors to a shared resource
EP0535820B1 (en) Method and apparatus for a register providing atomic access to set and clear individual bits of shared registers without software interlock
EP0519599A2 (en) Processing system with lock spaces
JP2539352B2 (ja) 階層型多重計算機システム
US4991083A (en) Method and system for extending address space for vector processing
EP0363882B1 (en) Multiprocessor system using communication register having processor-associated storage locations
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) メモリ装置
JPH05158889A (ja) 情報処理システム
EP0297895B1 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPH02116949A (ja) 情報処理システム