Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Nanotehnologia: o solutie pentru calculatoarele viitorului

Nanotehnologia: o solutie pentru calculatoarele viitorului

Sfirsitul erei legii lui Moore

Un adevar incontestabil este ca evolutia tehnologiilor de calcul a avut o acceleratie greu de imaginat. Timp de cel putin 40 de ani, de la inventarea circuitelor integrate, rata de crestere a performantei a fost exponentiala, dublind puterea de calcul la fiecare 18 luni. Aceasta evolutie a fost atit de inexorabila incit a fost denumita ``lege'': aceasta este celebra lege a lui Moore.

Termenul poate insa fi inselator: legea lui Moore este doar o observatie empirica, si nu o lege a naturii. Reputatia ei a fost intarita de faptul ca adesea expertii au prezis bariere care vor stavili avintul tehnologiei si ii vor incetini evolutia. De fiecare data, insa, realitatea a depasit predictiile, si legea lui Moore a functionat timp 40 de ani. Limitele finale sunt insa din ce in ce mai aproape. In mod surprinzator, cele mai amenintatoare bariere care se profileaza sunt de natura economica!



Daca urmarim costul unei fabrici care produce circuite integrate vom observa ca urmeaza aceeasi curba exponentiala pe care o urmeaza performanta circuitelor integrate. O astfel de fabrica a ajuns la ora actuala sa coste cam 2 miliarde de dolari, si la aceeasi rata de crestere va ajunge la 50 de miliarde in 2010. Acesta e un cost pe care foarte putine companii si-l pot permite, mai ales ca investitia nu este lipsita de riscuri (vedeti de exemplu razboiul Intel-AMD, cu tot felul de intorsaturi neasteptate in pozitia de lider al pietei).

Chiar daca putem argumenta ca fabricile vor putea fi construite in comun de catre consortii de fabricanti, exista o serie de costuri care nu pot fi distribuite: fiecare circuit integrat este construit folosind o serie de masti; costul mastilor a suferit si el o evolutie exponentiala, facind deja prohibitiva fabricarea de chip-uri de catre companiile mici.

Cresterea costului de fabricatie este data de costul dispozitivelor mecanice care sunt folosite in fabricarea integratelor. Pe masura ce dimensiunea tranzistoarelor scade, cerintele de precizie pentru alinierea mastilor, slefuirea suprafetei placii de siliciu, montarea nivelelor de metal ale circuitului final, etc., cresc si ele; costul unor dispozitive mecanice care fac operatii atit de precise creste deci exponential cu scaderea dimensiunii.

Anticipind sfirsitul acestei ere prodigioase din istoria calculatoarelor, grupul de cercetare din care fac si eu parte a inceput sa investigheze modele alternative de calcul. In acest articol voi prezenta pe scurt propunerea noastra pentru urmatoarea generatie arhitecturala, care substituie in locul circuitelor integrate in tehnologie CMOS (Complementary Metal-Oxide Semiconductor) circuite construite folosind nanotehnologie electronica.

Nanotehnologie

Dictionarul Webster defineste cuvintul ``nanotehnologie'' ca ``arta manipularii unor dispozitive minuscule, de dimensiuni moleculare''. Guvernul american insa a investit anul trecut jumatate de miliard de dolari in cercetarea din domeniul nanotehnologiilor, in incercarea de a transforma-o dintr-o ``arta'' intr-o ``stiinta''. Ca urmare, activitatea de cercetare din domeniu este prodigioasa; in sectiunea despre alte surse de informatie ofer citeva legaturi care va pot ghida spre paginile de web ale unora dintre cele mai renumite laboratoare. Progresele rapide, mai ales din chimie, au pus la-ndemina cercetatorilor o seama de unelte miniaturale minunate.

In aceasta sectiune voi trece in revista unele dintre dispozitivele minuscule care se anunta a fi potrivite pe post de componente ale unui dispozitiv de calcul; nanotehnologia ca domeniu se ocupa de multe alte lucruri, pe care le voi ignora. Chiar si printre dispozitivele nano-electronice, este imposibil de facut o enumerare exhaustiva, asa ca ma voi multumi doar sa ilustrez cu exemple reprezentative.

