Obecný návod na odstranění chyby v Pentiích

Poslední chybu v Pentiích lze poměrně snadno odstranit. Stačí k tomu maličkost - detailní znalost běhu procesoru a operačního systému.
Chyby v procesorech Intel se vyskytly už několikrát. Nejnovější chybu je možno zásahem do jádra operačního systému odstranit. K systému Linux se dodávají i zdrojové text jádra a tak se můžete pokusit odstranit tuto chybu sami. To ale vyžaduje pochopení některých principů chráněného režimu procesoru Pentium.

Již v procesoru 80386 způsobila posloupnost instrukcí POPAD a RET zacyklení procesoru. Tehdy šlo o zjevnou chybu implementace. Asi nejznámější chyba je špatná funkce matematické jednotky u starších Pentií. Tehdy špatná instrukce pro dělení v pohyblivé čárce FDIV způsobovala chybu někdy dokonce i na třetím desetinném místě. Intel se tehdy rozhodl pro výměnu vadných procesorů, celkové náklady jsou odhadovány na 450 mil. dolarů.

Před několika měsíci se objevila chyba u procesorů Pentium II a Pentium PRO. Operace pro výpočty v BCD (binárně kódovaná desítková čísla) aritmetice někdy nevyvolají výjimku (přerušení) při přetečení. I když se to není na první pohled vidět, při složitějších výpočtech to může mít fatální následky.

Smrtící instrukce

Nejnovější chyba se vyskytuje u nejnovějších procesorů Pentium MMX. Celé to spočívá v tom, že po posloupnosti instrukcí F0 0F C7 C8 až CF procesor jednoduše "zamrzne". Tato posloupnost je normálně neplatná a tak by se měla vyvolat obsluha výjimky "neplatná instrukce". Tato výjimka se vyvolá, ale jen za podmínky, že se příslušný ovladač nachází v primární vyrovnávací paměti procesoru.

Zatím jsou známá dvě softwarové řešení tohoto problému. Prvním je vyvolání nějaké jiné neplatné instrukce, tím se příslušný ovladač načte do primární vyrovnávající paměti. Pak se jen jednoduše zamkne tato paměť a procesor dále funguje správně. Má to ale jeden podstatný háček - výkon procesoru se bez této paměti výrazně sníží. Z Pentia se pak stane slabší 486.

"Berlička" se našla

Druhé řešení je sice podstatně složitější, ale pro běžné použití je přijatelnější. Celé spočívá v stránkovacím mechanizmu procesoru v chráněném režimu. Stránkování funguje přibližně tak, že se některé části paměti ukládají do vyrovnávající paměti (třeba na disk). Pak se části paměti načítají zpět do tzv. rámců. Stránkování se to jmenuje proto, že do každého rámce se načítá úsek paměti dlouhý právě 4 KB. Těmto úsekům se říká stránky. Jestliže požadovaná stránka není aktuálně v paměti, je nutné vyvolat výjimku "výpadek stránky", která danou stránku načte. Toto pracuje prakticky automaticky, ale je možno procesoru "přikázat", aby určitou stránku načetl do paměti anebo naopak uvolnil její místo v rámci.

Dále je v chráněném režimu registr ISTR, který ukazuje na tabulku přerušení, kde se nacházejí příslušné ovladače výjimek. Celá finta spočívá v tom, že ovladač výjimky "neplatná instrukce" se v tabulce nachází před ovladačem "výpadek stránky". Registr IDTR se nastaví tak, aby tyto dva ovladače nebyli ve stejných stránkách. Pak se stránka s ovladačem "neplatné instrukce" uvolní z paměti. Pak ale po načtení "smrtící posloupnosti" se nejdříve vyvolá "výpadek stránky". V tomto místě procesor stále ještě žije a je možné úpravou této rutiny způsobit, že se vůbec "neplatná instrukce" nevyvolá. Prakticky to znamená, že se obsluha "neplatných instrukcí" přesouvá pod obsluhu "výpadků stránky".

Oprava spočívá v úpravě rutiny do_page_fault pod operačním systémem LINUX. Ve většině ostatních systémů nejsou k dispozice zdrojové texty, a tak si budete muset počkat na řešení od výrobce. Pevně věřím, že přijde brzy.

Váš názor Další článek: Odpovídá Kevin Cavanaugh, viceprezident firmy Lotus Corp.

Témata článku: Linux, Návody, Fatální následek, Návod, ODS, Obec, Výpadky paměti, Chyba, Podstatný háček, Pentium


Určitě si přečtěte

Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

** Před dvěma lety se Microsoft zasnoubil s Chromem ** Nový Edge není zdaleka jejich jediné dítě ** Ještě důležitější je komponenta WebView2

Jakub Čížek | 50

10 míst na mapách Googlu, která nesmíte vidět. Nahradily je čtverečky

10 míst na mapách Googlu, která nesmíte vidět. Nahradily je čtverečky

** Deset míst, které nesmíte vidět ve webových mapách ** Jsou to letiště, základny i elektrárny ** Nejvíce míst tají Francie

Jakub Čížek | 21

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

Nvidia představila grafické karty GeForce RTX 3090, RTX 3080 a RTX 3070. Známe české ceny

** Nvidia uvedla nové desktopové grafické karty GeForce RTX 3000 ** Jedná se o modely GeForce RTX 3070, 3080 a 3090 ** K výrobě se používá 8nm technologii od Samsungu

Karel Javůrek | 68


Aktuální číslo časopisu Computer

Megatest mobilů do 5 500 Kč

Test levných herních notebooků

Hrajeme na Xbox Series X

Programy pro kontrolu dětí na počítači