CN111190774B - Configurable dual-mode redundancy structure of multi-core processor - Google Patents

Configurable dual-mode redundancy structure of multi-core processor Download PDF

Info

Publication number
CN111190774B
CN111190774B CN201911371031.7A CN201911371031A CN111190774B CN 111190774 B CN111190774 B CN 111190774B CN 201911371031 A CN201911371031 A CN 201911371031A CN 111190774 B CN111190774 B CN 111190774B
Authority
CN
China
Prior art keywords
data
microprocessor
unit
register file
mode
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.)
Active
Application number
CN201911371031.7A
Other languages
Chinese (zh)
Other versions
CN111190774A (en
Inventor
宋立国
于立新
彭和平
庄伟�
覃辉
亓洪亮
王兴友
苏天红
飞海东
张世远
秦智勇
杨雪
任艳慧
刘亚丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
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 Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201911371031.7A priority Critical patent/CN111190774B/en
Publication of CN111190774A publication Critical patent/CN111190774A/en
Application granted granted Critical
Publication of CN111190774B publication Critical patent/CN111190774B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

A multi-core processor configurable dual modular redundancy architecture, comprising: the system comprises a microprocessor, a first interface unit, a first routing unit, a second interface unit, a second routing unit and an on-chip shared storage unit; the two processors in the dual-mode redundancy mode automatically copy input data and automatically compare output data to find errors, and the errors are eliminated through automatic comparison of data in the register file and an automatic data recovery structure in the register file. The invention realizes that any two processors in the multi-core processor can be configured into a dual-mode redundancy mode.

Description

Configurable dual-mode redundancy structure of multi-core processor
Technical Field
The invention relates to a configurable dual-mode redundancy structure of a multi-core processor, and belongs to the technical field of multi-core processors.
Background
The method for improving soft error capability of a multi-core processor in the architecture mainly comprises the following steps: calculating the shifted operands through a redundant pipeline, and detecting transient and permanent errors in the ALU; detecting an error in the ALU using a functional mapping relationship existing between an input operand and an output result of the arithmetic logic operation by the Berger code; watchdog (Watchdog) technology is used to monitor the address and data buses; performing soft error detection and correction on units such as an on-chip memory, a Cache, a register file and the like by using an ECC (error correction code) check code technology; the soft error detection execution model CRT detects soft errors by comparing the outputs of redundant threads.
The existing method needs to increase special hardware resources, and has limited error observation capability, such as: redundant pipelines and Berger code can only detect errors in ALU; the watchdog judges whether the program runs away or not through the query of fixed time, and the error cannot be found in time; the ECC check code has limited error correction and detection capability, and the coding and decoding circuit has a great influence on the read-write performance of the memory. In the soft error tolerant execution model CRT of the multi-core microprocessor, the defects exist in the aspects of flexibility, performance and recoverability:
firstly, in the aspect of flexibility, the current multi-core processor fault-tolerant structure can only realize unidirectional data transmission and comparison between adjacent microprocessors, after one microprocessor core is appointed as a main microprocessor, a slave microprocessor with a corresponding dual-mode redundancy function is uniquely determined, and vice versa, dual-mode redundancy of any two microprocessor cores cannot be realized, the flexibility is lacked, and the expandability of the model is severely limited;
in the aspect of performance, in the current structure, data in a register in each processor needs to be directly compared after each instruction is executed, the data size is large, so that the pipeline blockage caused by the fact that the operation result cannot be timely compared is caused, the performance of an execution model is reduced, and the method is particularly not suitable for a multi-core processor with multiple emission processor cores; and the large amount of data transfer and comparison also increases the dynamic power consumption of the chip.
In the aspect of recoverability, a hardware-implemented field saving and recovering function is lacked, and software is needed to assist in completing two functions: 1) Backing up the operating environment; 2) After the soft error is detected, the previous correct operating environment is restored. The soft error tolerance capability and the overall performance of the multi-core processor are reduced due to the need for excessive participation of software.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the defects of the prior art are overcome, a configurable dual-mode redundancy structure of the multi-core processor is provided, and the problem that any two processors in the multi-core processor can be configured into a dual-mode redundancy mode at any time according to needs, and the two processors which are not fixed are in the dual-mode redundancy mode is solved; the data quantity to be compared for detecting errors in the dual-mode redundancy mode is reduced, only the output data of the microprocessor is compared, and the comparison is not carried out on instructions every time, so that the requirements on the bandwidth and the time sequence of the read-write data of the master microprocessor and the slave microprocessor are reduced; the method solves the error recovery function of the dual-mode redundancy mode, integrally backs up and recovers the register file in the microprocessor core from hardware, and realizes the hardware field storage and recovery functions.
The technical scheme of the invention is as follows:
a multi-core processor configurable dual modular redundancy architecture, comprising: the system comprises a microprocessor, a first interface unit, a first routing unit, a second interface unit, a second routing unit and an on-chip shared storage unit;
the on-chip shared storage unit is respectively connected with a plurality of first interface units, and each first interface unit is respectively connected with a corresponding first routing unit and a microprocessor; each microprocessor is connected with a second interface unit and a second routing unit in sequence;
the microprocessor is used for executing instructions and processing data, and comprises: the device comprises a controller, an Arithmetic Logic Unit (ALU), a register file, a redundancy control register and a register file redundancy control unit; the controller is used for sending control information; the arithmetic logic unit ALU is used for operating data; the register file is used for storing intermediate processing results; the redundancy control register is used for setting the microprocessor to be used as a master microprocessor or a slave microprocessor under a dual-mode redundancy mode; the register file redundancy control unit is used for completing backup and recovery of register files in the microprocessor;
when the microprocessor executes the load instruction load, the microprocessor receives data input by the first interface unit; when executing the storage instruction store, the microprocessor outputs data to the first interface unit; after the microprocessor executes a thread, register file information is sent to the second interface unit through the register file redundancy control unit; when the two processors in the dual-mode redundancy mode respectively send register file information to the second interface unit to be the same, the register file redundancy control unit copies the data in the register file to the backup register file; when the two processors in the dual-mode redundancy mode respectively send register file information to the second interface unit, the register file redundancy control unit copies data in the internally backed-up register file into the register file;
the first interface unit is used for comparing the output data of the execution Store instruction of the main microprocessor and the slave microprocessor under the dual-mode redundancy mode and judging whether an error is detected;
the first interface unit reads data from the on-chip shared memory unit and transmits the data to the microprocessor according to an address and a read signal input by the microprocessor executing the load instruction load; the first interface unit receives data corresponding to a storage instruction store executed by the microprocessor, and stores the data corresponding to the storage instruction store; judging whether the data corresponding to the storage instruction store executed by the master microprocessor and the slave microprocessor under the dual-mode redundancy mode are the same, if so, transmitting the data to the on-chip shared storage unit, and if not, indicating that an error is detected; when the microprocessor connected with the first interface unit is used as a main microprocessor in a dual-mode redundancy mode, receiving data fed back by the first routing unit for comparison, wherein the data source is data corresponding to a storage instruction store executed by a slave microprocessor in the dual-mode redundancy mode; when the microprocessor connected with the first interface unit is used as a slave microprocessor in a dual-mode redundancy mode, transmitting data corresponding to a storage instruction store executed by the microprocessor to the first routing unit;
the first routing units are connected pairwise;
corresponding to any one first routing unit, receiving data input by the first interface unit and transmitting the data to the adjacent first routing unit; meanwhile, receiving data input by an adjacent first routing unit, transmitting the received data to a first interface unit when judging that an address signal in the received data is matched with the address information of the first routing unit, and continuously transmitting the received data to the adjacent first routing unit when judging that the address signal of the received data is not matched with the address information of the first routing unit;
the second interface unit is used for comparing data in the register file after the main microprocessor and the slave microprocessor execute each section of thread in the dual-mode redundancy mode, notifying the register file redundancy control unit when the data are different, restoring the register file to the state after the last section of thread is executed, and re-executing the thread with errors; after the microprocessor executes a thread, the second interface unit sequentially receives data in the register file sent by the register file redundancy control unit in the microprocessor; when the microprocessor connected with the second interface unit is used as a main microprocessor in a dual-mode redundancy mode, receiving data fed back by the second routing unit and comparing the data with the received data in the register file sent by the register file redundancy control unit; when the microprocessor connected with the second interface unit is used as a slave microprocessor in a dual-mode redundancy mode, transmitting data in the register file sent by the register file redundancy control unit to the second routing unit; judging whether register file data received by a second interface unit connected with the master-slave microprocessor under the dual-mode redundancy mode are the same or not, and feeding back a judgment result to respective register file redundancy control units;
the second routing unit receives the data input by the second interface unit and transmits the data to a corresponding second routing unit in a dual-mode redundancy mode; and receiving data input by the adjacent second routing unit, transmitting the received data to the second interface unit when judging that the address signal in the received data is matched with the address information of the second routing unit, and continuously transmitting the received data to the adjacent second routing unit when judging that the address signal in the received data is not matched with the address information of the second routing unit.
Compared with the prior art, the invention has the beneficial effects that:
1) The invention is not limited to the realization of dual-mode redundancy between adjacent processor cores, but can realize flexible configuration of dual-mode redundancy of any two microprocessor cores in the multi-core processor, including adjacent core dual-mode redundancy setting, non-adjacent core dual-mode redundancy setting and master-slave microprocessor setting, rather than fixed dual-mode redundancy configuration of adjacent cores.
2) The invention reduces the data quantity of dual-mode redundancy comparison of the microprocessor core, only compares the output data of the microprocessor, but not compares the output data of each instruction, each program jump and each register rewriting, and reduces the requirements on the bandwidth and the time sequence of the read-write data of the master microprocessor and the slave microprocessor.
3) The data read by the main microprocessor loading the load instruction is stored in the cache, and the slave microprocessor directly reads from the cache of the main microprocessor instead of reading the data from the storage system again when executing the load instruction, thereby reducing the access requirement of an external memory and ensuring the consistency of the data input by the main microprocessor and the slave microprocessor.
4) The invention designs the register backup file, realizes the functions of hardware field saving and restoring, and integrally saves and restores the register file in the microprocessor core.
5) The inter-core queue realizes data transmission by using a ring network-on-chip structure, simplifies the design and verification of the multi-core processor and realizes the expandability of the structure.
Drawings
FIG. 1 is a diagram of the dual modular redundancy architecture of the present invention;
FIG. 2 is a diagram illustrating the definition of redundancy control registers according to the present invention;
FIG. 3 is a diagram of a register file redundancy control unit architecture according to the present invention;
FIG. 4 is a diagram of a first interface unit according to the present invention;
FIG. 5 (a) is a diagram of a first routing unit architecture according to the present invention;
FIG. 5 (b) is a diagram of a first routing unit architecture according to the present invention;
FIG. 6 is a diagram of a second interface unit according to the present invention;
FIG. 7 (a) is a diagram of a second routing unit architecture in accordance with the present invention;
fig. 7 (b) is a diagram showing a second routing unit structure according to the present invention.
Detailed Description
The invention discloses a configurable dual-modular redundancy structure of a multi-core processor, which is shown in figure 1 and comprises the following components: a microprocessor 101, a first interface unit 141, a first routing unit 151, a second interface unit 161, a second routing unit 171, and an on-chip shared memory unit 181;
the on-chip shared memory unit 181 is respectively connected with a plurality of first interface units 141, and each first interface unit 141 is respectively connected with a corresponding first routing unit 151 and the microprocessor 101; each microprocessor 101 is connected with a second interface unit 161 and a second routing unit 171 in sequence;
microprocessor 101 is used to execute instructions and process data, including: a controller, an arithmetic logic unit ALU, a register file, a redundancy control register 121, a register file redundancy control unit 131; the controller is used for sending control information to other components; the arithmetic logic unit ALU is used for carrying out various operations on the data; the register file is used for storing an intermediate processing result; the redundancy control register 121 is used to set the microprocessor 101 as a master microprocessor or as a slave microprocessor in the dual-mode redundancy mode; the register file redundancy control unit 131 is used to complete the backup and restore of the register file in the microprocessor 101. The traditional microprocessor internally comprises a controller which sends control information to other components; an arithmetic logic unit ALU, which is responsible for various operations on data; and the register file is used for storing the intermediate processing result. On the basis, the invention adds a redundancy control register 121, and sets whether the processor is used as a master microprocessor or a slave microprocessor under a dual-mode redundancy mode through the redundancy control register 121; the register file redundancy control unit 131 is added to complete the backup and recovery of the register file in the microprocessor.
When executing the load instruction load, the microprocessor 101 receives data input by the first interface unit 141; when executing the store instruction store, the microprocessor 101 outputs data to the first interface unit 141; after the microprocessor 101 executes a thread, the register file redundancy control unit 131 sends out register file information to the second interface unit 161; when the two processors in the dual-mode redundancy mode respectively send register file information to the second interface unit 161 to be the same, the register file redundancy control unit 131 copies the data in the register file to the backup register file; when the two processors in the dual-mode redundancy mode send register file information to the second interface unit 161 differently, the register file redundancy control unit 131 copies data in the internally backed-up register file to the register file, and through this hardware register file detection and recovery manner, after detecting a register file error, the program will trace back to the previous correct starting point and resume executing the program.
The first interface unit 141 is configured to compare Store instruction output data executed by the master microprocessor and the slave microprocessor in the dual-mode redundancy mode, and determine whether an error is detected;
the first interface unit 141 reads data from the on-chip shared memory unit 181 and transfers the data to the microprocessor 101 according to an address and a read signal input by the microprocessor 101 executing the load instruction load; the first interface unit 141 receives data corresponding to the store instruction store executed by the microprocessor 101, and stores the data corresponding to the store instruction store; judging whether the data corresponding to the storage instruction store executed by the master microprocessor and the slave microprocessor under the dual-mode redundancy mode are the same, if so, transmitting the data to the on-chip shared storage unit 181, and if not, indicating that an error is detected; when the microprocessor 101 connected to the first interface unit 141 is used as a master microprocessor in the dual-mode redundancy mode, the data fed back by the first routing unit 151 is received and compared, and the data source is data corresponding to the storage instruction store executed by the slave microprocessor in the dual-mode redundancy mode; when the microprocessor 101 connected to the first interface unit 141 is a slave microprocessor in the dual redundancy mode, the transfer microprocessor 101 executes the data corresponding to the store instruction store to the first routing unit 151;
the plurality of first routing units 151 are connected two by two;
corresponding to any one of the first routing units 151, receiving the data input by the first interface unit 141, and transmitting the data to the adjacent first routing unit 151; meanwhile, receiving data input by an adjacent first routing unit 151, when judging that an address signal in the received data matches the address information of the first routing unit 151, transferring the received data to the first interface unit 141, and when judging that the address signal in the received data does not match the address information of the first routing unit 151, continuing to transfer the received data to the adjacent first routing unit 151;
the second interface unit 161 is configured to compare data in the register file after the master microprocessor and the slave microprocessor execute each section of thread in the dual-modular redundancy mode, notify the register file redundancy control unit 131 when the data are different, restore the register file to a state after the previous section of thread is executed, and re-execute the thread with an error. After the microprocessor 101 executes a thread, the second interface unit 161 sequentially receives data in the register file sent by the register file redundancy control unit 131 in the microprocessor 101; when the microprocessor 101 connected to the second interface unit 161 is a master microprocessor in the dual-mode redundancy mode, receiving the data fed back by the second routing unit 171 and comparing the data with the received data in the register file sent by the register file redundancy control unit 131; when the microprocessor 101 connected to the second interface unit 161 functions as a slave microprocessor in the dual redundancy mode, the data in the register file transmitted by the register file redundancy control unit 131 is transferred to the second routing unit 171; judging whether the register file data received by the second interface unit 161 connected with the master-slave microprocessor 101 in the dual-mode redundancy mode is the same, and feeding back the judgment result to the respective register file redundancy control unit 131;
the second routing unit 171 receives the data input by the second interface unit 161, and transmits the data to the corresponding second routing unit 171 in the dual-mode redundancy mode; and receiving data input by the adjacent second routing unit 171, transmitting the received data to the second interface unit 161 when judging that the address signal in the received data matches the address information of the own second routing unit 171, and continuously transmitting the received data to the adjacent second routing unit 171 when judging that the address signal in the received data does not match the address information of the own second routing unit 171.
In particular, the method comprises the following steps of,
in fig. 1, the microprocessor 101 is a 32-bit microprocessor, capable of performing arithmetic and logical operations, and integrating a redundancy control register 121 and a register file redundancy control unit 131 to implement a configurable dual-mode redundancy function; the integrated redundant control register 121 is a redundant control register, which is an internal unit of the microprocessor 101 and has the function of setting a main microprocessor/redundant core function and position information; the register file redundancy control unit 131 is a register file redundancy control unit and is an internal unit of the microprocessor 101, and has the function of completing the backup and recovery functions of the register file of the microprocessor core; the first interface unit 141 is responsible for copying input data when the load instruction load is executed by the microprocessor 101, comparing output data when the store instruction store is executed, and performing external store access when the store instruction store is normal (no redundancy function is set). There are three data input/output connections, respectively, a microprocessor 101 data access connection (consisting of a read operation request signal 418, a read operation reply signal 424, and a write operation signal 434), a first route consisting of a unit 151 data access connection (consisting of an additional redundant core Store request input 428, an own redundant core Store request output 432, an additional redundant core Load request input 426, an additional redundant core Load reply output 427, an own redundant core Load reply input 423, an own redundant core Load request output 422), and an on-chip shared memory unit 181 data access connection (consisting of a shared memory read access request signal 419, a shared memory read access reply signal 425, and a shared memory write access signal 429).
As shown in fig. 1, the plurality of first routing units 151 are connected to each other to form a ring network structure, and there are three data input/output connections, namely, input/output connection of left adjacent first routing unit 151, input/output connection of right adjacent first routing unit 151, and input/output connection of first interface unit 141 (composed of other redundant core Store request input 428, self redundant core Store request output 432, other redundant core Load request input 426, other redundant core Load response output 427, self redundant core Load response input 423, and self redundant core Load request output 422).
The second interface unit 161 is responsible for comparing the register file by the microprocessor 101 in the dual-modular redundancy configuration. There are two data connections, namely a microprocessor 101 data output connection (register file compare signal 310) and a second routing unit 171 data input/output connection (consisting of its own redundant core register compare output 609 and other redundant core register compare inputs 610).
The second routing unit 171 and the plurality of second routing units 171 are connected to each other to form a ring network structure, and there are three data input/output connections, namely, input/output connection of the second routing unit 171 adjacent to the left, input/output connection of the second routing unit 171 adjacent to the right, and input/output connection of the second interface unit 161 (composed of a comparison output 609 of the self redundant core register and a comparison input 610 of other redundant core registers).
The on-chip shared memory unit 181 may be a shared secondary Cache or a shared RAM. There are input/output connections to each microprocessor core (made up of shared memory read access request signals 419, shared memory read access acknowledge signals 425, and shared memory write access signals 429).
FIG. 2 shows redundancy control register structures 121, 201 with a dual mode redundancy enable bit of '1' active, only if this bit is set to '1' then the remaining bits in the register are set to active. 202 sets bits for redundant core locations, occupying four bits, from '0000' to '1111', which can designate a 16-location processor core as a redundant core (slave microprocessor) in dual mode redundancy mode. 203 is a redundant core local enable bit of '1' active, which is set to '1' after which the core is a redundant core (slave microprocessor) in dual mode redundancy mode. 204 set bits for the host microprocessor location, occupying four bits, from '0000' to '1111', the 16-location processor core can be designated as the host microprocessor in dual mode redundancy mode. 205 is the local enable bit '1' valid for the master microprocessor, and after this bit is set to '1', this core is the master microprocessor in dual mode redundancy mode.
Fig. 3 shows a 131 register file redundancy control unit structure, in which 301 is a register file, which includes an IU (integer unit) register file inside the microprocessor core and IU-related internal registers, and the register file has a bit width of 32 bits and is read and written according to addresses. 302 is a register backup file, which comprises an IU (integer unit) register file inside the microprocessor core and IU related internal registers, the bit width of the register backup file is 33 bits, wherein the lower 32 bits are data bits, the highest bit is a flag bit, and the file is read and written according to the address. When a write operation is performed to the register file 301, the most significant bit of the corresponding address of the register file 302 is set to '1', indicating that the data at this address in the register file has been altered. 303 is a first sequential logic function unit, which has the following functions:
1) When a thread executes, it reads normally, issuing a read signal 304 to read data from the register file 301.
2) When the thread executes, normal write operation is carried out, and a write signal 306 and data write register file for the register file 301 are sent out; meanwhile, with respect to the write signal 306 of the register backup file 302, the flag of the corresponding address is set in the register backup file 302, but the lower 32-bit data is not changed.
3) After the thread is executed, firstly, reading operation is executed aiming at the register backup file 302 to obtain address information corresponding to the flag setting as '1'; depending on the obtained address information, the data is read back from the register file 301 and output as a register file compare signal 310.
4) When the register file is correct, the data in the register file 301 is copied to the register backup file 302 one by one according to the address, and the Flag is cleared.
5) When the register file is incorrect, the data in the register backup file 302 is copied to the register file 301 one by one according to the address, and the Flag is cleared.
304 issues a read signal 303 to register file 301.
305 issues a read signal to register file 302 for 303.
306 issues a 303 write signal to register file 301.
307 issues a write signal to register backup file 302 at 303.
308 are data output signals of the register file 301, which are directly input to the first sequential logic function unit 303.
Reference numeral 309 denotes the data output signal of the register file 302, which is directly inputted into the first sequential logic unit 303.
310 is the register file compare signal, 33 bits wide, 303 bits wide, with the output connected to 161.
Fig. 4 is a structure diagram of the first interface unit 141, in which 401 is an input data buffer FIFO, the data bit is 33 bits wide, the buffer depth is 128 words, the input data is an output signal 423 (self redundant core Load response input) of the first routing unit 151, and the output is connected to the multiplexer 406. 402 is the input data buffer FIFO, data bit wide 33 bits, buffer depth 128 words, input data is the output of the tri-state gate 415, the output is connected to the first combinational logic circuit 407. 403 is an input data buffer FIFO with a data bit width of 33 bits and a buffer depth of 128 words, the input data is an output signal 426 (input for a Load request from another redundant core) of the first routing unit 151, and the output is connected to the first combinational logic circuit 407. 404 is the input data buffer FIFO with a data bit width of 65 bits and a buffer depth of 128 words, the input data is the output of the tri-state gate 413, and the output is connected to the second combinational logic circuit 408. The data buffer FIFO 405 has a data bit width of 33 bits and a buffer depth of 128 words, the input data is an output signal 428 (other redundant core Store request input) of the first routing unit 151, and the output is connected to the second combinational logic circuit 408. 406 is an alternative multiplexer having inputs for the output of the FIFO 401 and the memory access acknowledge signal 425, respectively, and a control signal 421. Reference numeral 407 denotes a first combinational logic circuit, which receives the output data of the FIFOs 402 and 403 and the output of the and gate 416, respectively, and outputs a signal 427 (other redundant core Load response output) input to the first routing unit 151. The function is to read 402 the data output in the FIFO when the output of AND gate 416 is '1'. 408 is a second combinational logic circuit having inputs for the output data of the FIFOs 404 and 405 and the output of the and gate 417, respectively, and outputs having two 429 and 430. The function is to compare the output data of 404 and 405 to be equal when the output of AND gate 417 is '1' and if equal, output the data to shared memory system 118 via 429; if not, a thread execution error signal 430 is generated, 429 output is set to a high impedance state. 409 is a tristate gate, the input is a read operation request signal 418 output by the microprocessor core, the control signals are signals obtained by logical and operation of 201 and 205, and the output is a read operation request signal 419 of the shared memory system 118. The input of the tri-state gate 410 is a read operation request signal 418 output by the microprocessor core, the control signals are signals obtained by logical and operation of 201 and 203, and the output is an input signal 422 (self redundant core Load request output) of the first routing unit 151. Reference numeral 411 is a tri-state gate having an input of a write request signal 435 output by the microprocessor core, a control signal 433 and '0' active, and an output of a write signal 429 output to the shared memory system 418. And 412 is a tri-state gate having an input for a write operation request signal from the microprocessor core, a control signal 433 and '1' active, and outputs coupled to the inputs of tri-state gates 413 and 414, respectively. The input to the tri-state gate 413 is the output of the tri-state gate 412, the control signal is 431 and '0' is active, and the output is connected to the FIFO 404. The input of the gate 414 is a three-state gate, the output of the gate 412 is a three-state gate, the control signal is 431, the '1' is valid, and the output is connected with the input signal 432 (self redundant core Store request output) of the first routing unit 151. 415 is a tri-state gate having an input of a memory access acknowledge signal 425, control signals 201 and 205 are logically anded signals, and an input of the output FIFO 402 is connected. 416 is an and gate having inputs for the non-empty signals of FIFO 402 and FIFO 403 respectively and an output coupled to the first combinatorial logic circuit 407. 417 is an and gate having inputs for non-empty signals of FIFO 404 and FIFO 405, respectively, and an output coupled to second combinatorial logic 408. 418 is a read request signal from the microprocessor core, which includes a read enable signal line, a 32-bit address line, directly connected to the inputs of the tri-state gates 409, 410. Reference numeral 419 denotes a read operation request signal for the shared memory system 118, which includes a read enable signal line, a 32-bit address line, and an output of the tri-state gate 409. The input control signal 420 of the tri-state gate 409 is a 201-bit and 205-bit logically anded signal. The input control signal 421 of the tristate gate 410 is a signal obtained by logical and operation of 201 bits and 203 bits. The output 422 of tristate gate 410, which contains read enable, 32 bit address, and host microprocessor location 204 bit information, is used as the input signal 422 (self redundant core Load request output) of the first routing unit 151. 423 is the first routing unit 151 output signal (self redundant core Load acknowledge input) containing 32 bits of data and data valid bits as inputs to the FIFO 401. 424 is the output of the one-out-of-two multiplexer 406, which contains 32 bits of data and a data valid bit as a microprocessor core read operation acknowledge signal. 425 is a memory access acknowledge signal comprising 32 bits of data and a data valid bit connected to the 406 input and 415 input, respectively. 426 is a first routing unit 151 output signal (other redundant core Load request input) comprising 32 bits of data and a data valid bit, coupled to a FIFO 403 input. 427. The output of the first combinational logic 407 is a signal input to the first routing unit 151 (other redundant core Load response output) and includes 32-bit data and a data valid bit. 428 outputs a signal (other redundant core Store request input) for the first routing unit 151 as a FIFO 405 input, containing 32 bits of data and data valid bits. Reference numeral 429 denotes a memory access write signal that includes a write enable signal line, 32-bit address lines, and 32-bit data lines, and is coupled to shared memory system 118. The error flag signal line 430 is a '1' indicating that the comparison data of the second combinational logic circuit 408 is not equal, and a thread execution error condition occurs. 431 are control signals for tri-state gate 413, respectively, with '0' active at this time; the control signal of tri-state gate 414, now '1', is active. Is a 203-bit signal line. 432 is the output of tristate gate 414 as the input signal of the first routing unit 151 (self redundant core Store request output) containing data valid bit, 32 bit data bit and main microprocessor location 204 bit information. 433 are control signals of the tri-state gate 411, respectively, at which time '0' is active; the control signal of tri-state gate 412, now '1', is active. Is a 201-bit signal line.
434 are write request signals output by the microprocessor core, including a write enable signal line, a 32-bit address line, and a 32-bit data line, directly connected to the inputs of the tri-state gates 411, 412.
Fig. 5 (a) (b) is a 151 first routing unit structure diagram, as in fig. 5 (a):
501 is an input data buffer FIFO, data bit wide 33 bits, buffer depth 128 words, and input is an output 513 of the left adjacent first routing unit 151; the output is 508, which is connected to a first arbitration logic unit 515 and a first crossbar unit 516, respectively.
502 is the input data buffer FIFO, data bit wide 33 bits, buffer depth 128 words, input is the output 514 of the right adjacent first routing unit 151; the output is 509, which is connected to a first arbitration logic unit 515 and a crossbar unit 516, respectively.
503 is input data buffer FIFO, data bit wide 33 bit, buffer depth 128 word, input 432; the output is 510, which is connected to a first arbitration logic unit 515 and a crossbar unit 516, respectively.
504 is input data buffer FIFO, data bit wide 33 bit, buffer depth 128 word, input 427; the output is 511 connected to a first arbitration logic unit 515 and a crossbar unit 516, respectively.
505 is input data buffer FIFO, data bit wide 33 bits, buffer depth 128 words, input 422; the output is 512, which is connected to the first arbitration logic unit 515 and the crossbar unit 566, respectively.
506 is the input to the FIFO 501, a 33-bit signal line, and is the output 513 of the left-adjacent first routing cell 151.
507 is the input to the FIFO 502, a 33-bit signal line, and is the output 514 of the right-adjacent first routing cell 151.
508 is the FIFO 501 output, 33-bit signal line, input to the first arbitration logic 515 and the first crossbar 516.
509 is the FIFO 502 output, 33-bit signal line, input to a first arbitration logic unit 515 and a first crossbar unit 516.
510 is the FIFO 503 output, 33-bit signal line, input to a first arbitration logic unit 515 and a first crossbar unit 516.
511 is the FIFO 504 output, 33-bit signal line, input to a first arbitration logic unit 515 and a first crossbar unit 516.
512 is the FIFO 505 output, 33 bit signal line, input first arbitration logic 515 and first crossbar 516.
513 is the output of the multiplexer 525, the 33-bit signal line, and also the output of the first cross switch unit 516 toward the right.
The output of the multiplexer 526, the 33-bit signal line, and the first crossbar 516 are also output to the left.
515 is a first arbitration logic unit with inputs 508, 509, 510, 511, 512 respectively and an output connected to a first crossbar unit 516. The function is to adopt a classic Round-Robin arbitration algorithm to realize the sorting of the output sequence of the five inputs from the perspective of fairness and priority.
516 is a first crossbar unit with inputs 522, 523, 524, 525, 526 and outputs 423, 426, 428, 510, 511, respectively. The function is to realize the transmission path selection by using a register and a multiplexer. The structure is shown in FIG. 5 (b).
517 is a 33-bit register, the input is 510, and the outputs are connected to multiplexers 525, 526, respectively.
518 is a 33-bit register with inputs 511 and outputs connected to multiplexers 525, 526, respectively.
Reference numeral 519 denotes a 33-bit register, an input thereof is 512, and outputs thereof are connected to multiplexers 525 and 526, respectively.
520 is a 33-bit register with inputs 509 and outputs connected to multiplexers 522, 523, 524, 526, respectively.
521 is a 33-bit register with inputs 508 and outputs connected to multiplexers 522, 523, 524, 525 respectively.
522 is a multiplexer with inputs at the outputs of 520 and 521 and an output at 428.
523 is a multiplexer with inputs at the outputs of 520 and 521 and an output at 426.
524 is a multiplexer, the inputs are the outputs of 520 and 521, and the output is 423.
525 is a multiplexer with inputs 517, 518, 519 and 521, and an output 513.
526 is a multiplexer with inputs at 517, 518, 519, and 520 outputs at 514.
Fig. 6 is a diagram of a 161 second interface unit structure, in which: 601 is a tristate gate with 310 inputs, 611 control signals and 609 outputs. 602 is a tristate gate with an input of 310, a control signal of 612 and an output as an input to the FIFO 603. 603 is an input data buffer FIFO with a data bit width of 33 bits and a buffer depth of 256 words, which buffers the register file data output by the main microprocessor, the output data line is connected to the third combinational logic circuit 606, and the output non-empty status signal is connected to 605. 604 is input data buffer FIFO, data bit width is 33 bits, buffer depth is 256 words, register file data output by other redundant cores are buffered, output data line is connected with third combinational logic circuit 606, and output non-empty state signal is connected with 605.
605 is an and gate, inputs are non-empty status signals of the FIFO 603 and the FIFO 604 respectively, and outputs are connected to the third combinational logic circuit 606 as a trigger signal for triggering 606 operation.
606 is a third combinational logic circuit, which inputs the output data of the FIFOs 603 and 604 and the output of the and gate 605, respectively, and has two outputs 607 and 608. The function is to compare 603 and 604 output data to be equal when the output of the and gate 605 is '1', and if equal, the output signal 607 is set to '1', and the output signal 608 is set to '0'; if not, then output signal 607 is set to '0' and output signal 608 is set to '1'.
607 is the output signal line of the third combinational logic 606, and a '1' indicates that the register file is correct.
608 is the output signal line of third combinatorial logic 606, and a '1' indicates that the register file is incorrect.
609 is a tristate gate 601 output, 33-bit signal line, as a self redundant core register comparison output signal, to the second routing unit 171.
610 is the second routing cell 171 output signal (other redundant core register compare input) connected to the input of FIFO 604.
611 is the input control signal of the tri-state gate 601, which is the signal after logical and operation of 201 bits and 203 bits.
611 is the input control signal of the tri-state gate 602, which is the 201 bit and 205 bit logically anded signal.
Fig. 7 (a) (b) is a diagram of a second routing unit structure 171, and in fig. 7 (a):
an input data buffer FIFO with a data bit width of 33 bits, a buffer depth of 128 words, an input 704 and an output 706, are connected to the second arbitration logic unit 713 and the second crossbar unit 714, respectively.
The input data buffer FIFO at 702 has a data bit width of 33 bits, a buffer depth of 128 words, an input of 705, and an output of 707, and is connected to the second arbitration logic unit 713 and the second crossbar unit 714, respectively.
703 is an input data buffer FIFO with a data bit width of 33 bits, a buffer depth of 128 words, an input of 711 and an output of 712, which are connected to the second arbitration logic unit 713 and the second crossbar unit 714, respectively.
704 is the input to the FIFO 701 and is 33 bits wide in data bits and is connected to the output 709 of the left adjacent second routing cell structure diagram.
705 is the input to the FIFO 702, which has a data bit width of 33 bits, and is connected to the output 708 of the next routing cell structure diagram to the right.
706 is the output of the FIFO 701, which has a data bit width of 33 bits and is connected to the second arbitration logic unit 713 and the second crossbar unit 714, respectively.
707 is the output of the FIFO 702, the data bit wide is 33 bits, which is connected to the second arbitration logic unit 713 and the second crossbar unit 714, respectively.
708 is the multiplexer 720 output, 33 bit signal line, also the first crossbar unit 714 output to the left.
709 is the output of the multiplexer 719, 33 bit signal line, also the output of the first cross bar switch unit 714 to the right.
710 is the multiplexer 718 output, 33-bit signal line, connected to 610 as the other redundant core register compare input signal from the first crossbar unit 714.
711 is FIFO input signal, 33 bit signal line, directly connected with 609, as the comparison output signal of self redundant core register output of the second interface unit.
712 is the output of the FIFO 703, which is 33 bits wide in data bit, and is connected to the second arbitration logic 713 and the second crossbar 714, respectively.
713 is a second arbitration logic unit having inputs 706, 707, 712 respectively, and an output connected to a second crossbar unit 714. The function is to adopt a classic Round-Robin arbitration algorithm to realize the sorting of the output sequence of the five inputs from the perspective of fairness and priority.
714 is a second crossbar unit to which the output signals 706, 707, 712, and 713 are input and 708, 709, and 710 are output. The function is to realize the transmission path selection by using a register and a multiplexer. The structure is shown in FIG. 7 (b).
715 is a 33-bit register with inputs 712 and outputs connected to multiplexers 719, 720, respectively.
716 is a 33-bit register, the input is 705, and the output is connected to multiplexers 718, 720, respectively.
A 717 33-bit register with 704 inputs and outputs connected to multiplexers 718, 719 respectively.
718 is a multiplexer with inputs being the outputs of registers 716 and 717 and an output of 710.
719 is a multiplexer with inputs being the outputs of registers 715 and 717 and an output 709.
720 is a multiplexer with inputs being the outputs of registers 715 and 716 and an output of 708.
The structure of the invention is not only suitable for the multi-core processor based on the time-sharing bus, but also suitable for the multi-core processor based on the network on chip, and the number of cores integrated in the multi-core processor is not limited.
The structure of the invention can be applied to a 32-bit multi-core processor and can also be applied to a 64-bit multi-core processor, the data buffer FIFO in the structure is changed from 33 bits of data bit width to 65 bits, and only the 65 bits of data bit width of the FIFO 404 are changed to 97 bits.
Those skilled in the art will appreciate that the details of the invention not described in detail in the specification are within the skill of those skilled in the art.

