Era il mese di febbraio 1982 quando Intel presentò l’ormai storico processore 80286 destinato a prendere il posto del precedente 8086 immesso sul mercato nel 1978 e del successivo 8088 del 1981.
Vale la pena ricordare le caratteristiche dell’Intel 80286 confrontandole con quelle dei moderni processori: il dispositivo di quarant’anni fa basava il suo funzionamento su 134.000 transistor prodotti con un processo di fabbricazione a 1,5 micron ovvero 1500 nanometri.
I processori 8086 e 8088 sono gli antenati di tutti i processori basati sull’architettura x86; 80286 poteva controllare molta più RAM, in parte perché aveva un più ampio spazio di indirizzamento.
Un 8088 poteva teoricamente indirizzare 1 MB di RAM che per i PC IBM dell’epoca non erano pochi: anche un sistema come l’IBM AT 5170 aveva solo 256 KB di memoria.
Tutti i processori citati, compreso 80286, erano a 16 bit e in un altro articolo abbiamo visto le differenze tra processori a 8, 16, 32 e 64 bit. Usavano però un bus di indirizzi diverso: nel caso dell’8088, ad esempio, a 20 bit; nel caso dell’80286 a 24 bit: per questo motivo 8088 poteva indirizzare al massimo 1 MB di RAM: 220 = 1.048.576 byte.
Con l’80286 il processore poteva controllare fino a 16 MB anche se con alcune limitazioni: il bus dati era a 16 bit e i due bus di indirizzi (rispettivamente da 4 e da 20 bit) permisero di estendere notevolmente le sue potenzialità (224 = 16 MB).
Cosa significa che c’erano delle limitazioni? Lo spazio di indirizzamento completo non era disponibile, nel caso dell’80826, nella cosiddetta modalità reale. Essa consente di indirizzare solamente 1 MB di RAM, non c’è supporto per il multitasking, per la memoria virtuale e soprattutto per la memoria protetta.
Il concetto di memoria protetta fu introdotto da Intel proprio con il suo 80286: oltre a consentire l’accesso a un maggior quantitativo di memoria, la modalità protetta assicura il supporto per il multi-threading che favorì la diffusione dei sistemi Unix-like anche sulle macchine IBM-Intel.
Il problema, all’epoca, fu quello che il sistema operativo DOS non era pronto per beneficiare della modalità protetta quindi IBM equipaggiò i suoi PC AT con una funzione che prova la disabilitazione della linea A20.
Cosa significa? Per garantire la compatibilità con la modalità reale degli 8086-8088, Intel fece in modo che sull’80286 fosse possibile disabilitare via software tutte le linee di indirizzo dalla A20 alla A23 in modo che il processore potesse operare sul classico bus di indirizzi a 20 linee senza quindi che i programmi sviluppati per le precedenti generazioni di processori (che erano più simili a microcontrollori che a veri e propri processori…) continuassero a funzionare senza problemi.
Basti pensare che la disattivazione della linea A20 scomparve solo 30 anni dopo a testimonianza di come tecniche legacy continuano spesso a restare presenti nei processori più moderni.
Chi ha utilizzato all’epoca i PC AT di IBM si ricorda che il vero problema derivava dal fatto che non esisteva un software per determinare se la linea A20 era disabilitata o meno. Inoltre, eventuali passaggi dalla modalità protetta di 80826 a quella reale e viceversa non avevano effetto se non dopo un riavvio della macchina. Tanti aspetti di una soluzione pasticciata che hanno causato problemi per anni.
A parte gli svantaggi del gate A20, 80286 introdusse un enorme aumento delle prestazioni e concetti nuovi: proprio grazie alla modalità protetta fu possibile introdurre la gestione della memoria virtuale che fino a “ieri” ha giocato un ruolo fondamentale.
Il processore partorito da Intel quarant’anni fa non solo permise di supportare più RAM ma aprì anche all’isolamento delle aree di indirizzo di diversi processi in esecuzione in parallelo con diversi diritti di accesso.
Nei processori più recenti basati sul concetto di esecuzione speculativa il principio abbozzato quattro decenni fa è stato poi scosso alle fondamenta nel 2018 dagli attacchi noti col nome di Spectre e Meltdown.
80286 diventò subito un prodotto molto popolare e non soltanto sotto l’ala di Intel: AMD, ad esempio, ha proposto il suo AM286 (dopo l’accordo con la società di Santa Clara sull’utilizzo della piattaforma x86; intesa venuta meno al momento del lancio di 80386 con un lungo contenzioso legale che si risolse a favore di AMD nel 1994).
AMD produsse anche una versione a risparmio energetico (N80L286), Siemens lavorò sul SAB 80286 e anche Fujitsu e Intersil realizzarono processori derivati da 80286.
Per approfondire, è possibile fare riferimento al nostro articolo che spiega per sommi capi come funziona un processore.