JP2883091B2 - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JP2883091B2
JP2883091B2 JP1013596A JP1359689A JP2883091B2 JP 2883091 B2 JP2883091 B2 JP 2883091B2 JP 1013596 A JP1013596 A JP 1013596A JP 1359689 A JP1359689 A JP 1359689A JP 2883091 B2 JP2883091 B2 JP 2883091B2
Authority
JP
Japan
Prior art keywords
processor
processors
code
ram
initialization
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.)
Expired - Fee Related
Application number
JP1013596A
Other languages
Japanese (ja)
Other versions
JPH02194463A (en
Inventor
敏哉 田川
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP1013596A priority Critical patent/JP2883091B2/en
Publication of JPH02194463A publication Critical patent/JPH02194463A/en
Application granted granted Critical
Publication of JP2883091B2 publication Critical patent/JP2883091B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、例えば複写制御装置等として用いられるマ
ルチプロセツサーシステムに関する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system used as, for example, a copy control device.

従来の技術 近年、マイクロコンピユーター(CPU)等のプロセツ
サーを用いるものでは、高速かつ効率的に使用するた
め、複数のプロセツサーをデユアルポートRAM等により
接続してマルチシステム化したものがある。このような
システムは、例えば特開昭63−66619号公報、特開昭63
−31429号公報、特開昭63−159968号公報、特開昭63−8
1557号公報等により知られている。
2. Description of the Related Art In recent years, some processors using a processor such as a microcomputer (CPU) are connected to a plurality of processors by a dual-port RAM or the like to form a multi-system in order to use the processor at high speed and efficiently. Such a system is disclosed in, for example, JP-A-63-66619 and JP-A-63-66619.
-31429, JP-A-63-159968, JP-A-63-8
It is known from, for example, Japanese Patent Publication No. 1557.

このようなマルチプロセツサーシステムでは、全ての
プロセツサーが立上るに十分な時間ルーピングを行つて
からスタートさせたり、又は、非同期にスタートさせて
いる。
In such a multiprocessor system, looping is performed for a time sufficient for all processors to start, and then the processing is started, or the processing is started asynchronously.

発明が解決しようとする課題 ところが、前者では、バラツキを防ぐため、十分な時
間ループさせる必要があり、システム全体の立上り時間
が長くかかつてしまう。
Problems to be Solved by the Invention However, in the former, it is necessary to perform a sufficient time loop in order to prevent variations, and the rise time of the entire system is long.

また、後者では、各々のプロセツサーがばらばらにス
タートするため、相手のプロセツサーがまだ完全に立上
つていない内にデータを送出してしまい、データ授受ミ
ス等が発生するものである。これは、仮に同一プロセツ
サーであつてもイニシヤライズ時の処理内容は各々異な
るのが普通であり、そのイニシヤライズ処理時間にも差
が出るからである。
In the latter case, since each processor starts independently, data is transmitted while the other processor has not yet completely started up, and a data transfer error or the like occurs. This is because, even if the processors are the same, the processing contents at the time of initialization are usually different from each other, and the initialization processing time also differs.

さらに、これらの方式の場合、完成製品としては十分
に機能しても、開発中等でエミユレータを使用してプロ
セツサーのエミユレーシヨンを行う場合、エミユレータ
の起動が人の手によることから(周知のように、プロセ
ツサーの方が、人の手によるエミユレーシヨン起動よ
り、遥かに立上り時間が早い)、上記のようなデータ授
受ミス等が発生する。
In addition, in the case of these systems, even if they function satisfactorily as a finished product, when emulating a processor using an emulator during development or the like, the emulator is started manually (as is well known, The rise time of the processor is much faster than the start of the emulation by hand), and the above-mentioned data transfer error occurs.

課題を解決するための手段 複数のプロセツサーと、これらのプロセツサーにバス
ラインを介して接続されたランダム・アクセス・メモリ
とを備えたマルチプロセツサーシステムにおいて、前記
複数のプロセツサーの各々においてイニシヤライズルー
チンが実行されたのち、前記各プロセツサーによる前記
ランダム・アクセス・メモリの同一アドレスに対する書
き込み及び読み出しによつて前記各プロセツサ間でスタ
ートデータの授受を交互に行うようにした。
Means for Solving the Problems In a multiprocessor system comprising a plurality of processors and a random access memory connected to these processors via a bus line, initialization is performed in each of the plurality of processors. After the execution of the routine, the start data is alternately transmitted and received between the processors by writing and reading to the same address of the random access memory by the processors.

作用 複数のプロセツサーにおける各プロセツサーが、ラン
ダム・アクセス・メモリの同一アドレスに対する書き込
み及び読み出しによつて前記各プロセツサ間でスタート
データの授受を交互に行つて、各プロセツサーのイニシ
ヤライズを実行するため、無駄な立上り時間を伴わず
に、各プロセツサーを同期スタートさせることができ、
よつて、データ送出先のプロセツサーが立ち上がつてい
ない(スタートしていない)ことによるデータ授受のミ
スを防止することができ、また、管理用プロセツサーの
ような処理用プロセツサー以外の特別なプロセツサーを
設けることなく、各プロセツサーのイニシヤライズが可
能となる。
Operation Since each processor in the plurality of processors alternately exchanges start data between the processors by writing and reading to the same address of the random access memory to execute initialization of each processor, it is useless. Each processor can be started synchronously without a rise time,
Therefore, it is possible to prevent a mistake in data transfer due to the fact that the processor at the data transmission destination is not started (not started), and it is also possible to prevent a special processor other than the processing processor such as the management processor. , The initialization of each processor becomes possible.

実施例 本発明の一実施例を図面に基づいて説明する。Embodiment An embodiment of the present invention will be described with reference to the drawings.

まず、本実施例を実施するマルチプロセツサシステム
のハードウエア構成の一例を第3図に示す。本例のシス
テムは、2つのプロセツサー1,2とデータ授受手段とし
てのデユアルポートRAM(以下、DP RAMという)3とを
備え、プロセツサー1,2間のデータ授受をDP RAM3を介
して行うものである。ここに、DP RAM3は、2組ずつの
アドレス・バスとデータ・バスとを有するRAMであり、
2つのプロセツサー1,2で共用可能なものである。ま
た、信号としては、チツプセレクト信号CS、ビジー信号
BUSY、書込み信号WR、読出し信号RD、リセツト信号RESE
T等が用いられる。なお、リセツト信号RESETはプロセツ
サー1,2で共用でもよく、又は、各々独立していてもよ
い。
First, FIG. 3 shows an example of a hardware configuration of a multi-processor system embodying the present embodiment. The system of this example includes two processors 1 and 2 and a dual port RAM (hereinafter, referred to as DP RAM) 3 as data transfer means, and performs data transfer between the processors 1 and 2 via the DP RAM 3. is there. Here, the DP RAM3 is a RAM having two sets of address buses and data buses,
It can be shared by the two processors 1 and 2. The signals include a chip select signal CS and a busy signal
BUSY, write signal WR, read signal RD, reset signal RESE
T or the like is used. The reset signal RESET may be shared by the processors 1 and 2, or may be independent of each other.

このようなシステム構成において、本実施例では、第
1図に示すフローチヤート手順、及び第2図に示すよう
にデータ授受に従い、2つのプロセツサー1,2を同期ス
タートさせるものである。その制御内容を説明する。
In such a system configuration, in the present embodiment, the two processors 1 and 2 are started synchronously according to the flow chart procedure shown in FIG. 1 and data transfer as shown in FIG. The control content will be described.

例えば、電源オンなどによりリセツト信号RESETが入
力されると、第1図(a)(b)に示すようにプロセツ
サー1,2の各々のイニシヤライズルーチンがスタートす
る。ここに、プロセツサー1,2が全く同一のプロセツサ
ーであつてもイニシヤライズ時の処理内容は各々異なる
ため、そのイニシヤライズ処理時間にも差が出る。よつ
て、第1図中のA点、A′点に到達する時間が異なり、
一方が先にイニシヤライズを完了することになる。本実
施例は、このような時間差により生ずる不都合を防止す
るものである。
For example, when the reset signal RESET is input by turning on the power, the initialization routine of each of the processors 1 and 2 starts as shown in FIGS. 1 (a) and 1 (b). Here, even if the processors 1 and 2 are exactly the same processor, the processing contents at the time of initialization are different from each other, so that the initialization processing time also differs. Therefore, the time to reach points A and A 'in FIG.
One will complete the initialization first. The present embodiment is intended to prevent the inconvenience caused by such a time difference.

まず、プロセツサー1の方のイニシヤライズが先に完
了した場合を考える。イニシヤライズを完了したプロセ
ツサー1はDP RAM3に1回目のスタートデータとして1s
t.コードを書込み(B点で示す処理)、DP RAM3の内容
が2回目のスタートデータとしての2nd.コードになるま
でルーピングする(E点で示す処理)。一方、プロセツ
サー2側はDP RAM3の内容が1st.コードになるまでルー
ピングする(C点で示す処理)。そして、DP RAM3の内
容が1st.コードになれば、プロセツサー2はDP RAM3に
2nd.コードを書込み(D点で示す処理)、DP RAM3の内
容が3回目のスタートデータとしての3rd.コードになる
までルーピングする(G点で示す処理)。そして、今度
はプロセツサー1側ではDP RAM3の内容が2nd.コードに
なれば、DP RAM3に3rd.コードを書込み(F点で示す処
理)、立上り完了となる。プロセツサー2側ではこのよ
うにしてDP RAM3の内容が3rd.コードになれば、そのま
ま、立上り完了となる。
First, consider a case where the initialization of the processor 1 is completed first. Processor 1 that has completed initialization stores 1s as the first start data in DP RAM3.
The t. code is written (processing indicated by point B), and looping is performed until the contents of the DP RAM 3 become the 2nd code as the second start data (processing indicated by point E). On the other hand, the processor 2 loops until the contents of the DP RAM 3 become the first code (the processing indicated by the point C). Then, if the contents of DP RAM3 become the 1st. Code, processor 2 switches to DP RAM3.
The 2nd code is written (processing indicated by point D), and looping is performed until the contents of the DP RAM 3 become the 3rd code as the third start data (processing indicated by point G). Then, on the processor 1 side, when the contents of the DP RAM3 become the 2nd. Code, the 3rd. When the contents of the DP RAM 3 become 3rd. Code in this way, the processor 2 completes the rise.

一方、プロセツサー2の方のイニシヤライズが先に完
了した場合を考える。プロセツサー2はDP RAM3の内容
が1st.コードとなるまでルーピングする(C点で示す処
理)。また、プロセツサー1側ではそのイニシヤライズ
が完了したらDP RAM3に1st.コードを書込み(B点で示
す処理)、DP RAM3の内容が2nd.コードになるまでルー
ピングする(E点で示す処理)。そして、プロセツサー
2では、DP RAM3の内容が1st.コードとなると、DP RA
M3に2nd.コードを書込み(D点で示す処理)、DP RAM3
の内容が3rd.コードになるまでルーピングする(G点で
示す処理)。そして、プロセツサー1側ではDP RAM3の
内容が2nd.コードになれば、DP RAM3に3rd.コードを書
込み(F点で示す処理)、立上り完了となる。これに呼
応してプロセツサー2側はDP RAM3の内容が3rd.コード
になれば、立上り完了となる。
On the other hand, consider a case where the initialization of the processor 2 is completed first. The processor 2 loops until the contents of the DP RAM 3 become the 1st code (processing indicated by a point C). When the initialization is completed, the processor 1 writes the first code into the DP RAM 3 (processing indicated by point B) and loops until the contents of the DP RAM 3 become the second code (processing indicated by point E). Then, in the processor 2, when the content of the DP RAM3 becomes the first code, the DP RA
Write 2nd code to M3 (processing indicated by point D), DP RAM3
Is looped until the content of the code becomes the 3rd code (process indicated by point G). When the contents of the DP RAM3 become the 2nd code on the processor 1 side, the 3rd. Code is written into the DP RAM3 (processing indicated by the point F), and the rise is completed. In response, when the contents of the DP RAM 3 become the 3rd. Code, the processor 2 completes the rise.

第2図はプロセツサー1,2及びDP RAM3間におけるこ
のような1st.コード〜3rd.コードなるデータ授受の様子
を模式的に示すものである。即ち、プロセツサー1,2に
リセットがかかつた時にDP RAM3によるスタートデータ
としての1st.コード〜3rd.コードの授受をこれらのプロ
セツサー1,2間で交互に少なくとも3回行つた後、これ
らのプロセツサー1,2を同期スタートさせるものであ
る。この結果、プロセツサーのバラツキを考慮した無駄
な時間待つ必要がなくなる。また、実際の立上り後にス
タートするため、初期不安定状態時に生じ得るプロセツ
サー1,2間のデータの授受ミスが防止される。これは、
エミユレータ等によるスタート時でも同様である。ま
た、プロセツサー1,2に対してリセツト信号を独立して
与える場合のリセツト時間のずれも、吸収されるものと
なる。
FIG. 2 schematically shows the manner of data exchange between the first and third codes between the processors 1 and 2 and the DP RAM 3. As shown in FIG. That is, when the processors 1 and 2 are reset, the DP RAM 3 alternately transmits and receives the 1st. To 3rd. Codes as the start data at least three times between the processors 1 and 2, and then executes these processors. This is to start 1 and 2 synchronously. As a result, there is no need to wait for useless time in consideration of processor variations. Further, since the operation is started after the actual rise, an error in data transfer between the processors 1 and 2, which may occur in the initial unstable state, is prevented. this is,
The same applies when starting with an emulator or the like. Also, the reset time lag when the reset signal is independently given to the processors 1 and 2 is absorbed.

ところで、第1図等による処理時において、例えばプ
ロセツサー2のイニシヤライズが先に完了した場合であ
つて、たまたまDP RAM3の内容が1st.コードだつた時に
は、プロセツサー1のイニシヤライズが完了していない
にもかかわらず、D点以降の処理を行つてしまい、正し
く同期スタートが行われなくなつてしまう。そこで、本
実施例では、第1図中に*印で示すエラー・リカバリー
・ルーチンなる処理を設けているものである。即ち、プ
ロセツサー2側において、G点に示す処理のルーピング
時に、再度、DP RAM3の内容が1st.コードかどうか(即
ち、プロセツサー2が2nd.コードを書込んだ後、プロセ
ツサー1のイニシヤライズが完了し、1st.コードが書込
まれたかどうか)をチエツクすることにより、正しい同
期スタートを行わせることができる。
By the way, in the processing according to FIG. 1 and the like, for example, when the initialization of the processor 2 is completed first, and when the content of the DP RAM 3 happens to be the first code, the initialization of the processor 1 is not completed. Regardless, the processing after the point D is performed, and the synchronization start is not correctly performed. Therefore, in this embodiment, an error recovery routine indicated by an asterisk (*) in FIG. 1 is provided. That is, at the time of looping of the processing indicated by the point G on the processor 2 side, whether the contents of the DP RAM 3 are the first code again (that is, after the processor 2 writes the second code, the initialization of the processor 1 is completed) , 1st. Code has been written), a correct synchronization start can be performed.

