Pentium FDIV galla
FDIV-Bug lýsir vélbúnaðarvillu í Pentium örgjörva frá Intel . Villan varð þekkt í nóvember 1994 einu og hálfu ári eftir að markaðssetning hófst og leiðir til ónákvæmrar niðurstöðu fyrir fljótandi skiptingar með vissum, tiltölulega fáum verðmætapörum. [1] Enginn annar galli í CPU hönnun hefur valdið svo miklu óróa og spennu meðal notenda og sérfræðinga. Þess vegna eru uppgötvaðar vélbúnaðarvillur birtar af mörgum framleiðendum. Margir notendur hafa orðið varir við að flókinn vélbúnaður, eins og hugbúnaður, hefur venjulega margar villur.
Nafnið FDIV-Bug er dregið af nafni flotpunktskennslu sem er oft notuð í x86 örgjörvum . Hins vegar hefur villan ekki eingöngu áhrif á FDIV skipunina , eins og mann gæti grunað. Öllum leiðbeiningum sem nota gallaða deildareininguna verður fremur fyrir áhrifum. Í smáatriðum eru þetta: FDIV, FDIVP, FDIVRP, FIDIV, FIDIVR, FPREM, FPREM1, FPTAN og FPATAN. [2] [3]
Uppgötvun galla
Prófessor Thomas Ray Ágætlega við Lynchburg háskólann er viðurkenndur sem uppgötvunarmaðurinn sem það er að þakka að villan varð kunnugt fyrir almenning. Hann uppgötvaði villuna þegar hann reyndi að reikna Bruns fasta nákvæmlega. Eftir að hafa verið búinn að komast til botns í villunni tilkynnti hann völdum sérhöfundum bókahöfunda og blaðamönnum 30. október 1994 og setti þannig boltann í rúst. Hef ágætlega tekið saman smáatriðin og tímasetningu uppgötvunarinnar í algengum spurningum . [4]
Samkvæmt eigin upplýsingum hafði Intel þegar uppgötvað villuna áður en hún varð þekkt. Ýmsar heimildir nefna júní, aðrar jafnvel ágúst 1994 sem uppgötvunartíma. Í algengum spurningum sínum segir Nicely að Intel hafi uppgötvað villuna í maí þegar hún vann við flotpunktseiningu Pentium arftaka P6, síðar Pentium Pro , sem var enn í þróun á þeim tíma. Robert Colwell , aðalarkitekt Pentium Pro, staðfesti þessa framsetningu í bók sinni um þróunarverkefni P6. [5] Að sögn Colwell átti villa sér stað um þremur mánuðum áður en Nicely birti P6 fljótandi byggingararkitektinn Patrice Roussel sem hluta af samanburðargildingu á RTL eftirlíkingu framtíðar P6 fljótandi einingar og var send Pentium þróunarteyminu vegna vinnslu. Þess vegna gat Intel afhent villuleiðrétta Pentium útgáfu í sýnishorni strax í október.
Stærð, tíðni og áhrif bilunarinnar
Hlutfallsleg stærð villunnar þegar hún kom upp var marktækt minni en eitt á þúsund: að minnsta kosti voru fyrstu 12 bitarnir alltaf réttir. Að auki kom villa sjaldan fram: af 2.28 · 10 47 mögulegum pörum af tölu og nefnara höfðu um 3 · 10 37 áhrif. Einkum voru gagnkvæm gildi allra nákvæmlega tölna rétt. Áberandi áhrif gætu átt sér stað í forritum þar sem mikil nákvæmni var krafist og inntaksgögn veittu þetta, svo sem við spá um stjarnfræðilega atburði, eða í forritum þar sem lélegt ástand olli aukningu á reikniskekkjum.
Hvort og að hve miklu leyti eðlilegir notendur gætu haft áhrif á villuna var umdeilt vikunum eftir uppgötvunina. Á þeim tíma voru margir notendur enn að vinna með örgjörva sem voru ekki með flotpunktseiningu , þannig að venjulegur staðall hugbúnaður hunsaði núverandi flotpunktseiningu.
Intel fullyrti upphaflega að villan myndi tölfræðilega aðeins eiga sér stað einu sinni á 27.000 ára fresti fyrir venjulegan notanda og að hún væri aðeins viðeigandi þegar frumtölur voru gerðar eða aðrir krefjandi útreikningar. Síðast en ekki síst, þá blasti viðskiptablöðin við öðrum áætlunum. Í tímaritinu í janúar 1995, þýska sérfræðitímaritið, hefur ekki ákvarðað að meðaltali tíðni einnar villu á 60 klukkustunda fresti í forritum með mikla fljótandi punkt, en viðurkenndi um leið að „fjöldi þeirra sem raunverulega verða fyrir áhrifum ætti í raun ekki að vertu svona stór ".
IBM greip inn í og stöðvaði afhendingu tölvna með Pentium -CPU sem fréttatilkynningu og reiknaði út að tölfræðilega gæti villan jafnvel átt sér stað á sex tíma fresti. Á þeim tíma voru viðbrögð og fullyrðingar IBM hins vegar ekki óumdeildar; Eftir allt saman, með PowerPC örgjörva sínum og RS / 6000 vinnustöðvum, var IBM einn af hörðustu keppinautum Intel í hágæða geiranum. Margir litu til dæmis á sókn IBM sem stefnumarkandi markaðsaðgerð.
Verndaði Intel ágætlega gagnvart svona dramatískum kynningum. Í algengum spurningum sínum tók hann þá afstöðu að hvítbók sem Intel hafði dreift á meðan og innihélt tölfræðilega greiningu á villunni [6] væri miklu nær raunveruleikanum en framsetning IBM. [4]
Orsök bilunar
Örgjörvinn notar SRT deildaraðferðina , sem notar uppflettitöflur . Það voru fimm rangar töflufærslur í gallaða örgjörvunum. Í stað gildisins 2 er gildið 0 slegið inn í frumurnar. Vegna ójafns líkindadreifingar sem einstakar frumurnar eru lesnar upp með, kemur villan aðeins sjaldan, eða aðeins með ákveðnum tölusamsetningum. [7]
Svar við galla
Eftir að Intel uppgötvaði galla var henni útrýmt þegjandi og líklega byrjað einhvern tíma síðsumars eða snemma hausts að smám saman umbreyta framleiðslu hinna ýmsu Pentium afbrigða í villutengdar útgáfur. Þrátt fyrir þetta voru afhentir örgjörvar afhentir til loka 1994, í langan tíma án vitundar notandans.
Gagnrýnendur sökuðu því Intel um að hafa upphaflega reynt að hylma yfir villuna og síðan léttvæg henni. Eftir að galla varð þekkt fullyrti Intel að hún myndi aldrei koma fyrir flesta notendur. Í þessu samhengi er sagt að fyrrgreint "tölfræðilegt atvik á 27.000 ára fresti hjá venjulegum notendum" hafi verið nefnt. Þetta mat kallaði fram reiðileg viðbrögð notenda og blaðamanna.
Intel tilkynnti upphaflega að það myndi aðeins vilja skipta örgjörvum frá notendum sem gætu sýnt fram á að þeir hefðu áhrif á villuna. Margir notendur báðu þá Intel um að skipta út öllum örgjörvum sem hafa áhrif. Viðskiptapressan lét þessa tilkynningu ekki eftir sér. Eftir að þrýstingur jókst og fyrirtækið hótaði alvarlegri skemmd á ímynd sinni gaf Intel loks eftir 20. desember og tilkynnti umfangsmikið skiptiforrit fyrir alla örgjörva sem hafa áhrif. [8.]
Síðast en ekki síst vakti Intel mikla gleði fyrir mistökin. "Hversu marga starfsmenn Intel þarf til að skipta um ljósaperu?" 1.9999983256 "eða" Þú meinar 2.00000000 + 2.000000000 jafngildir ekki 3.999998456? "Voru í miklu magni á þeim tíma. [9]
Intel lærði af atvikinu. Andy Grove bað fjölmiðla afsökunar á reiðinni sem framkoma hans olli. Símstöð var sett á laggirnar sérstaklega til að skipta um bilaða örgjörva. Samtals gerði Intel 475 milljónir dala aðgengilega fyrir þetta atvik, sem var meira en helmingur af hagnaði fjórða ársfjórðungs 1994. Að lokum var skipt um eina milljón gallaða örgjörva. Fordæmdi ágætlega skiptin sem sóun á auðlindum. [4]
1995 hófst með því að birta allar villur sem fundust í eigin örgjörvum. Til að fá þessar upplýsingar þurfti að skrifa undir þagnarskyldusamning fyrirfram. Héðan í frá gætu allir fundið út um villur í Intel vörum í svokölluðum forskriftaruppfærslum .
Í forskriftaruppfærslum Pentium örgjörva sem verða fyrir áhrifum er áhrifum FDIV galla lýst sem: „Lítilsháttar nákvæmni tap fyrir flæðipunktaskiptum á tilteknum rekstrarpörum“, sem þýðir: „Dálítið minni nákvæmni í fljótandi punktadeildum með ákveðnum operandum - Par ". Það fer eftir gerð Pentium örgjörva, FDIV villan í þessum forskriftaruppfærslum er kölluð Erratum 20 (fyrir P5 Pentium) eða Erratum 23 (fyrir P54C Pentium). [2] [3]
Áhrif Pentium útgáfur
Villan er að finna í öllum Pentium örgjörvum sem voru framleiddir fram í byrjun hausts 1994. Sum afrit sem gerð voru síðar sýna það enn. Þar til fram í ársbyrjun 1995 voru aðeins framleiddir Pentium örgjörvar til og með 100 MHz, hafa allar hraðari afbrigði ekki áhrif á villuna.
En það þýðir ekki að allir Pentium örgjörvar með klukkutíðni 100 MHz og minna eigi í vandræðum. Þar sem Intel skipti eingöngu örgjörvunum fyrir þá með sömu klukkutíðni og hluti af skiptiforritinu og hélt áfram að selja villuleiðréttar útgáfur af þessum örgjörvum, kom mikill fjöldi Pentium örgjörva með klukkutíðni á bilinu 60 til 100 MHz í umferð sem gerði ekki með villuna. Ekki er hægt að álykta um tilvist FDIV galla með klukkutíðninni einni saman.
Fram að haustinu 1994 samanstóð meirihluti Pentium framleiðslu hins vegar af gerðum af fyrstu Pentium gerðinni P5, sem voru aðeins fáanlegar með klukkutíðni 60 og 66 MHz. Háþróaðri gerð P54C, sem upphaflega var aðeins fáanleg með 90 og 100 MHz, var dýr og tiltölulega sjaldgæf. Þetta er ein af ástæðunum fyrir því að P5 módelin sem framleidd voru árið 1994 eru stærsti hluti allra örgjörva sem hafa áhrif á FDIV villuna.
Þar sem Intel afhenti Pentium ekki 75 MHz fyrir Socket 5 (SPGA gerð) fyrr en 10. október 1994, þegar leiðrétt B5 stigun P54C var þegar í framleiðslu, hafa aðeins Socket 5 útgáfur áhrif á 90 og 100 MHz gerðir, sem þegar voru seldar. Þess vegna ætti ekki að finna neinar 75 MHz tegundir sem hafa áhrif á skrifborðstölvur og netþjóna. Þegar um er að ræða Pentium fyrir farsíma notkun hefur þó aðeins 75 MHz útgáfan áhrif. Auðvitað útilokar þetta ekki þann möguleika að það hafi verið framleiðendur sem settu upp fals 5 gerðir með 90 og 100 MHz í fartölvum.
Eftirfarandi Pentium útgáfur hafa áhrif: [2] [3]
Gerð örgjörva | Fjölskylda | Fyrirmynd | Stíga | Kjarnaskref | sSpec |
---|---|---|---|---|---|
Pentium 60/66 (P5) | 5 | 1 | 3 | B1 | Q0352 Q0353 Q0394 Q0395 Q0399 Q0400 Q0412 Q0413 Q0466 Q0467 SX753 SX754 SX835 SX837 SZ949 SZ950 |
5 | C1 | ||||
Pentium 90/100 (P54C) | 2 | 1 | B1 | Q0542 Q0543 Q0563 Q0587 Q0611 Q0612 Q0613 Q0614 Q0628 Q0677 SX874 SX879 SX885 SX886 SX909 SX910 SX921 SX922 SX923 SX942 SX943 SX944 SX960 SZ951 | |
2 | B3 | ||||
farsíma Pentium 75 (P54C) | 1 | B1 | Q0601 Q0606 SX951 | ||
2 | B3 |
Ef þú ert með stækkaðan örgjörva er auðveldasta leiðin til að stilla þig með því að nota svokallaða sSpec , venjulega fimm stafa skammstöfun sem samanstendur af bókstöfum og tölustöfum sem eru prentaðar á örgjörvahúsinu. Áhrif sSpecs eru gefin í töflunni hér að ofan.
Auðvitað er ekki hægt að bera kennsl á bilaðan örgjörva út frá merkimiða þess ef hann er í rekstrarkerfi. Hins vegar eru enn leiðir til að komast að því hvort CPU hefur áhrif á villuna. Ef það er færsla af gerðinni fdiv_bug: já í / proc / cpuinfo á Linux kerfi hefur CPU áhrif; sömuleiðis ef reikningsaðgerðirnar sem taldar eru upp hér að neðan í Windows reiknivélinni skila rangri niðurstöðu:
Reikningsaðgerð | 4195835/3145727 | 5505001/294911 | 8391667/1572863 |
---|---|---|---|
Röng útkoma | 1.333 73907 | 18.66600093 | 5.33 49560642 |
Rétt niðurstaða | 1.3338204x | 18.666652x | 5.3352816x |
Sjá einnig
Einstök sönnunargögn
- ↑ http://www5.in.tum.de/lehre/seminare/semsoft/unterlagen_02/pentiumbug/website/
- ↑ a b c 60- og 66-MHz uppfærsla á Pentium örgjörva forskriftar ( minning um frumritið frá 24. febrúar 2008 í netsafninu ) Upplýsingar: skjalasafnstengillinn var settur inn sjálfkrafa og hefur ekki enn verið athugaður. Vinsamlegast athugaðu upprunalega og geymsluhlekkinn í samræmi við leiðbeiningarnar og fjarlægðu síðan þessa tilkynningu.
- ↑ a b c Uppfærsla forskriftar Pentium örgjörva ( minning um frumritið frá 24. febrúar 2008 í netsafninu ) Upplýsingar: skjalasafnstengillinn var settur inn sjálfkrafa og hefur ekki enn verið athugaður. Vinsamlegast athugaðu upprunalega og geymsluhlekkinn í samræmi við leiðbeiningarnar og fjarlægðu síðan þessa tilkynningu.
- ↑ a b c Algengar spurningar frá Thomas Ray Ágætlega um FDIV villuna ( Memento frá 31. júlí 2019 í netsafninu )
- ^ Robert P. Colwell, "The Pentium Chronicles," ISBN 0471736171 , bls. 156
- ↑ Hvítbók Intel með greiningu á FDIV villunni
- ↑ Tim Jackson. Inni í Intel , 1998 Hoffmann og Campe
- ↑ Upplýsingar frá Intel um FDIV skiptiáætlunina
- ↑ Algengir brandarar um FDIV galla ( Memento frá 24. janúar 2001 í netsafninu )
bólga
- Tim Jackson. Inni í Intel , 1998 Hoffmann og Campe, ISBN 3-455-11204-8