Re: Odkryto blad w Pentium II, Pentium Pro

Autor: Maciej W. Rozycki (macro_at_macro.ds2.pg.gda.pl)
Data: Tue 06 May 1997 - 22:22:14 MET DST


On Tue, 6 May 1997, Wojciech Galazka wrote:

> Na http://www.x86.org
> znajduje sie informacja o swiezo odkrytym
> "bledzie" w procesorach Pentium Pro i Pentium II.
> Poniewaz nie jestem ekspertem w dziedzinie
> IEEE Floating Point Standard nie jestem w
> stanie okreslic czy jest to naprawde "blad"
> czy kolejne male uchybienie. (Wystarczy powiedziec, ze

 Jest to niewatpliwie odstepstwo od standardu. Nie jestem specjalista od
obliczen zmiennoprzecinkowych, niemniej jednak wydaje mi sie, ze blad ten
nie ma wielkiego znaczenia. Wystepuje on jedynie przy probie "wcisniecia"
zbyt duzej liczby zmiennoprzecinkowej do zmiennej calkowitej, co samo w
sobie wskazuje na blad w obliczeniach/algorytmie. Wskazuje na to tez
fakt, ze w tej sytuacji sygnalizowany jest (powinien byc) blad
niewlasciwego argumentu, a nie przepelnienia. Niestety, nie doczytalem
sie, czy blad obejmuje tylko bit FSW.IE, czy takze wyjatek. Jezeli tylko
ow bit, to mozna latwo znalezc rozwiazanie problemu poprzez odpowiednie
zaprogramowanie obslugi tego wyjatku. Tak czy owak, w takiej (i innych
zwiazanych z bledami w CPU) sytuacji, najwazniejsze jest sprawdzenie, czy
kod generowany przez istniejace kompilatory jest podatny na blad. Jezeli
nie -- to nie ma w ogole problemu (programujacy w asemblerze i tak
regularnie czytaja "specification updates"; przynajmniej ja tak robie ;-)
).

 Pentium Pro ma tez inny blad w jednostce zmiennoprzecinkowej, znany jako
"erratum #46", polegajacy na nieustawianiu bitu FSW.PE (niedokladnosci
wyniku) w niektorych sytuacjach. Blad ten jest znany od marca 1996 i
jakos nikt krzyku nie podnosi.

> w procesorach Pentium takich malych "uchybien" nie wplywajacych
> praktycznie na dzialanie procesora bylo kolo 100)

 Niektore z nich nie byly takie "nie wplywajace praktycznie na dzialanie";
Intel pokusil sie nawet o poprawki niektorych z nich poprzez wprowadzenie
dodatkowych bitow sterujacych do rejestru TR12, przelaczajacych pomiedzy
zgodnoscia ze standardem x86 a zgodnoscia z poprzednimi wersjami
procesora.

 W Pentium Pro znaleziono juz okolo 80 bledow, z ktorych niektore sa
naprawde nieprzyjemne, ze wymienie np.: klopoty z rozszerzonym
stronicowaniem (w trybie C), tzw. "speed path" w REP MOVS, interakcje SMM
z "performance monitoring" (rowniez w Pentium MMX, he, he...), problemy z
APIC w trybie "virtual wire", itd., itp... To sa problemy programowe, a
nie wspomne o sprzetowych... Niektore byly znane juz w listopadzie 1995.

 Pamietaj tez, ze panu Robertowi Collinsowi Intel coskolwiek na odcisk
nadepnal, wiec nie dziwie sie mu, ze odplaca im pieknym za nadobne.
Jeszcze pare lat temu, mimo ze dysponowal odpowiednimi srodkami, to nie
rozglaszal na wszystkie strony bledow w procesorach Intela. Niestety,
Intel ostatnio za bardzo wczuwa sie w pozycje monopolisty i choc IMHO
produkuje calkiem niezle procesory, to polityke prowadzi dosc nieprzyjemna
(np. "Appendix H" lub dokumentacja do LOADALL dla i80286/i386; BTW,
ciekawe, ze Micro$oft ma w US zarejestrowane patenty na "algorytmy" oparte
na LOADALL).

 Pozdrawiam.

--
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro_at_ds2.pg.gda.pl, PGP key available        +


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 16:05:02 MET DST