Radosław Sokół wrote:
> 2) Nie nazwałbym tego prędkością (to nie musiało mieć prze-
> łożenia na prędkość jako taką). To był *czas wykonywania*
> *konkretnych operacji niskopoziomowych*. Nie było to zależ-
> ne aż tak bardzo od zegara (Intel miał zdecydowanie wyższe
> zegary niż AMD, gdy zaczął dopiero trafiać na ten problem).
Wrong.
Pętla w paszczalu mierzyła ilość iteracji pętli w stałym czasie. Szybsze
procki wykonywały więcej iteracji, wolniejsze mniej. Wynik pomiaru
wykorzystywany był w procedurze opóźnienia (delay, sleep, nie pamiętam):
jeżeli w ciągu 1ms wykonano x obiegów, to k ms zajmie mniej więcej kx
obiegów (plus-minus narzuty pętli).
Problem paszczala był taki, że założyli za mało pojemny licznik obiegów i
lepsze procesory doliczały "do końca" przed upływem mierzonego czasu.
Przekręcenie licznika objawiało się niesławnym "error 200: divide by zero".
Tak więc błąd wywoływany był przez zbyt dużą _rzeczywistą_ prędkość
wykonywania obliczeń i pojawił się bodaj w okolicach PPro 200. Czyli błąd
nie zależał li tylko od fizycznego zegara, a raczej od "Pentium Rating"
napastnika.
TEN akurat błąd w najmniejszym stopniu nie wynikał z różnic _programowych_
Amd/Intel. To był typowy błąd niedowartościowania technologii w czasie.
Jak "po co obsługiwać więcej niż 640kB RAM" czy "po co zakładać, ze HDD
może mieć więcej niż 1024 cylindry".
-- Pawel Kraszewski http://www.Kraszewscy.NETReceived on Sun Apr 13 19:49:16 2008
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sun 13 Apr 2008 - 20:52:26 MET DST