Componente

Primul ingredient necesar pentru a construi circuite la scara moleculara este sirma. Astfel de sirme trebuie sa fie foarte subtiri, lungi, rezistente mecanic, si sa aiba o conductanta electrica buna. Din fericire chimistii au descoperit o serie de molecule care au exact proprietatile necesare. Figura 1 este ilustratia unui fragment din cea mai celebra dintre moleculele descoperite, nanotubul de carbon.

begincenterline}end

Figura 1: Nanotuburi de carbon: fiecare biluta este un atom de carbon legat covalent cu vecinii sai. Aceasta este partea din stinga a unei singure molecule. Pentru descoperirea acestor molecule Richard Smaley, de la universitatea Rice din Statele Unite, a primit premiul Nobel pentru chimie in 1996. Astfel de molecule au un diametru de 5 nm si pot avea lungimi de ordinul milimetrilor. Proprietatile lor electrice si mecanice sunt excelente, in pofida dimensiunilor lor minuscule.

Al doilea ingredient de care avem nevoie este un comutator, care poate inchide si deschide circuite. Din fericire si pentru acest dispozitiv exista o pletora de alternative; in figura 2(a) este schema unui astfel de comutator; fiecare biluta este un atom.

begincenterline}end

Figura 2: (a) Un comutator molecular. O molecula polarizata are un nor de sarcina electrica asimetric. In pozitia din stinga norul blocheaza trecerea curentului electric. Aplicind un potential ridicat cauzam rotirea moleculei si reorientarea norului electronic; molecula in pozitia din dreapta conduce curent electric intr-o singura directie, comportindu-se ca o dioda. Molecula are ``memorie'', pentru ca ramine pentru multa vreme in pozitia in care a fost pusa. Un potential mare negativ poate muta molecula inapoi in starea neconducatoare. [aceasta figura este adaptata din revista Scientific American] (b) Comutatorul molecular plasat intre doua nano-sirme.

In figura 2(b) avem micro-fotografia unui astfel de comutator cuplat cu doua nano-sirme. Cum putem pozitiona atit de precis comutatorul? Prin procedee chimice simple:



  1. Fabricam cele doua sirme separat;
  2. Inmuiem una dintre sirme intr-o solutie care contine molecule-comutator;
  3. Suprapunem cele doua sirme aproximativ in unghi drept.

Astfel, comutatorul de la intersectia celor sirme se va cupla de ambele si va deveni functional.

Faptul ca putem construi sirme izolate si legate prin comutatoare nu este insa suficient pentru a construi circuite complexe. Trebuie sa fim capabili sa construim in mod eficient (in paralel) multe astfel de sirme cuplate cu comutatoare. Din fericire chimistii au descoperit un fenomen care ne ofera solutia intr-un mod aproape miraculos. Acest fenomen se numeste auto-asamblare (self-assembly). Una din formele sale se manifesta astfel: facem o solutie cu un anumit tip de molecule. In solutie muiem un suport. Incalzim solutia, extragem suportul si in mod spontan, fara vreun control dinafara, moleculele din solutie se aseaza pe substrat intr-o structura aproape regulata, paralele intre ele. In felul acesta putem construi simultan zeci sau sute de sirme paralele, aflate la distante foarte mici una de alta.

Trasaturi

