Premium

Získejte všechny články
jen za 89 Kč/měsíc

Víte o tom, že Pentium neumělo dělit?

Když se poprvé začalo mluvit o procesoru Pentium, spoustě lidí se zdálo, že je to na svou dobu dokonalý výrobek. Už tehdy to však zřejmě byla nemístná iluze. 30. října (1994) se začala po mezinárodních počítačových sítích šířit panika...
Nikdo není dokonalý

Pentium

Tento článek si klade za cíl sumarizovat skutečnosti kolemznámé chyby instrukce FDIV procesoru Pentium firmy Intel. Všechny skutečnosti popisované v tomto článku jsou založeny na mých osobních zkušenostech a na zdrojích pocházejících z celosvětových počítačových sítí.

Jak se chyba projevuje?

V některých řídkých případech dělení dvou čísel s pohyblivou čárkou vrací procesor Pentium výsledek, který je méně přesný, než je to obvyklé pro jiná čísla a než je specifikováno v původní firemní dokumentaci procesoru. Tento rozdíl přesnosti je pro jisté dvojice čísel značný a pro citlivé aplikace může být fatální. Chybou jsou zatěžovány výpočty v jednoduché (single) a zdvojené (double) přesnosti.Pozitivní je, že se později již neobjevili žádné další skutečnosti nasvědčující tomu, že by tato chyba ovlivňovala i jiné instrukce procesoru.

Chyba se projevuje jen pro určitá čísla (případně pro úzké intervaly okolo nich) a opakuje se, tj. projeví se vždy při pokusu o vydělení daného páru čísel. Nezávisí ani na rychlosti běhu procesoru a na instrukcích prováděných před instrukcí dělení.

Jak se dá chyba zjistit?

Nejjednodušší metodou, jak zjistit, zda je daný procesor chybou postižen, je provést v C, Pascalu, Fortranu, ale i třeba v kalkulátoru pro Windowsnásledující dělení: 

5505001/294911
správný výsledek: 18,66665197
Pentium: 18,66600093

4195835/3145727
správný výsledek: 1,33382045
Pentium: 1,33373907

Pokud dostáváte v kalkulátoru pro Windows nebo Excelu správný výsledek, není váš počítač postižen chybou. Předesílám už na tomto místě, že pokud je mi známo,všechny procesory Pentium jsou touto dětskou nemocí postiženy.

Co znamená jednoduchá a zdvojená přesnost, mantisa a exponent?

Pentium - podobně jako velká většina dalších procesorů - používá k zápisu čísla s pohyblivou čárkou standard IEEE 754. Reálné číslo je pak reprezentováno dvojicí čísel XX a Y a znaménkem. Takto zapsané číslo je rovno znaménko*1.XX*2Y, tj. jedna plus 0.XX, to celé krát 2 na Y. Část Y nazýváme exponentem a XX mantisou.

Standard definuje jednoduchou přesnost jako 23 bitů mantisy, tj asi 7 decimálních míst a dvojitou přesnost jako 52 bitů mantisy, tj. asi 15 decimálních míst. Decimálním místem zde rozumíme desetinné místo bez ohledu na to, zda se toto místo nachází před desetinnou čárkou (tečkou) nebo za ní.p>Pro kolik dvojic čísel se chyba projevuje?

Pokud se omezíme na čísla v jednoduché přesnosti, pak procesor poskytuje výsledek v menší přesnosti než jednoduché pro nejméně 1738 dvojic čísel. Z těchto 1738 dvojic pak 87 dává výsledek jen s přesností na 14 bitů, tj. asi na 4 decimální místa.

Vzhledem k podstatě chyby lze každou dvojici čísel dělit nebo násobit libovolnou mocninou dvojky a stále bude chybou zatížena. Je tomu tak proto, že chybu způsobuje jistá sekvence bitů mantisy a exponent na ni nemá vliv. Všechna čísla se stejnou mantisou uvažujeme tedy jako jediného reprezentanta téhož případu. Pro větší pohodlnost vybíráme ze všech takových čísel nejmenší kladné celé číslo zapsané ve formátu s pohyblivou čárkou. Povšimněme si, že to bude nutně číslo liché.

