Ошибка деления в ранних Pentium стоила Intel 475 миллионов долларов

Ошибка деления в ранних Pentium стоила Intel 475 миллионов долларов

В 1994 году профессор математики Томас Найсли заметил, что ранний процессор Pentium ошибается в делении. Он проверял вычисления для суммы обратных величин пар простых чисел-близнецов, отличающихся ровно на два. Наглядная проверка: разделить 4 195 835 на 3 145 727, умножить результат обратно на тот же делитель и вычесть исходное число. На исправном железе выходит ноль, а на раннем Pentium — 256. Для его задачи это означало, что месяцы вычислений можно выбрасывать.

Причина была в блоке деления: он угадывал цифру результата по таблице, а пять ячеек таблицы в производственной маске оказались нулями. Ошибка ловилась не во всех делениях, а только когда делитель в двоичной форме содержал длинную серию единиц.

Intel знала об этом и уже ставила исправленную таблицу в новые чипы, но уже проданные процессоры не меняла. После писем Найсли и сетевых тестов компания объявила замену Pentium по запросу и списала 475 миллионов долларов до налогов.

99
77
22
11