WO2008062511A1 - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

Publication number
WO2008062511A1
WO2008062511A1 PCT/JP2006/323168 JP2006323168W WO2008062511A1 WO 2008062511 A1 WO2008062511 A1 WO 2008062511A1 JP 2006323168 W JP2006323168 W JP 2006323168W WO 2008062511 A1 WO2008062511 A1 WO 2008062511A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor element
processor
communication
multiprocessor system
inter
Prior art date
Application number
PCT/JP2006/323168
Other languages
French (fr)
Japanese (ja)
Inventor
Hiromasa Takahashi
Takashi Chiba
Shunsuke Kamijo
Original Assignee
Fujitsu Limited
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 Limited filed Critical Fujitsu Limited
Priority to PCT/JP2006/323168 priority Critical patent/WO2008062511A1/en
Publication of WO2008062511A1 publication Critical patent/WO2008062511A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master

Definitions

  • the present invention relates to a multiprocessor system including a plurality of processor elements, and more particularly to a technique for improving the reliability of an embedded multiprocessor system.
  • Patent Documents 1 to 3 describe techniques for detecting a failure of a processor element in a server system! RU
  • the first processor checks the states of all other processors.
  • the second processor checks the status of all other processors. In the same way, the status of all other processors is checked in the same manner for each processor. These confirmation operations are executed periodically. According to this procedure, since the status of all the processors is regularly monitored, it is possible to reliably detect a processor failure.
  • a heartbeat path for transmitting a signal indicating that each processor is alive is provided in addition to a path for transmitting and receiving data. The failure of each processor is detected by monitoring this heartbeat path.
  • a multiprocessor system usually includes a node (hereinafter referred to as an inter-PE communication node) that transmits and receives commands and the like between processor elements without using a shared memory.
  • an inter-PE communication node a node that transmits and receives commands and the like between processor elements without using a shared memory.
  • a communication node between PEs fails, the failure may affect the entire system. Therefore, in a multiprocessor system, in addition to detecting the failure of each processor element itself, it is also important to detect a failure in the communication path between PEs. For example, the following two methods are known as conventional techniques for detecting a failure in a communication path between PEs.
  • the processor element on the receiving side of the communication path between PEs may fail, but it may be determined that the processor element on the transmitting side has failed.
  • the second method is similar to the method described in Patent Document 1, but each processor element periodically monitors all other processor elements. According to this method, a failed processor element can be reliably detected. However, this method increases the overhead of the multi-processor system and increases the time required to detect a failure.
  • an embedded system is an information processing system that is built in a target device to be controlled and controls the operation and state of the device. Examples of devices to be controlled include automobiles, aircraft, and ships. For this reason, in an embedded system, it is generally necessary to control a device without delay, and a high-speed response is required. In addition, since embedded systems are required to be low cost, The processing capacity of the mouth element is usually about a fraction of that of the processor element used in the server system. Therefore, it is not appropriate to introduce the failure detection method adopted in the server system directly into the embedded system. In particular, failures related to the communication path between PEs could not be detected easily in a short time when the processing capacity of each processor element was low.
  • Patent Document 1 Japanese Patent Laid-Open No. 63-4366
  • Patent Document 2 Japanese Patent Laid-Open No. 7-262042
  • Patent Document 3 Japanese Unexamined Patent Publication No. 2006-11992
  • An object of the present invention is to easily detect a failure related to a communication path between PEs in a short time in a multiprocessor system including a plurality of processor elements.
  • the multiprocessor system of the present invention has a configuration in which a plurality of processor elements are connected by an interprocessor communication path, and communication from the first processor element to another processor element via the interprocessor communication path has succeeded.
  • the multiprocessor system of the present invention it is possible to specify a location where a failure related to the interprocessor communication path occurs only by executing communication between the processor elements twice. it can. Therefore, even when the processing capacity of each processor element for which dedicated hardware or software is provided is low, a failure can be detected in a short time without reducing the processing capacity of the original application.
  • the first communication out of the above two communications can be realized by a normal procedure for providing the original processing of the multiprocessor system, not by a special procedure for detecting a failure. Therefore, it is possible to further speed up the failure detection process.
  • FIG. 1 is a diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an outline of a method for detecting a failure in a communication path between PEs in the multiprocessor system of the embodiment.
  • FIG. 3A A diagram showing a format of a general instruction.
  • FIG. 3B is a diagram showing a format of a status check instruction.
  • FIG. 4 is a diagram showing a configuration of a processor element.
  • FIG. 5 is a flowchart showing a procedure for detecting a failure of a communication node between PEs.
  • FIG. 1 is a diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention.
  • the multiprocessor system of the embodiment includes four processor elements (PEO to PE3).
  • Each processor element PEO to PE3 can perform independent processing in parallel.
  • processes A to D are assigned to the processor elements PEO to PE3, respectively.
  • the multiprocessor system of the embodiment is not particularly limited, but in this embodiment, it is used in an embedded system.
  • this multi-volume sensor system is incorporated into a device (for example, an automobile, an aircraft, a ship, etc.) Control the operation of the device.
  • the multiprocessor system requires a high-speed response in order to control the operation of the device without delay.
  • the processing capacity of each processor element PEO to PE3 is assumed to be lower than that of the processor used in the server system or the like.
  • the processor elements PEO to PE3 are connected to the memory bus 11, respectively.
  • An SDRAM 12 is connected to the memory bus 11.
  • the SDRAM 12 is shared by the processor elements PEO to PE3.
  • the processor elements PEO to PE3 are also connected to the iZO bus 13, respectively, and the non-volatile memory 14 is connected to the IZO bus 13 !.
  • the nonvolatile memory 14 stores a real-time OS for the processor elements ⁇ 0 to ⁇ 3, application programs to be executed by the processor elements PE0 to PE3, parameters that define the operations of the processor elements PE0 to PE3, and the like.
  • the program stored in the non-volatile memory 14 is loaded into the SDRAM 12 and used.
  • the processor elements PE0 to PE3 are connected to the LAN via the IZO bus 13.
  • the processor elements PE0 to PE3 are connected by an inter-processor communication path (hereinafter referred to as an inter-PE communication path) 15.
  • the PE communication path 15 may be a serial signal path or a parallel signal path.
  • the communication path configuration may be a bus type or a crossbar switch type.
  • Each processor element can transmit a command to a desired processor element via the inter-PE communication path 15.
  • signals for establishing synchronization between the processor elements PE0 to PE3 and data having a small capacity can be transferred using the inter-PE communication path 15.
  • the multiprocessor system shown in FIG. 1 is configured to include four processor elements.
  • the number of force processor elements is not particularly limited.
  • the configuration of the nose is not particularly limited.
  • the memory bus 11 is mainly used for transferring data (in particular, large-capacity data).
  • the inter-PE communication path 15 is used for applications that require high speed such as command transfer and signal transfer to establish synchronization between processor elements. Therefore, the inter-PE communication path 15 If a failure occurs, the effect on the entire multiprocessor system is large. Therefore, the multiprocessor system of the embodiment has a function for detecting a failure in the inter-PE communication path 15. The failure detection function will be described below.
  • FIG. 2 is a diagram illustrating an outline of a method for detecting a failure in the inter-PE communication path 15 in the multiprocessor system of the embodiment.
  • the failure of the communication path between PEs refers to the communication between PEs only due to the failure of the signal line (conductor that propagates the electrical signal or optical transmission line that propagates the optical signal) that connects the processor elements. This includes failure of the transmitting circuit of the transmitting processor element in communication using the path and failure of the receiving circuit of the receiving processor element in communication using the communication path between PEs.
  • the procedure for detecting a failure in the inter-PE communication path 15 is executed when communication via the inter-PE communication path 15 fails between a pair of processor elements.
  • the communication via the inter-PE communication path 15 includes a procedure for transmitting a command from a certain processor element to another processor element via the inter-PE communication path 15 in this embodiment.
  • the general command transmitted via the inter-PE communication node 15 includes, for example, a PE ID, a command code, and data as shown in FIG. 3A.
  • the “general instruction” is not particularly limited, but corresponds to an instruction for providing an original function of the multiprocessor system.
  • the PE—ID identifies the processor element to which the instruction is sent. Note that both the identifier of the destination processor element and the identifier of the source processor element may be written in the PE-ID area.
  • the command code indicates the operation (for example, task start / end, register value read / write, etc.) in the destination processor element.
  • Data is a parameter used when executing an instruction, and is added as necessary.
  • the processor element that has received the instruction executes processing according to the instruction and returns a status response.
  • the status response indicates whether the command has been received normally. In this embodiment, “0” is returned when the command is normally received, and “1” is returned when the command is not normally received.
  • a status check is performed.
  • Command is used.
  • the format of the status check instruction is the same as that of the general instruction.
  • the command code of the status check command is “Status Check”
  • the data of the status check command is “zero (empty)”.
  • the processor element that receives the status check command does not execute any other processing to return a status response.
  • the failure detection procedure of the embodiment will be described with reference to FIG. In the following, it is assumed that a failure in the inter-PE communication path 15 is detected between the processor element PE0 and the processor element PE1. In this case, the failure detection procedure is executed when communication between the processor elements PEO and PE1 fails. Specifically, one processor element (PE0) is executed when an instruction is issued to the other processor element (PE1).
  • the processor element PEO issues a general command for inter-PE communication and transmits it to the processor element PE 1 via the inter-PE communication path 15.
  • the PE—ID of this instruction contains a value that identifies the processor element PE1.
  • the command code indicates the processing to be executed by the processor element PE1.
  • the failure detection procedure of the embodiment it is possible to specify the location of the failure relating to the inter-PE communication path 15 only by issuing two commands. In other words, it is possible to quickly detect a failure related to the inter-PE communication path 15 without adding dedicated hardware for failure detection or special monitoring software. In addition, the processing amount of the processor element required for this failure detection is small. In addition, the first of these two instructions is for normal processing of a multiprocessor system, so only one status check instruction is issued for fault detection. Therefore, the time required for failure detection is very short.
  • FIG. 4 is a diagram showing a configuration of each processor element. Here, the communication between PEs If the function is not directly related to the function, it is omitted.
  • Each processor element is connected to a communication path 15 between PEs.
  • the inter-PE communication node 15 is composed of a communication packet path 16 for transferring commands and data and a communication status path 17 for transferring status response signals.
  • Each processor element includes a processor core 21.
  • the processor core 21 provides a corresponding function by executing a given program.
  • the processor core 21 includes an instruction cache 22 and a data cache 23.
  • the transmission buffer 31 temporarily holds the instruction packet generated by the processor core 21.
  • the instruction packet read from the transmission buffer 31 is output to the communication packet path 16.
  • the instruction packet output to the communication packet path 16 is written to the reception buffer 32 of each processor element.
  • the decoder 33 takes out the instruction packet from the reception buffer 32 and decodes the PE-ID and the command code. At this time, if the PE-ID as the destination address indicates another processor element, the received instruction packet is discarded. Further, the decoder 33 checks whether or not the command code is normal. The checking method is not particularly limited. For example, the received command code power is checked to determine whether it matches any one of a plurality of predefined command codes. In this case, if the received command code matches one of the predefined command codes, it is determined that the command has been received normally. On the other hand, if the received command code does not match any of the predefined command codes, it is determined that the command has not been received normally. As another method, it is possible to determine whether or not the command has been successfully received using the NORITY bit. Then, when the instruction is normally received, the decoder 33 gives the instruction to the processor core 21.
  • the status response generator 34 generates a status response according to the decoding result by the decoder 33.
  • a status response notifying “0” is generated when the command is normally received
  • a status response notifying “1” is generated when the command cannot be normally received.
  • the generated status response is temporarily held in the status signal transmission buffer 35 with the PE-ID of the processor element added.
  • Caro with PE-ID There are two methods: adding the PE-ID on the receiving side and adding the PE-ID on the transmitting side. Here, the PE-ID on the receiving side is added.
  • the status response read from the status signal transmission notfer 35 is output to the communication status path 17.
  • the status response output to the communication status path 17 is written to the status signal reception buffer 36 of each processor element.
  • the status check unit 37 checks the status response held in the status signal reception buffer 36 and notifies the processor core 21 of the result. In this case, if the PE-ID in the status response indicates something other than the destination processor element, the received status is discarded.
  • FIG. 5 is a flowchart showing a procedure for detecting a failure in the inter-PE communication path 15. This process is executed by the processor core 21 of an arbitrary processor element (here, the processor element (a)).
  • step S1 a general instruction is generated and transmitted to the processor element Hb) via the inter-PE communication path 15.
  • step S2 it is checked whether the above instruction has been successfully received by the processor element (b). If the status response returned from the processor element (b) is “0”, it is determined that the instruction has been normally received by the processor element (b). On the other hand, the status response returned from the processor element (b) If the answer is “1”, it is determined that the above command has not been received normally by the processor element (b). Note that if the command is issued in step S1 and the force fails to receive the status response within the predetermined time, it is determined that the command transmission has failed.
  • step S 3 a state check command is generated and transmitted to the processor element (c) via the inter-PE communication path 15.
  • the processor element (c) is an arbitrary processor element other than the processor element (b).
  • step S4 the same check as in step S2 is performed. If the returned status response is “1”, the process proceeds to step S5.
  • the processor element (a) also fails to send a command for the deviation between the processor element (b) and the processor element (c)! Therefore, it is determined that the transmission circuit of the processor element (a) has failed.
  • the transmission circuit of the plugging element is, for example, the transmission buffer 31.
  • Processor element ( c ) force If the returned status response is "0", proceed to step S6. In this case, the processor element (a) failed to transmit the instruction to the processor element (b), but the instruction transmission to the processor element (c) was successful. Therefore, it is determined that the receiving circuit of the processor element (b) has failed.
  • the reception circuit of the processor element is, for example, a reception buffer 32, a decoder 33, a status response generation unit 34, and a status signal transmission buffer 35. Thereafter, another processor element may be notified that the processor element (b) has failed.
  • the dedicated status check instruction is used as the second instruction after the failure of the first instruction.
  • the present invention is not limited to this method. In other words, the same effect can be obtained by using a general instruction as the second instruction and performing dummy processing in the processor element to which the instruction is transmitted.
  • the communication destination processor element to which the second instruction is to be transmitted is any processor element as long as it is a processor element other than the transmission destination of the first instruction. Element.
  • the first command and the second command are issued in order to improve the force detection accuracy in which the first command and the second command are issued only once to perform fault detection. Life Even if you send the command repeatedly several times,

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

