JPH06243101A - Inter-cpu communications system for multiprocessor system - Google Patents

Inter-cpu communications system for multiprocessor system

Info

Publication number
JPH06243101A
JPH06243101A JP4580993A JP4580993A JPH06243101A JP H06243101 A JPH06243101 A JP H06243101A JP 4580993 A JP4580993 A JP 4580993A JP 4580993 A JP4580993 A JP 4580993A JP H06243101 A JPH06243101 A JP H06243101A
Authority
JP
Japan
Prior art keywords
cpu
communication
cpus
inter
speed
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.)
Withdrawn
Application number
JP4580993A
Other languages
Japanese (ja)
Inventor
Takao Numakura
隆郎 沼倉
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.)
Fujitsu Ltd
Fujitsu Communication Systems Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Communication Systems 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 Fujitsu Ltd, Fujitsu Communication Systems Ltd filed Critical Fujitsu Ltd
Priority to JP4580993A priority Critical patent/JPH06243101A/en
Publication of JPH06243101A publication Critical patent/JPH06243101A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To provide an inter-CPU communications system which never causes such abnormal processing as 'no response from another CPU', etc., nor deteriorates the system processing performance when the communication is carried out between CPUs in a multiprocessor system including plural CPUs of different processing speeds. CONSTITUTION:In a multiprocessor system including plural CPU1-CPUn of different processing speeds, a type storage part 21 stores the types of all CPUs of the system. When the inter-CPU communication is carried out, the communication starting CPU refers to the part 21 to confirm the types of itself and the opposite party CPU. Meanwhile various counters count the time when the starting CPU starts and then ends the periodical check of the end information on the inter-CPU communication area in a shared memory based on those confirmed types of CPUs. Then the values of these counters are corrected.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は処理速度が異なるCPU
が混在するマルチプロセッサシステムにおいてCPU相
互間で通信を行うCPU間通信方式に関する。
BACKGROUND OF THE INVENTION The present invention relates to CPUs having different processing speeds.
The present invention relates to an inter-CPU communication method for performing communication between CPUs in a multiprocessor system in which

【0002】[0002]

【従来の技術】図6には複数(n個)のCPUと、それ
ら全てのCPUが共通にアクセスできる共通メモリを有
するマルチプロセッサシステムの構成例が示される。図
6において、CPU1〜CPUnと共通メモリ11とは
システムバス12を介して接続されており、各CPUは
共有メモリ11にアクセスして他の任意のCPUに割込
みを発生させることにより、CPU間通信を行ってい
る。
2. Description of the Related Art FIG. 6 shows a configuration example of a multiprocessor system having a plurality (n) of CPUs and a common memory which can be commonly accessed by all the CPUs. In FIG. 6, the CPUs 1 to CPUn and the common memory 11 are connected via the system bus 12, and each CPU accesses the shared memory 11 to generate an interrupt to any other CPU, thereby performing communication between the CPUs. It is carried out.

【0003】このマルチプロセッサシステムでは、図7
に示すように、共有メモリ11内にCPU1,2,3,
──,n−1,nにそれぞれ対応して固定領域11−1
〜11−nが割付けされており、さらにそれら固定領域
には、自己以外の各CPUに対応して、各CPU間通信
情報書込み用固定領域が設けられている。
In this multiprocessor system, FIG.
As shown in FIG.
---, n-1, n corresponding to fixed areas 11-1
11-n are assigned, and fixed areas for writing communication information between CPUs are provided in these fixed areas corresponding to the CPUs other than the self.

【0004】なお図7において、「割込み(x→y)」
は、CPUxからCPUyへの割込みが発生することを
示している。ただし、図7の各CPU間通信情報書込み
用固定領域内の斜線部は同一CPU間通信情報書込み用
固定領域に相当するものであるが、同一CPU間の通信
はCPU内のローカルメモリにて可能なため、共有メモ
リは使用していない。
In FIG. 7, "interrupt (x → y)"
Indicates that an interrupt from CPUx to CPUy occurs. However, the shaded area in the fixed area for writing communication information between CPUs in FIG. 7 corresponds to the fixed area for writing communication information between the same CPUs, but communication between the same CPUs is possible in the local memory in the CPUs. Therefore, shared memory is not used.

【0005】図7におけるマルチプロセッサシステムに
おいて、各CPUが共有メモリ11を使用してCPU間
通信を行う場合、例えばCPU2がCPU1に対して割
込みを発生させる場合は、CPU1に対応する固定領域
11−1における自己用のCPU間通信情報書込み用固
定領域(2→1)に通信情報を書き込んで「割込み(2
→1)」を発生させる。一方、CPU1では、「割込み
(2→1)」が発生すると、CPU2に対応するCPU
間通信情報書込み用固定領域(2→1)をアクセスし
て、割込み処理を実行する。この場合、共有メモリ内の
CPU間通信情報書込み用固定領域のアドレスは、通信
する両者のCPUが予め認識している。
In the multiprocessor system shown in FIG. 7, when each CPU uses the shared memory 11 for inter-CPU communication, for example, when the CPU 2 issues an interrupt to the CPU 1, the fixed area 11-corresponding to the CPU 1 The communication information is written in the fixed area (2 → 1) for writing communication information between CPUs for self in 1 and the “interrupt (2
→ 1) ”is generated. On the other hand, in the CPU 1, when the “interrupt (2 → 1)” occurs, the CPU corresponding to the CPU 2
The fixed area for writing inter-communication information (2 → 1) is accessed and interrupt processing is executed. In this case, the addresses of the fixed areas for writing communication information between CPUs in the shared memory are recognized in advance by both communicating CPUs.

【0006】図7に示すようなマルチプロセッサシステ
ムでは、図8に示すCPU間通信情報書き込み用固定領
域が共有メモリ内に(n×(n−1))個分設定されて
いる。図示するように、このCPU間通信情報書込み用
固定領域は、CPU間通信要求(システムコール)発行
元CPUが自CPU−ID(識別番号)を記入する発行
元CPU−ID領域、通信先CPUがCPU間通信状態
情報(処理中、処理終了等)を記入する終了情報領域、
割込み種別番号を記入するINT番号領域、AX・BX
・CX、DX(レジスタ)領域であって発行元CPUが
システムコール種別、各種共通資源の番号、メッセージ
のアドレス、その他のパラメータを記入し、通信先CP
Uがエラーコード、その他のパラメータを記入するも
の、その他の通信情報領域で構成される。
In the multiprocessor system as shown in FIG. 7, (n × (n-1)) fixed areas for writing communication information between CPUs shown in FIG. 8 are set in the shared memory. As shown in the figure, in this fixed area for writing communication information between CPUs, an issuer CPU-ID area in which an inter-CPU communication request (system call) issuer CPU writes its own CPU-ID (identification number) and a communication destination CPU are An end information area in which communication status information between CPUs (processing, processing end, etc.) is entered,
INT number area to enter the interrupt type number, AX / BX
In the CX and DX (register) areas, the issuing CPU writes the system call type, various common resource numbers, message addresses, and other parameters, and the communication destination CP
U is composed of an error code, other parameters, and other communication information area.

