Sebastian Kaliszewski
10/8/2007 9:40:00 AM
Borneq wrote:
> Na czym polega przy?pieszenie nowych procesorów? Oczywi?cie predko?a
> zegara;
> kiedys Pentium mia3y po 133 MHz, obecne procesory ponad 2 GHz; ale co z
> instrukcjami w przeliczeniu na takt?
Jest z jednej storny lepiej, ale z drugiej gorzej (szczytowa przepustowo?a
jest wieksza, ale odwo3anie do pamieci poza cache zjamuje ponad 100 cykli,
czasem i grube kilkaset).
> Kiedy? Pentium mia3y 3.3 miliona tranzystorów; teraz Athlon 64 ma 105.9
> miliona (dla porównania jednak, pamiea flash do aparatu fotograficznego
> ma 2
> GiB, czyli 17 miliardów bitów, czyli conajmniej tyle tranzystorów je?li sie
> nie myle )
> Ju? Pentium mog3o wykonywaa dwie instrukcje w jednym takcie w dwóch
> potokach U i V; w najnowszych procesorach chyba równie? s? dwa potoki;
Nie ma potoków. S? jednostki dekodujace, szereguj?ce, wykonawcze i
resynchronizuj?ce (retiring), wszystkie maj? pewn? szczytow? przepustowo?a
(czesto ró?n? i w dotdatku w ró?nych miejscach co innego sie liczy -- bo
procesory nie wykonuj? instrukcji z kodu tylko tzw mikrooperacje --
jednostki dekoduj?ce zamieniaj? nap3ywaj?ce instrukcje na mikrooperacje.)
> czy zosta3o natomiast dodane wykonywanie rozkazów nie po kolei ale z
> jakiej? puli; tak ?e kod wykorzystujacy dwa potoki dla Pentuim by3
> rozwlek3y i nieczytelny a dla nowszych procesorów kod dla dwóch potoków
> mo?e byc zwyk3y?
Tak. To jest od bardzo dawna, tzn od P6 (czyli od Pentium-pro) i K5 po
stronie AMD.
> Jeszcze inna rzecz to 64-bitowo?a, niestety w 32 bitowych Windows nie do
> wykorzystania; w kodzie moge dawaa przedrostki aby dzia3aa na rejestrach
> 16-bitowych, nie mam jednak mo?liwo?ci przedrostków aby dzia3aa na 64
> bitach;
Nie ma. Bo system nie umia3by prze3?czaa zadan.
> Jeszcze inn? rzecz? jest dwurdzeniowo?a - gdy mam do wykonania
> d3ugotrwa3? prace, któr? mo?na zrównoleglia jak kompresje filmu; to moge
> u?ywaj?c SetThreadAffinityMask rozdzielia prace na dwa w?tki,
Nie mo?esz. Nie t? funkcj?.
> z których
> ka?dy zajmie sie innym fragmentem filmu i w?tki bed? dzia3?3y równolegle
> Dodatkowo nowe instrukcje jak MMX i inne
> Ile instrukcji na sekunde udaje sie wyci?gn?a z 2 GHz nowego procesora?
Generalnie jeden rdzen Core2 mo?e przepu?cia max 4 instrukcje assemblerowe
na raz, a jeden rdzen K8 i K8L -- 3 instrukcje. Tylko to nie ma a? takiego
znaczenia, licz? sie takei rzeczy jak wszelkie bufory, cache, mo?liwo?a
przestawiania kolejno?ci instrukcji itd.
Zato ka?dy rdzen to osobny procesor i tak nalezy go traktowaa.
pzdr
\SK