A processor element (PE0) transmits a command to a processor element (PE1) via an inter-PE communication path. If a status response received from the processor element (PE1) shows an abnormal state, the processor element (PE0) transmits a state check command to a processor element (PE2) via an inter-PE communication path. When the communication between the processor element (PE0) and the processor element (PE2) is successful, it is determined that the receiving circuit of the processor element (PE1) is out of order. When the communication between the processor element (PE0) and the processor element (PE2) is failed, it is determined that the transmitting circuit of the processor element (PE0) is out of order.

Description

明 細 書  Specification
マノレチプロセッサシステム  Manolet processor system
技術分野  Technical field
[0001] 本発明は、複数のプロセッサエレメントを備えるマルチプロセッサシステムに係わり、 特に、組込み型マルチプロセッサシステムの信頼性を向上させる技術に係わる。 背景技術  The present invention relates to a multiprocessor system including a plurality of processor elements, and more particularly to a technique for improving the reliability of an embedded multiprocessor system. Background art
[0002] マルチプロセッサシステムに内蔵されるプロセッサエレメントの故障を検出するため の技術が提案されている。例えば、下記の特許文献 1〜3には、サーバシステムにお V、てプロセッサエレメントの故障を検出する技術が記載されて!、る。  [0002] Techniques for detecting a failure of a processor element built in a multiprocessor system have been proposed. For example, the following Patent Documents 1 to 3 describe techniques for detecting a failure of a processor element in a server system! RU
[0003] 特許文献 1に記載の方式では、まず、第 1のプロセッサが他のすべてのプロセッサ の状態を確認する。続いて、第 2のプロセッサが他のすべてのプロセッサの状態を確 認する。以下、同様に、各プロセッサ力 順次、他のすべてのプロセッサの状態を確 認する。そして、これらの確認動作は、定期的に実行される。この手順によれば、す ベてのプロセッサの状態が定期的に監視されるので、プロセッサの故障を確実に検 出することができる。  [0003] In the method described in Patent Document 1, first, the first processor checks the states of all other processors. Subsequently, the second processor checks the status of all other processors. In the same way, the status of all other processors is checked in the same manner for each processor. These confirmation operations are executed periodically. According to this procedure, since the status of all the processors is regularly monitored, it is possible to reliably detect a processor failure.
[0004] 特許文献 2に記載の方法では、共有バスにより結合された複数のプロセッサが予め 決められた順番で動作確認信号を転送する。各プロセッサは、動作確認信号を受信 すると、次のプロセッサにその動作確認信号を転送すると共に、前段のプロセッサに 応答信号を返送する。そして、各プロセッサは、所定時間内に応答信号を受信でき なかったときは、障害が発生したものと判断して復旧手順を実行する。これにより、故 障の疑いのあるプロセッサが検出される。  [0004] In the method described in Patent Document 2, a plurality of processors coupled by a shared bus transfer operation confirmation signals in a predetermined order. When each processor receives the operation confirmation signal, it forwards the operation confirmation signal to the next processor and returns a response signal to the previous processor. When each processor fails to receive a response signal within a predetermined time, it determines that a failure has occurred and executes a recovery procedure. This detects a processor that is suspected of failing.
[0005] 特許文献 3に記載のシステムでは、データを送受信するためのパスとは別に、各プ 口セッサが生存していることを表す信号を送信するためのハートビートパスが設けられ ている。そして、このハートビートパスを監視することにより、各プロセッサの故障が検 出される。  [0005] In the system described in Patent Document 3, a heartbeat path for transmitting a signal indicating that each processor is alive is provided in addition to a path for transmitting and receiving data. The failure of each processor is detected by monitoring this heartbeat path.
[0006] また、マルチプロセッサシステムは、通常、共有メモリを介することなくプロセッサェ レメント間でコマンド等を送受信するノ ス(以下、 PE間通信ノ ス)を備えている。ここ で、 PE間通信ノ スが故障すると、その故障の影響がシステム全体に及ぶおそれがあ る。よって、マルチプロセッサシステムにおいては、各プロセッサエレメント自体の故 障を検出することに加えて、 PE間通信パスの故障を検出することも重要である。そし て、 PE間通信パスの故障を検出する従来技術としては、例えば、下記の 2つの方法 が知られている。 [0006] In addition, a multiprocessor system usually includes a node (hereinafter referred to as an inter-PE communication node) that transmits and receives commands and the like between processor elements without using a shared memory. here If a communication node between PEs fails, the failure may affect the entire system. Therefore, in a multiprocessor system, in addition to detecting the failure of each processor element itself, it is also important to detect a failure in the communication path between PEs. For example, the following two methods are known as conventional techniques for detecting a failure in a communication path between PEs.
[0007] 第 1の方法では、 PE間通信パスを介して行った通信が失敗した場合に、その送信 元のプロセッサエレメントが故障しているものと判断される。この方法によれば、故障 判定に要する時間は短ぐまた、処理量も少ない。しかし、この方法では、 PE間通信 パスの受信側のプロセッサエレメントが故障して 、るにもかかわらず、送信側のプロセ ッサエレメントが故障したものと判断されるおそれがある。  [0007] In the first method, when communication performed via a communication path between PEs fails, it is determined that the processor element of the transmission source has failed. According to this method, the time required for failure determination is short and the processing amount is small. However, with this method, the processor element on the receiving side of the communication path between PEs may fail, but it may be determined that the processor element on the transmitting side has failed.
[0008] 第 2の方法では、特許文献 1に記載の方法と類似するが、各プロセッサエレメントが それぞれ定期的に他のすべてのプロセッサエレメントを監視する。この方法によれば 、故障したプロセッサエレメントを確実に検出できる。しかし、この方法では、マルチプ 口セッサシステムのオーバーヘッドが大きぐまた、故障を検出するために要する時間 が長くなる。  [0008] The second method is similar to the method described in Patent Document 1, but each processor element periodically monitors all other processor elements. According to this method, a failed processor element can be reliably detected. However, this method increases the overhead of the multi-processor system and increases the time required to detect a failure.
[0009] ところで、高い信頼性が要求されるサーバシステムにおける故障検出は、その確実 性をいかに向上させるかが主眼となっている。このため、サーバシステムは、故障を 監視するための専用のハードウェア回路あるいはソフトウェア、またはその両方を備 えていることが多い。ここで、前記ソフトウェアを実装する場合、本来のアプリケーショ ン処理能力を低下させな 、ようにするためには処理能力の高 、プロセッサエレメント が必要であり、そのためのコストも上昇する。また、前記ハードウェア回路を実装する 場合にも同様にコストが上昇する。  [0009] By the way, failure detection in a server system that requires high reliability mainly focuses on how to improve the certainty. For this reason, server systems often have dedicated hardware circuitry and / or software to monitor for failures. Here, when the software is installed, in order not to lower the original application processing capability, a high processing capability and a processor element are required, and the cost for the processing also increases. Similarly, the cost increases when the hardware circuit is mounted.
[0010] ところが、マルチプロセッサシステムは、サーバシステムだけでなぐ近年では、組込 みシステムにも広く使用されるようになってきている。ここで、組込みシステムとは、制 御すべき対象の装置に内蔵され、その装置の動作や状態を制御する情報処理シス テムである。制御すべき対象の装置は、例えば、 自動車、航空機、船舶などである。 このため、組込みシステムにおいては、一般に、装置を遅延なく制御する必要があり 、高速応答が要求される。また、組込みシステムは低コストィ匕が要求されるので、各プ 口セッサエレメントの処理能力は、通常、サーバシステムにおいて使用されるプロセッ サエレメントと比較して数分の一程度と低くなつている。したがって、サーバシステム で採用されている故障検出方法を組込みシステムにそのまま導入することは適切で はない。特に、 PE間通信パスに係わる故障は、各プロセッサエレメントの処理能力が 低い場合には、短い時間で簡便に検出することは出来な力つた。 [0010] However, multiprocessor systems have come to be widely used in embedded systems in recent years as well as server systems alone. Here, an embedded system is an information processing system that is built in a target device to be controlled and controls the operation and state of the device. Examples of devices to be controlled include automobiles, aircraft, and ships. For this reason, in an embedded system, it is generally necessary to control a device without delay, and a high-speed response is required. In addition, since embedded systems are required to be low cost, The processing capacity of the mouth element is usually about a fraction of that of the processor element used in the server system. Therefore, it is not appropriate to introduce the failure detection method adopted in the server system directly into the embedded system. In particular, failures related to the communication path between PEs could not be detected easily in a short time when the processing capacity of each processor element was low.
特許文献 1:特開昭 63 -4366号公報  Patent Document 1: Japanese Patent Laid-Open No. 63-4366
特許文献 2:特開平 7— 262042号公報  Patent Document 2: Japanese Patent Laid-Open No. 7-262042
特許文献 3:特開 2006 - 11992号公報  Patent Document 3: Japanese Unexamined Patent Publication No. 2006-11992
発明の開示  Disclosure of the invention
[0011] 本発明の目的は、複数のプロセッサエレメントを備えるマルチプロセッサシステムに おいて、 PE間通信パスに係わる故障を短い時間で簡便に検出することである。 本発明のマルチプロセッサシステムは、複数のプロセッサエレメントがプロセッサ間 通信パスで接続された構成であり、第 1のプロセッサエレメントから他のプロセッサェ レメントへの前記プロセッサ間通信パスを介した通信が成功した力否かを検出する検 出手段と、前記第 1のプロセッサエレメントから第 2のプロセッサエレメントへの通信が 失敗したときに、前記第 1のプロセッサエレメントから第 3のプロセッサエレメントへの 前記プロセッサ間通信パスを介した通信を実行する通信手段と、前記第 1のプロセッ サエレメントから前記第 3のプロセッサエレメントへの通信が成功した場合には、前記 第 2のプロセッサエレメントにおいて故障が発生していると判断し、前記第 1のプロセ ッサエレメントから前記第 3のプロセッサエレメントへの通信が失敗した場合には、前 記第 1のプロセッサエレメントにおいて故障が発生していると判断する判断手段、を 有する。  An object of the present invention is to easily detect a failure related to a communication path between PEs in a short time in a multiprocessor system including a plurality of processor elements. The multiprocessor system of the present invention has a configuration in which a plurality of processor elements are connected by an interprocessor communication path, and communication from the first processor element to another processor element via the interprocessor communication path has succeeded. Detecting means for detecting whether or not the power, and communication between the first processor element to the third processor element when communication from the first processor element to the second processor element fails. If communication means for performing communication via a path and communication from the first processor element to the third processor element are successful, a failure has occurred in the second processor element. Determining the third processor element from the first processor element. And determining means for determining that a failure has occurred in the first processor element when communication with the first processor fails.
[0012] 上記マルチプロセッサシステムにおいて、第 1のプロセッサエレメントから第 2のプロ セッサエレメントへの通信が失敗したときは、第 1のプロセッサエレメントまたは第 2の プロセッサエレメントのいずれか一方が故障していると考えられる力 どちらのプロセ ッサエレメントが故障しているのかを特定することはできない。そこで、第 1のプロセッ サエレメントは、第 3のプロセッサエレメントとの通信を試みる。この結果、第 1のプロセ ッサエレメントから第 3のプロセッサエレメントへの通信が成功した場合には、第 1のプ 口セッサエレメントには問題はないので、第 2のプロセッサエレメントが故障していると 判断される。一方、第 1のプロセッサエレメントから第 3のプロセッサエレメントへの通 信が失敗した場合には、第 1のプロセッサエレメントが故障していると判断される。 [0012] In the above multiprocessor system, when communication from the first processor element to the second processor element fails, either the first processor element or the second processor element has failed. It is not possible to determine which processor element is faulty. The first processor element then attempts to communicate with the third processor element. As a result, if communication from the first processor element to the third processor element is successful, the first processor element is used. Since there is no problem with the mouth sensor element, it is determined that the second processor element has failed. On the other hand, if communication from the first processor element to the third processor element fails, it is determined that the first processor element has failed.
[0013] このように、本発明のマルチプロセッサシステムにおいては、 2回のプロセッサエレメ ント間通信を実行するだけで、プロセッサ間通信パスの係わる故障が発生して 、る箇 所を特定することができる。よって、専用のハードウェアまたはソフトウェアを設けるこ となぐ各プロセッサエレメントの処理能力が低い場合であっても、本来のアプリケー シヨンの処理能力を低下させることなぐ短い時間で故障を検出できる。特に、上記 2 回の通信のうちの 1回目の通信は、故障を検出するための特別の手順ではなぐマ ルチプロセッサシステムの本来の処理を提供するための通常の手順により実現する ことができる。よって、故障検出処理のさらなる高速ィ匕が可能となる。 [0013] Thus, in the multiprocessor system of the present invention, it is possible to specify a location where a failure related to the interprocessor communication path occurs only by executing communication between the processor elements twice. it can. Therefore, even when the processing capacity of each processor element for which dedicated hardware or software is provided is low, a failure can be detected in a short time without reducing the processing capacity of the original application. In particular, the first communication out of the above two communications can be realized by a normal procedure for providing the original processing of the multiprocessor system, not by a special procedure for detecting a failure. Therefore, it is possible to further speed up the failure detection process.
図面の簡単な説明  Brief Description of Drawings
[0014] [図 1]本発明の実施形態のマルチプロセッサシステムの構成を示す図である。 FIG. 1 is a diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention.
[図 2]実施形態のマルチプロセッサシステムにおいて PE間通信パスの故障を検出す る方法の概要を説明する図である。  FIG. 2 is a diagram illustrating an outline of a method for detecting a failure in a communication path between PEs in the multiprocessor system of the embodiment.
[図 3A]—般命令のフォーマットを示す図である。  [FIG. 3A] —A diagram showing a format of a general instruction.
[図 3B]状態チェック命令のフォーマットを示す図である。  FIG. 3B is a diagram showing a format of a status check instruction.
[図 4]プロセッサエレメントの構成を示す図である。  FIG. 4 is a diagram showing a configuration of a processor element.
[図 5]PE間通信ノ スの故障を検出する手順を示すフローチャートである。  FIG. 5 is a flowchart showing a procedure for detecting a failure of a communication node between PEs.
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0015] 図 1は、本発明の実施形態のマルチプロセッサシステムの構成を示す図である。こ こでは、実施形態のマルチプロセッサシステムは、 4個のプロセッサエレメント(PEO〜 PE3)を備えている。また、各プロセッサエレメント PEO〜PE3は、それぞれ独立した 処理を並列に行うことができる。図 1に示す例では、プロセッサエレメント PEO〜PE3 に対してそれぞれ処理 A〜Dが割り当てられて ヽる。  FIG. 1 is a diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention. Here, the multiprocessor system of the embodiment includes four processor elements (PEO to PE3). Each processor element PEO to PE3 can perform independent processing in parallel. In the example shown in FIG. 1, processes A to D are assigned to the processor elements PEO to PE3, respectively.
[0016] 実施形態のマルチプロセッサシステムは、特に限定されるものではないが、この実 施例では、組込みシステムにおいて使用されるものとする。すなわち、このマルチプ 口セッサシステムは、装置 (例えば、自動車、航空機、船舶など)に組み込まれ、その 装置の動作を制御する。この場合、マルチプロセッサシステムは、その装置の動作を 遅延なく制御するために、高速応答が要求される。ただし、組込みシステムは低コスト 化が要求されるため、各プロセッサエレメント PEO〜PE3の処理能力は、サーバシス テム等で使用されて 、るプロセッサと比較して低 、ものとする。 The multiprocessor system of the embodiment is not particularly limited, but in this embodiment, it is used in an embedded system. In other words, this multi-volume sensor system is incorporated into a device (for example, an automobile, an aircraft, a ship, etc.) Control the operation of the device. In this case, the multiprocessor system requires a high-speed response in order to control the operation of the device without delay. However, since the embedded system is required to reduce the cost, the processing capacity of each processor element PEO to PE3 is assumed to be lower than that of the processor used in the server system or the like.
[0017] プロセッサエレメント PEO〜PE3は、それぞれメモリバス 11に接続されて!、る。メモリ バス 11には、 SDRAM 12が接続されている。 SDRAM12は、プロセッサエレメント P EO〜PE3により共有される。また、プロセッサエレメント PEO〜PE3は、それぞれ iZ Oバス 13にも接続されており、 IZOバス 13には不揮発性メモリ 14が接続されて!、る 。不揮発性メモリ 14には、プロセッサエレメント ΡΕ0〜ΡΕ3のためのリアルタイム OS、 プロセッサエレメント PE0〜PE3が実行すべきアプリケーションプログラム、プロセッ サエレメント PE0〜PE3の動作を定義するパラメータ等が格納されている。そして、不 揮発性メモリ 14に格納されているプログラム等は、 SDRAM 12にロードされて使用さ れる。なお、プロセッサエレメント PE0〜PE3は、 IZOバス 13を介して LANに接続さ れている。 [0017] The processor elements PEO to PE3 are connected to the memory bus 11, respectively. An SDRAM 12 is connected to the memory bus 11. The SDRAM 12 is shared by the processor elements PEO to PE3. The processor elements PEO to PE3 are also connected to the iZO bus 13, respectively, and the non-volatile memory 14 is connected to the IZO bus 13 !. The nonvolatile memory 14 stores a real-time OS for the processor elements ΡΕ0 to ΡΕ3, application programs to be executed by the processor elements PE0 to PE3, parameters that define the operations of the processor elements PE0 to PE3, and the like. The program stored in the non-volatile memory 14 is loaded into the SDRAM 12 and used. The processor elements PE0 to PE3 are connected to the LAN via the IZO bus 13.
[0018] プロセッサエレメント PE0〜PE3間は、プロセッサ間通信パス(以下、 PE間通信パ ス) 15により接続されている。 PE間通信パス 15は、シリアル信号パスであってもよい し、パラレル信号パスであってもよい。また、通信パスの構成もバス型であっても良い し、クロスバスイッチ型であっても良い。そして、各プロセッサエレメントは、 PE間通信 パス 15を介して所望のプロセッサエレメントへコマンドを送信することができる。また、 プロセッサエレメント PE0〜PE3間の同期を確立するための信号および容量の小さ なデータは、 PE間通信パス 15を利用して転送することも可能である。  [0018] The processor elements PE0 to PE3 are connected by an inter-processor communication path (hereinafter referred to as an inter-PE communication path) 15. The PE communication path 15 may be a serial signal path or a parallel signal path. Also, the communication path configuration may be a bus type or a crossbar switch type. Each processor element can transmit a command to a desired processor element via the inter-PE communication path 15. In addition, signals for establishing synchronization between the processor elements PE0 to PE3 and data having a small capacity can be transferred using the inter-PE communication path 15.
[0019] なお、図 1に示すマルチプロセッサシステムは、 4個のプロセッサエレメントを備える 構成である力 プロセッサエレメントの個数は特に限定されるものではない。また、ノ スの構成も特に限定されるものではな 、。  Note that the multiprocessor system shown in FIG. 1 is configured to include four processor elements. The number of force processor elements is not particularly limited. Also, the configuration of the nose is not particularly limited.
[0020] 上記構成のマルチプロセッサシステムにおいて、メモリバス 11は、主に、データ(特 に、大容量のデータ)を転送するために使用される。これに対して、 PE間通信パス 15 は、コマンドの転送、およびプロセッサエレメント間の同期を確立するための信号の転 送などの高速性が必要とされる用途に使用される。したがって、 PE間通信パス 15に おいて故障が発生すると、マルチプロセッサシステム全体に及ぼす影響は大きい。そ こで、実施形態のマルチプロセッサシステムは、 PE間通信パス 15の故障を検出する ための機能を備える。以下、この故障検出機能について説明する。 In the multiprocessor system configured as described above, the memory bus 11 is mainly used for transferring data (in particular, large-capacity data). In contrast, the inter-PE communication path 15 is used for applications that require high speed such as command transfer and signal transfer to establish synchronization between processor elements. Therefore, the inter-PE communication path 15 If a failure occurs, the effect on the entire multiprocessor system is large. Therefore, the multiprocessor system of the embodiment has a function for detecting a failure in the inter-PE communication path 15. The failure detection function will be described below.
[0021] 図 2は、実施形態のマルチプロセッサシステムにおいて PE間通信パス 15の故障を 検出する方法の概要を説明する図である。ここで、 「PE間通信パスの故障」とは、プ 口セッサエレメント間を接続する信号線 (電気信号を伝搬する導体、または光信号を 伝搬する光伝送路)の故障だけでなぐ PE間通信パスを利用した通信における送信 側プロセッサエレメントの送信回路の故障、および PE間通信パスを利用した通信に おける受信側プロセッサエレメントの受信回路の故障を含むものとする。  FIG. 2 is a diagram illustrating an outline of a method for detecting a failure in the inter-PE communication path 15 in the multiprocessor system of the embodiment. Here, the failure of the communication path between PEs refers to the communication between PEs only due to the failure of the signal line (conductor that propagates the electrical signal or optical transmission line that propagates the optical signal) that connects the processor elements. This includes failure of the transmitting circuit of the transmitting processor element in communication using the path and failure of the receiving circuit of the receiving processor element in communication using the communication path between PEs.
[0022] PE間通信パス 15の故障を検出する手順は、 1組のプロセッサエレメント間において PE間通信パス 15を介した通信が失敗したことを契機として実行される。ここで、 PE 間通信パス 15を介した通信は、この実施例では、あるプロセッサエレメントから PE間 通信パス 15を介して他のプロセッサエレメントへ命令を送信する手順を含むものとす る。  [0022] The procedure for detecting a failure in the inter-PE communication path 15 is executed when communication via the inter-PE communication path 15 fails between a pair of processor elements. Here, the communication via the inter-PE communication path 15 includes a procedure for transmitting a command from a certain processor element to another processor element via the inter-PE communication path 15 in this embodiment.
[0023] PE間通信ノ ス 15を介して送信される一般命令は、例えば、図 3Aに示すように、 P E— ID、コマンドコード、データから構成される。ここで、「一般命令」とは、特に限定さ れるものではな 、が、マルチプロセッサシステムの本来の機能を提供するための命令 に相当する。 PE— IDは、命令の送信先のプロセッサエレメントを識別する。なお、 P E— ID領域には、送信先プロセッサエレメントの識別子および送信元プロセッサエレ メントの識別子の双方を書き込むようにしてもよい。コマンドコードは、送信先のプロセ ッサエレメントにおける動作 (例えば、タスクの起動/終了、レジスタ値のリード/ライト 等)を指示する。データは、命令を実行する際に使用されるパラメータ等であり、必要 に応じて付加される。  [0023] The general command transmitted via the inter-PE communication node 15 includes, for example, a PE ID, a command code, and data as shown in FIG. 3A. Here, the “general instruction” is not particularly limited, but corresponds to an instruction for providing an original function of the multiprocessor system. The PE—ID identifies the processor element to which the instruction is sent. Note that both the identifier of the destination processor element and the identifier of the source processor element may be written in the PE-ID area. The command code indicates the operation (for example, task start / end, register value read / write, etc.) in the destination processor element. Data is a parameter used when executing an instruction, and is added as necessary.
[0024] 命令を受信したプロセッサエレメントは、その命令に応じた処理を実行すると共に、 ステータス応答を返送する。ステータス応答は、命令を正常に受信した否かを表す。 この実施例では、命令を正常に受信した場合には「0」が返送され、命令を正常に受 信できなかった場合には「1」が返送される。  The processor element that has received the instruction executes processing according to the instruction and returns a status response. The status response indicates whether the command has been received normally. In this embodiment, “0” is returned when the command is normally received, and “1” is returned when the command is not normally received.
[0025] 実施形態のマルチプロセッサシステムでは、上述した一般命令の他に、状態チェッ ク命令が使用される。状態チェック命令のフォーマットは、一般命令と同じである。た だし、状態チェック命令のコマンドコードは「Status Check」であり、また、状態チェック 命令のデータは「ゼロ(空)」である。そして、状態チェック命令を受信したプロセッサ エレメントは、ステータス応答を返送する力 他の処理は実行しない。 In the multiprocessor system of the embodiment, in addition to the general instructions described above, a status check is performed. Command is used. The format of the status check instruction is the same as that of the general instruction. However, the command code of the status check command is “Status Check”, and the data of the status check command is “zero (empty)”. The processor element that receives the status check command does not execute any other processing to return a status response.
[0026] 次に、図 2を参照しながら、実施形態の故障検出手順を説明する。以下では、プロ セッサエレメント PE0とプロセッサエレメント PE1との間で PE間通信パス 15の故障を 検出するものとする。この場合、故障検出手順は、プロセッサエレメント PEO、 PE1間 での通信が失敗したことを契機として実行される。具体的には、一方のプロセッサェ レメント(PE0)力 他方のプロセッサエレメント(PE1)への命令の発行を契機として 実行される。 Next, the failure detection procedure of the embodiment will be described with reference to FIG. In the following, it is assumed that a failure in the inter-PE communication path 15 is detected between the processor element PE0 and the processor element PE1. In this case, the failure detection procedure is executed when communication between the processor elements PEO and PE1 fails. Specifically, one processor element (PE0) is executed when an instruction is issued to the other processor element (PE1).
[0027] (1)プロセッサエレメント PEOは、 PE間通信向け一般命令を発行し、 PE間通信パス 15を介してプロセッサエレメント PE1へ送信する。この命令の PE— IDには、プロセッ サエレメント PE1を識別する値が書き込まれている。また、コマンドコードは、プロセッ サエレメント PE1が実行すべき処理を表示する。  (1) The processor element PEO issues a general command for inter-PE communication and transmits it to the processor element PE 1 via the inter-PE communication path 15. The PE—ID of this instruction contains a value that identifies the processor element PE1. The command code indicates the processing to be executed by the processor element PE1.
[0028] プロセッサエレメント PE1は、 PE間通信パス 15を介してこの命令を正常に受信した ときは、その命令に対応する処理を実行するとともに、プロセッサエレメント PEOに「ス テータス応答 =0 (正常)」を返送する。一方、プロセッサエレメント PE1は、この命令 を正常に受信できな力 たときは (すなわち、異常信号を受信したときは)、プロセッ サエレメント PE0に「ステータス応答 = 1 (異常)」を返送する。なお、「命令を正常に受 信する」とは、例えば、予め定義されているコマンドコードの中のいずれか 1つが検出 されることを意味する。  [0028] When the processor element PE1 normally receives this instruction via the inter-PE communication path 15, the processor element PE1 executes a process corresponding to the instruction and also sends a status response = 0 (normal) to the processor element PEO. ". On the other hand, when the processor element PE1 cannot properly receive this command (that is, when an abnormal signal is received), it returns “status response = 1 (abnormal)” to the processor element PE0. “Receiving a command normally” means, for example, that any one of predefined command codes is detected.
[0029] (2)上記(1)で発行した命令に対するステータス応答が「0 (正常)」であれば、プロ セッサエレメント PE0、 PE1間の PE間通信パス 15は正常であると判断し、通常の動 作を継続する。  [0029] (2) If the status response to the instruction issued in (1) above is “0 (normal)”, it is determined that the inter-PE communication path 15 between the processor elements PE0 and PE1 is normal, and Continue the operation.
[0030] (3)上記(1)で発行した命令に対するステータス応答が「1 (異常)」であったとき、あ るいは、その命令の発行力も所定時間内に対応するステータス応答を受信できなか つたときは、プロセッサエレメント PEOは、プロセッサエレメント PEO、 PE1間の PE間 通信パス 15が故障していると判断する。この場合、プロセッサエレメント PEOは、状態 チェック命令を、 PE間通信パス 15を介してプロセッサエレメント PE1以外のプロセッ サエレメントへ送信する。ここでは、プロセッサエレメント PE2へ状態チェック命令が送 信されるものとする。そして、プロセッサエレメント PE2は、状態チェック命令を正常に 受信したときは、「ステータス応答 =0 (正常)」を返送し、状態チェック命令を正常に 受信できな力つたときは、「ステータス応答 = 1 (異常)」を返送する。 [0030] (3) When the status response to the instruction issued in (1) above is “1 (abnormal)”, or the issue power of the instruction cannot receive the corresponding status response within the predetermined time. In such a case, the processor element PEO determines that the inter-PE communication path 15 between the processor elements PEO and PE1 has failed. In this case, the processor element PEO A check command is transmitted to the processor element other than processor element PE1 via the inter-PE communication path 15. Here, it is assumed that a status check command is sent to processor element PE2. When the processor element PE2 receives the status check command normally, it returns "status response = 0 (normal)", and when it cannot successfully receive the status check command, processor element PE2 returns "status response = 1 (Abnormal) "is returned.
[0031] (4)上記状態チェック命令に対するステータス応答が「1 (異常)」であったとき、ある いは、その命令の発行力 所定時間内に対応するステータス応答を受信できなかつ たときは、プロセッサエレメント PEOは、プロセッサエレメント PEOの送信回路が故障し ていると判断する。 [0031] (4) When the status response to the status check command is “1 (abnormal)”, or when the status response corresponding to the command issuance within a predetermined time cannot be received, The processor element PEO determines that the transmission circuit of the processor element PEO has failed.
[0032] (5)上記状態チヱック命令に対するステータス応答が「0 (正常)」であれば、プロセ ッサエレメント PEOは、プロセッサエレメント PE1の受信回路が故障していると判断す る。  (5) If the status response to the state check instruction is “0 (normal)”, the processor element PEO determines that the receiving circuit of the processor element PE1 has failed.
[0033] (6)故障が検出されたプロセッサエレメントは、マルチプロセッサシステム力 切り離 される。この場合、故障が検出されたプロセッサエレメントにより実行されていた処理 は、以降、他のプロセッサエレメントにより実行されるようにしてもよい。  [0033] (6) The processor element in which the failure is detected is disconnected from the multiprocessor system. In this case, the processing executed by the processor element in which the failure is detected may be executed by another processor element thereafter.
[0034] このように、実施形態の故障検出手順によれば、 2つの命令を発行するだけで PE 間通信パス 15に係わる故障の発生場所を特定することができる。すなわち、故障検 出のための専用ハードウェアあるいは特別な監視用ソフトウェアを追加することなぐ PE間通信パス 15に関する故障を高速検出することができる。また、この故障検出の ために必要となるプロセッサエレメントの処理量も少ない。さらに、上記 2つの命令のう ちの 1つ目の命令は、マルチプロセッサシステムの通常の処理のための命令なので、 故障検出のために発行される命令は 1つの状態チェック命令だけである。したがって 、故障検出のために要する時間は非常に短くなる。  Thus, according to the failure detection procedure of the embodiment, it is possible to specify the location of the failure relating to the inter-PE communication path 15 only by issuing two commands. In other words, it is possible to quickly detect a failure related to the inter-PE communication path 15 without adding dedicated hardware for failure detection or special monitoring software. In addition, the processing amount of the processor element required for this failure detection is small. In addition, the first of these two instructions is for normal processing of a multiprocessor system, so only one status check instruction is issued for fault detection. Therefore, the time required for failure detection is very short.
[0035] なお、上記(4)のケースでは、プロセッサエレメント PEOの送信回路が故障して!/、る のではなぐ PE間通信パス 15が断線している可能性も考えられる。ただし、 PE間通 信パス 15が断線しているものとすると、基本的に、 PE間通信パス 15を介するすべて の通信が停止する。  [0035] In the case of (4) above, there is a possibility that the communication circuit 15 between PEs is disconnected because the transmission circuit of the processor element PEO has failed! /. However, if the inter-PE communication path 15 is disconnected, basically all communication via the inter-PE communication path 15 stops.
[0036] 図 4は、各プロセッサエレメントの構成を示す図である。なお、ここでは、 PE間通信 に直接的に係わらな 、機能にっ 、ては省略する。 FIG. 4 is a diagram showing a configuration of each processor element. Here, the communication between PEs If the function is not directly related to the function, it is omitted.
各プロセッサエレメントは、 PE間通信パス 15に接続されている。 PE間通信ノ ス 15 は、コマンドおよびデータを転送するための通信パケットパス 16、およびステータス応 答信号を転送する通信ステータスパス 17から構成される。  Each processor element is connected to a communication path 15 between PEs. The inter-PE communication node 15 is composed of a communication packet path 16 for transferring commands and data and a communication status path 17 for transferring status response signals.
[0037] 各プロセッサエレメントは、プロセッサコア 21を備える。プロセッサコア 21は、与えら れたプログラムを実行することにより対応する機能を提供する。また、プロセッサコア 2 1は、命令キャッシュ 22およびデータキャッシュ 23を備える。  Each processor element includes a processor core 21. The processor core 21 provides a corresponding function by executing a given program. The processor core 21 includes an instruction cache 22 and a data cache 23.
[0038] 送信バッファ 31は、プロセッサコア 21により生成された命令パケットを一時的に保 持する。送信バッファ 31から読み出された命令パケットは、通信パケットパス 16へ出 力される。通信パケットパス 16に出力された命令パケットは、各プロセッサエレメント の受信バッファ 32に書き込まれる。  The transmission buffer 31 temporarily holds the instruction packet generated by the processor core 21. The instruction packet read from the transmission buffer 31 is output to the communication packet path 16. The instruction packet output to the communication packet path 16 is written to the reception buffer 32 of each processor element.
[0039] デコーダ 33は、受信バッファ 32から命令パケットを取り出し、 PE— IDおよびコマン ドコードをデコードする。このとき、送信先アドレスとしての PE— IDが他のプロセッサ エレメントを表していれば、受信した命令パケットは廃棄される。また、デコーダ 33は 、コマンドコードが正常である力否かをチェックする。チェック方法は、特に限定される ものではないが、例えば、受信したコマンドコード力 予め定義されている複数のコマ ンドコードの中のいずれか 1つと一致する力否かをチェックする。この場合、受信した コマンドコードが予め定義されている複数のコマンドコードの中のいずれか 1つと一致 すれば、命令を正常に受信したと判断する。一方、受信したコマンドコードが予め定 義されている複数のコマンドコードの中のいずれにも一致しなければ、命令を正常に 受信できなかったと判断する。なお、他の方法として、ノ リティビットを使用して命令を 正常に受信できた力否かを判断するようにしてもよい。そして、デコーダ 33は、命令 を正常に受信した場合には、その命令をプロセッサコア 21に与える。  The decoder 33 takes out the instruction packet from the reception buffer 32 and decodes the PE-ID and the command code. At this time, if the PE-ID as the destination address indicates another processor element, the received instruction packet is discarded. Further, the decoder 33 checks whether or not the command code is normal. The checking method is not particularly limited. For example, the received command code power is checked to determine whether it matches any one of a plurality of predefined command codes. In this case, if the received command code matches one of the predefined command codes, it is determined that the command has been received normally. On the other hand, if the received command code does not match any of the predefined command codes, it is determined that the command has not been received normally. As another method, it is possible to determine whether or not the command has been successfully received using the NORITY bit. Then, when the instruction is normally received, the decoder 33 gives the instruction to the processor core 21.
[0040] ステータス応答生成部 34は、デコーダ 33によるデコード結果に従ってステータス応 答を生成する。ここで、命令を正常に受信した場合には「0」を通知するステータス応 答が生成され、命令を正常に受信できな力つた場合には「1」を通知するステータス 応答が生成される。生成されたステータス応答は、プロセッサエレメントの PE-IDを付 加して、ステータス信号送信バッファ 35により一時的に保持される。 PE-IDの付カロの 方法としては、受信側の PE-IDを付加する方法と送信側の PE-IDを付加する方法が あるが、ここでは受信側の PE-IDを付加するものとする。そして、ステータス信号送信 ノ ッファ 35から読み出されたステータス応答は、通信ステータスパス 17へ出力される The status response generator 34 generates a status response according to the decoding result by the decoder 33. Here, a status response notifying “0” is generated when the command is normally received, and a status response notifying “1” is generated when the command cannot be normally received. The generated status response is temporarily held in the status signal transmission buffer 35 with the PE-ID of the processor element added. Caro with PE-ID There are two methods: adding the PE-ID on the receiving side and adding the PE-ID on the transmitting side. Here, the PE-ID on the receiving side is added. The status response read from the status signal transmission notfer 35 is output to the communication status path 17.
[0041] 通信ステータスパス 17に出力されたステータス応答は、各プロセッサエレメントのス テータス信号受信バッファ 36に書き込まれる。ステータスチェック部 37は、ステータス 信号受信バッファ 36に保持されているステータス応答をチェックし、その結果をプロ セッサコア 21に通知する。この場合、ステータス応答の PE-IDが送信先のプロセッサ エレメント以外を表して ヽれば、受信したステータスは廃棄される。 The status response output to the communication status path 17 is written to the status signal reception buffer 36 of each processor element. The status check unit 37 checks the status response held in the status signal reception buffer 36 and notifies the processor core 21 of the result. In this case, if the PE-ID in the status response indicates something other than the destination processor element, the received status is discarded.
[0042] プロセッサエレメント PEOからプロセッサエレメント PE1へ命令が送信される場合の 手順を説明する。この場合、プロセッサエレメント PEOから送出された命令パケットは 、プロセッサエレメント PE1において、デコーダ 33によりデコードされる。このとき、命 令が正常に受信されると、プロセッサエレメント PE1のステータス応答生成部 34は、「 ステータス応答 =0」を生成する。一方、命令が正常に受信されな力つた場合には、 プロセッサエレメント PE 1のステータス応答生成部 34は「ステータス応答 = 1」を生成 する。いずれの場合も、生成されたステータス応答は、プロセッサエレメント PEOに返 送され、ステータスチェック部 37によりチェックされる。そして、このチェック結果は、プ 口セッサコア 21に通知される。このように、プロセッサコア 21は、命令を発行して対応 するプロセッサエレメントへ送信すると、その命令が正常に受信されたか否かを表す ステータス応答を受け取ることができる。  [0042] A procedure when an instruction is transmitted from the processor element PEO to the processor element PE1 will be described. In this case, the instruction packet sent from the processor element PEO is decoded by the decoder 33 in the processor element PE1. At this time, when the instruction is normally received, the status response generation unit 34 of the processor element PE1 generates “status response = 0”. On the other hand, if the command is successfully received, the status response generator 34 of the processor element PE 1 generates “status response = 1”. In either case, the generated status response is returned to the processor element PEO and checked by the status check unit 37. Then, the check result is notified to the processor core 21. As described above, when the processor core 21 issues an instruction and transmits it to the corresponding processor element, the processor core 21 can receive a status response indicating whether or not the instruction has been normally received.
[0043] 図 5は、 PE間通信パス 15の故障を検出する手順を示すフローチャートである。この 処理は、任意のプロセッサエレメント(ここでは、プロセッサエレメント(a) )のプロセッ サコア 21により実行されるものとする。  FIG. 5 is a flowchart showing a procedure for detecting a failure in the inter-PE communication path 15. This process is executed by the processor core 21 of an arbitrary processor element (here, the processor element (a)).
[0044] ステップ S1では、一般命令を生成し、 PE間通信パス 15を介してプロセッサエレメン Hb)へ送信する。ステップ S2では、上記命令がプロセッサエレメント (b)により正常 に受信されたカゝ否かをチェックする。プロセッサエレメント (b)から返送されてきたステ 一タス応答が「0」であれば、上記命令がプロセッサエレメント (b)により正常に受信さ れたものと判断する。一方、プロセッサエレメント (b)から返送されてきたステータス応 答が「1」であれば、上記命令がプロセッサエレメント (b)により正常に受信されなかつ たものと判断する。なお、ステップ S1において命令を発行して力も所定時間内にステ 一タス応答を受信できなカゝつた場合も、命令送信が失敗したと判断する。 [0044] In step S1, a general instruction is generated and transmitted to the processor element Hb) via the inter-PE communication path 15. In step S2, it is checked whether the above instruction has been successfully received by the processor element (b). If the status response returned from the processor element (b) is “0”, it is determined that the instruction has been normally received by the processor element (b). On the other hand, the status response returned from the processor element (b) If the answer is “1”, it is determined that the above command has not been received normally by the processor element (b). Note that if the command is issued in step S1 and the force fails to receive the status response within the predetermined time, it is determined that the command transmission has failed.
[0045] ステップ S3では、状態チェック命令を生成し、 PE間通信パス 15を介してプロセッサ エレメント(c)へ送信する。ここで、プロセッサエレメント(c)は、プロセッサエレメント(b )以外の任意のプロセッサエレメントである。ステップ S4では、ステップ S2と同様のチ エックを行う。そして、プロセッサエレメント(c)力 返送されてきたステータス応答が「1 」であれば、ステップ S 5に進む。この場合、プロセッサエレメント(a)は、プロセッサェ レメント (b)およびプロセッサエレメント(c)の 、ずれに対する命令送信も失敗して!、る 。よって、プロセッサエレメント (a)の送信回路が故障していると判断される。なお、プ 口セッサエレメントの送信回路は、例えば、送信バッファ 31である。  In step S 3, a state check command is generated and transmitted to the processor element (c) via the inter-PE communication path 15. Here, the processor element (c) is an arbitrary processor element other than the processor element (b). In step S4, the same check as in step S2 is performed. If the returned status response is “1”, the process proceeds to step S5. In this case, the processor element (a) also fails to send a command for the deviation between the processor element (b) and the processor element (c)! Therefore, it is determined that the transmission circuit of the processor element (a) has failed. The transmission circuit of the plugging element is, for example, the transmission buffer 31.
[0046] プロセッサエレメント (c)力 返送されてきたステータス応答が「0」であれば、ステツ プ S6に進む。この場合、プロセッサエレメント(a)は、プロセッサエレメント(b)への命 令送信は失敗したが、プロセッサエレメント (c)への命令送信は成功している。よって 、プロセッサエレメント (b)の受信回路が故障していると判断される。なお、プロセッサ エレメントの受信回路は、例えば、受信バッファ 32、デコーダ 33、ステータス応答生 成部 34、ステータス信号送信バッファ 35である。この後、プロセッサエレメント (b)が 故障したことを他のプロセッサエレメントに通知するようにしてもよい。 [0046] Processor element ( c ) force If the returned status response is "0", proceed to step S6. In this case, the processor element (a) failed to transmit the instruction to the processor element (b), but the instruction transmission to the processor element (c) was successful. Therefore, it is determined that the receiving circuit of the processor element (b) has failed. The reception circuit of the processor element is, for example, a reception buffer 32, a decoder 33, a status response generation unit 34, and a status signal transmission buffer 35. Thereafter, another processor element may be notified that the processor element (b) has failed.
[0047] <他の実施形態 >  [0047] <Other embodiments>
上述の実施例では、第 1命令が失敗した後に第 2の命令として専用の状態チェック 命令を使用しているが、本発明は、この方法に限定されるものではない。すなわち、 第 2の命令として一般命令を使用し、命令の送信先のプロセッサエレメントにおいて ダミー処理を行わせるようにしても同様の効果が得られる。  In the above-described embodiment, the dedicated status check instruction is used as the second instruction after the failure of the first instruction. However, the present invention is not limited to this method. In other words, the same effect can be obtained by using a general instruction as the second instruction and performing dummy processing in the processor element to which the instruction is transmitted.
[0048] また、第 1の命令に係わる通信が失敗した場合に、第 2の命令を送信すべき通信先 プロセッサエレメントは、第 1の命令の送信先以外のプロセッサエレメントであれば、 任意のプロセッサエレメントでょ 、。  [0048] In addition, if communication relating to the first instruction fails, the communication destination processor element to which the second instruction is to be transmitted is any processor element as long as it is a processor element other than the transmission destination of the first instruction. Element.
[0049] さらに、上記の実施例においては、第 1の命令及び第 2の命令を 1回だけ発行して 故障検出を行っている力 検出精度を向上させるために、第 1の命令及び第 2の命 令を複数回繰り返し送信するようにしてもょ 、 [0049] Furthermore, in the above embodiment, the first command and the second command are issued in order to improve the force detection accuracy in which the first command and the second command are issued only once to perform fault detection. Life Even if you send the command repeatedly several times,