Claims (1)

1. A multi-core processor configurable dual modular redundancy architecture, comprising: a microprocessor (101), a first interface unit (141), a first routing unit (151), a second interface unit (161), a second routing unit (171), and an on-chip shared memory unit (181);
the on-chip shared storage unit (181) is respectively connected with a plurality of first interface units (141), and each first interface unit (141) is respectively connected with a corresponding first routing unit (151) and a microprocessor (101); each microprocessor (101) is sequentially connected with a second interface unit (161) and a second routing unit (171);
a microprocessor (101) for executing instructions and processing data, comprising: a controller, an arithmetic logic unit ALU, a register file, a redundancy control register (121), a register file redundancy control unit (131); the controller is used for sending control information; the arithmetic logic unit ALU is used for operating data; the register file is used for storing an intermediate processing result; the redundancy control register (121) is used for setting the microprocessor (101) to be a master microprocessor or a slave microprocessor in a dual-mode redundancy mode; the register file redundancy control unit (131) is used for completing backup and recovery of register files in the microprocessor (101);
when the microprocessor (101) executes the load instruction load, the data input by the first interface unit (141) is received; when executing a store instruction store, the microprocessor (101) outputs data to the first interface unit (141); after the microprocessor (101) finishes executing a thread, the register file redundancy control unit (131) sends register file information to the second interface unit (161); when the two processors in the dual-mode redundancy mode respectively send register file information to the second interface unit (161) to be the same, the register file redundancy control unit (131) copies the data in the register file to a backup register file; when the two processors in the dual-mode redundancy mode respectively send register file information to the second interface unit (161) to be different, the register file redundancy control unit (131) copies data in the register file which is internally backed up into the register file;
the first interface unit (141) is used for realizing the comparison of the output data of the execution Store instruction of the main microprocessor and the slave microprocessor under the dual-mode redundancy mode and judging whether an error is detected;
the first interface unit (141) reads data from the on-chip shared memory unit (181) and transmits the data to the microprocessor (101) according to an address and a read signal input by the microprocessor (101) executing the load instruction load;
the first interface unit (141) receives data corresponding to the storage instruction store executed by the microprocessor (101), and stores the data corresponding to the storage instruction store; judging whether the data corresponding to the storage instruction store executed by the master microprocessor and the slave microprocessor under the dual-mode redundancy mode are the same, if so, transmitting the data to an on-chip shared storage unit (181), and if not, indicating that an error is detected; when the microprocessor (101) connected with the first interface unit (141) is used as a master microprocessor in a dual-mode redundancy mode, receiving data fed back by the first routing unit (151) for comparison, wherein the data source is data corresponding to a storage instruction store executed by the slave microprocessor in the dual-mode redundancy mode; when the microprocessor (101) connected with the first interface unit (141) is used as a slave microprocessor in a dual-mode redundancy mode, the transmission microprocessor (101) executes data corresponding to a storage instruction store to the first routing unit (151);
the first routing units (151) are connected in pairs;
corresponding to any one first routing unit (151), receiving the data input by the first interface unit (141), and transmitting the data to the adjacent first routing unit (151); meanwhile, data input by an adjacent first routing unit (151) are received, when the address signal in the received data is judged to be matched with the address information of the first routing unit (151), the received data are delivered to the first interface unit (141), and when the address signal in the received data is judged not to be matched with the address information of the first routing unit (151), the received data are delivered to the adjacent first routing unit (151) continuously;
the second interface unit (161) is used for comparing the data in the register file after the main microprocessor and the slave microprocessor finish a section of thread in the dual-mode redundancy mode, notifying the register file redundancy control unit (131) when finding that the data are different, restoring the register file to the state after the last section of thread is executed, and re-executing the thread with errors; after the microprocessor (101) executes a thread, the second interface unit (161) sequentially receives data in the register file sent by the register file redundancy control unit (131) in the microprocessor (101); when the microprocessor (101) connected with the second interface unit (161) is used as a main microprocessor in a dual-mode redundancy mode, receiving data fed back by the second routing unit (171), and comparing the data with the received data in the register file sent by the register file redundancy control unit (131); when the microprocessor (101) connected with the second interface unit (161) is used as a slave microprocessor in a dual-mode redundancy mode, transmitting data in the register file sent by the register file redundancy control unit (131) to the second routing unit (171); judging whether register file data received by a second interface unit (161) connected with the master-slave microprocessor (101) in the dual-mode redundancy mode are the same or not, and feeding back a judgment result to respective register file redundancy control units (131);
the second routing unit (171) receives the data input by the second interface unit (161) and transmits the data to the corresponding second routing unit (171) in the dual-mode redundancy mode; and receiving data input by the adjacent second routing unit (171), transmitting the received data to the second interface unit (161) when judging that the address signal in the received data is matched with the address information of the own second routing unit (171), and continuously transmitting the received data to the adjacent second routing unit (171) when judging that the address signal in the received data is not matched with the address information of the own second routing unit (171).
CN201911371031.7A 2019-12-26 2019-12-26 Configurable dual-mode redundancy structure of multi-core processor Active CN111190774B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911371031.7A CN111190774B (en) 2019-12-26 2019-12-26 Configurable dual-mode redundancy structure of multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911371031.7A CN111190774B (en) 2019-12-26 2019-12-26 Configurable dual-mode redundancy structure of multi-core processor

