Šta je novo?

Microprocessor Forum 2006

  • Začetnik teme Začetnik teme Nedjo
  • Datum pokretanja Datum pokretanja

Nedjo

Čuven
VIP član
Učlanjen(a)
12.07.2000
Poruke
6,934
Poena
800
Poslednja izmena:
Evo jos informacija o Barcelona jezgru...

http://www.theinquirer.net/default.aspx?article=35011

Mada, ne sumnjam da ce uskoro biti mnogo vise vesti i detalja. Na papiru ne deluje loshe, posebno deo sa nezavisnim memorijskim kontrolerima, zatim 128-tnom SSE magistralom i td... Noviteta je dosta. ah da, i shared L3 je zanimljiv, mada steta sto L2 nije deljen. Doduse AMD ima posebnu interkoneciju izmedju jezgara, pa to mozda i moze da kompenzuje to sto je deljen vise latentni L3, a ne L2... Uglavnom, ovo je za sada valjda novi Opteron, a kada ce to biti i A64 X4 videcemo 🙂
 
Pa i nije steta sto L2 nije deljen. To bi uticalo na cache trashing, pa bi pod multitaskingom performanse drasticno opadale, bas kao kod C2D. :d
Ovako ce performanse biti odlicne, a sva cetiri jezgra ce moci lako da pristupe istim podacima, za sta ce im latenija L3 cache-a biti mnogo niza nego komunikacija preko crossbara i kopanje po cache-u drugog ili treceg jezgra.
 
jel i dalje imaju ekskluzivni kes?
 
jel i dalje imaju ekskluzivni kes?

Da.

AMD je uneo neke korisne novine i konačno značajno unapredio prefetch, ali ostaje da se vidi koliko će sve to praktično unaprediti performanse. Ukoliko Antares bude bio brži od C2D za oko 10% po kloku, nije isključeno da će Barselona derivati biti u stanju da se po performansama kolju sa Intelovim 45 nm čipovima. Ipak, ja bih se pre kladio na Intel.
 
ono sa deljenim i nedeljenim kesevima... latencija je veca u prvom slucaju ali kada se nesto ne deli tada postoji mogucnost za vecom redundansom( manje efektivno iskoriscenje kesa) to jest blok je i ujednom i u drugom kesu pa onda mora da se upregne neki nacin da se izvrsi koherencija ta dva bloka ( koliko sam u toku to amd radi preko ht linkova )... npr jedan procesor drzi blok u L1 a ostali u L2 tada bi morali ako prvi procesor hoce upis da se invaliduju ostali u L2... sto mi je malko komplikovanije nego kod intela.. ( bila bi jedna bus transakcija a kod amd je vec pitanje ako neko zna da kaze.. )
jel jos uvek blok od 64 bajta ili su povecali..? kolika je granularnost bloka ? jel i dalje 32?
 
Poslednja izmena:
L3 kes nije potpuno exclusive. Receno je da ce odredjene instrukcije imati dve kopije (jedna u L1-I, druga u L3).
Nije tesko zamisliti slican postupak i za podatke, izveden preko MOESI protokola koji K8 vec koristi. Tako da se npr. modifikovane "Owner" linije automatski kopiraju i u L3 kes za lak pristup drugim jezgrima, ali i lakse snoop-ovanje ostalih procesora u sistemu.
Ovakav pristup dedicated L2 i shared L3 vise nego odgovara K8 arhitekturi. U sustini su produbili hijerarhiju tako sto su 4x1MB "starog" L2 podelili u 4x512KB "novog" manjeg ali brzeg L2 i jos 2MB L3 koji je sporiji od "starog" L2, ali je deljen i ima znacajniju funkciju.

Kako je nedavno pusteno vise informacija o Barceloni, cela stvar uopste ne lici na prostu reviziju jezgra. Zaprvano, kad se sve sabere, promene koje su donesene da bi rev. F pretvorile u rev. H su sasvim uporedive sa promenom K7 -> K8.