【0007】このマイクロプロセッサシステムのCPU
間通信手順を図9を参照して以下に説明する。 まずCPU1内にあるタスク(以下、タスクAとす
る)がCPU2に対してCPU間通信要求のシステムコ
ールを発行する。
CPU of this microprocessor system
The inter-communication procedure will be described below with reference to FIG. First, a task (hereinafter referred to as task A) in the CPU 1 issues a system call for inter-CPU communication request to the CPU 2.

【0008】 ついで、CPU1のOSは、そのシス
テムコールの各種パラメータ(発行元CPU−ID、割
込み種別番号、システムコール種別、各種共通資源の番
号、メッセージのアドレス等)を共有メモリ内のCPU
間通信領域内のCPU1→CPU2のCPU間通信情報
書込み用固定領域(1→2)に書き込む。 その後、CPU1のOSは、CPU2のOSに対し
てCPU間通信要求(すなわち割込み)を行う。
Next, the OS of the CPU 1 sends various parameters of the system call (issuer CPU-ID, interrupt type number, system call type, various common resource numbers, message addresses, etc.) to the CPU in the shared memory.
The data is written in the fixed area (1 → 2) for writing CPU-to-CPU communication information of CPU1 → CPU2 in the inter-communication area. After that, the OS of the CPU 1 makes an inter-CPU communication request (that is, an interrupt) to the OS of the CPU 2.

【0009】 CPU1からの割込みがあると、CP
U2は処理中のタスクBを中断し、CPU2のOSは、
CPU1からの割込みにより、まず共有メモリ内のCP
U間通信領域内のCPU1→CPU2のCPU間通信情
報書込み用固定領域(1→2)からCPU間通信要求の
パラメータを読み取る。 次いでCPU2のOSは、そのシステムコールに対
する処理を行う。 そして、そのシステムコールに対応する処理を終え
ると、CPU2のOSは、共有メモリ内のCPU間通信
領域内のCPU1→CPU2のCPU間通信情報書込み
用固定領域(1→2)の終了情報に「処理終了」のコー
ドを記入し、またエラーコード等の各種パラメータを書
き込む。その後に、タスクBを再開させる。
When there is an interrupt from the CPU 1, the CP
U2 suspends task B being processed, and the OS of CPU2
By the interrupt from the CPU 1, the CP in the shared memory is first
The parameters of the inter-CPU communication request are read from the fixed area (1 → 2) for writing the inter-CPU communication information of CPU1 → CPU2 in the inter-U communication area. Next, the OS of the CPU 2 performs processing for the system call. When the processing corresponding to the system call is completed, the OS of the CPU 2 sets the end information of the fixed area (1 → 2) for writing the communication information between the CPUs 1 → 2 of the CPU 1 → CPU 2 in the communication area between the CPUs in the shared memory to “ Enter the code "End of processing" and write various parameters such as error code. After that, the task B is restarted.

【0010】 一方、CPU1のOSは、CPU1が
共有メモリ内のCPU間通信領域に記入した各種パラメ
ータを上記の処理でCPU2が読み取ったかを確認す
るため、一定時間経過後に、上記の処理でCPU2が
CPU間通信領域に書き込む終了情報の内容を読み取
る。終了情報に「処理終了」が書き込まれていない場合
には、さらに所定のチェック待ち時間経過後にリトライ
を行って再度終了情報をチェックする処理を繰り返し、
所定回数リトライを繰り返しても終了情報が「処理終
了」にならない場合には、タスクAに「他CPU応答無
し」の情報を通知する。 CPU1のOSは、CPU間通信領域の終了情報が
「処理終了」になったなら、タスクAに各種パラメータ
の情報を通知する。
On the other hand, the OS of the CPU 1 confirms whether the CPU 2 has read various parameters written in the inter-CPU communication area in the shared memory by the CPU 2 in the above process. The content of the end information written in the inter-CPU communication area is read. If “processing end” is not written in the end information, the process of checking the end information again by repeating the retry after the predetermined check waiting time has elapsed,
If the end information does not become “processing end” even after the retry is repeated a predetermined number of times, the task A is notified of the information “no other CPU responds”. The OS of the CPU 1 notifies the task A of information of various parameters when the end information of the inter-CPU communication area is “processing end”.

【0011】 タスクAは復帰値と各種パラメータの
値を読み取って、以降の処理を行う。 以上により、CPU1とCPU2間で必要が各種パラメ
ータを授受してCPU間通信を実現することができる。
The task A reads the return value and the values of various parameters and performs the subsequent processing. As described above, it is possible to exchange necessary parameters between the CPU 1 and the CPU 2 to realize the inter-CPU communication.

【0012】次にシステムコール発行元のCPU1のO
SがCPU間通信要求のシステムコール発行後にCPU
間通信の終了情報をチェックする手順を図10のフロー
チャートを参照して説明する。
Next, O of the CPU 1 that issued the system call
S is the CPU after issuing the system call for the inter-CPU communication request
The procedure for checking the intercommunication end information will be described with reference to the flowchart of FIG.

【0013】まず、CPU1のOSは、CPU2に対し
てCPU間通信要求(処理)を行った後(ステップS
1)、ループ回数(初期チェック待ちカウンタの値)を
読み取り(ステップS2)、初期チェック待ち時間が経
過するまで待つ(ステップS3)。この初期チェック待
ち時間は、 初期チェック待ち時間=1回のループ処理時間×初期チ
ェック待ちカウンタ値にて求めることができる。
First, the OS of the CPU 1 makes an inter-CPU communication request (process) to the CPU 2 (step S).
1), the number of loops (the value of the initial check wait counter) is read (step S2), and the process waits until the initial check waiting time elapses (step S3). This initial check waiting time can be calculated by the following formula: initial check waiting time = 1 loop processing time × initial check waiting counter value.

【0014】初期チェック待ち時間が経過後(ステップ
S3)、共有メモリ内のCPU間通信領域内のCPU1
→CPU2のCPU間通信情報書込み用固定領域(1→
2)の終了情報をチェックする(ステップS4)。終了
情報の内容が「処理終了」の場合すなわちCPU2のO
Sが既にCPU間通信に対応する処理を終えている場合
には、エラーコード等の各種パラメータの情報をタスク
Aに通知する(ステップS5)。
After the initial check waiting time has elapsed (step S3), the CPU1 in the inter-CPU communication area in the shared memory
→ CPU2 fixed area for writing communication information between CPUs (1 →
The end information of 2) is checked (step S4). When the content of the end information is “processing end”, that is, when the CPU 2 turns O
When S has already completed the processing corresponding to the communication between CPUs, the task A is notified of information of various parameters such as an error code (step S5).