ところで、本実施例で用いられる1st.コード、2nd.コ
ード及び3rd.コードは、予め決めておくものであるが、
内容的には任意のコードを選択すればよい。また、各コ
ードをDP RAM3に書込む際のアドレスも任意に設定し得
る。もつとも、これらの1st.コード、2nd.コードないし
3rd.コードを同一のアドレスに書込むようにしないと、
動作が不確実となる。即ち、別のアドレスに書込む場合
には、上記の*で示したチエツクルーチンが無意味にな
り、かつ、プロセツサー1側のE点の処理に対しても*
で示したエラー・リカバリー・ルーチンに相当するチエ
ツクルーチンが必要となる。
By the way, the 1st. Code, 2nd. Code and 3rd. Code used in this embodiment are determined in advance,
Any code may be selected as the content. Further, the address for writing each code into the DP RAM 3 can be set arbitrarily. At least, these 1st. Code, 2nd. Code or
If you do not write the 3rd. Code to the same address,
Operation becomes uncertain. That is, when writing to another address, the check routine indicated by * becomes meaningless, and the processing at the point E on the processor 1 side becomes *.
A check routine corresponding to the error recovery routine shown in FIG.

発明の効果 本発明は上述のように、複数のプロセツサーと、これ
らのプロセツサーにバスラインを介して接続されたラン
ダム・アクセス・メモリとを備えたマルチプロセツサー
システムにおいて、前記複数のプロセツサーの各々にお
いてイニシヤライズルーチンが実行されたのち、前記各
プロセツサーによる前記ランダム・アクセス・メモリの
同一アドレスに対する書き込み及び読み出しによつて前
記各プロセツサー間でスタートデータの授受を交互に行
うようにしたので、無駄な立上り時間を伴わずに、各プ
ロセツサーを同期スタートさせることができ、よつて、
データ送出先のプロセツサーが立ち上がつていない(ス
タートしていない)ことによるデータ授受のミスを防止
することができ、また、管理用プロセツサーのような処
理用プロセツサー以外の特別なプロセツサーを設けるこ
となく、各プロセツサーのイニシヤライズが可能となる
という効果を有する。
As described above, the present invention relates to a multiprocessor system including a plurality of processors and a random access memory connected to these processors via a bus line, wherein each of the plurality of processors After the initialization routine is executed at step (1), the start data is alternately transmitted and received between the processors by writing and reading to and from the same address of the random access memory by the processors. Each processor can be started synchronously without any significant rise time,
It is possible to prevent errors in data transfer due to the fact that the processor at the data transmission destination has not been started (not started), and to provide a special processor other than the processing processor such as a management processor. In addition, there is an effect that each processor can be initialized.

