Il termine i686 si riferisce a una famiglia di architetture di processori x86 ed è spesso utilizzato nei sistemi operativi Linux per indicare che un pacchetto, un kernel o un sistema è ottimizzato per processori compatibili con l’architettura Intel Pentium Pro e successive. i686 è un sottoinsieme della famiglia x86 a 32 bit. Con il progressivo abbandono delle CPU a 32 bit e la diffusione massiccia di sistemi a 64 bit (x86-64), molte distribuzioni Linux stanno cessando il supporto per i pacchetti i686. Fedora ha annunciato l’abbandono del supporto per i686 a partire dalla release 44, eliminando i pacchetti e le librerie a 32 bit dai repository ufficiali.
Breve storia di i686 e del passaggio a x86-64
L’architettura i686 rappresenta la sesta generazione della famiglia di microprocessori Intel basati su x86 a 32 bit. Introdotta nel 1995 con il processore Intel Pentium Pro, i686 ha portato significativi miglioramenti rispetto alle generazioni precedenti (i386, i486, i586) a livello di pipeline, cache L2 integrata ed esecuzione fuori ordine, che hanno aumentato notevolmente le prestazioni.
Questa architettura ha dominato il mercato dei processori a 32 bit per molti anni, con compatibilità estesa anche ai processori AMD della stessa epoca. Nel contesto dei sistemi operativi, i pacchetti compilati per i686 erano ottimizzati per sfruttare queste caratteristiche avanzate, offrendo migliori prestazioni rispetto a compilazioni più generiche per i386.
Il passaggio a x86-64 (noto anche come AMD64 o Intel 64) è avvenuto a partire dal 2003, quando AMD ha introdotto la prima estensione a 64 bit del set di istruzioni x86 con la sua CPU Opteron. L’architettura ha mantenuto la retrocompatibilità con le istruzioni a 32 bit, ma ha permesso di indirizzare una quantità molto maggiore di memoria e di migliorare le prestazioni su carichi di lavoro moderni.
Intel, inizialmente concentrata sul progetto Itanium (un’architettura 64 bit non compatibile con x86), ha ritardato l’adozione di x86-64, ma successivamente ha implementato la stessa estensione nelle proprie CPU, consolidando il passaggio verso sistemi a 64 bit. Era il 2004-2005, prima con il Pentium 4 Prescott e successivamente la famiglia Intel Core.
Questo cambiamento ha segnato una svolta nell’industria, determinando l’obsolescenza progressiva delle architetture a 32 bit come i686.
Perché Fedora abbandona il supporto i686
Oggi, la maggior parte delle distribuzioni Linux e dei software moderni supportano principalmente l’architettura x86-64, mentre il supporto per i686 viene progressivamente abbandonato, come nel caso di Fedora, che ha annunciato la fine del supporto per i pacchetti i686 a partire da Fedora 44.
Le CPU i686 sono ormai datate e mantenere pacchetti per architetture a 32 bit richiede risorse significative, che possono essere riallocate per migliorare il supporto per le architetture moderne. Inoltre, eliminare il supporto i686 semplifica notevolmente la gestione dei repository.
In un altro articolo abbiamo parlato del viaggio dagli 8 bit ai 32 bit e poi a 64 bit. In breve, il numero di bit si riferisce alla dimensione dei registri del processore, cioè quanta informazione il chip può elaborare in un solo ciclo nonché alla quantità di memoria indirizzabile (più bit significa più RAM gestibile).
La massima RAM gestibile con un chip a 64 bit è pari a oltre 18 exabyte: ecco perché non c’è bisogno di un’architettura di CPU generale a 128 bit.