A method for verifying all intermediate results of a set of architected
registers at the end of an instruction stream, even if the final values do
not depend on the values of all intermediate results, using a single MISR
(Multiple Input Shift Register) to generate a signature of all updates to
multiple architected registers. Single instructions update multiple
registers across multiple machine cycles, and an accumulation register
allows order independence of partial results. A register update consists
of the data to be written, an address identifying which register is to be
updated, and controls to identify if this is the last register update that
will be done by the current instruction. For each cycle, logic evaluates
the update controls to select what will be gated into the accumulation
register and also sets MISR control latches to tell how to update the MISR
the next cycle. The latched MISR controls select whether the MISR will
clear, hold, or evaluate. The expected final MISR value (signature) is
compared to the actual final MISR value (signature). A mismatch indicates
a functional error during execution of the instruction stream.
Um método para verificar todos os resultados intermediários de um jogo de architected registos na extremidade de um córrego da instrução, mesmo se os valores finais não dependem dos valores de todos os resultados intermediários, usando um único MISR (registo de deslocamento múltiplo da entrada) gerar uma assinatura de todos os updates ao múltiplo architected registos. As únicas instruções atualizam registos múltiplos através dos ciclos múltiplos da máquina, e um registo da acumulação permite a independência da ordem de resultados parciais. Um update do registo consiste nos dados a ser escritos, identificar do endereço que o registo deve ser atualizado, e controla-os para identificar se este for o último update do registo que estará feito pela instrução atual. Para cada ciclo, a lógica avalía os controles do update para selecionar o que serão bloqueados no registo da acumulação e ajusta também travas do controle de MISR para dizer como atualizar o MISR o ciclo seguinte. Os controles trancados de MISR selecionam se o MISR cancelará, prenderá, ou avaliará. O valor final previsto de MISR (assinatura) é comparado ao valor real do final MISR (assinatura). Uma mau combinação indica um erro funcional durante a execução do córrego da instrução.