【発明の詳細な説明】〔産業上の利用分野〕本発明はマルチプロセッサの同期方式に関する。[Detailed description of the invention][Industrial application field]The present invention relates to a multiprocessor synchronization method.
マルチプロセッサシステムでは、システムが立上げられ
た際もしくはリセットされた際に、全プロセッサが初期
化を終了し正常に立上がるのを待つ必要がある。これを
初期同期というが、この初期同期がとれるまでは、アプ
リケーションプログラムを各プロセッサに転送できるか
どうか、各プロセッサが所定の機能を実行できるかどう
か保証されない。従って、初期同期はマルチプロセッサ
システムで重要な概念である。In a multiprocessor system, when the system is started or reset, it is necessary to wait for all processors to complete initialization and start up normally. This is called initial synchronization, but until this initial synchronization is achieved, it is not guaranteed whether the application program can be transferred to each processor or whether each processor can execute a predetermined function. Therefore, initial synchronization is an important concept in multiprocessor systems.
マルチプロセッサシステムでは、初期同期時のプロセッ
サ間の従属関係は、第4図で示したように、1台のマス
タプロセッサ20と複数のスレーブプロセッサ21a〜
21cとから構成されたマスタスレーブ型のトポロジー
が一般的である。In a multiprocessor system, the dependency relationship between processors at the time of initial synchronization is one master processor 20 and multiple slave processors 21a to 21a, as shown in FIG.
A master-slave type topology consisting of 21c and 21c is common.
マスタスレーブ型の従属関係による初期同期では、1台
のマスタプロセッサがその他のすべてのプロセッサから
の起動通知を受は取り、すべてのプロセッサの立上がり
を検出する。この方式では、複数あるスレーブプロセッ
サのいずれかが起動通知を送出するよりも早くマスクは
初期化を終了し、起動通知が受信可能な状態にならなけ
ればならない。In initial synchronization based on master-slave type dependency, one master processor receives startup notifications from all other processors and detects startup of all processors. In this method, the mask must complete its initialization and become ready to receive a startup notification before any of the multiple slave processors sends a startup notification.
従来のマルチプロセッサシステムでは、各プロセッサが
ほぼ同一の構造を有していることから、各プロセッサの
初期化が終了するまでの時間はほぼ等しく、スレーブ側
で起動通知送信がマスクの起動通知受信可能時点より充
分後になるような遅れ時間を設定することが容易であり
、また、通信網の初期化はプロセッサの初期化に比べて
充分速いため、初期化プログラムに遅れ時間を挿入する
ことにより起動通知伝達の制約を実現している。In a conventional multiprocessor system, each processor has almost the same structure, so the time it takes for each processor to complete initialization is almost equal, and the slave side can send startup notifications and receive masked startup notifications. It is easy to set a delay time that is sufficiently later than the starting point, and since the initialization of the communication network is sufficiently faster than the initialization of the processor, by inserting a delay time into the initialization program, the startup notification can be Transmission constraints are realized.
上述した従来のマルチプロセッサシステムは、初期化に
際し、故障診断を行っている。この故障診断のために、
各プロセッサの初期化に要する時間は大きくばらつく可
能性がある。さらに、−船釣に、マスクとなるプロセッ
サには、システムの外部とのインタフェースとしてさま
ざまな機器が付加される可能性があるため、マスタプロ
セッサの立上がりは一般に遅い上、システム構築時に前
述のプロセッサの立上がりに要する時間を推定すること
が次第に困難になってきたという問題点がある。The conventional multiprocessor system described above performs failure diagnosis upon initialization. For this fault diagnosis,
The time required to initialize each processor may vary widely. Furthermore, in boat fishing, since various devices may be added to the processor that serves as a mask as an interface with the outside of the system, startup of the master processor is generally slow, and the aforementioned processors are not used during system construction. There is a problem in that it has become increasingly difficult to estimate the time required for startup.
また、ネットワーク階層を有するシステムやサブネット
ワークがゲートウェイプロセッサで接続されたシステム
では、末端のプロセッサはマスタプロセッサとの間に介
在するプロセッサの初期化を待たない限りマスタプロセ
ッサに起動通知が送信できず、ブートシーケンスも階層
化して複雑化するという問題点がある。In addition, in a system with a network hierarchy or a system in which sub-networks are connected by gateway processors, the end processor cannot send a startup notification to the master processor unless it waits for the processors intervening between it and the master processor to initialize. There is also a problem that the boot sequence becomes layered and complicated.
本発明の目的は、ソフトウェアタイマによる待合わせを
する必要がなく、又ネットワーク構造に関係なく、単一
マスク・複数スレーブ構成の簡明な初期同期機構が構築
でき、特定のプロセッサの初期化シーケンスが延びた場
合にも確実な初期同期が可能になるマルチプロセッサの
同期方式を提供することにある。The purpose of the present invention is to eliminate the need for waiting using a software timer, to construct a simple initial synchronization mechanism with a single mask/multiple slave configuration regardless of the network structure, and to prolong the initialization sequence of a specific processor. An object of the present invention is to provide a multiprocessor synchronization method that enables reliable initial synchronization even when
本発明のマルチプロセッサの同期方式は、n個(nはn
≧1を満たす整数)のスレーブプロセッサと前記スレー
ブプロセッサを管理するマスタプロセッサとを備え、す
べてのプロセッサがリセット後に初期同期によって立上
がるマルチプロセッサの同期方式において、リセット後
のシステムの初期同期を行うとき、前記マスタプロセッ
サがあらかじめ定められた初期状態になってから前記ス
レーブプロセッサにプロセッサ間の割込み信号を送出し
、前記割込み信号を受信した前記スレーブプロセッサが
あらかじめ定められた初期状態になったとき、前記マス
タプロセッサに前記応答信号を送出するように構成され
ている。There are n synchronization methods for the multiprocessor of the present invention (n is n
When performing initial synchronization of the system after reset in a multiprocessor synchronization method that includes slave processors (an integer that satisfies ≧1) and a master processor that manages the slave processors, and in which all processors start up by initial synchronization after reset. , after the master processor reaches a predetermined initial state, sends an inter-processor interrupt signal to the slave processor, and when the slave processor that receives the interrupt signal reaches the predetermined initial state, The processor is configured to send the response signal to a master processor.
本発明では、プロセッサが、リセット信号が立下がって
いる間とリセット後に割込みマスクが解除されるまでの
間、割込みがマスクされていることを利用する。従って
、すべてのプロセッサが同時にリセット状態にあること
が要求される。これは、第2図に示すようにマスクから
送出されるリセットパルスのパルス幅Tpをすべてのス
レーブプロセッサへのリセットパルスの遅延Tdより大
きく設定することで達成される。In the present invention, the processor utilizes the fact that interrupts are masked while the reset signal is falling and until the interrupt mask is released after reset. Therefore, all processors are required to be in reset at the same time. This is achieved by setting the pulse width Tp of the reset pulse sent from the mask to be greater than the delay Td of the reset pulse to all slave processors, as shown in FIG.
上記制約に従うことで、マスタプロセッサ、もしくは、
スレーブプロセッサで待合わせを必要とすることなく確
実な同期が可能となる。By following the above constraints, the master processor or
Reliable synchronization is possible without the need for waiting in slave processors.
ただし、通常のマルチプロセッサシステムでは、リセッ
トパルスの伝達遅延Tdは各プロセッサの立上げ時の初
期化時間に比べ無視できるほど小さく、割込みパルスが
リセットパルスを追い抜く可能性がないため、上記制約
を厳密に実現する必要がない。However, in a normal multiprocessor system, the transmission delay Td of the reset pulse is negligibly small compared to the initialization time at startup of each processor, and there is no possibility that the interrupt pulse will overtake the reset pulse, so the above constraints are strictly enforced. There is no need to realize this.
次に、本発明の実施例について図面を参照して説明する
。Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例の流れ図である。FIG. 1 is a flowchart of one embodiment of the present invention.
第1図において、マスタプロセッサは、第2図に示した
タイミングでスレーブプロセッサと同時にリセットされ
る(ステップ11)。そして、診断・初期化を終了した
後、同期対象のすべてのスレーブプロセッサにプロセッ
サ開割込み信号を送出しくステップ12)、同期対象の
スレーブプロセッサのすべてから起動通知信号(ack
)がくるのを待つ、マスタプロセッサに同期対象のすべ
てのスレーブプロセッサから起動通知信号がきた時点で
同期は完了し、正規の処理に入る0本実施例では、スレ
ーブプロセッサのコマンド受付はバッファにコマンドを
送出する(ステップ15)。In FIG. 1, the master processor is reset at the same time as the slave processor at the timing shown in FIG. 2 (step 11). After completing the diagnosis and initialization, a processor open interrupt signal is sent to all slave processors to be synchronized (step 12), and a startup notification signal (ack) is sent from all slave processors to be synchronized.
), synchronization is completed when the master processor receives a startup notification signal from all slave processors to be synchronized, and normal processing begins. (Step 15).
一方、スレーブプロセッサは、診断・初期化、特に本実
施例では、マスタプロセッサからのコマンド受信準備が
完了した後側込みレベルを下げ、マスクからのプロセッ
サ開割込みに応答する。マスクでの立上げ処理に時間が
かかっている場合、ここで待ちが生じる(ステップ13
)。On the other hand, the slave processor lowers the side input level after completion of diagnosis and initialization, especially in this embodiment, preparation for receiving commands from the master processor, and responds to the processor open interrupt from the mask. If the start-up process with the mask takes time, a wait will occur here (step 13).
).
スレーブプロセッサは、マスタプロセッサがらのプロセ
ッサ開割込み信号に応答して割込みルーチンに入り、マ
スタプロセッサに起動通知信号を返送する(ステップ1
4)、この後、スレーブプロセッサは正規の処理に入る
0本実施例では、マスタプロセッサからのコマンドに応
じた処理を行う。The slave processor enters the interrupt routine in response to the processor open interrupt signal from the master processor, and returns a startup notification signal to the master processor (step 1).
4) After this, the slave processor starts normal processing. In this embodiment, the slave processor performs processing according to the command from the master processor.
第1図では、スレーブプロセッサを1つだけ記したが、
一般にスレーブプロセッサは複数台存在する。この場合
の同期の様子を第3図に示す。In Figure 1, only one slave processor is shown, but
Generally, there are multiple slave processors. The state of synchronization in this case is shown in FIG.
このように、ネットワーク構造に関係なく、単一マスク
・複数スレーブ構成の簡明な初期同期機構が構築でき、
特定のプロセッサの初期化シーケンスが延びた場合にも
確実な初期同期が可能になる。In this way, a simple initial synchronization mechanism with a single mask and multiple slaves can be constructed regardless of the network structure.
Reliable initial synchronization is possible even if the initialization sequence of a particular processor is extended.
以上説明したように、本発明は、ソフトウェアタイマに
よる待合わせをする必要がなく、又ネットワーク構造に
関係なく、単一マスク・複数スレーブ構成の簡明な初期
同期機構が構築でき、特定のプロセッサの初期化シーケ
ンスが延びた場合にも確実な初期同期が可能になるとい
う効果を有する。As explained above, the present invention eliminates the need for waiting using a software timer, and enables the construction of a simple initial synchronization mechanism with a single mask/multiple slave configuration regardless of the network structure. This has the effect that reliable initial synchronization is possible even if the initial synchronization sequence is extended.
マスタプロセッサスレーブプロセッサ1master processorslave processor 1
第1図は本発明の一実施例の流れ図、第2図はリセット
パルスのタイミング図、第3図は複数のプロセッサでの
同期の概念図、第4図はマスク・スレーブ同期を行うマ
ルチプロセッサの模式図である。20・・・・・・マスタプロセッサ、21a〜21c・
・・・・・スレーブプロセッサ。Figure 1 is a flowchart of an embodiment of the present invention, Figure 2 is a timing diagram of reset pulses, Figure 3 is a conceptual diagram of synchronization in multiple processors, and Figure 4 is a diagram of a multiprocessor that performs mask slave synchronization. It is a schematic diagram. 20... Master processor, 21a to 21c.
...Slave processor.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63273658AJPH02118868A (en) | 1988-10-28 | 1988-10-28 | Synchronizing system for multi-processor |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63273658AJPH02118868A (en) | 1988-10-28 | 1988-10-28 | Synchronizing system for multi-processor |
| Publication Number | Publication Date |
|---|---|
| JPH02118868Atrue JPH02118868A (en) | 1990-05-07 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63273658APendingJPH02118868A (en) | 1988-10-28 | 1988-10-28 | Synchronizing system for multi-processor |
| Country | Link |
|---|---|
| JP (1) | JPH02118868A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5428645A (en)* | 1992-11-03 | 1995-06-27 | International Business Machines Corporation | Anonymous time synchronization method |
| US5689688A (en)* | 1993-11-16 | 1997-11-18 | International Business Machines Corporation | Probabilistic anonymous clock synchronization method and apparatus for synchronizing a local time scale with a reference time scale |
| DE19744071B4 (en)* | 1996-10-05 | 2004-12-30 | Lg Industrial Systems Co., Ltd. | Control system using a programmable logic controller |
| US6925556B2 (en)* | 2001-02-14 | 2005-08-02 | Intel Corporation | Method and system to determine the bootstrap processor from a plurality of operable processors |
| JP2006309332A (en)* | 2005-04-26 | 2006-11-09 | Nec Corp | Computer system, memory initialization method, and program for computer system |
| JP2009187297A (en)* | 2008-02-06 | 2009-08-20 | Ricoh Co Ltd | Embedded device and its fast startup method |
| JP2019096199A (en)* | 2017-11-27 | 2019-06-20 | キヤノン株式会社 | Image forming apparatus, method for controlling image forming apparatus, and program |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5428645A (en)* | 1992-11-03 | 1995-06-27 | International Business Machines Corporation | Anonymous time synchronization method |
| US5550873A (en)* | 1992-11-03 | 1996-08-27 | International Business Machines Corporation | Processing system for use as a network node for performing anonymous time synchronization in a network |
| US5784421A (en)* | 1992-11-03 | 1998-07-21 | International Business Machines Corporation | Computer program product for use with a network node for performing anonymous time synchronization in a network |
| US5689688A (en)* | 1993-11-16 | 1997-11-18 | International Business Machines Corporation | Probabilistic anonymous clock synchronization method and apparatus for synchronizing a local time scale with a reference time scale |
| DE19744071B4 (en)* | 1996-10-05 | 2004-12-30 | Lg Industrial Systems Co., Ltd. | Control system using a programmable logic controller |
| US6925556B2 (en)* | 2001-02-14 | 2005-08-02 | Intel Corporation | Method and system to determine the bootstrap processor from a plurality of operable processors |
| JP2006309332A (en)* | 2005-04-26 | 2006-11-09 | Nec Corp | Computer system, memory initialization method, and program for computer system |
| JP2009187297A (en)* | 2008-02-06 | 2009-08-20 | Ricoh Co Ltd | Embedded device and its fast startup method |
| JP2019096199A (en)* | 2017-11-27 | 2019-06-20 | キヤノン株式会社 | Image forming apparatus, method for controlling image forming apparatus, and program |
| Publication | Publication Date | Title |
|---|---|---|
| US3932847A (en) | Time-of-day clock synchronization among multiple processing units | |
| CN111090600B (en) | A method of bus sharing | |
| JPH11224205A (en) | Process control system | |
| KR970066900A (en) | Distributed Memory Multiprocessor Systems and Failure Recovery Methods | |
| JPH02118868A (en) | Synchronizing system for multi-processor | |
| WO2013000201A1 (en) | Method and system for multi-speed adaptation of communication interface | |
| US7428660B2 (en) | Starting control method, duplex platform system, and information processor | |
| CN112463666A (en) | Master-slave distribution method and device for controller | |
| JPH0736720A (en) | Redundant computer equipment | |
| CN112463380A (en) | Partition control method, device and system of multi-node server and storage medium | |
| JP3332098B2 (en) | Redundant processor unit | |
| JPH02105961A (en) | Multiprocessor synchronization system | |
| KR0168931B1 (en) | The process synchronization in unix based multiprocessor system | |
| JPS6019819B2 (en) | Bus right control method | |
| JPH04147347A (en) | Processor failure recovery control method | |
| CN120743473A (en) | A core isolation method and device in a macro kernel operating system | |
| CN118233881A (en) | Vehicle-mounted network system and reset control method thereof | |
| JP2588290B2 (en) | Data input / output system | |
| CN120281421A (en) | Multi-master synchronization method, device and storage medium | |
| JPH04171539A (en) | Duplex computer system | |
| JPH0318958A (en) | Multiprocessor system | |
| CN112783680A (en) | Device for monitoring the execution of an application, related assembly and avionics system | |
| JPS6033654A (en) | Inter-microprocessor data transferring system | |
| JPH09146902A (en) | Multi-cpu system and its software updating method | |
| JPH0677250B2 (en) | Inter-processor communication prohibition method |