La legge di Moore
La legge di Moore afferma che
«La complessità di un microcircuito, misurata ad esempio tramite il numero di transistor per chip, raddoppia ogni 18 mesi (e quadruplica quindi ogni 3 anni).»
Questa legge, formulata nel 1965 da Gordon Moore che sarà poi cofondatore di Intel, nasce dall’osservazione empirica dei dati relativi al numero di componenti elettronici presenti nelle CPU dal 1959 al 1965.
Questa legge, detta anche prima legge di Moore descrive in un certo senso l’aspetto tecnologico dell’evoluzione dei processori. Potendo inserire all’interno di un singolo processore sempre più componenti, è chiaro che questo comporta un aumento delle prestazioni del processore stesso. Ecco un grafico che mostra come la legge fino al 2010 sostanzialmente risulta valida.
Un’altra osservazione di Moore, a cui spesso ci si riferisce come alla seconda legge di Moore descrive l’evoluzione dei processori dal punto di vista economico, affermando che
«Il costo delle apparecchiature per fabbricare semiconduttori raddoppia ogni quattro anni»
Questa affermazione porta ad alcune conseguenze che sono oggi sotto gli occhi di tutti, prima fra tutte l’oligopolio tra i produttori di processori, dato dal fatto che il costo di una fabbrica di chip è cresciuto da 14M di dollari del 1965 a 1000M di dollari nel 1996. Il fatto di avere pochi produttori e un costo di ingresso molto alto è un segno che il mercato dell’informatica è solido e stabile.
Come corollario questa evoluzione così spinta sia a livello tecnologico che di costi economici, abbiamo il fatto che un processore uscito di produzione subisce un calo di prezzo molto forte visto che a parità di prezzo la generazione successiva di processori sarà molto più performante di quella precedente.
Vale ancora la legge di Moore?
Questa legge non vale sostanzialmente più in quanto la produzione ha praticamente raggiunto limiti fisici per cui non conviene più puntare alla miniaturizzazione quanto piuttosto si rivela più efficace operare a livelo di architettura dei calcolatori, oriendando ricerca e sviluppo verso sistemi di calcolo parallelo i quali ovviamente dovranno essere sfruttati da programmi che sono stati pensati per essere parallelizzabili. La possibilità di creare programmi di qusto tipo in modo facile per i programmatori è la direzione che stanno prendendo tanti linguaggi di programmazione i quali, utilizzando costrutti sempre più di alto livello, consentono di sfruttare a pieno la presenza di più core di più processori, in modo spesso trasparente per il programmatore.