Nanotehnologia: o soluţie pentru calculatoarele viitorului

Mihai Budiu -- mihaib+@cs.cmu.edu
http://www.cs.cmu.edu/~mihaib/

aprilie 2001

Subiect:
o posibilă utilizare a nanotehnologiei pentru construcţia calculatoarelor
Cunoştinţe necesare:
cunoştinţe elementare de arhitectura calculatoarelor
Cuvinte cheie:
nanotehnologie, hardware reconfigurabil


Cuprins




Sfîrşitul erei legii lui Moore

Un adevăr incontestabil este că evoluţia tehnologiilor de calcul a avut o acceleraţie greu de imaginat. Timp de cel puţin 40 de ani, de la inventarea circuitelor integrate, rata de creştere a performanţei a fost exponenţială, dublînd puterea de calcul la fiecare 18 luni. Această evoluţie a fost atît de inexorabilă încît a fost denumită ``lege'': aceasta este celebra lege a lui Moore.

Termenul poate însă fi înşelător: legea lui Moore este doar o observaţie empirică, şi nu o lege a naturii. Reputaţia ei a fost întărită de faptul că adesea experţii au prezis bariere care vor stăvili avîntul tehnologiei şi îi vor încetini evoluţia. De fiecare dată, însă, realitatea a depăşit predicţiile, şi legea lui Moore a funcţionat timp 40 de ani. Limitele finale sunt însă din ce în ce mai aproape. În mod surprinzător, cele mai ameninţătoare bariere care se profilează sunt de natură economică!

Dacă urmărim costul unei fabrici care produce circuite integrate vom observa că urmează aceeaşi curbă exponenţială pe care o urmează performanţa circuitelor integrate. O astfel de fabrică a ajuns la ora actuală să coste cam 2 miliarde de dolari, şi la aceeaşi rată de creştere va ajunge la 50 de miliarde în 2010. Acesta e un cost pe care foarte puţine companii şi-l pot permite, mai ales că investiţia nu este lipsită de riscuri (vedeţi de exemplu războiul Intel-AMD, cu tot felul de întorsături neaşteptate în poziţia de lider al pieţei).

Chiar dacă putem argumenta că fabricile vor putea fi construite în comun de către consorţii de fabricanţi, există o serie de costuri care nu pot fi distribuite: fiecare circuit integrat este construit folosind o serie de măşti; costul măştilor a suferit şi el o evoluţie exponenţială, făcînd deja prohibitivă fabricarea de chip-uri de către companiile mici.

Creşterea costului de fabricaţie este dată de costul dispozitivelor mecanice care sunt folosite în fabricarea integratelor. Pe măsură ce dimensiunea tranzistoarelor scade, cerinţele de precizie pentru alinierea măştilor, şlefuirea suprafeţei plăcii de siliciu, montarea nivelelor de metal ale circuitului final, etc., cresc şi ele; costul unor dispozitive mecanice care fac operaţii atît de precise creşte deci exponenţial cu scăderea dimensiunii.

Anticipînd sfîrşitul acestei ere prodigioase din istoria calculatoarelor, grupul de cercetare din care fac şi eu parte a început să investigheze modele alternative de calcul. În acest articol voi prezenta pe scurt propunerea noastră pentru următoarea generaţie arhitecturală, care substituie în locul circuitelor integrate în tehnologie CMOS (Complementary Metal-Oxide Semiconductor) circuite construite folosind nanotehnologie electronică.

Nanotehnologie

Dicţionarul Webster defineşte cuvîntul ``nanotehnologie'' ca ``arta manipulării unor dispozitive minuscule, de dimensiuni moleculare''. Guvernul american însă a investit anul trecut jumătate de miliard de dolari în cercetarea din domeniul nanotehnologiilor, în încercarea de a transforma-o dintr-o ``artă'' într-o ``ştiinţă''. Ca urmare, activitatea de cercetare din domeniu este prodigioasă; în secţiunea despre alte surse de informaţie ofer cîteva legături care vă pot ghida spre paginile de web ale unora dintre cele mai renumite laboratoare. Progresele rapide, mai ales din chimie, au pus la-ndemîna cercetătorilor o seamă de unelte miniaturale minunate.

În această secţiune voi trece în revistă unele dintre dispozitivele minuscule care se anunţă a fi potrivite pe post de componente ale unui dispozitiv de calcul; nanotehnologia ca domeniu se ocupă de multe alte lucruri, pe care le voi ignora. Chiar şi printre dispozitivele nano-electronice, este imposibil de făcut o enumerare exhaustivă, aşa că mă voi mulţumi doar să ilustrez cu exemple reprezentative.

Componente

Primul ingredient necesar pentru a construi circuite la scară moleculară este... sîrma. Astfel de sîrme trebuie să fie foarte subţiri, lungi, rezistente mecanic, şi să aibă o conductanţă electrică bună. Din fericire chimiştii au descoperit o serie de molecule care au exact proprietăţile necesare. Figura 1 este ilustraţia unui fragment din cea mai celebră dintre moleculele descoperite, nanotubul de carbon.

Figura 1: Nanotuburi de carbon: fiecare biluţă este un atom de carbon legat covalent cu vecinii săi. Aceasta este partea din stînga a unei singure molecule. Pentru descoperirea acestor molecule Richard Smaley, de la universitatea Rice din Statele Unite, a primit premiul Nobel pentru chimie în 1996. Astfel de molecule au un diametru de 5 nm şi pot avea lungimi de ordinul milimetrilor. Proprietăţile lor electrice şi mecanice sunt excelente, în pofida dimensiunilor lor minuscule.
\begin{figure}\centerline{\epsfxsize=7cm\epsffile{tub.eps}}\end{figure}

Al doilea ingredient de care avem nevoie este un comutator, care poate închide şi deschide circuite. Din fericire şi pentru acest dispozitiv există o pletoră de alternative; în figura 2(a) este schema unui astfel de comutator; fiecare biluţă este un atom.

Figura 2: (a) Un comutator molecular. O moleculă polarizată are un nor de sarcină electrică asimetric. În poziţia din stînga norul blochează trecerea curentului electric. Aplicînd un potenţial ridicat cauzăm rotirea moleculei şi reorientarea norului electronic; molecula în poziţia din dreapta conduce curent electric într-o singură direcţie, comportîndu-se ca o diodă. Molecula are ``memorie'', pentru că rămîne pentru multă vreme în poziţia în care a fost pusă. Un potenţial mare negativ poate muta molecula înapoi în starea neconducătoare. [această figură este adaptată din revista Scientific American] (b) Comutatorul molecular plasat între două nano-sîrme.
\begin{figure}\centerline{\epsfxsize=15cm\epsffile{switch.eps}}\end{figure}

În figura 2(b) avem micro-fotografia unui astfel de comutator cuplat cu două nano-sîrme. Cum putem poziţiona atît de precis comutatorul? Prin procedee chimice simple:

  1. Fabricăm cele două sîrme separat;
  2. Înmuiem una dintre sîrme într-o soluţie care conţine molecule-comutator;
  3. Suprapunem cele două sîrme aproximativ în unghi drept.

Astfel, comutatorul de la intersecţia celor sîrme se va cupla de ambele şi va deveni funcţional.

Faptul că putem construi sîrme izolate şi legate prin comutatoare nu este însă suficient pentru a construi circuite complexe. Trebuie sa fim capabili să construim în mod eficient (în paralel) multe astfel de sîrme cuplate cu comutatoare. Din fericire chimiştii au descoperit un fenomen care ne oferă soluţia într-un mod aproape miraculos. Acest fenomen se numeşte auto-asamblare (self-assembly). Una din formele sale se manifestă astfel: facem o soluţie cu un anumit tip de molecule. În soluţie muiem un suport. Încălzim soluţia, extragem suportul şi în mod spontan, fără vreun control dinafară, moleculele din soluţie se aşează pe substrat într-o structură aproape regulată, paralele între ele. În felul acesta putem construi simultan zeci sau sute de sîrme paralele, aflate la distanţe foarte mici una de alta.

Trăsături

Auto-asamblarea este un procedeu foarte ieftin de construcţie a unor structuri minuscule. Cu toate acestea, trebuie să realizăm cîteva dintre limitările sale inerente:

Hardware reconfigurabil

În PC Report din iulie 1998 am publicat un articol despre o nouă tehnologie de construire a calculatoarelor care se numeşte hardware reconfigurabil. Voi rezuma aici cele mai importante elemente din acel text, dar puteţi accesa şi versiunea sa on-line.

Hardware-ul reconfigurabil are nişte trăsături extrem de dezirabile, cum ar fi posibilitatea de a tolera defecţiuni şi capacitatea de a oferi performanţă computaţională foarte ridicată. Un dezavantaj al hardware-ului reconfigurabil implementat în tehnologie CMOS este că are o densitate scăzută (adică se pot implementa mult mai puţine elemente computaţionale pe aceeaşi suprafaţă decît folosind hardware tradiţional). Sugestia noastră este de a implementa hardware reconfigurabil pe un substrat nanotehnologic. În felul acesta putem obţine beneficiile ambelor domenii şi putem evita dezavantajele lor:

Ce este hardware-ul reconfigurabil?

Un circuit reconfigurabil (vedeţi figura 4) conţine, ca şi un circuit digital normal, porţi logice şi sîrme. Spre deosebire de circuitele obişnuite însă, fiecare poartă reconfigurabilă nu are o funcţionalitate fixată, ci poate fi re-programată electronic să implementeze orice funcţie logică dorită. În plus, sîrmele din hardware-ul reconfigurabil nu sunt conectate direct între porţi; între sîrme avem comutatoare care pot lega şi dezlega sîrmele între ele. Fiecare comutator este controlat tot în mod electronic.

Figura 4: (a) Hardware-ul reconfigurabil constă dintr-o ``mare'' de porţi logice universale legate cu o reţea de interconectare. O reţea de configurare controlează funcţiunea fiecărei porţi logice şi poziţia fiecărui comutator. (b) Fiecare comutator este controlat de o memorie de 1 bit care indică poziţia sa de închis/deschis. (b) Porţile logice universale sunt implementate folosind memorii mici care funcţionează ca tabele de adevăr: modificînd conţinutul memoriei schimbăm funcţionalitatea porţii logice. În acest exemplu memoria implementează o poartă logica ``şi''.
\begin{figure}\centerline{\epsfxsize=15.5cm\epsffile{reconfigurabil.eps}}\end{figure}

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

Atunci cînd comparăm un circuit reconfigurabil cu unul normal care are exact aceeaşi funcţiune, cel reconfigurabil este mai lent şi mult mai mare (cam de 10 ori mai mare). Este uşor de înţeles de ce: o poartă logică implementată cu o memorie este mult mai mare decît aceeaşi poartă făcută din tranzistori, iar comutatoarele şi memoriile lor aferente ocupă spaţiu suplimentar. Viteza lui mai scăzută este dată de comutatoare, care încetinesc semnalul electric.

Avantajul hardware-ului reconfigurabil vine din flexibilitatea sa: putem schimba funcţiunea lui pentru fiecare nouă aplicaţie cu care avem de-a face. Microprocesoarele oferă şi ele flexibilitate, dar sunt în general mai ineficiente decît hardware-ul reconfigurabil, din două motive:

În plus, putem folosi capacitatea de reconfigurare pentru a tolera defecte. Să presupunem că una dintre porţile universale este defectă din fabricaţie. Dacă ştim acest lucru, vom aranja ca nici unul din programele noastre să nu o folosească. Pentru că porţile sunt toate echivalente, putem folosi oricare alta, pe care o putem conecta în locul celei defecte folosind reţeaua configurabilă.

Trebuie să spunem cîteva cuvinte şi despre compilarea pentru hardware reconfigurabil:

Nano-calculatoare

În această secţiune voi schiţa cum putem pune cap la cap nanotehnologia şi hardware-ul reconfigurabil pentru a construi maşini de calcul. Din informaţiile autorului, grupul de cercetare din care face parte este singurul din lume care atacă problema viitorului calculatoarelor din acest unghi.

Figura 5: Stînga: Structura unui nano-circuit: un astfel de circuit constă într-o grilă bidimensională de grupuri (clusters), legate prin ``sîrme'' configurabile de felurite lungimi. Fiecare grup constă dintr-o grilă de nano-blocuri. Dreapta: Fiecare nano-bloc este o poartă logică universală cu trei intrări şi trei ieşiri (fiecare semnal este atît direct cît şi complementat, deci avem cîte şase sîrme). Nano-blocul conţine şi conexiuni la porţiuni de metal construite prin tehnologie CMOS: sursa de putere, pămînt, ceas.
\begin{figure}\centerline{\epsfxsize=14cm\epsffile{circuit.eps}}\end{figure}

Figura 5 arată propunerea noastră de arhitectură a unui sistem de calcul bazat pe nanotehnologii. Structura aceasta este foarte asemănătoare cu cea a circuitelor reconfigurabile disponibile comercial (numite FPGA, Field Programmable Gate Array), pentru care există deja multă experienţă în proiectarea sculelor şi tehnologiilor de compilare, plasare şi rutare.

Astfel de circuite vor fi fabricate printr-o mixtură de tehnologii: fiecare nano-bloc e fabricat folosind nanotehnologii. Lăcaşurile pentru grupuri şi sîrmele lungi sunt fabricate în tehnologie CMOS; fiecare nanobloc este apoi inserat într-un astfel de locaş. Metode prin care se pot configura nano-blocurile au fost puse la punct.

După fabricaţie circuitele vor fi cuplate la un calculator care va testa cîteva din grupuri, pentru a găsi unul perfect funcţional. După aceea calculatorul va configura acest grup cu un program de auto-testare, prin care restul circuitului este testat pentru a găsi alte defecte. Nano-blocurile defecte sunt înregistrate într-o listă de defecte ataşată circuitului. Cînd circuitul este utilizat, compilatorul care generează configuraţia va folosi această listă de defecte pentru a genera un circuit care foloseşte numai părţile funcţionale.

Concluzii

Domeniul nanotehnologiilor este abia la început, dar promite avansuri tehnologice extraordinare, rata descoperirilor fiind într-o continuă acceleraţie. Se speră ca în circa cinci ani să se poată deja construi nano-circuite digitale funcţionale.

În acest articol am prezentat una dintre propunerile cele mai articulate despre cum ar trebui să arate sistemele de calcul bazate pe nanotehnologie. Am încercat să vă conving că paradigma hardware-ului reconfigurabil este ideală pentru folosirea într-un cadru nano-tehnologic.

Sistemul de calcul al viitorului va fi constituit probabil dintr-un hibrid din siliciu şi nano-circuite. În viitorul ceva mai îndepărtat vom putea probabil folosi şi dispozitive biologice (celor care sunt sceptici de viitorul nanotehnologiei este suficient să le amintim că celulele vii fac calcule sofisticate folosind molecule de ADN). Aşa cum se întîmplă însă adesea, e posibil ca realizările viitorului să întreacă şi cele mai îndrăzneţe preziceri ale noastre.

Alte surse de informaţie