Evoluzione dei processori Intel Nome: Intel 8086 Data: Inizio fabbricazione nel 1978 Descrizione: Intel 8086 L'intel 8086 si può definire il primo vero processore(Cpu) per personal computer. Ha una frequenza standard di 8Mhz(4,7Mhz per la versione economica chiamata '8088' ,10Mhz per la versione finale).Conteneva 14 registri con una grandezza di 16 Bit ciascuno. Ha un Bus Dati a 16 Bit e Bus Indirizzi a 20 Bit(Riusciva ad indirizzare un massimo di 1Mb di memoria Ram). Ha 40 pin per il collegamento al Socket. Conteneva un set di 70 istruzioni di base(Operazioni aritmetiche,logiche,istruzioni di salto) e utilizzava un Co-Processore matematico (8087) per eseguire calcoli con le operazioni in virgola mobile. I Registri erano divisi in: -Registri generali (AX,BX,CX,DX) utilizzati per varie funzioni. Potevano essere divisi in due sotto-registri da 8 bit ciascuno(AH,BH,CH,DH e AL,BL,CL,DL) -Registri di segmento (CS,DS,SS,ES), contenenti gli indirizzi dei vari segmenti(a 64KB).(Code segment, Data segment, Stack segment, Extra segment). -IP (ovvero Istruction pointer) è un 'program counter' che fornisce l'indirizzo dell'istruzione successiva. -Registri di indice (SI,DI) utilizzati per la formazione degli indirzzi. -Registri puntatori allo Stack usati per gestire la memoria stack. -Registro dei flag, contiene le informazione relative al programma in esecuzione. L'8086 è suddiviso in due unità distinte: la EU (Execution Unit) per decodificare ed eseguire le istruzioni e la BIU (Bus Interface Unit) per caricare le istruzioni dall'esterno che verranno passate alla EU. Mentre la EU esegue un'istruzione la BIU puo caricarne un'altra mettendola nella Coda Prefetch(una memoria di 6 byte usata per velocizzare le operazioni di esecuzione) dove la EU in seguito potrà prelevarle direttamente. Se si incontrano delle istruzioni di salto la coda prefetch deve essere svuotata e il caricamento anticipato delle istruzioni risulta inutile ma non è uno spreco di tempo perchè mentre la EU lavora la BIU rimarrebbe senza far niente.Il processore 8086 esegue istruzioni di lunghezza diversa, quindi è di architettura CISC. Ogni istruzione viene realizzata con un insieme di operazioni elementari predefinite che corrispondono agli accessi in memoria del processore. Le operazioni elementari sono chiamate cicli macchina, ogni istruzione ha bisogno di un TOT cicli macchina per essere eseguite. Ogni ciclo macchina richiede un numero ben preciso di periodi di clock. Il set di istruzioni dell'8086 esegue solo operazioni matematiche con numeri interi, le operazioni su numeri con la virgola (floating point) sono implementate da routine software, però è anche possibile eseguirle più velocemente per via hardware utilizzando il co-processore 8087. L'8087 è un processore ausiliario programmato per l'esecuzioni di operazioni con la virgola. L'8086 può essere usato in due configurazioni: nel modo minimo dove utilizza un solo processore e nel modo massimo con più processori. L'8087 è collegato al'8086 tramite un pin che stabilisce la configurazione desiderata. Nome: Intel 80286 ( o i286) Data: Inizio fabbricazione nel 1982 Descrizione: Intel 286 L'intel 286 è il processore successivo all' 8086. E' molto avanzato rispetto al suo predecessore. Ha Registri e Bus Dati a 16 Bit (come l'8086), ma ha un Bus Indirizzi a 24 Bit (20Bit per l'8086) che gli permette di indirizzare fino a 16Mb di memoria Ram (anche se pochi computer superarono più di 1 Mb di Ram).Per il calcolo con i numeri floating usa il co-processore 287 (80287). Per mantenere la compatibilità con i programmi creati per l'intel 8086 utilizza due modalità. La modalità protetta dove utilizza tutti i 16 Mb di Ram e che non permette il funzionamento dei programmi dell'8086 e la modalità reale dove utilizza solo 1Mb di Ram per mantenere la compatibilità dei programmi dell'8086. L’introduzione dell’80286 nel 1982 significò un vero salto da un punto di vista tecnologico perché con i suoi 134.000 transistor raggiungeva frequenze tra 6 e 25 Mhz. Grazie alla sua capacità di gestire 16 MB di Ram rese anche possibile l’apparizione delle prime interfacce grafiche (Windows 2.0 e 2.1). Nome: Intel 80386 (o i386) Data: Inizio fabbricazione nel 1985 Descrizione: Intel 386 a 25 Mhz L'intel 386 è uno dei successori dell'8086. E' il primo processore a funzionare con registri a 32 Bit. Ha Registri,Bus Dati e Bus Indirizzi a 32 Bit. Grazie al Bus Indirizzi a 32 Bit è capace di indirizzare e gestire fino a 4 GB di memoria Ram(anche se non esisteva ancora la tecnologia per avere 4 GB di Ram) e sfrutta il sistema a paginazione. Per il calcolo con numeri floating usa il co-processore 387.E' pienamente compatibile con i programmi scritti per i suoi predecessori utilizzando la modalità virtuale dove emula le funzioni dell'intel 8086.Utilizzava l'architettura CISC e aveva un frequenza che andava da 16 a 40Mhz. Grazie alla sua potenza di calcolo permetteva l'utilizzo di un vero e prorpio sistema operativo come Windows 3.0 o Windows 3.1. Nome: Intel 80486 (o i486) Data: Inizio fabbricazione nel 1989 Descrizione: Intel 486 a 33Mhz Con l'introduzione del primo Intel 80486 un piccola porzione di cache venne inserita all'interno dei microcircuti nel nucleo (core) del processore, il quantitativo era limitato a soli 8 Kbyte ma, essendo la cache integrata il doppio più veloce di quella esterna su scheda madre, gli 8 Kb erano sufficienti a far ottenere un raddoppio netto delle prestazioni rispetto al 386. Grazie ad un nuovo algoritmo questa piccola cache integrata non solo immagazzina i dati impiegati più di recente come le cache Sram su scheda madre ma anticipa anche gli accessi del processore importando una certa quantità di dati dalla memoria di sistema anche quando gli stessi non sono al momento richiesti dal software. Questa funzione, detta Read-Ahead (lettura anticipata), rende disponibili al processore anche una certa quantità di dati che, con elevata probabilità, verranno poi effettivamente richiesti dall’applicativo. La maggiore efficienza computazionale del 486 derivava quindi da tre fattori fondamentali: • Maggiore integrazione dei microcircuiti (a 1 micron) che ha permesso di elevarne la frequenza operativa in Mhz. • Memoria cache integrata da 8 Kbyte a quattro vie con algoritmo ReadAhead. • Integrazione nel nucleo dell’elettronica del coprocessore matematico 80387 che era invece prima disponibile solo su un chip esterno. Questi tre aspetti costruttivi del 486 hanno fatto si che il nucleo di questo processore arrivasse ad integrare ben 1.200.000 transistor con un raddoppio delle prestazioni della unità Alu e la triplicazione della potenza di calcolo della unità Fpu. Tale gap prestazionale nel calcolo dei numeri in vigola mobile rispetto alla accoppiata 386+387 è dovuta in parte alla memoria di transito ad alta velocità da 8 Kbyte integrata ma soprattutto alla riduzione delle distanze circuitali tra i vari elementi. In elettronica il segnale deve seguire percorsi più brevi possibile per limitare al massimo sia le interferenze elettromagnetiche che le dispersioni del segnale stesso. Raggruppare i tre componenti ed integrarli sullo stesso quadratino di silicio ha quindi ridotto la lunghezza delle connessioni all’ordine dei millesimi di millimetro contro gli svariati centimetri di rame che è necessario stendere su un circuito stampato per unire i tre componenti (Alu, Fpu e Cache) a sé stanti. I primi esemplari del 486 presentati nel 1989 funzionavano con una frequenza di 25 Mhz e sono in seguito passati ai 33 Mhz. Il 486 Sx era invece una versione economica privata del coprocessore matematico 80387 integrato. Quando Intel ha però introdotto il modello 486 Dx a 50 Mhz i produttori di schede madri fecero notare che una frequenza così elevata (per l’epoca) poteva introdurre disturbi di segnale e correnti parassite sulle piste delle schede madri. Di conseguenza intel produsse il processore 486 Dx2 il quale per via di un moltiplicatore interno 2x (leggi “2 per”) poteva andare a 66 Mhz pur funzionando su un bus di sistema a 33 Mhz. In seguito venne introdotto il 486 Dx4 a 100 Mhz con moltiplicatore interno 3x (33.3x3=100). La tecnica del moltiplicatore interno è stata portata all’estremo negli attuali processori e nel Pentium 4 in particolare. Avrete dunque capito che ad impostare la frequenza in Mhz del processore è un apposito circuito presente sulla scheda madre. Questo circuito detto “clock generator” è un oscillatore al quarzo che genera la frequenza di bus di sistema, frequenza dalla quale poi si ricavano, tramite moltiplicatori o divisori quella del processore e di tutti gli altri componenti (Memoria Ram, bus Pci e Agp ecc.). L’indice di prestazioni Norton Si variava dai 54 per il 486 a 25 Mhz ai 290 per il 486 a 133 Mhz di Amd. Nome: Intel Pentium Data: Inizio fabbricazione nel 1993 Descrizione: Intel Pentium a 60 Mhz Con questa Cpu l'intel cambia il modo di chiamare i suoi processori per evitare la legge che vietava di usare un numero come nome di un prodotto. L'intel Pentium ha registri a 32 Bit, Bus Dati a 64 Bit, Bus Indirizzi a 32 Bit, e una memoria cache da 16Kb divisa in 8Kb per il codice e 8Kb per le istruzioni. E' molto più veloce dei processori precedenti per vari motivi, il primo è perchè ha un Bus Dati a 64 Bit che permette di trasportare un'elevata quantità di informazioni e anche perchè può eseguire più istruzioni per ciclo di clock, infatti grazie a questa caratteristica questo processore da inizio ad una tipologia di processori superscalari, cioè che possono eseguire più operazioni per ciclo di clock. Con questo processore inizia anche il supporto per le prime istruzioni MMX istruzioni utilizzate per migliorare le prestazioni di applicazioni multimediali persino del 40% in più. Introduceva anche la funzione CPUID cioè che era possibile riconoscere il processore tramite il Software. Questo processore utilizzava una caratteristica dell'architettura RISC, aveva una frequenza che andava da 60 Mhz fino a più di 200 Mhz. Si scoprì in seguito il Pentium FDIV bug nelle versione che andavano dai 60 fino ai 120 Mhz che presentavano un problema nell'unità per il calcolo in virgola mobile che, in casi rari, riduceva la precisione delle operazioni di divisione. Questo bug scoperto nel'1994 fu causa di grande imbarazzo per Intel, che iniziò una campagna di richiamo per sostituire i processori difettosi costata circa 450 milioni di dollari. Nome: Intel Pentium Pro Data: Inizio fabbricazione nel 1995 Descrizione: Intel Pentium Pro Miglioramento del Pentium ha un Bus indirizzi a 36 Bit che permette di indirizzare fino a 64 Gb di Ram(anche se non utilizzata), è stata introdotta una cache di secondo livello(L2) e permette di eseguire in media tre istruzioni per ciclo di clock. Le prestazioni di questo processore con il codice a 32 Bit furono eccellenti, ma deluse sul far girare il codice a 16 Bit dove risultava più lento del suo predecessore Pentium. Questa Cpu venne utilizzata per eseguire Windows NT e Unix che giravano a 32 bit. Il costo era elevato perché la BIU e la Cache erano separate ed erano collegate da un bus esterno, questo significava che bastava un piccolo guasto per dover cambiare l'intera Cpu. Aveva una frequenza 150/200 Mhz. Nome: Intel Pentium II Data: Inizio fabbricazione nel 1997 Descrizione: Intel Pentium II compreso di sistema di raffreddamento Il Pentium II è un Pentium Pro con la tecnologia MMX e un miglioramento per il codice a 16 Bit. Si collega alla scheda madre tramite uno Slot e non con il Socket. Ha una Cache di primo livello di 32 Kb divisa in 16Kb per il codice e 16Kb per i dati. Con questo processore ci furono notevoli miglioramenti anche perchè fu adottata un'altra tipologia di memoria Ram, la SDRAM che sostituiva la vecchia EDO Ram, e fu introdotto il nuovo standard AGP per il collegamento delle schede video. Fu prodotto in varie versione che andavano da 233 a 450 Mhz. Nome: Intel Pentium III Data: Inizio fabbricazione nel 1999 Descrizione: Processore Intel Pentium III L'intel Pentium III è un'aggiornamento del Pentium II che raggiunge frequenze di 1 Ghz. Dispone di nuovi registri a 128 Bit e di un nuovo gruppo di istruzioni, che espande le istruzioni MMX, chiamate SSE. Inoltre introduce l'architettura DIB che permette di accedere alla Cache di secondo livello in modo indipendente dalla FSB (Front-Side-Bus). Nelle prime versione si collegava alla scheda madre tramite lo Slot che si utilizzava nel Pentium II per tornare al Socket. Fu disponibile in varie versioni che andavano dai 450 Mhz a 1,4 Ghz. Nome: Intel Pentium IV Data: Inizio fabbricazione nel 2000 Descrizione: Intel Pentium IV Il Pentium IV fin dalle prime versioni raggiunge frequenze di 1,4Ghz e oltre.Ha un nuovo set di istruzioni per le applicazioni multimediali, utilizza una nuova architettura chiamata NetBurst Micro Architecture. La FSB può trasferire quattro unità dati di 64 Bit per per ogni ciclo di clock. Il bus è chiamato Quad Pumped perchè lavora a una frequenza equivalente a 400 Mhz su un segnale a 100 Mhz. Può trasferire fino a 3,2GBps(Gigabytes per secondo) . Le ultime versioni del Pentium IV superano frequenze di 4 Ghz, utilizzano bus a 800 o 1066 Mhz e supportano la tecnologia Hyper-Threading. Per la sorpresa di molti tecnici del settore, il nuovo processore non migliorava il design P6 né nel calcolo intero, né in virgola mobile, generalmente considerati i fattori chiave nelle prestazioni di un processore. Furono sacrificate le prestazioni nel singolo ciclo di per clock guadagnare su due fronti: nella massima frequenza raggiungibile, e nelle prestazioni sfruttando le nuove librerie SSE2 che andavano ad aggiungersi alle precedenti SSE ed MMX. Il Pentium 4 "svolge molto meno lavoro" in ogni ciclo di clock rispetto ad altre CPU 1(come ad esempio i vari AMD Athlon o i vecchi Pentium III), ma l'obiettivo iniziale di sacrificare le prestazioni sul singolo ciclo di clock era bilanciato dalla possibilità di aumentare molto velocemente la frequenza di funzionamento, caratteristica che portava comunque a ottime prestazioni paragonabili a quelle dei processori della rivale AMD, pur seguendo una strategia diversa. Tutto questo è andato avanti fino a quando il processore ha trovato problemi insolubili di eccessiva produzione di calore, poco prima di raggiungere i 4 GHz (fermandosi effettivamente a 3.8 GHz con il core Prescott), molto lontano dagli annunci entusiastici del lancio che parlavano di scalabilità fino a 10 GHz. Alla metà del 2005, resasi conto che ormai la "corsa ai GHz" era finita, la casa produttrice ha spostato la sua attenzione sull'architettura del Pentium IV, molto più efficiente a parità di frequenza di funzionamento, cominciando lo sviluppo di alcuni derivati dedicati al segmento desktop e piccoli server. Infatti l'architettura del Pentium M, è ottimizzata anche dal punto di vista energetico, ed è basata sul design del Pentium III. Questo significa essenzialmente che Intel è tornata al Pentium III e che del Pentium 4 sopravviverà solo il sistema del FSB, oltre ovviamente ad una serie di tecnologie collaterali come Hyper-Threading, SS2, SS3, EMT64 e XD-bit. Nome: Intel Pentium M Data: Inizio fabbricazione nel 2003 Descrizione: Intel Pentium M (Pentium Mobile) Il Pentium M è un microprocessore con architettura x86 progettato e costruito da intel destinato all'utilizzo in computer portatili. Il Pentium M è stata un'innovazione radicale per Intel, in quanto non si tratta di una versione a basso consumo del Pentium 4, orientato al mercato desktop, ma è piuttosto una versione profondamente modificata del Pentium III. È ottimizzato per un basso consumo, una caratteristica fondamentale per estendere la durata della batteria dei computer portatili. Per consumare, e riscaldare, molto meno di un processore per computer desktop, il Pentium M utilizza un clock molto inferiore rispetto al contemporaneo Pentium 4, ma con prestazioni molto simili. Il Pentium M accoppia il nucleo di esecuzione del Pentium III con l'interfaccia di bus del Pentium 4, un migliorato interfacciamento tra stati di "decode" e di "execute", una migliore predizione dei salti, supporto per SSE, SSE2 e SSE3, oltre ad una cache più grande. La cache secondaria, che in genere consuma molta potenza, utilizza un metodo innovativo di accesso per evitare attivazioni di sue parti a cui non si farà accesso. Altri metodi per limitare i consumi sono la frequenza di funzionamento variabile e un voltaggio ridotto, che permettono al Pentium M di "rallentare" (riducendo il clock tipicamente a 600 MHz) quando il sistema è inattivo o in modalità di risparmio energetico. L'intenzione di Intel di offrire tale Cpu in sistemi mobile è stata maggiormente esemplificata nel momento in cui ha reso il Pentium M il cuore della piattaforma Centrino. Anche se questa CPU in principio era intesa solo come processore per portatili, sono state prodotte in quantità limitate schede madri che lo supportano a partire dalla seconda metà del 2004 nei computer desktop, e Intel ha iniziato a modificare il processore in vista del possibile rilascio di una versione per desktop nello stesso periodo. ASUS ha sviluppato un adattatore per utilizzare processori Pentium M su schede madri ASUS selezionate progettate per Pentium 4 su Socket 478. Nome: Intel Pentium D Data: Inizio fabbricazione nel 2005 Descrizione: Intel Pentium D 3,4 Ghz Il Pentium D è stato il primo processore dual core prodotto da intel ed era dedicato al settore Desktop. La sua caratteristica principale risiedeva appunto nel fatto di essere il primo processore dual core commercializzato da Intel, e il suo lancio venne seguito dopo solo pochi giorni da quello dell'Athlon64 X2 prodotto da AMD. In realtà il Pentium D non fu il primo microprocessore dual core arrivato sul mercato: già IBM con i suoi PowerPC aveva raggiunto questo traguardo un paio di anni prima, e altri produttori avevano seguito la sua strada, ma l'avvento del Pentium D segnò comunque un'epoca, in quanto praticamente solo Intel e AMD si contendono la grossa fetta del mercato di massa dei microprocessori. Al momento del lancio di tale CPU, erano ormai 2 anni che le frequenze dei processori erano praticamente ferme. Dopo anni in cui queste ultime erano cresciute vertiginosamente, con le presentazioni di nuovi modelli ogni circa 2 mesi con 200 MHz di salto, si era arrivati velocemente ai 3 GHz e sorsero i problemi. Il passaggio ai 90 nm non dette i risultati sperati, e l'avvento del core Prescott per i Pentium 4 fu molto travagliato e non privo di difficoltà e delusioni. AMD aveva abbandonato la "corsa ai MHz" già da diverso tempo e Intel si era trovata costretta a fare altrettanto, migliorando l'efficienza dell'architettura e sviluppando il calcolo parallelo. In fondo la strategia intrapresa si basava su una considerazione piuttosto semplice: se non si riesce ad aumentare la velocità con cui si esegue un'operazione, per aumentare le prestazioni bisogna aumentare il numero di operazioni che si possono compiere nell'unità di tempo, e il continuo affinamento dei processi costruttivi e la miniaturizzazione consentirono di imboccare questa nuova via. A questo proposito, nel 2007 arrivarono anche le architetture a 4 core e la tendenza nel tempo sarà quella di aumentarne sempre più il numero. Anche AMD presentò i primi esemplari di processore dual core, ma a differenza di Intel riuscì a mantenere la stessa frequenza di clock delle controparti single core e quindi chi acquistava uno di questi processori non notava un calo di prestazioni con applicazioni non ottimizzate; inoltre il System Request Interface (SRI) utilizzato da AMD per far comunicare i 2 core aveva prestazioni nettamente superiori al BUS di Intel. A questo si aggiunse anche il fatto che mentre per poter far funzionare un Pentium D era necessario l'acquisto di una nuova scheda madre basata sui chipset i995X o i945P, per poter utilizzare un Athlon 64 X2 era sufficiente un aggiornamento del BIOS. Nome: Intel Core 2 Duo Data: Inizio fabbricazione nel 2006 Descrizione: Intel Core 2 Duo 3,33 Ghz L'intel Core 2 Duo è il processore dual core successivo al Pentium 4. Questo processore a differenza del precedente è stato anche adottato nei computer portali. L'introduzione del Core 2 Duo ha segnato un punto di svolta nella politica di mercato di Intel. La sua adozione in ambito desktop, infatti è coincisa con la morte dell'architettura NetBurst che è alla base del Pentium 4 e dei Pentium D e che si è rivelata efficace in un momento in cui aumentare la frequenza di clock non era un problema, ma straordinariamente inefficiente dal punto di vista del rapporto prestazioni/Watt. Prendendo come riferimento l'architettura NetBurst del Pentium 4, Intel è arrivata con Conroe a quintuplicare l'efficienza, e quindi le prestazioni, a parità di Watt dissipati. È evidente inoltre, come fino alla versione Smithfield che mantiene fondamentalmente la stessa architettura del Pentium 4, tale aumento sia stato molto marginale. Dato che ormai aumentare il clock è diventato quasi impossibile senza l'insorgere di numerose complicazioni legate alla dissipazione termica, quella dell'efficienza dell'architettura e la parallelizazione delle operazioni, sembra la strada migliore per proseguire il processo di innovazione. 4° A Informatica 2010-2011 I.T.I.S E.FERMI Giarre(CT)