Il futuro è "reversibile"
Possiamo dircelo chiaramente che la legge di Moore è ormai obsoleta e non più valida. Da parecchio tempo, fra l'altro, le case produttrici di microprocessori tendono ad aumentare i core piuttosto che la potenza della CPU.
Legge di Moore
Il numero di transistor nei microprocessori raddoppia ogni 12 mesi
Allo stesso tempo, miniaturizzando i componenti sorgono ulteriori problemi di diversa natura.
Questo perché i computer usano energia per svolgere calcoli: attualmente si stima ci siano circa 3 miliardi di PC e circa 30 milioni di server. Tali dispositivi consumano il 2.5% del budget di energia del mondo.
Ma perché i computer consumano energia? Portrebbe essere una banale domanda, ma non per alcuni scienziati che, attorno al 1940, iniziarono a porsi tale interrogativo dal punto di vista dell'analisi fisica. Dopo 10 anni di studio e, quasi per caso, (stavano progettando un simulatore di processi fisici) fecero una scoperta molto importante:
Le leggi di Newton della fisica sono reversibili
In un mondo ideale, in assenza di attrito, una palla lasciata cadere da una certa altezza rimbalzerà e tornerà al punto di origine per poi ripetere il ciclo. In questo caso sarebbe impossibile distinguere le fasi (salita - discesa), perchè perfettamente reversibili. Se, invece, vedessimo in TV l'inizio di una partita di biliardo, anche riprodotta al contrario, sapremmo dire quale scena è nel passato e quale nel futuro.
Il futuro è quello con più disordine.
Il secondo principio della termodinamica ci dice che in un sistema la quantità di "disordine" aumenta sempre e il risultato non è reversibile.
Iniziamo a vedere che esiste una sorta di relazione fra energia e informazione. E quello che abbiamo chiamato disordine non è altro che entropia. L'entropia a sua volta è misurata in informazione.
Se c'è una relazione fra reversibilità e termodinamica e fra termodinamica e informazione allora c'è una relazione fra reversibilità e informazione.
Macchine irreversibili
Nel 1961 uno scienziato della IBM, Rolf Landauer, in base alle ricerche effettuate sulla reversibilità, è giunto alla seguente conclusione:
L'irreversibilità stabilisce il limite inferiore del consumo di energia
Possiamo consumare sempre meno, ma tenderemo asintoticamente ad un valore oltre il quale, per natura stessa dei processi irreversibili, non potremmo mai andare. Per comprendere meglio cos'è un processo irreversibile, pensiamo ad una semplice macchina che non fa altro che sommare due numeri fra loro
(A, B) --> [ + ] --> A + B
scegliamo A=2
e B=2
quindi avremmo (2, 2) --> [ + ] --> 4
. Ma se dovessimo invertire questa macchina e farla funzionare al contrario:
(?, ?) <-- [ + ] <-- C
avremmo ? <-- [ + ] <-- 4
, in questo caso la macchina semplicemente non sarebbe in grado di rispondere, proprio perché le risposte possibili sono molteplici (ci sono diversi modi di avere come risultato di una somma 4
).
Questo ci dimostra che la macchina [ + ]
è irreversibile!
Studi sulla reversibilità
Negli ultimi 40 anni abbiamo assistito ad un decremento esponenziale della quantità di energia necessiaria per singola operazione della CPU. Ma, secondo quanto ci dicono gli studi di Landauer, esiste un limite oltre il quale non possiamo scendere, questo perché i computer sono stati costruiti usando componenti irreversibili: basti pensare alle porte logiche.
Per andare sotto il limite fisico (e oltre) occorre progettare i computer secondo uno schema diverso, ovvero attraverso macchine reversibili. Ma come è possibile costruire tali macchine?
Consideriamo la seguente macchina (somma e differenza):
(A, B) --> [ + / - ] --> { ( A + B ) , ( A - B ) }
quindi, giusto per fornire un esempio, avremmo:
(3, 1) --> [ + / - ] --> { ( 4 ) , ( 2 ) }
che è perfettamente reversibile e lo mostriamo con un altro esempio:
(5, 3) <-- [ + / - ] <-- { ( 8 ) , ( 2 ) }
Se si preferiscono invece le porte logiche c'è la porta di Fredkin, come ulteriore esempio, così definita:
( C1 , I1 , I2 ) --> [ FREDKIN-GATE ] --> ( C2 , O1 , O2 )
spiegata con le porte logiche tradizionali:
C2 = C1
O1 = (NOT C1 AND I1) OR (C1 AND I2)
O2 = (C1 AND I1) OR (NOT C AND I2)
Se vogliamo banalizzare la porta di Fredkin possiamo dire che su C2
viene riportato sempre il valore di C1
mentre i due input vengono scambiati (swap
) solo se C1 = 1
. Anche la porta di Fredkin è una macchina reversibile.
Per poter costruire, però, un computer reversibile occorre che l'intero processo e, quindi, anche le astrazioni intermedie seguano gli stessi principi. Questo significa che i costruttori di microprocessori dovranno progettare il silicio con porte reversibili e gli stessi linguaggi di programmazione dovranno permettere di programmare in modo che il codice stesso sia reversibile.
Conclusioni
Lo studio dei processi reversibili, della porta di Fredkin e l'approccio fisico alla materia hanno permesso di definire concetti e strumenti che faranno parte del nostro futuro prossimo: qbit e computer quantistico.
Ma questa è un'altra storia, e ve la racconterò in un prossimo articolo.