AMD K10

AMD 10h tai AMD K10 on AMD:n syksyllä 2007 julkaistun suoritinarkkitehtuurin koodinimi. K10 pohjautuu jossain määrin aiempaan Athlon 64:n ja Opteronin käyttämään K8-arkkitehtuuriin ja siten K7-arkkitehtuuriin (AMD Athlon), mutta se sisältää merkittäviä parannuksia. K10-pohjaisia suorittimia markkinoidaan työpöydille Phenom- ja palvelimiin Opteron-nimillä.  Ensimmäiset K10-suorittimet valmistettiin 65 nanometrin valmistustekniikalla, ja ne toimivat AM2- ja Socket F -pohjaisilla Athlon 64- ja Opteron-emolevyillä, joskaan eivät aivan täydellä teholla. K10:n seuraajaksi tuli syksyllä 2011 julkaistu Bulldozer.

K10:n uudistuksia K8:aan nähden

Ytimen suorituskykyä parantavia sisäisiä uudistuksia

Täysin 128-bittinen SSE-tiedonsiirtopolku 

128-bittisin rekisterein toimivia SSE-käskyjä ei enää tarvitse pilkkoa kahteen osaan suoritusta varten, vaan ne voidaan suorittaa suoraan kerralla. Tämä kaksinkertaistaa teoreettisen multimedia- ja liukulukusuorituskyvyn. Käytännön suorituskykyero lienee hiukan pienempi.

Parannettu SSE-latauskäskyjen suoritus 

SSE-latauskäskyjen suoritusnopeus on parantunut huomattavasti; 
SSE-tiedonsiirtopolun leventämisen myötä myös muistintalletusyksiköt on levennetty 64 bitistä 128:aan bittiin. Lisäksi SSE-latauskäskyjä ei enää ajeta suorittimen ainoassa FSTORE-yksikössä, jonka takia niitä voidaan suorittaa rinnakkain kaksi, tai vaihtoehtoisesti suorittaa yksi 64-bittinen talletus- ja yksi 128-bittinen latausoperaatio rinnakkain.

Parempi muistitoimintojen uudelleenjärjestely 

K8-ytimen kyky uudelleenjärjestellä muistitoimintoja on melko rajallinen; se ei kyennyt uudelleenjärjestelemään latauskäskyjä keskenään, jos jommankumman osoite ei ollut tiedossa. Tämän takia se ei hyödy käskyjen uudelleenjärjestelystä yhtä paljoa kuin esimerkiksi Intelin nykyiset suorittimet. 
K10 osaa uudelleenjärjestellä latauskäskyjä keskenään, vaikka jommankumman osoite ei olisikaan tiedossa. Tämä parantaa erityisesti suorittimen kokonaislukusuorituskykyä.

K10 ei kuitenkaan ilmeisesti vieläkään osaa uudelleenjärjestellä latauskäskyjä talletuskäskyjen edelle Intel Core 2n tavoin ellei molempien osoite ole tiedossa, koska tällöin pitäisi varautua tilanteeseen, että osoitteet ovatkin samat, jolloin latauskäskyn pitääkin ladata talletetuskäskyn arvo eikä muistista saatua arvoa, ja liukuhihnan toiminta pitää pysäyttää, ja suorittimen liukuhihna käynnistää uudelleen oikealla latauskäskyn tuloksella.

Pinonhallintayksikkö 

Suorittimella on myös erityinen pinonhallintayksikkö, jonka tehtävänä on huolehtia pinopohjaisten muistiosoitteiden laskennasta ja pino-osoitteen päivittämisestä.

Pinonhallintayksikkö mahdollistaa paremman rinnakkaisuuden käskyjen välillä; Myös pino-osoitinta muuttavia käskyjä voidaan uudelleenjärjestellä, koska pinonhallintayksikkö huolehtii siitä, että jokaisella pinoa käyttävällä käskyllä on aina oikea pino-osoite. Pinonhallintayksikkö parantaa myös selvästi suorittimen kokonaislukusuorituskykyä.

Parempi haarautumisenennustus 

Haarautumisenennustuksen haarautumiskohdepuskureiden määrää on kasvatettu. Lisäksi suorittimelle on lisätty epäsuorien hyppyjen osoitteiden ennustuslogiikka.