AMD je sad uveo neke stvari koje je Intel jos odavno primenio: Out-of-Order Loads (P6), dedicated stack engine (P-M), indirect branch predictor (P-M), mem. kontroler sa odvojenim kanalima (prvi intel DDR2 chipset).

S druge strane su odvojeni clockgen i vodovi za napajanje jezgara i northbridge-a (i uz podrsku novih ploca, cak i potpuno novi nacin power management-a). Obzirom da integrisani northbridge sada radi na nizem taktu od jezgra, mozda se ispostavi da su u pravu bili svi koji su teze klokovanje i famozni coldbug pripisivali upravo njemu. Uz to su i prvi quad-core optimisticno klokovani na 2.9GHz, pa ko zna (mada se to moze pripisati i proizvodnom procesu).

Povecan IPC ce biti itekako osetan. Na FP strani ce biti najveci i sasvim sigurno ce premasiti C2D (a ugovori za superkompjutere to donekle potvrdjuju). U integer kodu je C2D zaista sampion, ali imace i Barcelona sta da pokaze: Prefecher siguno nije na nivou C2D, ali ako bar malo valja smanjice memory latency bar 20-30%, sto je vazno za integer kod. OOO Loads ce da amortizuju L2 latency. Dedicated stack engine ce osloboditi funkcionalne jedinice update-ovanja stack-a i izvuci jos malo ILP-a. Indirect predictor i generalno unapredjenja na predvidjanju grananja su uvek vazna za integer performanse - takodje ima dobre perspektive za kratko grananje, obzirom da je fetch line prosiren na 32 byte-a. Povecanje fizickog adresnog prostora na 48-bita i 1G pages je prvenstveno usmereno ka superkompjuterima i sl.

to jest blok je i ujednom i u drugom kesu pa onda mora da se upregne neki nacin da se izvrsi koherencija ta dva bloka ( koliko sam u toku to amd radi preko ht linkova )...

Cache coherency izmedju procesora odrzava preko HT linkova, a izmedju jezgara preko x-bar-a.

genuine je napisao(la):
npr jedan procesor drzi blok u L1 a ostali u L2 tada bi morali ako prvi procesor hoce upis da se invaliduju ostali u L2... sto mi je malko komplikovanije nego kod intela.. ( bila bi jedna bus transakcija a kod amd je vec pitanje ako neko zna da kaze.. )

Salje se Snoop Invalidate signal svim jezgrima/procesorima. Za snoop-ovanje postoje zasebni portovi koji pristupaju samo Cache Tag-ovima, ali ne samim podacima, tako da je na nivou procesora (izmedju jezgara) vrlo brzo i efikasno. Jedino nastaje problem kad je prevelik snoop saobracaj izmedju procesora (znaci vise socketa). Zbog toga je AMD-u jako vazam HT 3.0 sa vecim protokom, a kasnije planiraju da implementiraju snoop filtere da ublaze kolicinu nepotrebnog snoop saobracaja.
Intel ce na novi chipsetovima sa 4 FSB-a implementirati cache na northbridge-u iz slicnih razloga. Naravno, Intelov i AMD-ov Cache Coherency protokoli se razlikuju (MESI vs. MOESI).

genuine je napisao(la):
jel jos uvek blok od 64 bajta ili su povecali..? kolika je granularnost bloka ? jel i dalje 32?

Nisi mi bas najjasniji oko terminologije. Mislis linija od 64 bajta?
Ako je to, onda da: i K8 i Barcelona i C2D imaju kes linije od 64 bajta.
Kod K8 je L1D kes podeljen u 8 banki, sto znaci da je i svaka linija podeljena u osam delova (od 8B). Poseduje dva porta koji mogu istovremeno da citaju/zapisuju u dve razlicite banke. Kod Barcelone ce se ovo delimicno promeniti, zbog prosirenih portova (2x128 vs. 2x64-bit).
(Nadam se da je ovo sto si mislio pod granularnost bloka tj. linije).
 
Poslednja izmena od urednika:
mislio sam na velicinu podbloka na kome se ostvaruje koherencija.. mislim svaki ulaz u kes ima tag za adresu i podblokove a svaki podblok ima svoje bite tipa m/e/s/i i sl.. jel podblok velicine celog bloka ili postoje dva podbloka od 32 bajta u jednom bloku od 64 na nivou koga je tag to jest adresa...

