microprocessóre
IndiceDescrizione generale
sm. [da micro-+inglese processor, unità di elaborazione (in informatica)]. Chip a semiconduttore che svolge i compiti dell'unità centrale (CPU) di un elaboratore. Un microprocessore consiste almeno di un'unità logico-aritmetica e di un'unità di controllo. Caratterizzano il microprocessore la velocità, il numero di bit dei registri, l'architettura, nonché il set di istruzioni, che può essere sia cablato sia microprogrammato. È la combinazione di queste caratteristiche e non solo la velocità che determina le prestazioni di un microprocessore, che giungono ormai a miliardi di cicli al secondo GHz. Il numero dei bit dei registri, che individua il livello di parallelismo dei trasferimenti di dati, indirizzi e istruzioni è passato dai 4/8 bit dei primi esemplari ai 32/64/128 di quelli più recenti. Anche l'architettura del microprocessore è diventata via via più complessa. Questa determina sia le modalità di funzionamento interno (esecuzione delle istruzioni in sequenza, con sovrapposizione, in parallelo; elaborazione su numeri interi, su numeri a virgola mobile, su vettori), sia la flessibilità di interfacciamento con l'esterno (opzioni di ingresso/uscita per trasmissioni sequenziali e parallele, per collegamenti con altri processori, per interfacce interattive, ecc.).
Tipologia: CISC e RISC
Il set di istruzioni, rappresentato in ogni microprocessore nelle sue sottoclassi, istruzioni aritmetiche, logiche, di controllo del programma, di ingresso/uscita (trasferimento di dati), si è ampliato e potenziato man mano che il progresso tecnologico lo rendeva possibile, superando il centinaio di istruzioni (CISC, Complex Instruction Set Computer). In seguito, peraltro, in rapporto all'adozione di architetture più complesse sono stati realizzati microprocessori RISC (Reduced Instruction Set Computer) che, grazie all'impiego di poche istruzioni semplici a esecuzione molto veloce e a una serie di accorgimenti progettuali (in particolare l'impiego di memorie cache-nascoste), competono con le soluzioni CISC più avanzate. Nella tecnologia CISC aumentando il numero di comandi disponibili si verificano sì un aumento della potenzialità e una maggiore semplicità di programmazione, ma se questa evoluzione del linguaggio non avviene parallelamente a un'evoluzione tecnologica che consenta una maggiore velocità di esecuzione, ne consegue che i comandi rimangono caratterizzati da una grande lentezza. Se i progressi tecnologici hanno permesso aumenti delle velocità in maniera praticamente esponenziale, si avvertono tuttavia le difficoltà di aumentare parallelamente la velocità di un processore e le sue potenzialità. Infatti, se in passato i problemi riguardanti l'aumento della velocità di orologio di un microprocessore (per orologio si intende un circuito che fornisce un segnale periodico molto regolare, in grado cioè di mantenere le proprie caratteristiche per un periodo di tempo praticamente indefinito) erano limitati alle conseguenze tecniche legate alla sua costruzione, ormai ci si sta avvicinando a velocità di orologio molto critiche per la costruzione dei sistemi a motivo della natura stessa dei segnali elettrici. Il limite dei 400 MHz è un limite superabile con difficoltà e con miniaturizzazione ultraspinta dei componenti elettrici; ciò pone un deciso freno alla tecnologia CISC, in quanto la maggiore velocità del sistema non compensa la lentezza delle operazioni. Il concetto costruttivo di un microprocessore RISC si basa sulla forte riduzione del numero di istruzioni, in modo da poter conciliare la velocità del microprocessore con l'esecuzione di queste. Con un processore RISC, dato il numero molto ridotto di istruzioni, la responsabilità principale circa le capacità del sistema ricade sul programmatore; costui, infatti, deve studiare il metodo per rendere più veloce ogni porzione di codice. L'ottimizzazione del codice costituisce perciò l'aspetto primario nello sviluppo dei sistemi di tipo RISC. Per via della riduzione delle istruzioni, il processore RISC risulta più semplice e occupa una minore superficie di silicio; ciò consente di includere altri elementi all'interno del chip; così, il circuito integrato 80860 INTEL, che lavora con registri da 64 bit, contiene la CPU, il coprocessore matematico, la cache memory e un processore per grafici a 3D, ossia tridimensionali. Il più grave svantaggio dell'architettura RISC consiste nel fatto che i programmi sono più voluminosi, dal momento che hanno bisogno di un più alto numero di istruzioni per l'esecuzione di un task. Questa metodologia richiede pertanto una decisa personalizzazione del codice, dal momento che ogni eventuale procedura è studiata per fornire il massimo risultato per una data applicazione; non sarà, perciò, possibile formulare procedure di tipo “universale”, idonee a ottenere un dato scopo di qualsiasi situazione. I processori RISC si utilizzano da vari anni nelle workstations; ogni casa produttrice di workstation ha perciò sviluppato un proprio processore RISC.
Cenni storici
Il primo microprocessore, l'INTEL 4004, comparve nel 1971, quale elemento di un microelaboratore la cui concezione si basava su un ridotto set di istruzioni cablate (hardware) ma era strutturato per impiegare un più complesso set di istruzioni (firmware) conservate in una memoria a sola lettura (ROM). L'idea fu realizzata in un sistema su quattro chip costituito da CPU (2300 transistori), ROM, RAM e shift register (registro a scorrimento per conversioni, quali quella binaria, decimale, ecc.); il bus dati si limitava a 4 bit; si potevano indirizzare 4,5 byte di memoria e impiegare 45 istruzioni. La prima generazione di microprocessori fu quella commercializzata tra il 1971 e il 1973, comprendente il primo microprocessore a 8 bit, l'8080 dell'INTEL. I microprocessori della prima generazione utilizzavano una tecnologia PMOS (MOS di tipo p) e perciò, anche se presentavano il vantaggio del basso costo, non potevano offrire circuiti rapidi e non erano compatibili con i circuiti TTL (Transistor-Transistor Logic) che all'epoca erano i più comuni. La seconda generazione di microprocessori utilizzò tecnologie NMOS (MOS di tipo n); i circuiti NMOS, più veloci dei PMOS, garantirono un livello di integrazione maggiore e la compatibilità con i circuiti TTL. I più noti microprocessori di quella generazione sono lo Z80 Zilog, i 6800 e 6809 Motorola e l'8085 INTEL. A partire dal 1978 apparvero i microprocessori da 16 bit, quelli della terza generazione, come l'8086 INTEL (1978), lo Z8000 Zilog (1979) e l'MC68000 Motorola (1980); per rendersi conto del progresso basta fare un raffronto tra l'8085 e l'8086: il primo aveva 6000 transistori, il secondo 29.000, un rendimento dieci volte superiore e la capacità di gestire 1 Mbyte di memoria. Il microprocessore successivo presentato dall'INTEL fu l'8088 con un bus di dati esterni a 8 bit, rispetto ai 16 del precedente, per adeguarsi alle memorie e ai circuiti I/O del tempo. Questo microprocessore fu scelto dall'IBM per i suoi PC, decisione che indusse l'INTEL a sviluppare i suoi microprocessori successivi in modo che riuscissero a eseguire qualsiasi programma realizzato con 8086/8088. Il microprocessore 80286 a 16 bit presenta la novità del multitasking, tecnica che consente l'esecuzione simultanea di due o più procedure (task). In realtà il microprocessore non riesce a eseguire in un dato momento che le istruzioni relative a un singolo task, ma un gestore di processo, inserito nel programma, ha l'incarico di far alternare alla CPU l'esecuzione delle differenti task, dando così l'impressione che esse vengano eseguite simultaneamente. All'inizio degli anni Ottanta cominciarono a essere commercializzati microprocessori con architettura e bus di dati a 32 bit, ossia lo standard scelto fin da principio per i grandi elaboratori, ma fu solo nel 1985, con la comparsa dei microprocessori MC68020 e MC68030 della Motorola e dei microprocessori 80386 e 80486 dell'INTEL che si cominciò a parlare di quarta generazione dei microprocessori. I circuiti di questi microprocessori erano realizzati con tecnologie CMOS (MOS complementare) e consentivano di lavorare a frequenze superiori a 50 MHz, con un consumo di potenza molto ridotto. Oggi i nuovi elaboratori cercano di raggiungere velocità di processo sempre maggiori attraverso la semplificazione della struttura. I nuovi elaboratori sia CISC sia RISC consentono velocità nell'ordine di vari miliardi di microistruzioni al secondo. I microprocessori RISC destinati ad assumere un interesse particolare per il mercato dei PC sono quelli appartenenti alla famiglia dei Power, progettati in cooperazione da IBM, Apple e Motorola. In questo caso, oltre al progetto hardware comune a più costruttori, si è cercato di ottenere uno standard anche a livello di sistemi operativi, costituendo un'associazione, la Power Open Association, per permettere di produrre un software compatibile con piattaforme di diversi costruttori. Il potente microprocessore Pentium dell'INTEL, con bus indirizzi a 32 bit e bus dati a 64 bit, disponeva, per primo, di due cache aggiuntive, da 8 kbyte ciascuna, una dedicata al codice e l'altra ai dati. La cache del codice è composta da due strutture distinte che possono operare parallelamente e che permettono di seguire due istruzioni, se non vi sono problemi di conflittualità, durante lo stesso ciclo d'orologio. I Pentium 60 e 66 MHz erano costruiti con una tecnologia che consentiva di ottenere per i transistori dimensioni di 0,8 micrometri e funzionavano con tensione di 5 volt; i microprocessori Pentium da 90 e 100 MHz, invece, mantenendo sostanzialmente immutata l'architettura interna, avevano ridotto le dimensioni dei transistori a 0,6 micrometri e la tensione di funzionamento a 3,3 volt. Nella corsa verso prestazioni sempre più elevate, sono ormai diffusi i Pentium IV a 1,4/1,8 GHz in grado di supportare nuovi set di estensioni multimediali capaci di permettere la riproduzione di filmati MPEG (Motion Picture Experts Group) e sostenere videogames con grafica tridimensionale. I Pentium di nuova generazione contano su un'interfaccia basata su chip set AGP (Accelerated Graphics Port), capace di permettere ai dati impiegati nelle applicazioni di grafica tridimensionale di fluire senza ostacoli tra memoria e CPU. Questi microprocessori, sempre più potenti e veloci, sono il prodotto soprattutto dello sviluppo di tecniche di miniaturizzazione e dell'uso del CAD, per disegnare con precisione i loro circuiti interni. Riducendo, infatti, le dimensioni dei transistor, ogni singolo bit ha un percorso più breve da compiere e consente all'intero circuito integrato e ai processori di funzionare con più rapidità. Oltre alla sempre più potente categoria di microprocessori costituita dai microelaboratori su singolo chip, con prestazioni paragonabili a quelle dei grandi elaboratori (mainframe), esistono numerosissimi altri microprocessori, con uno spettro molto ampio di prestazioni. Particolarmente importanti sono i microprocessori per applicazioni specifiche, nell'automazione industriale e nel controllo numerico. Semplici microprocessori, prodotti a costi bassissimi, sono presenti anche in molti prodotti industriali, quali orologi, elettrodomestici, telefoni, televisori e auto.
Bibliografia
A. Cattania, Architettura e programmazione, Milano, 1988; W. Cramer, G. Kane, Manuale MC 68000, Milano, 1989; P. Corsini, G. Frosini, Architettura dei sistemi a microprocessore, L'Aquila, 1991.