Successivo

Magazine

Transistor tra passato e futuro

Redazione | 8 Ottobre 2015

Preview

Transistor: dopo aver analizzato la logica e la fisica di base e la loro evoluzione all’interno dei processori, dagli albori […]

05_Art_TransistorTransistor: dopo aver analizzato la logica e la fisica di base e la loro evoluzione all’interno dei processori, dagli albori a oggi, affrontiamo l’argomento dal punto di vista costruttivo, ovvero come sia possibile inserire in spazi tanto ristretti un numero così elevato di elementi delicatissimi, con tolleranze e specifiche quasi impossibili da immaginare. I numeri in campo sono impressionanti: alcuni particolari elementi dei transistor moderni sono infatti costituiti da uno strato spesso non più di un singolo atomo, mostrando come la miniaturizzazione esponenziale degli ultimi anni abbia raggiunto livelli estremi.

di Davide Piumetti

ICON_EDICOLANel seguito analizzeremo non solo la storia della progressiva riduzione dei transistor dettata dalla conosciutissima legge di Moore, ma ci soffermeremo sugli elementi che hanno ostacolato periodicamente tale costante evoluzione e come sono stati superati. Inoltre daremo una visione di stampo ingegneristico sulle metodologie produttive moderne e, infine, uno sguardo ai prossimi 10 anni, in cui il settore si propone di vivere una nuova primavera grazie ad alcune tecniche rivoluzionarie che le grandi aziende stanno studiando.

La logica dei transistor

Come descritto nel dettaglio negli articoli dei mesi precedenti, il funzionamento di un singolo transistor è molto semplice: esso funziona infatti come un interruttore ai cui capi (source e drain) scorre o meno corrente elettrica in base allo stato del terzo connettore (il gate controllante).
Inserendo in serie o parallelo alcuni transistor si possono creare le porte logiche classiche (And, Or, Not) e le derivate, assemblando le quali si costruiscono i circuiti veri e propri.
Progettando opportunamente un chip si possono disporre transistor (porte logiche) in modo che, inserendo a un estremo due valori binari, si abbia in uscita la loro somma, la sottrazione o molte altre combinazioni.

Nei processori il funzionamento è dinamico, ovvero esiste un punto di ingresso al quale vengono fornite le “istruzioni”, una serie di bit che identificano una particolare operazione da eseguire con i dati presenti in punti predefiniti. A seconda dell’istruzione iniziale (una serie di bit che configurano le porte logiche in una maniera piuttosto che in un’altra) il sistema eseguirà  un calcolo diverso, ottenendo il risultato desiderato in uscita.

Complicando ulteriormente il tutto possiamo immaginare un input in termini di istruzione corredato da altri due (o più) input che identificano l’indirizzo di memoria dove prelevare i dati in ingresso e dove scrivere quello o quelli in uscita. Riuscendo a immaginare questo abbiamo già  chiaro come funziona una Cpu. Il principio è questo, sia il 4004 di Intel del 1971, il processore del vostro smartphone o quello del vostro Pc, così come quelli dei supercomputer sparsi per il mondo.

I numeri contano

Ovviamente la “potenza” di un processore dipende dalle operazioni che è in grado di eseguire per unità  di tempo, sia di tipo semplice sia di tipo complesso.
I transistor presenti nel primo 4004 di Intel erano solo 2.300, mentre nelle moderne Cpu e Gpu siano ben oltre i 2 miliardi. Il funzionamento base è lo stesso ma (anche escludendo 1 miliardo abbondante di transistor solamente dedicati alla cache) avere più transistor permette di compiere più operazioni, sia come tipologia sia come numero, parallelizzando i calcoli.

Avere più transistor permette dunque di fare le cose più velocemente, per due motivi principali: il primo è che su una Cpu semplice i calcoli devono essere fatti in maniera elementare. Ad esempio per moltiplicare 9 x 5 su una Cpu non dotata di una logica moltiplicativa (che impiega molti transistor) è necessario procedere per passi, sommando 9 + 9 per cinque volte. Se una singola somma impiega 1 secondo per calcolare 9 x 5 sono necessari 4 secondi (9+9; 18+9; 27+9 e 36+9). Per calcolare 17 x 22 sono necessari 16 secondi (sommiamo 22 per 17 volte).
Inserendo altri transistor capaci di effettuare una moltiplicazione diretta possiamo incrementare in maniera enorme la velocità  di calcolo in questo specifico processo. Se tale logica dovesse impiegare ad esempio 1,5 secondi per qualunque moltiplicazione avremmo un miglioramento del 62% in termini di velocità  effettuando 9 x 5 e addirittura del 90% per un operazione come 17 x 22. Per questo motivo i processori integrano sempre più transistor in grado di costruire circuiti specializzati per operazioni complesse. Nelle Cpu di ultima generazione sono presenti istruzioni dedicate ai calcoli più disparati (con circuiteria dedicata), in grado di fare calcoli trigonometrici complessi in una singola iterazione o operazioni di codifica o decodifica in hardware rendendo tali applicazioni molto più veloci.

Il secondo motivo per cui più transistor rendono più veloce un processore è relativo alla parallelizzazione. Se una Cpu deve fare una serie di calcoli indipendenti (9 x 5, 6 x 7 e 22 x 41) può agire in due modi in base alla propria struttura interna. Il processore di prima impiegherà  4,5 secondi totali per eseguire queste tre operazioni (a 1,5 secondi ciascuna), mentre una Cpu di pari caratteristiche intrinseche ma dotata di 4 core elaborativi può assegnare un’operazione a ciascun core (lasciandone anche uno libero), impiegandoli in parallelo completando il calcolo in 1,5 secondi. Miglioramento del 66%. Ma servono più transistor. (…)

Trovate l’articolo completo su PC Professionale di ottobre 2015