【0015】一方、終了情報の内容が「処理未終了」の
場合には、ループ回数(チェック待ちカウンタの値)お
よびリトライ回数(リトライカウンタの値)を読み取り
(ステップS6、S7)、チェック待ち時間が経過する
まで待つ(ステップS8)。このチェック待ち時間は、 チェック待ち時間=1回のループ処理時間×チェック待
ちカウンタ値にて求めることができる。
On the other hand, when the content of the end information is "processing not completed", the loop count (value of the check wait counter) and the retry count (value of the retry counter) are read (steps S6 and S7), and the check waiting time is reached. Waits until (step S8). This check waiting time can be calculated by checking wait time = 1 loop processing time × check waiting counter value.

【0016】チェック待ち時間の経過後(ステップ
8)、再度、終了情報をチェックし(ステップS9)、
その内容が既に「処理終了」になっている場合には、各
種パラメータの情報をタスクAに通知する(ステップS
5)。一方、その内容が依然として「処理未終了」の場
合には、リトライカウンタの値を一つデクリメントし
(ステップS10)、リトライカウンタの値が“0”に
なっているか、すなわち所定のリトライ回数が終了した
かをチェックする(ステップS11)。所定のリトライ
回数が終了していなければ、ステップS8のチェック待
ち時間が経過後、再度、終了情報をチェックする(ステ
ップS9)。
After the check waiting time has elapsed (step 8), the end information is checked again (step S9),
If the content has already been “processed”, information of various parameters is notified to the task A (step S
5). On the other hand, if the content is still "processing not completed", the value of the retry counter is decremented by one (step S10), and the value of the retry counter is "0", that is, the predetermined number of retries is completed. It is checked whether it has been done (step S11). If the predetermined number of retries has not ended, the end information is checked again after the check waiting time of step S8 has elapsed (step S9).

【0017】終了情報の内容が「処理終了」になるまで
この処理を所定のリトライ回数だけ繰り返し(ステップ
S10、S11)、それでも終了情報の内容が「処理終
了」にならない場合には、通信先CPUに障害があるな
どと推定してタスクAに「他CPU応答無し」の情報を
通知する(ステップS12)。
This process is repeated a predetermined number of times until the content of the end information is "processing completed" (steps S10 and S11), and if the content of the end information is not "processing completed", the communication destination CPU It is presumed that there is a fault in the task A, and task A is notified of the information "no other CPU responded" (step S12).

【0018】図11にはシステムコール発行元のCPU
1のOSがCPU間通信の終了情報をチェックする動作
を説明するためのタイムチャートが示される。このタイ
ムチャートは図10のフローチャートをタイムチャート
化したものである。
FIG. 11 shows the CPU that issued the system call.
A time chart for explaining the operation of the OS of 1 for checking the end information of the communication between CPUs is shown. This time chart is a time chart of the flowchart of FIG.

【0019】システムコール発行元のCPU1のOS
は、通信先CPUに対してCPU間通信要求を行った
後、通信先CPU2のOSがそのシステムコールに対応
する処理を行ってCPU間通信領域の終了情報に「処
理終了」を書き込むのを待つ。この際、システムコール
の種別等により通信先CPU2のOSがそのシステムコ
ールに対する処理を行う時間が異なるため、初期チェ
ック待ち時間が通信先CPU2のOSがその処理を行う
予想最短時間になるように、初期チェック待ちカウンタ
の値を設定し、また(初期チェック待ち時間+チェック
待ち時間×リトライカウンタの値)の時間が通信先CP
U2のOSがその処理を行う予想最長時間に若干余裕を
持たせた時間になるように、チェック待ち時間およびリ
トライカウンタの初期値を設定してある。
OS of CPU 1 that issued the system call
Waits for the OS of the communication destination CPU 2 to perform a process corresponding to the system call and write “processing end” in the end information of the communication region between the CPUs after making the inter-CPU communication request to the communication destination CPU. . At this time, the time for the OS of the communication destination CPU 2 to process the system call varies depending on the type of system call, so that the initial check waiting time is the shortest expected time for the OS of the communication destination CPU 2 to perform the processing. Set the value of the initial check wait counter, and the time of (initial check wait time + check wait time x retry counter value) is the CP of the communication destination.
The initial values of the check waiting time and the retry counter are set so that the OS of U2 has a slight margin in the expected maximum time for the processing.

【0020】[0020]

【発明が解決しようとする課題】図6に示すようなマル
チプロセッサシステムにおいて、通常の場合、各CPU
の処理速度等の能力は同等であるため、通信先の各CP
UのOSが行うCPU間通信システムコールに対する処
理(図9の処理)にかかる時間も全てのCPUについ
て同等である。
In a multiprocessor system as shown in FIG. 6, each CPU is normally used.
Since the processing speed of each is the same, each CP of the communication destination
The time required for the processing (processing of FIG. 9) for the inter-CPU communication system call performed by the OS of U is the same for all CPUs.

【0021】よって、図10および図11に示す初期チ
ェック待ちカウンタ、チェック待ちカウンタ、リトライ
カウンタの値は各CPUとも共通であり、これらの値は
マルチプロセッサシステム内において一つしか定義され
ていない。
Therefore, the values of the initial check wait counter, the check wait counter, and the retry counter shown in FIGS. 10 and 11 are common to each CPU, and only one of these values is defined in the multiprocessor system.

【0022】しかし、図6に示すようなマルチプロセッ
サシステムにおいて、ある特定のCPU(以下、CPU
1とする)に高速な処理速度の要求される機能が存在す
るような場合もある。その場合、CPU1の機能すなわ
ち処理速度を高速化することが必要となる。以下、処理
速度の高いCPU1を高速CPU(または32ビットC
PU)、その他の現在使用しているCPU2〜CPUn
を低速CPU(または16ビットCPU)と呼ぶ。
However, in a multiprocessor system as shown in FIG. 6, a specific CPU (hereinafter, CPU)
In some cases, there is a function requiring a high processing speed. In that case, it is necessary to increase the function of the CPU 1, that is, the processing speed. Hereinafter, the CPU 1 having a high processing speed is referred to as a high-speed CPU (or a 32-bit C
PU) and other currently used CPU2 to CPUn
Is called a low-speed CPU (or 16-bit CPU).

【0023】上記の場合、マルチプロセッサシステムに
おける全てのCPUを高速CPUに統一することが理想
だが、コスト面や在庫等の理由で実現できず低速CPU
と高速CPUが混在するマルチプロセッサシステム構成
となる場合がある。
In the above case, it is ideal to unify all the CPUs in the multiprocessor system into high-speed CPUs, but this cannot be realized due to reasons of cost, inventory, etc.
There may be a multiprocessor system configuration in which the high speed CPU and the high speed CPU are mixed.

【0024】その場合、通信先CPUのOSがCPU間
通信システムコールに対する処理(図9参照)を行う
に要する時間についてみると、32ビットの高速CPU
1のOSがその処理に要する時間は、16ビットの低
速CPU2〜CPUnのOSが同じ処理に要する時間
に比べて短く、約1/2となる。。
In this case, regarding the time required for the OS of the communication destination CPU to perform the processing (see FIG. 9) for the inter-CPU communication system call, a 32-bit high-speed CPU
The time required for one OS to perform its processing is shorter than the time required for the same processing to be performed by the OSs of the 16-bit low-speed CPU2 to CPUn, and is about 1/2. .

