AMD Bulldozer
AMD Bulldozer on AMD:n mikroarkkitehtuuri- ja suoritinperhe.
Saman arkkitehtuurin eri sukupolvet on tunnistettavissa suorittimen "Family 15h" tunnuskoodista.
Arkkitehtuurin sukupolvet ovat:
Bulldozer on AMD:n kehittämän suoritinarkkitehtuuri, jonka ensimmäiset suorittimet yhtiö julkaisi lokakuussa 2011. Bulldozerin kehitystyö tehtiin puhtaalta pöydältä koska aiempien K7-johdannaisten suoritinmallien rakenne oli pahasti vanhentunut eikä niissä ollut enää varaa parannuksiin; Haluttiin esimerkiksi vaihtaa Tomasulo-pohjainen käskyjen uudelleenjärjestely PRF-pohjaiseen, joka voisi mahdollistaa sekä suuremman kellotaajuuden että pienemmän virrankulutuksen.
Bulldozer-pohjaiset suorittimet valmistettiin 32 nanometrin valmistusprosessilla GlobalFoundriesin tehtailla
Bulldozerin rakenne perustuu kahdesta ytimestä koostuvaan moduliin, jossa ytimillä on yhteinen L2-välimuisti, L1-käskyvälimuisti, käskynhaku- ja käskyndekoodauslogiikka sekä liukulukuyksikkö mutta erilliset kokonaislukudatapolut ja L1-datavälimuistit.
L2-välimuistin koko on 2 MiB/moduuli, L1-käskyvälimuistin koko on 64 kiB/moduuli, ja L1-Datavälimuistin koko on 16 kiB/ydin. Datavälimuisti on 4-tie-joukkoassosiatiivinen.
Molemmissa kokonaislukuytimissä on kaksi ALUa ja kaksi AGUa jotka kykenevät suorittamaan yhteensä neljä itsenäistä arimeettista laskutoimitusta ja neljä muistioperaatioa kellojaksossa yhdessä moduulissa.
Suoritin sisältää kahdeksan 128-bittistä FPU-yksikköä, jotka voidaan yhdistää yhdeksi 256-bittiseksi FPU-yksiköksi.
Bulldozer suunniteltiin alun perin toimimaan melko suurella kellotaajuudella, jonka johdosta siinä oli esimerkiksi välimuisteilla pitkiä viiveitä jotka huononsivat kellojaksokohtaista suorituskykyä, mutta suunnitelma oli että se mitä kellojaksokohtaisessa suorituskyvyssä olsii hävitty, olisi voitettu suuremmalla kellotaajuudella. Bulldozer-pohjaiset piirit eivät kuitenkaan toimineet niin suurella kellotaajuudella kuin alun perin oli suunniteltu, ja säiekohtainen suorituskyky jäi heikoksi.
Lisäksi L1-käskyvälimuistin joukkoassosiatiivisuus oli liian pieni suhteessa välimuistin kokoon siten että yhden välimuistisetin koko oli suurempi kuin virtuaalimuistisivun koko, joka johti välimuistin aliasointiongelmaan, joka hidasti suoritinta selvästi tietyissä tilanteissa.
Välimuistiongelmiin julkaistiin myöhemmin korjauksia, joilla suorittimen surityskykyä pystyttiin parantamaan muutamilla prosenteilla.
Jotta piiri kellottuisi edes lähellä alkuperäistä tavoitekellotaajuutta, sitä käytettiin melko suurella jännitteellä, ja lopputuloksena suorittimet kuluttivat paljon virtaa ja niiden yhden säikeen suorituskyky oli silti vastaaviin Intelin suorittimiin nähden heikko. Bulldozerien suorituskyky oli myös merkittävästi huonompi kellolta kellolle vertailussa Intelin Sandy Bridge -suorittimiin nähden.
Seuraavat AMD FX -sarjan suorittimet käyttävät "Bulldozer" mikroarkkitehtuuria:
Lisäksi AMD Opteron malleissa 4200 ja 6200 on käytetty samaa mikroarkkitehtuuria.
Piledriver on AMD:n toisen sukupolven Bulldozer-arkkitehtuurin suoritinsukupolvi. Piledriverissä AMD keskittyi vähentämään virrankulutusta ja tekemään pieniä viilauksia suorittimen toimintaan, jotka tasapainottivat suorituskykyä selvästi. Samalla kellotaajuksia saatiin korotettua hieman sekä kellokohtaista suorituskykyä paremmaksi. Markkinoilla suoritin ei pärjännyt kovin hyvin sillä Intel oli ehtinyt julkaista Sandy Bridge- ja Ivy Bridge-mikroarkkitehtuurin suorittimet, jotka tarjosivat sekä selvästi parempaa yhden säikeen suorituskykyä että pienempää virrankulutusta, ja monen säikeen suorituskyvyssäkin piledriver oli vain tasoissa näiden kanssa, eivätkä kovin monet ohjelmat osanneet hyödyntään kunnolla montaa säiettä.
Yksi oleellinen muutos piledriverissa oli Bulldozerissa olleen rikkinäisen ja siksi pois päältä kytketyn kokonaislukujakolaskuyksikön korjaaminen ja kytkeminen päälle; Bulldozerissa jakolaskut suoritettiin mikrokoodilla piirin muita yksiköitä käyttäen, joka oli hitaampaa.
Piledriver-ytimiä käytettiin kahdessa eri piirissä, kahdeksan ydintä sisältävässä AMD FX- ja AMD Opteron-nimillä myydyssä piirissä sekä 4-ytimisenä APU-piirinä jossa samalla piirillä oli myös näytönohjain. Piledriverin seuraaja oli Steamroller-arkkitehtuuri, joka edelleen perustui siihen mutta sisälsi suurempia parannuksia.
Seuraavat AMD FX -sarjan suorittimet käyttävät "Piledriver" mikroarkkitehtuuria:
Lisäksi mikroarkkitehtuuria käytettiin A-sarjan APU-malleissa.
Steamroller on jatkoa AMD:n kolmannen sukupolven Bulldozer-arkkitehtuurin suoritin. Steamroller on suora seuraaja Piledriver suorittimelle. 
Steamroller-suorittimessa AMD jatkaa aiemmista Bulldozer-sukupolven suorittimista tutulla moduulilinjalla jossa yksi fyysinen suoritinydin kykenee ajamaan kahta säiettä yhtä aikaa.
Steamrollerissa oleellisimmat muutokset Piledriveriin nähden olivat käskyvälimuistin koon puolitoistakertaistaminen 64 kibitavusta 96 kivitavuun,
sekä käskydekooderin monistaminen molemmille ytimille; Aiemmissa Bulldozer-johdannaisissa suorittimissa oli modulin molemmille ytimille yhteinen käskydekooderi. Erilliset dekooderit molemmille ytimille auttoivat selvästi monen säikeen suorituskykyä, mutta eivät vaikuttaneet yhden säikeen suorituskykyyn. Käskyvälimuistin koon kasvattaminen sen sijaan auttoi sekä yhden että monen säikeen suorituskykyyn.
Steamrollerin sisältänyt Kaveri-piiri valmistettiin uudemmalla ja halvemmalla 28 nm valmistustekniikalla jossa ei käytetty SOI-eristekerrosta, minkä takia se toimi pienemmillä kellotaajuuksilla kuin aiemmat 32 nm SOI-tekniikalla varustetut piirit.
Excavator on AMD:n neljännen sukupolven Bulldozer-arkkitehtuuriin perustuva suoritin. Kuten edeltäjäänsä Steamroller-suoritinta, Excavatoria ei julkaistu High End-sarjaan vaan pysyttäydyttiin kannettavien tietokoneiden suorittimissa ja APU-suorittimissa. Excavator on myös ensimmäinen HSA 1.0 yhteensopiva suoritin eli se kykenee käyttämään näytönohjainta ja suoritinta saumattomasti yhteen mikäli ohjelma tukee HSA toimintoja. Suoritin valmistetaan 28 nanometrin valmistusprosessilla.
Excavatorissa oli aiempia Bulldozer-johdannaisia tasapainoisempi välimuistirakenne; L1-datavälimuistin koko tuplattiin 16 kibitavusta 32 kibitavuun, ja L2-välimuistin koko puolitettiin kahdesta mebitavusta yhteen. Lisäksi piirin fyysinen suunnittelu oli tehty käyttäen kellotaajuusoptimoitujen logiikkakirjastojen sijasta pinta-ala- ja virrankulutusoptimoituja kirjastoja, minkä takia Excavatorilla saavutettiin hiukan pienempi maksimikellotaajuus kuin Stamrollerilla, mutta virrankulutus oli selvästi pienempi.