Pokud budeme považovat za správný model Tima Coea o vzniku chyb nevyvrácený, je výše zmíněný počet 1738 dvojic v jednoduché přesnosti konečným číslem a žádná další už nebudou nalezena.

Ve dvojité přesnosti počet dvojic čísel, pro jejichž podíl dává procesor Pentium přesnost nižší než dvojitou, rapidně narůstá. Okolo každého čísla můžeme navíc sestrojit úzký interval, v němž budou všechna čísla chybou rovněž zatížena. Je to dáno tím, že se při malé diferenci budou čísla lišit jen v dolních bitech mantisy, a ty chybovost neovlivňují. Tento drastický nárůst počtu dvojic postižených chybou není však pro většinu uživatelů pravděpodobně tak významný, neboť k chybám dochází většinou až na sedmém decimálním místě.

Ve zbývajích částech tohoto seriálu si ještě povíme, jak velká chyba může při výpočtu vzniknout a jak často se tato chyba projevuje. Další díl na našich stránkách naleznete zítra - tzn. ve čtvrtek.

  • Nejčtenější

Zázrak! NASA po pěti měsících obdržela od sondy Voyager smysluplnou zprávu

v diskusi je 168 příspěvků

23. dubna 2024  13:37

Když se v únoru letošního roku stále nedařilo navázat smysluplnou komunikaci s jedním z...

Herečce Slávce Budínové by bylo 100 let. Zemřela opuštěná, bez zájmu veřejnosti

v diskusi je 28 příspěvků

21. dubna 2024

Před 100 lety, 21. dubna 1924, se v Ostravě narodila známá česká herečka Slávka Budínová.

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Znovuzrození japonských letadlových lodí. Ve výzbroji budou mít F-35B

v diskusi je 51 příspěvků

19. dubna 2024

Japonsko má ve své ústavě zakázáno vlastnit ofenzivní zbraně, jako jsou letadlové lodě. Doba...

Unikátní exkurze. Nahlédněte do francouzské jaderné ponorky před vyplutím

v diskusi je 16 příspěvků

20. dubna 2024

Není obvyklé, aby reportéři mohli nahlédnout do jaderné ponorky v aktivní službě. Agentura AP nyní...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Proč umělá inteligence lže a proč kvůli ní zhloupneme. Počítačový expert vypráví

v diskusi je 17 příspěvků

22. dubna 2024

Premium Zatímco průmyslová revoluce zaváděla masivní využití strojů, které nahradily lidské svaly, nyní...

Sphere jako osmý div světa? Zábavní komplex ve Vegas je technologický zážitek

v diskusi jsou 4 příspěvky

25. dubna 2024

Uvidíte v ní famózní obraz s nejvyšším rozlišením na světě, do uší zahraje sto šedesát tisíc...

POZOR VLAK: Slavíme půl století pražského metra, vznikla k tomu unikátní hra

v diskusi jsou 3 příspěvky

24. dubna 2024  7:29

Pro Československo, a především pro Prahu, to byl slavný den, devátého května 1974 byl slavnostně...

Jiří Horák obnovil ČSSD a dovedl ji do parlamentu. Se Zemanem si nerozuměl

v diskusi jsou 2 příspěvky

24. dubna 2024

Před 100 lety se narodil Jiří Horák, který po sametové revoluci pomáhal znovuobnovit sociální...

Dnes už se bez nich válčit nedá. Raketový vzestup bojových dronů

v diskusi je 43 příspěvků

24. dubna 2024

Bezpilotní letadla (drony) jsou v posledních dvou dekádách na raketovém vzestupu. Přispěla k tomu...

Akční letáky
Akční letáky

Všechny akční letáky na jednom místě!

Manželé Babišovi se rozcházejí, přejí si zachovat rodinnou harmonii

Podnikatel, předseda ANO a bývalý premiér Andrej Babiš (69) s manželkou Monikou (49) v pátek oznámili, že se...

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...