.

«Когда производитель выпускает операционную систему, а потом находит в ней ошибки, он рассылает «патчи» — исправления и новые версии, - отметил Торреллас. - Мы к этому привыкли. Если процессор не работает, как надо, при исполнении определенной команды, почему бы тоже не разослать исправление? Тогда можно исправить все на месте и не надо возвращать микросхемы изготовителю».

Плодом двухлетней работы Торрелласа в Университете штата Иллинойс в Урбана-Шампань стал Phoenix - устройство, подсоединяемое к микросхеме для восстановления нормальной работы процессора в случае обнаружения ошибок в его конструкции, которые могут вызвать аварийное завершение работы процессора, порчу данных, вычислительные ошибки и зависания процессора.

В отличие от программного обеспечения, для которого производитель может рассылать исправления, современные процессоры настолько сложны, что устранение ошибок конструкции на месте, без возврата на завод или полного отключения ошибочно работающих функций, практически невозможно. Но Phoenix, как утверждает Торреллас, позволяет исправлять ошибки на месте.

«Производители могли бы уменьшить объемы тестирования и выводить процессоры на рынок быстрее, если бы знали, что проблемы можно будет исправить позже, - считает профессор. - Чем раньше процессор появляется в продаже, тем легче обойти конкурентов».

«Прослушка» процессора

Торреллас начал работу над проектом с исследования десяти процессоров разработки Intel, AMD, Motorola и IBM. По материалам производителей он составил списки выявленных в процессе эксплуатации дефектов. Затем он приступил к разработке устройства, которое позволило бы исследователям определять наличие этих дефектов и корректировать их на ходу.

«Мы установили на процессор устройство, которое считывает его состояние во время работы», - рассказал Торреллас. - Когда оно сталкивается с определенным набором условий, указывающим на возможность аварийного завершения работы или порчи данных, оно меняет логику процессора, чтобы обойти эти условия».

Phoenix «прослушивает» основные логические сигналы процессора. Основываясь на загруженных сигнатурах известных дефектов конструкции, он отмечает дефекты и «сбрасывает» эти сигналы до того, как они вызовут проблему. «Как и с программным обеспечением, когда производитель микросхем обнаруживает ошибку в конструкции, он может перепрограммировать Phoenix, добавив сигнатуру обнаруженной ошибки к имеющемуся списку», - подчеркнул Торреллас. По его словам, к настоящему времени система способна полностью устранить эффекты двух третей всех известных ошибок, а над остальными профессор работает в настоящее время.

Как сообщил Торреллас, система уже получила благоприятные отзывы нескольких производителей микросхем, ознакомившихся со статьями об исследовании. Для ее работы требуется добавить к процессорам «несколько проводов и кое-какую логику», что обойдется недорого. К тому же Phoenix не снижает производительность процессора.