Naj osvežimo spomin: Moorov zakon pravi, da se približno na vsako leto in pol podvoji zmogljivost visokozmogljivih integriranih vezij oz. procesorjev. To, da bo obstoječa tehnologija trčila ob fizikalne omejitve, zaradi katerih Moorov zakon ne bo več veljal, je tema že nekaj časa. In kaj potem? Težava je v tem, da je njegov vpliv precejšen. Moorov zakon ni toliko pomemben za uporabnike, kot je za podjetja, izdelovalce računalniških komponent. Omogoča jim namreč rast, brez katere v trenutni svetovni gospodarski ureditvi nimajo vrednosti. Zato se ta podjetja najbolj trudijo iskati nove tehnologije, nove metode ali nove snovi, ki bi omogočile, da bi Moorov zakon in s tem pričakovana rast, veljala še naprej.

BLIŽAMO SE KVANTNEMU SVETU

Najpozneje v štirih letih bodo čipe izdelovali v 11-nanometrski velikosti, to pa je tista omejitev, za katero izračuni kažejo, da bodo prevladali zakoni kvantne mehanike. Intel je dejal, da je od 11-nanometrske tehnologije oddaljen dve generaciji svojih izdelkov. Podobno je pri AMD-ju, oba pa sta že za naslednje leto napovedala 14-nanometrsko tehnologijo. Že pri slednji, kaj šele pri 11-nanometrski tehnologiji, je plast izolacije pod vrati tranzistorja, ki ureja tok elektronov, tanka med 5 in 6 nanometrov, zato pride do izraza tako imenovani učinek kvantnega predora. Po zakonih kvantne mehanike ne moremo natančno določiti položaja elektrona, zanj lahko določimo le verjetnost, da je elektron tam, kjer ga pričakujemo. Če je ovira (plast izolacije) premajhna, jo elektron lahko predre, tranzistor se »zapre« in iz logične ničle nastane enica. Ker do tega pride nepričakovano, zagotovo pa ne zato, ker bi tako moralo biti, pride do napake, in izračuni procesorja, ki bi morali biti vedno natančni in pravilni, postanejo napačni in nepredvidljivi. Če karikiramo, 1 + 1 lahko postane 3.

Kakšne so rešitve? Prva možna je vključiti v procesor sistem za samodejno popravljanje napak, kar bi pomenilo, da bi procesor nadziral točnost izračuna, in če bi zaznal napako, bi izračun ponovno zagnal, to pot z nižjim taktom procesorja. Več pa si obetajo od novih materialov za oksid pod vrati tranzistorja (izolator) oziroma kar za celoten tranzistor. Prvi kandidat je grafen, en atom debela plast hibridiziranih ogljikovih atomov (več takih plasti skupaj tvori grafit), ki prevaja tok elektronov skoraj brez upora. Z uporabo grafena bi lahko govorili o taktu 100 GHz ali celo več. Težava je le v tem, da se grafen obnaša bolj kot kovina, ki prevaja elektrone, kot polprevodnik. Zaradi tega mora biti tranzistor iz grafena vedno »vključen«, sicer izgubi »shranjene« elektrone, s tem pa tudi stanje ena ali nič. Več obljublja uporaba molibdenita (MoS2), ki ga je tudi mogoče stanjšati na debelino atoma, ki pa je, tako kot silicij, polprevodnik. Naprave iz obeh snovi že obstajajo, vendar zgolj v obliki prototipov.

Dodatno težavo pa pomeni sama proizvodnja, proces litografije. Pri oblikovanju čipov uporabljajo svetlobni (laserski) žarek z valovno dolžino 193 nm. Ker svetlobni valovi določajo velikost strukture, potrebujejo več leč za izdelavo čipa z 32-nanometrsko tehnologijo. Po predvidevanju nekaterih bi bil obstoječi sistem primeren tudi za 11- nanometrsko tehnologijo, še manjše strukture pa bi bile mogoče zgolj z uporabo razmeroma dragega sistema, ki uporablja svetlobo valovne dolžine 13,5 nm. Dodatno težavo pomeni pomanjkanje leč, ki bi prepuščale to svetlobo.

PREVISOKA TEMPERATURA

Največja prepreka Moorovemu zakonu je pretirano segrevanje procesorjev pri povečevanju takta delovanja. Intel je za to leto obljubljal procesorje s taktom 10 GHz, kar pa se je izkazalo za preveč visokoletečo obljubo. Kako hitro lahko deluje tranzistor, je v veliki meri odvisno od velikosti vrat (gate). Fizično manjši tranzistorji v teoriji dopuščajo višje takte delovanja procesorjev, toliko bolj, ker so nove snovi, kot je hafnij, omilile nekatere druge težave, ki se pojavijo pri pomanjševanju elektronskih elementov. Vse to bi bilo res, če ne bi bilo osnovne težave: višji takti delovanja zaradi premagovanja notranje upornosti elektronskega elementa povzročijo večjo porabo električne energije in višje temperature, ki se pri delovanju sproščajo. Sistemi za odvajanje toplote, največkrat ventilatorji nad procesorji, so omejeni na moč 150 W, zato ima večina AMD-jevih in Intelovih procesorjev oziroma njihovih jeder takt pod 4 GHz. Izjema so IBM-ovi strežniki, kjer procesorji delujejo pri taktu 5 GHz, pred kratkim pa so dosegli nov rekord, takt 8 GHz, z uporabo sistema hlajenja s tekočim dušikom.

