|
Nanotehnologia: o solutie pentru calculatoarele viitorului
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
Termenul poate insa fi
inselator: legea lui
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.
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.
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.
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.
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:
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.
Auto-asamblarea este un procedeu foarte ieftin de constructie a unor structuri minuscule. Cu toate acestea, trebuie sa realizam citeva dintre limitarile sale inerente:
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.
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.
Acesta este echivalentul molecular al unui ``latch'' (un registru).
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:
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.
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:
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:
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.
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.
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.