Architettura x86

Da Wikipedia, l'enciclopedia libera.
Pentium II nel suo caratteristico contenitore

La locuzione architettura x86 è un'espressione generica per indicare un'architettura di una famiglia di microprocessori, inizialmente sviluppata e prodotta da Intel.

Storia[modifica | modifica sorgente]

Intel 8086[modifica | modifica sorgente]

Primo processore a 16 bit di Intel (1978). Era una evoluzione dell'Intel 8085 a 8 bit.

Intel 8088[modifica | modifica sorgente]

(1979) Modello "ridotto" dell'8086 con bus a 8 bit. Identico all'8086 dal punto di vista software, aveva un bus dati esterno ridotto a 8 bit che lo rendeva compatibile con l'hardware sviluppato per le macchine a 8 bit di allora.

Intel 80186[modifica | modifica sorgente]

Modello poco venduto e poco diffuso. Comprendeva nuove istruzioni ed una differente gestione della memoria. Destinato al nascente mercato embedded, ebbe una buona diffusione nel mondo dell'automazione industriale.

Intel 80286[modifica | modifica sorgente]

Fu il primo microprocessore Intel ad avere una modalità protetta e diversi livelli di privilegio per il codice da eseguire. Aveva un bus dati a 16 bit e un bus indirizzi a 24 bit, che lo rendeva in grado di indirizzare fino a 16 MB di RAM. Restava però ancorato al vecchio schema di indirizzamento segmento/offset, troppo rigido, e non aveva MMU, cioè non supportava in hardware nessuno schema di memoria virtuale. Inoltre non era possibile tornare alla modalità reale una volta entrati in modo protetto. Altra caratteristica innovativa era il prefetching delle istruzioni, che lo rendeva molto più veloce, anche a parità di clock, dell'8086.

Intel 80386[modifica | modifica sorgente]

Primo processore Intel a 32 bit pieni, con bus indirizzi e dati a 32 bit, in grado di gestire fino a 4GB di RAM. Era dotato di MMU e supportava memoria virtuale sia paginata sia a segmenti. Con 32 segnali dati e indirizzi da gestire e con le frequenze di clock dei processori che continuavano a salire, il progetto delle schede madri per personal computer cominciò a divenire molto impegnativo e costoso; anche del 386 venne quindi prodotta una versione con bus dati dimezzata a 16 bit, più economica e che richiedeva hardware meno sofisticato, per le applicazioni meno esigenti prestazionalmente. A differenza dei predecessori, che venivano prodotti sia da Intel sia (su licenza) da altri produttori, il 386 fu prodotto solo ed esclusivamente da Intel. Dopo alcuni anni, comunque, AMD, Cyrix e le altre case presentarono comunque sul mercato processori compatibili con il 386 ma basati su progetti più o meno originali.

Intel 80486[modifica | modifica sorgente]

(1989) Molto simile al 386 dal punto di vista software, era però decisamente più veloce grazie all'integrazione di una piccola quantità di memoria cache di secondo livello. Le versioni DX integravano il coprocessore matematico, che fino ad allora era stato un componente opzionale esterno al processore. Veniva commercializzata anche una versione SX, identica al DX ma priva del coprocessore matematico. Per le frequenze di clock sempre più alte, il 486 fu il primo processore per cui si rese necessario un sistema di raffreddamento attivo (dissipatore e ventola) e una tensione di alimentazione più bassa dei canonici 5 volt impiegati fino ad allora nei circuiti integrati TTL.

Nelle sue versioni più potenti il 486 raggiunse i 100 MHz grazie ad un moltiplicatore di frequenza che permetteva la produzione di schede madri "standard" a 33 MHz dotate di processori che moltiplicavano x3 la frequenza. AMD ha raggiunto i 133 MHz con questa CPU. Con i 486 inizia anche l'era delle versioni a basso consumo energetico (principalmente per portatili) denominare SL. La Cyrix presentò due processori denominati 486SLC e DLC, molto economici, che però erano dei compatibili 386 (SX e DX) dotati di una cache di secondo livello e non disponevano delle istruzioni aggiuntive del 486 Intel.

Pentium[modifica | modifica sorgente]