Käskynpurkauksen parannukset 

L1-käskyvälimuistin ja käskynpurkauksen välisen puskurin koko on tuplattu.
Lisäksi osa käskyistä, jotka K8-ytimillisillä suorittimilla piti purkaa hitaammalla vektoripurkuyksiköllä, voidaan K10:ssä purkaa nopeammilla purkuyksiköillä.

Nopeampi jakolaskuyksikkö 

Suorittimen jakolaskuyksikköä on parannettu siten että joillain lyhyillä syötteillä jakolaskukäsky valmistuu selvästi nopeammin kuin K8-suorittimilla.

Muita uudistuksia

HyperTransport 3.0 

K10-pohjaisiin suorittimiin tuli HyperTransport-väylän 3.0-versio, mikä mahdollisti selvästi nopeamman tiedonsiirron suorittimen ja IO-laitteiden välillä sekä monisuoritinkokoonpanoissa eri suorittimien välillä. Tämän suorituskykyhyöty jäänee käytännössä pieneksi muissa kuin vähintään neljän suoritinpiirin monisuoritinkoneissa.

Mikäli emolevy ei tue uudempaa AM2+-väyläversiota suoritin toimii toimii vanhemmalla ja hitaammalla nopeudella. AM2-suoritinkannasta on käytetty termiä "AM2+"-kanta sellaisilla uusilla emolevyillä, jotka tukevat HyperTransport-tekniikan kolmosversiota.

Virransäästöparannukset 

K10-pohjaisilla suorittimilla voidaan eri ydinten kellotaajuuksia sekä toimintajännitteitä säätää toisistaan riippumatta. Näin säästyy virtaa tilanteissa, joissa yksi ydin toimii täydellä teholla toisten ollessa tekemättä mitään.

Muistiohjaimen parannukset 

Suorittimien muistiohjainta on parannettu. Kahden eri muistikanavan muistiohjaimet on eriytetty toisistaan siten että ne pystyvät toimimaan täysin itsenäisesti. Esimerkiksi toiseen kanavaan voidaan kirjoittaa samalla kun toista luetaan. Lisäksi muistiohjaimelle on lisätty oma tiedonesihakulogiikka, jonka avulla muistiohjain pyrkii hakemaan tietoa muistista jo ennen kuin suoritinydin sitä pyytää, jos ohjain huomaa toistuvan osoitekuvion. Aiemmilla suorittimilla tiedonesihakulogiikka oli vain suoritinytimessä itsessään, ei muistiohjaimessa.

Muistiohjaimen kirjoituspuskuriin on myös lisätty mahdollisuus vaihtaa tiedonkirjoitusjärjestystä fyysiseen muistiin, jotta muistiväylän tilanvaihdot saataisiin minimoitua.

K10-ytimisiä suorittimia

Spica 

Spica on K10-arkkitehtuuriin perustuvan yksiytimisen suorittimen koodinimi. Sen välimuistin määrästä ei ole tietoa. Suoritin julkaistaan vuoden 2008 aikana.

Altair/Antares/Kuma 

Altair, Antares ja Kuma ovat koodinimiä K10-arkkitehtuurin perustuvalle kaksiydinsuoritinpiirille. Piiriin tullee 512 kiB L2-välimuistia suoritinydintä kohden sekä yhteinen 2 MiB L3-välimuisti. Suorittimet valmistetaan 65 nm prosessilla. Suorittimet julkaistaan loppuvuodesta 2008 .

Arcturus/Rama 

Arcturus ja Rama ovat koodinimiä halvemmalle versiolle K10-perustuvasta kaksiydinsuorittimesta; Piiristä puuttuu L3-välimuisti. Piiri julkaistaneen vuoden 2008 ensimmäisellä neljänneksellä.

Vuoden 2009 Computex messuilla AMD julkaisi Callisto koodinimellisen suorittimen. Suorittimessa on 512 kt L2 välimuisti molemmilla suoritinytimillä ja se toimii 3,1 GHz kellotaajuudella. Ytimillä on yhteinen 6 MB kokoinen L3 välimuisti. Suorittimen TDP arvo on 80 Wattia.