Auto-asamblarea este un procedeu foarte ieftin de constructie a unor structuri minuscule. Cu toate acestea, trebuie sa realizam citeva dintre limitarile sale inerente:

  • Folosind auto-asamblare nu putem construi structuri neregulate, aperiodice. Circuitele integrate fabricate prin tehnologie CMOS sunt insa structuri neregulate. Va trebui deci sa renuntam la modelul circuitelor integrate digitale CMOS.
  • Cel putin in viitorul apropiat, folosind auto-asamblare afirmam ca este practic imposibil de construit un dispozitiv cu trei terminale, cum este tranzistorul. La dimensiuni moleculare este imposibil de coordonat simultan pozitia a trei sirme pentru a le face sa se intilneasca aproximativ in acelasi loc. Folosind manipulari minutioase sub un microscop electronic putem construi un tranzistor, dar afirmatia noastra este ca nu putem construi in mod automat si paralel milioane de tranzistori. Tranzistorul este insa ingredientul fundamental al circuitelor integrate digitale CMOS, care nu pot fi concepute in absenta sa! Cum vom putea atunci construi circuite integrate digitale?

Pentru a putea raspunde la aceasta intrebare trebuie din nou sa renuntam la metodele traditionale. Din fericire raspunsul se poate gasi daca rasfoim publicatii vechi, ingropate in praf prin biblioteci: la inceputul aniilor '50, inainte de inventarea tranzistorului, pentru o vreme cercetatorii au studiat o metoda alternativa de a construi porti logice, folosind numai diode si rezistente. Figura 3(a) arata implementarea unei porti logice ``si'' folosind diode si rezistori, pe cind figura 3(b) arata cum acest circuit poate fi implementat folosind nanotehnologia. Acest mod de a construi circuite a fost abandonat dupa aparitia tranzistorului, pentru ca consuma prea mult curent si este mai ineficient. Cu toate acestea, consumul dispozitivelor nanoelectronice este minuscul, putind face acest model viabil din nou.

begincenterline}end

Figura 3: (a) O poarta logica ``si'' implementata cu diode si rezistente. Cind una dintre intrari are tensiune joasa, dioda corespunzatoare conduce, deci tensiunea la iesire este si ea joasa. Cind ambele intrari au un potential ridicat, nici una din diode nu conduce, si potentialul la iesire este ridicat. Daca asociem un potential ridicat cu valoarea logica ``1'', am obtinut astfel functionalitatea unei porti logice ``si''. (b) Implementarea portii logice folosind nano-sirme si nano-comutatoare. Observati structura regulata si folosirea exclusiva a sirmelor care se incruciseaza aproximativ la unghi drept.

  • In circuitele integrate digitale tranzistorul are un rol dublu: serveste la implementarea portilor logice si amplifica semnalul electric care se degradeaza. Am vazut ca prima functionalitate poate fi inlocuita in nano-circuite folosind diode. Avem insa nevoie si de amplificatoare la scara moleculara. Grupul de cercetare din care fac parte a propus un astfel de dispozitiv care are simultan trei functii:
    • Amplifica semnalul electric restaurindu-l la valoarea normala;
    • Ofera sincronizare cu un semnal de ceas;
    • Poate fi folosit pe post de element de memorie.

Acesta este echivalentul molecular al unui ``latch'' (un registru).



  • In fine, cind avem structuri atit de mici este inevitabil sa avem o cantitate ne-neglijabila de defectiuni. Mici fluctuatii termodinamice, un graunte de praf, vor perturba imediat regularitatea sirmelor si comutatoarelor. Circuitele integrate digitale clasice trebuie sa fie perfecte; dupa fabricatie fiecare este testat extensiv si cele cu defectiuni sunt aruncate. Aceasta metodologie va fi inaplicabila nano-circuitelor, pentru ca densitatea de defectiuni va face existenta unui circuit perfect practic imposibila. In sectiunea urmatoare vom sugera insa o solutie pentru aceasta ultima problema.

Hardware reconfigurabil

In PC Report din iulie 1998 am publicat un articol despre o noua tehnologie de construire a calculatoarelor care se numeste hardware reconfigurabil. Voi rezuma aici cele mai importante elemente din acel text, dar puteti accesa si versiunea sa on-line.