【図面の簡単な説明】[Brief description of the drawings]

図面は本発明の一実施例を示すもので、第1図はフロー
チヤート、第2図はデータ授受の様子を示す模式図、第
3図はブロツク図である。 1,2……プロセツサー、3……データ授受手段
The drawings show an embodiment of the present invention. FIG. 1 is a flow chart, FIG. 2 is a schematic view showing data transfer, and FIG. 3 is a block diagram. 1,2 ... Processor, 3 ... Data transfer means

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のプロセツサーと、これらのプロセツ
サーにバスラインを介して接続されたランダム・アクセ
ス・メモリとを備えたマルチプロセツサーシステムにお
いて、前記複数のプロセツサーの各々においてイニシヤ
ライズルーチンが実行されたのち、前記各プロセツサー
による前記ランダム・アクセス・メモリの同一アドレス
に対する書き込み及び読み出しによつて前記各プロセツ
サー間でスタートデータの授受を交互に行うことを特徴
とするマルチプロセツサーシステム。
In a multi-processor system comprising a plurality of processors and a random access memory connected to these processors via a bus line, an initialization routine is executed in each of the plurality of processors. A multi-processor system, characterized in that, after being executed, the processors alternately transmit and receive start data by writing and reading to the same address of the random access memory by each of the processors.
JP1013596A 1989-01-23 1989-01-23 Multiprocessor system Expired - Fee Related JP2883091B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1013596A JP2883091B2 (en) 1989-01-23 1989-01-23 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1013596A JP2883091B2 (en) 1989-01-23 1989-01-23 Multiprocessor system

