DeanXP
Čuven
- Učlanjen(a)
- 07.03.2003
- Poruke
- 412
- Poena
- 619
Novi thread. Znam da je ovo prica bez kraja, ali eto...
@audiofreak: Pre svega, mene najvise zanima sta je po tebi replay? Vise puta si rekao "to nije replay", a nigde se nisi izjasnio sta je.
Koji su ti argumenti za to?
Core je mnogo bolji u tom pogledu, zar ne?
Core: 128-bit MUL + 128-bit ADD + 128-bit move
Netburst: 64-bit MUL/ADD + 64-bit move
To je ozbiljna prednost Core-a u SIMD-u. Netburst to moze da nadoknadi samo visokim taktom.
Kakva je veza izmedju dugackog pipeline-a i streaming-a, SIMD-a? Po tebi ocigledno postoji. Meni zanima koja je?
1) Trace cache je dobar koncept i sigurno ce se vratiti u buducim mikroarhitekturama.
2) Skoro svaka mikroarhitektura primenjuje microop tagging. U najosnovnijoj varijanti tag-ovi sluze samo za pracenje instrukcija za out-of-order izvrsavanje (u Re-Order Buffer-u). Dalje se sadraj tag-ova moze prosiriti za druge potrebe mikroarhitekture ili analize koda. Za implementaciju SMT-a se tag prosiri za jedan bit koji odredjuje pripadnost logickom procesoru.
3) Kao sto rekoh na pocetku posta: Sta je taj tvoj replay?
Precizno: Pipeline-ovali su integer ALU. Pun ALU pipeline se sastoji od tri faze: obrada nizih 16 bita, obrada visih 16 bita, flags. Svaka faza traje kao polovina regularnog ciklusa. Tako, za vreme jednog regularnog ciklusa procesora, ALU dobije dve instrukcije na izvrsavanje. Dok se obradjuje visih 16 bita prve instrukcije, na drugoj se obradjuje nizih 16 bita.
To sto si ti naveo je implementacija (2x16-bit pipelined), a rezultat je da ALU pocinje dve obrade u samo jednom procesorskom ciklusu slicno kao da postoje dva ALU-a na regularnom taktu.
Medjutim, postoji jedna znacajna prednost DP ALU-a naspram dva obicna ALU-a: jedan DP ALU moze da obradi dve zavisne instrukcije u jednom ciklusu, sto dva ALU-a na regularnom taktu ne mogu. Sa te strane je prednost DP ALU-a ocigledna.
Nesto vezano za replay... Optimizacija... Replay... Sta je replay?
Ne.
RAT je mapa register file-a. Mapira dodelu fizickih registara pri renaming-u. RAT i renamed register file su dva pojma.
Enlighten me.
To svakako da jeste. Senzacionalisticki je i u fazonu "Wow, vidi sta smo samo mi otkrili."
Baci mail ovom coveku: http://www.agner.org/contact/
Dosao je do slicnih zakljucaka. http://www.agner.org/optimize/ Vrlo detaljno analizira mikroarhitekture pomocu svog koda i performance counter-a. Siguran sam da ti moze dati konkretne brojke.
A tvoja definica efikasnosti je... ? Ne ukupna brzina (IPC * frekvencija), nego efikasnost?
Koliko ja znam efikasnost se gleda: ucinak po ciklusu tj. IPC. Da li potpuno ozbiljno mozes da kazes da Core nije daleko efikasniji od Netbursta?
@audiofreak: Pre svega, mene najvise zanima sta je po tebi replay? Vise puta si rekao "to nije replay", a nigde se nisi izjasnio sta je.
Osnovni koncept te arhitekture je efikasan streaming (podataka) i paralelna obrada preko SIMD-a.
Koji su ti argumenti za to?
Core je mnogo bolji u tom pogledu, zar ne?
Core: 128-bit MUL + 128-bit ADD + 128-bit move
Netburst: 64-bit MUL/ADD + 64-bit move
To je ozbiljna prednost Core-a u SIMD-u. Netburst to moze da nadoknadi samo visokim taktom.
Kakva je veza izmedju dugackog pipeline-a i streaming-a, SIMD-a? Po tebi ocigledno postoji. Meni zanima koja je?
Druga stvar koja je iskakala iz cele price je bio trace cache koji je bio prilicno inovativan koncept u 2000-toj godini i pokazao se vrlo sposobnim da odrzi visok instruction decoding throughput. Treca stvar je implementacija HTT preko uop tagging-a (jedan decoder i front end koji taguje instrukcije za core0/core1), a cetvrta replay, ali ne onakav kako ga ti zamisljas.
1) Trace cache je dobar koncept i sigurno ce se vratiti u buducim mikroarhitekturama.
2) Skoro svaka mikroarhitektura primenjuje microop tagging. U najosnovnijoj varijanti tag-ovi sluze samo za pracenje instrukcija za out-of-order izvrsavanje (u Re-Order Buffer-u). Dalje se sadraj tag-ova moze prosiriti za druge potrebe mikroarhitekture ili analize koda. Za implementaciju SMT-a se tag prosiri za jedan bit koji odredjuje pripadnost logickom procesoru.
3) Kao sto rekoh na pocetku posta: Sta je taj tvoj replay?
Ne, ideja je bila da pola takta kasnije mozes zapoceti drugu polovinu neke operacije (npr drugih 16 bita od 32-bitnog mnozenja ili drugih 32-bita od 64-bitnog ADD/SUB) pa je na taj nacin ALU izgledao 2x siri, a ne 2x brojniji.
Precizno: Pipeline-ovali su integer ALU. Pun ALU pipeline se sastoji od tri faze: obrada nizih 16 bita, obrada visih 16 bita, flags. Svaka faza traje kao polovina regularnog ciklusa. Tako, za vreme jednog regularnog ciklusa procesora, ALU dobije dve instrukcije na izvrsavanje. Dok se obradjuje visih 16 bita prve instrukcije, na drugoj se obradjuje nizih 16 bita.
To sto si ti naveo je implementacija (2x16-bit pipelined), a rezultat je da ALU pocinje dve obrade u samo jednom procesorskom ciklusu slicno kao da postoje dva ALU-a na regularnom taktu.
Medjutim, postoji jedna znacajna prednost DP ALU-a naspram dva obicna ALU-a: jedan DP ALU moze da obradi dve zavisne instrukcije u jednom ciklusu, sto dva ALU-a na regularnom taktu ne mogu. Sa te strane je prednost DP ALU-a ocigledna.
Ovde vec pocinjes da diskutujes o stvarima o kojima ja znam mnogo vise. Ne znam gde si to procitao, ali ja iz prakse mogu da tvrdim da to nije tako kod optimizovanog softvera.
Nesto vezano za replay... Optimizacija... Replay... Sta je replay?
Register Alias Table se zove to sto pominjes, a ne renamed register file
Ne.
RAT je mapa register file-a. Mapira dodelu fizickih registara pri renaming-u. RAT i renamed register file su dva pojma.
To nije replay kakav je imao Netburst.
Enlighten me.
Ceo tekst je senzacionalisticki i u fazonu "Sta X ne zeli da znate o Y".
To svakako da jeste. Senzacionalisticki je i u fazonu "Wow, vidi sta smo samo mi otkrili."
Prvo, nigde nisu navedeni nikakvi konkretni podaci o uticaju replay-a na performanse (na primer izmeren procenat CPU taktova potrosen na Replay uz pomoc performance countera), samo spekulacije.
Baci mail ovom coveku: http://www.agner.org/contact/
Dosao je do slicnih zakljucaka. http://www.agner.org/optimize/ Vrlo detaljno analizira mikroarhitekture pomocu svog koda i performance counter-a. Siguran sam da ti moze dati konkretne brojke.
Ne brini 😉a ti bi morao biti malo vise analitican i sumnjicav kad se vec upustas u sve to.
Na osnovu mog iskustva, Netburst (pa cak i Prescott) je bio izuzetno efikasna arhitektura kad je u pitanju streaming i SIMD. Kod koji sam optimizovao za njih radio je u nekim slucajevima cak i do 20% brze, a nikad sporije nego na uporedivim AMD procesorima. Kad kazem uporedivim, mislim na recimo AMD64 2800+ i Prescott 2.8GHz oba na default taktu onako kako ih ozbiljni klijenti koriste.
A tvoja definica efikasnosti je... ? Ne ukupna brzina (IPC * frekvencija), nego efikasnost?
Koliko ja znam efikasnost se gleda: ucinak po ciklusu tj. IPC. Da li potpuno ozbiljno mozes da kazes da Core nije daleko efikasniji od Netbursta?