Ошибка Pentium FDIV

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Ошибка Pentium FDIV — это ошибка в модуле операций с плавающей запятой в оригинальных процессорах Pentium, выпускавшихся фирмой Intel в 1994 году. Ошибка выражалась в том, что при проведении деления над числами с плавающей запятой при помощи команды процессора FDIV в некоторых случаях результат мог быть некорректным.

Данная ошибка была впервые обнаружена и опубликована профессором Линчбургского колледжа Томасом Найсли в октябре 1994 года[1].

Согласно заявлению Intel причиной проблемы послужили неточности в таблице поиска, используемой при проведении операции деления[2].

Воспроизведение ошибки

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

4195835.0/3145727.0 = 1.333 820 449 136 241 002 (Правильное значение)

4195835.0/3145727.0 = 1.333 739 068 902 037 589 (Ошибочное значение, возвращаемое процессором, содержащим дефект)

Более интуитивно понятный способ воспроизведения:

4195835*3145727/3145727 = 4195835 (При умножении и делении на одно и то же число получаем исходное число)

4195835*3145727/3145727 = 4195579 (Ошибочное значение, возвращаемое процессором, содержащим дефект)

Ссылки

  1. "Pentium FDIV flaw FAQ. Professor Thomas Nicely.
  2. FDIV Replacement Program: Description of the Flaw. Intel (2004-07-09). Проверено 19 декабря 2006.
ca:Error de divisió del Pentium

de:Pentium-FDIV-Bug en:Pentium FDIV bug es:Error de división del Intel Pentium fr:Bug de la division du Pentium he:באג הפנטיום it:Pentium FDIV bug ja:Pentium FDIV バグ pt:Defeito de ponto flutuante zh:Pentium FDIV bug

Личные инструменты

Served in 0.073 secs.