[go: up one dir, main page]

JPH01169564A - Inter-processor synchronizing system - Google Patents

Inter-processor synchronizing system

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
Application number
JP32521387A
Other languages
Japanese (ja)
Inventor
Hajime Matsumoto
松本 元
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 JP32521387A priority Critical patent/JPH01169564A/en
Publication of JPH01169564A publication Critical patent/JPH01169564A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To provide a synchronizing mechanism between rapid processors by providing a counter and an address latch to a data bus, and at the time of accessing a specific address space area, stepping up the contents of a memory. CONSTITUTION:A processor (a) accesses an address k+a and a processor accesses an address k+b. A bus controller BCU 1 receives a bus request to the address k+a of the processor 2a, decodes the upper bit of an address bus 51, asserts the CS of a memory 3 and asserts the DTACK of the processor 2a, so that the contents (a) of the address (a) are read in the processor 2a. The BCU 1 holds an address latch 50 for another one clock, enables a driver 42, asserts the CS of the memory 3, and writes an R/W signal, so that '1' is added to the contents of the address (a). Access to the address k+b of the processor 2b is similarly processed and '1' is added to the contents of the address (b).

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.

〔従来の技術〕[Conventional technology]

従来、この種のマルチプロセッサシステムでは、テスト
アンドセット命令を用いてプロセッサ間の同期を取って
いた。
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.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかしながら、上述した従来のプロセッサ間同期方式は
、テストアンドセット命令、テスト成功判定命令及びテ
ストアンドセット対象番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.

〔問題点を解決するための手段〕[Means for solving problems]

本発明によれば、複数のプロセッサからのバス要求を調
停し、アドレスをデコードして、応答者を選択制御する
バスコントローラを有するマルチプロセッサシステムに
おいて、データバスのデータを入力し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.

〔実施例〕〔Example〕

次に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.

〔発明の効果〕〔Effect of the invention〕

以上説明したように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.

【図面の簡単な説明】[Brief explanation of the drawing]

第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)

【特許請求の範囲】[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.
JP32521387A 1987-12-24 1987-12-24 Inter-processor synchronizing system Pending JPH01169564A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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