mislim da je taj primjer neumerivo manji od recimo komunikacije izmedju jezgra putem FSB'a kao sto je kod Core2
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.
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.
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.
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.
Cek, cek, cek... ja sam izgleda bas dugo spavao... otkad se to podaci fetch-uju prvo u L1 i koja je logika iza toga?
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.Kako svega ti moze nesto sto ima kracu latenciju da maskira nesto drugo sto ima duzu latenciju?
Jedina stvar zbog koje bi L3 mogao da utice na latency je u slucaju da je podatak vracen u L3 pa ponovo citan odatle.A ja dodavanjem L3.
Mora da si spavao... 2.1.4.2 Data Prefetch to L1 caches
Data prefetch logic (DPL) prefetches data to the second-level (L2) cache based on
past request patterns of the DCU from the L2.
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.
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.
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 ?
Bice ipak da neko ne cita pazljivo:
2.1.4.3 Data Prefetch Logic
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.
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.
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."
Pa da, neko ne cita pazljivoPogledaj pazljivije sta je DPL. Intel ima 5 razlicitih prefetchera - 5 funkcija - 5 razlicitih naziva.
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.
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.
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.
drfedja je napisao(la):Misljenja sam da L3 nema mnogo veze sa latencijom memorije.
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.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.
Kako sad Inclusive ako Intel koristi MESI (Modified, Exclusive, Shared, Invalid) protokol?!? :trust:
Kako sad Inclusive ako Intel koristi MESI (Modified, Exclusive, Shared, Invalid) protokol?!? :trust:
Follow along with the video below to see how to install our site as a web app on your home screen.
Napomena: this_feature_currently_requires_accessing_site_using_safari