Modulo 1: Le I.C.T. UD 1.4c: Il Processore Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Corso di “Informatica Generale” (AA 07-08) Corso di Laurea in “Scienze della Comunicazione” Università degli Studi di Salerno IL MICROPROCESSORE Curtin, 3.8-3.9 1 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore L’unità centrale di elaborazione (CPU) e ne La CPU, o unità centrale di elaborazione o Processore, zio è a nice il circuito integrato che effettua l’elaborazione vera mu o aC propria dei dati, eseguendo el l e ed z ien Sc ¾ istruzioni di controllo i d to n e im rt a p L’elaborazione avviene in accordo a sequenze di istruzioni Di ¾ istruzioni di calcolo (istruzioni macchina) Il linguaggio in cui si scrivono queste istruzioni viene chiamato linguaggio macchina UD 1.4c # 3 Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore L’unità centrale di elaborazione (CPU) e e Ogni processore è composto da milioni di piccoli i on z ca interruttori elettronici di tipo acceso/spento, i muni o transistor, e da altri componenti elettroniciella C ze ien c S di o t en im t r pa Di UD 1.4c # 4 de Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 2 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore L’unità centrale di elaborazione (CPU) e Il primo processore a larga diffusione, l’Intel 4004 zion e ca (1971), conteneva circa 2.300 transistor e il Core m2uni o a Cvolte) (2006) ne contiene oltre 291.000.000. (126.000 l l e e ed z I modelli più usati sono quelli prodotti ien Sc ¾ dalla Motorola (principalmente sui vecchidicomputer Apple) o t en ¾ dalla Intel m i rt pa ¾ dalla AMD Di # 5 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Compatibilità dei processori e e Dal punto di vista dei programmi, la compatibilità è verso i on z a nic l’alto mu om aC ¾ Un programma che gira su un processore di un produttore l l de funziona, quasi sempre, sui modelli più recenti prodotti dalla ze n ie c stessa azienda S di o ¾ Il viceversa non è quasi mai vero t en im t r pa Di Non è garantita la compatibilità tra processori di aziende diverse, a meno che essa non sia esplicitamente dichiarata Ad esempio ¾ c’è un ottimo livello di compatibilità tra processori AMD e Intel ¾ Non c’è praticamente compatibilità tra processori Intel e processori Motorola UD 1.4c # 6 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 3 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Emulatori e ne E’ possibile utilizzare un programma apposito che emula zio a nic un processore su un computer che monta un processore mu o aC differente. el l e ed z Questo programma intercetta una per una ien le istruzioni Sc i del programma da emulare e le trasforma in istruzioni d to n e “comprensibili” dal processore effettivamente montato im rt a p sul computer. Di ¾ La soluzione non garantisce però la compatibilità certa (non tutte le istruzioni possono essere tradotte) ¾ Inoltre la soluzione è molto lenta perché il programma eseguito in emulazione non accede direttamente all’hardware, ma lo fa tramite l’emulatore # 7 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Coprocessori e Nei moderni computer la CPU è “coadiuvata” da altrizion e ica processori “specializzati” nel trattamento di particolari un m o a C o suoni). tipologie di dati (ad esempio immagini sul monitor l l e e ed ze Un Coprocessore è un processore “dedicato” ien che, sotto il c S controllo della CPU e del Sistema oOperativo svolge di nt e elaborazioni specialistiche che irichiederebbero alla CPU m rt a p un notevole dispendio di tempo Di ¾ Processore sulla scheda video ¾ Processore sulla scheda audio. UD 1.4c # 8 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 4 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Multiprocessori e ne E’ possibile, inoltre, dotare un computer di più processori zio a nic che “collaborano” all’esecuzione di un programma. mu om a C in una ¾ Ad esempio possono essere disposti più processori come l l e ed catena di montaggio z ien ¾ Oppure più processori possono lavorare contemporaneamente su Sc i d o parti diverse di uno stesso dato (nelle t previsioni del tempo, ad en m i esempio, ogni processore può dedicarsi ad una specifica zona rt pa geografica) Di # 9 UD 1.4c Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Microprocessori incorporati e i on z ica un m o aC l l de ze n ie Sc i od nt e im rt a p Di I microprocessori si trovano anche in ¾ Automobili ¾ Telefoni ¾ Termostati ¾ Schede telefoniche ¾ Carte di credito UD 1.4c # 10 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 5 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Struttura e componenti della CPU Clock Unità di controllo (Control Unit). ALU (Unità Aritmetico-Logica) Registri Memoria Centrale o Periferiche a el l d e nz e i Sc di o t en m i Unità rt di controllo pa Di ne zio a nic mu o C Clock BUS Registro Registro ALU Registro # 11 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Unità di Controllo e i on z ica ¾ Sovrintende alla corretta esecuzione dei programmi e un m o ¾ coordina il lavoro degli altri componenti hardware lla C de ze n ie Sc i od nt e im rt a p Di Unità di controllo (Control Unit). UD 1.4c # 12 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 6 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore ALU e ne L’unità logico-aritmetica (ALU – Arithmetic Logic Unit) zio ica ¾ esegue le istruzioni in linguaggio macchina corrispondentiunalle om operazioni matematiche, logiche e di confronto aC l l e 9 Legge i dati contenuti all'interno dei registri generali, e d esegue le z operazioni e memorizza il risultato in uno dei registri generali ien Sc i ¾ Vi sono circuiti in grado di d to n 9 eseguire la somma di due numeri binari e contenuti in due registri e di im depositare il risultato in un registro rt a ip 9 eseguire il confronto tra dueDnumeri 9 Ecc… UD 1.4c # 13 Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Dimensione della parola e i on z ica un m o ¾ Corrisponde a quanti bit possono essere trasferiti la C l simultaneamente tra processore e memoria. e de z ien di memoria RAM ¾ Corrisponde alla dimensione della singola cella c iS ¾ Corrisponde alla dimensione dei registrio ddella CPU. t en im t r ipa D Inizialmente la dimensione della parola era di 8 bit, cioè E’ il numero di bit che un processore tratta simultaneamente. (“Larghezza della strada”) di 1 byte. Da allora si è cominciato a misurare la dimensione della memoria in byte. Attualmente la dimensione di parola varia da 32 a 64 bits, in base al tipo di processore e di architettura hardware. UD 1.4c # 14 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 7 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore CLOCK Ogni computer ha un orologio interno, detto clock, chezione a emette impulsi con regolarità e serve per sincronizzare le nic u m o C operazioni svolte dalla CPU la l de e z ien c Ogni operazione elementare del processore avviene in iS od t corrispondenza di un impulso del clock (le operazioni non en im t sono eseguite di continuo, mapaar scatti). Di L’hertz indica il numero di “impulsi” che il clock emette in un secondo ¾ 1 hertz (Hz) = 1 ciclo al secondo ¾ 1 megahertz (MHz) = circa 1 milione di cicli al secondo ¾ 1 gigahertz (GHz) = circa 1 miliardo di cicli al secondo # 15 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Velocità di una CPU e e La velocità del clock permette di confrontare solo i on z a nic processori della stessa famiglia. mu om a Ca 2 GHz. ¾ Un Pentium IV a 1,8 GHz è più “lento” di un Pentium lIV l e ed ¾ Non è detto che un Pentium IV a 2 GHz eseguanzun’operazione più ie c velocemente di un AMD Athlon a 1.5 GHz. i S od nt e im rt a p Di UD 1.4c # 16 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 8 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Istruzioni del Processore e ne Ogni processore è in grado di eseguire solo poche zio a nic istruzioni elementari quali: mu om a C effettuata ¾ Somma di due numeri (già la somma di tre numeri viene l l e ed tramite due somme elementari) z ien ¾ Confronto tra due numeri con individuazione Scdel fatto che ci sia o i d meno differenza (non tutti i processori tosanno distinguere in modo n e im immediato, invece, quale dei due precede l’altro) rt a ip D ¾ Spostamento dei bit all’interno di una parola di qualche posizione a destra o a sinistra. ¾ poche altre ancora … # 17 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Istruzioni del Processore e Inoltre, un’istruzione del processore è generalmentezion e ica composta da più operazioni elementari che accedono un in m Co momenti successivi alle risorse del computer e(ad lla esempio d ze prima al contenuto dell’istruzione, poi allaenmemoria i Sc centrale, poi all’ALU …). i d to ¾ Quasi mai la singola istruzione del processore è eseguita in un solo en m ti r ciclo di clock. Ad esempio, per ieffettuare la somma di due numeri pa D 9 Bisogna leggere il primo addendo 9 Bisogna leggere il secondo addendo 9 Bisogna eseguire la somma 9 Bisogna memorizzare la somma ¾ E potrebbe darsi che alcune di queste mini-operazioni richieda più cicli di clock per essere completata. UD 1.4c # 18 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 9 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Istruzioni del processore e ne Le istruzioni del processore sono il suo VOCABOLARIO: zio a nic quanto più esso è povero mu om a Cconcetto, ¾ tante più parole saranno necessarie per descrivere un l l de eda z ¾ ma tanto più esse saranno “corte” e quindi veloci eseguire, in ien c quanto richiedono pochi impulsi di clock per essere completate. iS od t en im t r processore è data dal La potenza di elaborazione diipaun D numero di istruzioni eseguite in un secondo (MIPS – milioni di istruzioni al secondo, MFLOPS – milioni di istruzioni in virgola mobile al secondo) UD 1.4c # 19 Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore CISC e i on z ica un m o aC l l Processore dotato di molte istruzioni (non più, de ze n comunque, di 300-400) ie Sc i od nt e im Può eseguire istruzioni complesse rt a p Di ¾ moltiplicare due numeri. CISC = Complex Instruction Set Chip Istruzioni eseguite da un microprogramma. Ogni istruzione per essere eseguita può richiedere vari cicli di clock. Processori Intel e AMD sono CISC UD 1.4c # 20 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 10 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore RISC e Per eseguire l’80% delle elaborazioni viene utilizzato zion e ca effettivamente soltanto il 20% delle istruzioni muni om aC l l e ed z Un processore dotato di poche istruzioni ien (100-200) è Sc i d Chip) detto RISC (Reduced Instruction Set to n e im rt a ip Esegue istruzioni semplici, D ¾ per moltiplicare due numeri itera la somma A*B = A+A+ · · · +A Istruzioni eseguite dall’hardware. ¾ più istruzioni eseguite in un unico ciclo. # 21 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore CISC e RISC e Un processore CISC rispetto ad un processore RISCzion e ica presenta molte più istruzioni che vengono eseguite un m o aC tramite più operazioni elementari l l e de ze completate ¾ che quindi richiedono più cicli di clock per essere n ie Sc operazioni RISC ¾ E che quindi sono più lente delle corrispondenti i od nt e im rt a D’altro canto, le istruzioni Ddiip un processore CISC che non sono presenti in un processore RISC vengono da questo simulate tramite più istruzioni ¾ ciò comporta tempi maggiori nei processori RISC, in media, ma solo per tali istruzioni da simulare, rispetto alle corrispondenti operazioni CISC UD 1.4c # 22 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 11 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore CISC e RISC e ne I processori RISC sono più economici dei CISC (il chip zio a ic contiene meno elementi) un om C lla e d ze n I processori RISC sono mediamente più veloci dei CISC e i Sc i d su quasi tutte le applicazioni. to n e im rt a ip I processori RISC non sonoD adatti per elaborazioni “complesse”, ad esempio quelle sui dati multimediali Attualmente la differenza tra CISC e RISC si sta riducendo # 23 UD 1.4c Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Benchmark e Batterie di test usate per confrontare le velocità dei zion e a nic computer. mu m Co a Non sono mai valori assoluti. Ma sono rapportati ell ad un d ze insieme di programmi (che compongono tali ien batterie). Sc i ddi Un computer può risultare più veloce un altro to n e m meno veloce relativamente ad un programma ima rt a relativamente ad un altro. Dip Due grandi tipologie di programmi: ¾ CPU-consuming (usano molto la CPU). E tra queste: 9 Integer-computing (calcoli su numeri interi o su pochi numeri) 9 Floating-point computing (lavorano su numeri reali e molto grossi) ¾ I/O-consuming (usano molto le periferiche di I/O). UD 1.4c # 24 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 12 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Confronto CPU 1997 - 2005 ne zio a nic La velocità di clock è aumentata di circa 40 volte mu - dai o C lla 100 MHz del 1995 ai 3800 MHz del 2005 e d ze n e ci iS d o può essere visto Il più grosso incremento prestazionale nt e im nella codifica DivX (MPEG 4): ala rt codifica di una breve p i D Pentium 233 MMX del 1997 ÅÆ Pentium 4 scena impiega circa due ore con un Pentium 233 MMX, mentre un Pentium 4 impiega meno di due minuti. Praticamente un processore del 2005 è 65 volte più veloce del processore più veloce del 1997. UD 1.4c # 25 Modificata il 21/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Modulo 1: Le I.C.T. - Il Processore Confronto CPU 1995 – 2005 e Un altro esempio che possiamo riportare riguarda la zion e ica codifica in MP3. Nel 1995, un Pentium 100 necessitava un 77 m Co aun minuti per 17 minuti di sequenza audio, mentre l l de ze in un minuto moderno Athlon 64 FX-55 fa lo stesso lavoro n cie e mezzo, praticamente il processore ddel i S 2005 è 51 o nt volte più veloce di quello di 11meanni prima. i rt pa i D Nel 1994 un Pentium 100 era costituito da 3.3 milioni di transistor, mentre il Pentium 4 Extreme Edition (2005), conta 178 milioni di transistor. Circa 55 transistor sono ora presenti dove 11 anni prima ne era presente solo uno. UD 1.4c # 26 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 13 Modificata il 21/11/2007 Modulo 1: Le I.C.T. - Il Processore Anteprima ultimo tipo di processore e ne NUOVISSIMO Processore a 100 bit completo di mouse zio a el l d e nz e i Sc di o t en m i rt pa Di UD 1.4c # 27 a nic u m Co Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 14