JPH05158889A - 情報処理システム - Google Patents
情報処理システムInfo
- Publication number
- JPH05158889A JPH05158889A JP34811691A JP34811691A JPH05158889A JP H05158889 A JPH05158889 A JP H05158889A JP 34811691 A JP34811691 A JP 34811691A JP 34811691 A JP34811691 A JP 34811691A JP H05158889 A JPH05158889 A JP H05158889A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- register
- communication
- processors
- bit
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 情報処理システムにおけるプロセッサ間の情
報の伝達及び通信の速度を速める。 【構成】 複数のプロセッサについて互いに異なる識別
情報を付与する。これらプロセッサからアクセスされる
エントリ群を有する通信用レジスタ6を設ける。それら
エントリ群に対応して設けられ各ビットが対応エントリ
群について複数のプロセッサの夫々による使用未使用状
態を示すディレクトリ8−1〜8−4を設ける。ディレ
クトリ制御命令に応答してディレクトリ中の識別情報に
対応するビットをリセット又はセットし、マスタプロセ
ッサ及びスレーブプロセッサを設定する。通信用レジス
タ6のエントリ群を介してプロセッサ間でデータの授受
を行う。
報の伝達及び通信の速度を速める。 【構成】 複数のプロセッサについて互いに異なる識別
情報を付与する。これらプロセッサからアクセスされる
エントリ群を有する通信用レジスタ6を設ける。それら
エントリ群に対応して設けられ各ビットが対応エントリ
群について複数のプロセッサの夫々による使用未使用状
態を示すディレクトリ8−1〜8−4を設ける。ディレ
クトリ制御命令に応答してディレクトリ中の識別情報に
対応するビットをリセット又はセットし、マスタプロセ
ッサ及びスレーブプロセッサを設定する。通信用レジス
タ6のエントリ群を介してプロセッサ間でデータの授受
を行う。
Description
【0001】
【技術分野】本発明は情報処理システムに関し、特にマ
ルチプロセッサシステムのプロセッサ間で高速に情報を
伝達する手段に関する。
ルチプロセッサシステムのプロセッサ間で高速に情報を
伝達する手段に関する。
【0002】
【従来技術】マルチプロセッサでシステムを構成する目
的にはシステムの総合スループットを高めることが一般
的であるが、場合によっては、あるジョブのターンアラ
ウンドタイムを短くすることも要求される。この場合、
そのジョブのタスクの内、依存関係のないものは複数の
プロセッサでそのタスクを並行して実行、あるいは、あ
るタスクの一部を複数のプロセッサで並行して実行させ
ることにより達成可能である。
的にはシステムの総合スループットを高めることが一般
的であるが、場合によっては、あるジョブのターンアラ
ウンドタイムを短くすることも要求される。この場合、
そのジョブのタスクの内、依存関係のないものは複数の
プロセッサでそのタスクを並行して実行、あるいは、あ
るタスクの一部を複数のプロセッサで並行して実行させ
ることにより達成可能である。
【0003】あるタスクを並行して実行する場合、タス
ク間での同期、あるいはタスク間で共通に参照するデー
タでそのデータの使用は排他的に使用すべきのものもあ
る。この排他的に使用すべきデータである時には、ロッ
クワードを決めておいて、そのワードがアンロック状態
であれば、そのワードにロックをかけ、ロックをかけた
プロセッサのみが、排他的に使用可能なデータを参照す
る。
ク間での同期、あるいはタスク間で共通に参照するデー
タでそのデータの使用は排他的に使用すべきのものもあ
る。この排他的に使用すべきデータである時には、ロッ
クワードを決めておいて、そのワードがアンロック状態
であれば、そのワードにロックをかけ、ロックをかけた
プロセッサのみが、排他的に使用可能なデータを参照す
る。
【0004】プロセッサがロックワードを参照した時、
ロック状態にある時、ロックワードがアンロックされる
まで、排他的に使用すべきデータへのアクセスは禁止さ
れる。また逆に、並行して実行する場合、同じデータを
参照してもよい場合もある。これらのデータは一般に主
記憶に置かれている。
ロック状態にある時、ロックワードがアンロックされる
まで、排他的に使用すべきデータへのアクセスは禁止さ
れる。また逆に、並行して実行する場合、同じデータを
参照してもよい場合もある。これらのデータは一般に主
記憶に置かれている。
【0005】しかしながら、上述した従来の情報処理シ
ステムはプロセッサ間で情報を伝達するのに主記憶装置
を使用して情報の伝達、通信を行っているので情報の伝
達及び通信の速度が遅いという欠点がある。
ステムはプロセッサ間で情報を伝達するのに主記憶装置
を使用して情報の伝達、通信を行っているので情報の伝
達及び通信の速度が遅いという欠点がある。
【0006】
【発明の目的】本発明の目的は、上記欠点に鑑み、プロ
セッサ間の情報の伝達及び通信の速度を高速化する情報
処理システムを提供することである。
セッサ間の情報の伝達及び通信の速度を高速化する情報
処理システムを提供することである。
【0007】
【発明の構成】本発明による情報処理システムは、互い
に異なる識別情報を有するN個(Nは2以上の整数)の
プロセッサと、これらN個のプロセッサからアクセスさ
れるN個のエントリ群を有する通信用のレジスタと、前
記N個のエントリ群に対応して設けられ各ビットが対応
エントリ群について前記N個のプロセッサの夫々による
使用未使用状態を示すN個のディレクトリと、前記レジ
スタを用いたデータ通信の要求を行うリクエストプロセ
ッサから送出され自プロセッサの識別情報及び自プロセ
ッサをスレーブプロセッサとするマスタプロセッサの識
別情報の指示に応答して前記リクエストプロセッサの識
別情報に対応するビットを未使用状態にリセットし、前
記マスタプロセッサの識別情報に対応するビットを使用
状態にセットするディレクトリ制御手段とを有し、前記
レジスタのエントリ群を介して前記リクエストプロセッ
サと前記マスタプロセッサとの間でデータの授受を行う
ようにしたことを特徴とする。
に異なる識別情報を有するN個(Nは2以上の整数)の
プロセッサと、これらN個のプロセッサからアクセスさ
れるN個のエントリ群を有する通信用のレジスタと、前
記N個のエントリ群に対応して設けられ各ビットが対応
エントリ群について前記N個のプロセッサの夫々による
使用未使用状態を示すN個のディレクトリと、前記レジ
スタを用いたデータ通信の要求を行うリクエストプロセ
ッサから送出され自プロセッサの識別情報及び自プロセ
ッサをスレーブプロセッサとするマスタプロセッサの識
別情報の指示に応答して前記リクエストプロセッサの識
別情報に対応するビットを未使用状態にリセットし、前
記マスタプロセッサの識別情報に対応するビットを使用
状態にセットするディレクトリ制御手段とを有し、前記
レジスタのエントリ群を介して前記リクエストプロセッ
サと前記マスタプロセッサとの間でデータの授受を行う
ようにしたことを特徴とする。
【0008】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0009】図1は本発明による情報処理システムの一
実施例の構成を示すブロック図である。図において、プ
ロセッサ#0(1)、プロセッサ#1(2)、プロセッ
サ#2(3)、プロセッサ#3(4)は通常の処理装置
であり、全て同じものである。主記憶7はプロセッサ#
0〜3(1〜4)の間のデータの授受を行う。通信レジ
スタ6とプロセッサ#0〜3(1〜4)と間でもデータ
の授受を行う。
実施例の構成を示すブロック図である。図において、プ
ロセッサ#0(1)、プロセッサ#1(2)、プロセッ
サ#2(3)、プロセッサ#3(4)は通常の処理装置
であり、全て同じものである。主記憶7はプロセッサ#
0〜3(1〜4)の間のデータの授受を行う。通信レジ
スタ6とプロセッサ#0〜3(1〜4)と間でもデータ
の授受を行う。
【0010】通信レジスタ6はプロセッサ#0〜3(1
〜4)の間で通信する情報の格納場所として使用され
る。
〜4)の間で通信する情報の格納場所として使用され
る。
【0011】図2は通信レジスタ6の一実施例を示す図
である。通信レジスタ6は256 ワード(64ビット/ワ
ード)で構成され、エントリ群Aはワード0〜127 、エ
ントリ群Bはワード128 〜159 、エントリ群Cはワード
160 〜191 、エントリ群Dは192 〜223 、エントリ群E
はワード224 〜255 に分けられている。通信レジスタの
エントリ群B〜Eの各々に対応して各4ビットの通信レ
ジスタディレクトリ8−1〜8−4があり、その各ビッ
トは各プロセッサに、対応している。
である。通信レジスタ6は256 ワード(64ビット/ワ
ード)で構成され、エントリ群Aはワード0〜127 、エ
ントリ群Bはワード128 〜159 、エントリ群Cはワード
160 〜191 、エントリ群Dは192 〜223 、エントリ群E
はワード224 〜255 に分けられている。通信レジスタの
エントリ群B〜Eの各々に対応して各4ビットの通信レ
ジスタディレクトリ8−1〜8−4があり、その各ビッ
トは各プロセッサに、対応している。
【0012】例えば同図に示す如く最左端ビットよりプ
ロセッサ0,1,2,3(1〜4)に対応する。あるプ
ロセッサより通信レジスタへのアクセス要求があった場
合、通信レジスタディレクトリ8−1〜8−4を調べ、
そのプロセッサ番号に対応するビットが“1”の通信レ
ジスタ内の指定されたエントリへのアクセスが行われ
る。つまり、ディレクトリのビット“1”はプロセッサ
による使用状態を示し、ビット“0”は未使用状態を示
すことになる。
ロセッサ0,1,2,3(1〜4)に対応する。あるプ
ロセッサより通信レジスタへのアクセス要求があった場
合、通信レジスタディレクトリ8−1〜8−4を調べ、
そのプロセッサ番号に対応するビットが“1”の通信レ
ジスタ内の指定されたエントリへのアクセスが行われ
る。つまり、ディレクトリのビット“1”はプロセッサ
による使用状態を示し、ビット“0”は未使用状態を示
すことになる。
【0013】図3は通信レジスタ6へのアクセス例を示
したものである。プロセッサからのリクエストを受信し
た時、リクエストしたプロセッサ番号をプロセッサ番号
レジスタ14に、プロセッサの動作モードをモードレジ
スタ9に、アドレス情報をアドレスレジスタ10に受信
する。動作モードレジスタ9が“1”ならば特権モード
を示しており、リクエストを送出したプロセッサはシス
テムプログラムを実行している。動作モードレジスタ9
が“0”ならば非特権モードを示しており、リクエスト
送出プロセッサはユーザープログラムを実行している。
したものである。プロセッサからのリクエストを受信し
た時、リクエストしたプロセッサ番号をプロセッサ番号
レジスタ14に、プロセッサの動作モードをモードレジ
スタ9に、アドレス情報をアドレスレジスタ10に受信
する。動作モードレジスタ9が“1”ならば特権モード
を示しており、リクエストを送出したプロセッサはシス
テムプログラムを実行している。動作モードレジスタ9
が“0”ならば非特権モードを示しており、リクエスト
送出プロセッサはユーザープログラムを実行している。
【0014】動作モードレジスタ9が“1”の時、アド
レスレジスタ10のビット56〜63で示すエントリ、
即ち256 ワードの任意のものがアクセスされる。動作モ
ードレジスタ9が“0”の時、プロセッサ番号レジスタ
14の内容は、デコーダ11でデコードされ、その出力
結果と通信レジスタのエントリ群B〜Eに対応する通信
レジスタディレクトリ8−1〜8−4の各ビットとが比
較器12−1〜12−4で比較される。各比較器の出力
はエンコーダ13で2ビットに変換される。この2ビッ
トの左にモードレジスタ9が非特権モードであることに
より“1”を、前記エンコードされた2ビットの右側に
アドレスレジスタ10のビット59〜63を結合するこ
とにより目的とする通信レジスタのエントリがアクセス
される。
レスレジスタ10のビット56〜63で示すエントリ、
即ち256 ワードの任意のものがアクセスされる。動作モ
ードレジスタ9が“0”の時、プロセッサ番号レジスタ
14の内容は、デコーダ11でデコードされ、その出力
結果と通信レジスタのエントリ群B〜Eに対応する通信
レジスタディレクトリ8−1〜8−4の各ビットとが比
較器12−1〜12−4で比較される。各比較器の出力
はエンコーダ13で2ビットに変換される。この2ビッ
トの左にモードレジスタ9が非特権モードであることに
より“1”を、前記エンコードされた2ビットの右側に
アドレスレジスタ10のビット59〜63を結合するこ
とにより目的とする通信レジスタのエントリがアクセス
される。
【0015】図4は256 ワードの容量をもつ通信レジス
タの各ワードの使い方を示したものである。同図(a)
は情報を格納するデータレジスタとして使う形式であ
る。同図(b)は排他制御を行うためのロックワードと
して使う形式である。通信レジスタのどのワードをデー
タレジスタとして使うか、ロックワードとして使うか
は、ソフトウェアまかせである。
タの各ワードの使い方を示したものである。同図(a)
は情報を格納するデータレジスタとして使う形式であ
る。同図(b)は排他制御を行うためのロックワードと
して使う形式である。通信レジスタのどのワードをデー
タレジスタとして使うか、ロックワードとして使うか
は、ソフトウェアまかせである。
【0016】ロックワードとして使う場合、ビット0は
ロック表示部であり、“1”はロック状態を“0”はア
ンロック状態を示す。ビット8〜31はカウント部であ
る。ビット32〜63は、ロックされた時、プロセッサ
から送られて来ているデータのビット32〜63を格納
している。
ロック表示部であり、“1”はロック状態を“0”はア
ンロック状態を示す。ビット8〜31はカウント部であ
る。ビット32〜63は、ロックされた時、プロセッサ
から送られて来ているデータのビット32〜63を格納
している。
【0017】プロセッサから通信レジスタをアクセスす
る3種の命令が準備されている。通信レジスタの内容を
リードする通信レジスタセーブ命令、通信レジスタにプ
ロセッサから送られて来たデータを格納する通信レジス
タロード命令、それと通信レジスタテスト&セット命令
である。
る3種の命令が準備されている。通信レジスタの内容を
リードする通信レジスタセーブ命令、通信レジスタにプ
ロセッサから送られて来たデータを格納する通信レジス
タロード命令、それと通信レジスタテスト&セット命令
である。
【0018】図5は通信レジスタに関する命令動作を示
したブロック図である。命令レジスタ20は命令コード
を、データレジスタ15はデータを夫々プロセッサより
受信する。命令レジスタ20の内容をデコーダ19でデ
コードする。
したブロック図である。命令レジスタ20は命令コード
を、データレジスタ15はデータを夫々プロセッサより
受信する。命令レジスタ20の内容をデコーダ19でデ
コードする。
【0019】デコード結果が通信レジスタへのロード命
令(CR Load )である場合、指定された通信レジスタ
にデータレジスタ15の内容を書込む。
令(CR Load )である場合、指定された通信レジスタ
にデータレジスタ15の内容を書込む。
【0020】命令レジスタ20のデコードの結果、通信
レジスタのセーブ命令(CR Save)である場合、指定
された通信レジスタの内容は、通信レジスタリードレジ
スタ16に読出され、リクエストしたプロセッサに送ら
れる。
レジスタのセーブ命令(CR Save)である場合、指定
された通信レジスタの内容は、通信レジスタリードレジ
スタ16に読出され、リクエストしたプロセッサに送ら
れる。
【0021】命令レジスタ20のデコードの結果、通信
レジスタのテスト&セット命令(CR T&S)である
場合、指定された通信レジスタの内容は、通信リードレ
ジスタ16に読出されリクエストしたプロセッサに送ら
れる。
レジスタのテスト&セット命令(CR T&S)である
場合、指定された通信レジスタの内容は、通信リードレ
ジスタ16に読出されリクエストしたプロセッサに送ら
れる。
【0022】通信リードレジスタ16のビット0の内容
が調べられ、ビット0が“0”だとアンロック状態であ
るため、ビット0を“1”、ビット8〜31にオール
“1”、ビット32〜63にデータレジスタ15のビッ
ト32〜63を指定された通信レジスタに格納する。す
なわち、ロックが成功したことを示し、図4(b)に示
すカウンタ部は最大値にセットされている。プロセッサ
はロックワードを受信し、そのビット0をテスト&セッ
ト命令の後続命令でテストすることでロックが成功した
ことを知ることができる。
が調べられ、ビット0が“0”だとアンロック状態であ
るため、ビット0を“1”、ビット8〜31にオール
“1”、ビット32〜63にデータレジスタ15のビッ
ト32〜63を指定された通信レジスタに格納する。す
なわち、ロックが成功したことを示し、図4(b)に示
すカウンタ部は最大値にセットされている。プロセッサ
はロックワードを受信し、そのビット0をテスト&セッ
ト命令の後続命令でテストすることでロックが成功した
ことを知ることができる。
【0023】通信レジスタのテスト&セット命令で通信
レジスタリードレジスタ16に読出されたデータのビッ
ト0が“1”の場合もデータはリクエストしたプロセッ
サに送られる。通信レジスタリードレジスタ16のビッ
ト0が“1”であるとビット8〜31のカウント部の内
容はデクリメント回路17で1減じられその結果は元の
通信レジスタに戻される。
レジスタリードレジスタ16に読出されたデータのビッ
ト0が“1”の場合もデータはリクエストしたプロセッ
サに送られる。通信レジスタリードレジスタ16のビッ
ト0が“1”であるとビット8〜31のカウント部の内
容はデクリメント回路17で1減じられその結果は元の
通信レジスタに戻される。
【0024】ビット8〜31のカウント部の内容よりデ
クリメント回路17で1減じた結果が、“0”であるこ
とをデッドロック検出回路18が検出すると、デッドロ
ック検出信号をプロセッサに通知する。プロセッサはこ
の信号を受信するとデッドロック例外処理に入る。すな
わち、ロックワードに対して224回アクセスされる間ロ
ックが解除されないこととなり、異常状態であるため、
その処理ルーチンに分岐する。
クリメント回路17で1減じた結果が、“0”であるこ
とをデッドロック検出回路18が検出すると、デッドロ
ック検出信号をプロセッサに通知する。プロセッサはこ
の信号を受信するとデッドロック例外処理に入る。すな
わち、ロックワードに対して224回アクセスされる間ロ
ックが解除されないこととなり、異常状態であるため、
その処理ルーチンに分岐する。
【0025】プロセッサがテスト&セット命令の実行の
結果のデータを受取り、後続命令でそのビット0を調べ
“1”であったことよりロック不成功を知る。この時は
再びテスト&セット命令を送出しロックが解除されるま
でこの動作を繰返す。
結果のデータを受取り、後続命令でそのビット0を調べ
“1”であったことよりロック不成功を知る。この時は
再びテスト&セット命令を送出しロックが解除されるま
でこの動作を繰返す。
【0026】ここで、図2及び図3に示した通信レジス
タディレクトリ8−1〜8−4の各ビットをセットした
りリセットしたりするディレクトリ制御命令がある。図
6はそのデータ形式を示している。図中のビット62〜
63は通信レジスタを用いてデータの通信の要求を行う
リクエストプロセッサをスレーブプロセッサとするマス
タプロセッサの番号をエンコードした形式で示してい
る。この2ビットが“00”であればマスタプロセッサ
はプロセッサ#0(1)である。同様に、“01”であ
ればプロセッサ#1(2)、“10”であればプロセッ
サ#2(3)、“11”であればプロセッサ#3(4)
であることを示している。
タディレクトリ8−1〜8−4の各ビットをセットした
りリセットしたりするディレクトリ制御命令がある。図
6はそのデータ形式を示している。図中のビット62〜
63は通信レジスタを用いてデータの通信の要求を行う
リクエストプロセッサをスレーブプロセッサとするマス
タプロセッサの番号をエンコードした形式で示してい
る。この2ビットが“00”であればマスタプロセッサ
はプロセッサ#0(1)である。同様に、“01”であ
ればプロセッサ#1(2)、“10”であればプロセッ
サ#2(3)、“11”であればプロセッサ#3(4)
であることを示している。
【0027】ディレクトリ制御命令はまずリクエストし
た自プロセッサ番号で通信レジスタディレクトリ(8−
1〜8−4)を調べ、一致する(“1”がセットされて
いる)ディレクトリから自プロセッサのビットをリセッ
トする。続いて、マスタプロセッサ番号で指定された通
信レジスタディレクトリに自プロセッサのビットをセッ
トする。すなわち、マスタプロセッサが#0であれば、
通信レジスタディレクトリ8−1を、マスタプロセッサ
が#1なら通信レジスタディレクトリ8−2を、マスタ
プロセッサ#2なら通信レジスタディレクトリ8−3
を、マスタプロセッサが#3なら通信レジスタディレク
トリ8−4をアクセスしそのディレクトリ中の自プロセ
ッサ番号に対応するビットを“1”にセットする。
た自プロセッサ番号で通信レジスタディレクトリ(8−
1〜8−4)を調べ、一致する(“1”がセットされて
いる)ディレクトリから自プロセッサのビットをリセッ
トする。続いて、マスタプロセッサ番号で指定された通
信レジスタディレクトリに自プロセッサのビットをセッ
トする。すなわち、マスタプロセッサが#0であれば、
通信レジスタディレクトリ8−1を、マスタプロセッサ
が#1なら通信レジスタディレクトリ8−2を、マスタ
プロセッサ#2なら通信レジスタディレクトリ8−3
を、マスタプロセッサが#3なら通信レジスタディレク
トリ8−4をアクセスしそのディレクトリ中の自プロセ
ッサ番号に対応するビットを“1”にセットする。
【0028】図2に戻り、通信レジスタを利用してマル
チ(マイクロ)タスキングを実行する手順の例を以下に
示す。各プロセッサは別個の仕事をしているものとし、
通信レジスタのエントリ群Bはプロセッサ#0にエント
リ群Cはプロセッサ#1(2)、エントリ群Dはプロセ
ッサ#2(3)、エントリ群Eはプロセッサ#3(4)
に割当てられているものとする。
チ(マイクロ)タスキングを実行する手順の例を以下に
示す。各プロセッサは別個の仕事をしているものとし、
通信レジスタのエントリ群Bはプロセッサ#0にエント
リ群Cはプロセッサ#1(2)、エントリ群Dはプロセ
ッサ#2(3)、エントリ群Eはプロセッサ#3(4)
に割当てられているものとする。
【0029】プロセッサ#1(2)で実行しているプロ
グラムがマルチタスクを実行することを示しているとシ
ステムプログラムは現在アイドル中のプロセッサあるい
は現在動作しているがレベル(プライオリティ)の低い
ジョブを実行しているプロセッサを確保する。ここで
は、プロセッサ#2(3)がアイドル中であったため、
マルチタスクを実行するためにそれを確保したとする。
グラムがマルチタスクを実行することを示しているとシ
ステムプログラムは現在アイドル中のプロセッサあるい
は現在動作しているがレベル(プライオリティ)の低い
ジョブを実行しているプロセッサを確保する。ここで
は、プロセッサ#2(3)がアイドル中であったため、
マルチタスクを実行するためにそれを確保したとする。
【0030】確保されたプロセッサ#2(3)は図7に
示されているようにディレクトリ制御命令を実行する。
この時のマスタプロセッサはプロセッサ#1(2)であ
る。
示されているようにディレクトリ制御命令を実行する。
この時のマスタプロセッサはプロセッサ#1(2)であ
る。
【0031】図7(a)において、ディレクトリ制御命
令の実行前はディレクトリ8−1の0ビットに“1”、
ディレクトリ8−2の1ビットに“1”、ディレクトリ
8−3の2ビットに“1”、ディレクトリ8−4の3ビ
ットに“1”がセットされている。
令の実行前はディレクトリ8−1の0ビットに“1”、
ディレクトリ8−2の1ビットに“1”、ディレクトリ
8−3の2ビットに“1”、ディレクトリ8−4の3ビ
ットに“1”がセットされている。
【0032】この(a)の状態において、リクエストプ
ロセッサを#2、マスタプロセッサを#1としてディレ
クトリ制御命令を実行すると、同図(b)の状態とな
る。つまり、ディレクトリ8−3の2ビットの“1”が
“0”にリセットされ、ディレクトリ8−2の2ビット
の“0”が“1”にセットされる。
ロセッサを#2、マスタプロセッサを#1としてディレ
クトリ制御命令を実行すると、同図(b)の状態とな
る。つまり、ディレクトリ8−3の2ビットの“1”が
“0”にリセットされ、ディレクトリ8−2の2ビット
の“0”が“1”にセットされる。
【0033】したがって、ディレクトリ制御命令の実行
の結果、エントリ群Dのディレクトリは空となりエント
リ群Cのディレクトリにはプロセッサ#1(2)とプロ
セッサ#2(3)とのビットがセットされる。よって、
プロセッサ#1(2)とプロセッサ#2(3)とは通信
レジスタのエントリ群Cをアクセスできることになる。
すなわち、エントリ群Cの通信レジスタに格納される情
報を参照しながらプロセッサ#1(2)とプロセッサ#
2(3)とは並行してタスクを実行する。
の結果、エントリ群Dのディレクトリは空となりエント
リ群Cのディレクトリにはプロセッサ#1(2)とプロ
セッサ#2(3)とのビットがセットされる。よって、
プロセッサ#1(2)とプロセッサ#2(3)とは通信
レジスタのエントリ群Cをアクセスできることになる。
すなわち、エントリ群Cの通信レジスタに格納される情
報を参照しながらプロセッサ#1(2)とプロセッサ#
2(3)とは並行してタスクを実行する。
【0034】マルチタスクの必要性がなくなるとプロセ
ッサ#2(3)はマスタプロセッサが“2”であるディ
レクトリ制御命令を実行する。
ッサ#2(3)はマスタプロセッサが“2”であるディ
レクトリ制御命令を実行する。
【0035】すなわち、図7(b)の状態において、リ
クエストプロセッサを#2、マスタプロセッサを#2と
してディレクトリ制御命令を実行すると、同図(c)の
状態となる。つまり、ディレクトリ8−2の2ビットの
“1”が“0”にリセットされ、ディレクトリ8−3の
2ビットの“0”が“1”にセットされる。
クエストプロセッサを#2、マスタプロセッサを#2と
してディレクトリ制御命令を実行すると、同図(c)の
状態となる。つまり、ディレクトリ8−2の2ビットの
“1”が“0”にリセットされ、ディレクトリ8−3の
2ビットの“0”が“1”にセットされる。
【0036】その結果、エントリ群Cのディレクトリの
プロセッサ#2(3)のビットはリセットされ空であっ
たエントリ群Dのディレクトリのプロセッサ#2(3)
に相当するビットはセットされる。
プロセッサ#2(3)のビットはリセットされ空であっ
たエントリ群Dのディレクトリのプロセッサ#2(3)
に相当するビットはセットされる。
【0037】なお、本実施例においては、プロセッサ#
2(3)について、エントリ群C及びDのビットをセッ
トしたり、リセットしたりする場合について説明した
が、他のプロセッサについても同様にセット及びリセッ
トが行われる。また、より多くのプロセッサを含むシス
テムにおいても同様に適用できる。
2(3)について、エントリ群C及びDのビットをセッ
トしたり、リセットしたりする場合について説明した
が、他のプロセッサについても同様にセット及びリセッ
トが行われる。また、より多くのプロセッサを含むシス
テムにおいても同様に適用できる。
【0038】
【発明の効果】以上説明したように本発明は、複数のプ
ロセッサよりアクセス可能な通信レジスタを設け、この
通信レジスタへのアクセス機構を有することにより、プ
ロセッサ間で通信レジスタの共有、非共有を制御するこ
とにより、情報の伝達、通信を高速に実行できるという
効果がある。
ロセッサよりアクセス可能な通信レジスタを設け、この
通信レジスタへのアクセス機構を有することにより、プ
ロセッサ間で通信レジスタの共有、非共有を制御するこ
とにより、情報の伝達、通信を高速に実行できるという
効果がある。
【図1】本発明の実施例による情報処理システムの概略
構成図である。
構成図である。
【図2】図1における通信レジスタの構成例である。
【図3】通信レジスタへのアクセス手順例を示す概念図
である。
である。
【図4】通信レジスタのワードの使い方の形式を示す概
略図である。
略図である。
【図5】通信レジスタに関する命令動作を示す概略図で
ある。
ある。
【図6】通信レジスタディレクトリ制御命令の制御デー
タ形式を示す概念図である。
タ形式を示す概念図である。
【図7】ディレクトリ制御命令の実行による通信レジス
タディレクトリ内の状態遷移を示す概念図である。
タディレクトリ内の状態遷移を示す概念図である。
1〜4 プロセッサ 5 記憶制御装置 6 通信レジスタ 7 主記憶 8−1〜8−4 通信レジスタディレクトリ 9 モードレジスタ 10 アドレスレジスタ 11 デコーダ 12−1〜12−4 比較器 13 エンコーダ 14 プロセッサ番号レジスタ 15 データレジスタ 16 通信レジスタリードレジスタ 17 デクリメント回路 18 デッドロック検出回路 19 デコーダ 20 命令レジスタ
Claims (1)
- 【請求項1】 互いに異なる識別情報を有するN個(N
は2以上の整数)のプロセッサと、これらN個のプロセ
ッサからアクセスされるN個のエントリ群を有する通信
用のレジスタと、前記N個のエントリ群に対応して設け
られ各ビットが対応エントリ群について前記N個のプロ
セッサの夫々による使用未使用状態を示すN個のディレ
クトリと、前記レジスタを用いたデータ通信の要求を行
うリクエストプロセッサから送出され自プロセッサの識
別情報及び自プロセッサをスレーブプロセッサとするマ
スタプロセッサの識別情報の指示に応答して前記リクエ
ストプロセッサの識別情報に対応するビットを未使用状
態にリセットし、前記マスタプロセッサの識別情報に対
応するビットを使用状態にセットするディレクトリ制御
手段とを有し、前記レジスタのエントリ群を介して前記
リクエストプロセッサと前記マスタプロセッサとの間で
データの授受を行うようにしたことを特徴とする情報処
理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34811691A JPH05158889A (ja) | 1991-12-04 | 1991-12-04 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34811691A JPH05158889A (ja) | 1991-12-04 | 1991-12-04 | 情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05158889A true JPH05158889A (ja) | 1993-06-25 |
Family
ID=18394855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34811691A Pending JPH05158889A (ja) | 1991-12-04 | 1991-12-04 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05158889A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8063907B2 (en) | 2003-06-23 | 2011-11-22 | Intel Corporation | Apparatus and method for selectable hardware accelerators in a data driven architecture |
-
1991
- 1991-12-04 JP JP34811691A patent/JPH05158889A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8063907B2 (en) | 2003-06-23 | 2011-11-22 | Intel Corporation | Apparatus and method for selectable hardware accelerators in a data driven architecture |
US8754893B2 (en) | 2003-06-23 | 2014-06-17 | Intel Corporation | Apparatus and method for selectable hardware accelerators |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5867704A (en) | Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system | |
US6233630B1 (en) | Resource management system having a control structure to indicate the availability of integer from an integer pool upon responsive to a request | |
US6782468B1 (en) | Shared memory type vector processing system, including a bus for transferring a vector processing instruction, and control method thereof | |
US5889983A (en) | Compare and exchange operation in a processing system | |
US4459664A (en) | Multiprocessor computer system with dynamic allocation of multiprocessing tasks and processor for use in such multiprocessor computer system | |
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 | |
US7155551B2 (en) | Hardware semaphore intended for a multi-processor system | |
US6792497B1 (en) | System and method for hardware assisted spinlock | |
EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
JPH01131949A (ja) | 処理依頼機能を持つ並列計算機 | |
JP2539352B2 (ja) | 階層型多重計算機システム | |
US4418385A (en) | Method and device for arbitration of access conflicts between an asynchronous trap and a program in a critical section | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
JP3431941B2 (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
EP0363882B1 (en) | Multiprocessor system using communication register having processor-associated storage locations | |
EP0291907B1 (en) | Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units | |
JPH05158889A (ja) | 情報処理システム | |
US5261108A (en) | Multiprocessor communications register providing complete access in a full access mode, and mapped access in a partial access mode | |
JP7054688B2 (ja) | 同期制御システムおよび同期制御方法 | |
JPH0810450B2 (ja) | 情報処理システム | |
JPH0810449B2 (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) | 情報処理システム | |
JP2001188745A (ja) | 制御装置及び制御方法 |