Hitrejše delovanje procesorja zato že nekaj časa namesto z višanjem takta dosegajo z dodajanjem jeder, kar pa ni tako učinkovito.

SPECIALIZACIJA JEDER IN ŠE VEČ JEDER

AMD in Intel sta v osnovah Fusion oziroma Sandy Bridge združila procesor in grafični procesor v enem čipu. Zaradi tega je v določenih primerih moč uporabiti celotno procesorsko moč, ki jo ponujajo vsa jedra in grafični procesor, celoten sistem pa je zato zmogljivejši. Taki primeri so, ko gre za izvajanje več podobnih operacij pri vzporednem procesiranju (šifriranje, dešifriranje, predvajanje in pretvarjanje večpredstavnih vsebin in podobno). Naslednji korak izboljševanja skupne moči naprave, naj bi bilo heterogeno računalništvo, ker imajo jedra v procesorju svoje točno določene naloge. Predvsem je to namenjeno mobilnim napravam (pametni telefoni), saj v klasičnih računalnikih za ta koncept še ne vedo, kako bi ga učinkovito uporabili. Po nekaterih napovedih, naj bi bila naslednje leto na voljo generacija mobilnih naprav z dvanajst ali več jedri v procesorju. Vzemimo kot primer štirijedrni procesor (procesorska arhitektura ARM) z osmimi specializirani jedri. Dve jedri izvajata računsko intenzivne naloge, drugi dve skrbita za izvajanje nalog v realnem času, preostala pa opravljajo naloge, ki so jim namenjene. Ta pristop ima dve prednosti. Naprava zaradi tega ni samo zmogljivejša, porabi tudi manj energije. Hetorogena arhitektura jeder je primerna za mobilne naprave zato, ker v njih sočasno teče več neodvisnih procesov (delovanje telefonskega dela, predvajanje filma), kot je to običajno pri klasičnih računalnikih. Pri slednjih pa si pri vzporednem izvajanju nalog predstavljamo hitrejše delovanje enega opravila (na primer urejanje videa), torej vzporedno delovanje le enega programa ali procesa.

Osnovno načelo zagotavljanja več procesorske moči klasičnih računalniških naprav je večja moč z vse več procesorskimi jedri. Pri tem pa ne velja Moorov, temveč tako imenovani Amdahlov zakon. Ta govori o največjem pričakovanem izboljšanju sistema, če izboljšamo le del sistema. To bi v sistemu oziroma pri večjedrnih procesorjih pomenilo odgovor na vprašanje, za koliko je delovanje računalnika hitrejše zaradi vzporednega izvajanja operacij v več jedrih. Izkazalo se je, da uporabnost večjedrnih procesorjev dramatično pade, če je program sposoben vzporedno izvajati le delček svojih nalog. Ker pa je to odvisno od programerjev, naloga pa še zdaleč ni preprosta, so pričakovane izboljšave zaradi več jeder daleč od tega, kar dobimo v praksi. V večini primerov bi naprava delovala hitreje, če bi imela procesor z enim jedrom, ki bi deloval pri višjem taktu, kot več jeder z nižjim.

VZPOREDNO IZVAJANJE PROGRAMOV

Pričakovanja od vzporednega izvajanja so velika, vendar je nekaj jasno že zdaj − zgolj programske rešitve niso dovolj, prilagoditi se mora tudi strojna arhitektura. Intel že razvija napredni programski prevajalnik (compiler), ki razbije programe, ki niso bili oblikovani za vzporedno delovanje, na majhne dele ali niti in jih pošlje namenskemu čipu, ki nadzira dostop do pomnilnika. Še boljši pristop je pokazal profesor Vishkin iz Univerze v Marylandu. Programskemu jeziku C je dodal dva ukaza, spawn in join. Prvi zažene vzporedni način, v katerem se niti (deli programske kode) lahko izvajajo vzporedno, drugi pa ta način izključi. Naloga strojne opreme je, da takšno kodo pravilno izvaja, je pa omenjeni profesor že zgradil prototip z dostopom do vseh jeder in velikim predpomnilnikom s hitro povezavo.

Majhen, a učinkovit način poenostavitve upravljanja s procesi pri vzporednem izvajanju programskih kod je tudi strojno podprto delovanje vrst. Vrste (queue) so bistveni del, saj vsebujejo niti (dele programskih kod), ki čakajo, da pridejo na vrsto, da jih procesor izvede, in čim večje so te vrste, tem počasnejše je delovanje sistema. To pa zato, ker so shranjene v predpomnilniku, in ne neposredno v hitrem pomnilniku procesorja (v povprečju je potrebno deset aritmetičnih operacij, da procesor pogleda v vrsto). Projekt Hague (Hardware-Accelerated queuing), ki poteka na univerzi North Carolina, predvideva nove procesorske ukaze, s katerim bi ta lahko neposredno nadziral vrsto in nov kos strojne opreme QF (Queue Functional Unit). Slednje vsebuje tabelo s čakajočimi nitmi organizirano v malem (a hitrem) predpomnilniku.

Moj mikro, junij 2011 | Marjan Kodelja |