【0025】また、OSの処理速度が異なると当然のこ
とながらダイナミックループの1回のループ処理にかか
る時間も異なり、16ビットの低速CPU2〜CPUn
のOSがダイナミックループの1回のループ処理を行う
に要する時間は32ビットの高速CPU1の場合に比べ
て長く、約3倍となる。
Naturally, if the processing speed of the OS differs, the time required for one loop processing of the dynamic loop also differs, and the 16-bit low-speed CPU2 to CPUn
The time required for the OS to perform one loop processing of the dynamic loop is longer than that in the case of the 32-bit high speed CPU 1, and is about three times as long.

【0026】高速と低速のCPUが混在するマルチプロ
セッサシステムであっても、16ビットの低速CPU2
〜CPUn相互間でCPU間通信を行うような場合に
は、システムコール発行元CPUのOSと通信先CPU
のOSの処理速度が同等であるため、従来の方法(マル
チプロセッサシステム内の初期チェック待ちカウンタ、
チェック待ちカウンタ、リトライカウンタの値が共通で
一つのみ定義)であっても問題はない。しかし、32ビ
ットの高速CPU1から16ビットの低速CPU2〜C
PUnへのCPU間通信、あるいは16ビットの低速C
PU2〜CPUnから32ビットの高速CPU1へのC
PU間通信を行う場合には、システムコール発行元CP
Uと通信先CPUの処理速度が異なるため、従来の方法
では以下のような問題が生じる。
Even in a multiprocessor system in which high-speed and low-speed CPUs are mixed, a 16-bit low-speed CPU 2
~ When CPUs communicate with each other, the OS of the system call issuer CPU and the communication destination CPU
Since the processing speeds of the two OSs are the same, the conventional method (the initial check waiting counter in the multiprocessor system,
There is no problem even if the check wait counter and retry counter values are common and only one is defined. However, 32-bit high-speed CPU 1 to 16-bit low-speed CPU 2 to C
Inter-CPU communication to PUn, or 16-bit low-speed C
C from PU2-CPUn to 32-bit high-speed CPU1
When performing PU-to-PU communication, the CP that issued the system call
Since the processing speeds of U and the communication destination CPU are different, the conventional method has the following problems.

【0027】まず、図12を参照して、システムコール
発行元の高速CPU1から通信先の低速CPU2へCP
U間通信を行う際の問題点について述べる。
First, referring to FIG. 12, a CP is sent from the high speed CPU 1 as the system call issuer to the low speed CPU 2 as the communication destination.
The problems in performing U-to-U communication will be described.

【0028】高速CPU1のタスクAが低速CPU2に
対してCPU間通信のシステムコールを発行する(図9
の処理)と、高速CPU1のOSは共有メモリ内のC
PU間通信領域にそのシステムコールの各種パラメータ
を書き込んだ(図9の処理)後、低速CPU2に対し
てCPU間通信要求を行う(図9の処理)。
Task A of the high-speed CPU 1 issues a system call for inter-CPU communication to the low-speed CPU 2 (see FIG. 9).
Processing) and the OS of the high-speed CPU 1 are C in the shared memory.
After writing various parameters of the system call to the PU communication area (processing in FIG. 9), the CPU communication request is issued to the low-speed CPU 2 (processing in FIG. 9).

【0029】高速CPU1のOSはその後、図10およ
び図11に示す方法にて低速CPU2のOSがそのシス
テムコールに対する処理を終えるのを待つが、高速C
PU1のOSがダイナミックループの1回のループに要
する時間は、低速CPU2の場合に比べて1/3であ
る。
The OS of the high-speed CPU 1 then waits for the OS of the low-speed CPU 2 to finish the processing for the system call by the method shown in FIGS.
The time required for the OS of PU1 to perform one loop of the dynamic loop is 1/3 as compared with the case of the low-speed CPU 2.

【0030】このため、従来の方法だと、図12に示す
ように、CPU1がCPU2からの「処理終了」通知の
有無をチェックするための最長待ち時間(=初期チェッ
ク待ち時間+チェック待ち時間×リトライカウンタ)に
わたり終了情報が「処理終了」となるのを待ったとして
も、低速側のCPU2はその間に処理を終えることが
できず、よって終了情報は「処理終了」にならないた
め、低速側のCPU2のOSが正常にそのシステムコー
ルに対する処理を行っているにもかかわらず、高速側
のCPU1のOSはタスクAに「他CPU応答無し」の
情報を通知してしまってCPU2に障害があるなどと判
断してしまうという問題がある。
Therefore, according to the conventional method, as shown in FIG. 12, the longest waiting time for the CPU 1 to check the presence or absence of the “processing end” notification from the CPU 2 (= initial check waiting time + check waiting time ×) Even if it waits until the end information reaches "processing end" over the retry counter, the CPU 2 on the low speed side cannot finish the processing during that time, and therefore the end information does not become "processing end", so the CPU 2 on the low speed side Despite the normal execution of the system call for the system call, the OS of the high-speed CPU 1 notifies task A of the information "no other CPU responded" and the CPU 2 has a failure. There is a problem of making a judgment.

【0031】次に、図9を参照して、低速側のCPU2
から高速側のCPU1へCPU間通信を行う際の問題点
について述べる。
Next, referring to FIG. 9, the CPU 2 on the low speed side
A problem in performing inter-CPU communication from the high-speed side to the CPU 1 will be described.

【0032】低速側のCPU2のタスクBが高速側のC
PU1に対してCPU間通信のシステムコールを発行す
ると、低速側のCPU2のOSは共有メモリ内のCPU
間通信領域にそのシステムコールの各種パラメータを書
き込んだ後、高速側のCPU1に対してCPU間通信要
求を行う。
Task B of CPU 2 on the low speed side is C on the high speed side
When a system call for inter-CPU communication is issued to PU1, the OS of the CPU 2 on the low speed side is the CPU in the shared memory.
After writing various parameters of the system call to the inter-communication area, the inter-CPU communication request is issued to the high-speed CPU 1.

【0033】低速側のCPU2のOSは、その後に図1
0および図11に示す方法にて、高速側のCPU1のO
Sがそのシステムコールに対する処理を終えるのを待
つが、上述したように高速側のCPU1のOSの処理速
度は低速側のCPU2のOSに比べて2倍も速い。
After that, the OS of the CPU 2 on the low speed side is
0 and the method shown in FIG.
Although it waits for S to finish the processing for the system call, the processing speed of the OS of the high-speed CPU 1 is twice as fast as the OS of the low-speed CPU 2 as described above.

