Solun mikroprosessorin toteutukset - Cell microprocessor implementations
Ensimmäinen kaupallinen Cell-mikroprosessori , Cell BE, suunniteltiin Sony PlayStation 3: lle. IBM suunnitteli PowerXCell 8i: n käytettäväksi Roadrunner-supertietokoneessa .
Sisällys
Toteutus
Ensimmäinen painos Cell 90 nm CMOS: lla
IBM on julkaissut tietoja kahdesta erilaisesta Cell-versiosta tässä prosessissa, varhaisesta teknisestä näytteestä, nimeltään DD1 , ja parannetusta versiosta, nimeltään DD2, joka on tarkoitettu tuotantoon.
| nimitys | Die alue | Ensimmäinen julkistettu | Enhancement |
|---|---|---|---|
| DD1 | 221 mm² | ISSCC 2005 | |
| DD2 | 235 mm² | Cool Chips huhtikuu 2005 | parannettu PPE-ydin |
Tärkein lisäys DD2: ssa oli suulakkeen pieni pidentäminen suuremman PPE-ytimen sijoittamiseksi, jonka on ilmoitettu "sisältävän enemmän SIMD / vektorin suorittamisresursseja". Jotkut IBM: n julkaisemat alustavat tiedot viittaavat DD1-varianttiin. Seurauksena on, että jotkut varhaiset toimittajatiedot Cellin ominaisuuksista eroavat nyt tuotantolaitteistosta.
Solun pohjasuunnitelma
[Tohtori Peter Hofsteen STI-esittelyyn liittyvä Powerpoint-materiaali] sisältää valokuvan DD2-solumuotista, joka on ylitetty toiminnallisten yksiköiden rajoilla, jotka on merkitty myös nimellä, joka paljastaa piipinta-alan jakauman toimintayksiköittäin seuraavasti:
| Solutoimintoyksikkö | Pinta-ala (%) | Kuvaus |
|---|---|---|
| XDR-käyttöliittymä | 5,7 | käyttöliittymä Rambus-järjestelmän muistiin |
| muistin ohjain | 4.4 | hallitsee ulkoista muistia ja L2-välimuistia |
| 512 KiB L2 -välimuisti | 10,3 | välimuisti PPE: lle |
| PPE-ydin | 11.1 | PowerPC-prosessori |
| testata | 2.0 | määrittelemätön "testi- ja dekoodauslogiikka" |
| EIP | 3.1 | elementtien kytkentäväylien yhdistävät prosessorit |
| SPE (kukin) x 8 | 6.2 | synergistinen yhteiskäsittelyelementti |
| I / O-ohjain | 6.6 | ulkoinen I / O-logiikka |
| Rambus FlexIO | 5,7 | ulkoinen merkinanto I / O-nastat |
SPE-pohjasuunnitelma
IBM: n insinöörit, mukaan lukien IBM: n synergistisen prosessointielementin pääarkkitehti Peter Hofstee , ovat julkistaneet lisätietoja sisäisestä SPE-toteutuksesta tieteellisessä IEEE-julkaisussa.
Tämä asiakirja sisältää valokuvan 2,54 x 5,81 mm: n SPE: stä, toteutettuna 90 nm: n SOI: ssa . Tässä tekniikassa SPE sisältää 21 miljoonaa transistoria, joista 14 miljoonaa sisältyy matriiseihin (termi tarkoitetaan todennäköisesti rekisteritiedostoja ja paikallista myymälää) ja 7 miljoonaa transistoria on logiikkaa. Tämä valokuva ylittää toiminnallisten yksiköiden rajat, jotka on myös nimetty nimellä, mikä paljastaa piipinta-alan jakautumisen toimintayksiköittäin seuraavasti:
| SPU-toimintoyksikkö | Pinta-ala (%) | Kuvaus | Putki |
|---|---|---|---|
| yksi tarkkuus | 10,0 | yhden tarkkuuden FP-suoritusyksikkö | jopa |
| kaksinkertainen tarkkuus | 4.4 | kaksinkertainen tarkkuus FP-suoritusyksikkö | jopa |
| yksinkertainen kiinteä | 3.25 | kiinteän pisteen suoritusyksikkö | jopa |
| antaa valvontaa | 2.5 | syöttää suoritusyksiköitä | |
| eteenpäin makro | 3,75 | syöttää suoritusyksiköitä | |
| GPR | 6,25 | yleiskäyttöinen rekisteritiedosto | |
| permute | 3.25 | permute-suoritusyksikkö | outo |
| haara | 2.5 | haara-toteutusyksikkö | outo |
| kanava | 6,75 | kanavarajapinta (kolme erillistä lohkoa) | outo |
| LS0-LS3 | 30.0 | neljä 64 KiB lohkoa paikallisesta myymälästä | outo |
| MMU | 4.75 | muistinhallintayksikkö | |
| DMA | 7,5 | suora muistin käyttöyksikkö | |
| BIU | 9.0 | väyläliitäntäyksikkö | |
| RTB | 2.5 | sisäänrakennettu matriisin testilohko (ABIST) | |
| ATO | 1,6 | atomiyksikkö atomien DMA-päivityksiin | |
| HB | 0,5 | hämärtää |
Lähtöputkien ymmärtäminen on tärkeää tehokkaan koodin kirjoittamiseksi. SPU-arkkitehtuurissa voidaan lähettää (aloittaa) kaksi käskyä jokaisessa kellosyklissä käyttämällä parillisia ja parittomia nimitysputkia . Nämä kaksi putkea tarjoavat erilaisia toteutusyksiköitä, kuten yllä olevassa taulukossa on esitetty. Kun IBM osioi tämän, suurin osa aritmeettisista käskyistä suoritetaan parillisella putkella, kun taas suurin osa muistin ohjeista suoritetaan parittomalla putkella. Permute-yksikkö liittyy läheisesti muistiohjeisiin, koska sen tehtävänä on pakata ja purkaa muistissa olevat tietorakenteet SIMD-monioperandimuotoon, jonka SPU laskee tehokkaimmin.
Toisin kuin muut prosessorisuunnitelmat, jotka tarjoavat erillisiä toteutusputkia, kukin SPU-käsky voi lähettää vain yhdellä osoitetulla putkella. Kilpailevissa malleissa useampi kuin yksi putki voidaan suunnitella käsittelemään erittäin yleisiä ohjeita, kuten lisäys , sallien näiden kahden tai useamman käskyn suorittamisen samanaikaisesti, mikä voi auttaa lisäämään tehokkuutta epätasapainoisissa työnkulkuissa. Äärimmäisen spartalaisen suunnittelufilosofian mukaisesti SPU: lle ei toteuteta yksiköitä moninkertaisesti.
Rajoittavan kahden putkilinjan suunnittelun rajoitusten ymmärtäminen on yksi avainkäsitteistä, jotka ohjelmoijan on ymmärrettävä kirjoittaakseen tehokasta SPU-koodia alhaisimmalla abstraktiotasolla. Ohjelmoijille, jotka työskentelevät korkeammilla abstraktiotasoilla, hyvä kääntäjä tasapainottaa automaattisesti putkilinjan samanaikaisuuden mahdollisuuksien mukaan.
SPE-teho ja suorituskyky
Kuten IBM on testannut raskassa muutos- ja valaistustyössä [keskimääräinen IPC on 1,4], tämän toteutuksen suoritusprofiili yksittäiselle SPU-prosessorille on seuraava:
| Jännite (V) | Taajuus (GHz) | Teho (W) | Die Temp (C) |
|---|---|---|---|
| 0,9 | 2.0 | 1 | 25 |
| 0,9 | 3.0 | 2 | 27 |
| 1,0 | 3,8 | 3 | 31 |
| 1.1 | 4.0 | 4 | 38 |
| 1.2 | 4.4 | 7 | 47 |
| 1.3 | 5.0 | 11 | 63 |
Tiedot 2,0 GHz: n toiminnasta 0,9 V: llä edustavat tehon vähäisyyttä. Muut merkinnät osoittavat vakaan huipun toimintataajuuden, joka saavutetaan jokaisella jännitteen lisäyksellä. CMOS-piireissä yleinen sääntö on, että virrankulutus nousee karkeassa suhteessa arvoon V ^ 2 * F, jännitteen neliö kertaa käyttötaajuuden kanssa.
Vaikka IBM: n kirjoittajien toimittamat tehomittaukset eivät ole tarkkoja, ne välittävät hyvän käsityksen yleisestä suuntauksesta. Nämä luvut osoittavat, että osa pystyy toimimaan yli 5 GHz: n yli testilaboratorio-olosuhteissa - tosin muotin lämpötilassa, joka on liian kuuma tavanomaisiin kaupallisiin kokoonpanoihin. IBM arvioi ensimmäisten kaupallisesti saatavien soluprosessorien toimimaan 3,2 GHz: n nopeudella, toimintanopeudella, jossa tämä kaavio ehdottaa SPU-muotin lämpötilaa mukavassa läheisyydessä 30 astetta.
Huomaa, että yksi SPU edustaa 6% soluprosessorin suulakepinta-alasta. Yllä olevassa taulukossa annetut tehoarvot edustavat vain pientä osaa kokonaistehobudjetista.
IBM on julkisesti ilmoittanut aikomuksestaan ottaa käyttöön Cell tulevaan tekniikkaan, joka on alle 90 nm: n solmu virrankulutuksen parantamiseksi. Pienempi virrankulutus voisi mahdollisesti mahdollistaa nykyisen suunnittelun tehostamisen vähintään 5 GHz: iin ylittämättä olemassa olevien tuotteiden lämpörajoituksia.
Solu aallonpituudella 65 nm
Cellin ensimmäinen kutistuminen oli 65 nm: n solmussa. Pienentäminen 65 nm: iin vähensi nykyisen 230 mm²: n suulakkeen, joka perustuu 90 nm: n prosessiin, puoleen sen nykyisestä koosta, noin 120 mm², vähentäen huomattavasti myös IBM: n valmistuskustannuksia.
IBM ilmoitti 12. maaliskuuta 2007 aloittavansa 65 nm: n solujen tuotannon East Fishkill -kansiossa. Siellä tuotetut sirut ovat ilmeisesti vain IBM: n omistamille Cell blade -palvelimille, jotka saivat ensimmäisenä 65 nm: n solut. Sony esitteli PS3: n kolmannen sukupolven marraskuussa 2007, 40 Gt: n mallissa ilman PS2-yhteensopivuutta, jonka varmistettiin käyttävän 65 nm: n kennoa. Kutistuneen kennon ansiosta virrankulutus laski 200 W: sta 135 W: iin.
Aluksi tiedettiin vain, että 65 nm -kennot kellovat 6 GHz: iin ja toimivat 1,3 V : n ydinjännitteellä , kuten ISSCC 2007 osoitti . Tämä olisi antanut sirulle 384 GFLOPS: n teoreettisen huippusuorituskyvyn FP8: n neljänneksen tarkkuudella ( 48 GFLOP-arvoa FP64-kaksoistarkkuudessa), mikä on merkittävä parannus 204,8 GFLOPS-piikkiin (25,6GFLOPs FP64-kaksoistarkkuus), jonka 90 nm: n 3,2 GHz: n solu voisi tarjota 8 aktiivisella SPU: lla. IBM ilmoitti edelleen ottavansa käyttöön uusia virransäästöominaisuuksia ja kaksoisvirransyötön SRAM-ryhmään. Tämä versio ei ollut vielä pitkään huhuttu "Cell +", jolla oli parannettu Double Precision -liukuluku, joka näytti ensimmäisen kerran päivänvalossa vuoden 2008 puolivälissä Roadrunner-supertietokoneessa QS22 PowerXCell -terien muodossa . Vaikka IBM puhui ja jopa osoitti korkeamman kellon soluja aiemmin, kellonopeus on pysynyt vakiona 3,2 GHz: ssä, jopa Roadrunnerin kaksinkertaisen tarkkuuden mahdollistamiseksi "Cell +": n kohdalla. Pitämällä kellonopeutta vakiona, IBM on sen sijaan päättänyt vähentää virrankulutusta. PowerXCell-klusterit ovat jopa parhaita IBM: n Blue Gene -klustereita (371 MFLOPS / Watt), jotka ovat jo paljon energiatehokkaampia kuin perinteisistä CPU: ista koostuvat klusterit (265 MFLOPS / Watt ja alhaisemmat).
Tulevat versiot CMOS: ssa
Näkymät 45 nm: ssä
ISSCC 2008 -tapahtumassa IBM ilmoitti solun 45 nm: n solmussa. IBM sanoi, että se vaatisi 40 prosenttia vähemmän tehoa samalla kellonopeudella kuin 65 nm edeltäjänsä ja että suulakealue pienenee 34 prosenttia. 45 nm: n kenno vaatii vähemmän jäähdytystä ja mahdollistaa halvemman tuotannon, myös käyttämällä paljon pienempää jäähdytyselementtiä. Alun perin massatuotanto aloitettiin vuoden 2008 lopulla, mutta se siirrettiin vuoden 2009 alkuun .
Näkymät yli 45 nm
Sony, IBM ja Toshiba ilmoittivat aloittavansa niin pienen kuin 32 nm: n solun työskentelyn tammikuussa 2006, mutta koska prosessien pienentyminen fab: ssä tapahtuu yleensä maailmanlaajuisesti eikä yksittäisen sirun mittakaavassa, tämä oli vain julkinen sitoumus viedä Cell 32 nm.