Publications (2)

Publication Number Publication Date
JPH02194463A JPH02194463A (en) 1990-08-01
JP2883091B2 true JP2883091B2 (en) 1999-04-19

Family

ID=11837587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1013596A Expired - Fee Related JP2883091B2 (en) 1989-01-23 1989-01-23 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2883091B2 (en)

Also Published As

Publication number Publication date
JPH02194463A (en) 1990-08-01

Similar Documents

Publication Publication Date Title
KR920004291B1 (en) Data processing system having dual processors
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
US4719622A (en) System bus means for inter-processor communication
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
US5093780A (en) Inter-processor transmission system having data link which automatically and periodically reads and writes the transfer data
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
JPH0666821B2 (en) Data communication controller
US4837767A (en) Bus adapter module with improved error recovery in a multibus computer system
JPH0626336B2 (en) Control link
JPS5941033A (en) Electronic computer system
JPS6113629B2 (en)
JP2883091B2 (en) Multiprocessor system
JPS5914775B2 (en) Common memory lock method
JP2735246B2 (en) Test and set method
EP0278263B1 (en) Multiple bus DMA controller
JP2522412B2 (en) Communication method between programmable controller and input / output device
JPS6367702B2 (en)
JPH05224999A (en) Runaway processor
JP2687716B2 (en) Information processing device
JPS6061859A (en) Data communication system of microcomputer
JPH01166157A (en) Information transmitting device
JP2679440B2 (en) Information processing device
JPS5834858B2 (en) Data exchange control method
JPS6022383B2 (en) input/output control device
JPS584365B2 (en) Reset control system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees