Šta je novo?

AMD Phenom

Status
Zatvorena za pisanje odgovora.
po onome sto je anand (johan) merio - nije velika razlika: Barsa @2.0GHz 152ns, Tigerton @2.33GHz 154ns

tako da: realworld over the paper stuff!

;)
 
Apsolutno. Ne vidim kakve veze ima L3 sa latencijom memorije. Narocito ako se zna da je prefetch direktno u L1 sto maskira latencije L2 i L3 kesha.
Ranije si imao L2 od 13 ciklusa + 5 ciklusa za victim buffere + 3 ciklusa za L1 + IMC + memory latency.

Sada je L1 prakticno centralno mesto odakle se distribuiraju podaci i instrukcije u jezgro, L2 i L3 kesh.

Jedino kako mogu da objasnim visok memory latency za Barcy je nizi klok IMC-a.
 
mislim da je taj primjer neumerivo manji od recimo komunikacije izmedju jezgra putem FSB'a kao sto je kod Core2

Sve jasno, samo što se kod Core 2 to u proseku ređe primeti zbog debelog L2. K10 pre pojede svojih 512kb i krene na ipak osetno sporiji L3. Vidi se u grafikonima, dal beshe na techreportu da kad blokovi prevaiziđu dimenzije keša, K10 ima osetno manji latency od Xeona, što je i bilo za očekivati. Jedino što je real world upotreba negde između, pa čas veliki L2 bude od pomoći, čas IMC odnese pobedu.. Sa tog aspekta još 2MB keša na Wolfdaleu mogu lepo da pomognu (Neđo je već pričao na ovu temu).
 
Poslednja izmena:
Jedino kako mogu da objasnim visok memory latency za Barcy je nizi klok IMC-a.

Ono što mene zanima je da li je stvarno razlog slabijim radnim frekvencijama Barcelone od očekivanih baš IMC, ili je to samo jedan od razloga.

Baš me zanima na koliko radi IMC na onim primercima od 3GHz.
 
Ono što mene zanima je da li je stvarno razlog slabijim radnim frekvencijama Barcelone od očekivanih baš IMC, ili je to samo jedan od razloga.

Baš me zanima na koliko radi IMC na onim primercima od 3GHz.

Pa, komplexniji cip svakako da je teze naterati da radi na visem radnom taktu. IMC utice na komplexnost cipa. Citao sam, a i Spacemaster mi je pricao, da npr. A64 pod LN2 ne moze ni izbliza da radi na toliko niskim temeperaturama kao C2, a kao razlog se uglavnom navodi integrisani MC.

Ipak, bas taj IMC omogucava AMD-u da na procesore stavlja manje kesh memorije i da postigne slican efekat kao Intel sa mnogo vise L2 kesa. Da AMD nema IMC, uz poslovicno inferiorniji proizvodni proces (vecina X2-jki koja se prodaje je i dalje u 90nm) morao bi da stavlja vise L2 kesh memorije, sto uzasno poskupljuje proizvodnju, jer cip ima vecu povrsinu i skuplji je za izradu.

Zanimljivo ce biti videti sa kojim kolicinama kesha ce Nehalem raspolagati, ako bude imao TC IMC.
 
Apsolutno. Ne vidim kakve veze ima L3 sa latencijom memorije. Narocito ako se zna da je prefetch direktno u L1 sto maskira latencije L2 i L3 kesha.

Kako svega ti moze nesto sto ima kracu latenciju da maskira nesto drugo sto ima duzu latenciju?

Sada je L1 prakticno centralno mesto odakle se distribuiraju podaci i instrukcije u jezgro, L2 i L3 kesh.

Cek, cek, cek... ja sam izgleda bas dugo spavao... otkad se to podaci fetch-uju prvo u L1 i koja je logika iza toga? Ne samo koja logika, nego koji mehanizam? Znam da postoje prefetch hintovi gde se moze ucitati nesto u odredjeni nivo kesa ili ici direktno u bafere zaobilazeci kes kompletno, ali da se stalno pichi u L1 to je nov koncept za mene pogotovo imajuci u vidu da bandwidth koji bi bio potreban za tako nesto cini mi se prevazilazi mogucnosti sadasnjih magistrala.

Jedino kako mogu da objasnim visok memory latency za Barcy je nizi klok IMC-a.

A ja dodavanjem L3.
 
Pa, komplexniji cip svakako da je teze naterati da radi na visem radnom taktu. IMC utice na komplexnost cipa. Citao sam, a i Spacemaster mi je pricao, da npr. A64 pod LN2 ne moze ni izbliza da radi na toliko niskim temeperaturama kao C2, a kao razlog se uglavnom navodi integrisani MC.

Ipak, bas taj IMC omogucava AMD-u da na procesore stavlja manje kesh memorije i da postigne slican efekat kao Intel sa mnogo vise L2 kesa. Da AMD nema IMC, uz poslovicno inferiorniji proizvodni proces (vecina X2-jki koja se prodaje je i dalje u 90nm) morao bi da stavlja vise L2 kesh memorije, sto uzasno poskupljuje proizvodnju, jer cip ima vecu povrsinu i skuplji je za izradu.

Zanimljivo ce biti videti sa kojim kolicinama kesha ce Nehalem raspolagati, ako bude imao TC IMC.

Potpuno se slazem. Zaista ce biti zanimljivo videti kakve dobitke ce imati Nehalem od IMC-a, ali ne bih ocekivao puno, jer veliki i brzi cache kod Core 2 brzinu memorije dosta zamaskira.
 
Kod split power plane ploca,razlika u taktu izmedju jezgara i IMC-a je 200MHz(L3 takodje ima 200Mhz nizi takt od jezgara),dok je kod ploca koje ne podrzavaju pomenutu opciju kod K10 razlika je citavih 400Mhz(kod modela na 2.5Ghz ,ES koje je Johan testirao,citavih 500MHz!).Znaci taktovi IMC-a i L3 kesa definitivno uticu na latenciju prema sistemskom ramu.
 
Cek, cek, cek... ja sam izgleda bas dugo spavao... otkad se to podaci fetch-uju prvo u L1 i koja je logika iza toga?

Mora da si spavao... 2.1.4.2 Data Prefetch to L1 caches

------

Povecan mem. latency u odnosu na K8 je rezultat kombinacije: L3 kesa, cinjenice da IMC radi na nizem taktu od jezgara i eventualno nekih workaround-a koji su jos prisutni u rev. B1.
L3 kes doprinosi ali sam po sebi ne moze da doda 20-30ns na mem. pristup. Slucaj citanja iz memorije podrazumeva miss na svim kes nivoima. Dakle, prustup memoriji se ne dobija kao razultat: L2 data latency + L3 data latency + mem, vec: L2 miss latency + L3 miss latency + mem. Da bi se cache miss ustanovio potrebno je samo pogledati tag-ove, bez ikakvog pristupa samim podacima. Tako cache miss traje svega 25-30% od punog cache hit + data access latency-a.
 
Poslednja izmena:
Kako svega ti moze nesto sto ima kracu latenciju da maskira nesto drugo sto ima duzu latenciju?
Pa ako ti je L1 3 ciklusa u kojeg ide prefetch, ne cekas podatke iz L2 da se kopiraju u L1, nego ih direktno dobijas. To je poenta nove kesh hijerarhije koju poseduje Barcelona.

A ja dodavanjem L3.
Jedina stvar zbog koje bi L3 mogao da utice na latency je u slucaju da je podatak vracen u L3 pa ponovo citan odatle.
Kes hijerarhija u K10 podrazumeva da se podaci fetchuju u L1, pa da se zatim kesiraju u L2 i L3, odakle bi se ako bi bilo ponovo potrebno ucitavali u L1 odakle bi se ucitavali u CPU pipeline.
 

Bice ipak da neko ne cita pazljivo:

2.1.4.3 Data Prefetch Logic
Data prefetch logic (DPL) prefetches data to the second-level (L2) cache based on
past request patterns of the DCU from the L2.

Drugim recima, prefetch se radi u L1 iz L2, znaci hijerarhijski.

drfedja je napisao(la):
Kes hijerarhija u K10 podrazumeva da se podaci fetchuju u L1, pa da se zatim kesiraju u L2 i L3, odakle bi se ako bi bilo ponovo potrebno ucitavali u L1 odakle bi se ucitavali u CPU pipeline.

Daj mi molim te link na manual i stranu na kojoj to pise da se uverim i sam.
 
Poslednja izmena:
Ovo zadnje sam pretpostavio, ali koliko znam Barcelona fetchuje podatke u L1 iz L2 L3 i memorije. Ako tako gledas, latencija L3 ne bi trebala da bude problem. Druga stvar bi bila da se podaci fetchuju u L3 pa da se odatle kopiraju u L2.

