Аппаратная ошибка — это ошибка в компьютерном оборудовании . Это аппаратный аналог программной ошибки , дефекта в программном обеспечении . Ошибка отличается от сбоя , который описывает нежелательное поведение как скорее быстрое, преходящее и повторяющееся, чем постоянное, и отличается от причуды , которая является поведением, которое может считаться полезным, даже если оно не было специально разработано.
Исправления в документации могут публиковаться производителем для описания аппаратных ошибок, а термин «ошибки» иногда используется для обозначения самих ошибок.
Иногда пользователи используют непреднамеренную или недокументированную работу оборудования для достижения какой-либо цели, и в этом случае недостаток может считаться функцией. Это приводит к часто иронически используемой аббревиатуре INABIAF, «It's Not A Bug It's A Feature». [1] Например, иногда используются недокументированные инструкции, известные как нелегальные коды операций, в MOS Technology 6510 компьютера Commodore 64 и MOS Technology 6502 компьютера Apple II .
Некоторые недостатки в оборудовании могут привести к уязвимостям безопасности, когда защита памяти или другие функции не работают должным образом. Начиная с 2017 года был обнаружен ряд уязвимостей безопасности в реализациях спекулятивного выполнения на распространенных архитектурах процессоров, которые допускали нарушение уровня привилегий .
В 2019 году исследователи обнаружили, что режим отладки производителя, известный как VISA, имел недокументированную функцию на концентраторах контроллеров платформ Intel , известных как чипсеты, что делало режим доступным с обычной материнской платой, что могло привести к уязвимости безопасности. [2]
В серии процессоров Intel Pentium были обнаружены две известные ошибки после их вывода на рынок: ошибка FDIV, влияющая на деление с плавающей запятой, которая привела к отзыву в 1994 году, и ошибка F00F, обнаруженная в 1997 году, из-за которой процессор прекращал работу до перезагрузки.