A simultaneous and redundantly threaded, pipelined processor executes the
same set of instructions simultaneously as two separate threads to provide
fault tolerance. One thread is processed ahead of the other thread so that
the instructions in one thread are processed through the processor's
pipeline ahead of the corresponding instructions from the other thread.
The thread, whose instructions are processed earlier, places its committed
stores in a store queue. Subsequently, the second thread places its
committed stores in the store queue. A compare circuit periodically scans
the store queue for matching store instructions. If otherwise matching
store instructions differ in any way (address or data), then a fault has
occurred in the processing and the compare circuits initiates fault
recovery. If comparison of the two instructions reveals they are
identical, the compare circuit allows only a single store instruction to
pass to the data cache or the system main memory. In this way, transient
faults are detected with a minimum amount of hardware overhead and
independent of differences in the actual order of program execution or
differences in branch speculation.
Um processador simultâneo e redundante enfiado, pipelined executa o mesmo jogo das instruções simultaneamente como duas linhas separadas para fornecer a tolerância de falha. Uma linha é processada antes de a outra linha de modo que as instruções em uma linha sejam processadas através do encanamento do processador antes de as instruções correspondentes da outra linha. A linha, cujas as instruções são processadas mais cedo, coloca suas lojas cometidas em uma fila da loja. Subseqüentemente, a segunda linha coloca suas lojas cometidas na fila da loja. Um circuito comparar faz a varredura periòdicamente da fila da loja para instruções combinando da loja. Se as instruções de outra maneira combinando da loja diferirem em qualquer maneira (endereço ou dados), a seguir uma falha ocorreu em processar e os circuitos comparar inicíam a recuperação de falha. Se a comparação das duas instruções revelar são idênticos, o circuito comparar permite somente uma única instrução da loja para passar ao esconderijo dos dados ou à memória principal do sistema. Nesta maneira, as falhas transientes são detectadas com uma quantidade mínima de ferragem aérea e de independent das diferenças na ordem real da execução de programa ou das diferenças no speculation da filial.