(1993) Il processore Pentium era l'unione di due processori 486 in un solo chip, che condividevano l'unità di gestione della cache di secondo livello, il prefetcher delle istruzioni e il coprocessore matematico. Aveva un bus dati a 64 bit, che venivano poi divisi in due parole a 32 bit nella cache interna. Questo processore recepiva una serie di innovazioni introdotte dalle architetture RISC: aveva una pipeline a più stadi per la decodifica delle istruzioni; il prefetcher era in grado di decidere a quale core 486 inviare ogni istruzione che decodificava, permettendo (a certe condizioni) l'esecuzione di due istruzioni contemporaneamente. Questa architettura di base resterà invariata, anche se solo formalmente, per tutti i successivi processori Pentium.

Il Pentium "base" fu sostituito dopo circa un anno dalla versione MMX (da MultiMedia eXtension), che includeva una nuova unità di calcolo in virgola mobile capace di eseguire calcoli in parallelo su otto valori a 64 bit (o 4 da 128 bit) con una sola istruzione: come dice il nome, la nuova unità era pensata per la codifica e decodifica di flussi multimediali audio/video. Non era possibile usare contemporaneamente il coprocessore matematico e l'unità MMX, ma si doveva scegliere da software, con una istruzione apposita, quale unità abilitare. Inoltre le istruzioni MMX operavano solo su numeri interi.

Pentium Pro[modifica | modifica sorgente]

Il Pentium Pro fu una versione destinata al mercato server e workstation, più veloce perché integrava nel chip (molto più grande del normale) la cache di primo e di secondo livello. Il prezzo al pubblico era molto alto e il prezzo di produzione non era da meno, per cui fu rapidamente abbandonato appena furono disponibili i successivi modelli.

Pentium II[modifica | modifica sorgente]

Il Pentium II introdusse la Branch Prediction Unit, che si occupa di prevedere l'esito delle istruzioni di salto condizionale. Il principale limite prestazionale del Pentium era la lunghezza delle pipeline di decodifica delle istruzioni: dopo un salto condizionale esistono due possibili serie di istruzioni da eseguire, e se la pipeline viene riempita con la serie di istruzioni sbagliata deve essere svuotata e le istruzioni giuste rilette e ridecodificate, perdendo molto tempo. La BPU cerca di prevedere in anticipo quale sarà la serie giusta, migliorando parecchio le prestazioni complessive del processore.

Da questo modello in poi, lo schema dei due core 486 in parallelo è sempre più una facciata: in realtà la pipeline dei Pentium II e successivi non solo decodifica le istruzioni x86 ma le traduce anche in istruzioni RISC interne, eseguite da dei core RISC e non più 486.

Pentium III[modifica | modifica sorgente]

Con il Pentium III vengono introdotte delle nuove istruzioni per il calcolo in virgola mobile, le SSE (da Streaming SIMD Extensions) in grado di operare sia su interi sia su numeri in virgola mobile, ed in grado di essere usate insieme al coprocessore matematico.

Pentium 4[modifica | modifica sorgente]

Questa nuova serie di Pentium introdusse due nuove versioni di SSE, le SSE2 e in seguito le SSE3. Con queste aggiunte, il vecchio coprocessore matematico è ormai superfluo, oltre che più limitato, e la stessa Intel ne sconsiglia l'uso a favore delle nuove estensioni.

Caratteristiche[modifica | modifica sorgente]

L'x86 ha un instruction set CISC a lunghezza variabile. Questa caratteristica era utile negli anni '70 e '80, perché permetteva di risparmiare costosa memoria. In tempi più recenti, la lunghezza variabile è diventata un tallone d'Achille che complica notevolmente il progetto dei nuovi processori, i quali dedicano una parte consistente delle loro risorse a "tradurre" il set di istruzioni x86 in uno più razionale.

È al momento l'architettura più diffusa nel mercato dei PC desktop, portatili, e server economici. Nel corso degli anni, più di una ditta ha introdotto processori compatibili con l'architettura x86, ponendosi in concorrenza con Intel.

Ad oggi l'unico concorrente di un certo peso nel settore dei personal computer è AMD che produce processori x86-compatibili fin dai primi anni dell'architettura. Esistono tuttavia altri produttori che realizzano processori con questa architettura per applicazioni di nicchia come lo sviluppo di sistemi embedded, thin client, set top box e altre.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica