Re: Procesory AMD niezgodne w dół?

Autor: Bronek Kozicki (brok_at_rubikon.pl)
Data: Fri 28 Dec 2001 - 12:15:02 MET


"Andrzej Kłos" <andy.klos_at_wp.pl> wrote:
> Postarałm się wyeliminować moje błędy - to po pierwsze, bo większość
> stanowią nasze własne pomyłki, odrzuciłem wpływ systemu operacyjnego i
> różnych możliwych jego ustawień i przetestowałem program na 14 różnych
> kompach. Jedyną wspólną cechą tych, na których program się wykładał były
> 3 literki AMD wyryte na procesorze. A jedyną wspólną cechą tych, na

Działa to na szybkich (powyżej 1GHz) Intelach ? Jeżeli tak, to coś jest w
tym jest co piszesz. Niemniej, wiń producenta programu (Symantec-a) a nie
procesora. Taki rodzaj błędów powstaje, gdy przy uruchomieniu programu
testowana jest szybkość procesora. Dokładniej, jakaś stała jest dzielona
przez wynik pomiaru czasu działania pętli testowej. Na szybkich procesorach
pomiar czasu jest (przez źle napisany program) zaokrąglany do zera, w wyniku
dzielenia powstaje wyjątek który następnie (kolejny błąd w programie)
pozostaje nieobsłużony. W efekcie program się wykłada. Takie błędy zdarzają
się od czasu do czasu, szczególnie gdy bardzo stary program jest uruchamiany
na nowoczesnych komputerach. Dotyczy to m.in. Clippera i innych programów -
zawsze uznawano że w takich przypadkach błąd leży po stronie producenta
programu, a nie komputera lub procesora.

Proponuję zamienić NE na coś innego (swoją drogą, to już naprawdę nie jest
najlepszy edytor ASCII na świecie - powstało w międzyczasie kilka lepszych),
ew. zabawić się w hakera i poszukać, gdzie dokładnie jest liczony czas pętli
testowej a następnie to poprawić. Oczywiście, w tym celu musisz znać
asembler :)

B.



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 23:39:26 MET DST