Ar pamenate savo pirmąjį kompiuterį? Kas tai buvo? Juodai balto vaizduoklio ekranas, kelių megabaitų kietas diskas, kelių colių lankstus diskelis ir dešimties megahercų procesorius? Palyginkite mintyse su savo dabartiniu… O ar pamenate savo pirmą telefoną? Gal tai buvo Motorola arba Nokia? Su juodai baltu vos įskaitomu ekraniuku ir milžiniška antena? O kaip atrodo dabartinis? Spalvotas didelis ir patogus ekranas? O ar pamenate lanksčius diskelius? Nieko nebestebina dabartinių skaitmeninių nuotraukų dydis, nors vos dešimt metų atgal tai būtų neįsivaizduojamai daug. Tikrai neįtikėtinas progresas, kuris būtų neįmanomas be eksponentinio Muro dėsnio, kuriam šiemet sukanka net 50 metų!
Kas yra tas Muro dėsnis ir ką jis tokio teigia, kad visos stambiausios pasaulio kompanijos – Google, Facebook, Intel, Microsoft ir t.t. vienaip arba kitaip atžymėjo šį jubiliejų? Jei norite trumpo atsakymo, pasakysiu, kad be Muro dėsnio nebūtų nei Google, nei Facebook, nei interneto, nei asmeninių kompiuterių, nekalbu apie išmanius telefonus. Jei norite išsamaus atsakymo, tuomet skaitykite toliau.
1965 metais Gordonas Muras, vienas iš korporacijos Intel įkūrėjų, pastebėjo, kad integruotoje mikroschemoje esančių komponenčių skaičius keičiasi eksponentiškai, o 1975 metais suformulavo savo garsų dėsnį: kas dvejus metus mikroschemoje esančių elektroninių komponenčių skaičius padvigubėja. Jei vienas pirmųjų Intel procesorių Intel 4004 turėjo tik 2 300 tranzistorių, dirbo 740 kilohercų dažniu, buvo keturių bitų ir mokėjo dirbti tik su 4096 bitais išorinės atminties, tai sekantis Intel procesorius 8080 jau turėjo 6 000 tranzistorių, dirbo 2-3 megahercų dažniu buvo 8 bitų ir mokėjo dirbti net su 64 kilobaitais atminties.
Pirmieji procesoriai turėjo tiek mažai elementų todėl, kad inžinieriai nemokėjo pagaminti smulkių tranzistorių. Pirmųjų procesorių tranzistorių dydžiai buvo dešimtys mikrometrų. Praėjus 2-3 metams inžinieriai išmokdavo kaip du kartus sumažinti tranzistoriaus mikroschemoje užimamą plotą, būtent todėl Gordonas Muras ir galėjo suformuluoti savo įžymią pastabą, kuriai vėliau ir buvo suteiktas Muro dėsnio vardas. Muro dėsnio dėka sparčiai augo tranzistorių skaičius, procesorių dažnis bei kompiuterių atmintis. Vos po 20 metų nuo Intel 4004 pasirodęs Intel 486 DX 2 procesorius jau turėjo 1,2 mln tranzistorių ir dirbo 100 MHz dažniu!
Po dešimties metų, 1999 metais atsiradęs Pentium III procesorius jau turėjo 28 mln tranzistorių bei dirbo 1,4 GHz dažniu! Ateitis atrodė šviesi tiek pačiai korporacijai Intel ir jos konkurentams, tiek kompiuterių vartotojams. 2000 metais Intel išleido į rinką pirmus Pentrium 4 procesorius, turėjusius 42 mln tranzistorių ir veikusius net 1,5 GHz dažniu! Тodėl niekas nenustebo, kuomet Intel pranešė apie planus 2005 metais pademonstruoti procesorius, kurie veiktų net 8-10 GHz dažniu! Viskas atrodė gana logiška, anot tuometinės Muro dėsnio versijos, dažniai dvigubėjo kas 18 mėnesių, todėl 2005 metais reiktų laukti 8 GHz dažnio. Jei Muro dėsnis galiotų ir toliau, 2011 metais dažnis turėtų pasiekti stulbinančius 128 GHz! Ir nors korporacija Intel niekada nekalbėjo apie tokius milžiniškus dažnius 2011 metais, ji 2000 metais garantavo, kad 10 GHz dažnis tikrai bus pasiektas.
Atėjo 2004 metai. Vyko eilinis Gartner grupės organizuotas rudeninis IT simpoziumas. Gražus oras, pakyli nuotaika, technologiniai proveržiai. Niekas net patikėti negalėjo tuom, ką jie išvydo scenoje atsiradus Intel korporacijos prezidentui Kreigui Baretui. Vienos galingiausių pasaulio IT korporacijų prezidentas stebint 7 000 specialistų atsiklaupė ant kelių ir paprašė atleidimo už tai, kad 4 GHz Pentium 4 niekada neišvis pasaulio.
https://www.youtube.com/watch?v=7uBNCN6v_gk
O kaip gi žadėti 10 GHz, gali paklausti skaitytojas? Baikite gerbiamieji juokus! Apie kokius 10 GHz procesorius galime kalbėti, jei Pentium 4 procesorius vos ne vos pasiekė 3,8 GHz dažnius? Maža to, dirbdamas tokiu dideliu dažniu, procesorius taip stipriai kaito, kad buvo entuziastu pravadintas keptuve, nes rekordiškai greitai galėjo iškepti kiaušinienę!
Ir tikrai? Ar pastebėjote, kad nuo 2004 metų mūsų perkamų kompiuterių ir jų procesorių taktiniai dažniai „užšalo” ties 3-4 gigahercų riba? Kas tai yra? Muro dėsnis nebegalioja? Kaip suprasti? Jau įsivaizduoju galvą krapštantį skaitytoją. Muro dėsnis tebegalioja, skubu nuraminti. Tranzistorių skaičius procesoriuose tebedvigubėja ir po 2004 metų, kaip jis tai darė anksčiau. Tiesiog nustojo galioti Denardo ir Kumio dėsniai, kuriuos dažnai painiodavo su Muro dėsniu, o kartais net tiesiai šviesai vadindavo Muro dėsniu.
Tai kas gi atsitiko? Kodėl nustojo augti dažniai? Kodėl vienos galingiausių kompanijų prezidentui teko atsiklaupt ir atsiprašyti už neįvykdomą pažadą? Atsakymas nėra paprastas ir reikalauja iš skaitytojo susipažinti su vakuuminiu triodu – modernių tranzistorių seneliu.
Kaip veikia triodas ir kas tai yra? Jei turėjote seną tarybinį televizorių arba radiolą, gal esate matę prietaiso viduje esančias lempas? O gal net teko pačiupinėti? Jei teko ir įsižiūrėjote, turėtumete pastebėti lempos viduje trejetą elementų: katoda, anodą ir į vielos tvorą panašia užtūrą. Per katodą pastoviai teka srovė, todėl ta viela kaista. Iš įkaitusio katodo paviršiaus išsilaisvina neigiamo elektros krūvio elektronai, kurie išsilaksto po lempos tūrį, o jų dalis pasiekia anodą ir per triodą teka elektros srovė. Per veikiantį triodą visą laiką teka tokių elektronų srovė. Bet kas įvyks, jei mes ant tarp anodo ir elektrodo esančios užtūros paduosime elektros įtampą? Jei įtampa bus teigiama, elektronai didesniu greičiu nuskries link anodo, todėl per triodą pradės tekėti stipresnė elektros srovė. Tačiau kas bus, jei įtampa neigiama? Tuomet neigiami elektronai nepasieks anodo ir srovė nustos per triodą tekėti!
Lygiai taip pat kaip vakuuminis triodas veikia ir puslaidininkinis tranzistorius. Pamenate, kokios stambios buvo vakuuminės lempos? Dėl jų stambumo televizoriai ir radiolos buvo netikėtinai sunkios. Bet atsiradus puslaidininkiniams tranzistoriams, gana greitai atsirado ir nešiojama elektrotechnika: tranzistorinės radiolos, magnetolos, kasečių grotuvai. Tai buvo tikra mobilumo revoliucija. Jei lempinė radiola stovėjo bute ant tvirtos ąžuolinės kedės, tai tranzistorinės vieta buvo paplūdimyje.
Atsiradus integruotoms mikroschemoms, visi palaidi tranzistoriai nukeliavo į integruotas mikroschemas, o juose esančių ištakų (angl. source), užtūrų (angl. gate) ir santakų (angl. drain) dydžiai tapo sunkiai pastebimi žmogaus akiai.
Mažėjant tranzistorių matmenims, mažėja jų elementai – ištakos, santakos ir užtūros. Nors charakteringas dabartinių procesorių tranzistorių ilgis yra 22 nanometrai, užtūros ilgis yra stebėtinai didelis – apie 25 nm, nors dar prieš dešimtį metų užtūra buvo mažesnis už charakteringą ilgį. Matote, kai tranzistorių matmetnys nuosekliai mažėja, kažkada yra pasiekiami tokie maži dydžiai, jog smulkiausiame tranzistoriaus elemente – užtūroje telpa vos keletas dešimčių kristalinės gardelės sluoksnių. Dabartiniai tranzistoriai gaminami iš silicio, kurio kristalinės gardelės periodas yra 0.5 nm. Šis skaičius reiškia, kad atstumas tarp silicio pavienių atomų gardelėje yra pusė nanometro. Tai 25 nanometrų užtūroje telpa tik 50 atomų! Jei mes mintyse sumažinsime tranzistorių dar labiau, iki dydžių mažesnių už 20 nanometrų, mes užtūroje tebeturėsime vos dešimtį atomų! Tampa gana akivaizdu, kad esant tokiems mažiems dydžiams klasikinė tranzistorių teorija tiesiog nustoja veikti!
Palauk, jau man šaukia skaitytojas, o kaip tai paaiškina tai, kad mes nepamatėme 10 GHz procesorių? Nereikia pergyventi, paaiškinimas jau netoli (dar „desiatka” kavos puodelių išgertų beskaitant šią rašliavą). Visų pirma, tranzistoriaus galia galime padalint į 3 dalis: statinę galią, dinaminę ir pereinamąją. Kuo plonesnė užtūra, tuo didesnė statinė galia, nes dėl plonos užtūros pro ją pastoviai teka srovė. Ūkiškai aiškinant tranzistorius yra toks plonutis, kad pro jį VISADA teka srovė, net tada, kada mums to nereikia! Dėl šios parazitinės srovės neina sumažinti įtampos ir padidinti tranzistoriaus veikimo dažnio.
Maža to, kad procesoriaus sunaudojamos elektros kiekis tiesiškai priklauso nuo dažnio, tai dar ir dažnis priklauso nuo įtampos! Jei mes norime pasiekti didelį tranzistoriukų veikimo dažnį, mes turime stipriai pakelti jų veikimo įtampą. O pakėlus įtampą padidėja suvartojama elektros energija ir padidėja procesoriaus temperatūra! Procesorius nuo per didelio dažnio tampa tikra keptuvė…
Kaip matome, gaunasi vos ne patas. Muro dėsnis vis tebeleidžia kompiuterių gamintojams išgauti daugiau tranzistorių, tačiau jis nebeleidžia jiems padidinti dažnį. Kaip tada mes galime išgaut kokią nors naudą? Tikrai sunkus klausimas. Tačiau nuo 2004 metų gamintojai sugalvojo šiai našumo problemai sprendimą. Sprendimas yra stebėtinai paprastas: padaryti iš vieno procesoriaus du. Turėjote vieną procesorių? Nusipirkite dabar du, o gal net keturis vienu metu!! Taip, taip! Ir mes perkame. Mes perkame keleto „branduolų” procesorius. Ir jei 2005-2006 metais dvejų branduolių procesoriai buvo egzotika, dabar nieką nestebina keturių, šešių arba net aštuonių branduolių procesoriai, kurie veikia tuo pačiu 3-4 GHz dažniu!
Galite pasakyti, taigi nuostabu! Vietoje vieno kompiuterio, perkame net 8 arba 16 vienu metu! Deja, deja… Tenka apgailestauti, tačiau daugelio branduolių kompiuteriui tinka tik gerai išlygiagretinamos užduotis. Jei mes verdame sriubą, sriuba greičiau neišvirs nuo to, kad virtuvėje bus keturios virėjos. Skalbiniai greičiau neišsiskalbs, jei iš vienos skalbimo mašinos perdėsime juos net į penkias. Galu gale, jei mums reikia prisukti vieną varžtą, jis neįsisuks greičiau, jei jį įsukt bandys šešiolika meistrų… Matematikoje šios gyvenimiškos situacijos turi savo pavadinimą – Amdalio dėsnis: Kuo paprastesnė užduotis, tuo mažiau naudos iš pagalbininkų.
Ir tikrai, gana ilgą laiką naudos iš tų dvejų, trijų, keturių arba šešių branduolių kompiuterių nebuvo jokios. Tik dabar žaidimai ir programos pradeda pagaliau prasmingai naudoti keturių branduolių kompiuterius. Tačiau vis tiek atsiranda kasdienių užduočių, kur dešimties metų senumo kompiuterio visiškai pakanka…
Tačiau užsiduokime kitu klausimu. O kokia ateitis laukia Muro dėsnį? Tiksliau net ne dėsnį, o stebėtinai taiklią pastabą… Visų pirma, dėl mažėjančio tranzistorių dydžio, tampa vis sudėtingiau pagaminti tranzistorius, kurie kuo mažiau vienas nuo kito skirtus. Dėl gardelės netolygumų, vienas tranzistorius procesoriuje gali būti geras, o kitas gali būti visiškai niekam tikęs. Dėl šios priežasties procesorių kūrėjams tenka papildomai apsisaugoti ir išnaudoti dėl Muro dėsnio atsirandančio potencialo dalį.
Kita problema yra elektros signalų nukreipimas iš procesoriaus išorės į procesoriaus vidų. Tam dažniausiai naudojamos besikeičiančio nuo sluoksnio link sluoksnio vario ir aliuminio laidų piramidės. Jei 1997 metais užtekdavo 4 tokių metalinių sluoksnių, tai 2010 metais jų prireikia net 16! Be abejo tai prisideda prie mikroschemos sudėtingumo.
Klasikinė dvimačio tranzistoriaus schema nustojo veikti, kuomet charakteringi tranzistorių dydžiai priartėjo prie 22 nanometrų. Tuomet korporacija Intel pradėjo naudoti trimačius tranzistorius. Šiai problemai spręst buvo pasitelktas trimatis tranzistoriaus elementų komponavimas. Ištaka ir santaka tapo trimačiais, dėl ko padidėjo jų sąveikos su užtūra plotas. Tačiau tai yra laikinas sprendimas, kuris veiks tik iki sekančios procesorių kartos…
Kuomet korporacija Intel bandys gaminti dar smulkesnius tranzistorius, jai teks arba atsisakyti silicio medžiagos, arba sugalvoti kažką kito. Dabartiniai trimačiai tranzistoriai nustos veikti vos charakteringi tranzistorių matmenys sumažės iki 10 nanometrų. Egzistuoja spekuliacija, kad bus naudojami kvantiniai šuliniai, tačiau bendra sandara taps neįtikėtinai sudėtinga, o tokio tranzistoriaus kaina gali „šauti” į viršų.
Tačiau po 10 nanometrų techninio proceso ateis eilė 7 nanometrų procesui, o čia jau daugelis inžinierių pasimeta. Kuomet tranzistorius yra vos 7 nanometrai, jame tėra tik 14 silicio atomų, o apie priemaišas kalbėti tampa beprasmiška. Ir būtent čia kyla geras klausimas. Muro dėsnio mirtis matoma net plika akimi. Tačiau kada gi ji įvyks?
Puslaidininkinių procesorių biznis reikalauja vis stambesnių ir brangesnių investicijų į gamyklas. Šią pastaba aprašo taip vadinamas Roko dėsnis: puslaidininkinių mikroschemų gamyklos kaštai dvigubėja kas keturis metus. Ir tikrai 2014 metais investicijos į naują gamyklą siekė net 14 mlrd. JAV dolerių! Nieko nuostabaus, kad Intel konkurentė AMD 2009 metais pardavė savo gamyklas, o kita Intel konkurentė IBM tą patį padarė pernai. Taip atsitinka dėl to, kad vis sunkiau tampa užtikrinti Muro pastabos galiojimą. Ne šiap sau Muro dėsniui skelbiama mirtis nuo 1995 metų!
Ir nors pats Gordonas Muras 1995 metais išpranašavo savo dėsnio mirtį 2005 metais, korporacija Intel daro viską įmanoma, kad šis dėsnis tebegaliotų. Kuomet didžiausi Intel konkurentai susitaiko su tuom, kad tranzistorių skaičius nebedvigubėja taip greitai, kaip jiems to norėtųsi, Intel investuoja milžiniškus pinigus tam, kad dėsnis tebegaliotų. Muro dėsnio dėka sparčiai tebaauga tranzistorių skaičius Intel procesoriuose bei procesorių atmintis. Tebeauga nes tai yra Intel prestižo klausimas, tai yra „Intel dėsnis”. Ir, jei viskas bus gerai, jis tebegalios dar iki 2020-2025 metų.
http://hexus.net/tech/news/industry/83263-tiny-beamsplitter-helps-photonic-chips-take-big-step-forward/
O ką apie tai manai?
Man nepatiko ‘išvada’ apie lygiagretinimą. Išlygiagretinti galima vos ne viską (na taip, ne visada tai apsimoka). Didesne problema — lygiagretinti sudėtinga (taigi ir brangu), todėl tai dažnai nėra daroma.
Su automatiniu išlygiagriatinimu problema yra „diminishing returns”. Kiekvienas naujas branduolys duoda vis mažiau naudos. Sklando daug įvairių įdėjų, kaip tai išspręsti. Pvz: http://highscalability.com/blog/2012/3/6/ask-for-forgiveness-programming-or-how-well-program-1000-cor.html
Būtent apie tai ir yra paminėtas Amdalio dėsnis.
Dabartineje gpu nvidia yra 3000 coru, ir ju deka vyksta deep learning atgimimas. Zodziu AI algoritmai lygiagriatinas, kas dabar ant bangos. Toliau, daug uzdaviniu susiveda i tiesinius matricinius uzdavinius. Matriciniai uzdaviniai irgi gerai lygiagretinas (beje su jais matuojami superkomu greiciai). Baigtiniu elementu fizikiniai modeliavimai- elektromagnetiniai, tamprumo ir t.t. irgi gerai lygiagretinas. Vazidu apdorojimas, computer vision, tomography irgi gerai lygiagretinas. todel tas Amdeli desnis gerai, bet realybe- dauguma uzdaviniu gerai lygiageretinas ir duok deive, kad tie korai dvigubetu kas met. Beje ko as pasigendu -tai kad simbolic comutiation dalykai nesilygiagretina – pvz Wolfram Matematica -tokios simbolines funkcijos kaip Integrate ar FullSimplifay neislygiagretintos. beje siandienos zinutka- intelio sekancios kartos Xeonas jau tures 28 corus. Nors man tai atrodo mazai ir gpu rules …
Jonai, kalbi nesamonę.
Kiek domėjausi, tai technologinis procesas ir ilgis matuojamas nm reiškia užtūros ilgį. Tai dar 2013 metais buvau aptikęs oficialiam Intel puslapyje ir oficialioje jų skaidrėje. Nes wiki sakinys niekuo neparemntas, todėl sukėlė abejonių. Ar galėtumėt kaip fizikas (jei žinoma pats išmanot) ūkiškai paaiškinti ar aš klystu teigdamas, kad skambūs žodžiai GPU/CPU formuluotėje „technologinis procesas” vis dar matuojamas nanometrais gate – užtūros ilgis? Ačiū
O kitas keistumas, tai antrame paveikslėlyje: Why Moore matters; yra tokie skaičiai:
1971 vs 2015
351$ vs 393$
2300 vs 1 300 000 000 000
Ar tik ne per daug nulių? Nes kiek žinau standartinio i3/i5/i7/Xeon E5/FX/APU ir silpnesnių CPU (net ir GPU) tranzistorių skaičiai matuojami milijardais – keleta ar keliolika (jei du GPU vienoje plokštėje), bet jokiais būdais ne trilijonais? Ar aš klystu?
Iš anksto dėkui už atsakymus.
Teisingai, tradiciškai CPU architektų vadovėliuose kalbėdami apie technology node yra prisirišama prie užtūros ilgio, tačiau tai nėra visai korektiška, kadangi, tarkime, 65nm atveju pas Intel gate length buvo 60nm, skirtingas užtūros ilgis buvo ir 45nm procese. Tačiau rimtesniuose vadovėliuose technology node yra apibrėžiamas kaip pusė atstumo tarp dvejų gretimai esančių DRAM ląstelės metalizacijos linijų. Taip yra visų pirma dėl to, kad technologiniame procese ne visada yra gaminami vien tranzistoriai. Jei kompanija gamina bipolinius DMOS, CMOS, tuomet šis skaičius reiškia minimalų atstumą tarp kažkokių charakteringų grandinės elementų. Pvz. sąrašas čia (table B ir po to einantį iliustracija, beje, gera proga man atnaujinti biblioteka, nes radau tik 2011 metų) http://www.itrs.net/ITRS%201999-2014%20Mtgs,%20Presentations%20&%20Links/2011ITRS/2011Chapters/2011ExecSum.pdf
Jei kalbėti iš CPU/GPU arba šiap logikos architekto pozicijų, technology node tėra skaičius, kuris automatiškai leidžia įsivertinti visą eilę parametrų, aprašančių arba atminties ląstelę, arba GPU tipo tranzistorių, arba metalizacinius sluoksnius CPU. Tarkim, dinaminė sunaudojama galia CV^2*f, kur f yra technology node, V – varža, o C yra talpa (žinoma, ši formulė dar turi ir korekcinį narį dėl prastėjančio Mūro dėsnio, bet grubiam įvertinimui lyg tebenaudojama).
Pataisymas:
Atsiradus FinFET’ams atsirado dar vienas papildomas matas – FinFET aukštis bei jų kiekis, kas įneša dar daugiau neaiškumo į tai, kaip gi apibrėžt tą nodą… Atkasiau naujesnį reportą:
http://www.itrs.net/ITRS%201999-2014%20Mtgs,%20Presentations%20&%20Links/2013ITRS/2013Tables/2013ORTC_DetailedTable.pdf
http://www.itrs.net/ITRS%201999-2014%20Mtgs,%20Presentations%20&%20Links/2013ITRS/2013Chapters/2013ExecutiveSummary.pdf
My bad – dabar žiūriu, kad su nuliais viskas tvarkoj 🙂 O dėl nm tai ne viskas taip paprasta. Dėkui.
O kitas keistumas, tai antrame paveikslėlyje: Why Moore matters; yra tokie skaičiai:
1971 vs 2015
351$ vs 393$
2300 vs 1 300 000 000 000
Paveiksliuke 1,3B, arba 1 300 000 000, lygiai tiek, kiek turėjo tais metais Intel CPU (Broadwell)