Projekt KiloCore pakira 1.000 jeder procesorja v majhen ovoj moči, 32nm proces

KiloCoreFeature

Skoraj desetletje je minilo, odkar so razvijalci procesorjev začeli govoriti o večjedrnih čipih s številom jeder, potencialno na stotine ali celo tisoče. Zdaj je nedavni članek na simpoziju o tehnologiji VLSI leta 2016 opisal 1.000-jedrni CPU, zgrajen na IBM-ovem 32-nanometrskem procesu PD-SOI. 'KiloCore' je impresivna zver, ki lahko v samo 621 milijonih tranzistorjev izvede do 1,78 bilijona ukazov na sekundo. Čip je oblikovala ekipa iz UC Davis.

Najprej pojasnilo: če iščete Google 'KiloCore', je večina tega, kar se prikaže, povezano s precej starejšim IBM-ovim zavezništvom s podjetjem Rapport. Stopili smo v stik z vodjo projekta dr. Bevanom Baasom, ki nam je potrdil, da »ta projekt ni povezan z nobenim drugim projektom zunaj UC Davis, razen s tem, da je čip izdelal IBM. Celotno arhitekturo, čip in programska orodja smo razvili sami. '



KiloCore je podoben drugim arhitekturnim jedrom, ki smo jih videli pri drugih podjetjih, saj se za prenos informacij prek CPE opira na omrežje na čipu. KiloCore ločuje od teh drugih rešitev, ker ne vključuje predpomnilnikov L1 / L2 ali se zanaša na draga vezja skladnosti predpomnilnika.



Tabela1

Iz papirja VLSI.

Zgodovinska težava pri poskusu izdelave velikih nizov na stotine ali tisoče procesorskih jeder na enem matricu je, da že zelo majhni CPU predpomnilniki zelo hitro povečajo porabo energije in velikost matrice. Grafični procesorji uporabljajo predpomnilnike L1 in L2, vendar so grafični procesorji zasnovani tudi za naročila moči, višja od CPU-jev, kot je KiloCore, z veliko večjimi velikostmi matric. Po poročilu VLSI jedra KiloCore shranjujejo podatke v zelo majhnih količinah lokalnega pomnilnika, znotraj drugih bližnjih procesorjev, v neodvisnih pomnilniških bankah na čipu ali v pomnilniku zunaj čipa. Informacije se znotraj procesorja prenašajo prek 'visoko prepustnega omrežja s komutiranim vezjem in dopolnilnega paketno komutiranega omrežja zelo majhnega območja.'



KiloCore je v celoti zasnovan tako, da poveča učinkovitost s samo porabo energije za prenos podatkov, kadar je ta prenos potreben za določeno nalogo. Usmerjevalniki, neodvisni pomnilniški bloki in procesorji se lahko vrtijo navzgor ali navzdol, kot je potrebno za katero koli nalogo, medtem ko so jedra sama v redu s sedemstopenjskim cevovodom. Jedra, ki so bila izključena iz ure, sploh ne puščajo moči, medtem ko prosti čipi puščajo le 1,1% predvidene porabe energije. Skupni RAM v neodvisnih pomnilniških blokih je 64 KB * 12 blokov ali skupaj 768 KB, celoten čip pa se prilega paketu, ki meri 7,94 mm s 7,82 mm.

Zakaj graditi tako majhna jedra?

Številni raziskovalni projekti mnogojedrnih arhitektur v zadnjih 5–10 letih so vsaj delno odziv na smrt enojedrnega skaliranja in zmanjšanja napetosti na novih procesnih vozliščih. Pred letom 2005 ni bilo nobenega razloga, da bi vlagali v izdelavo najmanjših in najučinkovitejših razpoložljivih procesorskih jeder. Če bi trajalo pet let, da svoj projekt iz risalne plošče prestavite v komercialno produkcijo, bi bili obrnjeni navzdol proti procesorjem Intel in AMD, ki so bili cenejši, hitrejši in učinkovitejši od jeder, ki ste jih začeli premagati. Takšna vprašanja so bila del tega, zakaj jedra podjetij, kot je Transmeta, kljub nedvomno pionirskemu energetsko učinkovitemu računalništvu niso uspela doseči oprijema.

Neuspeh običajnega silicijevega skaliranja je osredotočil nadomestne pristope k računalništvu. Vsak posamezen CPU v KiloCore ponuja smešno zmogljivost v primerjavi z enim jedrom procesorja Intel ali celo AMD, vendar lahko skupaj pri nekaterih specifičnih nalogah dosežejo znatno večjo energetsko učinkovitost.



'Jedra ne uporabljajo eksplicitnih predpomnilnikov strojne opreme in delujejo bolj kot avtonomni računalniki, ki prenašajo informacije po sporočilih, ne pa pristop skupnega pomnilnika s predpomnilniki,' dr. Baas povedalVice. »Z vidika čipa so skupni pomnilniki podobni pomnilniškim vozliščem v omrežju, ki jih je mogoče uporabiti za shranjevanje podatkov ali navodil, v resnici pa se lahko uporabljajo skupaj z jedrom, tako da lahko izvajajo veliko večji program, kot ustreza znotraj enega jedra. '

Bistvo takšnih arhitektur je najti izredno učinkovite metode za izvajanje določenih delovnih obremenitev, nato pa jih prilagoditi tako, da se še bolj prilagodijo učinkovitosti ali izboljšajo hitrost izvajanja, ne da bi pri tem ogrozili izredno nizko porabo energije začetne platforme. V tem primeru je lahko energija KiloCore na posamezno ukaz do 5,8 pJ, vključno z izvajanjem ukazov, branjem / zapisovanjem podatkov in dostopom do omrežja.

Copyright © Vse Pravice Pridržane | 2007es.com