【0034】このため、従来の方法だと、図13に示す
ように、低速側のCPU2が初期チェック待ち時間待っ
た時点では、高速側のCPU1は既にそのシステムコー
ルに対する処理を終えている。特にその処理時間が最
短の種別のシステムコールにおいては、初期チェック待
ち時間の1/2の時間が経過した時点に終了している。
そのため、高速側のCPU1が処理を終える時間に比
べて低速側のCPU2のOSがそれ以降の処理を開始す
る時間が遅くなり、システムの処理性能が低下するとい
う問題がある。
Therefore, according to the conventional method, as shown in FIG. 13, when the CPU 2 on the low speed side waits for the initial check waiting time, the CPU 1 on the high speed side has already finished the processing for the system call. In particular, in the type of system call whose processing time is the shortest, the processing is completed when half the initial check waiting time has elapsed.
Therefore, there is a problem in that the time when the OS of the CPU 2 on the low speed side starts the subsequent processing is delayed compared to the time when the CPU 1 on the high speed side finishes the processing, and the processing performance of the system deteriorates.

【0035】本発明は上述の問題点に鑑みてなされたも
のであり、その目的とするところは、処理速度が異なる
CPUが混在するマルチプロセッサシステムにおいてC
PU相互間でCPU間通信を行うにあたり、「他CPU
応答無し」等の異常処理を生じさせたり、あるいはシス
テムの処理性能を低下させたりなどすることを防ぐこと
にある。
The present invention has been made in view of the above problems, and an object of the present invention is to provide C in a multiprocessor system in which CPUs having different processing speeds are mixed.
When performing CPU-to-CPU communication between PUs,
This is to prevent abnormal processing such as "no response" from occurring or the processing performance of the system from deteriorating.

【0036】[0036]

【課題を解決するための手段】図1は本発明に係る原理
説明図である。本発明のマルチプロセッサシステムにお
けるCPU間通信方式は、処理速度の異なるCPU1〜
CPUnの混在するマルチプロセッサシステムにおい
て、システム内の全CPUの種別を記憶する種別記憶部
21を設け、CPU間通信を行う際には通信元CPUが
種別記憶部21を参照して通信元CPUと通信先CPU
の種別を確認し、その結果に基づいて、通信元CPUが
定期的に共有メモリ内のCPU間通信領域の終了情報を
チェックし始めてからし終わるまでの時間をカウントす
るための各種カウンタの値を補正してCPU間通信を行
うことを特徴としたものである。
FIG. 1 is a diagram illustrating the principle of the present invention. The inter-CPU communication method in the multiprocessor system of the present invention is based on CPUs 1 to 1 having different processing speeds.
In a multiprocessor system in which CPUs coexist, a type storage unit 21 that stores the types of all CPUs in the system is provided, and when performing inter-CPU communication, the communication source CPU refers to the type storage unit 21 to communicate with the communication source CPUs. Communication destination CPU
The type of each counter is checked, and based on the result, various counter values for counting the time from when the communication source CPU periodically checks the end information of the inter-CPU communication area in the shared memory to when it ends The feature is that correction is performed and communication between CPUs is performed.

【0037】上述のCPU間通信方式においては、通信
元CPUと通信先CPUとの処理速度が異なる場合に、
上記各種カウンタの補正として初期チェック待ちカウン
タの値とチェック待ちカウンタまたはリトライカウンタ
の値とを補正するようにできる。
In the above inter-CPU communication method, when the processing speeds of the communication source CPU and the communication destination CPU are different,
As the correction of the various counters, the value of the initial check waiting counter and the value of the check waiting counter or the retry counter can be corrected.

【0038】[0038]

【作用】ここでは、CPU1を高速CPUとし、他のC
PU2〜CPUnを低速CPUとして、これらのCPU
相互間でCPU間通信を行うものとする。
[Function] Here, the CPU 1 is a high-speed CPU, and another C
PU2-CPUn as low-speed CPU, these CPUs
It is assumed that the CPUs communicate with each other.

【0039】共有メモリ2上等に新たにCPU種別表の
領域21を設け、システム立上げ時等に各CPUが自C
PUの種別(高速または低速などのCPUの種別)をC
PU種別記憶部21に書き込む。そして実際にCPU間
通信要求を行う際には、通信元CPUのOSは共有メモ
リ2内のCPU種別表の通信元CPUと通信先CPUの
種別を確認する。
An area 21 for the CPU type table is newly provided on the shared memory 2 or the like so that each CPU can execute its own C at system startup.
PU is the type (type of CPU such as high speed or low speed) is C
Write to the PU type storage unit 21. When actually making a communication request between CPUs, the OS of the communication source CPU confirms the types of the communication source CPU and the communication destination CPU in the CPU type table in the shared memory 2.

【0040】まず、通信元CPUと通信先CPUの種別
が同じ低速CPUの場合、すなわちCPU2〜CPUn
相互間のCPU間通信の場合は、従来の方法と同様に初
期チェック待ちカウンタ、チェック待ちカウンタ、リト
ライカウンタ等の各種カウンタをそのまま使用する。
First, if the source CPU and the destination CPU are low-speed CPUs of the same type, that is, CPU2 to CPUn
In the case of mutual communication between CPUs, various counters such as an initial check waiting counter, a check waiting counter, and a retry counter are used as they are, as in the conventional method.

【0041】次に、通信元CPUが高速CPU1で通信
先CPUが低速CPU2〜CPUnの場合には、通信元
の高速CPU1のダイナミックループの1回のループに
かかる時間が通信先の低速CPU2〜CPUnの場合の
1/mになるため、高速CPU1のチェック待ちのため
の時間が通常の1/mになる。そこで、高速CPUがチ
ェック待ち時間をカウントするためのカウンタ等を通常
のm倍にするなどする。
Next, when the communication source CPU is the high-speed CPU 1 and the communication destination CPU is the low-speed CPU 2 to CPUn, the time required for one dynamic loop of the communication high-speed CPU 1 is 1 to the communication destination low-speed CPU 2 to CPUn. Since it is 1 / m of the above case, the waiting time for the high-speed CPU 1 to check is 1 / m of the normal time. Therefore, a counter or the like for the high-speed CPU to count the check waiting time is multiplied by m times the normal value.

【0042】逆に、通信元CPU1が低速CPU2〜C
PUnで通信先CPUが高速CPU1の場合には、通信
先の高速CPU1がCPU間通信システムコールに対す
る処理を行う時間が通信元の低速CPU2〜CPUnの
場合の1/kになる。そこで、低速CPUがチェック待
ち時間をカウントするためのカウンタ等を通常の1/k
にするなどする。
On the contrary, the communication source CPU 1 is the low speed CPUs 2 to C.
When the communication destination CPU is the high-speed CPU 1 in PUn, the time taken for the communication-destination high-speed CPU 1 to process the inter-CPU communication system call is 1 / k of the case where the communication-source low-speed CPU 2 to CPUn. Therefore, a low-speed CPU uses a counter or the like for counting the check waiting time, which is 1 / k
To do so.

【0043】[0043]

【実施例】以下、図面を参照して本発明の実施例を説明
する。ここでは、32ビットの高速CPU1と他の16
ビットの低速CPU2〜CPUnが混在するマルチプロ
セッサシステムを考え、このシステム内において共有メ
モリを介在させて各CPU相互間でCPU間通信を行う
ものとする。
Embodiments of the present invention will be described below with reference to the drawings. Here, the 32-bit high-speed CPU 1 and the other 16
Consider a multiprocessor system in which low-speed CPU2 to CPUn of bits coexist, and inter-CPU communication is performed between the CPUs with a shared memory interposed in the system.

