| Hardver | Procesori | Zen mikroarhitektura
Procesori

Zen mikroarhitektura


Od Bulldozer-a pa do danas – Familija 15h

 

Dugo vremena pre nego što se pojavio Bulldozer bilo je priče o mogućnosti deljenja izvršnih jedinica, kao na primer deljena FP jedinica za rad sa brojevima izraženim u pokretnom zarezu, zatim deljen front-end, što podrazumeva da jedan instrukcijski keš i set dekodera opslužuje dva jezgra. Inicijalno gledano, prvi Bulldozer, odnosno AMD FX8150 koristio je tzv. Orochi arhitekturu, koja je podrazumevala deljen „front end“ i deljenu „FPU“.

Ovakav koncept se zove CMT – clustered based multithreading i predviđen je da se na najbolji mogući način iskoriste tranzistori za „troughput“ odnosno za izvršavanje multithreadovanog softvera. Sam po sebi možda i ne bi bio loš da je Bulldozer napravljen kao ultimativan CPU, visokih performansi, međutim, AMD nije čak ni pokušao u ovoj reviziji da minimizira broj tranzistora potrebnih za određena kola sa određenim funkcijama, već je korišćen automatizovan dizajn. Ovo znači da na primer FP jedinicu možete da napravite sa 5x manje tranzistora, što automatski znači manje zagrevanja i manju potrošnju.

 

high density

 

Tek u narednim revizijama Bulldozer naslednika, počev od Steamroller-a korišćena je „high density“ biblioteka kojom se minimizira dizajn, ali je on i dalje automatizovan. Automatizacija dizajna je bitna kao faktor uštede prilikom razvoja čipova. Intel je za razvoj svojih Core procesora koristio „handcrafted“ dizajn, što znači da je većina izvršnih jedinica i ključnih delova projektovana ručno. To u prevodu znači da se dobija barem 20% niža disipacija i/ili performanse, kao i manja površina jezgra. Međutim, nije jedini problem Bulldozera bio samo dizajn samog čipa, već i sama mikroarhitektura, koja je bila u startu predviđena za visoke frekvencije, pipeline je produžen zbog „učešljavanja“, odnosno statičkog particionisanja resursa zbog dva threada koja treba da „nahrane“ dva jezgra, zatim zbog ne baš sjajne keš arhitekture, naročito data keša, koji je iznosio samo 16KB uz write-trough polisu upisa, što znači da je upis u L1 data moguć tek kada je linija iz L1 keša istisnuta u sporiji L2 keš, a to znači da je brzina upisa u L1 data jednaka brzini upisa u L2, dok je latencija značajno povećana, tačnije, sabrana je latencija upisa u L2 i L1, što nikome nije jasno zbog čega je tako urađeno izuzev inženjerima koji su radili na procesoru.

Poznato je da su stari Athloni koristili „write back“ polisu upisa, kao i svi ostali normalni procesori. Bulldozer je u startu imao niži IPC oko 10-15% od Phenoma II na istom kloku, te je bilo neophodno da bude na 400 MHz višem taktu da bi obezbeđivao jednake single thread performanse. Turbo mod na FX procesorima je dozvoljavao abnormalne radne učestalosti, ali je glavni limit bilo zagrevanje, pa u ukupnom zbiru klokovi i nisu bili mnogo viši nego na Intel Core i7.  Piledriver je nastavak ove sage, uz određene optimizacije doneo je 10% više performansi na istim radnim taktovima, ali je potrošnja i dalje bila na nivou manjeg kalorifera, a IPC faktor 5% manji od poslednjeg K10.5 jezgra.

Što se tiče performansi, u vreme kada se pojavio FX8350 je u multithreadu bio sasvim konkurentan sa Sandy Bridge i7 2600K procesorom, ako ne i malo bolji, ali je u single threadu poprilično zaostajao, što se odražavalo na gejming. Čak ni sam procesor nije bio toliko loš, koliko je rad sa kešom i memorijom bio katastrofalan, te je FPS u igrama loše skalirao baš zbog keš sistema, dok je na primer u video obradi ili renderingu sasvim solidno mogao da se nosi sa Sendijem.

Izlaskom Haswell-a razlika postaje nedostižna za AMD kako u single, tako i u multithread taskovima. Zapravo, Haswell je CPU koji je postavio neke standarde po pitanju performansi, čak ni sam Intel za ove tri godine nije uspeo da napravi bitno brži procesor. Skylake je tek marginalno brži, čemu doprinosi donekle i nova platforma i DDR 4 memorija i poneko sitno mikoarhitekturalno poboljšanje.

Piledriver jezgra su možda bila solidno rešenje za Opterone, gde je bitan broj tredova koji može efikasno da se izvrši, ali za običnog desktop korisnika, ovo nije bilo od prevelikog značaja. AMD je nakon Piledrivera izbacio još dve revizije Bulldozera, u pitanju su Steamroller i Excavator. Ova poslednja dva su namenjena isključivo APU-ovima i ponekim 1P serverskim rešenjima, dok je za desktop i dalje bio aktuelan AM3+, odnosno Piledriver izrađen u sada već zastarelih 32nm. 

Steamroller je prva stepenica ka razdvajanju jezgara unutar modula. Modul je kod 15h familije neka vrsta velikog procesorskog jezgra, koje sadrži jedan FPU i dva integer jezgra, koja izvršavaju dva treda. Steamroller je doneo izvesna poboljšanja kada je u pitanju „branch prediction“ mehanizam koji predviđa grananja u kodu, određene optimizacije kada je u pitanju izvršni endžin, kao i poboljšan upis u keš i memoriju i 96K L1 instrukcijskog keša koji je i dalje deljen. Ovo je donelo dodatnih 5-10% poboljšanja u odnosu na istovetno klokovan APU baziran na Piledriver arhitekturi, ali i nešto bolje skaliranje sa 1 na 2 treda unutar modula. Multitredovane integer operacije na Steamroller-u skaliraju za faktor 1.75 umesto 1.7, dok je single thread IPC poboljšan za oko 5-10%, što u multitred izvršavanju izađe na maksimum 15%.

Excavator opet donosi nekolicinu poboljšanja, između ostalog i veći L1 data keš, koji je sada 32K umesto 16K, ali i dalje Write Trough polisu upisa. Excavator donosi nešto bolji prefetch mehanizam, što znači da u data keš pristižu podaci iz RAM-a bez traženja u većem procentu, za šta su obično zaduženi veći TLB buffer-i. BTB buffer je povećan za 50% kod Excavatora, što u globalu znači veći IPC, koji je u praksi za oko 10% veći u single threadu u odnosu na Steamroller, odnosno nekih 20-22% veći u odnosu na Piledriver. AMD sa najnovijom generacijom, ZEN jezgrom obećava 40% veći IPC u odnosu na Excavator, što u prevodu znači oko 70% veći IPC u odnosu na Piledriver. Ove tvrdnje su dosta ozbiljne, ali ne znamo tačno još uvek kolike će biti radne učestalosti novih procesora, ali će svakako biti preko 3 GHz, ako se uzme u obzir to da je inženjerski primerak osmojezgarnog (sa 16 tredova) Ridge Summit procesora bio čak 3 GHz, što je sasvim uporedivo sa produkcijskim Intelovim Xeon osmojezgarnim procesorima.