Samoilla messuilla AMD julkaisi Regor koodinimellisen suorittimen jonka kellotaajuus on 3 GHz. Suorittimen molemmilla ytimillä on 1 mb kokoinen L2 välimuisti. Suorittimen TDP arvo on 65 wattia.

Barcelona/Deerhound/Agena 

Barcelona, Deerhound ja Agena ovat koodinimiä AMD:n ensimmäisille neliytimisille suoritinpiireille. Ne julkaistiin 10. syyskuuta 2007.. Näissä on jokaisessa suoritinytimessä 512 kiB L2-välimuisti sekä suoritinytimille yhteinen L3-välimuisti, ja nämä valmistetaan 65 nanometrin SOI-valmistustekniikalla.

Erona suorittimilla on ilmeisesti HyperTransport-linkkien määrä ja kanta; Barcelona toimii vain yhden suorittimen kokoonpanoissa, ja sitä markkinoidaan AMD Phenom X4 -nimellä. Deerhound toimii usean suorittimen kokoonpanoissa ja kantaa nimeä Opteron.

AMD demonstroi toimivaa Barcelona-suorittimen prototyyppiä 30. marraskuuta 2006.

Istanbul 
Kesäkuussa 2009 AMD julkaisi kuusiytimellisen Istanbul-suorittimen joka on suunnattu palvelimiin. Istanbul suunnattiin 2–8 suorittimen järjestelmiin. Suorittimet valmistetaan 45 nm valmistusprosessilla ja ne perustuvat samoihin ytimiin joita on Shanghai-suorittimissa. Istanbulin piisirussa on 904 miljoonaa transistoria ja sen pinta-ala on 346 neliömillimetriä. Suorittimen uusia ominaisuuksia ovat APML ja HT Assist. Suorittimet käyttävät Socket F suoritinkantaa.

Magny-Cours/San Marino/Lisbon 
Vuonna 2010 AMD julkaist 12-ytimen Magny-Cours-suorittimen. Maqny cours on ensimmäinen Opteron 6000 -perheen suoritin. Magny-cours kohdennettiin 2–4 suoritinkannan alustalle nimeltä Maranello. Maranellossa oli nelikanavainen DDR3-muistiohjain, enimmillään 12 muistiliitintä per prosessorikanta ja nelinkertaisen HyperTransport 3.0 -määritelmän mukaiset linkit.  Vuonna 2011 AMD julkaisi 32 nanometrin prosessilla valmistettavat uuteen Bulldozer-arkkitehtuuriin perustuvat suorittimet.

Yksi ja kaksiprosessorikantaisiin järjestelmiin julkaistiin San Marino -alusta, johon asentuivat Opteron 4000 -tuoteperheen suorittimet eli Lisbon-suorittimet. Lisbonista julkaistiin 4–6 suoritinytimellä varustettuja malleja ja niiden ACP arvo vaihtelee 40–75 wattia. San Marinoon perustuvissa järjestelmissä käytetään kaksikanavaista DDR3-muistiohjainta  ja enimmillään neljä muistiliitintä prosessorikannalle.

Phenom 
AMD:n Barcelona-palvelinprosessorista on kehitetty työpöytäkäyttöön prosessori, joka kantaa nimeä Phenom. Sen ominaisuuksiin kuuluu mm ylikellotusmahdollisuus jokaiselle ytimelle erikseen.

Phenomin julkaisemisen jälkeen siinä havaittiin ongelmia, eli ns. TLB-virhe prosessorin osoitemuunnospuskurissa. Virhe on sittemmin korjattu.

Lähteet 
 Xbitlabs: K10 architecture article, 17.8.2007  
 http://plaza.fi/muropaketti/amd-televisioi-barcelonan-julkaisun-suorana-nettiin 
 http://plaza.fi/muropaketti/amd-overdrive-ylikellota-phenomin-ytimia-erikseen 
 http://plaza.fi/muropaketti/amdn-uusien-prosessoreiden-tlb-korjaus-testissa

Viitteet

Aiheesta muualla 
 AMDn kotisivut
 AMD n neliydinsuorittimien tietoja 
 http://www.dvhardware.net/article2023.html
 http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543~111541,00.html
 http://pc.watch.impress.co.jp/docs/2006/0202/kaigai238.htm 

K10