Publications (2)

Publication Number Publication Date
CN111190774A CN111190774A (en) 2020-05-22
CN111190774B true CN111190774B (en) 2023-04-14

Family

ID=70707634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911371031.7A Active CN111190774B (en) 2019-12-26 2019-12-26 Configurable dual-mode redundancy structure of multi-core processor

Country Status (1)

Country Link
CN (1) CN111190774B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084071B (en) * 2020-09-14 2023-09-19 海光信息技术股份有限公司 Computing unit operation reinforcement method, parallel processor and electronic equipment
CN113342719B (en) * 2021-06-30 2022-12-13 珠海一微半导体股份有限公司 Operation acceleration unit and operation method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036742A (en) * 1989-05-17 1991-01-14 Internatl Business Mach Corp <Ibm> Fault-tolerant-data processing system
CN102281054A (en) * 2011-04-25 2011-12-14 浙江大学 Reconfigurable computing array data coupler for data driving
JP2014096127A (en) * 2012-11-12 2014-05-22 Kobe Univ High-reliability multi-core processor
CN104794087A (en) * 2015-04-09 2015-07-22 北京时代民芯科技有限公司 Processing unit interface circuit in multi-core processor
CN109783016A (en) * 2018-12-25 2019-05-21 西安交通大学 A kind of elastic various dimensions redundancy approach in distributed memory system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2803057B1 (en) * 1999-12-22 2002-11-29 Centre Nat Etd Spatiales COMPUTER SYSTEM TOLERANT TO TRANSIENT ERRORS AND MANAGEMENT METHOD IN SUCH A SYSTEM
KR100399435B1 (en) * 2001-02-27 2003-09-29 주식회사 하이닉스반도체 A semiconductor memory device and a repair analysis method therefor
DE102005054587A1 (en) * 2005-11-16 2007-05-24 Robert Bosch Gmbh Program controlled unit and method of operating the same
EP2537091A4 (en) * 2010-02-16 2014-08-06 Freescale Semiconductor Inc Data processing method, data processor and apparatus including a data processor
US8972782B2 (en) * 2012-11-09 2015-03-03 International Business Machines Corporation Exposed-pipeline processing element with rollback
US20160065243A1 (en) * 2014-08-27 2016-03-03 Arizona Board Of Regents On Behalf Of Arizona State University Radiation hardening architectural extensions for a radiation hardened by design microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036742A (en) * 1989-05-17 1991-01-14 Internatl Business Mach Corp <Ibm> Fault-tolerant-data processing system
CN102281054A (en) * 2011-04-25 2011-12-14 浙江大学 Reconfigurable computing array data coupler for data driving
JP2014096127A (en) * 2012-11-12 2014-05-22 Kobe Univ High-reliability multi-core processor
CN104794087A (en) * 2015-04-09 2015-07-22 北京时代民芯科技有限公司 Processing unit interface circuit in multi-core processor
CN109783016A (en) * 2018-12-25 2019-05-21 西安交通大学 A kind of elastic various dimensions redundancy approach in distributed memory system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SoCLib的异构多核结构的设计与实现;高文等;《微计算机信息》(第32期);全文 *

