JPH01169564A - Inter-processor synchronizing system - Google Patents
Inter-processor synchronizing systemInfo
- 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
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマルチプロセッサ方式に関し、特にプロセッサ
間の同期方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiprocessor system, and particularly to a synchronization system between processors.
従来、この種のマルチプロセッサシステムでは、テスト
アンドセット命令を用いてプロセッサ間の同期を取って
いた。Conventionally, in this type of multiprocessor system, synchronization between processors has been achieved using test and set instructions.
ここで、テストアンドセット命令とは、メモリの内容の
ゼロチエツクとオ・−ル1書き込みとを同時に実行する
命令であり、第4図(a)、(b)に示すように、2つ
のプロセッサが同一アドレスtに対して、テストアンド
セット命令を発行し。Here, the test and set instruction is an instruction that simultaneously executes a zero check and all-one write of the contents of the memory, and as shown in FIGS. 4(a) and (b), two processors Issue a test and set command to the same address t.
先にメモリにアクセスしたプロセッサは、ゼロを読み出
してテストが成功し、遅れてメモリにアクセスしたプロ
セッサは、先行したプロセッサによシ既にオール1が書
き込まれているためテストが成功せず、先行したプロセ
ッサがt番地の内容をゼロにするまでテストアンドセッ
ト命令を繰り返すことにより、プロセッサ間ノ同期を図
ろうというものである。第4図(a)、(b)の例では
、2つのプロセッサは、a番地で示されるメモIJ K
データを格納し、a番地の内容を更新している。この様
な処理は、マルチプロセッサ環境では不可欠の待行列を
作る場合に必要とされる。The processor that accessed the memory first reads zeros and the test succeeds, while the processor that accesses the memory later has all 1s already written by the previous processor, so the test does not pass and the test succeeds. The idea is to synchronize the processors by repeating the test and set command until the processor sets the contents of address t to zero. In the example of FIGS. 4(a) and 4(b), the two processors have a memory IJK indicated by address a.
Data is stored and the contents of address a are updated. Such processing is required to create a queue, which is essential in a multiprocessor environment.
尚、テストアンドセット命令を用いないと。In addition, unless you use the test and set instruction.
MPU0がa番地を読み出し、更新後の値を書き込む間
に、 MPUIが、a番地を読み出し、pOとplの値
が一致してしまい、 MPU0が書き込んだ値が、 M
PUIにより、上書きされ、失われてしまうことが起こ
りうる。While MPU0 reads address a and writes the updated value, MPUI reads address a and the values of pO and pl match, and the value written by MPU0 becomes M.
PUI may cause it to be overwritten and lost.
しかしながら、上述した従来のプロセッサ間同期方式は
、テストアンドセット命令、テスト成功判定命令及びテ
ストアンドセット対象番Mのクリア命令を必要とすると
共に、2つのプロセッサが、はぼ同時にテストアンドセ
ット命令を実行すると、どちらかのプロセッサが、相手
のプロセッサの実行終了を待ち合わせなければならない
という、性能上の欠点がある。However, the conventional inter-processor synchronization method described above requires a test and set instruction, a test success determination instruction, and a clear instruction for the test and set target number M, and two processors execute the test and set instruction almost simultaneously. When executed, either processor has to wait for the other processor to finish execution, which is a drawback in terms of performance.
そこで本発明の技術的課題は、上記欠点に鑑み、2つの
プロセッサが、同時にテストアンドセット命令を実行し
ても、一方のプロセッサの実行終了を待ち合せることな
く処理することができるプロセッサ間同期方式を提供す
ることである。In view of the above drawbacks, the technical problem of the present invention is to provide an inter-processor synchronization method that allows two processors to execute a test and set instruction at the same time without waiting for one processor to finish its execution. The goal is to provide the following.
本発明によれば、複数のプロセッサからのバス要求を調
停し、アドレスをデコードして、応答者を選択制御する
バスコントローラを有するマルチプロセッサシステムに
おいて、データバスのデータを入力し9歩進した値を当
該データバスに出力するカウンタと、メモリに供給する
アドレスを保持するアドレスラッチとを設け。According to the present invention, in a multiprocessor system having a bus controller that arbitrates bus requests from a plurality of processors, decodes addresses, and controls selection of responders, a value obtained by inputting data bus data and incrementing it by nine steps is provided. A counter that outputs the address to the data bus and an address latch that holds the address to be supplied to the memory are provided.
前記バスコントローラが、予め割り当てられたアドレス
空間の゛領域のワードのアクセスに対し。The bus controller accesses a word in a pre-allocated address space area.
対応するメモリ領域のワードをアクセスするようにし、
前記アドレスラッチをもう1サイクルの間保持し、読み
出しを行った番地のワードに。access the word in the corresponding memory area,
Hold the address latch for one more cycle and read the word at the address.
前記カウンタの出力を書き戻すように制御することを特
徴とするプロセッサ間同期方式が得られる。An inter-processor synchronization method is obtained, which is characterized in that the output of the counter is controlled to be written back.
即ち9本発明のプロセッサ間同期方式は、バスの要求者
と応答者を決定し、必要な制御信号をコントロールバス
に送出するバスコントローラと、データを入力し、カウ
ンタレジスタにより歩進した値をドライバを通してデー
タバスに出力するカウンタと、メモリに供給するアドレ
スを保持するアドレスラッチとを有している。In other words, the inter-processor synchronization method of the present invention includes a bus controller that determines bus requesters and responders and sends necessary control signals to the control bus, and a driver that inputs data and increments the value incremented by a counter register. It has a counter that outputs to the data bus through the memory, and an address latch that holds the address supplied to the memory.
次に9本発明について図面を参照して説明する。 Next, nine aspects of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例のブロック図である。バスコ
ントローラ1はコントロールバス53とアドレスバス5
1とにより、バスの要求者と応答者とを決定し、必要な
制御信号をコントロールバス53に送出する。プロセッ
サ2a及びプロセッサ2bは、メモリ3を共用し、独立
にタスクを実行するマルチプロセラサシステムラ構成シ
テいる。メモリ3は、プロセッサが共有するデータを格
納している。カウンタ4は、1ワードのデータを入力し
、カウンタレジスタ41により±1しだ値をドライバ4
2を通して出力する。FIG. 1 is a block diagram of one embodiment of the present invention. The bus controller 1 has a control bus 53 and an address bus 5.
1, the bus requester and responder are determined, and necessary control signals are sent to the control bus 53. The processor 2a and the processor 2b share a memory 3 and have a multi-processor system configuration in which they independently execute tasks. Memory 3 stores data shared by the processors. The counter 4 inputs one word of data, and the counter register 41 outputs a value of ±1 to the driver 4.
Output through 2.
アドレスラッチ50は、メモリ3に供給するアドレスを
保持する。アドレスバス51.データバス52及びコン
トロールバス531d フロセッサ2a、 2bとメモ
リ3とを接続するバスであり、それぞれ。Address latch 50 holds an address supplied to memory 3. Address bus 51. Data bus 52 and control bus 531d These are buses that connect the processors 2a and 2b and the memory 3, respectively.
アドレス、データ及び制御信号を伝達する。プロセッサ
2a、 2bのアドレス出力Aは、アドレスバス51に
接続され、データ入出力りは、データバス52に接続さ
れる。プロセッサ2a、2bがバスを要求するときは、
アドレスストローブASをアサートし、コントロールバ
ス53を経由してバスコントローラ1に通知する。バス
動作が完了−1,!:バスコントローラ1は、コントロ
ールバス53を経由してバス要求を受は付けたプロセッ
サのデータ応答入力DTACKをアサートする。Conveys address, data and control signals. Address outputs A of the processors 2a and 2b are connected to an address bus 51, and data input/outputs are connected to a data bus 52. When processors 2a and 2b request the bus,
The address strobe AS is asserted and the bus controller 1 is notified via the control bus 53. Bus operation completed -1,! : The bus controller 1 asserts the data response input DTACK of the processor that has accepted the bus request via the control bus 53.
バスコントローラ1はアドレスバス51上のアドレスの
上位ピットをデコードし、応答者とじて周辺装置(図示
せず)、メモリを選択し、コントロールバス53を経由
して選択されたデバイスのデバイス選択信号C8をアサ
ートする。メモリ3のアドレス入力Aはアドレスラッチ
関に接続され、データ入出力りはデータバス52に接続
される。リードライト指定R/Wはコントロールバス5
3を介してバスを使用しているプロセッサのリードライ
ト指定R/Wに接続される。データバス52はカウンタ
4に含まれるカウンタレジスタ41に接続され、+1さ
れた値がドライバ42を介して再びデータバス52に接
続される。カウンタレジスタ41.ドライバ42は、コ
ントロールバス53ヲ介してバスコントローラ1の制御
を受ける。The bus controller 1 decodes the upper pit of the address on the address bus 51, selects a peripheral device (not shown) and memory as a responder, and sends a device selection signal C8 of the selected device via the control bus 53. Assert. The address input A of the memory 3 is connected to an address latch, and the data input/output is connected to a data bus 52. Read/write designated R/W is control bus 5
3 to the read/write designation R/W of the processor using the bus. The data bus 52 is connected to the counter register 41 included in the counter 4, and the value incremented by 1 is connected to the data bus 52 again via the driver 42. Counter register 41. The driver 42 is controlled by the bus controller 1 via the control bus 53.
次に、第2図に従って、動作例を説明する。Next, an example of operation will be explained according to FIG.
プロセッサ2aはに+a番地、プロセッサ2bはに+b
番地にアクセスする。ここに、にはカウンタ4に割り当
てられたアドレス空間の領域の先頭番地を示す。バスコ
ントローラ1は、プロセッサ2aのに’+a番地に対す
るバス要求を受は付け、アドレスバス51の上位ビット
をデコードし。Processor 2a is at address +a, processor 2b is at address +b
Access the street address. Here, indicates the starting address of the area of the address space allocated to the counter 4. The bus controller 1 accepts a bus request for address '+a' from the processor 2a, and decodes the upper bits of the address bus 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される。It detects that it is a counter area and asserts C8 of memory 3. Subsequently, DTACK of the processor 2a is asserted, and the contents (a) of address a are read into the processor 2a. The bus controller 1 holds the address latch 50 for one more clock, enables the driver 42, asserts C8 of the memory 3, and increments the contents of address +a by 1 by writing the R/W signal. Access to address +b of processor 2b is processed in the same way, and after the content (b) of address b is read into processor 2b, the content of address b is incremented by +1.
第3図(a) 、 (b)に示すように、プロセッサ2
aと。As shown in FIGS. 3(a) and 3(b), the processor 2
With a.
プロセッサ2bが、同一番地に+aにアクセスした場合
、第2図のbをaに読み替えることにより、pl=po
+1であること、即ち、2つのプロセッサに、必ず、異
なる値を与えることが出来ることが分かる。When processor 2b accesses +a at the same location, by replacing b in FIG. 2 with a, pl=po
It can be seen that the value is +1, that is, it is possible to definitely give different values to the two processors.
以上説明したように9本発明は、データバスにカウンタ
を接続し、特定のアドレス空間領域に対するアクセスを
行うときに、メモリの内容を歩進することにより、高速
のプロセッサ間の同期機構を提供できる効果がある。As explained above, the present invention can provide a high-speed synchronization mechanism between processors by connecting a counter to a data bus and incrementing the contents of memory when accessing a specific address space area. effective.
第1図は本発明のプロセッサ間同期方式のブロック図、
第2図は動作例を示すタイムチャート、第3図(a)、
(b)は同期プログラムの例を示すフローチャート、第
4図(a)、(b)は従来技術の例を示すフローチャー
トである。
1・・・バスコントローラ、 2a、2b・・・プロ
セッサ。
3・・・メモリ、4・・・カウンタ。
41・・・カウンタレジスタ、42・・・ドライバ。
関・・・アドレスラッチ、51・・・アドレスバス。
52・・・データバス、53・・・コントロールバス。
第3図
(α)
MPUOMPU1
(b)
第4図
(b)FIG. 1 is a block diagram of the inter-processor synchronization method of the present invention,
Figure 2 is a time chart showing an example of operation, Figure 3 (a),
4(b) is a flowchart showing an example of a synchronization program, and FIGS. 4(a) and 4(b) are flowcharts showing an example of the prior art. 1... Bus controller, 2a, 2b... Processor. 3...Memory, 4...Counter. 41...Counter register, 42...Driver. Seki: Address latch, 51: Address bus. 52...Data bus, 53...Control bus. Figure 3 (α) MPUOMPU1 (b) Figure 4 (b)
Claims (1)
スをデコードして、応答者を選択制御するバスコントロ
ーラを有するマルチプロセッサシステムにおいて、デー
タバスのデータを入力し、歩進した値を当該データバス
に出力するカウンタと、メモリに供給するアドレスを保
持するアドレスラッチとを設け、前記バスコントローラ
が、予め割り当てられたアドレス空間の領域のワードの
アクセスに対し、対応するメモリ領域のワードをアクセ
スするようにし、前記アドレスラッチをもう1サイクル
の間保持し、読み出しを行った番地のワードに、前記カ
ウンタの出力を書き戻すように制御することを特徴とす
るプロセッサ間同期方式。1. In a multiprocessor system that has a bus controller that arbitrates bus requests from multiple processors, decodes addresses, and selects and controls responders, data on a data bus is input and the incremented value is transferred to the data bus. and an address latch that holds an address to be supplied to the memory, so that the bus controller accesses a word in a corresponding memory area in response to an access to a word in a pre-allocated address space area. The inter-processor synchronization method is characterized in that the address latch is held for one more cycle, and the output of the counter is controlled to be written back to the word at the read address.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32521387A JPH01169564A (en) | 1987-12-24 | 1987-12-24 | Inter-processor synchronizing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32521387A JPH01169564A (en) | 1987-12-24 | 1987-12-24 | Inter-processor synchronizing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01169564A true JPH01169564A (en) | 1989-07-04 |
Family
ID=18174289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32521387A Pending JPH01169564A (en) | 1987-12-24 | 1987-12-24 | Inter-processor synchronizing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01169564A (en) |
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 (en) * | 2006-10-12 | 2008-04-24 | Canon Inc | Sheet storage device and recording device |
-
1987
- 1987-12-24 JP JP32521387A patent/JPH01169564A/en 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 (en) * | 2006-10-12 | 2008-04-24 | Canon Inc | Sheet storage device and recording device |
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 | |
| US5920714A (en) | System and method for distributed multiprocessor communications | |
| US5737604A (en) | Method and apparatus for independently resetting processors and cache controllers in multiple processor systems | |
| US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
| US7581054B2 (en) | Data processing system | |
| US5870602A (en) | Multi-processor system with system wide reset and partial system reset capabilities | |
| JP5241384B2 (en) | Distributed shared memory multiprocessor and data processing method | |
| JPH0619760B2 (en) | Information processing equipment | |
| JPH0793274A (en) | Data transfer method and data transfer device | |
| 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 (en) | Inter-processor synchronizing system | |
| JPH0353657B2 (en) | ||
| JPH01169563A (en) | Inter-processor synchronizing system | |
| JP2823663B2 (en) | Multiprocessor system | |
| JPH1185673A (en) | Method and apparatus for controlling shared bus | |
| JPH08249289A (en) | Memory control device and control method thereof | |
| JPS6345669A (en) | multiprocessor system | |
| JPH06314231A (en) | Shared memory access control method | |
| JP2593935B2 (en) | Direct memory access device | |
| JPH0612363A (en) | Memory controller and multiprocessor system | |
| JPS63155254A (en) | Information processor |