L'architettura x86 compie quarant'anni. Nata nel 1978 con l'Intel 8086, è sopravvissuta a ogni previsione di obsolescenza ed è ancora oggi il cuore della stragrande maggioranza dei computer del mondo. Capire come si è evoluta significa capire come funziona il calcolo moderno.

Le origini: 8086 e il modello CISC

L'Intel 8086 era un processore a 16 bit con un set di istruzioni complesso — quello che oggi chiamiamo CISC (Complex Instruction Set Computer). L'idea era semplice: più istruzioni poteva eseguire il processore direttamente, meno lavoro doveva fare il programmatore. In un'epoca in cui la memoria era cara e i compilatori erano primitivi, questa filosofia aveva senso.

Il chip operava a frequenze tra 5 e 10 MHz e conteneva circa 29.000 transistor. Per riferimento, un processore moderno ne contiene decine di miliardi.

Il set di istruzioni x86 originale è ancora presente nei moderni processori Intel e AMD. Ogni Core Ultra o Ryzen è in grado di eseguire codice scritto per l'8086 — una compatibilità mantenuta per oltre quattro decenni.

Il salto a 32 bit: 80386

Nel 1985 arriva l'Intel 80386, il primo processore x86 a 32 bit. Con esso nasce la modalità protetta, che permette al sistema operativo di isolare i processi e gestire la memoria in modo molto più sofisticato. È il fondamento su cui sono costruiti tutti i sistemi operativi moderni.

Il 386 introduce anche la memoria virtuale — la capacità di far credere a ogni processo di avere più RAM di quella fisicamente disponibile, usando il disco come estensione temporanea.

La rivoluzione della pipeline: Pentium e il superscalarismo

Con il Pentium (1993) Intel introduce l'esecuzione superscalare: due unità di esecuzione parallele che permettono di completare più istruzioni per ciclo di clock. È il primo passo verso quella che oggi chiamiamo IPC — istruzioni per ciclo.

La corsa alla frequenza domina gli anni Novanta. Si passa da 60 MHz del primo Pentium ai 1000 MHz del Pentium III alla fine del decennio. Ma aumentare la frequenza ha un costo: il consumo energetico cresce con il quadrato della frequenza, e il calore diventa un problema sempre più serio.

Il muro della frequenza e il cambio di paradigma

All'inizio degli anni 2000 la corsa alla frequenza rallenta bruscamente. Il Pentium 4 di Intel, con la sua microarchitettura NetBurst, spinge le frequenze oltre i 3 GHz ma a un costo enorme in termini di consumo e calore. Il chip consuma fino a 130 watt — una cifra impensabile per un processore mobile.

La risposta arriva da Intel Israel con il progetto Banias, che diventa il Pentium M e poi Core. La filosofia cambia radicalmente: invece di aumentare la frequenza, si lavora sull'efficienza — fare di più con ogni ciclo di clock.

L'era multi-core: Core 2 e oltre

Nel 2006 Intel lancia il Core 2 Duo, il primo processore consumer con due core fisici sullo stesso die. La logica è semplice: se non si può andare più veloci in verticale, si va più larghi in orizzontale. Due core a 2 GHz consumano meno e fanno più lavoro di un singolo core a 4 GHz.

Da qui in poi il numero di core cresce costantemente. Si passa da 2 a 4, da 4 a 6, fino agli attuali processori consumer con 16, 20 o 24 core.

Arrow Lake e i core ibridi

L'ultima evoluzione significativa è l'introduzione dei core eterogenei con Intel Alder Lake (2021) e poi Meteor Lake e Arrow Lake. Il processore non ha più core identici: ci sono P-core (Performance core) ad alta potenza per i carichi di lavoro intensi, ed E-core (Efficiency core) più piccoli e efficienti per i compiti in background.

Arrow Lake, l'architettura attuale, porta i P-core Lion Cove — una revisione profonda dell'architettura interna che migliora l'IPC del 10-15% rispetto alla generazione precedente — e i nuovi E-core Skymont, molto più capaci dei precedenti.

Il risultato è un processore che scala dinamicamente: usa i P-core quando serve potenza, gli E-core per tutto il resto. Il sistema operativo deve essere consapevole di questa eterogeneità per assegnare i thread in modo ottimale.

Il Thread Director, introdotto con Alder Lake, è il meccanismo hardware che suggerisce al sistema operativo dove eseguire ogni thread. Windows 11 e i kernel Linux recenti sono ottimizzati per sfruttarlo.

Quarant'anni di compatibilità

La cosa più straordinaria dell'architettura x86 non è la sua potenza, ma la sua longevità. Un binario compilato per DOS negli anni Ottanta può ancora girare su un processore Arrow Lake del 2024. Questa compatibilità ha un costo — strati su strati di logica di traduzione interna — ma è anche il motivo per cui x86 non è mai stato soppiantato nonostante decenni di sfidanti.