OTM -Osservatorio TuttiMedia "Convegno del 13 novembre 2001 su Beyond Internet" Il prodigioso futuro: dalla microelettronica alla nanotecnologia di La prossima generazione del Web riguarderà soprattutto i contenuti dei dati, ossia come governare gli attributi semantici dei dati stessi, quali nomi e indirizzi e persino interi modelli di realtà commerciali L'evoluzione del Web può essere sintetizzata in una sola frase: "La prossima generazione della rete Internet vedrà il passaggio dalla sintassi alla semantica". Mentre la sintassi si occupa della forma, la semantica si concentra sul contenuto. Il Web attuale è ancora sostanzialmente sintattico e orientato soprattutto ai protocolli (TCP, IP, ftp, http,..) che permettono di trasmettere qualunque tipo di informazione tra computer diversi. La prossima generazione del Web riguarderà, invece, soprattutto i contenuti dei dati, ossia come governare gli attributi semantici dei dati stessi, quali nomi e indirizzi e persino interi e modelli di realtà commerciali. Sarà, per esempio, possibile definire un qualsivoglia modello di cliente per mezzo di standard che descrivano processi di business, caratteristiche finanziare, e altro ancora. Questa evoluzione richiederà certamente ulteriori funzionalità software che, a loro volta, necessiteranno di ulteriore capacità elaborativa nei diversi nodi dello stesso Web. Sorge allora spontaneo domandarsi se in futuro sarà possibile fruire di microprocessori ancora più potenti e di memorie elettroniche ancora più dense, sempre a costi accettabili dal mercato. Più in generale ci si può chiedere se la microelettronica consentirà ulteriori livelli di miniaturizzazione dei circuiti perpetuando il ritmo evolutivo che l'ha caratterizzata negli ultimi decenni. L'obiettivo della nostra analisi è proprio quello di mostrare come sia possibile, almeno in linea di principio, passare dalla microelettronica alla nanoelettronica e quindi come ulteriori evoluzioni del Web potranno essere agevolate da una crescente capacità di elaborazione e di memorizzazione delle informazioni digitali. "In basso c'è un sacco di spazio" (There's Plenty of Room at the Bottom). Uno dei più grandi fisici del Novecento, Richard Feynman, in uno straordinario discorso tenuto nel 1959, dopo una cena, aveva delineato le incredibili prospettive del progressivo processo di miniaturizzazione in atto nella tecnologia e aveva ipotizzato che fosse possibile arrivare a costruire dispositivi di varia natura utilizzando individualmente persino gli stessi atomi. All'epoca nella quale Feynman esponeva le sue idee l'industria dei semiconduttori muoveva i primi passi. Le dimensioni dei transistor erano ancora dell'ordine di frazioni di centimetro. I transistor avevano appena iniziato a sostituire le valvole termoioniche nella costruzione dei computer e nessuno poteva ancora immaginare con quanta rapidità si sarebbe evoluta la tecnica fotolitografica con la quale interi circuiti sarebbero stati disegnati sulle piastre (wafer) di silicio. Ma già alla fine degli anni '60 Gordon Moore enunciava l'ipotesi (in seguito denominata legge di Moore) che il numero dei transistor in un chip sarebbe raddoppiato circa ogni 18 mesi per molti anni a venire. Se questo fosse vero almeno fino al 2020 le dimensioni lineari dei diversi componenti di un circuito integrato (per esempio la sezione trasversale di un transistor) dovrebbero ridursi alle dimensioni del nanometro, che sono le dimensioni dello spazio occupato da alcuni atomi affiancati l'uno all'altro. La microelettronica diventerebbe così nanoelettronica, e almeno in questo settore la profezia di Feynman si sarebbe completamente avverata. I limiti dell'odierna tecnologia dei semiconduttori. Recentemente, tuttavia, si va facendo più concreta la possibilità che la legge di Moore possa non essere più vera in un futuro più o meno prossimo. Le difficoltà maggiori sono essenzialmente tre: drogare correttamente il silicio, fenomeni quantistici incontrollabili e fluttuazioni statistiche negli atomi droganti. Affinché un transistor MOS operi correttamente è necessario innanzitutto che le dimensioni dello stesso, sia verticali sia orizzontali, diminuiscano proporzionalmente dello stesso fattore: ciò che viene definito lo scaling del transistor. Allo stesso tempo la quantità totale di carica elettrica nella sorgente, nel pozzo e nella porta (source, drain, e gate) non devono diminuire al fine di mantenere una bassa resistenza del dispositivo. C'è poi da aggiungere che anche lo scaling della sezione di materiale (ossido di silicio) che isola la porta (gate) dal canale del transistor sembra incontrare un altro limite critico. Il sistema gate-canale può essere immaginato infatti come un piccolissimo condensatore nel quale le due piastre sono rispettivamente il gate e il canale del transistor. Lo strato di ossido di silicio che agisce da condensatore nel mini-condensatore gate-canale, in virtù di un ulteriore scaling, può diventare talmente sottile da rendere persino possibile il fenomeno quantistico del tunneling di elettroni dal canale al gate. Infine, in questo mondo lillipuziano, possono sorgere fenomeni di fluttuazioni statistiche che crescono al diminuire delle dimensioni de transistor. Le dimensioni di quest'ultimo sono infatti diventate così piccole che il numero degli atomi droganti che determinano le caratteristiche elettriche del dispositivo è ormai dell'ordine delle centinaia. Una piccola variazione in questo numero può causare significative modifiche nel comportamento del transistor. D'altro canto la natura stessa, attraverso il comportamento degli enzimi, vere e proprie macchine molecolari, ci indica ulteriori possibilità di miniaturizzazione degli odierni computer. Esaminiamo allora quali possano essere le più promettenti alternative all'utilizzo del silicio. I nanotubi al carbonio. I nanotubi sono enormi molecole di carbonio molto robuste, termicamente stabili e, dal punto di vista del comportamento elettrico, simili ai semiconduttori. Per comprendere cosa sia un nanotubo consideriamo una superficie piana formata da un solo strato di innumerevoli atomi di carbonio che vengono a costituire un'unica molecola. Questo foglio di carbonio potrebbe poi essere avvolto fino a formare un nanocilindro (nanotubo) il cui diametro può essere anche di poche lunghezze atomiche, ossia un cilindro talmente sottile che in un capello umano vengono a prenderne posto fino a centomila. I nanotubi possono svolgere, nell'ambito della nanoelettronica, un ruolo simile a quello svolto, nella microelettronica, dal silicio. Ci sono però due sostanziali differenze nel comportamento dei nanotubi al carbonio rispetto al silicio. Innanzitutto i nanotubi al carbonio, dal punto di vista elettrico, non rientrano nè nella categoria dei metalli nè in quella dei semiconduttori: essi sono classificati come semimetalli. Per comprendere cosa ciò significhi dobbiamo considerare che in un filo metallico gli elettroni di conduzione appartengono, per così dire, a tutti gli atomi e sono quindi liberi di muoversi con facilità lungo il filo stesso. In un semiconduttore, come il silicio, non esistono invece elettroni di conduzione a meno di non introdurre opportune impurità, come fosforo o arsenico, che rendono disponibili alcuni elettroni in grado di muoversi da un atomo a un altro. In un semimetallo il meccanismo è ancora diverso perché in questa struttura esistono alcuni elettroni di conduzione, ma in numero molto ridotto. Anche in un semimetallo occorre quindi un'azione esterna per farlo diventare realmente un conduttore. In secondo luogo la fisica che governa il comportamento dei nanotubi non è, come nel caso della microelettronica, quella dell'elettromagnetismo classico, ma è piuttosto quella della meccanica quantistica. La geometria del nanotubo determina quindi gli stati elettronici possibili e tra questi solo uno consente ai nanotubi di comportarsi come un metallo. Se la geometria non permette di ottenere questo stato il nanotubo si comporta come un semiconduttore. Basta quindi giocare sulla geometria di un nanotubo, per esempio flettendolo leggermente, per trasformarlo da conduttore in semiconduttore e quindi per costruire, di volta in volta, sia strutture con comportamento metallico sia strutture semicondutttrici con le quali realizzare un circuito nanoelettronico costituito di interconnessioni (metalliche) e transistor (semiconduttori). I nanotubi possono risolvere due fondamentali problemi nell'attuale miniaturizzazione dei circuiti. Essi possono essere utilizzati per costruire interconnessioni circuitali molto più piccole rispetto a quelle degli attuali microprocessori. In secondo 1uogo, poiché i legami atomici del carbonio di un nanotubo sono molto più forti di quelli di un metallo, i nanotubi stessi possono trasportare una grande quantità di corrente senza vaporizzare il filo stesso. Le prospettive sono quindi quelle di poter costruire transistor e interconnessioni (come è stato recentemente dimostrato) ben più piccole di quelle presenti nei più evoluti micro-processori attuali. I nanotubi al carbonio sembrano oggi la tecnologia più idonea per sostituire il silicio nella costruzione dei dispositivi nanoelettronici. Il DNA computing. Leonard Adleman aveva intuito, all'inizio degli anni '90, la straordinaria rassomiglianza che esiste tra i meccanismi biologici che avvengono nell'ambito di una cellula, quando viene manipolato il DNA, e il comportamento di un computer. Per esempio la DNA-polimerasi è un enzima, ossia una nanomacchina molecolare, in grado di leggere un'elica del DNA (che è un'unica molecola) e scrivere la sua versione complementare in una nuova elica.I1 comportamento di questo enzima ricorda quello della macchina di Turing, paradigma di qualsivoglia computer, nella quale viene letto un nastro che a sua volta viene riscritto. Il fatto che nell'elica del DNA ci siano quattro possibili simboli (A,T,G,C) mentre nel nastro di Turing i simboli sono due (O e 1) è sostanzialmente irrilevante. Inoltre Adleman aveva potuto conoscere altre prodigiose macchine biologiche come la ligasi, che consente di unire due o più molecole di DNA, o come le nucleasi, che consentono di tagliare opportunamente sequenze di DNA. Adleman era infine a conoscenza di tecniche come l'elettroforesi, con la quale è possibile separare un insieme di molecole di DNA in gruppi di uguale lunghezza, o come la sintesi artificiale del DNA, per mezzo della quale aziende specializzate sono in grado di costruire enormi quantità di molecole di DNA secondo una sequenza prestabilita. Nel 1994 Adleman spiegò come fosse possibile utilizzare il DNAcomputing per risolvere un problema simile a quello che deve affrontare un commesso viaggiatore che voglia trovare la via più breve per visitare tutte le città che gli sono state assegnate. Questo problema potrebbe sembrare semplice, ma al crescere del numero delle città esso diventa pressoché insolubile, almeno in tempi ragionevoli, anche per un supercomputer. Cerchiamo di comprendere il ragionamento di Adleman, ipotizzato per sette città, in una forma semplificata. Immaginiamo quindi di voler collegare quattro città (Firenze, Roma, Venezia e Bari) con voli diretti: Firenze-Roma, Roma-Venezia, Roma-Bari e Bari-Venezia. È possibile individuare un percorso minimo che colleghi tutte e quattro le città, partendo da Firenze e terminando il viaggio a Venezia? La risposta è positiva perché esiste la sequenza Firenze-Roma, RomaBari, Bari-Venezia. Come si può usare allora il Dna-computing per risolvere questo problema? Ricordiamo che l'obiettivo dell'esperimento di Adleman (nella nostra versione semplificata) era quello di trovare un percorso di volo che cominciasse a Firenze e terminasse a Venezia e che collegasse tutte e quattro le città, passando attraverso ciascuna di esse una sola volta. La molecola di DNA giusta deve essere quindi quella che inizia con il numero DNA di un volo che parte da Firenze (CGA) e terminare con il numero DNA di un volo che termina a Venezia (GTC). Essa deve contenere i nomi DNA di tutte le città ma nella sequenza che risolve il problema. Impiegando molte delle tecniche di biologia molecolare, cui abbiamo precedentemente accennato, Adleman fu in grado di costruire molecole che di DNA che rappresentavano le diverse città e fu anche in grado di costruire tutti i diversi possibili percorsi che collegavano tra loro le varie città. Fu poi in grado di scartare quei percorsi che iniziavano e terminavano con città sbagliate, che erano troppo lunghe o troppo corte o che comunque non rappresentavano l'itinerario desiderato. Benché fosse stato necessario poco più di un secondo per completare nella provetta le reazioni chimiche, furono necessarie alcune settimane per estrarre il percorso desiderato. Poiché, tuttavia, le reazioni biochimiche avvengono con uno smisurato livello di parallelismo, essendo attuate da migliaia di miliardi di molecole, in questo specifico caso il DNA-computing può essere molto più rapido di un supercomputer, soprattutto all'aumentare del numero di città. Inoltre la capacità di memorizzazione del DNA è anch'essa enormemente superiore rispetto a un computer tradizionale poiché un grammo di DNA, equivalente all'incirca a un centimetro cubo, può immagazzinare l'informazione contenuta in mille miliardi di CD. Il computer quantistico. Il computer quantistico è un dispositivo di calcolo teoricamente in grado di effettuare complesse elaborazioni numeriche sulla base di proprietà tipiche delle particelle elementari. Nonostante che i principi fondamentali della meccanica quantistica restino di difficile comprensione, soprattutto perché spesso in sorprendente contraddizione con il normale senso comune, il disegno logico del computer quantistico si sta sviluppando in questi ultimi armi in maniera sempre più vivace, e persino alcune applicazioni numeriche, apparentemente insolubili con un computer classico, sembrano ora possibili. In un computer il principale circuito di calcolo è l'operatore NOT, ossia l'operatore che inverte un segnale. Si può dimostrare che da questo circuito si può in maniera opportuna arrivare a costruire il circuito dell'operatore NAND e con questi due soli operatori è possibile costruire l'intera logica del computer. Vediamo ora come potrebbe essere realizzato un simile operatore a livello atomico. Immaginiamo, in un modello del tutto intuitivo, un atomo che abbia un solo elettrone nell'orbita più esterna. Questo elettrone può essere eccitato in un'orbita più ampia illuminandolo con una luce di una particolare frequenza. Se lo stato eccitato è abbastanza stabile possiamo utilizzare quest'ultimo e lo stato precedente (ossia quello relativo all'orbita interna) rispettivamente come gli stati l e 0. Se poi lo stesso raggio di luce viene inviato sull'elettrone quando questo si trova nell'orbita esterna esso ritorna all'orbita interna, emettendo un fotone. In sostanza questo meccanismo, descritto in maniera quanto mai approssimativa, potrebbe essere utilizzato per realizzare a livello di un singolo atomo l'operatore NOT. Ma che succede se inviamo sull'elettrone un raggio di luce per una durata di tempo che è la metà di quella necessaria a farlo saltare nell'altra orbita? L'elettrone potrà trovarsi simultaneamente in entrambe le orbite. Questo fenomeno viene descritto come sovrapposizione di stati. Se a questo punto immaginiamo ulteriormente che l'atomo in questione sia un bit, esso contiene contemporaneamente i due valori 0 e 1. Solo quando andremo a misurare quale sia il valore l'atomo collasserà in uno stato definito. Un simile bit viene definito un qubit. È intuibile che un gruppo di qubit può contenere un certo insieme di valori. Per esempio tre qubit contengono contemporaneamente otto diverse combinazioni, da 000 a 111. Cosa possiamo fare con una simile tecnologia, ammesso che la si possa realmente costruire? Ancora una volta senza entrare in dettagli di tipo matematico, possiamo immaginare di avere un registro in ingresso e uno in uscita, entrambi costituiti da una serie di qubit. Tra i due registri inseriamo una struttura logica che utilizzi anch'essa il principio di sovrapposizione della meccanica quantistica. Nel registro in ingresso carichiamo contemporaneamente (perché costituito di qubit) i diversi valori di una qualche funzione. Il motore logico del computer calcolerà contemporaneamente tutte le combinazioni in ingresso e produrrà le relative risposte nel registro di uscita, dove esse saranno anche tutte presenti contemporaneamente sotto forma di qubit. La nostra descrizione è puramente qualitativa, ma con un po' di matematica abbastanza semplice si può dimostrare come possa funzionare un computer quantistico che operi su di un solo qubit in ingresso e uno solo in uscita. C'è però un aspetto molto sottile in questo ragionamento che, in un certo senso, sembra precludere l'utilizzo di una simile macchina. Se andiamo a leggere il registro in uscita esso collasserà (secondo i meccanismi della meccanica quantistica) in un unico stato, cioè in un unico valore, che nel caso di un solo qubit è 0 ovvero 1. Come facciamo allora a correlare i diversi valori in uscita ai corrispondenti valori in ingresso. Detto in altri termini, uno 0 nel qubit di uscita collassato a quale valore corrisponde nel qubit di ingresso, allo 0 all'1? Il cosiddetto entanglement è la chiave di volta logica del computer quantistico. In un modello quanto mai semplificato di computer quantistico, costituito di un solo qubit in ingresso e uno solo in uscita, si può dimostrare come l'entanglement consenta di discriminare le risposte e le domande. E se diventa possibile costruire un computer quantistico di un qubit allora diventa teoricamente possibile costruirne anche uno di un milione di qubit. E le prestazioni di quest'ultimo sarebbero enormemente più elevate di qualsivoglia computer classico, ma solo in certe aree di elaborazione essenzialmente numerica. Sono state individuate diverse classi di applicazioni, come per esempio la scomposizione in fattori primi di numeri grandissimi che vengono utilizzati nelle più evolute tecniche di crittografia. Restano però seri dubbi sulla reale fattibilità di un computer quantistico. Per funzionare tale computer ha bisogno di molteplici qubit e di logica combinatoria che utilizzi anch'essa la meccanica quantistica. Mantenere tutti gli elementi di un simile computer costantemente in una sovrapposizione di stati quantistici fino a ottenere il risultato finale sembra ancora quasi impossibile. Ogni interazione del mondo atomico con quello macroscopico provoca il cosiddetto collasso dello stato di sovrapposizione. Occorrerebbe isolare perfettamente dal mondo esterno gli elementi quantistici circuitali del computer e questo scoglio sembra ancora molto difficile da superare tecnicamente. Il computer classico è una macchina molto imperfetta, che lavora nonostante tutte le sue imperfezioni. Questo è tipico del mondo macroscopico. I1 segnale che viaggia da un circuito a un altro non è mai esattamente quello progettato teoricamente. Ciononostante il computer esegue miliardi di operazioni al secondo ed è in grado di correggere i propri errori. Un computer quantistico dovrebbe essere una macchina pressoché perfetta, per poter operare secondo suoi fondamenti concettuali. Sarà possibile? È questa la domanda cui non si può ancora rispondere con certezza. (Ndr: ripreso dalla rivista MediaDuemila di novembre 2001) |