Microprocessor having improved functional redundancy monitor mode arrangement

Abstract: A plurality of gates are arranged between buffers and a coincidence circuit. The gates are also coupled to terminals by which data is inputted during a monitor mode. An invalid byte information generator is connected to the gates and applies a signal selected to mask the effects of write instructions being executed on a incomplete word and therefore prevents the generation of an erroneous mismatch signal.

Description: BACKGROUND OF THE INVENTION Field of the Invention This invention relates to a microprocessor, and more particularly to a microprocessor having an improved functional redundancy monitor (FRM) mode arrangement through which a highly reliable multiple processor system can be realized. Description of the Prior Art With the recent noticeable developments in microprocessor systems, a variety of extensive applications thereof have been found in arrangements such as electronic telephone exchanges, bank on-line teller systems, medical apparatus, etc. However, computer systems for use in such arrangements are required to exhibit strictly reliable operation. One approach to meeting this severe reliability requirement is to utilize a multiple processor system, in which two processors are included and are arranged to operate independently of one another in different modes (viz., normal and FRM modes). This enables the operation of the processors to be monitored and any abnormalities detected. More specifically, the execution results (addresses and/or data obtained by instruction execution) of the two processors are compared within the FRM mode processor to determine the presence or absence of a malfunction and/or abnormality. These two processors are interconnected through address, data and control buses. A normal mode processor performs the usual overall system control by outputting an address for fetching an instruction(s) designated thereby, driving the abovementioned buses and fetching the instruction(s) from a program memory, executing the fetched instruction(s), and again driving the buses for reading data from the memory or writing data thereinto. On the other hand, the FRM mode processor, operates independently of the normal mode processor but in exactly the same manner. That is to say, the FRM mode processor generates an address for fetching same instruction(s) as the normal mode processor, fetches and executes the same. However, the FRM mode processor does not access either of the memory or the peripheral units, viz., it drives neither of the above-mentioned buses for said purposes. The FRM mode processor receives the execution results from the normal mode processor, and compares them with those generated therewithin. In the event that the execution results of the two processors do not coincide, the FRM processor outputs a mismatch signal which is applied to a system control unit, which in turn temporarily freezes the operations of the two processors and subsequently restarts them. Such a prior art is disclosed, in a general manner, in document "Digest of Papers of the 33rd IEEE Computer Society International Conference, Washington, 29 th Feb.- 4 th March 1988, pages 36-42, IEEE, New-York, US, in an article entitled "V60/V70 microprocessor and its systems support functions" by Y.YANO et al.. Before discussing the present invention in detail, a known processor operating in an FRM mode will be described with reference to Figs. 1, 2 and 3, in which Figs. 2 and 3 will again be referred to again later in connection with the present invention. Fig. 1 is a block diagram schematically showing a multiple processor system 10 including two processors 12 and 14. Referring now to Fig. 1, the two processors 12 and 14 have the same configuration. Each of the processors 12 and 14 has data terminals (DT), address terminals (AT) and control terminals (CT), which are respectively coupled to data, address and control buses 16, 18 and 20 in the illustrated manner. Further, a memory 34 for storing an execution program(s) and peripheral units 36 are provided. It is assumed that the processors 12 and 14 operate in normal and FRM mode, respectively. The processor 12 is provided with a terminal 24A arranged to receive a mode designation signal (NFMD). When this signal assumes a logic "1" (for example) the processor 12 is induced to operate in a normal mode. The processor 12 further has a freeze terminal 26A and a match/mismatch terminal 28A. The freeze terminal 28A receives, from a system control unit 32, a freeze signal (BFREZ) which temporarily stops the operation of the processor 12 in the event that a mismatch is detected between the execution results of the two processors 12 and 14. It should be noted that the processor 12 has been assumed to operate in a normal mode with the match/mismatch terminal 28A open (namely not in use). The terminals 24A, 26A are coupled to the system control unit 32. Further, a clock generator 30 is coupled to the processor 12 by means of a clock terminal 22A. One of control signals generated from the control terminals CT is a bus cycle start signal BCYST indicative of the beginning of each bus cycle. The signal BCYST is applied to the system control unit 32. Similarly, the other processor 14 is provided with a plurality of terminals 22B, 24B, 26B and 28B, which correspond to the terminals 22A, 24A, 26A and 28A of the processor 12, respectively. The processor 14 is induced to operate in an FRM mode in response to a mode designation signal (NFMD) which assumes a logic "0" (for example). In the Fig. 1 arrangement a match/mismatch signal is applied from the processor 14 to the system control unit 32 via the terminal 28B. Fig. 2 is a block diagram showing the processor 14 in Fig. 1. Processor 12 features the same arrangement as processor 14 and hence details of its construction are not shown in Fig. 2 for brevity. As shown in Fig. 2, the processor 14 includes a bus control unit 40 for controlling the buses DT, AT and CT by way of an FRM circuit 42, an instruction prefetch unit 44, an instruction decoder 46 for decoding instructions applied from the unit 44, an effective address unit 48 for determining effective addresses for operand data, and an execution unit 50. These circuits are coupled as shown. The above-mentioned circuits 40, 44, 46, 48 and 50 are well known to those in the art. Accordingly, a detailed description thereof is omitted for simplicity. The FRM circuit 42 is provided between the bus control unit 40 and the buses DT, AT and CT via a plurality of terminals 60A-60N. As previously mentioned, the processor 14 operates in an FRM mode in response to the NFMD signal, which is applied to the FRM circuit 42 through the terminal 24B, assuming a logic "0". The match/mismatch signal, generated from the FRM circuit 42, will now be described in detail with reference to Fig. 3. Fig. 3 is a block diagram showing a known FRM circuit 42′ and the bus control unit 40′, which form part of the processor 14 (Fig. 2) and which respectively correspond to the circuit 42 and the unit 40 in Fig. 2. It should be noted that (a) the other circuits 44, 46 and 50 of the processor 14 (Fig. 2) are omitted in that they are applicable to the Fig. 3 arrangement with no modifications and (b) only an output stage of the unit 40′ is illustrated in Fig. 3. It is assumed that the processor 14 is a 32 bit type. The FRM circuit 42′ includes two output drivers 70 and 72, two comparators 74 and 76 each of which performs bit-by-bit comparison between data applied thereto. This circuit further includes a coincidence circuit 78 having input terminals coupled to the outputs of the comparators 74 and 76. The output (viz., the match/mismatch signal) of the coincidence circuit 78 is applied via the terminal 28B to the system control unit 32 (Fig. 1). Each of the output drivers 70, 72 includes a latch and a three-state bus driver (both not shown). On the other hand, the bus control unit 40′ has an output stage including two output buffers 80 and 82, which store the execution results (data and addresses) obtained within the processor 14 itself. In more detail the output buffer 80 stores operand data, while the output buffer 82 stores address data. The output buffers 80 and 82 are respectively coupled to the comparators 74 and 76, and apply their contents to the comparators 74 and 76, respectively. As previously mentioned, the processor 14 operates in an FRM mode in response to the NFMD assuming a logic "0". In such a case, the output drivers 70 and 72 are disabled whereby the operand and address data from the output buffers 80, 82 are not applied to the terminals 60A, 60N. On the other hand, in the case that the processor 14 operates in a normal mode in response to the NFMD assuming a logic "1", the output drivers 70, 72 are enabled permitting the contents of the output buffers 80, 82 to be applied to the buses DT and AT by way of the terminals 60A and 60N. The coincidence circuit 78 is supplied with the outputs of the comparators 74, 76. In the event that all the comparators 74, 76 indicate coincidence, the circuit 78 outputs a match signal. In the absence of total coincidence, the coincidence circuit 78 generates a mismatch signal. These match and mismatch signals correspond to a match/mismatch signal which assumes logic "1" and "0" (by way of example only). In response to the mismatch signal the system control signal (Fig. 1) applies the BFREZ signal to the processors 12, 14 in order to temporarily stop the operations thereof. Thereafter, the processors 12, 14 restart their operation. However, the known arrangement shown in Fig. 3 has encountered the following difficulty. In the event that an erroneous signal appears the output of the comparator 74 due to executing a write instruction on data which does not amount to a full 32 bits immediately after a restart, an erroneous output from the comparator 74 causes the coincidence circuit 78 to output a mismatch signal. In other words, in the event that (a) an output buffer 80 stores data which does not amount to a full 32 bits at the time the processors 12, 14 cease their operations and (b) the output buffer 80 retains the data when the processors 12, 14 restart their operations after a given time interval, then there is the possibility that a mismatch signal is again generated irrespective of the normal operations of the processors 12, 14 when the processors 12, 14 actually taking place. SUMMARY OF THE INVENTION It is an object of this invention to provide a processor having an improved FRM monitor arrangement, by which a generation of an erroneous mismatch signal can be prevented. In order to fulfil the above-mentioned object, a plurality of gates are arranged between buffers and a coincidence circuit. The gates are also coupled to terminals by which data is inputted during a monitor mode. An invalid byte information generator is connected to the gates and applies a signal selected to mask the effects of write instructions being executed on a incomplete word and therefore prevents the generation of an erroneous mismatch signal. More specifically, the present invention is deemed to comprise a microprocessor as claimed in claim 1. BRIEF DESCRIPTION OF THE DRAWINGS The features and advantages of the present invention will become more clearly appreciated from the following description taken in conjunction with the accompanying drawings in which: Fig. 1 is a block diagram showing a multi process system discussed in the opening paragraphs of the instant disclosure; Fig. 2 is a block diagram showing part of the Fig. 1 arrangement, which has been discussed in the opening paragraphs of the instant disclosure; Fig. 3 is a block diagram showing a known FRM mode arrangement, which also has been discussed in the opening paragraphs of the instant disclosure; and Fig. 4 is a block diagram showing an FRM circuit according to the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the instant invention will be discussed with reference to Fig. 4. Fig. 4 illustrates an FRM circuit 42″ and a bus control unit 40″, which respectively correspond to the circuit 42′ and the unit 40′ in Fig. 3. Similar to the Fig. 3 arrangement, the other units 44, 46 and 50 of the processor 14 (Fig. 2) are not shown in Fig. 4 in that they can be provided within the Fig. 4 arrangement with no or very little modification. In Fig. 4, only an output stage of the bus control unit 40″ is shown. In this case also it is assumed that the processor is of a 32-bit type. The FRM circuit 42″ includes five output drivers 100 to 104, five comparators 110 to 114 each of which performs bit-by-bit comparison between data applied thereto on a byte basis, and further includes a coincidence circuit 115 having input terminals coupled to the outputs of the comparators 110 to 114. The output of the coincidence circuit 115 (viz., match/mismatch signal) is applied to the system control unit 32 (Fig. 1) via the terminal 28B. Each of the output drivers 100 to 104 includes a latch and a three-state bus driver (neither shown). The bus controller 40″ has an output stage, which includes five output buffers 120 to 124 and further includes an effective byte information generator 125. Each of the output drivers 120 to 124 is same as the output driver 80 (82) in Fig. 3. The generator 125 is supplied with, from the instruction decoder unit 46 (Fig. 2), invalid byte information which indicate the number of invalid bytes and the position thereof, and then decodes the information received. As shown, the FRM circuit 115 further comprises OR gates 130-133. In the event that an erroneous signal appears an output of one of the comparators 110 to 113 due to executing a write instruction on data which does not amount to a full 32 bits immediately after a restart, a corresponding invalid byte signal is applied to the appropriate OR by the invalid byte information generator 125. The effect of this is that an erroneous output from the comparator in question is reversed by the invalid byte signal. Accordingly, the coincidence circuit 115 receives an input indicative of coincidence due to the masking of the erroneous results from the comparator and the FRM circuit is prevented from outputting a mismatch signal. Although the above embodiment has been described as using OR gates in the masking arrangement, it is within the scope of the present invention to use AND gates in place thereof in the event that the logic level of the comparators 110 to 113 should be opposite. It will be further understood that the present invention is not limited to arrangements having two processor and can be applied to systems having three or more processors. For example it is possible to the apply the invention to systems wherein two processor are used for monitoring and wherein the results derived by the two monitoring units are used in a voting arrangement to determine which processor is in disorder.