Princip L3 kod Barcelone je tzv. Victim cache u koji se kopira sadrzaj L1 i L2 iz zasebnih jezgara da bi bio dostupan ostalim jezgrima kod izvrsavanja multithread koda.
Kako to zaista tacno radi, to je vec pitanje za R&D tim AMD-a.

Ako nadjem nesto dokumentovano okacicu, jer i mene inace zanima sta su tu napravili.
 
Ovo zadnje sam pretpostavio, ali koliko znam Barcelona fetchuje podatke u L1 iz L2 L3 i memorije. Ako tako gledas, latencija L3 ne bi trebala da bude problem. Druga stvar bi bila da se podaci fetchuju u L3 pa da se odatle kopiraju u L2.

Ne znam kako radi to kod Barcelone konkretno, ali obicno ide ovako kod multi-level cache hijerarhije:

CPU se obrati L1, ako je hit vidis latenciju L1
Ako je L1 miss, obrati se L2, ako je hit vidis latenciju L2
Ako je L2 miss, obrati se L3, ako je hit vidis latenciju L3
Ako je L3 miss, obrati se MC, pa vidis latenciju memorije

Voleo bih bas da vidim sta je kod Barcelone uradjeno drugacije osim sto se L3 koristi za komunikaciju izmedju jezgara.
 
Poslednja izmena:
Ne znam kako radi to kod Barcelone konkretno, ali obicno ide ovako kod multi-level cache hijerarhije:

CPU se obrati L1, ako je hit vidis latenciju L1
Ako je L1 miss, obrati se L2, ako je hit vidis latenciju L2
Ako je L2 miss, obrati se L3, ako je hit vidis latenciju L3
Ako je L3 miss, obrati se MC, pa vidis latenciju memorije

Voleo bih bas da vidim sta je kod Barcelone uradjeno drugacije osim sto se L3 koristi za komunikaciju izmedju jezgara.

Kakav je pristup kod C2D kod slucaja da jedno jezgro zahtijeva informaciju koja se nalazi u L1 Cacheu drugog jezgra ?

Da li ta infromacija mora prvo da prodje kroz L2 ?

Kod Barce svako jezgro ima direktan pristup L1 cache'u druga 3 jezgra
 
Poslednja izmena:
Kakav je pristup kod C2D kod slucaja da jedno jezgro zahtijeva informaciju koja se nalazi u L1 Cacheu drugog jezgra ?

Da li ta infromacija mora prvo da prodje kroz L2 ?

kod C2D bi kesh trebalo da nije ekskluzivan te bi sadrzaj L1 kesha trebalo da postoji i u L2.
 
Poslednja izmena:
Predstavljeni su oficijelni Phenom i Phenom FX logoi:

phenomlogorgbch9.png
phenomfxlogorgbqx5.png


Meni se bas dopada graficki element koji su ubacili u logo. Samo text ili AMD-ova zelena strela bi bili previse obicni.

Zanimljivo je da su "64" prilicno umanjili i samo ostavili tu kao podsecanje da je rec o 64bitnom procesoru...
 
Poslednja izmena:
Bice ipak da neko ne cita pazljivo:

2.1.4.3 Data Prefetch Logic

Pa da, neko ne cita pazljivo :) Pogledaj pazljivije sta je DPL. Intel ima 5 razlicitih prefetchera - 5 funkcija - 5 razlicitih naziva.

U stvari, postovacu detaljno spisak naziva i funkcije svih Intel i AMD prefetchera, sve sa linkovima i citatima odgovarajucih dokumenata.
Samo bih te zamolio, pre toga, da napises jedan brz opis inclusive i exclusive kes arhitektura, kakve ih prmenjuju Intel i AMD. Znaci, regularan pristup podacima, bez prefetcha - kako podatak putuje iz memorije kroz kes hijerarhiju i nazad u memoriju.

Kod Barce svako jezgro ima direktan pristup L1 cache'u druga 3 jezgra

Odkad to? Koliko mi je poznato nema K10 nista tako.
C2D ima mehanizam direktnog prenosa linije izmedju dva L1D kesa. Mada, nije bas najbolje dokumentovano kad i kako radi. Navodno za neke podatke ide direktno L1-L1, dok za druge prenos ide preko deljenog L2.
 