Hardware-ul reconfigurabil are niste trasaturi extrem de dezirabile, cum ar fi posibilitatea de a tolera defectiuni si capacitatea de a oferi performanta computationala foarte ridicata. Un dezavantaj al hardware-ului reconfigurabil implementat in tehnologie CMOS este ca are o densitate scazuta (adica se pot implementa mult mai putine elemente computationale pe aceeasi suprafata decit folosind hardware traditional). Sugestia noastra este de a implementa hardware reconfigurabil pe un substrat nanotehnologic. In felul acesta putem obtine beneficiile ambelor domenii si putem evita dezavantajele lor:

  • Datorita dimensiunii foarte reduse a componentelor, nano-hardware-ul compenseaza densitatea scazuta a dispozitivelor reconfigurabile.
  • Datorita tolerantei la defecte, hardware-ul reconfigurabil poate exploata fara probleme nano-circuitele cu defectiuni.
  • In plus, dorim sa exploatam viteza de executie excelenta a hardware-ului reconfigurabil.

Ce este hardware-ul reconfigurabil?

Un circuit reconfigurabil (vedeti figura 4) contine, ca si un circuit digital normal, porti logice si sirme. Spre deosebire de circuitele obisnuite insa, fiecare poarta reconfigurabila nu are o functionalitate fixata, ci poate fi re-programata electronic sa implementeze orice functie logica dorita. In plus, sirmele din hardware-ul reconfigurabil nu sunt conectate direct intre porti; intre sirme avem comutatoare care pot lega si dezlega sirmele intre ele. Fiecare comutator este controlat tot in mod electronic.

begincenterline}end

Figura 4: (a) Hardware-ul reconfigurabil consta dintr-o ``mare'' de porti logice universale legate cu o retea de interconectare. O retea de configurare controleaza functiunea fiecarei porti logice si pozitia fiecarui comutator. (b) Fiecare comutator este controlat de o memorie de 1 bit care indica pozitia sa de inchis/deschis. (b) Portile logice universale sunt implementate folosind memorii mici care functioneaza ca tabele de adevar: modificind continutul memoriei schimbam functionalitatea portii logice. In acest exemplu memoria implementeaza o poarta logica ``si''.

Hardware-ul reconfigurabil este deci un caz particular de circuit integrat.

Atunci cind comparam un circuit reconfigurabil cu unul normal care are exact aceeasi functiune, cel reconfigurabil este mai lent si mult mai mare (cam de 10 ori mai mare). Este usor de inteles de ce: o poarta logica implementata cu o memorie este mult mai mare decit aceeasi poarta facuta din tranzistori, iar comutatoarele si memoriile lor aferente ocupa spatiu suplimentar. Viteza lui mai scazuta este data de comutatoare, care incetinesc semnalul electric.

Avantajul hardware-ului reconfigurabil vine din flexibilitatea sa: putem schimba functiunea lui pentru fiecare noua aplicatie cu care avem de-a face. Microprocesoarele ofera si ele flexibilitate, dar sunt in general mai ineficiente decit hardware-ul reconfigurabil, din doua motive:

  • Un procesor interpreteaza programele scrise in cod masina, pe cind hardware-ul reconfigurabil le executa direct. Interpretarea introduce ineficienta.
  • Programele executate de un procesor trebuie scrise folosind un set fixat de instructiuni (in cod masina), care nu este neaparat ideal pentru orice aplicatie. Hardware-ul reconfigurabil poate fi adaptat special fiecarei aplicatii (de exemplu daca facem operatii pe 5 biti nu e nevoie sa folosim mereu cite 32).

In plus, putem folosi capacitatea de reconfigurare pentru a tolera defecte. Sa presupunem ca una dintre portile universale este defecta din fabricatie. Daca stim acest lucru, vom aranja ca nici unul din programele noastre sa nu o foloseasca. Pentru ca portile sunt toate echivalente, putem folosi oricare alta, pe care o putem conecta in locul celei defecte folosind reteaua configurabila.