Claims

請求の範囲 The scope of the claims
[1] 複数のプロセッサエレメントがプロセッサ間通信パスで接続されたマルチプロセッサ システムであって、  [1] A multiprocessor system in which a plurality of processor elements are connected by an interprocessor communication path,
第 1のプロセッサエレメントから他のプロセッサエレメントへの前記プロセッサ間通信 ノ スを介した通信が成功した力否かを検出する検出手段と、  Detecting means for detecting whether or not the communication through the inter-processor communication node from the first processor element to the other processor element is successful;
前記第 1のプロセッサエレメントから第 2のプロセッサエレメントへの通信が失敗した ときに、前記第 1のプロセッサエレメントから第 3のプロセッサエレメントへの前記プロ セッサ間通信パスを介した通信を実行する通信手段と、  Communication means for executing communication via the inter-processor communication path from the first processor element to the third processor element when communication from the first processor element to the second processor element fails When,
前記第 1のプロセッサエレメントから前記第 3のプロセッサエレメントへの通信が成功 した場合には、前記第 2のプロセッサエレメントにおいて故障が発生していると判断し 、前記第 1のプロセッサエレメントから前記第 3のプロセッサエレメントへの通信が失敗 した場合には、前記第 1のプロセッサエレメントにおいて故障が発生していると判断す る判断手段、  If communication from the first processor element to the third processor element is successful, it is determined that a failure has occurred in the second processor element, and the third processor element determines that the third processor element has failed. Determining means for determining that a failure has occurred in the first processor element when communication to the processor element fails;
を有するマルチプロセッサシステム。  A multiprocessor system.
[2] 請求項 1に記載のマルチプロセッサシステムであって、 [2] A multiprocessor system according to claim 1,
各プロセッサエレメントは、前記プロセッサ間通信パスを介して受信した命令に対応 するステータス信号を返送する応答手段を備え、  Each processor element includes response means for returning a status signal corresponding to an instruction received via the inter-processor communication path,
前記検出手段は、前記第 1のプロセッサエレメントから前記第 2のプロセッサエレメ ントへ前記プロセッサ間通信パスを介して命令が送信された後に前記ステータス信 号を監視することにより、前記第 1のプロセッサエレメントから前記第 2のプロセッサェ レメントへの通信が成功した力否かを検出する  The detecting means monitors the status signal after an instruction is transmitted from the first processor element to the second processor element via the inter-processor communication path, thereby detecting the first processor element. Detect whether the communication from the second processor element to the second processor element is successful
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[3] 請求項 2に記載のマルチプロセッサシステムであって、 [3] A multiprocessor system according to claim 2,
前記応答手段は、前記プロセッサ間通信パスを介して異常信号を受信したときには 、異常状態を表すステータス信号を返送し、  When the response means receives an abnormal signal via the inter-processor communication path, it returns a status signal indicating an abnormal state,
前記検出手段は、前記第 2のプロセッサエレメントから異常状態を表すステータス 信号を受信したときは、前記第 1のプロセッサエレメントから前記第 2のプロセッサエレ メントへの通信が失敗したと判断する ことを特徴とするマルチプロセッサシステム。 The detection means determines that communication from the first processor element to the second processor element has failed when a status signal indicating an abnormal state is received from the second processor element. A multiprocessor system characterized by that.
[4] 請求項 2に記載のマルチプロセッサシステムであって、  [4] A multiprocessor system according to claim 2,
前記検出手段は、所定時間内に前記第 2のプロセッサエレメントからステータス信 号を受信できな力つたときは、前記第 1のプロセッサエレメントから前記第 2のプロセッ サエレメントへの通信が失敗したと判断する  If the detection means is unable to receive a status signal from the second processor element within a predetermined time, it determines that communication from the first processor element to the second processor element has failed. Do
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[5] 請求項 1に記載のマルチプロセッサシステムであって、 [5] The multiprocessor system according to claim 1,
各プロセッサエレメントは、前記プロセッサ間通信パスを介して受信した命令に対応 するステータス信号を返送する応答手段を備え、  Each processor element includes response means for returning a status signal corresponding to an instruction received via the inter-processor communication path,
前記検出手段は、前記第 1のプロセッサエレメントから前記第 3のプロセッサエレメ ントへ前記プロセッサ間通信パスを介して命令が送信された後に前記ステータス信 号を監視することにより、前記第 1のプロセッサエレメントから前記第 3のプロセッサェ レメントへの通信が成功した力否かを検出する  The detecting means monitors the status signal after an instruction is transmitted from the first processor element to the third processor element via the inter-processor communication path, thereby detecting the first processor element. Detect whether the communication from the third processor element to the third processor element is successful
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[6] 請求項 5に記載のマルチプロセッサシステムであって、 [6] The multiprocessor system according to claim 5,
前記応答手段は、前記プロセッサ間通信パスを介して命令を正常に受信したときに は正常状態を表すステータス信号を返送し、前記プロセッサ間通信パスを介して異 常信号を受信したときには異常状態を表すステータス信号を返送し、  The response means returns a status signal indicating a normal state when an instruction is normally received via the inter-processor communication path, and indicates an abnormal state when an abnormal signal is received via the inter-processor communication path. A status signal representing
前記検出手段は、前記第 3のプロセッサエレメントから正常状態を表すステータス 信号を受信したときは、前記第 1のプロセッサエレメントから前記第 3のプロセッサエレ メントへの通信が成功したと判断し、前記第 3のプロセッサエレメントから異常状態を 表すステータス信号を受信したときは、前記第 1のプロセッサエレメントから前記第 3 のプロセッサエレメントへの通信が失敗したと判断する  When the detection means receives a status signal indicating a normal state from the third processor element, the detection means determines that communication from the first processor element to the third processor element is successful, and When a status signal indicating an abnormal state is received from the third processor element, it is determined that communication from the first processor element to the third processor element has failed.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[7] 請求項 5に記載のマルチプロセッサシステムであって、 [7] The multiprocessor system according to claim 5,
前記検出手段は、所定時間内に前記第 3のプロセッサエレメントからステータス信 号を受信できな力つたときは、前記第 1のプロセッサエレメントから前記第 3のプロセッ サエレメントへの通信が失敗したと判断する ことを特徴とするマルチプロセッサシステム。 If the detection means is unable to receive a status signal from the third processor element within a predetermined time, it determines that communication from the first processor element to the third processor element has failed. Do A multiprocessor system characterized by that.
[8] 請求項 5に記載のマルチプロセッサシステムであって、  [8] The multiprocessor system according to claim 5,
前記通信手段は、送信先のプロセッサエレメントが備えるプロセッサコアの処理を 伴わな 、状態チェック命令を、前記第 1のプロセッサエレメントから前記プロセッサ間 通信パスを介して前記第 3のプロセッサエレメントへ送信し、  The communication means transmits a state check command from the first processor element to the third processor element via the inter-processor communication path without processing of a processor core included in a destination processor element.
前記第 3のプロセッサエレメントの応答手段は、前記状態チェック命令を受信すると 、前記ステータス信号を返送する  The response means of the third processor element returns the status signal upon receiving the state check command.
ことを特徴とするマルチプロセッサシステム。  A multiprocessor system characterized by that.
[9] 複数のプロセッサエレメントを備えるマルチプロセッサシステムにおいて、前記複数 のプロセッサエレメント間で通信を行うためのプロセッサ間通信パスの故障を検出す る方法であって、 [9] In a multiprocessor system including a plurality of processor elements, a method for detecting a failure in an interprocessor communication path for performing communication between the plurality of processor elements,
第 1のプロセッサエレメントから第 2のプロセッサエレメントへの前記プロセッサ間通 信パスを介した通信が成功した力否かを検出し、  Detecting whether or not the communication through the inter-processor communication path from the first processor element to the second processor element is successful;
前記第 1のプロセッサエレメントから前記第 2のプロセッサエレメントへの通信が失敗 したときに、前記第 1のプロセッサエレメントから第 3のプロセッサエレメントへの前記 プロセッサ間通信パスを介した通信を実行し、  When communication from the first processor element to the second processor element fails, communication is performed via the inter-processor communication path from the first processor element to the third processor element;
前記第 1のプロセッサエレメントから前記第 3のプロセッサエレメントへの通信が成功 した場合には、前記第 2のプロセッサエレメントにおいて故障が発生していると判断し 、前記第 1のプロセッサエレメントから前記第 3のプロセッサエレメントへの通信が失敗 した場合には、前記第 1のプロセッサエレメントにおいて故障が発生していると判断す る  If communication from the first processor element to the third processor element is successful, it is determined that a failure has occurred in the second processor element, and the third processor element determines that the third processor element has failed. If communication to the processor element fails, it is determined that a failure has occurred in the first processor element.
プロセッサ間通信パスの故障検出方法。  A failure detection method for an interprocessor communication path.
PCT/JP2006/323168 2006-11-21 2006-11-21 Multiprocessor system WO2008062511A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/323168 WO2008062511A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/323168 WO2008062511A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Publications (1)