【0044】図3に示すように、共有メモリ上に新たに
CPU種別表の領域を設け、システム立上げ時に各CP
Uが自CPUの種別(16ビット低速CPUか32ビッ
ト高速CPUかの種別)をCPU種別表に書き込む。そ
して実際にCPU間通信要求を行う際には、通信元CP
UのOSは共有メモリ内のCPU種別表の通信元CPU
と通信先CPUの種別を確認する。そして処理速度が同
じあるいは異なる通信元CPUと通信先CPU間でCP
U間通信を行う際には、上記確認した種別により表1に
従って初期チェック待ちカウンタ、チェック待ちカウン
タ、リトライカウンタの補正を行う。
As shown in FIG. 3, a new CPU type table area is provided on the shared memory so that each CP can be activated at system startup.
U writes the type of its own CPU (type of 16-bit low-speed CPU or 32-bit high-speed CPU) in the CPU type table. When actually making a communication request between CPUs, the communication source CP
U's OS is the source CPU of the CPU type table in the shared memory
And the type of the communication destination CPU are confirmed. Then, the CP is transmitted between the communication source CPU and the communication destination CPU that have the same or different processing speeds.
When performing the U-to-U communication, the initial check waiting counter, the check waiting counter, and the retry counter are corrected according to Table 1 according to the confirmed type.

【0045】まず、通信元CPUと通信先CPUの種別
が同じ16ビットの低速CPUの場合、すなわちCPU
2〜CPUn相互間のCPU間通信の場合は、従来の方
法と同様に初期チェック待ちカウンタ、チェック待ちカ
ウンタ、リトライカウンタをそのまま使用する。
First, in the case of a 16-bit low-speed CPU in which the source CPU and the destination CPU are of the same type, that is, the CPU
In the case of the communication between the CPUs 2 to CPUn, the initial check waiting counter, the check waiting counter, and the retry counter are used as they are as in the conventional method.

【0046】次に、32ビットの高速CPU1から16
ビットの低速CPU2へCPU間通信を行う手順につい
て図4を参照して以下に述べる。
Next, the 32-bit high-speed CPUs 1 to 16
A procedure for performing inter-CPU communication with the bit low-speed CPU 2 will be described below with reference to FIG.

【0047】このような場合、通信元CPU1のOSの
ダイナミックループの1回のループにかかる時間が、通
常の通信先CPU2〜CPUnの場合の1/3になるた
め、初期チェック待ち時間およびチェック待ち時間が通
常の1/3になる。そのため初期チェック待ちカウンタ
の値を通常の3倍にし、またチェック待ちカウンタまた
はリトライカウンタの値を通常の3倍にする。
In such a case, the time required for one loop of the dynamic loop of the OS of the communication source CPU 1 is one-third that of the normal communication destination CPUs 2 to CPUn. Time becomes 1/3 of usual time. Therefore, the value of the initial check waiting counter is tripled as usual, and the value of the check waiting counter or the retry counter is tripled as usual.

【0048】すなわち、CPU1のOSがCPU2に対
してCPU間通信要求(図9の処理)を行うと、CP
U1のOSは図10および図11に示す方法にてCPU
2のOSがシステムコールに対する処理を終えるのを
待つが、CPU1のOSのダイナミックループの1回に
かかる時間(ここでは10μsec とする)は、CPU2
のOSの1回のループにかかる時間(ここでは30μse
c とする)に比べて1/3である。
That is, when the OS of the CPU 1 requests the CPU 2 to communicate with the CPU 2 (processing of FIG. 9), the CP
The OS of U1 is CPU by the method shown in FIG. 10 and FIG.
Wait until the OS of No. 2 finishes the processing for the system call, but the time required for one dynamic loop of the OS of CPU 1 (here, 10 μsec) is
OS takes one loop (30μse here)
It is 1/3 compared to c).

【0049】そのため、まず初期チェックカウンタの値
をCPU2のOS(ここでは100回とする)の場合の
3倍(ここでは300回とする)に補正することによ
り、初期チェック待ち時間は16ビットCPU相互のC
PU間通信におけるものと同等(ここでは3msec )に
なる。
Therefore, first, by correcting the value of the initial check counter to three times (here, 300 times) that of the OS of the CPU 2 (here, 100 times), the initial check waiting time is 16 bits CPU. Mutual C
It is equivalent to that in the communication between PUs (here, 3 msec).