Sto se tice memorije koliko sam skontao DDR1 ima 168 ili tako nesto nozica... jel to znaci da je 128-bitni upis/citanje ka jednom memorijskom modulu....?

Samo nesto .. Intel je odabrao MESI jer je sve na bus-u pa svaku transakciju prihvata i memorija(ako se tice prosledjivanja bloka koji je bio u exclusive pa se vraca u shared) a AMD interno regulise to interno preko x-bar-a ( transakcije tipa read ili read exclusive ka kesu koji ima shared blok i koji je vlasnik).. koliko se ovo amd-ovo komplikuje na recimo 3 procesora sa po 4 jezgara....
 
Poslednja izmena:
mislio sam na velicinu podbloka na kome se ostvaruje koherencija.. mislim svaki ulaz u kes ima tag za adresu i podblokove a svaki podblok ima svoje bite tipa m/e/s/i i sl.. jel podblok velicine celog bloka ili postoje dva podbloka od 32 bajta u jednom bloku od 64 na nivou koga je tag to jest adresa...

Koherencija se radi na nivou kes linije, znaci 64 bajta. Tag sadrzi address i MOESI bitove za celu liniju.

genuine je napisao(la):
Sto se tice memorije koliko sam skontao DDR1 ima 168 ili tako nesto nozica... jel to znaci da je 128-bitni upis/citanje ka jednom memorijskom modulu....?

64-bita za jedan modul.

genuine je napisao(la):
Samo nesto .. Intel je odabrao MESI jer je sve na bus-u pa svaku transakciju prihvata i memorija(ako se tice prosledjivanja bloka koji je bio u exclusive pa se vraca u shared) a AMD interno regulise to interno preko x-bar-a ( transakcije tipa read ili read exclusive ka kesu koji ima shared blok i koji je vlasnik).. koliko se ovo amd-ovo komplikuje na recimo 3 procesora sa po 4 jezgara....

Ako mislis komplikuje u smislu da ima mnogo snoop saobracaja, onda da. Ali moras imati na umu da je snoop izmedju jezgara jako brz, tako da sam broj jezgara ne utice toliko koliko broj socketa. Tako ce recimo Barcelona bez problema raditi i sa HT2.0 u 4P konfiguracijama (16 jezgara), ali cak ni single-core Opteron ne radi bas najbolje u 8P konfiguracijama (8 jezgara) jer HT2.0 nema dovoljnu propusnu moc. HT3.0 uz Direct Connect Arhitecture 2.0 bi trebalo da dozvoli do 16P glueless - a to je zavhaljujuci 4 HT linka vs. 3 na starom, i 2.5 puta veci protok po linku i mogucnosti razdvajanja linkova.
Intel primenjuje MESI protok zbog jedinstvenog mem. kontrolera, a AMD mora da primenjuje MOESI zbog NUMA-e. Kad Intel pocne da koristi CSI linkove i NUMA, verovatno ce primeniti nesto slicno ili isto kao MOESI. A sa tim dolaze i pogodnosti i problemi. Naravno, pogodnosti ima vise 🙂
 
Poslednja izmena:
kako su povezani procesori preko ht linkova, mislim koja topologija... ako je nesto tipa svaki sa svakim znaci li to da :

procesor 1. radi posao A1
proceror 2. radi posao A2
procesor 3. radi posao B1
procesor 4. radi posao B2

da procesori 1 i 2 odnosno 3 i 4 mogu da u isto vreme mogu da razmenjuju blokove preko ht linkova..?
posto je NUMA u pitanju, kako se mapira memorija tj. kako se rasporedjuju adrese posto svaki procesor ima svoje module?
kolika je od prilike latencija kada procesor 1 pristupa lokalnoj memoriji procesora 2 u odnosu na to kada to isto radi sa svojom memorijom... to jest kolika je cena prenosa preko ht linkova
 
Poslednja izmena:
hvala puno... pogledacu
 
Nazad
Vrh Dno