Odkad to? Koliko mi je poznato nema K10 nista tako.
C2D ima mehanizam direktnog prenosa linije izmedju dva L1D kesa. Mada, nije bas najbolje dokumentovano kad i kako radi. Navodno za neke podatke ide direktno L1-L1, dok za druge prenos ide preko deljenog L2.

Koliko mi je poznato kod C2Q arhitekture su zasepna dva chipa povezana putem FSB'a
Neznam fizicki kako bi se izvela tvoja predpostavka da postoji direktna komunikacija , direktna komunikacija u bukvalnom smislu ne postoji ni kod barse.
Ipak je i tu integrisani memoriski kontroller koji ima direktan pristup na sva cetiri jezgra kod K10 arhitekture centralna figura.
 
Poslednja izmena:
Mislio sam na jezgra koja cine jedan die, znaci C2 Duo, ne Quad.
Ovako: http://www.realworldtech.com/page.cfm?ArticleID=RWT030906143144&p=2
"Furthermore, Intel has hinted that the Core microarchitecture can transfer data directly between the two L1D caches. The architects declined to disclose any further details on this feature, other than to say that it exists."
 
Kod C2D postoji navodno interna veza izmedju L1D kesha, mada s' obzirom na inkluzivnu kesh arhitekturu C2D uvek ima kopiju L1 kesha u L2 keshu, pa tako core 0 moze imati u svakom trenutku podatke iz L1 kesha od core 1 i obrnuto.

Kod A64 x2 razmena bi trebala da se vrsi preko crossbar interface-a, mada, moze da se desi da podaci proputuju kroz memoriju, sto je sporije. Barsa taj problem resava L3 victim keshom, u koji kopira sadrzaj L2 i L1 iz svakog jezgra ponaosob putem crossbar-a.
Ali, kako to tacno radi sve nije mi bas sto posto jasno, a narocito kako u kesh hijerarhiji barsa koristi L3 i L2 za kesiranje memorije.

Ne znam kako radi to kod Barcelone konkretno, ali obicno ide ovako kod multi-level cache hijerarhije:

CPU se obrati L1, ako je hit vidis latenciju L1
Ako je L1 miss, obrati se L2, ako je hit vidis latenciju L2
Ako je L2 miss, obrati se L3, ako je hit vidis latenciju L3
Ako je L3 miss, obrati se MC, pa vidis latenciju memorije

Voleo bih bas da vidim sta je kod Barcelone uradjeno drugacije osim sto se L3 koristi za komunikaciju izmedju jezgara.

To bih i ja voleo da znam. S' obzirom na onaj dijagram sa techreporta, L3 se osim za komunikaciju izmedju jezgara koristi i za kesiranje memorije. Lepo se vide latencije od 3 ciklusa za L1 od 13 ciklusa za L2 i 46 ciklusa za L3 i nekih 182 ciklusa za memoriju, sto je dosta u poredjenju sa starijim Opteronima.
Misljenja sam da L3 nema mnogo veze sa latencijom memorije.

Poredjenja radi Opteron 2218HE na 2.6 Ghz ima latenciju sa memorijom 153 ciklusa, Opteron 2360 Barcelona na 2.5 Ghz ima cak 207 ciklusa. Prvi radi na nesto visem taktu i imaju istu memoriju.
S' druge strane Barcelona ima bandwidth 11.5 GB/s, dok K8 Opteroni imaju oko 8.5 GB/s. S' obzirom na to da su cackali memorijski kontroler mislim da su verovatno trampili latency za bandwidth, da bi dobili na performansama u serverskim sistemima sa vise procesora i sa NUMA arhitekturom ili je nesto drugo po sredi, npr, neki zesci bug. :d
Sa smanjenjem latencije bi morao da raste bandwidth, tako da to mi je malo cudno.
 
Poslednja izmena:
Mislio sam na jezgra koja cine jedan die, znaci C2 Duo, ne Quad.
Ovako: http://www.realworldtech.com/page.cfm?ArticleID=RWT030906143144&p=2
"Furthermore, Intel has hinted that the Core microarchitecture can transfer data directly between the two L1D caches. The architects declined to disclose any further details on this feature, other than to say that it exists."

A ja sam mislio na quad core procesore jer pricamo o istom :)
Zna se zasto AMD istice posebno direct access aludirajuci na dual DIE resenje Intela.
 
