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
### 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&nbsp;nm prosessilla. Suorittimet julkaistaan loppuvuodesta 2008 .

### Callisto/Regor

Vuoden 2009 Computex messuilla AMD julkaisi Callisto koodinimellisen suorittimen. Suorittimessa on 512 kilotavun L2-välimuisti molemmilla suoritinytimillä ja se toimii 3,1&nbsp;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&nbsp;GHz. Suorittimen molemmilla ytimillä on 1 megatavun 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&nbsp;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