JPH01169564A - プロセッサ間同期方式 - Google Patents
プロセッサ間同期方式Info
- Publication number
- JPH01169564A JPH01169564A JP32521387A JP32521387A JPH01169564A JP H01169564 A JPH01169564 A JP H01169564A JP 32521387 A JP32521387 A JP 32521387A JP 32521387 A JP32521387 A JP 32521387A JP H01169564 A JPH01169564 A JP H01169564A
- Authority
- JP
- Japan
- Prior art keywords
- address
- processor
- bus
- memory
- contents
- 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
- 238000000034 method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
- UNPLRYRWJLTVAE-UHFFFAOYSA-N Cloperastine hydrochloride Chemical compound Cl.C1=CC(Cl)=CC=C1C(C=1C=CC=CC=1)OCCN1CCCCC1 UNPLRYRWJLTVAE-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマルチプロセッサ方式に関し、特にプロセッサ
間の同期方式に関する。
間の同期方式に関する。
従来、この種のマルチプロセッサシステムでは、テスト
アンドセット命令を用いてプロセッサ間の同期を取って
いた。
アンドセット命令を用いてプロセッサ間の同期を取って
いた。
ここで、テストアンドセット命令とは、メモリの内容の
ゼロチエツクとオ・−ル1書き込みとを同時に実行する
命令であり、第4図(a)、(b)に示すように、2つ
のプロセッサが同一アドレスtに対して、テストアンド
セット命令を発行し。
ゼロチエツクとオ・−ル1書き込みとを同時に実行する
命令であり、第4図(a)、(b)に示すように、2つ
のプロセッサが同一アドレスtに対して、テストアンド
セット命令を発行し。
先にメモリにアクセスしたプロセッサは、ゼロを読み出
してテストが成功し、遅れてメモリにアクセスしたプロ
セッサは、先行したプロセッサによシ既にオール1が書
き込まれているためテストが成功せず、先行したプロセ
ッサがt番地の内容をゼロにするまでテストアンドセッ
ト命令を繰り返すことにより、プロセッサ間ノ同期を図
ろうというものである。第4図(a)、(b)の例では
、2つのプロセッサは、a番地で示されるメモIJ K
データを格納し、a番地の内容を更新している。この様
な処理は、マルチプロセッサ環境では不可欠の待行列を
作る場合に必要とされる。
してテストが成功し、遅れてメモリにアクセスしたプロ
セッサは、先行したプロセッサによシ既にオール1が書
き込まれているためテストが成功せず、先行したプロセ
ッサがt番地の内容をゼロにするまでテストアンドセッ
ト命令を繰り返すことにより、プロセッサ間ノ同期を図
ろうというものである。第4図(a)、(b)の例では
、2つのプロセッサは、a番地で示されるメモIJ K
データを格納し、a番地の内容を更新している。この様
な処理は、マルチプロセッサ環境では不可欠の待行列を
作る場合に必要とされる。
尚、テストアンドセット命令を用いないと。
MPU0がa番地を読み出し、更新後の値を書き込む間
に、 MPUIが、a番地を読み出し、pOとplの値
が一致してしまい、 MPU0が書き込んだ値が、 M
PUIにより、上書きされ、失われてしまうことが起こ
りうる。
に、 MPUIが、a番地を読み出し、pOとplの値
が一致してしまい、 MPU0が書き込んだ値が、 M
PUIにより、上書きされ、失われてしまうことが起こ
りうる。
しかしながら、上述した従来のプロセッサ間同期方式は
、テストアンドセット命令、テスト成功判定命令及びテ
ストアンドセット対象番Mのクリア命令を必要とすると
共に、2つのプロセッサが、はぼ同時にテストアンドセ
ット命令を実行すると、どちらかのプロセッサが、相手
のプロセッサの実行終了を待ち合わせなければならない
という、性能上の欠点がある。
、テストアンドセット命令、テスト成功判定命令及びテ
ストアンドセット対象番Mのクリア命令を必要とすると
共に、2つのプロセッサが、はぼ同時にテストアンドセ
ット命令を実行すると、どちらかのプロセッサが、相手
のプロセッサの実行終了を待ち合わせなければならない
という、性能上の欠点がある。
そこで本発明の技術的課題は、上記欠点に鑑み、2つの
プロセッサが、同時にテストアンドセット命令を実行し
ても、一方のプロセッサの実行終了を待ち合せることな
く処理することができるプロセッサ間同期方式を提供す
ることである。
プロセッサが、同時にテストアンドセット命令を実行し
ても、一方のプロセッサの実行終了を待ち合せることな
く処理することができるプロセッサ間同期方式を提供す
ることである。
本発明によれば、複数のプロセッサからのバス要求を調
停し、アドレスをデコードして、応答者を選択制御する
バスコントローラを有するマルチプロセッサシステムに
おいて、データバスのデータを入力し9歩進した値を当
該データバスに出力するカウンタと、メモリに供給する
アドレスを保持するアドレスラッチとを設け。
停し、アドレスをデコードして、応答者を選択制御する
バスコントローラを有するマルチプロセッサシステムに
おいて、データバスのデータを入力し9歩進した値を当
該データバスに出力するカウンタと、メモリに供給する
アドレスを保持するアドレスラッチとを設け。
前記バスコントローラが、予め割り当てられたアドレス
空間の゛領域のワードのアクセスに対し。
空間の゛領域のワードのアクセスに対し。
対応するメモリ領域のワードをアクセスするようにし、
前記アドレスラッチをもう1サイクルの間保持し、読み
出しを行った番地のワードに。
前記アドレスラッチをもう1サイクルの間保持し、読み
出しを行った番地のワードに。
前記カウンタの出力を書き戻すように制御することを特
徴とするプロセッサ間同期方式が得られる。
徴とするプロセッサ間同期方式が得られる。
即ち9本発明のプロセッサ間同期方式は、バスの要求者
と応答者を決定し、必要な制御信号をコントロールバス
に送出するバスコントローラと、データを入力し、カウ
ンタレジスタにより歩進した値をドライバを通してデー
タバスに出力するカウンタと、メモリに供給するアドレ
スを保持するアドレスラッチとを有している。
と応答者を決定し、必要な制御信号をコントロールバス
に送出するバスコントローラと、データを入力し、カウ
ンタレジスタにより歩進した値をドライバを通してデー
タバスに出力するカウンタと、メモリに供給するアドレ
スを保持するアドレスラッチとを有している。
次に9本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。バスコ
ントローラ1はコントロールバス53とアドレスバス5
1とにより、バスの要求者と応答者とを決定し、必要な
制御信号をコントロールバス53に送出する。プロセッ
サ2a及びプロセッサ2bは、メモリ3を共用し、独立
にタスクを実行するマルチプロセラサシステムラ構成シ
テいる。メモリ3は、プロセッサが共有するデータを格
納している。カウンタ4は、1ワードのデータを入力し
、カウンタレジスタ41により±1しだ値をドライバ4
2を通して出力する。
ントローラ1はコントロールバス53とアドレスバス5
1とにより、バスの要求者と応答者とを決定し、必要な
制御信号をコントロールバス53に送出する。プロセッ
サ2a及びプロセッサ2bは、メモリ3を共用し、独立
にタスクを実行するマルチプロセラサシステムラ構成シ
テいる。メモリ3は、プロセッサが共有するデータを格
納している。カウンタ4は、1ワードのデータを入力し
、カウンタレジスタ41により±1しだ値をドライバ4
2を通して出力する。
アドレスラッチ50は、メモリ3に供給するアドレスを
保持する。アドレスバス51.データバス52及びコン
トロールバス531d フロセッサ2a、 2bとメモ
リ3とを接続するバスであり、それぞれ。
保持する。アドレスバス51.データバス52及びコン
トロールバス531d フロセッサ2a、 2bとメモ
リ3とを接続するバスであり、それぞれ。
アドレス、データ及び制御信号を伝達する。プロセッサ
2a、 2bのアドレス出力Aは、アドレスバス51に
接続され、データ入出力りは、データバス52に接続さ
れる。プロセッサ2a、2bがバスを要求するときは、
アドレスストローブASをアサートし、コントロールバ
ス53を経由してバスコントローラ1に通知する。バス
動作が完了−1,!:バスコントローラ1は、コントロ
ールバス53を経由してバス要求を受は付けたプロセッ
サのデータ応答入力DTACKをアサートする。
2a、 2bのアドレス出力Aは、アドレスバス51に
接続され、データ入出力りは、データバス52に接続さ
れる。プロセッサ2a、2bがバスを要求するときは、
アドレスストローブASをアサートし、コントロールバ
ス53を経由してバスコントローラ1に通知する。バス
動作が完了−1,!:バスコントローラ1は、コントロ
ールバス53を経由してバス要求を受は付けたプロセッ
サのデータ応答入力DTACKをアサートする。
バスコントローラ1はアドレスバス51上のアドレスの
上位ピットをデコードし、応答者とじて周辺装置(図示
せず)、メモリを選択し、コントロールバス53を経由
して選択されたデバイスのデバイス選択信号C8をアサ
ートする。メモリ3のアドレス入力Aはアドレスラッチ
関に接続され、データ入出力りはデータバス52に接続
される。リードライト指定R/Wはコントロールバス5
3を介してバスを使用しているプロセッサのリードライ
ト指定R/Wに接続される。データバス52はカウンタ
4に含まれるカウンタレジスタ41に接続され、+1さ
れた値がドライバ42を介して再びデータバス52に接
続される。カウンタレジスタ41.ドライバ42は、コ
ントロールバス53ヲ介してバスコントローラ1の制御
を受ける。
上位ピットをデコードし、応答者とじて周辺装置(図示
せず)、メモリを選択し、コントロールバス53を経由
して選択されたデバイスのデバイス選択信号C8をアサ
ートする。メモリ3のアドレス入力Aはアドレスラッチ
関に接続され、データ入出力りはデータバス52に接続
される。リードライト指定R/Wはコントロールバス5
3を介してバスを使用しているプロセッサのリードライ
ト指定R/Wに接続される。データバス52はカウンタ
4に含まれるカウンタレジスタ41に接続され、+1さ
れた値がドライバ42を介して再びデータバス52に接
続される。カウンタレジスタ41.ドライバ42は、コ
ントロールバス53ヲ介してバスコントローラ1の制御
を受ける。
次に、第2図に従って、動作例を説明する。
プロセッサ2aはに+a番地、プロセッサ2bはに+b
番地にアクセスする。ここに、にはカウンタ4に割り当
てられたアドレス空間の領域の先頭番地を示す。バスコ
ントローラ1は、プロセッサ2aのに’+a番地に対す
るバス要求を受は付け、アドレスバス51の上位ビット
をデコードし。
番地にアクセスする。ここに、にはカウンタ4に割り当
てられたアドレス空間の領域の先頭番地を示す。バスコ
ントローラ1は、プロセッサ2aのに’+a番地に対す
るバス要求を受は付け、アドレスバス51の上位ビット
をデコードし。
カウンタ領域であることを検出し、メモリ3のC8をア
サートする。続いてプロセッサ2aのDTACKをアサ
ートし、a番地の内容(a)がプロセッサ2aに読み込
まれる。バスコントローラ1は、アドレスラッチ50を
もう1クロツクの間保持し、ドライバ42をイネーブル
し、メモリ3のC8をアサートし、R/W信号をライト
にすることにより+ a番地の内容を+1する。プロセ
ッサ2bのに+b番地に対するアクセスも同様に処理さ
れ、b番地の内容(b)がプロセッサ2bに読み込まれ
たのち、b番地の内容が+1される。
サートする。続いてプロセッサ2aのDTACKをアサ
ートし、a番地の内容(a)がプロセッサ2aに読み込
まれる。バスコントローラ1は、アドレスラッチ50を
もう1クロツクの間保持し、ドライバ42をイネーブル
し、メモリ3のC8をアサートし、R/W信号をライト
にすることにより+ a番地の内容を+1する。プロセ
ッサ2bのに+b番地に対するアクセスも同様に処理さ
れ、b番地の内容(b)がプロセッサ2bに読み込まれ
たのち、b番地の内容が+1される。
第3図(a) 、 (b)に示すように、プロセッサ2
aと。
aと。
プロセッサ2bが、同一番地に+aにアクセスした場合
、第2図のbをaに読み替えることにより、pl=po
+1であること、即ち、2つのプロセッサに、必ず、異
なる値を与えることが出来ることが分かる。
、第2図のbをaに読み替えることにより、pl=po
+1であること、即ち、2つのプロセッサに、必ず、異
なる値を与えることが出来ることが分かる。
以上説明したように9本発明は、データバスにカウンタ
を接続し、特定のアドレス空間領域に対するアクセスを
行うときに、メモリの内容を歩進することにより、高速
のプロセッサ間の同期機構を提供できる効果がある。
を接続し、特定のアドレス空間領域に対するアクセスを
行うときに、メモリの内容を歩進することにより、高速
のプロセッサ間の同期機構を提供できる効果がある。
第1図は本発明のプロセッサ間同期方式のブロック図、
第2図は動作例を示すタイムチャート、第3図(a)、
(b)は同期プログラムの例を示すフローチャート、第
4図(a)、(b)は従来技術の例を示すフローチャー
トである。 1・・・バスコントローラ、 2a、2b・・・プロ
セッサ。 3・・・メモリ、4・・・カウンタ。 41・・・カウンタレジスタ、42・・・ドライバ。 関・・・アドレスラッチ、51・・・アドレスバス。 52・・・データバス、53・・・コントロールバス。 第3図 (α) MPUOMPU1 (b) 第4図 (b)
第2図は動作例を示すタイムチャート、第3図(a)、
(b)は同期プログラムの例を示すフローチャート、第
4図(a)、(b)は従来技術の例を示すフローチャー
トである。 1・・・バスコントローラ、 2a、2b・・・プロ
セッサ。 3・・・メモリ、4・・・カウンタ。 41・・・カウンタレジスタ、42・・・ドライバ。 関・・・アドレスラッチ、51・・・アドレスバス。 52・・・データバス、53・・・コントロールバス。 第3図 (α) MPUOMPU1 (b) 第4図 (b)
Claims (1)
- 1、複数のプロセッサからのバス要求を調停し、アドレ
スをデコードして、応答者を選択制御するバスコントロ
ーラを有するマルチプロセッサシステムにおいて、デー
タバスのデータを入力し、歩進した値を当該データバス
に出力するカウンタと、メモリに供給するアドレスを保
持するアドレスラッチとを設け、前記バスコントローラ
が、予め割り当てられたアドレス空間の領域のワードの
アクセスに対し、対応するメモリ領域のワードをアクセ
スするようにし、前記アドレスラッチをもう1サイクル
の間保持し、読み出しを行った番地のワードに、前記カ
ウンタの出力を書き戻すように制御することを特徴とす
るプロセッサ間同期方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32521387A JPH01169564A (ja) | 1987-12-24 | 1987-12-24 | プロセッサ間同期方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32521387A JPH01169564A (ja) | 1987-12-24 | 1987-12-24 | プロセッサ間同期方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01169564A true JPH01169564A (ja) | 1989-07-04 |
Family
ID=18174289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32521387A Pending JPH01169564A (ja) | 1987-12-24 | 1987-12-24 | プロセッサ間同期方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01169564A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6152628A (en) * | 1998-03-20 | 2000-11-28 | Fujitsu Limited | Sheet supply apparatus with feed protrusions for skew correction |
JP2008094555A (ja) * | 2006-10-12 | 2008-04-24 | Canon Inc | シート収納装置及び記録装置 |
-
1987
- 1987-12-24 JP JP32521387A patent/JPH01169564A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6152628A (en) * | 1998-03-20 | 2000-11-28 | Fujitsu Limited | Sheet supply apparatus with feed protrusions for skew correction |
JP2008094555A (ja) * | 2006-10-12 | 2008-04-24 | Canon Inc | シート収納装置及び記録装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838993A (en) | System for DMA controller sharing control signals in conventional mode and having separate control signals for each number of channels in distributed mode | |
US5327570A (en) | Multiprocessor system having local write cache within each data processor node | |
US5276886A (en) | Hardware semaphores in a multi-processor environment | |
US5263169A (en) | Bus arbitration and resource management for concurrent vector signal processor architecture | |
US5737604A (en) | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems | |
US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
CN107391400B (zh) | 一种支持复杂访存指令的内存扩展方法和*** | |
US7581054B2 (en) | Data processing system | |
US5870602A (en) | Multi-processor system with system wide reset and partial system reset capabilities | |
JP5241384B2 (ja) | 分散共有メモリ型マルチプロセッサ及びデータ処理方法 | |
US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
US4547848A (en) | Access control processing system in computer system | |
JPH01169564A (ja) | プロセッサ間同期方式 | |
JPH0353657B2 (ja) | ||
JPS6136845A (ja) | シングルチツプマイクロコンピユ−タ | |
JPH01169563A (ja) | プロセッサ間同期方式 | |
JP2647092B2 (ja) | マルチプロセツサシステム | |
JP2823663B2 (ja) | マルチプロセッサシステム | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JPS6345669A (ja) | マルチプロセツサシステム | |
JPH06314231A (ja) | 共用メモリアクセス制御方法 | |
JPH0612363A (ja) | メモリ制御装置およびマルチプロセッサシステム | |
JPH1040213A (ja) | 情報処理装置のdmaデータ転送方法 | |
JPS63155254A (ja) | 情報処理装置 | |
JPH03232051A (ja) | セマフォアクセス制御方法 |