В 45-летнем процессоре Intel 8086 обнаружились недокументированные секретные инструкции
Легендарный процессор Intel 8086 появился в далёком 1978 году. По современным меркам это невероятно примитивное решение с 29 000 транзисторов и частотой до 16 МГц. Однако оказалось, что и в столь старом CPU в 2023 году можно найти кое-что новое. К примеру, секретные инструкции.
Исследователь аппаратного обеспечения Кен Ширриф (Ken Shirriff) решил изучить упомянутый процессор и нашёл там немало любопытного. Например, этот CPU не содержит никакого запрета на запуск неподдерживаемых инструкций. То есть при получении таких инструкций CPU всё равно пытался их выполнить.
В целом Intel 8086 поддерживал 521 инструкцию, хранящуюся в микросхеме ПЗУ Microcode. Некоторые из этих 512 инструкций были продублированы в качестве резервных копий, а некоторые вообще никогда не были обнародованы самой Intel.
Наибольший интерес вызывает одна из таких инструкций. Она была создана для защиты интеллектуальной собственности Intel. Если бы какая-то компания решила незаконно скопировать процессор Intel 8086, она бы скопировала и эту особенность CPU, не зная о её существовании. В итоге CPU-клон выполнял бы определённую операцию SALC (Set AL to Carry) при подаче соответствующих битов машинного кода. Это позволило бы Intel более эффективно преследовать любых недобросовестных конкурентов.
Что интересно, через несколько лет после выхода Intel 8086 у компании появилась возможность опробовать свою ловушку в действии, так как компания посчитала, что NEC в своём процессоре V20 реализовала именно копию Intel 8086/8088, но суд вынес решение в пользу NEC.