| Hardver | Procesori | AMD FX procesori
Procesori

AMD FX procesori

 

Integer izvršne jedinice

 

Zambezi_16

 

K10 arhitektura je bila konceptualno organizovana oko skupa od tri putanje. Svaka putanja je imala svoj zasebni instrukcijski scheduler, spojen sa parom integer izvršnih jedinica. Taj par čini ALU i AGU. ALU je aritmetičko logička jedinica, a AGU je jedinica za adresnu aritmetiku. Kod K7, K8 i K10 ovakvih parova ima ukupno tri, koliko ima i putanja. Sa Buldožerom AMD je napustio ovakav koncept i sada se koristi daleko fleksibilniji, zajednički scheduler koji sadrži pozicije za do 40 instrukcija, ali umesto tri ALU/AGU jedinice, 15h poseduje 2 ALU i 2 AGU, koje su povezane nezavisno na zajednički scheduler. Ovo znači da kada instrukcija dođe do scheduler-a, može da se izvrši na prvoj slobdnoj izvršnoj jedinici. Ukoliko je u pitanju ALU instrukcija, ona se izvršava na EX0 ili EX1, bez potrebe za promenom putanje i forwardingom. Isto tako i AGU operacije. Izvršavanje se vrši na bilo kojoj slobodnoj jedinici. Smanjen broj ALU jedinica ne bi trebalo značajno da utiče na performanse, zbog prirode integer koda. Oko 50% operacija su load/store. Buldožer jezgro je u stanju da izvrši jednak broj load/store operacija kao i K10, iako K10 poseduje treću AGU jedinicu, keš je dvoportni. O keš arhitekturi i memorijskom reorderingu smo pisali ranije.

EX0 ALU jedinica je odgovorna za POPCNT (Population Count) i LZCNT (Leading Zero Count) operacije. Ove instrukcije se koriste kod implementacije genetskih algoritama i igraju ulogu u HPC (high performance computing-u).Pored ovoga EX0 može da izvrši većinu ALU operacija uključujući i celobrojno deljenje (IDIV). Ova jedinica sadrži „unpipelined“ celobrojni delilac. EX1 za razliku od EX0 sadrži celobrojni množilac koji je „pipelined“ i upravlja spojenim operacijama grananja (fused branches). AGU jedinice, prema AMD 15h Optimisation Manualu nazvane su AGLU0 i AGLU1, su u stanju da navodno izvrše pored adresnih operacija i prostije logičke operacije, poput bitshift, rotate, XOR, AND i sličnih. U Optimisation Manualu nije dokumentovano ništa osim LEA instrukcije koja može biti izvršena na AGU ukoliko se koriste operacije sa 3 ili 4 operanda. Ako je to tačno, onda AGLU jedinice jedino mogu da posluže kao pomoćna jedinice, ali nikako se ne mogu nazvati jedinicama koje izvršavaju nekakve bulovske logičke operacije.