Multiprocessor with pair-wise high reliability mode, and method therefore

   
   

In one embodiment a multiprocessing apparatus includes a first processor and a second processor. Each of the processors have their own data and instruction caches to support independent operation. In a normal mode the processors independently execute separate instruction streams. Each of the processors has a respective signature generator. The system also includes a compare unit coupled to the signature generators. In a high reliability mode, both processors execute the same instruction stream. That is, each processor computes a version of a result for ones of the instructions in the stream. Responsive to the respective versions, the respective signature generators assert signatures to the compare unit, so that a faulting instruction may be detected. In another aspect, each processor has its own respective commit logic. The compare unit signals the commit logic in each respective processor that the possibility has been eliminated of a calculation interrupt arising for that instruction, once the compare unit receives signatures for corresponding versions of a result, but only if the signatures match. This permits the commit logic to commit the result. If the signatures do not match, the compare unit signals the commit logic that the corresponding instruction has faulted. The commit logic permits instructions prior to the faulting instruction in program order to continue execution, but initiates flushing of results that were produced by the faulting instruction and at least some instructions subsequent in program order to the faulting instruction.

В одно воплощение прибор мультипроцессирования вклюает первый обработчик и второй обработчик. Каждый из обработчиков имеет их собственные тайники данных и инструкции для того чтобы поддержать независимо деятельность. В нормальном режиме обработчики независимо исполняют отдельно потоки инструкции. Каждый из обработчиков имеет соответственно генератор подписи. Система также вклюает блок сравнивать соединенный к генераторам подписи. В высоком режиме надежности, оба обработчика исполняют такой же поток инструкции. That is , каждый обработчик вычисляет вариант результата для одной из инструкций в потоке. Отзывчиво к соответственно вариантам, соответственно генераторы подписи утверждают подписи к блоку сравнивать, так, что ошибаясь инструкция будет мочь быть обнаружена. В другом аспекте, каждый обработчик имеет свое собственное соответственно поручить логика. Блок сравнивать сигнализирует логику поручать в каждом соответственно обработчике что возможность была исключена interrupt вычисления возникая для той инструкции, раз блок сравнивать получает подписи для соответствуя вариантов результата, но только если подписи сопрягают. Это позволяет логику поручать поручить результат. Если подписи не сопрягают, то блок сравнивать сигнализирует логику поручать что соответствуя инструкция ошибалась. Логика поручать позволяет инструкции до ошибаясь инструкции в заказе программы продолжать исполнение, но топить вновь принятых результатов которые были произведены ошибаясь инструкцией и по крайней мере некоторыми инструкциями затем в заказе программы к ошибаясь инструкции.

 
Web www.patentalert.com

< Compression of program instructions using advanced sequential correlation

< Method and system for detecting a dead server

> (146,130) error correction code utilizing address information

> Method and apparatus for automated native code isolation

~ 00123