【0050】またチェック待ちカウンタの値をCPU2
のOS(ここでは10回とする)の3倍(ここでは30
回とする)に補正するか、またはリトライカウンタの値
をCPU2のOS(ここでは14回とする)の3倍(こ
こでは42回とする)に補正することにより、CPU1
のOSが定期的に共有メモリ内のCPU間通信領域の終
了情報をチェックし始めてからチェックし終わるまでの
時間(=1回ループ処理時間×チェック待ちカウンタ×
リトライ回数)は、16ビットの低速CPU相互間のC
PU間通信におけるものと同等(4.2msec )にな
る。
The value of the check waiting counter is set to the CPU2.
3 times the OS (here, 10 times) (30 here)
CPU1 by correcting the value of the retry counter to three times the OS of the CPU2 (here, 14 times) (42 times here).
From the time when the OS periodically starts checking the end information of the inter-CPU communication area in the shared memory until the end of the check (= 1 loop processing time x check waiting counter x
The number of retries is C between 16-bit low-speed CPUs.
It is the same as in PU communication (4.2 msec).

【0051】これにより、図4に示すように、低速CP
U2のOSがCPU間通信のシステムコールに対する処
理をどのタイミングで終えても、高速CPU1のOS
は共有メモリ内のCPU間通信領域の終了情報が処理終
了に書き換えられているのを正常に読み取ることがで
き、これにより図12に示すような従来技術における問
題点を解決することができる。
As a result, as shown in FIG.
Even if the OS of U2 finishes the processing for the system call for inter-CPU communication at any timing, the OS of high-speed CPU1
Can normally read that the end information of the inter-CPU communication area in the shared memory has been rewritten to the end of processing, which can solve the problem in the conventional technique as shown in FIG.

【0052】次に、図5を参照して、16ビットの低速
CPU2から32ビットの高速CPU1へCPU間通信
を行う手順について述べる。通信元CPU1が16ビッ
トの低速CPU2〜CPUnで通信先CPUが32ビッ
トの高速CPU1の場合(図13参照)は、通信先CP
U1のOSがCPU間通信システムコールに対する処理
を行う時間が通常の通信元CPU2〜CPUnの場合
の1/2になる。そのため初期チェック待ちカウンタの
値を通常の1/2にし、また、チェック待ちカウンタま
たはリトライカウンタの値を通常の1/2にする。
Next, referring to FIG. 5, a procedure for performing inter-CPU communication from the 16-bit low-speed CPU 2 to the 32-bit high-speed CPU 1 will be described. If the source CPU 1 is a 16-bit low-speed CPU2 to CPUn and the destination CPU is a 32-bit high-speed CPU 1 (see FIG. 13), the destination CP
The time required for the OS of U1 to process the inter-CPU communication system call is half that of the normal communication source CPUs 2 to CPUn. Therefore, the value of the initial check wait counter is set to 1/2 of the normal value, and the value of the check wait counter or the retry counter is set to 1/2 of the normal value.

【0053】すなわち、低速CPU2のOSが高速CP
U1に対してCPU間通信要求(処理)を行うと、C
PU2のOSは図10または図11に示す方法にて高速
CPU1のOSがシステムコールに対する処理を終え
るのを待つが、高速CPU1のOSの処理速度は低速C
PU2に比べて2倍も速い。
That is, the OS of the low-speed CPU 2 is the high-speed CP
When an inter-CPU communication request (processing) is issued to U1, C
The OS of the PU2 waits for the OS of the high-speed CPU 1 to finish the processing for the system call by the method shown in FIG. 10 or 11, but the processing speed of the OS of the high-speed CPU 1 is the low speed C.
Twice as fast as PU2.

【0054】そこで、まず初期チェックカウンタの値を
高速CPU1のOS(ここでは100回とする)の1/
2(ここでは50回とする)に補正することにより、初
期チェック待ち時間は32ビットの高速CPU相互間の
CPU間通信におけるものと同等(1.5msec )にな
る。
Therefore, first, the value of the initial check counter is 1 / th of the OS of the high-speed CPU 1 (here, 100 times).
By correcting to 2 (here, 50 times), the initial check waiting time becomes the same (1.5 msec) as in the inter-CPU communication between 32-bit high speed CPUs.

【0055】またチェック待ちカウンタの値を高速CP
U1のOS(ここでは10回とする)の1/2(ここで
は5回とする)に補正するか、またはリトライカウンタ
の値を高速CPU1のOS(ここでは14回とする)の
1/2(ここでは7回とする)に補正することにより、
低速CPU2のOSが定期的に共有メモリ内のCPU間
通信領域の終了情報をチェックし始めてからチェックし
終わるまでの時間(=1回ループ処理時間×チェック待
ちカウンタ×リトライ回数)は、32ビットの高速CP
U相互間のCPU間通信におけるものと同等(2.1m
sec )になる。
In addition, the value of the check waiting counter is set to the high-speed CP.
Correct the value of the retry counter value to 1/2 of the OS of U1 (here, 10 times) (5 times here), or set the value of the retry counter to 1/2 of the OS of high-speed CPU 1 (14 times here). By correcting to (7 times here),
The time from when the OS of the low-speed CPU 2 regularly checks the end information of the inter-CPU communication area in the shared memory to when it finishes checking (= 1 loop processing time x check waiting counter x number of retries) is 32 bits. High speed CP
Equivalent to communication between CPUs between U (2.1m
sec).

【0056】これにより、図5に示すように、通信先の
高速CPU1のOSがCPU間通信のシステムコールに
対する処理をどのタイミングで終えても、通信元の低
速CPU2のOSは共有メモリ内のCPU間通信領域の
終了情報が「処理終了」に書き換えられているのを正常
に読み取ることができ、これにより図13で説明したよ
うな従来技術における問題点を解決することができる。
As a result, as shown in FIG. 5, no matter which timing the OS of the high-speed CPU 1 of the communication destination ends the processing for the system call of the inter-CPU communication, the OS of the low-speed CPU 2 of the communication source is the CPU of the shared memory. It is possible to normally read that the end information of the inter-communication area is rewritten to "end of processing", and thus it is possible to solve the problem in the prior art as described in FIG.

【0057】最後に32ビットの高速CPUがマルチプ
ロセッサシステム内に複数存在する場合の32ビット高
速CPU相互間のCPU間通信について説明する。この
ように通信元CPUと通信先CPUの種別が同じ32ビ
ットの高速CPUの場合は、初期チェック待ちカウンタ
の値を3/2にし、チェック待ちカウンタまたはリトラ
イカウンタの値を3/2にすればよい。
Finally, the inter-CPU communication between the 32-bit high-speed CPUs when there are a plurality of 32-bit high-speed CPUs in the multiprocessor system will be described. In this way, in the case of a 32-bit high-speed CPU in which the source CPU and the destination CPU have the same type, the value of the initial check wait counter is set to 3/2 and the value of the check wait counter or the retry counter is set to 3/2. Good.

【0058】すなわち、図4および図5より、初期チェ
ック待ち時間が1.5msec で、ダイナミックループの
1回のループにかかる時間が10μsec で、(1回のル
ープ処理時間×チェック待ちカウンタ×リトライカウン
タ)の時間が2.1msec であるため、初期チェック待
ちカウンタの値を150に補正し、また(チェック待ち
カウンタ×リトライカウンタ)の値が210になるよう
に補正することにより、通信元CPUのOSは通信先C
PUのOSから「処理終了」の情報を正常に受け取るこ
とができるようになる。
That is, from FIG. 4 and FIG. 5, the initial check waiting time is 1.5 msec, the time required for one loop of the dynamic loop is 10 μsec, and (1 loop processing time × check waiting counter × retry counter) ) Is 2.1 msec, the value of the initial check waiting counter is corrected to 150, and the value of (check waiting counter x retry counter) is corrected to 210, so that the OS of the communication source CPU is corrected. Is the destination C
It becomes possible to normally receive the information of "processing completed" from the OS of the PU.

【0059】[0059]

【発明の効果】以上に説明したように、本発明によれ
ば、処理速度が異なるCPUが混在するマルチプロセッ
サシステムにおいてCPU相互間でCPU間通信を行う
にあたり、「他CPU応答無し」等の異常処理を生じさ
せたり、あるいはシステムの処理性能を低下させたりな
どすることを防ぐことができる。
As described above, according to the present invention, when performing inter-CPU communication between CPUs in a multiprocessor system in which CPUs having different processing speeds are mixed, an abnormality such as "no other CPU responds" is generated. It is possible to prevent the occurrence of processing or the deterioration of the processing performance of the system.

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

【図1】本発明に係る原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明の一実施例としてのCPU間通信方式に
おける通信元CPUと通信先CPU間の処理チェック待
ちカウンタ、チェック待ちカウンタ、リトライカウンタ
の補正方法の一例を説明する図である。
FIG. 2 is a diagram illustrating an example of a method of correcting a processing check wait counter, a check wait counter, and a retry counter between a communication source CPU and a communication destination CPU in an inter-CPU communication system as an embodiment of the present invention.

【図3】実施例方式における共有メモリ上のCPU種別
表の例を示す図である。
FIG. 3 is a diagram showing an example of a CPU type table on a shared memory in the embodiment system.

【図4】実施例方式における高速CPUから低速CPU
へのCPU間通信要求のタイムチャートを示す図であ
る。
FIG. 4 illustrates a high speed CPU to a low speed CPU in the embodiment system.
FIG. 6 is a diagram showing a time chart of an inter-CPU communication request to the CPU.