Publication Number Publication Date
WO2008062511A1 true WO2008062511A1 (en) 2008-05-29

Family

ID=39429452

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/323168 WO2008062511A1 (en) 2006-11-21 2006-11-21 Multiprocessor system

Country Status (1)

Country Link
WO (1) WO2008062511A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294022A (en) * 2012-03-01 2013-09-11 德州仪器公司 Multi-chip module used for control industrial process and method
JP2014229208A (en) * 2013-05-24 2014-12-08 株式会社ケーヒン Multi-core system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133963A (en) * 1996-10-28 1998-05-22 Mitsubishi Electric Corp Fault detecting and recovering system for computer
JP2001195377A (en) * 2000-01-17 2001-07-19 Nec Software Kyushu Ltd Isolation judgment system, management method therefor and recording medium
JP2002118564A (en) * 2000-10-06 2002-04-19 Shimadzu Corp Method of diagnosing communication abnormality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133963A (en) * 1996-10-28 1998-05-22 Mitsubishi Electric Corp Fault detecting and recovering system for computer
JP2001195377A (en) * 2000-01-17 2001-07-19 Nec Software Kyushu Ltd Isolation judgment system, management method therefor and recording medium
JP2002118564A (en) * 2000-10-06 2002-04-19 Shimadzu Corp Method of diagnosing communication abnormality

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294022A (en) * 2012-03-01 2013-09-11 德州仪器公司 Multi-chip module used for control industrial process and method
JP2014229208A (en) * 2013-05-24 2014-12-08 株式会社ケーヒン Multi-core system

