Двухъядерный lockstep
Два одинаковых ядра выполняют одну и ту же программу, а компаратор поднимает тревогу, как только их результаты расходятся.
Выходы обоих ядер сравниваются на каждом такте. Нередко одно ядро отстаёт от другого на пару тактов, чтобы сбой по питанию не задел оба в одном и том же состоянии. При расхождении сигнализируется ошибка, и система переходит в безопасное состояние. Схема обнаруживает сбой, но не знает, какое ядро право: при двух голосах большинства не бывает.
Lockstep — стандарт для автомобильных и промышленных микроконтроллеров, где ISO 26262 требует выявлять случайные аппаратные отказы. Cortex-R5 от Arm можно настроить так, а в Infineon AURIX для той же цели есть проверяющие ядра. Половина кремния не делает ничего полезного — она просто стоит и смотрит на другую половину.