Also Published As

Publication number Publication date
CN111190774A (en) 2020-05-22

Similar Documents

Publication Publication Date Title
US6732250B2 (en) Multiple address translations
EP0516126B1 (en) Fault tolerant multiprocessor computer system
US5317726A (en) Multiple-processor computer system with asynchronous execution of identical code streams
US7055060B2 (en) On-die mechanism for high-reliability processor
US9052887B2 (en) Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode
US5504859A (en) Data processor with enhanced error recovery
CA1325290C (en) Write back buffer with error correcting capabilities
US4965717A (en) Multiple processor system having shared memory with private-write capability
US20090044044A1 (en) Device and method for correcting errors in a system having at least two execution units having registers
US8671311B2 (en) Multiprocessor switch with selective pairing
JPH056308A (en) Cache controller, fault tolerant computer and its data transfer system
US6785763B2 (en) Efficient memory modification tracking with hierarchical dirty indicators
JPH0683663A (en) Multiprocessor computer system
KR101686366B1 (en) Multiple computer system processing write data outside of checkpointing
CN111190774B (en) Configurable dual-mode redundancy structure of multi-core processor
US6961826B2 (en) Processor state reintegration using bridge direct memory access controller
US6950907B2 (en) Enhanced protection for memory modification tracking with redundant dirty indicators
US6785777B2 (en) Control logic for memory modification tracking with hierarchical dirty indicators
EP0645708A1 (en) Store &#34;UNDO&#34; for cache store error recovery
US6785847B1 (en) Soft error detection in high speed microprocessors
US6981172B2 (en) Protection for memory modification tracking
CN116302648A (en) Fault processing method based on dual-core lockstep processor
CN100476744C (en) Apparatus and method for detecting transient fault of assembly line based on time redundancy
JP3240660B2 (en) Data processing device
EP0476262B1 (en) Error handling in a VLSI central processor unit employing a pipelined address and execution module

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant