                            Уважаемые коллеги !


Все процессоры Pentium фирмы Intel, выпущенные до октября 1994 года  со-
держат серьезную ошибку в  плавающей арифметике, приводящую при  опреде-
ленных значениях операндов к  выполнению операции деления с  одинарной
точностью или  хуже. Следует  подчеркнуть, что  ошибка ограничена только
Pentium и  ни один  486 процессор,  включая dx4/100  в котором плавающая
арифметика  оптимизирована  с  использованием  методов  примененных   в
Pentium этой ошибки не содержит.

Например при использовании калькулятора Windows выражение z=x-(x/y)*y
при x=4195835.0 и y=3145727.0 дает 256.0. Умножение на два сохраняет ошибку
BUG: x=   4195835 y=   3145727 z=256.00
BUG: x=   4195835 y=   6291454 z=256.00
BUG: x=   4195835 y=  12582908 z=256.00
BUG: x=   4195835 y=  12582909 z=256.00

Все делители попадающие в интервалы
    3.0 > y >= 3.0 - 36*(2^-22)
    9.0 > y >= 9.0 - 36*(2^-20)
    15.0 > y >= 15.0 - 36*(2^-20)
    21.0 > y >= 21.0 - 36*(2^-19)
    27.0 > y >= 27.0 - 36*(2^-19)
при делении дают неправильные результаты. Подчеркну, что данные
интервалы сохраняются при умножении приведенных выше чисел на любую
степень двойки. Это практически делает все выпущенные Pentium
непригодными для научных и финансовых вычислений (спредшиты как правило
используют плавающую арифметику двойной точности при вычислениях; то же
самое можно сказать о вычислении сложных процентов по займам и
аналогичных расчетов эти вычисления, если они проводились на Pentium
желательно продублировать на 486 процессорах).

Поскольку в процессе компиляции на Pentium оптимизирующие компиляторы
выполняют вычисление констант, теоретически даже системное
программирование на этих Pentium "чревато" и может вести к ошибкам при
последующем исполнении программы на даже на 486 процессорах. Однако
практически это непринципиально и бракованные Пентиумы могут быть
удобной платформой для разработчиков в СНГ при соответствующем снижении цены.
Я не думаю, что кто-то из системных программистов откажется от платы P5/90 
с бракованным чипом по цене, скажем $400 долларов.

По-видимому потребители США и стран западной Европы смогут обменять
бракованные Pentium на нормальные бесплатно, точнее за счет Intel. В
противном случае Intel может быть просто разорен судебными процессами,
которые приведут к резкому падению курса акций и дополнительным затратам.
Например в США в этой ситуации законы на стороне пользователей и к
изготовителям компьютеров могут быть применимы достаточно суровые
законы, разработанные в свое время для борьбы с браком в автомобильной
промышленности. В рамках этих законов потребителю достаточно
продемонстрировать что вычисления на дешевом калькуляторе и его
компьютере приводят к разным результатам из которых только один является
правильным , чтобы иметь право на обмен или возврат денег от продавца.

Кроме того многие крупные торговые фирмы и изготовителя компьютеров,
торгующие по почте (DELL, Gateway, Micron и др.) предоставляют право
вернуть компьютер в течении 30 а иногда и 90 дней после покупки с
возвратом заплаченной суммы за вычетом стоимости пересылки и 3-5%
стоимости компьютера. Поэтому безусловно крупные изготовители
компьютеров сейчас попали в неопределенную ситуация и окажут давление на
Intel с тем, поскольку само их дальнейшее существование может зависеть
от размеров и динамики возникшей паники. Ситуация мелких сборщиков
несколько хуже и представляется вероятным массовый сброс бракованных
Pentium на рынок CHГ.

В целом в этом вопросе для СНГ и стран Восточной Европы ситуация гораздо
хуже, в связи с неразвитостью законодательной базы в области защиты прав
потребителя. Однако и число Pentium здесь гораздо меньше. Владельцами
Pentium выступают как правило банки, страховые компании и крупные
госфирмы, которые располагают определенными рычагами давления на
дилеров. По имеющимся у автора данным пока только фирма IBM в бесспорном
порядке выполняет замену бракованных процессоров на нормальные.

Под давлением Intel в принципе согласился на замену бракованных
процессоров, однако поскольку речь идет о порядка 5 миллионов единиц,
рассчитывает минимизировать свои потери путем ужесточения условий замены
доказательством того, что ошибка приводит к неправильным результатам в
эксплуатируемых пользователем программах. Т.е. если Вы обращаетесь в
Intel, то Intel проводит интервью, качество которого постоянно снижается
и через месяц наверное превратиться в США в чистую формальность. Cудя по
информации в конференции COMP.INTEL.SYS (центральной конференции, в
которой ведется обсуждение ошибки и проблем замены бракованных
процессоров) Intel уже согласился заменить процессоры в NASA и всем
сотрудникам университетов, обращавшимся по этому поводу. Поэтому для
научных учреждений СНГ, не располагающих финансовым рычагами,
оптимальный путь замены это работа непосредственно с представительством
фирмы Intel. Поскольку представительство может работать жестче, чем
штаб-квартира в США, возможно будут нужны конкретные факты о выполняемых 
вычислениях как в первых интервью в США. В этом плане может пригодиться
указанная выше конференция COMP.INTEL.SYS и подборка материалов в этом
номере.

Покупателям новых машин обязательно следует выполнять проверку на
наличие FDIV_BUG и при ее обнаружении требовать либо скидку, если ошибка
рассматривается потребителем как непринципиальным, либо замену
процессора или материнской платы. Я еще не знаю как определить версию
маски по маркировке, но можно ориентироваться на приведенные выше тесты.
Как я уже не раз писал первые Pentium были неудачными по ряду параметров
и покупка P5/60 и P5/66 вообще не рекомендуется. Наверное в наших
условиях разумно предпочесть им более дешевые и не менее
производительные компьютеры на базе ADM dx2/80 и Intel486dx4/100, не
содержащие указанной ошибки.

Дополнительные материалы по этой ошибке приведены в разделе
MIRROR\FDIV_BUG выпуска A декабрьского номера бюллетеня Софтпанорама


C уважением,                                               Н.Безруков
