[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Gigainstrukcje na sekunde nowych procesorów

Borneq

10/7/2007 9:50:00 AM

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?
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; 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?
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;
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, 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?

5 Answers

Doker

10/7/2007 9:56:00 PM

0

> 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, z których
> ka?dy zajmie sie innym fragmentem filmu i w?tki bed? dzia3?3y równolegle
SetThreadAffinityMask nie rozdziala pracy na dwa watki.

f1j@k?

10/7/2007 11:04:00 PM

0

Doker o?mieli3 sie napisaa:
>> 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, z
>> których ka?dy zajmie sie innym fragmentem filmu i w?tki bed? dzia3?3y
>> równolegle
> SetThreadAffinityMask nie rozdziala pracy na dwa watki.
dokladnie. Ta fun sluzy do okreslenia na ktorych procesorach MOZE byc
wykonywany watek. Do tego o czym piszesz wystarczy zalozyc watki, a
system sam znajdzie mniej obciazony procesor i rozlozy watki tak aby
bylo najlepiej.

Kardigen

10/8/2007 6:52:00 AM

0

Borneq pisze:
> Ile instrukcji na sekunde udaje sie wyci?gn?a z 2 GHz nowego procesora?
>
Ogólnie trudno powiedziea, najlepiej sprawdzia MIPS/FLOPS dla
konkretnego modelu....

Pawel Kierski

10/8/2007 7:45:00 AM

0

Kardigen w wiadomo?ci <feck3f$qnt$1@achot.icm.edu.pl> pisze:
> Borneq pisze:
> > Ile instrukcji na sekunde udaje sie wyci?gn?a z 2 GHz nowego procesora?
> >
> Ogólnie trudno powiedziea, najlepiej sprawdzia MIPS/FLOPS dla
> konkretnego modelu....

Jeszcze gorzej - dla ró?nych sekwencji instrukcji, a w szczególnym
przypadku, nawet dla ró?nych danych mo?e bya ró?nie. To, ile daje sie
"wyci?gn?a" przypomina podawanie "mocy PMPO". Choa faktycznie - nie da
sie przekroczya pewnej bariery (podaj?a PMPO mo?na w zasadzie podaa
nawet megawaty, co z tego, ?e przez pikosekunde? 8-) ).

--
Pawe3 Kierski
news@pkierski.net
dodaj "[nomorespam]" w temacie je?li piszesz z domeny innej ni? .pl,
albo koniecznie chcesz obej?a moje filtry 8-)

Sebastian Kaliszewski

10/8/2007 9:40:00 AM

0

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