Trebuie sa spunem citeva cuvinte si despre compilarea pentru hardware reconfigurabil:

  • Compilarea se face in doua etape: intii programul este tradus intr-un circuit, dupa care circuitul trebuie ``asezat'' in plan, atribuind fiecarei operatii una sau mai multe poarti universale si atribuind sirmelor interconexiuni. Aceasta ultima faza se numeste ``plasare si rutare'' (place and route) si este de obicei foarte costisitoare si complexa (ore sau zile intregi). Rezultate mai recente ale cercetarii (unele obtinute chiar de autorul acestui articol) demonstreaza insa ca aceasta faza poate fi accelerata substantial, pina la viteze comparabile cu compilarea normala de programe.
  • In general, problema transformarii eficiente a unui program dintr-un limbaj de nivel inalt in hardware este inca nerezolvata satisfacator. Un motiv consta in faptul ca limbajele contemporane au fost proiectate pentru un model de executie von Neumann, in care masina are procesor si memorie. Cercetarea curenta a autorului acestui articol se orienteaza in aceasta directie.

Nano-calculatoare

In aceasta sectiune voi schita cum putem pune cap la cap nanotehnologia si hardware-ul reconfigurabil pentru a construi masini de calcul. Din informatiile autorului, grupul de cercetare din care face parte este singurul din lume care ataca problema viitorului calculatoarelor din acest unghi.

begincenterline}end

Figura 5: Stinga: Structura unui nano-circuit: un astfel de circuit consta intr-o grila bidimensionala de grupuri (clusters), legate prin ``sirme'' configurabile de felurite lungimi. Fiecare grup consta dintr-o grila de nano-blocuri. Dreapta: Fiecare nano-bloc este o poarta logica universala cu trei intrari si trei iesiri (fiecare semnal este atit direct cit si complementat, deci avem cite sase sirme). Nano-blocul contine si conexiuni la portiuni de metal construite prin tehnologie CMOS: sursa de putere, pamint, ceas.

Figura 5 arata propunerea noastra de arhitectura a unui sistem de calcul bazat pe nanotehnologii. Structura aceasta este foarte asemanatoare cu cea a circuitelor reconfigurabile disponibile comercial (numite FPGA, Field Programmable Gate Array), pentru care exista deja multa experienta in proiectarea sculelor si tehnologiilor de compilare, plasare si rutare.

Astfel de circuite vor fi fabricate printr-o mixtura de tehnologii: fiecare nano-bloc e fabricat folosind nanotehnologii. Lacasurile pentru grupuri si sirmele lungi sunt fabricate in tehnologie CMOS; fiecare nanobloc este apoi inserat intr-un astfel de locas. Metode prin care se pot configura nano-blocurile au fost puse la punct.

Dupa fabricatie circuitele vor fi cuplate la un calculator care va testa citeva din grupuri, pentru a gasi unul perfect functional. Dupa aceea calculatorul va configura acest grup cu un program de auto-testare, prin care restul circuitului este testat pentru a gasi alte defecte. Nano-blocurile defecte sunt inregistrate intr-o lista de defecte atasata circuitului. Cind circuitul este utilizat, compilatorul care genereaza configuratia va folosi aceasta lista de defecte pentru a genera un circuit care foloseste numai partile functionale.

Concluzii

Domeniul nanotehnologiilor este abia la inceput, dar promite avansuri tehnologice extraordinare, rata descoperirilor fiind intr-o continua acceleratie. Se spera ca in circa cinci ani sa se poata deja construi nano-circuite digitale functionale.

In acest articol am prezentat una dintre propunerile cele mai articulate despre cum ar trebui sa arate sistemele de calcul bazate pe nanotehnologie. Am incercat sa va conving ca paradigma hardware-ului reconfigurabil este ideala pentru folosirea intr-un cadru nano-tehnologic.

Sistemul de calcul al viitorului va fi constituit probabil dintr-un hibrid din siliciu si nano-circuite. In viitorul ceva mai indepartat vom putea probabil folosi si dispozitive biologice (celor care sunt sceptici de viitorul nanotehnologiei este suficient sa le amintim ca celulele vii fac calcule sofisticate folosind molecule de ADN). Asa cum se intimpla insa adesea, e posibil ca realizarile viitorului sa intreaca si cele mai indraznete preziceri ale noastre.