Similar Documents

Publication Publication Date Title
TWI502376B (en) Method and system of error detection in a multi-processor data processing system
US7747897B2 (en) Method and apparatus for lockstep processing on a fixed-latency interconnect
EP2527985B1 (en) System and method for 1553 bus operation self checking
US7774638B1 (en) Uncorrectable data error containment systems and methods
KR20070116102A (en) Dma controller, node, data transfer control method, and program
WO2001025924A1 (en) Mechanism to improve fault isolation and diagnosis in computers
CN103678031A (en) Double 2-vote-2 redundant system and method
US20060212749A1 (en) Failure communication method
JP2006178615A (en) Fault tolerant system, controller used therefor, access control method and control program
JPH0375834A (en) Apparatus and method of sequentially correcting parity
JP2020021313A (en) Data processing device and diagnostic method
JP2009169854A (en) Computer system, fault handling method and fault handling program
WO2008062511A1 (en) Multiprocessor system
JP5381109B2 (en) Communication apparatus and control program thereof
US20090177890A1 (en) Method and Device for Forming a Signature
JP2008152552A (en) Computer system and failure information management method
JP2005215809A (en) Computer system, bus controller and bus failure processing method to be used for the same
US7243257B2 (en) Computer system for preventing inter-node fault propagation
US8264948B2 (en) Interconnection device
KR20210116342A (en) Data processing device and data processing method
JP2012235335A (en) Method and device for detecting incorrect connection between devices
JP2009223506A (en) Data processing system
JP2001007893A (en) Information processing system and fault processing system used for it
US20040153842A1 (en) Method for allowing distributed high performance coherent memory with full error containment
JP2002229811A (en) Control method of logical partition system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06833018

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06833018

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP