Mihai Budiu -- mihaib+@cs.cmu.edu
http://www.cs.cmu.edu/~mihaib/
aprilie 2001
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ă.
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.
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.
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.
Î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:
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.
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:
Pentru a putea răspunde la această întrebare trebuie din nou să renunțăm la metodele tradiționale. Din fericire răspunsul se poate găsi dacă răsfoim publicații vechi, îngropate în praf prin biblioteci: la începutul aniilor '50, înainte de inventarea tranzistorului, pentru o vreme cercetătorii au studiat o metodă alternativă de a construi porți logice, folosind numai diode și rezistențe. Figura 3(a) arată implementarea unei porți logice ``și'' folosind diode și rezistori, pe cînd figura 3(b) arată cum acest circuit poate fi implementat folosind nanotehnologia. Acest mod de a construi circuite a fost abandonat după apariția tranzistorului, pentru că consumă prea mult curent și este mai ineficient. Cu toate acestea, consumul dispozitivelor nanoelectronice este minuscul, putînd face acest model viabil din nou.
Acesta este echivalentul molecular al unui ``latch'' (un registru).
Î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.
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:
Î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 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.
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.