Back

ⓘ Pentium FDIV bag




Pentium FDIV bag
                                     

ⓘ Pentium FDIV bag

Pentium FDIV баг је компјутерски баг у јединици за рачунање са покретним зарезом. Баг узрокује погрешнан резултат при дељењу реалних вредности. Открио га је 1994-е године професор Томас Р. Најсли са Линчберг колеџа. Интел је приписао грешку недостајећим вредностима у лукап табели која је коришћена при дељењу.

Озбиљност FDIV бага је упитна. Иако су се обични корисници ретко сусретали са овом грешком Часопис Бајт процењује да се 1 у 9 милијарди дељења са случајним параметрима изврши нетачно, и пропуст и Интелова иницијална реакција на ситуацију су оштро критиковани од стране заједнице.

У децембру 1994. године, Интел је повукао дефектне процесоре. У јануару 1995. године, Интел је најавио "накнаду од 475 милиона долара од зараде пре пореза, што је наводно укупан износ трошкова у вези са заменом процесора са грешком."

                                     

1. Опис

На погођеним чиповима се користио Свинијев, Робертсонов и Тошеров СРТ алгоритам за дељење. Он се реализује као програмибилно логичко поље са 2048 ћелија, од којих је 1066 требало да буде испуњено једном од пет вредности: -2, -1, 0, +1, +2. На чиповима са грешком, пет елемената који је требало да садрже вредност +2 су недостајали, и уместо тога је повратна вредност била 0.

                                     

2. Хронологија

Томас Најсли, професор математике на Линчберг колеџу, је написао код за тражење простих бројева, близанаца простих бројева, тројки простих бројева, и четворки простих бројева. Најсли је приметио неке недоследности у израчунавањима 13. јуна 1994. године, непосредно након што је убацио Пентиум систем у његову групу рачунара, али није могао да елиминише друге факторе до 19. октобра 1994. године. 24. октобра 1994. године је пријавио проблем Интелу. Према Најслију, његов контакт у Интелу је касније признао да је Интел био свестан проблема од маја 1994. године, када је Том Краљевиц, студент Пурдју Универзитета који је радио за Интел у Хилсбору, Орегону, открио пропуст током тестирања FPU јединице за ново Р6 језгро које је први пут употребљено у Пентиум про архитектури.

30. октоба 1994-е, Најсли је послао имејл описом грешке које открио у Пентиумовој јединици за рад са покретним зарезом његовим разним контактима, тражећи додатна тестирања грешке на 486-DX4s, Пентиуму и Пентиумовим клоновима.

Недостатак у Пентиумовом FPU-у је брзо верификован од стране других људи широм интернета и постао познат, као и Пентиум FDIV буг FDIV је инструкција за дељење у покретном зарезу у x86 асемблеру. Пронађен је пример када је резултат дељења био погрешан за око 61 делова на милион.

Прича се први пут појавила у штампи 7. новембра 1994. године у чланку објављеном у Electronic Engineering Times, "Интел исправља Пентиум FPU квар" енг. "Intel fixes a Pentium FPU glitch" Александра Вулфа.

Причу је касније преузео ЦНН у сегменту емитованом 21. новембра 1994. То је ову грешку довело међу ширу јавност.

Јавно, Интел је признао ману у њиховим јединицама за рад са бројевима у покретном зарезу, али је тврдио да није озбиљна и неће утицати на већину корисника. Интел је нудио да замени процесоре корисника који су могли да докажу да грешка постоји у њиховом процесору. Међутим, иако је већина независних процена тврдило да је грешка малог значаја и да ће имати занемарљив утицај на већину корисника, она је изазвала велико негодовање јавности. Компаније као што су ИБМ чији се ИБМ 5x86C микропроцесор у то време такмичио са Интел Пентиум линијом су се придружили осудама.

Дана 20. децембра 1994. године, Интел је понудио да замени све Пентиум процесоре с грешком свима који то затраже, као одговор на растући притисак јавности. Иако се испоставило да је само мали део власника Пентиум процесора вратио своје чипове, финансијски утицај на компанију је био значајан. 17. јануара 1995. године, Интел је најавио "накнаду у износу од $475 милиона долара од зараде пре пореза, што је наводно укупан износ трошкова у вези са заменом процесора са грешком" Неки неисправни чипови су касније претворени у Интелове привеске за кључеве.

Чланак из 1995. године у Сајенсу описује значај проблема из области теорије бројева у откривању грешака и даје математичко образложење и историју Бранове константе, проблема на коме је Најсли радило када је открио грешку.

                                     

3. Погођени модели

Овај проблем се јавља само на неким моделима оригиналног Пентиум процесора. Грешка је постојала само у неким процесорима Пентиум породице са фреквенцијом часовника мањом од 120 MHz. На погођеним моделима, алат Processor Frequency ID Utility може да провери постојање овог бага.

Десет погођених процесора су наведени у наставку.

Неки Интел 80486 OverDrive и Пентиум OverDrive процесори су такође подложни FDIV грешци, као и F00F грешци.

                                     

4. Методе детекције

Универзални

Присутност грешке се може проверити ручно, извршавањем следећег израчунавања у било којој апликацији која користи процесорску репрезентацију бројева са покретним зарезом, као што су калкулатор за Windows или Мајкрософт Ексел у Windows-у 95/98.

Тачна вредност је:

4, 195, 835 3, 145, 727 = 1.333820449136241002 {\displaystyle \textstyle {\frac {4.195.835}{3.145.727}}=1.333820449136241002}

Када се претвара у хексадекадну вредност коју користи процесор, 4195835 = 0x4005FB и 3145727 = 0x2FFFFF. 5 у запису 0x4005 изазива грешку у логичком колу. Као резултат тога, вредност коју враћа Пентиум процесор у одређеним ситуацијама је погрешна на четири или више цифара:

4, 195, 835 3, 145, 727 = 1.333 739068902037589 {\displaystyle \textstyle {\frac {4.195.835}{3.145.727}}=1.333{\color {Red}{739068902037589}}}

Users also searched:

...