Claims: A microprocessor (14) comprising: a plurality of output drivers (100-104) for outputting contents of a plurality of corresponding output buffers (120-124) by way of a plurality of terminals (60A-60N) during a normal mode and for blocking the outputs of said plurality of output buffers to said plurality of terminals during a monitor mode; a plurality of comparators (110-114) coupled to said plurality of output buffers and said plurality of terminals, said plurality of comparators being arranged to compare signals composed of bytes appearing on said terminals and the outputs of said output buffers in said monitor mode; a coincidence circuit (115); for determining whether or not all of the outputs of said comparators are coïncident and providing a match or mismatch signal characterized in further comprising an invalid byte information generator (125) coupled to said coincidence circuit by way of a plurality of logic gates (130-134), said plurality of logic gates being coupled between said comparators and said coincidence circuit, said invalid byte information generator (125) and said plurality of logic gates (130-134) defining masking means for preventing the output of an erroneous match or mismatch signal from said coincidence circuit, said invalid byte information generator (125) being supplied with invalid byte information from the microprocessor instruction decoder unit identifying invalid bytes of said signals appearing on the output of said output buffers (120-124) in said monitoring mode and decoding said information received. A microprocessor as claimed in claim 1, wherein each of said logic gates is an OR gate. A microprocessor as claimed in claim 1, wherein each of said logic gates is an AND gate.

Inventors: KOUMOTO YASUHIKO, MAEMURA KOJI, KOUMOTO, YASUHIKO, MAEMURA, KOJI
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1990
Main classification: G06F11
IPC codes: G06F11