Mikroarhitektura AMD 15h
Od 1999. godine do danas AMD je izvršio dva značajnija „facelift-a“ na postojećoj K7 mikroarhitekturi. Kada kažemo mikroarhitektura, mislimo na internu organizaciju procesorskog jezgra, raspored i broj izvršnih jedinica, broj x86 dekodera, veličinu i asocijativnost L1 keša, „floorplan“ procesorskog jezgra. Suštinski gledano K7, K8 i K10 poseduju dosta zajedničkih imenilaca. U prvom redu konceptualno su identični. Sva tri poseduju 3-way dizajn, klasičan bimodalni prediktor grananja, kraći integer i duži floating point pipeline, separatne instrukcijske scheduler-e, 128KB L1 keša, ekskluzivnu keš arhitekturu gde se sadržaj L1 ne kopira u L2. FPU je zaseban koprocesor u samom jezgru, što je donekle bila osnova za Bulldozer koncept. Generalno gledano, do sada je svaki facelift donosio određeni napredak u broju izvršenih instrukcija po ciklusu. Konkretno K8 je uneo neke revolucionarne novine, koje su danas „de-facto“ standard. x86-64 mod donosi u prvom redu mogućnost adresacije veće količine radne memorije. Danas je teško zamisliti desktop računar sa manje od 4 GB RAM-a. Long mod je doneo ovakav režim rada kao standard bez kojeg se danas ne može. Dodatne optimizacije i napuštanje prastarog „stack FPU“ koncepta dovelo je do velike ekspanzije u korišćenju vektorskih instrukcija, poznatijih kao SSE SIMD.
AMD je 2007. izvršio poslednji značajan facelift K7, odnosno K8 arhitekture, kada je uveo u upotrebu K10. Ova mikroarhitektura je do danas bila nosilac skoro kompletne game AMD-ovih procesora. Novosti koje je doneo K10 su mogućnost izvršenja 128-bitnih vektorskih operacija u jednom ciklusu i 32-bajtni instrukcijski fetch. Zahvaljujući ovim unapređenjima, K10 po ciklusu donosi dodatnih 15% ubrzanja u integer operacijama i do 100% u floating point intenzivnim u odnosu na K8. Ipak iako je K10 solidna mikroarhitektura, ona nije koncipirana da malo troši. S druge strane, K10 jezgra u 32nm su veoma mala, pa je u AMD u Llano pored prilično snažnog integrisanog GPU-a uspeo da „spakuje“ još četiri unapređena K10 jezgra. K10 nije napravljen da bude „speed deamon“, već da izvlači visok IPC – broj instrukcija po ciklusu. U odnosu na konkurenciju taj visok IPC i nije baš toliko visok. Obično povećanje IPC broja znači i nužno povećanje disipacije, ali isto tako i povećanje frekvencije vodi u visoku disipaciju, probleme sa „curenjem tranzistora“. Zbog svega ovoga, ova vremešna arhitektura nije u stanju da parira najnovijem dostignuću Intelovih razvojnih timova – Sandy Bridge-u. Sve ovo govori da je došlo vreme da se koncepcija menja. Potreban je optimalan dizajn koji bi mogao da isprati zahteve i da bude koncipiran za tip softvera i „workload-e“ kakvi će biti standard u budućnosti. Prvenac nove arhitekture predstavlja prvu verziju Bulldozer arhitekture, „bdver1″. Već za prvi kvartal 2012. AMD je najavio „update“ BD arhitekture – Piledriver, a zatim naredne godine Steamroller, a zatim Excavator. Svaki od ovih iteracija bi trebalo da donese do 15% bolje performanse. Bolje performanse se ogledaju u nešto poboljšanom IPC-u i smanjenju potrošnje, odnosno povećanju frekvencije.
Poučen iskustvima iz prethodne decenije AMD je odustao od koncepta „jurenja“ single thread performansi, zarad dobitka u propusnoj moći – „throughput-u“. Bulldozer je „throughput“ koncept. Šta ovo znači za običnog korisnika? Ovakav koncept podrazumeva veći broj manjih jezgara, gusto upakovanih da bi se dobio što bolji paralelizam po površini čipa i po watt-u i po površini čipa. Suštinski od ovakvog pristupa desktop korinici mogu, ali i ne moraju da imaju prevelike koristi. Problem sa ovakvim pristupom je u optimizaciji softvera. Pitanje je koji to softver za svakodnevnu upotrebu koristi 8 thread-ova? Ovde je pitanje trenda. Sve veći broj igara koristi bar tri ili više jezgara. U budućnosti će biti toga još više. Što se tiče rendering softvera i video kompresije, ovakav softver je i do sada imao visok nivo paralelizacije i koristio je sve moguće resurse. Kako je Bulldozer pravljen između ostalog i za serversko tržište, postaje jasno zbog čega je bitan veliki broj jezgara.
15h arhitektura je optimiziovana za visoke radne učestalosti, ali ne na način kako je to urađeno bilo sa Netburstom. Za razliku od Pentiuma 4, 15h ima znatno kraći pipeline, prema optimisation manualu, kašnjenje, t.j. latencija u slučaju promašaja u predikciji grananja iznosi 16 cilusa, pa je logičan zaključak da pipeline za integer/ALU operacije iznosi do 16 stanja. Umereno povećanje pipelinea sa 12 na 15-tak stanja je donekle iznuđeno zbog klaster baziranog dizajna. Primećeno je da su latencije skoro svih instrukcija povećane u proseku za 33% do 2 puta, kao i „load to use latency“ za L1 keš i latencija L2 keša, dok je latencija L3 keša ostala nepromenjena.
Dodaj komentar