Pa da, neko ne cita pazljivo :) Pogledaj pazljivije sta je DPL. Intel ima 5 razlicitih prefetchera - 5 funkcija - 5 razlicitih naziva.

Ja sam ti samo naveo naziv poglavlja koje treba da procitas. Nisam uopste stavljao naglasak na DPL, a i citirao sam ti ono sto smatram bitnim.

Samo bih te zamolio, pre toga, da napises jedan brz opis inclusive i exclusive kes arhitektura, kakve ih prmenjuju Intel i AMD. Znaci, regularan pristup podacima, bez prefetcha - kako podatak putuje iz memorije kroz kes hijerarhiju i nazad u memoriju.

A, ne... necemo u off-topic ovde da ja opet ne popijem "nagradne" poene za shum. Ima PDF (ili jos lakse Wiki) pa ko hoce neka RTFM.

C2D ima mehanizam direktnog prenosa linije izmedju dva L1D kesa. Mada, nije bas najbolje dokumentovano kad i kako radi. Navodno za neke podatke ide direktno L1-L1, dok za druge prenos ide preko deljenog L2.

Moram priznati da ako to C2D ima -- ja za to ne znam. Sve u svemu, suvise ima spekulacija na tu temu ovde i kad je C2D i kad je K10 u pitanju.

drfedja je napisao(la):
Kod C2D postoji navodno interna veza izmedju L1D kesha, mada s' obzirom na inkluzivnu kesh arhitekturu C2D uvek ima kopiju L1 kesha u L2 keshu, pa tako core 0 moze imati u svakom trenutku podatke iz L1 kesha od core 1 i obrnuto.

Kako sad Inclusive ako Intel koristi MESI (Modified, Exclusive, Shared, Invalid) protokol?!? :trust:

drfedja je napisao(la):
Misljenja sam da L3 nema mnogo veze sa latencijom memorije.

Ima samim tim sto je "na putu" do memorije. Memorija je samim tim "dalja" (u elektricnom i logickom smislu) od procesora pa otud verovatno i veca latencija. Mislim da bandwidth nema sa tim nikakve veze.
 
Ima samim tim sto je "na putu" do memorije. Memorija je samim tim "dalja" (u elektricnom i logickom smislu) od procesora pa otud verovatno i veca latencija. Mislim da bandwidth nema sa tim nikakve veze.
Da ali to bi verovatno vazilo da K10 ima spor L2 i da nema L3 i da pored toga prefetch ne ide u L1 nego u spori L2.

Cak i kod Brisbane-a koji ima povecan L2 latency u odnosu na Windsor, povecanje memorijske latencije je u granicama od 2-3%, a ne 30%.

Pored toga, Barcelona ima jedno 3 puta brzi L2 od Windsora i nizu L2 latenciju od Brisbane-a. Po toj logici ne bi trebalo da bude skoka u latencijama sa memorijom.

Drugo, ne vidim kako to moze L3 da utice na povecanje latencije memorije, kada i sam ima nizu latenciju nego memorija. 46 ciklusa @2Ghz je moraces priznati manje nego bilo koja DDR2 memorija. L3 se ne nalazi na memorijskoj magistrali da bi kumulativno uticao na latenciju... ili se mozda i nalazi, ali mi to ne znamo! :d
 
Kako sad Inclusive ako Intel koristi MESI (Modified, Exclusive, Shared, Invalid) protokol?!? :trust:

Inclusive označava da se sadrzaj L1 keša nalazi i u L2 kešu. (mada po ovome c2d koristi non-inclusive keš: http://etd.lsu.edu/docs/available/etd-06122007-093459/unrestricted/Prakash_thesis.pdf , što bi objasnilo smisao direktne veze između L1 keševa)

Modified, Exclusive, Shared i Invalid u MESI protokolu su stanja u kome neki blok može da se nalazi u nekom kešu: Modified označava da je blok izmenjen u odnosu na verziju u memoriji (nešto je upisano), Exclusive označava da je blok u samo tom kešu i nije izmenjen u odnosu na memoriju, Shared znači da se blok nalazi u više keševa (i nije izmenjen u odnosu na stanje u memoriji), Invalid da je negde drudge sadržaj bloka izmenjen i da su informacije bajate...
 
Barcelona u Beogradu ;)

 
Sto ti dobar privezak za kljucheve. Posto li je ? :d Ja imam tu neke zastarele! :d LOL
 
Status
Zatvorena za pisanje odgovora.
Nazad
Vrh Dno