【図5】実施例方式における低速CPUから高速CPU
へのCPU間通信要求のタイムチャートを示す図であ
る。
FIG. 5 is a low-speed to high-speed CPU in the embodiment system.
FIG. 6 is a diagram showing a time chart of an inter-CPU communication request to the CPU.

【図6】マルチプロセッサシステムの構成例を示す図で
ある。
FIG. 6 is a diagram illustrating a configuration example of a multiprocessor system.

【図7】マルチプロセッサシステムにおける共有メモリ
内のCPU間通信領域の構成を示す図である。
FIG. 7 is a diagram showing a configuration of an inter-CPU communication area in a shared memory in a multiprocessor system.

【図8】CPU間通信情報書込み用固定領域の内容を説
明する図である。
FIG. 8 is a diagram illustrating the contents of a fixed area for writing communication information between CPUs.

【図9】マルチプロセッサシステムにおけるCPU間の
通信手順を説明する図である。
FIG. 9 is a diagram illustrating a communication procedure between CPUs in a multiprocessor system.

【図10】システムコール発行元のCPUのOSがCP
U間通信の終了情報をチェックする手順を示すフローチ
ャートである。
FIG. 10: The OS of the CPU that issued the system call is CP
It is a flowchart which shows the procedure which checks the completion information of communication between U.

【図11】システムコール発行元のCPUのOSがCP
U間通信の終了情報をチェックする動作を説明するタイ
ムチャートである。
FIG. 11: The OS of the CPU that issued the system call is CP
7 is a time chart illustrating an operation of checking end information of U-to-U communication.

【図12】高速CPUから低速CPUへのCPU間通信
要求を行う場合の従来技術の問題点を説明するための図
である。
FIG. 12 is a diagram for explaining a problem of the conventional technique when the inter-CPU communication request is issued from the high-speed CPU to the low-speed CPU.

【図13】低速CPUから高速CPUへのCPU間通信
要求を行う場合の従来技術の問題点を説明するための図
である。
FIG. 13 is a diagram for explaining a problem of the conventional technique when the inter-CPU communication request is issued from the low speed CPU to the high speed CPU.

【符号の説明】[Explanation of symbols]

CPU1〜CPUn 中央処理装置 11 共通メモリ 12 システムバス 21 種別記憶部 CPU1 to CPUn Central processing unit 11 Common memory 12 System bus 21 Type storage unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 処理速度の異なるCPU(CPU1〜C
PUn)の混在するマルチプロセッサシステムにおい
て、 システム内の全CPUの種別を記憶する種別記憶部(2
1)を設け、CPU間通信を行う際には通信元CPUが
該種別記憶部を参照して通信元CPUと通信先CPUの
種別を確認し、その結果に基づいて、通信元CPUが定
期的に共有メモリ内のCPU間通信領域の終了情報をチ
ェックし始めてからし終わるまでの時間をカウントする
ための各種カウンタの値を補正してCPU間通信を行う
ことを特徴としたマルチプロセッサシステムにおけるC
PU間通信方式。
1. CPUs having different processing speeds (CPU1 to C)
In a multiprocessor system in which PUN) are mixed, a type storage unit (2) that stores the types of all CPUs in the system
1) is provided, and when performing communication between CPUs, the communication source CPU refers to the type storage unit to check the types of the communication source CPU and the communication destination CPU, and based on the result, the communication source CPU periodically C in a multiprocessor system characterized by correcting the values of various counters for counting the time from the start to the end of checking the end information of the inter-CPU communication area in the shared memory and performing the inter-CPU communication
Communication method between PUs.
【請求項2】 通信元CPUと通信先CPUとの処理速
度が異なる場合に、上記各種カウンタの補正として初期
チェック待ちカウンタの値とチェック待ちカウンタまた
はリトライカウンタの値とを補正することを特徴とした
請求項1記載のマルチプロセッサシステムにおけるCP
U間通信方式。
2. When the communication source CPU and the communication destination CPU have different processing speeds, the value of the initial check wait counter and the value of the check wait counter or the retry counter are corrected as corrections of the various counters. A CP in the multiprocessor system according to claim 1.
U-to-U communication method.
JP4580993A 1993-02-10 1993-02-10 Inter-cpu communications system for multiprocessor system Withdrawn JPH06243101A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4580993A JPH06243101A (en) 1993-02-10 1993-02-10 Inter-cpu communications system for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4580993A JPH06243101A (en) 1993-02-10 1993-02-10 Inter-cpu communications system for multiprocessor system

Publications (1)

Publication Number Publication Date
JPH06243101A true JPH06243101A (en) 1994-09-02

Family

ID=12729591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4580993A Withdrawn JPH06243101A (en) 1993-02-10 1993-02-10 Inter-cpu communications system for multiprocessor system

Country Status (1)

Country Link
JP (1) JPH06243101A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077297A (en) * 2000-09-04 2002-03-15 Fujitsu Ltd Communication protocol processor by means of multiprocessor
US7716520B2 (en) 2005-02-07 2010-05-11 Fujitsu Limited Multi-CPU computer and method of restarting system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077297A (en) * 2000-09-04 2002-03-15 Fujitsu Ltd Communication protocol processor by means of multiprocessor
JP4605874B2 (en) * 2000-09-04 2011-01-05 富士通株式会社 Communication processor with multiprocessor
US7716520B2 (en) 2005-02-07 2010-05-11 Fujitsu Limited Multi-CPU computer and method of restarting system

Similar Documents

Publication Publication Date Title
US7464208B2 (en) Method and apparatus for shared resource management in a multiprocessing system
US6237108B1 (en) Multiprocessor system having redundant shared memory configuration
JPH06314205A (en) Establishment method for priority between interruption sources and data processing system
JP2821345B2 (en) Asynchronous I / O control method
JPH06243101A (en) Inter-cpu communications system for multiprocessor system
JP2772052B2 (en) Resource information inheritance processing method
JPH06332864A (en) Inter-cpu communication system for multiprocessor system
JP4451010B2 (en) Programmable controller
JP3209560B2 (en) Interrupt management method for microprocessor system
JPS59144955A (en) Information processor
JPH10240556A (en) Loossely coupled computer system with common memory
JP3029445B2 (en) Startup reception device and method
JP3047667B2 (en) Data transfer method between CPUs
JPS60142450A (en) Storage system
JPH0535507A (en) Central processing unit
JPS61248152A (en) Procedure change controlling system
JPS61165160A (en) Bus controlling system
JPS6130296B2 (en)
JPH02183342A (en) Interruption controller
JP2000090049A (en) Method for starting load module
JPH05233466A (en) Fault recovery system of doubled auxiliary storage device
JPS60220448A (en) Mutual checking method of multi-cpu system
JPH0468458A (en) Data communication processing unit
JPH03246654A (en) Method for controlling data transfer
JPH05342026A (en) Multiprocessor and synchronization control system for multiprocessor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000509