AMD K10
Wikipedia
K10 on nimitys, jota AMD käyttää uusimman sukupolven suoritinarkkitehtuuristaan. K10 pohjautuu jossain määrin vanhaan Athlon 64:n ja Opteronin käyttämään K8-arkkitehtuuriin, mutta se sisältää merkittäviä parannuksia. Ensimmäiset K10-suorittimet valmistettiin 65 nanometrin valmistustekniikalla, ja ne toimivat nykyisillä AM2- ja Socket F -pohjaisilla Athlon 64- ja Opteron-emolevyillä, joskaan eivät aivan täydellä teholla. K10-pohjaisia suorittimia markkinoidaan Phenom- ja Opteron-nimillä.
Sisällysluettelo |
[muokkaa] K10:n uudistuksia K8:aan nähden
[muokkaa] Ytimen suorituskykyä parantavia sisäisiä uudistuksia
[muokkaa] 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.
[muokkaa] Parannettu SSE-latauskäskyjen suoritus
SSE-latauskäskyjen suoritusnopeus on parantunut huomattavasti; SSE-tiedonsiirtopolun leventämisen myötä myös muistintalletusyksiköt on levennetty kuudestakymmenestäneljästä bitistä sataankahteenkymmeneenkahdeksaan 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.
[muokkaa] 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.
[muokkaa] 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ä.
[muokkaa] Parempi haarautumisenennustus
Haarautumisenennustuksen haarautumiskohdepuskureiden määrää on kasvatettu. Lisäksi suorittimelle on lisätty epäsuorien hyppyjen osoitteiden ennustuslogiikka.
[muokkaa] 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ä.
[muokkaa] Nopeampi jakolaskuyksikkö
Suorittimen jakolaskuyksikköä on parannettu siten että joillain lyhyillä syötteillä jakolaskukäsky valmistuu selvästi nopeammin kuin K8-suorittimilla.
[muokkaa] Muita uudistuksia
[muokkaa] 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 väyläversiota (siis nykyisiä AM2-emolevyjä), suoritin kyllä toimii emolevyllä, mutta väylä toimii vanhalla, hitaammalla nopeudella. AM2-suoritinkannasta on käytetty termiä "AM2+"-kanta sellaisilla uusilla emolevyillä, jotka tukevat HyperTransport-tekniikan kolmosversiota.
[muokkaa] 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.
[muokkaa] 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.
[muokkaa] Ensimmäisiä K10-ytimisiä suorittimia
[muokkaa] Spica
Spica on K10-arkkitehtuuriin perustuvan yksiytimisen suorittimen koodinimi. Sen välimuistin määrästä ei ole tietoa. Suoritin julkaistaan vuoden 2008 aikana.
[muokkaa] 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 [1].
[muokkaa] 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ä.
[muokkaa] Barcelona/Deerhound/Agena
Barcelona, Deerhound ja Agena ovat koodinimiä AMD:n ensimmäisille neliytimisille suoritinpiireille. Ne julkaistiin 10.09 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 ilmeisesti 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.11.2006.
[muokkaa] 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.
[muokkaa] Lähteet
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
[muokkaa] Viitteet
- ↑ muropaketti 2008. Viitattu 12.6.2008.